gsd-pi 2.78.0 → 2.78.1-dev.2d3fd6e71

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 (1714) hide show
  1. package/README.md +75 -30
  2. package/dist/bundled-resource-path.d.ts +7 -0
  3. package/dist/bundled-resource-path.js +34 -2
  4. package/dist/claude-cli-check.js +104 -33
  5. package/dist/cli-auto-routing.d.ts +1 -0
  6. package/dist/cli-auto-routing.js +5 -0
  7. package/dist/cli-policy.d.ts +13 -0
  8. package/dist/cli-policy.js +17 -0
  9. package/dist/cli.js +100 -69
  10. package/dist/headless-query.d.ts +22 -0
  11. package/dist/headless-query.js +43 -8
  12. package/dist/headless-recover.d.ts +23 -0
  13. package/dist/headless-recover.js +93 -0
  14. package/dist/headless.d.ts +10 -0
  15. package/dist/headless.js +25 -1
  16. package/dist/help-text.js +1 -0
  17. package/dist/loader.js +24 -16
  18. package/dist/onboarding.d.ts +10 -0
  19. package/dist/onboarding.js +2 -2
  20. package/dist/provider-migrations.d.ts +2 -2
  21. package/dist/provider-migrations.js +5 -2
  22. package/dist/resource-loader.d.ts +5 -2
  23. package/dist/resource-loader.js +56 -30
  24. package/dist/resources/.managed-resources-content-hash +1 -0
  25. package/dist/resources/GSD-WORKFLOW.md +29 -42
  26. package/dist/resources/extensions/async-jobs/job-manager.js +4 -0
  27. package/dist/resources/extensions/bg-shell/bg-shell-lifecycle.js +3 -2
  28. package/dist/resources/extensions/bg-shell/utilities.js +2 -1
  29. package/dist/resources/extensions/browser-tools/tools/intent.js +8 -1
  30. package/dist/resources/extensions/claude-code-cli/readiness.js +128 -32
  31. package/dist/resources/extensions/claude-code-cli/stream-adapter.js +22 -8
  32. package/dist/resources/extensions/github-sync/cli.js +3 -0
  33. package/dist/resources/extensions/github-sync/sync.js +86 -58
  34. package/dist/resources/extensions/google-search/index.js +2 -6
  35. package/dist/resources/extensions/gsd/auto/loop.js +23 -0
  36. package/dist/resources/extensions/gsd/auto/phases.js +90 -34
  37. package/dist/resources/extensions/gsd/auto/run-unit.js +26 -12
  38. package/dist/resources/extensions/gsd/auto/session.js +11 -6
  39. package/dist/resources/extensions/gsd/auto-artifact-paths.js +49 -31
  40. package/dist/resources/extensions/gsd/auto-dashboard.js +14 -2
  41. package/dist/resources/extensions/gsd/auto-direct-dispatch.js +57 -21
  42. package/dist/resources/extensions/gsd/auto-dispatch.js +256 -96
  43. package/dist/resources/extensions/gsd/auto-post-unit.js +108 -46
  44. package/dist/resources/extensions/gsd/auto-prompts.js +145 -8
  45. package/dist/resources/extensions/gsd/auto-recovery.js +112 -19
  46. package/dist/resources/extensions/gsd/auto-runtime-state.js +31 -0
  47. package/dist/resources/extensions/gsd/auto-start.js +55 -65
  48. package/dist/resources/extensions/gsd/auto-timeout-recovery.js +18 -0
  49. package/dist/resources/extensions/gsd/auto-timers.js +24 -4
  50. package/dist/resources/extensions/gsd/auto-tool-tracking.js +2 -2
  51. package/dist/resources/extensions/gsd/auto-worktree.js +371 -218
  52. package/dist/resources/extensions/gsd/auto.js +151 -32
  53. package/dist/resources/extensions/gsd/bootstrap/agent-end-recovery.js +21 -3
  54. package/dist/resources/extensions/gsd/bootstrap/db-tools.js +54 -9
  55. package/dist/resources/extensions/gsd/bootstrap/dynamic-tools.js +9 -77
  56. package/dist/resources/extensions/gsd/bootstrap/exec-tools.js +7 -5
  57. package/dist/resources/extensions/gsd/bootstrap/query-tools.js +2 -2
  58. package/dist/resources/extensions/gsd/bootstrap/register-extension.js +5 -4
  59. package/dist/resources/extensions/gsd/bootstrap/register-hooks.js +204 -46
  60. package/dist/resources/extensions/gsd/bootstrap/register-shortcuts.js +11 -6
  61. package/dist/resources/extensions/gsd/bootstrap/subagent-input.js +22 -0
  62. package/dist/resources/extensions/gsd/bootstrap/system-context.js +48 -12
  63. package/dist/resources/extensions/gsd/bootstrap/write-gate.js +263 -66
  64. package/dist/resources/extensions/gsd/branch-patterns.js +3 -3
  65. package/dist/resources/extensions/gsd/commands/catalog.js +81 -9
  66. package/dist/resources/extensions/gsd/commands/context.js +41 -5
  67. package/dist/resources/extensions/gsd/commands/dispatcher.js +11 -5
  68. package/dist/resources/extensions/gsd/commands/handlers/auto.js +2 -1
  69. package/dist/resources/extensions/gsd/commands/handlers/core.js +25 -1
  70. package/dist/resources/extensions/gsd/commands/handlers/ops.js +13 -0
  71. package/dist/resources/extensions/gsd/commands/handlers/workflow.js +24 -2
  72. package/dist/resources/extensions/gsd/commands-bootstrap.js +6 -0
  73. package/dist/resources/extensions/gsd/commands-codebase.js +2 -1
  74. package/dist/resources/extensions/gsd/commands-config.js +3 -2
  75. package/dist/resources/extensions/gsd/commands-debug.js +22 -1
  76. package/dist/resources/extensions/gsd/commands-eval-review.js +534 -0
  77. package/dist/resources/extensions/gsd/commands-extensions.js +50 -7
  78. package/dist/resources/extensions/gsd/commands-handlers.js +8 -7
  79. package/dist/resources/extensions/gsd/commands-logs.js +2 -1
  80. package/dist/resources/extensions/gsd/commands-mcp-status.js +3 -1
  81. package/dist/resources/extensions/gsd/commands-prefs-wizard.js +10 -1
  82. package/dist/resources/extensions/gsd/commands-scan.js +2 -1
  83. package/dist/resources/extensions/gsd/commands-ship.js +67 -1
  84. package/dist/resources/extensions/gsd/commands-workflow-templates.js +5 -4
  85. package/dist/resources/extensions/gsd/commands-worktree.js +309 -0
  86. package/dist/resources/extensions/gsd/context-budget.js +11 -3
  87. package/dist/resources/extensions/gsd/dashboard-overlay.js +1 -1
  88. package/dist/resources/extensions/gsd/db-writer.js +150 -92
  89. package/dist/resources/extensions/gsd/deep-project-setup-policy.js +212 -0
  90. package/dist/resources/extensions/gsd/delegation-policy.js +155 -0
  91. package/dist/resources/extensions/gsd/detection.js +7 -7
  92. package/dist/resources/extensions/gsd/dispatch-guard.js +6 -10
  93. package/dist/resources/extensions/gsd/docs/preferences-reference.md +16 -4
  94. package/dist/resources/extensions/gsd/doctor-engine-checks.js +2 -2
  95. package/dist/resources/extensions/gsd/doctor-providers.js +2 -1
  96. package/dist/resources/extensions/gsd/doctor-runtime-checks.js +93 -1
  97. package/dist/resources/extensions/gsd/error-classifier.js +1 -1
  98. package/dist/resources/extensions/gsd/eval-review-schema.js +208 -0
  99. package/dist/resources/extensions/gsd/forensics.js +17 -9
  100. package/dist/resources/extensions/gsd/git-service.js +86 -9
  101. package/dist/resources/extensions/gsd/gsd-db.js +282 -12
  102. package/dist/resources/extensions/gsd/gsd-home.js +29 -0
  103. package/dist/resources/extensions/gsd/guided-flow-queue.js +1 -1
  104. package/dist/resources/extensions/gsd/guided-flow.js +410 -140
  105. package/dist/resources/extensions/gsd/init-wizard.js +16 -23
  106. package/dist/resources/extensions/gsd/interrupted-session.js +37 -2
  107. package/dist/resources/extensions/gsd/key-manager.js +2 -1
  108. package/dist/resources/extensions/gsd/markdown-renderer.js +59 -66
  109. package/dist/resources/extensions/gsd/memory-store.js +66 -31
  110. package/dist/resources/extensions/gsd/metrics.js +287 -1
  111. package/dist/resources/extensions/gsd/migrate/command.js +3 -2
  112. package/dist/resources/extensions/gsd/milestone-id-reservation.js +36 -0
  113. package/dist/resources/extensions/gsd/milestone-scope-classifier.js +10 -8
  114. package/dist/resources/extensions/gsd/model-router.js +114 -9
  115. package/dist/resources/extensions/gsd/native-git-bridge.js +26 -43
  116. package/dist/resources/extensions/gsd/onboarding-state.js +2 -2
  117. package/dist/resources/extensions/gsd/parallel-merge.js +14 -13
  118. package/dist/resources/extensions/gsd/parallel-monitor-overlay.js +5 -2
  119. package/dist/resources/extensions/gsd/paths.js +151 -9
  120. package/dist/resources/extensions/gsd/planning-depth.js +114 -0
  121. package/dist/resources/extensions/gsd/preferences-models.js +109 -16
  122. package/dist/resources/extensions/gsd/preferences-skills.js +2 -1
  123. package/dist/resources/extensions/gsd/preferences-types.js +6 -0
  124. package/dist/resources/extensions/gsd/preferences-validation.js +41 -0
  125. package/dist/resources/extensions/gsd/preferences.js +25 -7
  126. package/dist/resources/extensions/gsd/project-research-policy.js +182 -0
  127. package/dist/resources/extensions/gsd/prompt-loader.js +25 -15
  128. package/dist/resources/extensions/gsd/prompts/complete-milestone.md +10 -0
  129. package/dist/resources/extensions/gsd/prompts/complete-slice.md +14 -4
  130. package/dist/resources/extensions/gsd/prompts/execute-task.md +3 -3
  131. package/dist/resources/extensions/gsd/prompts/guided-discuss-milestone.md +10 -1
  132. package/dist/resources/extensions/gsd/prompts/guided-discuss-project.md +148 -0
  133. package/dist/resources/extensions/gsd/prompts/guided-discuss-requirements.md +126 -0
  134. package/dist/resources/extensions/gsd/prompts/guided-discuss-slice.md +8 -1
  135. package/dist/resources/extensions/gsd/prompts/guided-research-decision.md +70 -0
  136. package/dist/resources/extensions/gsd/prompts/guided-research-project.md +120 -0
  137. package/dist/resources/extensions/gsd/prompts/guided-workflow-preferences.md +68 -0
  138. package/dist/resources/extensions/gsd/prompts/parallel-research-slices.md +2 -0
  139. package/dist/resources/extensions/gsd/prompts/plan-milestone.md +8 -2
  140. package/dist/resources/extensions/gsd/prompts/plan-slice.md +18 -6
  141. package/dist/resources/extensions/gsd/prompts/refine-slice.md +10 -0
  142. package/dist/resources/extensions/gsd/prompts/rewrite-docs.md +2 -0
  143. package/dist/resources/extensions/gsd/prompts/system.md +4 -4
  144. package/dist/resources/extensions/gsd/queue-order.js +6 -1
  145. package/dist/resources/extensions/gsd/repo-identity.js +20 -9
  146. package/dist/resources/extensions/gsd/rethink.js +2 -1
  147. package/dist/resources/extensions/gsd/safety/git-checkpoint.js +8 -1
  148. package/dist/resources/extensions/gsd/schemas/__fixtures__/valid-project.md +26 -0
  149. package/dist/resources/extensions/gsd/schemas/__fixtures__/valid-requirements.md +57 -0
  150. package/dist/resources/extensions/gsd/schemas/__fixtures__/valid-roadmap.md +19 -0
  151. package/dist/resources/extensions/gsd/schemas/parsers.js +276 -0
  152. package/dist/resources/extensions/gsd/schemas/validate.js +364 -0
  153. package/dist/resources/extensions/gsd/skill-telemetry.js +3 -2
  154. package/dist/resources/extensions/gsd/slice-cadence.js +56 -7
  155. package/dist/resources/extensions/gsd/slice-parallel-orchestrator.js +9 -3
  156. package/dist/resources/extensions/gsd/state.js +133 -372
  157. package/dist/resources/extensions/gsd/templates/PREFERENCES.md +1 -0
  158. package/dist/resources/extensions/gsd/templates/project.md +10 -0
  159. package/dist/resources/extensions/gsd/token-counter.js +1 -0
  160. package/dist/resources/extensions/gsd/tools/complete-milestone.js +6 -5
  161. package/dist/resources/extensions/gsd/tools/complete-slice.js +7 -12
  162. package/dist/resources/extensions/gsd/tools/complete-task.js +19 -31
  163. package/dist/resources/extensions/gsd/tools/memory-tools.js +18 -1
  164. package/dist/resources/extensions/gsd/tools/plan-slice.js +6 -5
  165. package/dist/resources/extensions/gsd/tools/validate-milestone.js +7 -5
  166. package/dist/resources/extensions/gsd/tools/workflow-tool-executors.js +74 -11
  167. package/dist/resources/extensions/gsd/unit-context-manifest.js +125 -5
  168. package/dist/resources/extensions/gsd/unit-runtime.js +88 -24
  169. package/dist/resources/extensions/gsd/uok/plan-v2.js +14 -1
  170. package/dist/resources/extensions/gsd/user-input-boundary.js +157 -0
  171. package/dist/resources/extensions/gsd/visualizer-overlay.js +1 -1
  172. package/dist/resources/extensions/gsd/watch/header-renderer.js +4 -1
  173. package/dist/resources/extensions/gsd/workflow-install.js +2 -3
  174. package/dist/resources/extensions/gsd/workflow-manifest.js +2 -1
  175. package/dist/resources/extensions/gsd/workflow-mcp-auto-prep.js +3 -21
  176. package/dist/resources/extensions/gsd/workflow-mcp.js +41 -5
  177. package/dist/resources/extensions/gsd/workflow-migration.js +4 -3
  178. package/dist/resources/extensions/gsd/workflow-plugins.js +3 -5
  179. package/dist/resources/extensions/gsd/workflow-reconcile.js +3 -3
  180. package/dist/resources/extensions/gsd/workflow-templates.js +2 -3
  181. package/dist/resources/extensions/gsd/workspace.js +59 -0
  182. package/dist/resources/extensions/gsd/worktree-command.js +30 -49
  183. package/dist/resources/extensions/gsd/worktree-manager.js +26 -7
  184. package/dist/resources/extensions/gsd/worktree-resolver.js +47 -19
  185. package/dist/resources/extensions/gsd/worktree-root.js +163 -0
  186. package/dist/resources/extensions/gsd/worktree-session-state.js +33 -0
  187. package/dist/resources/extensions/gsd/worktree.js +4 -115
  188. package/dist/resources/extensions/gsd/write-intercept.js +3 -3
  189. package/dist/resources/extensions/mcp-client/index.js +6 -9
  190. package/dist/resources/extensions/ollama/index.js +15 -2
  191. package/dist/resources/extensions/ollama/model-capabilities.js +31 -0
  192. package/dist/resources/extensions/ollama/ollama-client.js +40 -4
  193. package/dist/resources/extensions/remote-questions/remote-command.js +2 -1
  194. package/dist/resources/extensions/remote-questions/status.js +2 -5
  195. package/dist/resources/extensions/remote-questions/store.js +2 -5
  196. package/dist/resources/extensions/search-the-web/provider.js +9 -8
  197. package/dist/resources/extensions/shared/next-action-ui.js +7 -0
  198. package/dist/resources/extensions/slash-commands/create-extension.js +36 -22
  199. package/dist/resources/extensions/subagent/index.js +341 -190
  200. package/dist/resources/extensions/subagent/isolation.js +2 -2
  201. package/dist/resources/extensions/ttsr/rule-loader.js +2 -3
  202. package/dist/resources/extensions/voice/index.js +3 -2
  203. package/dist/resources/extensions/voice/linux-ready.js +2 -2
  204. package/dist/resources/skills/create-gsd-extension/SKILL.md +9 -5
  205. package/dist/resources/skills/create-gsd-extension/references/custom-commands.md +1 -1
  206. package/dist/resources/skills/create-gsd-extension/references/custom-rendering.md +5 -5
  207. package/dist/resources/skills/create-gsd-extension/references/custom-tools.md +4 -4
  208. package/dist/resources/skills/create-gsd-extension/references/custom-ui.md +6 -6
  209. package/dist/resources/skills/create-gsd-extension/references/events-reference.md +3 -3
  210. package/dist/resources/skills/create-gsd-extension/references/packaging-distribution.md +1 -1
  211. package/dist/resources/skills/create-gsd-extension/references/remote-execution-overrides.md +3 -3
  212. package/dist/resources/skills/create-gsd-extension/workflows/create-extension.md +32 -12
  213. package/dist/resources/skills/lint/SKILL.md +4 -0
  214. package/dist/resources/skills/review/SKILL.md +4 -0
  215. package/dist/resources/skills/test/SKILL.md +3 -0
  216. package/dist/resources/skills/verify-before-complete/SKILL.md +1 -1
  217. package/dist/rtk-shared.d.ts +3 -0
  218. package/dist/rtk-shared.js +17 -0
  219. package/dist/rtk.d.ts +2 -5
  220. package/dist/rtk.js +3 -20
  221. package/dist/runtime-checks.d.ts +27 -0
  222. package/dist/runtime-checks.js +38 -0
  223. package/dist/tool-bootstrap.js +7 -0
  224. package/dist/tsconfig.extensions.tsbuildinfo +1 -1
  225. package/dist/web/standalone/.next/BUILD_ID +1 -1
  226. package/dist/web/standalone/.next/app-path-routes-manifest.json +10 -10
  227. package/dist/web/standalone/.next/build-manifest.json +5 -5
  228. package/dist/web/standalone/.next/prerender-manifest.json +3 -3
  229. package/dist/web/standalone/.next/react-loadable-manifest.json +47 -7
  230. package/dist/web/standalone/.next/required-server-files.json +4 -4
  231. package/dist/web/standalone/.next/server/app/_global-error/page.js +3 -3
  232. package/dist/web/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  233. package/dist/web/standalone/.next/server/app/_global-error.html +1 -1
  234. package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
  235. package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  236. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  237. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  238. package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  239. package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  240. package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  241. package/dist/web/standalone/.next/server/app/_not-found/page.js +2 -2
  242. package/dist/web/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  243. package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
  244. package/dist/web/standalone/.next/server/app/_not-found.rsc +4 -4
  245. package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  246. package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  247. package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
  248. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  249. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  250. package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  251. package/dist/web/standalone/.next/server/app/api/boot/route.js +1 -1
  252. package/dist/web/standalone/.next/server/app/api/boot/route.js.nft.json +1 -1
  253. package/dist/web/standalone/.next/server/app/api/boot/route_client-reference-manifest.js +1 -1
  254. package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route.js +1 -1
  255. package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route.js.nft.json +1 -1
  256. package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route_client-reference-manifest.js +1 -1
  257. package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route.js +1 -1
  258. package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route.js.nft.json +1 -1
  259. package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route_client-reference-manifest.js +1 -1
  260. package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route.js +2 -2
  261. package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route.js.nft.json +1 -1
  262. package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route_client-reference-manifest.js +1 -1
  263. package/dist/web/standalone/.next/server/app/api/browse-directories/route.js +1 -1
  264. package/dist/web/standalone/.next/server/app/api/browse-directories/route_client-reference-manifest.js +1 -1
  265. package/dist/web/standalone/.next/server/app/api/captures/route.js +1 -1
  266. package/dist/web/standalone/.next/server/app/api/captures/route.js.nft.json +1 -1
  267. package/dist/web/standalone/.next/server/app/api/captures/route_client-reference-manifest.js +1 -1
  268. package/dist/web/standalone/.next/server/app/api/cleanup/route.js +1 -1
  269. package/dist/web/standalone/.next/server/app/api/cleanup/route.js.nft.json +1 -1
  270. package/dist/web/standalone/.next/server/app/api/cleanup/route_client-reference-manifest.js +1 -1
  271. package/dist/web/standalone/.next/server/app/api/dev-mode/route.js +1 -1
  272. package/dist/web/standalone/.next/server/app/api/dev-mode/route_client-reference-manifest.js +1 -1
  273. package/dist/web/standalone/.next/server/app/api/doctor/route.js +1 -1
  274. package/dist/web/standalone/.next/server/app/api/doctor/route.js.nft.json +1 -1
  275. package/dist/web/standalone/.next/server/app/api/doctor/route_client-reference-manifest.js +1 -1
  276. package/dist/web/standalone/.next/server/app/api/experimental/route.js +2 -2
  277. package/dist/web/standalone/.next/server/app/api/experimental/route_client-reference-manifest.js +1 -1
  278. package/dist/web/standalone/.next/server/app/api/export-data/route.js +1 -1
  279. package/dist/web/standalone/.next/server/app/api/export-data/route.js.nft.json +1 -1
  280. package/dist/web/standalone/.next/server/app/api/export-data/route_client-reference-manifest.js +1 -1
  281. package/dist/web/standalone/.next/server/app/api/files/route.js +1 -1
  282. package/dist/web/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  283. package/dist/web/standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
  284. package/dist/web/standalone/.next/server/app/api/forensics/route.js +1 -1
  285. package/dist/web/standalone/.next/server/app/api/forensics/route.js.nft.json +1 -1
  286. package/dist/web/standalone/.next/server/app/api/forensics/route_client-reference-manifest.js +1 -1
  287. package/dist/web/standalone/.next/server/app/api/git/route.js +1 -1
  288. package/dist/web/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  289. package/dist/web/standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  290. package/dist/web/standalone/.next/server/app/api/history/route.js +1 -1
  291. package/dist/web/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
  292. package/dist/web/standalone/.next/server/app/api/history/route_client-reference-manifest.js +1 -1
  293. package/dist/web/standalone/.next/server/app/api/hooks/route.js +1 -1
  294. package/dist/web/standalone/.next/server/app/api/hooks/route.js.nft.json +1 -1
  295. package/dist/web/standalone/.next/server/app/api/hooks/route_client-reference-manifest.js +1 -1
  296. package/dist/web/standalone/.next/server/app/api/inspect/route.js +1 -1
  297. package/dist/web/standalone/.next/server/app/api/inspect/route.js.nft.json +1 -1
  298. package/dist/web/standalone/.next/server/app/api/inspect/route_client-reference-manifest.js +1 -1
  299. package/dist/web/standalone/.next/server/app/api/knowledge/route.js +1 -1
  300. package/dist/web/standalone/.next/server/app/api/knowledge/route.js.nft.json +1 -1
  301. package/dist/web/standalone/.next/server/app/api/knowledge/route_client-reference-manifest.js +1 -1
  302. package/dist/web/standalone/.next/server/app/api/live-state/route.js +1 -1
  303. package/dist/web/standalone/.next/server/app/api/live-state/route.js.nft.json +1 -1
  304. package/dist/web/standalone/.next/server/app/api/live-state/route_client-reference-manifest.js +1 -1
  305. package/dist/web/standalone/.next/server/app/api/notifications/route.js +2 -2
  306. package/dist/web/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  307. package/dist/web/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  308. package/dist/web/standalone/.next/server/app/api/onboarding/route.js +1 -1
  309. package/dist/web/standalone/.next/server/app/api/onboarding/route.js.nft.json +1 -1
  310. package/dist/web/standalone/.next/server/app/api/onboarding/route_client-reference-manifest.js +1 -1
  311. package/dist/web/standalone/.next/server/app/api/preferences/route.js +1 -1
  312. package/dist/web/standalone/.next/server/app/api/preferences/route_client-reference-manifest.js +1 -1
  313. package/dist/web/standalone/.next/server/app/api/projects/route.js +1 -1
  314. package/dist/web/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  315. package/dist/web/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  316. package/dist/web/standalone/.next/server/app/api/recovery/route.js +1 -1
  317. package/dist/web/standalone/.next/server/app/api/recovery/route.js.nft.json +1 -1
  318. package/dist/web/standalone/.next/server/app/api/recovery/route_client-reference-manifest.js +1 -1
  319. package/dist/web/standalone/.next/server/app/api/remote-questions/route.js +2 -2
  320. package/dist/web/standalone/.next/server/app/api/remote-questions/route_client-reference-manifest.js +1 -1
  321. package/dist/web/standalone/.next/server/app/api/session/browser/route.js +1 -1
  322. package/dist/web/standalone/.next/server/app/api/session/browser/route.js.nft.json +1 -1
  323. package/dist/web/standalone/.next/server/app/api/session/browser/route_client-reference-manifest.js +1 -1
  324. package/dist/web/standalone/.next/server/app/api/session/command/route.js +1 -1
  325. package/dist/web/standalone/.next/server/app/api/session/command/route.js.nft.json +1 -1
  326. package/dist/web/standalone/.next/server/app/api/session/command/route_client-reference-manifest.js +1 -1
  327. package/dist/web/standalone/.next/server/app/api/session/events/route.js +4 -2
  328. package/dist/web/standalone/.next/server/app/api/session/events/route.js.nft.json +1 -1
  329. package/dist/web/standalone/.next/server/app/api/session/events/route_client-reference-manifest.js +1 -1
  330. package/dist/web/standalone/.next/server/app/api/session/manage/route.js +1 -1
  331. package/dist/web/standalone/.next/server/app/api/session/manage/route.js.nft.json +1 -1
  332. package/dist/web/standalone/.next/server/app/api/session/manage/route_client-reference-manifest.js +1 -1
  333. package/dist/web/standalone/.next/server/app/api/settings-data/route.js +1 -1
  334. package/dist/web/standalone/.next/server/app/api/settings-data/route.js.nft.json +1 -1
  335. package/dist/web/standalone/.next/server/app/api/settings-data/route_client-reference-manifest.js +1 -1
  336. package/dist/web/standalone/.next/server/app/api/shutdown/route.js +1 -1
  337. package/dist/web/standalone/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  338. package/dist/web/standalone/.next/server/app/api/skill-health/route.js +1 -1
  339. package/dist/web/standalone/.next/server/app/api/skill-health/route.js.nft.json +1 -1
  340. package/dist/web/standalone/.next/server/app/api/skill-health/route_client-reference-manifest.js +1 -1
  341. package/dist/web/standalone/.next/server/app/api/steer/route.js +1 -1
  342. package/dist/web/standalone/.next/server/app/api/steer/route.js.nft.json +1 -1
  343. package/dist/web/standalone/.next/server/app/api/steer/route_client-reference-manifest.js +1 -1
  344. package/dist/web/standalone/.next/server/app/api/switch-root/route.js +1 -1
  345. package/dist/web/standalone/.next/server/app/api/switch-root/route.js.nft.json +1 -1
  346. package/dist/web/standalone/.next/server/app/api/switch-root/route_client-reference-manifest.js +1 -1
  347. package/dist/web/standalone/.next/server/app/api/terminal/input/route.js +2 -2
  348. package/dist/web/standalone/.next/server/app/api/terminal/input/route_client-reference-manifest.js +1 -1
  349. package/dist/web/standalone/.next/server/app/api/terminal/resize/route.js +2 -2
  350. package/dist/web/standalone/.next/server/app/api/terminal/resize/route_client-reference-manifest.js +1 -1
  351. package/dist/web/standalone/.next/server/app/api/terminal/sessions/route.js +2 -2
  352. package/dist/web/standalone/.next/server/app/api/terminal/sessions/route.js.nft.json +1 -1
  353. package/dist/web/standalone/.next/server/app/api/terminal/sessions/route_client-reference-manifest.js +1 -1
  354. package/dist/web/standalone/.next/server/app/api/terminal/stream/route.js +4 -4
  355. package/dist/web/standalone/.next/server/app/api/terminal/stream/route.js.nft.json +1 -1
  356. package/dist/web/standalone/.next/server/app/api/terminal/stream/route_client-reference-manifest.js +1 -1
  357. package/dist/web/standalone/.next/server/app/api/terminal/upload/route.js +1 -1
  358. package/dist/web/standalone/.next/server/app/api/terminal/upload/route_client-reference-manifest.js +1 -1
  359. package/dist/web/standalone/.next/server/app/api/undo/route.js +1 -1
  360. package/dist/web/standalone/.next/server/app/api/undo/route.js.nft.json +1 -1
  361. package/dist/web/standalone/.next/server/app/api/undo/route_client-reference-manifest.js +1 -1
  362. package/dist/web/standalone/.next/server/app/api/update/route.js +1 -1
  363. package/dist/web/standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  364. package/dist/web/standalone/.next/server/app/api/visualizer/route.js +1 -1
  365. package/dist/web/standalone/.next/server/app/api/visualizer/route.js.nft.json +1 -1
  366. package/dist/web/standalone/.next/server/app/api/visualizer/route_client-reference-manifest.js +1 -1
  367. package/dist/web/standalone/.next/server/app/index.html +1 -1
  368. package/dist/web/standalone/.next/server/app/index.rsc +5 -5
  369. package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  370. package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +5 -5
  371. package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  372. package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +4 -4
  373. package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  374. package/dist/web/standalone/.next/server/app/page.js +2 -2
  375. package/dist/web/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  376. package/dist/web/standalone/.next/server/app-paths-manifest.json +10 -10
  377. package/dist/web/standalone/.next/server/chunks/2331.js +16 -16
  378. package/dist/web/standalone/.next/server/chunks/4741.js +12 -12
  379. package/dist/web/standalone/.next/server/chunks/5822.js +2 -2
  380. package/dist/web/standalone/.next/server/chunks/63.js +8 -8
  381. package/dist/web/standalone/.next/server/chunks/6336.js +1 -0
  382. package/dist/web/standalone/.next/server/chunks/6897.js +3 -3
  383. package/dist/web/standalone/.next/server/functions-config-manifest.json +9 -0
  384. package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
  385. package/dist/web/standalone/.next/server/middleware-manifest.json +2 -29
  386. package/dist/web/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  387. package/dist/web/standalone/.next/server/middleware.js +12 -4
  388. package/dist/web/standalone/.next/server/next-font-manifest.js +1 -1
  389. package/dist/web/standalone/.next/server/next-font-manifest.json +1 -1
  390. package/dist/web/standalone/.next/server/pages/404.html +1 -1
  391. package/dist/web/standalone/.next/server/pages/500.html +1 -1
  392. package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
  393. package/dist/web/standalone/.next/server/webpack-runtime.js +1 -1
  394. package/dist/web/standalone/.next/static/chunks/2059.d6f49d697b624f2b.js +20 -0
  395. package/dist/web/standalone/.next/static/chunks/2556.0527fea66e123b7f.js +1 -0
  396. package/dist/web/standalone/.next/static/chunks/2824.461404167557f2cd.js +1 -0
  397. package/dist/web/standalone/.next/static/chunks/3026.3af53b279375f082.js +1 -0
  398. package/dist/web/standalone/.next/static/chunks/315.6f68ae79b67d25cf.js +1 -0
  399. package/dist/web/standalone/.next/static/chunks/3497.4bfc60a3b3dea717.js +1 -0
  400. package/dist/web/standalone/.next/static/chunks/363642f4.c6481b47ee815ba0.js +1 -0
  401. package/dist/web/standalone/.next/static/chunks/{3794-42fdce068d44fa4f.js → 3794-3fb4e6ee851037bb.js} +1 -1
  402. package/dist/web/standalone/.next/static/chunks/{4447.5bad7871be61ca73.js → 4447.fe6f304888d5ac71.js} +2 -2
  403. package/dist/web/standalone/.next/static/chunks/5326.def6842b53fecd26.js +1 -0
  404. package/dist/web/standalone/.next/static/chunks/5516.4a07c872b5c3a663.js +1 -0
  405. package/dist/web/standalone/.next/static/chunks/8336.6f6f30e410419aff.js +10 -0
  406. package/dist/web/standalone/.next/static/chunks/8845.c9702695e8c5a9c5.js +2 -0
  407. package/dist/web/standalone/.next/static/chunks/9441.1081da1125d1764f.js +1 -0
  408. package/dist/web/standalone/.next/static/chunks/app/_not-found/{page-2f24283c162b6ab3.js → page-f2a7482d42a5614b.js} +1 -1
  409. package/dist/web/standalone/.next/static/chunks/app/{layout-9ecfd95f343793f0.js → layout-a16c7a7ecdf0c2cf.js} +1 -1
  410. package/dist/web/standalone/.next/static/chunks/app/page-fab3ebb85b006001.js +1 -0
  411. package/dist/web/standalone/.next/static/chunks/{framework-711ef29bc66f648c.js → framework-34a8c4228d7fd161.js} +1 -1
  412. package/dist/web/standalone/.next/static/chunks/{main-6919d9dd919bd15f.js → main-2b7d1294417bb6bc.js} +1 -1
  413. package/dist/web/standalone/.next/static/chunks/main-app-fdab67f7802d7832.js +1 -0
  414. package/dist/web/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-459824ffb8c323dd.js +1 -0
  415. package/dist/web/standalone/.next/static/chunks/webpack-d82dbee6356c1733.js +1 -0
  416. package/dist/web/standalone/.next/static/css/{632cd626b1731d88.css → 54ec2745c1da488b.css} +1 -1
  417. package/dist/web/standalone/node_modules/@next/env/package.json +1 -1
  418. package/dist/web/standalone/node_modules/baseline-browser-mapping/dist/index.cjs +1 -1
  419. package/dist/web/standalone/node_modules/baseline-browser-mapping/package.json +3 -3
  420. package/dist/web/standalone/node_modules/caniuse-lite/data/agents.js +1 -1
  421. package/dist/web/standalone/node_modules/caniuse-lite/data/browserVersions.js +1 -1
  422. package/dist/web/standalone/node_modules/caniuse-lite/data/features/aac.js +1 -1
  423. package/dist/web/standalone/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -1
  424. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -1
  425. package/dist/web/standalone/node_modules/caniuse-lite/data/features/accelerometer.js +1 -1
  426. package/dist/web/standalone/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -1
  427. package/dist/web/standalone/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -1
  428. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ambient-light.js +1 -1
  429. package/dist/web/standalone/node_modules/caniuse-lite/data/features/apng.js +1 -1
  430. package/dist/web/standalone/node_modules/caniuse-lite/data/features/array-find-index.js +1 -1
  431. package/dist/web/standalone/node_modules/caniuse-lite/data/features/array-find.js +1 -1
  432. package/dist/web/standalone/node_modules/caniuse-lite/data/features/array-flat.js +1 -1
  433. package/dist/web/standalone/node_modules/caniuse-lite/data/features/array-includes.js +1 -1
  434. package/dist/web/standalone/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -1
  435. package/dist/web/standalone/node_modules/caniuse-lite/data/features/asmjs.js +1 -1
  436. package/dist/web/standalone/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -1
  437. package/dist/web/standalone/node_modules/caniuse-lite/data/features/async-functions.js +1 -1
  438. package/dist/web/standalone/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -1
  439. package/dist/web/standalone/node_modules/caniuse-lite/data/features/audio-api.js +1 -1
  440. package/dist/web/standalone/node_modules/caniuse-lite/data/features/audio.js +1 -1
  441. package/dist/web/standalone/node_modules/caniuse-lite/data/features/audiotracks.js +1 -1
  442. package/dist/web/standalone/node_modules/caniuse-lite/data/features/autofocus.js +1 -1
  443. package/dist/web/standalone/node_modules/caniuse-lite/data/features/auxclick.js +1 -1
  444. package/dist/web/standalone/node_modules/caniuse-lite/data/features/av1.js +1 -1
  445. package/dist/web/standalone/node_modules/caniuse-lite/data/features/avif.js +1 -1
  446. package/dist/web/standalone/node_modules/caniuse-lite/data/features/background-attachment.js +1 -1
  447. package/dist/web/standalone/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -1
  448. package/dist/web/standalone/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -1
  449. package/dist/web/standalone/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -1
  450. package/dist/web/standalone/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -1
  451. package/dist/web/standalone/node_modules/caniuse-lite/data/features/background-sync.js +1 -1
  452. package/dist/web/standalone/node_modules/caniuse-lite/data/features/battery-status.js +1 -1
  453. package/dist/web/standalone/node_modules/caniuse-lite/data/features/beacon.js +1 -1
  454. package/dist/web/standalone/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -1
  455. package/dist/web/standalone/node_modules/caniuse-lite/data/features/bigint.js +1 -1
  456. package/dist/web/standalone/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -1
  457. package/dist/web/standalone/node_modules/caniuse-lite/data/features/bloburls.js +1 -1
  458. package/dist/web/standalone/node_modules/caniuse-lite/data/features/border-image.js +1 -1
  459. package/dist/web/standalone/node_modules/caniuse-lite/data/features/border-radius.js +1 -1
  460. package/dist/web/standalone/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -1
  461. package/dist/web/standalone/node_modules/caniuse-lite/data/features/brotli.js +1 -1
  462. package/dist/web/standalone/node_modules/caniuse-lite/data/features/calc.js +1 -1
  463. package/dist/web/standalone/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -1
  464. package/dist/web/standalone/node_modules/caniuse-lite/data/features/canvas-text.js +1 -1
  465. package/dist/web/standalone/node_modules/caniuse-lite/data/features/canvas.js +1 -1
  466. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ch-unit.js +1 -1
  467. package/dist/web/standalone/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -1
  468. package/dist/web/standalone/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -1
  469. package/dist/web/standalone/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -1
  470. package/dist/web/standalone/node_modules/caniuse-lite/data/features/classlist.js +1 -1
  471. package/dist/web/standalone/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -1
  472. package/dist/web/standalone/node_modules/caniuse-lite/data/features/clipboard.js +1 -1
  473. package/dist/web/standalone/node_modules/caniuse-lite/data/features/colr-v1.js +1 -1
  474. package/dist/web/standalone/node_modules/caniuse-lite/data/features/colr.js +1 -1
  475. package/dist/web/standalone/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -1
  476. package/dist/web/standalone/node_modules/caniuse-lite/data/features/console-basic.js +1 -1
  477. package/dist/web/standalone/node_modules/caniuse-lite/data/features/console-time.js +1 -1
  478. package/dist/web/standalone/node_modules/caniuse-lite/data/features/const.js +1 -1
  479. package/dist/web/standalone/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -1
  480. package/dist/web/standalone/node_modules/caniuse-lite/data/features/contenteditable.js +1 -1
  481. package/dist/web/standalone/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -1
  482. package/dist/web/standalone/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -1
  483. package/dist/web/standalone/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -1
  484. package/dist/web/standalone/node_modules/caniuse-lite/data/features/cors.js +1 -1
  485. package/dist/web/standalone/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -1
  486. package/dist/web/standalone/node_modules/caniuse-lite/data/features/credential-management.js +1 -1
  487. package/dist/web/standalone/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js +1 -1
  488. package/dist/web/standalone/node_modules/caniuse-lite/data/features/cryptography.js +1 -1
  489. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-all.js +1 -1
  490. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -1
  491. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-animation.js +1 -1
  492. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-any-link.js +1 -1
  493. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-appearance.js +1 -1
  494. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -1
  495. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-autofill.js +1 -1
  496. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -1
  497. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -1
  498. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -1
  499. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -1
  500. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -1
  501. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-canvas.js +1 -1
  502. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -1
  503. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -1
  504. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -1
  505. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -1
  506. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -1
  507. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -1
  508. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-color-function.js +1 -1
  509. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -1
  510. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -1
  511. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -1
  512. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -1
  513. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-containment.js +1 -1
  514. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -1
  515. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-counters.js +1 -1
  516. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -1
  517. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -1
  518. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -1
  519. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -1
  520. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -1
  521. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -1
  522. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -1
  523. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-element-function.js +1 -1
  524. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-env-function.js +1 -1
  525. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-exclusions.js +1 -1
  526. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -1
  527. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -1
  528. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -1
  529. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-filters.js +1 -1
  530. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -1
  531. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-first-line.js +1 -1
  532. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-fixed.js +1 -1
  533. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -1
  534. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -1
  535. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -1
  536. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -1
  537. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -1
  538. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -1
  539. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-gradients.js +1 -1
  540. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -1
  541. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-grid-lanes.js +1 -1
  542. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-grid.js +1 -1
  543. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -1
  544. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-has.js +1 -1
  545. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -1
  546. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-if.js +1 -1
  547. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -1
  548. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-image-set.js +1 -1
  549. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -1
  550. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -1
  551. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -1
  552. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -1
  553. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -1
  554. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -1
  555. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -1
  556. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -1
  557. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -1
  558. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-masks.js +1 -1
  559. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -1
  560. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -1
  561. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -1
  562. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -1
  563. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -1
  564. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-media-scripting.js +1 -1
  565. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -1
  566. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -1
  567. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-module-scripts.js +1 -1
  568. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -1
  569. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -1
  570. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-nesting.js +1 -1
  571. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -1
  572. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -1
  573. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-opacity.js +1 -1
  574. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -1
  575. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -1
  576. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -1
  577. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-overflow.js +1 -1
  578. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -1
  579. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-page-break.js +1 -1
  580. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -1
  581. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -1
  582. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -1
  583. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -1
  584. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -1
  585. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -1
  586. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -1
  587. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-reflections.js +1 -1
  588. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-regions.js +1 -1
  589. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -1
  590. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -1
  591. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-resize.js +1 -1
  592. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -1
  593. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -1
  594. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -1
  595. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -1
  596. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-sel2.js +1 -1
  597. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-sel3.js +1 -1
  598. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-selection.js +1 -1
  599. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-shapes.js +1 -1
  600. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -1
  601. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-sticky.js +1 -1
  602. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -1
  603. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -1
  604. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-table.js +1 -1
  605. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -1
  606. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -1
  607. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -1
  608. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -1
  609. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -1
  610. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -1
  611. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -1
  612. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -1
  613. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -1
  614. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-transitions.js +1 -1
  615. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -1
  616. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -1
  617. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-variables.js +1 -1
  618. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-when-else.js +1 -1
  619. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -1
  620. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -1
  621. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -1
  622. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-zoom.js +1 -1
  623. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css3-attr.js +1 -1
  624. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -1
  625. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css3-colors.js +1 -1
  626. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -1
  627. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -1
  628. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -1
  629. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -1
  630. package/dist/web/standalone/node_modules/caniuse-lite/data/features/currentcolor.js +1 -1
  631. package/dist/web/standalone/node_modules/caniuse-lite/data/features/custom-elements.js +1 -1
  632. package/dist/web/standalone/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -1
  633. package/dist/web/standalone/node_modules/caniuse-lite/data/features/customevent.js +1 -1
  634. package/dist/web/standalone/node_modules/caniuse-lite/data/features/customizable-select.js +1 -1
  635. package/dist/web/standalone/node_modules/caniuse-lite/data/features/datalist.js +1 -1
  636. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dataset.js +1 -1
  637. package/dist/web/standalone/node_modules/caniuse-lite/data/features/datauri.js +1 -1
  638. package/dist/web/standalone/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -1
  639. package/dist/web/standalone/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -1
  640. package/dist/web/standalone/node_modules/caniuse-lite/data/features/decorators.js +1 -1
  641. package/dist/web/standalone/node_modules/caniuse-lite/data/features/details.js +1 -1
  642. package/dist/web/standalone/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -1
  643. package/dist/web/standalone/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -1
  644. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dialog.js +1 -1
  645. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -1
  646. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dnssec.js +1 -1
  647. package/dist/web/standalone/node_modules/caniuse-lite/data/features/do-not-track.js +1 -1
  648. package/dist/web/standalone/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -1
  649. package/dist/web/standalone/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -1
  650. package/dist/web/standalone/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -1
  651. package/dist/web/standalone/node_modules/caniuse-lite/data/features/document-policy.js +1 -1
  652. package/dist/web/standalone/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -1
  653. package/dist/web/standalone/node_modules/caniuse-lite/data/features/documenthead.js +1 -1
  654. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -1
  655. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dom-range.js +1 -1
  656. package/dist/web/standalone/node_modules/caniuse-lite/data/features/domcontentloaded.js +1 -1
  657. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dommatrix.js +1 -1
  658. package/dist/web/standalone/node_modules/caniuse-lite/data/features/download.js +1 -1
  659. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dragndrop.js +1 -1
  660. package/dist/web/standalone/node_modules/caniuse-lite/data/features/element-closest.js +1 -1
  661. package/dist/web/standalone/node_modules/caniuse-lite/data/features/element-from-point.js +1 -1
  662. package/dist/web/standalone/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -1
  663. package/dist/web/standalone/node_modules/caniuse-lite/data/features/eme.js +1 -1
  664. package/dist/web/standalone/node_modules/caniuse-lite/data/features/eot.js +1 -1
  665. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es5.js +1 -1
  666. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es6-class.js +1 -1
  667. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es6-generators.js +1 -1
  668. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -1
  669. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es6-module.js +1 -1
  670. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es6-number.js +1 -1
  671. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -1
  672. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es6.js +1 -1
  673. package/dist/web/standalone/node_modules/caniuse-lite/data/features/eventsource.js +1 -1
  674. package/dist/web/standalone/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -1
  675. package/dist/web/standalone/node_modules/caniuse-lite/data/features/feature-policy.js +1 -1
  676. package/dist/web/standalone/node_modules/caniuse-lite/data/features/fetch.js +1 -1
  677. package/dist/web/standalone/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -1
  678. package/dist/web/standalone/node_modules/caniuse-lite/data/features/fileapi.js +1 -1
  679. package/dist/web/standalone/node_modules/caniuse-lite/data/features/filereader.js +1 -1
  680. package/dist/web/standalone/node_modules/caniuse-lite/data/features/filereadersync.js +1 -1
  681. package/dist/web/standalone/node_modules/caniuse-lite/data/features/filesystem.js +1 -1
  682. package/dist/web/standalone/node_modules/caniuse-lite/data/features/flac.js +1 -1
  683. package/dist/web/standalone/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -1
  684. package/dist/web/standalone/node_modules/caniuse-lite/data/features/flexbox.js +1 -1
  685. package/dist/web/standalone/node_modules/caniuse-lite/data/features/flow-root.js +1 -1
  686. package/dist/web/standalone/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -1
  687. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -1
  688. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-feature.js +1 -1
  689. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-kerning.js +1 -1
  690. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-loading.js +1 -1
  691. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -1
  692. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-smooth.js +1 -1
  693. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -1
  694. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -1
  695. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -1
  696. package/dist/web/standalone/node_modules/caniuse-lite/data/features/fontface.js +1 -1
  697. package/dist/web/standalone/node_modules/caniuse-lite/data/features/form-attribute.js +1 -1
  698. package/dist/web/standalone/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -1
  699. package/dist/web/standalone/node_modules/caniuse-lite/data/features/form-validation.js +1 -1
  700. package/dist/web/standalone/node_modules/caniuse-lite/data/features/forms.js +1 -1
  701. package/dist/web/standalone/node_modules/caniuse-lite/data/features/fullscreen.js +1 -1
  702. package/dist/web/standalone/node_modules/caniuse-lite/data/features/gamepad.js +1 -1
  703. package/dist/web/standalone/node_modules/caniuse-lite/data/features/geolocation.js +1 -1
  704. package/dist/web/standalone/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -1
  705. package/dist/web/standalone/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -1
  706. package/dist/web/standalone/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -1
  707. package/dist/web/standalone/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -1
  708. package/dist/web/standalone/node_modules/caniuse-lite/data/features/gyroscope.js +1 -1
  709. package/dist/web/standalone/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -1
  710. package/dist/web/standalone/node_modules/caniuse-lite/data/features/hashchange.js +1 -1
  711. package/dist/web/standalone/node_modules/caniuse-lite/data/features/heif.js +1 -1
  712. package/dist/web/standalone/node_modules/caniuse-lite/data/features/hevc.js +1 -1
  713. package/dist/web/standalone/node_modules/caniuse-lite/data/features/hidden.js +1 -1
  714. package/dist/web/standalone/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -1
  715. package/dist/web/standalone/node_modules/caniuse-lite/data/features/history.js +1 -1
  716. package/dist/web/standalone/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -1
  717. package/dist/web/standalone/node_modules/caniuse-lite/data/features/html5semantic.js +1 -1
  718. package/dist/web/standalone/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -1
  719. package/dist/web/standalone/node_modules/caniuse-lite/data/features/http2.js +1 -1
  720. package/dist/web/standalone/node_modules/caniuse-lite/data/features/http3.js +1 -1
  721. package/dist/web/standalone/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -1
  722. package/dist/web/standalone/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -1
  723. package/dist/web/standalone/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -1
  724. package/dist/web/standalone/node_modules/caniuse-lite/data/features/imagecapture.js +1 -1
  725. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ime.js +1 -1
  726. package/dist/web/standalone/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +1 -1
  727. package/dist/web/standalone/node_modules/caniuse-lite/data/features/import-maps.js +1 -1
  728. package/dist/web/standalone/node_modules/caniuse-lite/data/features/imports.js +1 -1
  729. package/dist/web/standalone/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -1
  730. package/dist/web/standalone/node_modules/caniuse-lite/data/features/indexeddb.js +1 -1
  731. package/dist/web/standalone/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -1
  732. package/dist/web/standalone/node_modules/caniuse-lite/data/features/inline-block.js +1 -1
  733. package/dist/web/standalone/node_modules/caniuse-lite/data/features/innertext.js +1 -1
  734. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -1
  735. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-color.js +1 -1
  736. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-datetime.js +1 -1
  737. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -1
  738. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-event.js +1 -1
  739. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -1
  740. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -1
  741. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -1
  742. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -1
  743. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-minlength.js +1 -1
  744. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-number.js +1 -1
  745. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-pattern.js +1 -1
  746. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -1
  747. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-range.js +1 -1
  748. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-search.js +1 -1
  749. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-selection.js +1 -1
  750. package/dist/web/standalone/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -1
  751. package/dist/web/standalone/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -1
  752. package/dist/web/standalone/node_modules/caniuse-lite/data/features/internationalization.js +1 -1
  753. package/dist/web/standalone/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -1
  754. package/dist/web/standalone/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -1
  755. package/dist/web/standalone/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -1
  756. package/dist/web/standalone/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -1
  757. package/dist/web/standalone/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -1
  758. package/dist/web/standalone/node_modules/caniuse-lite/data/features/jpegxl.js +1 -1
  759. package/dist/web/standalone/node_modules/caniuse-lite/data/features/jpegxr.js +1 -1
  760. package/dist/web/standalone/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -1
  761. package/dist/web/standalone/node_modules/caniuse-lite/data/features/json.js +1 -1
  762. package/dist/web/standalone/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -1
  763. package/dist/web/standalone/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -1
  764. package/dist/web/standalone/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -1
  765. package/dist/web/standalone/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -1
  766. package/dist/web/standalone/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -1
  767. package/dist/web/standalone/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -1
  768. package/dist/web/standalone/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -1
  769. package/dist/web/standalone/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -1
  770. package/dist/web/standalone/node_modules/caniuse-lite/data/features/lazyload.js +1 -1
  771. package/dist/web/standalone/node_modules/caniuse-lite/data/features/let.js +1 -1
  772. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -1
  773. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -1
  774. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -1
  775. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -1
  776. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -1
  777. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -1
  778. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -1
  779. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -1
  780. package/dist/web/standalone/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -1
  781. package/dist/web/standalone/node_modules/caniuse-lite/data/features/loading-lazy-media.js +1 -1
  782. package/dist/web/standalone/node_modules/caniuse-lite/data/features/localecompare.js +1 -1
  783. package/dist/web/standalone/node_modules/caniuse-lite/data/features/magnetometer.js +1 -1
  784. package/dist/web/standalone/node_modules/caniuse-lite/data/features/matchesselector.js +1 -1
  785. package/dist/web/standalone/node_modules/caniuse-lite/data/features/matchmedia.js +1 -1
  786. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mathml.js +1 -1
  787. package/dist/web/standalone/node_modules/caniuse-lite/data/features/maxlength.js +1 -1
  788. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -1
  789. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -1
  790. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -1
  791. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -1
  792. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -1
  793. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -1
  794. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -1
  795. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -1
  796. package/dist/web/standalone/node_modules/caniuse-lite/data/features/media-fragments.js +1 -1
  797. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -1
  798. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -1
  799. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mediasource.js +1 -1
  800. package/dist/web/standalone/node_modules/caniuse-lite/data/features/menu.js +1 -1
  801. package/dist/web/standalone/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -1
  802. package/dist/web/standalone/node_modules/caniuse-lite/data/features/meter.js +1 -1
  803. package/dist/web/standalone/node_modules/caniuse-lite/data/features/midi.js +1 -1
  804. package/dist/web/standalone/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -1
  805. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mp3.js +1 -1
  806. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -1
  807. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mpeg4.js +1 -1
  808. package/dist/web/standalone/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -1
  809. package/dist/web/standalone/node_modules/caniuse-lite/data/features/multicolumn.js +1 -1
  810. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mutation-events.js +1 -1
  811. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -1
  812. package/dist/web/standalone/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -1
  813. package/dist/web/standalone/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -1
  814. package/dist/web/standalone/node_modules/caniuse-lite/data/features/nav-timing.js +1 -1
  815. package/dist/web/standalone/node_modules/caniuse-lite/data/features/netinfo.js +1 -1
  816. package/dist/web/standalone/node_modules/caniuse-lite/data/features/notifications.js +1 -1
  817. package/dist/web/standalone/node_modules/caniuse-lite/data/features/object-entries.js +1 -1
  818. package/dist/web/standalone/node_modules/caniuse-lite/data/features/object-fit.js +1 -1
  819. package/dist/web/standalone/node_modules/caniuse-lite/data/features/object-observe.js +1 -1
  820. package/dist/web/standalone/node_modules/caniuse-lite/data/features/object-values.js +1 -1
  821. package/dist/web/standalone/node_modules/caniuse-lite/data/features/objectrtc.js +1 -1
  822. package/dist/web/standalone/node_modules/caniuse-lite/data/features/offline-apps.js +1 -1
  823. package/dist/web/standalone/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -1
  824. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -1
  825. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ogv.js +1 -1
  826. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -1
  827. package/dist/web/standalone/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -1
  828. package/dist/web/standalone/node_modules/caniuse-lite/data/features/online-status.js +1 -1
  829. package/dist/web/standalone/node_modules/caniuse-lite/data/features/opus.js +1 -1
  830. package/dist/web/standalone/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -1
  831. package/dist/web/standalone/node_modules/caniuse-lite/data/features/outline.js +1 -1
  832. package/dist/web/standalone/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -1
  833. package/dist/web/standalone/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -1
  834. package/dist/web/standalone/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -1
  835. package/dist/web/standalone/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -1
  836. package/dist/web/standalone/node_modules/caniuse-lite/data/features/passkeys.js +1 -1
  837. package/dist/web/standalone/node_modules/caniuse-lite/data/features/passwordrules.js +1 -1
  838. package/dist/web/standalone/node_modules/caniuse-lite/data/features/path2d.js +1 -1
  839. package/dist/web/standalone/node_modules/caniuse-lite/data/features/payment-request.js +1 -1
  840. package/dist/web/standalone/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -1
  841. package/dist/web/standalone/node_modules/caniuse-lite/data/features/permissions-api.js +1 -1
  842. package/dist/web/standalone/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -1
  843. package/dist/web/standalone/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -1
  844. package/dist/web/standalone/node_modules/caniuse-lite/data/features/picture.js +1 -1
  845. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ping.js +1 -1
  846. package/dist/web/standalone/node_modules/caniuse-lite/data/features/png-alpha.js +1 -1
  847. package/dist/web/standalone/node_modules/caniuse-lite/data/features/pointer-events.js +1 -1
  848. package/dist/web/standalone/node_modules/caniuse-lite/data/features/pointer.js +1 -1
  849. package/dist/web/standalone/node_modules/caniuse-lite/data/features/pointerlock.js +1 -1
  850. package/dist/web/standalone/node_modules/caniuse-lite/data/features/portals.js +1 -1
  851. package/dist/web/standalone/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -1
  852. package/dist/web/standalone/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -1
  853. package/dist/web/standalone/node_modules/caniuse-lite/data/features/progress.js +1 -1
  854. package/dist/web/standalone/node_modules/caniuse-lite/data/features/promise-finally.js +1 -1
  855. package/dist/web/standalone/node_modules/caniuse-lite/data/features/promises.js +1 -1
  856. package/dist/web/standalone/node_modules/caniuse-lite/data/features/proximity.js +1 -1
  857. package/dist/web/standalone/node_modules/caniuse-lite/data/features/proxy.js +1 -1
  858. package/dist/web/standalone/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -1
  859. package/dist/web/standalone/node_modules/caniuse-lite/data/features/push-api.js +1 -1
  860. package/dist/web/standalone/node_modules/caniuse-lite/data/features/queryselector.js +1 -1
  861. package/dist/web/standalone/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -1
  862. package/dist/web/standalone/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -1
  863. package/dist/web/standalone/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -1
  864. package/dist/web/standalone/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -1
  865. package/dist/web/standalone/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -1
  866. package/dist/web/standalone/node_modules/caniuse-lite/data/features/rellist.js +1 -1
  867. package/dist/web/standalone/node_modules/caniuse-lite/data/features/rem.js +1 -1
  868. package/dist/web/standalone/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -1
  869. package/dist/web/standalone/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -1
  870. package/dist/web/standalone/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -1
  871. package/dist/web/standalone/node_modules/caniuse-lite/data/features/resource-timing.js +1 -1
  872. package/dist/web/standalone/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -1
  873. package/dist/web/standalone/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -1
  874. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ruby.js +1 -1
  875. package/dist/web/standalone/node_modules/caniuse-lite/data/features/run-in.js +1 -1
  876. package/dist/web/standalone/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -1
  877. package/dist/web/standalone/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -1
  878. package/dist/web/standalone/node_modules/caniuse-lite/data/features/script-async.js +1 -1
  879. package/dist/web/standalone/node_modules/caniuse-lite/data/features/script-defer.js +1 -1
  880. package/dist/web/standalone/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -1
  881. package/dist/web/standalone/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -1
  882. package/dist/web/standalone/node_modules/caniuse-lite/data/features/sdch.js +1 -1
  883. package/dist/web/standalone/node_modules/caniuse-lite/data/features/selection-api.js +1 -1
  884. package/dist/web/standalone/node_modules/caniuse-lite/data/features/server-timing.js +1 -1
  885. package/dist/web/standalone/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -1
  886. package/dist/web/standalone/node_modules/caniuse-lite/data/features/setimmediate.js +1 -1
  887. package/dist/web/standalone/node_modules/caniuse-lite/data/features/shadowdom.js +1 -1
  888. package/dist/web/standalone/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -1
  889. package/dist/web/standalone/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -1
  890. package/dist/web/standalone/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -1
  891. package/dist/web/standalone/node_modules/caniuse-lite/data/features/sni.js +1 -1
  892. package/dist/web/standalone/node_modules/caniuse-lite/data/features/spdy.js +1 -1
  893. package/dist/web/standalone/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -1
  894. package/dist/web/standalone/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -1
  895. package/dist/web/standalone/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -1
  896. package/dist/web/standalone/node_modules/caniuse-lite/data/features/sql-storage.js +1 -1
  897. package/dist/web/standalone/node_modules/caniuse-lite/data/features/srcset.js +1 -1
  898. package/dist/web/standalone/node_modules/caniuse-lite/data/features/stream.js +1 -1
  899. package/dist/web/standalone/node_modules/caniuse-lite/data/features/streams.js +1 -1
  900. package/dist/web/standalone/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -1
  901. package/dist/web/standalone/node_modules/caniuse-lite/data/features/style-scoped.js +1 -1
  902. package/dist/web/standalone/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -1
  903. package/dist/web/standalone/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -1
  904. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-css.js +1 -1
  905. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-filters.js +1 -1
  906. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -1
  907. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -1
  908. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-html.js +1 -1
  909. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-html5.js +1 -1
  910. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-img.js +1 -1
  911. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-smil.js +1 -1
  912. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg.js +1 -1
  913. package/dist/web/standalone/node_modules/caniuse-lite/data/features/sxg.js +1 -1
  914. package/dist/web/standalone/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -1
  915. package/dist/web/standalone/node_modules/caniuse-lite/data/features/template-literals.js +1 -1
  916. package/dist/web/standalone/node_modules/caniuse-lite/data/features/template.js +1 -1
  917. package/dist/web/standalone/node_modules/caniuse-lite/data/features/temporal.js +1 -1
  918. package/dist/web/standalone/node_modules/caniuse-lite/data/features/testfeat.js +1 -1
  919. package/dist/web/standalone/node_modules/caniuse-lite/data/features/text-decoration.js +1 -1
  920. package/dist/web/standalone/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -1
  921. package/dist/web/standalone/node_modules/caniuse-lite/data/features/text-overflow.js +1 -1
  922. package/dist/web/standalone/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -1
  923. package/dist/web/standalone/node_modules/caniuse-lite/data/features/text-stroke.js +1 -1
  924. package/dist/web/standalone/node_modules/caniuse-lite/data/features/textcontent.js +1 -1
  925. package/dist/web/standalone/node_modules/caniuse-lite/data/features/textencoder.js +1 -1
  926. package/dist/web/standalone/node_modules/caniuse-lite/data/features/tls1-1.js +1 -1
  927. package/dist/web/standalone/node_modules/caniuse-lite/data/features/tls1-2.js +1 -1
  928. package/dist/web/standalone/node_modules/caniuse-lite/data/features/tls1-3.js +1 -1
  929. package/dist/web/standalone/node_modules/caniuse-lite/data/features/touch.js +1 -1
  930. package/dist/web/standalone/node_modules/caniuse-lite/data/features/transforms2d.js +1 -1
  931. package/dist/web/standalone/node_modules/caniuse-lite/data/features/transforms3d.js +1 -1
  932. package/dist/web/standalone/node_modules/caniuse-lite/data/features/trusted-types.js +1 -1
  933. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ttf.js +1 -1
  934. package/dist/web/standalone/node_modules/caniuse-lite/data/features/typedarrays.js +1 -1
  935. package/dist/web/standalone/node_modules/caniuse-lite/data/features/u2f.js +1 -1
  936. package/dist/web/standalone/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -1
  937. package/dist/web/standalone/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -1
  938. package/dist/web/standalone/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -1
  939. package/dist/web/standalone/node_modules/caniuse-lite/data/features/url.js +1 -1
  940. package/dist/web/standalone/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -1
  941. package/dist/web/standalone/node_modules/caniuse-lite/data/features/use-strict.js +1 -1
  942. package/dist/web/standalone/node_modules/caniuse-lite/data/features/user-select-none.js +1 -1
  943. package/dist/web/standalone/node_modules/caniuse-lite/data/features/user-timing.js +1 -1
  944. package/dist/web/standalone/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -1
  945. package/dist/web/standalone/node_modules/caniuse-lite/data/features/vector-effect.js +1 -1
  946. package/dist/web/standalone/node_modules/caniuse-lite/data/features/vibration.js +1 -1
  947. package/dist/web/standalone/node_modules/caniuse-lite/data/features/video.js +1 -1
  948. package/dist/web/standalone/node_modules/caniuse-lite/data/features/videotracks.js +1 -1
  949. package/dist/web/standalone/node_modules/caniuse-lite/data/features/view-transitions.js +1 -1
  950. package/dist/web/standalone/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -1
  951. package/dist/web/standalone/node_modules/caniuse-lite/data/features/viewport-units.js +1 -1
  952. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wai-aria.js +1 -1
  953. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wake-lock.js +1 -1
  954. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-bigint.js +1 -1
  955. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +1 -1
  956. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-extended-const.js +1 -1
  957. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-gc.js +1 -1
  958. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +1 -1
  959. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-multi-value.js +1 -1
  960. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +1 -1
  961. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +1 -1
  962. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-reference-types.js +1 -1
  963. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +1 -1
  964. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-signext.js +1 -1
  965. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-simd.js +1 -1
  966. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +1 -1
  967. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-threads.js +1 -1
  968. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm.js +1 -1
  969. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wav.js +1 -1
  970. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wbr-element.js +1 -1
  971. package/dist/web/standalone/node_modules/caniuse-lite/data/features/web-animation.js +1 -1
  972. package/dist/web/standalone/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -1
  973. package/dist/web/standalone/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -1
  974. package/dist/web/standalone/node_modules/caniuse-lite/data/features/web-serial.js +1 -1
  975. package/dist/web/standalone/node_modules/caniuse-lite/data/features/web-share.js +1 -1
  976. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webauthn.js +1 -1
  977. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webcodecs.js +1 -1
  978. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webgl.js +1 -1
  979. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webgl2.js +1 -1
  980. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webgpu.js +1 -1
  981. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webhid.js +1 -1
  982. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -1
  983. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webm.js +1 -1
  984. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webnfc.js +1 -1
  985. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webp.js +1 -1
  986. package/dist/web/standalone/node_modules/caniuse-lite/data/features/websockets.js +1 -1
  987. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webtransport.js +1 -1
  988. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webusb.js +1 -1
  989. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webvr.js +1 -1
  990. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webvtt.js +1 -1
  991. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webworkers.js +1 -1
  992. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webxr.js +1 -1
  993. package/dist/web/standalone/node_modules/caniuse-lite/data/features/will-change.js +1 -1
  994. package/dist/web/standalone/node_modules/caniuse-lite/data/features/woff.js +1 -1
  995. package/dist/web/standalone/node_modules/caniuse-lite/data/features/woff2.js +1 -1
  996. package/dist/web/standalone/node_modules/caniuse-lite/data/features/word-break.js +1 -1
  997. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wordwrap.js +1 -1
  998. package/dist/web/standalone/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -1
  999. package/dist/web/standalone/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -1
  1000. package/dist/web/standalone/node_modules/caniuse-lite/data/features/xhr2.js +1 -1
  1001. package/dist/web/standalone/node_modules/caniuse-lite/data/features/xhtml.js +1 -1
  1002. package/dist/web/standalone/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -1
  1003. package/dist/web/standalone/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -1
  1004. package/dist/web/standalone/node_modules/caniuse-lite/data/features/zstd.js +1 -1
  1005. package/dist/web/standalone/node_modules/caniuse-lite/package.json +7 -7
  1006. package/dist/web/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  1007. package/dist/web/standalone/node_modules/next/dist/build/webpack-config.js +3 -3
  1008. package/dist/web/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +7 -7
  1009. package/dist/web/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +6 -6
  1010. package/dist/web/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  1011. package/dist/web/standalone/node_modules/next/dist/server/config-schema.js +10 -2
  1012. package/dist/web/standalone/node_modules/next/dist/server/config.js +1 -1
  1013. package/dist/web/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  1014. package/dist/web/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  1015. package/dist/web/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  1016. package/dist/web/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  1017. package/dist/web/standalone/node_modules/next/dist/server/render.js +27 -20
  1018. package/dist/web/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  1019. package/dist/web/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  1020. package/dist/web/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  1021. package/dist/web/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  1022. package/dist/web/standalone/node_modules/next/package.json +15 -15
  1023. package/dist/web/standalone/node_modules/node-pty/build/Makefile +2 -2
  1024. package/dist/web/standalone/node_modules/node-pty/build/Release/pty.node +0 -0
  1025. package/dist/web/standalone/node_modules/node-pty/build/pty.target.mk +14 -14
  1026. package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api.target.mk +14 -14
  1027. package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api_except.target.mk +14 -14
  1028. package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api_maybe.target.mk +14 -14
  1029. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/container.js +26 -18
  1030. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/css-syntax-error.js +47 -14
  1031. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/input.js +54 -29
  1032. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/lazy-result.js +47 -37
  1033. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/map-generator.js +26 -9
  1034. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/no-work-result.js +57 -55
  1035. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/node.js +99 -31
  1036. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/parser.js +10 -9
  1037. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/previous-map.js +30 -11
  1038. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/processor.js +7 -7
  1039. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/result.js +5 -5
  1040. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/stringifier.js +69 -28
  1041. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/tokenize.js +6 -2
  1042. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/package.json +48 -48
  1043. package/dist/web/standalone/node_modules/react/cjs/react.development.js +1 -1
  1044. package/dist/web/standalone/node_modules/react/cjs/react.production.js +1 -1
  1045. package/dist/web/standalone/node_modules/react/package.json +1 -1
  1046. package/dist/web/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +1 -1
  1047. package/dist/web/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +1 -1
  1048. package/dist/web/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +3 -3
  1049. package/dist/web/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +3 -3
  1050. package/dist/web/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +3 -3
  1051. package/dist/web/standalone/node_modules/react-dom/cjs/react-dom.production.js +1 -1
  1052. package/dist/web/standalone/node_modules/react-dom/package.json +2 -2
  1053. package/dist/web/standalone/package.json +14 -8
  1054. package/dist/web/standalone/server.js +1 -1
  1055. package/dist/welcome-screen.js +27 -1
  1056. package/dist/worktree-cli.d.ts +6 -4
  1057. package/dist/worktree-cli.js +26 -20
  1058. package/dist/worktree-status-banner.d.ts +1 -0
  1059. package/dist/worktree-status-banner.js +132 -0
  1060. package/package.json +2 -4
  1061. package/packages/daemon/package.json +2 -2
  1062. package/packages/mcp-server/README.md +13 -11
  1063. package/packages/mcp-server/dist/alias-telemetry.d.ts +8 -0
  1064. package/packages/mcp-server/dist/alias-telemetry.d.ts.map +1 -0
  1065. package/packages/mcp-server/dist/alias-telemetry.js +30 -0
  1066. package/packages/mcp-server/dist/alias-telemetry.js.map +1 -0
  1067. package/packages/mcp-server/dist/env-writer.d.ts +5 -1
  1068. package/packages/mcp-server/dist/env-writer.d.ts.map +1 -1
  1069. package/packages/mcp-server/dist/env-writer.js +41 -8
  1070. package/packages/mcp-server/dist/env-writer.js.map +1 -1
  1071. package/packages/mcp-server/dist/readers/graph.d.ts.map +1 -1
  1072. package/packages/mcp-server/dist/readers/graph.js +7 -6
  1073. package/packages/mcp-server/dist/readers/graph.js.map +1 -1
  1074. package/packages/mcp-server/dist/readers/paths.d.ts +2 -0
  1075. package/packages/mcp-server/dist/readers/paths.d.ts.map +1 -1
  1076. package/packages/mcp-server/dist/readers/paths.js +163 -59
  1077. package/packages/mcp-server/dist/readers/paths.js.map +1 -1
  1078. package/packages/mcp-server/dist/remote-questions.d.ts +27 -0
  1079. package/packages/mcp-server/dist/remote-questions.d.ts.map +1 -1
  1080. package/packages/mcp-server/dist/remote-questions.js +47 -2
  1081. package/packages/mcp-server/dist/remote-questions.js.map +1 -1
  1082. package/packages/mcp-server/dist/server.d.ts +39 -1
  1083. package/packages/mcp-server/dist/server.d.ts.map +1 -1
  1084. package/packages/mcp-server/dist/server.js +228 -52
  1085. package/packages/mcp-server/dist/server.js.map +1 -1
  1086. package/packages/mcp-server/dist/session-manager.d.ts +6 -1
  1087. package/packages/mcp-server/dist/session-manager.d.ts.map +1 -1
  1088. package/packages/mcp-server/dist/session-manager.js +35 -13
  1089. package/packages/mcp-server/dist/session-manager.js.map +1 -1
  1090. package/packages/mcp-server/dist/workflow-tools.d.ts +7 -1
  1091. package/packages/mcp-server/dist/workflow-tools.d.ts.map +1 -1
  1092. package/packages/mcp-server/dist/workflow-tools.js +234 -76
  1093. package/packages/mcp-server/dist/workflow-tools.js.map +1 -1
  1094. package/packages/mcp-server/package.json +2 -2
  1095. package/packages/mcp-server/src/alias-telemetry.test.ts +78 -0
  1096. package/packages/mcp-server/src/alias-telemetry.ts +30 -0
  1097. package/packages/mcp-server/src/env-writer.test.ts +76 -1
  1098. package/packages/mcp-server/src/env-writer.ts +48 -9
  1099. package/packages/mcp-server/src/import-candidates.test.ts +9 -4
  1100. package/packages/mcp-server/src/mcp-server.test.ts +422 -2
  1101. package/packages/mcp-server/src/parse-workflow-args.test.ts +80 -0
  1102. package/packages/mcp-server/src/readers/graph.test.ts +5 -2
  1103. package/packages/mcp-server/src/readers/graph.ts +14 -6
  1104. package/packages/mcp-server/src/readers/paths.test.ts +67 -0
  1105. package/packages/mcp-server/src/readers/paths.ts +173 -56
  1106. package/packages/mcp-server/src/remote-questions.test.ts +103 -0
  1107. package/packages/mcp-server/src/remote-questions.ts +53 -2
  1108. package/packages/mcp-server/src/server.ts +284 -59
  1109. package/packages/mcp-server/src/session-manager.ts +33 -12
  1110. package/packages/mcp-server/src/workflow-tools.test.ts +308 -136
  1111. package/packages/mcp-server/src/workflow-tools.ts +265 -92
  1112. package/packages/mcp-server/tsconfig.tsbuildinfo +1 -1
  1113. package/packages/native/dist/stream-process/index.js +207 -6
  1114. package/packages/native/package.json +1 -1
  1115. package/packages/native/src/__tests__/stream-process.test.mjs +51 -18
  1116. package/packages/native/src/stream-process/index.ts +249 -11
  1117. package/packages/native/tsconfig.tsbuildinfo +1 -1
  1118. package/packages/pi-agent-core/package.json +1 -1
  1119. package/packages/pi-agent-core/tsconfig.tsbuildinfo +1 -1
  1120. package/packages/pi-ai/dist/providers/anthropic-bearer-auth.test.js +8 -2
  1121. package/packages/pi-ai/dist/providers/anthropic-bearer-auth.test.js.map +1 -1
  1122. package/packages/pi-ai/dist/providers/anthropic-shared.cache-breakpoint.test.d.ts +2 -0
  1123. package/packages/pi-ai/dist/providers/anthropic-shared.cache-breakpoint.test.d.ts.map +1 -0
  1124. package/packages/pi-ai/dist/providers/anthropic-shared.cache-breakpoint.test.js +231 -0
  1125. package/packages/pi-ai/dist/providers/anthropic-shared.cache-breakpoint.test.js.map +1 -0
  1126. package/packages/pi-ai/dist/providers/anthropic-shared.d.ts.map +1 -1
  1127. package/packages/pi-ai/dist/providers/anthropic-shared.js +48 -19
  1128. package/packages/pi-ai/dist/providers/anthropic-shared.js.map +1 -1
  1129. package/packages/pi-ai/dist/providers/minimax-tool-name.test.js +8 -2
  1130. package/packages/pi-ai/dist/providers/minimax-tool-name.test.js.map +1 -1
  1131. package/packages/pi-ai/dist/types.d.ts +13 -0
  1132. package/packages/pi-ai/dist/types.d.ts.map +1 -1
  1133. package/packages/pi-ai/dist/types.js.map +1 -1
  1134. package/packages/pi-ai/dist/utils/repair-tool-json.d.ts.map +1 -1
  1135. package/packages/pi-ai/dist/utils/repair-tool-json.js +24 -3
  1136. package/packages/pi-ai/dist/utils/repair-tool-json.js.map +1 -1
  1137. package/packages/pi-ai/dist/utils/tests/repair-tool-json.test.js +26 -0
  1138. package/packages/pi-ai/dist/utils/tests/repair-tool-json.test.js.map +1 -1
  1139. package/packages/pi-ai/package.json +1 -1
  1140. package/packages/pi-ai/src/providers/anthropic-bearer-auth.test.ts +8 -2
  1141. package/packages/pi-ai/src/providers/anthropic-shared.cache-breakpoint.test.ts +289 -0
  1142. package/packages/pi-ai/src/providers/anthropic-shared.ts +52 -20
  1143. package/packages/pi-ai/src/providers/minimax-tool-name.test.ts +9 -2
  1144. package/packages/pi-ai/src/types.ts +13 -0
  1145. package/packages/pi-ai/src/utils/repair-tool-json.ts +24 -3
  1146. package/packages/pi-ai/src/utils/tests/repair-tool-json.test.ts +32 -0
  1147. package/packages/pi-ai/tsconfig.tsbuildinfo +1 -1
  1148. package/packages/pi-coding-agent/dist/core/agent-session-abort-order.test.js +278 -0
  1149. package/packages/pi-coding-agent/dist/core/agent-session-abort-order.test.js.map +1 -1
  1150. package/packages/pi-coding-agent/dist/core/agent-session.d.ts +7 -0
  1151. package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  1152. package/packages/pi-coding-agent/dist/core/agent-session.js +131 -55
  1153. package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  1154. package/packages/pi-coding-agent/dist/core/extensions/runner.d.ts +1 -0
  1155. package/packages/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
  1156. package/packages/pi-coding-agent/dist/core/extensions/runner.js +43 -2
  1157. package/packages/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
  1158. package/packages/pi-coding-agent/dist/core/extensions/runner.test.js +79 -1
  1159. package/packages/pi-coding-agent/dist/core/extensions/runner.test.js.map +1 -1
  1160. package/packages/pi-coding-agent/dist/core/messages.d.ts.map +1 -1
  1161. package/packages/pi-coding-agent/dist/core/messages.js +4 -0
  1162. package/packages/pi-coding-agent/dist/core/messages.js.map +1 -1
  1163. package/packages/pi-coding-agent/dist/core/model-registry-auth-mode.test.js +19 -2
  1164. package/packages/pi-coding-agent/dist/core/model-registry-auth-mode.test.js.map +1 -1
  1165. package/packages/pi-coding-agent/dist/core/model-registry.d.ts +10 -0
  1166. package/packages/pi-coding-agent/dist/core/model-registry.d.ts.map +1 -1
  1167. package/packages/pi-coding-agent/dist/core/model-registry.js +18 -0
  1168. package/packages/pi-coding-agent/dist/core/model-registry.js.map +1 -1
  1169. package/packages/pi-coding-agent/dist/core/system-prompt.d.ts +13 -0
  1170. package/packages/pi-coding-agent/dist/core/system-prompt.d.ts.map +1 -1
  1171. package/packages/pi-coding-agent/dist/core/system-prompt.js +20 -16
  1172. package/packages/pi-coding-agent/dist/core/system-prompt.js.map +1 -1
  1173. package/packages/pi-coding-agent/dist/core/token-telemetry.d.ts +37 -0
  1174. package/packages/pi-coding-agent/dist/core/token-telemetry.d.ts.map +1 -0
  1175. package/packages/pi-coding-agent/dist/core/token-telemetry.js +49 -0
  1176. package/packages/pi-coding-agent/dist/core/token-telemetry.js.map +1 -0
  1177. package/packages/pi-coding-agent/dist/core/tools/bash-spawn-windows.test.js +24 -6
  1178. package/packages/pi-coding-agent/dist/core/tools/bash-spawn-windows.test.js.map +1 -1
  1179. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-card-cleanup-and-success-runtime.test.d.ts +2 -0
  1180. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-card-cleanup-and-success-runtime.test.d.ts.map +1 -0
  1181. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-card-cleanup-and-success-runtime.test.js +133 -0
  1182. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-card-cleanup-and-success-runtime.test.js.map +1 -0
  1183. package/packages/pi-coding-agent/dist/modes/interactive/controllers/input-controller.js +1 -1
  1184. package/packages/pi-coding-agent/dist/modes/interactive/controllers/input-controller.js.map +1 -1
  1185. package/packages/pi-coding-agent/dist/modes/interactive/controllers/input-controller.test.js +14 -1
  1186. package/packages/pi-coding-agent/dist/modes/interactive/controllers/input-controller.test.js.map +1 -1
  1187. package/packages/pi-coding-agent/dist/tests/system-prompt-cache-stability.test.d.ts +2 -0
  1188. package/packages/pi-coding-agent/dist/tests/system-prompt-cache-stability.test.d.ts.map +1 -0
  1189. package/packages/pi-coding-agent/dist/tests/system-prompt-cache-stability.test.js +78 -0
  1190. package/packages/pi-coding-agent/dist/tests/system-prompt-cache-stability.test.js.map +1 -0
  1191. package/packages/pi-coding-agent/dist/tests/token-telemetry.test.d.ts +2 -0
  1192. package/packages/pi-coding-agent/dist/tests/token-telemetry.test.d.ts.map +1 -0
  1193. package/packages/pi-coding-agent/dist/tests/token-telemetry.test.js +181 -0
  1194. package/packages/pi-coding-agent/dist/tests/token-telemetry.test.js.map +1 -0
  1195. package/packages/pi-coding-agent/package.json +1 -1
  1196. package/packages/pi-coding-agent/src/core/agent-session-abort-order.test.ts +319 -0
  1197. package/packages/pi-coding-agent/src/core/agent-session.ts +135 -59
  1198. package/packages/pi-coding-agent/src/core/extensions/runner.test.ts +89 -1
  1199. package/packages/pi-coding-agent/src/core/extensions/runner.ts +46 -2
  1200. package/packages/pi-coding-agent/src/core/messages.ts +4 -0
  1201. package/packages/pi-coding-agent/src/core/model-registry-auth-mode.test.ts +32 -2
  1202. package/packages/pi-coding-agent/src/core/model-registry.ts +21 -0
  1203. package/packages/pi-coding-agent/src/core/system-prompt.ts +33 -15
  1204. package/packages/pi-coding-agent/src/core/token-telemetry.ts +77 -0
  1205. package/packages/pi-coding-agent/src/core/tools/bash-spawn-windows.test.ts +26 -6
  1206. package/packages/pi-coding-agent/src/modes/interactive/components/tool-card-cleanup-and-success-runtime.test.ts +212 -0
  1207. package/packages/pi-coding-agent/src/modes/interactive/controllers/input-controller.test.ts +17 -1
  1208. package/packages/pi-coding-agent/src/modes/interactive/controllers/input-controller.ts +1 -1
  1209. package/packages/pi-coding-agent/src/tests/system-prompt-cache-stability.test.ts +102 -0
  1210. package/packages/pi-coding-agent/src/tests/token-telemetry.test.ts +200 -0
  1211. package/packages/pi-coding-agent/tsconfig.tsbuildinfo +1 -1
  1212. package/packages/pi-tui/dist/__tests__/autocomplete.test.js +17 -3
  1213. package/packages/pi-tui/dist/__tests__/autocomplete.test.js.map +1 -1
  1214. package/packages/pi-tui/dist/components/__tests__/leak-fixes-runtime.test.d.ts +2 -0
  1215. package/packages/pi-tui/dist/components/__tests__/leak-fixes-runtime.test.d.ts.map +1 -0
  1216. package/packages/pi-tui/dist/components/__tests__/leak-fixes-runtime.test.js +161 -0
  1217. package/packages/pi-tui/dist/components/__tests__/leak-fixes-runtime.test.js.map +1 -0
  1218. package/packages/pi-tui/package.json +1 -1
  1219. package/packages/pi-tui/src/__tests__/autocomplete.test.ts +20 -3
  1220. package/packages/pi-tui/src/components/__tests__/leak-fixes-runtime.test.ts +219 -0
  1221. package/packages/pi-tui/tsconfig.tsbuildinfo +1 -1
  1222. package/packages/rpc-client/package.json +1 -1
  1223. package/pkg/package.json +1 -1
  1224. package/src/resources/GSD-WORKFLOW.md +29 -42
  1225. package/src/resources/extensions/async-jobs/job-manager.ts +3 -0
  1226. package/src/resources/extensions/bg-shell/bg-shell-lifecycle.ts +3 -2
  1227. package/src/resources/extensions/bg-shell/utilities.ts +2 -1
  1228. package/src/resources/extensions/browser-tools/tools/intent.ts +13 -2
  1229. package/src/resources/extensions/claude-code-cli/readiness.ts +130 -30
  1230. package/src/resources/extensions/claude-code-cli/stream-adapter.ts +21 -8
  1231. package/src/resources/extensions/claude-code-cli/tests/stream-adapter.test.ts +34 -13
  1232. package/src/resources/extensions/github-sync/cli.ts +3 -0
  1233. package/src/resources/extensions/github-sync/sync.ts +88 -58
  1234. package/src/resources/extensions/github-sync/tests/sync-source.test.ts +26 -0
  1235. package/src/resources/extensions/google-search/index.ts +2 -9
  1236. package/src/resources/extensions/gsd/auto/loop-deps.ts +1 -1
  1237. package/src/resources/extensions/gsd/auto/loop.ts +24 -2
  1238. package/src/resources/extensions/gsd/auto/phases.ts +104 -40
  1239. package/src/resources/extensions/gsd/auto/run-unit.ts +26 -12
  1240. package/src/resources/extensions/gsd/auto/session.ts +12 -6
  1241. package/src/resources/extensions/gsd/auto/types.ts +1 -0
  1242. package/src/resources/extensions/gsd/auto-artifact-paths.ts +60 -30
  1243. package/src/resources/extensions/gsd/auto-dashboard.ts +13 -2
  1244. package/src/resources/extensions/gsd/auto-direct-dispatch.ts +62 -24
  1245. package/src/resources/extensions/gsd/auto-dispatch.ts +275 -99
  1246. package/src/resources/extensions/gsd/auto-post-unit.ts +131 -45
  1247. package/src/resources/extensions/gsd/auto-prompts.ts +170 -9
  1248. package/src/resources/extensions/gsd/auto-recovery.ts +121 -21
  1249. package/src/resources/extensions/gsd/auto-runtime-state.ts +51 -0
  1250. package/src/resources/extensions/gsd/auto-start.ts +73 -73
  1251. package/src/resources/extensions/gsd/auto-timeout-recovery.ts +22 -0
  1252. package/src/resources/extensions/gsd/auto-timers.ts +37 -5
  1253. package/src/resources/extensions/gsd/auto-tool-tracking.ts +2 -4
  1254. package/src/resources/extensions/gsd/auto-worktree.ts +440 -244
  1255. package/src/resources/extensions/gsd/auto.ts +167 -26
  1256. package/src/resources/extensions/gsd/bootstrap/agent-end-recovery.ts +21 -2
  1257. package/src/resources/extensions/gsd/bootstrap/db-tools.ts +53 -20
  1258. package/src/resources/extensions/gsd/bootstrap/dynamic-tools.ts +9 -84
  1259. package/src/resources/extensions/gsd/bootstrap/exec-tools.ts +8 -7
  1260. package/src/resources/extensions/gsd/bootstrap/query-tools.ts +2 -2
  1261. package/src/resources/extensions/gsd/bootstrap/register-extension.ts +10 -9
  1262. package/src/resources/extensions/gsd/bootstrap/register-hooks.ts +217 -47
  1263. package/src/resources/extensions/gsd/bootstrap/register-shortcuts.ts +12 -6
  1264. package/src/resources/extensions/gsd/bootstrap/subagent-input.ts +20 -0
  1265. package/src/resources/extensions/gsd/bootstrap/system-context.ts +53 -12
  1266. package/src/resources/extensions/gsd/bootstrap/tests/write-gate-basepath.test.ts +103 -0
  1267. package/src/resources/extensions/gsd/bootstrap/write-gate.ts +306 -74
  1268. package/src/resources/extensions/gsd/branch-patterns.ts +3 -3
  1269. package/src/resources/extensions/gsd/commands/catalog.ts +87 -9
  1270. package/src/resources/extensions/gsd/commands/context.ts +40 -6
  1271. package/src/resources/extensions/gsd/commands/dispatcher.ts +11 -5
  1272. package/src/resources/extensions/gsd/commands/handlers/auto.ts +2 -1
  1273. package/src/resources/extensions/gsd/commands/handlers/core.ts +25 -1
  1274. package/src/resources/extensions/gsd/commands/handlers/ops.ts +15 -0
  1275. package/src/resources/extensions/gsd/commands/handlers/workflow.ts +23 -2
  1276. package/src/resources/extensions/gsd/commands-bootstrap.ts +7 -0
  1277. package/src/resources/extensions/gsd/commands-codebase.ts +2 -1
  1278. package/src/resources/extensions/gsd/commands-config.ts +3 -2
  1279. package/src/resources/extensions/gsd/commands-debug.ts +27 -1
  1280. package/src/resources/extensions/gsd/commands-eval-review.ts +716 -0
  1281. package/src/resources/extensions/gsd/commands-extensions.ts +47 -7
  1282. package/src/resources/extensions/gsd/commands-handlers.ts +8 -7
  1283. package/src/resources/extensions/gsd/commands-logs.ts +2 -1
  1284. package/src/resources/extensions/gsd/commands-mcp-status.ts +3 -1
  1285. package/src/resources/extensions/gsd/commands-prefs-wizard.ts +15 -1
  1286. package/src/resources/extensions/gsd/commands-scan.ts +2 -1
  1287. package/src/resources/extensions/gsd/commands-ship.ts +101 -1
  1288. package/src/resources/extensions/gsd/commands-workflow-templates.ts +5 -4
  1289. package/src/resources/extensions/gsd/commands-worktree.ts +383 -0
  1290. package/src/resources/extensions/gsd/context-budget.ts +13 -2
  1291. package/src/resources/extensions/gsd/dashboard-overlay.ts +1 -1
  1292. package/src/resources/extensions/gsd/db-writer.ts +169 -89
  1293. package/src/resources/extensions/gsd/deep-project-setup-policy.ts +257 -0
  1294. package/src/resources/extensions/gsd/delegation-policy.ts +197 -0
  1295. package/src/resources/extensions/gsd/detection.ts +7 -7
  1296. package/src/resources/extensions/gsd/dispatch-guard.ts +6 -11
  1297. package/src/resources/extensions/gsd/docs/preferences-reference.md +16 -4
  1298. package/src/resources/extensions/gsd/doctor-engine-checks.ts +2 -2
  1299. package/src/resources/extensions/gsd/doctor-providers.ts +2 -1
  1300. package/src/resources/extensions/gsd/doctor-runtime-checks.ts +92 -1
  1301. package/src/resources/extensions/gsd/doctor-types.ts +4 -1
  1302. package/src/resources/extensions/gsd/error-classifier.ts +1 -1
  1303. package/src/resources/extensions/gsd/eval-review-schema.ts +243 -0
  1304. package/src/resources/extensions/gsd/forensics.ts +19 -8
  1305. package/src/resources/extensions/gsd/git-service.ts +94 -8
  1306. package/src/resources/extensions/gsd/gsd-db.ts +284 -12
  1307. package/src/resources/extensions/gsd/gsd-home.ts +30 -0
  1308. package/src/resources/extensions/gsd/guided-flow-queue.ts +1 -1
  1309. package/src/resources/extensions/gsd/guided-flow.ts +519 -141
  1310. package/src/resources/extensions/gsd/init-wizard.ts +17 -20
  1311. package/src/resources/extensions/gsd/interrupted-session.ts +39 -2
  1312. package/src/resources/extensions/gsd/journal.ts +4 -1
  1313. package/src/resources/extensions/gsd/key-manager.ts +2 -1
  1314. package/src/resources/extensions/gsd/markdown-renderer.ts +58 -79
  1315. package/src/resources/extensions/gsd/memory-store.ts +81 -28
  1316. package/src/resources/extensions/gsd/metrics.ts +321 -1
  1317. package/src/resources/extensions/gsd/migrate/command.ts +3 -2
  1318. package/src/resources/extensions/gsd/milestone-id-reservation.ts +47 -0
  1319. package/src/resources/extensions/gsd/milestone-scope-classifier.ts +15 -8
  1320. package/src/resources/extensions/gsd/model-router.ts +172 -9
  1321. package/src/resources/extensions/gsd/native-git-bridge.ts +26 -42
  1322. package/src/resources/extensions/gsd/onboarding-state.ts +2 -2
  1323. package/src/resources/extensions/gsd/parallel-merge.ts +14 -13
  1324. package/src/resources/extensions/gsd/parallel-monitor-overlay.ts +5 -2
  1325. package/src/resources/extensions/gsd/paths.ts +158 -9
  1326. package/src/resources/extensions/gsd/planning-depth.ts +137 -0
  1327. package/src/resources/extensions/gsd/preferences-models.ts +119 -16
  1328. package/src/resources/extensions/gsd/preferences-skills.ts +2 -1
  1329. package/src/resources/extensions/gsd/preferences-types.ts +17 -0
  1330. package/src/resources/extensions/gsd/preferences-validation.ts +44 -0
  1331. package/src/resources/extensions/gsd/preferences.ts +42 -7
  1332. package/src/resources/extensions/gsd/project-research-policy.ts +259 -0
  1333. package/src/resources/extensions/gsd/prompt-loader.ts +28 -15
  1334. package/src/resources/extensions/gsd/prompts/complete-milestone.md +10 -0
  1335. package/src/resources/extensions/gsd/prompts/complete-slice.md +14 -4
  1336. package/src/resources/extensions/gsd/prompts/execute-task.md +3 -3
  1337. package/src/resources/extensions/gsd/prompts/guided-discuss-milestone.md +10 -1
  1338. package/src/resources/extensions/gsd/prompts/guided-discuss-project.md +148 -0
  1339. package/src/resources/extensions/gsd/prompts/guided-discuss-requirements.md +126 -0
  1340. package/src/resources/extensions/gsd/prompts/guided-discuss-slice.md +8 -1
  1341. package/src/resources/extensions/gsd/prompts/guided-research-decision.md +70 -0
  1342. package/src/resources/extensions/gsd/prompts/guided-research-project.md +120 -0
  1343. package/src/resources/extensions/gsd/prompts/guided-workflow-preferences.md +68 -0
  1344. package/src/resources/extensions/gsd/prompts/parallel-research-slices.md +2 -0
  1345. package/src/resources/extensions/gsd/prompts/plan-milestone.md +8 -2
  1346. package/src/resources/extensions/gsd/prompts/plan-slice.md +18 -6
  1347. package/src/resources/extensions/gsd/prompts/refine-slice.md +10 -0
  1348. package/src/resources/extensions/gsd/prompts/rewrite-docs.md +2 -0
  1349. package/src/resources/extensions/gsd/prompts/system.md +4 -4
  1350. package/src/resources/extensions/gsd/queue-order.ts +6 -1
  1351. package/src/resources/extensions/gsd/repo-identity.ts +15 -9
  1352. package/src/resources/extensions/gsd/rethink.ts +2 -1
  1353. package/src/resources/extensions/gsd/safety/git-checkpoint.ts +10 -1
  1354. package/src/resources/extensions/gsd/schemas/__fixtures__/valid-project.md +26 -0
  1355. package/src/resources/extensions/gsd/schemas/__fixtures__/valid-requirements.md +57 -0
  1356. package/src/resources/extensions/gsd/schemas/__fixtures__/valid-roadmap.md +19 -0
  1357. package/src/resources/extensions/gsd/schemas/parsers.ts +346 -0
  1358. package/src/resources/extensions/gsd/schemas/validate.ts +452 -0
  1359. package/src/resources/extensions/gsd/skill-telemetry.ts +3 -2
  1360. package/src/resources/extensions/gsd/slice-cadence.ts +71 -6
  1361. package/src/resources/extensions/gsd/slice-parallel-orchestrator.ts +9 -3
  1362. package/src/resources/extensions/gsd/state.ts +133 -389
  1363. package/src/resources/extensions/gsd/templates/PREFERENCES.md +1 -0
  1364. package/src/resources/extensions/gsd/templates/project.md +10 -0
  1365. package/src/resources/extensions/gsd/tests/artifact-corruption-2630.test.ts +1 -0
  1366. package/src/resources/extensions/gsd/tests/artifact-validators.test.ts +524 -0
  1367. package/src/resources/extensions/gsd/tests/auto-dashboard.test.ts +20 -0
  1368. package/src/resources/extensions/gsd/tests/auto-discuss-milestone-deadlock-4973.test.ts +42 -17
  1369. package/src/resources/extensions/gsd/tests/auto-loop.test.ts +274 -30
  1370. package/src/resources/extensions/gsd/tests/auto-paused-session-validation.test.ts +6 -0
  1371. package/src/resources/extensions/gsd/tests/auto-recovery.test.ts +58 -0
  1372. package/src/resources/extensions/gsd/tests/auto-remediate-slice-status.test.ts +21 -34
  1373. package/src/resources/extensions/gsd/tests/auto-session-encapsulation.test.ts +24 -5
  1374. package/src/resources/extensions/gsd/tests/auto-session-scope.test.ts +331 -0
  1375. package/src/resources/extensions/gsd/tests/auto-start-clean-runtime-db-gated.test.ts +32 -1
  1376. package/src/resources/extensions/gsd/tests/auto-start-index-lock.test.ts +38 -0
  1377. package/src/resources/extensions/gsd/tests/auto-supervisor.test.mjs +21 -4
  1378. package/src/resources/extensions/gsd/tests/auto-worktree-registry.test.ts +176 -0
  1379. package/src/resources/extensions/gsd/tests/auto-wrapup-inflight-guard.test.ts +56 -0
  1380. package/src/resources/extensions/gsd/tests/bootstrap-derive-state-db-open.test.ts +1 -1
  1381. package/src/resources/extensions/gsd/tests/budget-prediction.test.ts +138 -211
  1382. package/src/resources/extensions/gsd/tests/bundled-skill-triggers.test.ts +50 -27
  1383. package/src/resources/extensions/gsd/tests/commands-eval-review.test.ts +612 -0
  1384. package/src/resources/extensions/gsd/tests/commands-extensions-version-compare.test.ts +58 -0
  1385. package/src/resources/extensions/gsd/tests/commands-ship-eval-warn.test.ts +155 -0
  1386. package/src/resources/extensions/gsd/tests/commands-worktree-clean.test.ts +48 -0
  1387. package/src/resources/extensions/gsd/tests/complete-slice-verification-gate.test.ts +142 -59
  1388. package/src/resources/extensions/gsd/tests/complete-slice.test.ts +7 -4
  1389. package/src/resources/extensions/gsd/tests/complete-task-rollback-evidence.test.ts +6 -7
  1390. package/src/resources/extensions/gsd/tests/complete-task.test.ts +8 -6
  1391. package/src/resources/extensions/gsd/tests/completed-at-reconcile.test.ts +76 -34
  1392. package/src/resources/extensions/gsd/tests/completed-units-metrics-sync.test.ts +18 -5
  1393. package/src/resources/extensions/gsd/tests/context-budget.test.ts +28 -0
  1394. package/src/resources/extensions/gsd/tests/crash-recovery.test.ts +50 -0
  1395. package/src/resources/extensions/gsd/tests/custom-engine-loop-integration.test.ts +42 -23
  1396. package/src/resources/extensions/gsd/tests/db-path-worktree-symlink.test.ts +7 -47
  1397. package/src/resources/extensions/gsd/tests/db-writer-path-containment.test.ts +152 -0
  1398. package/src/resources/extensions/gsd/tests/db-writer-root-artifact.test.ts +221 -0
  1399. package/src/resources/extensions/gsd/tests/db-writer-scope.test.ts +230 -0
  1400. package/src/resources/extensions/gsd/tests/db-writer.test.ts +165 -21
  1401. package/src/resources/extensions/gsd/tests/debug-command-handler.test.ts +37 -0
  1402. package/src/resources/extensions/gsd/tests/debug-logger.test.ts +5 -3
  1403. package/src/resources/extensions/gsd/tests/deep-mode-integration.test.ts +406 -0
  1404. package/src/resources/extensions/gsd/tests/deep-planning-mode-dispatch.test.ts +881 -0
  1405. package/src/resources/extensions/gsd/tests/deep-project-auto-loop.test.ts +1562 -0
  1406. package/src/resources/extensions/gsd/tests/deep-project-setup-policy.test.ts +193 -0
  1407. package/src/resources/extensions/gsd/tests/deferred-milestone-dir-4996.test.ts +116 -0
  1408. package/src/resources/extensions/gsd/tests/delegation-policy.test.ts +151 -0
  1409. package/src/resources/extensions/gsd/tests/derive-state-crossval.test.ts +6 -5
  1410. package/src/resources/extensions/gsd/tests/derive-state-db-disk-reconcile.test.ts +10 -38
  1411. package/src/resources/extensions/gsd/tests/derive-state-db.test.ts +136 -56
  1412. package/src/resources/extensions/gsd/tests/derive-state-draft.test.ts +3 -0
  1413. package/src/resources/extensions/gsd/tests/derive-state-helpers.test.ts +119 -61
  1414. package/src/resources/extensions/gsd/tests/derive-state.test.ts +4 -0
  1415. package/src/resources/extensions/gsd/tests/discuss-empty-db-fallback.test.ts +22 -87
  1416. package/src/resources/extensions/gsd/tests/discuss-queued-milestones.test.ts +7 -118
  1417. package/src/resources/extensions/gsd/tests/discuss-tool-scope-leak.test.ts +18 -60
  1418. package/src/resources/extensions/gsd/tests/dispatch-backgroundable-annotation.test.ts +55 -0
  1419. package/src/resources/extensions/gsd/tests/dispatch-complete-milestone-guard.test.ts +6 -20
  1420. package/src/resources/extensions/gsd/tests/dispatch-guard.test.ts +4 -5
  1421. package/src/resources/extensions/gsd/tests/dispatcher-stuck-planning.test.ts +14 -15
  1422. package/src/resources/extensions/gsd/tests/doctor-orphan-milestone-4996.test.ts +100 -0
  1423. package/src/resources/extensions/gsd/tests/double-merge-guard.test.ts +14 -76
  1424. package/src/resources/extensions/gsd/tests/draft-promotion.test.ts +3 -23
  1425. package/src/resources/extensions/gsd/tests/ensure-db-open.test.ts +11 -16
  1426. package/src/resources/extensions/gsd/tests/ensure-preconditions-guard-4996.test.ts +93 -0
  1427. package/src/resources/extensions/gsd/tests/escalation.test.ts +2 -1
  1428. package/src/resources/extensions/gsd/tests/eval-review-schema.test.ts +282 -0
  1429. package/src/resources/extensions/gsd/tests/false-degraded-mode-warning.test.ts +22 -83
  1430. package/src/resources/extensions/gsd/tests/finalize-timeout-guard.test.ts +1 -63
  1431. package/src/resources/extensions/gsd/tests/find-missing-summaries-closed-runtime.test.ts +47 -0
  1432. package/src/resources/extensions/gsd/tests/forensics-stuck-loops.test.ts +26 -1
  1433. package/src/resources/extensions/gsd/tests/gate-1b-orphan-discrimination.test.ts +193 -0
  1434. package/src/resources/extensions/gsd/tests/gate-1b-recovery-bound-corrections.test.ts +246 -0
  1435. package/src/resources/extensions/gsd/tests/gate-1b-recovery-bound.test.ts +218 -0
  1436. package/src/resources/extensions/gsd/tests/git-checkpoint.test.ts +9 -0
  1437. package/src/resources/extensions/gsd/tests/gitignore-bg-shell-runtime.test.ts +63 -0
  1438. package/src/resources/extensions/gsd/tests/google-search-stub.test.ts +25 -65
  1439. package/src/resources/extensions/gsd/tests/gsd-db-failed-open-restore.test.ts +117 -0
  1440. package/src/resources/extensions/gsd/tests/gsd-db-workspace-scope.test.ts +226 -0
  1441. package/src/resources/extensions/gsd/tests/gsd-db.test.ts +32 -1
  1442. package/src/resources/extensions/gsd/tests/gsd-home.test.ts +43 -0
  1443. package/src/resources/extensions/gsd/tests/gsd-no-project-error-runtime.test.ts +95 -0
  1444. package/src/resources/extensions/gsd/tests/gsd-root-canonical.test.ts +66 -0
  1445. package/src/resources/extensions/gsd/tests/gsd-root-home-guard.test.ts +149 -0
  1446. package/src/resources/extensions/gsd/tests/gsdroot-worktree-detection.test.ts +15 -36
  1447. package/src/resources/extensions/gsd/tests/guided-flow-prompt-consolidation.test.ts +133 -0
  1448. package/src/resources/extensions/gsd/tests/handler-worktree-write-isolation.test.ts +57 -0
  1449. package/src/resources/extensions/gsd/tests/has-pending-deep-stage.test.ts +98 -0
  1450. package/src/resources/extensions/gsd/tests/headless-answers.test.ts +14 -4
  1451. package/src/resources/extensions/gsd/tests/health-widget.test.ts +22 -12
  1452. package/src/resources/extensions/gsd/tests/help-menu-coverage.test.ts +57 -0
  1453. package/src/resources/extensions/gsd/tests/import-done-milestones-runtime.test.ts +145 -0
  1454. package/src/resources/extensions/gsd/tests/init-prefs-routing.test.ts +64 -1
  1455. package/src/resources/extensions/gsd/tests/init-skip-git.test.ts +19 -0
  1456. package/src/resources/extensions/gsd/tests/init-wizard.test.ts +17 -0
  1457. package/src/resources/extensions/gsd/tests/integration/auto-worktree.test.ts +73 -1
  1458. package/src/resources/extensions/gsd/tests/integration/commands-eval-review.integration.test.ts +254 -0
  1459. package/src/resources/extensions/gsd/tests/integration/doctor-runtime.test.ts +40 -0
  1460. package/src/resources/extensions/gsd/tests/integration/git-service.test.ts +42 -0
  1461. package/src/resources/extensions/gsd/tests/integration/parallel-merge.test.ts +15 -15
  1462. package/src/resources/extensions/gsd/tests/integration/state-machine-edge-cases.test.ts +15 -5
  1463. package/src/resources/extensions/gsd/tests/integration/token-savings.test.ts +0 -23
  1464. package/src/resources/extensions/gsd/tests/integration/workspace-collapse-integration.test.ts +371 -0
  1465. package/src/resources/extensions/gsd/tests/journal-integration.test.ts +124 -7
  1466. package/src/resources/extensions/gsd/tests/markdown-renderer.test.ts +84 -9
  1467. package/src/resources/extensions/gsd/tests/md-importer.test.ts +2 -1
  1468. package/src/resources/extensions/gsd/tests/memory-store.test.ts +131 -2
  1469. package/src/resources/extensions/gsd/tests/memory-tools.test.ts +33 -1
  1470. package/src/resources/extensions/gsd/tests/merge-self-branch-guard.test.ts +124 -0
  1471. package/src/resources/extensions/gsd/tests/metrics-atomic-merge.test.ts +222 -0
  1472. package/src/resources/extensions/gsd/tests/metrics-lock-hardening.test.ts +400 -0
  1473. package/src/resources/extensions/gsd/tests/metrics-lock-not-acquired.test.ts +141 -0
  1474. package/src/resources/extensions/gsd/tests/metrics-lock-retry-sleep.test.ts +287 -0
  1475. package/src/resources/extensions/gsd/tests/metrics-prune-cache-invalidation.test.ts +149 -0
  1476. package/src/resources/extensions/gsd/tests/metrics-scope.test.ts +378 -0
  1477. package/src/resources/extensions/gsd/tests/milestone-id-gap-reuse-4996.test.ts +152 -0
  1478. package/src/resources/extensions/gsd/tests/milestone-report-path.test.ts +18 -1
  1479. package/src/resources/extensions/gsd/tests/milestone-scope-classifier.test.ts +19 -0
  1480. package/src/resources/extensions/gsd/tests/model-router.test.ts +169 -8
  1481. package/src/resources/extensions/gsd/tests/model-unittype-mapping.test.ts +19 -0
  1482. package/src/resources/extensions/gsd/tests/native-git-bridge-exec-fallback.test.ts +22 -2
  1483. package/src/resources/extensions/gsd/tests/native-git-infra-errors.test.ts +50 -0
  1484. package/src/resources/extensions/gsd/tests/none-mode-gates.test.ts +51 -3
  1485. package/src/resources/extensions/gsd/tests/originalbase-path-comparison.test.ts +329 -0
  1486. package/src/resources/extensions/gsd/tests/orphaned-worktree-audit.test.ts +8 -0
  1487. package/src/resources/extensions/gsd/tests/parallel-crash-recovery.test.ts +32 -43
  1488. package/src/resources/extensions/gsd/tests/park-milestone.test.ts +2 -0
  1489. package/src/resources/extensions/gsd/tests/path-cache-decoupled.test.ts +209 -0
  1490. package/src/resources/extensions/gsd/tests/path-normalization-unified.test.ts +175 -0
  1491. package/src/resources/extensions/gsd/tests/paths-cache.test.ts +170 -0
  1492. package/src/resources/extensions/gsd/tests/pending-autostart-scope.test.ts +120 -0
  1493. package/src/resources/extensions/gsd/tests/phases-merge-error-stops-auto.test.ts +4 -10
  1494. package/src/resources/extensions/gsd/tests/plan-milestone-artifact-verification.test.ts +40 -0
  1495. package/src/resources/extensions/gsd/tests/plan-slice-prompt.test.ts +0 -43
  1496. package/src/resources/extensions/gsd/tests/plan-slice.test.ts +33 -0
  1497. package/src/resources/extensions/gsd/tests/planning-depth-setter.test.ts +172 -0
  1498. package/src/resources/extensions/gsd/tests/post-unit-git-failure.test.ts +18 -0
  1499. package/src/resources/extensions/gsd/tests/preferences.test.ts +199 -0
  1500. package/src/resources/extensions/gsd/tests/prefs-wizard-coverage.test.ts +1 -0
  1501. package/src/resources/extensions/gsd/tests/progressive-planning.test.ts +25 -16
  1502. package/src/resources/extensions/gsd/tests/project-root-cwd-crash.test.ts +4 -4
  1503. package/src/resources/extensions/gsd/tests/projection-regression.test.ts +1 -0
  1504. package/src/resources/extensions/gsd/tests/prompt-budget-enforcement.test.ts +2 -2
  1505. package/src/resources/extensions/gsd/tests/prompt-contracts.test.ts +232 -28
  1506. package/src/resources/extensions/gsd/tests/prompt-step-ordering.test.ts +16 -0
  1507. package/src/resources/extensions/gsd/tests/provider-errors.test.ts +7 -0
  1508. package/src/resources/extensions/gsd/tests/quality-gates.test.ts +7 -16
  1509. package/src/resources/extensions/gsd/tests/quick-turn-end-cleanup.test.ts +6 -6
  1510. package/src/resources/extensions/gsd/tests/ready-phrase-no-files-4573.test.ts +267 -0
  1511. package/src/resources/extensions/gsd/tests/register-hooks-compaction-checkpoint.test.ts +98 -0
  1512. package/src/resources/extensions/gsd/tests/register-hooks-depth-verification.test.ts +286 -8
  1513. package/src/resources/extensions/gsd/tests/replan-slice.test.ts +3 -0
  1514. package/src/resources/extensions/gsd/tests/resolve-ts.mjs +4 -0
  1515. package/src/resources/extensions/gsd/tests/resume-missing-worktree-warning.test.ts +209 -0
  1516. package/src/resources/extensions/gsd/tests/rogue-file-detection.test.ts +3 -4
  1517. package/src/resources/extensions/gsd/tests/safety-harness-false-positives.test.ts +34 -0
  1518. package/src/resources/extensions/gsd/tests/session-start-footer.test.ts +168 -19
  1519. package/src/resources/extensions/gsd/tests/slice-cadence.test.ts +36 -0
  1520. package/src/resources/extensions/gsd/tests/slice-disk-reconcile.test.ts +10 -56
  1521. package/src/resources/extensions/gsd/tests/slice-parallel-orchestrator.test.ts +7 -1
  1522. package/src/resources/extensions/gsd/tests/smart-entry-complete.test.ts +23 -1
  1523. package/src/resources/extensions/gsd/tests/stale-slice-rows.test.ts +15 -16
  1524. package/src/resources/extensions/gsd/tests/start-auto-detached.test.ts +53 -0
  1525. package/src/resources/extensions/gsd/tests/stash-pop-gsd-conflict.test.ts +8 -2
  1526. package/src/resources/extensions/gsd/tests/stash-queued-context-files.test.ts +12 -6
  1527. package/src/resources/extensions/gsd/tests/state-corruption-2945.test.ts +1 -0
  1528. package/src/resources/extensions/gsd/tests/state-machine-full-walkthrough.test.ts +23 -27
  1529. package/src/resources/extensions/gsd/tests/steer-worktree-path.test.ts +30 -15
  1530. package/src/resources/extensions/gsd/tests/stop-auto-remote.test.ts +4 -3
  1531. package/src/resources/extensions/gsd/tests/sync-layer-scope.test.ts +453 -0
  1532. package/src/resources/extensions/gsd/tests/sync-worktree-skip-current.test.ts +10 -33
  1533. package/src/resources/extensions/gsd/tests/system-context-message-routing.test.ts +101 -0
  1534. package/src/resources/extensions/gsd/tests/teardown-chdir-failure-clears-registry.test.ts +162 -0
  1535. package/src/resources/extensions/gsd/tests/teardown-cleanup-parity.test.ts +102 -0
  1536. package/src/resources/extensions/gsd/tests/teardown-failure-clears-registry.test.ts +186 -0
  1537. package/src/resources/extensions/gsd/tests/token-counter.test.ts +9 -0
  1538. package/src/resources/extensions/gsd/tests/token-profile.test.ts +51 -4
  1539. package/src/resources/extensions/gsd/tests/tool-invocation-error-loop-break.test.ts +1 -1
  1540. package/src/resources/extensions/gsd/tests/tool-param-optionality.test.ts +34 -0
  1541. package/src/resources/extensions/gsd/tests/turn-epoch.test.ts +7 -16
  1542. package/src/resources/extensions/gsd/tests/unit-context-manifest.test.ts +48 -3
  1543. package/src/resources/extensions/gsd/tests/unit-runtime.test.ts +41 -0
  1544. package/src/resources/extensions/gsd/tests/unstructured-continue-context-injection.test.ts +5 -7
  1545. package/src/resources/extensions/gsd/tests/uok-gitops-turn-action.test.ts +15 -1
  1546. package/src/resources/extensions/gsd/tests/uok-plan-v2-wiring.test.ts +48 -0
  1547. package/src/resources/extensions/gsd/tests/validate-milestone-write-order.test.ts +7 -8
  1548. package/src/resources/extensions/gsd/tests/validate-milestone.test.ts +9 -15
  1549. package/src/resources/extensions/gsd/tests/validator-scope-parity.test.ts +239 -0
  1550. package/src/resources/extensions/gsd/tests/verify-artifact-tightened.test.ts +52 -1
  1551. package/src/resources/extensions/gsd/tests/visualizer-overlay.test.ts +6 -6
  1552. package/src/resources/extensions/gsd/tests/workflow-logger-wiring.test.ts +12 -7
  1553. package/src/resources/extensions/gsd/tests/workflow-mcp-auto-prep.test.ts +4 -4
  1554. package/src/resources/extensions/gsd/tests/workflow-mcp.test.ts +83 -4
  1555. package/src/resources/extensions/gsd/tests/workflow-tool-executors.test.ts +241 -4
  1556. package/src/resources/extensions/gsd/tests/workspace.test.ts +196 -0
  1557. package/src/resources/extensions/gsd/tests/worktree-db-same-file.test.ts +13 -0
  1558. package/src/resources/extensions/gsd/tests/worktree-main-branch.test.ts +5 -0
  1559. package/src/resources/extensions/gsd/tests/worktree-path-injection.test.ts +236 -0
  1560. package/src/resources/extensions/gsd/tests/worktree-resolver.test.ts +103 -0
  1561. package/src/resources/extensions/gsd/tests/worktree-root-resolution.test.ts +50 -0
  1562. package/src/resources/extensions/gsd/tests/worktree-root.test.ts +69 -0
  1563. package/src/resources/extensions/gsd/tests/worktree-symlink-removal.test.ts +34 -33
  1564. package/src/resources/extensions/gsd/tests/worktree-sync-milestones.test.ts +65 -71
  1565. package/src/resources/extensions/gsd/tests/worktree-sync-tasks.test.ts +26 -151
  1566. package/src/resources/extensions/gsd/tests/worktree.test.ts +8 -0
  1567. package/src/resources/extensions/gsd/tests/write-gate-planning-unit.test.ts +131 -1
  1568. package/src/resources/extensions/gsd/tests/write-gate-predicates.test.ts +43 -41
  1569. package/src/resources/extensions/gsd/tests/write-gate.test.ts +180 -57
  1570. package/src/resources/extensions/gsd/tests/write-intercept.test.ts +1 -1
  1571. package/src/resources/extensions/gsd/token-counter.ts +2 -1
  1572. package/src/resources/extensions/gsd/tools/complete-milestone.ts +7 -5
  1573. package/src/resources/extensions/gsd/tools/complete-slice.ts +7 -14
  1574. package/src/resources/extensions/gsd/tools/complete-task.ts +19 -34
  1575. package/src/resources/extensions/gsd/tools/memory-tools.ts +17 -1
  1576. package/src/resources/extensions/gsd/tools/plan-slice.ts +10 -9
  1577. package/src/resources/extensions/gsd/tools/validate-milestone.ts +7 -5
  1578. package/src/resources/extensions/gsd/tools/workflow-tool-executors.ts +81 -14
  1579. package/src/resources/extensions/gsd/unit-context-manifest.ts +141 -13
  1580. package/src/resources/extensions/gsd/unit-runtime.ts +76 -24
  1581. package/src/resources/extensions/gsd/uok/plan-v2.ts +19 -1
  1582. package/src/resources/extensions/gsd/user-input-boundary.ts +166 -0
  1583. package/src/resources/extensions/gsd/visualizer-overlay.ts +1 -1
  1584. package/src/resources/extensions/gsd/watch/header-renderer.ts +4 -1
  1585. package/src/resources/extensions/gsd/workflow-install.ts +2 -3
  1586. package/src/resources/extensions/gsd/workflow-logger.ts +1 -0
  1587. package/src/resources/extensions/gsd/workflow-manifest.ts +4 -1
  1588. package/src/resources/extensions/gsd/workflow-mcp-auto-prep.ts +2 -18
  1589. package/src/resources/extensions/gsd/workflow-mcp.ts +43 -6
  1590. package/src/resources/extensions/gsd/workflow-migration.ts +4 -3
  1591. package/src/resources/extensions/gsd/workflow-plugins.ts +4 -5
  1592. package/src/resources/extensions/gsd/workflow-reconcile.ts +3 -3
  1593. package/src/resources/extensions/gsd/workflow-templates.ts +2 -3
  1594. package/src/resources/extensions/gsd/workspace.ts +95 -0
  1595. package/src/resources/extensions/gsd/worktree-command.ts +35 -47
  1596. package/src/resources/extensions/gsd/worktree-manager.ts +46 -7
  1597. package/src/resources/extensions/gsd/worktree-resolver.ts +50 -22
  1598. package/src/resources/extensions/gsd/worktree-root.ts +182 -0
  1599. package/src/resources/extensions/gsd/worktree-session-state.ts +35 -0
  1600. package/src/resources/extensions/gsd/worktree.ts +8 -119
  1601. package/src/resources/extensions/gsd/write-intercept.ts +3 -3
  1602. package/src/resources/extensions/mcp-client/index.ts +6 -10
  1603. package/src/resources/extensions/mcp-client/tests/global-config.test.ts +91 -0
  1604. package/src/resources/extensions/ollama/index.ts +16 -2
  1605. package/src/resources/extensions/ollama/model-capabilities.ts +34 -0
  1606. package/src/resources/extensions/ollama/ollama-client.ts +41 -4
  1607. package/src/resources/extensions/ollama/tests/model-capabilities.test.ts +96 -0
  1608. package/src/resources/extensions/ollama/tests/ollama-client-timeout-env.test.ts +147 -0
  1609. package/src/resources/extensions/remote-questions/remote-command.ts +2 -1
  1610. package/src/resources/extensions/remote-questions/status.ts +2 -6
  1611. package/src/resources/extensions/remote-questions/store.ts +2 -6
  1612. package/src/resources/extensions/search-the-web/provider.ts +9 -8
  1613. package/src/resources/extensions/shared/next-action-ui.ts +8 -0
  1614. package/src/resources/extensions/shared/tests/next-action-ui-hasui.test.ts +112 -0
  1615. package/src/resources/extensions/slash-commands/create-extension.ts +38 -24
  1616. package/src/resources/extensions/subagent/index.ts +187 -16
  1617. package/src/resources/extensions/subagent/isolation.ts +2 -2
  1618. package/src/resources/extensions/subagent/tests/model-override.test.ts +55 -0
  1619. package/src/resources/extensions/ttsr/rule-loader.ts +2 -3
  1620. package/src/resources/extensions/voice/index.ts +3 -2
  1621. package/src/resources/extensions/voice/linux-ready.ts +2 -3
  1622. package/src/resources/skills/create-gsd-extension/SKILL.md +9 -5
  1623. package/src/resources/skills/create-gsd-extension/references/custom-commands.md +1 -1
  1624. package/src/resources/skills/create-gsd-extension/references/custom-rendering.md +5 -5
  1625. package/src/resources/skills/create-gsd-extension/references/custom-tools.md +4 -4
  1626. package/src/resources/skills/create-gsd-extension/references/custom-ui.md +6 -6
  1627. package/src/resources/skills/create-gsd-extension/references/events-reference.md +3 -3
  1628. package/src/resources/skills/create-gsd-extension/references/packaging-distribution.md +1 -1
  1629. package/src/resources/skills/create-gsd-extension/references/remote-execution-overrides.md +3 -3
  1630. package/src/resources/skills/create-gsd-extension/templates/extension-skeleton.ts +2 -2
  1631. package/src/resources/skills/create-gsd-extension/templates/stateful-tool-skeleton.ts +3 -3
  1632. package/src/resources/skills/create-gsd-extension/templates/templates.test.ts +58 -0
  1633. package/src/resources/skills/create-gsd-extension/workflows/create-extension.md +32 -12
  1634. package/src/resources/skills/lint/SKILL.md +4 -0
  1635. package/src/resources/skills/review/SKILL.md +4 -0
  1636. package/src/resources/skills/test/SKILL.md +3 -0
  1637. package/src/resources/skills/verify-before-complete/SKILL.md +1 -1
  1638. package/dist/resources/extensions/browser-tools/tests/browser-tools-integration.test.mjs +0 -601
  1639. package/dist/resources/extensions/browser-tools/tests/browser-tools-unit.test.cjs +0 -651
  1640. package/dist/resources/extensions/browser-tools/tests/capture-sharp-optional.test.cjs +0 -91
  1641. package/dist/resources/extensions/gsd/auto-loop.js +0 -13
  1642. package/dist/resources/extensions/gsd/prompts/guided-complete-slice.md +0 -3
  1643. package/dist/resources/extensions/gsd/prompts/guided-execute-task.md +0 -3
  1644. package/dist/resources/extensions/gsd/prompts/guided-plan-milestone.md +0 -30
  1645. package/dist/resources/extensions/gsd/prompts/guided-plan-slice.md +0 -3
  1646. package/dist/resources/extensions/gsd/tests/auto-supervisor.test.mjs +0 -53
  1647. package/dist/resources/extensions/gsd/tests/dist-redirect.mjs +0 -112
  1648. package/dist/resources/extensions/gsd/tests/resolve-ts-hooks.mjs +0 -23
  1649. package/dist/resources/extensions/gsd/tests/resolve-ts.mjs +0 -5
  1650. package/dist/resources/skills/github-workflows/references/gh/tests/__init__.py +0 -0
  1651. package/dist/resources/skills/github-workflows/references/gh/tests/test_github_project_setup.py +0 -608
  1652. package/dist/web/standalone/.next/server/chunks/1926.js +0 -1
  1653. package/dist/web/standalone/.next/server/edge-runtime-webpack.js +0 -2
  1654. package/dist/web/standalone/.next/static/chunks/2826.e9f5195e91f9cad2.js +0 -11
  1655. package/dist/web/standalone/.next/static/chunks/3621.fc7480022c972438.js +0 -20
  1656. package/dist/web/standalone/.next/static/chunks/363642f4.cf8b455e0d94b478.js +0 -1
  1657. package/dist/web/standalone/.next/static/chunks/5326.adc4bf49a22f4e67.js +0 -1
  1658. package/dist/web/standalone/.next/static/chunks/app/page-151349214571e2b6.js +0 -1
  1659. package/dist/web/standalone/.next/static/chunks/main-app-d3d4c336195465f9.js +0 -1
  1660. package/dist/web/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-ab5a8926e07ec673.js +0 -1
  1661. package/dist/web/standalone/.next/static/chunks/webpack-2e68521d7c82f7c2.js +0 -1
  1662. package/dist/web/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
  1663. package/dist/web/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  1664. package/dist/web/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -42
  1665. package/dist/web/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
  1666. package/dist/web/standalone/node_modules/@img/sharp-linuxmusl-x64/LICENSE +0 -191
  1667. package/dist/web/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  1668. package/dist/web/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
  1669. package/src/resources/extensions/gsd/auto-loop.ts +0 -16
  1670. package/src/resources/extensions/gsd/prompts/guided-complete-slice.md +0 -3
  1671. package/src/resources/extensions/gsd/prompts/guided-execute-task.md +0 -3
  1672. package/src/resources/extensions/gsd/prompts/guided-plan-milestone.md +0 -30
  1673. package/src/resources/extensions/gsd/prompts/guided-plan-slice.md +0 -3
  1674. package/src/resources/extensions/gsd/tests/copy-planning-artifacts-samepath.test.ts +0 -22
  1675. package/src/resources/extensions/gsd/tests/discuss-slice-structured-questions.test.ts +0 -47
  1676. package/src/resources/extensions/gsd/tests/empty-content-abort-loop.test.ts +0 -75
  1677. package/dist/web/standalone/.next/static/{C1zT2kEfoLhDdbWPWKrXd → X7_3k2EBYa-pIRIFXU3sv}/_buildManifest.js +0 -0
  1678. package/dist/web/standalone/.next/static/{C1zT2kEfoLhDdbWPWKrXd → X7_3k2EBYa-pIRIFXU3sv}/_ssgManifest.js +0 -0
  1679. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/at-rule.js +0 -0
  1680. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/comment.js +0 -0
  1681. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/declaration.js +4 -4
  1682. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/document.js +0 -0
  1683. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/fromJSON.js +3 -3
  1684. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/list.js +0 -0
  1685. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/parse.js +1 -1
  1686. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/postcss.js +12 -12
  1687. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/root.js +0 -0
  1688. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/rule.js +6 -6
  1689. /package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/stringify.js +0 -0
  1690. /package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/symbols.js +0 -0
  1691. /package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/terminal-highlight.js +0 -0
  1692. /package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/warn-once.js +0 -0
  1693. /package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/warning.js +0 -0
  1694. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/comparator.js +0 -0
  1695. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/range.js +0 -0
  1696. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/semver.js +0 -0
  1697. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/cmp.js +0 -0
  1698. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/coerce.js +0 -0
  1699. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/compare.js +0 -0
  1700. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/eq.js +0 -0
  1701. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gt.js +0 -0
  1702. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gte.js +0 -0
  1703. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lt.js +0 -0
  1704. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lte.js +0 -0
  1705. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/neq.js +0 -0
  1706. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/parse.js +0 -0
  1707. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/satisfies.js +0 -0
  1708. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/constants.js +0 -0
  1709. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/debug.js +0 -0
  1710. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/identifiers.js +0 -0
  1711. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/lrucache.js +0 -0
  1712. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/parse-options.js +0 -0
  1713. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/re.js +0 -0
  1714. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/package.json +0 -0
