@pi-harness/pi-harness 0.1.26 → 0.1.28

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 (240) hide show
  1. package/README.md +2 -2
  2. package/apps/web/dist/assets/{index-BCeWdgv2.js → index-1vaEg8Vr.js} +1 -1
  3. package/apps/web/dist/index.html +1 -1
  4. package/apps/web/package.json +6 -6
  5. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/agent-teams.json +1 -1
  6. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/anchored-standard.json +1 -1
  7. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/annotation.json +1 -1
  8. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/archify.json +1 -1
  9. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/at-file.json +1 -1
  10. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/auto-mode.json +1 -1
  11. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/better-sidebar.json +1 -1
  12. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-fetch.json +1 -1
  13. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-session.json +1 -1
  14. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/canvas-draw.json +1 -1
  15. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/change-verifier.json +1 -1
  16. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cleaner.json +1 -1
  17. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cli-notifier.json +1 -1
  18. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/code2skill.json +1 -1
  19. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/colleague-skill.json +1 -1
  20. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context-doctor.json +1 -1
  21. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context.json +1 -1
  22. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cost-meter.json +1 -1
  23. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/dependency-checker.json +1 -1
  24. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +1 -1
  25. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/fail-logger.json +1 -1
  26. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/genui.json +1 -1
  27. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +1 -1
  28. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/graph-memory.json +1 -1
  29. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/history-compressor.json +1 -1
  30. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/hol-guard.json +1 -1
  31. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/i18n-pair.json +1 -1
  32. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/image-compressor.json +1 -1
  33. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/llm-verifier.json +1 -1
  34. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-client.json +1 -1
  35. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-panel.json +1 -1
  36. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/memory.json +1 -1
  37. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +1 -1
  38. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mock-server.json +1 -1
  39. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/modlens.json +1 -1
  40. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/module-search.json +1 -1
  41. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +1 -1
  42. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/openpets.json +1 -1
  43. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plan-execute.json +1 -1
  44. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-check.json +1 -1
  45. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-dev.json +1 -1
  46. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-finder.json +1 -1
  47. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-radar.json +1 -1
  48. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-stars.json +1 -1
  49. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-guard.json +1 -1
  50. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-library.json +1 -1
  51. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/readme-gen.json +1 -1
  52. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/recall-unread.json +1 -1
  53. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reverse-skill.json +1 -1
  54. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +1 -1
  55. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +1 -1
  56. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/secure-audit.json +1 -1
  57. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +1 -1
  58. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bridge.json +1 -1
  59. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-compare.json +1 -1
  60. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-export.json +1 -1
  61. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-insights.json +1 -1
  62. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-search.json +1 -1
  63. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-catalog.json +1 -1
  64. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-guard.json +1 -1
  65. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/sql-lens.json +1 -1
  66. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/synapse.json +1 -1
  67. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/tab-manager.json +1 -1
  68. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/taskboard.json +1 -1
  69. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +1 -1
  70. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/test-harness.json +1 -1
  71. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/theme-studio.json +1 -1
  72. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/token-guard.json +1 -1
  73. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/turn-rewind.json +1 -1
  74. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +1 -1
  75. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +1 -1
  76. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/web-research.json +1 -1
  77. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +1 -1
  78. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-search.json +1 -1
  79. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/yaml-validator.json +1 -1
  80. package/node_modules/@pi-harness/api-gateway/package.json +1 -1
  81. package/node_modules/@pi-harness/cli/package.json +1 -1
  82. package/node_modules/@pi-harness/host-webserver/package.json +1 -1
  83. package/node_modules/@pi-harness/web-app/package.json +1 -1
  84. package/package.json +9 -9
  85. package/packages/api-gateway/dist/marketplace-entries/official/agent-teams.json +1 -1
  86. package/packages/api-gateway/dist/marketplace-entries/official/anchored-standard.json +1 -1
  87. package/packages/api-gateway/dist/marketplace-entries/official/annotation.json +1 -1
  88. package/packages/api-gateway/dist/marketplace-entries/official/archify.json +1 -1
  89. package/packages/api-gateway/dist/marketplace-entries/official/at-file.json +1 -1
  90. package/packages/api-gateway/dist/marketplace-entries/official/auto-mode.json +1 -1
  91. package/packages/api-gateway/dist/marketplace-entries/official/better-sidebar.json +1 -1
  92. package/packages/api-gateway/dist/marketplace-entries/official/browser-fetch.json +1 -1
  93. package/packages/api-gateway/dist/marketplace-entries/official/browser-session.json +1 -1
  94. package/packages/api-gateway/dist/marketplace-entries/official/canvas-draw.json +1 -1
  95. package/packages/api-gateway/dist/marketplace-entries/official/change-verifier.json +1 -1
  96. package/packages/api-gateway/dist/marketplace-entries/official/cleaner.json +1 -1
  97. package/packages/api-gateway/dist/marketplace-entries/official/cli-notifier.json +1 -1
  98. package/packages/api-gateway/dist/marketplace-entries/official/code2skill.json +1 -1
  99. package/packages/api-gateway/dist/marketplace-entries/official/colleague-skill.json +1 -1
  100. package/packages/api-gateway/dist/marketplace-entries/official/context-doctor.json +1 -1
  101. package/packages/api-gateway/dist/marketplace-entries/official/context.json +1 -1
  102. package/packages/api-gateway/dist/marketplace-entries/official/cost-meter.json +1 -1
  103. package/packages/api-gateway/dist/marketplace-entries/official/dependency-checker.json +1 -1
  104. package/packages/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +1 -1
  105. package/packages/api-gateway/dist/marketplace-entries/official/fail-logger.json +1 -1
  106. package/packages/api-gateway/dist/marketplace-entries/official/genui.json +1 -1
  107. package/packages/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +1 -1
  108. package/packages/api-gateway/dist/marketplace-entries/official/graph-memory.json +1 -1
  109. package/packages/api-gateway/dist/marketplace-entries/official/history-compressor.json +1 -1
  110. package/packages/api-gateway/dist/marketplace-entries/official/hol-guard.json +1 -1
  111. package/packages/api-gateway/dist/marketplace-entries/official/i18n-pair.json +1 -1
  112. package/packages/api-gateway/dist/marketplace-entries/official/image-compressor.json +1 -1
  113. package/packages/api-gateway/dist/marketplace-entries/official/llm-verifier.json +1 -1
  114. package/packages/api-gateway/dist/marketplace-entries/official/mcp-client.json +1 -1
  115. package/packages/api-gateway/dist/marketplace-entries/official/mcp-panel.json +1 -1
  116. package/packages/api-gateway/dist/marketplace-entries/official/memory.json +1 -1
  117. package/packages/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +1 -1
  118. package/packages/api-gateway/dist/marketplace-entries/official/mock-server.json +1 -1
  119. package/packages/api-gateway/dist/marketplace-entries/official/modlens.json +1 -1
  120. package/packages/api-gateway/dist/marketplace-entries/official/module-search.json +1 -1
  121. package/packages/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +1 -1
  122. package/packages/api-gateway/dist/marketplace-entries/official/openpets.json +1 -1
  123. package/packages/api-gateway/dist/marketplace-entries/official/plan-execute.json +1 -1
  124. package/packages/api-gateway/dist/marketplace-entries/official/plugin-check.json +1 -1
  125. package/packages/api-gateway/dist/marketplace-entries/official/plugin-dev.json +1 -1
  126. package/packages/api-gateway/dist/marketplace-entries/official/plugin-finder.json +1 -1
  127. package/packages/api-gateway/dist/marketplace-entries/official/plugin-radar.json +1 -1
  128. package/packages/api-gateway/dist/marketplace-entries/official/plugin-stars.json +1 -1
  129. package/packages/api-gateway/dist/marketplace-entries/official/prompt-guard.json +1 -1
  130. package/packages/api-gateway/dist/marketplace-entries/official/prompt-library.json +1 -1
  131. package/packages/api-gateway/dist/marketplace-entries/official/readme-gen.json +1 -1
  132. package/packages/api-gateway/dist/marketplace-entries/official/recall-unread.json +1 -1
  133. package/packages/api-gateway/dist/marketplace-entries/official/reverse-skill.json +1 -1
  134. package/packages/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +1 -1
  135. package/packages/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +1 -1
  136. package/packages/api-gateway/dist/marketplace-entries/official/secure-audit.json +1 -1
  137. package/packages/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +1 -1
  138. package/packages/api-gateway/dist/marketplace-entries/official/session-bridge.json +1 -1
  139. package/packages/api-gateway/dist/marketplace-entries/official/session-compare.json +1 -1
  140. package/packages/api-gateway/dist/marketplace-entries/official/session-export.json +1 -1
  141. package/packages/api-gateway/dist/marketplace-entries/official/session-insights.json +1 -1
  142. package/packages/api-gateway/dist/marketplace-entries/official/session-search.json +1 -1
  143. package/packages/api-gateway/dist/marketplace-entries/official/skill-catalog.json +1 -1
  144. package/packages/api-gateway/dist/marketplace-entries/official/skill-guard.json +1 -1
  145. package/packages/api-gateway/dist/marketplace-entries/official/sql-lens.json +1 -1
  146. package/packages/api-gateway/dist/marketplace-entries/official/synapse.json +1 -1
  147. package/packages/api-gateway/dist/marketplace-entries/official/tab-manager.json +1 -1
  148. package/packages/api-gateway/dist/marketplace-entries/official/taskboard.json +1 -1
  149. package/packages/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +1 -1
  150. package/packages/api-gateway/dist/marketplace-entries/official/test-harness.json +1 -1
  151. package/packages/api-gateway/dist/marketplace-entries/official/theme-studio.json +1 -1
  152. package/packages/api-gateway/dist/marketplace-entries/official/token-guard.json +1 -1
  153. package/packages/api-gateway/dist/marketplace-entries/official/turn-rewind.json +1 -1
  154. package/packages/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +1 -1
  155. package/packages/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +1 -1
  156. package/packages/api-gateway/dist/marketplace-entries/official/web-research.json +1 -1
  157. package/packages/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +1 -1
  158. package/packages/api-gateway/dist/marketplace-entries/official/workspace-search.json +1 -1
  159. package/packages/api-gateway/dist/marketplace-entries/official/yaml-validator.json +1 -1
  160. package/packages/api-gateway/package.json +1 -1
  161. package/packages/api-gateway/src/marketplace-entries/official/agent-teams.json +1 -1
  162. package/packages/api-gateway/src/marketplace-entries/official/anchored-standard.json +1 -1
  163. package/packages/api-gateway/src/marketplace-entries/official/annotation.json +1 -1
  164. package/packages/api-gateway/src/marketplace-entries/official/archify.json +1 -1
  165. package/packages/api-gateway/src/marketplace-entries/official/at-file.json +1 -1
  166. package/packages/api-gateway/src/marketplace-entries/official/auto-mode.json +1 -1
  167. package/packages/api-gateway/src/marketplace-entries/official/better-sidebar.json +1 -1
  168. package/packages/api-gateway/src/marketplace-entries/official/browser-fetch.json +1 -1
  169. package/packages/api-gateway/src/marketplace-entries/official/browser-session.json +1 -1
  170. package/packages/api-gateway/src/marketplace-entries/official/canvas-draw.json +1 -1
  171. package/packages/api-gateway/src/marketplace-entries/official/change-verifier.json +1 -1
  172. package/packages/api-gateway/src/marketplace-entries/official/cleaner.json +1 -1
  173. package/packages/api-gateway/src/marketplace-entries/official/cli-notifier.json +1 -1
  174. package/packages/api-gateway/src/marketplace-entries/official/code2skill.json +1 -1
  175. package/packages/api-gateway/src/marketplace-entries/official/colleague-skill.json +1 -1
  176. package/packages/api-gateway/src/marketplace-entries/official/context-doctor.json +1 -1
  177. package/packages/api-gateway/src/marketplace-entries/official/context.json +1 -1
  178. package/packages/api-gateway/src/marketplace-entries/official/cost-meter.json +1 -1
  179. package/packages/api-gateway/src/marketplace-entries/official/dependency-checker.json +1 -1
  180. package/packages/api-gateway/src/marketplace-entries/official/docker-sandbox.json +1 -1
  181. package/packages/api-gateway/src/marketplace-entries/official/fail-logger.json +1 -1
  182. package/packages/api-gateway/src/marketplace-entries/official/genui.json +1 -1
  183. package/packages/api-gateway/src/marketplace-entries/official/git-time-capsule.json +1 -1
  184. package/packages/api-gateway/src/marketplace-entries/official/graph-memory.json +1 -1
  185. package/packages/api-gateway/src/marketplace-entries/official/history-compressor.json +1 -1
  186. package/packages/api-gateway/src/marketplace-entries/official/hol-guard.json +1 -1
  187. package/packages/api-gateway/src/marketplace-entries/official/i18n-pair.json +1 -1
  188. package/packages/api-gateway/src/marketplace-entries/official/image-compressor.json +1 -1
  189. package/packages/api-gateway/src/marketplace-entries/official/llm-verifier.json +1 -1
  190. package/packages/api-gateway/src/marketplace-entries/official/mcp-client.json +1 -1
  191. package/packages/api-gateway/src/marketplace-entries/official/mcp-panel.json +1 -1
  192. package/packages/api-gateway/src/marketplace-entries/official/memory.json +1 -1
  193. package/packages/api-gateway/src/marketplace-entries/official/mirage-bridge.json +1 -1
  194. package/packages/api-gateway/src/marketplace-entries/official/mock-server.json +1 -1
  195. package/packages/api-gateway/src/marketplace-entries/official/modlens.json +1 -1
  196. package/packages/api-gateway/src/marketplace-entries/official/module-search.json +1 -1
  197. package/packages/api-gateway/src/marketplace-entries/official/obsidian-sync.json +1 -1
  198. package/packages/api-gateway/src/marketplace-entries/official/openpets.json +1 -1
  199. package/packages/api-gateway/src/marketplace-entries/official/plan-execute.json +1 -1
  200. package/packages/api-gateway/src/marketplace-entries/official/plugin-check.json +1 -1
  201. package/packages/api-gateway/src/marketplace-entries/official/plugin-dev.json +1 -1
  202. package/packages/api-gateway/src/marketplace-entries/official/plugin-finder.json +1 -1
  203. package/packages/api-gateway/src/marketplace-entries/official/plugin-radar.json +1 -1
  204. package/packages/api-gateway/src/marketplace-entries/official/plugin-stars.json +1 -1
  205. package/packages/api-gateway/src/marketplace-entries/official/prompt-guard.json +1 -1
  206. package/packages/api-gateway/src/marketplace-entries/official/prompt-library.json +1 -1
  207. package/packages/api-gateway/src/marketplace-entries/official/readme-gen.json +1 -1
  208. package/packages/api-gateway/src/marketplace-entries/official/recall-unread.json +1 -1
  209. package/packages/api-gateway/src/marketplace-entries/official/reverse-skill.json +1 -1
  210. package/packages/api-gateway/src/marketplace-entries/official/reviewer-bot.json +1 -1
  211. package/packages/api-gateway/src/marketplace-entries/official/runtime-doctor.json +1 -1
  212. package/packages/api-gateway/src/marketplace-entries/official/secure-audit.json +1 -1
  213. package/packages/api-gateway/src/marketplace-entries/official/session-bookmarks.json +1 -1
  214. package/packages/api-gateway/src/marketplace-entries/official/session-bridge.json +1 -1
  215. package/packages/api-gateway/src/marketplace-entries/official/session-compare.json +1 -1
  216. package/packages/api-gateway/src/marketplace-entries/official/session-export.json +1 -1
  217. package/packages/api-gateway/src/marketplace-entries/official/session-insights.json +1 -1
  218. package/packages/api-gateway/src/marketplace-entries/official/session-search.json +1 -1
  219. package/packages/api-gateway/src/marketplace-entries/official/skill-catalog.json +1 -1
  220. package/packages/api-gateway/src/marketplace-entries/official/skill-guard.json +1 -1
  221. package/packages/api-gateway/src/marketplace-entries/official/sql-lens.json +1 -1
  222. package/packages/api-gateway/src/marketplace-entries/official/synapse.json +1 -1
  223. package/packages/api-gateway/src/marketplace-entries/official/tab-manager.json +1 -1
  224. package/packages/api-gateway/src/marketplace-entries/official/taskboard.json +1 -1
  225. package/packages/api-gateway/src/marketplace-entries/official/telemetry-blocker.json +1 -1
  226. package/packages/api-gateway/src/marketplace-entries/official/test-harness.json +1 -1
  227. package/packages/api-gateway/src/marketplace-entries/official/theme-studio.json +1 -1
  228. package/packages/api-gateway/src/marketplace-entries/official/token-guard.json +1 -1
  229. package/packages/api-gateway/src/marketplace-entries/official/turn-rewind.json +1 -1
  230. package/packages/api-gateway/src/marketplace-entries/official/undo-savepoint.json +1 -1
  231. package/packages/api-gateway/src/marketplace-entries/official/vision-toolkit.json +1 -1
  232. package/packages/api-gateway/src/marketplace-entries/official/web-research.json +1 -1
  233. package/packages/api-gateway/src/marketplace-entries/official/workspace-navigator.json +1 -1
  234. package/packages/api-gateway/src/marketplace-entries/official/workspace-search.json +1 -1
  235. package/packages/api-gateway/src/marketplace-entries/official/yaml-validator.json +1 -1
  236. package/packages/api-gateway/test/release-contract.test.ts +19 -1
  237. package/packages/api-gateway/test/release-package.test.ts +34 -1
  238. package/packages/bundle-web-app/package.json +1 -1
  239. package/packages/cli/package.json +1 -1
  240. package/packages/host-webserver/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "workspace-navigator",
