@pi-harness/pi-harness 0.1.14 → 0.1.16

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 (1513) hide show
  1. package/README.md +8 -4
  2. package/apps/web/dist/assets/{index-C98SJjJd.js → index-DXznRinu.js} +1 -1
  3. package/apps/web/dist/index.html +1 -1
  4. package/apps/web/package.json +6 -6
  5. package/apps/web/server-dist/bin.js +7 -1
  6. package/apps/web/server-dist/bin.js.map +1 -1
  7. package/apps/web/src/server/bin.ts +9 -1
  8. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/agent-teams.json +1 -1
  9. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/anchored-standard.json +1 -1
  10. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/annotation.json +1 -1
  11. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/archify.json +1 -1
  12. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/at-file.json +1 -1
  13. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/auto-mode.json +1 -1
  14. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/better-sidebar.json +1 -1
  15. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-fetch.json +1 -1
  16. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-session.json +1 -1
  17. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/canvas-draw.json +1 -1
  18. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/change-verifier.json +1 -1
  19. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cleaner.json +1 -1
  20. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cli-notifier.json +1 -1
  21. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/code2skill.json +1 -1
  22. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/colleague-skill.json +1 -1
  23. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context-doctor.json +1 -1
  24. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context.json +1 -1
  25. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cost-meter.json +1 -1
  26. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/dependency-checker.json +1 -1
  27. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +1 -1
  28. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/fail-logger.json +1 -1
  29. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/genui.json +1 -1
  30. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +1 -1
  31. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/graph-memory.json +1 -1
  32. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/history-compressor.json +1 -1
  33. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/hol-guard.json +1 -1
  34. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/i18n-pair.json +1 -1
  35. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/image-compressor.json +1 -1
  36. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/llm-verifier.json +1 -1
  37. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-client.json +1 -1
  38. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-panel.json +1 -1
  39. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/memory.json +1 -1
  40. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +1 -1
  41. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mock-server.json +1 -1
  42. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/modlens.json +1 -1
  43. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/module-search.json +1 -1
  44. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +1 -1
  45. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/openpets.json +1 -1
  46. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plan-execute.json +1 -1
  47. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-check.json +1 -1
  48. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-dev.json +1 -1
  49. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-finder.json +1 -1
  50. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-radar.json +1 -1
  51. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-stars.json +1 -1
  52. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-guard.json +1 -1
  53. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-library.json +1 -1
  54. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/readme-gen.json +1 -1
  55. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/recall-unread.json +1 -1
  56. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reverse-skill.json +1 -1
  57. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +1 -1
  58. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +1 -1
  59. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/secure-audit.json +1 -1
  60. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +1 -1
  61. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bridge.json +1 -1
  62. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-compare.json +1 -1
  63. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-export.json +1 -1
  64. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-insights.json +1 -1
  65. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-search.json +1 -1
  66. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-catalog.json +1 -1
  67. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-guard.json +1 -1
  68. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/sql-lens.json +1 -1
  69. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/synapse.json +1 -1
  70. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/tab-manager.json +1 -1
  71. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/taskboard.json +1 -1
  72. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +1 -1
  73. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/test-harness.json +1 -1
  74. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/theme-studio.json +1 -1
  75. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/token-guard.json +1 -1
  76. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/turn-rewind.json +1 -1
  77. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +1 -1
  78. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +1 -1
  79. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/web-research.json +1 -1
  80. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +1 -1
  81. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-search.json +1 -1
  82. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/yaml-validator.json +1 -1
  83. package/node_modules/@pi-harness/api-gateway/package.json +1 -1
  84. package/node_modules/@pi-harness/cli/dist/bin.js +2 -0
  85. package/node_modules/@pi-harness/cli/dist/bin.js.map +1 -1
  86. package/node_modules/@pi-harness/cli/dist/main.d.ts +1 -0
  87. package/node_modules/@pi-harness/cli/dist/main.d.ts.map +1 -1
  88. package/node_modules/@pi-harness/cli/dist/main.js +9 -0
  89. package/node_modules/@pi-harness/cli/dist/main.js.map +1 -1
  90. package/node_modules/@pi-harness/cli/package.json +1 -1
  91. package/node_modules/@pi-harness/host-webserver/package.json +1 -1
  92. package/node_modules/@pi-harness/web-app/package.json +1 -1
  93. package/package.json +10 -8
  94. package/packages/api-gateway/dist/marketplace-entries/official/agent-teams.json +1 -1
  95. package/packages/api-gateway/dist/marketplace-entries/official/anchored-standard.json +1 -1
  96. package/packages/api-gateway/dist/marketplace-entries/official/annotation.json +1 -1
  97. package/packages/api-gateway/dist/marketplace-entries/official/archify.json +1 -1
  98. package/packages/api-gateway/dist/marketplace-entries/official/at-file.json +1 -1
  99. package/packages/api-gateway/dist/marketplace-entries/official/auto-mode.json +1 -1
  100. package/packages/api-gateway/dist/marketplace-entries/official/better-sidebar.json +1 -1
  101. package/packages/api-gateway/dist/marketplace-entries/official/browser-fetch.json +1 -1
  102. package/packages/api-gateway/dist/marketplace-entries/official/browser-session.json +1 -1
  103. package/packages/api-gateway/dist/marketplace-entries/official/canvas-draw.json +1 -1
  104. package/packages/api-gateway/dist/marketplace-entries/official/change-verifier.json +1 -1
  105. package/packages/api-gateway/dist/marketplace-entries/official/cleaner.json +1 -1
  106. package/packages/api-gateway/dist/marketplace-entries/official/cli-notifier.json +1 -1
  107. package/packages/api-gateway/dist/marketplace-entries/official/code2skill.json +1 -1
  108. package/packages/api-gateway/dist/marketplace-entries/official/colleague-skill.json +1 -1
  109. package/packages/api-gateway/dist/marketplace-entries/official/context-doctor.json +1 -1
  110. package/packages/api-gateway/dist/marketplace-entries/official/context.json +1 -1
  111. package/packages/api-gateway/dist/marketplace-entries/official/cost-meter.json +1 -1
  112. package/packages/api-gateway/dist/marketplace-entries/official/dependency-checker.json +1 -1
  113. package/packages/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +1 -1
  114. package/packages/api-gateway/dist/marketplace-entries/official/fail-logger.json +1 -1
  115. package/packages/api-gateway/dist/marketplace-entries/official/genui.json +1 -1
  116. package/packages/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +1 -1
  117. package/packages/api-gateway/dist/marketplace-entries/official/graph-memory.json +1 -1
  118. package/packages/api-gateway/dist/marketplace-entries/official/history-compressor.json +1 -1
  119. package/packages/api-gateway/dist/marketplace-entries/official/hol-guard.json +1 -1
  120. package/packages/api-gateway/dist/marketplace-entries/official/i18n-pair.json +1 -1
  121. package/packages/api-gateway/dist/marketplace-entries/official/image-compressor.json +1 -1
  122. package/packages/api-gateway/dist/marketplace-entries/official/llm-verifier.json +1 -1
  123. package/packages/api-gateway/dist/marketplace-entries/official/mcp-client.json +1 -1
  124. package/packages/api-gateway/dist/marketplace-entries/official/mcp-panel.json +1 -1
  125. package/packages/api-gateway/dist/marketplace-entries/official/memory.json +1 -1
  126. package/packages/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +1 -1
  127. package/packages/api-gateway/dist/marketplace-entries/official/mock-server.json +1 -1
  128. package/packages/api-gateway/dist/marketplace-entries/official/modlens.json +1 -1
  129. package/packages/api-gateway/dist/marketplace-entries/official/module-search.json +1 -1
  130. package/packages/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +1 -1
  131. package/packages/api-gateway/dist/marketplace-entries/official/openpets.json +1 -1
  132. package/packages/api-gateway/dist/marketplace-entries/official/plan-execute.json +1 -1
  133. package/packages/api-gateway/dist/marketplace-entries/official/plugin-check.json +1 -1
  134. package/packages/api-gateway/dist/marketplace-entries/official/plugin-dev.json +1 -1
  135. package/packages/api-gateway/dist/marketplace-entries/official/plugin-finder.json +1 -1
  136. package/packages/api-gateway/dist/marketplace-entries/official/plugin-radar.json +1 -1
  137. package/packages/api-gateway/dist/marketplace-entries/official/plugin-stars.json +1 -1
  138. package/packages/api-gateway/dist/marketplace-entries/official/prompt-guard.json +1 -1
  139. package/packages/api-gateway/dist/marketplace-entries/official/prompt-library.json +1 -1
  140. package/packages/api-gateway/dist/marketplace-entries/official/readme-gen.json +1 -1
  141. package/packages/api-gateway/dist/marketplace-entries/official/recall-unread.json +1 -1
  142. package/packages/api-gateway/dist/marketplace-entries/official/reverse-skill.json +1 -1
  143. package/packages/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +1 -1
  144. package/packages/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +1 -1
  145. package/packages/api-gateway/dist/marketplace-entries/official/secure-audit.json +1 -1
  146. package/packages/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +1 -1
  147. package/packages/api-gateway/dist/marketplace-entries/official/session-bridge.json +1 -1
  148. package/packages/api-gateway/dist/marketplace-entries/official/session-compare.json +1 -1
  149. package/packages/api-gateway/dist/marketplace-entries/official/session-export.json +1 -1
  150. package/packages/api-gateway/dist/marketplace-entries/official/session-insights.json +1 -1
  151. package/packages/api-gateway/dist/marketplace-entries/official/session-search.json +1 -1
  152. package/packages/api-gateway/dist/marketplace-entries/official/skill-catalog.json +1 -1
  153. package/packages/api-gateway/dist/marketplace-entries/official/skill-guard.json +1 -1
  154. package/packages/api-gateway/dist/marketplace-entries/official/sql-lens.json +1 -1
  155. package/packages/api-gateway/dist/marketplace-entries/official/synapse.json +1 -1
  156. package/packages/api-gateway/dist/marketplace-entries/official/tab-manager.json +1 -1
  157. package/packages/api-gateway/dist/marketplace-entries/official/taskboard.json +1 -1
  158. package/packages/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +1 -1
  159. package/packages/api-gateway/dist/marketplace-entries/official/test-harness.json +1 -1
  160. package/packages/api-gateway/dist/marketplace-entries/official/theme-studio.json +1 -1
  161. package/packages/api-gateway/dist/marketplace-entries/official/token-guard.json +1 -1
  162. package/packages/api-gateway/dist/marketplace-entries/official/turn-rewind.json +1 -1
  163. package/packages/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +1 -1
  164. package/packages/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +1 -1
  165. package/packages/api-gateway/dist/marketplace-entries/official/web-research.json +1 -1
  166. package/packages/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +1 -1
  167. package/packages/api-gateway/dist/marketplace-entries/official/workspace-search.json +1 -1
  168. package/packages/api-gateway/dist/marketplace-entries/official/yaml-validator.json +1 -1
  169. package/packages/api-gateway/package.json +1 -1
  170. package/packages/api-gateway/src/marketplace-entries/official/agent-teams.json +1 -1
  171. package/packages/api-gateway/src/marketplace-entries/official/anchored-standard.json +1 -1
  172. package/packages/api-gateway/src/marketplace-entries/official/annotation.json +1 -1
  173. package/packages/api-gateway/src/marketplace-entries/official/archify.json +1 -1
  174. package/packages/api-gateway/src/marketplace-entries/official/at-file.json +1 -1
  175. package/packages/api-gateway/src/marketplace-entries/official/auto-mode.json +1 -1
  176. package/packages/api-gateway/src/marketplace-entries/official/better-sidebar.json +1 -1
  177. package/packages/api-gateway/src/marketplace-entries/official/browser-fetch.json +1 -1
  178. package/packages/api-gateway/src/marketplace-entries/official/browser-session.json +1 -1
  179. package/packages/api-gateway/src/marketplace-entries/official/canvas-draw.json +1 -1
  180. package/packages/api-gateway/src/marketplace-entries/official/change-verifier.json +1 -1
  181. package/packages/api-gateway/src/marketplace-entries/official/cleaner.json +1 -1
  182. package/packages/api-gateway/src/marketplace-entries/official/cli-notifier.json +1 -1
  183. package/packages/api-gateway/src/marketplace-entries/official/code2skill.json +1 -1
  184. package/packages/api-gateway/src/marketplace-entries/official/colleague-skill.json +1 -1
  185. package/packages/api-gateway/src/marketplace-entries/official/context-doctor.json +1 -1
  186. package/packages/api-gateway/src/marketplace-entries/official/context.json +1 -1
  187. package/packages/api-gateway/src/marketplace-entries/official/cost-meter.json +1 -1
  188. package/packages/api-gateway/src/marketplace-entries/official/dependency-checker.json +1 -1
  189. package/packages/api-gateway/src/marketplace-entries/official/docker-sandbox.json +1 -1
  190. package/packages/api-gateway/src/marketplace-entries/official/fail-logger.json +1 -1
  191. package/packages/api-gateway/src/marketplace-entries/official/genui.json +1 -1
  192. package/packages/api-gateway/src/marketplace-entries/official/git-time-capsule.json +1 -1
  193. package/packages/api-gateway/src/marketplace-entries/official/graph-memory.json +1 -1
  194. package/packages/api-gateway/src/marketplace-entries/official/history-compressor.json +1 -1
  195. package/packages/api-gateway/src/marketplace-entries/official/hol-guard.json +1 -1
  196. package/packages/api-gateway/src/marketplace-entries/official/i18n-pair.json +1 -1
  197. package/packages/api-gateway/src/marketplace-entries/official/image-compressor.json +1 -1
  198. package/packages/api-gateway/src/marketplace-entries/official/llm-verifier.json +1 -1
  199. package/packages/api-gateway/src/marketplace-entries/official/mcp-client.json +1 -1
  200. package/packages/api-gateway/src/marketplace-entries/official/mcp-panel.json +1 -1
  201. package/packages/api-gateway/src/marketplace-entries/official/memory.json +1 -1
  202. package/packages/api-gateway/src/marketplace-entries/official/mirage-bridge.json +1 -1
  203. package/packages/api-gateway/src/marketplace-entries/official/mock-server.json +1 -1
  204. package/packages/api-gateway/src/marketplace-entries/official/modlens.json +1 -1
  205. package/packages/api-gateway/src/marketplace-entries/official/module-search.json +1 -1
  206. package/packages/api-gateway/src/marketplace-entries/official/obsidian-sync.json +1 -1
  207. package/packages/api-gateway/src/marketplace-entries/official/openpets.json +1 -1
  208. package/packages/api-gateway/src/marketplace-entries/official/plan-execute.json +1 -1
  209. package/packages/api-gateway/src/marketplace-entries/official/plugin-check.json +1 -1
  210. package/packages/api-gateway/src/marketplace-entries/official/plugin-dev.json +1 -1
  211. package/packages/api-gateway/src/marketplace-entries/official/plugin-finder.json +1 -1
  212. package/packages/api-gateway/src/marketplace-entries/official/plugin-radar.json +1 -1
  213. package/packages/api-gateway/src/marketplace-entries/official/plugin-stars.json +1 -1
  214. package/packages/api-gateway/src/marketplace-entries/official/prompt-guard.json +1 -1
  215. package/packages/api-gateway/src/marketplace-entries/official/prompt-library.json +1 -1
  216. package/packages/api-gateway/src/marketplace-entries/official/readme-gen.json +1 -1
  217. package/packages/api-gateway/src/marketplace-entries/official/recall-unread.json +1 -1
  218. package/packages/api-gateway/src/marketplace-entries/official/reverse-skill.json +1 -1
  219. package/packages/api-gateway/src/marketplace-entries/official/reviewer-bot.json +1 -1
  220. package/packages/api-gateway/src/marketplace-entries/official/runtime-doctor.json +1 -1
  221. package/packages/api-gateway/src/marketplace-entries/official/secure-audit.json +1 -1
  222. package/packages/api-gateway/src/marketplace-entries/official/session-bookmarks.json +1 -1
  223. package/packages/api-gateway/src/marketplace-entries/official/session-bridge.json +1 -1
  224. package/packages/api-gateway/src/marketplace-entries/official/session-compare.json +1 -1
  225. package/packages/api-gateway/src/marketplace-entries/official/session-export.json +1 -1
  226. package/packages/api-gateway/src/marketplace-entries/official/session-insights.json +1 -1
  227. package/packages/api-gateway/src/marketplace-entries/official/session-search.json +1 -1
  228. package/packages/api-gateway/src/marketplace-entries/official/skill-catalog.json +1 -1
  229. package/packages/api-gateway/src/marketplace-entries/official/skill-guard.json +1 -1
  230. package/packages/api-gateway/src/marketplace-entries/official/sql-lens.json +1 -1
  231. package/packages/api-gateway/src/marketplace-entries/official/synapse.json +1 -1
  232. package/packages/api-gateway/src/marketplace-entries/official/tab-manager.json +1 -1
  233. package/packages/api-gateway/src/marketplace-entries/official/taskboard.json +1 -1
  234. package/packages/api-gateway/src/marketplace-entries/official/telemetry-blocker.json +1 -1
  235. package/packages/api-gateway/src/marketplace-entries/official/test-harness.json +1 -1
  236. package/packages/api-gateway/src/marketplace-entries/official/theme-studio.json +1 -1
  237. package/packages/api-gateway/src/marketplace-entries/official/token-guard.json +1 -1
  238. package/packages/api-gateway/src/marketplace-entries/official/turn-rewind.json +1 -1
  239. package/packages/api-gateway/src/marketplace-entries/official/undo-savepoint.json +1 -1
  240. package/packages/api-gateway/src/marketplace-entries/official/vision-toolkit.json +1 -1
  241. package/packages/api-gateway/src/marketplace-entries/official/web-research.json +1 -1
  242. package/packages/api-gateway/src/marketplace-entries/official/workspace-navigator.json +1 -1
  243. package/packages/api-gateway/src/marketplace-entries/official/workspace-search.json +1 -1
  244. package/packages/api-gateway/src/marketplace-entries/official/yaml-validator.json +1 -1
  245. package/packages/api-gateway/test/release-package.test.ts +5 -11
  246. package/packages/api-gateway/test/release-version.test.ts +2 -2
  247. package/packages/bundle-web-app/package.json +1 -1
  248. package/packages/cli/dist/bin.js +2 -0
  249. package/packages/cli/dist/bin.js.map +1 -1
  250. package/packages/cli/dist/main.d.ts +1 -0
  251. package/packages/cli/dist/main.d.ts.map +1 -1
  252. package/packages/cli/dist/main.js +9 -0
  253. package/packages/cli/dist/main.js.map +1 -1
  254. package/packages/cli/package.json +1 -1
  255. package/packages/cli/src/bin.ts +2 -0
  256. package/packages/cli/src/main.ts +9 -0
  257. package/packages/cli/test/cli.test.ts +10 -0
  258. package/packages/host-webserver/package.json +1 -1
  259. package/node_modules/@pi-harness/core/LICENSE +0 -9
  260. package/node_modules/@pi-harness/core/dist/atomic-write.d.ts +0 -8
  261. package/node_modules/@pi-harness/core/dist/atomic-write.d.ts.map +0 -1
  262. package/node_modules/@pi-harness/core/dist/atomic-write.js +0 -40
  263. package/node_modules/@pi-harness/core/dist/atomic-write.js.map +0 -1
  264. package/node_modules/@pi-harness/core/dist/boot.d.ts +0 -13
  265. package/node_modules/@pi-harness/core/dist/boot.d.ts.map +0 -1
  266. package/node_modules/@pi-harness/core/dist/boot.js +0 -257
  267. package/node_modules/@pi-harness/core/dist/boot.js.map +0 -1
  268. package/node_modules/@pi-harness/core/dist/bounded-file.d.ts +0 -7
  269. package/node_modules/@pi-harness/core/dist/bounded-file.d.ts.map +0 -1
  270. package/node_modules/@pi-harness/core/dist/bounded-file.js +0 -50
  271. package/node_modules/@pi-harness/core/dist/bounded-file.js.map +0 -1
  272. package/node_modules/@pi-harness/core/dist/config.d.ts +0 -4
  273. package/node_modules/@pi-harness/core/dist/config.d.ts.map +0 -1
  274. package/node_modules/@pi-harness/core/dist/config.js +0 -29
  275. package/node_modules/@pi-harness/core/dist/config.js.map +0 -1
  276. package/node_modules/@pi-harness/core/dist/context.d.ts +0 -3
  277. package/node_modules/@pi-harness/core/dist/context.d.ts.map +0 -1
  278. package/node_modules/@pi-harness/core/dist/context.js +0 -2
  279. package/node_modules/@pi-harness/core/dist/context.js.map +0 -1
  280. package/node_modules/@pi-harness/core/dist/cordis-timer.d.ts +0 -15
  281. package/node_modules/@pi-harness/core/dist/cordis-timer.d.ts.map +0 -1
  282. package/node_modules/@pi-harness/core/dist/cordis-timer.js +0 -99
  283. package/node_modules/@pi-harness/core/dist/cordis-timer.js.map +0 -1
  284. package/node_modules/@pi-harness/core/dist/http.d.ts +0 -8
  285. package/node_modules/@pi-harness/core/dist/http.d.ts.map +0 -1
  286. package/node_modules/@pi-harness/core/dist/http.js +0 -27
  287. package/node_modules/@pi-harness/core/dist/http.js.map +0 -1
  288. package/node_modules/@pi-harness/core/dist/index.d.ts +0 -9
  289. package/node_modules/@pi-harness/core/dist/index.d.ts.map +0 -1
  290. package/node_modules/@pi-harness/core/dist/index.js +0 -8
  291. package/node_modules/@pi-harness/core/dist/index.js.map +0 -1
  292. package/node_modules/@pi-harness/core/dist/plugins/agent-teams.d.ts +0 -21
  293. package/node_modules/@pi-harness/core/dist/plugins/agent-teams.d.ts.map +0 -1
  294. package/node_modules/@pi-harness/core/dist/plugins/agent-teams.js +0 -1179
  295. package/node_modules/@pi-harness/core/dist/plugins/agent-teams.js.map +0 -1
  296. package/node_modules/@pi-harness/core/dist/plugins/anchored-standard.d.ts +0 -15
  297. package/node_modules/@pi-harness/core/dist/plugins/anchored-standard.d.ts.map +0 -1
  298. package/node_modules/@pi-harness/core/dist/plugins/anchored-standard.js +0 -112
  299. package/node_modules/@pi-harness/core/dist/plugins/anchored-standard.js.map +0 -1
  300. package/node_modules/@pi-harness/core/dist/plugins/annotation.d.ts +0 -19
  301. package/node_modules/@pi-harness/core/dist/plugins/annotation.d.ts.map +0 -1
  302. package/node_modules/@pi-harness/core/dist/plugins/annotation.js +0 -112
  303. package/node_modules/@pi-harness/core/dist/plugins/annotation.js.map +0 -1
  304. package/node_modules/@pi-harness/core/dist/plugins/archify.d.ts +0 -24
  305. package/node_modules/@pi-harness/core/dist/plugins/archify.d.ts.map +0 -1
  306. package/node_modules/@pi-harness/core/dist/plugins/archify.js +0 -145
  307. package/node_modules/@pi-harness/core/dist/plugins/archify.js.map +0 -1
  308. package/node_modules/@pi-harness/core/dist/plugins/at-file.d.ts +0 -12
  309. package/node_modules/@pi-harness/core/dist/plugins/at-file.d.ts.map +0 -1
  310. package/node_modules/@pi-harness/core/dist/plugins/at-file.js +0 -143
  311. package/node_modules/@pi-harness/core/dist/plugins/at-file.js.map +0 -1
  312. package/node_modules/@pi-harness/core/dist/plugins/auto-mode.d.ts +0 -15
  313. package/node_modules/@pi-harness/core/dist/plugins/auto-mode.d.ts.map +0 -1
  314. package/node_modules/@pi-harness/core/dist/plugins/auto-mode.js +0 -183
  315. package/node_modules/@pi-harness/core/dist/plugins/auto-mode.js.map +0 -1
  316. package/node_modules/@pi-harness/core/dist/plugins/better-sidebar.d.ts +0 -38
  317. package/node_modules/@pi-harness/core/dist/plugins/better-sidebar.d.ts.map +0 -1
  318. package/node_modules/@pi-harness/core/dist/plugins/better-sidebar.js +0 -99
  319. package/node_modules/@pi-harness/core/dist/plugins/better-sidebar.js.map +0 -1
  320. package/node_modules/@pi-harness/core/dist/plugins/browser-fetch.d.ts +0 -15
  321. package/node_modules/@pi-harness/core/dist/plugins/browser-fetch.d.ts.map +0 -1
  322. package/node_modules/@pi-harness/core/dist/plugins/browser-fetch.js +0 -359
  323. package/node_modules/@pi-harness/core/dist/plugins/browser-fetch.js.map +0 -1
  324. package/node_modules/@pi-harness/core/dist/plugins/browser-session.d.ts +0 -14
  325. package/node_modules/@pi-harness/core/dist/plugins/browser-session.d.ts.map +0 -1
  326. package/node_modules/@pi-harness/core/dist/plugins/browser-session.js +0 -604
  327. package/node_modules/@pi-harness/core/dist/plugins/browser-session.js.map +0 -1
  328. package/node_modules/@pi-harness/core/dist/plugins/canvas-draw.d.ts +0 -9
  329. package/node_modules/@pi-harness/core/dist/plugins/canvas-draw.d.ts.map +0 -1
  330. package/node_modules/@pi-harness/core/dist/plugins/canvas-draw.js +0 -140
  331. package/node_modules/@pi-harness/core/dist/plugins/canvas-draw.js.map +0 -1
  332. package/node_modules/@pi-harness/core/dist/plugins/change-verifier.d.ts +0 -9
  333. package/node_modules/@pi-harness/core/dist/plugins/change-verifier.d.ts.map +0 -1
  334. package/node_modules/@pi-harness/core/dist/plugins/change-verifier.js +0 -88
  335. package/node_modules/@pi-harness/core/dist/plugins/change-verifier.js.map +0 -1
  336. package/node_modules/@pi-harness/core/dist/plugins/cleaner.d.ts +0 -12
  337. package/node_modules/@pi-harness/core/dist/plugins/cleaner.d.ts.map +0 -1
  338. package/node_modules/@pi-harness/core/dist/plugins/cleaner.js +0 -353
  339. package/node_modules/@pi-harness/core/dist/plugins/cleaner.js.map +0 -1
  340. package/node_modules/@pi-harness/core/dist/plugins/cli-notifier.d.ts +0 -16
  341. package/node_modules/@pi-harness/core/dist/plugins/cli-notifier.d.ts.map +0 -1
  342. package/node_modules/@pi-harness/core/dist/plugins/cli-notifier.js +0 -167
  343. package/node_modules/@pi-harness/core/dist/plugins/cli-notifier.js.map +0 -1
  344. package/node_modules/@pi-harness/core/dist/plugins/code2skill.d.ts +0 -9
  345. package/node_modules/@pi-harness/core/dist/plugins/code2skill.d.ts.map +0 -1
  346. package/node_modules/@pi-harness/core/dist/plugins/code2skill.js +0 -235
  347. package/node_modules/@pi-harness/core/dist/plugins/code2skill.js.map +0 -1
  348. package/node_modules/@pi-harness/core/dist/plugins/colleague-skill.d.ts +0 -28
  349. package/node_modules/@pi-harness/core/dist/plugins/colleague-skill.d.ts.map +0 -1
  350. package/node_modules/@pi-harness/core/dist/plugins/colleague-skill.js +0 -129
  351. package/node_modules/@pi-harness/core/dist/plugins/colleague-skill.js.map +0 -1
  352. package/node_modules/@pi-harness/core/dist/plugins/context-doctor.d.ts +0 -35
  353. package/node_modules/@pi-harness/core/dist/plugins/context-doctor.d.ts.map +0 -1
  354. package/node_modules/@pi-harness/core/dist/plugins/context-doctor.js +0 -459
  355. package/node_modules/@pi-harness/core/dist/plugins/context-doctor.js.map +0 -1
  356. package/node_modules/@pi-harness/core/dist/plugins/context.d.ts +0 -9
  357. package/node_modules/@pi-harness/core/dist/plugins/context.d.ts.map +0 -1
  358. package/node_modules/@pi-harness/core/dist/plugins/context.js +0 -214
  359. package/node_modules/@pi-harness/core/dist/plugins/context.js.map +0 -1
  360. package/node_modules/@pi-harness/core/dist/plugins/cost-meter.d.ts +0 -36
  361. package/node_modules/@pi-harness/core/dist/plugins/cost-meter.d.ts.map +0 -1
  362. package/node_modules/@pi-harness/core/dist/plugins/cost-meter.js +0 -430
  363. package/node_modules/@pi-harness/core/dist/plugins/cost-meter.js.map +0 -1
  364. package/node_modules/@pi-harness/core/dist/plugins/dependency-checker.d.ts +0 -36
  365. package/node_modules/@pi-harness/core/dist/plugins/dependency-checker.d.ts.map +0 -1
  366. package/node_modules/@pi-harness/core/dist/plugins/dependency-checker.js +0 -570
  367. package/node_modules/@pi-harness/core/dist/plugins/dependency-checker.js.map +0 -1
  368. package/node_modules/@pi-harness/core/dist/plugins/docker-sandbox.d.ts +0 -9
  369. package/node_modules/@pi-harness/core/dist/plugins/docker-sandbox.d.ts.map +0 -1
  370. package/node_modules/@pi-harness/core/dist/plugins/docker-sandbox.js +0 -344
  371. package/node_modules/@pi-harness/core/dist/plugins/docker-sandbox.js.map +0 -1
  372. package/node_modules/@pi-harness/core/dist/plugins/fail-logger.d.ts +0 -9
  373. package/node_modules/@pi-harness/core/dist/plugins/fail-logger.d.ts.map +0 -1
  374. package/node_modules/@pi-harness/core/dist/plugins/fail-logger.js +0 -218
  375. package/node_modules/@pi-harness/core/dist/plugins/fail-logger.js.map +0 -1
  376. package/node_modules/@pi-harness/core/dist/plugins/genui.d.ts +0 -9
  377. package/node_modules/@pi-harness/core/dist/plugins/genui.d.ts.map +0 -1
  378. package/node_modules/@pi-harness/core/dist/plugins/genui.js +0 -144
  379. package/node_modules/@pi-harness/core/dist/plugins/genui.js.map +0 -1
  380. package/node_modules/@pi-harness/core/dist/plugins/git-time-capsule.d.ts +0 -15
  381. package/node_modules/@pi-harness/core/dist/plugins/git-time-capsule.d.ts.map +0 -1
  382. package/node_modules/@pi-harness/core/dist/plugins/git-time-capsule.js +0 -436
  383. package/node_modules/@pi-harness/core/dist/plugins/git-time-capsule.js.map +0 -1
  384. package/node_modules/@pi-harness/core/dist/plugins/graph-memory.d.ts +0 -16
  385. package/node_modules/@pi-harness/core/dist/plugins/graph-memory.d.ts.map +0 -1
  386. package/node_modules/@pi-harness/core/dist/plugins/graph-memory.js +0 -669
  387. package/node_modules/@pi-harness/core/dist/plugins/graph-memory.js.map +0 -1
  388. package/node_modules/@pi-harness/core/dist/plugins/history-compressor.d.ts +0 -15
  389. package/node_modules/@pi-harness/core/dist/plugins/history-compressor.d.ts.map +0 -1
  390. package/node_modules/@pi-harness/core/dist/plugins/history-compressor.js +0 -99
  391. package/node_modules/@pi-harness/core/dist/plugins/history-compressor.js.map +0 -1
  392. package/node_modules/@pi-harness/core/dist/plugins/hol-guard.d.ts +0 -29
  393. package/node_modules/@pi-harness/core/dist/plugins/hol-guard.d.ts.map +0 -1
  394. package/node_modules/@pi-harness/core/dist/plugins/hol-guard.js +0 -159
  395. package/node_modules/@pi-harness/core/dist/plugins/hol-guard.js.map +0 -1
  396. package/node_modules/@pi-harness/core/dist/plugins/i18n-pair.d.ts +0 -12
  397. package/node_modules/@pi-harness/core/dist/plugins/i18n-pair.d.ts.map +0 -1
  398. package/node_modules/@pi-harness/core/dist/plugins/i18n-pair.js +0 -332
  399. package/node_modules/@pi-harness/core/dist/plugins/i18n-pair.js.map +0 -1
  400. package/node_modules/@pi-harness/core/dist/plugins/image-compressor.d.ts +0 -15
  401. package/node_modules/@pi-harness/core/dist/plugins/image-compressor.d.ts.map +0 -1
  402. package/node_modules/@pi-harness/core/dist/plugins/image-compressor.js +0 -223
  403. package/node_modules/@pi-harness/core/dist/plugins/image-compressor.js.map +0 -1
  404. package/node_modules/@pi-harness/core/dist/plugins/llm-verifier.d.ts +0 -42
  405. package/node_modules/@pi-harness/core/dist/plugins/llm-verifier.d.ts.map +0 -1
  406. package/node_modules/@pi-harness/core/dist/plugins/llm-verifier.js +0 -138
  407. package/node_modules/@pi-harness/core/dist/plugins/llm-verifier.js.map +0 -1
  408. package/node_modules/@pi-harness/core/dist/plugins/mcp-client.d.ts +0 -19
  409. package/node_modules/@pi-harness/core/dist/plugins/mcp-client.d.ts.map +0 -1
  410. package/node_modules/@pi-harness/core/dist/plugins/mcp-client.js +0 -1288
  411. package/node_modules/@pi-harness/core/dist/plugins/mcp-client.js.map +0 -1
  412. package/node_modules/@pi-harness/core/dist/plugins/mcp-panel.d.ts +0 -14
  413. package/node_modules/@pi-harness/core/dist/plugins/mcp-panel.d.ts.map +0 -1
  414. package/node_modules/@pi-harness/core/dist/plugins/mcp-panel.js +0 -194
  415. package/node_modules/@pi-harness/core/dist/plugins/mcp-panel.js.map +0 -1
  416. package/node_modules/@pi-harness/core/dist/plugins/memory.d.ts +0 -15
  417. package/node_modules/@pi-harness/core/dist/plugins/memory.d.ts.map +0 -1
  418. package/node_modules/@pi-harness/core/dist/plugins/memory.js +0 -394
  419. package/node_modules/@pi-harness/core/dist/plugins/memory.js.map +0 -1
  420. package/node_modules/@pi-harness/core/dist/plugins/mirage-bridge.d.ts +0 -23
  421. package/node_modules/@pi-harness/core/dist/plugins/mirage-bridge.d.ts.map +0 -1
  422. package/node_modules/@pi-harness/core/dist/plugins/mirage-bridge.js +0 -159
  423. package/node_modules/@pi-harness/core/dist/plugins/mirage-bridge.js.map +0 -1
  424. package/node_modules/@pi-harness/core/dist/plugins/mock-server.d.ts +0 -22
  425. package/node_modules/@pi-harness/core/dist/plugins/mock-server.d.ts.map +0 -1
  426. package/node_modules/@pi-harness/core/dist/plugins/mock-server.js +0 -180
  427. package/node_modules/@pi-harness/core/dist/plugins/mock-server.js.map +0 -1
  428. package/node_modules/@pi-harness/core/dist/plugins/model.d.ts +0 -11
  429. package/node_modules/@pi-harness/core/dist/plugins/model.d.ts.map +0 -1
  430. package/node_modules/@pi-harness/core/dist/plugins/model.js +0 -17
  431. package/node_modules/@pi-harness/core/dist/plugins/model.js.map +0 -1
  432. package/node_modules/@pi-harness/core/dist/plugins/models.d.ts +0 -16
  433. package/node_modules/@pi-harness/core/dist/plugins/models.d.ts.map +0 -1
  434. package/node_modules/@pi-harness/core/dist/plugins/models.js +0 -35
  435. package/node_modules/@pi-harness/core/dist/plugins/models.js.map +0 -1
  436. package/node_modules/@pi-harness/core/dist/plugins/modlens.d.ts +0 -15
  437. package/node_modules/@pi-harness/core/dist/plugins/modlens.d.ts.map +0 -1
  438. package/node_modules/@pi-harness/core/dist/plugins/modlens.js +0 -470
  439. package/node_modules/@pi-harness/core/dist/plugins/modlens.js.map +0 -1
  440. package/node_modules/@pi-harness/core/dist/plugins/module-search.d.ts +0 -28
  441. package/node_modules/@pi-harness/core/dist/plugins/module-search.d.ts.map +0 -1
  442. package/node_modules/@pi-harness/core/dist/plugins/module-search.js +0 -193
  443. package/node_modules/@pi-harness/core/dist/plugins/module-search.js.map +0 -1
  444. package/node_modules/@pi-harness/core/dist/plugins/obsidian-sync.d.ts +0 -14
  445. package/node_modules/@pi-harness/core/dist/plugins/obsidian-sync.d.ts.map +0 -1
  446. package/node_modules/@pi-harness/core/dist/plugins/obsidian-sync.js +0 -88
  447. package/node_modules/@pi-harness/core/dist/plugins/obsidian-sync.js.map +0 -1
  448. package/node_modules/@pi-harness/core/dist/plugins/openpets.d.ts +0 -14
  449. package/node_modules/@pi-harness/core/dist/plugins/openpets.d.ts.map +0 -1
  450. package/node_modules/@pi-harness/core/dist/plugins/openpets.js +0 -258
  451. package/node_modules/@pi-harness/core/dist/plugins/openpets.js.map +0 -1
  452. package/node_modules/@pi-harness/core/dist/plugins/plan-execute.d.ts +0 -11
  453. package/node_modules/@pi-harness/core/dist/plugins/plan-execute.d.ts.map +0 -1
  454. package/node_modules/@pi-harness/core/dist/plugins/plan-execute.js +0 -91
  455. package/node_modules/@pi-harness/core/dist/plugins/plan-execute.js.map +0 -1
  456. package/node_modules/@pi-harness/core/dist/plugins/plugin-check.d.ts +0 -47
  457. package/node_modules/@pi-harness/core/dist/plugins/plugin-check.d.ts.map +0 -1
  458. package/node_modules/@pi-harness/core/dist/plugins/plugin-check.js +0 -298
  459. package/node_modules/@pi-harness/core/dist/plugins/plugin-check.js.map +0 -1
  460. package/node_modules/@pi-harness/core/dist/plugins/plugin-dev.d.ts +0 -9
  461. package/node_modules/@pi-harness/core/dist/plugins/plugin-dev.d.ts.map +0 -1
  462. package/node_modules/@pi-harness/core/dist/plugins/plugin-dev.js +0 -177
  463. package/node_modules/@pi-harness/core/dist/plugins/plugin-dev.js.map +0 -1
  464. package/node_modules/@pi-harness/core/dist/plugins/plugin-finder.d.ts +0 -17
  465. package/node_modules/@pi-harness/core/dist/plugins/plugin-finder.d.ts.map +0 -1
  466. package/node_modules/@pi-harness/core/dist/plugins/plugin-finder.js +0 -216
  467. package/node_modules/@pi-harness/core/dist/plugins/plugin-finder.js.map +0 -1
  468. package/node_modules/@pi-harness/core/dist/plugins/plugin-radar.d.ts +0 -33
  469. package/node_modules/@pi-harness/core/dist/plugins/plugin-radar.d.ts.map +0 -1
  470. package/node_modules/@pi-harness/core/dist/plugins/plugin-radar.js +0 -247
  471. package/node_modules/@pi-harness/core/dist/plugins/plugin-radar.js.map +0 -1
  472. package/node_modules/@pi-harness/core/dist/plugins/plugin-stars.d.ts +0 -45
  473. package/node_modules/@pi-harness/core/dist/plugins/plugin-stars.d.ts.map +0 -1
  474. package/node_modules/@pi-harness/core/dist/plugins/plugin-stars.js +0 -366
  475. package/node_modules/@pi-harness/core/dist/plugins/plugin-stars.js.map +0 -1
  476. package/node_modules/@pi-harness/core/dist/plugins/prompt-guard.d.ts +0 -9
  477. package/node_modules/@pi-harness/core/dist/plugins/prompt-guard.d.ts.map +0 -1
  478. package/node_modules/@pi-harness/core/dist/plugins/prompt-guard.js +0 -165
  479. package/node_modules/@pi-harness/core/dist/plugins/prompt-guard.js.map +0 -1
  480. package/node_modules/@pi-harness/core/dist/plugins/prompt-library.d.ts +0 -26
  481. package/node_modules/@pi-harness/core/dist/plugins/prompt-library.d.ts.map +0 -1
  482. package/node_modules/@pi-harness/core/dist/plugins/prompt-library.js +0 -145
  483. package/node_modules/@pi-harness/core/dist/plugins/prompt-library.js.map +0 -1
  484. package/node_modules/@pi-harness/core/dist/plugins/readme-gen.d.ts +0 -29
  485. package/node_modules/@pi-harness/core/dist/plugins/readme-gen.d.ts.map +0 -1
  486. package/node_modules/@pi-harness/core/dist/plugins/readme-gen.js +0 -580
  487. package/node_modules/@pi-harness/core/dist/plugins/readme-gen.js.map +0 -1
  488. package/node_modules/@pi-harness/core/dist/plugins/recall-unread.d.ts +0 -24
  489. package/node_modules/@pi-harness/core/dist/plugins/recall-unread.d.ts.map +0 -1
  490. package/node_modules/@pi-harness/core/dist/plugins/recall-unread.js +0 -467
  491. package/node_modules/@pi-harness/core/dist/plugins/recall-unread.js.map +0 -1
  492. package/node_modules/@pi-harness/core/dist/plugins/resources.d.ts +0 -19
  493. package/node_modules/@pi-harness/core/dist/plugins/resources.d.ts.map +0 -1
  494. package/node_modules/@pi-harness/core/dist/plugins/resources.js +0 -126
  495. package/node_modules/@pi-harness/core/dist/plugins/resources.js.map +0 -1
  496. package/node_modules/@pi-harness/core/dist/plugins/reverse-skill.d.ts +0 -23
  497. package/node_modules/@pi-harness/core/dist/plugins/reverse-skill.d.ts.map +0 -1
  498. package/node_modules/@pi-harness/core/dist/plugins/reverse-skill.js +0 -61
  499. package/node_modules/@pi-harness/core/dist/plugins/reverse-skill.js.map +0 -1
  500. package/node_modules/@pi-harness/core/dist/plugins/reviewer-bot.d.ts +0 -15
  501. package/node_modules/@pi-harness/core/dist/plugins/reviewer-bot.d.ts.map +0 -1
  502. package/node_modules/@pi-harness/core/dist/plugins/reviewer-bot.js +0 -152
  503. package/node_modules/@pi-harness/core/dist/plugins/reviewer-bot.js.map +0 -1
  504. package/node_modules/@pi-harness/core/dist/plugins/runtime-doctor.d.ts +0 -34
  505. package/node_modules/@pi-harness/core/dist/plugins/runtime-doctor.d.ts.map +0 -1
  506. package/node_modules/@pi-harness/core/dist/plugins/runtime-doctor.js +0 -117
  507. package/node_modules/@pi-harness/core/dist/plugins/runtime-doctor.js.map +0 -1
  508. package/node_modules/@pi-harness/core/dist/plugins/runtime.d.ts +0 -14
  509. package/node_modules/@pi-harness/core/dist/plugins/runtime.d.ts.map +0 -1
  510. package/node_modules/@pi-harness/core/dist/plugins/runtime.js +0 -159
  511. package/node_modules/@pi-harness/core/dist/plugins/runtime.js.map +0 -1
  512. package/node_modules/@pi-harness/core/dist/plugins/secure-audit.d.ts +0 -32
  513. package/node_modules/@pi-harness/core/dist/plugins/secure-audit.d.ts.map +0 -1
  514. package/node_modules/@pi-harness/core/dist/plugins/secure-audit.js +0 -139
  515. package/node_modules/@pi-harness/core/dist/plugins/secure-audit.js.map +0 -1
  516. package/node_modules/@pi-harness/core/dist/plugins/session-bookmarks.d.ts +0 -16
  517. package/node_modules/@pi-harness/core/dist/plugins/session-bookmarks.d.ts.map +0 -1
  518. package/node_modules/@pi-harness/core/dist/plugins/session-bookmarks.js +0 -90
  519. package/node_modules/@pi-harness/core/dist/plugins/session-bookmarks.js.map +0 -1
  520. package/node_modules/@pi-harness/core/dist/plugins/session-bridge.d.ts +0 -45
  521. package/node_modules/@pi-harness/core/dist/plugins/session-bridge.d.ts.map +0 -1
  522. package/node_modules/@pi-harness/core/dist/plugins/session-bridge.js +0 -578
  523. package/node_modules/@pi-harness/core/dist/plugins/session-bridge.js.map +0 -1
  524. package/node_modules/@pi-harness/core/dist/plugins/session-compare.d.ts +0 -34
  525. package/node_modules/@pi-harness/core/dist/plugins/session-compare.d.ts.map +0 -1
  526. package/node_modules/@pi-harness/core/dist/plugins/session-compare.js +0 -153
  527. package/node_modules/@pi-harness/core/dist/plugins/session-compare.js.map +0 -1
  528. package/node_modules/@pi-harness/core/dist/plugins/session-export.d.ts +0 -10
  529. package/node_modules/@pi-harness/core/dist/plugins/session-export.d.ts.map +0 -1
  530. package/node_modules/@pi-harness/core/dist/plugins/session-export.js +0 -93
  531. package/node_modules/@pi-harness/core/dist/plugins/session-export.js.map +0 -1
  532. package/node_modules/@pi-harness/core/dist/plugins/session-insights.d.ts +0 -44
  533. package/node_modules/@pi-harness/core/dist/plugins/session-insights.d.ts.map +0 -1
  534. package/node_modules/@pi-harness/core/dist/plugins/session-insights.js +0 -432
  535. package/node_modules/@pi-harness/core/dist/plugins/session-insights.js.map +0 -1
  536. package/node_modules/@pi-harness/core/dist/plugins/session-search.d.ts +0 -21
  537. package/node_modules/@pi-harness/core/dist/plugins/session-search.d.ts.map +0 -1
  538. package/node_modules/@pi-harness/core/dist/plugins/session-search.js +0 -125
  539. package/node_modules/@pi-harness/core/dist/plugins/session-search.js.map +0 -1
  540. package/node_modules/@pi-harness/core/dist/plugins/session.d.ts +0 -15
  541. package/node_modules/@pi-harness/core/dist/plugins/session.d.ts.map +0 -1
  542. package/node_modules/@pi-harness/core/dist/plugins/session.js +0 -29
  543. package/node_modules/@pi-harness/core/dist/plugins/session.js.map +0 -1
  544. package/node_modules/@pi-harness/core/dist/plugins/skill-catalog.d.ts +0 -27
  545. package/node_modules/@pi-harness/core/dist/plugins/skill-catalog.d.ts.map +0 -1
  546. package/node_modules/@pi-harness/core/dist/plugins/skill-catalog.js +0 -98
  547. package/node_modules/@pi-harness/core/dist/plugins/skill-catalog.js.map +0 -1
  548. package/node_modules/@pi-harness/core/dist/plugins/skill-guard.d.ts +0 -27
  549. package/node_modules/@pi-harness/core/dist/plugins/skill-guard.d.ts.map +0 -1
  550. package/node_modules/@pi-harness/core/dist/plugins/skill-guard.js +0 -319
  551. package/node_modules/@pi-harness/core/dist/plugins/skill-guard.js.map +0 -1
  552. package/node_modules/@pi-harness/core/dist/plugins/sql-lens-worker.d.ts +0 -2
  553. package/node_modules/@pi-harness/core/dist/plugins/sql-lens-worker.d.ts.map +0 -1
  554. package/node_modules/@pi-harness/core/dist/plugins/sql-lens-worker.js +0 -206
  555. package/node_modules/@pi-harness/core/dist/plugins/sql-lens-worker.js.map +0 -1
  556. package/node_modules/@pi-harness/core/dist/plugins/sql-lens.d.ts +0 -14
  557. package/node_modules/@pi-harness/core/dist/plugins/sql-lens.d.ts.map +0 -1
  558. package/node_modules/@pi-harness/core/dist/plugins/sql-lens.js +0 -318
  559. package/node_modules/@pi-harness/core/dist/plugins/sql-lens.js.map +0 -1
  560. package/node_modules/@pi-harness/core/dist/plugins/stdio.d.ts +0 -11
  561. package/node_modules/@pi-harness/core/dist/plugins/stdio.d.ts.map +0 -1
  562. package/node_modules/@pi-harness/core/dist/plugins/stdio.js +0 -80
  563. package/node_modules/@pi-harness/core/dist/plugins/stdio.js.map +0 -1
  564. package/node_modules/@pi-harness/core/dist/plugins/synapse.d.ts +0 -38
  565. package/node_modules/@pi-harness/core/dist/plugins/synapse.d.ts.map +0 -1
  566. package/node_modules/@pi-harness/core/dist/plugins/synapse.js +0 -101
  567. package/node_modules/@pi-harness/core/dist/plugins/synapse.js.map +0 -1
  568. package/node_modules/@pi-harness/core/dist/plugins/tab-manager.d.ts +0 -9
  569. package/node_modules/@pi-harness/core/dist/plugins/tab-manager.d.ts.map +0 -1
  570. package/node_modules/@pi-harness/core/dist/plugins/tab-manager.js +0 -240
  571. package/node_modules/@pi-harness/core/dist/plugins/tab-manager.js.map +0 -1
  572. package/node_modules/@pi-harness/core/dist/plugins/taskboard.d.ts +0 -15
  573. package/node_modules/@pi-harness/core/dist/plugins/taskboard.d.ts.map +0 -1
  574. package/node_modules/@pi-harness/core/dist/plugins/taskboard.js +0 -375
  575. package/node_modules/@pi-harness/core/dist/plugins/taskboard.js.map +0 -1
  576. package/node_modules/@pi-harness/core/dist/plugins/telemetry-blocker.d.ts +0 -11
  577. package/node_modules/@pi-harness/core/dist/plugins/telemetry-blocker.d.ts.map +0 -1
  578. package/node_modules/@pi-harness/core/dist/plugins/telemetry-blocker.js +0 -76
  579. package/node_modules/@pi-harness/core/dist/plugins/telemetry-blocker.js.map +0 -1
  580. package/node_modules/@pi-harness/core/dist/plugins/test-harness.d.ts +0 -14
  581. package/node_modules/@pi-harness/core/dist/plugins/test-harness.d.ts.map +0 -1
  582. package/node_modules/@pi-harness/core/dist/plugins/test-harness.js +0 -276
  583. package/node_modules/@pi-harness/core/dist/plugins/test-harness.js.map +0 -1
  584. package/node_modules/@pi-harness/core/dist/plugins/theme-studio.d.ts +0 -29
  585. package/node_modules/@pi-harness/core/dist/plugins/theme-studio.d.ts.map +0 -1
  586. package/node_modules/@pi-harness/core/dist/plugins/theme-studio.js +0 -143
  587. package/node_modules/@pi-harness/core/dist/plugins/theme-studio.js.map +0 -1
  588. package/node_modules/@pi-harness/core/dist/plugins/token-guard.d.ts +0 -15
  589. package/node_modules/@pi-harness/core/dist/plugins/token-guard.d.ts.map +0 -1
  590. package/node_modules/@pi-harness/core/dist/plugins/token-guard.js +0 -210
  591. package/node_modules/@pi-harness/core/dist/plugins/token-guard.js.map +0 -1
  592. package/node_modules/@pi-harness/core/dist/plugins/tools.d.ts +0 -13
  593. package/node_modules/@pi-harness/core/dist/plugins/tools.d.ts.map +0 -1
  594. package/node_modules/@pi-harness/core/dist/plugins/tools.js +0 -23
  595. package/node_modules/@pi-harness/core/dist/plugins/tools.js.map +0 -1
  596. package/node_modules/@pi-harness/core/dist/plugins/turn-rewind.d.ts +0 -36
  597. package/node_modules/@pi-harness/core/dist/plugins/turn-rewind.d.ts.map +0 -1
  598. package/node_modules/@pi-harness/core/dist/plugins/turn-rewind.js +0 -378
  599. package/node_modules/@pi-harness/core/dist/plugins/turn-rewind.js.map +0 -1
  600. package/node_modules/@pi-harness/core/dist/plugins/undo-savepoint.d.ts +0 -17
  601. package/node_modules/@pi-harness/core/dist/plugins/undo-savepoint.d.ts.map +0 -1
  602. package/node_modules/@pi-harness/core/dist/plugins/undo-savepoint.js +0 -353
  603. package/node_modules/@pi-harness/core/dist/plugins/undo-savepoint.js.map +0 -1
  604. package/node_modules/@pi-harness/core/dist/plugins/vision-toolkit.d.ts +0 -36
  605. package/node_modules/@pi-harness/core/dist/plugins/vision-toolkit.d.ts.map +0 -1
  606. package/node_modules/@pi-harness/core/dist/plugins/vision-toolkit.js +0 -468
  607. package/node_modules/@pi-harness/core/dist/plugins/vision-toolkit.js.map +0 -1
  608. package/node_modules/@pi-harness/core/dist/plugins/web-research.d.ts +0 -17
  609. package/node_modules/@pi-harness/core/dist/plugins/web-research.d.ts.map +0 -1
  610. package/node_modules/@pi-harness/core/dist/plugins/web-research.js +0 -284
  611. package/node_modules/@pi-harness/core/dist/plugins/web-research.js.map +0 -1
  612. package/node_modules/@pi-harness/core/dist/plugins/workspace-navigator.d.ts +0 -42
  613. package/node_modules/@pi-harness/core/dist/plugins/workspace-navigator.d.ts.map +0 -1
  614. package/node_modules/@pi-harness/core/dist/plugins/workspace-navigator.js +0 -168
  615. package/node_modules/@pi-harness/core/dist/plugins/workspace-navigator.js.map +0 -1
  616. package/node_modules/@pi-harness/core/dist/plugins/workspace-search.d.ts +0 -15
  617. package/node_modules/@pi-harness/core/dist/plugins/workspace-search.d.ts.map +0 -1
  618. package/node_modules/@pi-harness/core/dist/plugins/workspace-search.js +0 -167
  619. package/node_modules/@pi-harness/core/dist/plugins/workspace-search.js.map +0 -1
  620. package/node_modules/@pi-harness/core/dist/plugins/yaml-validator.d.ts +0 -9
  621. package/node_modules/@pi-harness/core/dist/plugins/yaml-validator.d.ts.map +0 -1
  622. package/node_modules/@pi-harness/core/dist/plugins/yaml-validator.js +0 -203
  623. package/node_modules/@pi-harness/core/dist/plugins/yaml-validator.js.map +0 -1
  624. package/node_modules/@pi-harness/core/dist/profile.d.ts +0 -9
  625. package/node_modules/@pi-harness/core/dist/profile.d.ts.map +0 -1
  626. package/node_modules/@pi-harness/core/dist/profile.js +0 -33
  627. package/node_modules/@pi-harness/core/dist/profile.js.map +0 -1
  628. package/node_modules/@pi-harness/core/dist/runtime.d.ts +0 -16
  629. package/node_modules/@pi-harness/core/dist/runtime.d.ts.map +0 -1
  630. package/node_modules/@pi-harness/core/dist/runtime.js +0 -47
  631. package/node_modules/@pi-harness/core/dist/runtime.js.map +0 -1
  632. package/node_modules/@pi-harness/core/dist/services.d.ts +0 -118
  633. package/node_modules/@pi-harness/core/dist/services.d.ts.map +0 -1
  634. package/node_modules/@pi-harness/core/dist/services.js +0 -115
  635. package/node_modules/@pi-harness/core/dist/services.js.map +0 -1
  636. package/node_modules/@pi-harness/core/dist/stdio.d.ts +0 -37
  637. package/node_modules/@pi-harness/core/dist/stdio.d.ts.map +0 -1
  638. package/node_modules/@pi-harness/core/dist/stdio.js +0 -356
  639. package/node_modules/@pi-harness/core/dist/stdio.js.map +0 -1
  640. package/node_modules/@pi-harness/core/dist/workspace-path.d.ts +0 -13
  641. package/node_modules/@pi-harness/core/dist/workspace-path.d.ts.map +0 -1
  642. package/node_modules/@pi-harness/core/dist/workspace-path.js +0 -71
  643. package/node_modules/@pi-harness/core/dist/workspace-path.js.map +0 -1
  644. package/node_modules/@pi-harness/core/package.json +0 -42
  645. package/node_modules/@pi-harness/core/profiles/default/cordis.yml +0 -122
  646. package/node_modules/@pi-harness/core/profiles/development/cordis.yml +0 -47
  647. package/packages/client-web/LICENSE +0 -9
  648. package/packages/client-web/dist/agent-teams-view.d.ts +0 -70
  649. package/packages/client-web/dist/agent-teams-view.d.ts.map +0 -1
  650. package/packages/client-web/dist/agent-teams-view.js +0 -159
  651. package/packages/client-web/dist/agent-teams-view.js.map +0 -1
  652. package/packages/client-web/dist/annotation-ui.d.ts +0 -11
  653. package/packages/client-web/dist/annotation-ui.d.ts.map +0 -1
  654. package/packages/client-web/dist/annotation-ui.js +0 -24
  655. package/packages/client-web/dist/annotation-ui.js.map +0 -1
  656. package/packages/client-web/dist/at-file-view.d.ts +0 -10
  657. package/packages/client-web/dist/at-file-view.d.ts.map +0 -1
  658. package/packages/client-web/dist/at-file-view.js +0 -65
  659. package/packages/client-web/dist/at-file-view.js.map +0 -1
  660. package/packages/client-web/dist/browser-fetch-view.d.ts +0 -22
  661. package/packages/client-web/dist/browser-fetch-view.d.ts.map +0 -1
  662. package/packages/client-web/dist/browser-fetch-view.js +0 -101
  663. package/packages/client-web/dist/browser-fetch-view.js.map +0 -1
  664. package/packages/client-web/dist/browser-session-view.d.ts +0 -39
  665. package/packages/client-web/dist/browser-session-view.d.ts.map +0 -1
  666. package/packages/client-web/dist/browser-session-view.js +0 -211
  667. package/packages/client-web/dist/browser-session-view.js.map +0 -1
  668. package/packages/client-web/dist/cleaner-view.d.ts +0 -29
  669. package/packages/client-web/dist/cleaner-view.d.ts.map +0 -1
  670. package/packages/client-web/dist/cleaner-view.js +0 -191
  671. package/packages/client-web/dist/cleaner-view.js.map +0 -1
  672. package/packages/client-web/dist/context-doctor-view.d.ts +0 -35
  673. package/packages/client-web/dist/context-doctor-view.d.ts.map +0 -1
  674. package/packages/client-web/dist/context-doctor-view.js +0 -129
  675. package/packages/client-web/dist/context-doctor-view.js.map +0 -1
  676. package/packages/client-web/dist/context-insights-view.d.ts +0 -31
  677. package/packages/client-web/dist/context-insights-view.d.ts.map +0 -1
  678. package/packages/client-web/dist/context-insights-view.js +0 -90
  679. package/packages/client-web/dist/context-insights-view.js.map +0 -1
  680. package/packages/client-web/dist/control-room.d.ts +0 -270
  681. package/packages/client-web/dist/control-room.d.ts.map +0 -1
  682. package/packages/client-web/dist/control-room.js +0 -157
  683. package/packages/client-web/dist/control-room.js.map +0 -1
  684. package/packages/client-web/dist/cost-meter-view.d.ts +0 -16
  685. package/packages/client-web/dist/cost-meter-view.d.ts.map +0 -1
  686. package/packages/client-web/dist/cost-meter-view.js +0 -43
  687. package/packages/client-web/dist/cost-meter-view.js.map +0 -1
  688. package/packages/client-web/dist/dependency-checker-view.d.ts +0 -24
  689. package/packages/client-web/dist/dependency-checker-view.d.ts.map +0 -1
  690. package/packages/client-web/dist/dependency-checker-view.js +0 -195
  691. package/packages/client-web/dist/dependency-checker-view.js.map +0 -1
  692. package/packages/client-web/dist/design-contract.d.ts +0 -85
  693. package/packages/client-web/dist/design-contract.d.ts.map +0 -1
  694. package/packages/client-web/dist/design-contract.js +0 -258
  695. package/packages/client-web/dist/design-contract.js.map +0 -1
  696. package/packages/client-web/dist/docker-sandbox-view.d.ts +0 -28
  697. package/packages/client-web/dist/docker-sandbox-view.d.ts.map +0 -1
  698. package/packages/client-web/dist/docker-sandbox-view.js +0 -152
  699. package/packages/client-web/dist/docker-sandbox-view.js.map +0 -1
  700. package/packages/client-web/dist/fail-logger-view.d.ts +0 -16
  701. package/packages/client-web/dist/fail-logger-view.d.ts.map +0 -1
  702. package/packages/client-web/dist/fail-logger-view.js +0 -97
  703. package/packages/client-web/dist/fail-logger-view.js.map +0 -1
  704. package/packages/client-web/dist/genui-view.d.ts +0 -28
  705. package/packages/client-web/dist/genui-view.d.ts.map +0 -1
  706. package/packages/client-web/dist/genui-view.js +0 -62
  707. package/packages/client-web/dist/genui-view.js.map +0 -1
  708. package/packages/client-web/dist/git-time-capsule-view.d.ts +0 -31
  709. package/packages/client-web/dist/git-time-capsule-view.d.ts.map +0 -1
  710. package/packages/client-web/dist/git-time-capsule-view.js +0 -203
  711. package/packages/client-web/dist/git-time-capsule-view.js.map +0 -1
  712. package/packages/client-web/dist/graph-memory-view.d.ts +0 -39
  713. package/packages/client-web/dist/graph-memory-view.d.ts.map +0 -1
  714. package/packages/client-web/dist/graph-memory-view.js +0 -82
  715. package/packages/client-web/dist/graph-memory-view.js.map +0 -1
  716. package/packages/client-web/dist/i18n-pair-view.d.ts +0 -32
  717. package/packages/client-web/dist/i18n-pair-view.d.ts.map +0 -1
  718. package/packages/client-web/dist/i18n-pair-view.js +0 -182
  719. package/packages/client-web/dist/i18n-pair-view.js.map +0 -1
  720. package/packages/client-web/dist/index.d.ts +0 -20
  721. package/packages/client-web/dist/index.d.ts.map +0 -1
  722. package/packages/client-web/dist/index.js +0 -27
  723. package/packages/client-web/dist/index.js.map +0 -1
  724. package/packages/client-web/dist/markdown.d.ts +0 -5
  725. package/packages/client-web/dist/markdown.d.ts.map +0 -1
  726. package/packages/client-web/dist/markdown.js +0 -20
  727. package/packages/client-web/dist/markdown.js.map +0 -1
  728. package/packages/client-web/dist/marketplace-catalog.d.ts +0 -3
  729. package/packages/client-web/dist/marketplace-catalog.d.ts.map +0 -1
  730. package/packages/client-web/dist/marketplace-catalog.js +0 -10
  731. package/packages/client-web/dist/marketplace-catalog.js.map +0 -1
  732. package/packages/client-web/dist/marketplace-navigation.d.ts +0 -19
  733. package/packages/client-web/dist/marketplace-navigation.d.ts.map +0 -1
  734. package/packages/client-web/dist/marketplace-navigation.js +0 -31
  735. package/packages/client-web/dist/marketplace-navigation.js.map +0 -1
  736. package/packages/client-web/dist/mcp-client-view.d.ts +0 -58
  737. package/packages/client-web/dist/mcp-client-view.d.ts.map +0 -1
  738. package/packages/client-web/dist/mcp-client-view.js +0 -121
  739. package/packages/client-web/dist/mcp-client-view.js.map +0 -1
  740. package/packages/client-web/dist/message-content.d.ts +0 -9
  741. package/packages/client-web/dist/message-content.d.ts.map +0 -1
  742. package/packages/client-web/dist/message-content.js +0 -54
  743. package/packages/client-web/dist/message-content.js.map +0 -1
  744. package/packages/client-web/dist/modlens-view.d.ts +0 -43
  745. package/packages/client-web/dist/modlens-view.d.ts.map +0 -1
  746. package/packages/client-web/dist/modlens-view.js +0 -176
  747. package/packages/client-web/dist/modlens-view.js.map +0 -1
  748. package/packages/client-web/dist/openpets-view.d.ts +0 -26
  749. package/packages/client-web/dist/openpets-view.d.ts.map +0 -1
  750. package/packages/client-web/dist/openpets-view.js +0 -62
  751. package/packages/client-web/dist/openpets-view.js.map +0 -1
  752. package/packages/client-web/dist/panel-safe.d.ts +0 -5
  753. package/packages/client-web/dist/panel-safe.d.ts.map +0 -1
  754. package/packages/client-web/dist/panel-safe.js +0 -58
  755. package/packages/client-web/dist/panel-safe.js.map +0 -1
  756. package/packages/client-web/dist/plugin-card.d.ts +0 -8
  757. package/packages/client-web/dist/plugin-card.d.ts.map +0 -1
  758. package/packages/client-web/dist/plugin-card.js +0 -15
  759. package/packages/client-web/dist/plugin-card.js.map +0 -1
  760. package/packages/client-web/dist/plugin-dev-view.d.ts +0 -15
  761. package/packages/client-web/dist/plugin-dev-view.d.ts.map +0 -1
  762. package/packages/client-web/dist/plugin-dev-view.js +0 -33
  763. package/packages/client-web/dist/plugin-dev-view.js.map +0 -1
  764. package/packages/client-web/dist/plugin-navigation.d.ts +0 -3
  765. package/packages/client-web/dist/plugin-navigation.d.ts.map +0 -1
  766. package/packages/client-web/dist/plugin-navigation.js +0 -10
  767. package/packages/client-web/dist/plugin-navigation.js.map +0 -1
  768. package/packages/client-web/dist/plugin-search.d.ts +0 -2
  769. package/packages/client-web/dist/plugin-search.d.ts.map +0 -1
  770. package/packages/client-web/dist/plugin-search.js +0 -7
  771. package/packages/client-web/dist/plugin-search.js.map +0 -1
  772. package/packages/client-web/dist/plugin-stars-view.d.ts +0 -40
  773. package/packages/client-web/dist/plugin-stars-view.d.ts.map +0 -1
  774. package/packages/client-web/dist/plugin-stars-view.js +0 -216
  775. package/packages/client-web/dist/plugin-stars-view.js.map +0 -1
  776. package/packages/client-web/dist/prompt-completion.d.ts +0 -13
  777. package/packages/client-web/dist/prompt-completion.d.ts.map +0 -1
  778. package/packages/client-web/dist/prompt-completion.js +0 -17
  779. package/packages/client-web/dist/prompt-completion.js.map +0 -1
  780. package/packages/client-web/dist/react-room.d.ts +0 -11
  781. package/packages/client-web/dist/react-room.d.ts.map +0 -1
  782. package/packages/client-web/dist/react-room.js +0 -2844
  783. package/packages/client-web/dist/react-room.js.map +0 -1
  784. package/packages/client-web/dist/readme-gen-view.d.ts +0 -30
  785. package/packages/client-web/dist/readme-gen-view.d.ts.map +0 -1
  786. package/packages/client-web/dist/readme-gen-view.js +0 -134
  787. package/packages/client-web/dist/readme-gen-view.js.map +0 -1
  788. package/packages/client-web/dist/recall-unread-view.d.ts +0 -46
  789. package/packages/client-web/dist/recall-unread-view.d.ts.map +0 -1
  790. package/packages/client-web/dist/recall-unread-view.js +0 -104
  791. package/packages/client-web/dist/recall-unread-view.js.map +0 -1
  792. package/packages/client-web/dist/runtime-events.d.ts +0 -4
  793. package/packages/client-web/dist/runtime-events.d.ts.map +0 -1
  794. package/packages/client-web/dist/runtime-events.js +0 -29
  795. package/packages/client-web/dist/runtime-events.js.map +0 -1
  796. package/packages/client-web/dist/session-bridge-view.d.ts +0 -50
  797. package/packages/client-web/dist/session-bridge-view.d.ts.map +0 -1
  798. package/packages/client-web/dist/session-bridge-view.js +0 -113
  799. package/packages/client-web/dist/session-bridge-view.js.map +0 -1
  800. package/packages/client-web/dist/session-insights-view.d.ts +0 -40
  801. package/packages/client-web/dist/session-insights-view.d.ts.map +0 -1
  802. package/packages/client-web/dist/session-insights-view.js +0 -157
  803. package/packages/client-web/dist/session-insights-view.js.map +0 -1
  804. package/packages/client-web/dist/skill-guard-view.d.ts +0 -47
  805. package/packages/client-web/dist/skill-guard-view.d.ts.map +0 -1
  806. package/packages/client-web/dist/skill-guard-view.js +0 -93
  807. package/packages/client-web/dist/skill-guard-view.js.map +0 -1
  808. package/packages/client-web/dist/sql-lens-view.d.ts +0 -37
  809. package/packages/client-web/dist/sql-lens-view.d.ts.map +0 -1
  810. package/packages/client-web/dist/sql-lens-view.js +0 -235
  811. package/packages/client-web/dist/sql-lens-view.js.map +0 -1
  812. package/packages/client-web/dist/test-harness-view.d.ts +0 -24
  813. package/packages/client-web/dist/test-harness-view.d.ts.map +0 -1
  814. package/packages/client-web/dist/test-harness-view.js +0 -149
  815. package/packages/client-web/dist/test-harness-view.js.map +0 -1
  816. package/packages/client-web/dist/token-guard-view.d.ts +0 -19
  817. package/packages/client-web/dist/token-guard-view.d.ts.map +0 -1
  818. package/packages/client-web/dist/token-guard-view.js +0 -56
  819. package/packages/client-web/dist/token-guard-view.js.map +0 -1
  820. package/packages/client-web/dist/turn-rewind-view.d.ts +0 -41
  821. package/packages/client-web/dist/turn-rewind-view.d.ts.map +0 -1
  822. package/packages/client-web/dist/turn-rewind-view.js +0 -117
  823. package/packages/client-web/dist/turn-rewind-view.js.map +0 -1
  824. package/packages/client-web/dist/vision-toolkit-view.d.ts +0 -66
  825. package/packages/client-web/dist/vision-toolkit-view.d.ts.map +0 -1
  826. package/packages/client-web/dist/vision-toolkit-view.js +0 -238
  827. package/packages/client-web/dist/vision-toolkit-view.js.map +0 -1
  828. package/packages/client-web/dist/yaml-validator-view.d.ts +0 -52
  829. package/packages/client-web/dist/yaml-validator-view.d.ts.map +0 -1
  830. package/packages/client-web/dist/yaml-validator-view.js +0 -96
  831. package/packages/client-web/dist/yaml-validator-view.js.map +0 -1
  832. package/packages/client-web/package.json +0 -42
  833. package/packages/client-web/src/agent-teams-view.ts +0 -189
  834. package/packages/client-web/src/annotation-ui.ts +0 -29
  835. package/packages/client-web/src/at-file-view.ts +0 -69
  836. package/packages/client-web/src/browser-fetch-view.ts +0 -114
  837. package/packages/client-web/src/browser-session-view.ts +0 -232
  838. package/packages/client-web/src/cleaner-view.ts +0 -207
  839. package/packages/client-web/src/context-doctor-view.ts +0 -140
  840. package/packages/client-web/src/context-insights-view.ts +0 -125
  841. package/packages/client-web/src/control-room.ts +0 -359
  842. package/packages/client-web/src/cost-meter-view.ts +0 -63
  843. package/packages/client-web/src/dependency-checker-view.ts +0 -215
  844. package/packages/client-web/src/design-contract.ts +0 -334
  845. package/packages/client-web/src/docker-sandbox-view.ts +0 -177
  846. package/packages/client-web/src/fail-logger-view.ts +0 -112
  847. package/packages/client-web/src/genui-view.ts +0 -88
  848. package/packages/client-web/src/git-time-capsule-view.ts +0 -215
  849. package/packages/client-web/src/graph-memory-view.ts +0 -91
  850. package/packages/client-web/src/i18n-pair-view.ts +0 -194
  851. package/packages/client-web/src/index.ts +0 -34
  852. package/packages/client-web/src/markdown.tsx +0 -22
  853. package/packages/client-web/src/marketplace-catalog.ts +0 -10
  854. package/packages/client-web/src/marketplace-navigation.ts +0 -46
  855. package/packages/client-web/src/mcp-client-view.ts +0 -122
  856. package/packages/client-web/src/message-content.ts +0 -51
  857. package/packages/client-web/src/modlens-view.ts +0 -210
  858. package/packages/client-web/src/openpets-view.ts +0 -67
  859. package/packages/client-web/src/panel-safe.ts +0 -47
  860. package/packages/client-web/src/plugin-card.ts +0 -22
  861. package/packages/client-web/src/plugin-dev-view.ts +0 -39
  862. package/packages/client-web/src/plugin-navigation.ts +0 -9
  863. package/packages/client-web/src/plugin-search.ts +0 -5
  864. package/packages/client-web/src/plugin-stars-view.ts +0 -257
  865. package/packages/client-web/src/prompt-completion.ts +0 -24
  866. package/packages/client-web/src/react-room.tsx +0 -8581
  867. package/packages/client-web/src/readme-gen-view.ts +0 -145
  868. package/packages/client-web/src/recall-unread-view.ts +0 -105
  869. package/packages/client-web/src/runtime-events.ts +0 -29
  870. package/packages/client-web/src/session-bridge-view.ts +0 -118
  871. package/packages/client-web/src/session-insights-view.ts +0 -205
  872. package/packages/client-web/src/skill-guard-view.ts +0 -94
  873. package/packages/client-web/src/sql-lens-view.ts +0 -247
  874. package/packages/client-web/src/test-harness-view.ts +0 -170
  875. package/packages/client-web/src/token-guard-view.ts +0 -75
  876. package/packages/client-web/src/turn-rewind-view.ts +0 -120
  877. package/packages/client-web/src/vision-toolkit-view.ts +0 -280
  878. package/packages/client-web/src/yaml-validator-view.ts +0 -102
  879. package/packages/client-web/test/agent-teams-view.test.ts +0 -198
  880. package/packages/client-web/test/annotation-ui.test.ts +0 -21
  881. package/packages/client-web/test/at-file-panel.test.ts +0 -76
  882. package/packages/client-web/test/browser-fetch-panel.test.ts +0 -44
  883. package/packages/client-web/test/browser-fetch-view.test.ts +0 -89
  884. package/packages/client-web/test/browser-session-panel.test.ts +0 -55
  885. package/packages/client-web/test/browser-session-view.test.ts +0 -115
  886. package/packages/client-web/test/cleaner-panel.test.ts +0 -66
  887. package/packages/client-web/test/cleaner-view.test.ts +0 -143
  888. package/packages/client-web/test/context-doctor-view.test.ts +0 -169
  889. package/packages/client-web/test/context-insights-view.test.ts +0 -120
  890. package/packages/client-web/test/cost-meter-view.test.ts +0 -53
  891. package/packages/client-web/test/dependency-checker-panel.test.ts +0 -51
  892. package/packages/client-web/test/dependency-checker-view.test.ts +0 -266
  893. package/packages/client-web/test/design-contract.test.ts +0 -69
  894. package/packages/client-web/test/docker-sandbox-panel.test.ts +0 -44
  895. package/packages/client-web/test/docker-sandbox-view.test.ts +0 -127
  896. package/packages/client-web/test/fail-logger-view.test.ts +0 -155
  897. package/packages/client-web/test/genui-view.test.ts +0 -55
  898. package/packages/client-web/test/git-time-capsule-view.test.ts +0 -252
  899. package/packages/client-web/test/graph-memory-view.test.ts +0 -67
  900. package/packages/client-web/test/i18n-pair-panel.test.ts +0 -72
  901. package/packages/client-web/test/i18n-pair-view.test.ts +0 -164
  902. package/packages/client-web/test/marketplace-catalog.test.ts +0 -52
  903. package/packages/client-web/test/mcp-client-view.test.ts +0 -106
  904. package/packages/client-web/test/message-content.test.ts +0 -43
  905. package/packages/client-web/test/modlens-view.test.ts +0 -198
  906. package/packages/client-web/test/openpets-view.test.ts +0 -57
  907. package/packages/client-web/test/plugin-card.test.ts +0 -46
  908. package/packages/client-web/test/plugin-dev-view.test.ts +0 -63
  909. package/packages/client-web/test/plugin-navigation.test.ts +0 -14
  910. package/packages/client-web/test/plugin-search.test.ts +0 -22
  911. package/packages/client-web/test/plugin-stars-panel.test.ts +0 -44
  912. package/packages/client-web/test/plugin-stars-view.test.ts +0 -107
  913. package/packages/client-web/test/prompt-completion.test.ts +0 -21
  914. package/packages/client-web/test/readme-gen-panel.test.ts +0 -81
  915. package/packages/client-web/test/readme-gen-view.test.ts +0 -91
  916. package/packages/client-web/test/recall-unread-view.test.ts +0 -153
  917. package/packages/client-web/test/runtime-events.test.ts +0 -28
  918. package/packages/client-web/test/session-bridge-view.test.ts +0 -102
  919. package/packages/client-web/test/session-insights-panel.test.ts +0 -85
  920. package/packages/client-web/test/session-insights-view.test.ts +0 -152
  921. package/packages/client-web/test/skill-guard-view.test.ts +0 -138
  922. package/packages/client-web/test/sql-lens-panel.test.ts +0 -52
  923. package/packages/client-web/test/sql-lens-view.test.ts +0 -134
  924. package/packages/client-web/test/test-harness-panel.test.ts +0 -228
  925. package/packages/client-web/test/token-guard-view.test.ts +0 -93
  926. package/packages/client-web/test/turn-rewind-view.test.ts +0 -159
  927. package/packages/client-web/test/vision-toolkit-view.test.ts +0 -152
  928. package/packages/client-web/test/yaml-validator-view.test.ts +0 -100
  929. package/packages/client-web/tsconfig.build.json +0 -13
  930. package/packages/client-web/tsconfig.json +0 -11
  931. package/packages/core/LICENSE +0 -9
  932. package/packages/core/dist/atomic-write.d.ts +0 -8
  933. package/packages/core/dist/atomic-write.d.ts.map +0 -1
  934. package/packages/core/dist/atomic-write.js +0 -40
  935. package/packages/core/dist/atomic-write.js.map +0 -1
  936. package/packages/core/dist/boot.d.ts +0 -13
  937. package/packages/core/dist/boot.d.ts.map +0 -1
  938. package/packages/core/dist/boot.js +0 -257
  939. package/packages/core/dist/boot.js.map +0 -1
  940. package/packages/core/dist/bounded-file.d.ts +0 -7
  941. package/packages/core/dist/bounded-file.d.ts.map +0 -1
  942. package/packages/core/dist/bounded-file.js +0 -50
  943. package/packages/core/dist/bounded-file.js.map +0 -1
  944. package/packages/core/dist/config.d.ts +0 -4
  945. package/packages/core/dist/config.d.ts.map +0 -1
  946. package/packages/core/dist/config.js +0 -29
  947. package/packages/core/dist/config.js.map +0 -1
  948. package/packages/core/dist/context.d.ts +0 -3
  949. package/packages/core/dist/context.d.ts.map +0 -1
  950. package/packages/core/dist/context.js +0 -2
  951. package/packages/core/dist/context.js.map +0 -1
  952. package/packages/core/dist/cordis-timer.d.ts +0 -15
  953. package/packages/core/dist/cordis-timer.d.ts.map +0 -1
  954. package/packages/core/dist/cordis-timer.js +0 -99
  955. package/packages/core/dist/cordis-timer.js.map +0 -1
  956. package/packages/core/dist/http.d.ts +0 -8
  957. package/packages/core/dist/http.d.ts.map +0 -1
  958. package/packages/core/dist/http.js +0 -27
  959. package/packages/core/dist/http.js.map +0 -1
  960. package/packages/core/dist/index.d.ts +0 -9
  961. package/packages/core/dist/index.d.ts.map +0 -1
  962. package/packages/core/dist/index.js +0 -8
  963. package/packages/core/dist/index.js.map +0 -1
  964. package/packages/core/dist/plugins/agent-teams.d.ts +0 -21
  965. package/packages/core/dist/plugins/agent-teams.d.ts.map +0 -1
  966. package/packages/core/dist/plugins/agent-teams.js +0 -1179
  967. package/packages/core/dist/plugins/agent-teams.js.map +0 -1
  968. package/packages/core/dist/plugins/anchored-standard.d.ts +0 -15
  969. package/packages/core/dist/plugins/anchored-standard.d.ts.map +0 -1
  970. package/packages/core/dist/plugins/anchored-standard.js +0 -112
  971. package/packages/core/dist/plugins/anchored-standard.js.map +0 -1
  972. package/packages/core/dist/plugins/annotation.d.ts +0 -19
  973. package/packages/core/dist/plugins/annotation.d.ts.map +0 -1
  974. package/packages/core/dist/plugins/annotation.js +0 -112
  975. package/packages/core/dist/plugins/annotation.js.map +0 -1
  976. package/packages/core/dist/plugins/archify.d.ts +0 -24
  977. package/packages/core/dist/plugins/archify.d.ts.map +0 -1
  978. package/packages/core/dist/plugins/archify.js +0 -145
  979. package/packages/core/dist/plugins/archify.js.map +0 -1
  980. package/packages/core/dist/plugins/at-file.d.ts +0 -12
  981. package/packages/core/dist/plugins/at-file.d.ts.map +0 -1
  982. package/packages/core/dist/plugins/at-file.js +0 -143
  983. package/packages/core/dist/plugins/at-file.js.map +0 -1
  984. package/packages/core/dist/plugins/auto-mode.d.ts +0 -15
  985. package/packages/core/dist/plugins/auto-mode.d.ts.map +0 -1
  986. package/packages/core/dist/plugins/auto-mode.js +0 -183
  987. package/packages/core/dist/plugins/auto-mode.js.map +0 -1
  988. package/packages/core/dist/plugins/better-sidebar.d.ts +0 -38
  989. package/packages/core/dist/plugins/better-sidebar.d.ts.map +0 -1
  990. package/packages/core/dist/plugins/better-sidebar.js +0 -99
  991. package/packages/core/dist/plugins/better-sidebar.js.map +0 -1
  992. package/packages/core/dist/plugins/browser-fetch.d.ts +0 -15
  993. package/packages/core/dist/plugins/browser-fetch.d.ts.map +0 -1
  994. package/packages/core/dist/plugins/browser-fetch.js +0 -359
  995. package/packages/core/dist/plugins/browser-fetch.js.map +0 -1
  996. package/packages/core/dist/plugins/browser-session.d.ts +0 -14
  997. package/packages/core/dist/plugins/browser-session.d.ts.map +0 -1
  998. package/packages/core/dist/plugins/browser-session.js +0 -604
  999. package/packages/core/dist/plugins/browser-session.js.map +0 -1
  1000. package/packages/core/dist/plugins/canvas-draw.d.ts +0 -9
  1001. package/packages/core/dist/plugins/canvas-draw.d.ts.map +0 -1
  1002. package/packages/core/dist/plugins/canvas-draw.js +0 -140
  1003. package/packages/core/dist/plugins/canvas-draw.js.map +0 -1
  1004. package/packages/core/dist/plugins/change-verifier.d.ts +0 -9
  1005. package/packages/core/dist/plugins/change-verifier.d.ts.map +0 -1
  1006. package/packages/core/dist/plugins/change-verifier.js +0 -88
  1007. package/packages/core/dist/plugins/change-verifier.js.map +0 -1
  1008. package/packages/core/dist/plugins/cleaner.d.ts +0 -12
  1009. package/packages/core/dist/plugins/cleaner.d.ts.map +0 -1
  1010. package/packages/core/dist/plugins/cleaner.js +0 -353
  1011. package/packages/core/dist/plugins/cleaner.js.map +0 -1
  1012. package/packages/core/dist/plugins/cli-notifier.d.ts +0 -16
  1013. package/packages/core/dist/plugins/cli-notifier.d.ts.map +0 -1
  1014. package/packages/core/dist/plugins/cli-notifier.js +0 -167
  1015. package/packages/core/dist/plugins/cli-notifier.js.map +0 -1
  1016. package/packages/core/dist/plugins/code2skill.d.ts +0 -9
  1017. package/packages/core/dist/plugins/code2skill.d.ts.map +0 -1
  1018. package/packages/core/dist/plugins/code2skill.js +0 -235
  1019. package/packages/core/dist/plugins/code2skill.js.map +0 -1
  1020. package/packages/core/dist/plugins/colleague-skill.d.ts +0 -28
  1021. package/packages/core/dist/plugins/colleague-skill.d.ts.map +0 -1
  1022. package/packages/core/dist/plugins/colleague-skill.js +0 -129
  1023. package/packages/core/dist/plugins/colleague-skill.js.map +0 -1
  1024. package/packages/core/dist/plugins/context-doctor.d.ts +0 -35
  1025. package/packages/core/dist/plugins/context-doctor.d.ts.map +0 -1
  1026. package/packages/core/dist/plugins/context-doctor.js +0 -459
  1027. package/packages/core/dist/plugins/context-doctor.js.map +0 -1
  1028. package/packages/core/dist/plugins/context.d.ts +0 -9
  1029. package/packages/core/dist/plugins/context.d.ts.map +0 -1
  1030. package/packages/core/dist/plugins/context.js +0 -214
  1031. package/packages/core/dist/plugins/context.js.map +0 -1
  1032. package/packages/core/dist/plugins/cost-meter.d.ts +0 -36
  1033. package/packages/core/dist/plugins/cost-meter.d.ts.map +0 -1
  1034. package/packages/core/dist/plugins/cost-meter.js +0 -430
  1035. package/packages/core/dist/plugins/cost-meter.js.map +0 -1
  1036. package/packages/core/dist/plugins/dependency-checker.d.ts +0 -36
  1037. package/packages/core/dist/plugins/dependency-checker.d.ts.map +0 -1
  1038. package/packages/core/dist/plugins/dependency-checker.js +0 -570
  1039. package/packages/core/dist/plugins/dependency-checker.js.map +0 -1
  1040. package/packages/core/dist/plugins/docker-sandbox.d.ts +0 -9
  1041. package/packages/core/dist/plugins/docker-sandbox.d.ts.map +0 -1
  1042. package/packages/core/dist/plugins/docker-sandbox.js +0 -344
  1043. package/packages/core/dist/plugins/docker-sandbox.js.map +0 -1
  1044. package/packages/core/dist/plugins/fail-logger.d.ts +0 -9
  1045. package/packages/core/dist/plugins/fail-logger.d.ts.map +0 -1
  1046. package/packages/core/dist/plugins/fail-logger.js +0 -218
  1047. package/packages/core/dist/plugins/fail-logger.js.map +0 -1
  1048. package/packages/core/dist/plugins/genui.d.ts +0 -9
  1049. package/packages/core/dist/plugins/genui.d.ts.map +0 -1
  1050. package/packages/core/dist/plugins/genui.js +0 -144
  1051. package/packages/core/dist/plugins/genui.js.map +0 -1
  1052. package/packages/core/dist/plugins/git-time-capsule.d.ts +0 -15
  1053. package/packages/core/dist/plugins/git-time-capsule.d.ts.map +0 -1
  1054. package/packages/core/dist/plugins/git-time-capsule.js +0 -436
  1055. package/packages/core/dist/plugins/git-time-capsule.js.map +0 -1
  1056. package/packages/core/dist/plugins/graph-memory.d.ts +0 -16
  1057. package/packages/core/dist/plugins/graph-memory.d.ts.map +0 -1
  1058. package/packages/core/dist/plugins/graph-memory.js +0 -669
  1059. package/packages/core/dist/plugins/graph-memory.js.map +0 -1
  1060. package/packages/core/dist/plugins/history-compressor.d.ts +0 -15
  1061. package/packages/core/dist/plugins/history-compressor.d.ts.map +0 -1
  1062. package/packages/core/dist/plugins/history-compressor.js +0 -99
  1063. package/packages/core/dist/plugins/history-compressor.js.map +0 -1
  1064. package/packages/core/dist/plugins/hol-guard.d.ts +0 -29
  1065. package/packages/core/dist/plugins/hol-guard.d.ts.map +0 -1
  1066. package/packages/core/dist/plugins/hol-guard.js +0 -159
  1067. package/packages/core/dist/plugins/hol-guard.js.map +0 -1
  1068. package/packages/core/dist/plugins/i18n-pair.d.ts +0 -12
  1069. package/packages/core/dist/plugins/i18n-pair.d.ts.map +0 -1
  1070. package/packages/core/dist/plugins/i18n-pair.js +0 -332
  1071. package/packages/core/dist/plugins/i18n-pair.js.map +0 -1
  1072. package/packages/core/dist/plugins/image-compressor.d.ts +0 -15
  1073. package/packages/core/dist/plugins/image-compressor.d.ts.map +0 -1
  1074. package/packages/core/dist/plugins/image-compressor.js +0 -223
  1075. package/packages/core/dist/plugins/image-compressor.js.map +0 -1
  1076. package/packages/core/dist/plugins/llm-verifier.d.ts +0 -42
  1077. package/packages/core/dist/plugins/llm-verifier.d.ts.map +0 -1
  1078. package/packages/core/dist/plugins/llm-verifier.js +0 -138
  1079. package/packages/core/dist/plugins/llm-verifier.js.map +0 -1
  1080. package/packages/core/dist/plugins/mcp-client.d.ts +0 -19
  1081. package/packages/core/dist/plugins/mcp-client.d.ts.map +0 -1
  1082. package/packages/core/dist/plugins/mcp-client.js +0 -1288
  1083. package/packages/core/dist/plugins/mcp-client.js.map +0 -1
  1084. package/packages/core/dist/plugins/mcp-panel.d.ts +0 -14
  1085. package/packages/core/dist/plugins/mcp-panel.d.ts.map +0 -1
  1086. package/packages/core/dist/plugins/mcp-panel.js +0 -194
  1087. package/packages/core/dist/plugins/mcp-panel.js.map +0 -1
  1088. package/packages/core/dist/plugins/memory.d.ts +0 -15
  1089. package/packages/core/dist/plugins/memory.d.ts.map +0 -1
  1090. package/packages/core/dist/plugins/memory.js +0 -394
  1091. package/packages/core/dist/plugins/memory.js.map +0 -1
  1092. package/packages/core/dist/plugins/mirage-bridge.d.ts +0 -23
  1093. package/packages/core/dist/plugins/mirage-bridge.d.ts.map +0 -1
  1094. package/packages/core/dist/plugins/mirage-bridge.js +0 -159
  1095. package/packages/core/dist/plugins/mirage-bridge.js.map +0 -1
  1096. package/packages/core/dist/plugins/mock-server.d.ts +0 -22
  1097. package/packages/core/dist/plugins/mock-server.d.ts.map +0 -1
  1098. package/packages/core/dist/plugins/mock-server.js +0 -180
  1099. package/packages/core/dist/plugins/mock-server.js.map +0 -1
  1100. package/packages/core/dist/plugins/model.d.ts +0 -11
  1101. package/packages/core/dist/plugins/model.d.ts.map +0 -1
  1102. package/packages/core/dist/plugins/model.js +0 -17
  1103. package/packages/core/dist/plugins/model.js.map +0 -1
  1104. package/packages/core/dist/plugins/models.d.ts +0 -16
  1105. package/packages/core/dist/plugins/models.d.ts.map +0 -1
  1106. package/packages/core/dist/plugins/models.js +0 -35
  1107. package/packages/core/dist/plugins/models.js.map +0 -1
  1108. package/packages/core/dist/plugins/modlens.d.ts +0 -15
  1109. package/packages/core/dist/plugins/modlens.d.ts.map +0 -1
  1110. package/packages/core/dist/plugins/modlens.js +0 -470
  1111. package/packages/core/dist/plugins/modlens.js.map +0 -1
  1112. package/packages/core/dist/plugins/module-search.d.ts +0 -28
  1113. package/packages/core/dist/plugins/module-search.d.ts.map +0 -1
  1114. package/packages/core/dist/plugins/module-search.js +0 -193
  1115. package/packages/core/dist/plugins/module-search.js.map +0 -1
  1116. package/packages/core/dist/plugins/obsidian-sync.d.ts +0 -14
  1117. package/packages/core/dist/plugins/obsidian-sync.d.ts.map +0 -1
  1118. package/packages/core/dist/plugins/obsidian-sync.js +0 -88
  1119. package/packages/core/dist/plugins/obsidian-sync.js.map +0 -1
  1120. package/packages/core/dist/plugins/openpets.d.ts +0 -14
  1121. package/packages/core/dist/plugins/openpets.d.ts.map +0 -1
  1122. package/packages/core/dist/plugins/openpets.js +0 -258
  1123. package/packages/core/dist/plugins/openpets.js.map +0 -1
  1124. package/packages/core/dist/plugins/plan-execute.d.ts +0 -11
  1125. package/packages/core/dist/plugins/plan-execute.d.ts.map +0 -1
  1126. package/packages/core/dist/plugins/plan-execute.js +0 -91
  1127. package/packages/core/dist/plugins/plan-execute.js.map +0 -1
  1128. package/packages/core/dist/plugins/plugin-check.d.ts +0 -47
  1129. package/packages/core/dist/plugins/plugin-check.d.ts.map +0 -1
  1130. package/packages/core/dist/plugins/plugin-check.js +0 -298
  1131. package/packages/core/dist/plugins/plugin-check.js.map +0 -1
  1132. package/packages/core/dist/plugins/plugin-dev.d.ts +0 -9
  1133. package/packages/core/dist/plugins/plugin-dev.d.ts.map +0 -1
  1134. package/packages/core/dist/plugins/plugin-dev.js +0 -177
  1135. package/packages/core/dist/plugins/plugin-dev.js.map +0 -1
  1136. package/packages/core/dist/plugins/plugin-finder.d.ts +0 -17
  1137. package/packages/core/dist/plugins/plugin-finder.d.ts.map +0 -1
  1138. package/packages/core/dist/plugins/plugin-finder.js +0 -216
  1139. package/packages/core/dist/plugins/plugin-finder.js.map +0 -1
  1140. package/packages/core/dist/plugins/plugin-radar.d.ts +0 -33
  1141. package/packages/core/dist/plugins/plugin-radar.d.ts.map +0 -1
  1142. package/packages/core/dist/plugins/plugin-radar.js +0 -247
  1143. package/packages/core/dist/plugins/plugin-radar.js.map +0 -1
  1144. package/packages/core/dist/plugins/plugin-stars.d.ts +0 -45
  1145. package/packages/core/dist/plugins/plugin-stars.d.ts.map +0 -1
  1146. package/packages/core/dist/plugins/plugin-stars.js +0 -366
  1147. package/packages/core/dist/plugins/plugin-stars.js.map +0 -1
  1148. package/packages/core/dist/plugins/prompt-guard.d.ts +0 -9
  1149. package/packages/core/dist/plugins/prompt-guard.d.ts.map +0 -1
  1150. package/packages/core/dist/plugins/prompt-guard.js +0 -165
  1151. package/packages/core/dist/plugins/prompt-guard.js.map +0 -1
  1152. package/packages/core/dist/plugins/prompt-library.d.ts +0 -26
  1153. package/packages/core/dist/plugins/prompt-library.d.ts.map +0 -1
  1154. package/packages/core/dist/plugins/prompt-library.js +0 -145
  1155. package/packages/core/dist/plugins/prompt-library.js.map +0 -1
  1156. package/packages/core/dist/plugins/readme-gen.d.ts +0 -29
  1157. package/packages/core/dist/plugins/readme-gen.d.ts.map +0 -1
  1158. package/packages/core/dist/plugins/readme-gen.js +0 -580
  1159. package/packages/core/dist/plugins/readme-gen.js.map +0 -1
  1160. package/packages/core/dist/plugins/recall-unread.d.ts +0 -24
  1161. package/packages/core/dist/plugins/recall-unread.d.ts.map +0 -1
  1162. package/packages/core/dist/plugins/recall-unread.js +0 -467
  1163. package/packages/core/dist/plugins/recall-unread.js.map +0 -1
  1164. package/packages/core/dist/plugins/resources.d.ts +0 -19
  1165. package/packages/core/dist/plugins/resources.d.ts.map +0 -1
  1166. package/packages/core/dist/plugins/resources.js +0 -126
  1167. package/packages/core/dist/plugins/resources.js.map +0 -1
  1168. package/packages/core/dist/plugins/reverse-skill.d.ts +0 -23
  1169. package/packages/core/dist/plugins/reverse-skill.d.ts.map +0 -1
  1170. package/packages/core/dist/plugins/reverse-skill.js +0 -61
  1171. package/packages/core/dist/plugins/reverse-skill.js.map +0 -1
  1172. package/packages/core/dist/plugins/reviewer-bot.d.ts +0 -15
  1173. package/packages/core/dist/plugins/reviewer-bot.d.ts.map +0 -1
  1174. package/packages/core/dist/plugins/reviewer-bot.js +0 -152
  1175. package/packages/core/dist/plugins/reviewer-bot.js.map +0 -1
  1176. package/packages/core/dist/plugins/runtime-doctor.d.ts +0 -34
  1177. package/packages/core/dist/plugins/runtime-doctor.d.ts.map +0 -1
  1178. package/packages/core/dist/plugins/runtime-doctor.js +0 -117
  1179. package/packages/core/dist/plugins/runtime-doctor.js.map +0 -1
  1180. package/packages/core/dist/plugins/runtime.d.ts +0 -14
  1181. package/packages/core/dist/plugins/runtime.d.ts.map +0 -1
  1182. package/packages/core/dist/plugins/runtime.js +0 -159
  1183. package/packages/core/dist/plugins/runtime.js.map +0 -1
  1184. package/packages/core/dist/plugins/secure-audit.d.ts +0 -32
  1185. package/packages/core/dist/plugins/secure-audit.d.ts.map +0 -1
  1186. package/packages/core/dist/plugins/secure-audit.js +0 -139
  1187. package/packages/core/dist/plugins/secure-audit.js.map +0 -1
  1188. package/packages/core/dist/plugins/session-bookmarks.d.ts +0 -16
  1189. package/packages/core/dist/plugins/session-bookmarks.d.ts.map +0 -1
  1190. package/packages/core/dist/plugins/session-bookmarks.js +0 -90
  1191. package/packages/core/dist/plugins/session-bookmarks.js.map +0 -1
  1192. package/packages/core/dist/plugins/session-bridge.d.ts +0 -45
  1193. package/packages/core/dist/plugins/session-bridge.d.ts.map +0 -1
  1194. package/packages/core/dist/plugins/session-bridge.js +0 -578
  1195. package/packages/core/dist/plugins/session-bridge.js.map +0 -1
  1196. package/packages/core/dist/plugins/session-compare.d.ts +0 -34
  1197. package/packages/core/dist/plugins/session-compare.d.ts.map +0 -1
  1198. package/packages/core/dist/plugins/session-compare.js +0 -153
  1199. package/packages/core/dist/plugins/session-compare.js.map +0 -1
  1200. package/packages/core/dist/plugins/session-export.d.ts +0 -10
  1201. package/packages/core/dist/plugins/session-export.d.ts.map +0 -1
  1202. package/packages/core/dist/plugins/session-export.js +0 -93
  1203. package/packages/core/dist/plugins/session-export.js.map +0 -1
  1204. package/packages/core/dist/plugins/session-insights.d.ts +0 -44
  1205. package/packages/core/dist/plugins/session-insights.d.ts.map +0 -1
  1206. package/packages/core/dist/plugins/session-insights.js +0 -432
  1207. package/packages/core/dist/plugins/session-insights.js.map +0 -1
  1208. package/packages/core/dist/plugins/session-search.d.ts +0 -21
  1209. package/packages/core/dist/plugins/session-search.d.ts.map +0 -1
  1210. package/packages/core/dist/plugins/session-search.js +0 -125
  1211. package/packages/core/dist/plugins/session-search.js.map +0 -1
  1212. package/packages/core/dist/plugins/session.d.ts +0 -15
  1213. package/packages/core/dist/plugins/session.d.ts.map +0 -1
  1214. package/packages/core/dist/plugins/session.js +0 -29
  1215. package/packages/core/dist/plugins/session.js.map +0 -1
  1216. package/packages/core/dist/plugins/skill-catalog.d.ts +0 -27
  1217. package/packages/core/dist/plugins/skill-catalog.d.ts.map +0 -1
  1218. package/packages/core/dist/plugins/skill-catalog.js +0 -98
  1219. package/packages/core/dist/plugins/skill-catalog.js.map +0 -1
  1220. package/packages/core/dist/plugins/skill-guard.d.ts +0 -27
  1221. package/packages/core/dist/plugins/skill-guard.d.ts.map +0 -1
  1222. package/packages/core/dist/plugins/skill-guard.js +0 -319
  1223. package/packages/core/dist/plugins/skill-guard.js.map +0 -1
  1224. package/packages/core/dist/plugins/sql-lens-worker.d.ts +0 -2
  1225. package/packages/core/dist/plugins/sql-lens-worker.d.ts.map +0 -1
  1226. package/packages/core/dist/plugins/sql-lens-worker.js +0 -206
  1227. package/packages/core/dist/plugins/sql-lens-worker.js.map +0 -1
  1228. package/packages/core/dist/plugins/sql-lens.d.ts +0 -14
  1229. package/packages/core/dist/plugins/sql-lens.d.ts.map +0 -1
  1230. package/packages/core/dist/plugins/sql-lens.js +0 -318
  1231. package/packages/core/dist/plugins/sql-lens.js.map +0 -1
  1232. package/packages/core/dist/plugins/stdio.d.ts +0 -11
  1233. package/packages/core/dist/plugins/stdio.d.ts.map +0 -1
  1234. package/packages/core/dist/plugins/stdio.js +0 -80
  1235. package/packages/core/dist/plugins/stdio.js.map +0 -1
  1236. package/packages/core/dist/plugins/synapse.d.ts +0 -38
  1237. package/packages/core/dist/plugins/synapse.d.ts.map +0 -1
  1238. package/packages/core/dist/plugins/synapse.js +0 -101
  1239. package/packages/core/dist/plugins/synapse.js.map +0 -1
  1240. package/packages/core/dist/plugins/tab-manager.d.ts +0 -9
  1241. package/packages/core/dist/plugins/tab-manager.d.ts.map +0 -1
  1242. package/packages/core/dist/plugins/tab-manager.js +0 -240
  1243. package/packages/core/dist/plugins/tab-manager.js.map +0 -1
  1244. package/packages/core/dist/plugins/taskboard.d.ts +0 -15
  1245. package/packages/core/dist/plugins/taskboard.d.ts.map +0 -1
  1246. package/packages/core/dist/plugins/taskboard.js +0 -375
  1247. package/packages/core/dist/plugins/taskboard.js.map +0 -1
  1248. package/packages/core/dist/plugins/telemetry-blocker.d.ts +0 -11
  1249. package/packages/core/dist/plugins/telemetry-blocker.d.ts.map +0 -1
  1250. package/packages/core/dist/plugins/telemetry-blocker.js +0 -76
  1251. package/packages/core/dist/plugins/telemetry-blocker.js.map +0 -1
  1252. package/packages/core/dist/plugins/test-harness.d.ts +0 -14
  1253. package/packages/core/dist/plugins/test-harness.d.ts.map +0 -1
  1254. package/packages/core/dist/plugins/test-harness.js +0 -276
  1255. package/packages/core/dist/plugins/test-harness.js.map +0 -1
  1256. package/packages/core/dist/plugins/theme-studio.d.ts +0 -29
  1257. package/packages/core/dist/plugins/theme-studio.d.ts.map +0 -1
  1258. package/packages/core/dist/plugins/theme-studio.js +0 -143
  1259. package/packages/core/dist/plugins/theme-studio.js.map +0 -1
  1260. package/packages/core/dist/plugins/token-guard.d.ts +0 -15
  1261. package/packages/core/dist/plugins/token-guard.d.ts.map +0 -1
  1262. package/packages/core/dist/plugins/token-guard.js +0 -210
  1263. package/packages/core/dist/plugins/token-guard.js.map +0 -1
  1264. package/packages/core/dist/plugins/tools.d.ts +0 -13
  1265. package/packages/core/dist/plugins/tools.d.ts.map +0 -1
  1266. package/packages/core/dist/plugins/tools.js +0 -23
  1267. package/packages/core/dist/plugins/tools.js.map +0 -1
  1268. package/packages/core/dist/plugins/turn-rewind.d.ts +0 -36
  1269. package/packages/core/dist/plugins/turn-rewind.d.ts.map +0 -1
  1270. package/packages/core/dist/plugins/turn-rewind.js +0 -378
  1271. package/packages/core/dist/plugins/turn-rewind.js.map +0 -1
  1272. package/packages/core/dist/plugins/undo-savepoint.d.ts +0 -17
  1273. package/packages/core/dist/plugins/undo-savepoint.d.ts.map +0 -1
  1274. package/packages/core/dist/plugins/undo-savepoint.js +0 -353
  1275. package/packages/core/dist/plugins/undo-savepoint.js.map +0 -1
  1276. package/packages/core/dist/plugins/vision-toolkit.d.ts +0 -36
  1277. package/packages/core/dist/plugins/vision-toolkit.d.ts.map +0 -1
  1278. package/packages/core/dist/plugins/vision-toolkit.js +0 -468
  1279. package/packages/core/dist/plugins/vision-toolkit.js.map +0 -1
  1280. package/packages/core/dist/plugins/web-research.d.ts +0 -17
  1281. package/packages/core/dist/plugins/web-research.d.ts.map +0 -1
  1282. package/packages/core/dist/plugins/web-research.js +0 -284
  1283. package/packages/core/dist/plugins/web-research.js.map +0 -1
  1284. package/packages/core/dist/plugins/workspace-navigator.d.ts +0 -42
  1285. package/packages/core/dist/plugins/workspace-navigator.d.ts.map +0 -1
  1286. package/packages/core/dist/plugins/workspace-navigator.js +0 -168
  1287. package/packages/core/dist/plugins/workspace-navigator.js.map +0 -1
  1288. package/packages/core/dist/plugins/workspace-search.d.ts +0 -15
  1289. package/packages/core/dist/plugins/workspace-search.d.ts.map +0 -1
  1290. package/packages/core/dist/plugins/workspace-search.js +0 -167
  1291. package/packages/core/dist/plugins/workspace-search.js.map +0 -1
  1292. package/packages/core/dist/plugins/yaml-validator.d.ts +0 -9
  1293. package/packages/core/dist/plugins/yaml-validator.d.ts.map +0 -1
  1294. package/packages/core/dist/plugins/yaml-validator.js +0 -203
  1295. package/packages/core/dist/plugins/yaml-validator.js.map +0 -1
  1296. package/packages/core/dist/profile.d.ts +0 -9
  1297. package/packages/core/dist/profile.d.ts.map +0 -1
  1298. package/packages/core/dist/profile.js +0 -33
  1299. package/packages/core/dist/profile.js.map +0 -1
  1300. package/packages/core/dist/runtime.d.ts +0 -16
  1301. package/packages/core/dist/runtime.d.ts.map +0 -1
  1302. package/packages/core/dist/runtime.js +0 -47
  1303. package/packages/core/dist/runtime.js.map +0 -1
  1304. package/packages/core/dist/services.d.ts +0 -118
  1305. package/packages/core/dist/services.d.ts.map +0 -1
  1306. package/packages/core/dist/services.js +0 -115
  1307. package/packages/core/dist/services.js.map +0 -1
  1308. package/packages/core/dist/stdio.d.ts +0 -37
  1309. package/packages/core/dist/stdio.d.ts.map +0 -1
  1310. package/packages/core/dist/stdio.js +0 -356
  1311. package/packages/core/dist/stdio.js.map +0 -1
  1312. package/packages/core/dist/workspace-path.d.ts +0 -13
  1313. package/packages/core/dist/workspace-path.d.ts.map +0 -1
  1314. package/packages/core/dist/workspace-path.js +0 -71
  1315. package/packages/core/dist/workspace-path.js.map +0 -1
  1316. package/packages/core/package.json +0 -42
  1317. package/packages/core/profiles/default/cordis.yml +0 -122
  1318. package/packages/core/profiles/development/cordis.yml +0 -47
  1319. package/packages/core/src/atomic-write.ts +0 -45
  1320. package/packages/core/src/boot.ts +0 -255
  1321. package/packages/core/src/bounded-file.ts +0 -41
  1322. package/packages/core/src/config.ts +0 -24
  1323. package/packages/core/src/context.ts +0 -3
  1324. package/packages/core/src/cordis-timer.ts +0 -107
  1325. package/packages/core/src/http.ts +0 -32
  1326. package/packages/core/src/index.ts +0 -8
  1327. package/packages/core/src/plugins/agent-teams.ts +0 -1191
  1328. package/packages/core/src/plugins/anchored-standard.ts +0 -115
  1329. package/packages/core/src/plugins/annotation.ts +0 -123
  1330. package/packages/core/src/plugins/archify.ts +0 -171
  1331. package/packages/core/src/plugins/at-file.ts +0 -138
  1332. package/packages/core/src/plugins/auto-mode.ts +0 -190
  1333. package/packages/core/src/plugins/better-sidebar.ts +0 -128
  1334. package/packages/core/src/plugins/browser-fetch.ts +0 -362
  1335. package/packages/core/src/plugins/browser-session.ts +0 -606
  1336. package/packages/core/src/plugins/canvas-draw.ts +0 -143
  1337. package/packages/core/src/plugins/change-verifier.ts +0 -103
  1338. package/packages/core/src/plugins/cleaner.ts +0 -363
  1339. package/packages/core/src/plugins/cli-notifier.ts +0 -194
  1340. package/packages/core/src/plugins/code2skill.ts +0 -237
  1341. package/packages/core/src/plugins/colleague-skill.ts +0 -147
  1342. package/packages/core/src/plugins/context-doctor.ts +0 -487
  1343. package/packages/core/src/plugins/context.ts +0 -227
  1344. package/packages/core/src/plugins/cost-meter.ts +0 -478
  1345. package/packages/core/src/plugins/dependency-checker.ts +0 -578
  1346. package/packages/core/src/plugins/docker-sandbox.ts +0 -336
  1347. package/packages/core/src/plugins/fail-logger.ts +0 -202
  1348. package/packages/core/src/plugins/genui.ts +0 -150
  1349. package/packages/core/src/plugins/git-time-capsule.ts +0 -466
  1350. package/packages/core/src/plugins/graph-memory.ts +0 -667
  1351. package/packages/core/src/plugins/history-compressor.ts +0 -98
  1352. package/packages/core/src/plugins/hol-guard.ts +0 -171
  1353. package/packages/core/src/plugins/i18n-pair.ts +0 -326
  1354. package/packages/core/src/plugins/image-compressor.ts +0 -217
  1355. package/packages/core/src/plugins/llm-verifier.ts +0 -182
  1356. package/packages/core/src/plugins/mcp-client.ts +0 -1379
  1357. package/packages/core/src/plugins/mcp-panel.ts +0 -206
  1358. package/packages/core/src/plugins/memory.ts +0 -381
  1359. package/packages/core/src/plugins/mirage-bridge.ts +0 -191
  1360. package/packages/core/src/plugins/mock-server.ts +0 -189
  1361. package/packages/core/src/plugins/model.ts +0 -18
  1362. package/packages/core/src/plugins/models.ts +0 -43
  1363. package/packages/core/src/plugins/modlens.ts +0 -497
  1364. package/packages/core/src/plugins/module-search.ts +0 -222
  1365. package/packages/core/src/plugins/obsidian-sync.ts +0 -94
  1366. package/packages/core/src/plugins/openpets.ts +0 -260
  1367. package/packages/core/src/plugins/plan-execute.ts +0 -104
  1368. package/packages/core/src/plugins/plugin-check.ts +0 -316
  1369. package/packages/core/src/plugins/plugin-dev.ts +0 -191
  1370. package/packages/core/src/plugins/plugin-finder.ts +0 -215
  1371. package/packages/core/src/plugins/plugin-radar.ts +0 -270
  1372. package/packages/core/src/plugins/plugin-stars.ts +0 -377
  1373. package/packages/core/src/plugins/prompt-guard.ts +0 -161
  1374. package/packages/core/src/plugins/prompt-library.ts +0 -171
  1375. package/packages/core/src/plugins/readme-gen.ts +0 -544
  1376. package/packages/core/src/plugins/recall-unread.ts +0 -486
  1377. package/packages/core/src/plugins/resources.ts +0 -146
  1378. package/packages/core/src/plugins/reverse-skill.ts +0 -83
  1379. package/packages/core/src/plugins/reviewer-bot.ts +0 -164
  1380. package/packages/core/src/plugins/runtime-doctor.ts +0 -140
  1381. package/packages/core/src/plugins/runtime.ts +0 -171
  1382. package/packages/core/src/plugins/secure-audit.ts +0 -167
  1383. package/packages/core/src/plugins/session-bookmarks.ts +0 -95
  1384. package/packages/core/src/plugins/session-bridge.ts +0 -614
  1385. package/packages/core/src/plugins/session-compare.ts +0 -186
  1386. package/packages/core/src/plugins/session-export.ts +0 -102
  1387. package/packages/core/src/plugins/session-insights.ts +0 -470
  1388. package/packages/core/src/plugins/session-search.ts +0 -129
  1389. package/packages/core/src/plugins/session.ts +0 -40
  1390. package/packages/core/src/plugins/skill-catalog.ts +0 -122
  1391. package/packages/core/src/plugins/skill-guard.ts +0 -345
  1392. package/packages/core/src/plugins/sql-lens-worker.ts +0 -202
  1393. package/packages/core/src/plugins/sql-lens.ts +0 -344
  1394. package/packages/core/src/plugins/stdio.ts +0 -77
  1395. package/packages/core/src/plugins/synapse.ts +0 -137
  1396. package/packages/core/src/plugins/tab-manager.ts +0 -233
  1397. package/packages/core/src/plugins/taskboard.ts +0 -446
  1398. package/packages/core/src/plugins/telemetry-blocker.ts +0 -78
  1399. package/packages/core/src/plugins/test-harness.ts +0 -300
  1400. package/packages/core/src/plugins/theme-studio.ts +0 -170
  1401. package/packages/core/src/plugins/token-guard.ts +0 -224
  1402. package/packages/core/src/plugins/tools.ts +0 -29
  1403. package/packages/core/src/plugins/turn-rewind.ts +0 -400
  1404. package/packages/core/src/plugins/undo-savepoint.ts +0 -385
  1405. package/packages/core/src/plugins/vision-toolkit.ts +0 -510
  1406. package/packages/core/src/plugins/web-research.ts +0 -301
  1407. package/packages/core/src/plugins/workspace-navigator.ts +0 -189
  1408. package/packages/core/src/plugins/workspace-search.ts +0 -177
  1409. package/packages/core/src/plugins/yaml-validator.ts +0 -216
  1410. package/packages/core/src/profile.ts +0 -37
  1411. package/packages/core/src/runtime.ts +0 -52
  1412. package/packages/core/src/services.ts +0 -232
  1413. package/packages/core/src/stdio.ts +0 -355
  1414. package/packages/core/src/workspace-path.ts +0 -79
  1415. package/packages/core/test/agent-teams.test.ts +0 -517
  1416. package/packages/core/test/anchored-standard.test.ts +0 -60
  1417. package/packages/core/test/annotation.test.ts +0 -69
  1418. package/packages/core/test/archify.test.ts +0 -244
  1419. package/packages/core/test/at-file.test.ts +0 -666
  1420. package/packages/core/test/atomic-write.test.ts +0 -52
  1421. package/packages/core/test/auto-mode.test.ts +0 -629
  1422. package/packages/core/test/better-sidebar.test.ts +0 -232
  1423. package/packages/core/test/boot.test.ts +0 -265
  1424. package/packages/core/test/bounded-file.test.ts +0 -55
  1425. package/packages/core/test/browser-fetch-rebinding.test.ts +0 -93
  1426. package/packages/core/test/browser-fetch.test.ts +0 -844
  1427. package/packages/core/test/browser-session.test.ts +0 -1236
  1428. package/packages/core/test/canvas-draw.test.ts +0 -164
  1429. package/packages/core/test/change-verifier.test.ts +0 -200
  1430. package/packages/core/test/cleaner.test.ts +0 -316
  1431. package/packages/core/test/cli-notifier.test.ts +0 -235
  1432. package/packages/core/test/code2skill.test.ts +0 -264
  1433. package/packages/core/test/colleague-skill.test.ts +0 -241
  1434. package/packages/core/test/config.test.ts +0 -147
  1435. package/packages/core/test/context-doctor.test.ts +0 -627
  1436. package/packages/core/test/context-insights.test.ts +0 -396
  1437. package/packages/core/test/cordis-timer.test.ts +0 -147
  1438. package/packages/core/test/cost-meter.test.ts +0 -362
  1439. package/packages/core/test/dependency-checker.test.ts +0 -633
  1440. package/packages/core/test/docker-sandbox.test.ts +0 -170
  1441. package/packages/core/test/fail-logger.test.ts +0 -363
  1442. package/packages/core/test/genui.test.ts +0 -162
  1443. package/packages/core/test/git-time-capsule.test.ts +0 -1476
  1444. package/packages/core/test/graph-memory.test.ts +0 -508
  1445. package/packages/core/test/history-compressor.test.ts +0 -47
  1446. package/packages/core/test/hol-guard.test.ts +0 -61
  1447. package/packages/core/test/http.test.ts +0 -36
  1448. package/packages/core/test/i18n-pair.test.ts +0 -367
  1449. package/packages/core/test/image-compressor.test.ts +0 -59
  1450. package/packages/core/test/llm-verifier.test.ts +0 -76
  1451. package/packages/core/test/mcp-client.test.ts +0 -1037
  1452. package/packages/core/test/mcp-panel.test.ts +0 -91
  1453. package/packages/core/test/memory.test.ts +0 -125
  1454. package/packages/core/test/mirage-bridge.test.ts +0 -58
  1455. package/packages/core/test/mock-server.test.ts +0 -63
  1456. package/packages/core/test/model.test.ts +0 -62
  1457. package/packages/core/test/models.test.ts +0 -85
  1458. package/packages/core/test/modlens.test.ts +0 -615
  1459. package/packages/core/test/module-search.test.ts +0 -98
  1460. package/packages/core/test/obsidian-sync.test.ts +0 -57
  1461. package/packages/core/test/openpets.test.ts +0 -273
  1462. package/packages/core/test/plan-execute.test.ts +0 -86
  1463. package/packages/core/test/plugin-check.test.ts +0 -16
  1464. package/packages/core/test/plugin-dev.test.ts +0 -246
  1465. package/packages/core/test/plugin-finder.test.ts +0 -105
  1466. package/packages/core/test/plugin-radar.test.ts +0 -87
  1467. package/packages/core/test/plugin-stars.test.ts +0 -480
  1468. package/packages/core/test/profile.test.ts +0 -39
  1469. package/packages/core/test/profiles.integration.test.ts +0 -576
  1470. package/packages/core/test/prompt-guard.test.ts +0 -78
  1471. package/packages/core/test/prompt-library.test.ts +0 -56
  1472. package/packages/core/test/readme-gen.test.ts +0 -445
  1473. package/packages/core/test/recall-unread.test.ts +0 -592
  1474. package/packages/core/test/registry.test.ts +0 -64
  1475. package/packages/core/test/resources.test.ts +0 -310
  1476. package/packages/core/test/reverse-skill.test.ts +0 -40
  1477. package/packages/core/test/reviewer-bot.test.ts +0 -55
  1478. package/packages/core/test/runtime-doctor.test.ts +0 -55
  1479. package/packages/core/test/runtime-fixture.ts +0 -55
  1480. package/packages/core/test/runtime.test.ts +0 -313
  1481. package/packages/core/test/secure-audit.test.ts +0 -29
  1482. package/packages/core/test/services.test.ts +0 -4805
  1483. package/packages/core/test/session-bookmarks.test.ts +0 -62
  1484. package/packages/core/test/session-bridge.test.ts +0 -411
  1485. package/packages/core/test/session-compare.test.ts +0 -94
  1486. package/packages/core/test/session-export.test.ts +0 -54
  1487. package/packages/core/test/session-insights.test.ts +0 -486
  1488. package/packages/core/test/session-search.test.ts +0 -30
  1489. package/packages/core/test/session.test.ts +0 -153
  1490. package/packages/core/test/skill-catalog.test.ts +0 -18
  1491. package/packages/core/test/skill-guard.test.ts +0 -280
  1492. package/packages/core/test/sql-lens.test.ts +0 -244
  1493. package/packages/core/test/stdio-args.test.ts +0 -661
  1494. package/packages/core/test/stdio.test.ts +0 -246
  1495. package/packages/core/test/synapse.test.ts +0 -67
  1496. package/packages/core/test/tab-manager.test.ts +0 -58
  1497. package/packages/core/test/taskboard.test.ts +0 -73
  1498. package/packages/core/test/telemetry-blocker.test.ts +0 -61
  1499. package/packages/core/test/test-harness.test.ts +0 -297
  1500. package/packages/core/test/theme-studio.test.ts +0 -39
  1501. package/packages/core/test/token-guard.test.ts +0 -395
  1502. package/packages/core/test/tools.test.ts +0 -118
  1503. package/packages/core/test/turn-rewind.test.ts +0 -549
  1504. package/packages/core/test/undo-savepoint.test.ts +0 -222
  1505. package/packages/core/test/vision-toolkit.test.ts +0 -511
  1506. package/packages/core/test/web-research.test.ts +0 -63
  1507. package/packages/core/test/workspace-git-status.test.ts +0 -54
  1508. package/packages/core/test/workspace-navigator.test.ts +0 -43
  1509. package/packages/core/test/workspace-path.test.ts +0 -34
  1510. package/packages/core/test/workspace-search.test.ts +0 -88
  1511. package/packages/core/test/yaml-validator.test.ts +0 -195
  1512. package/packages/core/tsconfig.build.json +0 -8
  1513. package/packages/core/tsconfig.json +0 -7
