Files
goose/ui/desktop/package.json
spencrmartin 6f237f6452 feat: consolidate recipes and scheduler into unified Commands view
Merged separate Recipes and Scheduler views into single Commands view.
Rebranded 'Recipes' as 'Commands' throughout UI.
Added visual schedule indicators on command cards.
Integrated schedule creation into command creation workflow.
Removed tab switcher for simpler navigation.

BREAKING CHANGE: Routes changed from /automation to /commands

Components Created:
- CronExpressionBuilder.tsx - Schedule configuration UI
- ScheduleConfigSection.tsx - Inline schedule setup
- ScheduleBadge.tsx - Schedule status indicators
- recipeScheduleUtils.ts - Schedule matching utilities

Files Modified:
- App.tsx - Updated routing to /commands
- AppSidebar.tsx - Changed menu to Commands
- RecipesView.tsx - Added schedule indicators
- CreateEditRecipeModal.tsx - Integrated scheduling
- navigationUtils.ts - Updated navigation types
- recipe/index.ts - Added schedule field
- main.ts - Updated route mappings
- AppLayout.tsx - Updated navigation
2025-10-22 13:19:34 -04:00

161 lines
6.3 KiB
JSON

{
"name": "goose-app",
"productName": "Goose",
"version": "1.11.0",
"description": "Goose App",
"engines": {
"node": "^22.17.1"
},
"main": ".vite/build/main.js",
"scripts": {
"typecheck": "tsc --noEmit",
"generate-api": "openapi-ts",
"start-gui": "npm run generate-api && electron-forge start",
"start-gui-debug": "npm run generate-api && electron-forge start -- --inspect=9229",
"start": "cd ../.. && just run-ui",
"start:test-error": "GOOSE_TEST_ERROR=true electron-forge start",
"package": "electron-forge package",
"make": "electron-forge make",
"bundle:default": "node scripts/prepare-platform-binaries.js && npm run make && (cd out/Goose-darwin-arm64 && ditto -c -k --sequesterRsrc --keepParent Goose.app Goose.zip) || echo 'out/Goose-darwin-arm64 not found; either the binary is not built or you are not on macOS'",
"bundle:alpha": "ALPHA=true node scripts/prepare-platform-binaries.js && ALPHA=true npm run make && (cd out/Goose-darwin-arm64 && ditto -c -k --sequesterRsrc --keepParent Goose.app Goose_alpha.zip) || echo 'out/Goose-darwin-arm64 not found; either the binary is not built or you are not on macOS'",
"bundle:windows": "node scripts/build-main.js && ELECTRON_PLATFORM=win32 node scripts/prepare-platform-binaries.js && npm run make -- --platform=win32 --arch=x64",
"bundle:intel": "node scripts/prepare-platform-binaries.js && npm run make -- --arch=x64 && cd out/Goose-darwin-x64 && ditto -c -k --sequesterRsrc --keepParent Goose.app Goose_intel_mac.zip",
"debug": "echo 'run --remote-debugging-port=8315' && lldb out/Goose-darwin-arm64/Goose.app",
"test-e2e": "npm run generate-api && playwright test",
"test-e2e:dev": "npm run generate-api && playwright test --reporter=list --retries=0 --max-failures=1",
"test-e2e:ui": "npm run generate-api && playwright test --ui",
"test-e2e:debug": "npm run generate-api && playwright test --debug",
"test-e2e:report": "playwright show-report",
"test-e2e:single": "npm run generate-api && playwright test -g",
"lint": "eslint \"src/**/*.{ts,tsx}\" --fix --no-warn-ignored",
"lint:check": "npm run typecheck && eslint \"src/**/*.{ts,tsx}\" --max-warnings 0 --no-warn-ignored",
"format": "prettier --write \"src/**/*.{ts,tsx,css,json}\"",
"format:check": "prettier --check \"src/**/*.{ts,tsx,css,json}\"",
"test": "vitest",
"test:run": "vitest run",
"test:ui": "vitest --ui",
"test:coverage": "vitest run --coverage",
"prepare": "cd ../.. && husky install",
"start-alpha-gui": "ALPHA=true npm run start-gui"
},
"dependencies": {
"@ai-sdk/openai": "^2.0.52",
"@ai-sdk/ui-utils": "^1.2.11",
"@mcp-ui/client": "^5.13.0",
"@radix-ui/react-accordion": "^1.2.12",
"@radix-ui/react-avatar": "^1.1.10",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-icons": "^1.3.2",
"@radix-ui/react-popover": "^1.1.15",
"@radix-ui/react-radio-group": "^1.3.8",
"@radix-ui/react-scroll-area": "^1.2.10",
"@radix-ui/react-select": "^2.2.6",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-tabs": "^1.1.13",
"@radix-ui/themes": "^3.2.1",
"@tanstack/react-form": "^1.23.7",
"@types/react-router-dom": "^5.3.3",
"ai": "^5.0.76",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"compare-versions": "^6.1.1",
"cors": "^2.8.5",
"cronstrue": "^3.3.0",
"date-fns": "^4.1.0",
"dotenv": "^17.2.3",
"electron-log": "^5.4.3",
"electron-squirrel-startup": "^1.0.1",
"electron-updater": "^6.6.2",
"electron-window-state": "^5.0.3",
"express": "^5.1.0",
"gsap": "^3.13.0",
"lodash": "^4.17.21",
"lucide-react": "^0.546.0",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"react-icons": "^5.5.0",
"react-markdown": "^10.1.0",
"react-router-dom": "^7.9.4",
"react-select": "^5.10.2",
"react-syntax-highlighter": "^15.6.6",
"react-toastify": "^11.0.5",
"remark-breaks": "^4.0.0",
"remark-gfm": "^4.0.1",
"split-type": "^0.3.4",
"swr": "^2.3.6",
"tailwind-merge": "^3.3.1",
"tailwindcss-animate": "^1.0.7",
"tw-animate-css": "^1.4.0",
"unist-util-visit": "^5.0.0",
"uuid": "^13.0.0",
"zod": "^3.25.76"
},
"devDependencies": {
"@electron-forge/cli": "^7.10.2",
"@electron-forge/maker-deb": "^7.10.2",
"@electron-forge/maker-rpm": "^7.10.2",
"@electron-forge/maker-squirrel": "^7.10.2",
"@electron-forge/maker-zip": "^7.10.2",
"@electron-forge/plugin-auto-unpack-natives": "^7.10.2",
"@electron-forge/plugin-fuses": "^7.10.2",
"@electron-forge/plugin-vite": "^7.10.2",
"@electron/fuses": "^1.8.0",
"@electron/remote": "^2.1.3",
"@eslint/js": "^9.33.0",
"@hey-api/openapi-ts": "^0.85.2",
"@modelcontextprotocol/sdk": "^1.20.1",
"@playwright/test": "^1.56.1",
"@tailwindcss/line-clamp": "^0.4.4",
"@tailwindcss/typography": "^0.5.19",
"@tailwindcss/vite": "^4.1.14",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/cors": "^2.8.19",
"@types/electron-squirrel-startup": "^1.0.2",
"@types/express": "^5.0.3",
"@types/lodash": "^4.17.20",
"@types/react": "^19.2.2",
"@types/react-dom": "^19.2.2",
"@types/react-syntax-highlighter": "^15.5.13",
"@types/yauzl": "^2.10.3",
"@typescript-eslint/eslint-plugin": "^8.39.1",
"@typescript-eslint/parser": "^8.39.1",
"@vitejs/plugin-react": "^5.0.4",
"@vitest/coverage-v8": "^3.2.4",
"@vitest/ui": "^3.2.4",
"autoprefixer": "^10.4.21",
"electron": "^38.4.0",
"electron-devtools-installer": "^4.0.0",
"eslint": "^9.33.0",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^5.2.0",
"husky": "^9.1.7",
"jsdom": "^27.0.0",
"knip": "^5.66.0",
"lint-staged": "^16.2.4",
"postcss": "^8.5.6",
"prettier": "^3.6.2",
"tailwindcss": "^4.1.14",
"typescript": "~5.9.3",
"vite": "^7.1.10",
"vitest": "^3.2.4"
},
"keywords": [],
"license": "Apache-2.0",
"overrides": {
"react": "^19.2.0",
"react-dom": "^19.2.0"
},
"lint-staged": {
"src/**/*.{ts,tsx}": [
"bash -c 'npm run typecheck'",
"eslint --fix --max-warnings 0 --no-warn-ignored",
"prettier --write"
],
"src/**/*.{css,json}": [
"prettier --write"
]
}
}