@pi-harness/pi-harness 0.1.25 → 0.1.26

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 (239) hide show
  1. package/apps/web/dist/assets/{index-Deo3hxmM.js → index-BCeWdgv2.js} +1 -1
  2. package/apps/web/dist/index.html +1 -1
  3. package/apps/web/package.json +6 -6
  4. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/agent-teams.json +1 -1
  5. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/anchored-standard.json +1 -1
  6. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/annotation.json +1 -1
  7. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/archify.json +1 -1
  8. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/at-file.json +1 -1
  9. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/auto-mode.json +1 -1
  10. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/better-sidebar.json +1 -1
  11. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-fetch.json +1 -1
  12. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-session.json +1 -1
  13. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/canvas-draw.json +1 -1
  14. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/change-verifier.json +1 -1
  15. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cleaner.json +1 -1
  16. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cli-notifier.json +1 -1
  17. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/code2skill.json +1 -1
  18. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/colleague-skill.json +1 -1
  19. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context-doctor.json +1 -1
  20. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context.json +1 -1
  21. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cost-meter.json +1 -1
  22. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/dependency-checker.json +1 -1
  23. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +1 -1
  24. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/fail-logger.json +1 -1
  25. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/genui.json +1 -1
  26. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +1 -1
  27. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/graph-memory.json +1 -1
  28. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/history-compressor.json +1 -1
  29. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/hol-guard.json +1 -1
  30. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/i18n-pair.json +1 -1
  31. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/image-compressor.json +1 -1
  32. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/llm-verifier.json +1 -1
  33. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-client.json +1 -1
  34. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-panel.json +1 -1
  35. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/memory.json +1 -1
  36. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +1 -1
  37. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mock-server.json +1 -1
  38. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/modlens.json +1 -1
  39. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/module-search.json +1 -1
  40. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +1 -1
  41. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/openpets.json +1 -1
  42. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plan-execute.json +1 -1
  43. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-check.json +1 -1
  44. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-dev.json +1 -1
  45. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-finder.json +1 -1
  46. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-radar.json +1 -1
  47. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-stars.json +1 -1
  48. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-guard.json +1 -1
  49. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-library.json +1 -1
  50. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/readme-gen.json +1 -1
  51. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/recall-unread.json +1 -1
  52. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reverse-skill.json +1 -1
  53. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +1 -1
  54. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +1 -1
  55. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/secure-audit.json +1 -1
  56. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +1 -1
  57. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bridge.json +1 -1
  58. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-compare.json +1 -1
  59. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-export.json +1 -1
  60. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-insights.json +1 -1
  61. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-search.json +1 -1
  62. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-catalog.json +1 -1
  63. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-guard.json +1 -1
  64. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/sql-lens.json +1 -1
  65. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/synapse.json +1 -1
  66. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/tab-manager.json +1 -1
  67. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/taskboard.json +1 -1
  68. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +1 -1
  69. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/test-harness.json +1 -1
  70. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/theme-studio.json +1 -1
  71. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/token-guard.json +1 -1
  72. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/turn-rewind.json +1 -1
  73. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +1 -1
  74. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +1 -1
  75. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/web-research.json +1 -1
  76. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +1 -1
  77. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-search.json +1 -1
  78. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/yaml-validator.json +1 -1
  79. package/node_modules/@pi-harness/api-gateway/package.json +1 -1
  80. package/node_modules/@pi-harness/cli/package.json +1 -1
  81. package/node_modules/@pi-harness/host-webserver/package.json +1 -1
  82. package/node_modules/@pi-harness/web-app/package.json +1 -1
  83. package/package.json +6 -6
  84. package/packages/api-gateway/dist/marketplace-entries/official/agent-teams.json +1 -1
  85. package/packages/api-gateway/dist/marketplace-entries/official/anchored-standard.json +1 -1
  86. package/packages/api-gateway/dist/marketplace-entries/official/annotation.json +1 -1
  87. package/packages/api-gateway/dist/marketplace-entries/official/archify.json +1 -1
  88. package/packages/api-gateway/dist/marketplace-entries/official/at-file.json +1 -1
  89. package/packages/api-gateway/dist/marketplace-entries/official/auto-mode.json +1 -1
  90. package/packages/api-gateway/dist/marketplace-entries/official/better-sidebar.json +1 -1
  91. package/packages/api-gateway/dist/marketplace-entries/official/browser-fetch.json +1 -1
  92. package/packages/api-gateway/dist/marketplace-entries/official/browser-session.json +1 -1
  93. package/packages/api-gateway/dist/marketplace-entries/official/canvas-draw.json +1 -1
  94. package/packages/api-gateway/dist/marketplace-entries/official/change-verifier.json +1 -1
  95. package/packages/api-gateway/dist/marketplace-entries/official/cleaner.json +1 -1
  96. package/packages/api-gateway/dist/marketplace-entries/official/cli-notifier.json +1 -1
  97. package/packages/api-gateway/dist/marketplace-entries/official/code2skill.json +1 -1
  98. package/packages/api-gateway/dist/marketplace-entries/official/colleague-skill.json +1 -1
  99. package/packages/api-gateway/dist/marketplace-entries/official/context-doctor.json +1 -1
  100. package/packages/api-gateway/dist/marketplace-entries/official/context.json +1 -1
  101. package/packages/api-gateway/dist/marketplace-entries/official/cost-meter.json +1 -1
  102. package/packages/api-gateway/dist/marketplace-entries/official/dependency-checker.json +1 -1
  103. package/packages/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +1 -1
  104. package/packages/api-gateway/dist/marketplace-entries/official/fail-logger.json +1 -1
  105. package/packages/api-gateway/dist/marketplace-entries/official/genui.json +1 -1
  106. package/packages/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +1 -1
  107. package/packages/api-gateway/dist/marketplace-entries/official/graph-memory.json +1 -1
  108. package/packages/api-gateway/dist/marketplace-entries/official/history-compressor.json +1 -1
  109. package/packages/api-gateway/dist/marketplace-entries/official/hol-guard.json +1 -1
  110. package/packages/api-gateway/dist/marketplace-entries/official/i18n-pair.json +1 -1
  111. package/packages/api-gateway/dist/marketplace-entries/official/image-compressor.json +1 -1
  112. package/packages/api-gateway/dist/marketplace-entries/official/llm-verifier.json +1 -1
  113. package/packages/api-gateway/dist/marketplace-entries/official/mcp-client.json +1 -1
  114. package/packages/api-gateway/dist/marketplace-entries/official/mcp-panel.json +1 -1
  115. package/packages/api-gateway/dist/marketplace-entries/official/memory.json +1 -1
  116. package/packages/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +1 -1
  117. package/packages/api-gateway/dist/marketplace-entries/official/mock-server.json +1 -1
  118. package/packages/api-gateway/dist/marketplace-entries/official/modlens.json +1 -1
  119. package/packages/api-gateway/dist/marketplace-entries/official/module-search.json +1 -1
  120. package/packages/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +1 -1
  121. package/packages/api-gateway/dist/marketplace-entries/official/openpets.json +1 -1
  122. package/packages/api-gateway/dist/marketplace-entries/official/plan-execute.json +1 -1
  123. package/packages/api-gateway/dist/marketplace-entries/official/plugin-check.json +1 -1
  124. package/packages/api-gateway/dist/marketplace-entries/official/plugin-dev.json +1 -1
  125. package/packages/api-gateway/dist/marketplace-entries/official/plugin-finder.json +1 -1
  126. package/packages/api-gateway/dist/marketplace-entries/official/plugin-radar.json +1 -1
  127. package/packages/api-gateway/dist/marketplace-entries/official/plugin-stars.json +1 -1
  128. package/packages/api-gateway/dist/marketplace-entries/official/prompt-guard.json +1 -1
  129. package/packages/api-gateway/dist/marketplace-entries/official/prompt-library.json +1 -1
  130. package/packages/api-gateway/dist/marketplace-entries/official/readme-gen.json +1 -1
  131. package/packages/api-gateway/dist/marketplace-entries/official/recall-unread.json +1 -1
  132. package/packages/api-gateway/dist/marketplace-entries/official/reverse-skill.json +1 -1
  133. package/packages/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +1 -1
  134. package/packages/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +1 -1
  135. package/packages/api-gateway/dist/marketplace-entries/official/secure-audit.json +1 -1
  136. package/packages/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +1 -1
  137. package/packages/api-gateway/dist/marketplace-entries/official/session-bridge.json +1 -1
  138. package/packages/api-gateway/dist/marketplace-entries/official/session-compare.json +1 -1
  139. package/packages/api-gateway/dist/marketplace-entries/official/session-export.json +1 -1
  140. package/packages/api-gateway/dist/marketplace-entries/official/session-insights.json +1 -1
  141. package/packages/api-gateway/dist/marketplace-entries/official/session-search.json +1 -1
  142. package/packages/api-gateway/dist/marketplace-entries/official/skill-catalog.json +1 -1
  143. package/packages/api-gateway/dist/marketplace-entries/official/skill-guard.json +1 -1
  144. package/packages/api-gateway/dist/marketplace-entries/official/sql-lens.json +1 -1
  145. package/packages/api-gateway/dist/marketplace-entries/official/synapse.json +1 -1
  146. package/packages/api-gateway/dist/marketplace-entries/official/tab-manager.json +1 -1
  147. package/packages/api-gateway/dist/marketplace-entries/official/taskboard.json +1 -1
  148. package/packages/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +1 -1
  149. package/packages/api-gateway/dist/marketplace-entries/official/test-harness.json +1 -1
  150. package/packages/api-gateway/dist/marketplace-entries/official/theme-studio.json +1 -1
  151. package/packages/api-gateway/dist/marketplace-entries/official/token-guard.json +1 -1
  152. package/packages/api-gateway/dist/marketplace-entries/official/turn-rewind.json +1 -1
  153. package/packages/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +1 -1
  154. package/packages/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +1 -1
  155. package/packages/api-gateway/dist/marketplace-entries/official/web-research.json +1 -1
  156. package/packages/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +1 -1
  157. package/packages/api-gateway/dist/marketplace-entries/official/workspace-search.json +1 -1
  158. package/packages/api-gateway/dist/marketplace-entries/official/yaml-validator.json +1 -1
  159. package/packages/api-gateway/package.json +1 -1
  160. package/packages/api-gateway/src/marketplace-entries/official/agent-teams.json +1 -1
  161. package/packages/api-gateway/src/marketplace-entries/official/anchored-standard.json +1 -1
  162. package/packages/api-gateway/src/marketplace-entries/official/annotation.json +1 -1
  163. package/packages/api-gateway/src/marketplace-entries/official/archify.json +1 -1
  164. package/packages/api-gateway/src/marketplace-entries/official/at-file.json +1 -1
  165. package/packages/api-gateway/src/marketplace-entries/official/auto-mode.json +1 -1
  166. package/packages/api-gateway/src/marketplace-entries/official/better-sidebar.json +1 -1
  167. package/packages/api-gateway/src/marketplace-entries/official/browser-fetch.json +1 -1
  168. package/packages/api-gateway/src/marketplace-entries/official/browser-session.json +1 -1
  169. package/packages/api-gateway/src/marketplace-entries/official/canvas-draw.json +1 -1
  170. package/packages/api-gateway/src/marketplace-entries/official/change-verifier.json +1 -1
  171. package/packages/api-gateway/src/marketplace-entries/official/cleaner.json +1 -1
  172. package/packages/api-gateway/src/marketplace-entries/official/cli-notifier.json +1 -1
  173. package/packages/api-gateway/src/marketplace-entries/official/code2skill.json +1 -1
  174. package/packages/api-gateway/src/marketplace-entries/official/colleague-skill.json +1 -1
  175. package/packages/api-gateway/src/marketplace-entries/official/context-doctor.json +1 -1
  176. package/packages/api-gateway/src/marketplace-entries/official/context.json +1 -1
  177. package/packages/api-gateway/src/marketplace-entries/official/cost-meter.json +1 -1
  178. package/packages/api-gateway/src/marketplace-entries/official/dependency-checker.json +1 -1
  179. package/packages/api-gateway/src/marketplace-entries/official/docker-sandbox.json +1 -1
  180. package/packages/api-gateway/src/marketplace-entries/official/fail-logger.json +1 -1
  181. package/packages/api-gateway/src/marketplace-entries/official/genui.json +1 -1
  182. package/packages/api-gateway/src/marketplace-entries/official/git-time-capsule.json +1 -1
  183. package/packages/api-gateway/src/marketplace-entries/official/graph-memory.json +1 -1
  184. package/packages/api-gateway/src/marketplace-entries/official/history-compressor.json +1 -1
  185. package/packages/api-gateway/src/marketplace-entries/official/hol-guard.json +1 -1
  186. package/packages/api-gateway/src/marketplace-entries/official/i18n-pair.json +1 -1
  187. package/packages/api-gateway/src/marketplace-entries/official/image-compressor.json +1 -1
  188. package/packages/api-gateway/src/marketplace-entries/official/llm-verifier.json +1 -1
  189. package/packages/api-gateway/src/marketplace-entries/official/mcp-client.json +1 -1
  190. package/packages/api-gateway/src/marketplace-entries/official/mcp-panel.json +1 -1
  191. package/packages/api-gateway/src/marketplace-entries/official/memory.json +1 -1
  192. package/packages/api-gateway/src/marketplace-entries/official/mirage-bridge.json +1 -1
  193. package/packages/api-gateway/src/marketplace-entries/official/mock-server.json +1 -1
  194. package/packages/api-gateway/src/marketplace-entries/official/modlens.json +1 -1
  195. package/packages/api-gateway/src/marketplace-entries/official/module-search.json +1 -1
  196. package/packages/api-gateway/src/marketplace-entries/official/obsidian-sync.json +1 -1
  197. package/packages/api-gateway/src/marketplace-entries/official/openpets.json +1 -1
  198. package/packages/api-gateway/src/marketplace-entries/official/plan-execute.json +1 -1
  199. package/packages/api-gateway/src/marketplace-entries/official/plugin-check.json +1 -1
  200. package/packages/api-gateway/src/marketplace-entries/official/plugin-dev.json +1 -1
  201. package/packages/api-gateway/src/marketplace-entries/official/plugin-finder.json +1 -1
  202. package/packages/api-gateway/src/marketplace-entries/official/plugin-radar.json +1 -1
  203. package/packages/api-gateway/src/marketplace-entries/official/plugin-stars.json +1 -1
  204. package/packages/api-gateway/src/marketplace-entries/official/prompt-guard.json +1 -1
  205. package/packages/api-gateway/src/marketplace-entries/official/prompt-library.json +1 -1
  206. package/packages/api-gateway/src/marketplace-entries/official/readme-gen.json +1 -1
  207. package/packages/api-gateway/src/marketplace-entries/official/recall-unread.json +1 -1
  208. package/packages/api-gateway/src/marketplace-entries/official/reverse-skill.json +1 -1
  209. package/packages/api-gateway/src/marketplace-entries/official/reviewer-bot.json +1 -1
  210. package/packages/api-gateway/src/marketplace-entries/official/runtime-doctor.json +1 -1
  211. package/packages/api-gateway/src/marketplace-entries/official/secure-audit.json +1 -1
  212. package/packages/api-gateway/src/marketplace-entries/official/session-bookmarks.json +1 -1
  213. package/packages/api-gateway/src/marketplace-entries/official/session-bridge.json +1 -1
  214. package/packages/api-gateway/src/marketplace-entries/official/session-compare.json +1 -1
  215. package/packages/api-gateway/src/marketplace-entries/official/session-export.json +1 -1
  216. package/packages/api-gateway/src/marketplace-entries/official/session-insights.json +1 -1
  217. package/packages/api-gateway/src/marketplace-entries/official/session-search.json +1 -1
  218. package/packages/api-gateway/src/marketplace-entries/official/skill-catalog.json +1 -1
  219. package/packages/api-gateway/src/marketplace-entries/official/skill-guard.json +1 -1
  220. package/packages/api-gateway/src/marketplace-entries/official/sql-lens.json +1 -1
  221. package/packages/api-gateway/src/marketplace-entries/official/synapse.json +1 -1
  222. package/packages/api-gateway/src/marketplace-entries/official/tab-manager.json +1 -1
  223. package/packages/api-gateway/src/marketplace-entries/official/taskboard.json +1 -1
  224. package/packages/api-gateway/src/marketplace-entries/official/telemetry-blocker.json +1 -1
  225. package/packages/api-gateway/src/marketplace-entries/official/test-harness.json +1 -1
  226. package/packages/api-gateway/src/marketplace-entries/official/theme-studio.json +1 -1
  227. package/packages/api-gateway/src/marketplace-entries/official/token-guard.json +1 -1
  228. package/packages/api-gateway/src/marketplace-entries/official/turn-rewind.json +1 -1
  229. package/packages/api-gateway/src/marketplace-entries/official/undo-savepoint.json +1 -1
  230. package/packages/api-gateway/src/marketplace-entries/official/vision-toolkit.json +1 -1
  231. package/packages/api-gateway/src/marketplace-entries/official/web-research.json +1 -1
  232. package/packages/api-gateway/src/marketplace-entries/official/workspace-navigator.json +1 -1
  233. package/packages/api-gateway/src/marketplace-entries/official/workspace-search.json +1 -1
  234. package/packages/api-gateway/src/marketplace-entries/official/yaml-validator.json +1 -1
  235. package/packages/api-gateway/test/release-contract.test.ts +7 -2
  236. package/packages/api-gateway/test/release-package.test.ts +16 -0
  237. package/packages/bundle-web-app/package.json +1 -1
  238. package/packages/cli/package.json +1 -1
  239. package/packages/host-webserver/package.json +1 -1