@@ -1,1236 +0,0 @@
1
- import { Context } from "@deepseek-ai/cordis";
2
- import { describe, expect, test, vi } from "vitest";
3
- import { PiPluginUiRegistry, PiToolRegistry, provideLaunchContext } from "../src/services.js";
4
- import browserSessionPlugin from "../src/plugins/browser-session.js";
5
- import toolsPlugin from "../src/plugins/tools.js";
6
-
7
- async function createBrowserSession(): Promise<Context> {
8
- const context = new Context();
9
- provideLaunchContext(context, { cwd: "/tmp", agentDir: "/tmp", args: [], requestExit() {} });
10
- await context.plugin(toolsPlugin, { names: [] });
11
- await context.plugin(browserSessionPlugin, { endpoint: "http://127.0.0.1:9222" });
12
- return context;
13
- }
14
-
15
- function browserTool(context: Context, name: string) {
16
- const tool = context.piTools.snapshot().customTools.find((candidate) => candidate.name === name);
17
- if (tool === undefined) throw new Error(`Browser session tool was not registered: ${name}`);
18
- return tool;
19
- }
20
-
21
- describe("browser session boundaries", () => {
22
- test("declares bounded browser session inputs", async () => {
23
- const context = await createBrowserSession();
24
- try {
25
- expect(browserSessionPlugin.Config.dict?.endpoint?.meta).toMatchObject({ min: 1, max: 2_048 });
26
- expect(browserTool(context, "browser_navigate").parameters).toMatchObject({
27
- type: "object",
28
- additionalProperties: false,
29
- properties: {
30
- targetId: { type: "string", minLength: 1, maxLength: 512 },
31
- url: { type: "string", minLength: 1, maxLength: 8_192 },
32
- },
33
- });
34
- expect(browserTool(context, "browser_read").parameters).toMatchObject({
35
- type: "object",
36
- additionalProperties: false,
37
- properties: { targetId: { type: "string", minLength: 1, maxLength: 512 } },
38
- });
39
- expect(browserTool(context, "browser_click").parameters).toMatchObject({
40
- type: "object",
41
- additionalProperties: false,
42
- properties: {
43
- targetId: { type: "string", minLength: 1, maxLength: 512 },
44
- selector: { type: "string", minLength: 1, maxLength: 512 },
45
- },
46
- });
47
- expect(browserTool(context, "browser_screenshot").parameters).toMatchObject({
48
- type: "object",
49
- additionalProperties: false,
50
- properties: { targetId: { type: "string", minLength: 1, maxLength: 512 } },
51
- });
52
- } finally {
53
- await context.fiber.dispose();
54
- }
55
- });
56
-
57
- test("rolls back every tool when panel registration fails", async () => {
58
- const context = new Context();
59
- const tools = new PiToolRegistry();
60
- const panels = new PiPluginUiRegistry();
61
- provideLaunchContext(context, { cwd: "/tmp", agentDir: "/tmp", args: [], requestExit() {} });
62
- context.provide("piTools", tools);
63
- context.provide("piPluginUi", panels);
64
- panels.register({ id: "browser-session-panel", pluginId: "fixture", title: "Fixture", read: () => ({}) });
65
- try {
66
- await expect(context.plugin(browserSessionPlugin, { endpoint: "http://127.0.0.1:9222" })).rejects.toThrow(/already registered.*browser-session-panel/iu);
67
- expect(tools.snapshot().customTools).toEqual([]);
68
- } finally {
69
- await context.fiber.dispose();
70
- }
71
- });
72
-
73
- test("rejects malformed tool inputs before browser discovery", async () => {
74
- const originalFetch = globalThis.fetch;
75
- let fetches = 0;
76
- globalThis.fetch = () => {
77
- fetches += 1;
78
- return Promise.resolve(Response.json([]));
79
- };
80
- const context = await createBrowserSession();
81
- try {
82
- await expect(browserTool(context, "browser_read").execute("read", null, undefined, undefined, {} as never)).rejects.toThrow(/parameters.*object/iu);
83
- await expect(
84
- browserTool(context, "browser_click").execute("click", { targetId: "tab-1", selector: null }, undefined, undefined, {} as never),
85
- ).rejects.toThrow(/selector must be a string/iu);
86
- await expect(
87
- browserTool(context, "browser_navigate").execute("navigate", { targetId: "tab-1", url: null }, undefined, undefined, {} as never),
88
- ).rejects.toThrow(/navigation URL must be a string/iu);
89
- await expect(browserTool(context, "browser_screenshot").execute("screenshot", { targetId: null }, undefined, undefined, {} as never)).rejects.toThrow(
90
- /target ID must be a string/iu,
91
- );
92
- expect(fetches).toBe(0);
93
- } finally {
94
- globalThis.fetch = originalFetch;
95
- await context.fiber.dispose();
96
- }
97
- });
98
-
99
- test("strictly validates raw tool parameters without invoking accessors", async () => {
100
- const originalFetch = globalThis.fetch;
101
- let fetches = 0;
102
- globalThis.fetch = () => {
103
- fetches += 1;
104
- return Promise.resolve(Response.json([]));
105
- };
106
- const context = await createBrowserSession();
107
- let accessed = false;
108
- const params = { url: "https://example.com/" } as { targetId?: string; url: string };
109
- Object.defineProperty(params, "targetId", {
110
- enumerable: true,
111
- get() {
112
- accessed = true;
113
- throw new Error("browser target accessor executed");
114
- },
115
- });
116
- try {
117
- await expect(browserTool(context, "browser_navigate").execute("navigate", params, undefined, undefined, {} as never)).rejects.toThrow(
118
- /parameters.*data properties/iu,
119
- );
120
- expect(accessed).toBe(false);
121
- await expect(browserTool(context, "browser_tabs").execute("tabs", { unexpected: true }, undefined, undefined, {} as never)).rejects.toThrow(
122
- /parameters.*unknown property/iu,
123
- );
124
- expect(fetches).toBe(0);
125
- } finally {
126
- globalThis.fetch = originalFetch;
127
- await context.fiber.dispose();
128
- }
129
- });
130
-
131
- test("rejects an oversized DevTools tab list before reading its body", async () => {
132
- const originalFetch = globalThis.fetch;
133
- let bodyRead = false;
134
- let bodyCancelled = false;
135
- globalThis.fetch = () =>
136
- Promise.resolve({
137
- ok: true,
138
- status: 200,
139
- headers: new Headers({ "content-length": String(1024 * 1024 + 1) }),
140
- body: {
141
- cancel() {
142
- bodyCancelled = true;
143
- return Promise.resolve();
144
- },
145
- getReader() {
146
- bodyRead = true;
147
- throw new Error("oversized body was read");
148
- },
149
- },
150
- json() {
151
- bodyRead = true;
152
- return Promise.reject(new Error("oversized body was read"));
153
- },
154
- } as unknown as Response);
155
- const context = await createBrowserSession();
156
- try {
157
- await expect(browserTool(context, "browser_tabs").execute("call-1", {}, undefined, undefined, {} as never)).rejects.toThrow(/1 MiB limit/iu);
158
- expect(bodyRead).toBe(false);
159
- expect(bodyCancelled).toBe(true);
160
- } finally {
161
- globalThis.fetch = originalFetch;
162
- await context.fiber.dispose();
163
- }
164
- });
165
-
166
- test("rejects invalid UTF-8 DevTools tab lists", async () => {
167
- const originalFetch = globalThis.fetch;
168
- globalThis.fetch = () => Promise.resolve(new Response(new Uint8Array([0xc3, 0x28]), { status: 200 }));
169
- const context = await createBrowserSession();
170
- try {
171
- await expect(browserTool(context, "browser_tabs").execute("call-1", {}, undefined, undefined, {} as never)).rejects.toThrow(/valid UTF-8/iu);
172
- } finally {
173
- globalThis.fetch = originalFetch;
174
- await context.fiber.dispose();
175
- }
176
- });
177
-
178
- test("rejects DevTools tab inventories above the item limit", async () => {
179
- const originalFetch = globalThis.fetch;
180
- globalThis.fetch = () =>
181
- Promise.resolve(
182
- Response.json(
183
- Array.from({ length: 257 }, (_, index) => ({
184
- id: `tab-${index}`,
185
- title: `Tab ${index}`,
186
- url: `https://example.com/${index}`,
187
- type: "page",
188
- webSocketDebuggerUrl: `ws://127.0.0.1:9222/devtools/page/tab-${index}`,
189
- })),
190
- ),
191
- );
192
- const context = await createBrowserSession();
193
- try {
194
- await expect(browserTool(context, "browser_tabs").execute("tabs", {}, undefined, undefined, {} as never)).rejects.toThrow(
195
- /tab inventory cannot exceed 256 items/iu,
196
- );
197
- } finally {
198
- globalThis.fetch = originalFetch;
199
- await context.fiber.dispose();
200
- }
201
- });
202
-
203
- test.each([
204
- [{ title: "Missing id", url: "https://example.com/", type: "page" }, /tab 1 target ID must be a string/iu],
205
- [{ id: "tab\0one", title: "NUL id", url: "https://example.com/", type: "page" }, /tab 1 target ID.*NUL/iu],
206
- [{ id: "tab-1", title: "x".repeat(4_097), url: "https://example.com/", type: "page" }, /tab 1 title.*4096/iu],
207
- [{ id: "tab-1", title: "Fixture", url: "x".repeat(8_193), type: "page" }, /tab 1 URL.*8192/iu],
208
- [{ id: "tab-1", title: "Fixture", url: "https://example.com/", type: "x".repeat(65) }, /tab 1 type.*64/iu],
209
- [{ id: "tab-1", title: "Fixture", url: "https://example.com/", type: "page", webSocketDebuggerUrl: "x".repeat(2_049) }, /tab 1 WebSocket URL.*2048/iu],
210
- ])("rejects malformed DevTools tab descriptors", async (tab, expected) => {
211
- const originalFetch = globalThis.fetch;
212
- globalThis.fetch = () => Promise.resolve(Response.json([tab]));
213
- const context = await createBrowserSession();
214
- try {
215
- await expect(browserTool(context, "browser_tabs").execute("tabs", {}, undefined, undefined, {} as never)).rejects.toThrow(expected);
216
- } finally {
217
- globalThis.fetch = originalFetch;
218
- await context.fiber.dispose();
219
- }
220
- });
221
-
222
- test("bounds the browser tab summary while retaining the complete bounded inventory in details", async () => {
223
- const originalFetch = globalThis.fetch;
224
- globalThis.fetch = () =>
225
- Promise.resolve(
226
- Response.json(
227
- Array.from({ length: 40 }, (_, index) => ({
228
- id: `tab-${index}`,
229
- title: `${index}-${"t".repeat(4_000)}`,
230
- url: `https://example.com/${index}/${"u".repeat(4_000)}`,
231
- type: "page",
232
- })),
233
- ),
234
- );
235
- const context = await createBrowserSession();
236
- try {
237
- const result = await browserTool(context, "browser_tabs").execute("tabs", {}, undefined, undefined, {} as never);
238
- const content = result.content[0];
239
- expect(content?.type).toBe("text");
240
- if (content?.type !== "text") throw new Error("Expected a browser tab text summary");
241
- expect(Buffer.byteLength(content.text, "utf8")).toBeLessThanOrEqual(128 * 1024);
242
- expect(content.text).toMatch(/summary truncated.*40 tabs/iu);
243
- expect((result.details as { tabs: unknown[] }).tabs).toHaveLength(40);
244
- } finally {
245
- globalThis.fetch = originalFetch;
246
- await context.fiber.dispose();
247
- }
248
- });
249
-
250
- test("times out DevTools discovery requests", async () => {
251
- const originalFetch = globalThis.fetch;
252
- let rejectFallback: ((reason: Error) => void) | undefined;
253
- globalThis.fetch = (_input, init) =>
254
- new Promise<Response>((_resolve, reject) => {
255
- rejectFallback = reject;
256
- init?.signal?.addEventListener(
257
- "abort",
258
- () => {
259
- const reason: unknown = init.signal?.reason;
260
- reject(reason instanceof Error ? reason : new Error("DevTools discovery aborted"));
261
- },
262
- { once: true },
263
- );
264
- });
265
- vi.useFakeTimers();
266
- const context = await createBrowserSession();
267
- try {
268
- const pending = browserTool(context, "browser_tabs").execute("call-1", {}, undefined, undefined, {} as never);
269
- const timedOut = expect(pending).rejects.toThrow(/timed out after 15000 ms/iu);
270
-
271
- await vi.advanceTimersByTimeAsync(15_000);
272
- rejectFallback?.(new Error("test fallback rejection"));
273
- await timedOut;
274
- } finally {
275
- rejectFallback?.(new Error("test cleanup"));
276
- vi.useRealTimers();
277
- globalThis.fetch = originalFetch;
278
- await context.fiber.dispose();
279
- }
280
- });
281
-
282
- test("cancels in-flight DevTools discovery when the plugin is disposed", async () => {
283
- const originalFetch = globalThis.fetch;
284
- let rejectPending: ((reason: Error) => void) | undefined;
285
- let aborted = false;
286
- globalThis.fetch = (_input, init) =>
287
- new Promise<Response>((_resolve, reject) => {
288
- rejectPending = reject;
289
- init?.signal?.addEventListener(
290
- "abort",
291
- () => {
292
- aborted = true;
293
- const reason: unknown = init.signal?.reason;
294
- reject(reason instanceof Error ? reason : new Error("DevTools discovery aborted"));
295
- },
296
- { once: true },
297
- );
298
- });
299
- const context = await createBrowserSession();
300
- const tools = context.piTools;
301
- const panels = context.piPluginUi;
302
- let fallback: ReturnType<typeof setTimeout> | undefined;
303
- let execution: Promise<unknown> | undefined;
304
- try {
305
- execution = browserTool(context, "browser_tabs").execute("call-1", {}, undefined, undefined, {} as never);
306
-
307
- await context.fiber.dispose();
308
- const outcome = await Promise.race([
309
- execution.then(
310
- () => new Error("Browser discovery unexpectedly succeeded"),
311
- (error: unknown) => error,
312
- ),
313
- new Promise<string>((resolve) => {
314
- fallback = setTimeout(() => resolve("Browser discovery remained pending"), 500);
315
- }),
316
- ]);
317
-
318
- expect(outcome).toBeInstanceOf(Error);
319
- expect(String(outcome)).toMatch(/disposed|cancelled/iu);
320
- expect(aborted).toBe(true);
321
- expect(tools.snapshot().customTools).toEqual([]);
322
- await expect(panels.snapshot()).resolves.toEqual([]);
323
- } finally {
324
- if (fallback !== undefined) clearTimeout(fallback);
325
- rejectPending?.(new Error("test cleanup"));
326
- globalThis.fetch = originalFetch;
327
- await context.fiber.dispose();
328
- await execution?.catch(() => undefined);
329
- }
330
- });
331
-
332
- test("rejects navigation URLs containing credentials before tab discovery", async () => {
333
- const originalFetch = globalThis.fetch;
334
- let fetches = 0;
335
- globalThis.fetch = () => {
336
- fetches += 1;
337
- return Promise.resolve(Response.json([]));
338
- };
339
- const context = await createBrowserSession();
340
- try {
341
- await expect(
342
- browserTool(context, "browser_navigate").execute(
343
- "call-1",
344
- { targetId: "tab-1", url: "https://user:password@example.com/private" },
345
- undefined,
346
- undefined,
347
- {} as never,
348
- ),
349
- ).rejects.toThrow(/without credentials/iu);
350
- expect(fetches).toBe(0);
351
- } finally {
352
- globalThis.fetch = originalFetch;
353
- await context.fiber.dispose();
354
- }
355
- });
356
-
357
- test("rejects a navigation result containing a CDP errorText", async () => {
358
- const originalFetch = globalThis.fetch;
359
- const OriginalWebSocket = globalThis.WebSocket;
360
- const methods: string[] = [];
361
- globalThis.fetch = () =>
362
- Promise.resolve(
363
- Response.json([
364
- {
365
- id: "tab-1",
366
- title: "Fixture",
367
- type: "page",
368
- url: "about:blank",
369
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
370
- },
371
- ]),
372
- );
373
- class NavigationSocket extends EventTarget {
374
- constructor() {
375
- super();
376
- queueMicrotask(() => this.dispatchEvent(new Event("open")));
377
- }
378
-
379
- send(source: string): void {
380
- const request = JSON.parse(source) as { id: number; method: string };
381
- methods.push(request.method);
382
- const result = request.method === "Page.navigate" ? { errorText: "net::ERR_NAME_NOT_RESOLVED" } : { result: { value: "complete" } };
383
- queueMicrotask(() => this.dispatchEvent(new MessageEvent("message", { data: JSON.stringify({ id: request.id, result }) })));
384
- }
385
-
386
- close(): void {}
387
- }
388
- globalThis.WebSocket = NavigationSocket as unknown as typeof WebSocket;
389
- const context = await createBrowserSession();
390
- try {
391
- await expect(
392
- browserTool(context, "browser_navigate").execute(
393
- "call-1",
394
- { targetId: "tab-1", url: "https://does-not-resolve.invalid/" },
395
- undefined,
396
- undefined,
397
- {} as never,
398
- ),
399
- ).rejects.toThrow(/ERR_NAME_NOT_RESOLVED/iu);
400
- expect(methods).toEqual(["Page.enable", "Page.navigate"]);
401
- } finally {
402
- globalThis.fetch = originalFetch;
403
- globalThis.WebSocket = OriginalWebSocket;
404
- await context.fiber.dispose();
405
- }
406
- });
407
-
408
- test("records successful navigation in panel state", async () => {
409
- const originalFetch = globalThis.fetch;
410
- const OriginalWebSocket = globalThis.WebSocket;
411
- globalThis.fetch = () =>
412
- Promise.resolve(
413
- Response.json([
414
- {
415
- id: "tab-1",
416
- title: "Fixture",
417
- type: "page",
418
- url: "about:blank",
419
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
420
- },
421
- ]),
422
- );
423
- class NavigationSocket extends EventTarget {
424
- constructor() {
425
- super();
426
- queueMicrotask(() => this.dispatchEvent(new Event("open")));
427
- }
428
-
429
- send(source: string): void {
430
- const request = JSON.parse(source) as { id: number; method: string };
431
- const result = request.method === "Runtime.evaluate" ? { result: { value: "complete" } } : {};
432
- queueMicrotask(() => this.dispatchEvent(new MessageEvent("message", { data: JSON.stringify({ id: request.id, result }) })));
433
- }
434
-
435
- close(): void {}
436
- }
437
- globalThis.WebSocket = NavigationSocket as unknown as typeof WebSocket;
438
- const context = await createBrowserSession();
439
- try {
440
- await browserTool(context, "browser_navigate").execute(
441
- "call-1",
442
- { targetId: "tab-1", url: "https://example.com/next" },
443
- undefined,
444
- undefined,
445
- {} as never,
446
- );
447
-
448
- await expect(context.piPluginUi.snapshot()).resolves.toMatchObject([
449
- { id: "browser-session-panel", data: { latest: { targetId: "tab-1", status: "navigated", url: "https://example.com/next" } } },
450
- ]);
451
- } finally {
452
- globalThis.fetch = originalFetch;
453
- globalThis.WebSocket = OriginalWebSocket;
454
- await context.fiber.dispose();
455
- }
456
- });
457
-
458
- test("records an empty page read in panel state", async () => {
459
- const originalFetch = globalThis.fetch;
460
- const OriginalWebSocket = globalThis.WebSocket;
461
- globalThis.fetch = () =>
462
- Promise.resolve(
463
- Response.json([
464
- {
465
- id: "tab-1",
466
- title: "Empty",
467
- type: "page",
468
- url: "https://example.com/empty",
469
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
470
- },
471
- ]),
472
- );
473
- class ReadSocket extends EventTarget {
474
- constructor() {
475
- super();
476
- queueMicrotask(() => this.dispatchEvent(new Event("open")));
477
- }
478
-
479
- send(source: string): void {
480
- const request = JSON.parse(source) as { id: number };
481
- queueMicrotask(() => this.dispatchEvent(new MessageEvent("message", { data: JSON.stringify({ id: request.id, result: { result: { value: "" } } }) })));
482
- }
483
-
484
- close(): void {}
485
- }
486
- globalThis.WebSocket = ReadSocket as unknown as typeof WebSocket;
487
- const context = await createBrowserSession();
488
- try {
489
- await browserTool(context, "browser_read").execute("call-1", { targetId: "tab-1" }, undefined, undefined, {} as never);
490
-
491
- await expect(context.piPluginUi.snapshot()).resolves.toMatchObject([
492
- { id: "browser-session-panel", data: { latest: { status: "read", text: "", truncated: false } } },
493
- ]);
494
- } finally {
495
- globalThis.fetch = originalFetch;
496
- globalThis.WebSocket = OriginalWebSocket;
497
- await context.fiber.dispose();
498
- }
499
- });
500
-
501
- test("publishes bounded tab and text previews with explicit panel inventory metadata", async () => {
502
- const originalFetch = globalThis.fetch;
503
- const OriginalWebSocket = globalThis.WebSocket;
504
- const pageText = "x".repeat(20_000);
505
- const tabList = Array.from({ length: 25 }, (_, index) => ({
506
- id: `tab-${index}`,
507
- title: `Fixture ${index}`,
508
- type: "page",
509
- url: `https://example.com/${index}`,
510
- webSocketDebuggerUrl: `ws://127.0.0.1:9222/devtools/page/tab-${index}`,
511
- }));
512
- globalThis.fetch = () => Promise.resolve(Response.json(tabList));
513
- class ReadSocket extends EventTarget {
514
- constructor() {
515
- super();
516
- queueMicrotask(() => this.dispatchEvent(new Event("open")));
517
- }
518
-
519
- send(source: string): void {
520
- const request = JSON.parse(source) as { id: number };
521
- queueMicrotask(() =>
522
- this.dispatchEvent(new MessageEvent("message", { data: JSON.stringify({ id: request.id, result: { result: { value: pageText } } }) })),
523
- );
524
- }
525
-
526
- close(): void {}
527
- }
528
- globalThis.WebSocket = ReadSocket as unknown as typeof WebSocket;
529
- const context = await createBrowserSession();
530
- try {
531
- await browserTool(context, "browser_read").execute("call-1", { targetId: "tab-0" }, undefined, undefined, {} as never);
532
-
533
- const panel = (await context.piPluginUi.snapshot())[0];
534
- expect((panel?.data as { tabs: unknown[] }).tabs).toHaveLength(20);
535
- expect(panel?.data).toMatchObject({
536
- inventory: { total: 25, shown: 20, truncated: true },
537
- limits: { tabs: 20, textPreviewCharacters: 12_000 },
538
- latest: { text: "x".repeat(12_000), truncated: false, previewTruncated: true },
539
- });
540
- } finally {
541
- globalThis.fetch = originalFetch;
542
- globalThis.WebSocket = OriginalWebSocket;
543
- await context.fiber.dispose();
544
- }
545
- });
546
-
547
- test("rejects screenshots larger than 8 MiB", async () => {
548
- const originalFetch = globalThis.fetch;
549
- const OriginalWebSocket = globalThis.WebSocket;
550
- const screenshotData = "A".repeat(11_184_812);
551
- globalThis.fetch = () =>
552
- Promise.resolve(
553
- Response.json([
554
- {
555
- id: "tab-1",
556
- title: "Fixture",
557
- type: "page",
558
- url: "https://example.com/",
559
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
560
- },
561
- ]),
562
- );
563
- class ScreenshotSocket extends EventTarget {
564
- constructor() {
565
- super();
566
- queueMicrotask(() => this.dispatchEvent(new Event("open")));
567
- }
568
-
569
- send(source: string): void {
570
- const request = JSON.parse(source) as { id: number };
571
- queueMicrotask(() => this.dispatchEvent(new MessageEvent("message", { data: JSON.stringify({ id: request.id, result: { data: screenshotData } }) })));
572
- }
573
-
574
- close(): void {}
575
- }
576
- globalThis.WebSocket = ScreenshotSocket as unknown as typeof WebSocket;
577
- const context = await createBrowserSession();
578
- try {
579
- const outcome = await browserTool(context, "browser_screenshot")
580
- .execute("call-1", { targetId: "tab-1" }, undefined, undefined, {} as never)
581
- .then(
582
- () => "resolved" as const,
583
- (error: unknown) => error,
584
- );
585
- expect(outcome).toBeInstanceOf(Error);
586
- if (!(outcome instanceof Error)) throw new Error("Expected screenshot rejection");
587
- expect(outcome.message).toMatch(/screenshot exceeded the 8 MiB limit/iu);
588
- } finally {
589
- globalThis.fetch = originalFetch;
590
- globalThis.WebSocket = OriginalWebSocket;
591
- await context.fiber.dispose();
592
- }
593
- });
594
-
595
- test("cancels an in-flight DevTools command", async () => {
596
- const originalFetch = globalThis.fetch;
597
- const OriginalWebSocket = globalThis.WebSocket;
598
- const caller = new AbortController();
599
- globalThis.fetch = () =>
600
- Promise.resolve(
601
- Response.json([
602
- {
603
- id: "tab-1",
604
- title: "Fixture",
605
- type: "page",
606
- url: "https://example.com/",
607
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
608
- },
609
- ]),
610
- );
611
- class HangingSocket extends EventTarget {
612
- constructor() {
613
- super();
614
- queueMicrotask(() => this.dispatchEvent(new Event("open")));
615
- }
616
-
617
- send(): void {
618
- caller.abort(new Error("cancel DevTools command"));
619
- queueMicrotask(() => this.dispatchEvent(new Event("close")));
620
- }
621
-
622
- close(): void {}
623
- }
624
- globalThis.WebSocket = HangingSocket as unknown as typeof WebSocket;
625
- const context = await createBrowserSession();
626
- try {
627
- await expect(browserTool(context, "browser_read").execute("call-1", { targetId: "tab-1" }, caller.signal, undefined, {} as never)).rejects.toThrow(
628
- /cancelled/iu,
629
- );
630
- } finally {
631
- globalThis.fetch = originalFetch;
632
- globalThis.WebSocket = OriginalWebSocket;
633
- await context.fiber.dispose();
634
- }
635
- });
636
-
637
- test("does not miss cancellation while constructing a DevTools socket", async () => {
638
- const originalFetch = globalThis.fetch;
639
- const OriginalWebSocket = globalThis.WebSocket;
640
- const caller = new AbortController();
641
- let closed = false;
642
- globalThis.fetch = () =>
643
- Promise.resolve(
644
- Response.json([
645
- {
646
- id: "tab-1",
647
- title: "Fixture",
648
- type: "page",
649
- url: "https://example.com/",
650
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
651
- },
652
- ]),
653
- );
654
- class CancellingSocket extends EventTarget {
655
- constructor() {
656
- super();
657
- caller.abort(new Error("cancel during socket construction"));
658
- }
659
-
660
- send(): void {}
661
-
662
- close(): void {
663
- closed = true;
664
- }
665
- }
666
- globalThis.WebSocket = CancellingSocket as unknown as typeof WebSocket;
667
- vi.useFakeTimers();
668
- const context = await createBrowserSession();
669
- try {
670
- const pending = browserTool(context, "browser_read").execute("call-1", { targetId: "tab-1" }, caller.signal, undefined, {} as never);
671
- const outcomePromise = pending.then(
672
- () => new Error("Browser command unexpectedly succeeded"),
673
- (error: unknown) => error,
674
- );
675
-
676
- await vi.advanceTimersByTimeAsync(15_000);
677
-
678
- const outcome = await outcomePromise;
679
- expect(outcome).toBeInstanceOf(Error);
680
- if (!(outcome instanceof Error)) throw new Error("Expected cancellation");
681
- expect(outcome.message).toMatch(/cancel during socket construction|cancelled/iu);
682
- expect(closed).toBe(true);
683
- } finally {
684
- vi.useRealTimers();
685
- globalThis.fetch = originalFetch;
686
- globalThis.WebSocket = OriginalWebSocket;
687
- await context.fiber.dispose();
688
- }
689
- });
690
-
691
- test("rejects immediately when sending a DevTools command fails", async () => {
692
- const originalFetch = globalThis.fetch;
693
- const OriginalWebSocket = globalThis.WebSocket;
694
- let closed = false;
695
- globalThis.fetch = () =>
696
- Promise.resolve(
697
- Response.json([
698
- {
699
- id: "tab-1",
700
- title: "Fixture",
701
- type: "page",
702
- url: "https://example.com/",
703
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
704
- },
705
- ]),
706
- );
707
- class ThrowingSocket {
708
- addEventListener(type: string, listener: EventListener): void {
709
- if (type !== "open") return;
710
- queueMicrotask(() => {
711
- try {
712
- listener(new Event("open"));
713
- } catch {
714
- // Simulate an event target reporting the handler error without settling the CDP promise.
715
- }
716
- });
717
- }
718
-
719
- removeEventListener(): void {}
720
-
721
- send(): void {
722
- throw new Error("send failed");
723
- }
724
-
725
- close(): void {
726
- closed = true;
727
- }
728
- }
729
- globalThis.WebSocket = ThrowingSocket as unknown as typeof WebSocket;
730
- vi.useFakeTimers();
731
- const context = await createBrowserSession();
732
- try {
733
- const pending = browserTool(context, "browser_read").execute("call-1", { targetId: "tab-1" }, undefined, undefined, {} as never);
734
- const outcomePromise = pending.then(
735
- () => new Error("Browser command unexpectedly succeeded"),
736
- (error: unknown) => error,
737
- );
738
-
739
- await vi.advanceTimersByTimeAsync(15_000);
740
-
741
- const outcome = await outcomePromise;
742
- expect(outcome).toBeInstanceOf(Error);
743
- if (!(outcome instanceof Error)) throw new Error("Expected send failure");
744
- expect(outcome.message).toMatch(/send failed/iu);
745
- expect(closed).toBe(true);
746
- } finally {
747
- vi.useRealTimers();
748
- globalThis.fetch = originalFetch;
749
- globalThis.WebSocket = OriginalWebSocket;
750
- await context.fiber.dispose();
751
- }
752
- });
753
-
754
- test("closes a DevTools socket after an error event", async () => {
755
- const originalFetch = globalThis.fetch;
756
- const OriginalWebSocket = globalThis.WebSocket;
757
- let closed = false;
758
- globalThis.fetch = () =>
759
- Promise.resolve(
760
- Response.json([
761
- {
762
- id: "tab-1",
763
- title: "Fixture",
764
- type: "page",
765
- url: "https://example.com/",
766
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
767
- },
768
- ]),
769
- );
770
- class ErrorSocket extends EventTarget {
771
- constructor() {
772
- super();
773
- queueMicrotask(() => this.dispatchEvent(new Event("error")));
774
- }
775
-
776
- send(): void {}
777
-
778
- close(): void {
779
- closed = true;
780
- }
781
- }
782
- globalThis.WebSocket = ErrorSocket as unknown as typeof WebSocket;
783
- const context = await createBrowserSession();
784
- try {
785
- await expect(browserTool(context, "browser_read").execute("call-1", { targetId: "tab-1" }, undefined, undefined, {} as never)).rejects.toThrow(
786
- /Could not connect/iu,
787
- );
788
- expect(closed).toBe(true);
789
- } finally {
790
- globalThis.fetch = originalFetch;
791
- globalThis.WebSocket = OriginalWebSocket;
792
- await context.fiber.dispose();
793
- }
794
- });
795
-
796
- test("rejects browser session endpoints containing credentials", async () => {
797
- const context = new Context();
798
- provideLaunchContext(context, { cwd: "/tmp", agentDir: "/tmp", args: [], requestExit() {} });
799
- await context.plugin(toolsPlugin, { names: [] });
800
- try {
801
- let activationError: unknown;
802
- try {
803
- await context.plugin(browserSessionPlugin, { endpoint: "http://user:password@127.0.0.1:9222" });
804
- } catch (error) {
805
- activationError = error;
806
- }
807
- expect(activationError).toBeInstanceOf(Error);
808
- if (!(activationError instanceof Error)) throw new Error("Expected invalid endpoint rejection");
809
- expect(activationError.message).toMatch(/must not contain credentials/iu);
810
- } finally {
811
- await context.fiber.dispose();
812
- }
813
- });
814
-
815
- test("disables redirects while discovering DevTools tabs", async () => {
816
- const originalFetch = globalThis.fetch;
817
- let redirect: RequestRedirect | undefined;
818
- globalThis.fetch = (_input, init) => {
819
- redirect = init?.redirect;
820
- return Promise.resolve(Response.json([]));
821
- };
822
- const context = await createBrowserSession();
823
- try {
824
- await browserTool(context, "browser_tabs").execute("call-1", {}, undefined, undefined, {} as never);
825
- expect(redirect).toBe("error");
826
- } finally {
827
- globalThis.fetch = originalFetch;
828
- await context.fiber.dispose();
829
- }
830
- });
831
-
832
- test("rejects remote WebSocket URLs returned by local DevTools discovery", async () => {
833
- const originalFetch = globalThis.fetch;
834
- const OriginalWebSocket = globalThis.WebSocket;
835
- let connections = 0;
836
- globalThis.fetch = () =>
837
- Promise.resolve(
838
- Response.json([
839
- {
840
- id: "tab-1",
841
- title: "Fixture",
842
- type: "page",
843
- url: "https://example.com/",
844
- webSocketDebuggerUrl: "ws://remote.example.com/devtools/page/tab-1",
845
- },
846
- ]),
847
- );
848
- class RemoteSocket extends EventTarget {
849
- constructor() {
850
- super();
851
- connections += 1;
852
- queueMicrotask(() => this.dispatchEvent(new Event("open")));
853
- }
854
-
855
- send(source: string): void {
856
- const request = JSON.parse(source) as { id: number };
857
- queueMicrotask(() => this.dispatchEvent(new MessageEvent("message", { data: JSON.stringify({ id: request.id, result: { data: "AAAA" } }) })));
858
- }
859
-
860
- close(): void {}
861
- }
862
- globalThis.WebSocket = RemoteSocket as unknown as typeof WebSocket;
863
- const context = await createBrowserSession();
864
- try {
865
- await expect(browserTool(context, "browser_screenshot").execute("call-1", { targetId: "tab-1" }, undefined, undefined, {} as never)).rejects.toThrow(
866
- /must stay on the configured local endpoint/iu,
867
- );
868
- expect(connections).toBe(0);
869
- } finally {
870
- globalThis.fetch = originalFetch;
871
- globalThis.WebSocket = OriginalWebSocket;
872
- await context.fiber.dispose();
873
- }
874
- });
875
-
876
- test("rejects malformed base64 screenshot data", async () => {
877
- const originalFetch = globalThis.fetch;
878
- const OriginalWebSocket = globalThis.WebSocket;
879
- globalThis.fetch = () =>
880
- Promise.resolve(
881
- Response.json([
882
- {
883
- id: "tab-1",
884
- title: "Fixture",
885
- type: "page",
886
- url: "https://example.com/",
887
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
888
- },
889
- ]),
890
- );
891
- class InvalidScreenshotSocket extends EventTarget {
892
- constructor() {
893
- super();
894
- queueMicrotask(() => this.dispatchEvent(new Event("open")));
895
- }
896
-
897
- send(source: string): void {
898
- const request = JSON.parse(source) as { id: number };
899
- queueMicrotask(() => this.dispatchEvent(new MessageEvent("message", { data: JSON.stringify({ id: request.id, result: { data: "not base64!" } }) })));
900
- }
901
-
902
- close(): void {}
903
- }
904
- globalThis.WebSocket = InvalidScreenshotSocket as unknown as typeof WebSocket;
905
- const context = await createBrowserSession();
906
- try {
907
- await expect(browserTool(context, "browser_screenshot").execute("call-1", { targetId: "tab-1" }, undefined, undefined, {} as never)).rejects.toThrow(
908
- /invalid base64/iu,
909
- );
910
- } finally {
911
- globalThis.fetch = originalFetch;
912
- globalThis.WebSocket = OriginalWebSocket;
913
- await context.fiber.dispose();
914
- }
915
- });
916
-
917
- test("keeps screenshot payload bytes out of tool details and panel state", async () => {
918
- const originalFetch = globalThis.fetch;
919
- const OriginalWebSocket = globalThis.WebSocket;
920
- const screenshotData = "iVBORw0KGgo=";
921
- globalThis.fetch = () =>
922
- Promise.resolve(
923
- Response.json([
924
- {
925
- id: "tab-1",
926
- title: "Fixture",
927
- type: "page",
928
- url: "https://example.com/",
929
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
930
- },
931
- ]),
932
- );
933
- class ScreenshotSocket extends EventTarget {
934
- constructor() {
935
- super();
936
- queueMicrotask(() => this.dispatchEvent(new Event("open")));
937
- }
938
-
939
- send(source: string): void {
940
- const request = JSON.parse(source) as { id: number };
941
- queueMicrotask(() => this.dispatchEvent(new MessageEvent("message", { data: JSON.stringify({ id: request.id, result: { data: screenshotData } }) })));
942
- }
943
-
944
- close(): void {}
945
- }
946
- globalThis.WebSocket = ScreenshotSocket as unknown as typeof WebSocket;
947
- const context = await createBrowserSession();
948
- try {
949
- const result = await browserTool(context, "browser_screenshot").execute("call-1", { targetId: "tab-1" }, undefined, undefined, {} as never);
950
-
951
- expect(result.content).toEqual([{ type: "image", data: screenshotData, mimeType: "image/png" }]);
952
- expect(result.details).toMatchObject({ screenshot: { bytes: 8, mimeType: "image/png" } });
953
- expect((result.details as { screenshot: Record<string, unknown> }).screenshot).not.toHaveProperty("data");
954
- const panel = (await context.piPluginUi.snapshot())[0];
955
- expect(panel?.data).toMatchObject({ latest: { screenshot: { bytes: 8, mimeType: "image/png" } } });
956
- expect((panel?.data as { latest?: { screenshot?: Record<string, unknown> } } | undefined)?.latest?.screenshot ?? {}).not.toHaveProperty("data");
957
- } finally {
958
- globalThis.fetch = originalFetch;
959
- globalThis.WebSocket = OriginalWebSocket;
960
- await context.fiber.dispose();
961
- }
962
- });
963
-
964
- test("rejects DevTools WebSocket responses larger than 12 MiB", async () => {
965
- const originalFetch = globalThis.fetch;
966
- const OriginalWebSocket = globalThis.WebSocket;
967
- const oversizedText = "x".repeat(12 * 1024 * 1024);
968
- globalThis.fetch = () =>
969
- Promise.resolve(
970
- Response.json([
971
- {
972
- id: "tab-1",
973
- title: "Fixture",
974
- type: "page",
975
- url: "https://example.com/",
976
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
977
- },
978
- ]),
979
- );
980
- class OversizedSocket extends EventTarget {
981
- constructor() {
982
- super();
983
- queueMicrotask(() => this.dispatchEvent(new Event("open")));
984
- }
985
-
986
- send(source: string): void {
987
- const request = JSON.parse(source) as { id: number };
988
- queueMicrotask(() =>
989
- this.dispatchEvent(new MessageEvent("message", { data: JSON.stringify({ id: request.id, result: { result: { value: oversizedText } } }) })),
990
- );
991
- }
992
-
993
- close(): void {}
994
- }
995
- globalThis.WebSocket = OversizedSocket as unknown as typeof WebSocket;
996
- const context = await createBrowserSession();
997
- try {
998
- const outcome = await browserTool(context, "browser_read")
999
- .execute("call-1", { targetId: "tab-1" }, undefined, undefined, {} as never)
1000
- .then(
1001
- () => "resolved" as const,
1002
- (error: unknown) => error,
1003
- );
1004
- expect(outcome).toBeInstanceOf(Error);
1005
- if (!(outcome instanceof Error)) throw new Error("Expected oversized response rejection");
1006
- expect(outcome.message).toMatch(/response exceeded the 12 MiB limit/iu);
1007
- } finally {
1008
- globalThis.fetch = originalFetch;
1009
- globalThis.WebSocket = OriginalWebSocket;
1010
- await context.fiber.dispose();
1011
- }
1012
- });
1013
-
1014
- test("rejects malformed DevTools JSON responses and closes the socket", async () => {
1015
- const originalFetch = globalThis.fetch;
1016
- const OriginalWebSocket = globalThis.WebSocket;
1017
- let closed = false;
1018
- globalThis.fetch = () =>
1019
- Promise.resolve(
1020
- Response.json([
1021
- {
1022
- id: "tab-1",
1023
- title: "Fixture",
1024
- type: "page",
1025
- url: "https://example.com/",
1026
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
1027
- },
1028
- ]),
1029
- );
1030
- class MalformedSocket extends EventTarget {
1031
- constructor() {
1032
- super();
1033
- queueMicrotask(() => this.dispatchEvent(new Event("open")));
1034
- }
1035
-
1036
- send(): void {
1037
- queueMicrotask(() => this.dispatchEvent(new MessageEvent("message", { data: "not json" })));
1038
- }
1039
-
1040
- close(): void {
1041
- closed = true;
1042
- }
1043
- }
1044
- globalThis.WebSocket = MalformedSocket as unknown as typeof WebSocket;
1045
- vi.useFakeTimers();
1046
- const context = await createBrowserSession();
1047
- try {
1048
- const pending = browserTool(context, "browser_read").execute("call-1", { targetId: "tab-1" }, undefined, undefined, {} as never);
1049
- const outcomePromise = pending.then(
1050
- () => new Error("Browser command unexpectedly succeeded"),
1051
- (error: unknown) => error,
1052
- );
1053
-
1054
- await vi.advanceTimersByTimeAsync(15_000);
1055
-
1056
- const outcome = await outcomePromise;
1057
- expect(outcome).toBeInstanceOf(Error);
1058
- if (!(outcome instanceof Error)) throw new Error("Expected invalid JSON rejection");
1059
- expect(outcome.message).toMatch(/invalid JSON/iu);
1060
- expect(closed).toBe(true);
1061
- } finally {
1062
- vi.useRealTimers();
1063
- globalThis.fetch = originalFetch;
1064
- globalThis.WebSocket = OriginalWebSocket;
1065
- await context.fiber.dispose();
1066
- }
1067
- });
1068
-
1069
- test.each([
1070
- [[{ id: 1, result: { result: { value: "text" } } }], /invalid response envelope/iu],
1071
- [{ id: 1, result: { result: { value: "text" } }, error: { message: "ambiguous" } }, /invalid response envelope/iu],
1072
- [{ id: 1, error: { code: -1 } }, /invalid error response/iu],
1073
- [{ id: 1, result: [] }, /invalid result response/iu],
1074
- ])("rejects malformed DevTools response envelopes immediately", async (envelope, expected) => {
1075
- const originalFetch = globalThis.fetch;
1076
- const OriginalWebSocket = globalThis.WebSocket;
1077
- globalThis.fetch = () =>
1078
- Promise.resolve(
1079
- Response.json([
1080
- {
1081
- id: "tab-1",
1082
- title: "Fixture",
1083
- type: "page",
1084
- url: "https://example.com/",
1085
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
1086
- },
1087
- ]),
1088
- );
1089
- class EnvelopeSocket extends EventTarget {
1090
- constructor() {
1091
- super();
1092
- queueMicrotask(() => this.dispatchEvent(new Event("open")));
1093
- }
1094
-
1095
- send(): void {
1096
- queueMicrotask(() => this.dispatchEvent(new MessageEvent("message", { data: JSON.stringify(envelope) })));
1097
- }
1098
-
1099
- close(): void {}
1100
- }
1101
- globalThis.WebSocket = EnvelopeSocket as unknown as typeof WebSocket;
1102
- vi.useFakeTimers();
1103
- const context = await createBrowserSession();
1104
- try {
1105
- const pending = browserTool(context, "browser_read").execute("call-1", { targetId: "tab-1" }, undefined, undefined, {} as never);
1106
- const outcomePromise = pending.then(
1107
- () => new Error("Malformed envelope unexpectedly succeeded"),
1108
- (error: unknown) => error,
1109
- );
1110
-
1111
- await vi.advanceTimersByTimeAsync(15_000);
1112
-
1113
- const outcome = await outcomePromise;
1114
- expect(outcome).toBeInstanceOf(Error);
1115
- if (!(outcome instanceof Error)) throw new Error("Expected malformed envelope rejection");
1116
- expect(outcome.message).toMatch(expected);
1117
- expect(outcome.message).not.toMatch(/timed out/iu);
1118
- } finally {
1119
- vi.useRealTimers();
1120
- globalThis.fetch = originalFetch;
1121
- globalThis.WebSocket = OriginalWebSocket;
1122
- await context.fiber.dispose();
1123
- }
1124
- });
1125
-
1126
- test("does not split a UTF-8 character at the browser text byte limit", async () => {
1127
- const originalFetch = globalThis.fetch;
1128
- const OriginalWebSocket = globalThis.WebSocket;
1129
- const prefix = "a".repeat(128 * 1024 - 1);
1130
- const pageText = `${prefix}😀`;
1131
- globalThis.fetch = () =>
1132
- Promise.resolve(
1133
- Response.json([
1134
- {
1135
- id: "tab-1",
1136
- title: "Fixture",
1137
- type: "page",
1138
- url: "https://example.com/",
1139
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
1140
- },
1141
- ]),
1142
- );
1143
- class TextSocket extends EventTarget {
1144
- constructor() {
1145
- super();
1146
- queueMicrotask(() => this.dispatchEvent(new Event("open")));
1147
- }
1148
-
1149
- send(source: string): void {
1150
- const request = JSON.parse(source) as { id: number };
1151
- queueMicrotask(() =>
1152
- this.dispatchEvent(new MessageEvent("message", { data: JSON.stringify({ id: request.id, result: { result: { value: pageText } } }) })),
1153
- );
1154
- }
1155
-
1156
- close(): void {}
1157
- }
1158
- globalThis.WebSocket = TextSocket as unknown as typeof WebSocket;
1159
- const context = await createBrowserSession();
1160
- try {
1161
- const result = await browserTool(context, "browser_read").execute("call-1", { targetId: "tab-1" }, undefined, undefined, {} as never);
1162
-
1163
- const content = result.content[0];
1164
- if (content?.type !== "text") throw new Error("Expected browser text content");
1165
- expect(content.text.endsWith("�")).toBe(false);
1166
- expect(content.text.length).toBe(prefix.length);
1167
- expect(Buffer.byteLength(content.text, "utf8")).toBeLessThanOrEqual(128 * 1024);
1168
- expect(result.details).toMatchObject({ truncated: true });
1169
- expect((result.details as { text: string }).text).toBe(content.text);
1170
- } finally {
1171
- globalThis.fetch = originalFetch;
1172
- globalThis.WebSocket = OriginalWebSocket;
1173
- await context.fiber.dispose();
1174
- }
1175
- });
1176
-
1177
- test("does not expose mutable session state through tool results", async () => {
1178
- const originalFetch = globalThis.fetch;
1179
- const OriginalWebSocket = globalThis.WebSocket;
1180
- globalThis.fetch = () =>
1181
- Promise.resolve(
1182
- Response.json([
1183
- {
1184
- id: "tab-1",
1185
- title: "Fixture",
1186
- type: "page",
1187
- url: "https://example.com/",
1188
- webSocketDebuggerUrl: "ws://127.0.0.1:9222/devtools/page/tab-1",
1189
- },
1190
- ]),
1191
- );
1192
- class ClickSocket extends EventTarget {
1193
- constructor() {
1194
- super();
1195
- queueMicrotask(() => this.dispatchEvent(new Event("open")));
1196
- }
1197
-
1198
- send(source: string): void {
1199
- const request = JSON.parse(source) as { id: number };
1200
- queueMicrotask(() =>
1201
- this.dispatchEvent(new MessageEvent("message", { data: JSON.stringify({ id: request.id, result: { result: { value: true } } }) })),
1202
- );
1203
- }
1204
-
1205
- close(): void {}
1206
- }
1207
- globalThis.WebSocket = ClickSocket as unknown as typeof WebSocket;
1208
- const context = await createBrowserSession();
1209
- try {
1210
- const result = await browserTool(context, "browser_click").execute(
1211
- "call-1",
1212
- { targetId: "tab-1", selector: "#button" },
1213
- undefined,
1214
- undefined,
1215
- {} as never,
1216
- );
1217
-
1218
- (result.details as { title: string }).title = "mutated";
1219
-
1220
- await expect(context.piPluginUi.snapshot()).resolves.toMatchObject([{ id: "browser-session-panel", data: { latest: { title: "Fixture" } } }]);
1221
- const panel = (await context.piPluginUi.snapshot())[0];
1222
- if (panel === undefined) throw new Error("Browser session panel was not registered");
1223
- (panel.data as { latest: { title: string } }).latest.title = "panel-mutated";
1224
-
1225
- await expect(context.piPluginUi.snapshot()).resolves.toMatchObject([{ id: "browser-session-panel", data: { latest: { title: "Fixture" } } }]);
1226
- globalThis.fetch = () => Promise.resolve(new Response("unavailable", { status: 503 }));
1227
- await expect(context.piPluginUi.snapshot()).resolves.toMatchObject([
1228
- { id: "browser-session-panel", data: { connected: false, latest: { title: "Fixture" }, error: "Chrome DevTools returned HTTP 503" } },
1229
- ]);
1230
- } finally {
1231
- globalThis.fetch = originalFetch;
1232
- globalThis.WebSocket = OriginalWebSocket;
1233
- await context.fiber.dispose();
1234
- }
1235
- });
1236
- });