@pi-harness/pi-harness 0.1.7 → 0.1.9

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 (277) hide show
  1. package/README.md +1 -1
  2. package/apps/web/dist/assets/index-CW3u-pEm.css +2 -0
  3. package/apps/web/dist/assets/index-Cdzf1FYv.js +20 -0
  4. package/apps/web/dist/index.html +2 -2
  5. package/apps/web/package.json +6 -6
  6. package/apps/web/profile/cordis.yml +1 -1
  7. package/apps/web/server-dist/bin.js +2 -1
  8. package/apps/web/server-dist/bin.js.map +1 -1
  9. package/apps/web/src/server/bin.ts +2 -1
  10. package/apps/web/src/style.css +171 -47
  11. package/node_modules/@pi-harness/api-gateway/dist/index.d.ts.map +1 -1
  12. package/node_modules/@pi-harness/api-gateway/dist/index.js +7 -3
  13. package/node_modules/@pi-harness/api-gateway/dist/index.js.map +1 -1
  14. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/agent-teams.json +1 -1
  15. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/anchored-standard.json +1 -1
  16. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/annotation.json +1 -1
  17. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/archify.json +1 -1
  18. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/at-file.json +1 -1
  19. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/auto-mode.json +1 -1
  20. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/better-sidebar.json +1 -1
  21. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-fetch.json +1 -1
  22. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/browser-session.json +1 -1
  23. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/canvas-draw.json +1 -1
  24. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/change-verifier.json +1 -1
  25. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cleaner.json +1 -1
  26. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cli-notifier.json +1 -1
  27. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/code2skill.json +1 -1
  28. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/colleague-skill.json +1 -1
  29. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context-doctor.json +1 -1
  30. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/context.json +1 -1
  31. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/cost-meter.json +1 -1
  32. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/dependency-checker.json +1 -1
  33. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +1 -1
  34. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/fail-logger.json +1 -1
  35. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/genui.json +1 -1
  36. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +1 -1
  37. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/graph-memory.json +1 -1
  38. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/history-compressor.json +1 -1
  39. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/hol-guard.json +1 -1
  40. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/i18n-pair.json +1 -1
  41. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/image-compressor.json +1 -1
  42. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/llm-verifier.json +1 -1
  43. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-client.json +1 -1
  44. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mcp-panel.json +1 -1
  45. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/memory.json +1 -1
  46. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +1 -1
  47. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/mock-server.json +1 -1
  48. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/modlens.json +1 -1
  49. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/module-search.json +1 -1
  50. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +1 -1
  51. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/openpets.json +1 -1
  52. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plan-execute.json +1 -1
  53. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-check.json +1 -1
  54. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-dev.json +1 -1
  55. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-finder.json +1 -1
  56. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-radar.json +1 -1
  57. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/plugin-stars.json +1 -1
  58. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-guard.json +1 -1
  59. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/prompt-library.json +1 -1
  60. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/readme-gen.json +1 -1
  61. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/recall-unread.json +1 -1
  62. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reverse-skill.json +1 -1
  63. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +1 -1
  64. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +1 -1
  65. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/secure-audit.json +1 -1
  66. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +1 -1
  67. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-bridge.json +1 -1
  68. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-compare.json +1 -1
  69. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-export.json +1 -1
  70. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-insights.json +1 -1
  71. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/session-search.json +1 -1
  72. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-catalog.json +1 -1
  73. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/skill-guard.json +1 -1
  74. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/sql-lens.json +1 -1
  75. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/synapse.json +1 -1
  76. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/tab-manager.json +1 -1
  77. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/taskboard.json +1 -1
  78. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +1 -1
  79. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/test-harness.json +1 -1
  80. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/theme-studio.json +1 -1
  81. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/token-guard.json +1 -1
  82. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/turn-rewind.json +1 -1
  83. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +1 -1
  84. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +1 -1
  85. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/web-research.json +1 -1
  86. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +1 -1
  87. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/workspace-search.json +1 -1
  88. package/node_modules/@pi-harness/api-gateway/dist/marketplace-entries/official/yaml-validator.json +1 -1
  89. package/node_modules/@pi-harness/api-gateway/package.json +1 -1
  90. package/node_modules/@pi-harness/cli/package.json +1 -1
  91. package/node_modules/@pi-harness/core/package.json +1 -1
  92. package/node_modules/@pi-harness/host-webserver/dist/index.d.ts +1 -0
  93. package/node_modules/@pi-harness/host-webserver/dist/index.d.ts.map +1 -1
  94. package/node_modules/@pi-harness/host-webserver/dist/index.js +2 -1
  95. package/node_modules/@pi-harness/host-webserver/dist/index.js.map +1 -1
  96. package/node_modules/@pi-harness/host-webserver/package.json +1 -1
  97. package/node_modules/@pi-harness/web-app/cordis.patch.yml +1 -1
  98. package/node_modules/@pi-harness/web-app/package.json +1 -1
  99. package/package.json +6 -6
  100. package/packages/api-gateway/dist/index.d.ts.map +1 -1
  101. package/packages/api-gateway/dist/index.js +7 -3
  102. package/packages/api-gateway/dist/index.js.map +1 -1
  103. package/packages/api-gateway/dist/marketplace-entries/official/agent-teams.json +1 -1
  104. package/packages/api-gateway/dist/marketplace-entries/official/anchored-standard.json +1 -1
  105. package/packages/api-gateway/dist/marketplace-entries/official/annotation.json +1 -1
  106. package/packages/api-gateway/dist/marketplace-entries/official/archify.json +1 -1
  107. package/packages/api-gateway/dist/marketplace-entries/official/at-file.json +1 -1
  108. package/packages/api-gateway/dist/marketplace-entries/official/auto-mode.json +1 -1
  109. package/packages/api-gateway/dist/marketplace-entries/official/better-sidebar.json +1 -1
  110. package/packages/api-gateway/dist/marketplace-entries/official/browser-fetch.json +1 -1
  111. package/packages/api-gateway/dist/marketplace-entries/official/browser-session.json +1 -1
  112. package/packages/api-gateway/dist/marketplace-entries/official/canvas-draw.json +1 -1
  113. package/packages/api-gateway/dist/marketplace-entries/official/change-verifier.json +1 -1
  114. package/packages/api-gateway/dist/marketplace-entries/official/cleaner.json +1 -1
  115. package/packages/api-gateway/dist/marketplace-entries/official/cli-notifier.json +1 -1
  116. package/packages/api-gateway/dist/marketplace-entries/official/code2skill.json +1 -1
  117. package/packages/api-gateway/dist/marketplace-entries/official/colleague-skill.json +1 -1
  118. package/packages/api-gateway/dist/marketplace-entries/official/context-doctor.json +1 -1
  119. package/packages/api-gateway/dist/marketplace-entries/official/context.json +1 -1
  120. package/packages/api-gateway/dist/marketplace-entries/official/cost-meter.json +1 -1
  121. package/packages/api-gateway/dist/marketplace-entries/official/dependency-checker.json +1 -1
  122. package/packages/api-gateway/dist/marketplace-entries/official/docker-sandbox.json +1 -1
  123. package/packages/api-gateway/dist/marketplace-entries/official/fail-logger.json +1 -1
  124. package/packages/api-gateway/dist/marketplace-entries/official/genui.json +1 -1
  125. package/packages/api-gateway/dist/marketplace-entries/official/git-time-capsule.json +1 -1
  126. package/packages/api-gateway/dist/marketplace-entries/official/graph-memory.json +1 -1
  127. package/packages/api-gateway/dist/marketplace-entries/official/history-compressor.json +1 -1
  128. package/packages/api-gateway/dist/marketplace-entries/official/hol-guard.json +1 -1
  129. package/packages/api-gateway/dist/marketplace-entries/official/i18n-pair.json +1 -1
  130. package/packages/api-gateway/dist/marketplace-entries/official/image-compressor.json +1 -1
  131. package/packages/api-gateway/dist/marketplace-entries/official/llm-verifier.json +1 -1
  132. package/packages/api-gateway/dist/marketplace-entries/official/mcp-client.json +1 -1
  133. package/packages/api-gateway/dist/marketplace-entries/official/mcp-panel.json +1 -1
  134. package/packages/api-gateway/dist/marketplace-entries/official/memory.json +1 -1
  135. package/packages/api-gateway/dist/marketplace-entries/official/mirage-bridge.json +1 -1
  136. package/packages/api-gateway/dist/marketplace-entries/official/mock-server.json +1 -1
  137. package/packages/api-gateway/dist/marketplace-entries/official/modlens.json +1 -1
  138. package/packages/api-gateway/dist/marketplace-entries/official/module-search.json +1 -1
  139. package/packages/api-gateway/dist/marketplace-entries/official/obsidian-sync.json +1 -1
  140. package/packages/api-gateway/dist/marketplace-entries/official/openpets.json +1 -1
  141. package/packages/api-gateway/dist/marketplace-entries/official/plan-execute.json +1 -1
  142. package/packages/api-gateway/dist/marketplace-entries/official/plugin-check.json +1 -1
  143. package/packages/api-gateway/dist/marketplace-entries/official/plugin-dev.json +1 -1
  144. package/packages/api-gateway/dist/marketplace-entries/official/plugin-finder.json +1 -1
  145. package/packages/api-gateway/dist/marketplace-entries/official/plugin-radar.json +1 -1
  146. package/packages/api-gateway/dist/marketplace-entries/official/plugin-stars.json +1 -1
  147. package/packages/api-gateway/dist/marketplace-entries/official/prompt-guard.json +1 -1
  148. package/packages/api-gateway/dist/marketplace-entries/official/prompt-library.json +1 -1
  149. package/packages/api-gateway/dist/marketplace-entries/official/readme-gen.json +1 -1
  150. package/packages/api-gateway/dist/marketplace-entries/official/recall-unread.json +1 -1
  151. package/packages/api-gateway/dist/marketplace-entries/official/reverse-skill.json +1 -1
  152. package/packages/api-gateway/dist/marketplace-entries/official/reviewer-bot.json +1 -1
  153. package/packages/api-gateway/dist/marketplace-entries/official/runtime-doctor.json +1 -1
  154. package/packages/api-gateway/dist/marketplace-entries/official/secure-audit.json +1 -1
  155. package/packages/api-gateway/dist/marketplace-entries/official/session-bookmarks.json +1 -1
  156. package/packages/api-gateway/dist/marketplace-entries/official/session-bridge.json +1 -1
  157. package/packages/api-gateway/dist/marketplace-entries/official/session-compare.json +1 -1
  158. package/packages/api-gateway/dist/marketplace-entries/official/session-export.json +1 -1
  159. package/packages/api-gateway/dist/marketplace-entries/official/session-insights.json +1 -1
  160. package/packages/api-gateway/dist/marketplace-entries/official/session-search.json +1 -1
  161. package/packages/api-gateway/dist/marketplace-entries/official/skill-catalog.json +1 -1
  162. package/packages/api-gateway/dist/marketplace-entries/official/skill-guard.json +1 -1
  163. package/packages/api-gateway/dist/marketplace-entries/official/sql-lens.json +1 -1
  164. package/packages/api-gateway/dist/marketplace-entries/official/synapse.json +1 -1
  165. package/packages/api-gateway/dist/marketplace-entries/official/tab-manager.json +1 -1
  166. package/packages/api-gateway/dist/marketplace-entries/official/taskboard.json +1 -1
  167. package/packages/api-gateway/dist/marketplace-entries/official/telemetry-blocker.json +1 -1
  168. package/packages/api-gateway/dist/marketplace-entries/official/test-harness.json +1 -1
  169. package/packages/api-gateway/dist/marketplace-entries/official/theme-studio.json +1 -1
  170. package/packages/api-gateway/dist/marketplace-entries/official/token-guard.json +1 -1
  171. package/packages/api-gateway/dist/marketplace-entries/official/turn-rewind.json +1 -1
  172. package/packages/api-gateway/dist/marketplace-entries/official/undo-savepoint.json +1 -1
  173. package/packages/api-gateway/dist/marketplace-entries/official/vision-toolkit.json +1 -1
  174. package/packages/api-gateway/dist/marketplace-entries/official/web-research.json +1 -1
  175. package/packages/api-gateway/dist/marketplace-entries/official/workspace-navigator.json +1 -1
  176. package/packages/api-gateway/dist/marketplace-entries/official/workspace-search.json +1 -1
  177. package/packages/api-gateway/dist/marketplace-entries/official/yaml-validator.json +1 -1
  178. package/packages/api-gateway/package.json +1 -1
  179. package/packages/api-gateway/src/index.ts +7 -3
  180. package/packages/api-gateway/src/marketplace-entries/official/agent-teams.json +1 -1
  181. package/packages/api-gateway/src/marketplace-entries/official/anchored-standard.json +1 -1
  182. package/packages/api-gateway/src/marketplace-entries/official/annotation.json +1 -1
  183. package/packages/api-gateway/src/marketplace-entries/official/archify.json +1 -1
  184. package/packages/api-gateway/src/marketplace-entries/official/at-file.json +1 -1
  185. package/packages/api-gateway/src/marketplace-entries/official/auto-mode.json +1 -1
  186. package/packages/api-gateway/src/marketplace-entries/official/better-sidebar.json +1 -1
  187. package/packages/api-gateway/src/marketplace-entries/official/browser-fetch.json +1 -1
  188. package/packages/api-gateway/src/marketplace-entries/official/browser-session.json +1 -1
  189. package/packages/api-gateway/src/marketplace-entries/official/canvas-draw.json +1 -1
  190. package/packages/api-gateway/src/marketplace-entries/official/change-verifier.json +1 -1
  191. package/packages/api-gateway/src/marketplace-entries/official/cleaner.json +1 -1
  192. package/packages/api-gateway/src/marketplace-entries/official/cli-notifier.json +1 -1
  193. package/packages/api-gateway/src/marketplace-entries/official/code2skill.json +1 -1
  194. package/packages/api-gateway/src/marketplace-entries/official/colleague-skill.json +1 -1
  195. package/packages/api-gateway/src/marketplace-entries/official/context-doctor.json +1 -1
  196. package/packages/api-gateway/src/marketplace-entries/official/context.json +1 -1
  197. package/packages/api-gateway/src/marketplace-entries/official/cost-meter.json +1 -1
  198. package/packages/api-gateway/src/marketplace-entries/official/dependency-checker.json +1 -1
  199. package/packages/api-gateway/src/marketplace-entries/official/docker-sandbox.json +1 -1
  200. package/packages/api-gateway/src/marketplace-entries/official/fail-logger.json +1 -1
  201. package/packages/api-gateway/src/marketplace-entries/official/genui.json +1 -1
  202. package/packages/api-gateway/src/marketplace-entries/official/git-time-capsule.json +1 -1
  203. package/packages/api-gateway/src/marketplace-entries/official/graph-memory.json +1 -1
  204. package/packages/api-gateway/src/marketplace-entries/official/history-compressor.json +1 -1
  205. package/packages/api-gateway/src/marketplace-entries/official/hol-guard.json +1 -1
  206. package/packages/api-gateway/src/marketplace-entries/official/i18n-pair.json +1 -1
  207. package/packages/api-gateway/src/marketplace-entries/official/image-compressor.json +1 -1
  208. package/packages/api-gateway/src/marketplace-entries/official/llm-verifier.json +1 -1
  209. package/packages/api-gateway/src/marketplace-entries/official/mcp-client.json +1 -1
  210. package/packages/api-gateway/src/marketplace-entries/official/mcp-panel.json +1 -1
  211. package/packages/api-gateway/src/marketplace-entries/official/memory.json +1 -1
  212. package/packages/api-gateway/src/marketplace-entries/official/mirage-bridge.json +1 -1
  213. package/packages/api-gateway/src/marketplace-entries/official/mock-server.json +1 -1
  214. package/packages/api-gateway/src/marketplace-entries/official/modlens.json +1 -1
  215. package/packages/api-gateway/src/marketplace-entries/official/module-search.json +1 -1
  216. package/packages/api-gateway/src/marketplace-entries/official/obsidian-sync.json +1 -1
  217. package/packages/api-gateway/src/marketplace-entries/official/openpets.json +1 -1
  218. package/packages/api-gateway/src/marketplace-entries/official/plan-execute.json +1 -1
  219. package/packages/api-gateway/src/marketplace-entries/official/plugin-check.json +1 -1
  220. package/packages/api-gateway/src/marketplace-entries/official/plugin-dev.json +1 -1
  221. package/packages/api-gateway/src/marketplace-entries/official/plugin-finder.json +1 -1
  222. package/packages/api-gateway/src/marketplace-entries/official/plugin-radar.json +1 -1
  223. package/packages/api-gateway/src/marketplace-entries/official/plugin-stars.json +1 -1
  224. package/packages/api-gateway/src/marketplace-entries/official/prompt-guard.json +1 -1
  225. package/packages/api-gateway/src/marketplace-entries/official/prompt-library.json +1 -1
  226. package/packages/api-gateway/src/marketplace-entries/official/readme-gen.json +1 -1
  227. package/packages/api-gateway/src/marketplace-entries/official/recall-unread.json +1 -1
  228. package/packages/api-gateway/src/marketplace-entries/official/reverse-skill.json +1 -1
  229. package/packages/api-gateway/src/marketplace-entries/official/reviewer-bot.json +1 -1
  230. package/packages/api-gateway/src/marketplace-entries/official/runtime-doctor.json +1 -1
  231. package/packages/api-gateway/src/marketplace-entries/official/secure-audit.json +1 -1
  232. package/packages/api-gateway/src/marketplace-entries/official/session-bookmarks.json +1 -1
  233. package/packages/api-gateway/src/marketplace-entries/official/session-bridge.json +1 -1
  234. package/packages/api-gateway/src/marketplace-entries/official/session-compare.json +1 -1
  235. package/packages/api-gateway/src/marketplace-entries/official/session-export.json +1 -1
  236. package/packages/api-gateway/src/marketplace-entries/official/session-insights.json +1 -1
  237. package/packages/api-gateway/src/marketplace-entries/official/session-search.json +1 -1
  238. package/packages/api-gateway/src/marketplace-entries/official/skill-catalog.json +1 -1
  239. package/packages/api-gateway/src/marketplace-entries/official/skill-guard.json +1 -1
  240. package/packages/api-gateway/src/marketplace-entries/official/sql-lens.json +1 -1
  241. package/packages/api-gateway/src/marketplace-entries/official/synapse.json +1 -1
  242. package/packages/api-gateway/src/marketplace-entries/official/tab-manager.json +1 -1
  243. package/packages/api-gateway/src/marketplace-entries/official/taskboard.json +1 -1
  244. package/packages/api-gateway/src/marketplace-entries/official/telemetry-blocker.json +1 -1
  245. package/packages/api-gateway/src/marketplace-entries/official/test-harness.json +1 -1
  246. package/packages/api-gateway/src/marketplace-entries/official/theme-studio.json +1 -1
  247. package/packages/api-gateway/src/marketplace-entries/official/token-guard.json +1 -1
  248. package/packages/api-gateway/src/marketplace-entries/official/turn-rewind.json +1 -1
  249. package/packages/api-gateway/src/marketplace-entries/official/undo-savepoint.json +1 -1
  250. package/packages/api-gateway/src/marketplace-entries/official/vision-toolkit.json +1 -1
  251. package/packages/api-gateway/src/marketplace-entries/official/web-research.json +1 -1
  252. package/packages/api-gateway/src/marketplace-entries/official/workspace-navigator.json +1 -1
  253. package/packages/api-gateway/src/marketplace-entries/official/workspace-search.json +1 -1
  254. package/packages/api-gateway/src/marketplace-entries/official/yaml-validator.json +1 -1
  255. package/packages/api-gateway/test/index.test.ts +33 -0
  256. package/packages/bundle-web-app/cordis.patch.yml +1 -1
  257. package/packages/bundle-web-app/package.json +1 -1
  258. package/packages/cli/package.json +1 -1
  259. package/packages/client-web/dist/control-room.d.ts +1 -0
  260. package/packages/client-web/dist/control-room.d.ts.map +1 -1
  261. package/packages/client-web/dist/control-room.js.map +1 -1
  262. package/packages/client-web/dist/react-room.d.ts.map +1 -1
  263. package/packages/client-web/dist/react-room.js +128 -38
  264. package/packages/client-web/dist/react-room.js.map +1 -1
  265. package/packages/client-web/package.json +1 -1
  266. package/packages/client-web/src/control-room.ts +2 -2
  267. package/packages/client-web/src/react-room.tsx +220 -73
  268. package/packages/core/package.json +1 -1
  269. package/packages/host-webserver/dist/index.d.ts +1 -0
  270. package/packages/host-webserver/dist/index.d.ts.map +1 -1
  271. package/packages/host-webserver/dist/index.js +2 -1
  272. package/packages/host-webserver/dist/index.js.map +1 -1
  273. package/packages/host-webserver/package.json +1 -1
  274. package/packages/host-webserver/src/index.ts +3 -1
  275. package/packages/host-webserver/test/index.test.ts +5 -1
  276. package/apps/web/dist/assets/index-CkGv0zrr.css +0 -2
  277. package/apps/web/dist/assets/index-pMtwuwHh.js +0 -20