@@ -7,22 +7,23 @@
7
7
  */
8
8
  import { showNextAction } from "../shared/tui.js";
9
9
  import { loadFile, saveFile } from "./files.js";
10
- import { isDbAvailable, getMilestoneSlices } from "./gsd-db.js";
10
+ import { isDbAvailable, getMilestone, getMilestoneSlices } from "./gsd-db.js";
11
11
  import { parseRoadmapSlices } from "./roadmap-slices.js";
12
12
  import { loadPrompt, inlineTemplate } from "./prompt-loader.js";
13
- import { buildDiscussMilestonePrompt, buildSkillActivationBlock } from "./auto-prompts.js";
14
- import { deriveState } from "./state.js";
13
+ import { buildCompleteSlicePrompt, buildDiscussMilestonePrompt, buildExecuteTaskPrompt, buildPlanMilestonePrompt, buildPlanSlicePrompt, buildSkillActivationBlock, } from "./auto-prompts.js";
14
+ import { deriveState, isGhostMilestone } from "./state.js";
15
15
  import { invalidateAllCaches } from "./cache.js";
16
16
  import { startAutoDetached } from "./auto.js";
17
17
  import { clearLock } from "./crash-recovery.js";
18
18
  import { assessInterruptedSession, formatInterruptedSessionRunningMessage, formatInterruptedSessionSummary, } from "./interrupted-session.js";
