@pi-harness/pi-harness 0.1.31 → 0.1.33
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-DLcE8YQ7.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 +19 -3
- package/apps/web/server-dist/bin.js.map +1 -1
- package/apps/web/src/server/bin.ts +18 -2
- package/apps/web/src/style.css +51 -1
- package/node_modules/@pi-harness/api-gateway/dist/index.d.ts.map +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/index.js +117 -11
- 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 +5 -5
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/anchored-standard.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/annotation.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/archify.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/at-file.json +3 -11
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/auto-mode.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/better-sidebar.json +5 -5
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-fetch.json +3 -10
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-session.json +3 -10
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/canvas-draw.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/change-verifier.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cleaner.json +3 -11
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cli-notifier.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/code2skill.json +5 -5
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/colleague-skill.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context-doctor.json +3 -10
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context.json +3 -9
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cordis-group.json +12 -5
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cordis-logger-console.json +16 -5
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cordis-timer.json +11 -5
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cost-meter.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/dependency-checker.json +4 -12
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +3 -11
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/fail-logger.json +3 -10
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/genui.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +3 -10
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/graph-memory.json +5 -5
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/history-compressor.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/hol-guard.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/i18n-pair.json +3 -9
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/image-compressor.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/llm-verifier.json +5 -5
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-client.json +5 -11
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-panel.json +5 -5
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/memory.json +5 -5
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +5 -5
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mock-server.json +5 -5
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/modlens.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/module-search.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/openpets.json +4 -10
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plan-execute.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-check.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-dev.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-finder.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-radar.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-stars.json +3 -10
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-guard.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-library.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/readme-gen.json +3 -11
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/recall-unread.json +3 -10
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reverse-skill.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/secure-audit.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bridge.json +3 -11
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-compare.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-export.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-insights.json +3 -11
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-search.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-catalog.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-guard.json +4 -11
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/sql-lens.json +5 -12
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/synapse.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/tab-manager.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/taskboard.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/test-harness.json +5 -13
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/theme-studio.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/token-guard.json +3 -11
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/turn-rewind.json +3 -10
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +3 -9
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/web-research.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +3 -3
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-search.json +4 -4
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/yaml-validator.json +3 -9
- package/node_modules/@pi-harness/api-gateway/dist/marketplace.d.ts +18 -2
- package/node_modules/@pi-harness/api-gateway/dist/marketplace.d.ts.map +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace.js +93 -10
- package/node_modules/@pi-harness/api-gateway/dist/marketplace.js.map +1 -1
- 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 +21 -3
- 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 +117 -11
- package/packages/api-gateway/dist/index.js.map +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/agent-teams.json +5 -5
- package/packages/api-gateway/dist/marketplace-entries/official/anchored-standard.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/annotation.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/archify.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/at-file.json +3 -11
- package/packages/api-gateway/dist/marketplace-entries/official/auto-mode.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/better-sidebar.json +5 -5
- package/packages/api-gateway/dist/marketplace-entries/official/browser-fetch.json +3 -10
- package/packages/api-gateway/dist/marketplace-entries/official/browser-session.json +3 -10
- package/packages/api-gateway/dist/marketplace-entries/official/canvas-draw.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/change-verifier.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/cleaner.json +3 -11
- package/packages/api-gateway/dist/marketplace-entries/official/cli-notifier.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/code2skill.json +5 -5
- package/packages/api-gateway/dist/marketplace-entries/official/colleague-skill.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/context-doctor.json +3 -10
- package/packages/api-gateway/dist/marketplace-entries/official/context.json +3 -9
- package/packages/api-gateway/dist/marketplace-entries/official/cordis-group.json +12 -5
- package/packages/api-gateway/dist/marketplace-entries/official/cordis-logger-console.json +16 -5
- package/packages/api-gateway/dist/marketplace-entries/official/cordis-timer.json +11 -5
- package/packages/api-gateway/dist/marketplace-entries/official/cost-meter.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/dependency-checker.json +4 -12
- package/packages/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +3 -11
- package/packages/api-gateway/dist/marketplace-entries/official/fail-logger.json +3 -10
- package/packages/api-gateway/dist/marketplace-entries/official/genui.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +3 -10
- package/packages/api-gateway/dist/marketplace-entries/official/graph-memory.json +5 -5
- package/packages/api-gateway/dist/marketplace-entries/official/history-compressor.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/hol-guard.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/i18n-pair.json +3 -9
- package/packages/api-gateway/dist/marketplace-entries/official/image-compressor.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/llm-verifier.json +5 -5
- package/packages/api-gateway/dist/marketplace-entries/official/mcp-client.json +5 -11
- package/packages/api-gateway/dist/marketplace-entries/official/mcp-panel.json +5 -5
- package/packages/api-gateway/dist/marketplace-entries/official/memory.json +5 -5
- package/packages/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +5 -5
- package/packages/api-gateway/dist/marketplace-entries/official/mock-server.json +5 -5
- package/packages/api-gateway/dist/marketplace-entries/official/modlens.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/module-search.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/openpets.json +4 -10
- package/packages/api-gateway/dist/marketplace-entries/official/plan-execute.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-check.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-dev.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-finder.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-radar.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-stars.json +3 -10
- package/packages/api-gateway/dist/marketplace-entries/official/prompt-guard.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/prompt-library.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/readme-gen.json +3 -11
- package/packages/api-gateway/dist/marketplace-entries/official/recall-unread.json +3 -10
- package/packages/api-gateway/dist/marketplace-entries/official/reverse-skill.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/secure-audit.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/session-bridge.json +3 -11
- package/packages/api-gateway/dist/marketplace-entries/official/session-compare.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/session-export.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/session-insights.json +3 -11
- package/packages/api-gateway/dist/marketplace-entries/official/session-search.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/skill-catalog.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/skill-guard.json +4 -11
- package/packages/api-gateway/dist/marketplace-entries/official/sql-lens.json +5 -12
- package/packages/api-gateway/dist/marketplace-entries/official/synapse.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/tab-manager.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/taskboard.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/test-harness.json +5 -13
- package/packages/api-gateway/dist/marketplace-entries/official/theme-studio.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/token-guard.json +3 -11
- package/packages/api-gateway/dist/marketplace-entries/official/turn-rewind.json +3 -10
- package/packages/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +3 -9
- package/packages/api-gateway/dist/marketplace-entries/official/web-research.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +3 -3
- package/packages/api-gateway/dist/marketplace-entries/official/workspace-search.json +4 -4
- package/packages/api-gateway/dist/marketplace-entries/official/yaml-validator.json +3 -9
- package/packages/api-gateway/dist/marketplace.d.ts +18 -2
- package/packages/api-gateway/dist/marketplace.d.ts.map +1 -1
- package/packages/api-gateway/dist/marketplace.js +93 -10
- package/packages/api-gateway/dist/marketplace.js.map +1 -1
- package/packages/api-gateway/package.json +1 -1
- package/packages/api-gateway/src/index.ts +121 -12
- package/packages/api-gateway/src/marketplace-entries/official/agent-teams.json +5 -5
- package/packages/api-gateway/src/marketplace-entries/official/anchored-standard.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/annotation.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/archify.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/at-file.json +3 -11
- package/packages/api-gateway/src/marketplace-entries/official/auto-mode.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/better-sidebar.json +5 -5
- package/packages/api-gateway/src/marketplace-entries/official/browser-fetch.json +3 -10
- package/packages/api-gateway/src/marketplace-entries/official/browser-session.json +3 -10
- package/packages/api-gateway/src/marketplace-entries/official/canvas-draw.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/change-verifier.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/cleaner.json +3 -11
- package/packages/api-gateway/src/marketplace-entries/official/cli-notifier.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/code2skill.json +5 -5
- package/packages/api-gateway/src/marketplace-entries/official/colleague-skill.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/context-doctor.json +3 -10
- package/packages/api-gateway/src/marketplace-entries/official/context.json +3 -9
- package/packages/api-gateway/src/marketplace-entries/official/cordis-group.json +12 -5
- package/packages/api-gateway/src/marketplace-entries/official/cordis-logger-console.json +16 -5
- package/packages/api-gateway/src/marketplace-entries/official/cordis-timer.json +11 -5
- package/packages/api-gateway/src/marketplace-entries/official/cost-meter.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/dependency-checker.json +4 -12
- package/packages/api-gateway/src/marketplace-entries/official/docker-sandbox.json +3 -11
- package/packages/api-gateway/src/marketplace-entries/official/fail-logger.json +3 -10
- package/packages/api-gateway/src/marketplace-entries/official/genui.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/git-time-capsule.json +3 -10
- package/packages/api-gateway/src/marketplace-entries/official/graph-memory.json +5 -5
- package/packages/api-gateway/src/marketplace-entries/official/history-compressor.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/hol-guard.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/i18n-pair.json +3 -9
- package/packages/api-gateway/src/marketplace-entries/official/image-compressor.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/llm-verifier.json +5 -5
- package/packages/api-gateway/src/marketplace-entries/official/mcp-client.json +5 -11
- package/packages/api-gateway/src/marketplace-entries/official/mcp-panel.json +5 -5
- package/packages/api-gateway/src/marketplace-entries/official/memory.json +5 -5
- package/packages/api-gateway/src/marketplace-entries/official/mirage-bridge.json +5 -5
- package/packages/api-gateway/src/marketplace-entries/official/mock-server.json +5 -5
- package/packages/api-gateway/src/marketplace-entries/official/modlens.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/module-search.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/obsidian-sync.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/openpets.json +4 -10
- package/packages/api-gateway/src/marketplace-entries/official/plan-execute.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/plugin-check.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/plugin-dev.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/plugin-finder.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/plugin-radar.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/plugin-stars.json +3 -10
- package/packages/api-gateway/src/marketplace-entries/official/prompt-guard.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/prompt-library.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/readme-gen.json +3 -11
- package/packages/api-gateway/src/marketplace-entries/official/recall-unread.json +3 -10
- package/packages/api-gateway/src/marketplace-entries/official/reverse-skill.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/reviewer-bot.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/runtime-doctor.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/secure-audit.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/session-bookmarks.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/session-bridge.json +3 -11
- package/packages/api-gateway/src/marketplace-entries/official/session-compare.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/session-export.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/session-insights.json +3 -11
- package/packages/api-gateway/src/marketplace-entries/official/session-search.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/skill-catalog.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/skill-guard.json +4 -11
- package/packages/api-gateway/src/marketplace-entries/official/sql-lens.json +5 -12
- package/packages/api-gateway/src/marketplace-entries/official/synapse.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/tab-manager.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/taskboard.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/telemetry-blocker.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/test-harness.json +5 -13
- package/packages/api-gateway/src/marketplace-entries/official/theme-studio.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/token-guard.json +3 -11
- package/packages/api-gateway/src/marketplace-entries/official/turn-rewind.json +3 -10
- package/packages/api-gateway/src/marketplace-entries/official/undo-savepoint.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/vision-toolkit.json +3 -9
- package/packages/api-gateway/src/marketplace-entries/official/web-research.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/workspace-navigator.json +3 -3
- package/packages/api-gateway/src/marketplace-entries/official/workspace-search.json +4 -4
- package/packages/api-gateway/src/marketplace-entries/official/yaml-validator.json +3 -9
- package/packages/api-gateway/src/marketplace.ts +113 -12
- package/packages/api-gateway/test/index.test.ts +148 -6
- package/packages/api-gateway/test/marketplace-schema.test.ts +12 -0
- package/packages/api-gateway/test/marketplace.test.ts +255 -354
- 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 +21 -3
- package/packages/cli/dist/main.js.map +1 -1
- package/packages/cli/package.json +1 -1
- package/packages/cli/src/main.ts +20 -3
- package/packages/cli/test/cli.test.ts +20 -0
- package/packages/host-webserver/package.json +1 -1
- package/apps/web/dist/assets/index-D9ZcvGXi.js +0 -25
- package/apps/web/dist/assets/index-DJsNIiIo.css +0 -2
|
@@ -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;
|
|
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"}
|
|
@@ -27,8 +27,21 @@ Every remaining argument, including a \`--\` separator, is passed unchanged to t
|
|
|
27
27
|
application plugin. The bundled stdio application reads its prompt from --prompt <text>,
|
|
28
28
|
--prompt=<text>, a positional prompt, or stdin, and needs \`--\` before a prompt that starts
|
|
29
29
|
with a dash.
|
|
30
|
+
|
|
31
|
+
The profile that boots is a copy under <PI_HARNESS_HOME or ~/.pi-harness>/profiles/<name>/cordis.yml;
|
|
32
|
+
edit it to change the provider and model. Provider credentials are read from auth.json in
|
|
33
|
+
<PI_AGENT_DIR or ~/.pi/agent>; there is no /login command. Set PI_HARNESS_DEBUG=1 to keep the
|
|
34
|
+
stack frames in a startup failure.
|
|
30
35
|
`;
|
|
31
36
|
const FLUSH_TIMEOUT_MS = 2_000;
|
|
37
|
+
/** A failure report is a message a user can act on; the frames behind it belong to Cordis and the launcher's own async plumbing, so they are kept behind the same flag `bootHarness` uses. The hint rides along with the report because a user who needs the frames is reading this line, not the help text. */
|
|
38
|
+
function errorReport(error) {
|
|
39
|
+
if (!(error instanceof Error))
|
|
40
|
+
return String(error);
|
|
41
|
+
if (process.env.PI_HARNESS_DEBUG === "1")
|
|
42
|
+
return error.stack ?? error.message;
|
|
43
|
+
return error.stack === undefined ? error.message : `${error.message}\nSet PI_HARNESS_DEBUG=1 and run again to keep the stack frames.`;
|
|
44
|
+
}
|
|
32
45
|
// A terminal broadcasts Ctrl-C to the whole foreground process group, so under `pih --profile development` this process receives SIGINT twice: once from the terminal and once relayed by the supervisor, measured under a millisecond apart. 50ms is far above that relay latency and far below the hundreds of milliseconds between two deliberate key presses, so a repeat inside the window is one keypress delivered twice and a repeat after it is still a force-quit request.
|
|
33
46
|
export const DUPLICATE_SIGNAL_WINDOW_MS = 50;
|
|
34
47
|
function signalExitCode(signal) {
|
|
@@ -55,6 +68,9 @@ export async function runCli(_args, _environment) {
|
|
|
55
68
|
}
|
|
56
69
|
let configPath;
|
|
57
70
|
try {
|
|
71
|
+
// The core resolver deliberately knows nothing about which profiles exist, so an unknown name would otherwise surface as a missing path inside the installation directory rather than as the list of names this launcher ships.
|
|
72
|
+
if (invocation.configPath === undefined && !BUILTIN_PROFILES.includes(invocation.profile ?? "default"))
|
|
73
|
+
throw new CliUsageError(`Unknown profile: ${invocation.profile ?? "default"}; expected one of ${BUILTIN_PROFILES.join(", ")}, or pass --config <path>`);
|
|
58
74
|
configPath = await resolveProfileConfig({
|
|
59
75
|
...(invocation.configPath === undefined
|
|
60
76
|
? { profile: invocation.profile ?? "default", profilesDir: BUILTIN_PROFILES_DIR }
|
|
@@ -146,6 +162,8 @@ export async function runCli(_args, _environment) {
|
|
|
146
162
|
provideLaunchContext(context, {
|
|
147
163
|
cwd: environment.cwd,
|
|
148
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,
|
|
149
167
|
args: invocation.args,
|
|
150
168
|
requestExit(code) {
|
|
151
169
|
requestedExit?.(code);
|
|
@@ -185,7 +203,7 @@ export async function runCli(_args, _environment) {
|
|
|
185
203
|
const runtime = harness.context.get("piRuntime");
|
|
186
204
|
if (runtime !== undefined) {
|
|
187
205
|
const aborted = await settleWithin(runtime.abort().then(() => undefined, (error) => {
|
|
188
|
-
environment.stderr.write(`${
|
|
206
|
+
environment.stderr.write(`${errorReport(error)}\n`);
|
|
189
207
|
}), environment.shutdownTimeoutMs);
|
|
190
208
|
if (!aborted.settled)
|
|
191
209
|
await forceExit(result.code);
|
|
@@ -199,7 +217,7 @@ export async function runCli(_args, _environment) {
|
|
|
199
217
|
return result.code;
|
|
200
218
|
}
|
|
201
219
|
catch (error) {
|
|
202
|
-
environment.stderr.write(`${
|
|
220
|
+
environment.stderr.write(`${errorReport(error)}\n`);
|
|
203
221
|
resultCode = 1;
|
|
204
222
|
return 1;
|
|
205
223
|
}
|
|
@@ -208,7 +226,7 @@ export async function runCli(_args, _environment) {
|
|
|
208
226
|
stdio.close();
|
|
209
227
|
if (harness !== undefined) {
|
|
210
228
|
const disposed = await settleWithin(harness.dispose().then(() => undefined, (error) => {
|
|
211
|
-
environment.stderr.write(`${
|
|
229
|
+
environment.stderr.write(`${errorReport(error)}\n`);
|
|
212
230
|
}), environment.shutdownTimeoutMs);
|
|
213
231
|
if (!disposed.settled)
|
|
214
232
|
await forceExit(resultCode ?? 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAsB,MAAM,kBAAkB,CAAC;AAC3J,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAoB7D,KAAK,UAAU,YAAY,CAAI,OAAmB,EAAE,SAAiB;IACnE,IAAI,KAAiC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,EAAE;QAC1D,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3G,IAAI,KAAK,KAAK,SAAS;QAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,SAAS,GAAG;;;wDAGsC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/packages/cli/src/main.ts
CHANGED
|
@@ -47,10 +47,22 @@ Every remaining argument, including a \`--\` separator, is passed unchanged to t
|
|
|
47
47
|
application plugin. The bundled stdio application reads its prompt from --prompt <text>,
|
|
48
48
|
--prompt=<text>, a positional prompt, or stdin, and needs \`--\` before a prompt that starts
|
|
49
49
|
with a dash.
|
|
50
|
+
|
|
51
|
+
The profile that boots is a copy under <PI_HARNESS_HOME or ~/.pi-harness>/profiles/<name>/cordis.yml;
|
|
52
|
+
edit it to change the provider and model. Provider credentials are read from auth.json in
|
|
53
|
+
<PI_AGENT_DIR or ~/.pi/agent>; there is no /login command. Set PI_HARNESS_DEBUG=1 to keep the
|
|
54
|
+
stack frames in a startup failure.
|
|
50
55
|
`;
|
|
51
56
|
|
|
52
57
|
const FLUSH_TIMEOUT_MS = 2_000;
|
|
53
58
|
|
|
59
|
+
/** A failure report is a message a user can act on; the frames behind it belong to Cordis and the launcher's own async plumbing, so they are kept behind the same flag `bootHarness` uses. The hint rides along with the report because a user who needs the frames is reading this line, not the help text. */
|
|
60
|
+
function errorReport(error: unknown): string {
|
|
61
|
+
if (!(error instanceof Error)) return String(error);
|
|
62
|
+
if (process.env.PI_HARNESS_DEBUG === "1") return error.stack ?? error.message;
|
|
63
|
+
return error.stack === undefined ? error.message : `${error.message}\nSet PI_HARNESS_DEBUG=1 and run again to keep the stack frames.`;
|
|
64
|
+
}
|
|
65
|
+
|
|
54
66
|
// A terminal broadcasts Ctrl-C to the whole foreground process group, so under `pih --profile development` this process receives SIGINT twice: once from the terminal and once relayed by the supervisor, measured under a millisecond apart. 50ms is far above that relay latency and far below the hundreds of milliseconds between two deliberate key presses, so a repeat inside the window is one keypress delivered twice and a repeat after it is still a force-quit request.
|
|
55
67
|
export const DUPLICATE_SIGNAL_WINDOW_MS = 50;
|
|
56
68
|
|
|
@@ -78,6 +90,9 @@ export async function runCli(_args: readonly string[], _environment: CliEnvironm
|
|
|
78
90
|
}
|
|
79
91
|
let configPath: string;
|
|
80
92
|
try {
|
|
93
|
+
// The core resolver deliberately knows nothing about which profiles exist, so an unknown name would otherwise surface as a missing path inside the installation directory rather than as the list of names this launcher ships.
|
|
94
|
+
if (invocation.configPath === undefined && !(BUILTIN_PROFILES as readonly string[]).includes(invocation.profile ?? "default"))
|
|
95
|
+
throw new CliUsageError(`Unknown profile: ${invocation.profile ?? "default"}; expected one of ${BUILTIN_PROFILES.join(", ")}, or pass --config <path>`);
|
|
81
96
|
configPath = await resolveProfileConfig({
|
|
82
97
|
...(invocation.configPath === undefined
|
|
83
98
|
? { profile: invocation.profile ?? "default", profilesDir: BUILTIN_PROFILES_DIR }
|
|
@@ -165,6 +180,8 @@ export async function runCli(_args: readonly string[], _environment: CliEnvironm
|
|
|
165
180
|
provideLaunchContext(context, {
|
|
166
181
|
cwd: environment.cwd,
|
|
167
182
|
agentDir: environment.agentDir,
|
|
183
|
+
// 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.
|
|
184
|
+
configPath,
|
|
168
185
|
args: invocation.args,
|
|
169
186
|
requestExit(code) {
|
|
170
187
|
requestedExit?.(code);
|
|
@@ -207,7 +224,7 @@ export async function runCli(_args: readonly string[], _environment: CliEnvironm
|
|
|
207
224
|
runtime.abort().then(
|
|
208
225
|
() => undefined,
|
|
209
226
|
(error: unknown) => {
|
|
210
|
-
environment.stderr.write(`${
|
|
227
|
+
environment.stderr.write(`${errorReport(error)}\n`);
|
|
211
228
|
},
|
|
212
229
|
),
|
|
213
230
|
environment.shutdownTimeoutMs,
|
|
@@ -227,7 +244,7 @@ export async function runCli(_args: readonly string[], _environment: CliEnvironm
|
|
|
227
244
|
}
|
|
228
245
|
return result.code;
|
|
229
246
|
} catch (error) {
|
|
230
|
-
environment.stderr.write(`${
|
|
247
|
+
environment.stderr.write(`${errorReport(error)}\n`);
|
|
231
248
|
resultCode = 1;
|
|
232
249
|
return 1;
|
|
233
250
|
} finally {
|
|
@@ -238,7 +255,7 @@ export async function runCli(_args: readonly string[], _environment: CliEnvironm
|
|
|
238
255
|
harness.dispose().then(
|
|
239
256
|
() => undefined,
|
|
240
257
|
(error: unknown) => {
|
|
241
|
-
environment.stderr.write(`${
|
|
258
|
+
environment.stderr.write(`${errorReport(error)}\n`);
|
|
242
259
|
},
|
|
243
260
|
),
|
|
244
261
|
environment.shutdownTimeoutMs,
|
|
@@ -222,6 +222,26 @@ describe("runCli", () => {
|
|
|
222
222
|
expect(environment.errors.join("")).toContain("not supervised");
|
|
223
223
|
});
|
|
224
224
|
|
|
225
|
+
test("names the built-in profiles when --profile does not match one", async () => {
|
|
226
|
+
const environment = createEnvironment();
|
|
227
|
+
|
|
228
|
+
const exitCode = await runCli(["--profile", "prod"], environment);
|
|
229
|
+
|
|
230
|
+
expect(exitCode).toBe(2);
|
|
231
|
+
expect(environment.errors.join("")).toBe("Unknown profile: prod; expected one of default, development, or pass --config <path>\n");
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
test("reports a startup failure as its message rather than a JavaScript stack", async () => {
|
|
235
|
+
const profile = await createApplicationProfile(`export default { apply() { throw new Error("fixture startup failed"); } };`);
|
|
236
|
+
const environment = createEnvironment(profile.directory);
|
|
237
|
+
|
|
238
|
+
const exitCode = await runCli(["--config", profile.configPath], environment);
|
|
239
|
+
|
|
240
|
+
expect(exitCode).toBe(1);
|
|
241
|
+
expect(environment.errors.join("")).toContain("fixture startup failed");
|
|
242
|
+
expect(environment.errors.join("")).not.toMatch(/^\s+at /mu);
|
|
243
|
+
});
|
|
244
|
+
|
|
225
245
|
test("returns a usage error for a missing config", async () => {
|
|
226
246
|
const environment = createEnvironment();
|
|
227
247
|
|