@@ -15,10 +15,10 @@
15
15
  <link rel="apple-touch-icon" href="/icons/app/apple-touch-icon-180.png" sizes="180x180" />
16
16
  <link rel="manifest" href="/manifest.webmanifest" />
17
17
  <title>Pi Harness / Control Room</title>
18
- <script type="module" crossorigin src="/assets/index-pMtwuwHh.js"></script>
18
+ <script type="module" crossorigin src="/assets/index-Cdzf1FYv.js"></script>
19
19
  <link rel="modulepreload" crossorigin href="/assets/react-vendor-BD7-wQo9.js">
20
20
  <link rel="modulepreload" crossorigin href="/assets/markdown-vendor-DUdMWn0M.js">
21
- <link rel="stylesheet" crossorigin href="/assets/index-CkGv0zrr.css">
21
+ <link rel="stylesheet" crossorigin href="/assets/index-CW3u-pEm.css">
22
22
  </head>
23
23
  <body>
24
24
  <main id="root"></main>
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/web",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "private": true,
5
5
  "description": "Browser application entry for Pi Harness",
6
6
  "type": "module",
@@ -10,11 +10,11 @@
10
10
  "dev": "vp dev"
11
11
  },
12
12
  "dependencies": {
13
- "@pi-harness/api-gateway": "0.1.7",
14
- "@pi-harness/client-web": "0.1.7",
15
- "@pi-harness/core": "0.1.7",
16
- "@pi-harness/host-webserver": "0.1.7",
17
- "@pi-harness/web-app": "0.1.7"
13
+ "@pi-harness/api-gateway": "0.1.9",
14
+ "@pi-harness/client-web": "0.1.9",
15
+ "@pi-harness/core": "0.1.9",
16
+ "@pi-harness/host-webserver": "0.1.9",
17
+ "@pi-harness/web-app": "0.1.9"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@tailwindcss/vite": "^4.3.3",
@@ -255,7 +255,7 @@
255
255
  name: "@pi-harness/host-webserver"
256
256
  config:
257
257
  host: !!js process.env.PI_HARNESS_HOST ?? '127.0.0.1'
258
- port: !!js Number(process.env.PI_HARNESS_PORT ?? 3081)
258
+ port: !!js Number(process.env.PI_HARNESS_PORT ?? 3141)
259
259
  - id: api
260
260
  name: "@pi-harness/api-gateway"
261
261
  config: {}
@@ -5,7 +5,8 @@ import { fileURLToPath } from "node:url";
5
5
  import { bootHarness, provideLaunchContext } from "@pi-harness/core";
6
6
  import "@pi-harness/host-webserver";
7
7
  const host = process.env.PI_HARNESS_HOST ?? "127.0.0.1";
8
- const port = Number(process.env.PI_HARNESS_PORT ?? "3081");
8
+ const DEFAULT_PI_HARNESS_PORT = 3141;
9
+ const port = Number(process.env.PI_HARNESS_PORT ?? DEFAULT_PI_HARNESS_PORT);
9
10
  if (!Number.isInteger(port) || port < 0 || port > 65_535)
10
11
  throw new Error("PI_HARNESS_PORT must be an integer between 0 and 65535");
11
12
  const loopbackHosts = new Set(["127.0.0.1", "localhost", "::1", "[::1]"]);
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/server/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/server/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,4BAA4B,CAAC;AAMpC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,WAAW,CAAC;AACxD,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,uBAAuB,CAAC,CAAC;AAC5E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,MAAM;IAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;AACpI,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG;IACzE,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;AACpH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC7E,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrF,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,SAAS,CAAC;AAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC;AACnC,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAqB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACzH,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;AAC3C,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,IAAI,WAAqC,CAAC;AAC1C,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;IAChD,WAAW,GAAG,OAAO,CAAC;AACxB,CAAC,CAAC,CAAC;AACH,IAAI,OAA4D,CAAC;AACjE,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAU,EAAE;IACpD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC7E,OAAO,GAAG,OAAO,mNAAmN,CAAC;AACvO,CAAC,CAAC;AACF,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAsB,EAAiB,EAAE;IAC/D,IAAI,YAAY;QAAE,OAAO;IACzB,YAAY,GAAG,IAAI,CAAC;IACpB,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1B,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC,CAAC;YACF,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAC3D,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;IACH,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/E,WAAW,EAAE,EAAE,CAAC;AAClB,CAAC,CAAC;AACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QACxB,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AACD,IAAI,CAAC;IACH,OAAO,GAAG,MAAM,WAAW,CAAC;QAC1B,UAAU,EAAE,WAAW;QACvB,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,OAAO,CAAC,OAAO;YACb,oBAAoB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,KAAI,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;KACF,CAAC,CAAC;IACH,MAAM,SAAS,GAAI,OAAO,CAAC,OAAoE,CAAC,SAAS,CAAC;IAC1G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IACxE,MAAM,WAAW,CAAC;AACpB,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
@@ -11,7 +11,8 @@ import type { WebServer } from "@pi-harness/host-webserver";
11
11
  type HarnessWebServer = WebServer;
12
12
 
13
13
  const host = process.env.PI_HARNESS_HOST ?? "127.0.0.1";
14
- const port = Number(process.env.PI_HARNESS_PORT ?? "3081");
14
+ const DEFAULT_PI_HARNESS_PORT = 3141;
15
+ const port = Number(process.env.PI_HARNESS_PORT ?? DEFAULT_PI_HARNESS_PORT);
15
16
  if (!Number.isInteger(port) || port < 0 || port > 65_535) throw new Error("PI_HARNESS_PORT must be an integer between 0 and 65535");
16
17
  const loopbackHosts = new Set(["127.0.0.1", "localhost", "::1", "[::1]"]);
17
18
  if (!loopbackHosts.has(host) && process.env.PI_HARNESS_ALLOW_REMOTE !== "1")
@@ -24,13 +24,24 @@ button {
24
24
  @apply [border:0] [background:none] [cursor:pointer];
25
25
  }
26
26
  button:focus-visible,
27
- input:focus-visible,
28
- textarea:focus-visible,
29
- select:focus-visible,
30
27
  summary:focus-visible,
31
28
  a:focus-visible,
32
29
  [role="button"]:focus-visible {
33
- @apply [outline:2px_solid_var(--color-blue)] [outline-offset:2px];
30
+ @apply [outline:2px_solid_rgba(65,_118,_230,_0.48)] [outline-offset:2px];
31
+ }
32
+ input:focus,
33
+ textarea:focus,
34
+ select:focus {
35
+ @apply [outline:none];
36
+ }
37
+ input:not([type="checkbox"]):not([type="radio"]):focus-visible,
38
+ textarea:focus-visible,
39
+ select:focus-visible {
40
+ @apply [border-color:rgba(65,_118,_230,_0.52)] [box-shadow:0_0_0_3px_rgba(65,_118,_230,_0.1)];
41
+ }
42
+ input[type="checkbox"]:focus-visible,
43
+ input[type="radio"]:focus-visible {
44
+ @apply [outline:2px_solid_rgba(65,_118,_230,_0.48)] [outline-offset:2px];
34
45
  }
35
46
  button:disabled {
36
47
  @apply [cursor:not-allowed] [opacity:0.55];
@@ -420,7 +431,8 @@ button:disabled {
420
431
  .sidebar-link {
421
432
  @apply [display:flex] [align-items:center] [gap:9px] [height:30px] [padding:0_9px] [border-radius:8px] [text-align:left] [font-size:12.5px];
422
433
  }
423
- .compact-new-session {
434
+ .compact-new-session,
435
+ .compact-session-search {
424
436
  @apply [display:none];
425
437
  }
426
438
  .sidebar-link:hover {
@@ -499,7 +511,7 @@ button:disabled {
499
511
  @apply [display:flex] [gap:2px] [padding:2px] [border-radius:8px] [background:#f1f3f5];
500
512
  }
501
513
  .view-tab {
502
- @apply [padding:4px_11px] [border-radius:6px] [color:var(--color-muted)] [font-size:12px];
514
+ @apply [padding:4px_11px] [border-radius:6px] [color:var(--color-muted)] [font-size:12px] [white-space:nowrap];
503
515
  }
504
516
  .view-tab.active {
505
517
  @apply [background:#fff] [color:var(--color-ink)] [box-shadow:0_1px_3px_rgba(0,_0,_0,_0.08)] [font-weight:600];
@@ -515,7 +527,10 @@ button:disabled {
515
527
  @apply [position:relative] [width:28px] [font-size:15px];
516
528
  }
517
529
  .details-toggle {
518
- @apply [padding:0_9px] [font-size:12px];
530
+ @apply [flex:none] [padding:0_9px] [font-size:12px] [white-space:nowrap];
531
+ }
532
+ .details-backdrop {
533
+ @apply [display:none];
519
534
  }
520
535
  .session-menu:hover,
521
536
  .details-toggle:hover {
@@ -784,11 +799,17 @@ button:disabled {
784
799
  @apply [color:var(--color-muted)] [font-weight:400];
785
800
  }
786
801
  .composer {
787
- @apply [position:relative] [max-width:748px] [margin:0_auto] [border:1px_solid_rgba(0,_0,_0,_0.12)] [border-radius:10px] [background:#fff] [box-shadow:0_1px_2px_rgba(0,_0,_0,_0.03)] [overflow:visible];
802
+ @apply [position:relative] [max-width:748px] [margin:0_auto] [border:1px_solid_rgba(0,_0,_0,_0.12)] [border-radius:10px] [background:#fff] [box-shadow:0_1px_2px_rgba(0,_0,_0,_0.03)] [overflow:visible] [transition:border-color_120ms_ease,box-shadow_120ms_ease];
803
+ }
804
+ .composer:focus-within {
805
+ @apply [border-color:rgba(65,_118,_230,_0.42)] [box-shadow:0_8px_24px_rgba(15,_17,_21,_0.06),0_0_0_3px_rgba(65,_118,_230,_0.08)];
788
806
  }
789
807
  .composer textarea {
790
808
  @apply [display:block] [width:100%] [min-height:65px] [max-height:180px] [overflow-y:auto] [padding:11px_13px_4px] [border:0] [resize:none] [color:var(--color-ink)] [font-size:13.5px] [line-height:1.7] [background:transparent];
791
809
  }
810
+ .composer textarea:focus-visible {
811
+ @apply [box-shadow:none];
812
+ }
792
813
  .composer-tools {
793
814
  @apply [display:flex] [align-items:center] [gap:6px] [padding:6px_8px_8px];
794
815
  }
@@ -1010,14 +1031,14 @@ button:disabled {
1010
1031
  @apply [display:grid] [grid-template-columns:1fr_1fr] [gap:7px] [margin-bottom:12px];
1011
1032
  }
1012
1033
  .detail-stats > div {
1013
- @apply [padding:9px] [border:1px_solid_rgba(0,_0,_0,_0.08)] [border-radius:8px];
1034
+ @apply [min-width:0] [padding:9px] [border:1px_solid_rgba(0,_0,_0,_0.08)] [border-radius:8px];
1014
1035
  }
1015
1036
  .detail-stats small,
1016
1037
  .detail-section > small {
1017
1038
  @apply [display:block] [color:var(--color-faint)] [font:9.5px_var(--font-mono)] [letter-spacing:0.04em];
1018
1039
  }
1019
1040
  .detail-stats b {
1020
- @apply [display:block] [margin-top:2px] [font:12.5px_var(--font-mono)] [font-weight:400];
1041
+ @apply [display:block] [margin-top:2px] [font:12.5px_var(--font-mono)] [font-weight:400] [overflow-wrap:anywhere];
1021
1042
  }
1022
1043
  .detail-section {
1023
1044
  @apply [display:flex] [margin-top:14px] [flex-direction:column] [gap:5px];
@@ -1051,24 +1072,6 @@ button:disabled {
1051
1072
  @apply [width:100%] [max-width:none] [margin:0] [padding:32px_24px];
1052
1073
  container-type: inline-size;
1053
1074
  }
1054
- .plugin-detail-content > header {
1055
- min-height: 207px;
1056
- }
1057
- @container (max-width: 600px) {
1058
- .plugin-detail-content > header {
1059
- min-height: 235px;
1060
- }
1061
- }
1062
- @container (max-width: 500px) {
1063
- .plugin-detail-content > header {
1064
- min-height: 299px;
1065
- }
1066
- }
1067
- @container (max-width: 320px) {
1068
- .plugin-detail-content > header {
1069
- min-height: 345px;
1070
- }
1071
- }
1072
1075
  .plugin-detail-actions {
1073
1076
  @apply [display:flex] [flex-wrap:wrap] [gap:8px];
1074
1077
  }
@@ -1221,11 +1224,17 @@ button:disabled {
1221
1224
  .global-search-heading small {
1222
1225
  @apply [color:var(--color-muted)] [font-size:11px];
1223
1226
  }
1227
+ .global-search-heading button {
1228
+ @apply [display:grid] [width:32px] [height:32px] [margin-left:auto] [place-items:center] [border-radius:7px] [color:var(--color-muted)] [font-size:19px] [line-height:1];
1229
+ }
1230
+ .global-search-heading button:hover {
1231
+ @apply [background:var(--color-soft)];
1232
+ }
1224
1233
  .global-search-dialog > input {
1225
1234
  @apply [width:100%] [height:52px] [flex:none] [padding:0_18px] [border:0] [border-bottom:1px_solid_var(--color-line)] [background:#fff] [color:var(--color-ink)] [font:14px_var(--font-sans)];
1226
1235
  }
1227
1236
  .global-search-dialog > input:focus-visible {
1228
- @apply [outline-offset:-3px];
1237
+ @apply [border-bottom-color:rgba(65,_118,_230,_0.42)] [box-shadow:inset_0_-2px_0_rgba(65,_118,_230,_0.12)];
1229
1238
  }
1230
1239
  .global-search-results {
1231
1240
  @apply [min-height:0] [overflow:auto] [padding:8px_10px_12px];
@@ -1357,13 +1366,13 @@ button:disabled {
1357
1366
  @apply [display:flex] [align-items:center] [justify-content:space-between] [gap:12px] [padding:11px_12px_10px] [border-top:1px_solid_var(--color-line)];
1358
1367
  }
1359
1368
  .provider-add-head > div {
1360
- @apply [display:flex] [flex-direction:column] [gap:2px];
1369
+ @apply [display:flex] [min-width:0] [flex:1] [flex-direction:column] [gap:2px];
1361
1370
  }
1362
1371
  .provider-add-head strong {
1363
1372
  @apply [font-size:12px];
1364
1373
  }
1365
1374
  .provider-add-head > button {
1366
- @apply [height:30px] [padding:0_11px] [border-radius:7px] [background:var(--color-ink)] [color:#fff] [font-size:11px];
1375
+ @apply [height:30px] [flex:none] [padding:0_11px] [border-radius:7px] [background:var(--color-ink)] [color:#fff] [font-size:11px] [white-space:nowrap];
1367
1376
  }
1368
1377
  .provider-add-head small,
1369
1378
  .provider-add-form small {
@@ -1540,10 +1549,10 @@ button:disabled {
1540
1549
  }
1541
1550
  @media (max-width: 1100px) {
1542
1551
  .details-panel {
1543
- @apply [display:none];
1552
+ @apply [position:fixed] [top:0] [right:0] [bottom:0] [z-index:56] [display:flex] [width:min(380px,_calc(100vw_-_32px))] [min-width:0] [max-width:100%] [box-shadow:-16px_0_48px_rgba(15,_23,_42,_0.2)];
1544
1553
  }
1545
- .details-toggle {
1546
- @apply [display:none];
1554
+ .details-backdrop {
1555
+ @apply [position:fixed] [inset:0] [z-index:55] [display:block] [width:100%] [height:100%] [cursor:default] [background:rgba(15,_23,_42,_0.24)] [backdrop-filter:blur(2px)];
1547
1556
  }
1548
1557
  }
1549
1558
  @media (max-width: 1024px) {
@@ -1564,6 +1573,14 @@ button:disabled {
1564
1573
  @apply [flex:none] [overflow:visible];
1565
1574
  }
1566
1575
  }
1576
+ @media (max-height: 560px) {
1577
+ .provider-add-overlay {
1578
+ @apply [padding:16px];
1579
+ }
1580
+ .provider-add-modal {
1581
+ @apply [max-height:calc(100vh_-_32px)];
1582
+ }
1583
+ }
1567
1584
  @media (max-height: 400px) {
1568
1585
  .sidebar .runtime-cells {
1569
1586
  @apply [display:none];
@@ -1579,6 +1596,9 @@ button:disabled {
1579
1596
  .config-sections {
1580
1597
  @apply [grid-template-columns:minmax(0,_1fr)];
1581
1598
  }
1599
+ .main-header .active-heading small {
1600
+ @apply [display:none];
1601
+ }
1582
1602
  .config-section:last-child {
1583
1603
  @apply [grid-column:auto];
1584
1604
  }
@@ -1623,9 +1643,13 @@ button:disabled {
1623
1643
  .sidebar-link {
1624
1644
  @apply [width:44px] [flex:0_0_44px] [justify-content:center] [padding:0];
1625
1645
  }
1626
- .compact-new-session {
1646
+ .compact-new-session,
1647
+ .compact-session-search {
1627
1648
  @apply [display:flex];
1628
1649
  }
1650
+ .compact-session-search {
1651
+ @apply [font-size:18px];
1652
+ }
1629
1653
  .sidebar-link > span:nth-child(2),
1630
1654
  .sidebar-link > b,
1631
1655
  .sidebar-link > small {
@@ -1644,8 +1668,14 @@ button:disabled {
1644
1668
  @apply [padding:4px_7px];
1645
1669
  }
1646
1670
  .details-panel {
1671
+ @apply [width:calc(100vw_-_16px)];
1672
+ }
1673
+ .details-toggle {
1647
1674
  @apply [display:none];
1648
1675
  }
1676
+ .provider-models-details .model-chips {
1677
+ width: min(280px, calc(100vw - 86px));
1678
+ }
1649
1679
  .composer-tools {
1650
1680
  @apply [justify-content:flex-end];
1651
1681
  }
@@ -1864,7 +1894,35 @@ button:disabled {
1864
1894
  @apply [margin-left:auto] [color:var(--color-faint)] [font:10.5px_var(--font-mono)];
1865
1895
  }
1866
1896
  .marketplace-categories {
1867
- @apply [display:flex] [min-width:0] [flex:none] [flex-wrap:nowrap] [gap:4px] [overflow-x:auto] [padding:8px_24px] [border-bottom:1px_solid_rgba(0,_0,_0,_0.08)] [background:#fff];
1897
+ @apply [display:flex] [min-width:0] [flex:1] [flex-wrap:nowrap] [gap:4px] [overflow-x:auto] [padding:8px_48px_8px_24px] [background:#fff] [scrollbar-width:none];
1898
+ }
1899
+ .marketplace-categories::-webkit-scrollbar {
1900
+ @apply [display:none];
1901
+ }
1902
+ .marketplace-categories-shell {
1903
+ @apply [position:relative] [display:flex] [min-width:0] [flex:none] [border-bottom:1px_solid_rgba(0,_0,_0,_0.08)] [background:#fff];
1904
+ }
1905
+ .marketplace-categories-shell::before,
1906
+ .marketplace-categories-shell::after {
1907
+ @apply [pointer-events:none] [position:absolute] [top:0] [bottom:0] [z-index:1] [width:64px] [content:''];
1908
+ }
1909
+ .marketplace-categories-shell.can-scroll-left::before {
1910
+ @apply [left:0] [background:linear-gradient(90deg,_#fff_24%,_rgba(255,_255,_255,_0))];
1911
+ }
1912
+ .marketplace-categories-shell.can-scroll-right::after {
1913
+ @apply [right:0] [background:linear-gradient(270deg,_#fff_24%,_rgba(255,_255,_255,_0))];
1914
+ }
1915
+ .marketplace-category-scroll {
1916
+ @apply [position:absolute] [top:50%] [z-index:2] [display:grid] [width:32px] [height:32px] [transform:translateY(-50%)] [place-items:center] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:999px] [background:rgba(255,_255,_255,_0.96)] [color:#445064] [font-size:22px] [line-height:1] [box-shadow:0_2px_10px_rgba(15,_23,_42,_0.12)];
1917
+ }
1918
+ .marketplace-category-scroll:hover {
1919
+ @apply [border-color:rgba(65,_118,_230,_0.35)] [background:#f8faff] [color:var(--color-blue)];
1920
+ }
1921
+ .marketplace-category-scroll.previous {
1922
+ @apply [left:8px];
1923
+ }
1924
+ .marketplace-category-scroll.next {
1925
+ @apply [right:8px];
1868
1926
  }
1869
1927
  .marketplace-category {
1870
1928
  @apply [display:flex] [min-height:32px] [flex:none] [align-items:center] [gap:6px] [border-radius:999px] [padding:4px_8px] [color:#61666b] [font-size:11px];
@@ -1885,7 +1943,7 @@ button:disabled {
1885
1943
  @apply [display:flex] [height:100%] [min-height:226px] [flex-direction:column] [border:1px_solid_rgba(0,_0,_0,_0.1)] [border-radius:10px] [background:#fff] [padding:16px] [transition:border-color_120ms_ease,box-shadow_120ms_ease,transform_120ms_ease];
1886
1944
  }
1887
1945
  .catalog-card {
1888
- @apply [min-height:307px];
1946
+ @apply [min-height:260px];
1889
1947
  }
1890
1948
  .marketplace-card:hover {
1891
1949
  @apply [transform:translateY(-1px)] [border-color:rgba(65,_118,_230,_0.32)] [box-shadow:0_8px_22px_rgba(15,_17,_21,_0.06)];
@@ -1924,7 +1982,7 @@ button:disabled {
1924
1982
  @apply [margin-left:auto];
1925
1983
  }
1926
1984
  .marketplace-card-footer button {
1927
- @apply [min-height:28px] [flex:none] [border:1px_solid_rgba(65,_118,_230,_0.3)] [border-radius:6px] [background:var(--color-blue-soft)] [padding:4px_10px] [color:var(--color-blue)] [font-size:10.5px];
1985
+ @apply [min-height:28px] [flex:none] [border:1px_solid_rgba(65,_118,_230,_0.3)] [border-radius:6px] [background:var(--color-blue-soft)] [padding:4px_10px] [color:var(--color-blue)] [font-size:10.5px] [white-space:nowrap];
1928
1986
  }
1929
1987
  .marketplace-card-footer button:hover {
1930
1988
  @apply [background:#e1ebff];
@@ -2206,10 +2264,12 @@ body {
2206
2264
  .plugins-toolbar,
2207
2265
  .plugins-scroll,
2208
2266
  .marketplace-toolbar,
2209
- .marketplace-categories,
2210
2267
  .marketplace-scroll {
2211
2268
  @apply [padding-left:16px] [padding-right:16px];
2212
2269
  }
2270
+ .marketplace-categories {
2271
+ @apply [padding-left:16px] [padding-right:48px];
2272
+ }
2213
2273
  .subnav.plugin-detail-subnav {
2214
2274
  padding-inline: 16px;
2215
2275
  }
@@ -2217,9 +2277,30 @@ body {
2217
2277
  @apply [padding-left:16px] [padding-right:16px];
2218
2278
  }
2219
2279
  }
2280
+ @media (max-width: 520px) {
2281
+ .detail-stats.is-file {
2282
+ @apply [grid-template-columns:minmax(0,_1fr)];
2283
+ }
2284
+ .file-row {
2285
+ @apply [display:grid] [grid-template-columns:auto_auto_minmax(0,_1fr)] [align-items:center] [gap:8px_10px] [padding-top:12px] [padding-bottom:12px];
2286
+ }
2287
+ .file-row code {
2288
+ @apply [grid-column:1/-1] [grid-row:1] [overflow:visible] [text-overflow:clip] [white-space:normal] [overflow-wrap:anywhere] [line-height:1.45];
2289
+ }
2290
+ .file-kind {
2291
+ @apply [grid-column:1] [grid-row:2];
2292
+ }
2293
+ .file-row > .add,
2294
+ .file-row > .del {
2295
+ @apply [grid-column:2] [grid-row:2];
2296
+ }
2297
+ .file-row > .diff-button {
2298
+ @apply [grid-column:3] [grid-row:2] [justify-self:end];
2299
+ }
2300
+ }
2220
2301
  @media (max-width: 680px) {
2221
2302
  .catalog-card {
2222
- @apply [min-height:395px];
2303
+ @apply [min-height:0];
2223
2304
  }
2224
2305
  .sidebar {
2225
2306
  @apply [width:54px] [flex-basis:54px];
@@ -2318,6 +2399,7 @@ body {
2318
2399
  @apply [padding:16px];
2319
2400
  }
2320
2401
  .workspace-chooser-heading button,
2402
+ .global-search-heading button,
2321
2403
  .session-dialog-header button {
2322
2404
  @apply [width:44px] [height:44px];
2323
2405
  }
@@ -2361,7 +2443,7 @@ body {
2361
2443
  }
2362
2444
  .plugins-list,
2363
2445
  .marketplace-grid {
2364
- @apply [grid-template-columns:minmax(0,_1fr)];
2446
+ @apply [grid-template-columns:minmax(0,_1fr)] [grid-auto-rows:auto];
2365
2447
  }
2366
2448
  .subnav {
2367
2449
  @apply [flex-wrap:wrap];
@@ -2423,6 +2505,7 @@ body {
2423
2505
  .marketplace-search,
2424
2506
  .marketplace-filter,
2425
2507
  .marketplace-category,
2508
+ .marketplace-category-scroll,
2426
2509
  .marketplace-card-footer a,
2427
2510
  .marketplace-card-footer button,
2428
2511
  .marketplace-pagination-button,
@@ -2438,6 +2521,7 @@ body {
2438
2521
  @apply [min-height:44px];
2439
2522
  }
2440
2523
  .plugin-uninstall,
2524
+ .marketplace-category-scroll,
2441
2525
  .marketplace-card-footer button,
2442
2526
  .toml-toolbar button {
2443
2527
  @apply [min-width:44px];
@@ -2470,6 +2554,9 @@ body {
2470
2554
  }
2471
2555
  }
2472
2556
  @media (min-width: 681px) and (max-width: 900px) {
2557
+ .marketplace-category-scroll {
2558
+ @apply [width:44px] [height:44px];
2559
+ }
2473
2560
  .new-session,
2474
2561
  .sidebar-actions input,
2475
2562
  .sidebar-link,
@@ -2531,7 +2618,6 @@ body {
2531
2618
  .session-menu,
2532
2619
  .plugin-switch-button,
2533
2620
  .plugin-uninstall,
2534
- .marketplace-card-footer button,
2535
2621
  .toml-toolbar button,
2536
2622
  .send-button {
2537
2623
  @apply [width:44px] [min-width:44px] [flex-basis:44px];
@@ -2590,14 +2676,52 @@ body {
2590
2676
  }
2591
2677
  }
2592
2678
  @media (max-width: 389px) {
2593
- .catalog-card {
2594
- @apply [min-height:427px];
2679
+ .provider-field {
2680
+ @apply [align-items:stretch] [flex-direction:column] [gap:4px];
2681
+ }
2682
+ .provider-field code {
2683
+ @apply [width:auto] [flex:none];
2684
+ }
2685
+ .provider-field input,
2686
+ .provider-model-value {
2687
+ @apply [width:100%];
2688
+ }
2689
+ .context-line {
2690
+ @apply [gap:6px];
2691
+ }
2692
+ .context-label {
2693
+ @apply [flex:none];
2694
+ }
2695
+ .context-metrics {
2696
+ @apply [flex-wrap:nowrap] [gap:6px];
2697
+ }
2698
+ .context-metrics span:nth-child(3) {
2699
+ @apply [display:none];
2700
+ }
2701
+ .prompt-completion button {
2702
+ @apply [align-items:flex-start] [flex-direction:column] [gap:2px];
2703
+ }
2704
+ .prompt-completion button strong {
2705
+ @apply [width:100%];
2706
+ }
2707
+ .prompt-completion button span {
2708
+ @apply [width:100%];
2709
+ }
2710
+ .marketplace-statistics {
2711
+ @apply [grid-template-columns:1fr];
2712
+ }
2713
+ .marketplace-statistics > span {
2714
+ @apply [display:flex] [min-height:30px] [align-items:center] [justify-content:space-between] [gap:12px];
2715
+ }
2716
+ .marketplace-statistics > span + span {
2717
+ @apply [border-left:0] [border-top:1px_solid_#e3e7ee];
2718
+ }
2719
+ .marketplace-statistics small,
2720
+ .marketplace-statistics strong {
2721
+ @apply [margin-top:0] [overflow:visible] [text-overflow:clip] [white-space:nowrap];
2595
2722
  }
2596
2723
  }
2597
2724
  @media (max-width: 360px) {
2598
- .catalog-card {
2599
- @apply [min-height:469px];
2600
- }
2601
2725
  .main-header {
2602
2726
  @apply [gap:4px] [padding-left:8px] [padding-right:8px];
2603
2727
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;;;;mBA6clC,OAAO;;AAHxB,wBAizCE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;;;;mBA6clC,OAAO;;AAHxB,wBAqzCE"}
@@ -1222,11 +1222,15 @@ export default {
1222
1222
  });
1223
1223
  await services.runtime.prompt(payload.prompt);
1224
1224
  const last = services.runtime.session.messages.at(-1);
1225
- if (last?.role === "assistant" && (last.stopReason === "error" || last.stopReason === "aborted")) {
1226
- sendJson(response, 502, { error: last.errorMessage ?? "Request " + last.stopReason });
1225
+ if (last?.role === "assistant" && last.stopReason === "error") {
1226
+ sendJson(response, 502, { error: last.errorMessage ?? "Request error" });
1227
1227
  return;
1228
1228
  }
1229
- sendJson(response, 200, { reply: chunks.join(""), messages: services.runtime.session.messages.length });
1229
+ sendJson(response, 200, {
1230
+ reply: chunks.join(""),
1231
+ messages: services.runtime.session.messages.length,
1232
+ ...(last?.role === "assistant" && last.stopReason === "aborted" ? { aborted: true } : {}),
1233
+ });
1230
1234
  }
1231
1235
  catch (error) {
1232
1236
  sendJson(response, 400, { error: errorText(error) });