19
19
  import { listUnitRuntimeRecords, clearUnitRuntimeRecord } from "./unit-runtime.js";
20
20
  import { resolveExpectedArtifactPath } from "./auto.js";
21
- import { gsdRoot, milestonesDir, resolveMilestoneFile, resolveSliceFile, resolveSlicePath, resolveGsdRootFile, relGsdRootFile, relMilestoneFile, relSliceFile, } from "./paths.js";
21
+ import { gsdHome } from "./gsd-home.js";
22
+ import { gsdRoot, milestonesDir, resolveMilestoneFile, resolveMilestonePath, resolveSliceFile, resolveSlicePath, resolveGsdRootFile, relGsdRootFile, relMilestoneFile, relSliceFile, clearPathCache, } from "./paths.js";
22
23
  import { join } from "node:path";
23
- import { readFileSync, existsSync, mkdirSync, readdirSync, unlinkSync } from "node:fs";
24
+ import { readFileSync, existsSync, mkdirSync, readdirSync, rmSync, unlinkSync } from "node:fs";
24
25
  import { readSessionLockData, isSessionLockProcessAlive } from "./session-lock.js";
25
- import { nativeIsRepo, nativeInit } from "./native-git-bridge.js";
26
+ import { nativeAddAll, nativeCommit, nativeHasCommittedHead, nativeIsRepo, nativeInit } from "./native-git-bridge.js";
26
27
  import { isInheritedRepo } from "./repo-identity.js";
