{ "name": "goose-app", "productName": "Goose", "version": "1.24.0", "description": "Goose App", "engines": { "node": "^24.10.0", "npm": "^11.6.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: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", "test:integration": "vitest run --config vitest.integration.config.ts", "test:integration:watch": "vitest --config vitest.integration.config.ts", "test:integration:debug": "DEBUG=1 vitest run --config vitest.integration.config.ts", "prepare": "husky", "start-alpha-gui": "ALPHA=true npm run start-gui" }, "dependencies": { "goose-acp-types": "file:../acp", "@mcp-ui/client": "^6.1.0", "@modelcontextprotocol/ext-apps": "^1.0.1", "@radix-ui/react-accordion": "^1.2.12", "@radix-ui/react-avatar": "^1.1.11", "@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.4", "@radix-ui/react-tabs": "^1.1.13", "@radix-ui/themes": "^3.3.0", "@tanstack/react-form": "^1.28.0", "@types/react-router-dom": "^5.3.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "compare-versions": "^6.1.1", "cors": "^2.8.6", "cronstrue": "^3.12.0", "date-fns": "^4.1.0", "dotenv": "^17.2.4", "electron-log": "^5.4.3", "electron-squirrel-startup": "^1.0.1", "electron-updater": "^6.7.3", "electron-window-state": "^5.0.3", "express": "^5.2.1", "katex": "^0.16.28", "lodash": "^4.17.23", "lucide-react": "^0.563.0", "qrcode.react": "^4.2.0", "react": "^19.2.4", "react-dom": "^19.2.4", "react-icons": "^5.5.0", "react-markdown": "^10.1.0", "react-router-dom": "^7.13.0", "react-select": "^5.10.2", "react-syntax-highlighter": "^16.1.0", "react-toastify": "^11.0.5", "rehype-katex": "^7.0.1", "remark-breaks": "^4.0.0", "remark-gfm": "^4.0.1", "remark-math": "^6.0.0", "shell-quote": "^1.8.3", "split-type": "^0.3.4", "swr": "^2.4.0", "tailwind-merge": "^3.4.0", "tailwindcss-animate": "^1.0.7", "tw-animate-css": "^1.4.0", "unist-util-visit": "^5.1.0", "uuid": "^13.0.0", "zod": "^3.25.76" }, "devDependencies": { "@electron-forge/cli": "^7.11.1", "@electron-forge/maker-deb": "^7.11.1", "@electron-forge/maker-flatpak": "^7.11.1", "@electron-forge/maker-rpm": "^7.11.1", "@electron-forge/maker-squirrel": "^7.11.1", "@electron-forge/maker-zip": "^7.11.1", "@electron-forge/plugin-auto-unpack-natives": "^7.11.1", "@electron-forge/plugin-fuses": "^7.11.1", "@electron-forge/plugin-vite": "^7.11.1", "@electron/fuses": "^1.8.0", "@electron/remote": "^2.1.3", "@eslint/js": "^9.39.2", "@hey-api/openapi-ts": "^0.92.3", "@modelcontextprotocol/sdk": "^1.26.0", "@playwright/test": "^1.58.2", "@tailwindcss/line-clamp": "^0.4.4", "@tailwindcss/typography": "^0.5.19", "@tailwindcss/vite": "^4.1.18", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@types/cors": "^2.8.19", "@types/electron-squirrel-startup": "^1.0.2", "@types/express": "^5.0.6", "@types/lodash": "^4.17.23", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@types/react-syntax-highlighter": "^15.5.13", "@types/shell-quote": "^1.7.5", "@types/yauzl": "^2.10.3", "@typescript-eslint/eslint-plugin": "^8.55.0", "@typescript-eslint/parser": "^8.55.0", "@vitejs/plugin-react": "^5.1.4", "@vitest/coverage-v8": "^4.0.18", "@vitest/ui": "^4.0.18", "autoprefixer": "^10.4.24", "electron": "^40.4.0", "electron-devtools-installer": "^4.0.0", "eslint": "^9.39.2", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "husky": "^9.1.7", "jsdom": "^28.0.0", "knip": "^5.83.1", "lint-staged": "^16.2.7", "postcss": "^8.5.6", "prettier": "^3.8.1", "tailwindcss": "^4.1.18", "typescript": "~5.9.3", "vite": "^7.3.1", "vitest": "^4.0.18" }, "keywords": [], "license": "Apache-2.0", "overrides": { "react": "^19.2.4", "react-dom": "^19.2.4" }, "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" ] } }