gsd-pi 2.70.1 → 2.71.0-dev.246c32d

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 (541) hide show
  1. package/README.md +57 -17
  2. package/dist/cli.js +29 -3
  3. package/dist/headless-events.d.ts +2 -0
  4. package/dist/headless-events.js +7 -0
  5. package/dist/headless.js +16 -3
  6. package/dist/mcp-server.js +40 -17
  7. package/dist/provider-migrations.d.ts +10 -0
  8. package/dist/provider-migrations.js +12 -0
  9. package/dist/resource-loader.js +139 -13
  10. package/dist/resources/GSD-WORKFLOW.md +1 -1
  11. package/dist/resources/agents/debugger.md +58 -0
  12. package/dist/resources/agents/doc-writer.md +43 -0
  13. package/dist/resources/agents/git-ops.md +56 -0
  14. package/dist/resources/agents/javascript-pro.md +46 -271
  15. package/dist/resources/agents/planner.md +55 -0
  16. package/dist/resources/agents/refactorer.md +47 -0
  17. package/dist/resources/agents/reviewer.md +48 -0
  18. package/dist/resources/agents/security.md +59 -0
  19. package/dist/resources/agents/tester.md +50 -0
  20. package/dist/resources/agents/typescript-pro.md +41 -235
  21. package/dist/resources/extensions/claude-code-cli/stream-adapter.js +242 -40
  22. package/dist/resources/extensions/get-secrets-from-user.js +17 -1
  23. package/dist/resources/extensions/gsd/auto/infra-errors.js +34 -0
  24. package/dist/resources/extensions/gsd/auto/loop.js +32 -1
  25. package/dist/resources/extensions/gsd/auto/phases.js +5 -1
  26. package/dist/resources/extensions/gsd/auto/session.js +11 -0
  27. package/dist/resources/extensions/gsd/auto-dashboard.js +22 -16
  28. package/dist/resources/extensions/gsd/auto-model-selection.js +10 -2
  29. package/dist/resources/extensions/gsd/auto-prompts.js +88 -33
  30. package/dist/resources/extensions/gsd/auto-start.js +37 -18
  31. package/dist/resources/extensions/gsd/auto-tool-tracking.js +1 -1
  32. package/dist/resources/extensions/gsd/auto-worktree.js +1 -1
  33. package/dist/resources/extensions/gsd/auto.js +56 -0
  34. package/dist/resources/extensions/gsd/bootstrap/db-tools.js +3 -3
  35. package/dist/resources/extensions/gsd/bootstrap/register-hooks.js +6 -0
  36. package/dist/resources/extensions/gsd/bootstrap/register-shortcuts.js +63 -51
  37. package/dist/resources/extensions/gsd/bootstrap/system-context.js +6 -0
  38. package/dist/resources/extensions/gsd/commands/context.js +15 -6
  39. package/dist/resources/extensions/gsd/commands/dispatcher.js +12 -2
  40. package/dist/resources/extensions/gsd/commands/handlers/auto.js +10 -33
  41. package/dist/resources/extensions/gsd/commands/handlers/core.js +56 -11
  42. package/dist/resources/extensions/gsd/commands/handlers/notifications-handler.js +15 -6
  43. package/dist/resources/extensions/gsd/commands/handlers/workflow.js +4 -10
  44. package/dist/resources/extensions/gsd/custom-workflow-engine.js +16 -12
  45. package/dist/resources/extensions/gsd/dashboard-overlay.js +8 -3
  46. package/dist/resources/extensions/gsd/dispatch-guard.js +18 -1
  47. package/dist/resources/extensions/gsd/doctor-providers.js +23 -0
  48. package/dist/resources/extensions/gsd/error-classifier.js +5 -2
  49. package/dist/resources/extensions/gsd/file-lock.js +60 -0
  50. package/dist/resources/extensions/gsd/forensics.js +19 -6
  51. package/dist/resources/extensions/gsd/gate-registry.js +208 -0
  52. package/dist/resources/extensions/gsd/gsd-db.js +41 -0
  53. package/dist/resources/extensions/gsd/guided-flow.js +17 -20
  54. package/dist/resources/extensions/gsd/init-wizard.js +3 -11
  55. package/dist/resources/extensions/gsd/metrics.js +1 -0
  56. package/dist/resources/extensions/gsd/milestone-actions.js +10 -4
  57. package/dist/resources/extensions/gsd/milestone-validation-gates.js +11 -12
  58. package/dist/resources/extensions/gsd/notification-overlay.js +42 -13
  59. package/dist/resources/extensions/gsd/notification-store.js +56 -5
  60. package/dist/resources/extensions/gsd/notification-widget.js +5 -13
  61. package/dist/resources/extensions/gsd/parallel-monitor-overlay.js +8 -3
  62. package/dist/resources/extensions/gsd/pre-execution-checks.js +35 -2
  63. package/dist/resources/extensions/gsd/prompt-validation.js +126 -0
  64. package/dist/resources/extensions/gsd/prompts/complete-slice.md +5 -3
  65. package/dist/resources/extensions/gsd/prompts/discuss.md +33 -13
  66. package/dist/resources/extensions/gsd/prompts/execute-task.md +22 -19
  67. package/dist/resources/extensions/gsd/prompts/guided-discuss-milestone.md +2 -0
  68. package/dist/resources/extensions/gsd/prompts/guided-discuss-slice.md +2 -0
  69. package/dist/resources/extensions/gsd/prompts/guided-resume-task.md +1 -1
  70. package/dist/resources/extensions/gsd/prompts/queue.md +3 -2
  71. package/dist/resources/extensions/gsd/prompts/system.md +1 -0
  72. package/dist/resources/extensions/gsd/prompts/validate-milestone.md +4 -1
  73. package/dist/resources/extensions/gsd/session-model-override.js +25 -0
  74. package/dist/resources/extensions/gsd/shortcut-defs.js +40 -0
  75. package/dist/resources/extensions/gsd/state.js +241 -332
  76. package/dist/resources/extensions/gsd/tools/complete-slice.js +52 -1
  77. package/dist/resources/extensions/gsd/tools/complete-task.js +51 -1
  78. package/dist/resources/extensions/gsd/tools/workflow-tool-executors.js +38 -1
  79. package/dist/resources/extensions/gsd/workflow-events.js +25 -13
  80. package/dist/resources/extensions/gsd/workflow-mcp-auto-prep.js +56 -0
  81. package/dist/resources/extensions/gsd/workflow-mcp.js +1 -1
  82. package/dist/resources/extensions/ollama/index.js +13 -5
  83. package/dist/resources/extensions/shared/gsd-phase-state.js +35 -0
  84. package/dist/resources/extensions/subagent/agents.js +8 -0
  85. package/dist/resources/extensions/subagent/index.js +17 -0
  86. package/dist/resources/skills/create-skill/SKILL.md +2 -0
  87. package/dist/startup-model-validation.d.ts +0 -1
  88. package/dist/startup-model-validation.js +6 -2
  89. package/dist/web/standalone/.next/BUILD_ID +1 -1
  90. package/dist/web/standalone/.next/app-path-routes-manifest.json +19 -19
  91. package/dist/web/standalone/.next/build-manifest.json +4 -4
  92. package/dist/web/standalone/.next/prerender-manifest.json +3 -3
  93. package/dist/web/standalone/.next/react-loadable-manifest.json +1 -1
  94. package/dist/web/standalone/.next/required-server-files.json +4 -4
  95. package/dist/web/standalone/.next/server/app/_global-error/page.js +3 -3
  96. package/dist/web/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  97. package/dist/web/standalone/.next/server/app/_global-error.html +1 -1
  98. package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
  99. package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  100. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  101. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  102. package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  103. package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  104. package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  105. package/dist/web/standalone/.next/server/app/_not-found/page.js +2 -2
  106. package/dist/web/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  107. package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
  108. package/dist/web/standalone/.next/server/app/_not-found.rsc +3 -3
  109. package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  110. package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  111. package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  112. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  113. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  114. package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  115. package/dist/web/standalone/.next/server/app/api/boot/route.js +1 -1
  116. package/dist/web/standalone/.next/server/app/api/boot/route_client-reference-manifest.js +1 -1
  117. package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route.js +1 -1
  118. package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route_client-reference-manifest.js +1 -1
  119. package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route.js +1 -1
  120. package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route_client-reference-manifest.js +1 -1
  121. package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route.js +2 -2
  122. package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route_client-reference-manifest.js +1 -1
  123. package/dist/web/standalone/.next/server/app/api/browse-directories/route.js +1 -1
  124. package/dist/web/standalone/.next/server/app/api/browse-directories/route_client-reference-manifest.js +1 -1
  125. package/dist/web/standalone/.next/server/app/api/captures/route.js +1 -1
  126. package/dist/web/standalone/.next/server/app/api/captures/route_client-reference-manifest.js +1 -1
  127. package/dist/web/standalone/.next/server/app/api/cleanup/route.js +1 -1
  128. package/dist/web/standalone/.next/server/app/api/cleanup/route_client-reference-manifest.js +1 -1
  129. package/dist/web/standalone/.next/server/app/api/dev-mode/route.js +1 -1
  130. package/dist/web/standalone/.next/server/app/api/dev-mode/route_client-reference-manifest.js +1 -1
  131. package/dist/web/standalone/.next/server/app/api/doctor/route.js +1 -1
  132. package/dist/web/standalone/.next/server/app/api/doctor/route_client-reference-manifest.js +1 -1
  133. package/dist/web/standalone/.next/server/app/api/experimental/route.js +2 -2
  134. package/dist/web/standalone/.next/server/app/api/experimental/route_client-reference-manifest.js +1 -1
  135. package/dist/web/standalone/.next/server/app/api/export-data/route.js +1 -1
  136. package/dist/web/standalone/.next/server/app/api/export-data/route_client-reference-manifest.js +1 -1
  137. package/dist/web/standalone/.next/server/app/api/files/route.js +1 -1
  138. package/dist/web/standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
  139. package/dist/web/standalone/.next/server/app/api/forensics/route.js +1 -1
  140. package/dist/web/standalone/.next/server/app/api/forensics/route_client-reference-manifest.js +1 -1
  141. package/dist/web/standalone/.next/server/app/api/git/route.js +1 -1
  142. package/dist/web/standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  143. package/dist/web/standalone/.next/server/app/api/history/route.js +1 -1
  144. package/dist/web/standalone/.next/server/app/api/history/route_client-reference-manifest.js +1 -1
  145. package/dist/web/standalone/.next/server/app/api/hooks/route.js +1 -1
  146. package/dist/web/standalone/.next/server/app/api/hooks/route_client-reference-manifest.js +1 -1
  147. package/dist/web/standalone/.next/server/app/api/inspect/route.js +1 -1
  148. package/dist/web/standalone/.next/server/app/api/inspect/route_client-reference-manifest.js +1 -1
  149. package/dist/web/standalone/.next/server/app/api/knowledge/route.js +1 -1
  150. package/dist/web/standalone/.next/server/app/api/knowledge/route_client-reference-manifest.js +1 -1
  151. package/dist/web/standalone/.next/server/app/api/live-state/route.js +1 -1
  152. package/dist/web/standalone/.next/server/app/api/live-state/route_client-reference-manifest.js +1 -1
  153. package/dist/web/standalone/.next/server/app/api/notifications/route.js +2 -2
  154. package/dist/web/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  155. package/dist/web/standalone/.next/server/app/api/onboarding/route.js +1 -1
  156. package/dist/web/standalone/.next/server/app/api/onboarding/route_client-reference-manifest.js +1 -1
  157. package/dist/web/standalone/.next/server/app/api/preferences/route.js +1 -1
  158. package/dist/web/standalone/.next/server/app/api/preferences/route_client-reference-manifest.js +1 -1
  159. package/dist/web/standalone/.next/server/app/api/projects/route.js +1 -1
  160. package/dist/web/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  161. package/dist/web/standalone/.next/server/app/api/recovery/route.js +1 -1
  162. package/dist/web/standalone/.next/server/app/api/recovery/route_client-reference-manifest.js +1 -1
  163. package/dist/web/standalone/.next/server/app/api/remote-questions/route.js +2 -2
  164. package/dist/web/standalone/.next/server/app/api/remote-questions/route_client-reference-manifest.js +1 -1
  165. package/dist/web/standalone/.next/server/app/api/session/browser/route.js +1 -1
  166. package/dist/web/standalone/.next/server/app/api/session/browser/route_client-reference-manifest.js +1 -1
  167. package/dist/web/standalone/.next/server/app/api/session/command/route.js +1 -1
  168. package/dist/web/standalone/.next/server/app/api/session/command/route_client-reference-manifest.js +1 -1
  169. package/dist/web/standalone/.next/server/app/api/session/events/route.js +2 -2
  170. package/dist/web/standalone/.next/server/app/api/session/events/route_client-reference-manifest.js +1 -1
  171. package/dist/web/standalone/.next/server/app/api/session/manage/route.js +1 -1
  172. package/dist/web/standalone/.next/server/app/api/session/manage/route_client-reference-manifest.js +1 -1
  173. package/dist/web/standalone/.next/server/app/api/settings-data/route.js +1 -1
  174. package/dist/web/standalone/.next/server/app/api/settings-data/route_client-reference-manifest.js +1 -1
  175. package/dist/web/standalone/.next/server/app/api/shutdown/route.js +1 -1
  176. package/dist/web/standalone/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  177. package/dist/web/standalone/.next/server/app/api/skill-health/route.js +1 -1
  178. package/dist/web/standalone/.next/server/app/api/skill-health/route_client-reference-manifest.js +1 -1
  179. package/dist/web/standalone/.next/server/app/api/steer/route.js +1 -1
  180. package/dist/web/standalone/.next/server/app/api/steer/route_client-reference-manifest.js +1 -1
  181. package/dist/web/standalone/.next/server/app/api/switch-root/route.js +1 -1
  182. package/dist/web/standalone/.next/server/app/api/switch-root/route_client-reference-manifest.js +1 -1
  183. package/dist/web/standalone/.next/server/app/api/terminal/input/route.js +1 -1
  184. package/dist/web/standalone/.next/server/app/api/terminal/input/route_client-reference-manifest.js +1 -1
  185. package/dist/web/standalone/.next/server/app/api/terminal/resize/route.js +2 -2
  186. package/dist/web/standalone/.next/server/app/api/terminal/resize/route_client-reference-manifest.js +1 -1
  187. package/dist/web/standalone/.next/server/app/api/terminal/sessions/route.js +1 -1
  188. package/dist/web/standalone/.next/server/app/api/terminal/sessions/route_client-reference-manifest.js +1 -1
  189. package/dist/web/standalone/.next/server/app/api/terminal/stream/route.js +2 -2
  190. package/dist/web/standalone/.next/server/app/api/terminal/stream/route_client-reference-manifest.js +1 -1
  191. package/dist/web/standalone/.next/server/app/api/terminal/upload/route.js +1 -1
  192. package/dist/web/standalone/.next/server/app/api/terminal/upload/route_client-reference-manifest.js +1 -1
  193. package/dist/web/standalone/.next/server/app/api/undo/route.js +1 -1
  194. package/dist/web/standalone/.next/server/app/api/undo/route_client-reference-manifest.js +1 -1
  195. package/dist/web/standalone/.next/server/app/api/update/route.js +1 -1
  196. package/dist/web/standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  197. package/dist/web/standalone/.next/server/app/api/visualizer/route.js +1 -1
  198. package/dist/web/standalone/.next/server/app/api/visualizer/route_client-reference-manifest.js +1 -1
  199. package/dist/web/standalone/.next/server/app/index.html +1 -1
  200. package/dist/web/standalone/.next/server/app/index.rsc +4 -4
  201. package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  202. package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +4 -4
  203. package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  204. package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
  205. package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  206. package/dist/web/standalone/.next/server/app/page.js +2 -2
  207. package/dist/web/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  208. package/dist/web/standalone/.next/server/app-paths-manifest.json +19 -19
  209. package/dist/web/standalone/.next/server/chunks/63.js +3 -3
  210. package/dist/web/standalone/.next/server/chunks/6897.js +1 -1
  211. package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
  212. package/dist/web/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  213. package/dist/web/standalone/.next/server/middleware.js +2 -2
  214. package/dist/web/standalone/.next/server/next-font-manifest.js +1 -1
  215. package/dist/web/standalone/.next/server/next-font-manifest.json +1 -1
  216. package/dist/web/standalone/.next/server/pages/404.html +1 -1
  217. package/dist/web/standalone/.next/server/pages/500.html +1 -1
  218. package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
  219. package/dist/web/standalone/.next/static/chunks/2826.dd3dc8bbd3025fa5.js +9 -0
  220. package/dist/web/standalone/.next/static/chunks/app/_not-found/{page-2f24283c162b6ab3.js → page-f2a7482d42a5614b.js} +1 -1
  221. package/dist/web/standalone/.next/static/chunks/app/{layout-9ecfd95f343793f0.js → layout-a16c7a7ecdf0c2cf.js} +1 -1
  222. package/dist/web/standalone/.next/static/chunks/app/page-f1e30ab6bb269149.js +1 -0
  223. package/dist/web/standalone/.next/static/chunks/main-app-fdab67f7802d7832.js +1 -0
  224. package/dist/web/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-459824ffb8c323dd.js +1 -0
  225. package/dist/web/standalone/.next/static/chunks/{webpack-6e4d7e9a4f57bed4.js → webpack-b868033a5834586d.js} +1 -1
  226. package/dist/web/standalone/node_modules/node-pty/build/Makefile +2 -2
  227. package/dist/web/standalone/node_modules/node-pty/build/Release/pty.node +0 -0
  228. package/dist/web/standalone/node_modules/node-pty/build/pty.target.mk +14 -14
  229. package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api.target.mk +14 -14
  230. package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api_except.target.mk +14 -14
  231. package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api_maybe.target.mk +14 -14
  232. package/dist/web/standalone/server.js +1 -1
  233. package/package.json +1 -1
  234. package/packages/mcp-server/dist/env-writer.d.ts +39 -0
  235. package/packages/mcp-server/dist/env-writer.d.ts.map +1 -0
  236. package/packages/mcp-server/dist/env-writer.js +158 -0
  237. package/packages/mcp-server/dist/env-writer.js.map +1 -0
  238. package/packages/mcp-server/dist/server.d.ts +23 -3
  239. package/packages/mcp-server/dist/server.d.ts.map +1 -1
  240. package/packages/mcp-server/dist/server.js +192 -44
  241. package/packages/mcp-server/dist/server.js.map +1 -1
  242. package/packages/mcp-server/dist/workflow-tools.d.ts.map +1 -1
  243. package/packages/mcp-server/dist/workflow-tools.js +22 -12
  244. package/packages/mcp-server/dist/workflow-tools.js.map +1 -1
  245. package/packages/mcp-server/src/env-writer.test.ts +280 -0
  246. package/packages/mcp-server/src/env-writer.ts +183 -0
  247. package/packages/mcp-server/src/secure-env-collect.test.ts +265 -0
  248. package/packages/mcp-server/src/server.ts +247 -41
  249. package/packages/mcp-server/src/workflow-tools.test.ts +110 -0
  250. package/packages/mcp-server/src/workflow-tools.ts +32 -12
  251. package/packages/pi-ai/dist/providers/amazon-bedrock.js +11 -2
  252. package/packages/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  253. package/packages/pi-ai/dist/providers/anthropic-auth.test.d.ts +2 -0
  254. package/packages/pi-ai/dist/providers/anthropic-auth.test.d.ts.map +1 -0
  255. package/packages/pi-ai/dist/providers/anthropic-auth.test.js +20 -0
  256. package/packages/pi-ai/dist/providers/anthropic-auth.test.js.map +1 -0
  257. package/packages/pi-ai/dist/providers/anthropic-shared.d.ts +4 -1
  258. package/packages/pi-ai/dist/providers/anthropic-shared.d.ts.map +1 -1
  259. package/packages/pi-ai/dist/providers/anthropic-shared.js +8 -3
  260. package/packages/pi-ai/dist/providers/anthropic-shared.js.map +1 -1
  261. package/packages/pi-ai/dist/providers/anthropic-shared.test.js +44 -1
  262. package/packages/pi-ai/dist/providers/anthropic-shared.test.js.map +1 -1
  263. package/packages/pi-ai/dist/providers/anthropic.d.ts +2 -1
  264. package/packages/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  265. package/packages/pi-ai/dist/providers/anthropic.js +7 -4
  266. package/packages/pi-ai/dist/providers/anthropic.js.map +1 -1
  267. package/packages/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
  268. package/packages/pi-ai/dist/providers/openai-completions.js +11 -0
  269. package/packages/pi-ai/dist/providers/openai-completions.js.map +1 -1
  270. package/packages/pi-ai/src/providers/amazon-bedrock.ts +13 -1
  271. package/packages/pi-ai/src/providers/anthropic-auth.test.ts +32 -0
  272. package/packages/pi-ai/src/providers/anthropic-shared.test.ts +55 -1
  273. package/packages/pi-ai/src/providers/anthropic-shared.ts +14 -3
  274. package/packages/pi-ai/src/providers/anthropic.ts +8 -4
  275. package/packages/pi-ai/src/providers/openai-completions.ts +14 -0
  276. package/packages/pi-coding-agent/dist/core/agent-session-renderable-tools.test.d.ts +2 -0
  277. package/packages/pi-coding-agent/dist/core/agent-session-renderable-tools.test.d.ts.map +1 -0
  278. package/packages/pi-coding-agent/dist/core/agent-session-renderable-tools.test.js +61 -0
  279. package/packages/pi-coding-agent/dist/core/agent-session-renderable-tools.test.js.map +1 -0
  280. package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  281. package/packages/pi-coding-agent/dist/core/agent-session.js +2 -1
  282. package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  283. package/packages/pi-coding-agent/dist/core/auth-storage.d.ts +10 -0
  284. package/packages/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
  285. package/packages/pi-coding-agent/dist/core/auth-storage.js +27 -0
  286. package/packages/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
  287. package/packages/pi-coding-agent/dist/core/auth-storage.test.js +85 -0
  288. package/packages/pi-coding-agent/dist/core/auth-storage.test.js.map +1 -1
  289. package/packages/pi-coding-agent/dist/core/chat-controller-ordering.test.d.ts +2 -0
  290. package/packages/pi-coding-agent/dist/core/chat-controller-ordering.test.d.ts.map +1 -0
  291. package/packages/pi-coding-agent/dist/core/chat-controller-ordering.test.js +388 -0
  292. package/packages/pi-coding-agent/dist/core/chat-controller-ordering.test.js.map +1 -0
  293. package/packages/pi-coding-agent/dist/core/extensions/types.d.ts +2 -0
  294. package/packages/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
  295. package/packages/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
  296. package/packages/pi-coding-agent/dist/core/model-resolver-initial-model-auth.test.d.ts +2 -0
  297. package/packages/pi-coding-agent/dist/core/model-resolver-initial-model-auth.test.d.ts.map +1 -0
  298. package/packages/pi-coding-agent/dist/core/model-resolver-initial-model-auth.test.js +64 -0
  299. package/packages/pi-coding-agent/dist/core/model-resolver-initial-model-auth.test.js.map +1 -0
  300. package/packages/pi-coding-agent/dist/core/model-resolver.d.ts.map +1 -1
  301. package/packages/pi-coding-agent/dist/core/model-resolver.js +22 -18
  302. package/packages/pi-coding-agent/dist/core/model-resolver.js.map +1 -1
  303. package/packages/pi-coding-agent/dist/core/model-resolver.test.d.ts +8 -0
  304. package/packages/pi-coding-agent/dist/core/model-resolver.test.d.ts.map +1 -0
  305. package/packages/pi-coding-agent/dist/core/model-resolver.test.js +75 -0
  306. package/packages/pi-coding-agent/dist/core/model-resolver.test.js.map +1 -0
  307. package/packages/pi-coding-agent/dist/core/retry-handler.d.ts +5 -0
  308. package/packages/pi-coding-agent/dist/core/retry-handler.d.ts.map +1 -1
  309. package/packages/pi-coding-agent/dist/core/retry-handler.js +55 -1
  310. package/packages/pi-coding-agent/dist/core/retry-handler.js.map +1 -1
  311. package/packages/pi-coding-agent/dist/core/retry-handler.test.js +57 -0
  312. package/packages/pi-coding-agent/dist/core/retry-handler.test.js.map +1 -1
  313. package/packages/pi-coding-agent/dist/core/sdk.d.ts +11 -0
  314. package/packages/pi-coding-agent/dist/core/sdk.d.ts.map +1 -1
  315. package/packages/pi-coding-agent/dist/core/sdk.js +38 -5
  316. package/packages/pi-coding-agent/dist/core/sdk.js.map +1 -1
  317. package/packages/pi-coding-agent/dist/core/sdk.test.d.ts +2 -0
  318. package/packages/pi-coding-agent/dist/core/sdk.test.d.ts.map +1 -0
  319. package/packages/pi-coding-agent/dist/core/sdk.test.js +71 -0
  320. package/packages/pi-coding-agent/dist/core/sdk.test.js.map +1 -0
  321. package/packages/pi-coding-agent/dist/index.d.ts +1 -1
  322. package/packages/pi-coding-agent/dist/index.d.ts.map +1 -1
  323. package/packages/pi-coding-agent/dist/index.js +1 -1
  324. package/packages/pi-coding-agent/dist/index.js.map +1 -1
  325. package/packages/pi-coding-agent/dist/modes/interactive/components/__tests__/login-dialog.test.d.ts +2 -0
  326. package/packages/pi-coding-agent/dist/modes/interactive/components/__tests__/login-dialog.test.d.ts.map +1 -0
  327. package/packages/pi-coding-agent/dist/modes/interactive/components/__tests__/login-dialog.test.js +13 -0
  328. package/packages/pi-coding-agent/dist/modes/interactive/components/__tests__/login-dialog.test.js.map +1 -0
  329. package/packages/pi-coding-agent/dist/modes/interactive/components/dynamic-border.d.ts +19 -2
  330. package/packages/pi-coding-agent/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  331. package/packages/pi-coding-agent/dist/modes/interactive/components/dynamic-border.js +50 -1
  332. package/packages/pi-coding-agent/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  333. package/packages/pi-coding-agent/dist/modes/interactive/components/extension-input.d.ts +1 -0
  334. package/packages/pi-coding-agent/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  335. package/packages/pi-coding-agent/dist/modes/interactive/components/extension-input.js +1 -0
  336. package/packages/pi-coding-agent/dist/modes/interactive/components/extension-input.js.map +1 -1
  337. package/packages/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts +4 -0
  338. package/packages/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  339. package/packages/pi-coding-agent/dist/modes/interactive/components/login-dialog.js +24 -2
  340. package/packages/pi-coding-agent/dist/modes/interactive/components/login-dialog.js.map +1 -1
  341. package/packages/pi-coding-agent/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  342. package/packages/pi-coding-agent/dist/modes/interactive/components/model-selector.js +9 -2
  343. package/packages/pi-coding-agent/dist/modes/interactive/components/model-selector.js.map +1 -1
  344. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts +4 -0
  345. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  346. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +43 -0
  347. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  348. package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.d.ts.map +1 -1
  349. package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.js +175 -25
  350. package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.js.map +1 -1
  351. package/packages/pi-coding-agent/dist/modes/interactive/controllers/model-controller.d.ts.map +1 -1
  352. package/packages/pi-coding-agent/dist/modes/interactive/controllers/model-controller.js +6 -1
  353. package/packages/pi-coding-agent/dist/modes/interactive/controllers/model-controller.js.map +1 -1
  354. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode-state.d.ts +1 -0
  355. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode-state.d.ts.map +1 -1
  356. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode-state.js.map +1 -1
  357. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +6 -0
  358. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  359. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +62 -5
  360. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  361. package/packages/pi-coding-agent/dist/modes/interactive/slash-command-handlers.js +4 -2
  362. package/packages/pi-coding-agent/dist/modes/interactive/slash-command-handlers.js.map +1 -1
  363. package/packages/pi-coding-agent/dist/modes/rpc/rpc-mode.js +1 -1
  364. package/packages/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
  365. package/packages/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts +1 -0
  366. package/packages/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  367. package/packages/pi-coding-agent/dist/modes/rpc/rpc-types.js.map +1 -1
  368. package/packages/pi-coding-agent/package.json +1 -1
  369. package/packages/pi-coding-agent/src/core/agent-session-renderable-tools.test.ts +70 -0
  370. package/packages/pi-coding-agent/src/core/agent-session.ts +2 -1
  371. package/packages/pi-coding-agent/src/core/auth-storage.test.ts +108 -0
  372. package/packages/pi-coding-agent/src/core/auth-storage.ts +30 -0
  373. package/packages/pi-coding-agent/src/core/chat-controller-ordering.test.ts +468 -0
  374. package/packages/pi-coding-agent/src/core/extensions/types.ts +2 -0
  375. package/packages/pi-coding-agent/src/core/model-resolver-initial-model-auth.test.ts +78 -0
  376. package/packages/pi-coding-agent/src/core/model-resolver.test.ts +85 -0
  377. package/packages/pi-coding-agent/src/core/model-resolver.ts +22 -18
  378. package/packages/pi-coding-agent/src/core/retry-handler.test.ts +83 -0
  379. package/packages/pi-coding-agent/src/core/retry-handler.ts +60 -1
  380. package/packages/pi-coding-agent/src/core/sdk.test.ts +89 -0
  381. package/packages/pi-coding-agent/src/core/sdk.ts +45 -9
  382. package/packages/pi-coding-agent/src/index.ts +1 -0
  383. package/packages/pi-coding-agent/src/modes/interactive/components/__tests__/login-dialog.test.ts +24 -0
  384. package/packages/pi-coding-agent/src/modes/interactive/components/dynamic-border.ts +58 -2
  385. package/packages/pi-coding-agent/src/modes/interactive/components/extension-input.ts +2 -0
  386. package/packages/pi-coding-agent/src/modes/interactive/components/login-dialog.ts +30 -2
  387. package/packages/pi-coding-agent/src/modes/interactive/components/model-selector.ts +15 -6
  388. package/packages/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +47 -0
  389. package/packages/pi-coding-agent/src/modes/interactive/controllers/chat-controller.ts +205 -31
  390. package/packages/pi-coding-agent/src/modes/interactive/controllers/model-controller.ts +6 -1
  391. package/packages/pi-coding-agent/src/modes/interactive/interactive-mode-state.ts +1 -0
  392. package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +70 -5
  393. package/packages/pi-coding-agent/src/modes/interactive/slash-command-handlers.ts +4 -2
  394. package/packages/pi-coding-agent/src/modes/rpc/rpc-mode.ts +1 -1
  395. package/packages/pi-coding-agent/src/modes/rpc/rpc-types.ts +1 -0
  396. package/packages/pi-tui/dist/components/__tests__/input.test.js +9 -0
  397. package/packages/pi-tui/dist/components/__tests__/input.test.js.map +1 -1
  398. package/packages/pi-tui/dist/components/__tests__/markdown-maxlines.test.d.ts +2 -0
  399. package/packages/pi-tui/dist/components/__tests__/markdown-maxlines.test.d.ts.map +1 -0
  400. package/packages/pi-tui/dist/components/__tests__/markdown-maxlines.test.js +66 -0
  401. package/packages/pi-tui/dist/components/__tests__/markdown-maxlines.test.js.map +1 -0
  402. package/packages/pi-tui/dist/components/input.d.ts +2 -0
  403. package/packages/pi-tui/dist/components/input.d.ts.map +1 -1
  404. package/packages/pi-tui/dist/components/input.js +7 -4
  405. package/packages/pi-tui/dist/components/input.js.map +1 -1
  406. package/packages/pi-tui/dist/components/markdown.d.ts +3 -0
  407. package/packages/pi-tui/dist/components/markdown.d.ts.map +1 -1
  408. package/packages/pi-tui/dist/components/markdown.js +17 -1
  409. package/packages/pi-tui/dist/components/markdown.js.map +1 -1
  410. package/packages/pi-tui/src/components/__tests__/input.test.ts +11 -0
  411. package/packages/pi-tui/src/components/__tests__/markdown-maxlines.test.ts +75 -0
  412. package/packages/pi-tui/src/components/input.ts +7 -4
  413. package/packages/pi-tui/src/components/markdown.ts +22 -1
  414. package/pkg/package.json +1 -1
  415. package/src/resources/GSD-WORKFLOW.md +1 -1
  416. package/src/resources/agents/debugger.md +58 -0
  417. package/src/resources/agents/doc-writer.md +43 -0
  418. package/src/resources/agents/git-ops.md +56 -0
  419. package/src/resources/agents/javascript-pro.md +46 -271
  420. package/src/resources/agents/planner.md +55 -0
  421. package/src/resources/agents/refactorer.md +47 -0
  422. package/src/resources/agents/reviewer.md +48 -0
  423. package/src/resources/agents/security.md +59 -0
  424. package/src/resources/agents/tester.md +50 -0
  425. package/src/resources/agents/typescript-pro.md +41 -235
  426. package/src/resources/extensions/claude-code-cli/stream-adapter.ts +288 -39
  427. package/src/resources/extensions/claude-code-cli/tests/stream-adapter.test.ts +330 -2
  428. package/src/resources/extensions/get-secrets-from-user.ts +24 -1
  429. package/src/resources/extensions/gsd/auto/infra-errors.ts +38 -0
  430. package/src/resources/extensions/gsd/auto/loop-deps.ts +2 -0
  431. package/src/resources/extensions/gsd/auto/loop.ts +45 -1
  432. package/src/resources/extensions/gsd/auto/phases.ts +6 -0
  433. package/src/resources/extensions/gsd/auto/session.ts +11 -0
  434. package/src/resources/extensions/gsd/auto-dashboard.ts +29 -18
  435. package/src/resources/extensions/gsd/auto-model-selection.ts +9 -1
  436. package/src/resources/extensions/gsd/auto-prompts.ts +111 -33
  437. package/src/resources/extensions/gsd/auto-start.ts +44 -20
  438. package/src/resources/extensions/gsd/auto-tool-tracking.ts +1 -1
  439. package/src/resources/extensions/gsd/auto-worktree.ts +1 -1
  440. package/src/resources/extensions/gsd/auto.ts +72 -0
  441. package/src/resources/extensions/gsd/bootstrap/db-tools.ts +3 -3
  442. package/src/resources/extensions/gsd/bootstrap/register-hooks.ts +6 -0
  443. package/src/resources/extensions/gsd/bootstrap/register-shortcuts.ts +79 -60
  444. package/src/resources/extensions/gsd/bootstrap/system-context.ts +7 -0
  445. package/src/resources/extensions/gsd/commands/context.ts +16 -5
  446. package/src/resources/extensions/gsd/commands/dispatcher.ts +14 -2
  447. package/src/resources/extensions/gsd/commands/handlers/auto.ts +10 -36
  448. package/src/resources/extensions/gsd/commands/handlers/core.ts +58 -11
  449. package/src/resources/extensions/gsd/commands/handlers/notifications-handler.ts +17 -7
  450. package/src/resources/extensions/gsd/commands/handlers/workflow.ts +4 -10
  451. package/src/resources/extensions/gsd/custom-workflow-engine.ts +19 -14
  452. package/src/resources/extensions/gsd/dashboard-overlay.ts +10 -3
  453. package/src/resources/extensions/gsd/dispatch-guard.ts +18 -1
  454. package/src/resources/extensions/gsd/doctor-providers.ts +24 -0
  455. package/src/resources/extensions/gsd/error-classifier.ts +5 -2
  456. package/src/resources/extensions/gsd/file-lock.ts +59 -0
  457. package/src/resources/extensions/gsd/forensics.ts +23 -7
  458. package/src/resources/extensions/gsd/gate-registry.ts +251 -0
  459. package/src/resources/extensions/gsd/gsd-db.ts +51 -0
  460. package/src/resources/extensions/gsd/guided-flow.ts +17 -19
  461. package/src/resources/extensions/gsd/init-wizard.ts +3 -13
  462. package/src/resources/extensions/gsd/interrupted-session.ts +1 -0
  463. package/src/resources/extensions/gsd/metrics.ts +12 -1
  464. package/src/resources/extensions/gsd/milestone-actions.ts +10 -3
  465. package/src/resources/extensions/gsd/milestone-validation-gates.ts +11 -13
  466. package/src/resources/extensions/gsd/notification-overlay.ts +47 -14
  467. package/src/resources/extensions/gsd/notification-store.ts +54 -5
  468. package/src/resources/extensions/gsd/notification-widget.ts +5 -14
  469. package/src/resources/extensions/gsd/parallel-monitor-overlay.ts +10 -3
  470. package/src/resources/extensions/gsd/pre-execution-checks.ts +39 -2
  471. package/src/resources/extensions/gsd/prompt-validation.ts +157 -0
  472. package/src/resources/extensions/gsd/prompts/complete-slice.md +5 -3
  473. package/src/resources/extensions/gsd/prompts/discuss.md +33 -13
  474. package/src/resources/extensions/gsd/prompts/execute-task.md +22 -19
  475. package/src/resources/extensions/gsd/prompts/guided-discuss-milestone.md +2 -0
  476. package/src/resources/extensions/gsd/prompts/guided-discuss-slice.md +2 -0
  477. package/src/resources/extensions/gsd/prompts/guided-resume-task.md +1 -1
  478. package/src/resources/extensions/gsd/prompts/queue.md +3 -2
  479. package/src/resources/extensions/gsd/prompts/system.md +1 -0
  480. package/src/resources/extensions/gsd/prompts/validate-milestone.md +4 -1
  481. package/src/resources/extensions/gsd/session-model-override.ts +36 -0
  482. package/src/resources/extensions/gsd/shortcut-defs.ts +56 -0
  483. package/src/resources/extensions/gsd/state.ts +285 -344
  484. package/src/resources/extensions/gsd/tests/auto-start-model-capture.test.ts +25 -9
  485. package/src/resources/extensions/gsd/tests/auto-start-worktree-db-path.test.ts +28 -0
  486. package/src/resources/extensions/gsd/tests/bootstrap-derive-state-db-open.test.ts +39 -0
  487. package/src/resources/extensions/gsd/tests/complete-slice-gate-closure.test.ts +167 -0
  488. package/src/resources/extensions/gsd/tests/complete-slice-prompt-task-summary-layout.test.ts +18 -0
  489. package/src/resources/extensions/gsd/tests/derive-state-helpers.test.ts +436 -0
  490. package/src/resources/extensions/gsd/tests/discuss-incremental-persistence.test.ts +9 -0
  491. package/src/resources/extensions/gsd/tests/dispatch-guard.test.ts +27 -0
  492. package/src/resources/extensions/gsd/tests/doctor-providers.test.ts +36 -0
  493. package/src/resources/extensions/gsd/tests/execute-task-prompt-existing-artifact-guard.test.ts +33 -0
  494. package/src/resources/extensions/gsd/tests/file-lock.test.ts +103 -0
  495. package/src/resources/extensions/gsd/tests/forensics-stuck-loops.test.ts +62 -0
  496. package/src/resources/extensions/gsd/tests/format-shortcut.test.ts +31 -0
  497. package/src/resources/extensions/gsd/tests/gate-dispatch.test.ts +27 -0
  498. package/src/resources/extensions/gsd/tests/gate-registry.test.ts +140 -0
  499. package/src/resources/extensions/gsd/tests/gsd-no-project-error.test.ts +73 -0
  500. package/src/resources/extensions/gsd/tests/infra-errors-cooldown.test.ts +180 -0
  501. package/src/resources/extensions/gsd/tests/integration/auto-worktree-milestone-merge.test.ts +66 -1
  502. package/src/resources/extensions/gsd/tests/model-isolation.test.ts +36 -51
  503. package/src/resources/extensions/gsd/tests/notification-store.test.ts +35 -0
  504. package/src/resources/extensions/gsd/tests/notification-widget.test.ts +26 -0
  505. package/src/resources/extensions/gsd/tests/notifications-handler.test.ts +90 -0
  506. package/src/resources/extensions/gsd/tests/parallel-monitor-overlay.test.ts +1 -0
  507. package/src/resources/extensions/gsd/tests/park-db-sync.test.ts +18 -0
  508. package/src/resources/extensions/gsd/tests/pre-execution-checks.test.ts +49 -0
  509. package/src/resources/extensions/gsd/tests/prompt-contracts.test.ts +19 -0
  510. package/src/resources/extensions/gsd/tests/prompt-system-gate-coverage.test.ts +208 -0
  511. package/src/resources/extensions/gsd/tests/provider-errors.test.ts +16 -0
  512. package/src/resources/extensions/gsd/tests/register-shortcuts.test.ts +63 -5
  513. package/src/resources/extensions/gsd/tests/secure-env-collect.test.ts +45 -0
  514. package/src/resources/extensions/gsd/tests/session-model-override.test.ts +35 -0
  515. package/src/resources/extensions/gsd/tests/start-auto-detached.test.ts +90 -0
  516. package/src/resources/extensions/gsd/tests/tool-invocation-error-loop-break.test.ts +7 -0
  517. package/src/resources/extensions/gsd/tests/validate-milestone-prompt-verification-classes.test.ts +18 -0
  518. package/src/resources/extensions/gsd/tests/workflow-mcp-auto-prep.test.ts +76 -0
  519. package/src/resources/extensions/gsd/tests/workflow-mcp.test.ts +155 -1
  520. package/src/resources/extensions/gsd/tests/workflow-tool-executors.test.ts +22 -0
  521. package/src/resources/extensions/gsd/tools/complete-slice.ts +63 -0
  522. package/src/resources/extensions/gsd/tools/complete-task.ts +63 -0
  523. package/src/resources/extensions/gsd/tools/workflow-tool-executors.ts +64 -26
  524. package/src/resources/extensions/gsd/types.ts +26 -0
  525. package/src/resources/extensions/gsd/workflow-events.ts +34 -25
  526. package/src/resources/extensions/gsd/workflow-mcp-auto-prep.ts +76 -0
  527. package/src/resources/extensions/gsd/workflow-mcp.ts +1 -1
  528. package/src/resources/extensions/ollama/index.ts +13 -3
  529. package/src/resources/extensions/ollama/ollama-status-indicator.test.ts +28 -0
  530. package/src/resources/extensions/shared/gsd-phase-state.ts +42 -0
  531. package/src/resources/extensions/shared/tests/gsd-phase-state.test.ts +48 -0
  532. package/src/resources/extensions/subagent/agents.ts +10 -0
  533. package/src/resources/extensions/subagent/index.ts +18 -0
  534. package/src/resources/extensions/subagent/tests/agents-conflicts.test.ts +33 -0
  535. package/src/resources/skills/create-skill/SKILL.md +2 -0
  536. package/dist/web/standalone/.next/static/chunks/2826.821e01b07d92e948.js +0 -9
  537. package/dist/web/standalone/.next/static/chunks/app/page-7115e62689b5fd84.js +0 -1
  538. package/dist/web/standalone/.next/static/chunks/main-app-d3d4c336195465f9.js +0 -1
  539. package/dist/web/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-ab5a8926e07ec673.js +0 -1
  540. /package/dist/web/standalone/.next/static/{9pw9EXtXjdM7EFrCXUEPf → hnGGkVMxIGGpxSJkf5jIV}/_buildManifest.js +0 -0
  541. /package/dist/web/standalone/.next/static/{9pw9EXtXjdM7EFrCXUEPf → hnGGkVMxIGGpxSJkf5jIV}/_ssgManifest.js +0 -0
