@pi-harness/pi-harness 0.1.7 → 0.1.9
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/README.md +1 -1
- package/apps/web/dist/assets/index-CW3u-pEm.css +2 -0
- package/apps/web/dist/assets/index-Cdzf1FYv.js +20 -0
- package/apps/web/dist/index.html +2 -2
- package/apps/web/package.json +6 -6
- package/apps/web/profile/cordis.yml +1 -1
- package/apps/web/server-dist/bin.js +2 -1
- package/apps/web/server-dist/bin.js.map +1 -1
- package/apps/web/src/server/bin.ts +2 -1
- package/apps/web/src/style.css +171 -47
- package/node_modules/@pi-harness/api-gateway/dist/index.d.ts.map +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/index.js +7 -3
- 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 +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/anchored-standard.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/annotation.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/archify.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/at-file.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/auto-mode.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/better-sidebar.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-fetch.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-session.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/canvas-draw.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/change-verifier.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cleaner.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cli-notifier.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/code2skill.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/colleague-skill.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context-doctor.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cost-meter.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/dependency-checker.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/fail-logger.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/genui.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/graph-memory.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/history-compressor.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/hol-guard.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/i18n-pair.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/image-compressor.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/llm-verifier.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-client.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-panel.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/memory.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mock-server.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/modlens.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/module-search.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/openpets.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plan-execute.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-check.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-dev.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-finder.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-radar.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-stars.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-guard.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-library.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/readme-gen.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/recall-unread.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reverse-skill.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/secure-audit.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bridge.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-compare.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-export.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-insights.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-search.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-catalog.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-guard.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/sql-lens.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/synapse.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/tab-manager.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/taskboard.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/test-harness.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/theme-studio.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/token-guard.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/turn-rewind.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/web-research.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-search.json +1 -1
- package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/yaml-validator.json +1 -1
- package/node_modules/@pi-harness/api-gateway/package.json +1 -1
- package/node_modules/@pi-harness/cli/package.json +1 -1
- package/node_modules/@pi-harness/core/package.json +1 -1
- package/node_modules/@pi-harness/host-webserver/dist/index.d.ts +1 -0
- package/node_modules/@pi-harness/host-webserver/dist/index.d.ts.map +1 -1
- package/node_modules/@pi-harness/host-webserver/dist/index.js +2 -1
- package/node_modules/@pi-harness/host-webserver/dist/index.js.map +1 -1
- package/node_modules/@pi-harness/host-webserver/package.json +1 -1
- package/node_modules/@pi-harness/web-app/cordis.patch.yml +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 +7 -3
- package/packages/api-gateway/dist/index.js.map +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/agent-teams.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/anchored-standard.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/annotation.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/archify.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/at-file.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/auto-mode.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/better-sidebar.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/browser-fetch.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/browser-session.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/canvas-draw.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/change-verifier.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/cleaner.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/cli-notifier.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/code2skill.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/colleague-skill.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/context-doctor.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/context.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/cost-meter.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/dependency-checker.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/fail-logger.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/genui.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/graph-memory.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/history-compressor.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/hol-guard.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/i18n-pair.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/image-compressor.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/llm-verifier.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/mcp-client.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/mcp-panel.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/memory.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/mock-server.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/modlens.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/module-search.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/openpets.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/plan-execute.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-check.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-dev.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-finder.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-radar.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/plugin-stars.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/prompt-guard.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/prompt-library.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/readme-gen.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/recall-unread.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/reverse-skill.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/secure-audit.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/session-bridge.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/session-compare.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/session-export.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/session-insights.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/session-search.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/skill-catalog.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/skill-guard.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/sql-lens.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/synapse.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/tab-manager.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/taskboard.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/test-harness.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/theme-studio.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/token-guard.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/turn-rewind.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/web-research.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/workspace-search.json +1 -1
- package/packages/api-gateway/dist/marketplace-entries/official/yaml-validator.json +1 -1
- package/packages/api-gateway/package.json +1 -1
- package/packages/api-gateway/src/index.ts +7 -3
- package/packages/api-gateway/src/marketplace-entries/official/agent-teams.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/anchored-standard.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/annotation.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/archify.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/at-file.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/auto-mode.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/better-sidebar.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/browser-fetch.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/browser-session.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/canvas-draw.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/change-verifier.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/cleaner.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/cli-notifier.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/code2skill.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/colleague-skill.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/context-doctor.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/context.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/cost-meter.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/dependency-checker.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/docker-sandbox.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/fail-logger.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/genui.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/git-time-capsule.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/graph-memory.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/history-compressor.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/hol-guard.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/i18n-pair.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/image-compressor.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/llm-verifier.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/mcp-client.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/mcp-panel.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/memory.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/mirage-bridge.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/mock-server.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/modlens.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/module-search.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/obsidian-sync.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/openpets.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/plan-execute.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/plugin-check.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/plugin-dev.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/plugin-finder.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/plugin-radar.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/plugin-stars.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/prompt-guard.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/prompt-library.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/readme-gen.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/recall-unread.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/reverse-skill.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/reviewer-bot.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/runtime-doctor.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/secure-audit.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/session-bookmarks.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/session-bridge.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/session-compare.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/session-export.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/session-insights.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/session-search.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/skill-catalog.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/skill-guard.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/sql-lens.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/synapse.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/tab-manager.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/taskboard.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/telemetry-blocker.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/test-harness.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/theme-studio.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/token-guard.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/turn-rewind.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/undo-savepoint.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/vision-toolkit.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/web-research.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/workspace-navigator.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/workspace-search.json +1 -1
- package/packages/api-gateway/src/marketplace-entries/official/yaml-validator.json +1 -1
- package/packages/api-gateway/test/index.test.ts +33 -0
- package/packages/bundle-web-app/cordis.patch.yml +1 -1
- package/packages/bundle-web-app/package.json +1 -1
- package/packages/cli/package.json +1 -1
- package/packages/client-web/dist/control-room.d.ts +1 -0
- package/packages/client-web/dist/control-room.d.ts.map +1 -1
- package/packages/client-web/dist/control-room.js.map +1 -1
- package/packages/client-web/dist/react-room.d.ts.map +1 -1
- package/packages/client-web/dist/react-room.js +128 -38
- package/packages/client-web/dist/react-room.js.map +1 -1
- package/packages/client-web/package.json +1 -1
- package/packages/client-web/src/control-room.ts +2 -2
- package/packages/client-web/src/react-room.tsx +220 -73
- package/packages/core/package.json +1 -1
- package/packages/host-webserver/dist/index.d.ts +1 -0
- package/packages/host-webserver/dist/index.d.ts.map +1 -1
- package/packages/host-webserver/dist/index.js +2 -1
- package/packages/host-webserver/dist/index.js.map +1 -1
- package/packages/host-webserver/package.json +1 -1
- package/packages/host-webserver/src/index.ts +3 -1
- package/packages/host-webserver/test/index.test.ts +5 -1
- package/apps/web/dist/assets/index-CkGv0zrr.css +0 -2
- package/apps/web/dist/assets/index-pMtwuwHh.js +0 -20
package/apps/web/dist/index.html
CHANGED
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
<link rel="apple-touch-icon" href="/icons/app/apple-touch-icon-180.png" sizes="180x180" />
|
|
16
16
|
<link rel="manifest" href="/manifest.webmanifest" />
|
|
17
17
|
<title>Pi Harness / Control Room</title>
|
|
18
|
-
<script type="module" crossorigin src="/assets/index-
|
|
18
|
+
<script type="module" crossorigin src="/assets/index-Cdzf1FYv.js"></script>
|
|
19
19
|
<link rel="modulepreload" crossorigin href="/assets/react-vendor-BD7-wQo9.js">
|
|
20
20
|
<link rel="modulepreload" crossorigin href="/assets/markdown-vendor-DUdMWn0M.js">
|
|
21
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
21
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CW3u-pEm.css">
|
|
22
22
|
</head>
|
|
23
23
|
<body>
|
|
24
24
|
<main id="root"></main>
|
package/apps/web/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/web",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"private": true,
|
|
5
5
|
"description": "Browser application entry for Pi Harness",
|
|
6
6
|
"type": "module",
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
"dev": "vp dev"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@pi-harness/api-gateway": "0.1.
|
|
14
|
-
"@pi-harness/client-web": "0.1.
|
|
15
|
-
"@pi-harness/core": "0.1.
|
|
16
|
-
"@pi-harness/host-webserver": "0.1.
|
|
17
|
-
"@pi-harness/web-app": "0.1.
|
|
13
|
+
"@pi-harness/api-gateway": "0.1.9",
|
|
14
|
+
"@pi-harness/client-web": "0.1.9",
|
|
15
|
+
"@pi-harness/core": "0.1.9",
|
|
16
|
+
"@pi-harness/host-webserver": "0.1.9",
|
|
17
|
+
"@pi-harness/web-app": "0.1.9"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@tailwindcss/vite": "^4.3.3",
|
|
@@ -255,7 +255,7 @@
|
|
|
255
255
|
name: "@pi-harness/host-webserver"
|
|
256
256
|
config:
|
|
257
257
|
host: !!js process.env.PI_HARNESS_HOST ?? '127.0.0.1'
|
|
258
|
-
port: !!js Number(process.env.PI_HARNESS_PORT ??
|
|
258
|
+
port: !!js Number(process.env.PI_HARNESS_PORT ?? 3141)
|
|
259
259
|
- id: api
|
|
260
260
|
name: "@pi-harness/api-gateway"
|
|
261
261
|
config: {}
|
|
@@ -5,7 +5,8 @@ import { fileURLToPath } from "node:url";
|
|
|
5
5
|
import { bootHarness, provideLaunchContext } from "@pi-harness/core";
|
|
6
6
|
import "@pi-harness/host-webserver";
|
|
7
7
|
const host = process.env.PI_HARNESS_HOST ?? "127.0.0.1";
|
|
8
|
-
const
|
|
8
|
+
const DEFAULT_PI_HARNESS_PORT = 3141;
|
|
9
|
+
const port = Number(process.env.PI_HARNESS_PORT ?? DEFAULT_PI_HARNESS_PORT);
|
|
9
10
|
if (!Number.isInteger(port) || port < 0 || port > 65_535)
|
|
10
11
|
throw new Error("PI_HARNESS_PORT must be an integer between 0 and 65535");
|
|
11
12
|
const loopbackHosts = new Set(["127.0.0.1", "localhost", "::1", "[::1]"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/server/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,4BAA4B,CAAC;AAMpC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,WAAW,CAAC;AACxD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/server/bin.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,8 @@ import type { WebServer } from "@pi-harness/host-webserver";
|
|
|
11
11
|
type HarnessWebServer = WebServer;
|
|
12
12
|
|
|
13
13
|
const host = process.env.PI_HARNESS_HOST ?? "127.0.0.1";
|
|
14
|
-
const
|
|
14
|
+
const DEFAULT_PI_HARNESS_PORT = 3141;
|
|
15
|
+
const port = Number(process.env.PI_HARNESS_PORT ?? DEFAULT_PI_HARNESS_PORT);
|
|
15
16
|
if (!Number.isInteger(port) || port < 0 || port > 65_535) throw new Error("PI_HARNESS_PORT must be an integer between 0 and 65535");
|
|
16
17
|
const loopbackHosts = new Set(["127.0.0.1", "localhost", "::1", "[::1]"]);
|
|
17
18
|
if (!loopbackHosts.has(host) && process.env.PI_HARNESS_ALLOW_REMOTE !== "1")
|
package/apps/web/src/style.css
CHANGED
|
@@ -24,13 +24,24 @@ button {
|
|
|
24
24
|
@apply [border:0] [background:none] [cursor:pointer];
|
|
25
25
|
}
|
|
26
26
|
button:focus-visible,
|
|
27
|
-
input:focus-visible,
|
|
28
|
-
textarea:focus-visible,
|
|
29
|
-
select:focus-visible,
|
|
30
27
|
summary:focus-visible,
|
|
31
28
|
a:focus-visible,
|
|
32
29
|
[role="button"]:focus-visible {
|
|
33
|
-
@apply [outline:
|
|
30
|
+
@apply [outline:2px_solid_rgba(65,_118,_230,_0.48)] [outline-offset:2px];
|
|
31
|
+
}
|
|
32
|
+
input:focus,
|
|
33
|
+
textarea:focus,
|
|
34
|
+
select:focus {
|
|
35
|
+
@apply [outline:none];
|
|
36
|
+
}
|
|
37
|
+
input:not([type="checkbox"]):not([type="radio"]):focus-visible,
|
|
38
|
+
textarea:focus-visible,
|
|
39
|
+
select:focus-visible {
|
|
40
|
+
@apply [border-color:rgba(65,_118,_230,_0.52)] [box-shadow:0_0_0_3px_rgba(65,_118,_230,_0.1)];
|
|
41
|
+
}
|
|
42
|
+
input[type="checkbox"]:focus-visible,
|
|
43
|
+
input[type="radio"]:focus-visible {
|
|
44
|
+
@apply [outline:2px_solid_rgba(65,_118,_230,_0.48)] [outline-offset:2px];
|
|
34
45
|
}
|
|
35
46
|
button:disabled {
|
|
36
47
|
@apply [cursor:not-allowed] [opacity:0.55];
|
|
@@ -420,7 +431,8 @@ button:disabled {
|
|
|
420
431
|
.sidebar-link {
|
|
421
432
|
@apply [display:flex] [align-items:center] [gap:9px] [height:30px] [padding:0_9px] [border-radius:8px] [text-align:left] [font-size:12.5px];
|
|
422
433
|
}
|
|
423
|
-
.compact-new-session
|
|
434
|
+
.compact-new-session,
|
|
435
|
+
.compact-session-search {
|
|
424
436
|
@apply [display:none];
|
|
425
437
|
}
|
|
426
438
|
.sidebar-link:hover {
|
|
@@ -499,7 +511,7 @@ button:disabled {
|
|
|
499
511
|
@apply [display:flex] [gap:2px] [padding:2px] [border-radius:8px] [background:#f1f3f5];
|
|
500
512
|
}
|
|
501
513
|
.view-tab {
|
|
502
|
-
@apply [padding:4px_11px] [border-radius:6px] [color:var(--color-muted)] [font-size:12px];
|
|
514
|
+
@apply [padding:4px_11px] [border-radius:6px] [color:var(--color-muted)] [font-size:12px] [white-space:nowrap];
|
|
503
515
|
}
|
|
504
516
|
.view-tab.active {
|
|
505
517
|
@apply [background:#fff] [color:var(--color-ink)] [box-shadow:0_1px_3px_rgba(0,_0,_0,_0.08)] [font-weight:600];
|
|
@@ -515,7 +527,10 @@ button:disabled {
|
|
|
515
527
|
@apply [position:relative] [width:28px] [font-size:15px];
|
|
516
528
|
}
|
|
517
529
|
.details-toggle {
|
|
518
|
-
@apply [padding:0_9px] [font-size:12px];
|
|
530
|
+
@apply [flex:none] [padding:0_9px] [font-size:12px] [white-space:nowrap];
|
|
531
|
+
}
|
|
532
|
+
.details-backdrop {
|
|
533
|
+
@apply [display:none];
|
|
519
534
|
}
|
|
520
535
|
.session-menu:hover,
|
|
521
536
|
.details-toggle:hover {
|
|
@@ -784,11 +799,17 @@ button:disabled {
|
|
|
784
799
|
@apply [color:var(--color-muted)] [font-weight:400];
|
|
785
800
|
}
|
|
786
801
|
.composer {
|
|
787
|
-
@apply [position:relative] [max-width:748px] [margin:0_auto] [border:1px_solid_rgba(0,_0,_0,_0.12)] [border-radius:10px] [background:#fff] [box-shadow:0_1px_2px_rgba(0,_0,_0,_0.03)] [overflow:visible];
|
|
802
|
+
@apply [position:relative] [max-width:748px] [margin:0_auto] [border:1px_solid_rgba(0,_0,_0,_0.12)] [border-radius:10px] [background:#fff] [box-shadow:0_1px_2px_rgba(0,_0,_0,_0.03)] [overflow:visible] [transition:border-color_120ms_ease,box-shadow_120ms_ease];
|
|
803
|
+
}
|
|
804
|
+
.composer:focus-within {
|
|
805
|
+
@apply [border-color:rgba(65,_118,_230,_0.42)] [box-shadow:0_8px_24px_rgba(15,_17,_21,_0.06),0_0_0_3px_rgba(65,_118,_230,_0.08)];
|
|
788
806
|
}
|
|
789
807
|
.composer textarea {
|
|
790
808
|
@apply [display:block] [width:100%] [min-height:65px] [max-height:180px] [overflow-y:auto] [padding:11px_13px_4px] [border:0] [resize:none] [color:var(--color-ink)] [font-size:13.5px] [line-height:1.7] [background:transparent];
|
|
791
809
|
}
|
|
810
|
+
.composer textarea:focus-visible {
|
|
811
|
+
@apply [box-shadow:none];
|
|
812
|
+
}
|
|
792
813
|
.composer-tools {
|
|
793
814
|
@apply [display:flex] [align-items:center] [gap:6px] [padding:6px_8px_8px];
|
|
794
815
|
}
|
|
@@ -1010,14 +1031,14 @@ button:disabled {
|
|
|
1010
1031
|
@apply [display:grid] [grid-template-columns:1fr_1fr] [gap:7px] [margin-bottom:12px];
|
|
1011
1032
|
}
|
|
1012
1033
|
.detail-stats > div {
|
|
1013
|
-
@apply [padding:9px] [border:1px_solid_rgba(0,_0,_0,_0.08)] [border-radius:8px];
|
|
1034
|
+
@apply [min-width:0] [padding:9px] [border:1px_solid_rgba(0,_0,_0,_0.08)] [border-radius:8px];
|
|
1014
1035
|
}
|
|
1015
1036
|
.detail-stats small,
|
|
1016
1037
|
.detail-section > small {
|
|
1017
1038
|
@apply [display:block] [color:var(--color-faint)] [font:9.5px_var(--font-mono)] [letter-spacing:0.04em];
|
|
1018
1039
|
}
|
|
1019
1040
|
.detail-stats b {
|
|
1020
|
-
@apply [display:block] [margin-top:2px] [font:12.5px_var(--font-mono)] [font-weight:400];
|
|
1041
|
+
@apply [display:block] [margin-top:2px] [font:12.5px_var(--font-mono)] [font-weight:400] [overflow-wrap:anywhere];
|
|
1021
1042
|
}
|
|
1022
1043
|
.detail-section {
|
|
1023
1044
|
@apply [display:flex] [margin-top:14px] [flex-direction:column] [gap:5px];
|
|
@@ -1051,24 +1072,6 @@ button:disabled {
|
|
|
1051
1072
|
@apply [width:100%] [max-width:none] [margin:0] [padding:32px_24px];
|
|
1052
1073
|
container-type: inline-size;
|
|
1053
1074
|
}
|
|
1054
|
-
.plugin-detail-content > header {
|
|
1055
|
-
min-height: 207px;
|
|
1056
|
-
}
|
|
1057
|
-
@container (max-width: 600px) {
|
|
1058
|
-
.plugin-detail-content > header {
|
|
1059
|
-
min-height: 235px;
|
|
1060
|
-
}
|
|
1061
|
-
}
|
|
1062
|
-
@container (max-width: 500px) {
|
|
1063
|
-
.plugin-detail-content > header {
|
|
1064
|
-
min-height: 299px;
|
|
1065
|
-
}
|
|
1066
|
-
}
|
|
1067
|
-
@container (max-width: 320px) {
|
|
1068
|
-
.plugin-detail-content > header {
|
|
1069
|
-
min-height: 345px;
|
|
1070
|
-
}
|
|
1071
|
-
}
|
|
1072
1075
|
.plugin-detail-actions {
|
|
1073
1076
|
@apply [display:flex] [flex-wrap:wrap] [gap:8px];
|
|
1074
1077
|
}
|
|
@@ -1221,11 +1224,17 @@ button:disabled {
|
|
|
1221
1224
|
.global-search-heading small {
|
|
1222
1225
|
@apply [color:var(--color-muted)] [font-size:11px];
|
|
1223
1226
|
}
|
|
1227
|
+
.global-search-heading button {
|
|
1228
|
+
@apply [display:grid] [width:32px] [height:32px] [margin-left:auto] [place-items:center] [border-radius:7px] [color:var(--color-muted)] [font-size:19px] [line-height:1];
|
|
1229
|
+
}
|
|
1230
|
+
.global-search-heading button:hover {
|
|
1231
|
+
@apply [background:var(--color-soft)];
|
|
1232
|
+
}
|
|
1224
1233
|
.global-search-dialog > input {
|
|
1225
1234
|
@apply [width:100%] [height:52px] [flex:none] [padding:0_18px] [border:0] [border-bottom:1px_solid_var(--color-line)] [background:#fff] [color:var(--color-ink)] [font:14px_var(--font-sans)];
|
|
1226
1235
|
}
|
|
1227
1236
|
.global-search-dialog > input:focus-visible {
|
|
1228
|
-
@apply [
|
|
1237
|
+
@apply [border-bottom-color:rgba(65,_118,_230,_0.42)] [box-shadow:inset_0_-2px_0_rgba(65,_118,_230,_0.12)];
|
|
1229
1238
|
}
|
|
1230
1239
|
.global-search-results {
|
|
1231
1240
|
@apply [min-height:0] [overflow:auto] [padding:8px_10px_12px];
|
|
@@ -1357,13 +1366,13 @@ button:disabled {
|
|
|
1357
1366
|
@apply [display:flex] [align-items:center] [justify-content:space-between] [gap:12px] [padding:11px_12px_10px] [border-top:1px_solid_var(--color-line)];
|
|
1358
1367
|
}
|
|
1359
1368
|
.provider-add-head > div {
|
|
1360
|
-
@apply [display:flex] [flex-direction:column] [gap:2px];
|
|
1369
|
+
@apply [display:flex] [min-width:0] [flex:1] [flex-direction:column] [gap:2px];
|
|
1361
1370
|
}
|
|
1362
1371
|
.provider-add-head strong {
|
|
1363
1372
|
@apply [font-size:12px];
|
|
1364
1373
|
}
|
|
1365
1374
|
.provider-add-head > button {
|
|
1366
|
-
@apply [height:30px] [padding:0_11px] [border-radius:7px] [background:var(--color-ink)] [color:#fff] [font-size:11px];
|
|
1375
|
+
@apply [height:30px] [flex:none] [padding:0_11px] [border-radius:7px] [background:var(--color-ink)] [color:#fff] [font-size:11px] [white-space:nowrap];
|
|
1367
1376
|
}
|
|
1368
1377
|
.provider-add-head small,
|
|
1369
1378
|
.provider-add-form small {
|
|
@@ -1540,10 +1549,10 @@ button:disabled {
|
|
|
1540
1549
|
}
|
|
1541
1550
|
@media (max-width: 1100px) {
|
|
1542
1551
|
.details-panel {
|
|
1543
|
-
@apply [display:
|
|
1552
|
+
@apply [position:fixed] [top:0] [right:0] [bottom:0] [z-index:56] [display:flex] [width:min(380px,_calc(100vw_-_32px))] [min-width:0] [max-width:100%] [box-shadow:-16px_0_48px_rgba(15,_23,_42,_0.2)];
|
|
1544
1553
|
}
|
|
1545
|
-
.details-
|
|
1546
|
-
@apply [display:
|
|
1554
|
+
.details-backdrop {
|
|
1555
|
+
@apply [position:fixed] [inset:0] [z-index:55] [display:block] [width:100%] [height:100%] [cursor:default] [background:rgba(15,_23,_42,_0.24)] [backdrop-filter:blur(2px)];
|
|
1547
1556
|
}
|
|
1548
1557
|
}
|
|
1549
1558
|
@media (max-width: 1024px) {
|
|
@@ -1564,6 +1573,14 @@ button:disabled {
|
|
|
1564
1573
|
@apply [flex:none] [overflow:visible];
|
|
1565
1574
|
}
|
|
1566
1575
|
}
|
|
1576
|
+
@media (max-height: 560px) {
|
|
1577
|
+
.provider-add-overlay {
|
|
1578
|
+
@apply [padding:16px];
|
|
1579
|
+
}
|
|
1580
|
+
.provider-add-modal {
|
|
1581
|
+
@apply [max-height:calc(100vh_-_32px)];
|
|
1582
|
+
}
|
|
1583
|
+
}
|
|
1567
1584
|
@media (max-height: 400px) {
|
|
1568
1585
|
.sidebar .runtime-cells {
|
|
1569
1586
|
@apply [display:none];
|
|
@@ -1579,6 +1596,9 @@ button:disabled {
|
|
|
1579
1596
|
.config-sections {
|
|
1580
1597
|
@apply [grid-template-columns:minmax(0,_1fr)];
|
|
1581
1598
|
}
|
|
1599
|
+
.main-header .active-heading small {
|
|
1600
|
+
@apply [display:none];
|
|
1601
|
+
}
|
|
1582
1602
|
.config-section:last-child {
|
|
1583
1603
|
@apply [grid-column:auto];
|
|
1584
1604
|
}
|
|
@@ -1623,9 +1643,13 @@ button:disabled {
|
|
|
1623
1643
|
.sidebar-link {
|
|
1624
1644
|
@apply [width:44px] [flex:0_0_44px] [justify-content:center] [padding:0];
|
|
1625
1645
|
}
|
|
1626
|
-
.compact-new-session
|
|
1646
|
+
.compact-new-session,
|
|
1647
|
+
.compact-session-search {
|
|
1627
1648
|
@apply [display:flex];
|
|
1628
1649
|
}
|
|
1650
|
+
.compact-session-search {
|
|
1651
|
+
@apply [font-size:18px];
|
|
1652
|
+
}
|
|
1629
1653
|
.sidebar-link > span:nth-child(2),
|
|
1630
1654
|
.sidebar-link > b,
|
|
1631
1655
|
.sidebar-link > small {
|
|
@@ -1644,8 +1668,14 @@ button:disabled {
|
|
|
1644
1668
|
@apply [padding:4px_7px];
|
|
1645
1669
|
}
|
|
1646
1670
|
.details-panel {
|
|
1671
|
+
@apply [width:calc(100vw_-_16px)];
|
|
1672
|
+
}
|
|
1673
|
+
.details-toggle {
|
|
1647
1674
|
@apply [display:none];
|
|
1648
1675
|
}
|
|
1676
|
+
.provider-models-details .model-chips {
|
|
1677
|
+
width: min(280px, calc(100vw - 86px));
|
|
1678
|
+
}
|
|
1649
1679
|
.composer-tools {
|
|
1650
1680
|
@apply [justify-content:flex-end];
|
|
1651
1681
|
}
|
|
@@ -1864,7 +1894,35 @@ button:disabled {
|
|
|
1864
1894
|
@apply [margin-left:auto] [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
|
|
1865
1895
|
}
|
|
1866
1896
|
.marketplace-categories {
|
|
1867
|
-
@apply [display:flex] [min-width:0] [flex:
|
|
1897
|
+
@apply [display:flex] [min-width:0] [flex:1] [flex-wrap:nowrap] [gap:4px] [overflow-x:auto] [padding:8px_48px_8px_24px] [background:#fff] [scrollbar-width:none];
|
|
1898
|
+
}
|
|
1899
|
+
.marketplace-categories::-webkit-scrollbar {
|
|
1900
|
+
@apply [display:none];
|
|
1901
|
+
}
|
|
1902
|
+
.marketplace-categories-shell {
|
|
1903
|
+
@apply [position:relative] [display:flex] [min-width:0] [flex:none] [border-bottom:1px_solid_rgba(0,_0,_0,_0.08)] [background:#fff];
|
|
1904
|
+
}
|
|
1905
|
+
.marketplace-categories-shell::before,
|
|
1906
|
+
.marketplace-categories-shell::after {
|
|
1907
|
+
@apply [pointer-events:none] [position:absolute] [top:0] [bottom:0] [z-index:1] [width:64px] [content:''];
|
|
1908
|
+
}
|
|
1909
|
+
.marketplace-categories-shell.can-scroll-left::before {
|
|
1910
|
+
@apply [left:0] [background:linear-gradient(90deg,_#fff_24%,_rgba(255,_255,_255,_0))];
|
|
1911
|
+
}
|
|
1912
|
+
.marketplace-categories-shell.can-scroll-right::after {
|
|
1913
|
+
@apply [right:0] [background:linear-gradient(270deg,_#fff_24%,_rgba(255,_255,_255,_0))];
|
|
1914
|
+
}
|
|
1915
|
+
.marketplace-category-scroll {
|
|
1916
|
+
@apply [position:absolute] [top:50%] [z-index:2] [display:grid] [width:32px] [height:32px] [transform:translateY(-50%)] [place-items:center] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:999px] [background:rgba(255,_255,_255,_0.96)] [color:#445064] [font-size:22px] [line-height:1] [box-shadow:0_2px_10px_rgba(15,_23,_42,_0.12)];
|
|
1917
|
+
}
|
|
1918
|
+
.marketplace-category-scroll:hover {
|
|
1919
|
+
@apply [border-color:rgba(65,_118,_230,_0.35)] [background:#f8faff] [color:var(--color-blue)];
|
|
1920
|
+
}
|
|
1921
|
+
.marketplace-category-scroll.previous {
|
|
1922
|
+
@apply [left:8px];
|
|
1923
|
+
}
|
|
1924
|
+
.marketplace-category-scroll.next {
|
|
1925
|
+
@apply [right:8px];
|
|
1868
1926
|
}
|
|
1869
1927
|
.marketplace-category {
|
|
1870
1928
|
@apply [display:flex] [min-height:32px] [flex:none] [align-items:center] [gap:6px] [border-radius:999px] [padding:4px_8px] [color:#61666b] [font-size:11px];
|
|
@@ -1885,7 +1943,7 @@ button:disabled {
|
|
|
1885
1943
|
@apply [display:flex] [height:100%] [min-height:226px] [flex-direction:column] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:10px] [background:#fff] [padding:16px] [transition:border-color_120ms_ease,box-shadow_120ms_ease,transform_120ms_ease];
|
|
1886
1944
|
}
|
|
1887
1945
|
.catalog-card {
|
|
1888
|
-
@apply [min-height:
|
|
1946
|
+
@apply [min-height:260px];
|
|
1889
1947
|
}
|
|
1890
1948
|
.marketplace-card:hover {
|
|
1891
1949
|
@apply [transform:translateY(-1px)] [border-color:rgba(65,_118,_230,_0.32)] [box-shadow:0_8px_22px_rgba(15,_17,_21,_0.06)];
|
|
@@ -1924,7 +1982,7 @@ button:disabled {
|
|
|
1924
1982
|
@apply [margin-left:auto];
|
|
1925
1983
|
}
|
|
1926
1984
|
.marketplace-card-footer button {
|
|
1927
|
-
@apply [min-height:28px] [flex:none] [border:1px_solid_rgba(65,_118,_230,_0.3)] [border-radius:6px] [background:var(--color-blue-soft)] [padding:4px_10px] [color:var(--color-blue)] [font-size:10.5px];
|
|
1985
|
+
@apply [min-height:28px] [flex:none] [border:1px_solid_rgba(65,_118,_230,_0.3)] [border-radius:6px] [background:var(--color-blue-soft)] [padding:4px_10px] [color:var(--color-blue)] [font-size:10.5px] [white-space:nowrap];
|
|
1928
1986
|
}
|
|
1929
1987
|
.marketplace-card-footer button:hover {
|
|
1930
1988
|
@apply [background:#e1ebff];
|
|
@@ -2206,10 +2264,12 @@ body {
|
|
|
2206
2264
|
.plugins-toolbar,
|
|
2207
2265
|
.plugins-scroll,
|
|
2208
2266
|
.marketplace-toolbar,
|
|
2209
|
-
.marketplace-categories,
|
|
2210
2267
|
.marketplace-scroll {
|
|
2211
2268
|
@apply [padding-left:16px] [padding-right:16px];
|
|
2212
2269
|
}
|
|
2270
|
+
.marketplace-categories {
|
|
2271
|
+
@apply [padding-left:16px] [padding-right:48px];
|
|
2272
|
+
}
|
|
2213
2273
|
.subnav.plugin-detail-subnav {
|
|
2214
2274
|
padding-inline: 16px;
|
|
2215
2275
|
}
|
|
@@ -2217,9 +2277,30 @@ body {
|
|
|
2217
2277
|
@apply [padding-left:16px] [padding-right:16px];
|
|
2218
2278
|
}
|
|
2219
2279
|
}
|
|
2280
|
+
@media (max-width: 520px) {
|
|
2281
|
+
.detail-stats.is-file {
|
|
2282
|
+
@apply [grid-template-columns:minmax(0,_1fr)];
|
|
2283
|
+
}
|
|
2284
|
+
.file-row {
|
|
2285
|
+
@apply [display:grid] [grid-template-columns:auto_auto_minmax(0,_1fr)] [align-items:center] [gap:8px_10px] [padding-top:12px] [padding-bottom:12px];
|
|
2286
|
+
}
|
|
2287
|
+
.file-row code {
|
|
2288
|
+
@apply [grid-column:1/-1] [grid-row:1] [overflow:visible] [text-overflow:clip] [white-space:normal] [overflow-wrap:anywhere] [line-height:1.45];
|
|
2289
|
+
}
|
|
2290
|
+
.file-kind {
|
|
2291
|
+
@apply [grid-column:1] [grid-row:2];
|
|
2292
|
+
}
|
|
2293
|
+
.file-row > .add,
|
|
2294
|
+
.file-row > .del {
|
|
2295
|
+
@apply [grid-column:2] [grid-row:2];
|
|
2296
|
+
}
|
|
2297
|
+
.file-row > .diff-button {
|
|
2298
|
+
@apply [grid-column:3] [grid-row:2] [justify-self:end];
|
|
2299
|
+
}
|
|
2300
|
+
}
|
|
2220
2301
|
@media (max-width: 680px) {
|
|
2221
2302
|
.catalog-card {
|
|
2222
|
-
@apply [min-height:
|
|
2303
|
+
@apply [min-height:0];
|
|
2223
2304
|
}
|
|
2224
2305
|
.sidebar {
|
|
2225
2306
|
@apply [width:54px] [flex-basis:54px];
|
|
@@ -2318,6 +2399,7 @@ body {
|
|
|
2318
2399
|
@apply [padding:16px];
|
|
2319
2400
|
}
|
|
2320
2401
|
.workspace-chooser-heading button,
|
|
2402
|
+
.global-search-heading button,
|
|
2321
2403
|
.session-dialog-header button {
|
|
2322
2404
|
@apply [width:44px] [height:44px];
|
|
2323
2405
|
}
|
|
@@ -2361,7 +2443,7 @@ body {
|
|
|
2361
2443
|
}
|
|
2362
2444
|
.plugins-list,
|
|
2363
2445
|
.marketplace-grid {
|
|
2364
|
-
@apply [grid-template-columns:minmax(0,_1fr)];
|
|
2446
|
+
@apply [grid-template-columns:minmax(0,_1fr)] [grid-auto-rows:auto];
|
|
2365
2447
|
}
|
|
2366
2448
|
.subnav {
|
|
2367
2449
|
@apply [flex-wrap:wrap];
|
|
@@ -2423,6 +2505,7 @@ body {
|
|
|
2423
2505
|
.marketplace-search,
|
|
2424
2506
|
.marketplace-filter,
|
|
2425
2507
|
.marketplace-category,
|
|
2508
|
+
.marketplace-category-scroll,
|
|
2426
2509
|
.marketplace-card-footer a,
|
|
2427
2510
|
.marketplace-card-footer button,
|
|
2428
2511
|
.marketplace-pagination-button,
|
|
@@ -2438,6 +2521,7 @@ body {
|
|
|
2438
2521
|
@apply [min-height:44px];
|
|
2439
2522
|
}
|
|
2440
2523
|
.plugin-uninstall,
|
|
2524
|
+
.marketplace-category-scroll,
|
|
2441
2525
|
.marketplace-card-footer button,
|
|
2442
2526
|
.toml-toolbar button {
|
|
2443
2527
|
@apply [min-width:44px];
|
|
@@ -2470,6 +2554,9 @@ body {
|
|
|
2470
2554
|
}
|
|
2471
2555
|
}
|
|
2472
2556
|
@media (min-width: 681px) and (max-width: 900px) {
|
|
2557
|
+
.marketplace-category-scroll {
|
|
2558
|
+
@apply [width:44px] [height:44px];
|
|
2559
|
+
}
|
|
2473
2560
|
.new-session,
|
|
2474
2561
|
.sidebar-actions input,
|
|
2475
2562
|
.sidebar-link,
|
|
@@ -2531,7 +2618,6 @@ body {
|
|
|
2531
2618
|
.session-menu,
|
|
2532
2619
|
.plugin-switch-button,
|
|
2533
2620
|
.plugin-uninstall,
|
|
2534
|
-
.marketplace-card-footer button,
|
|
2535
2621
|
.toml-toolbar button,
|
|
2536
2622
|
.send-button {
|
|
2537
2623
|
@apply [width:44px] [min-width:44px] [flex-basis:44px];
|
|
@@ -2590,14 +2676,52 @@ body {
|
|
|
2590
2676
|
}
|
|
2591
2677
|
}
|
|
2592
2678
|
@media (max-width: 389px) {
|
|
2593
|
-
.
|
|
2594
|
-
@apply [
|
|
2679
|
+
.provider-field {
|
|
2680
|
+
@apply [align-items:stretch] [flex-direction:column] [gap:4px];
|
|
2681
|
+
}
|
|
2682
|
+
.provider-field code {
|
|
2683
|
+
@apply [width:auto] [flex:none];
|
|
2684
|
+
}
|
|
2685
|
+
.provider-field input,
|
|
2686
|
+
.provider-model-value {
|
|
2687
|
+
@apply [width:100%];
|
|
2688
|
+
}
|
|
2689
|
+
.context-line {
|
|
2690
|
+
@apply [gap:6px];
|
|
2691
|
+
}
|
|
2692
|
+
.context-label {
|
|
2693
|
+
@apply [flex:none];
|
|
2694
|
+
}
|
|
2695
|
+
.context-metrics {
|
|
2696
|
+
@apply [flex-wrap:nowrap] [gap:6px];
|
|
2697
|
+
}
|
|
2698
|
+
.context-metrics span:nth-child(3) {
|
|
2699
|
+
@apply [display:none];
|
|
2700
|
+
}
|
|
2701
|
+
.prompt-completion button {
|
|
2702
|
+
@apply [align-items:flex-start] [flex-direction:column] [gap:2px];
|
|
2703
|
+
}
|
|
2704
|
+
.prompt-completion button strong {
|
|
2705
|
+
@apply [width:100%];
|
|
2706
|
+
}
|
|
2707
|
+
.prompt-completion button span {
|
|
2708
|
+
@apply [width:100%];
|
|
2709
|
+
}
|
|
2710
|
+
.marketplace-statistics {
|
|
2711
|
+
@apply [grid-template-columns:1fr];
|
|
2712
|
+
}
|
|
2713
|
+
.marketplace-statistics > span {
|
|
2714
|
+
@apply [display:flex] [min-height:30px] [align-items:center] [justify-content:space-between] [gap:12px];
|
|
2715
|
+
}
|
|
2716
|
+
.marketplace-statistics > span + span {
|
|
2717
|
+
@apply [border-left:0] [border-top:1px_solid_#e3e7ee];
|
|
2718
|
+
}
|
|
2719
|
+
.marketplace-statistics small,
|
|
2720
|
+
.marketplace-statistics strong {
|
|
2721
|
+
@apply [margin-top:0] [overflow:visible] [text-overflow:clip] [white-space:nowrap];
|
|
2595
2722
|
}
|
|
2596
2723
|
}
|
|
2597
2724
|
@media (max-width: 360px) {
|
|
2598
|
-
.catalog-card {
|
|
2599
|
-
@apply [min-height:469px];
|
|
2600
|
-
}
|
|
2601
2725
|
.main-header {
|
|
2602
2726
|
@apply [gap:4px] [padding-left:8px] [padding-right:8px];
|
|
2603
2727
|
}
|
|
@@ -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;;;;mBA6clC,OAAO;;AAHxB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;;;;mBA6clC,OAAO;;AAHxB,wBAqzCE"}
|
|
@@ -1222,11 +1222,15 @@ export default {
|
|
|
1222
1222
|
});
|
|
1223
1223
|
await services.runtime.prompt(payload.prompt);
|
|
1224
1224
|
const last = services.runtime.session.messages.at(-1);
|
|
1225
|
-
if (last?.role === "assistant" &&
|
|
1226
|
-
sendJson(response, 502, { error: last.errorMessage ?? "Request "
|
|
1225
|
+
if (last?.role === "assistant" && last.stopReason === "error") {
|
|
1226
|
+
sendJson(response, 502, { error: last.errorMessage ?? "Request error" });
|
|
1227
1227
|
return;
|
|
1228
1228
|
}
|
|
1229
|
-
sendJson(response, 200, {
|
|
1229
|
+
sendJson(response, 200, {
|
|
1230
|
+
reply: chunks.join(""),
|
|
1231
|
+
messages: services.runtime.session.messages.length,
|
|
1232
|
+
...(last?.role === "assistant" && last.stopReason === "aborted" ? { aborted: true } : {}),
|
|
1233
|
+
});
|
|
1230
1234
|
}
|
|
1231
1235
|
catch (error) {
|
|
1232
1236
|
sendJson(response, 400, { error: errorText(error) });
|