@pi-harness/pi-harness 0.1.28 → 0.1.29

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 (282) hide show
  1. package/apps/web/dist/assets/{index-1vaEg8Vr.js → index-DCkzrlCA.js} +2 -2
  2. package/apps/web/dist/index.html +1 -1
  3. package/apps/web/package.json +6 -6
  4. package/apps/web/profile/cordis.yml +73 -73
  5. package/node_modules/@pi-harness/api-gateway/dist/index.d.ts.map +1 -1
  6. package/node_modules/@pi-harness/api-gateway/dist/index.js +4 -11
  7. package/node_modules/@pi-harness/api-gateway/dist/index.js.map +1 -1
  8. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/agent-teams.json +3 -3
  9. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/anchored-standard.json +3 -3
  10. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/annotation.json +3 -3
  11. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/archify.json +3 -3
  12. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/at-file.json +3 -3
  13. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/auto-mode.json +3 -3
  14. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/better-sidebar.json +3 -3
  15. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-fetch.json +3 -3
  16. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-session.json +3 -3
  17. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/canvas-draw.json +3 -3
  18. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/change-verifier.json +3 -3
  19. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cleaner.json +3 -3
  20. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cli-notifier.json +3 -3
  21. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/code2skill.json +3 -3
  22. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/colleague-skill.json +3 -3
  23. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context-doctor.json +3 -3
  24. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context.json +3 -3
  25. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cost-meter.json +3 -3
  26. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/dependency-checker.json +3 -3
  27. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +3 -3
  28. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/fail-logger.json +3 -3
  29. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/genui.json +3 -3
  30. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +3 -3
  31. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/graph-memory.json +3 -3
  32. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/history-compressor.json +3 -3
  33. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/hol-guard.json +3 -3
  34. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/i18n-pair.json +3 -3
  35. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/image-compressor.json +3 -3
  36. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/llm-verifier.json +3 -3
  37. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-client.json +3 -3
  38. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-panel.json +3 -3
  39. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/memory.json +3 -3
  40. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +3 -3
  41. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mock-server.json +3 -3
  42. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/modlens.json +3 -3
  43. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/module-search.json +3 -3
  44. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +3 -3
  45. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/openpets.json +3 -3
  46. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plan-execute.json +3 -3
  47. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-check.json +3 -3
  48. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-dev.json +3 -3
  49. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-finder.json +3 -3
  50. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-radar.json +3 -3
  51. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-stars.json +3 -3
  52. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-guard.json +3 -3
  53. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-library.json +3 -3
  54. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/readme-gen.json +3 -3
  55. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/recall-unread.json +3 -3
  56. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reverse-skill.json +3 -3
  57. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +3 -3
  58. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +3 -3
  59. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/secure-audit.json +3 -3
  60. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +3 -3
  61. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bridge.json +3 -3
  62. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-compare.json +3 -3
  63. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-export.json +3 -3
  64. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-insights.json +3 -3
  65. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-search.json +3 -3
  66. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-catalog.json +3 -3
  67. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-guard.json +3 -3
  68. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/sql-lens.json +3 -3
  69. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/synapse.json +3 -3
  70. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/tab-manager.json +3 -3
  71. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/taskboard.json +3 -3
  72. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +3 -3
  73. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/test-harness.json +3 -3
  74. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/theme-studio.json +3 -3
  75. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/token-guard.json +3 -3
  76. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/turn-rewind.json +3 -3
  77. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +3 -3
  78. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +3 -3
  79. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/web-research.json +3 -3
  80. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +3 -3
  81. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-search.json +3 -3
  82. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/yaml-validator.json +3 -3
  83. package/node_modules/@pi-harness/api-gateway/dist/marketplace.d.ts +0 -1
  84. package/node_modules/@pi-harness/api-gateway/dist/marketplace.d.ts.map +1 -1
  85. package/node_modules/@pi-harness/api-gateway/dist/marketplace.js +0 -3
  86. package/node_modules/@pi-harness/api-gateway/dist/marketplace.js.map +1 -1
  87. package/node_modules/@pi-harness/api-gateway/package.json +27 -1
  88. package/node_modules/@pi-harness/cli/dist/main.d.ts.map +1 -1
  89. package/node_modules/@pi-harness/cli/dist/main.js +5 -2
  90. package/node_modules/@pi-harness/cli/dist/main.js.map +1 -1
  91. package/node_modules/@pi-harness/cli/dist/profiles.d.ts +3 -0
  92. package/node_modules/@pi-harness/cli/dist/profiles.d.ts.map +1 -0
  93. package/node_modules/@pi-harness/cli/dist/profiles.js +5 -0
  94. package/node_modules/@pi-harness/cli/dist/profiles.js.map +1 -0
  95. package/node_modules/@pi-harness/cli/package.json +3 -2
  96. package/node_modules/@pi-harness/cli/profiles/default/cordis.yml +122 -0
  97. package/node_modules/@pi-harness/cli/profiles/development/cordis.yml +47 -0
  98. package/node_modules/@pi-harness/host-webserver/package.json +1 -1
  99. package/node_modules/@pi-harness/web-app/package.json +1 -1
  100. package/package.json +41 -14
  101. package/packages/api-gateway/dist/index.d.ts.map +1 -1
  102. package/packages/api-gateway/dist/index.js +4 -11
  103. package/packages/api-gateway/dist/index.js.map +1 -1
  104. package/packages/api-gateway/dist/marketplace-entries/official/agent-teams.json +3 -3
  105. package/packages/api-gateway/dist/marketplace-entries/official/anchored-standard.json +3 -3
  106. package/packages/api-gateway/dist/marketplace-entries/official/annotation.json +3 -3
  107. package/packages/api-gateway/dist/marketplace-entries/official/archify.json +3 -3
  108. package/packages/api-gateway/dist/marketplace-entries/official/at-file.json +3 -3
  109. package/packages/api-gateway/dist/marketplace-entries/official/auto-mode.json +3 -3
  110. package/packages/api-gateway/dist/marketplace-entries/official/better-sidebar.json +3 -3
  111. package/packages/api-gateway/dist/marketplace-entries/official/browser-fetch.json +3 -3
  112. package/packages/api-gateway/dist/marketplace-entries/official/browser-session.json +3 -3
  113. package/packages/api-gateway/dist/marketplace-entries/official/canvas-draw.json +3 -3
  114. package/packages/api-gateway/dist/marketplace-entries/official/change-verifier.json +3 -3
  115. package/packages/api-gateway/dist/marketplace-entries/official/cleaner.json +3 -3
  116. package/packages/api-gateway/dist/marketplace-entries/official/cli-notifier.json +3 -3
  117. package/packages/api-gateway/dist/marketplace-entries/official/code2skill.json +3 -3
  118. package/packages/api-gateway/dist/marketplace-entries/official/colleague-skill.json +3 -3
  119. package/packages/api-gateway/dist/marketplace-entries/official/context-doctor.json +3 -3
  120. package/packages/api-gateway/dist/marketplace-entries/official/context.json +3 -3
  121. package/packages/api-gateway/dist/marketplace-entries/official/cost-meter.json +3 -3
  122. package/packages/api-gateway/dist/marketplace-entries/official/dependency-checker.json +3 -3
  123. package/packages/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +3 -3
  124. package/packages/api-gateway/dist/marketplace-entries/official/fail-logger.json +3 -3
  125. package/packages/api-gateway/dist/marketplace-entries/official/genui.json +3 -3
  126. package/packages/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +3 -3
  127. package/packages/api-gateway/dist/marketplace-entries/official/graph-memory.json +3 -3
  128. package/packages/api-gateway/dist/marketplace-entries/official/history-compressor.json +3 -3
  129. package/packages/api-gateway/dist/marketplace-entries/official/hol-guard.json +3 -3
  130. package/packages/api-gateway/dist/marketplace-entries/official/i18n-pair.json +3 -3
  131. package/packages/api-gateway/dist/marketplace-entries/official/image-compressor.json +3 -3
  132. package/packages/api-gateway/dist/marketplace-entries/official/llm-verifier.json +3 -3
  133. package/packages/api-gateway/dist/marketplace-entries/official/mcp-client.json +3 -3
  134. package/packages/api-gateway/dist/marketplace-entries/official/mcp-panel.json +3 -3
  135. package/packages/api-gateway/dist/marketplace-entries/official/memory.json +3 -3
  136. package/packages/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +3 -3
  137. package/packages/api-gateway/dist/marketplace-entries/official/mock-server.json +3 -3
  138. package/packages/api-gateway/dist/marketplace-entries/official/modlens.json +3 -3
  139. package/packages/api-gateway/dist/marketplace-entries/official/module-search.json +3 -3
  140. package/packages/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +3 -3
  141. package/packages/api-gateway/dist/marketplace-entries/official/openpets.json +3 -3
  142. package/packages/api-gateway/dist/marketplace-entries/official/plan-execute.json +3 -3
  143. package/packages/api-gateway/dist/marketplace-entries/official/plugin-check.json +3 -3
  144. package/packages/api-gateway/dist/marketplace-entries/official/plugin-dev.json +3 -3
  145. package/packages/api-gateway/dist/marketplace-entries/official/plugin-finder.json +3 -3
  146. package/packages/api-gateway/dist/marketplace-entries/official/plugin-radar.json +3 -3
  147. package/packages/api-gateway/dist/marketplace-entries/official/plugin-stars.json +3 -3
  148. package/packages/api-gateway/dist/marketplace-entries/official/prompt-guard.json +3 -3
  149. package/packages/api-gateway/dist/marketplace-entries/official/prompt-library.json +3 -3
  150. package/packages/api-gateway/dist/marketplace-entries/official/readme-gen.json +3 -3
  151. package/packages/api-gateway/dist/marketplace-entries/official/recall-unread.json +3 -3
  152. package/packages/api-gateway/dist/marketplace-entries/official/reverse-skill.json +3 -3
  153. package/packages/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +3 -3
  154. package/packages/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +3 -3
  155. package/packages/api-gateway/dist/marketplace-entries/official/secure-audit.json +3 -3
  156. package/packages/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +3 -3
  157. package/packages/api-gateway/dist/marketplace-entries/official/session-bridge.json +3 -3
  158. package/packages/api-gateway/dist/marketplace-entries/official/session-compare.json +3 -3
  159. package/packages/api-gateway/dist/marketplace-entries/official/session-export.json +3 -3
  160. package/packages/api-gateway/dist/marketplace-entries/official/session-insights.json +3 -3
  161. package/packages/api-gateway/dist/marketplace-entries/official/session-search.json +3 -3
  162. package/packages/api-gateway/dist/marketplace-entries/official/skill-catalog.json +3 -3
  163. package/packages/api-gateway/dist/marketplace-entries/official/skill-guard.json +3 -3
  164. package/packages/api-gateway/dist/marketplace-entries/official/sql-lens.json +3 -3
  165. package/packages/api-gateway/dist/marketplace-entries/official/synapse.json +3 -3
  166. package/packages/api-gateway/dist/marketplace-entries/official/tab-manager.json +3 -3
  167. package/packages/api-gateway/dist/marketplace-entries/official/taskboard.json +3 -3
  168. package/packages/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +3 -3
  169. package/packages/api-gateway/dist/marketplace-entries/official/test-harness.json +3 -3
  170. package/packages/api-gateway/dist/marketplace-entries/official/theme-studio.json +3 -3
  171. package/packages/api-gateway/dist/marketplace-entries/official/token-guard.json +3 -3
  172. package/packages/api-gateway/dist/marketplace-entries/official/turn-rewind.json +3 -3
  173. package/packages/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +3 -3
  174. package/packages/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +3 -3
  175. package/packages/api-gateway/dist/marketplace-entries/official/web-research.json +3 -3
  176. package/packages/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +3 -3
  177. package/packages/api-gateway/dist/marketplace-entries/official/workspace-search.json +3 -3
  178. package/packages/api-gateway/dist/marketplace-entries/official/yaml-validator.json +3 -3
  179. package/packages/api-gateway/dist/marketplace.d.ts +0 -1
  180. package/packages/api-gateway/dist/marketplace.d.ts.map +1 -1
  181. package/packages/api-gateway/dist/marketplace.js +0 -3
  182. package/packages/api-gateway/dist/marketplace.js.map +1 -1
  183. package/packages/api-gateway/package.json +27 -1
  184. package/packages/api-gateway/src/index.ts +3 -11
  185. package/packages/api-gateway/src/marketplace-entries/official/agent-teams.json +3 -3
  186. package/packages/api-gateway/src/marketplace-entries/official/anchored-standard.json +3 -3
  187. package/packages/api-gateway/src/marketplace-entries/official/annotation.json +3 -3
  188. package/packages/api-gateway/src/marketplace-entries/official/archify.json +3 -3
  189. package/packages/api-gateway/src/marketplace-entries/official/at-file.json +3 -3
  190. package/packages/api-gateway/src/marketplace-entries/official/auto-mode.json +3 -3
  191. package/packages/api-gateway/src/marketplace-entries/official/better-sidebar.json +3 -3
  192. package/packages/api-gateway/src/marketplace-entries/official/browser-fetch.json +3 -3
  193. package/packages/api-gateway/src/marketplace-entries/official/browser-session.json +3 -3
  194. package/packages/api-gateway/src/marketplace-entries/official/canvas-draw.json +3 -3
  195. package/packages/api-gateway/src/marketplace-entries/official/change-verifier.json +3 -3
  196. package/packages/api-gateway/src/marketplace-entries/official/cleaner.json +3 -3
  197. package/packages/api-gateway/src/marketplace-entries/official/cli-notifier.json +3 -3
  198. package/packages/api-gateway/src/marketplace-entries/official/code2skill.json +3 -3
  199. package/packages/api-gateway/src/marketplace-entries/official/colleague-skill.json +3 -3
  200. package/packages/api-gateway/src/marketplace-entries/official/context-doctor.json +3 -3
  201. package/packages/api-gateway/src/marketplace-entries/official/context.json +3 -3
  202. package/packages/api-gateway/src/marketplace-entries/official/cost-meter.json +3 -3
  203. package/packages/api-gateway/src/marketplace-entries/official/dependency-checker.json +3 -3
  204. package/packages/api-gateway/src/marketplace-entries/official/docker-sandbox.json +3 -3
  205. package/packages/api-gateway/src/marketplace-entries/official/fail-logger.json +3 -3
  206. package/packages/api-gateway/src/marketplace-entries/official/genui.json +3 -3
  207. package/packages/api-gateway/src/marketplace-entries/official/git-time-capsule.json +3 -3
  208. package/packages/api-gateway/src/marketplace-entries/official/graph-memory.json +3 -3
  209. package/packages/api-gateway/src/marketplace-entries/official/history-compressor.json +3 -3
  210. package/packages/api-gateway/src/marketplace-entries/official/hol-guard.json +3 -3
  211. package/packages/api-gateway/src/marketplace-entries/official/i18n-pair.json +3 -3
  212. package/packages/api-gateway/src/marketplace-entries/official/image-compressor.json +3 -3
  213. package/packages/api-gateway/src/marketplace-entries/official/llm-verifier.json +3 -3
  214. package/packages/api-gateway/src/marketplace-entries/official/mcp-client.json +3 -3
  215. package/packages/api-gateway/src/marketplace-entries/official/mcp-panel.json +3 -3
  216. package/packages/api-gateway/src/marketplace-entries/official/memory.json +3 -3
  217. package/packages/api-gateway/src/marketplace-entries/official/mirage-bridge.json +3 -3
  218. package/packages/api-gateway/src/marketplace-entries/official/mock-server.json +3 -3
  219. package/packages/api-gateway/src/marketplace-entries/official/modlens.json +3 -3
  220. package/packages/api-gateway/src/marketplace-entries/official/module-search.json +3 -3
  221. package/packages/api-gateway/src/marketplace-entries/official/obsidian-sync.json +3 -3
  222. package/packages/api-gateway/src/marketplace-entries/official/openpets.json +3 -3
  223. package/packages/api-gateway/src/marketplace-entries/official/plan-execute.json +3 -3
  224. package/packages/api-gateway/src/marketplace-entries/official/plugin-check.json +3 -3
  225. package/packages/api-gateway/src/marketplace-entries/official/plugin-dev.json +3 -3
  226. package/packages/api-gateway/src/marketplace-entries/official/plugin-finder.json +3 -3
  227. package/packages/api-gateway/src/marketplace-entries/official/plugin-radar.json +3 -3
  228. package/packages/api-gateway/src/marketplace-entries/official/plugin-stars.json +3 -3
  229. package/packages/api-gateway/src/marketplace-entries/official/prompt-guard.json +3 -3
  230. package/packages/api-gateway/src/marketplace-entries/official/prompt-library.json +3 -3
  231. package/packages/api-gateway/src/marketplace-entries/official/readme-gen.json +3 -3
  232. package/packages/api-gateway/src/marketplace-entries/official/recall-unread.json +3 -3
  233. package/packages/api-gateway/src/marketplace-entries/official/reverse-skill.json +3 -3
  234. package/packages/api-gateway/src/marketplace-entries/official/reviewer-bot.json +3 -3
  235. package/packages/api-gateway/src/marketplace-entries/official/runtime-doctor.json +3 -3
  236. package/packages/api-gateway/src/marketplace-entries/official/secure-audit.json +3 -3
  237. package/packages/api-gateway/src/marketplace-entries/official/session-bookmarks.json +3 -3
  238. package/packages/api-gateway/src/marketplace-entries/official/session-bridge.json +3 -3
  239. package/packages/api-gateway/src/marketplace-entries/official/session-compare.json +3 -3
  240. package/packages/api-gateway/src/marketplace-entries/official/session-export.json +3 -3
  241. package/packages/api-gateway/src/marketplace-entries/official/session-insights.json +3 -3
  242. package/packages/api-gateway/src/marketplace-entries/official/session-search.json +3 -3
  243. package/packages/api-gateway/src/marketplace-entries/official/skill-catalog.json +3 -3
  244. package/packages/api-gateway/src/marketplace-entries/official/skill-guard.json +3 -3
  245. package/packages/api-gateway/src/marketplace-entries/official/sql-lens.json +3 -3
  246. package/packages/api-gateway/src/marketplace-entries/official/synapse.json +3 -3
  247. package/packages/api-gateway/src/marketplace-entries/official/tab-manager.json +3 -3
  248. package/packages/api-gateway/src/marketplace-entries/official/taskboard.json +3 -3
  249. package/packages/api-gateway/src/marketplace-entries/official/telemetry-blocker.json +3 -3
  250. package/packages/api-gateway/src/marketplace-entries/official/test-harness.json +3 -3
  251. package/packages/api-gateway/src/marketplace-entries/official/theme-studio.json +3 -3
  252. package/packages/api-gateway/src/marketplace-entries/official/token-guard.json +3 -3
  253. package/packages/api-gateway/src/marketplace-entries/official/turn-rewind.json +3 -3
  254. package/packages/api-gateway/src/marketplace-entries/official/undo-savepoint.json +3 -3
  255. package/packages/api-gateway/src/marketplace-entries/official/vision-toolkit.json +3 -3
  256. package/packages/api-gateway/src/marketplace-entries/official/web-research.json +3 -3
  257. package/packages/api-gateway/src/marketplace-entries/official/workspace-navigator.json +3 -3
  258. package/packages/api-gateway/src/marketplace-entries/official/workspace-search.json +3 -3
  259. package/packages/api-gateway/src/marketplace-entries/official/yaml-validator.json +3 -3
  260. package/packages/api-gateway/src/marketplace.ts +0 -4
  261. package/packages/api-gateway/test/index.test.ts +140 -94
  262. package/packages/api-gateway/test/marketplace-schema.test.ts +1 -1
  263. package/packages/api-gateway/test/marketplace.test.ts +7 -9
  264. package/packages/api-gateway/test/packed-package.test.ts +3 -3
  265. package/packages/api-gateway/test/release-contract.test.ts +35 -5
  266. package/packages/api-gateway/test/release-package.test.ts +1 -1
  267. package/packages/api-gateway/test/release-version.test.ts +79 -3
  268. package/packages/bundle-web-app/package.json +1 -1
  269. package/packages/cli/dist/main.d.ts.map +1 -1
  270. package/packages/cli/dist/main.js +5 -2
  271. package/packages/cli/dist/main.js.map +1 -1
  272. package/packages/cli/dist/profiles.d.ts +3 -0
  273. package/packages/cli/dist/profiles.d.ts.map +1 -0
  274. package/packages/cli/dist/profiles.js +5 -0
  275. package/packages/cli/dist/profiles.js.map +1 -0
  276. package/packages/cli/package.json +3 -2
  277. package/packages/cli/profiles/default/cordis.yml +122 -0
  278. package/packages/cli/profiles/development/cordis.yml +47 -0
  279. package/packages/cli/src/main.ts +5 -2
  280. package/packages/cli/src/profiles.ts +6 -0
  281. package/packages/cli/test/profiles.integration.test.ts +575 -0
  282. package/packages/host-webserver/package.json +1 -1