@@ -0,0 +1,388 @@
1
+ import assert from "node:assert/strict";
2
+ import { test } from "node:test";
3
+ import { handleAgentEvent } from "../modes/interactive/controllers/chat-controller.js";
4
+ function makeUsage() {
5
+ return {
6
+ input: 0,
7
+ output: 0,
8
+ cacheRead: 0,
9
+ cacheWrite: 0,
10
+ totalTokens: 0,
11
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
12
+ };
13
+ }
14
+ function makeAssistant(content) {
15
+ return {
16
+ role: "assistant",
17
+ content,
18
+ api: "anthropic-messages",
19
+ provider: "claude-code",
20
+ model: "claude-sonnet-4",
21
+ usage: makeUsage(),
22
+ stopReason: "stop",
23
+ timestamp: Date.now(),
24
+ };
25
+ }
26
+ function createHost() {
27
+ const chatContainer = {
28
+ children: [],
29
+ addChild(component) {
30
+ this.children.push(component);
31
+ },
32
+ removeChild(component) {
33
+ const idx = this.children.indexOf(component);
34
+ if (idx !== -1)
35
+ this.children.splice(idx, 1);
36
+ },
37
+ clear() {
38
+ this.children = [];
39
+ },
40
+ };
41
+ const pinnedMessageContainer = {
42
+ children: [],
43
+ addChild(component) {
44
+ this.children.push(component);
45
+ },
46
+ removeChild(component) {
47
+ const idx = this.children.indexOf(component);
48
+ if (idx !== -1)
49
+ this.children.splice(idx, 1);
50
+ },
51
+ clear() {
52
+ this.children = [];
53
+ },
54
+ };
55
+ const host = {
56
+ isInitialized: true,
57
+ init: async () => { },
58
+ defaultEditor: { onEscape: undefined },
59
+ editor: {},
60
+ session: { retryAttempt: 0, abortCompaction: () => { }, abortRetry: () => { } },
61
+ ui: { requestRender: () => { }, terminal: { rows: 50 } },
62
+ footer: { invalidate: () => { } },
63
+ keybindings: {},
64
+ statusContainer: { clear: () => { }, addChild: () => { } },
65
+ chatContainer,
66
+ settingsManager: { getTimestampFormat: () => "date-time-iso", getShowImages: () => false },
67
+ pendingTools: new Map(),
68
+ toolOutputExpanded: false,
69
+ hideThinkingBlock: false,
70
+ isBashMode: false,
71
+ defaultWorkingMessage: "Working...",
72
+ compactionQueuedMessages: [],
73
+ editorContainer: {},
74
+ pendingMessagesContainer: { clear: () => { } },
75
+ pinnedMessageContainer,
76
+ addMessageToChat: () => { },
77
+ getMarkdownThemeWithSettings: () => ({}),
78
+ formatWebSearchResult: () => "",
79
+ getRegisteredToolDefinition: () => undefined,
80
+ checkShutdownRequested: async () => { },
81
+ rebuildChatFromMessages: () => { },
82
+ flushCompactionQueue: async () => { },
83
+ showStatus: () => { },
84
+ showError: () => { },
85
+ updatePendingMessagesDisplay: () => { },
86
+ updateTerminalTitle: () => { },
87
+ updateEditorBorderColor: () => { },
88
+ };
89
+ return host;
90
+ }
91
+ test("chat-controller keeps tool output ahead of delayed assistant text for external tool streams", async () => {
92
+ // ToolExecutionComponent uses the global theme singleton.
93
+ // Install a minimal no-op theme implementation for this unit test.
94
+ globalThis[Symbol.for("@gsd/pi-coding-agent:theme")] = {
95
+ fg: (_key, text) => text,
96
+ bg: (_key, text) => text,
97
+ bold: (text) => text,
98
+ italic: (text) => text,
99
+ truncate: (text) => text,
100
+ };
101
+ const host = createHost();
102
+ const toolId = "mcp-tool-1";
103
+ const toolCall = {
104
+ type: "toolCall",
105
+ id: toolId,
106
+ name: "exec_command",
107
+ arguments: { cmd: "echo hi" },
108
+ };
109
+ await handleAgentEvent(host, { type: "message_start", message: makeAssistant([]) });
110
+ assert.equal(host.streamingComponent, undefined, "assistant component should be deferred at message_start");
111
+ assert.equal(host.chatContainer.children.length, 0, "nothing should render before content arrives");
112
+ await handleAgentEvent(host, {
113
+ type: "message_update",
114
+ message: makeAssistant([toolCall]),
115
+ assistantMessageEvent: {
116
+ type: "toolcall_end",
117
+ contentIndex: 0,
118
+ toolCall: {
119
+ ...toolCall,
120
+ externalResult: {
121
+ content: [{ type: "text", text: "tool output" }],
122
+ details: {},
123
+ isError: false,
124
+ },
125
+ },
126
+ partial: makeAssistant([toolCall]),
127
+ },
128
+ });
129
+ assert.equal(host.streamingComponent, undefined, "assistant text container should remain deferred for tool-only updates");
130
+ assert.equal(host.chatContainer.children.length, 1, "tool execution block should render immediately");
131
+ assert.equal(host.chatContainer.children[0]?.constructor?.name, "ToolExecutionComponent");
132
+ // Re-assert required host method before the text-bearing update path.
133
+ host.getMarkdownThemeWithSettings = () => ({});
134
+ await handleAgentEvent(host, {
135
+ type: "message_update",
136
+ message: makeAssistant([toolCall, { type: "text", text: "done" }]),
137
+ assistantMessageEvent: {
138
+ type: "text_delta",
139
+ contentIndex: 1,
140
+ delta: "done",
141
+ partial: makeAssistant([toolCall, { type: "text", text: "done" }]),
142
+ },
143
+ });
144
+ assert.equal(host.chatContainer.children.length, 2, "assistant content should render after existing tool output");
145
+ assert.equal(host.chatContainer.children[0]?.constructor?.name, "ToolExecutionComponent");
146
+ assert.equal(host.chatContainer.children[1]?.constructor?.name, "AssistantMessageComponent");
147
+ });
148
+ test("chat-controller keeps serverToolUse output ahead of assistant text when external results arrive", async () => {
149
+ globalThis[Symbol.for("@gsd/pi-coding-agent:theme")] = {
150
+ fg: (_key, text) => text,
151
+ bg: (_key, text) => text,
152
+ bold: (text) => text,
153
+ italic: (text) => text,
154
+ truncate: (text) => text,
155
+ };
156
+ const host = createHost();
157
+ const toolId = "mcp-secure-1";
158
+ const serverToolUse = {
159
+ type: "serverToolUse",
160
+ id: toolId,
161
+ name: "mcp__gsd-workflow__secure_env_collect",
162
+ input: { projectDir: "/tmp/project", keys: [{ key: "SECURE_PASSWORD" }], destination: "dotenv" },
163
+ };
164
+ await handleAgentEvent(host, { type: "message_start", message: makeAssistant([]) });
165
+ await handleAgentEvent(host, {
166
+ type: "message_update",
167
+ message: makeAssistant([serverToolUse]),
168
+ assistantMessageEvent: {
169
+ type: "server_tool_use",
170
+ contentIndex: 0,
171
+ partial: makeAssistant([serverToolUse]),
172
+ },
173
+ });
174
+ assert.equal(host.streamingComponent, undefined, "assistant content should stay deferred while only tool content streams");
175
+ assert.equal(host.chatContainer.children.length, 1, "server tool block should render immediately");
176
+ assert.equal(host.chatContainer.children[0]?.constructor?.name, "ToolExecutionComponent");
177
+ host.getMarkdownThemeWithSettings = () => ({});
178
+ const resultMessage = makeAssistant([
179
+ {
180
+ ...serverToolUse,
181
+ externalResult: {
182
+ content: [{ type: "text", text: "secure_env_collect was cancelled by user." }],
183
+ details: {},
184
+ isError: true,
185
+ },
186
+ },
187
+ { type: "text", text: "The secure password collection was cancelled." },
188
+ ]);
189
+ await handleAgentEvent(host, {
190
+ type: "message_update",
191
+ message: resultMessage,
192
+ assistantMessageEvent: {
193
+ type: "server_tool_use",
194
+ contentIndex: 0,
195
+ partial: resultMessage,
196
+ },
197
+ });
198
+ assert.equal(host.chatContainer.children.length, 2, "assistant text should render after existing server tool output");
199
+ assert.equal(host.chatContainer.children[0]?.constructor?.name, "ToolExecutionComponent");
200
+ assert.equal(host.chatContainer.children[1]?.constructor?.name, "AssistantMessageComponent");
201
+ });
202
+ test("chat-controller pins latest assistant text above editor when tool calls are present", async () => {
203
+ globalThis[Symbol.for("@gsd/pi-coding-agent:theme")] = {
204
+ fg: (_key, text) => text,
205
+ bg: (_key, text) => text,
206
+ bold: (text) => text,
207
+ italic: (text) => text,
208
+ truncate: (text) => text,
209
+ };
210
+ const host = createHost();
211
+ const toolId = "tool-pin-1";
212
+ const toolCall = {
213
+ type: "toolCall",
214
+ id: toolId,
215
+ name: "exec_command",
216
+ arguments: { cmd: "echo hi" },
217
+ };
218
+ await handleAgentEvent(host, { type: "message_start", message: makeAssistant([]) });
219
+ assert.equal(host.pinnedMessageContainer.children.length, 0, "pinned zone should be empty at message_start");
220
+ // Send a message with text followed by a tool call
221
+ host.getMarkdownThemeWithSettings = () => ({});
222
+ await handleAgentEvent(host, {
223
+ type: "message_update",
224
+ message: makeAssistant([
225
+ { type: "text", text: "Looking at the files now." },
226
+ toolCall,
227
+ ]),
228
+ assistantMessageEvent: {
229
+ type: "toolcall_end",
230
+ contentIndex: 1,
231
+ toolCall: {
232
+ ...toolCall,
233
+ externalResult: {
234
+ content: [{ type: "text", text: "file contents" }],
235
+ details: {},
236
+ isError: false,
237
+ },
238
+ },
239
+ partial: makeAssistant([{ type: "text", text: "Looking at the files now." }, toolCall]),
240
+ },
241
+ });
242
+ // Pinned zone should now have a DynamicBorder and a Markdown component
243
+ assert.equal(host.pinnedMessageContainer.children.length, 2, "pinned zone should have border + markdown");
244
+ assert.equal(host.pinnedMessageContainer.children[0]?.constructor?.name, "DynamicBorder");
245
+ assert.equal(host.pinnedMessageContainer.children[1]?.constructor?.name, "Markdown");
246
+ });
247
+ test("chat-controller clears pinned zone when a new assistant message starts", async () => {
248
+ globalThis[Symbol.for("@gsd/pi-coding-agent:theme")] = {
249
+ fg: (_key, text) => text,
250
+ bg: (_key, text) => text,
251
+ bold: (text) => text,
252
+ italic: (text) => text,
253
+ truncate: (text) => text,
254
+ };
255
+ const host = createHost();
256
+ const toolCall = {
257
+ type: "toolCall",
258
+ id: "tool-clear-1",
259
+ name: "exec_command",
260
+ arguments: { cmd: "echo hi" },
261
+ };
262
+ await handleAgentEvent(host, { type: "message_start", message: makeAssistant([]) });
263
+ // Populate the pinned zone
264
+ host.getMarkdownThemeWithSettings = () => ({});
265
+ await handleAgentEvent(host, {
266
+ type: "message_update",
267
+ message: makeAssistant([{ type: "text", text: "Working on it." }, toolCall]),
268
+ assistantMessageEvent: {
269
+ type: "toolcall_end",
270
+ contentIndex: 1,
271
+ toolCall: {
272
+ ...toolCall,
273
+ externalResult: {
274
+ content: [{ type: "text", text: "ok" }],
275
+ details: {},
276
+ isError: false,
277
+ },
278
+ },
279
+ partial: makeAssistant([{ type: "text", text: "Working on it." }, toolCall]),
280
+ },
281
+ });
282
+ assert.ok(host.pinnedMessageContainer.children.length > 0, "pinned zone should be populated");
283
+ // Start a new assistant message — pinned zone should clear
284
+ await handleAgentEvent(host, { type: "message_start", message: makeAssistant([]) });
285
+ assert.equal(host.pinnedMessageContainer.children.length, 0, "pinned zone should clear on new assistant message");
286
+ });
287
+ test("chat-controller clears pinned zone when the agent turn ends", async () => {
288
+ globalThis[Symbol.for("@gsd/pi-coding-agent:theme")] = {
289
+ fg: (_key, text) => text,
290
+ bg: (_key, text) => text,
291
+ bold: (text) => text,
292
+ italic: (text) => text,
293
+ truncate: (text) => text,
294
+ };
295
+ const host = createHost();
296
+ const toolCall = {
297
+ type: "toolCall",
298
+ id: "tool-clear-on-end-1",
299
+ name: "exec_command",
300
+ arguments: { cmd: "echo hi" },
301
+ };
302
+ await handleAgentEvent(host, { type: "message_start", message: makeAssistant([]) });
303
+ host.getMarkdownThemeWithSettings = () => ({});
304
+ await handleAgentEvent(host, {
305
+ type: "message_update",
306
+ message: makeAssistant([{ type: "text", text: "Working on it." }, toolCall]),
307
+ assistantMessageEvent: {
308
+ type: "toolcall_end",
309
+ contentIndex: 1,
310
+ toolCall: {
311
+ ...toolCall,
312
+ externalResult: {
313
+ content: [{ type: "text", text: "ok" }],
314
+ details: {},
315
+ isError: false,
316
+ },
317
+ },
318
+ partial: makeAssistant([{ type: "text", text: "Working on it." }, toolCall]),
319
+ },
320
+ });
321
+ assert.ok(host.pinnedMessageContainer.children.length > 0, "pinned zone should be populated before agent_end");
322
+ await handleAgentEvent(host, { type: "agent_end" });
323
+ assert.equal(host.pinnedMessageContainer.children.length, 0, "pinned zone should clear on agent_end");
324
+ });
325
+ test("chat-controller clears pinned zone when assistant message ends", async () => {
326
+ globalThis[Symbol.for("@gsd/pi-coding-agent:theme")] = {
327
+ fg: (_key, text) => text,
328
+ bg: (_key, text) => text,
329
+ bold: (text) => text,
330
+ italic: (text) => text,
331
+ truncate: (text) => text,
332
+ };
333
+ const host = createHost();
334
+ const toolCall = {
335
+ type: "toolCall",
336
+ id: "tool-msg-end-1",
337
+ name: "exec_command",
338
+ arguments: { cmd: "echo hi" },
339
+ };
340
+ await handleAgentEvent(host, { type: "message_start", message: makeAssistant([]) });
341
+ host.getMarkdownThemeWithSettings = () => ({});
342
+ const msgContent = [{ type: "text", text: "Summary after tools." }, toolCall];
343
+ await handleAgentEvent(host, {
344
+ type: "message_update",
345
+ message: makeAssistant(msgContent),
346
+ assistantMessageEvent: {
347
+ type: "toolcall_end",
348
+ contentIndex: 1,
349
+ toolCall: {
350
+ ...toolCall,
351
+ externalResult: {
352
+ content: [{ type: "text", text: "ok" }],
353
+ details: {},
354
+ isError: false,
355
+ },
356
+ },
357
+ partial: makeAssistant(msgContent),
358
+ },
359
+ });
360
+ assert.ok(host.pinnedMessageContainer.children.length > 0, "pinned zone should be populated during streaming");
361
+ // End the assistant message (e.g. before form elicitation) — pinned zone should clear
362
+ await handleAgentEvent(host, { type: "message_end", message: makeAssistant(msgContent) });
363
+ assert.equal(host.pinnedMessageContainer.children.length, 0, "pinned zone should clear on message_end to prevent duplicate display");
364
+ });
365
+ test("chat-controller does not pin when there are no tool calls", async () => {
366
+ globalThis[Symbol.for("@gsd/pi-coding-agent:theme")] = {
367
+ fg: (_key, text) => text,
368
+ bg: (_key, text) => text,
369
+ bold: (text) => text,
370
+ italic: (text) => text,
371
+ truncate: (text) => text,
372
+ };
373
+ const host = createHost();
374
+ await handleAgentEvent(host, { type: "message_start", message: makeAssistant([]) });
375
+ host.getMarkdownThemeWithSettings = () => ({});
376
+ await handleAgentEvent(host, {
377
+ type: "message_update",
378
+ message: makeAssistant([{ type: "text", text: "Just some text, no tools." }]),
379
+ assistantMessageEvent: {
380
+ type: "text_delta",
381
+ contentIndex: 0,
382
+ delta: "Just some text, no tools.",
383
+ partial: makeAssistant([{ type: "text", text: "Just some text, no tools." }]),
384
+ },
385
+ });
386
+ assert.equal(host.pinnedMessageContainer.children.length, 0, "pinned zone should stay empty without tool calls");
387
+ });
388
+ //# sourceMappingURL=chat-controller-ordering.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-controller-ordering.test.js","sourceRoot":"","sources":["../../src/core/chat-controller-ordering.test.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from \"node:assert/strict\";\nimport { test } from \"node:test\";\n\nimport { handleAgentEvent } from \"../modes/interactive/controllers/chat-controller.js\";\n\nfunction makeUsage() {\n\treturn {\n\t\tinput: 0,\n\t\toutput: 0,\n\t\tcacheRead: 0,\n\t\tcacheWrite: 0,\n\t\ttotalTokens: 0,\n\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t};\n}\n\nfunction makeAssistant(content: any[]) {\n\treturn {\n\t\trole: \"assistant\",\n\t\tcontent,\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"claude-code\",\n\t\tmodel: \"claude-sonnet-4\",\n\t\tusage: makeUsage(),\n\t\tstopReason: \"stop\",\n\t\ttimestamp: Date.now(),\n\t};\n}\n\nfunction createHost() {\n\tconst chatContainer = {\n\t\tchildren: [] as any[],\n\t\taddChild(component: any) {\n\t\t\tthis.children.push(component);\n\t\t},\n\t\tremoveChild(component: any) {\n\t\t\tconst idx = this.children.indexOf(component);\n\t\t\tif (idx !== -1) this.children.splice(idx, 1);\n\t\t},\n\t\tclear() {\n\t\t\tthis.children = [];\n\t\t},\n\t};\n\n\tconst pinnedMessageContainer = {\n\t\tchildren: [] as any[],\n\t\taddChild(component: any) {\n\t\t\tthis.children.push(component);\n\t\t},\n\t\tremoveChild(component: any) {\n\t\t\tconst idx = this.children.indexOf(component);\n\t\t\tif (idx !== -1) this.children.splice(idx, 1);\n\t\t},\n\t\tclear() {\n\t\t\tthis.children = [];\n\t\t},\n\t};\n\n\tconst host: any = {\n\t\tisInitialized: true,\n\t\tinit: async () => {},\n\t\tdefaultEditor: { onEscape: undefined },\n\t\teditor: {},\n\t\tsession: { retryAttempt: 0, abortCompaction: () => {}, abortRetry: () => {} },\n\t\tui: { requestRender: () => {}, terminal: { rows: 50 } },\n\t\tfooter: { invalidate: () => {} },\n\t\tkeybindings: {},\n\t\tstatusContainer: { clear: () => {}, addChild: () => {} },\n\t\tchatContainer,\n\t\tsettingsManager: { getTimestampFormat: () => \"date-time-iso\", getShowImages: () => false },\n\t\tpendingTools: new Map(),\n\t\ttoolOutputExpanded: false,\n\t\thideThinkingBlock: false,\n\t\tisBashMode: false,\n\t\tdefaultWorkingMessage: \"Working...\",\n\t\tcompactionQueuedMessages: [],\n\t\teditorContainer: {},\n\t\tpendingMessagesContainer: { clear: () => {} },\n\t\tpinnedMessageContainer,\n\t\taddMessageToChat: () => {},\n\t\tgetMarkdownThemeWithSettings: () => ({}),\n\t\tformatWebSearchResult: () => \"\",\n\t\tgetRegisteredToolDefinition: () => undefined,\n\t\tcheckShutdownRequested: async () => {},\n\t\trebuildChatFromMessages: () => {},\n\t\tflushCompactionQueue: async () => {},\n\t\tshowStatus: () => {},\n\t\tshowError: () => {},\n\t\tupdatePendingMessagesDisplay: () => {},\n\t\tupdateTerminalTitle: () => {},\n\t\tupdateEditorBorderColor: () => {},\n\t};\n\n\treturn host;\n}\n\ntest(\"chat-controller keeps tool output ahead of delayed assistant text for external tool streams\", async () => {\n\t// ToolExecutionComponent uses the global theme singleton.\n\t// Install a minimal no-op theme implementation for this unit test.\n\t(globalThis as any)[Symbol.for(\"@gsd/pi-coding-agent:theme\")] = {\n\t\tfg: (_key: string, text: string) => text,\n\t\tbg: (_key: string, text: string) => text,\n\t\tbold: (text: string) => text,\n\t\titalic: (text: string) => text,\n\t\ttruncate: (text: string) => text,\n\t};\n\n\tconst host = createHost();\n\tconst toolId = \"mcp-tool-1\";\n\tconst toolCall = {\n\t\ttype: \"toolCall\",\n\t\tid: toolId,\n\t\tname: \"exec_command\",\n\t\targuments: { cmd: \"echo hi\" },\n\t};\n\n\tawait handleAgentEvent(host, { type: \"message_start\", message: makeAssistant([]) } as any);\n\n\tassert.equal(host.streamingComponent, undefined, \"assistant component should be deferred at message_start\");\n\tassert.equal(host.chatContainer.children.length, 0, \"nothing should render before content arrives\");\n\n\tawait handleAgentEvent(\n\t\thost,\n\t\t{\n\t\t\ttype: \"message_update\",\n\t\t\tmessage: makeAssistant([toolCall]),\n\t\t\tassistantMessageEvent: {\n\t\t\t\ttype: \"toolcall_end\",\n\t\t\t\tcontentIndex: 0,\n\t\t\t\ttoolCall: {\n\t\t\t\t\t...toolCall,\n\t\t\t\t\texternalResult: {\n\t\t\t\t\t\tcontent: [{ type: \"text\", text: \"tool output\" }],\n\t\t\t\t\t\tdetails: {},\n\t\t\t\t\t\tisError: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tpartial: makeAssistant([toolCall]),\n\t\t\t},\n\t\t} as any,\n\t);\n\n\tassert.equal(host.streamingComponent, undefined, \"assistant text container should remain deferred for tool-only updates\");\n\tassert.equal(host.chatContainer.children.length, 1, \"tool execution block should render immediately\");\n\tassert.equal(host.chatContainer.children[0]?.constructor?.name, \"ToolExecutionComponent\");\n\n\t// Re-assert required host method before the text-bearing update path.\n\thost.getMarkdownThemeWithSettings = () => ({});\n\n\tawait handleAgentEvent(\n\t\thost,\n\t\t{\n\t\t\ttype: \"message_update\",\n\t\t\tmessage: makeAssistant([toolCall, { type: \"text\", text: \"done\" }]),\n\t\t\tassistantMessageEvent: {\n\t\t\t\ttype: \"text_delta\",\n\t\t\t\tcontentIndex: 1,\n\t\t\t\tdelta: \"done\",\n\t\t\t\tpartial: makeAssistant([toolCall, { type: \"text\", text: \"done\" }]),\n\t\t\t},\n\t\t} as any,\n\t);\n\n\tassert.equal(host.chatContainer.children.length, 2, \"assistant content should render after existing tool output\");\n\tassert.equal(host.chatContainer.children[0]?.constructor?.name, \"ToolExecutionComponent\");\n\tassert.equal(host.chatContainer.children[1]?.constructor?.name, \"AssistantMessageComponent\");\n});\n\ntest(\"chat-controller keeps serverToolUse output ahead of assistant text when external results arrive\", async () => {\n\t(globalThis as any)[Symbol.for(\"@gsd/pi-coding-agent:theme\")] = {\n\t\tfg: (_key: string, text: string) => text,\n\t\tbg: (_key: string, text: string) => text,\n\t\tbold: (text: string) => text,\n\t\titalic: (text: string) => text,\n\t\ttruncate: (text: string) => text,\n\t};\n\n\tconst host = createHost();\n\tconst toolId = \"mcp-secure-1\";\n\tconst serverToolUse = {\n\t\ttype: \"serverToolUse\",\n\t\tid: toolId,\n\t\tname: \"mcp__gsd-workflow__secure_env_collect\",\n\t\tinput: { projectDir: \"/tmp/project\", keys: [{ key: \"SECURE_PASSWORD\" }], destination: \"dotenv\" },\n\t};\n\n\tawait handleAgentEvent(host, { type: \"message_start\", message: makeAssistant([]) } as any);\n\n\tawait handleAgentEvent(\n\t\thost,\n\t\t{\n\t\t\ttype: \"message_update\",\n\t\t\tmessage: makeAssistant([serverToolUse]),\n\t\t\tassistantMessageEvent: {\n\t\t\t\ttype: \"server_tool_use\",\n\t\t\t\tcontentIndex: 0,\n\t\t\t\tpartial: makeAssistant([serverToolUse]),\n\t\t\t},\n\t\t} as any,\n\t);\n\n\tassert.equal(host.streamingComponent, undefined, \"assistant content should stay deferred while only tool content streams\");\n\tassert.equal(host.chatContainer.children.length, 1, \"server tool block should render immediately\");\n\tassert.equal(host.chatContainer.children[0]?.constructor?.name, \"ToolExecutionComponent\");\n\n\thost.getMarkdownThemeWithSettings = () => ({});\n\tconst resultMessage = makeAssistant([\n\t\t{\n\t\t\t...serverToolUse,\n\t\t\texternalResult: {\n\t\t\t\tcontent: [{ type: \"text\", text: \"secure_env_collect was cancelled by user.\" }],\n\t\t\t\tdetails: {},\n\t\t\t\tisError: true,\n\t\t\t},\n\t\t},\n\t\t{ type: \"text\", text: \"The secure password collection was cancelled.\" },\n\t]);\n\n\tawait handleAgentEvent(\n\t\thost,\n\t\t{\n\t\t\ttype: \"message_update\",\n\t\t\tmessage: resultMessage,\n\t\t\tassistantMessageEvent: {\n\t\t\t\ttype: \"server_tool_use\",\n\t\t\t\tcontentIndex: 0,\n\t\t\t\tpartial: resultMessage,\n\t\t\t},\n\t\t} as any,\n\t);\n\n\tassert.equal(host.chatContainer.children.length, 2, \"assistant text should render after existing server tool output\");\n\tassert.equal(host.chatContainer.children[0]?.constructor?.name, \"ToolExecutionComponent\");\n\tassert.equal(host.chatContainer.children[1]?.constructor?.name, \"AssistantMessageComponent\");\n});\n\ntest(\"chat-controller pins latest assistant text above editor when tool calls are present\", async () => {\n\t(globalThis as any)[Symbol.for(\"@gsd/pi-coding-agent:theme\")] = {\n\t\tfg: (_key: string, text: string) => text,\n\t\tbg: (_key: string, text: string) => text,\n\t\tbold: (text: string) => text,\n\t\titalic: (text: string) => text,\n\t\ttruncate: (text: string) => text,\n\t};\n\n\tconst host = createHost();\n\tconst toolId = \"tool-pin-1\";\n\tconst toolCall = {\n\t\ttype: \"toolCall\",\n\t\tid: toolId,\n\t\tname: \"exec_command\",\n\t\targuments: { cmd: \"echo hi\" },\n\t};\n\n\tawait handleAgentEvent(host, { type: \"message_start\", message: makeAssistant([]) } as any);\n\n\tassert.equal(host.pinnedMessageContainer.children.length, 0, \"pinned zone should be empty at message_start\");\n\n\t// Send a message with text followed by a tool call\n\thost.getMarkdownThemeWithSettings = () => ({});\n\tawait handleAgentEvent(\n\t\thost,\n\t\t{\n\t\t\ttype: \"message_update\",\n\t\t\tmessage: makeAssistant([\n\t\t\t\t{ type: \"text\", text: \"Looking at the files now.\" },\n\t\t\t\ttoolCall,\n\t\t\t]),\n\t\t\tassistantMessageEvent: {\n\t\t\t\ttype: \"toolcall_end\",\n\t\t\t\tcontentIndex: 1,\n\t\t\t\ttoolCall: {\n\t\t\t\t\t...toolCall,\n\t\t\t\t\texternalResult: {\n\t\t\t\t\t\tcontent: [{ type: \"text\", text: \"file contents\" }],\n\t\t\t\t\t\tdetails: {},\n\t\t\t\t\t\tisError: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tpartial: makeAssistant([{ type: \"text\", text: \"Looking at the files now.\" }, toolCall]),\n\t\t\t},\n\t\t} as any,\n\t);\n\n\t// Pinned zone should now have a DynamicBorder and a Markdown component\n\tassert.equal(host.pinnedMessageContainer.children.length, 2, \"pinned zone should have border + markdown\");\n\tassert.equal(host.pinnedMessageContainer.children[0]?.constructor?.name, \"DynamicBorder\");\n\tassert.equal(host.pinnedMessageContainer.children[1]?.constructor?.name, \"Markdown\");\n});\n\ntest(\"chat-controller clears pinned zone when a new assistant message starts\", async () => {\n\t(globalThis as any)[Symbol.for(\"@gsd/pi-coding-agent:theme\")] = {\n\t\tfg: (_key: string, text: string) => text,\n\t\tbg: (_key: string, text: string) => text,\n\t\tbold: (text: string) => text,\n\t\titalic: (text: string) => text,\n\t\ttruncate: (text: string) => text,\n\t};\n\n\tconst host = createHost();\n\tconst toolCall = {\n\t\ttype: \"toolCall\",\n\t\tid: \"tool-clear-1\",\n\t\tname: \"exec_command\",\n\t\targuments: { cmd: \"echo hi\" },\n\t};\n\n\tawait handleAgentEvent(host, { type: \"message_start\", message: makeAssistant([]) } as any);\n\n\t// Populate the pinned zone\n\thost.getMarkdownThemeWithSettings = () => ({});\n\tawait handleAgentEvent(\n\t\thost,\n\t\t{\n\t\t\ttype: \"message_update\",\n\t\t\tmessage: makeAssistant([{ type: \"text\", text: \"Working on it.\" }, toolCall]),\n\t\t\tassistantMessageEvent: {\n\t\t\t\ttype: \"toolcall_end\",\n\t\t\t\tcontentIndex: 1,\n\t\t\t\ttoolCall: {\n\t\t\t\t\t...toolCall,\n\t\t\t\t\texternalResult: {\n\t\t\t\t\t\tcontent: [{ type: \"text\", text: \"ok\" }],\n\t\t\t\t\t\tdetails: {},\n\t\t\t\t\t\tisError: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tpartial: makeAssistant([{ type: \"text\", text: \"Working on it.\" }, toolCall]),\n\t\t\t},\n\t\t} as any,\n\t);\n\n\tassert.ok(host.pinnedMessageContainer.children.length > 0, \"pinned zone should be populated\");\n\n\t// Start a new assistant message — pinned zone should clear\n\tawait handleAgentEvent(host, { type: \"message_start\", message: makeAssistant([]) } as any);\n\n\tassert.equal(host.pinnedMessageContainer.children.length, 0, \"pinned zone should clear on new assistant message\");\n});\n\ntest(\"chat-controller clears pinned zone when the agent turn ends\", async () => {\n\t(globalThis as any)[Symbol.for(\"@gsd/pi-coding-agent:theme\")] = {\n\t\tfg: (_key: string, text: string) => text,\n\t\tbg: (_key: string, text: string) => text,\n\t\tbold: (text: string) => text,\n\t\titalic: (text: string) => text,\n\t\ttruncate: (text: string) => text,\n\t};\n\n\tconst host = createHost();\n\tconst toolCall = {\n\t\ttype: \"toolCall\",\n\t\tid: \"tool-clear-on-end-1\",\n\t\tname: \"exec_command\",\n\t\targuments: { cmd: \"echo hi\" },\n\t};\n\n\tawait handleAgentEvent(host, { type: \"message_start\", message: makeAssistant([]) } as any);\n\n\thost.getMarkdownThemeWithSettings = () => ({});\n\tawait handleAgentEvent(\n\t\thost,\n\t\t{\n\t\t\ttype: \"message_update\",\n\t\t\tmessage: makeAssistant([{ type: \"text\", text: \"Working on it.\" }, toolCall]),\n\t\t\tassistantMessageEvent: {\n\t\t\t\ttype: \"toolcall_end\",\n\t\t\t\tcontentIndex: 1,\n\t\t\t\ttoolCall: {\n\t\t\t\t\t...toolCall,\n\t\t\t\t\texternalResult: {\n\t\t\t\t\t\tcontent: [{ type: \"text\", text: \"ok\" }],\n\t\t\t\t\t\tdetails: {},\n\t\t\t\t\t\tisError: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tpartial: makeAssistant([{ type: \"text\", text: \"Working on it.\" }, toolCall]),\n\t\t\t},\n\t\t} as any,\n\t);\n\n\tassert.ok(host.pinnedMessageContainer.children.length > 0, \"pinned zone should be populated before agent_end\");\n\n\tawait handleAgentEvent(host, { type: \"agent_end\" } as any);\n\n\tassert.equal(host.pinnedMessageContainer.children.length, 0, \"pinned zone should clear on agent_end\");\n});\n\ntest(\"chat-controller clears pinned zone when assistant message ends\", async () => {\n\t(globalThis as any)[Symbol.for(\"@gsd/pi-coding-agent:theme\")] = {\n\t\tfg: (_key: string, text: string) => text,\n\t\tbg: (_key: string, text: string) => text,\n\t\tbold: (text: string) => text,\n\t\titalic: (text: string) => text,\n\t\ttruncate: (text: string) => text,\n\t};\n\n\tconst host = createHost();\n\tconst toolCall = {\n\t\ttype: \"toolCall\",\n\t\tid: \"tool-msg-end-1\",\n\t\tname: \"exec_command\",\n\t\targuments: { cmd: \"echo hi\" },\n\t};\n\n\tawait handleAgentEvent(host, { type: \"message_start\", message: makeAssistant([]) } as any);\n\n\thost.getMarkdownThemeWithSettings = () => ({});\n\tconst msgContent = [{ type: \"text\", text: \"Summary after tools.\" }, toolCall];\n\tawait handleAgentEvent(\n\t\thost,\n\t\t{\n\t\t\ttype: \"message_update\",\n\t\t\tmessage: makeAssistant(msgContent),\n\t\t\tassistantMessageEvent: {\n\t\t\t\ttype: \"toolcall_end\",\n\t\t\t\tcontentIndex: 1,\n\t\t\t\ttoolCall: {\n\t\t\t\t\t...toolCall,\n\t\t\t\t\texternalResult: {\n\t\t\t\t\t\tcontent: [{ type: \"text\", text: \"ok\" }],\n\t\t\t\t\t\tdetails: {},\n\t\t\t\t\t\tisError: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tpartial: makeAssistant(msgContent),\n\t\t\t},\n\t\t} as any,\n\t);\n\n\tassert.ok(host.pinnedMessageContainer.children.length > 0, \"pinned zone should be populated during streaming\");\n\n\t// End the assistant message (e.g. before form elicitation) — pinned zone should clear\n\tawait handleAgentEvent(host, { type: \"message_end\", message: makeAssistant(msgContent) } as any);\n\n\tassert.equal(host.pinnedMessageContainer.children.length, 0, \"pinned zone should clear on message_end to prevent duplicate display\");\n});\n\ntest(\"chat-controller does not pin when there are no tool calls\", async () => {\n\t(globalThis as any)[Symbol.for(\"@gsd/pi-coding-agent:theme\")] = {\n\t\tfg: (_key: string, text: string) => text,\n\t\tbg: (_key: string, text: string) => text,\n\t\tbold: (text: string) => text,\n\t\titalic: (text: string) => text,\n\t\ttruncate: (text: string) => text,\n\t};\n\n\tconst host = createHost();\n\n\tawait handleAgentEvent(host, { type: \"message_start\", message: makeAssistant([]) } as any);\n\n\thost.getMarkdownThemeWithSettings = () => ({});\n\tawait handleAgentEvent(\n\t\thost,\n\t\t{\n\t\t\ttype: \"message_update\",\n\t\t\tmessage: makeAssistant([{ type: \"text\", text: \"Just some text, no tools.\" }]),\n\t\t\tassistantMessageEvent: {\n\t\t\t\ttype: \"text_delta\",\n\t\t\t\tcontentIndex: 0,\n\t\t\t\tdelta: \"Just some text, no tools.\",\n\t\t\t\tpartial: makeAssistant([{ type: \"text\", text: \"Just some text, no tools.\" }]),\n\t\t\t},\n\t\t} as any,\n\t);\n\n\tassert.equal(host.pinnedMessageContainer.children.length, 0, \"pinned zone should stay empty without tool calls\");\n});\n"]}
@@ -36,6 +36,8 @@ export interface ExtensionUIDialogOptions {
36
36
  timeout?: number;
37
37
  /** When true, the user can select multiple options. The return type becomes `string[]`. */
38
38
  allowMultiple?: boolean;
39
+ /** When true, text input dialogs should hide typed characters if supported by the client surface. */
40
+ secure?: boolean;
39
41
  }
40
42
  /** Placement for extension widgets. */
41
43
  export type WidgetPlacement = "aboveEditor" | "belowEditor";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/types.ts"],"names":[],"mappings":"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"}