{ "name": "goose-app", "productName": "Goose", "version": "1.0.29", "description": "Goose App", "engines": { "node": "^22.9.0" }, "main": ".vite/build/main.js", "scripts": { "typecheck": "tsc --noEmit", "generate-api": "openapi-ts", "start-gui": "npm run generate-api && electron-forge start", "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}\"", "prepare": "cd ../.. && husky install", "start-alpha-gui": "ALPHA=true npm run start-gui" }, "devDependencies": { "@electron-forge/cli": "^7.5.0", "@electron-forge/maker-deb": "^7.5.0", "@electron-forge/maker-rpm": "^7.5.0", "@electron-forge/maker-squirrel": "^7.5.0", "@electron-forge/maker-zip": "^7.5.0", "@electron-forge/plugin-auto-unpack-natives": "^7.5.0", "@electron-forge/plugin-fuses": "^7.5.0", "@electron-forge/plugin-vite": "^7.5.0", "@electron/fuses": "^1.8.0", "@electron/remote": "^2.1.2", "@eslint/js": "^8.56.0", "@hey-api/openapi-ts": "^0.64.4", "@modelcontextprotocol/sdk": "^1.8.0", "@playwright/test": "^1.51.1", "@tailwindcss/line-clamp": "^0.4.4", "@tailwindcss/typography": "^0.5.15", "@types/cors": "^2.8.17", "@types/electron": "^1.4.38", "@types/electron-squirrel-startup": "^1.0.2", "@types/electron-window-state": "^2.0.34", "@types/express": "^5.0.0", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", "@vitejs/plugin-react": "^4.3.3", "autoprefixer": "^10.4.20", "electron": "33.1.0", "eslint": "^8.56.0", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "husky": "^8.0.0", "lint-staged": "^15.4.1", "postcss": "^8.4.47", "prettier": "^3.4.2", "tailwindcss": "^3.4.14", "typescript": "~5.5.0", "vite": "^6.3.4" }, "keywords": [], "license": "Apache-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" ] }, "dependencies": { "@ai-sdk/openai": "^0.0.72", "@ai-sdk/ui-utils": "^1.0.2", "@hey-api/client-fetch": "^0.8.1", "@radix-ui/react-accordion": "^1.2.2", "@radix-ui/react-avatar": "^1.1.1", "@radix-ui/react-dialog": "^1.1.7", "@radix-ui/react-icons": "^1.3.1", "@radix-ui/react-popover": "^1.1.6", "@radix-ui/react-radio-group": "^1.2.3", "@radix-ui/react-scroll-area": "^1.2.0", "@radix-ui/react-select": "^2.1.7", "@radix-ui/react-slot": "^1.1.1", "@radix-ui/react-tabs": "^1.1.1", "@radix-ui/themes": "^3.1.5", "@types/lodash": "^4.17.16", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@types/react-syntax-highlighter": "^15.5.13", "@types/yauzl": "^2.10.3", "ai": "^3.4.33", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", "compare-versions": "^6.1.1", "cors": "^2.8.5", "cronstrue": "^2.48.0", "dotenv": "^16.4.5", "electron-log": "^5.2.2", "electron-squirrel-startup": "^1.0.1", "electron-updater": "^6.6.2", "electron-window-state": "^5.0.3", "express": "^4.21.1", "framer-motion": "^11.11.11", "lodash": "^4.17.21", "lucide-react": "^0.475.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-icons": "^5.3.0", "react-markdown": "^9.0.1", "react-select": "^5.9.0", "react-syntax-highlighter": "^15.6.1", "react-toastify": "^8.0.0", "remark-gfm": "^4.0.1", "tailwind-merge": "^2.5.4", "tailwindcss-animate": "^1.0.7", "unist-util-visit": "^5.0.0", "uuid": "^11.1.0" } }