@@ -130,7 +130,7 @@ describe("marketplace entry schema", () => {
130
130
  expect(validate(schema, { ...validEntry(), category: { id: "Not Kebab", label: "x" } })).not.toEqual([]);
131
131
  expect(validate(schema, { ...validEntry(), category: { id: "collaboration", label: " " } })).not.toEqual([]);
132
132
  expect(validate(schema, { ...validEntry(), packageName: "Not/Valid Name" })).not.toEqual([]);
133
- expect(validate(schema, { ...validEntry(), profile: { name: "@pi-harness/core/plugins/agent-teams", config: [] } })).not.toEqual([]);
133
+ expect(validate(schema, { ...validEntry(), profile: { name: "@pi-harness/plugin-agent-teams", config: [] } })).not.toEqual([]);
134
134
  expect(validate(schema, { ...groupEntry(), profile: { name: "@deepseek-ai/cordis-plugin-group", group: true, config: {} } })).not.toEqual([]);
135
135
  expect(validate(schema, { ...validEntry(), capabilities: [] })).not.toEqual([]);
136
136
  expect(validate(schema, { ...validEntry(), repository: "http://example.com" })).not.toEqual([]);
@@ -6,7 +6,6 @@ import {
6
6
  attachMarketplaceStatistics,
7
7
  createMarketplaceStatisticsLoader,
8
8
  marketplaceNpmPackageName,
9
- needsMarketplacePackageInstall,
10
9
  paginateMarketplace,
11
10
  searchMarketplace,
12
11
  sortMarketplaceByRecommendation,
@@ -474,13 +473,11 @@ describe("plugin marketplace registry", () => {
474
473
  expect(official.get("better-sidebar")?.category.id).toBe("developer");
475
474
  });
476
475
 
477
- test("recognizes bundled core plugin subpaths without requiring an npm install", () => {
478
- const bundled = MARKETPLACE_PLUGINS.find((plugin) => plugin.id === "skill-guard");
479
- const external = MARKETPLACE_PLUGINS.find((plugin) => plugin.id === "cordis-timer");
480
- expect(bundled).toBeDefined();
481
- expect(external).toBeDefined();
482
- expect(needsMarketplacePackageInstall(bundled!)).toBe(false);
483
- expect(needsMarketplacePackageInstall(external!)).toBe(true);
476
+ test("lists every plugin as an installable npm package rather than a launcher subpath", () => {
477
+ const subpaths = MARKETPLACE_PLUGINS.filter((plugin) => plugin.packageName.includes("/plugins/"));
478
+ expect(subpaths).toEqual([]);
479
+ expect(MARKETPLACE_PLUGINS.every((plugin) => marketplaceNpmPackageName(plugin.packageName) === plugin.packageName)).toBe(true);
480
+ expect(MARKETPLACE_PLUGINS.find((plugin) => plugin.id === "skill-guard")?.packageName).toBe("@pi-harness/plugin-skill-guard");
484
481
  });
485
482
 
486
483
  test("filters by query and capability without mutating the registry", () => {
@@ -510,7 +507,8 @@ describe("plugin marketplace registry", () => {
510
507
  });
511
508
 
512
509
  test("maps plugin entry points to their published npm package", () => {
513
- expect(marketplaceNpmPackageName("@pi-harness/core/plugins/agent-teams")).toBe("@pi-harness/core");
510
+ expect(marketplaceNpmPackageName("@pi-harness/plugin-agent-teams")).toBe("@pi-harness/plugin-agent-teams");
511
+ expect(marketplaceNpmPackageName("@example-scope/toolkit/plugins/subpath")).toBe("@example-scope/toolkit");
514
512
  expect(marketplaceNpmPackageName("@deepseek-ai/cordis-plugin-timer")).toBe("@deepseek-ai/cordis-plugin-timer");
515
513
  expect(marketplaceNpmPackageName("unscoped-package/runtime")).toBe("unscoped-package");
516
514
  });
@@ -9,15 +9,15 @@ const execFileAsync = promisify(execFile);
9
9
  const fixtures: string[] = [];
10
10
  const repositoryRoot = resolve(import.meta.dirname, "../../..");
11
11
 
12
- // Stands in for npm so the smoke test can be exercised without packing and globally installing the real workspace: `pack` reports tarball names and `install` lays out
13
- // the tree the script inspects, optionally without the files the root bin map points at.
12
+ // Stands in for npm so the smoke test can be exercised without packing and globally installing the real workspace: `pack` reports one tarball name per requested workspace and `install` lays out the tree the script inspects, optionally without the files the root bin map points at.
14
13
  const fakeNpmSource = `import { mkdirSync, writeFileSync } from "node:fs";
15
14
  import { dirname, join } from "node:path";
16
15
  import process from "node:process";
17
16
 
18
17
  const args = process.argv.slice(2);
19
18
  if (args[0] === "pack") {
20
- process.stdout.write(args.includes("--workspace") ? "core.tgz\\n" : "harness.tgz\\n");
19
+ const workspaces = args.filter((argument, index) => args[index - 1] === "--workspace");
20
+ process.stdout.write((workspaces.length === 0 ? ["harness.tgz"] : workspaces.map((name) => name.slice(name.indexOf("/") + 1) + ".tgz")).join("\\n") + "\\n");
21
21
  process.exit(0);
22
22
  }
23
23
  if (args[0] !== "install") process.exit(1);
@@ -43,6 +43,25 @@ describe("release contract", () => {
43
43
  expect(workflow).toContain("npm publish --access public");
44
44
  });
45
45
 
46
+ test("publishes every plugin package on its own version line", () => {
47
+ // A plugin carries its own semver, so the release has to know which plugins actually changed instead of bumping all of them behind the launcher.
48
+ expect(workflow).toContain('node scripts/set-release-version.mjs "$version" --base "$previous_tag"');
49
+ expect(workflow).toContain("git describe --tags --abbrev=0 --match 'v*' HEAD");
50
+ // The publish loop walks the plugins in dependency order, and the release commit has to carry their bumped manifests.
51
+ expect(workflow).toContain("$(node scripts/build-plugins.mjs --order)");
52
+ expect(workflow).toContain("packages/plugins/*/package.json");
53
+ const pluginManifests = readdirSync(resolve(repositoryRoot, "packages/plugins"), { withFileTypes: true })
54
+ .filter((entry) => entry.isDirectory())
55
+ .map((entry) => entry.name);
56
+ expect(pluginManifests.length).toBeGreaterThan(0);
57
+ for (const directory of pluginManifests) {
58
+ const manifest = readJson(`packages/plugins/${directory}/package.json`) as { name: string; dependencies?: Record<string, string> };
59
+ // An exact pin would rewrite - and therefore republish - every plugin on each launcher patch release, which is the coupling the split removed.
60
+ for (const [dependency, range] of Object.entries(manifest.dependencies ?? {}))
61
+ if (dependency.startsWith("@pi-harness/")) expect(range, `${manifest.name} pins ${dependency} instead of tracking it through a range`).toMatch(/^\^/u);
62
+ }
63
+ });
64
+
46
65
  test("pins every action to a full commit SHA with its release tag recorded", () => {
47
66
  const uses = [...workflow.matchAll(/^\s+uses:\s*(.+)$/gmu)].map((match) => match[1] ?? "");
48
67
  expect(uses.length).toBeGreaterThanOrEqual(2);
@@ -57,7 +76,7 @@ describe("release contract", () => {
57
76
  expect(built.indexOf("@pi-harness/core")).toBeLessThan(built.indexOf("@pi-harness/cli"));
58
77
  });
59
78
 
60
- test("core declares every package its sources and shipped profiles load", () => {
79
+ test("core declares every package its sources load", () => {
61
80
  const core = readJson("packages/core/package.json") as { name: string; dependencies: Record<string, string>; peerDependencies: Record<string, string> };
62
81
  const specifierPattern =
63
82
  /(?:from\s*|import\s*\(\s*|import\.meta\.resolve\(\s*|require(?:\.resolve)?\(\s*)["']([@a-z][^"'\s]*)["']|"(@[a-z0-9._~-]+\/[a-z0-9._~-]+(?:\/[a-z0-9._~-]+)*)"/gu;
@@ -66,10 +85,6 @@ describe("release contract", () => {
66
85
  for (const match of readFileSync(file, "utf8").matchAll(specifierPattern))
67
86
  required.set(packageNameOf(match[1] ?? match[2] ?? ""), relative(repositoryRoot, file));
68
87
  }
69
- for (const file of sourceFiles(resolve(repositoryRoot, "packages/core/profiles"), ".yml")) {
70
- for (const match of readFileSync(file, "utf8").matchAll(/^\s*name:\s*"?([^"\s]+)"?\s*$/gmu))
71
- required.set(packageNameOf(match[1] ?? ""), relative(repositoryRoot, file));
72
- }
73
88
  const external = [...required].filter(([name]) => !name.startsWith("node:") && !name.includes(":") && name !== core.name);
74
89
  expect(external.length).toBeGreaterThan(0);
75
90
  // A runtime that appears in the published type surface is declared as a peer instead, so the consumer owns the single installed copy.
@@ -78,6 +93,21 @@ describe("release contract", () => {
78
93
  core.dependencies[name] ?? core.peerDependencies[name],
79
94
  `${name} (used by ${file}) is declared by neither ${core.name} dependencies nor peerDependencies`,
80
95
  ).toBeDefined();
96
+ // The curated plugin set belongs to the launcher, so installing the runtime on its own never drags a profile's plugins in.
97
+ expect(core.files).not.toContain("profiles");
98
+ });
99
+
100
+ test("the published launcher declares every plugin package its shipped profiles load", () => {
101
+ // Every plugin in a shipped profile is now an ordinary npm package, so the package a user installs has to pull each one like any other dependency.
102
+ const root = readJson("package.json") as { name: string; dependencies: Record<string, string> };
103
+ const required = new Map<string, string>();
104
+ for (const file of sourceFiles(resolve(repositoryRoot, "packages/cli/profiles"), ".yml")) {
105
+ for (const match of readFileSync(file, "utf8").matchAll(/^\s*name:\s*"?([^"\s]+)"?\s*$/gmu))
106
+ required.set(packageNameOf(match[1] ?? ""), relative(repositoryRoot, file));
107
+ }
108
+ const external = [...required].filter(([name]) => !name.includes(":"));
109
+ expect(external.filter(([name]) => name.startsWith("@pi-harness/plugin-")).length).toBeGreaterThan(0);
110
+ for (const [name, file] of external) expect(root.dependencies[name], `${name} (loaded by ${file}) is not declared by ${root.name}`).toBeDefined();
81
111
  });
82
112
 
83
113
  test("the plugin API declares every package its sources import as a peer", () => {
@@ -59,7 +59,7 @@ describe("release package", () => {
59
59
  expect((core.dependencies as Record<string, string>)["@pi-harness/plugin-api"]).toBe(rootManifest.version);
60
60
 
61
61
  const workflow = await readFile(resolve(repositoryRoot, ".github/workflows/release.yml"), "utf8");
62
- expect(workflow).toContain("for workspace in packages/plugin-api packages/core .; do");
62
+ expect(workflow).toContain("for workspace in packages/plugin-api packages/core $(node scripts/build-plugins.mjs --order) .; do");
63
63
  expect(workflow).toContain("for package_name in @pi-harness/plugin-api @pi-harness/core @pi-harness/pi-harness; do");
64
64
  });
65
65
 
@@ -23,7 +23,7 @@ describe("release version preparation", () => {
23
23
  it("synchronizes manifests, lock data, and internal marketplace entries without changing external versions", async () => {
24
24
  const fixture = await mkdtemp(resolve(tmpdir(), "pi-harness-release-version-"));
25
25
  fixtures.push(fixture);
26
- await Promise.all([mkdir(resolve(fixture, "apps")), mkdir(resolve(fixture, "examples"))]);
26
+ await Promise.all([mkdir(resolve(fixture, "apps")), mkdir(resolve(fixture, "examples")), mkdir(resolve(fixture, "packages/plugins"), { recursive: true })]);
27
27
  await writeJson(fixture, "package.json", { name: "@pi-harness/pi-harness", version: "0.1.2", dependencies: { "@pi-harness/core": "0.1.2" } });
28
28
  await writeJson(fixture, "packages/core/package.json", { name: "@pi-harness/core", version: "0.1.2" });
29
29
  await writeJson(fixture, "packages/api-gateway/package.json", { name: "@pi-harness/api-gateway", version: "0.1.2" });
@@ -83,7 +83,7 @@ describe("release version preparation", () => {
83
83
  // A re-dispatched release run checks out the release commit, so every manifest and marketplace entry already holds the requested version.
84
84
  const fixture = await mkdtemp(resolve(tmpdir(), "pi-harness-release-version-"));
85
85
  fixtures.push(fixture);
86
- await Promise.all([mkdir(resolve(fixture, "apps")), mkdir(resolve(fixture, "examples"))]);
86
+ await Promise.all([mkdir(resolve(fixture, "apps")), mkdir(resolve(fixture, "examples")), mkdir(resolve(fixture, "packages/plugins"), { recursive: true })]);
87
87
  await writeJson(fixture, "package.json", { name: "@pi-harness/pi-harness", version: "0.1.3", dependencies: { "@pi-harness/core": "^0.1.3" } });
88
88
  await writeJson(fixture, "packages/core/package.json", { name: "@pi-harness/core", version: "0.1.3" });
89
89
  await writeJson(fixture, "packages/api-gateway/package.json", { name: "@pi-harness/api-gateway", version: "0.1.3" });
@@ -103,10 +103,86 @@ describe("release version preparation", () => {
103
103
  expect(await readFile(resolve(fixture, "packages/api-gateway/dist/marketplace-entries/official/internal.json"), "utf8")).toBe(formattedInternalEntry);
104
104
  });
105
105
 
106
+ it("moves a plugin package's version only when that plugin changed", async () => {
107
+ // A plugin is published on its own, so the release train's version means nothing to it: an untouched plugin keeps the version already on npm and is skipped by the publish step.
108
+ const fixture = await mkdtemp(resolve(tmpdir(), "pi-harness-release-version-"));
109
+ fixtures.push(fixture);
110
+ await Promise.all([mkdir(resolve(fixture, "apps")), mkdir(resolve(fixture, "examples")), mkdir(resolve(fixture, "packages/plugins"), { recursive: true })]);
111
+ await writeJson(fixture, "package.json", {
112
+ name: "@pi-harness/pi-harness",
113
+ version: "0.1.2",
114
+ dependencies: { "@pi-harness/core": "0.1.2", "@pi-harness/plugin-alpha": "0.2.5", "@pi-harness/plugin-beta": "0.1.2" },
115
+ });
116
+ await writeJson(fixture, "packages/core/package.json", { name: "@pi-harness/core", version: "0.1.2" });
117
+ await writeJson(fixture, "packages/plugin-api/package.json", { name: "@pi-harness/plugin-api", version: "0.1.2" });
118
+ await writeJson(fixture, "packages/api-gateway/package.json", { name: "@pi-harness/api-gateway", version: "0.1.2" });
119
+ await writeJson(fixture, "packages/plugins/alpha/package.json", {
120
+ name: "@pi-harness/plugin-alpha",
121
+ version: "0.2.5",
122
+ dependencies: { "@pi-harness/plugin-api": "^0.1.2" },
123
+ });
124
+ await writeJson(fixture, "packages/plugins/beta/package.json", {
125
+ name: "@pi-harness/plugin-beta",
126
+ version: "0.1.2",
127
+ dependencies: { "@pi-harness/plugin-api": "^0.1.2" },
128
+ });
129
+ await writeFile(resolve(fixture, "packages/plugins/alpha/index.js"), "export default 1;\n");
130
+ await writeFile(resolve(fixture, "packages/plugins/beta/index.js"), "export default 1;\n");
131
+ await writeJson(fixture, "package-lock.json", {
132
+ name: "@pi-harness/pi-harness",
133
+ version: "0.1.2",
134
+ lockfileVersion: 3,
135
+ packages: {
136
+ "": { name: "@pi-harness/pi-harness", version: "0.1.2", dependencies: { "@pi-harness/plugin-alpha": "0.2.5" } },
137
+ "packages/plugins/alpha": { name: "@pi-harness/plugin-alpha", version: "0.2.5", dependencies: { "@pi-harness/plugin-api": "^0.1.2" } },
138
+ "packages/plugins/beta": { name: "@pi-harness/plugin-beta", version: "0.1.2" },
139
+ },
140
+ });
141
+ await mkdir(resolve(fixture, "packages/api-gateway/src/marketplace-entries/official"), { recursive: true });
142
+ await writeFile(
143
+ resolve(fixture, "packages/api-gateway/src/marketplace-entries/official/alpha.json"),
144
+ `{\n "packageName": "@pi-harness/plugin-alpha",\n "version": "0.2.5"\n}\n`,
145
+ );
146
+ await writeFile(
147
+ resolve(fixture, "packages/api-gateway/src/marketplace-entries/official/beta.json"),
148
+ `{\n "packageName": "@pi-harness/plugin-beta",\n "version": "0.1.2"\n}\n`,
149
+ );
150
+ await execFileAsync("git", ["init", "-q", "-b", "main"], { cwd: fixture });
151
+ await execFileAsync("git", ["config", "user.email", "release@test.invalid"], { cwd: fixture });
152
+ await execFileAsync("git", ["config", "user.name", "Release Test"], { cwd: fixture });
153
+ await execFileAsync("git", ["add", "-A"], { cwd: fixture });
154
+ await execFileAsync("git", ["commit", "-qm", "release fixture"], { cwd: fixture });
155
+ await execFileAsync("git", ["tag", "v0.1.2"], { cwd: fixture });
156
+ await writeFile(resolve(fixture, "packages/plugins/alpha/index.js"), "export default 2;\n");
157
+ await writeJson(fixture, "packages/plugins/gamma/package.json", { name: "@pi-harness/plugin-gamma", version: "0.0.0" });
158
+
159
+ await execFileAsync(process.execPath, [resolve(repositoryRoot, "scripts/set-release-version.mjs"), "0.1.3", "--base", "v0.1.2"], { cwd: fixture });
160
+
161
+ const read = async (path: string): Promise<Record<string, unknown>> =>
162
+ JSON.parse(await readFile(resolve(fixture, path), "utf8")) as Record<string, unknown>;
163
+ expect(await read("packages/plugins/alpha/package.json")).toMatchObject({ version: "0.2.6", dependencies: { "@pi-harness/plugin-api": "^0.1.2" } });
164
+ expect(await read("packages/plugins/beta/package.json")).toMatchObject({ version: "0.1.2" });
165
+ // A plugin that did not exist at the previous release joins at the train's version instead of starting from whatever its manifest happened to declare.
166
+ expect(await read("packages/plugins/gamma/package.json")).toMatchObject({ version: "0.1.3" });
167
+ expect(await read("package.json")).toMatchObject({
168
+ version: "0.1.3",
169
+ dependencies: { "@pi-harness/core": "^0.1.3", "@pi-harness/plugin-alpha": "0.2.6", "@pi-harness/plugin-beta": "0.1.2" },
170
+ });
171
+ expect(await read("package-lock.json")).toMatchObject({
172
+ packages: {
173
+ "": { dependencies: { "@pi-harness/plugin-alpha": "0.2.6" } },
174
+ "packages/plugins/alpha": { version: "0.2.6" },
175
+ "packages/plugins/beta": { version: "0.1.2" },
176
+ },
177
+ });
178
+ expect(await read("packages/api-gateway/src/marketplace-entries/official/alpha.json")).toMatchObject({ version: "0.2.6" });
179
+ expect(await read("packages/api-gateway/src/marketplace-entries/official/beta.json")).toMatchObject({ version: "0.1.2" });
180
+ });
181
+
106
182
  it("rejects an internal marketplace entry without a top-level version field", async () => {
107
183
  const fixture = await mkdtemp(resolve(tmpdir(), "pi-harness-release-version-"));
108
184
  fixtures.push(fixture);
109
- await Promise.all([mkdir(resolve(fixture, "apps")), mkdir(resolve(fixture, "examples"))]);
185
+ await Promise.all([mkdir(resolve(fixture, "apps")), mkdir(resolve(fixture, "examples")), mkdir(resolve(fixture, "packages/plugins"), { recursive: true })]);
110
186
  await writeJson(fixture, "package.json", { name: "@pi-harness/pi-harness", version: "0.1.2" });
111
187
  await writeJson(fixture, "packages/core/package.json", { name: "@pi-harness/core", version: "0.1.2" });
112
188
  await writeJson(fixture, "packages/api-gateway/package.json", { name: "@pi-harness/api-gateway", version: "0.1.2" });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/web-app",
3
- "version": "0.1.28",
3
+ "version": "0.1.29",
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;AAMtD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,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,CAmLpG"}
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,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,CAqLpG"}
@@ -1,7 +1,8 @@
1
1
  import { readFile } from "node:fs/promises";
2
- import { BUILTIN_PROFILES, bootHarness, provideLaunchContext, provideStdioContext, resolveProfileConfig } from "@pi-harness/core";
2
+ import { bootHarness, provideLaunchContext, provideStdioContext, resolveProfileConfig } from "@pi-harness/core";
3
3
  import { CliUsageError, parseLauncherArgs } from "./args.js";
4
4
  import { NodeStdio } from "./node-stdio.js";
5
+ import { BUILTIN_PROFILES, BUILTIN_PROFILES_DIR } from "./profiles.js";
5
6
  import { PI_HARNESS_RESTART_EXIT_CODE } from "./relaunch.js";
6
7
  async function settleWithin(promise, timeoutMs) {
7
8
  let timer;
@@ -55,7 +56,9 @@ export async function runCli(_args, _environment) {
55
56
  let configPath;
56
57
  try {
57
58
  configPath = await resolveProfileConfig({
58
- ...(invocation.configPath === undefined ? { profile: invocation.profile ?? "default" } : { configPath: invocation.configPath }),
59
+ ...(invocation.configPath === undefined
60
+ ? { profile: invocation.profile ?? "default", profilesDir: BUILTIN_PROFILES_DIR }
61
+ : { configPath: invocation.configPath }),
59
62
  cwd: environment.cwd,
60
63
  });
61
64
  if (invocation.dumpConfig) {
@@ -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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"}
@@ -0,0 +1,3 @@
1
+ export declare const BUILTIN_PROFILES: readonly ["default", "development"];
2
+ export declare const BUILTIN_PROFILES_DIR: string;
3
+ //# sourceMappingURL=profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,qCAAsC,CAAC;AAGpE,eAAO,MAAM,oBAAoB,QAAyD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { fileURLToPath } from "node:url";
2
+ export const BUILTIN_PROFILES = ["default", "development"];
3
+ // The launcher ships the curated plugin set, so the profile directory sits next to its build output rather than inside the runtime package.
4
+ export const BUILTIN_PROFILES_DIR = fileURLToPath(new URL("../profiles", import.meta.url));
5
+ //# sourceMappingURL=profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,aAAa,CAAU,CAAC;AAEpE,4IAA4I;AAC5I,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/cli",
3
- "version": "0.1.28",
3
+ "version": "0.1.29",
4
4
  "private": true,
5
5
  "description": "Plugin-first Pi Harness CLI",
6
6
  "homepage": "https://github.com/pi-harness/pi-harness#readme",
@@ -17,7 +17,8 @@
17
17
  "pih": "./dist/bin.js"
18
18
  },
19
19
  "files": [
20
- "dist"
20
+ "dist",
21
+ "profiles"
21
22
  ],
22
23
  "type": "module",
23
24
  "main": "./dist/main.js",
@@ -0,0 +1,122 @@
1
+ - id: agent
2
+ name: cordis:group
3
+ group: true
4
+ config:
5
+ - id: models
6
+ name: "@pi-harness/core/plugins/models"
7
+ config:
8
+ provider: deepseek
9
+ model: deepseek-v4-flash
10
+ refreshOnCreate: false
11
+ - id: resources
12
+ name: "@pi-harness/core/plugins/resources"
13
+ config: {}
14
+ - id: model
15
+ name: "@pi-harness/core/plugins/model"
16
+ config: {}
17
+ - id: session
18
+ name: "@pi-harness/core/plugins/session"
19
+ config:
20
+ storage: jsonl
21
+ - id: tools
22
+ name: "@pi-harness/core/plugins/tools"
23
+ config:
24
+ names:
25
+ - read
26
+ - bash
27
+ - edit
28
+ - write
29
+ - id: agent-teams
30
+ name: "@pi-harness/plugin-agent-teams"
31
+ config: {}
32
+ - id: modlens
33
+ name: "@pi-harness/plugin-modlens"
34
+ config: {}
35
+ - id: vision-toolkit
36
+ name: "@pi-harness/plugin-vision-toolkit"
37
+ config: {}
38
+ - id: git-time-capsule
39
+ name: "@pi-harness/plugin-git-time-capsule"
40
+ config: {}
41
+ - id: dependency-checker
42
+ name: "@pi-harness/plugin-dependency-checker"
43
+ config: {}
44
+ - id: at-file
45
+ name: "@pi-harness/plugin-at-file"
46
+ config: {}
47
+ - id: test-harness
48
+ name: "@pi-harness/plugin-test-harness"
49
+ config:
50
+ timeoutMs: 120000
51
+ - id: session-insights
52
+ name: "@pi-harness/plugin-session-insights"
53
+ config: {}
54
+ - id: readme-gen
55
+ name: "@pi-harness/plugin-readme-gen"
56
+ config: {}
57
+ - id: i18n-pair
58
+ name: "@pi-harness/plugin-i18n-pair"
59
+ config: {}
60
+ - id: cleaner
61
+ name: "@pi-harness/plugin-cleaner"
62
+ config: {}
63
+ - id: sql-lens
64
+ name: "@pi-harness/plugin-sql-lens"
65
+ config:
66
+ timeoutMs: 5000
67
+ - id: docker-sandbox
68
+ name: "@pi-harness/plugin-docker-sandbox"
69
+ config: {}
70
+ - id: mcp-client
71
+ name: "@pi-harness/plugin-mcp-client"
72
+ config: {}
73
+ - id: browser-fetch
74
+ name: "@pi-harness/plugin-browser-fetch"
75
+ config: {}
76
+ - id: browser-session
77
+ name: "@pi-harness/plugin-browser-session"
78
+ config: {}
79
+ - id: plugin-stars
80
+ name: "@pi-harness/plugin-plugin-stars"
81
+ config: {}
82
+ - id: yaml-validator
83
+ name: "@pi-harness/plugin-yaml-validator"
84
+ config: {}
85
+ - id: plugin-dev
86
+ name: "@pi-harness/plugin-plugin-dev"
87
+ config: {}
88
+ - id: openpets
89
+ name: "@pi-harness/plugin-openpets"
90
+ config: {}
91
+ - id: session-bridge
92
+ name: "@pi-harness/plugin-session-bridge"
93
+ config: {}
94
+ - id: skill-guard
95
+ name: "@pi-harness/plugin-skill-guard"
96
+ config: {}
97
+ - id: recall-unread
98
+ name: "@pi-harness/plugin-recall-unread"
99
+ config: {}
100
+ - id: turn-rewind
101
+ name: "@pi-harness/plugin-turn-rewind"
102
+ config: {}
103
+ - id: context-doctor
104
+ name: "@pi-harness/plugin-context-doctor"
105
+ config: {}
106
+ - id: runtime
107
+ name: "@pi-harness/core/plugins/runtime"
108
+ config:
109
+ thinkingLevel: medium
110
+ - id: context
111
+ name: "@pi-harness/plugin-context"
112
+ config: {}
113
+ - id: token-guard
114
+ name: "@pi-harness/plugin-token-guard"
115
+ config:
116
+ maxPercent: 90
117
+ - id: fail-logger
118
+ name: "@pi-harness/plugin-fail-logger"
119
+ config: {}
120
+ - id: stdio
121
+ name: "@pi-harness/core/plugins/stdio"
122
+ config: {}
@@ -0,0 +1,47 @@
1
+ - id: logger
2
+ name: "@deepseek-ai/cordis-plugin-logger-console"
3
+ config: {}
4
+ - id: timer
5
+ name: "@deepseek-ai/cordis-plugin-timer"
6
+ config: {}
7
+ - id: hmr
8
+ name: "@deepseek-ai/cordis-plugin-hmr"
9
+ config:
10
+ base: !!js piHarnessLaunch.cwdUrl
11
+ root:
12
+ - .
13
+ - id: agent
14
+ name: cordis:group
15
+ group: true
16
+ config:
17
+ - id: models
18
+ name: "@pi-harness/core/plugins/models"
19
+ config:
20
+ provider: deepseek
21
+ model: deepseek-v4-flash
22
+ refreshOnCreate: false
23
+ - id: resources
24
+ name: "@pi-harness/core/plugins/resources"
25
+ config: {}
26
+ - id: model
27
+ name: "@pi-harness/core/plugins/model"
28
+ config: {}
29
+ - id: session
30
+ name: "@pi-harness/core/plugins/session"
31
+ config:
32
+ storage: jsonl
33
+ - id: tools
34
+ name: "@pi-harness/core/plugins/tools"
35
+ config:
36
+ names:
37
+ - read
38
+ - bash
39
+ - edit
40
+ - write
41
+ - id: runtime
42
+ name: "@pi-harness/core/plugins/runtime"
43
+ config:
44
+ thinkingLevel: medium
45
+ - id: stdio
46
+ name: "@pi-harness/core/plugins/stdio"
47
+ config: {}
@@ -1,8 +1,9 @@
1
1
  import { readFile } from "node:fs/promises";
2
2
  import type { Readable, Writable } from "node:stream";
3
- import { BUILTIN_PROFILES, bootHarness, provideLaunchContext, provideStdioContext, resolveProfileConfig, type BootedHarness } from "@pi-harness/core";
3
+ import { bootHarness, provideLaunchContext, provideStdioContext, resolveProfileConfig, type BootedHarness } from "@pi-harness/core";
4
4
  import { CliUsageError, parseLauncherArgs } from "./args.js";
5
5
  import { NodeStdio } from "./node-stdio.js";
6
+ import { BUILTIN_PROFILES, BUILTIN_PROFILES_DIR } from "./profiles.js";
6
7
  import { PI_HARNESS_RESTART_EXIT_CODE } from "./relaunch.js";
7
8
 
8
9
  export interface CliEnvironment {
@@ -76,7 +77,9 @@ export async function runCli(_args: readonly string[], _environment: CliEnvironm
76
77
  let configPath: string;
77
78
  try {
78
79
  configPath = await resolveProfileConfig({
79
- ...(invocation.configPath === undefined ? { profile: invocation.profile ?? "default" } : { configPath: invocation.configPath }),
80
+ ...(invocation.configPath === undefined
81
+ ? { profile: invocation.profile ?? "default", profilesDir: BUILTIN_PROFILES_DIR }
82
+ : { configPath: invocation.configPath }),
80
83
  cwd: environment.cwd,
81
84
  });
82
85
  if (invocation.dumpConfig) {
@@ -0,0 +1,6 @@
1
+ import { fileURLToPath } from "node:url";
2
+
3
+ export const BUILTIN_PROFILES = ["default", "development"] as const;
4
+
5
+ // The launcher ships the curated plugin set, so the profile directory sits next to its build output rather than inside the runtime package.
6
+ export const BUILTIN_PROFILES_DIR = fileURLToPath(new URL("../profiles", import.meta.url));