{ "name": "gooeypi", "version": "1.1.15", "private": true, "description": "A desktop workspace for Pi, OMP, and Prime Agent", "main": "out/main/index.js", "desktopName": "gooeypi.desktop", "author": { "name": "GooeyPi contributors", "email": "42459108+am-will@users.noreply.github.com" }, "homepage": "https://github.com/am-will/gooey-pi", "license": "MIT", "type": "module", "scripts": { "dev": "electron-vite dev", "build": "npm run typecheck && npm run build:bundle", "build:bundle": "electron-vite build", "preview": "electron-vite preview", "typecheck": "tsc --noEmit -p tsconfig.node.json && tsc --noEmit -p tsconfig.web.json && tsc --noEmit -p tsconfig.tests.json && tsc --noEmit -p tsconfig.scripts.json && tsc --noEmit -p tsconfig.extensions.json", "lint": "biome lint --config-path=scripts/release/biome.json electron src tests scripts assets/extensions electron.vite.config.ts playwright.config.ts vitest.config.ts", "format:check": "biome format --config-path=scripts/release/biome.json scripts/release electron.vite.config.ts vitest.config.ts playwright.config.ts tests/release-scripts.test.ts", "check": "npm run lint && npm run format:check", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage", "test:e2e": "npm run build && npm run test:e2e:hermetic", "test:e2e:hermetic": "playwright test", "release:verify": "npm run release:verify:package && npm run test:e2e:hermetic", "release:verify:package": "node scripts/release/preflight.mjs --toolchain-only && npm run vendor:verify-patches && npm run typecheck && npm run check && npm run test:coverage && npm run build:bundle && npm run release:bundle-size", "release:bundle-size": "node scripts/release/preflight.mjs --toolchain-only && node scripts/release/verify-bundle-size.mjs", "audit:production": "node scripts/release/audit-production.mjs", "vendor:verify-patches": "node scripts/release/verify-vendor-patches.mjs", "package:mac": "node scripts/release/package.mjs --public --platform mac", "package:mac:local-qa": "node scripts/release/package.mjs --qa --platform mac", "package:linux": "node scripts/release/package.mjs --public --platform linux", "package:linux:local-qa": "node scripts/release/package.mjs --qa --platform linux", "package:win": "node scripts/release/package.mjs --public --platform win", "package:win:local-qa": "node scripts/release/package.mjs --qa --platform win", "release:preflight": "node scripts/release/preflight.mjs", "release:preflight:toolchain": "node scripts/release/preflight.mjs --toolchain-only", "toolchain:bootstrap": "node scripts/release/bootstrap-npm.mjs", "postinstall": "node scripts/release/install-app-deps.mjs" }, "dependencies": { "electron-updater": "^6.8.9", "js-yaml": "^5.3.0", "node-pty": "^1.1.0", "prime-agent": "file:vendor/prime-agent-0.7.0-gooeypi.1.tgz", "prime-agent-ai": "file:vendor/prime-agent-ai-0.7.0-gooeypi.1.tgz", "rrule": "^2.8.1", "zeromq": "^6.1.2" }, "overrides": { "@earendil-works/pi-agent-core": "file:vendor/prime-agent-core-0.7.0.tgz", "@earendil-works/pi-ai": "$prime-agent-ai", "@earendil-works/pi-tui": "file:vendor/prime-agent-tui-0.7.0.tgz", "extract-zip": "npm:@electron-internal/extract-zip@1.0.5" }, "devDependencies": { "@biomejs/biome": "^2.5.8", "@electron/asar": "^4.2.1", "@electron/fuses": "^2.1.3", "@playwright/test": "^1.62.1", "@types/node": "^24.13.3", "@types/react": "^19.2.18", "@types/react-dom": "^19.2.4", "@vitejs/plugin-react": "^5.2.0", "@vitest/coverage-v8": "^4.1.10", "@xterm/addon-fit": "^0.11.0", "@xterm/addon-web-links": "^0.12.0", "@xterm/xterm": "^6.0.0", "electron": "^43.4.0", "electron-builder": "^26.15.7", "electron-vite": "^5.0.0", "extract-zip": "npm:@electron-internal/extract-zip@1.0.5", "jsdom": "^30.0.1", "lucide-react": "^1.31.0", "react": "^19.2.8", "react-dom": "^19.2.8", "react-markdown": "^10.1.0", "remark-gfm": "^4.0.1", "typescript": "^7.0.2", "vite": "^7.3.6", "vitest": "^4.1.10" }, "build": { "appId": "app.gooeypi.desktop", "productName": "GooeyPi", "asar": { "smartUnpack": false }, "files": [ "out/**/*", "package.json", "!**/node_modules/prime-agent/docs/**", "!**/node_modules/prime-agent/dist/bundle/**", "!**/node_modules/prime-agent/dist/modes/**", "!**/node_modules/prime-agent/**/*.map", "!**/node_modules/prime-agent/**/*.d.ts", "!**/node_modules/@earendil-works/pi-tui/**", "!**/node_modules/koffi/**" ], "mac": { "category": "public.app-category.developer-tools", "target": [ "dmg", "zip" ], "artifactName": "${productName}-${version}-${arch}.${ext}", "icon": "assets/icon.icns", "entitlements": "build/entitlements.mac.plist", "entitlementsInherit": "build/entitlements.mac.inherit.plist", "extendInfo": { "LSUIElement": true, "NSMicrophoneUsageDescription": "GooeyPi uses the microphone for dictation and realtime voice sessions you start." }, "notarize": true, "asarUnpack": [ "**/node_modules/node-pty/build/Release/pty.node", "**/node_modules/node-pty/build/Release/spawn-helper", "**/node_modules/zeromq/build/darwin/${arch}/node/*-Release/addon.node" ], "files": [ "out/**/*", "package.json", "!**/node_modules/prime-agent/docs/**", "!**/node_modules/prime-agent/dist/bundle/**", "!**/node_modules/prime-agent/dist/modes/**", "!**/node_modules/prime-agent/**/*.map", "!**/node_modules/prime-agent/**/*.d.ts", "!**/node_modules/@earendil-works/pi-tui/**", "!**/node_modules/koffi/**", "!**/node_modules/zeromq/build/linux/**", "!**/node_modules/zeromq/build/win32/**", "!**/node_modules/extract-zip/index.linux-*.node", "!**/node_modules/extract-zip/index.win32-*.node" ] }, "linux": { "category": "Development", "synopsis": "A desktop workspace for Pi, OMP, and Prime Agent", "syncDesktopName": true, "target": [ "AppImage", "deb", "rpm", "pacman" ], "artifactName": "${productName}-${version}-linux-${arch}.${ext}", "icon": "assets/icon.png", "asarUnpack": [ "**/node_modules/node-pty/build/Release/pty.node", "**/node_modules/zeromq/build/linux/${arch}/node/*-Release/addon.node" ], "files": [ "out/**/*", "package.json", "!**/node_modules/prime-agent/docs/**", "!**/node_modules/prime-agent/dist/bundle/**", "!**/node_modules/prime-agent/dist/modes/**", "!**/node_modules/prime-agent/**/*.map", "!**/node_modules/prime-agent/**/*.d.ts", "!**/node_modules/@earendil-works/pi-tui/**", "!**/node_modules/koffi/**", "!**/node_modules/zeromq/build/darwin/**", "!**/node_modules/zeromq/build/win32/**", "!**/node_modules/extract-zip/index.darwin-*.node", "!**/node_modules/extract-zip/index.win32-*.node" ] }, "win": { "target": [ "nsis", "zip", "appx" ], "artifactName": "${productName}-${version}-win-${arch}.${ext}", "icon": "assets/icon.png", "asarUnpack": [ "**/node_modules/node-pty/prebuilds/win32-${arch}/pty.node", "**/node_modules/node-pty/prebuilds/win32-${arch}/conpty.node", "**/node_modules/node-pty/prebuilds/win32-${arch}/conpty_console_list.node", "**/node_modules/node-pty/prebuilds/win32-${arch}/winpty-agent.exe", "**/node_modules/node-pty/prebuilds/win32-${arch}/winpty.dll", "**/node_modules/node-pty/prebuilds/win32-${arch}/conpty/OpenConsole.exe", "**/node_modules/node-pty/prebuilds/win32-${arch}/conpty/conpty.dll", "**/node_modules/zeromq/build/win32/${arch}/node/*-Release/addon.node" ], "files": [ "out/**/*", "package.json", "!**/node_modules/prime-agent/docs/**", "!**/node_modules/prime-agent/dist/bundle/**", "!**/node_modules/prime-agent/dist/modes/**", "!**/node_modules/prime-agent/**/*.map", "!**/node_modules/prime-agent/**/*.d.ts", "!**/node_modules/@earendil-works/pi-tui/**", "!**/node_modules/koffi/**", "!**/node_modules/zeromq/build/darwin/**", "!**/node_modules/zeromq/build/linux/**", "!**/node_modules/extract-zip/index.darwin-*.node", "!**/node_modules/extract-zip/index.linux-*.node" ] }, "directories": { "output": "release" }, "publish": { "provider": "github", "owner": "am-will", "repo": "gooey-pi" }, "afterPack": "scripts/release/after-pack.cjs", "extraResources": [ { "from": "assets/icon.png", "to": "icon.png" }, { "from": "assets/skills", "to": "skills" }, { "from": "assets/extensions", "to": "extensions" }, { "from": "assets/pets", "to": "pets" } ], "electronLanguages": [ "en-US" ], "appx": { "applicationId": "GooeyPi", "identityName": "GooeyPi", "publisherDisplayName": "GooeyPi", "displayName": "GooeyPi", "backgroundColor": "#171716", "languages": [ "en-US" ] } }, "engines": { "node": ">=24.15.0", "npm": ">=12.0.2" }, "packageManager": "npm@12.0.2" }