3
3
  "packageName": "@pi-harness/core/plugins/workspace-navigator",
4
- "version": "0.1.26",
4
+ "version": "0.1.28",
5
5
  "name": "Workspace Navigator",
6
6
  "description": "Show a bounded workspace tree and read-only Git status for a high-signal coding sidebar.",
7
7
  "author": "Pi Harness",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "workspace-search",
3
3
  "packageName": "@pi-harness/core/plugins/workspace-search",
4
- "version": "0.1.26",
4
+ "version": "0.1.28",
5
5
  "name": "Workspace Search",
6
6
  "description": "Search bounded text files in the active workspace with ignored directories and binary content excluded.",
7
7
  "author": "Pi Harness",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "yaml-validator",
3
3
  "packageName": "@pi-harness/core/plugins/yaml-validator",
4
- "version": "0.1.26",
4
+ "version": "0.1.28",
5
5
  "name": "YAML Validator",
6
6
  "description": "Validate workspace-contained UTF-8 multi-document YAML through bounded, cancellable reads and line-aware diagnostics.",
7
7
  "author": "Pi Harness",
@@ -39,7 +39,7 @@ describe("release contract", () => {
39
39
  expect(workflow).not.toContain("RELEASE_TAG_EXISTS");
40
40
  expect(workflow).not.toContain("was already submitted");
41
41
  expect(workflow).not.toContain("tag_exists=$tag_exists");
42
- expect(workflow).toContain("npm publish --workspace @pi-harness/core --access public");
42
+ expect(workflow).toContain('npm publish --workspace "$package_name" --access public');
43
43
  expect(workflow).toContain("npm publish --access public");
44
44
  });
