@pi-harness/pi-harness 0.1.32 → 0.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/web/dist/assets/index-CZMbiZj6.css +2 -0
- package/apps/web/dist/assets/index-z2r7-WQf.js +26 -0
- package/apps/web/dist/index.html +2 -2
- package/apps/web/package.json +1 -1
- package/apps/web/server-dist/bin.js +8 -0
- package/apps/web/server-dist/bin.js.map +1 -1
- package/apps/web/src/server/bin.ts +8 -0
- package/apps/web/src/style.css +24 -0
- package/node_modules/@pi-harness/api-gateway/dist/index.d.ts.map +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/index.js +89 -4
- package/node_modules/@pi-harness/api-gateway/dist/index.js.map +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/agent-teams.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/anchored-standard.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/annotation.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/archify.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/at-file.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/auto-mode.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/better-sidebar.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-fetch.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-session.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/canvas-draw.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/change-verifier.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cleaner.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cli-notifier.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/code2skill.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/colleague-skill.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context-doctor.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cordis-group.json +11 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cordis-logger-console.json +15 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cordis-timer.json +10 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cost-meter.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/dependency-checker.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/fail-logger.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/genui.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/graph-memory.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/history-compressor.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/hol-guard.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/i18n-pair.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/image-compressor.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/llm-verifier.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-client.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-panel.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/memory.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mock-server.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/modlens.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/module-search.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/openpets.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plan-execute.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-check.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-dev.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-finder.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-radar.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-stars.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-guard.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-library.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/readme-gen.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/recall-unread.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reverse-skill.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/secure-audit.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bridge.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-compare.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-export.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-insights.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-search.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-catalog.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-guard.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/sql-lens.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/synapse.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/tab-manager.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/taskboard.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/test-harness.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/theme-studio.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/token-guard.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/turn-rewind.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/web-research.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-search.json +2 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/yaml-validator.json +2 -2
- package/node_modules/@pi-harness/api-gateway/package.json +1 -1
- package/node_modules/@pi-harness/cli/dist/main.d.ts.map +1 -1
- package/node_modules/@pi-harness/cli/dist/main.js +2 -0
- package/node_modules/@pi-harness/cli/dist/main.js.map +1 -1
- package/node_modules/@pi-harness/cli/package.json +1 -1
- package/node_modules/@pi-harness/host-webserver/package.json +1 -1
- package/node_modules/@pi-harness/web-app/package.json +1 -1
- package/package.json +6 -6
- package/packages/api-gateway/dist/index.d.ts.map +1 -1
- package/packages/api-gateway/dist/index.js +89 -4
- package/packages/api-gateway/dist/index.js.map +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/agent-teams.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/anchored-standard.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/annotation.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/archify.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/at-file.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/auto-mode.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/better-sidebar.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/browser-fetch.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/browser-session.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/canvas-draw.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/change-verifier.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/cleaner.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/cli-notifier.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/code2skill.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/colleague-skill.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/context-doctor.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/context.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/cordis-group.json +11 -4
- package/packages/api-gateway/dist/marketplace-entries/official/cordis-logger-console.json +15 -4
- package/packages/api-gateway/dist/marketplace-entries/official/cordis-timer.json +10 -4
- package/packages/api-gateway/dist/marketplace-entries/official/cost-meter.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/dependency-checker.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/fail-logger.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/genui.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/graph-memory.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/history-compressor.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/hol-guard.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/i18n-pair.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/image-compressor.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/llm-verifier.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/mcp-client.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/mcp-panel.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/memory.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/mock-server.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/modlens.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/module-search.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/openpets.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/plan-execute.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-check.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-dev.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-finder.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-radar.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-stars.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/prompt-guard.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/prompt-library.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/readme-gen.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/recall-unread.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/reverse-skill.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/secure-audit.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/session-bridge.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/session-compare.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/session-export.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/session-insights.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/session-search.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/skill-catalog.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/skill-guard.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/sql-lens.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/synapse.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/tab-manager.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/taskboard.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/test-harness.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/theme-studio.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/token-guard.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/turn-rewind.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/web-research.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/workspace-search.json +2 -2
- package/packages/api-gateway/dist/marketplace-entries/official/yaml-validator.json +2 -2
- package/packages/api-gateway/package.json +1 -1
- package/packages/api-gateway/src/index.ts +90 -5
- package/packages/api-gateway/src/marketplace-entries/official/agent-teams.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/anchored-standard.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/annotation.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/archify.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/at-file.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/auto-mode.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/better-sidebar.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/browser-fetch.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/browser-session.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/canvas-draw.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/change-verifier.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/cleaner.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/cli-notifier.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/code2skill.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/colleague-skill.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/context-doctor.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/context.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/cordis-group.json +11 -4
- package/packages/api-gateway/src/marketplace-entries/official/cordis-logger-console.json +15 -4
- package/packages/api-gateway/src/marketplace-entries/official/cordis-timer.json +10 -4
- package/packages/api-gateway/src/marketplace-entries/official/cost-meter.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/dependency-checker.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/docker-sandbox.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/fail-logger.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/genui.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/git-time-capsule.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/graph-memory.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/history-compressor.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/hol-guard.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/i18n-pair.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/image-compressor.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/llm-verifier.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/mcp-client.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/mcp-panel.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/memory.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/mirage-bridge.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/mock-server.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/modlens.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/module-search.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/obsidian-sync.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/openpets.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/plan-execute.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/plugin-check.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/plugin-dev.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/plugin-finder.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/plugin-radar.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/plugin-stars.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/prompt-guard.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/prompt-library.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/readme-gen.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/recall-unread.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/reverse-skill.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/reviewer-bot.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/runtime-doctor.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/secure-audit.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/session-bookmarks.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/session-bridge.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/session-compare.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/session-export.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/session-insights.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/session-search.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/skill-catalog.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/skill-guard.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/sql-lens.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/synapse.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/tab-manager.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/taskboard.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/telemetry-blocker.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/test-harness.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/theme-studio.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/token-guard.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/turn-rewind.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/undo-savepoint.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/vision-toolkit.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/web-research.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/workspace-navigator.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/workspace-search.json +2 -2
- package/packages/api-gateway/src/marketplace-entries/official/yaml-validator.json +2 -2
- package/packages/api-gateway/test/index.test.ts +9 -4
- package/packages/api-gateway/test/marketplace.test.ts +83 -114
- package/packages/bundle-web-app/package.json +1 -1
- package/packages/cli/dist/main.d.ts.map +1 -1
- package/packages/cli/dist/main.js +2 -0
- package/packages/cli/dist/main.js.map +1 -1
- package/packages/cli/package.json +1 -1
- package/packages/cli/src/main.ts +2 -0
- package/packages/host-webserver/package.json +1 -1
- package/apps/web/dist/assets/index-BqOM0elx.css +0 -2
- package/apps/web/dist/assets/index-x2UhIAWm.js +0 -25
package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/test-harness.json
CHANGED
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
"packageName": "@pi-harness/plugin-test-harness",
|
|
4
4
|
"version": "0.1.29",
|
|
5
5
|
"name": "Test Harness",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "运行工作区里五个固定名字的 npm 脚本,返回真实状态和清理过的 12 KiB 输出尾部;超时可配置,取消时清理整棵进程树。",
|
|
7
7
|
"author": "Pi Harness",
|
|
8
8
|
"repository": "https://github.com/pi-harness/pi-harness",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"source": "official",
|
|
11
11
|
"status": "verified",
|
|
12
12
|
"category": {
|
|
13
|
-
"id": "
|
|
14
|
-
"label": "
|
|
13
|
+
"id": "developer",
|
|
14
|
+
"label": "开发工具"
|
|
15
15
|
},
|
|
16
16
|
"capabilities": ["runs-commands"],
|
|
17
|
-
"hooks": ["
|
|
17
|
+
"hooks": ["项目验证工具", "工作区 npm 脚本", "插件面板"],
|
|
18
18
|
"profile": {
|
|
19
19
|
"name": "@pi-harness/plugin-test-harness",
|
|
20
20
|
"config": {
|
package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/theme-studio.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"packageName": "@pi-harness/plugin-theme-studio",
|
|
4
4
|
"version": "0.1.29",
|
|
5
5
|
"name": "Theme Studio",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "为 Pi Harness 控制台切换浅色、午夜、纸张和高对比四套主题。",
|
|
7
7
|
"author": "Pi Harness",
|
|
8
8
|
"repository": "https://github.com/pi-harness/pi-harness",
|
|
9
9
|
"license": "MIT",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"label": "界面增强"
|
|
15
15
|
},
|
|
16
16
|
"capabilities": ["read-only", "session-data"],
|
|
17
|
-
"hooks": ["
|
|
17
|
+
"hooks": ["会话生命周期", "React 根变量", "插件面板"],
|
|
18
18
|
"profile": {
|
|
19
19
|
"name": "@pi-harness/plugin-theme-studio",
|
|
20
20
|
"config": {
|
package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/token-guard.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"packageName": "@pi-harness/plugin-token-guard",
|
|
4
4
|
"version": "0.1.29",
|
|
5
5
|
"name": "Token Guard",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "上下文占比或计费 token 超过预算时,一次运行最多发出一次中止请求,并提供缓存的面板视图。",
|
|
7
7
|
"author": "Pi Harness",
|
|
8
8
|
"repository": "https://github.com/pi-harness/pi-harness",
|
|
9
9
|
"license": "MIT",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"label": "可观测性"
|
|
15
15
|
},
|
|
16
16
|
"capabilities": ["read-only", "session-data"],
|
|
17
|
-
"hooks": ["Pi
|
|
17
|
+
"hooks": ["Pi 会话生命周期", "当前运行中止", "会话用量与统计", "插件面板"],
|
|
18
18
|
"profile": {
|
|
19
19
|
"name": "@pi-harness/plugin-token-guard",
|
|
20
20
|
"config": {
|
package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/turn-rewind.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"packageName": "@pi-harness/plugin-turn-rewind",
|
|
4
4
|
"version": "0.1.29",
|
|
5
5
|
"name": "Turn Rewind",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "扫描当前分支上的用户轮次,等 agent 空闲后按队列串行回退,并在原生会话树里导航,保留被放弃的分支。",
|
|
7
7
|
"author": "Pi Harness",
|
|
8
8
|
"repository": "https://github.com/pi-harness/pi-harness",
|
|
9
9
|
"license": "MIT",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"label": "工作流"
|
|
15
15
|
},
|
|
16
16
|
"capabilities": ["read-only", "session-data"],
|
|
17
|
-
"hooks": ["
|
|
17
|
+
"hooks": ["会话回退工具", "当前会话树", "agent 空闲生命周期", "插件面板"],
|
|
18
18
|
"profile": {
|
|
19
19
|
"name": "@pi-harness/plugin-turn-rewind",
|
|
20
20
|
"config": {}
|
package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/undo-savepoint.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"packageName": "@pi-harness/plugin-undo-savepoint",
|
|
4
4
|
"version": "0.1.29",
|
|
5
5
|
"name": "Undo Savepoints",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "在 agent 改动前建立可查看的存档点,之后可以安全还原工作区。",
|
|
7
7
|
"author": "Pi Harness",
|
|
8
8
|
"repository": "https://github.com/pi-harness/pi-harness",
|
|
9
9
|
"license": "MIT",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"label": "工作流"
|
|
15
15
|
},
|
|
16
16
|
"capabilities": ["reads-files", "writes-files"],
|
|
17
|
-
"hooks": ["
|
|
17
|
+
"hooks": ["工具调用", "插件面板"],
|
|
18
18
|
"profile": {
|
|
19
19
|
"name": "@pi-harness/plugin-undo-savepoint",
|
|
20
20
|
"config": {}
|
package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/vision-toolkit.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"packageName": "@pi-harness/plugin-vision-toolkit",
|
|
4
4
|
"version": "0.1.29",
|
|
5
5
|
"name": "Vision Toolkit",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "读取 PNG、JPEG、GIF、WebP 的签名与元数据并建立目录,只读文件头,遍历可取消,结果仅在本机面板展示。",
|
|
7
7
|
"author": "Pi Harness",
|
|
8
8
|
"repository": "https://github.com/pi-harness/pi-harness",
|
|
9
9
|
"license": "MIT",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"label": "视觉与多模态"
|
|
15
15
|
},
|
|
16
16
|
"capabilities": ["read-only", "reads-files"],
|
|
17
|
-
"hooks": ["
|
|
17
|
+
"hooks": ["图像元数据工具", "工作区访问", "插件面板"],
|
|
18
18
|
"profile": {
|
|
19
19
|
"name": "@pi-harness/plugin-vision-toolkit",
|
|
20
20
|
"config": {}
|
package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/web-research.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"packageName": "@pi-harness/plugin-web-research",
|
|
4
4
|
"version": "0.1.29",
|
|
5
5
|
"name": "Web Research",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "通过可配置的搜索服务检索公网,返回带出处、有上限的证据。",
|
|
7
7
|
"author": "Pi Harness",
|
|
8
8
|
"repository": "https://github.com/pi-harness/pi-harness",
|
|
9
9
|
"license": "MIT",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"label": "网页与研究"
|
|
15
15
|
},
|
|
16
16
|
"capabilities": ["network-access"],
|
|
17
|
-
"hooks": ["
|
|
17
|
+
"hooks": ["网络请求", "插件面板"],
|
|
18
18
|
"profile": {
|
|
19
19
|
"name": "@pi-harness/plugin-web-research",
|
|
20
20
|
"config": {}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"packageName": "@pi-harness/plugin-workspace-navigator",
|
|
4
4
|
"version": "0.1.29",
|
|
5
5
|
"name": "Workspace Navigator",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "显示有上限的工作区目录树和只读 Git 状态,作为写代码时的侧边栏。",
|
|
7
7
|
"author": "Pi Harness",
|
|
8
8
|
"repository": "https://github.com/pi-harness/pi-harness",
|
|
9
9
|
"license": "MIT",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"label": "开发工具"
|
|
15
15
|
},
|
|
16
16
|
"capabilities": ["reads-files", "runs-commands"],
|
|
17
|
-
"hooks": ["
|
|
17
|
+
"hooks": ["工作区文件", "受限扫描", "只读 Git", "插件面板"],
|
|
18
18
|
"profile": {
|
|
19
19
|
"name": "@pi-harness/plugin-workspace-navigator",
|
|
20
20
|
"config": {}
|
package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-search.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"packageName": "@pi-harness/plugin-workspace-search",
|
|
4
4
|
"version": "0.1.29",
|
|
5
5
|
"name": "Workspace Search",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "在当前工作区的文本文件里搜索,自动跳过忽略目录和二进制内容。",
|
|
7
7
|
"author": "Pi Harness",
|
|
8
8
|
"repository": "https://github.com/pi-harness/pi-harness",
|
|
9
9
|
"license": "MIT",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"label": "上下文管理"
|
|
15
15
|
},
|
|
16
16
|
"capabilities": ["read-only", "reads-files"],
|
|
17
|
-
"hooks": ["
|
|
17
|
+
"hooks": ["工作区文件", "插件面板"],
|
|
18
18
|
"profile": {
|
|
19
19
|
"name": "@pi-harness/plugin-workspace-search",
|
|
20
20
|
"config": {}
|
package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/yaml-validator.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"packageName": "@pi-harness/plugin-yaml-validator",
|
|
4
4
|
"version": "0.1.29",
|
|
5
5
|
"name": "YAML Validator",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "校验工作区内的 UTF-8 多文档 YAML,读取受限可取消,报错带行号。",
|
|
7
7
|
"author": "Pi Harness",
|
|
8
8
|
"repository": "https://github.com/pi-harness/pi-harness",
|
|
9
9
|
"license": "MIT",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"label": "开发工具"
|
|
15
15
|
},
|
|
16
16
|
"capabilities": ["read-only", "reads-files"],
|
|
17
|
-
"hooks": ["YAML
|
|
17
|
+
"hooks": ["YAML 校验工具", "工作区文件", "插件面板"],
|
|
18
18
|
"profile": {
|
|
19
19
|
"name": "@pi-harness/plugin-yaml-validator",
|
|
20
20
|
"config": {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOtD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oHAAoH;IACpH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAClE;AA4CD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAM7C,wBAAsB,MAAM,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,YAAY,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOtD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oHAAoH;IACpH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAClE;AA4CD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAM7C,wBAAsB,MAAM,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,YAAY,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAiMpG"}
|
|
@@ -162,6 +162,8 @@ export async function runCli(_args, _environment) {
|
|
|
162
162
|
provideLaunchContext(context, {
|
|
163
163
|
cwd: environment.cwd,
|
|
164
164
|
agentDir: environment.agentDir,
|
|
165
|
+
// The booted profile, so a diagnostic that tells the user to edit it can name the file instead of the two placeholders it was resolved from.
|
|
166
|
+
configPath,
|
|
165
167
|
args: invocation.args,
|
|
166
168
|
requestExit(code) {
|
|
167
169
|
requestedExit?.(code);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/pi-harness",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.34",
|
|
4
4
|
"homepage": "https://github.com/pi-harness/pi-harness#readme",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/pi-harness/pi-harness/issues"
|
|
@@ -57,11 +57,11 @@
|
|
|
57
57
|
"@earendil-works/pi-agent-core": "0.84.4",
|
|
58
58
|
"@earendil-works/pi-ai": "0.84.4",
|
|
59
59
|
"@earendil-works/pi-coding-agent": "0.84.4",
|
|
60
|
-
"@pi-harness/api-gateway": "0.1.
|
|
61
|
-
"@pi-harness/cli": "0.1.
|
|
62
|
-
"@pi-harness/core": "^0.1.
|
|
63
|
-
"@pi-harness/host-webserver": "0.1.
|
|
64
|
-
"@pi-harness/web-app": "0.1.
|
|
60
|
+
"@pi-harness/api-gateway": "0.1.34",
|
|
61
|
+
"@pi-harness/cli": "0.1.34",
|
|
62
|
+
"@pi-harness/core": "^0.1.34",
|
|
63
|
+
"@pi-harness/host-webserver": "0.1.34",
|
|
64
|
+
"@pi-harness/web-app": "0.1.34",
|
|
65
65
|
"semver": "7.8.5"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;;;;mBAmyBlC,OAAO;;AAHxB,wBA47CE"}
|
|
@@ -15,6 +15,8 @@ const IMPORT_CONTENT_LIMIT_BYTES = 10 * 1024 * 1024;
|
|
|
15
15
|
const IMPORT_BODY_LIMIT_BYTES = 16 * 1024 * 1024;
|
|
16
16
|
// Retained trajectory events are replayed to every SSE client and returned by /api/session, so the array must stay bounded.
|
|
17
17
|
const MAX_RETAINED_EVENTS = 2000;
|
|
18
|
+
// Tool calls that opened but never closed. Far above any real concurrency, so the cap only ever trims a run the runtime abandoned.
|
|
19
|
+
const MAX_PENDING_TOOL_CALLS = 256;
|
|
18
20
|
const GIT_TIMEOUT_MS = 15_000;
|
|
19
21
|
const PROCESS_FAILURE_TEXT_LIMIT = 400;
|
|
20
22
|
const PROCESS_TIMEOUT_MS = 120_000;
|
|
@@ -281,6 +283,41 @@ function pluginSummary(entry) {
|
|
|
281
283
|
category: marketplacePlugin?.category,
|
|
282
284
|
};
|
|
283
285
|
}
|
|
286
|
+
/** The state a marketplace plugin is in between the install that wrote it and the restart that loads it. It is not a loader state because the loader has no entry for it at all. */
|
|
287
|
+
const RESTART_REQUIRED_STATE = "restart-required";
|
|
288
|
+
// The install writes the entry as two adjacent lines, so this reads back exactly what `marketplaceProfileEntry` writes rather than parsing the profile as YAML, which the `!!js` tags in it would need a schema for.
|
|
289
|
+
const MARKETPLACE_PROFILE_ENTRY_PATTERN = /^[ \t]*- id: (marketplace-\S+)[ \t]*\r?\n[ \t]*name: "([^"]+)"/gmu;
|
|
290
|
+
/** The loader holds what is running; the profile file holds what is installed. The two differ for a plugin that contributes tools, which cannot join a harness that is already running: the install leaves its package and its profile entry in place and the plugin arrives on the next start. Reading only the loader makes that plugin indistinguishable from one that was never installed, which is why the console answered an install that had just succeeded with "nothing is installed" and then could not uninstall what it had hidden. */
|
|
291
|
+
async function readMarketplaceProfileEntries(configPath) {
|
|
292
|
+
const source = await readFile(configPath, "utf8").catch(() => undefined);
|
|
293
|
+
if (source === undefined)
|
|
294
|
+
return [];
|
|
295
|
+
const entries = [];
|
|
296
|
+
for (const match of source.matchAll(MARKETPLACE_PROFILE_ENTRY_PATTERN))
|
|
297
|
+
entries.push({ id: match[1] ?? "", packageName: match[2] ?? "" });
|
|
298
|
+
return entries;
|
|
299
|
+
}
|
|
300
|
+
/** The installed plugins the loader does not have, described the same way a loaded one is so the console can list them side by side instead of leaving the user to guess what happened to the install. */
|
|
301
|
+
async function restartPendingSummaries(services) {
|
|
302
|
+
const configPath = services.launch.configPath;
|
|
303
|
+
if (configPath === undefined || services.loader === undefined)
|
|
304
|
+
return [];
|
|
305
|
+
const loaded = new Set([...services.loader.entries()].map((entry) => entry.options.id));
|
|
306
|
+
const entries = await readMarketplaceProfileEntries(configPath);
|
|
307
|
+
return entries
|
|
308
|
+
.filter((entry) => !loaded.has(entry.id))
|
|
309
|
+
.map((entry) => {
|
|
310
|
+
const plugin = MARKETPLACE_PLUGINS.find((item) => item.packageName === entry.packageName);
|
|
311
|
+
return {
|
|
312
|
+
id: entry.id,
|
|
313
|
+
name: entry.packageName,
|
|
314
|
+
enabled: true,
|
|
315
|
+
state: RESTART_REQUIRED_STATE,
|
|
316
|
+
removable: true,
|
|
317
|
+
category: plugin?.category,
|
|
318
|
+
};
|
|
319
|
+
});
|
|
320
|
+
}
|
|
284
321
|
function pluginLoaded(services, packageName) {
|
|
285
322
|
return services.loader !== undefined && [...services.loader.entries()].some((entry) => entry.options.name === packageName && !entry.disabled);
|
|
286
323
|
}
|
|
@@ -688,7 +725,31 @@ export default {
|
|
|
688
725
|
let busy = false;
|
|
689
726
|
const events = [];
|
|
690
727
|
const eventClients = new Set();
|
|
691
|
-
|
|
728
|
+
// Pi puts a wall-clock on a message payload and nowhere else, so a tool call has no time of its own and nothing downstream can recover when the harness saw it. The gateway is the one place that sees every event as it happens, so it stamps each one on arrival, and pairs a tool call's two events to record how long the call took.
|
|
729
|
+
// The stamp is written onto the event rather than onto a copy: a copy would give every event a new identity, and the serializer's cycle detection reads identity, so a self-referential event would serialize one level deeper on every hop.
|
|
730
|
+
const toolCallStartedAt = new Map();
|
|
731
|
+
const stampEvent = (event) => {
|
|
732
|
+
const receivedAt = Date.now();
|
|
733
|
+
const toolCallId = event.toolCallId;
|
|
734
|
+
if (typeof toolCallId === "string" && event.type === "tool_execution_start") {
|
|
735
|
+
// A call whose end never arrives would otherwise keep its entry forever; the oldest is dropped rather than letting a stalled run grow the map without bound.
|
|
736
|
+
if (toolCallStartedAt.size >= MAX_PENDING_TOOL_CALLS) {
|
|
737
|
+
const oldest = toolCallStartedAt.keys().next().value;
|
|
738
|
+
if (oldest !== undefined)
|
|
739
|
+
toolCallStartedAt.delete(oldest);
|
|
740
|
+
}
|
|
741
|
+
toolCallStartedAt.set(toolCallId, receivedAt);
|
|
742
|
+
}
|
|
743
|
+
if (typeof toolCallId === "string" && event.type === "tool_execution_end") {
|
|
744
|
+
const startedAt = toolCallStartedAt.get(toolCallId);
|
|
745
|
+
toolCallStartedAt.delete(toolCallId);
|
|
746
|
+
if (startedAt !== undefined)
|
|
747
|
+
return Object.assign(event, { receivedAt, durationMs: receivedAt - startedAt });
|
|
748
|
+
}
|
|
749
|
+
return Object.assign(event, { receivedAt });
|
|
750
|
+
};
|
|
751
|
+
const handleEvent = (rawEvent) => {
|
|
752
|
+
const event = stampEvent(rawEvent);
|
|
692
753
|
// Streaming deltas reach clients live over SSE and each one carries the whole partial message, so only durable events are retained for snapshots.
|
|
693
754
|
if (event.type !== "message_update") {
|
|
694
755
|
events.push(event);
|
|
@@ -1000,8 +1061,10 @@ export default {
|
|
|
1000
1061
|
});
|
|
1001
1062
|
const disposePlugins = services.webServer.register({
|
|
1002
1063
|
path: "/api/plugins",
|
|
1003
|
-
handler(_request, response) {
|
|
1004
|
-
const
|
|
1064
|
+
async handler(_request, response) {
|
|
1065
|
+
const loaded = services.loader ? [...services.loader.entries()].map(pluginSummary) : [];
|
|
1066
|
+
// The pending entries follow the loaded ones so a list that was stable before an install stays in the same order after it.
|
|
1067
|
+
const items = [...loaded, ...(await restartPendingSummaries(services))];
|
|
1005
1068
|
sendJson(response, 200, jsonSafe({ items }));
|
|
1006
1069
|
},
|
|
1007
1070
|
});
|
|
@@ -1093,6 +1156,11 @@ export default {
|
|
|
1093
1156
|
sendJson(response, 409, { error: "Plugin is already installed", plugin });
|
|
1094
1157
|
return;
|
|
1095
1158
|
}
|
|
1159
|
+
// A plugin already waiting for a restart is installed even though the loader has no entry for it, so installing it again would re-run npm and report a fresh restart for work that is already done.
|
|
1160
|
+
if ((await readMarketplaceProfileEntries(configPath)).some((entry) => entry.packageName === plugin.packageName)) {
|
|
1161
|
+
sendJson(response, 200, { plugin, installed: true, restartRequired: true });
|
|
1162
|
+
return;
|
|
1163
|
+
}
|
|
1096
1164
|
const installDirectory = await marketplaceInstallDirectory(configPath, services.launch.cwd);
|
|
1097
1165
|
const packageJsonPath = join(installDirectory, "package.json");
|
|
1098
1166
|
const packageLockPath = join(installDirectory, "package-lock.json");
|
|
@@ -1231,7 +1299,24 @@ export default {
|
|
|
1231
1299
|
}
|
|
1232
1300
|
const entry = [...loader.entries()].find((item) => item.id === payload.id || item.options.id === payload.id);
|
|
1233
1301
|
if (entry === undefined) {
|
|
1234
|
-
|
|
1302
|
+
// A plugin waiting for a restart has no loader entry to remove, only the profile entry and the package the install left behind. Refusing here left the user unable to undo an install until they restarted the very process they installed it to avoid restarting.
|
|
1303
|
+
const pending = (await readMarketplaceProfileEntries(configPath)).find((item) => item.id === payload.id);
|
|
1304
|
+
const pendingPlugin = pending === undefined ? undefined : MARKETPLACE_PLUGINS.find((item) => item.packageName === pending.packageName);
|
|
1305
|
+
if (pending === undefined || pendingPlugin === undefined) {
|
|
1306
|
+
sendJson(response, 404, { error: "Installed plugin was not found" });
|
|
1307
|
+
return;
|
|
1308
|
+
}
|
|
1309
|
+
const pendingProfileBefore = await readFile(configPath, "utf8");
|
|
1310
|
+
const pendingInstallDirectory = await marketplaceInstallDirectory(configPath, services.launch.cwd);
|
|
1311
|
+
try {
|
|
1312
|
+
await updateMarketplaceProfile(configPath, pending.id, { remove: true });
|
|
1313
|
+
await runProcess("npm", ["uninstall", "--package-lock=false", marketplaceNpmPackageName(pendingPlugin.packageName)], pendingInstallDirectory);
|
|
1314
|
+
sendJson(response, 200, { uninstalled: true, id: payload.id });
|
|
1315
|
+
}
|
|
1316
|
+
catch (error) {
|
|
1317
|
+
await writeFile(configPath, pendingProfileBefore, "utf8").catch(() => { });
|
|
1318
|
+
sendJson(response, 502, { error: errorText(error) });
|
|
1319
|
+
}
|
|
1235
1320
|
return;
|
|
1236
1321
|
}
|
|
1237
1322
|
const plugin = marketplacePluginForEntry(entry);
|