755bf80858
新增 Godot 项目选择、校验、导入和项目上下文切换入口。 只在所选项目根保留 .agent 元数据,并让总控使用标准运行档。 修复发布版原生 API 访问和 React runtime 重复加载问题。 收紧 Provider 工具 Schema 子集并增加回归门禁。 补充 Rust、前端测试及 PRD、技术方案和共享决策记录。
239 lines
17 KiB
JSON
239 lines
17 KiB
JSON
{
|
|
"name": "react-example",
|
|
"private": true,
|
|
"version": "0.0.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "node scripts/dev.mjs",
|
|
"dev:spacetime": "node scripts/dev.mjs spacetime",
|
|
"dev:api-server": "node scripts/dev.mjs api-server",
|
|
"dev:bgfilter-worker": "node scripts/dev.mjs bgfilter-worker",
|
|
"bgfilter-worker:load-smoke": "node scripts/bgfilter-worker-load-smoke.mjs",
|
|
"bgfilter-worker:fault-smoke": "node scripts/bgfilter-worker-load-smoke.mjs fault",
|
|
"bgfilter-worker:smoke-test": "node --test scripts/bgfilter-worker-load-smoke.test.mjs",
|
|
"dev:web": "node scripts/dev.mjs web",
|
|
"dev:admin-web": "node scripts/dev.mjs admin-web",
|
|
"server-manager:panel": "cargo run -p server-manager-panel --manifest-path server-rs/Cargo.toml",
|
|
"dev:spacetime:logs": "node scripts/run-bash-script.mjs scripts/spacetime-logs-local.sh",
|
|
"otel:debug": "node scripts/run-otelcol.mjs debug",
|
|
"otel:rider": "node scripts/run-otelcol.mjs rider",
|
|
"admin-web:build": "node scripts/admin-web-build.mjs build",
|
|
"admin-web:typecheck": "node scripts/admin-web-build.mjs typecheck",
|
|
"admin-web:preview": "npm --prefix apps/admin-web run preview --",
|
|
"spacetime:generate": "node scripts/generate-spacetime-bindings.mjs",
|
|
"spacetime:external-generation:maintain": "node scripts/spacetime-maintain-external-generation-jobs.mjs",
|
|
"spacetime:editor-canvas-layout:migrate": "node scripts/spacetime-migrate-editor-canvas-layout.mjs",
|
|
"spacetime:editor-canvas-resources:repair": "node scripts/spacetime-repair-editor-canvas-resources.mjs",
|
|
"spacetime:wechat-virtual-payment:reconcile": "node scripts/reconcile-wechat-virtual-payment-order.mjs",
|
|
"check:wechat-virtual-payment-reconcile": "node scripts/check-wechat-virtual-payment-reconcile.mjs",
|
|
"check:api-server-env": "node scripts/check-api-server-env.mjs",
|
|
"check:admin-account-procedures": "node scripts/check-admin-account-procedures.mjs",
|
|
"check:spacetime-runtime-access": "node scripts/check-spacetime-runtime-access.mjs",
|
|
"check:module-runtime-artifact": "node scripts/check-module-runtime-artifact.mjs",
|
|
"deploy:rust:remote": "node scripts/run-bash-script.mjs scripts/deploy-rust-remote.sh",
|
|
"build:production-release": "node scripts/run-bash-script.mjs scripts/build-production-release.sh",
|
|
"build:rust:ubuntu": "node scripts/run-bash-script.mjs scripts/deploy-rust-remote.sh",
|
|
"build": "node scripts/build-gate.mjs",
|
|
"build:raw": "node scripts/vite-cli.mjs build",
|
|
"preview": "node scripts/vite-cli.mjs preview",
|
|
"clean": "node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"",
|
|
"check:encoding": "node scripts/check-encoding.mjs",
|
|
"check:rustfmt": "cargo fmt --all --manifest-path server-rs/Cargo.toml -- --check",
|
|
"check:spacetime-schema": "node scripts/check-spacetime-schema-guard.mjs",
|
|
"check:production-ops": "node scripts/check-production-ops-guardrails.mjs",
|
|
"check:maintenance-page": "node scripts/check-maintenance-page.mjs",
|
|
"check:database-backup": "node scripts/check-database-backup-to-oss.mjs",
|
|
"check:production-health-patrol": "node scripts/check-production-health-patrol.mjs",
|
|
"check:production-health-patrol-env": "node scripts/check-production-health-patrol-env-check.mjs",
|
|
"check:production-api-release": "node scripts/check-production-api-release.mjs",
|
|
"check:production-api-deploy": "node scripts/check-production-api-deploy.mjs",
|
|
"check:pingora-gateway-smoke": "node scripts/check-pingora-gateway-smoke.mjs",
|
|
"check:nginx-pingora-canary": "node scripts/check-nginx-pingora-canary.mjs",
|
|
"check:nginx-spa-routes": "node scripts/check-nginx-spa-routes.mjs",
|
|
"check:pingora-route-parity": "node scripts/check-pingora-route-parity.mjs",
|
|
"check:pingora-canary-live": "node scripts/check-pingora-canary-live.mjs",
|
|
"check:pingora-canary-live-guard": "node scripts/check-pingora-canary-live-guard.mjs",
|
|
"check:pingora-realpath-canary-toggle": "node scripts/check-pingora-realpath-canary-toggle.mjs",
|
|
"check:pingora-direct-preflight": "node -- scripts/check-pingora-direct-preflight.mjs && node scripts/check-pingora-direct-preflight-guard.mjs",
|
|
"check:pingora-direct-live": "node scripts/check-pingora-direct-live.mjs",
|
|
"check:pingora-direct-live-guard": "node scripts/check-pingora-direct-live-guard.mjs",
|
|
"check:pingora-direct-enable": "node scripts/check-pingora-direct-enable.mjs",
|
|
"check:pingora-direct-rollback": "node scripts/check-pingora-direct-rollback.mjs",
|
|
"check:pingora-health-patrol-env-switch": "node scripts/check-pingora-health-patrol-env-switch.mjs",
|
|
"check:pingora-gateway-env-shadow-switch": "node scripts/check-pingora-gateway-env-shadow-switch.mjs",
|
|
"check:pingora-tls-cert-sync": "node scripts/check-pingora-tls-cert-sync.mjs",
|
|
"check:pingora-current-release-audit": "node scripts/check-pingora-current-release-audit.mjs",
|
|
"check:pingora-direct-rehearsal-status": "node scripts/check-pingora-direct-rehearsal-status.mjs",
|
|
"check:pingora-cutover-status-snapshot": "node scripts/check-pingora-cutover-status-snapshot.mjs",
|
|
"check:pingora-cutover-evidence-bundle": "node scripts/check-pingora-cutover-evidence-bundle.mjs",
|
|
"check:pingora-cutover-command-evidence": "node scripts/check-pingora-cutover-command-evidence.mjs",
|
|
"check:pingora-cutover-evidence-verify": "node scripts/check-pingora-cutover-evidence-verify.mjs",
|
|
"check:pingora-cutover-evidence-audit": "node scripts/check-pingora-cutover-evidence-audit.mjs",
|
|
"check:pingora-canary-access-log-parity": "node scripts/check-pingora-canary-access-log-parity-check.mjs",
|
|
"check:pingora-canary-docker": "node scripts/check-pingora-canary-docker.mjs",
|
|
"check:pingora-production-release-build": "node scripts/check-pingora-production-release-build.mjs",
|
|
"check:pingora-release-readiness-plan": "node scripts/check-pingora-release-readiness-plan.mjs",
|
|
"check:pingora-release-readiness": "node scripts/check-pingora-release-readiness.mjs",
|
|
"plan:pingora-direct-cutover": "node scripts/check-pingora-release-readiness.mjs --dry-run-cutover",
|
|
"deploy:pingora-realpath-canary-enable": "bash scripts/deploy/pingora-realpath-canary-enable.sh",
|
|
"deploy:pingora-realpath-canary-disable": "bash scripts/deploy/pingora-realpath-canary-disable.sh",
|
|
"deploy:pingora-direct-enable": "bash scripts/deploy/pingora-direct-enable.sh",
|
|
"deploy:pingora-direct-rollback": "bash scripts/deploy/pingora-direct-rollback.sh",
|
|
"spine-export-validator:dev": "npm --prefix tools/spine-json-export-validator run dev --",
|
|
"spine-export-validator:typecheck": "npm --prefix tools/spine-json-export-validator run typecheck",
|
|
"spine-export-validator:build": "npm --prefix tools/spine-json-export-validator run build",
|
|
"check:wechat-miniprogram-auth": "node scripts/check-wechat-miniprogram-auth-smoke.mjs",
|
|
"check:server-rs-ddd": "npm run check:spacetime-schema && npm run check:spacetime-runtime-access && npm run check:module-runtime-artifact && node scripts/check-server-rs-ddd-boundaries.mjs",
|
|
"lint:eslint": "eslint . --ext .ts,.tsx,.js,.mjs,.cjs --max-warnings 0",
|
|
"lint:guardrails": "npm run lint:eslint",
|
|
"typecheck": "tsc -p tsconfig.typecheck-guardrails.json --noEmit",
|
|
"typecheck:guardrails": "npm run typecheck",
|
|
"lint": "npm run check:encoding && npm run check:rustfmt && npm run check:spacetime-schema && npm run check:production-ops && npm run check:maintenance-page && npm run lint:eslint && npm run typecheck",
|
|
"lint:fix": "eslint . --ext .ts,.tsx,.js,.mjs,.cjs --fix && prettier --write .",
|
|
"format": "prettier --write .",
|
|
"format:check": "prettier --check .",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"container:init": "node scripts/container-compose.mjs init",
|
|
"container:build": "node scripts/container-compose.mjs build",
|
|
"container:up": "node scripts/container-compose.mjs up",
|
|
"container:down": "node scripts/container-compose.mjs down",
|
|
"container:logs": "node scripts/container-compose.mjs logs",
|
|
"container:ps": "node scripts/container-compose.mjs ps",
|
|
"container:config": "node scripts/container-compose.mjs config",
|
|
"container:worker-smoke": "node scripts/container-worker-smoke.mjs",
|
|
"check": "npm run lint && npm run test && npm run build && npm run check:content && npm run check:native-shells",
|
|
"check:data": "node scripts/run-tsx.cjs scripts/validate-content.ts",
|
|
"check:overrides": "node scripts/run-tsx.cjs scripts/validate-overrides.ts",
|
|
"check:smoke": "node scripts/run-tsx.cjs scripts/smoke-content.ts",
|
|
"check:content": "npm run check:data && npm run check:overrides && npm run check:smoke",
|
|
"codegraph:init": "codegraph init -i .",
|
|
"codegraph:index": "codegraph index .",
|
|
"codegraph:sync": "codegraph sync .",
|
|
"codegraph:status": "codegraph status .",
|
|
"rag:index": "node scripts/rag/index-docs.mjs",
|
|
"rag:search": "node scripts/rag/search-docs.mjs",
|
|
"database:backup:oss": "node scripts/database-backup-to-oss.mjs",
|
|
"mobile-shell:dev": "npm --prefix apps/mobile-shell run dev",
|
|
"mobile-shell:typecheck": "npm --prefix apps/mobile-shell run typecheck",
|
|
"mobile-shell:test": "npm --prefix apps/mobile-shell run test",
|
|
"mobile-shell:build-config": "npm --prefix apps/mobile-shell run build-config:smoke",
|
|
"mobile-shell:build:android": "npm --prefix apps/mobile-shell run build:android",
|
|
"mobile-shell:build:ios": "npm --prefix apps/mobile-shell run build:ios",
|
|
"mobile-shell:build-artifacts": "npm --prefix apps/mobile-shell run build-artifacts:smoke",
|
|
"mobile-shell:config": "npm --prefix apps/mobile-shell run config:smoke",
|
|
"mobile-shell:export": "npm --prefix apps/mobile-shell run export:smoke",
|
|
"desktop-shell:dev": "npm --prefix apps/desktop-shell run dev",
|
|
"desktop-shell:build": "npm --prefix apps/desktop-shell run build --",
|
|
"desktop-shell:stage-release-binary": "npm --prefix apps/desktop-shell run stage-release-binary",
|
|
"desktop-shell:typecheck": "npm --prefix apps/desktop-shell run typecheck",
|
|
"desktop-shell:test": "cargo test --manifest-path apps/desktop-shell/src-tauri/Cargo.toml",
|
|
"agc": "npm --prefix apps/ai-game-creator-shell run dev",
|
|
"agc:dev": "npm --prefix apps/ai-game-creator-shell run dev",
|
|
"agc:game-chat": "npm --prefix apps/ai-game-creator-shell run game-chat --",
|
|
"agc:serve": "npm run agc:typecheck && npm --prefix apps/ai-game-creator-shell run dev-stack",
|
|
"agc:vite": "npm --prefix apps/ai-game-creator-shell run dev-server",
|
|
"agc:backend": "node scripts/dev.mjs backend",
|
|
"agc:config": "npm --prefix apps/ai-game-creator-shell run config --",
|
|
"agc:build": "npm --prefix apps/ai-game-creator-shell run build --",
|
|
"agc:build:game-chat-release": "npm --prefix apps/ai-game-creator-shell run build:game-chat-release --",
|
|
"agc:check": "npm run ai-game-creator-shell:check",
|
|
"agc:typecheck": "npm --prefix apps/ai-game-creator-shell run typecheck",
|
|
"agc:test": "npm --prefix apps/ai-game-creator-shell run agent-runtime:supervisor-autonomous-playable-lane-defense-deterministic-e2e --",
|
|
"agc:test:chat": "npm --prefix apps/ai-game-creator-shell run test:chat --",
|
|
"agc:test:chat:manual": "npm --prefix apps/ai-game-creator-shell run test:chat:manual --",
|
|
"ai-game-creator-shell:dev": "npm --prefix apps/ai-game-creator-shell run dev",
|
|
"ai-game-creator-shell:dev-server": "npm --prefix apps/ai-game-creator-shell run dev-server",
|
|
"ai-game-creator-shell:build": "npm --prefix apps/ai-game-creator-shell run build --",
|
|
"ai-game-creator-shell:llm-status": "npm --prefix apps/ai-game-creator-shell run llm-status --",
|
|
"ai-game-creator-shell:agent-task": "npm --prefix apps/ai-game-creator-shell run agent-task --",
|
|
"agc:chat": "npm --prefix apps/ai-game-creator-shell run chat --",
|
|
"agc:swarm": "npm --prefix apps/ai-game-creator-shell run swarm --",
|
|
"agc:collaboration-policy-e2e": "npm --prefix apps/ai-game-creator-shell run agent-runtime:collaboration-policy-real-e2e --",
|
|
"agc:mixed-swarm-e2e": "npm --prefix apps/ai-game-creator-shell run agent-runtime:mixed-swarm-real-e2e --",
|
|
"ai-game-creator-shell:agent-run": "npm --prefix apps/ai-game-creator-shell run agent-run --",
|
|
"ai-game-creator-shell:agent-run:smoke": "npm --prefix apps/ai-game-creator-shell run agent-run:smoke",
|
|
"ai-game-creator-shell:agent-runtime:real-e2e": "npm --prefix apps/ai-game-creator-shell run agent-runtime:real-e2e --",
|
|
"ai-game-creator-shell:agent-runtime:supervisor-swarm-autonomous-chat-real-e2e": "npm --prefix apps/ai-game-creator-shell run agent-runtime:supervisor-swarm-autonomous-chat-real-e2e --",
|
|
"ai-game-creator-shell:agent-runtime:supervisor-autonomous-playable-lane-defense-real-e2e": "npm --prefix apps/ai-game-creator-shell run agent-runtime:supervisor-autonomous-playable-lane-defense-real-e2e --",
|
|
"ai-game-creator-shell:agent-runtime:supervisor-autonomous-playable-lane-defense-deterministic-e2e": "npm --prefix apps/ai-game-creator-shell run agent-runtime:supervisor-autonomous-playable-lane-defense-deterministic-e2e --",
|
|
"ai-game-creator-shell:agent-runtime:supervisor-autonomous-playable-lane-defense-deterministic-self-test": "npm --prefix apps/ai-game-creator-shell run agent-runtime:supervisor-autonomous-playable-lane-defense-deterministic-self-test --",
|
|
"ai-game-creator-shell:agent-runtime:supervisor-swarm-transient-retry-real-e2e": "npm --prefix apps/ai-game-creator-shell run agent-runtime:supervisor-swarm-transient-retry-real-e2e --",
|
|
"ai-game-creator-shell:agent-runtime:supervisor-swarm-final-reply-transient-retry-real-e2e": "npm --prefix apps/ai-game-creator-shell run agent-runtime:supervisor-swarm-final-reply-transient-retry-real-e2e --",
|
|
"ai-game-creator-shell:agent-runtime:supervisor-swarm-tool-plan-handoff-runner-kill-real-e2e": "npm --prefix apps/ai-game-creator-shell run agent-runtime:supervisor-swarm-tool-plan-handoff-runner-kill-real-e2e --",
|
|
"ai-game-creator-shell:agent-runtime:steer-real-e2e": "npm --prefix apps/ai-game-creator-shell run agent-runtime:steer-real-e2e --",
|
|
"ai-game-creator-shell:agent-runtime:steer-runner-kill-real-e2e": "npm --prefix apps/ai-game-creator-shell run agent-runtime:steer-runner-kill-real-e2e --",
|
|
"agent-runtime-core:check": "cargo test --manifest-path server-rs/crates/agent-runtime-core/Cargo.toml",
|
|
"ai-game-creator-shell:typecheck": "npm --prefix apps/ai-game-creator-shell run typecheck",
|
|
"ai-game-creator-shell:check": "npm run ai-game-creator-shell:typecheck && npm run test -- apps/ai-game-creator-shell/tests && npm run agent-runtime-core:check && cargo test -p platform-llm --manifest-path server-rs/Cargo.toml && cargo test -p shared-contracts --manifest-path server-rs/Cargo.toml game_creation_app && cargo test --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml -- --test-threads=1 && npm run ai-game-creator-shell:agent-run:smoke",
|
|
"check:native-shells": "node scripts/check-native-shells.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@expo/metro-runtime": "^56.0.15",
|
|
"@lexical/react": "^0.47.0",
|
|
"@lexical/utils": "^0.47.0",
|
|
"@tailwindcss/vite": "^4.1.14",
|
|
"@tauri-apps/plugin-http": "^2.5.9",
|
|
"@vitejs/plugin-react": "^5.0.4",
|
|
"dotenv": "^17.2.3",
|
|
"expo": "^56.0.12",
|
|
"expo-camera": "56.0.8",
|
|
"expo-clipboard": "^56.0.4",
|
|
"expo-document-picker": "^56.0.4",
|
|
"expo-file-system": "^56.0.8",
|
|
"expo-haptics": "^56.0.3",
|
|
"expo-image-picker": "^56.0.18",
|
|
"expo-linking": "^56.0.14",
|
|
"expo-network": "^56.0.5",
|
|
"expo-notifications": "^56.0.18",
|
|
"expo-sharing": "^56.0.18",
|
|
"expo-status-bar": "^56.0.4",
|
|
"jszip": "^3.10.1",
|
|
"lexical": "^0.47.0",
|
|
"lucide-react": "^0.546.0",
|
|
"motion": "^12.23.24",
|
|
"overlayscrollbars": "2.16.0",
|
|
"overlayscrollbars-react": "0.5.6",
|
|
"qrcode": "^1.5.4",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0",
|
|
"react-markdown": "^10.1.0",
|
|
"react-native": "^0.86.0",
|
|
"react-native-safe-area-context": "^5.8.0",
|
|
"react-native-webview": "^13.16.1",
|
|
"remark-gfm": "^4.0.1",
|
|
"three": "^0.184.0",
|
|
"vite": "^6.2.0",
|
|
"zustand": "^5.0.14"
|
|
},
|
|
"devDependencies": {
|
|
"@colbymchenry/codegraph": "^0.8.0",
|
|
"@tauri-apps/cli": "^2.11.2",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/node": "^22.14.0",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/react": "^19.2.14",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
"@typescript-eslint/parser": "^6.21.0",
|
|
"@vitest/coverage-v8": "^0.34.6",
|
|
"autoprefixer": "^10.4.21",
|
|
"eas-cli": "^20.3.0",
|
|
"eslint": "^8.57.1",
|
|
"eslint-config-prettier": "^9.1.0",
|
|
"eslint-plugin-react-hooks": "^4.6.2",
|
|
"eslint-plugin-react-refresh": "^0.4.6",
|
|
"eslint-plugin-simple-import-sort": "^10.0.0",
|
|
"eslint-plugin-unused-imports": "^3.2.0",
|
|
"globals": "^13.24.0",
|
|
"jsdom": "^22.1.0",
|
|
"prettier": "^3.3.3",
|
|
"tailwindcss": "^4.1.14",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "~5.8.2",
|
|
"vite": "^6.2.0",
|
|
"vitest": "^0.34.6"
|
|
}
|
|
}
|