45
45
 
@@ -79,4 +79,22 @@ describe("release contract", () => {
79
79
  `${name} (used by ${file}) is declared by neither ${core.name} dependencies nor peerDependencies`,
80
80
  ).toBeDefined();
81
81
  });
82
+
83
+ test("the plugin API declares every package its sources import as a peer", () => {
84
+ // A plugin author installs this package on its own, so anything it imports has to be something the author is told to install alongside it.
85
+ const pluginApi = readJson("packages/plugin-api/package.json") as {
86
+ name: string;
87
+ dependencies?: Record<string, string>;
88
+ peerDependencies: Record<string, string>;
89
+ };
90
+ const required = new Map<string, string>();
91
+ for (const file of sourceFiles(resolve(repositoryRoot, "packages/plugin-api/src"), ".ts")) {
92
+ for (const match of readFileSync(file, "utf8").matchAll(/(?:from|declare module)\s*["']([^"'\s]+)["']/gu))
93
+ required.set(packageNameOf(match[1] ?? ""), relative(repositoryRoot, file));
94
+ }
95
+ const external = [...required].filter(([name]) => !name.startsWith("node:") && !name.startsWith("."));
96
+ expect(external.length).toBeGreaterThan(0);
97
+ for (const [name, file] of external) expect(pluginApi.peerDependencies[name], `${name} (used by ${file}) is not a peer of ${pluginApi.name}`).toBeDefined();
98
+ expect(pluginApi.dependencies, `${pluginApi.name} must not pull a second copy of anything a plugin already installs`).toBeUndefined();
99
+ });
82
100
  });