27
28
  import { ensureGitignore, ensurePreferences, untrackRuntimeFiles } from "./gitignore.js";
28
29
  import { loadEffectiveGSDPreferences } from "./preferences.js";
@@ -33,27 +34,47 @@ import { showProjectInit, offerMigration } from "./init-wizard.js";
33
34
  import { validateDirectory } from "./validate-directory.js";
34
35
  import { showConfirm } from "../shared/tui.js";
35
36
  import { debugLog } from "./debug-logger.js";
36
- import { findMilestoneIds, nextMilestoneId, reserveMilestoneId, getReservedMilestoneIds, clearReservedMilestoneIds } from "./milestone-ids.js";
37
+ import { findMilestoneIds, clearReservedMilestoneIds } from "./milestone-ids.js";
38
+ import { nextMilestoneIdReserved } from "./milestone-id-reservation.js";
39
+ export { nextMilestoneIdReserved } from "./milestone-id-reservation.js";
37
40
  import { parkMilestone, discardMilestone } from "./milestone-actions.js";
38
41
  import { selectAndApplyModel } from "./auto-model-selection.js";
39
42
  import { DISCUSS_TOOLS_ALLOWLIST } from "./constants.js";
40
43
  import { getWorkflowTransportSupportError, getRequiredWorkflowToolsForGuidedUnit, supportsStructuredQuestions, } from "./workflow-mcp.js";
