@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.
Files changed (280) hide show
  1. package/apps/web/dist/assets/index-CZMbiZj6.css +2 -0
  2. package/apps/web/dist/assets/index-DLcE8YQ7.js +26 -0
  3. package/apps/web/dist/index.html +2 -2
  4. package/apps/web/package.json +1 -1
  5. package/apps/web/server-dist/bin.js +19 -3
  6. package/apps/web/server-dist/bin.js.map +1 -1
  7. package/apps/web/src/server/bin.ts +18 -2
  8. package/apps/web/src/style.css +51 -1
  9. package/node_modules/@pi-harness/api-gateway/dist/index.d.ts.map +1 -1
  10. package/node_modules/@pi-harness/api-gateway/dist/index.js +117 -11
  11. package/node_modules/@pi-harness/api-gateway/dist/index.js.map +1 -1
  12. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/agent-teams.json +5 -5
  13. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/anchored-standard.json +3 -3
  14. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/annotation.json +3 -3
  15. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/archify.json +3 -3
  16. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/at-file.json +3 -11
  17. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/auto-mode.json +3 -3
  18. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/better-sidebar.json +5 -5
  19. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-fetch.json +3 -10
  20. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-session.json +3 -10
  21. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/canvas-draw.json +4 -4
  22. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/change-verifier.json +3 -3
  23. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cleaner.json +3 -11
  24. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cli-notifier.json +3 -3
  25. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/code2skill.json +5 -5
  26. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/colleague-skill.json +3 -3
  27. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context-doctor.json +3 -10
  28. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context.json +3 -9
  29. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cordis-group.json +12 -5
  30. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cordis-logger-console.json +16 -5
  31. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cordis-timer.json +11 -5
  32. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cost-meter.json +3 -3
  33. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/dependency-checker.json +4 -12
  34. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +3 -11
  35. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/fail-logger.json +3 -10
  36. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/genui.json +3 -3
  37. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +3 -10
  38. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/graph-memory.json +5 -5
  39. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/history-compressor.json +4 -4
  40. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/hol-guard.json +4 -4
  41. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/i18n-pair.json +3 -9
  42. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/image-compressor.json +4 -4
  43. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/llm-verifier.json +5 -5
  44. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-client.json +5 -11
  45. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-panel.json +5 -5
  46. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/memory.json +5 -5
  47. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +5 -5
  48. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mock-server.json +5 -5
  49. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/modlens.json +3 -3
  50. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/module-search.json +3 -3
  51. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +3 -3
  52. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/openpets.json +4 -10
  53. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plan-execute.json +3 -3
  54. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-check.json +3 -3
  55. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-dev.json +3 -3
  56. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-finder.json +3 -3
  57. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-radar.json +3 -3
  58. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-stars.json +3 -10
  59. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-guard.json +4 -4
  60. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-library.json +3 -3
  61. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/readme-gen.json +3 -11
  62. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/recall-unread.json +3 -10
  63. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reverse-skill.json +4 -4
  64. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +3 -3
  65. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +3 -3
  66. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/secure-audit.json +3 -3
  67. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +3 -3
  68. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bridge.json +3 -11
  69. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-compare.json +3 -3
  70. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-export.json +3 -3
  71. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-insights.json +3 -11
  72. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-search.json +3 -3
  73. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-catalog.json +3 -3
  74. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-guard.json +4 -11
  75. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/sql-lens.json +5 -12
  76. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/synapse.json +3 -3
  77. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/tab-manager.json +3 -3
  78. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/taskboard.json +3 -3
  79. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +3 -3
  80. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/test-harness.json +5 -13
  81. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/theme-studio.json +3 -3
  82. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/token-guard.json +3 -11
  83. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/turn-rewind.json +3 -10
  84. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +3 -3
  85. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +3 -9
  86. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/web-research.json +3 -3
  87. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +3 -3
  88. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-search.json +4 -4
  89. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/yaml-validator.json +3 -9
  90. package/node_modules/@pi-harness/api-gateway/dist/marketplace.d.ts +18 -2
  91. package/node_modules/@pi-harness/api-gateway/dist/marketplace.d.ts.map +1 -1
  92. package/node_modules/@pi-harness/api-gateway/dist/marketplace.js +93 -10
  93. package/node_modules/@pi-harness/api-gateway/dist/marketplace.js.map +1 -1
  94. package/node_modules/@pi-harness/api-gateway/package.json +1 -1
  95. package/node_modules/@pi-harness/cli/dist/main.d.ts.map +1 -1
  96. package/node_modules/@pi-harness/cli/dist/main.js +21 -3
  97. package/node_modules/@pi-harness/cli/dist/main.js.map +1 -1
  98. package/node_modules/@pi-harness/cli/package.json +1 -1
  99. package/node_modules/@pi-harness/host-webserver/package.json +1 -1
  100. package/node_modules/@pi-harness/web-app/package.json +1 -1
  101. package/package.json +6 -6
  102. package/packages/api-gateway/dist/index.d.ts.map +1 -1
  103. package/packages/api-gateway/dist/index.js +117 -11
  104. package/packages/api-gateway/dist/index.js.map +1 -1
  105. package/packages/api-gateway/dist/marketplace-entries/official/agent-teams.json +5 -5
  106. package/packages/api-gateway/dist/marketplace-entries/official/anchored-standard.json +3 -3
  107. package/packages/api-gateway/dist/marketplace-entries/official/annotation.json +3 -3
  108. package/packages/api-gateway/dist/marketplace-entries/official/archify.json +3 -3
  109. package/packages/api-gateway/dist/marketplace-entries/official/at-file.json +3 -11
  110. package/packages/api-gateway/dist/marketplace-entries/official/auto-mode.json +3 -3
  111. package/packages/api-gateway/dist/marketplace-entries/official/better-sidebar.json +5 -5
  112. package/packages/api-gateway/dist/marketplace-entries/official/browser-fetch.json +3 -10
  113. package/packages/api-gateway/dist/marketplace-entries/official/browser-session.json +3 -10
  114. package/packages/api-gateway/dist/marketplace-entries/official/canvas-draw.json +4 -4
  115. package/packages/api-gateway/dist/marketplace-entries/official/change-verifier.json +3 -3
  116. package/packages/api-gateway/dist/marketplace-entries/official/cleaner.json +3 -11
  117. package/packages/api-gateway/dist/marketplace-entries/official/cli-notifier.json +3 -3
  118. package/packages/api-gateway/dist/marketplace-entries/official/code2skill.json +5 -5
  119. package/packages/api-gateway/dist/marketplace-entries/official/colleague-skill.json +3 -3
  120. package/packages/api-gateway/dist/marketplace-entries/official/context-doctor.json +3 -10
  121. package/packages/api-gateway/dist/marketplace-entries/official/context.json +3 -9
  122. package/packages/api-gateway/dist/marketplace-entries/official/cordis-group.json +12 -5
  123. package/packages/api-gateway/dist/marketplace-entries/official/cordis-logger-console.json +16 -5
  124. package/packages/api-gateway/dist/marketplace-entries/official/cordis-timer.json +11 -5
  125. package/packages/api-gateway/dist/marketplace-entries/official/cost-meter.json +3 -3
  126. package/packages/api-gateway/dist/marketplace-entries/official/dependency-checker.json +4 -12
  127. package/packages/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +3 -11
  128. package/packages/api-gateway/dist/marketplace-entries/official/fail-logger.json +3 -10
  129. package/packages/api-gateway/dist/marketplace-entries/official/genui.json +3 -3
  130. package/packages/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +3 -10
  131. package/packages/api-gateway/dist/marketplace-entries/official/graph-memory.json +5 -5
  132. package/packages/api-gateway/dist/marketplace-entries/official/history-compressor.json +4 -4
  133. package/packages/api-gateway/dist/marketplace-entries/official/hol-guard.json +4 -4
  134. package/packages/api-gateway/dist/marketplace-entries/official/i18n-pair.json +3 -9
  135. package/packages/api-gateway/dist/marketplace-entries/official/image-compressor.json +4 -4
  136. package/packages/api-gateway/dist/marketplace-entries/official/llm-verifier.json +5 -5
  137. package/packages/api-gateway/dist/marketplace-entries/official/mcp-client.json +5 -11
  138. package/packages/api-gateway/dist/marketplace-entries/official/mcp-panel.json +5 -5
  139. package/packages/api-gateway/dist/marketplace-entries/official/memory.json +5 -5
  140. package/packages/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +5 -5
  141. package/packages/api-gateway/dist/marketplace-entries/official/mock-server.json +5 -5
  142. package/packages/api-gateway/dist/marketplace-entries/official/modlens.json +3 -3
  143. package/packages/api-gateway/dist/marketplace-entries/official/module-search.json +3 -3
  144. package/packages/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +3 -3
  145. package/packages/api-gateway/dist/marketplace-entries/official/openpets.json +4 -10
  146. package/packages/api-gateway/dist/marketplace-entries/official/plan-execute.json +3 -3
  147. package/packages/api-gateway/dist/marketplace-entries/official/plugin-check.json +3 -3
  148. package/packages/api-gateway/dist/marketplace-entries/official/plugin-dev.json +3 -3
  149. package/packages/api-gateway/dist/marketplace-entries/official/plugin-finder.json +3 -3
  150. package/packages/api-gateway/dist/marketplace-entries/official/plugin-radar.json +3 -3
  151. package/packages/api-gateway/dist/marketplace-entries/official/plugin-stars.json +3 -10
  152. package/packages/api-gateway/dist/marketplace-entries/official/prompt-guard.json +4 -4
  153. package/packages/api-gateway/dist/marketplace-entries/official/prompt-library.json +3 -3
  154. package/packages/api-gateway/dist/marketplace-entries/official/readme-gen.json +3 -11
  155. package/packages/api-gateway/dist/marketplace-entries/official/recall-unread.json +3 -10
  156. package/packages/api-gateway/dist/marketplace-entries/official/reverse-skill.json +4 -4
  157. package/packages/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +3 -3
  158. package/packages/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +3 -3
  159. package/packages/api-gateway/dist/marketplace-entries/official/secure-audit.json +3 -3
  160. package/packages/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +3 -3
  161. package/packages/api-gateway/dist/marketplace-entries/official/session-bridge.json +3 -11
  162. package/packages/api-gateway/dist/marketplace-entries/official/session-compare.json +3 -3
  163. package/packages/api-gateway/dist/marketplace-entries/official/session-export.json +3 -3
  164. package/packages/api-gateway/dist/marketplace-entries/official/session-insights.json +3 -11
  165. package/packages/api-gateway/dist/marketplace-entries/official/session-search.json +3 -3
  166. package/packages/api-gateway/dist/marketplace-entries/official/skill-catalog.json +3 -3
  167. package/packages/api-gateway/dist/marketplace-entries/official/skill-guard.json +4 -11
  168. package/packages/api-gateway/dist/marketplace-entries/official/sql-lens.json +5 -12
  169. package/packages/api-gateway/dist/marketplace-entries/official/synapse.json +3 -3
  170. package/packages/api-gateway/dist/marketplace-entries/official/tab-manager.json +3 -3
  171. package/packages/api-gateway/dist/marketplace-entries/official/taskboard.json +3 -3
  172. package/packages/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +3 -3
  173. package/packages/api-gateway/dist/marketplace-entries/official/test-harness.json +5 -13
  174. package/packages/api-gateway/dist/marketplace-entries/official/theme-studio.json +3 -3
  175. package/packages/api-gateway/dist/marketplace-entries/official/token-guard.json +3 -11
  176. package/packages/api-gateway/dist/marketplace-entries/official/turn-rewind.json +3 -10
  177. package/packages/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +3 -3
  178. package/packages/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +3 -9
  179. package/packages/api-gateway/dist/marketplace-entries/official/web-research.json +3 -3
  180. package/packages/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +3 -3
  181. package/packages/api-gateway/dist/marketplace-entries/official/workspace-search.json +4 -4
  182. package/packages/api-gateway/dist/marketplace-entries/official/yaml-validator.json +3 -9
  183. package/packages/api-gateway/dist/marketplace.d.ts +18 -2
  184. package/packages/api-gateway/dist/marketplace.d.ts.map +1 -1
  185. package/packages/api-gateway/dist/marketplace.js +93 -10
  186. package/packages/api-gateway/dist/marketplace.js.map +1 -1
  187. package/packages/api-gateway/package.json +1 -1
  188. package/packages/api-gateway/src/index.ts +121 -12
  189. package/packages/api-gateway/src/marketplace-entries/official/agent-teams.json +5 -5
  190. package/packages/api-gateway/src/marketplace-entries/official/anchored-standard.json +3 -3
  191. package/packages/api-gateway/src/marketplace-entries/official/annotation.json +3 -3
  192. package/packages/api-gateway/src/marketplace-entries/official/archify.json +3 -3
  193. package/packages/api-gateway/src/marketplace-entries/official/at-file.json +3 -11
  194. package/packages/api-gateway/src/marketplace-entries/official/auto-mode.json +3 -3
  195. package/packages/api-gateway/src/marketplace-entries/official/better-sidebar.json +5 -5
  196. package/packages/api-gateway/src/marketplace-entries/official/browser-fetch.json +3 -10
  197. package/packages/api-gateway/src/marketplace-entries/official/browser-session.json +3 -10
  198. package/packages/api-gateway/src/marketplace-entries/official/canvas-draw.json +4 -4
  199. package/packages/api-gateway/src/marketplace-entries/official/change-verifier.json +3 -3
  200. package/packages/api-gateway/src/marketplace-entries/official/cleaner.json +3 -11
  201. package/packages/api-gateway/src/marketplace-entries/official/cli-notifier.json +3 -3
  202. package/packages/api-gateway/src/marketplace-entries/official/code2skill.json +5 -5
  203. package/packages/api-gateway/src/marketplace-entries/official/colleague-skill.json +3 -3
  204. package/packages/api-gateway/src/marketplace-entries/official/context-doctor.json +3 -10
  205. package/packages/api-gateway/src/marketplace-entries/official/context.json +3 -9
  206. package/packages/api-gateway/src/marketplace-entries/official/cordis-group.json +12 -5
  207. package/packages/api-gateway/src/marketplace-entries/official/cordis-logger-console.json +16 -5
  208. package/packages/api-gateway/src/marketplace-entries/official/cordis-timer.json +11 -5
  209. package/packages/api-gateway/src/marketplace-entries/official/cost-meter.json +3 -3
  210. package/packages/api-gateway/src/marketplace-entries/official/dependency-checker.json +4 -12
  211. package/packages/api-gateway/src/marketplace-entries/official/docker-sandbox.json +3 -11
  212. package/packages/api-gateway/src/marketplace-entries/official/fail-logger.json +3 -10
  213. package/packages/api-gateway/src/marketplace-entries/official/genui.json +3 -3
  214. package/packages/api-gateway/src/marketplace-entries/official/git-time-capsule.json +3 -10
  215. package/packages/api-gateway/src/marketplace-entries/official/graph-memory.json +5 -5
  216. package/packages/api-gateway/src/marketplace-entries/official/history-compressor.json +4 -4
  217. package/packages/api-gateway/src/marketplace-entries/official/hol-guard.json +4 -4
  218. package/packages/api-gateway/src/marketplace-entries/official/i18n-pair.json +3 -9
  219. package/packages/api-gateway/src/marketplace-entries/official/image-compressor.json +4 -4
  220. package/packages/api-gateway/src/marketplace-entries/official/llm-verifier.json +5 -5
  221. package/packages/api-gateway/src/marketplace-entries/official/mcp-client.json +5 -11
  222. package/packages/api-gateway/src/marketplace-entries/official/mcp-panel.json +5 -5
  223. package/packages/api-gateway/src/marketplace-entries/official/memory.json +5 -5
  224. package/packages/api-gateway/src/marketplace-entries/official/mirage-bridge.json +5 -5
  225. package/packages/api-gateway/src/marketplace-entries/official/mock-server.json +5 -5
  226. package/packages/api-gateway/src/marketplace-entries/official/modlens.json +3 -3
  227. package/packages/api-gateway/src/marketplace-entries/official/module-search.json +3 -3
  228. package/packages/api-gateway/src/marketplace-entries/official/obsidian-sync.json +3 -3
  229. package/packages/api-gateway/src/marketplace-entries/official/openpets.json +4 -10
  230. package/packages/api-gateway/src/marketplace-entries/official/plan-execute.json +3 -3
  231. package/packages/api-gateway/src/marketplace-entries/official/plugin-check.json +3 -3
  232. package/packages/api-gateway/src/marketplace-entries/official/plugin-dev.json +3 -3
  233. package/packages/api-gateway/src/marketplace-entries/official/plugin-finder.json +3 -3
  234. package/packages/api-gateway/src/marketplace-entries/official/plugin-radar.json +3 -3
  235. package/packages/api-gateway/src/marketplace-entries/official/plugin-stars.json +3 -10
  236. package/packages/api-gateway/src/marketplace-entries/official/prompt-guard.json +4 -4
  237. package/packages/api-gateway/src/marketplace-entries/official/prompt-library.json +3 -3
  238. package/packages/api-gateway/src/marketplace-entries/official/readme-gen.json +3 -11
  239. package/packages/api-gateway/src/marketplace-entries/official/recall-unread.json +3 -10
  240. package/packages/api-gateway/src/marketplace-entries/official/reverse-skill.json +4 -4
  241. package/packages/api-gateway/src/marketplace-entries/official/reviewer-bot.json +3 -3
  242. package/packages/api-gateway/src/marketplace-entries/official/runtime-doctor.json +3 -3
  243. package/packages/api-gateway/src/marketplace-entries/official/secure-audit.json +3 -3
  244. package/packages/api-gateway/src/marketplace-entries/official/session-bookmarks.json +3 -3
  245. package/packages/api-gateway/src/marketplace-entries/official/session-bridge.json +3 -11
  246. package/packages/api-gateway/src/marketplace-entries/official/session-compare.json +3 -3
  247. package/packages/api-gateway/src/marketplace-entries/official/session-export.json +3 -3
  248. package/packages/api-gateway/src/marketplace-entries/official/session-insights.json +3 -11
  249. package/packages/api-gateway/src/marketplace-entries/official/session-search.json +3 -3
  250. package/packages/api-gateway/src/marketplace-entries/official/skill-catalog.json +3 -3
  251. package/packages/api-gateway/src/marketplace-entries/official/skill-guard.json +4 -11
  252. package/packages/api-gateway/src/marketplace-entries/official/sql-lens.json +5 -12
  253. package/packages/api-gateway/src/marketplace-entries/official/synapse.json +3 -3
  254. package/packages/api-gateway/src/marketplace-entries/official/tab-manager.json +3 -3
  255. package/packages/api-gateway/src/marketplace-entries/official/taskboard.json +3 -3
  256. package/packages/api-gateway/src/marketplace-entries/official/telemetry-blocker.json +3 -3
  257. package/packages/api-gateway/src/marketplace-entries/official/test-harness.json +5 -13
  258. package/packages/api-gateway/src/marketplace-entries/official/theme-studio.json +3 -3
  259. package/packages/api-gateway/src/marketplace-entries/official/token-guard.json +3 -11
  260. package/packages/api-gateway/src/marketplace-entries/official/turn-rewind.json +3 -10
  261. package/packages/api-gateway/src/marketplace-entries/official/undo-savepoint.json +3 -3
  262. package/packages/api-gateway/src/marketplace-entries/official/vision-toolkit.json +3 -9
  263. package/packages/api-gateway/src/marketplace-entries/official/web-research.json +3 -3
  264. package/packages/api-gateway/src/marketplace-entries/official/workspace-navigator.json +3 -3
  265. package/packages/api-gateway/src/marketplace-entries/official/workspace-search.json +4 -4
  266. package/packages/api-gateway/src/marketplace-entries/official/yaml-validator.json +3 -9
  267. package/packages/api-gateway/src/marketplace.ts +113 -12
  268. package/packages/api-gateway/test/index.test.ts +148 -6
  269. package/packages/api-gateway/test/marketplace-schema.test.ts +12 -0
  270. package/packages/api-gateway/test/marketplace.test.ts +255 -354
  271. package/packages/bundle-web-app/package.json +1 -1
  272. package/packages/cli/dist/main.d.ts.map +1 -1
  273. package/packages/cli/dist/main.js +21 -3
  274. package/packages/cli/dist/main.js.map +1 -1
  275. package/packages/cli/package.json +1 -1
  276. package/packages/cli/src/main.ts +20 -3
  277. package/packages/cli/test/cli.test.ts +20 -0
  278. package/packages/host-webserver/package.json +1 -1
  279. package/apps/web/dist/assets/index-D9ZcvGXi.js +0 -25
  280. package/apps/web/dist/assets/index-DJsNIiIo.css +0 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/web-app",