@@ -32,12 +32,45 @@ describe("release package", () => {
32
32
  expect(clientManifest.private).toBe(true);
33
33
 
34
34
  const workflow = await readFile(resolve(repositoryRoot, ".github/workflows/release.yml"), "utf8");
35
- expect(workflow).toContain("npm publish --workspace @pi-harness/core --access public");
35
+ expect(workflow).toContain('npm publish --workspace "$package_name" --access public');
36
36
  expect(workflow).toContain("npm publish --access public");
37
37
  expect(workflow).toContain("Verify package availability");
38
38
  expect(workflow).not.toContain("RELEASE_TAG_EXISTS");
39
39
  });
40
40
 
41
+ it("publishes the plugin API as its own package before the packages that depend on it", async () => {
42
+ const rootManifest = await readJson("package.json");
43
+ const rootDependencies = rootManifest.dependencies as Record<string, string>;
44
+ const manifest = await readJson("packages/plugin-api/package.json");
45
+
46
+ expect(manifest.name).toBe("@pi-harness/plugin-api");
47
+ expect(manifest.private, "the plugin API is the package a plugin author installs directly").toBeUndefined();
48
+ expect(manifest.version).toBe(rootManifest.version);
49
+ expect(manifest.files).toEqual(["dist", "README.md"]);
50
+ expect((manifest.publishConfig as Record<string, string>).access).toBe("public");
51
+
52
+ // The runtimes are peers here for the same reason they are peers in core: a second copy detaches the Context augmentation.
53
+ expect(manifest.dependencies, "plugin API runtimes must stay peers so a plugin shares the harness copy").toBeUndefined();
54
+ const peers = manifest.peerDependencies as Record<string, string>;
55
+ expect(Object.keys(peers).sort()).toEqual([...corePeerRuntimeNames]);
56
+ for (const name of corePeerRuntimeNames) expect(peers[name], `${name} peer range must pin the version the launcher installs`).toBe(rootDependencies[name]);
57
+
58
+ const core = await readJson("packages/core/package.json");
59
+ expect((core.dependencies as Record<string, string>)["@pi-harness/plugin-api"]).toBe(rootManifest.version);
60
+
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");
63
+ expect(workflow).toContain("for package_name in @pi-harness/plugin-api @pi-harness/core @pi-harness/pi-harness; do");
64
+ });
65
+
66
+ it("creates the GitHub Release before waiting on npm's CDN", async () => {
67
+ const workflow = await readFile(resolve(repositoryRoot, ".github/workflows/release.yml"), "utf8");
68
+
69
+ // Availability is CDN propagation latency, not a publish failure. Ordering the wait first made a slow tarball skip the release step outright, so the tag shipped without one.
70
+ expect(workflow.indexOf("- name: Create GitHub Release")).toBeLessThan(workflow.indexOf("- name: Verify package availability"));
71
+ expect(workflow).not.toContain("seq 1 60");
72
+ });
73
+
41
74
  it("keeps the runtimes in the core type surface as peers so a plugin author resolves one copy", async () => {
42
75
  const rootManifest = await readJson("package.json");
43
76
  const rootDependencies = rootManifest.dependencies as Record<string, string>;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/web-app",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
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.26",
3
+ "version": "0.1.28",
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.26",
3
+ "version": "0.1.28",
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",