41
44
  import { runPreparation, formatCodebaseBrief, formatPriorContextBrief, } from "./preparation.js";
45
+ import { verifyExpectedArtifact } from "./auto-recovery.js";
46
+ import { createWorkspace, scopeMilestone } from "./workspace.js";
42
47
  // ─── Re-exports (preserve public API for existing importers) ────────────────
43
48
  export { MILESTONE_ID_RE, generateMilestoneSuffix, nextMilestoneId, extractMilestoneSeq, parseMilestoneId, milestoneIdSort, maxMilestoneNum, findMilestoneIds, reserveMilestoneId, claimReservedId, getReservedMilestoneIds, clearReservedMilestoneIds, } from "./milestone-ids.js";
44
49
  export { showQueue, handleQueueReorder, showQueueAdd, buildExistingMilestonesContext, } from "./guided-flow-queue.js";
45
50
  import { logWarning } from "./workflow-logger.js";
46
- // ─── ID Generation with Reservation ─────────────────────────────────────────
51
+ // ─── Scope-based validator wrappers ──────────────────────────────────────────
52
+ // These thin wrappers accept a MilestoneScope so callers that already hold a
53
+ // pinned scope never have to re-derive (basePath, milestoneId) separately.
54
+ // The underlying implementations in auto-recovery.ts / auto-artifact-paths.ts /
55
+ // state.ts are unchanged — only the call surface in guided-flow.ts is migrated.
47
56
  /**
48
- * Generate the next milestone ID, accounting for reserved IDs, and reserve it.
49
- * Ensures any preview ID shown in the UI matches what `gsd_milestone_generate_id`
50
- * will later return.
57
+ * Scope-based overload of verifyExpectedArtifact.
58
+ * Uses scope.workspace.projectRoot as the authoritative base path, making
59
+ * the check immune to cwd-drift and worktree-path divergence.
51
60
  */