3
- "version": "0.1.31",
3
+ "version": "0.1.33",
4
4
  "private": true,
5
5
  "description": "Patchable Web application bundle for Pi Harness",
6
6
  "homepage": "https://github.com/pi-harness/pi-harness#readme",
@@ -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;AAgCD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAM7C,wBAAsB,MAAM,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,YAAY,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CA4LpG"}
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(`${error instanceof Error ? (error.stack ?? error.message) : String(error)}\n`);
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(`${error instanceof Error ? (error.stack ?? error.message) : String(error)}\n`);
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(`${error instanceof Error ? (error.stack ?? error.message) : String(error)}\n`);
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":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/cli",
3
- "version": "0.1.31",
3
+ "version": "0.1.33",
4
4
  "private": true,
5
5
  "description": "Plugin-first Pi Harness CLI",
6
6
  "homepage": "https://github.com/pi-harness/pi-harness#readme",
@@ -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(`${error instanceof Error ? (error.stack ?? error.message) : String(error)}\n`);
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(`${error instanceof Error ? (error.stack ?? error.message) : String(error)}\n`);
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(`${error instanceof Error ? (error.stack ?? error.message) : String(error)}\n`);
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
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/host-webserver",
3
- "version": "0.1.31",
3
+ "version": "0.1.33",
4
4
  "private": true,
5
5
  "description": "Cordis route-registration service for the Pi Harness web host",
6
6
  "homepage": "https://github.com/pi-harness/pi-harness#readme",