@@ -58,7 +58,7 @@ describe("release contract", () => {
58
58
  });
59
59
 
60
60
  test("core declares every package its sources and shipped profiles load", () => {
61
- const core = readJson("packages/core/package.json") as { name: string; dependencies: Record<string, string> };
61
+ const core = readJson("packages/core/package.json") as { name: string; dependencies: Record<string, string>; peerDependencies: Record<string, string> };
62
62
  const specifierPattern =
63
63
  /(?: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;
64
64
  const required = new Map<string, string>();
@@ -72,6 +72,11 @@ describe("release contract", () => {
72
72
  }
73
73
  const external = [...required].filter(([name]) => !name.startsWith("node:") && !name.includes(":") && name !== core.name);
74
74
  expect(external.length).toBeGreaterThan(0);
75
- for (const [name, file] of external) expect(core.dependencies[name], `${name} (used by ${file}) is missing from ${core.name} dependencies`).toBeDefined();
75
+ // A runtime that appears in the published type surface is declared as a peer instead, so the consumer owns the single installed copy.
76
+ for (const [name, file] of external)
77
+ expect(
78
+ core.dependencies[name] ?? core.peerDependencies[name],
79
+ `${name} (used by ${file}) is declared by neither ${core.name} dependencies nor peerDependencies`,
80
+ ).toBeDefined();
76
81
  });
77
82
  });
