{
  "name": "goose-app",
  "productName": "Goose",
  "version": "1.36.0",
  "description": "Goose App",
  "engines": {
    "node": "^24.10.0",
    "pnpm": ">=10.30.0"
  },
  "main": ".vite/build/main.js",
  "scripts": {
    "postinstall": "pnpm --filter @aaif/goose-sdk run build",
    "typecheck": "tsc --noEmit",
    "generate-api": "openapi-ts",
    "start-gui": "pnpm run generate-api && pnpm run i18n:compile && electron-forge start",
    "start-gui-debug": "pnpm run generate-api && pnpm run i18n:compile && electron-forge start -- --inspect=9229",
    "start": "cd ../.. && just run-ui",
    "start:test-error": "GOOSE_TEST_ERROR=true electron-forge start",
    "package": "pnpm run i18n:compile && electron-forge package",
    "make": "pnpm run i18n:compile && electron-forge make",
    "bundle:default": "node scripts/prepare-platform-binaries.js && pnpm run make && BUNDLE_NAME=\"${GOOSE_BUNDLE_NAME:-Goose}\" && APP_DIR=\"out/${BUNDLE_NAME}-darwin-arm64\" && APP_BUNDLE=\"${APP_DIR}/${BUNDLE_NAME}.app\" && (cd \"$APP_DIR\" && ditto -c -k --sequesterRsrc --keepParent \"${BUNDLE_NAME}.app\" \"${BUNDLE_NAME}.zip\")",
    "bundle:intel": "node scripts/prepare-platform-binaries.js && pnpm run make --arch=x64 && BUNDLE_NAME=\"${GOOSE_BUNDLE_NAME:-Goose}\" && APP_DIR=\"out/${BUNDLE_NAME}-darwin-x64\" && APP_BUNDLE=\"${APP_DIR}/${BUNDLE_NAME}.app\" && (cd \"$APP_DIR\" && ditto -c -k --sequesterRsrc --keepParent \"${BUNDLE_NAME}.app\" \"${BUNDLE_NAME}_intel_mac.zip\")",
    "debug": "echo 'run --remote-debugging-port=8315' && BUNDLE_NAME=\"${GOOSE_BUNDLE_NAME:-Goose}\" && lldb \"out/${BUNDLE_NAME}-darwin-arm64/${BUNDLE_NAME}.app\"",
    "test-e2e": "pnpm run generate-api && playwright test",
    "test-e2e:dev": "pnpm run generate-api && playwright test --reporter=list --retries=0 --max-failures=1",
    "test-e2e:ui": "pnpm run generate-api && playwright test --ui",
    "test-e2e:debug": "pnpm run generate-api && playwright test --debug",
    "test-e2e:report": "playwright show-report",
    "test-e2e:single": "pnpm run generate-api && playwright test -g",
    "lint": "eslint \"src/**/*.{ts,tsx}\" --fix --no-warn-ignored",
    "lint:check": "pnpm run typecheck && eslint \"src/**/*.{ts,tsx}\" --max-warnings 0 --no-warn-ignored && pnpm run i18n:check",
    "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:goosed": "vitest run --config vitest.integration.config.ts tests/integration/goosed.test.ts",
    "test:integration:providers": "vitest run --config vitest.integration.config.ts tests/integration/test_providers.test.ts",
    "test:integration:providers-code-exec": "vitest run --config vitest.integration.config.ts tests/integration/test_providers_code_exec.test.ts",
    "test:integration:watch": "vitest --config vitest.integration.config.ts",
    "test:integration:debug": "DEBUG=1 vitest run --config vitest.integration.config.ts",
    "i18n:extract": "formatjs extract 'src/**/*.{ts,tsx}' --ignore '**/*.d.ts' --out-file src/i18n/messages/en.json --flatten && pnpm run i18n:compile",
    "i18n:check": "node scripts/i18n-check.js",
    "i18n:compile": "node scripts/i18n-compile.js"
  },
  "dependencies": {
    "@aaif/goose-sdk": "workspace:*",
    "@agentclientprotocol/sdk": "^0.19.0",
    "@mcp-ui/client": "6.1.0",
    "@modelcontextprotocol/ext-apps": "^1.1.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.3",
    "@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.3.1",
    "electron-log": "^5.4.3",
    "electron-squirrel-startup": "^1.0.1",
    "electron-updater": "^6.8.3",
    "electron-window-state": "^5.0.3",
    "express": "^5.2.1",
    "framer-motion": "^12.34.3",
    "katex": "^0.16.33",
    "lodash": "^4.17.23",
    "lucide-react": "^0.575.0",
    "qrcode.react": "^4.2.0",
    "react": "^19.2.4",
    "react-dom": "^19.2.4",
    "react-icons": "^5.5.0",
    "react-intl": "^10.1.0",
    "react-markdown": "^10.1.0",
    "react-router-dom": "^7.13.1",
    "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.5.0",
    "tailwindcss-animate": "^1.0.7",
    "turndown": "^7.2.4",
    "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",
    "@eslint/js": "^9.39.2",
    "@formatjs/cli": "^6.14.0",
    "@hey-api/openapi-ts": "^0.93.0",
    "@modelcontextprotocol/sdk": "^1.27.0",
    "@playwright/test": "^1.58.2",
    "@tailwindcss/line-clamp": "^0.4.4",
    "@tailwindcss/typography": "^0.5.19",
    "@tailwindcss/vite": "^4.2.1",
    "@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.24",
    "@types/node": "^25.5.0",
    "@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/turndown": "^5.0.6",
    "@types/yauzl": "^2.10.3",
    "@typescript-eslint/eslint-plugin": "^8.56.1",
    "@typescript-eslint/parser": "^8.56.1",
    "@vitejs/plugin-react": "^5.1.4",
    "@vitest/coverage-v8": "^4.0.18",
    "@vitest/ui": "^4.0.18",
    "autoprefixer": "^10.4.24",
    "electron": "41.0.0",
    "electron-devtools-installer": "^4.0.0",
    "eslint": "^9.39.2",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-react-hooks": "^5.2.0",
    "jsdom": "^28.1.0",
    "knip": "^5.85.0",
    "postcss": "^8.5.6",
    "prettier": "^3.8.1",
    "tailwindcss": "^4.2.1",
    "typescript": "~5.9.3",
    "vite": "^7.3.1",
    "vitest": "^4.0.18"
  },
  "keywords": [],
  "license": "Apache-2.0"
}
