mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-27 19:52:49 +00:00
`npm audit signatures` in the quality job fails on some runners with EMISSINGSIGNATUREKEY for @react-native/babel-preset@0.88.0. Nothing in the repo uses React Native 0.88: the package came from a second Expo SDK that npm placed under packages/expo-two-way-audio/node_modules because expo-module-scripts was declared there. Root `overrides` are not applied to packages nested under a workspace, so jest-expo's `expo@*` peer resolved to the latest SDK and pulled 200+ duplicate packages into the lockfile. The failure itself is a CDN cache problem: one Cloudflare edge (ORD, which serves GitHub runners in Azure northcentralus) cached the attestations document for that version seconds after publish, before the publish attestation existed, and keeps serving the provenance-only document for a year. Every quality job that lands in that region fails; every other region passes. The audit code path checks the registry signature before attestations, so the key list is fine and reruns only succeed by landing elsewhere. Declaring expo-module-scripts in the root devDependencies puts it under the overrides, which removes the nested SDK and the poisoned URL from the lockfile. The module's tsconfig points its typeRoots at the hoisted copy; its scripts resolve `expo-module` from the root `.bin`. Closes #7730
162 lines
12 KiB
JSON
162 lines
12 KiB
JSON
{
|
|
"name": "paseo",
|
|
"version": "0.13.2",
|
|
"private": true,
|
|
"description": "Paseo: voice-controlled development environment for local AI coding agents",
|
|
"keywords": [
|
|
"development",
|
|
"mcp",
|
|
"openai",
|
|
"voice",
|
|
"voice-assistant"
|
|
],
|
|
"homepage": "https://paseo.sh",
|
|
"license": "Apache-2.0",
|
|
"author": {
|
|
"name": "Mohamed Boudra",
|
|
"email": "hello@moboudra.com"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/getpaseo/paseo.git"
|
|
},
|
|
"workspaces": [
|
|
"plugins",
|
|
"packages/expo-two-way-audio",
|
|
"packages/highlight",
|
|
"packages/plugin",
|
|
"packages/protocol",
|
|
"packages/client",
|
|
"packages/server",
|
|
"packages/app",
|
|
"packages/relay",
|
|
"packages/website",
|
|
"packages/desktop",
|
|
"packages/cli"
|
|
],
|
|
"scripts": {
|
|
"dev": "npm run dev:server",
|
|
"dev:win": "powershell ./scripts/dev.ps1",
|
|
"dev:server": "cross-env PASEO_LISTEN=127.0.0.1:6768 ./scripts/dev-daemon.sh",
|
|
"dev:server:watch": "concurrently --kill-others --names protocol,client,server --prefix-colors yellow,blue,cyan \"npm run watch:protocol\" \"npm run watch:client\" \"npm run dev:server:raw\"",
|
|
"dev:server:raw": "npm run dev --workspace=@getpaseo/server",
|
|
"dev:app": "cross-env PASEO_LISTEN=127.0.0.1:6768 EXPO_PORT=8081 ./scripts/dev-app.sh",
|
|
"dev:android": "npm run dev:android --workspace=@getpaseo/app",
|
|
"dev:ios": "npm run dev:ios --workspace=@getpaseo/app",
|
|
"test:e2e:mobile": "./scripts/test-mobile-agent-device.sh",
|
|
"test:e2e:composer-keyboard:android": "./packages/app/e2e/mobile/composer-keyboard/android.sh",
|
|
"dev:website": "npm run dev --workspace=@getpaseo/website",
|
|
"postinstall": "node scripts/postinstall-patches.mjs",
|
|
"prepare": "lefthook install --force",
|
|
"build": "npm run build --workspaces --if-present",
|
|
"build:apk": "node scripts/build-apk.mjs",
|
|
"build:apk:arm64": "node scripts/build-apk.mjs arm64",
|
|
"build:highlight": "npm run build --workspace=@getpaseo/highlight",
|
|
"build:highlight:clean": "npm run build:clean --workspace=@getpaseo/highlight",
|
|
"build:plugin": "npm run build --workspace=@getpaseo/plugin",
|
|
"build:plugin:clean": "npm run build:clean --workspace=@getpaseo/plugin",
|
|
"build:relay": "npm run build --workspace=@getpaseo/relay",
|
|
"build:relay:clean": "npm run build:clean --workspace=@getpaseo/relay",
|
|
"build:protocol": "npm run build --workspace=@getpaseo/protocol",
|
|
"build:protocol:clean": "npm run build:clean --workspace=@getpaseo/protocol",
|
|
"build:client": "npm run build --workspace=@getpaseo/client",
|
|
"build:client:clean": "npm run build:protocol:clean && npm run build:clean --workspace=@getpaseo/client",
|
|
"build:server-deps": "npm run build:client && concurrently --kill-others-on-fail --names highlight,plugin,relay --prefix-colors yellow,green,blue \"npm run build:highlight\" \"npm run build:plugin\" \"npm run build:relay\"",
|
|
"build:server-deps:clean": "npm run build:client:clean && npm run build:highlight:clean && npm run build:plugin:clean && npm run build:relay:clean",
|
|
"build:server": "npm run build:server-deps && npm run build --workspace=@getpaseo/server && npm run build --workspace=@getpaseo/cli",
|
|
"build:server:clean": "npm run build:server-deps:clean && npm run build:clean --workspace=@getpaseo/server && npm run build:clean --workspace=@getpaseo/cli",
|
|
"build:daemon-web-ui": "node scripts/build-daemon-web-ui.mjs",
|
|
"build:app-deps": "npm run build:highlight && npm run build:client && npm run build:plugin && npm run build --workspace=@getpaseo/expo-two-way-audio",
|
|
"build:app-deps:clean": "npm run build:highlight:clean && npm run build:client:clean && npm run build:plugin:clean && npm run build --workspace=@getpaseo/expo-two-way-audio",
|
|
"watch:protocol": "npm run watch --workspace=@getpaseo/protocol",
|
|
"watch:client": "tsc -p packages/client/tsconfig.json --watch --preserveWatchOutput",
|
|
"typecheck": "npm run typecheck --workspaces --if-present",
|
|
"typecheck:server": "npm run typecheck --workspace=@getpaseo/relay && npm run typecheck --workspace=@getpaseo/protocol && npm run typecheck --workspace=@getpaseo/client && npm run typecheck --workspace=@getpaseo/builtin-plugins && npm run typecheck --workspace=@getpaseo/server && npm run typecheck --workspace=@getpaseo/cli",
|
|
"test": "npm run test --workspaces --if-present",
|
|
"format": "oxfmt .",
|
|
"format:files": "oxfmt",
|
|
"format:check": "oxfmt --check .",
|
|
"format:check:files": "oxfmt --check",
|
|
"lint": "oxlint",
|
|
"lint:fix": "oxlint --fix",
|
|
"knip": "knip",
|
|
"acp:version-drift": "node scripts/check-acp-catalog-version-drift.mjs",
|
|
"acp:version-drift:check": "node scripts/check-acp-catalog-version-drift.mjs --fail-on-drift",
|
|
"acp:version-drift:update": "node scripts/check-acp-catalog-version-drift.mjs --update",
|
|
"start": "npm run start --workspace=@getpaseo/server",
|
|
"android": "npm run dev:android",
|
|
"android:development": "npm run android:development --workspace=@getpaseo/app",
|
|
"android:production": "npm run android:production --workspace=@getpaseo/app",
|
|
"android:release": "npm run android:production --workspace=@getpaseo/app",
|
|
"android:clear": "npm run android:clear --workspace=@getpaseo/app",
|
|
"fdroid:changelogs": "node scripts/sync-fdroid-changelogs.mjs",
|
|
"fdroid:changelogs:check": "node scripts/sync-fdroid-changelogs.mjs --check",
|
|
"ios": "npm run dev:ios",
|
|
"web": "npm run web --workspace=@getpaseo/app",
|
|
"dev:desktop": "cross-env PASEO_LISTEN=127.0.0.1:6768 npm run dev --workspace=@getpaseo/desktop",
|
|
"dev:win:desktop": "npm run dev:win --workspace=@getpaseo/desktop",
|
|
"build:desktop": "npm run build:app-deps:clean && cd packages/app && cross-env PASEO_WEB_PLATFORM=electron npx expo export --platform web && cd ../.. && npm run build --workspace=@getpaseo/desktop --",
|
|
"db:query": "npm run db:query --workspace=@getpaseo/server --",
|
|
"cli": "./scripts/dev-home.sh npx tsx packages/cli/src/index.js",
|
|
"version": "npm run version:sync-internal && npm run fdroid:changelogs && npm run release:prepare && git add -A",
|
|
"version:sync-internal": "node scripts/sync-workspace-versions.mjs",
|
|
"release:prepare": "npm install --workspaces --include-workspace-root",
|
|
"version:all:patch": "node scripts/set-release-version.mjs --mode patch",
|
|
"version:all:minor": "node scripts/set-release-version.mjs --mode minor",
|
|
"version:all:major": "node scripts/set-release-version.mjs --mode major",
|
|
"version:all:beta:patch": "node scripts/set-release-version.mjs --mode beta-patch",
|
|
"version:all:beta:minor": "node scripts/set-release-version.mjs --mode beta-minor",
|
|
"version:all:beta:major": "node scripts/set-release-version.mjs --mode beta-major",
|
|
"version:all:beta:next": "node scripts/set-release-version.mjs --mode beta-next",
|
|
"version:all:promote": "node scripts/set-release-version.mjs --mode promote",
|
|
"release:check": "npm run release:prepare && npm run typecheck --workspace=@getpaseo/highlight && npm run typecheck --workspace=@getpaseo/relay && npm run typecheck --workspace=@getpaseo/protocol && npm run build:client:clean && npm run typecheck --workspace=@getpaseo/client && npm run typecheck --workspace=@getpaseo/plugin && npm run build:server:clean && npm run typecheck --workspace=@getpaseo/server && npm run typecheck --workspace=@getpaseo/cli && npm pack --dry-run --workspace=@getpaseo/highlight && npm pack --dry-run --workspace=@getpaseo/relay && npm pack --dry-run --workspace=@getpaseo/protocol && npm pack --dry-run --workspace=@getpaseo/client && npm pack --dry-run --workspace=@getpaseo/plugin && npm pack --dry-run --workspace=@getpaseo/server && npm pack --dry-run --workspace=@getpaseo/cli",
|
|
"release:publish:dry-run": "npm publish --dry-run --workspace=@getpaseo/highlight --access public && npm publish --dry-run --workspace=@getpaseo/relay --access public && npm publish --dry-run --workspace=@getpaseo/protocol --access public && npm publish --dry-run --workspace=@getpaseo/client --access public && npm publish --dry-run --workspace=@getpaseo/plugin --access public && npm publish --dry-run --workspace=@getpaseo/server --access public && npm publish --dry-run --workspace=@getpaseo/cli --access public",
|
|
"release:publish:beta:dry-run": "npm publish --dry-run --workspace=@getpaseo/highlight --access public --tag beta && npm publish --dry-run --workspace=@getpaseo/relay --access public --tag beta && npm publish --dry-run --workspace=@getpaseo/protocol --access public --tag beta && npm publish --dry-run --workspace=@getpaseo/client --access public --tag beta && npm publish --dry-run --workspace=@getpaseo/plugin --access public --tag beta && npm publish --dry-run --workspace=@getpaseo/server --access public --tag beta && npm publish --dry-run --workspace=@getpaseo/cli --access public --tag beta",
|
|
"release:publish": "npm publish --workspace=@getpaseo/highlight --access public && npm publish --workspace=@getpaseo/relay --access public && npm publish --workspace=@getpaseo/protocol --access public && npm publish --workspace=@getpaseo/client --access public && npm publish --workspace=@getpaseo/plugin --access public && npm publish --workspace=@getpaseo/server --access public && npm publish --workspace=@getpaseo/cli --access public",
|
|
"release:publish:beta": "npm publish --workspace=@getpaseo/highlight --access public --tag beta && npm publish --workspace=@getpaseo/relay --access public --tag beta && npm publish --workspace=@getpaseo/protocol --access public --tag beta && npm publish --workspace=@getpaseo/client --access public --tag beta && npm publish --workspace=@getpaseo/plugin --access public --tag beta && npm publish --workspace=@getpaseo/server --access public --tag beta && npm publish --workspace=@getpaseo/cli --access public --tag beta",
|
|
"release:push": "node scripts/push-current-release-tag.mjs",
|
|
"release:beta:patch": "npm run release:check && npm run version:all:beta:patch && npm run release:publish:beta && npm run release:push",
|
|
"release:beta:minor": "npm run release:check && npm run version:all:beta:minor && npm run release:publish:beta && npm run release:push",
|
|
"release:beta:major": "npm run release:check && npm run version:all:beta:major && npm run release:publish:beta && npm run release:push",
|
|
"release:beta:next": "npm run release:check && npm run version:all:beta:next && npm run release:publish:beta && npm run release:push",
|
|
"release:promote": "npm run release:check && npm run version:all:promote && npm run release:publish && npm run release:push",
|
|
"release:patch": "npm run release:check && npm run version:all:patch && npm run release:publish && npm run release:push",
|
|
"release:minor": "npm run release:check && npm run version:all:minor && npm run release:publish && npm run release:push",
|
|
"release:major": "npm run release:check && npm run version:all:major && npm run release:publish && npm run release:push"
|
|
},
|
|
"devDependencies": {
|
|
"@types/ws": "^8.5.14",
|
|
"@typescript/native-preview": "7.0.0-dev.20260423.1",
|
|
"@vercel/nft": "^1.5.0",
|
|
"concurrently": "^9.2.1",
|
|
"cross-env": "^10.1.0",
|
|
"electron": "44.2.0",
|
|
"expo-module-scripts": "^5.0.8",
|
|
"get-port-cli": "^3.0.0",
|
|
"js-yaml": "^4.1.1",
|
|
"knip": "^5.82.1",
|
|
"lefthook": "^2.1.6",
|
|
"oxfmt": "0.46.0",
|
|
"oxlint": "1.61.0",
|
|
"oxlint-tsgolint": "^0.22.1",
|
|
"patch-package": "^8.0.1",
|
|
"playwright": "^1.56.1",
|
|
"react-dom": "19.2.3",
|
|
"typescript": "^5.9.3",
|
|
"ws": "^8.20.0"
|
|
},
|
|
"overrides": {
|
|
"@codemirror/language": "6.12.4",
|
|
"@codemirror/view": "6.43.6",
|
|
"expo": "~57.0.30",
|
|
"expo-router": "~57.0.28",
|
|
"lightningcss": "1.30.1",
|
|
"react": "19.2.3",
|
|
"react-dom": "19.2.3",
|
|
"react-native": "0.86.3",
|
|
"react-native-gesture-handler": "~2.32.0",
|
|
"react-native-reanimated": "4.5.5",
|
|
"react-native-worklets": "0.10.4"
|
|
}
|
|
}
|