@@ -7,6 +7,8 @@ const bundledWorkspacePaths = ["api-gateway", "cli", "host-webserver", "bundle-w
7
7
  const bundledRuntimePackageNames = ["@earendil-works/pi-agent-core", "@earendil-works/pi-ai", "@earendil-works/pi-coding-agent"] as const;
8
8
  const bundledWorkspacePackageNames = ["@pi-harness/api-gateway", "@pi-harness/cli", "@pi-harness/host-webserver", "@pi-harness/web-app"] as const;
9
9
  const bundledPackageNames = [...bundledRuntimePackageNames, ...bundledWorkspacePackageNames];
10
+ // Runtimes whose types appear in the published surface of @pi-harness/core. npm nests a second copy of a pinned dependency when the consumer wants a different version; a peer resolves to the consumer's single copy instead.
11
+ const corePeerRuntimeNames = ["@deepseek-ai/cordis", "@deepseek-ai/schemastery", "@earendil-works/pi-ai", "@earendil-works/pi-coding-agent"] as const;
10
12
 
11
13
  const readJson = async (path: string): Promise<Record<string, unknown>> =>
12
14
  JSON.parse(await readFile(resolve(repositoryRoot, path), "utf8")) as Record<string, unknown>;
@@ -36,6 +38,20 @@ describe("release package", () => {
36
38
  expect(workflow).not.toContain("RELEASE_TAG_EXISTS");
37
39
  });
38
40
 
41
+ it("keeps the runtimes in the core type surface as peers so a plugin author resolves one copy", async () => {
42
+ const rootManifest = await readJson("package.json");
43
+ const rootDependencies = rootManifest.dependencies as Record<string, string>;
44
+ const core = await readJson("packages/core/package.json");
45
+ const coreDependencies = (core.dependencies ?? {}) as Record<string, string>;
46
+ const corePeers = (core.peerDependencies ?? {}) as Record<string, string>;
47
+
48
+ expect(Object.keys(corePeers).sort()).toEqual([...corePeerRuntimeNames]);
49
+ for (const name of corePeerRuntimeNames) {
50
+ expect(coreDependencies[name], `${name} must not also be a dependency, which reintroduces the nested copy`).toBeUndefined();
51
+ expect(corePeers[name], `${name} peer range must pin the version the launcher installs`).toBe(rootDependencies[name]);
52
+ }
53
+ });
54
+
39
55
  it("cleans every compiled workspace output", async () => {
40
56
  // `tsc` never removes stale emit, so an output directory that no clean script touches keeps publishing files whose sources are gone.
41
57
  const rootManifest = await readJson("package.json");
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/web-app",
3
- "version": "0.1.25",
3
+ "version": "0.1.26",
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/cli",
3
- "version": "0.1.25",
3
+ "version": "0.1.26",
4
4
  "private": true,
5
5
  "description": "Plugin-first Pi Harness CLI",
6
6
  "homepage": "https://github.com/pi-harness/pi-harness#readme",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/host-webserver",
3
- "version": "0.1.25",
3
+ "version": "0.1.26",
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",