52
- function nextMilestoneIdReserved(existingIds, uniqueEnabled) {
53
- const allIds = [...new Set([...existingIds, ...getReservedMilestoneIds()])];
54
- const id = nextMilestoneId(allIds, uniqueEnabled);
55
- reserveMilestoneId(id);
56
- return id;
61
+ export function verifyExpectedArtifactForScope(scope, unitType, unitId) {
62
+ return verifyExpectedArtifact(unitType, unitId, scope.workspace.projectRoot);
63
+ }
64
+ /**
65
+ * Scope-based overload of resolveExpectedArtifactPath.
66
+ * Returns the canonical absolute path (or null) using the scope's projectRoot.
67
+ */
68
+ export function resolveExpectedArtifactPathForScope(scope, unitType, unitId) {
69
+ return resolveExpectedArtifactPath(unitType, unitId, scope.workspace.projectRoot);
70
+ }
71
+ /**
72
+ * Scope-based overload of isGhostMilestone.
73
+ * Binds basePath and milestoneId from the scope, ensuring path resolution
74
+ * uses the canonical project root regardless of the cwd at call time.
75
+ */
76
+ export function isGhostMilestoneByScope(scope) {
77
+ return isGhostMilestone(scope.workspace.projectRoot, scope.milestoneId);
57
78
  }
58
79
  function needsPlanV2Gate(state) {
59
80
  return state.phase === "executing"
@@ -62,7 +83,7 @@ function needsPlanV2Gate(state) {
62
83
  || state.phase === "completing-milestone";
63
84
  }
64
85
  function runPlanV2Gate(ctx, basePath, state) {
65
- const prefs = loadEffectiveGSDPreferences()?.preferences;
86
+ const prefs = loadEffectiveGSDPreferences(basePath)?.preferences;
66
87
  const uokFlags = resolveUokFlags(prefs);
67
88
  if (!uokFlags.planV2 || !needsPlanV2Gate(state))
68
89
  return "pass";
@@ -85,29 +106,93 @@ function buildDocsCommitInstruction(_message) {
85
106
  // #4573: cap for how many times we nudge the LLM after a premature ready
86
107
  // phrase before giving up and asking the user to re-run /gsd.
87
108
  const MAX_READY_REJECTS = 2;
109
+ // H1 (#5012): cap for Gate 1b plan-blocked recovery hints. After this many
110
+ // consecutive recovery attempts the loop is stopped and the user is directed
111
+ // to investigate manually.
112
+ const MAX_PLAN_BLOCKED_RECOVERIES = 3;
88
113
  // #4573: matches the canonical ready phrase the discuss prompt asks the LLM
89
114
  // to emit. Accepts any M-prefixed milestone ID (three digits + optional
90
115
  // suffix) with optional trailing punctuation.
91
116
  const READY_PHRASE_RE = /\bMilestone\s+M\d{3}[A-Z0-9-]*\s+ready\.?/i;
92
117
  const pendingAutoStartMap = new Map();
118
+ const pendingDeepProjectSetupMap = new Map();
119
+ const USER_DRIVEN_DEEP_SETUP_UNITS = new Set([
120
+ "discuss-project",
121
+ "discuss-requirements",
122
+ "research-decision",
123
+ ]);
124
+ const FOREGROUND_DEEP_SETUP_RULE_NAMES = new Set([
125
+ "deep: pre-planning (no workflow prefs) → workflow-preferences",
126
+ "deep: pre-planning (no PROJECT) → discuss-project",
127
+ "deep: pre-planning (no REQUIREMENTS) → discuss-requirements",
128
+ "deep: pre-planning (no research decision) → research-decision",
129
+ ]);
130
+ const LEGACY_DEEP_SETUP_PSEUDO_MILESTONE_DIRS = new Set([
131
+ "PROJECT",
132
+ "REQUIREMENTS",
133
+ "RESEARCH-DECISION",
134
+ "RESEARCH-PROJECT",
135
+ "WORKFLOW-PREFS",
136
+ ]);
137
+ const FOREGROUND_DEEP_SETUP_QUESTION_POLICY = `## Foreground Deep Setup Question Policy
138
+
139
+ This stage is running inside the foreground \`/gsd new-project --deep\` interview. Ask user questions in plain chat only.
140
+
141
+ - Do NOT call \`ask_user_questions\`, \`AskUserQuestion\`, or ToolSearch to discover user-input tools.
142
+ - Ask one focused round, then stop and wait for the user's normal chat response.`;
93
143
  /**
94
144
  * Backward-compat bridge: returns a mutable reference to the entry matching
95
145
  * basePath, or the sole entry when only one session exists.
96
- * Internal use onlyexternal code should use the Map directly.
146
+ * Exported for testinginternal use only in production code.
97
147
  */
98
- function _getPendingAutoStart(basePath) {
148
+ export function _getPendingAutoStart(basePath) {
99
149
  if (basePath)
100
150
  return pendingAutoStartMap.get(basePath) ?? null;
101
151
  if (pendingAutoStartMap.size === 1)
102
152
  return pendingAutoStartMap.values().next().value;
103
153
  return null;
104
154
  }
155
+ function hasNestedFileOrSymlink(dir) {
156
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
157
+ if (entry.isFile() || entry.isSymbolicLink())
158
+ return true;
159
+ if (entry.isDirectory() && hasNestedFileOrSymlink(join(dir, entry.name)))
160
+ return true;
161
+ }
162
+ return false;
163
+ }
164
+ function clearEmptyLegacyDeepSetupPseudoMilestones(basePath, entries) {
165
+ const mDir = milestonesDir(basePath);
166
+ const remaining = [];
167
+ for (const entry of entries) {
168
+ if (!LEGACY_DEEP_SETUP_PSEUDO_MILESTONE_DIRS.has(entry)) {
169
+ remaining.push(entry);
170
+ continue;
171
+ }
172
+ const entryPath = join(mDir, entry);
173
+ try {
174
+ if (hasNestedFileOrSymlink(entryPath)) {
175
+ remaining.push(entry);
176
+ continue;
177
+ }
178
+ rmSync(entryPath, { recursive: true, force: true });
179
+ logWarning("guided", `Self-heal: removed empty legacy deep setup pseudo-milestone directory ${entry}`);
180
+ }
181
+ catch (err) {
182
+ remaining.push(entry);
183
+ logWarning("guided", `legacy deep setup pseudo-milestone cleanup failed for ${entry}: ${err.message}`);
184
+ }
185
+ }
186
+ return remaining;
187
+ }
105
188
  /**
106
189
  * Store pending auto-start state for a project.
107
190
  * Exported for testing (#2985).
108
191
  */
109
192
  export function setPendingAutoStart(basePath, entry) {
110
- pendingAutoStartMap.set(basePath, { createdAt: Date.now(), ...entry });
193
+ const ws = createWorkspace(entry.basePath);
194
+ const scope = scopeMilestone(ws, entry.milestoneId);
195
+ pendingAutoStartMap.set(basePath, { createdAt: Date.now(), planBlockedRecoveryCount: 0, ...entry, scope });
111
196
  }
112
197
  /**
113
198
  * Clear pending auto-start state.
@@ -122,6 +207,14 @@ export function clearPendingAutoStart(basePath) {
122
207
  pendingAutoStartMap.clear();
123
208
  }
124
209
  }
210
+ export function clearPendingDeepProjectSetup(basePath) {
211
+ if (basePath) {
212
+ pendingDeepProjectSetupMap.delete(basePath);
213
+ }
214
+ else {
215
+ pendingDeepProjectSetupMap.clear();
216
+ }
217
+ }
125
218
  /**
126
219
  * Returns the milestoneId being discussed for the given project.
127
220
  * When basePath is omitted and only one session is active, returns that
@@ -138,6 +231,126 @@ export function getDiscussionMilestoneId(basePath) {
138
231
  }
139
232
  return null;
140
233
  }
234
+ function _getPendingDeepProjectSetup(basePath) {
235
+ if (basePath)
236
+ return pendingDeepProjectSetupMap.get(basePath) ?? null;
237
+ if (pendingDeepProjectSetupMap.size === 1)
238
+ return pendingDeepProjectSetupMap.values().next().value;
239
+ return null;
240
+ }
241
+ function getDeepSetupSessionId(ctx) {
242
+ return ctx?.sessionManager?.getSessionId?.();
243
+ }
244
+ function _getPendingDeepProjectSetupForContext(ctx, basePath) {
245
+ if (basePath) {
246
+ const direct = pendingDeepProjectSetupMap.get(basePath);
247
+ if (direct)
248
+ return direct;
249
+ }
250
+ if (!ctx)
251
+ return _getPendingDeepProjectSetup();
252
+ const sessionId = getDeepSetupSessionId(ctx);
253
+ if (sessionId) {
254
+ const matches = [...pendingDeepProjectSetupMap.values()].filter(entry => entry.sessionId === sessionId);
255
+ if (matches.length === 1)
256
+ return matches[0];
257
+ }
258
+ const matches = [...pendingDeepProjectSetupMap.values()].filter(entry => entry.ctx === ctx);
259
+ return matches.length === 1 ? matches[0] : null;
260
+ }
261
+ export function getPendingDeepProjectSetupUnitForContext(ctx, basePath) {
262
+ const entry = _getPendingDeepProjectSetupForContext(ctx, basePath);
263
+ if (!entry?.currentUnitType || !entry.currentUnitId)
264
+ return null;
265
+ return {
266
+ unitType: entry.currentUnitType,
267
+ unitId: entry.currentUnitId,
268
+ };
269
+ }
270
+ export async function startDeepProjectSetupForeground(ctx, pi, basePath, step) {
271
+ const entry = {
272
+ ctx,
273
+ pi,
274
+ basePath,
275
+ step,
276
+ createdAt: Date.now(),
277
+ sessionId: getDeepSetupSessionId(ctx),
278
+ };
279
+ pendingDeepProjectSetupMap.set(basePath, entry);
280
+ await dispatchNextDeepProjectSetupStage(entry);
281
+ }
282
+ export async function checkDeepProjectSetupAfterTurn(_event, ctx, basePath) {
283
+ const entry = _getPendingDeepProjectSetupForContext(ctx, basePath);
284
+ if (!entry)
285
+ return false;
286
+ if (entry.currentUnitType && entry.currentUnitId) {
287
+ // TODO(C-future): PendingDeepProjectSetupEntry does not carry a MilestoneScope
288
+ // because deep-project-setup units span non-milestone unit types (discuss-project,
289
+ // discuss-requirements, etc.). Migrate to verifyExpectedArtifactForScope once
290
+ // PendingDeepProjectSetupEntry is extended with a scope field.
291
+ const artifactReady = verifyExpectedArtifact(entry.currentUnitType, entry.currentUnitId, entry.basePath);
292
+ if (!artifactReady) {
293
+ return false;
294
+ }
295
+ }
296
+ return dispatchNextDeepProjectSetupStage(entry);
297
+ }
298
+ async function dispatchNextDeepProjectSetupStage(entry) {
299
+ invalidateAllCaches();
300
+ const prefs = loadEffectiveGSDPreferences(entry.basePath)?.preferences;
301
+ const { DISPATCH_RULES, hasPendingDeepStage } = await import("./auto-dispatch.js");
302
+ if (!hasPendingDeepStage(prefs, entry.basePath)) {
303
+ pendingDeepProjectSetupMap.delete(entry.basePath);
304
+ startAutoDetached(entry.ctx, entry.pi, entry.basePath, false, { step: entry.step });
305
+ return true;
306
+ }
307
+ const state = await deriveState(entry.basePath);
308
+ const dispatchCtx = {
309
+ basePath: entry.basePath,
310
+ mid: "PROJECT",
311
+ midTitle: "Project setup",
312
+ state,
313
+ prefs,
314
+ // Claude Code currently surfaces workflow-MCP question calls as tool-request
315
+ // UI that can be cancelled outside the normal chat flow. During the
316
+ // foreground deep project setup interview, keep user input in plain chat so
317
+ // `/gsd new-project --deep` cannot bounce through cancelled tool requests.
318
+ structuredQuestionsAvailable: "false",
319
+ };
320
+ let result = null;
321
+ for (const rule of DISPATCH_RULES) {
322
+ // Only evaluate foreground setup gates here. Later deep rules such as
323
+ // research-project have dispatch-time side effects (e.g. claiming an
324
+ // inflight marker) and must be left to auto-mode once the interview is
325
+ // complete.
326
+ if (!FOREGROUND_DEEP_SETUP_RULE_NAMES.has(rule.name))
327
+ continue;
328
+ result = await rule.match(dispatchCtx);
329
+ if (result)
330
+ break;
331
+ }
332
+ if (!result || result.action !== "dispatch") {
333
+ if (result?.action === "stop") {
334
+ entry.ctx.ui.notify(result.reason, result.level);
335
+ }
336
+ else if (hasPendingDeepStage(prefs, entry.basePath)) {
337
+ pendingDeepProjectSetupMap.delete(entry.basePath);
338
+ startAutoDetached(entry.ctx, entry.pi, entry.basePath, false, { step: entry.step });
339
+ return true;
340
+ }
341
+ return false;
342
+ }
343
+ if (!USER_DRIVEN_DEEP_SETUP_UNITS.has(result.unitType)) {
344
+ pendingDeepProjectSetupMap.delete(entry.basePath);
345
+ startAutoDetached(entry.ctx, entry.pi, entry.basePath, false, { step: entry.step });
346
+ return true;
347
+ }
348
+ entry.currentUnitType = result.unitType;
349
+ entry.currentUnitId = result.unitId;
350
+ entry.createdAt = Date.now();
351
+ await dispatchWorkflow(entry.pi, `${result.prompt}\n\n${FOREGROUND_DEEP_SETUP_QUESTION_POLICY}`, "gsd-run", entry.ctx, result.unitType);
352
+ return true;
353
+ }
141
354
  /** Called from agent_end to check if auto-mode should start after discuss */
142
355
  export function checkAutoStartAfterDiscuss() {
143
356
  const entry = _getPendingAutoStart();
@@ -146,17 +359,61 @@ export function checkAutoStartAfterDiscuss() {
146
359
  const { ctx, pi, basePath, milestoneId, step } = entry;
147
360
  // Gate 1: Primary milestone must have CONTEXT.md or ROADMAP.md
148
361
  // The "discuss" path creates CONTEXT.md; the "plan" path creates ROADMAP.md.
149
- const contextFile = resolveMilestoneFile(basePath, milestoneId, "CONTEXT");
150
- const roadmapFile = resolveMilestoneFile(basePath, milestoneId, "ROADMAP");
362
+ // Use pinned scope (immune to cwd-drift) for existence checks.
363
+ const contextFilePath = entry.scope.contextFile();
364
+ const roadmapFilePath = entry.scope.roadmapFile();
365
+ const contextFile = existsSync(contextFilePath) ? contextFilePath : null;
366
+ const roadmapFile = existsSync(roadmapFilePath) ? roadmapFilePath : null;
151
367
  if (!contextFile && !roadmapFile)
152
368
  return false; // neither artifact yet — keep waiting
369
+ // Gate 1b: Discriminate plan-blocked from discuss-incomplete when the DB row is queued.
370
+ // If the DB is available and the row is still "queued" but CONTEXT.md already exists on
371
+ // disk, the discuss phase completed but gsd_plan_milestone was hard-blocked by the
372
+ // depth-verification gate. Emit a recovery hint so the next agent turn can retry
373
+ // gsd_plan_milestone, then return false (keep blocking auto-start).
374
+ // If CONTEXT.md does not exist (discuss-incomplete), Gate 1 already blocked above.
375
+ if (isDbAvailable()) {
376
+ const dbRow = getMilestone(milestoneId);
377
+ if (dbRow?.status === "queued" && contextFile) {
378
+ if (entry.planBlockedRecoveryCount >= MAX_PLAN_BLOCKED_RECOVERIES) {
379
+ // H1: recovery loop cap reached — stop triggering new turns, escalate to user.
380
+ logWarning("guided", `Gate 1b: milestone ${milestoneId} plan-blocked recovery limit reached ` +
381
+ `(${entry.planBlockedRecoveryCount}/${MAX_PLAN_BLOCKED_RECOVERIES}); escalating to user`);
382
+ ctx.ui.notify(`Milestone ${milestoneId} plan_milestone has been blocked ${entry.planBlockedRecoveryCount} times. ` +
383
+ `Re-run /gsd to reset the recovery counter, or run /gsd-debug to diagnose without resetting.`, "error");
384
+ return false;
385
+ }
386
+ logWarning("guided", `Gate 1b: milestone ${milestoneId} queued with CONTEXT.md present — ` +
387
+ `plan_milestone was blocked; emitting recovery hint ` +
388
+ `(attempt ${entry.planBlockedRecoveryCount + 1}/${MAX_PLAN_BLOCKED_RECOVERIES})`);
389
+ ctx.ui.notify(`Milestone ${milestoneId}: context file exists but milestone is still queued. ` +
390
+ `Retrying gsd_plan_milestone to complete the blocked planning step.`, "warning");
391
+ try {
392
+ pi.sendMessage({
393
+ customType: "gsd-plan-milestone-blocked-recovery",
394
+ content: `Milestone ${milestoneId} has ${contextFile} on disk but its DB row is still ` +
395
+ `"queued". The gsd_plan_milestone tool was previously blocked by the ` +
396
+ `depth-verification gate. Call gsd_plan_milestone now to complete the ` +
397
+ `planning phase.`,
398
+ display: false,
399
+ }, { triggerTurn: true });
400
+ // Increment only after a successful dispatch so transient sendMessage
401
+ // failures do not consume recovery budget.
402
+ entry.planBlockedRecoveryCount += 1;
403
+ }
404
+ catch (e) {
405
+ logWarning("guided", `Gate 1b recovery sendMessage failed: ${e.message}`);
406
+ }
407
+ return false;
408
+ }
409
+ }
153
410
  // Gate 2: STATE.md must exist — written as the last step in the discuss
154
411
  // output phase. This prevents auto-start from firing during Phase 3
155
412
  // (sequential readiness gates for remaining milestones) in multi-milestone
156
413
  // discussions, where M001-CONTEXT.md exists but M002/M003 haven't been
157
414
  // processed yet.
158
- const stateFile = resolveGsdRootFile(basePath, "STATE");
159
- if (!stateFile)
415
+ const stateFilePath = entry.scope.stateFile();
416
+ if (!existsSync(stateFilePath))
160
417
  return false; // discussion not finalized yet
161
418
  // Gate 3: Multi-milestone completeness warning
162
419
  // Parse PROJECT.md for milestone sequence, warn if any are missing context.
@@ -188,7 +445,7 @@ export function checkAutoStartAfterDiscuss() {
188
445
  // The LLM writes DISCUSSION-MANIFEST.json after each Phase 3 gate decision.
189
446
  // When it exists, validate it before auto-starting. Project history alone is
190
447
  // not a reliable signal for the current discussion mode.
191
- const manifestPath = join(gsdRoot(basePath), "DISCUSSION-MANIFEST.json");
448
+ const manifestPath = join(entry.scope.workspace.contract.projectGsd, "DISCUSSION-MANIFEST.json");
192
449
  if (existsSync(manifestPath)) {
193
450
  try {
194
451
  const manifest = JSON.parse(readFileSync(manifestPath, "utf-8"));
@@ -284,13 +541,15 @@ function hasToolUse(msg) {
284
541
  /**
285
542
  * #4573 — Detect and recover from the "ready phrase without files" failure mode.
286
543
  *
287
- * When the LLM emits "Milestone {{id}} ready." but has not written CONTEXT.md
288
- * or ROADMAP.md, `checkAutoStartAfterDiscuss()` silently returns false and the
289
- * next /gsd invocation loops into the "All milestones complete" warning.
544
+ * When the LLM emits "Milestone {{id}} ready." but has not written the
545
+ * milestone CONTEXT/ROADMAP artifacts, `checkAutoStartAfterDiscuss()` silently
546
+ * returns false and the next /gsd invocation loops into the "All milestones
547
+ * complete" warning.
290
548
  *
291
549
  * This function, called from `handleAgentEnd` after `checkAutoStartAfterDiscuss`
292
550
  * returns false, pattern-matches the ready phrase on the last assistant message.
293
- * If it fired AND neither CONTEXT.md nor ROADMAP.md exists, it:
551
+ * If it fired AND neither the canonical M###-CONTEXT.md/M###-ROADMAP.md nor
552
+ * legacy CONTEXT.md/ROADMAP.md files exist, it:
294
553
  * 1. Notifies the user that the signal was rejected.
295
554
  * 2. Injects a system message via `pi.sendMessage(..., {triggerTurn:true})`
296
555
  * telling the LLM the signal was premature and to emit the writes now.
@@ -310,12 +569,35 @@ export function maybeHandleReadyPhraseWithoutFiles(event) {
310
569
  const text = extractAssistantText(lastMsg);
311
570
  if (!READY_PHRASE_RE.test(text))
312
571
  return false;
572
+ // Bust paths.ts cached dir listings before checking for fresh writes. The
573
+ // LLM's Write tool calls do not invalidate paths.ts caches, so a stale
574
+ // listing taken before the milestone dir or its CONTEXT/ROADMAP files
575
+ // existed would falsely report the artifacts as missing and trigger the
576
+ // 3-strike "ready without files" abort even though the writes succeeded.
577
+ clearPathCache();
313
578
  // Gate: artifacts must still be missing — if they exist, the happy path
314
579
  // already fired and we have nothing to do.
315
580
  const contextFile = resolveMilestoneFile(basePath, milestoneId, "CONTEXT");
316
581
  const roadmapFile = resolveMilestoneFile(basePath, milestoneId, "ROADMAP");
317
582
  if (contextFile || roadmapFile)
318
583
  return false;
584
+ // Diagnostic: when the cached resolver reports both files missing, also probe
585
+ // the canonical paths with uncached existsSync so we can tell whether the
586
+ // recovery is firing on real-missing files or a path-resolution miss
587
+ // (basePath/symlink mismatch, stale cache despite agent-end-recovery flush,
588
+ // legacy descriptor dir not matching, etc.).
589
+ try {
590
+ const mDir = resolveMilestonePath(basePath, milestoneId);
591
+ const canonicalCtx = mDir ? join(mDir, `${milestoneId}-CONTEXT.md`) : null;
592
+ const canonicalRoadmap = mDir ? join(mDir, `${milestoneId}-ROADMAP.md`) : null;
593
+ logWarning("guided", `ready-phrase-reject diagnostic mid=${milestoneId} basePath=${basePath} ` +
594
+ `mDir=${mDir ?? "null"} ` +
595
+ `canonical-ctx=${canonicalCtx ?? "null"} ctx-exists=${canonicalCtx ? existsSync(canonicalCtx) : "n/a"} ` +
596
+ `canonical-roadmap=${canonicalRoadmap ?? "null"} roadmap-exists=${canonicalRoadmap ? existsSync(canonicalRoadmap) : "n/a"}`);
597
+ }
598
+ catch (e) {
599
+ logWarning("guided", `ready-phrase-reject diagnostic failed: ${e.message}`);
600
+ }
319
601
  entry.readyRejectCount = (entry.readyRejectCount ?? 0) + 1;
320
602
  if (entry.readyRejectCount > MAX_READY_REJECTS) {
321
603
  // Give up: clear state and tell the user to re-run /gsd. Avoids an
@@ -325,10 +607,11 @@ export function maybeHandleReadyPhraseWithoutFiles(event) {
325
607
  `Stopping auto-nudge. Run /gsd to try again.`, "error");
326
608
  return true;
327
609
  }
328
- ctx.ui.notify(`Milestone ${milestoneId}: "ready" signal rejected — CONTEXT.md and ROADMAP.md are missing. Asking the LLM to complete the writes.`, "warning");
610
+ const contextRel = relMilestoneFile(basePath, milestoneId, "CONTEXT");
611
+ const roadmapRel = relMilestoneFile(basePath, milestoneId, "ROADMAP");
612
+ ctx.ui.notify(`Milestone ${milestoneId}: "ready" signal rejected — ${contextRel} and ${roadmapRel} are missing. Asking the LLM to complete the writes.`, "warning");
329
613
  const nudge = `You emitted "Milestone ${milestoneId} ready." but neither ` +
330
- `.gsd/milestones/${milestoneId}/${milestoneId}-CONTEXT.md nor ` +
331
- `.gsd/milestones/${milestoneId}/${milestoneId}-ROADMAP.md exists on disk. ` +
614
+ `${contextRel} nor ${roadmapRel} exists on disk. ` +
332
615
  `The ready phrase is a POST-WRITE signal and has been rejected. ` +
333
616
  `In this turn: (1) write PROJECT.md, REQUIREMENTS.md, and the milestone ` +
334
617
  `CONTEXT.md, (2) call gsd_plan_milestone, then (3) emit the ready phrase. ` +
@@ -366,7 +649,12 @@ const emptyTurnCounterByBase = new Map();
366
649
  const MAX_EMPTY_TURN_RETRIES = 2;
367
650
  // Phrases that indicate the LLM is about to do something but has not yet.
368
651
  // Kept tight to avoid flagging legitimate narration like "I'll wait for your answer."
369
- const COMMIT_INTENT_RE = /\b(?:I['’]ll|I will|Next,? I['’]ll|Now I['’]ll|Let me|I['’]m going to|I am going to)\s+(?:now\s+)?(?:write|create|call|invoke|update|add|make|run|execute|generate|produce|emit|compose|implement|save|apply|commit)\b/i;
652
+ //
653
+ // "make" was previously in the verb list but matches conversational meta phrases
654
+ // like "Let me make sure I understand…" which are NOT action announcements —
655
+ // removed to prevent the empty-turn nudge from auto-replying to user questions
656
+ // in discuss flows.
657
+ const COMMIT_INTENT_RE = /\b(?:I['’]ll|I will|Next,? I['’]ll|Now I['’]ll|Let me|I['’]m going to|I am going to)\s+(?:now\s+)?(?:write|create|call|invoke|update|add|run|execute|generate|produce|emit|compose|implement|save|apply|commit)\b/i;
370
658
  /**
371
659
  * Reset the empty-turn counter for a basePath after a successful tool-use turn.
372
660
  * Called from handleAgentEnd when the last message contains tool_use blocks.
@@ -394,12 +682,14 @@ export function maybeHandleEmptyIntentTurn(event, isAuto) {
394
682
  // path, handled by maybeHandleReadyPhraseWithoutFiles.
395
683
  if (READY_PHRASE_RE.test(text))
396
684
  return false;
397
- // Skip if the LLM is clearly handing back to the user. Keep the heuristic
398
- // tight: a trailing question mark on the last non-empty line is the common
399
- // signal for "I asked the user a question and stopped."
400
- const lines = text.split(/\r?\n/).map((l) => l.trim()).filter(Boolean);
401
- const lastLine = lines[lines.length - 1] ?? "";
402
- if (lastLine.endsWith("?"))
685
+ // Skip if the LLM is clearly handing back to the user. Discuss flows
686
+ // often pose a question and follow it with a conditional intent on the
687
+ // same line ("Did I capture that correctly? If so, I'll write the
688
+ // requirements."). A line-trailing `?` check misses these because the
689
+ // line ends in `.`. Match any sentence-terminating `?` (followed by
690
+ // whitespace or end-of-text) — false negatives here auto-reply to the
691
+ // user, which is a much worse failure mode than a missed nudge.
692
+ if (/\?(?:\s|$)/.test(text))
403
693
  return false;
404
694
  // Must contain a commit-intent phrase — this is the stall we care about.
405
695
  if (!COMMIT_INTENT_RE.test(text))
@@ -505,7 +795,7 @@ async function dispatchWorkflow(pi, note, customType = "gsd-run", ctx, unitType)
505
795
  removed: currentTools.length - scopedTools.length,
506
796
  });
507
797
  }
508
- const workflowPath = process.env.GSD_WORKFLOW_PATH ?? join(process.env.HOME ?? "~", ".gsd", "agent", "GSD-WORKFLOW.md");
798
+ const workflowPath = process.env.GSD_WORKFLOW_PATH ?? join(gsdHome(), "agent", "GSD-WORKFLOW.md");
509
799
  const workflow = readFileSync(workflowPath, "utf-8");
510
800
  pi.sendMessage({
511
801
  customType,
@@ -675,17 +965,21 @@ export async function showHeadlessMilestoneCreation(ctx, pi, basePath, seedConte
675
965
  clearReservedMilestoneIds();
676
966
  // Ensure .gsd/ is bootstrapped
677
967
  bootstrapGsdProject(basePath);
968
+ const { ensureDbOpen } = await import("./bootstrap/dynamic-tools.js");
969
+ await ensureDbOpen(basePath);
678
970
  // Generate next milestone ID
679
971
  const existingIds = findMilestoneIds(basePath);
680
972
  const prefs = loadEffectiveGSDPreferences();
681
- const nextId = nextMilestoneIdReserved(existingIds, prefs?.preferences?.unique_milestone_ids ?? false);
682
- // Create milestone directory
683
- const milestoneDir = join(gsdRoot(basePath), "milestones", nextId, "slices");
684
- mkdirSync(milestoneDir, { recursive: true });
973
+ const nextId = nextMilestoneIdReserved(existingIds, prefs?.preferences?.unique_milestone_ids ?? false, basePath);
974
+ // Fix #4996: Do NOT pre-create the milestone directory here.
975
+ // atomicWriteAsync (used by all artifact writers) calls mkdir lazily before
976
+ // each write, so every path through saveArtifactToDb / saveFile is already
977
+ // lazy-mkdir-safe. Pre-creating the dir before the discuss flow runs leaves
978
+ // an orphan stub if discuss is abandoned — that stub later skews nextMilestoneId.
685
979
  // Build and dispatch the headless discuss prompt
686
980
  const prompt = buildHeadlessDiscussPrompt(nextId, seedContext, basePath);
687
981
  // Set pending auto start (auto-mode triggers on "Milestone X ready." via checkAutoStartAfterDiscuss)
688
- pendingAutoStartMap.set(basePath, { ctx, pi, basePath, milestoneId: nextId, createdAt: Date.now() });
982
+ setPendingAutoStart(basePath, { ctx, pi, basePath, milestoneId: nextId });
689
983
  // Dispatch as discuss-milestone. The LLM writes PROJECT.md, REQUIREMENTS.md,
690
984
  // and CONTEXT.md, then calls gsd_plan_milestone — this is semantically the
691
985
  // discuss path, just non-interactive. Using "plan-milestone" here caused
@@ -851,13 +1145,13 @@ export async function showDiscuss(ctx, pi, basePath) {
851
1145
  const seed = draftContent
852
1146
  ? `${basePrompt}\n\n## Prior Discussion (Draft Seed)\n\n${draftContent}`
853
1147
  : basePrompt;
854
- pendingAutoStartMap.set(basePath, { ctx, pi, basePath, milestoneId: mid, step: false, createdAt: Date.now() });
1148
+ setPendingAutoStart(basePath, { ctx, pi, basePath, milestoneId: mid, step: false });
855
1149
  await dispatchWorkflow(pi, seed, "gsd-discuss", ctx, "discuss-milestone");
856
1150
  }
857
1151
  else if (choice === "discuss_fresh") {
858
1152
  const discussMilestoneTemplates = inlineTemplate("context", "Context");
859
1153
  const structuredQuestionsAvailable = getStructuredQuestionsAvailability(pi, ctx);
860
- pendingAutoStartMap.set(basePath, { ctx, pi, basePath, milestoneId: mid, step: false, createdAt: Date.now() });
1154
+ setPendingAutoStart(basePath, { ctx, pi, basePath, milestoneId: mid, step: false });
861
1155
  await dispatchWorkflow(pi, loadPrompt("guided-discuss-milestone", {
862
1156
  milestoneId: mid, milestoneTitle, inlinedTemplates: discussMilestoneTemplates, structuredQuestionsAvailable,
863
1157
  commitInstruction: buildDocsCommitInstruction(`docs(${mid}): milestone context from discuss`),
@@ -865,10 +1159,12 @@ export async function showDiscuss(ctx, pi, basePath) {
865
1159
  }), "gsd-discuss", ctx, "discuss-milestone");
866
1160
  }
867
1161
  else if (choice === "skip_milestone") {
1162
+ const { ensureDbOpen } = await import("./bootstrap/dynamic-tools.js");
1163
+ await ensureDbOpen(basePath);
868
1164
  const milestoneIds = findMilestoneIds(basePath);
869
1165
  const uniqueMilestoneIds = !!loadEffectiveGSDPreferences()?.preferences?.unique_milestone_ids;
870
- const nextId = nextMilestoneIdReserved(milestoneIds, uniqueMilestoneIds);
871
- pendingAutoStartMap.set(basePath, { ctx, pi, basePath, milestoneId: nextId, step: false, createdAt: Date.now() });
1166
+ const nextId = nextMilestoneIdReserved(milestoneIds, uniqueMilestoneIds, basePath);
1167
+ setPendingAutoStart(basePath, { ctx, pi, basePath, milestoneId: nextId, step: false });
872
1168
  await dispatchWorkflow(pi, await prepareAndBuildDiscussPrompt(ctx, pi, nextId, `New milestone ${nextId}.`, basePath), "gsd-run", ctx, "discuss-milestone");
873
1169
  }
874
1170
  return;
@@ -1122,6 +1418,9 @@ function selfHealRuntimeRecords(basePath, ctx) {
1122
1418
  for (const record of records) {
1123
1419
  const { unitType, unitId, phase } = record;
1124
1420
  // Clear records whose expected artifact already exists (completed but not cleaned up)
1421
+ // TODO(C-future): selfHealRuntimeRecords iterates across all unit types (not just milestone
1422
+ // units), so it cannot be converted to resolveExpectedArtifactPathForScope without
1423
+ // first establishing a per-record scope. Migrate once unit runtime records carry scope info.
1125
1424
  const artifactPath = resolveExpectedArtifactPath(unitType, unitId, basePath);
1126
1425
  if (artifactPath && existsSync(artifactPath)) {
1127
1426
  clearUnitRuntimeRecord(basePath, unitType, unitId);
@@ -1223,8 +1522,8 @@ async function handleMilestoneActions(ctx, pi, basePath, milestoneId, milestoneT
1223
1522
  if (choice === "skip") {
1224
1523
  const milestoneIds = findMilestoneIds(basePath);
1225
1524
  const uniqueMilestoneIds = !!loadEffectiveGSDPreferences()?.preferences?.unique_milestone_ids;
1226
- const nextId = nextMilestoneIdReserved(milestoneIds, uniqueMilestoneIds);
1227
- pendingAutoStartMap.set(basePath, { ctx, pi, basePath, milestoneId: nextId, step: stepMode, createdAt: Date.now() });
1525
+ const nextId = nextMilestoneIdReserved(milestoneIds, uniqueMilestoneIds, basePath);
1526
+ setPendingAutoStart(basePath, { ctx, pi, basePath, milestoneId: nextId, step: stepMode });
1228
1527
  await dispatchWorkflow(pi, await prepareAndBuildDiscussPrompt(ctx, pi, nextId, `New milestone ${nextId}.`, basePath), "gsd-run", ctx, "discuss-milestone");
1229
1528
  return true;
1230
1529
  }
@@ -1259,6 +1558,7 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1259
1558
  // milestones/) must trigger the init wizard, not skip it (#2942).
1260
1559
  const gsdPath = gsdRoot(basePath);
1261
1560
  const hasBootstrapArtifacts = hasGsdBootstrapArtifacts(gsdPath);
1561
+ let skipGitBootstrap = false;
1262
1562
  if (!hasBootstrapArtifacts) {
1263
1563
  const detection = detectProjectState(basePath);
1264
1564
  // v1 .planning/ detected — offer migration before anything else
@@ -1277,6 +1577,7 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1277
1577
  const result = await showProjectInit(ctx, pi, basePath, detection);
1278
1578
  if (!result.completed)
1279
1579
  return; // User cancelled
1580
+ skipGitBootstrap = result.gitEnabled === false;
1280
1581
  // Init wizard bootstrapped .gsd/ — fall through to the normal flow below
1281
1582
  // which will detect "no milestones" and start the discuss prompt
1282
1583
  }
@@ -1284,13 +1585,32 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1284
1585
  // Also handle inherited repos: if basePath is a subdirectory of another
1285
1586
  // git repo that has no .gsd, create a fresh repo to prevent cross-project
1286
1587
  // state leaks (#1639).
1287
- if (!nativeIsRepo(basePath) || isInheritedRepo(basePath)) {
1588
+ if (!skipGitBootstrap && (!nativeIsRepo(basePath) || isInheritedRepo(basePath))) {
1288
1589
  const mainBranch = loadEffectiveGSDPreferences()?.preferences?.git?.main_branch || "main";
1289
1590
  nativeInit(basePath, mainBranch);
1290
1591
  }
1291
1592
  // ── Ensure .gitignore has baseline patterns ──────────────────────────
1292
- ensureGitignore(basePath);
1293
- untrackRuntimeFiles(basePath);
1593
+ if (!skipGitBootstrap && nativeIsRepo(basePath)) {
1594
+ ensureGitignore(basePath);
1595
+ untrackRuntimeFiles(basePath);
1596
+ }
1597
+ // Deep setup can pre-create .gsd/PREFERENCES.md before the normal init
1598
+ // wizard path runs. If that path also initialized git, make HEAD reachable
1599
+ // now so later worktree/git-log operations do not run on an unborn branch.
1600
+ if (!skipGitBootstrap && nativeIsRepo(basePath) && !nativeHasCommittedHead(basePath)) {
1601
+ try {
1602
+ nativeAddAll(basePath);
1603
+ nativeCommit(basePath, "chore: init project");
1604
+ }
1605
+ catch (err) {
1606
+ const message = err instanceof Error ? err.message : String(err);
1607
+ logWarning("guided", `initial git commit failed; worktree isolation will remain disabled until HEAD exists: ${message}`);
1608
+ }
1609
+ }
1610
+ {
1611
+ const { ensureDbOpen } = await import("./bootstrap/dynamic-tools.js");
1612
+ await ensureDbOpen(basePath);
1613
+ }
1294
1614
  // ── Self-heal stale runtime records from crashed auto-mode sessions ──
1295
1615
  selfHealRuntimeRecords(basePath, ctx);
1296
1616
  const interrupted = await assessInterruptedSession(basePath);
@@ -1342,6 +1662,22 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1342
1662
  catch (err) {
1343
1663
  logWarning("guided", `STATE.md rebuild failed: ${err.message}`);
1344
1664
  }
1665
+ // ── Deep planning mode kickoff ────────────────────────────────────────
1666
+ // When `planning_depth: deep` is set (e.g. via `/gsd new-project --deep`)
1667
+ // and any project-level stage gate is still pending, keep the user-question
1668
+ // stages in the foreground conversation. Auto-mode is resumed only after
1669
+ // the project interview artifacts exist, so questions do not look like
1670
+ // cancelled auto-mode runs.
1671
+ // Light mode and fully-completed deep projects fall through to the
1672
+ // standard wizard below.
1673
+ {
1674
+ const prefs = loadEffectiveGSDPreferences(basePath)?.preferences;
1675
+ const { hasPendingDeepStage } = await import("./auto-dispatch.js");
1676
+ if (hasPendingDeepStage(prefs, basePath)) {
1677
+ await startDeepProjectSetupForeground(ctx, pi, basePath, stepMode);
1678
+ return;
1679
+ }
1680
+ }
1345
1681
  const planV2GateDecision = runPlanV2Gate(ctx, basePath, state);
1346
1682
  if (planV2GateDecision === "block")
1347
1683
  return;
@@ -1352,12 +1688,12 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1352
1688
  // and fires another dispatchWorkflow, resetting the conversation mid-interview.
1353
1689
  if (pendingAutoStartMap.has(basePath)) {
1354
1690
  // #3274: If /clear interrupted the discussion, the pending entry is stale.
1355
- // Detect staleness: no manifest, no CONTEXT.md, AND entry is older than
1691
+ // Detect staleness: no manifest, no milestone CONTEXT artifact, AND entry is older than
1356
1692
  // 30s (avoids race between .set() and LLM writing first artifact).
1357
1693
  const entry = pendingAutoStartMap.get(basePath);
1358
1694
  const ageMs = Date.now() - (entry.createdAt || 0);
1359
1695
  const manifestExists = existsSync(join(gsdRoot(basePath), "DISCUSSION-MANIFEST.json"));
1360
- const milestoneHasContext = existsSync(join(gsdRoot(basePath), "milestones", entry.milestoneId, `${entry.milestoneId}-CONTEXT.md`));
1696
+ const milestoneHasContext = !!resolveMilestoneFile(basePath, entry.milestoneId, "CONTEXT");
1361
1697
  if (!manifestExists && !milestoneHasContext && ageMs > 30_000) {
1362
1698
  // Stale entry from an interrupted discussion — clear and continue
1363
1699
  pendingAutoStartMap.delete(basePath);
@@ -1375,7 +1711,7 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1375
1711
  const mDir = milestonesDir(basePath);
1376
1712
  if (existsSync(mDir)) {
1377
1713
  try {
1378
- const entries = readdirSync(mDir);
1714
+ const entries = clearEmptyLegacyDeepSetupPseudoMilestones(basePath, readdirSync(mDir));
1379
1715
  if (entries.length > 0) {
1380
1716
  ctx.ui.notify(`Milestone directory has ${entries.length} entries but none were recognized as milestones. ` +
1381
1717
  `This may indicate a corrupted state or wrong working directory. Run \`/gsd doctor\` to diagnose.`, "warning");
@@ -1388,11 +1724,11 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1388
1724
  }
1389
1725
  }
1390
1726
  const uniqueMilestoneIds = !!loadEffectiveGSDPreferences()?.preferences?.unique_milestone_ids;
1391
- const nextId = nextMilestoneIdReserved(milestoneIds, uniqueMilestoneIds);
1727
+ const nextId = nextMilestoneIdReserved(milestoneIds, uniqueMilestoneIds, basePath);
1392
1728
  const isFirst = milestoneIds.length === 0;
1393
1729
  if (isFirst) {
1394
1730
  // First ever — skip wizard, just ask directly
1395
- pendingAutoStartMap.set(basePath, { ctx, pi, basePath, milestoneId: nextId, step: stepMode, createdAt: Date.now() });
1731
+ setPendingAutoStart(basePath, { ctx, pi, basePath, milestoneId: nextId, step: stepMode });
1396
1732
  await dispatchWorkflow(pi, await prepareAndBuildDiscussPrompt(ctx, pi, nextId, `New project, milestone ${nextId}. Do NOT read or explore .gsd/ — it's empty scaffolding.`, basePath), "gsd-run", ctx, "discuss-milestone");
1397
1733
  }
1398
1734
  else {
@@ -1410,7 +1746,7 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1410
1746
  notYetMessage: "Run /gsd when ready.",
1411
1747
  });
1412
1748
  if (choice === "new_milestone") {
1413
- pendingAutoStartMap.set(basePath, { ctx, pi, basePath, milestoneId: nextId, step: stepMode, createdAt: Date.now() });
1749
+ setPendingAutoStart(basePath, { ctx, pi, basePath, milestoneId: nextId, step: stepMode });
1414
1750
  await dispatchWorkflow(pi, await prepareAndBuildDiscussPrompt(ctx, pi, nextId, `New milestone ${nextId}.`, basePath), "gsd-run", ctx, "discuss-milestone");
1415
1751
  }
1416
1752
  }
@@ -1419,7 +1755,7 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1419
1755
  const milestoneId = state.activeMilestone.id;
1420
1756
  const milestoneTitle = state.activeMilestone.title;
1421
1757
  if (planV2GateDecision === "recover-missing-context") {
1422
- pendingAutoStartMap.set(basePath, { ctx, pi, basePath, milestoneId, step: stepMode, createdAt: Date.now() });
1758
+ setPendingAutoStart(basePath, { ctx, pi, basePath, milestoneId, step: stepMode });
1423
1759
  await dispatchWorkflow(pi, await buildDiscussMilestonePrompt(milestoneId, milestoneTitle, basePath, getStructuredQuestionsAvailability(pi, ctx)), "gsd-discuss", ctx, "discuss-milestone");
1424
1760
  return;
1425
1761
  }
@@ -1446,8 +1782,8 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1446
1782
  if (choice === "new_milestone") {
1447
1783
  const milestoneIds = findMilestoneIds(basePath);
1448
1784
  const uniqueMilestoneIds = !!loadEffectiveGSDPreferences()?.preferences?.unique_milestone_ids;
1449
- const nextId = nextMilestoneIdReserved(milestoneIds, uniqueMilestoneIds);
1450
- pendingAutoStartMap.set(basePath, { ctx, pi, basePath, milestoneId: nextId, step: stepMode, createdAt: Date.now() });
1785
+ const nextId = nextMilestoneIdReserved(milestoneIds, uniqueMilestoneIds, basePath);
1786
+ setPendingAutoStart(basePath, { ctx, pi, basePath, milestoneId: nextId, step: stepMode });
1451
1787
  await dispatchWorkflow(pi, await prepareAndBuildDiscussPrompt(ctx, pi, nextId, `New milestone ${nextId}.`, basePath), "gsd-run", ctx, "discuss-milestone");
1452
1788
  }
1453
1789
  else if (choice === "status") {
@@ -1494,13 +1830,13 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1494
1830
  const seed = draftContent
1495
1831
  ? `${basePrompt}\n\n## Prior Discussion (Draft Seed)\n\n${draftContent}`
1496
1832
  : basePrompt;
1497
- pendingAutoStartMap.set(basePath, { ctx, pi, basePath, milestoneId, step: stepMode, createdAt: Date.now() });
1833
+ setPendingAutoStart(basePath, { ctx, pi, basePath, milestoneId, step: stepMode });
1498
1834
  await dispatchWorkflow(pi, seed, "gsd-discuss", ctx, "discuss-milestone");
1499
1835
  }
1500
1836
  else if (choice === "discuss_fresh") {
1501
1837
  const discussMilestoneTemplates = inlineTemplate("context", "Context");
1502
1838
  const structuredQuestionsAvailable = getStructuredQuestionsAvailability(pi, ctx);
1503
- pendingAutoStartMap.set(basePath, { ctx, pi, basePath, milestoneId, step: stepMode, createdAt: Date.now() });
1839
+ setPendingAutoStart(basePath, { ctx, pi, basePath, milestoneId, step: stepMode });
1504
1840
  await dispatchWorkflow(pi, loadPrompt("guided-discuss-milestone", {
1505
1841
  milestoneId, milestoneTitle, inlinedTemplates: discussMilestoneTemplates, structuredQuestionsAvailable,
1506
1842
  commitInstruction: buildDocsCommitInstruction(`docs(${milestoneId}): milestone context from discuss`),
@@ -1510,8 +1846,8 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1510
1846
  else if (choice === "skip_milestone") {
1511
1847
  const milestoneIds = findMilestoneIds(basePath);
1512
1848
  const uniqueMilestoneIds = !!loadEffectiveGSDPreferences()?.preferences?.unique_milestone_ids;
1513
- const nextId = nextMilestoneIdReserved(milestoneIds, uniqueMilestoneIds);
1514
- pendingAutoStartMap.set(basePath, { ctx, pi, basePath, milestoneId: nextId, step: stepMode, createdAt: Date.now() });
1849
+ const nextId = nextMilestoneIdReserved(milestoneIds, uniqueMilestoneIds, basePath);
1850
+ setPendingAutoStart(basePath, { ctx, pi, basePath, milestoneId: nextId, step: stepMode });
1515
1851
  await dispatchWorkflow(pi, await prepareAndBuildDiscussPrompt(ctx, pi, nextId, `New milestone ${nextId}.`, basePath), "gsd-run", ctx, "discuss-milestone");
1516
1852
  }
1517
1853
  return;
@@ -1567,26 +1903,8 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1567
1903
  notYetMessage: "Run /gsd when ready.",
1568
1904
  });
1569
1905
  if (choice === "plan") {
1570
- pendingAutoStartMap.set(basePath, { ctx, pi, basePath, milestoneId, step: stepMode, createdAt: Date.now() });
1571
- const planMilestoneTemplates = [
1572
- inlineTemplate("roadmap", "Roadmap"),
1573
- inlineTemplate("plan", "Slice Plan"),
1574
- inlineTemplate("task-plan", "Task Plan"),
1575
- inlineTemplate("secrets-manifest", "Secrets Manifest"),
1576
- ].join("\n\n---\n\n");
1577
- const secretsOutputPath = relMilestoneFile(basePath, milestoneId, "SECRETS");
1578
- await dispatchWorkflow(pi, loadPrompt("guided-plan-milestone", {
1579
- milestoneId,
1580
- milestoneTitle,
1581
- secretsOutputPath,
1582
- inlinedTemplates: planMilestoneTemplates,
1583
- skillActivation: buildSkillActivationBlock({
1584
- base: basePath,
1585
- milestoneId,
1586
- milestoneTitle,
1587
- extraContext: [planMilestoneTemplates],
1588
- }),
1589
- }), "gsd-run", ctx, "plan-milestone");
1906
+ setPendingAutoStart(basePath, { ctx, pi, basePath, milestoneId, step: stepMode });
1907
+ await dispatchWorkflow(pi, await buildPlanMilestonePrompt(milestoneId, milestoneTitle, basePath), "gsd-run", ctx, "plan-milestone");
1590
1908
  }
1591
1909
  else if (choice === "discuss") {
1592
1910
  const discussMilestoneTemplates = inlineTemplate("context", "Context");
@@ -1600,8 +1918,8 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1600
1918
  else if (choice === "skip_milestone") {
1601
1919
  const milestoneIds = findMilestoneIds(basePath);
1602
1920
  const uniqueMilestoneIds = !!loadEffectiveGSDPreferences()?.preferences?.unique_milestone_ids;
1603
- const nextId = nextMilestoneIdReserved(milestoneIds, uniqueMilestoneIds);
1604
- pendingAutoStartMap.set(basePath, { ctx, pi, basePath, milestoneId: nextId, step: stepMode, createdAt: Date.now() });
1921
+ const nextId = nextMilestoneIdReserved(milestoneIds, uniqueMilestoneIds, basePath);
1922
+ setPendingAutoStart(basePath, { ctx, pi, basePath, milestoneId: nextId, step: stepMode });
1605
1923
  await dispatchWorkflow(pi, await prepareAndBuildDiscussPrompt(ctx, pi, nextId, `New milestone ${nextId}.`, basePath), "gsd-run", ctx, "discuss-milestone");
1606
1924
  }
1607
1925
  else if (choice === "discard_milestone") {
@@ -1709,23 +2027,7 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1709
2027
  notYetMessage: "Run /gsd when ready.",
1710
2028
  });
1711
2029
  if (choice === "plan") {
1712
- const planSliceTemplates = [
1713
- inlineTemplate("plan", "Slice Plan"),
1714
- inlineTemplate("task-plan", "Task Plan"),
1715
- ].join("\n\n---\n\n");
1716
- await dispatchWorkflow(pi, loadPrompt("guided-plan-slice", {
1717
- milestoneId,
1718
- sliceId,
1719
- sliceTitle,
1720
- inlinedTemplates: planSliceTemplates,
1721
- skillActivation: buildSkillActivationBlock({
1722
- base: basePath,
1723
- milestoneId,
1724
- sliceId,
1725
- sliceTitle,
1726
- extraContext: [planSliceTemplates],
1727
- }),
1728
- }), "gsd-run", ctx, "plan-slice");
2030
+ await dispatchWorkflow(pi, await buildPlanSlicePrompt(milestoneId, milestoneTitle, sliceId, sliceTitle, basePath), "gsd-run", ctx, "plan-slice");
1729
2031
  }
1730
2032
  else if (choice === "discuss") {
1731
2033
  const sqAvail = getStructuredQuestionsAvailability(pi, ctx);
@@ -1784,24 +2086,7 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1784
2086
  notYetMessage: "Run /gsd when ready.",
1785
2087
  });
1786
2088
  if (choice === "complete") {
1787
- const completeSliceTemplates = [
1788
- inlineTemplate("slice-summary", "Slice Summary"),
1789
- inlineTemplate("uat", "UAT"),
1790
- ].join("\n\n---\n\n");
1791
- await dispatchWorkflow(pi, loadPrompt("guided-complete-slice", {
1792
- workingDirectory: basePath,
1793
- milestoneId,
1794
- sliceId,
1795
- sliceTitle,
1796
- inlinedTemplates: completeSliceTemplates,
1797
- skillActivation: buildSkillActivationBlock({
1798
- base: basePath,
1799
- milestoneId,
1800
- sliceId,
1801
- sliceTitle,
1802
- extraContext: [completeSliceTemplates],
1803
- }),
1804
- }), "gsd-run", ctx, "complete-slice");
2089
+ await dispatchWorkflow(pi, await buildCompleteSlicePrompt(milestoneId, milestoneTitle, sliceId, sliceTitle, basePath), "gsd-run", ctx, "complete-slice");
1805
2090
  }
1806
2091
  else if (choice === "status") {
1807
2092
  const { fireStatusViaCommand } = await import("./commands.js");
@@ -1875,22 +2160,7 @@ export async function showSmartEntry(ctx, pi, basePath, options) {
1875
2160
  }), "gsd-run", ctx, "execute-task");
1876
2161
  }
1877
2162
  else {
1878
- const executeTaskTemplates = inlineTemplate("task-summary", "Task Summary");
1879
- await dispatchWorkflow(pi, loadPrompt("guided-execute-task", {
1880
- milestoneId,
1881
- sliceId,
1882
- taskId,
1883
- taskTitle,
1884
- inlinedTemplates: executeTaskTemplates,
1885
- skillActivation: buildSkillActivationBlock({
1886
- base: basePath,
1887
- milestoneId,
1888
- sliceId,
1889
- taskId,
1890
- taskTitle,
1891
- extraContext: [executeTaskTemplates],
1892
- }),
1893
- }), "gsd-run", ctx, "execute-task");
2163
+ await dispatchWorkflow(pi, await buildExecuteTaskPrompt(milestoneId, sliceId, sliceTitle, taskId, taskTitle, basePath), "gsd-run", ctx, "execute-task");
1894
2164
  }
1895
2165
  }
1896
2166
  else if (choice === "status") {