gsd-pi 2.78.1-dev.84a383f51 → 2.78.1-dev.84c045fd2

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 (1384) hide show
  1. package/README.md +16 -7
  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 +18 -6
  5. package/dist/cli-auto-routing.d.ts +1 -0
  6. package/dist/cli-auto-routing.js +5 -0
  7. package/dist/cli.js +5 -14
  8. package/dist/headless-query.js +21 -6
  9. package/dist/headless-recover.d.ts +23 -0
  10. package/dist/headless-recover.js +93 -0
  11. package/dist/headless.js +9 -0
  12. package/dist/help-text.js +1 -0
  13. package/dist/loader.js +17 -6
  14. package/dist/resource-loader.js +28 -25
  15. package/dist/resources/.managed-resources-content-hash +1 -1
  16. package/dist/resources/GSD-WORKFLOW.md +29 -42
  17. package/dist/resources/extensions/async-jobs/job-manager.js +4 -0
  18. package/dist/resources/extensions/bg-shell/bg-shell-lifecycle.js +3 -2
  19. package/dist/resources/extensions/bg-shell/utilities.js +2 -1
  20. package/dist/resources/extensions/browser-tools/tools/intent.js +8 -1
  21. package/dist/resources/extensions/claude-code-cli/readiness.js +19 -7
  22. package/dist/resources/extensions/claude-code-cli/stream-adapter.js +22 -8
  23. package/dist/resources/extensions/github-sync/cli.js +3 -0
  24. package/dist/resources/extensions/github-sync/sync.js +86 -58
  25. package/dist/resources/extensions/google-search/index.js +2 -6
  26. package/dist/resources/extensions/gsd/auto/phases.js +83 -32
  27. package/dist/resources/extensions/gsd/auto/run-unit.js +23 -11
  28. package/dist/resources/extensions/gsd/auto/session.js +5 -6
  29. package/dist/resources/extensions/gsd/auto-artifact-paths.js +49 -31
  30. package/dist/resources/extensions/gsd/auto-dashboard.js +14 -2
  31. package/dist/resources/extensions/gsd/auto-direct-dispatch.js +57 -21
  32. package/dist/resources/extensions/gsd/auto-dispatch.js +256 -96
  33. package/dist/resources/extensions/gsd/auto-post-unit.js +101 -45
  34. package/dist/resources/extensions/gsd/auto-prompts.js +145 -8
  35. package/dist/resources/extensions/gsd/auto-recovery.js +69 -15
  36. package/dist/resources/extensions/gsd/auto-start.js +54 -64
  37. package/dist/resources/extensions/gsd/auto-timeout-recovery.js +18 -0
  38. package/dist/resources/extensions/gsd/auto-timers.js +24 -4
  39. package/dist/resources/extensions/gsd/auto-worktree.js +159 -181
  40. package/dist/resources/extensions/gsd/auto.js +75 -26
  41. package/dist/resources/extensions/gsd/bootstrap/agent-end-recovery.js +20 -2
  42. package/dist/resources/extensions/gsd/bootstrap/db-tools.js +40 -7
  43. package/dist/resources/extensions/gsd/bootstrap/dynamic-tools.js +9 -77
  44. package/dist/resources/extensions/gsd/bootstrap/register-hooks.js +98 -9
  45. package/dist/resources/extensions/gsd/bootstrap/subagent-input.js +22 -0
  46. package/dist/resources/extensions/gsd/bootstrap/system-context.js +14 -4
  47. package/dist/resources/extensions/gsd/bootstrap/write-gate.js +166 -17
  48. package/dist/resources/extensions/gsd/branch-patterns.js +3 -3
  49. package/dist/resources/extensions/gsd/commands/catalog.js +14 -6
  50. package/dist/resources/extensions/gsd/commands/context.js +41 -5
  51. package/dist/resources/extensions/gsd/commands/dispatcher.js +11 -5
  52. package/dist/resources/extensions/gsd/commands/handlers/auto.js +2 -1
  53. package/dist/resources/extensions/gsd/commands/handlers/core.js +3 -0
  54. package/dist/resources/extensions/gsd/commands/handlers/ops.js +13 -0
  55. package/dist/resources/extensions/gsd/commands/handlers/workflow.js +24 -2
  56. package/dist/resources/extensions/gsd/commands-bootstrap.js +6 -0
  57. package/dist/resources/extensions/gsd/commands-codebase.js +2 -1
  58. package/dist/resources/extensions/gsd/commands-config.js +3 -2
  59. package/dist/resources/extensions/gsd/commands-debug.js +22 -1
  60. package/dist/resources/extensions/gsd/commands-eval-review.js +534 -0
  61. package/dist/resources/extensions/gsd/commands-extensions.js +50 -7
  62. package/dist/resources/extensions/gsd/commands-handlers.js +8 -7
  63. package/dist/resources/extensions/gsd/commands-logs.js +2 -1
  64. package/dist/resources/extensions/gsd/commands-mcp-status.js +2 -2
  65. package/dist/resources/extensions/gsd/commands-scan.js +2 -1
  66. package/dist/resources/extensions/gsd/commands-ship.js +67 -1
  67. package/dist/resources/extensions/gsd/commands-workflow-templates.js +5 -4
  68. package/dist/resources/extensions/gsd/commands-worktree.js +309 -0
  69. package/dist/resources/extensions/gsd/context-budget.js +11 -3
  70. package/dist/resources/extensions/gsd/db-writer.js +61 -83
  71. package/dist/resources/extensions/gsd/deep-project-setup-policy.js +212 -0
  72. package/dist/resources/extensions/gsd/delegation-policy.js +155 -0
  73. package/dist/resources/extensions/gsd/detection.js +7 -7
  74. package/dist/resources/extensions/gsd/dispatch-guard.js +6 -10
  75. package/dist/resources/extensions/gsd/docs/preferences-reference.md +12 -4
  76. package/dist/resources/extensions/gsd/doctor-engine-checks.js +2 -2
  77. package/dist/resources/extensions/gsd/doctor-providers.js +2 -1
  78. package/dist/resources/extensions/gsd/doctor-runtime-checks.js +54 -0
  79. package/dist/resources/extensions/gsd/eval-review-schema.js +208 -0
  80. package/dist/resources/extensions/gsd/forensics.js +15 -7
  81. package/dist/resources/extensions/gsd/git-service.js +74 -4
  82. package/dist/resources/extensions/gsd/gsd-db.js +77 -10
  83. package/dist/resources/extensions/gsd/gsd-home.js +29 -0
  84. package/dist/resources/extensions/gsd/guided-flow.js +280 -96
  85. package/dist/resources/extensions/gsd/init-wizard.js +16 -23
  86. package/dist/resources/extensions/gsd/interrupted-session.js +37 -2
  87. package/dist/resources/extensions/gsd/key-manager.js +2 -1
  88. package/dist/resources/extensions/gsd/markdown-renderer.js +59 -66
  89. package/dist/resources/extensions/gsd/migrate/command.js +3 -2
  90. package/dist/resources/extensions/gsd/milestone-scope-classifier.js +10 -8
  91. package/dist/resources/extensions/gsd/native-git-bridge.js +19 -42
  92. package/dist/resources/extensions/gsd/onboarding-state.js +2 -2
  93. package/dist/resources/extensions/gsd/parallel-merge.js +14 -13
  94. package/dist/resources/extensions/gsd/parallel-monitor-overlay.js +5 -2
  95. package/dist/resources/extensions/gsd/paths.js +72 -1
  96. package/dist/resources/extensions/gsd/planning-depth.js +114 -0
  97. package/dist/resources/extensions/gsd/preferences-models.js +18 -1
  98. package/dist/resources/extensions/gsd/preferences-skills.js +2 -1
  99. package/dist/resources/extensions/gsd/preferences-types.js +4 -0
  100. package/dist/resources/extensions/gsd/preferences-validation.js +9 -0
  101. package/dist/resources/extensions/gsd/preferences.js +20 -4
  102. package/dist/resources/extensions/gsd/project-research-policy.js +182 -0
  103. package/dist/resources/extensions/gsd/prompt-loader.js +2 -3
  104. package/dist/resources/extensions/gsd/prompts/complete-milestone.md +10 -0
  105. package/dist/resources/extensions/gsd/prompts/complete-slice.md +14 -4
  106. package/dist/resources/extensions/gsd/prompts/execute-task.md +3 -3
  107. package/dist/resources/extensions/gsd/prompts/guided-discuss-milestone.md +10 -1
  108. package/dist/resources/extensions/gsd/prompts/guided-discuss-project.md +148 -0
  109. package/dist/resources/extensions/gsd/prompts/guided-discuss-requirements.md +126 -0
  110. package/dist/resources/extensions/gsd/prompts/guided-discuss-slice.md +8 -1
  111. package/dist/resources/extensions/gsd/prompts/guided-research-decision.md +70 -0
  112. package/dist/resources/extensions/gsd/prompts/guided-research-project.md +120 -0
  113. package/dist/resources/extensions/gsd/prompts/guided-workflow-preferences.md +68 -0
  114. package/dist/resources/extensions/gsd/prompts/parallel-research-slices.md +2 -0
  115. package/dist/resources/extensions/gsd/prompts/plan-milestone.md +8 -2
  116. package/dist/resources/extensions/gsd/prompts/plan-slice.md +18 -6
  117. package/dist/resources/extensions/gsd/prompts/refine-slice.md +10 -0
  118. package/dist/resources/extensions/gsd/prompts/rewrite-docs.md +2 -0
  119. package/dist/resources/extensions/gsd/prompts/system.md +4 -4
  120. package/dist/resources/extensions/gsd/queue-order.js +6 -1
  121. package/dist/resources/extensions/gsd/repo-identity.js +20 -9
  122. package/dist/resources/extensions/gsd/rethink.js +2 -1
  123. package/dist/resources/extensions/gsd/safety/git-checkpoint.js +8 -1
  124. package/dist/resources/extensions/gsd/schemas/__fixtures__/valid-project.md +26 -0
  125. package/dist/resources/extensions/gsd/schemas/__fixtures__/valid-requirements.md +57 -0
  126. package/dist/resources/extensions/gsd/schemas/__fixtures__/valid-roadmap.md +19 -0
  127. package/dist/resources/extensions/gsd/schemas/parsers.js +276 -0
  128. package/dist/resources/extensions/gsd/schemas/validate.js +364 -0
  129. package/dist/resources/extensions/gsd/skill-telemetry.js +3 -2
  130. package/dist/resources/extensions/gsd/slice-cadence.js +56 -7
  131. package/dist/resources/extensions/gsd/state.js +91 -372
  132. package/dist/resources/extensions/gsd/templates/project.md +10 -0
  133. package/dist/resources/extensions/gsd/token-counter.js +1 -0
  134. package/dist/resources/extensions/gsd/tools/complete-milestone.js +6 -5
  135. package/dist/resources/extensions/gsd/tools/complete-slice.js +7 -12
  136. package/dist/resources/extensions/gsd/tools/complete-task.js +19 -31
  137. package/dist/resources/extensions/gsd/tools/plan-slice.js +6 -5
  138. package/dist/resources/extensions/gsd/tools/validate-milestone.js +7 -5
  139. package/dist/resources/extensions/gsd/tools/workflow-tool-executors.js +74 -11
  140. package/dist/resources/extensions/gsd/unit-context-manifest.js +125 -5
  141. package/dist/resources/extensions/gsd/unit-runtime.js +88 -24
  142. package/dist/resources/extensions/gsd/uok/plan-v2.js +14 -1
  143. package/dist/resources/extensions/gsd/user-input-boundary.js +157 -0
  144. package/dist/resources/extensions/gsd/watch/header-renderer.js +2 -1
  145. package/dist/resources/extensions/gsd/workflow-install.js +2 -3
  146. package/dist/resources/extensions/gsd/workflow-manifest.js +2 -1
  147. package/dist/resources/extensions/gsd/workflow-mcp-auto-prep.js +3 -21
  148. package/dist/resources/extensions/gsd/workflow-mcp.js +41 -5
  149. package/dist/resources/extensions/gsd/workflow-migration.js +4 -3
  150. package/dist/resources/extensions/gsd/workflow-plugins.js +3 -5
  151. package/dist/resources/extensions/gsd/workflow-reconcile.js +3 -3
  152. package/dist/resources/extensions/gsd/workflow-templates.js +2 -3
  153. package/dist/resources/extensions/gsd/worktree-command.js +4 -3
  154. package/dist/resources/extensions/gsd/worktree-manager.js +26 -7
  155. package/dist/resources/extensions/gsd/worktree-resolver.js +34 -19
  156. package/dist/resources/extensions/gsd/worktree-root.js +163 -0
  157. package/dist/resources/extensions/gsd/worktree.js +4 -115
  158. package/dist/resources/extensions/gsd/write-intercept.js +3 -3
  159. package/dist/resources/extensions/mcp-client/index.js +2 -8
  160. package/dist/resources/extensions/ollama/index.js +15 -2
  161. package/dist/resources/extensions/ollama/model-capabilities.js +31 -0
  162. package/dist/resources/extensions/ollama/ollama-client.js +40 -4
  163. package/dist/resources/extensions/remote-questions/remote-command.js +2 -1
  164. package/dist/resources/extensions/remote-questions/status.js +2 -5
  165. package/dist/resources/extensions/remote-questions/store.js +2 -5
  166. package/dist/resources/extensions/search-the-web/provider.js +9 -8
  167. package/dist/resources/extensions/shared/next-action-ui.js +7 -0
  168. package/dist/resources/extensions/subagent/index.js +341 -190
  169. package/dist/resources/extensions/subagent/isolation.js +2 -2
  170. package/dist/resources/extensions/ttsr/rule-loader.js +2 -3
  171. package/dist/resources/extensions/voice/index.js +3 -2
  172. package/dist/resources/extensions/voice/linux-ready.js +2 -2
  173. package/dist/resources/skills/lint/SKILL.md +4 -0
  174. package/dist/resources/skills/review/SKILL.md +4 -0
  175. package/dist/resources/skills/test/SKILL.md +3 -0
  176. package/dist/resources/skills/verify-before-complete/SKILL.md +1 -1
  177. package/dist/tool-bootstrap.js +7 -0
  178. package/dist/tsconfig.extensions.tsbuildinfo +1 -1
  179. package/dist/web/standalone/.next/BUILD_ID +1 -1
  180. package/dist/web/standalone/.next/app-path-routes-manifest.json +13 -13
  181. package/dist/web/standalone/.next/build-manifest.json +4 -4
  182. package/dist/web/standalone/.next/prerender-manifest.json +3 -3
  183. package/dist/web/standalone/.next/react-loadable-manifest.json +7 -7
  184. package/dist/web/standalone/.next/server/app/_global-error/page.js +3 -3
  185. package/dist/web/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  186. package/dist/web/standalone/.next/server/app/_global-error.html +1 -1
  187. package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
  188. package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  189. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  190. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  191. package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  192. package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  193. package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  194. package/dist/web/standalone/.next/server/app/_not-found/page.js +2 -2
  195. package/dist/web/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  196. package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
  197. package/dist/web/standalone/.next/server/app/_not-found.rsc +2 -2
  198. package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  199. package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  200. package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  201. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  202. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  203. package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  204. package/dist/web/standalone/.next/server/app/api/boot/route.js +1 -1
  205. package/dist/web/standalone/.next/server/app/api/boot/route.js.nft.json +1 -1
  206. package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route.js +1 -1
  207. package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route.js.nft.json +1 -1
  208. package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route.js +1 -1
  209. package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route.js.nft.json +1 -1
  210. package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route.js +2 -2
  211. package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route.js.nft.json +1 -1
  212. package/dist/web/standalone/.next/server/app/api/browse-directories/route.js +1 -1
  213. package/dist/web/standalone/.next/server/app/api/captures/route.js +1 -1
  214. package/dist/web/standalone/.next/server/app/api/captures/route.js.nft.json +1 -1
  215. package/dist/web/standalone/.next/server/app/api/cleanup/route.js +1 -1
  216. package/dist/web/standalone/.next/server/app/api/cleanup/route.js.nft.json +1 -1
  217. package/dist/web/standalone/.next/server/app/api/dev-mode/route.js +1 -1
  218. package/dist/web/standalone/.next/server/app/api/doctor/route.js +1 -1
  219. package/dist/web/standalone/.next/server/app/api/doctor/route.js.nft.json +1 -1
  220. package/dist/web/standalone/.next/server/app/api/experimental/route.js +2 -2
  221. package/dist/web/standalone/.next/server/app/api/export-data/route.js +1 -1
  222. package/dist/web/standalone/.next/server/app/api/export-data/route.js.nft.json +1 -1
  223. package/dist/web/standalone/.next/server/app/api/files/route.js +1 -1
  224. package/dist/web/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  225. package/dist/web/standalone/.next/server/app/api/forensics/route.js +1 -1
  226. package/dist/web/standalone/.next/server/app/api/forensics/route.js.nft.json +1 -1
  227. package/dist/web/standalone/.next/server/app/api/git/route.js +1 -1
  228. package/dist/web/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  229. package/dist/web/standalone/.next/server/app/api/history/route.js +1 -1
  230. package/dist/web/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
  231. package/dist/web/standalone/.next/server/app/api/hooks/route.js +1 -1
  232. package/dist/web/standalone/.next/server/app/api/hooks/route.js.nft.json +1 -1
  233. package/dist/web/standalone/.next/server/app/api/inspect/route.js +1 -1
  234. package/dist/web/standalone/.next/server/app/api/inspect/route.js.nft.json +1 -1
  235. package/dist/web/standalone/.next/server/app/api/knowledge/route.js +1 -1
  236. package/dist/web/standalone/.next/server/app/api/knowledge/route.js.nft.json +1 -1
  237. package/dist/web/standalone/.next/server/app/api/live-state/route.js +1 -1
  238. package/dist/web/standalone/.next/server/app/api/live-state/route.js.nft.json +1 -1
  239. package/dist/web/standalone/.next/server/app/api/notifications/route.js +2 -2
  240. package/dist/web/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  241. package/dist/web/standalone/.next/server/app/api/onboarding/route.js +1 -1
  242. package/dist/web/standalone/.next/server/app/api/onboarding/route.js.nft.json +1 -1
  243. package/dist/web/standalone/.next/server/app/api/preferences/route.js +1 -1
  244. package/dist/web/standalone/.next/server/app/api/projects/route.js +1 -1
  245. package/dist/web/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  246. package/dist/web/standalone/.next/server/app/api/recovery/route.js +1 -1
  247. package/dist/web/standalone/.next/server/app/api/recovery/route.js.nft.json +1 -1
  248. package/dist/web/standalone/.next/server/app/api/remote-questions/route.js +2 -2
  249. package/dist/web/standalone/.next/server/app/api/session/browser/route.js +1 -1
  250. package/dist/web/standalone/.next/server/app/api/session/browser/route.js.nft.json +1 -1
  251. package/dist/web/standalone/.next/server/app/api/session/command/route.js +1 -1
  252. package/dist/web/standalone/.next/server/app/api/session/command/route.js.nft.json +1 -1
  253. package/dist/web/standalone/.next/server/app/api/session/events/route.js +2 -2
  254. package/dist/web/standalone/.next/server/app/api/session/events/route.js.nft.json +1 -1
  255. package/dist/web/standalone/.next/server/app/api/session/manage/route.js +1 -1
  256. package/dist/web/standalone/.next/server/app/api/session/manage/route.js.nft.json +1 -1
  257. package/dist/web/standalone/.next/server/app/api/settings-data/route.js +1 -1
  258. package/dist/web/standalone/.next/server/app/api/settings-data/route.js.nft.json +1 -1
  259. package/dist/web/standalone/.next/server/app/api/shutdown/route.js +1 -1
  260. package/dist/web/standalone/.next/server/app/api/skill-health/route.js +1 -1
  261. package/dist/web/standalone/.next/server/app/api/skill-health/route.js.nft.json +1 -1
  262. package/dist/web/standalone/.next/server/app/api/steer/route.js +1 -1
  263. package/dist/web/standalone/.next/server/app/api/steer/route.js.nft.json +1 -1
  264. package/dist/web/standalone/.next/server/app/api/switch-root/route.js +1 -1
  265. package/dist/web/standalone/.next/server/app/api/switch-root/route.js.nft.json +1 -1
  266. package/dist/web/standalone/.next/server/app/api/terminal/input/route.js +2 -2
  267. package/dist/web/standalone/.next/server/app/api/terminal/resize/route.js +2 -2
  268. package/dist/web/standalone/.next/server/app/api/terminal/sessions/route.js +2 -2
  269. package/dist/web/standalone/.next/server/app/api/terminal/sessions/route.js.nft.json +1 -1
  270. package/dist/web/standalone/.next/server/app/api/terminal/stream/route.js +3 -3
  271. package/dist/web/standalone/.next/server/app/api/terminal/stream/route.js.nft.json +1 -1
  272. package/dist/web/standalone/.next/server/app/api/terminal/upload/route.js +1 -1
  273. package/dist/web/standalone/.next/server/app/api/undo/route.js +1 -1
  274. package/dist/web/standalone/.next/server/app/api/undo/route.js.nft.json +1 -1
  275. package/dist/web/standalone/.next/server/app/api/update/route.js +1 -1
  276. package/dist/web/standalone/.next/server/app/api/visualizer/route.js +1 -1
  277. package/dist/web/standalone/.next/server/app/api/visualizer/route.js.nft.json +1 -1
  278. package/dist/web/standalone/.next/server/app/index.html +1 -1
  279. package/dist/web/standalone/.next/server/app/index.rsc +3 -3
  280. package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  281. package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  282. package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  283. package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  284. package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  285. package/dist/web/standalone/.next/server/app/page.js +2 -2
  286. package/dist/web/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  287. package/dist/web/standalone/.next/server/app-paths-manifest.json +13 -13
  288. package/dist/web/standalone/.next/server/chunks/2331.js +16 -16
  289. package/dist/web/standalone/.next/server/chunks/4741.js +12 -12
  290. package/dist/web/standalone/.next/server/chunks/5822.js +2 -2
  291. package/dist/web/standalone/.next/server/chunks/63.js +8 -8
  292. package/dist/web/standalone/.next/server/chunks/6336.js +1 -0
  293. package/dist/web/standalone/.next/server/chunks/6897.js +3 -3
  294. package/dist/web/standalone/.next/server/functions-config-manifest.json +9 -0
  295. package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
  296. package/dist/web/standalone/.next/server/middleware-manifest.json +2 -29
  297. package/dist/web/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  298. package/dist/web/standalone/.next/server/middleware.js +12 -4
  299. package/dist/web/standalone/.next/server/pages/404.html +1 -1
  300. package/dist/web/standalone/.next/server/pages/500.html +1 -1
  301. package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
  302. package/dist/web/standalone/.next/server/webpack-runtime.js +1 -1
  303. package/dist/web/standalone/.next/static/chunks/{9058.01ef3a463bda88f1.js → 2059.d6f49d697b624f2b.js} +2 -2
  304. package/dist/web/standalone/.next/static/chunks/2824.461404167557f2cd.js +1 -0
  305. package/dist/web/standalone/.next/static/chunks/363642f4.c6481b47ee815ba0.js +1 -0
  306. package/dist/web/standalone/.next/static/chunks/{3794-42fdce068d44fa4f.js → 3794-3fb4e6ee851037bb.js} +1 -1
  307. package/dist/web/standalone/.next/static/chunks/{4447.5bad7871be61ca73.js → 4447.fe6f304888d5ac71.js} +2 -2
  308. package/dist/web/standalone/.next/static/chunks/5326.def6842b53fecd26.js +1 -0
  309. package/dist/web/standalone/.next/static/chunks/{8336.31b019697882acfb.js → 8336.6f6f30e410419aff.js} +1 -1
  310. package/dist/web/standalone/.next/static/chunks/app/{page-9bf2e0c50fb2ca05.js → page-fab3ebb85b006001.js} +1 -1
  311. package/dist/web/standalone/.next/static/chunks/{framework-711ef29bc66f648c.js → framework-34a8c4228d7fd161.js} +1 -1
  312. package/dist/web/standalone/.next/static/chunks/{main-6919d9dd919bd15f.js → main-2b7d1294417bb6bc.js} +1 -1
  313. package/dist/web/standalone/.next/static/chunks/webpack-d82dbee6356c1733.js +1 -0
  314. package/dist/web/standalone/.next/static/css/{632cd626b1731d88.css → 54ec2745c1da488b.css} +1 -1
  315. package/dist/web/standalone/node_modules/@next/env/package.json +1 -1
  316. package/dist/web/standalone/node_modules/baseline-browser-mapping/dist/index.cjs +1 -1
  317. package/dist/web/standalone/node_modules/baseline-browser-mapping/package.json +3 -3
  318. package/dist/web/standalone/node_modules/caniuse-lite/data/agents.js +1 -1
  319. package/dist/web/standalone/node_modules/caniuse-lite/data/browserVersions.js +1 -1
  320. package/dist/web/standalone/node_modules/caniuse-lite/data/features/aac.js +1 -1
  321. package/dist/web/standalone/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -1
  322. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -1
  323. package/dist/web/standalone/node_modules/caniuse-lite/data/features/accelerometer.js +1 -1
  324. package/dist/web/standalone/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -1
  325. package/dist/web/standalone/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -1
  326. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ambient-light.js +1 -1
  327. package/dist/web/standalone/node_modules/caniuse-lite/data/features/apng.js +1 -1
  328. package/dist/web/standalone/node_modules/caniuse-lite/data/features/array-find-index.js +1 -1
  329. package/dist/web/standalone/node_modules/caniuse-lite/data/features/array-find.js +1 -1
  330. package/dist/web/standalone/node_modules/caniuse-lite/data/features/array-flat.js +1 -1
  331. package/dist/web/standalone/node_modules/caniuse-lite/data/features/array-includes.js +1 -1
  332. package/dist/web/standalone/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -1
  333. package/dist/web/standalone/node_modules/caniuse-lite/data/features/asmjs.js +1 -1
  334. package/dist/web/standalone/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -1
  335. package/dist/web/standalone/node_modules/caniuse-lite/data/features/async-functions.js +1 -1
  336. package/dist/web/standalone/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -1
  337. package/dist/web/standalone/node_modules/caniuse-lite/data/features/audio-api.js +1 -1
  338. package/dist/web/standalone/node_modules/caniuse-lite/data/features/audio.js +1 -1
  339. package/dist/web/standalone/node_modules/caniuse-lite/data/features/audiotracks.js +1 -1
  340. package/dist/web/standalone/node_modules/caniuse-lite/data/features/autofocus.js +1 -1
  341. package/dist/web/standalone/node_modules/caniuse-lite/data/features/auxclick.js +1 -1
  342. package/dist/web/standalone/node_modules/caniuse-lite/data/features/av1.js +1 -1
  343. package/dist/web/standalone/node_modules/caniuse-lite/data/features/avif.js +1 -1
  344. package/dist/web/standalone/node_modules/caniuse-lite/data/features/background-attachment.js +1 -1
  345. package/dist/web/standalone/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -1
  346. package/dist/web/standalone/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -1
  347. package/dist/web/standalone/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -1
  348. package/dist/web/standalone/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -1
  349. package/dist/web/standalone/node_modules/caniuse-lite/data/features/background-sync.js +1 -1
  350. package/dist/web/standalone/node_modules/caniuse-lite/data/features/battery-status.js +1 -1
  351. package/dist/web/standalone/node_modules/caniuse-lite/data/features/beacon.js +1 -1
  352. package/dist/web/standalone/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -1
  353. package/dist/web/standalone/node_modules/caniuse-lite/data/features/bigint.js +1 -1
  354. package/dist/web/standalone/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -1
  355. package/dist/web/standalone/node_modules/caniuse-lite/data/features/bloburls.js +1 -1
  356. package/dist/web/standalone/node_modules/caniuse-lite/data/features/border-image.js +1 -1
  357. package/dist/web/standalone/node_modules/caniuse-lite/data/features/border-radius.js +1 -1
  358. package/dist/web/standalone/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -1
  359. package/dist/web/standalone/node_modules/caniuse-lite/data/features/brotli.js +1 -1
  360. package/dist/web/standalone/node_modules/caniuse-lite/data/features/calc.js +1 -1
  361. package/dist/web/standalone/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -1
  362. package/dist/web/standalone/node_modules/caniuse-lite/data/features/canvas-text.js +1 -1
  363. package/dist/web/standalone/node_modules/caniuse-lite/data/features/canvas.js +1 -1
  364. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ch-unit.js +1 -1
  365. package/dist/web/standalone/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -1
  366. package/dist/web/standalone/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -1
  367. package/dist/web/standalone/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -1
  368. package/dist/web/standalone/node_modules/caniuse-lite/data/features/classlist.js +1 -1
  369. package/dist/web/standalone/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -1
  370. package/dist/web/standalone/node_modules/caniuse-lite/data/features/clipboard.js +1 -1
  371. package/dist/web/standalone/node_modules/caniuse-lite/data/features/colr-v1.js +1 -1
  372. package/dist/web/standalone/node_modules/caniuse-lite/data/features/colr.js +1 -1
  373. package/dist/web/standalone/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -1
  374. package/dist/web/standalone/node_modules/caniuse-lite/data/features/console-basic.js +1 -1
  375. package/dist/web/standalone/node_modules/caniuse-lite/data/features/console-time.js +1 -1
  376. package/dist/web/standalone/node_modules/caniuse-lite/data/features/const.js +1 -1
  377. package/dist/web/standalone/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -1
  378. package/dist/web/standalone/node_modules/caniuse-lite/data/features/contenteditable.js +1 -1
  379. package/dist/web/standalone/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -1
  380. package/dist/web/standalone/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -1
  381. package/dist/web/standalone/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -1
  382. package/dist/web/standalone/node_modules/caniuse-lite/data/features/cors.js +1 -1
  383. package/dist/web/standalone/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -1
  384. package/dist/web/standalone/node_modules/caniuse-lite/data/features/credential-management.js +1 -1
  385. package/dist/web/standalone/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js +1 -1
  386. package/dist/web/standalone/node_modules/caniuse-lite/data/features/cryptography.js +1 -1
  387. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-all.js +1 -1
  388. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -1
  389. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-animation.js +1 -1
  390. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-any-link.js +1 -1
  391. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-appearance.js +1 -1
  392. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -1
  393. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-autofill.js +1 -1
  394. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -1
  395. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -1
  396. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -1
  397. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -1
  398. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -1
  399. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-canvas.js +1 -1
  400. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -1
  401. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -1
  402. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -1
  403. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -1
  404. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -1
  405. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -1
  406. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-color-function.js +1 -1
  407. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -1
  408. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -1
  409. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -1
  410. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -1
  411. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-containment.js +1 -1
  412. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -1
  413. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-counters.js +1 -1
  414. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -1
  415. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -1
  416. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -1
  417. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -1
  418. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -1
  419. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -1
  420. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -1
  421. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-element-function.js +1 -1
  422. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-env-function.js +1 -1
  423. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-exclusions.js +1 -1
  424. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -1
  425. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -1
  426. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -1
  427. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-filters.js +1 -1
  428. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -1
  429. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-first-line.js +1 -1
  430. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-fixed.js +1 -1
  431. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -1
  432. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -1
  433. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -1
  434. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -1
  435. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -1
  436. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -1
  437. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-gradients.js +1 -1
  438. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -1
  439. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-grid-lanes.js +1 -1
  440. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-grid.js +1 -1
  441. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -1
  442. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-has.js +1 -1
  443. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -1
  444. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-if.js +1 -1
  445. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -1
  446. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-image-set.js +1 -1
  447. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -1
  448. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -1
  449. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -1
  450. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -1
  451. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -1
  452. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -1
  453. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -1
  454. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -1
  455. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -1
  456. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-masks.js +1 -1
  457. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -1
  458. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -1
  459. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -1
  460. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -1
  461. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -1
  462. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-media-scripting.js +1 -1
  463. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -1
  464. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -1
  465. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-module-scripts.js +1 -1
  466. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -1
  467. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -1
  468. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-nesting.js +1 -1
  469. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -1
  470. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -1
  471. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-opacity.js +1 -1
  472. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -1
  473. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -1
  474. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -1
  475. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-overflow.js +1 -1
  476. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -1
  477. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-page-break.js +1 -1
  478. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -1
  479. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -1
  480. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -1
  481. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -1
  482. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -1
  483. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -1
  484. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -1
  485. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-reflections.js +1 -1
  486. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-regions.js +1 -1
  487. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -1
  488. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -1
  489. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-resize.js +1 -1
  490. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -1
  491. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -1
  492. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -1
  493. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -1
  494. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-sel2.js +1 -1
  495. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-sel3.js +1 -1
  496. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-selection.js +1 -1
  497. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-shapes.js +1 -1
  498. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -1
  499. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-sticky.js +1 -1
  500. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -1
  501. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -1
  502. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-table.js +1 -1
  503. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -1
  504. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -1
  505. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -1
  506. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -1
  507. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -1
  508. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -1
  509. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -1
  510. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -1
  511. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -1
  512. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-transitions.js +1 -1
  513. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -1
  514. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -1
  515. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-variables.js +1 -1
  516. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-when-else.js +1 -1
  517. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -1
  518. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -1
  519. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -1
  520. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css-zoom.js +1 -1
  521. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css3-attr.js +1 -1
  522. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -1
  523. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css3-colors.js +1 -1
  524. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -1
  525. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -1
  526. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -1
  527. package/dist/web/standalone/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -1
  528. package/dist/web/standalone/node_modules/caniuse-lite/data/features/currentcolor.js +1 -1
  529. package/dist/web/standalone/node_modules/caniuse-lite/data/features/custom-elements.js +1 -1
  530. package/dist/web/standalone/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -1
  531. package/dist/web/standalone/node_modules/caniuse-lite/data/features/customevent.js +1 -1
  532. package/dist/web/standalone/node_modules/caniuse-lite/data/features/customizable-select.js +1 -1
  533. package/dist/web/standalone/node_modules/caniuse-lite/data/features/datalist.js +1 -1
  534. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dataset.js +1 -1
  535. package/dist/web/standalone/node_modules/caniuse-lite/data/features/datauri.js +1 -1
  536. package/dist/web/standalone/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -1
  537. package/dist/web/standalone/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -1
  538. package/dist/web/standalone/node_modules/caniuse-lite/data/features/decorators.js +1 -1
  539. package/dist/web/standalone/node_modules/caniuse-lite/data/features/details.js +1 -1
  540. package/dist/web/standalone/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -1
  541. package/dist/web/standalone/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -1
  542. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dialog.js +1 -1
  543. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -1
  544. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dnssec.js +1 -1
  545. package/dist/web/standalone/node_modules/caniuse-lite/data/features/do-not-track.js +1 -1
  546. package/dist/web/standalone/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -1
  547. package/dist/web/standalone/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -1
  548. package/dist/web/standalone/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -1
  549. package/dist/web/standalone/node_modules/caniuse-lite/data/features/document-policy.js +1 -1
  550. package/dist/web/standalone/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -1
  551. package/dist/web/standalone/node_modules/caniuse-lite/data/features/documenthead.js +1 -1
  552. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -1
  553. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dom-range.js +1 -1
  554. package/dist/web/standalone/node_modules/caniuse-lite/data/features/domcontentloaded.js +1 -1
  555. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dommatrix.js +1 -1
  556. package/dist/web/standalone/node_modules/caniuse-lite/data/features/download.js +1 -1
  557. package/dist/web/standalone/node_modules/caniuse-lite/data/features/dragndrop.js +1 -1
  558. package/dist/web/standalone/node_modules/caniuse-lite/data/features/element-closest.js +1 -1
  559. package/dist/web/standalone/node_modules/caniuse-lite/data/features/element-from-point.js +1 -1
  560. package/dist/web/standalone/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -1
  561. package/dist/web/standalone/node_modules/caniuse-lite/data/features/eme.js +1 -1
  562. package/dist/web/standalone/node_modules/caniuse-lite/data/features/eot.js +1 -1
  563. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es5.js +1 -1
  564. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es6-class.js +1 -1
  565. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es6-generators.js +1 -1
  566. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -1
  567. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es6-module.js +1 -1
  568. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es6-number.js +1 -1
  569. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -1
  570. package/dist/web/standalone/node_modules/caniuse-lite/data/features/es6.js +1 -1
  571. package/dist/web/standalone/node_modules/caniuse-lite/data/features/eventsource.js +1 -1
  572. package/dist/web/standalone/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -1
  573. package/dist/web/standalone/node_modules/caniuse-lite/data/features/feature-policy.js +1 -1
  574. package/dist/web/standalone/node_modules/caniuse-lite/data/features/fetch.js +1 -1
  575. package/dist/web/standalone/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -1
  576. package/dist/web/standalone/node_modules/caniuse-lite/data/features/fileapi.js +1 -1
  577. package/dist/web/standalone/node_modules/caniuse-lite/data/features/filereader.js +1 -1
  578. package/dist/web/standalone/node_modules/caniuse-lite/data/features/filereadersync.js +1 -1
  579. package/dist/web/standalone/node_modules/caniuse-lite/data/features/filesystem.js +1 -1
  580. package/dist/web/standalone/node_modules/caniuse-lite/data/features/flac.js +1 -1
  581. package/dist/web/standalone/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -1
  582. package/dist/web/standalone/node_modules/caniuse-lite/data/features/flexbox.js +1 -1
  583. package/dist/web/standalone/node_modules/caniuse-lite/data/features/flow-root.js +1 -1
  584. package/dist/web/standalone/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -1
  585. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -1
  586. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-feature.js +1 -1
  587. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-kerning.js +1 -1
  588. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-loading.js +1 -1
  589. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -1
  590. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-smooth.js +1 -1
  591. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -1
  592. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -1
  593. package/dist/web/standalone/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -1
  594. package/dist/web/standalone/node_modules/caniuse-lite/data/features/fontface.js +1 -1
  595. package/dist/web/standalone/node_modules/caniuse-lite/data/features/form-attribute.js +1 -1
  596. package/dist/web/standalone/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -1
  597. package/dist/web/standalone/node_modules/caniuse-lite/data/features/form-validation.js +1 -1
  598. package/dist/web/standalone/node_modules/caniuse-lite/data/features/forms.js +1 -1
  599. package/dist/web/standalone/node_modules/caniuse-lite/data/features/fullscreen.js +1 -1
  600. package/dist/web/standalone/node_modules/caniuse-lite/data/features/gamepad.js +1 -1
  601. package/dist/web/standalone/node_modules/caniuse-lite/data/features/geolocation.js +1 -1
  602. package/dist/web/standalone/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -1
  603. package/dist/web/standalone/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -1
  604. package/dist/web/standalone/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -1
  605. package/dist/web/standalone/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -1
  606. package/dist/web/standalone/node_modules/caniuse-lite/data/features/gyroscope.js +1 -1
  607. package/dist/web/standalone/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -1
  608. package/dist/web/standalone/node_modules/caniuse-lite/data/features/hashchange.js +1 -1
  609. package/dist/web/standalone/node_modules/caniuse-lite/data/features/heif.js +1 -1
  610. package/dist/web/standalone/node_modules/caniuse-lite/data/features/hevc.js +1 -1
  611. package/dist/web/standalone/node_modules/caniuse-lite/data/features/hidden.js +1 -1
  612. package/dist/web/standalone/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -1
  613. package/dist/web/standalone/node_modules/caniuse-lite/data/features/history.js +1 -1
  614. package/dist/web/standalone/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -1
  615. package/dist/web/standalone/node_modules/caniuse-lite/data/features/html5semantic.js +1 -1
  616. package/dist/web/standalone/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -1
  617. package/dist/web/standalone/node_modules/caniuse-lite/data/features/http2.js +1 -1
  618. package/dist/web/standalone/node_modules/caniuse-lite/data/features/http3.js +1 -1
  619. package/dist/web/standalone/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -1
  620. package/dist/web/standalone/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -1
  621. package/dist/web/standalone/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -1
  622. package/dist/web/standalone/node_modules/caniuse-lite/data/features/imagecapture.js +1 -1
  623. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ime.js +1 -1
  624. package/dist/web/standalone/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +1 -1
  625. package/dist/web/standalone/node_modules/caniuse-lite/data/features/import-maps.js +1 -1
  626. package/dist/web/standalone/node_modules/caniuse-lite/data/features/imports.js +1 -1
  627. package/dist/web/standalone/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -1
  628. package/dist/web/standalone/node_modules/caniuse-lite/data/features/indexeddb.js +1 -1
  629. package/dist/web/standalone/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -1
  630. package/dist/web/standalone/node_modules/caniuse-lite/data/features/inline-block.js +1 -1
  631. package/dist/web/standalone/node_modules/caniuse-lite/data/features/innertext.js +1 -1
  632. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -1
  633. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-color.js +1 -1
  634. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-datetime.js +1 -1
  635. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -1
  636. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-event.js +1 -1
  637. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -1
  638. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -1
  639. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -1
  640. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -1
  641. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-minlength.js +1 -1
  642. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-number.js +1 -1
  643. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-pattern.js +1 -1
  644. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -1
  645. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-range.js +1 -1
  646. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-search.js +1 -1
  647. package/dist/web/standalone/node_modules/caniuse-lite/data/features/input-selection.js +1 -1
  648. package/dist/web/standalone/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -1
  649. package/dist/web/standalone/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -1
  650. package/dist/web/standalone/node_modules/caniuse-lite/data/features/internationalization.js +1 -1
  651. package/dist/web/standalone/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -1
  652. package/dist/web/standalone/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -1
  653. package/dist/web/standalone/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -1
  654. package/dist/web/standalone/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -1
  655. package/dist/web/standalone/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -1
  656. package/dist/web/standalone/node_modules/caniuse-lite/data/features/jpegxl.js +1 -1
  657. package/dist/web/standalone/node_modules/caniuse-lite/data/features/jpegxr.js +1 -1
  658. package/dist/web/standalone/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -1
  659. package/dist/web/standalone/node_modules/caniuse-lite/data/features/json.js +1 -1
  660. package/dist/web/standalone/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -1
  661. package/dist/web/standalone/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -1
  662. package/dist/web/standalone/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -1
  663. package/dist/web/standalone/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -1
  664. package/dist/web/standalone/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -1
  665. package/dist/web/standalone/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -1
  666. package/dist/web/standalone/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -1
  667. package/dist/web/standalone/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -1
  668. package/dist/web/standalone/node_modules/caniuse-lite/data/features/lazyload.js +1 -1
  669. package/dist/web/standalone/node_modules/caniuse-lite/data/features/let.js +1 -1
  670. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -1
  671. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -1
  672. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -1
  673. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -1
  674. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -1
  675. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -1
  676. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -1
  677. package/dist/web/standalone/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -1
  678. package/dist/web/standalone/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -1
  679. package/dist/web/standalone/node_modules/caniuse-lite/data/features/loading-lazy-media.js +1 -1
  680. package/dist/web/standalone/node_modules/caniuse-lite/data/features/localecompare.js +1 -1
  681. package/dist/web/standalone/node_modules/caniuse-lite/data/features/magnetometer.js +1 -1
  682. package/dist/web/standalone/node_modules/caniuse-lite/data/features/matchesselector.js +1 -1
  683. package/dist/web/standalone/node_modules/caniuse-lite/data/features/matchmedia.js +1 -1
  684. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mathml.js +1 -1
  685. package/dist/web/standalone/node_modules/caniuse-lite/data/features/maxlength.js +1 -1
  686. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -1
  687. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -1
  688. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -1
  689. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -1
  690. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -1
  691. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -1
  692. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -1
  693. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -1
  694. package/dist/web/standalone/node_modules/caniuse-lite/data/features/media-fragments.js +1 -1
  695. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -1
  696. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -1
  697. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mediasource.js +1 -1
  698. package/dist/web/standalone/node_modules/caniuse-lite/data/features/menu.js +1 -1
  699. package/dist/web/standalone/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -1
  700. package/dist/web/standalone/node_modules/caniuse-lite/data/features/meter.js +1 -1
  701. package/dist/web/standalone/node_modules/caniuse-lite/data/features/midi.js +1 -1
  702. package/dist/web/standalone/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -1
  703. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mp3.js +1 -1
  704. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -1
  705. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mpeg4.js +1 -1
  706. package/dist/web/standalone/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -1
  707. package/dist/web/standalone/node_modules/caniuse-lite/data/features/multicolumn.js +1 -1
  708. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mutation-events.js +1 -1
  709. package/dist/web/standalone/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -1
  710. package/dist/web/standalone/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -1
  711. package/dist/web/standalone/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -1
  712. package/dist/web/standalone/node_modules/caniuse-lite/data/features/nav-timing.js +1 -1
  713. package/dist/web/standalone/node_modules/caniuse-lite/data/features/netinfo.js +1 -1
  714. package/dist/web/standalone/node_modules/caniuse-lite/data/features/notifications.js +1 -1
  715. package/dist/web/standalone/node_modules/caniuse-lite/data/features/object-entries.js +1 -1
  716. package/dist/web/standalone/node_modules/caniuse-lite/data/features/object-fit.js +1 -1
  717. package/dist/web/standalone/node_modules/caniuse-lite/data/features/object-observe.js +1 -1
  718. package/dist/web/standalone/node_modules/caniuse-lite/data/features/object-values.js +1 -1
  719. package/dist/web/standalone/node_modules/caniuse-lite/data/features/objectrtc.js +1 -1
  720. package/dist/web/standalone/node_modules/caniuse-lite/data/features/offline-apps.js +1 -1
  721. package/dist/web/standalone/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -1
  722. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -1
  723. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ogv.js +1 -1
  724. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -1
  725. package/dist/web/standalone/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -1
  726. package/dist/web/standalone/node_modules/caniuse-lite/data/features/online-status.js +1 -1
  727. package/dist/web/standalone/node_modules/caniuse-lite/data/features/opus.js +1 -1
  728. package/dist/web/standalone/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -1
  729. package/dist/web/standalone/node_modules/caniuse-lite/data/features/outline.js +1 -1
  730. package/dist/web/standalone/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -1
  731. package/dist/web/standalone/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -1
  732. package/dist/web/standalone/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -1
  733. package/dist/web/standalone/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -1
  734. package/dist/web/standalone/node_modules/caniuse-lite/data/features/passkeys.js +1 -1
  735. package/dist/web/standalone/node_modules/caniuse-lite/data/features/passwordrules.js +1 -1
  736. package/dist/web/standalone/node_modules/caniuse-lite/data/features/path2d.js +1 -1
  737. package/dist/web/standalone/node_modules/caniuse-lite/data/features/payment-request.js +1 -1
  738. package/dist/web/standalone/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -1
  739. package/dist/web/standalone/node_modules/caniuse-lite/data/features/permissions-api.js +1 -1
  740. package/dist/web/standalone/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -1
  741. package/dist/web/standalone/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -1
  742. package/dist/web/standalone/node_modules/caniuse-lite/data/features/picture.js +1 -1
  743. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ping.js +1 -1
  744. package/dist/web/standalone/node_modules/caniuse-lite/data/features/png-alpha.js +1 -1
  745. package/dist/web/standalone/node_modules/caniuse-lite/data/features/pointer-events.js +1 -1
  746. package/dist/web/standalone/node_modules/caniuse-lite/data/features/pointer.js +1 -1
  747. package/dist/web/standalone/node_modules/caniuse-lite/data/features/pointerlock.js +1 -1
  748. package/dist/web/standalone/node_modules/caniuse-lite/data/features/portals.js +1 -1
  749. package/dist/web/standalone/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -1
  750. package/dist/web/standalone/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -1
  751. package/dist/web/standalone/node_modules/caniuse-lite/data/features/progress.js +1 -1
  752. package/dist/web/standalone/node_modules/caniuse-lite/data/features/promise-finally.js +1 -1
  753. package/dist/web/standalone/node_modules/caniuse-lite/data/features/promises.js +1 -1
  754. package/dist/web/standalone/node_modules/caniuse-lite/data/features/proximity.js +1 -1
  755. package/dist/web/standalone/node_modules/caniuse-lite/data/features/proxy.js +1 -1
  756. package/dist/web/standalone/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -1
  757. package/dist/web/standalone/node_modules/caniuse-lite/data/features/push-api.js +1 -1
  758. package/dist/web/standalone/node_modules/caniuse-lite/data/features/queryselector.js +1 -1
  759. package/dist/web/standalone/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -1
  760. package/dist/web/standalone/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -1
  761. package/dist/web/standalone/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -1
  762. package/dist/web/standalone/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -1
  763. package/dist/web/standalone/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -1
  764. package/dist/web/standalone/node_modules/caniuse-lite/data/features/rellist.js +1 -1
  765. package/dist/web/standalone/node_modules/caniuse-lite/data/features/rem.js +1 -1
  766. package/dist/web/standalone/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -1
  767. package/dist/web/standalone/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -1
  768. package/dist/web/standalone/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -1
  769. package/dist/web/standalone/node_modules/caniuse-lite/data/features/resource-timing.js +1 -1
  770. package/dist/web/standalone/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -1
  771. package/dist/web/standalone/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -1
  772. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ruby.js +1 -1
  773. package/dist/web/standalone/node_modules/caniuse-lite/data/features/run-in.js +1 -1
  774. package/dist/web/standalone/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -1
  775. package/dist/web/standalone/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -1
  776. package/dist/web/standalone/node_modules/caniuse-lite/data/features/script-async.js +1 -1
  777. package/dist/web/standalone/node_modules/caniuse-lite/data/features/script-defer.js +1 -1
  778. package/dist/web/standalone/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -1
  779. package/dist/web/standalone/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -1
  780. package/dist/web/standalone/node_modules/caniuse-lite/data/features/sdch.js +1 -1
  781. package/dist/web/standalone/node_modules/caniuse-lite/data/features/selection-api.js +1 -1
  782. package/dist/web/standalone/node_modules/caniuse-lite/data/features/server-timing.js +1 -1
  783. package/dist/web/standalone/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -1
  784. package/dist/web/standalone/node_modules/caniuse-lite/data/features/setimmediate.js +1 -1
  785. package/dist/web/standalone/node_modules/caniuse-lite/data/features/shadowdom.js +1 -1
  786. package/dist/web/standalone/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -1
  787. package/dist/web/standalone/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -1
  788. package/dist/web/standalone/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -1
  789. package/dist/web/standalone/node_modules/caniuse-lite/data/features/sni.js +1 -1
  790. package/dist/web/standalone/node_modules/caniuse-lite/data/features/spdy.js +1 -1
  791. package/dist/web/standalone/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -1
  792. package/dist/web/standalone/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -1
  793. package/dist/web/standalone/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -1
  794. package/dist/web/standalone/node_modules/caniuse-lite/data/features/sql-storage.js +1 -1
  795. package/dist/web/standalone/node_modules/caniuse-lite/data/features/srcset.js +1 -1
  796. package/dist/web/standalone/node_modules/caniuse-lite/data/features/stream.js +1 -1
  797. package/dist/web/standalone/node_modules/caniuse-lite/data/features/streams.js +1 -1
  798. package/dist/web/standalone/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -1
  799. package/dist/web/standalone/node_modules/caniuse-lite/data/features/style-scoped.js +1 -1
  800. package/dist/web/standalone/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -1
  801. package/dist/web/standalone/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -1
  802. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-css.js +1 -1
  803. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-filters.js +1 -1
  804. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -1
  805. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -1
  806. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-html.js +1 -1
  807. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-html5.js +1 -1
  808. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-img.js +1 -1
  809. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg-smil.js +1 -1
  810. package/dist/web/standalone/node_modules/caniuse-lite/data/features/svg.js +1 -1
  811. package/dist/web/standalone/node_modules/caniuse-lite/data/features/sxg.js +1 -1
  812. package/dist/web/standalone/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -1
  813. package/dist/web/standalone/node_modules/caniuse-lite/data/features/template-literals.js +1 -1
  814. package/dist/web/standalone/node_modules/caniuse-lite/data/features/template.js +1 -1
  815. package/dist/web/standalone/node_modules/caniuse-lite/data/features/temporal.js +1 -1
  816. package/dist/web/standalone/node_modules/caniuse-lite/data/features/testfeat.js +1 -1
  817. package/dist/web/standalone/node_modules/caniuse-lite/data/features/text-decoration.js +1 -1
  818. package/dist/web/standalone/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -1
  819. package/dist/web/standalone/node_modules/caniuse-lite/data/features/text-overflow.js +1 -1
  820. package/dist/web/standalone/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -1
  821. package/dist/web/standalone/node_modules/caniuse-lite/data/features/text-stroke.js +1 -1
  822. package/dist/web/standalone/node_modules/caniuse-lite/data/features/textcontent.js +1 -1
  823. package/dist/web/standalone/node_modules/caniuse-lite/data/features/textencoder.js +1 -1
  824. package/dist/web/standalone/node_modules/caniuse-lite/data/features/tls1-1.js +1 -1
  825. package/dist/web/standalone/node_modules/caniuse-lite/data/features/tls1-2.js +1 -1
  826. package/dist/web/standalone/node_modules/caniuse-lite/data/features/tls1-3.js +1 -1
  827. package/dist/web/standalone/node_modules/caniuse-lite/data/features/touch.js +1 -1
  828. package/dist/web/standalone/node_modules/caniuse-lite/data/features/transforms2d.js +1 -1
  829. package/dist/web/standalone/node_modules/caniuse-lite/data/features/transforms3d.js +1 -1
  830. package/dist/web/standalone/node_modules/caniuse-lite/data/features/trusted-types.js +1 -1
  831. package/dist/web/standalone/node_modules/caniuse-lite/data/features/ttf.js +1 -1
  832. package/dist/web/standalone/node_modules/caniuse-lite/data/features/typedarrays.js +1 -1
  833. package/dist/web/standalone/node_modules/caniuse-lite/data/features/u2f.js +1 -1
  834. package/dist/web/standalone/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -1
  835. package/dist/web/standalone/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -1
  836. package/dist/web/standalone/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -1
  837. package/dist/web/standalone/node_modules/caniuse-lite/data/features/url.js +1 -1
  838. package/dist/web/standalone/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -1
  839. package/dist/web/standalone/node_modules/caniuse-lite/data/features/use-strict.js +1 -1
  840. package/dist/web/standalone/node_modules/caniuse-lite/data/features/user-select-none.js +1 -1
  841. package/dist/web/standalone/node_modules/caniuse-lite/data/features/user-timing.js +1 -1
  842. package/dist/web/standalone/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -1
  843. package/dist/web/standalone/node_modules/caniuse-lite/data/features/vector-effect.js +1 -1
  844. package/dist/web/standalone/node_modules/caniuse-lite/data/features/vibration.js +1 -1
  845. package/dist/web/standalone/node_modules/caniuse-lite/data/features/video.js +1 -1
  846. package/dist/web/standalone/node_modules/caniuse-lite/data/features/videotracks.js +1 -1
  847. package/dist/web/standalone/node_modules/caniuse-lite/data/features/view-transitions.js +1 -1
  848. package/dist/web/standalone/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -1
  849. package/dist/web/standalone/node_modules/caniuse-lite/data/features/viewport-units.js +1 -1
  850. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wai-aria.js +1 -1
  851. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wake-lock.js +1 -1
  852. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-bigint.js +1 -1
  853. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +1 -1
  854. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-extended-const.js +1 -1
  855. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-gc.js +1 -1
  856. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +1 -1
  857. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-multi-value.js +1 -1
  858. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +1 -1
  859. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +1 -1
  860. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-reference-types.js +1 -1
  861. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +1 -1
  862. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-signext.js +1 -1
  863. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-simd.js +1 -1
  864. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +1 -1
  865. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm-threads.js +1 -1
  866. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wasm.js +1 -1
  867. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wav.js +1 -1
  868. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wbr-element.js +1 -1
  869. package/dist/web/standalone/node_modules/caniuse-lite/data/features/web-animation.js +1 -1
  870. package/dist/web/standalone/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -1
  871. package/dist/web/standalone/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -1
  872. package/dist/web/standalone/node_modules/caniuse-lite/data/features/web-serial.js +1 -1
  873. package/dist/web/standalone/node_modules/caniuse-lite/data/features/web-share.js +1 -1
  874. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webauthn.js +1 -1
  875. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webcodecs.js +1 -1
  876. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webgl.js +1 -1
  877. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webgl2.js +1 -1
  878. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webgpu.js +1 -1
  879. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webhid.js +1 -1
  880. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -1
  881. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webm.js +1 -1
  882. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webnfc.js +1 -1
  883. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webp.js +1 -1
  884. package/dist/web/standalone/node_modules/caniuse-lite/data/features/websockets.js +1 -1
  885. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webtransport.js +1 -1
  886. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webusb.js +1 -1
  887. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webvr.js +1 -1
  888. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webvtt.js +1 -1
  889. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webworkers.js +1 -1
  890. package/dist/web/standalone/node_modules/caniuse-lite/data/features/webxr.js +1 -1
  891. package/dist/web/standalone/node_modules/caniuse-lite/data/features/will-change.js +1 -1
  892. package/dist/web/standalone/node_modules/caniuse-lite/data/features/woff.js +1 -1
  893. package/dist/web/standalone/node_modules/caniuse-lite/data/features/woff2.js +1 -1
  894. package/dist/web/standalone/node_modules/caniuse-lite/data/features/word-break.js +1 -1
  895. package/dist/web/standalone/node_modules/caniuse-lite/data/features/wordwrap.js +1 -1
  896. package/dist/web/standalone/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -1
  897. package/dist/web/standalone/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -1
  898. package/dist/web/standalone/node_modules/caniuse-lite/data/features/xhr2.js +1 -1
  899. package/dist/web/standalone/node_modules/caniuse-lite/data/features/xhtml.js +1 -1
  900. package/dist/web/standalone/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -1
  901. package/dist/web/standalone/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -1
  902. package/dist/web/standalone/node_modules/caniuse-lite/data/features/zstd.js +1 -1
  903. package/dist/web/standalone/node_modules/caniuse-lite/package.json +7 -7
  904. package/dist/web/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  905. package/dist/web/standalone/node_modules/next/dist/build/webpack-config.js +3 -3
  906. package/dist/web/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +7 -7
  907. package/dist/web/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +6 -6
  908. package/dist/web/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  909. package/dist/web/standalone/node_modules/next/dist/server/config-schema.js +10 -2
  910. package/dist/web/standalone/node_modules/next/dist/server/config.js +1 -1
  911. package/dist/web/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  912. package/dist/web/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  913. package/dist/web/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  914. package/dist/web/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  915. package/dist/web/standalone/node_modules/next/dist/server/render.js +27 -20
  916. package/dist/web/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  917. package/dist/web/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  918. package/dist/web/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  919. package/dist/web/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  920. package/dist/web/standalone/node_modules/next/package.json +15 -15
  921. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/container.js +26 -18
  922. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/css-syntax-error.js +47 -14
  923. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/input.js +54 -29
  924. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/lazy-result.js +47 -37
  925. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/map-generator.js +26 -9
  926. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/no-work-result.js +57 -55
  927. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/node.js +99 -31
  928. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/parser.js +10 -9
  929. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/previous-map.js +30 -11
  930. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/processor.js +7 -7
  931. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/result.js +5 -5
  932. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/stringifier.js +69 -28
  933. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/tokenize.js +6 -2
  934. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/package.json +48 -48
  935. package/dist/web/standalone/node_modules/react/cjs/react.development.js +1 -1
  936. package/dist/web/standalone/node_modules/react/cjs/react.production.js +1 -1
  937. package/dist/web/standalone/node_modules/react/package.json +1 -1
  938. package/dist/web/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +1 -1
  939. package/dist/web/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +1 -1
  940. package/dist/web/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +3 -3
  941. package/dist/web/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +3 -3
  942. package/dist/web/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +3 -3
  943. package/dist/web/standalone/node_modules/react-dom/cjs/react-dom.production.js +1 -1
  944. package/dist/web/standalone/node_modules/react-dom/package.json +2 -2
  945. package/dist/web/standalone/package.json +12 -7
  946. package/dist/welcome-screen.js +27 -1
  947. package/dist/worktree-cli.d.ts +6 -4
  948. package/dist/worktree-cli.js +26 -20
  949. package/package.json +2 -4
  950. package/packages/mcp-server/README.md +13 -11
  951. package/packages/mcp-server/dist/env-writer.d.ts +5 -1
  952. package/packages/mcp-server/dist/env-writer.d.ts.map +1 -1
  953. package/packages/mcp-server/dist/env-writer.js +41 -8
  954. package/packages/mcp-server/dist/env-writer.js.map +1 -1
  955. package/packages/mcp-server/dist/readers/graph.d.ts.map +1 -1
  956. package/packages/mcp-server/dist/readers/graph.js +7 -6
  957. package/packages/mcp-server/dist/readers/graph.js.map +1 -1
  958. package/packages/mcp-server/dist/readers/paths.d.ts +2 -0
  959. package/packages/mcp-server/dist/readers/paths.d.ts.map +1 -1
  960. package/packages/mcp-server/dist/readers/paths.js +163 -59
  961. package/packages/mcp-server/dist/readers/paths.js.map +1 -1
  962. package/packages/mcp-server/dist/remote-questions.d.ts +27 -0
  963. package/packages/mcp-server/dist/remote-questions.d.ts.map +1 -1
  964. package/packages/mcp-server/dist/remote-questions.js +47 -2
  965. package/packages/mcp-server/dist/remote-questions.js.map +1 -1
  966. package/packages/mcp-server/dist/server.d.ts +39 -1
  967. package/packages/mcp-server/dist/server.d.ts.map +1 -1
  968. package/packages/mcp-server/dist/server.js +228 -52
  969. package/packages/mcp-server/dist/server.js.map +1 -1
  970. package/packages/mcp-server/dist/session-manager.d.ts +6 -1
  971. package/packages/mcp-server/dist/session-manager.d.ts.map +1 -1
  972. package/packages/mcp-server/dist/session-manager.js +35 -13
  973. package/packages/mcp-server/dist/session-manager.js.map +1 -1
  974. package/packages/mcp-server/dist/workflow-tools.d.ts +7 -1
  975. package/packages/mcp-server/dist/workflow-tools.d.ts.map +1 -1
  976. package/packages/mcp-server/dist/workflow-tools.js +160 -30
  977. package/packages/mcp-server/dist/workflow-tools.js.map +1 -1
  978. package/packages/mcp-server/src/env-writer.test.ts +76 -1
  979. package/packages/mcp-server/src/env-writer.ts +48 -9
  980. package/packages/mcp-server/src/import-candidates.test.ts +9 -4
  981. package/packages/mcp-server/src/mcp-server.test.ts +422 -2
  982. package/packages/mcp-server/src/parse-workflow-args.test.ts +80 -0
  983. package/packages/mcp-server/src/readers/graph.test.ts +5 -2
  984. package/packages/mcp-server/src/readers/graph.ts +14 -6
  985. package/packages/mcp-server/src/readers/paths.test.ts +67 -0
  986. package/packages/mcp-server/src/readers/paths.ts +173 -56
  987. package/packages/mcp-server/src/remote-questions.test.ts +103 -0
  988. package/packages/mcp-server/src/remote-questions.ts +53 -2
  989. package/packages/mcp-server/src/server.ts +284 -59
  990. package/packages/mcp-server/src/session-manager.ts +33 -12
  991. package/packages/mcp-server/src/workflow-tools.test.ts +282 -136
  992. package/packages/mcp-server/src/workflow-tools.ts +171 -33
  993. package/packages/mcp-server/tsconfig.tsbuildinfo +1 -1
  994. package/packages/native/dist/stream-process/index.js +207 -6
  995. package/packages/native/src/__tests__/stream-process.test.mjs +51 -18
  996. package/packages/native/src/stream-process/index.ts +249 -11
  997. package/packages/native/tsconfig.tsbuildinfo +1 -1
  998. package/packages/pi-ai/dist/providers/anthropic-bearer-auth.test.js +8 -2
  999. package/packages/pi-ai/dist/providers/anthropic-bearer-auth.test.js.map +1 -1
  1000. package/packages/pi-ai/dist/providers/minimax-tool-name.test.js +8 -2
  1001. package/packages/pi-ai/dist/providers/minimax-tool-name.test.js.map +1 -1
  1002. package/packages/pi-ai/src/providers/anthropic-bearer-auth.test.ts +8 -2
  1003. package/packages/pi-ai/src/providers/minimax-tool-name.test.ts +9 -2
  1004. package/packages/pi-ai/tsconfig.tsbuildinfo +1 -1
  1005. package/packages/pi-coding-agent/dist/core/agent-session-abort-order.test.js +278 -0
  1006. package/packages/pi-coding-agent/dist/core/agent-session-abort-order.test.js.map +1 -1
  1007. package/packages/pi-coding-agent/dist/core/agent-session.d.ts +7 -0
  1008. package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  1009. package/packages/pi-coding-agent/dist/core/agent-session.js +125 -55
  1010. package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  1011. package/packages/pi-coding-agent/dist/core/extensions/runner.d.ts +1 -0
  1012. package/packages/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
  1013. package/packages/pi-coding-agent/dist/core/extensions/runner.js +43 -2
  1014. package/packages/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
  1015. package/packages/pi-coding-agent/dist/core/extensions/runner.test.js +79 -1
  1016. package/packages/pi-coding-agent/dist/core/extensions/runner.test.js.map +1 -1
  1017. package/packages/pi-coding-agent/dist/core/tools/bash-spawn-windows.test.js +24 -6
  1018. package/packages/pi-coding-agent/dist/core/tools/bash-spawn-windows.test.js.map +1 -1
  1019. package/packages/pi-coding-agent/src/core/agent-session-abort-order.test.ts +319 -0
  1020. package/packages/pi-coding-agent/src/core/agent-session.ts +128 -59
  1021. package/packages/pi-coding-agent/src/core/extensions/runner.test.ts +89 -1
  1022. package/packages/pi-coding-agent/src/core/extensions/runner.ts +46 -2
  1023. package/packages/pi-coding-agent/src/core/tools/bash-spawn-windows.test.ts +26 -6
  1024. package/packages/pi-coding-agent/tsconfig.tsbuildinfo +1 -1
  1025. package/src/resources/GSD-WORKFLOW.md +29 -42
  1026. package/src/resources/extensions/async-jobs/job-manager.ts +3 -0
  1027. package/src/resources/extensions/bg-shell/bg-shell-lifecycle.ts +3 -2
  1028. package/src/resources/extensions/bg-shell/utilities.ts +2 -1
  1029. package/src/resources/extensions/browser-tools/tools/intent.ts +13 -2
  1030. package/src/resources/extensions/claude-code-cli/readiness.ts +20 -7
  1031. package/src/resources/extensions/claude-code-cli/stream-adapter.ts +21 -8
  1032. package/src/resources/extensions/claude-code-cli/tests/stream-adapter.test.ts +34 -13
  1033. package/src/resources/extensions/github-sync/cli.ts +3 -0
  1034. package/src/resources/extensions/github-sync/sync.ts +88 -58
  1035. package/src/resources/extensions/github-sync/tests/sync-source.test.ts +26 -0
  1036. package/src/resources/extensions/google-search/index.ts +2 -9
  1037. package/src/resources/extensions/gsd/auto/loop-deps.ts +1 -1
  1038. package/src/resources/extensions/gsd/auto/phases.ts +95 -37
  1039. package/src/resources/extensions/gsd/auto/run-unit.ts +23 -11
  1040. package/src/resources/extensions/gsd/auto/session.ts +5 -6
  1041. package/src/resources/extensions/gsd/auto-artifact-paths.ts +60 -30
  1042. package/src/resources/extensions/gsd/auto-dashboard.ts +13 -2
  1043. package/src/resources/extensions/gsd/auto-direct-dispatch.ts +62 -24
  1044. package/src/resources/extensions/gsd/auto-dispatch.ts +275 -99
  1045. package/src/resources/extensions/gsd/auto-post-unit.ts +123 -44
  1046. package/src/resources/extensions/gsd/auto-prompts.ts +170 -9
  1047. package/src/resources/extensions/gsd/auto-recovery.ts +75 -13
  1048. package/src/resources/extensions/gsd/auto-start.ts +72 -72
  1049. package/src/resources/extensions/gsd/auto-timeout-recovery.ts +22 -0
  1050. package/src/resources/extensions/gsd/auto-timers.ts +37 -5
  1051. package/src/resources/extensions/gsd/auto-worktree.ts +180 -200
  1052. package/src/resources/extensions/gsd/auto.ts +74 -21
  1053. package/src/resources/extensions/gsd/bootstrap/agent-end-recovery.ts +20 -1
  1054. package/src/resources/extensions/gsd/bootstrap/db-tools.ts +38 -7
  1055. package/src/resources/extensions/gsd/bootstrap/dynamic-tools.ts +9 -84
  1056. package/src/resources/extensions/gsd/bootstrap/register-hooks.ts +102 -8
  1057. package/src/resources/extensions/gsd/bootstrap/subagent-input.ts +20 -0
  1058. package/src/resources/extensions/gsd/bootstrap/system-context.ts +14 -4
  1059. package/src/resources/extensions/gsd/bootstrap/write-gate.ts +195 -16
  1060. package/src/resources/extensions/gsd/branch-patterns.ts +3 -3
  1061. package/src/resources/extensions/gsd/commands/catalog.ts +14 -6
  1062. package/src/resources/extensions/gsd/commands/context.ts +40 -6
  1063. package/src/resources/extensions/gsd/commands/dispatcher.ts +11 -5
  1064. package/src/resources/extensions/gsd/commands/handlers/auto.ts +2 -1
  1065. package/src/resources/extensions/gsd/commands/handlers/core.ts +3 -0
  1066. package/src/resources/extensions/gsd/commands/handlers/ops.ts +15 -0
  1067. package/src/resources/extensions/gsd/commands/handlers/workflow.ts +23 -2
  1068. package/src/resources/extensions/gsd/commands-bootstrap.ts +7 -0
  1069. package/src/resources/extensions/gsd/commands-codebase.ts +2 -1
  1070. package/src/resources/extensions/gsd/commands-config.ts +3 -2
  1071. package/src/resources/extensions/gsd/commands-debug.ts +27 -1
  1072. package/src/resources/extensions/gsd/commands-eval-review.ts +716 -0
  1073. package/src/resources/extensions/gsd/commands-extensions.ts +47 -7
  1074. package/src/resources/extensions/gsd/commands-handlers.ts +8 -7
  1075. package/src/resources/extensions/gsd/commands-logs.ts +2 -1
  1076. package/src/resources/extensions/gsd/commands-mcp-status.ts +2 -2
  1077. package/src/resources/extensions/gsd/commands-scan.ts +2 -1
  1078. package/src/resources/extensions/gsd/commands-ship.ts +101 -1
  1079. package/src/resources/extensions/gsd/commands-workflow-templates.ts +5 -4
  1080. package/src/resources/extensions/gsd/commands-worktree.ts +383 -0
  1081. package/src/resources/extensions/gsd/context-budget.ts +13 -2
  1082. package/src/resources/extensions/gsd/db-writer.ts +63 -79
  1083. package/src/resources/extensions/gsd/deep-project-setup-policy.ts +257 -0
  1084. package/src/resources/extensions/gsd/delegation-policy.ts +197 -0
  1085. package/src/resources/extensions/gsd/detection.ts +7 -7
  1086. package/src/resources/extensions/gsd/dispatch-guard.ts +6 -11
  1087. package/src/resources/extensions/gsd/docs/preferences-reference.md +12 -4
  1088. package/src/resources/extensions/gsd/doctor-engine-checks.ts +2 -2
  1089. package/src/resources/extensions/gsd/doctor-providers.ts +2 -1
  1090. package/src/resources/extensions/gsd/doctor-runtime-checks.ts +53 -0
  1091. package/src/resources/extensions/gsd/doctor-types.ts +1 -0
  1092. package/src/resources/extensions/gsd/eval-review-schema.ts +243 -0
  1093. package/src/resources/extensions/gsd/forensics.ts +17 -6
  1094. package/src/resources/extensions/gsd/git-service.ts +81 -3
  1095. package/src/resources/extensions/gsd/gsd-db.ts +88 -10
  1096. package/src/resources/extensions/gsd/gsd-home.ts +30 -0
  1097. package/src/resources/extensions/gsd/guided-flow.ts +353 -97
  1098. package/src/resources/extensions/gsd/init-wizard.ts +17 -20
  1099. package/src/resources/extensions/gsd/interrupted-session.ts +39 -2
  1100. package/src/resources/extensions/gsd/journal.ts +4 -1
  1101. package/src/resources/extensions/gsd/key-manager.ts +2 -1
  1102. package/src/resources/extensions/gsd/markdown-renderer.ts +58 -79
  1103. package/src/resources/extensions/gsd/migrate/command.ts +3 -2
  1104. package/src/resources/extensions/gsd/milestone-scope-classifier.ts +15 -8
  1105. package/src/resources/extensions/gsd/native-git-bridge.ts +19 -41
  1106. package/src/resources/extensions/gsd/onboarding-state.ts +2 -2
  1107. package/src/resources/extensions/gsd/parallel-merge.ts +14 -13
  1108. package/src/resources/extensions/gsd/parallel-monitor-overlay.ts +5 -2
  1109. package/src/resources/extensions/gsd/paths.ts +91 -1
  1110. package/src/resources/extensions/gsd/planning-depth.ts +137 -0
  1111. package/src/resources/extensions/gsd/preferences-models.ts +18 -1
  1112. package/src/resources/extensions/gsd/preferences-skills.ts +2 -1
  1113. package/src/resources/extensions/gsd/preferences-types.ts +11 -0
  1114. package/src/resources/extensions/gsd/preferences-validation.ts +9 -0
  1115. package/src/resources/extensions/gsd/preferences.ts +26 -5
  1116. package/src/resources/extensions/gsd/project-research-policy.ts +259 -0
  1117. package/src/resources/extensions/gsd/prompt-loader.ts +2 -3
  1118. package/src/resources/extensions/gsd/prompts/complete-milestone.md +10 -0
  1119. package/src/resources/extensions/gsd/prompts/complete-slice.md +14 -4
  1120. package/src/resources/extensions/gsd/prompts/execute-task.md +3 -3
  1121. package/src/resources/extensions/gsd/prompts/guided-discuss-milestone.md +10 -1
  1122. package/src/resources/extensions/gsd/prompts/guided-discuss-project.md +148 -0
  1123. package/src/resources/extensions/gsd/prompts/guided-discuss-requirements.md +126 -0
  1124. package/src/resources/extensions/gsd/prompts/guided-discuss-slice.md +8 -1
  1125. package/src/resources/extensions/gsd/prompts/guided-research-decision.md +70 -0
  1126. package/src/resources/extensions/gsd/prompts/guided-research-project.md +120 -0
  1127. package/src/resources/extensions/gsd/prompts/guided-workflow-preferences.md +68 -0
  1128. package/src/resources/extensions/gsd/prompts/parallel-research-slices.md +2 -0
  1129. package/src/resources/extensions/gsd/prompts/plan-milestone.md +8 -2
  1130. package/src/resources/extensions/gsd/prompts/plan-slice.md +18 -6
  1131. package/src/resources/extensions/gsd/prompts/refine-slice.md +10 -0
  1132. package/src/resources/extensions/gsd/prompts/rewrite-docs.md +2 -0
  1133. package/src/resources/extensions/gsd/prompts/system.md +4 -4
  1134. package/src/resources/extensions/gsd/queue-order.ts +6 -1
  1135. package/src/resources/extensions/gsd/repo-identity.ts +15 -9
  1136. package/src/resources/extensions/gsd/rethink.ts +2 -1
  1137. package/src/resources/extensions/gsd/safety/git-checkpoint.ts +10 -1
  1138. package/src/resources/extensions/gsd/schemas/__fixtures__/valid-project.md +26 -0
  1139. package/src/resources/extensions/gsd/schemas/__fixtures__/valid-requirements.md +57 -0
  1140. package/src/resources/extensions/gsd/schemas/__fixtures__/valid-roadmap.md +19 -0
  1141. package/src/resources/extensions/gsd/schemas/parsers.ts +346 -0
  1142. package/src/resources/extensions/gsd/schemas/validate.ts +452 -0
  1143. package/src/resources/extensions/gsd/skill-telemetry.ts +3 -2
  1144. package/src/resources/extensions/gsd/slice-cadence.ts +71 -6
  1145. package/src/resources/extensions/gsd/state.ts +91 -389
  1146. package/src/resources/extensions/gsd/templates/project.md +10 -0
  1147. package/src/resources/extensions/gsd/tests/artifact-corruption-2630.test.ts +1 -0
  1148. package/src/resources/extensions/gsd/tests/artifact-validators.test.ts +524 -0
  1149. package/src/resources/extensions/gsd/tests/auto-dashboard.test.ts +20 -0
  1150. package/src/resources/extensions/gsd/tests/auto-discuss-milestone-deadlock-4973.test.ts +29 -4
  1151. package/src/resources/extensions/gsd/tests/auto-loop.test.ts +98 -31
  1152. package/src/resources/extensions/gsd/tests/auto-paused-session-validation.test.ts +6 -0
  1153. package/src/resources/extensions/gsd/tests/auto-remediate-slice-status.test.ts +21 -34
  1154. package/src/resources/extensions/gsd/tests/auto-session-encapsulation.test.ts +15 -0
  1155. package/src/resources/extensions/gsd/tests/auto-start-clean-runtime-db-gated.test.ts +32 -1
  1156. package/src/resources/extensions/gsd/tests/auto-start-index-lock.test.ts +38 -0
  1157. package/src/resources/extensions/gsd/tests/auto-wrapup-inflight-guard.test.ts +56 -0
  1158. package/src/resources/extensions/gsd/tests/bundled-skill-triggers.test.ts +50 -27
  1159. package/src/resources/extensions/gsd/tests/commands-eval-review.test.ts +612 -0
  1160. package/src/resources/extensions/gsd/tests/commands-extensions-version-compare.test.ts +58 -0
  1161. package/src/resources/extensions/gsd/tests/commands-ship-eval-warn.test.ts +155 -0
  1162. package/src/resources/extensions/gsd/tests/commands-worktree-clean.test.ts +48 -0
  1163. package/src/resources/extensions/gsd/tests/complete-task-rollback-evidence.test.ts +6 -7
  1164. package/src/resources/extensions/gsd/tests/complete-task.test.ts +8 -6
  1165. package/src/resources/extensions/gsd/tests/completed-at-reconcile.test.ts +12 -27
  1166. package/src/resources/extensions/gsd/tests/completed-units-metrics-sync.test.ts +18 -5
  1167. package/src/resources/extensions/gsd/tests/context-budget.test.ts +28 -0
  1168. package/src/resources/extensions/gsd/tests/crash-recovery.test.ts +50 -0
  1169. package/src/resources/extensions/gsd/tests/custom-engine-loop-integration.test.ts +2 -1
  1170. package/src/resources/extensions/gsd/tests/db-path-worktree-symlink.test.ts +4 -4
  1171. package/src/resources/extensions/gsd/tests/db-writer.test.ts +165 -21
  1172. package/src/resources/extensions/gsd/tests/debug-command-handler.test.ts +37 -0
  1173. package/src/resources/extensions/gsd/tests/deep-mode-integration.test.ts +406 -0
  1174. package/src/resources/extensions/gsd/tests/deep-planning-mode-dispatch.test.ts +881 -0
  1175. package/src/resources/extensions/gsd/tests/deep-project-auto-loop.test.ts +1562 -0
  1176. package/src/resources/extensions/gsd/tests/deep-project-setup-policy.test.ts +193 -0
  1177. package/src/resources/extensions/gsd/tests/delegation-policy.test.ts +151 -0
  1178. package/src/resources/extensions/gsd/tests/derive-state-crossval.test.ts +6 -5
  1179. package/src/resources/extensions/gsd/tests/derive-state-db-disk-reconcile.test.ts +10 -38
  1180. package/src/resources/extensions/gsd/tests/derive-state-db.test.ts +136 -56
  1181. package/src/resources/extensions/gsd/tests/derive-state-draft.test.ts +3 -0
  1182. package/src/resources/extensions/gsd/tests/derive-state-helpers.test.ts +119 -61
  1183. package/src/resources/extensions/gsd/tests/derive-state.test.ts +4 -0
  1184. package/src/resources/extensions/gsd/tests/dispatch-backgroundable-annotation.test.ts +55 -0
  1185. package/src/resources/extensions/gsd/tests/dispatch-complete-milestone-guard.test.ts +6 -20
  1186. package/src/resources/extensions/gsd/tests/dispatch-guard.test.ts +4 -5
  1187. package/src/resources/extensions/gsd/tests/dispatcher-stuck-planning.test.ts +14 -15
  1188. package/src/resources/extensions/gsd/tests/ensure-db-open.test.ts +11 -16
  1189. package/src/resources/extensions/gsd/tests/escalation.test.ts +2 -1
  1190. package/src/resources/extensions/gsd/tests/eval-review-schema.test.ts +282 -0
  1191. package/src/resources/extensions/gsd/tests/git-checkpoint.test.ts +9 -0
  1192. package/src/resources/extensions/gsd/tests/google-search-stub.test.ts +25 -65
  1193. package/src/resources/extensions/gsd/tests/gsd-db.test.ts +2 -1
  1194. package/src/resources/extensions/gsd/tests/gsd-home.test.ts +43 -0
  1195. package/src/resources/extensions/gsd/tests/gsd-no-project-error-runtime.test.ts +15 -1
  1196. package/src/resources/extensions/gsd/tests/gsd-root-home-guard.test.ts +86 -0
  1197. package/src/resources/extensions/gsd/tests/gsdroot-worktree-detection.test.ts +15 -36
  1198. package/src/resources/extensions/gsd/tests/guided-flow-prompt-consolidation.test.ts +133 -0
  1199. package/src/resources/extensions/gsd/tests/handler-worktree-write-isolation.test.ts +57 -0
  1200. package/src/resources/extensions/gsd/tests/has-pending-deep-stage.test.ts +98 -0
  1201. package/src/resources/extensions/gsd/tests/init-skip-git.test.ts +19 -0
  1202. package/src/resources/extensions/gsd/tests/init-wizard.test.ts +17 -0
  1203. package/src/resources/extensions/gsd/tests/integration/auto-worktree.test.ts +51 -1
  1204. package/src/resources/extensions/gsd/tests/integration/commands-eval-review.integration.test.ts +254 -0
  1205. package/src/resources/extensions/gsd/tests/integration/doctor-runtime.test.ts +40 -0
  1206. package/src/resources/extensions/gsd/tests/integration/git-service.test.ts +42 -0
  1207. package/src/resources/extensions/gsd/tests/integration/parallel-merge.test.ts +15 -15
  1208. package/src/resources/extensions/gsd/tests/integration/state-machine-edge-cases.test.ts +15 -5
  1209. package/src/resources/extensions/gsd/tests/journal-integration.test.ts +124 -7
  1210. package/src/resources/extensions/gsd/tests/markdown-renderer.test.ts +84 -9
  1211. package/src/resources/extensions/gsd/tests/md-importer.test.ts +2 -1
  1212. package/src/resources/extensions/gsd/tests/memory-store.test.ts +3 -2
  1213. package/src/resources/extensions/gsd/tests/milestone-report-path.test.ts +18 -1
  1214. package/src/resources/extensions/gsd/tests/milestone-scope-classifier.test.ts +19 -0
  1215. package/src/resources/extensions/gsd/tests/model-unittype-mapping.test.ts +19 -0
  1216. package/src/resources/extensions/gsd/tests/native-git-bridge-exec-fallback.test.ts +22 -2
  1217. package/src/resources/extensions/gsd/tests/none-mode-gates.test.ts +51 -3
  1218. package/src/resources/extensions/gsd/tests/park-milestone.test.ts +2 -0
  1219. package/src/resources/extensions/gsd/tests/plan-milestone-artifact-verification.test.ts +40 -0
  1220. package/src/resources/extensions/gsd/tests/plan-slice-prompt.test.ts +0 -43
  1221. package/src/resources/extensions/gsd/tests/plan-slice.test.ts +33 -0
  1222. package/src/resources/extensions/gsd/tests/planning-depth-setter.test.ts +172 -0
  1223. package/src/resources/extensions/gsd/tests/post-unit-git-failure.test.ts +18 -0
  1224. package/src/resources/extensions/gsd/tests/preferences.test.ts +72 -0
  1225. package/src/resources/extensions/gsd/tests/prefs-wizard-coverage.test.ts +1 -0
  1226. package/src/resources/extensions/gsd/tests/progressive-planning.test.ts +25 -16
  1227. package/src/resources/extensions/gsd/tests/project-root-cwd-crash.test.ts +4 -4
  1228. package/src/resources/extensions/gsd/tests/projection-regression.test.ts +1 -0
  1229. package/src/resources/extensions/gsd/tests/prompt-budget-enforcement.test.ts +2 -2
  1230. package/src/resources/extensions/gsd/tests/prompt-contracts.test.ts +232 -28
  1231. package/src/resources/extensions/gsd/tests/quality-gates.test.ts +7 -16
  1232. package/src/resources/extensions/gsd/tests/ready-phrase-no-files-4573.test.ts +267 -0
  1233. package/src/resources/extensions/gsd/tests/register-hooks-compaction-checkpoint.test.ts +6 -1
  1234. package/src/resources/extensions/gsd/tests/register-hooks-depth-verification.test.ts +156 -0
  1235. package/src/resources/extensions/gsd/tests/replan-slice.test.ts +3 -0
  1236. package/src/resources/extensions/gsd/tests/resolve-ts.mjs +4 -0
  1237. package/src/resources/extensions/gsd/tests/rogue-file-detection.test.ts +3 -4
  1238. package/src/resources/extensions/gsd/tests/safety-harness-false-positives.test.ts +34 -0
  1239. package/src/resources/extensions/gsd/tests/slice-cadence.test.ts +36 -0
  1240. package/src/resources/extensions/gsd/tests/slice-disk-reconcile.test.ts +10 -56
  1241. package/src/resources/extensions/gsd/tests/stale-slice-rows.test.ts +15 -16
  1242. package/src/resources/extensions/gsd/tests/start-auto-detached.test.ts +53 -0
  1243. package/src/resources/extensions/gsd/tests/stash-pop-gsd-conflict.test.ts +8 -2
  1244. package/src/resources/extensions/gsd/tests/stash-queued-context-files.test.ts +12 -6
  1245. package/src/resources/extensions/gsd/tests/state-corruption-2945.test.ts +1 -0
  1246. package/src/resources/extensions/gsd/tests/state-machine-full-walkthrough.test.ts +23 -27
  1247. package/src/resources/extensions/gsd/tests/steer-worktree-path.test.ts +30 -15
  1248. package/src/resources/extensions/gsd/tests/stop-auto-remote.test.ts +4 -3
  1249. package/src/resources/extensions/gsd/tests/sync-worktree-skip-current.test.ts +10 -33
  1250. package/src/resources/extensions/gsd/tests/token-counter.test.ts +9 -0
  1251. package/src/resources/extensions/gsd/tests/tool-param-optionality.test.ts +34 -0
  1252. package/src/resources/extensions/gsd/tests/unit-context-manifest.test.ts +48 -3
  1253. package/src/resources/extensions/gsd/tests/unit-runtime.test.ts +41 -0
  1254. package/src/resources/extensions/gsd/tests/uok-plan-v2-wiring.test.ts +48 -0
  1255. package/src/resources/extensions/gsd/tests/validate-milestone-write-order.test.ts +7 -8
  1256. package/src/resources/extensions/gsd/tests/validate-milestone.test.ts +9 -15
  1257. package/src/resources/extensions/gsd/tests/verify-artifact-tightened.test.ts +52 -1
  1258. package/src/resources/extensions/gsd/tests/workflow-logger-wiring.test.ts +12 -7
  1259. package/src/resources/extensions/gsd/tests/workflow-mcp-auto-prep.test.ts +4 -4
  1260. package/src/resources/extensions/gsd/tests/workflow-mcp.test.ts +83 -4
  1261. package/src/resources/extensions/gsd/tests/workflow-tool-executors.test.ts +244 -1
  1262. package/src/resources/extensions/gsd/tests/worktree-db-same-file.test.ts +13 -0
  1263. package/src/resources/extensions/gsd/tests/worktree-main-branch.test.ts +5 -0
  1264. package/src/resources/extensions/gsd/tests/worktree-path-injection.test.ts +236 -0
  1265. package/src/resources/extensions/gsd/tests/worktree-resolver.test.ts +103 -0
  1266. package/src/resources/extensions/gsd/tests/worktree-root-resolution.test.ts +50 -0
  1267. package/src/resources/extensions/gsd/tests/worktree-root.test.ts +69 -0
  1268. package/src/resources/extensions/gsd/tests/worktree-symlink-removal.test.ts +34 -33
  1269. package/src/resources/extensions/gsd/tests/worktree-sync-milestones.test.ts +65 -71
  1270. package/src/resources/extensions/gsd/tests/worktree-sync-tasks.test.ts +26 -151
  1271. package/src/resources/extensions/gsd/tests/worktree.test.ts +8 -0
  1272. package/src/resources/extensions/gsd/tests/write-gate-planning-unit.test.ts +116 -1
  1273. package/src/resources/extensions/gsd/tests/write-gate-predicates.test.ts +8 -6
  1274. package/src/resources/extensions/gsd/tests/write-gate.test.ts +121 -13
  1275. package/src/resources/extensions/gsd/tests/write-intercept.test.ts +1 -1
  1276. package/src/resources/extensions/gsd/token-counter.ts +2 -1
  1277. package/src/resources/extensions/gsd/tools/complete-milestone.ts +7 -5
  1278. package/src/resources/extensions/gsd/tools/complete-slice.ts +7 -14
  1279. package/src/resources/extensions/gsd/tools/complete-task.ts +19 -34
  1280. package/src/resources/extensions/gsd/tools/plan-slice.ts +10 -9
  1281. package/src/resources/extensions/gsd/tools/validate-milestone.ts +7 -5
  1282. package/src/resources/extensions/gsd/tools/workflow-tool-executors.ts +81 -14
  1283. package/src/resources/extensions/gsd/unit-context-manifest.ts +133 -5
  1284. package/src/resources/extensions/gsd/unit-runtime.ts +76 -24
  1285. package/src/resources/extensions/gsd/uok/plan-v2.ts +19 -1
  1286. package/src/resources/extensions/gsd/user-input-boundary.ts +166 -0
  1287. package/src/resources/extensions/gsd/watch/header-renderer.ts +2 -1
  1288. package/src/resources/extensions/gsd/workflow-install.ts +2 -3
  1289. package/src/resources/extensions/gsd/workflow-manifest.ts +4 -1
  1290. package/src/resources/extensions/gsd/workflow-mcp-auto-prep.ts +2 -18
  1291. package/src/resources/extensions/gsd/workflow-mcp.ts +43 -6
  1292. package/src/resources/extensions/gsd/workflow-migration.ts +4 -3
  1293. package/src/resources/extensions/gsd/workflow-plugins.ts +4 -5
  1294. package/src/resources/extensions/gsd/workflow-reconcile.ts +3 -3
  1295. package/src/resources/extensions/gsd/workflow-templates.ts +2 -3
  1296. package/src/resources/extensions/gsd/worktree-command.ts +4 -3
  1297. package/src/resources/extensions/gsd/worktree-manager.ts +46 -7
  1298. package/src/resources/extensions/gsd/worktree-resolver.ts +35 -21
  1299. package/src/resources/extensions/gsd/worktree-root.ts +182 -0
  1300. package/src/resources/extensions/gsd/worktree.ts +8 -119
  1301. package/src/resources/extensions/gsd/write-intercept.ts +3 -3
  1302. package/src/resources/extensions/mcp-client/index.ts +2 -9
  1303. package/src/resources/extensions/ollama/index.ts +16 -2
  1304. package/src/resources/extensions/ollama/model-capabilities.ts +34 -0
  1305. package/src/resources/extensions/ollama/ollama-client.ts +41 -4
  1306. package/src/resources/extensions/ollama/tests/model-capabilities.test.ts +96 -0
  1307. package/src/resources/extensions/ollama/tests/ollama-client-timeout-env.test.ts +147 -0
  1308. package/src/resources/extensions/remote-questions/remote-command.ts +2 -1
  1309. package/src/resources/extensions/remote-questions/status.ts +2 -6
  1310. package/src/resources/extensions/remote-questions/store.ts +2 -6
  1311. package/src/resources/extensions/search-the-web/provider.ts +9 -8
  1312. package/src/resources/extensions/shared/next-action-ui.ts +8 -0
  1313. package/src/resources/extensions/shared/tests/next-action-ui-hasui.test.ts +112 -0
  1314. package/src/resources/extensions/subagent/index.ts +187 -16
  1315. package/src/resources/extensions/subagent/isolation.ts +2 -2
  1316. package/src/resources/extensions/subagent/tests/model-override.test.ts +55 -0
  1317. package/src/resources/extensions/ttsr/rule-loader.ts +2 -3
  1318. package/src/resources/extensions/voice/index.ts +3 -2
  1319. package/src/resources/extensions/voice/linux-ready.ts +2 -3
  1320. package/src/resources/skills/lint/SKILL.md +4 -0
  1321. package/src/resources/skills/review/SKILL.md +4 -0
  1322. package/src/resources/skills/test/SKILL.md +3 -0
  1323. package/src/resources/skills/verify-before-complete/SKILL.md +1 -1
  1324. package/dist/resources/extensions/gsd/auto-loop.js +0 -13
  1325. package/dist/resources/extensions/gsd/prompts/guided-complete-slice.md +0 -3
  1326. package/dist/resources/extensions/gsd/prompts/guided-execute-task.md +0 -3
  1327. package/dist/resources/extensions/gsd/prompts/guided-plan-milestone.md +0 -30
  1328. package/dist/resources/extensions/gsd/prompts/guided-plan-slice.md +0 -3
  1329. package/dist/web/standalone/.next/server/chunks/1926.js +0 -1
  1330. package/dist/web/standalone/.next/server/edge-runtime-webpack.js +0 -2
  1331. package/dist/web/standalone/.next/static/chunks/2824.08296bc2f9654698.js +0 -1
  1332. package/dist/web/standalone/.next/static/chunks/363642f4.cf8b455e0d94b478.js +0 -1
  1333. package/dist/web/standalone/.next/static/chunks/5326.adc4bf49a22f4e67.js +0 -1
  1334. package/dist/web/standalone/.next/static/chunks/webpack-f9f0dc45e4f3ac10.js +0 -1
  1335. package/dist/web/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
  1336. package/dist/web/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  1337. package/dist/web/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -42
  1338. package/dist/web/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
  1339. package/dist/web/standalone/node_modules/@img/sharp-linuxmusl-x64/LICENSE +0 -191
  1340. package/dist/web/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  1341. package/dist/web/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
  1342. package/src/resources/extensions/gsd/auto-loop.ts +0 -16
  1343. package/src/resources/extensions/gsd/prompts/guided-complete-slice.md +0 -3
  1344. package/src/resources/extensions/gsd/prompts/guided-execute-task.md +0 -3
  1345. package/src/resources/extensions/gsd/prompts/guided-plan-milestone.md +0 -30
  1346. package/src/resources/extensions/gsd/prompts/guided-plan-slice.md +0 -3
  1347. package/dist/web/standalone/.next/static/{UF5VF4F1tB0miEtJS7LyX → tUklYe-wDYVRjNwZDVGmz}/_buildManifest.js +0 -0
  1348. package/dist/web/standalone/.next/static/{UF5VF4F1tB0miEtJS7LyX → tUklYe-wDYVRjNwZDVGmz}/_ssgManifest.js +0 -0
  1349. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/at-rule.js +0 -0
  1350. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/comment.js +0 -0
  1351. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/declaration.js +4 -4
  1352. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/document.js +0 -0
  1353. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/fromJSON.js +3 -3
  1354. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/list.js +0 -0
  1355. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/parse.js +1 -1
  1356. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/postcss.js +12 -12
  1357. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/root.js +0 -0
  1358. package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/rule.js +6 -6
  1359. /package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/stringify.js +0 -0
  1360. /package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/symbols.js +0 -0
  1361. /package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/terminal-highlight.js +0 -0
  1362. /package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/warn-once.js +0 -0
  1363. /package/dist/web/standalone/node_modules/{next/node_modules/postcss → postcss}/lib/warning.js +0 -0
  1364. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/comparator.js +0 -0
  1365. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/range.js +0 -0
  1366. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/semver.js +0 -0
  1367. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/cmp.js +0 -0
  1368. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/coerce.js +0 -0
  1369. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/compare.js +0 -0
  1370. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/eq.js +0 -0
  1371. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gt.js +0 -0
  1372. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gte.js +0 -0
  1373. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lt.js +0 -0
  1374. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lte.js +0 -0
  1375. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/neq.js +0 -0
  1376. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/parse.js +0 -0
  1377. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/satisfies.js +0 -0
  1378. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/constants.js +0 -0
  1379. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/debug.js +0 -0
  1380. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/identifiers.js +0 -0
  1381. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/lrucache.js +0 -0
  1382. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/parse-options.js +0 -0
  1383. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/re.js +0 -0
  1384. /package/dist/web/standalone/node_modules/{semver → sharp/node_modules/semver}/package.json +0 -0
@@ -7,28 +7,35 @@
7
7
  */
8
8
  import { existsSync, cpSync, readFileSync, readdirSync, mkdirSync, realpathSync, rmSync, unlinkSync, statSync, lstatSync as lstatSyncFn, } from "node:fs";
9
9
  import { isAbsolute, join, sep as pathSep } from "node:path";
10
- import { homedir } from "node:os";
11
10
  import { GSDError, GSD_IO_ERROR, GSD_GIT_ERROR } from "./errors.js";
12
11
  import { reconcileWorktreeDb, isDbAvailable, getMilestone, getMilestoneSlices, closeDatabase, openDatabase, getDbPath, } from "./gsd-db.js";
13
12
  import { atomicWriteSync } from "./atomic-write.js";
14
13
  import { execFileSync } from "node:child_process";
15
14
  import { safeCopy, safeCopyRecursive } from "./safe-fs.js";
16
- import { gsdRoot } from "./paths.js";
15
+ import { gsdRoot, resolveGsdPathContract } from "./paths.js";
17
16
  import { createWorktree, removeWorktree, resolveGitDir, worktreePath, isInsideWorktreesDir, } from "./worktree-manager.js";
18
17
  import { detectWorktreeName, nudgeGitBranchCache, } from "./worktree.js";
18
+ import { isGsdWorktreePath, normalizeWorktreePathForCompare, resolveWorktreeProjectRoot, } from "./worktree-root.js";
19
19
  import { MergeConflictError, readIntegrationBranch, RUNTIME_EXCLUSION_PATHS } from "./git-service.js";
20
20
  import { debugLog } from "./debug-logger.js";
21
21
  import { logWarning, logError } from "./workflow-logger.js";
22
22
  import { loadEffectiveGSDPreferences } from "./preferences.js";
23
+ import { MILESTONE_ID_RE } from "./milestone-ids.js";
23
24
  import { nativeGetCurrentBranch, nativeDetectMainBranch, nativeWorkingTreeStatus, nativeAddAllWithExclusions, nativeCommit, nativeCheckoutBranch, nativeMergeSquash, nativeConflictFiles, nativeCheckoutTheirs, nativeAddPaths, nativeRmForce, nativeBranchDelete, nativeBranchForceReset, nativeBranchExists, nativeDiffNumstat, nativeUpdateRef, nativeIsAncestor, nativeMergeAbort, } from "./native-git-bridge.js";
24
- const gsdHome = process.env.GSD_HOME || join(homedir(), ".gsd");
25
+ import { gsdHome } from "./gsd-home.js";
25
26
  const PROJECT_PREFERENCES_FILE = "PREFERENCES.md";
26
27
  const LEGACY_PROJECT_PREFERENCES_FILE = "preferences.md";
28
+ const LEGACY_DEEP_SETUP_RUNTIME_UNIT_FILES = new Set([
29
+ "workflow-preferences-WORKFLOW-PREFS.json",
30
+ "discuss-project-PROJECT.json",
31
+ "discuss-requirements-REQUIREMENTS.json",
32
+ "research-decision-RESEARCH-DECISION.json",
33
+ "research-project-RESEARCH-PROJECT.json",
34
+ ]);
27
35
  // ─── Shared Constants & Helpers ─────────────────────────────────────────────
28
36
  /**
29
- * Root-level .gsd/ state files synced between worktree and project root.
30
- * Single source of truth used by syncGsdStateToWorktree, syncWorktreeStateBack,
31
- * and the dispatch-level sync functions.
37
+ * Root-level .gsd/ projections copied from project root into worktrees for
38
+ * compatibility. Project root remains the canonical state/projection root.
32
39
  */
33
40
  const ROOT_STATE_FILES = [
34
41
  "DECISIONS.md",
@@ -45,6 +52,10 @@ const ROOT_STATE_FILES = [
45
52
  // Back-sync (worktree → main) must NEVER overwrite the project root's copy
46
53
  // because the project root is authoritative for preferences (#2684).
47
54
  ];
55
+ const ROOT_DIAGNOSTIC_FILES = [
56
+ "completed-units.json",
57
+ "metrics.json",
58
+ ];
48
59
  /**
49
60
  * Pop a stash entry by tracking the unique marker embedded in its message so
50
61
  * concurrent stash operations against the same project root cannot cause us to
@@ -129,7 +140,7 @@ const VERDICT_RE = /verdict:\s*[\w-]+/i;
129
140
  * destination when the source copy contains a `verdict:` field.
130
141
  *
131
142
  * This is the targeted fix for the UAT stuck-loop (#2821): the main
132
- * safeCopyRecursive uses force:false to protect worktree-authoritative
143
+ * safeCopyRecursive uses force:false to protect worktree-local projection
133
144
  * files (#1886), but ASSESSMENT files written by run-uat must be
134
145
  * forward-synced when the project root has a verdict. Without this,
135
146
  * the worktree retains a stale FAIL or missing ASSESSMENT and
@@ -204,9 +215,9 @@ function clearProjectRootStateFiles(basePath, milestoneId) {
204
215
  }
205
216
  }
206
217
  }
207
- // Clean up entire synced milestone directory and runtime/units.
208
- // syncStateToProjectRoot() copies these into the project root during
209
- // execution. If they remain as untracked files when we attempt
218
+ // Clean up legacy synced milestone directories and runtime/units.
219
+ // Older versions copied these into the project root during execution.
220
+ // If they remain as untracked files when we attempt
210
221
  // `git merge --squash`, git rejects the merge with "local changes would
211
222
  // be overwritten", causing silent data loss (#1738).
212
223
  const syncedDirs = [
@@ -269,8 +280,9 @@ export function syncProjectRootToWorktree(projectRoot, worktreePath_, milestoneI
269
280
  return;
270
281
  if (!milestoneId)
271
282
  return;
272
- const prGsd = join(projectRoot, ".gsd");
273
- const wtGsd = join(worktreePath_, ".gsd");
283
+ const contract = resolveGsdPathContract(worktreePath_, projectRoot);
284
+ const prGsd = contract.projectGsd;
285
+ const wtGsd = contract.worktreeGsd ?? join(worktreePath_, ".gsd");
274
286
  // When .gsd is a symlink to the same external directory in both locations,
275
287
  // cpSync rejects the copy because source === destination (ERR_FS_CP_EINVAL).
276
288
  // Compare realpaths and skip when they resolve to the same physical path (#2184).
@@ -278,12 +290,12 @@ export function syncProjectRootToWorktree(projectRoot, worktreePath_, milestoneI
278
290
  return;
279
291
  // Copy milestone directory from project root to worktree — additive only.
280
292
  // force:false prevents cpSync from overwriting existing worktree files.
281
- // Without this, worktree-authoritative files (e.g. VALIDATION.md written
293
+ // Without this, worktree-local files (e.g. VALIDATION.md written
282
294
  // by validate-milestone) get clobbered by stale project root copies,
283
295
  // causing an infinite re-validation loop (#1886).
284
296
  safeCopyRecursive(join(prGsd, "milestones", milestoneId), join(wtGsd, "milestones", milestoneId), { force: false });
285
297
  // Force-sync ASSESSMENT files that have a verdict from project root (#2821).
286
- // The additive-only copy above preserves worktree-authoritative files, but
298
+ // The additive-only copy above preserves worktree-local files, but
287
299
  // ASSESSMENT files are special: after run-uat writes a verdict and post-unit
288
300
  // syncs it to the project root, the worktree may retain a stale copy (e.g.
289
301
  // verdict:fail while the project root has verdict:pass from a retry). On
@@ -295,11 +307,9 @@ export function syncProjectRootToWorktree(projectRoot, worktreePath_, milestoneI
295
307
  // Project root is authoritative for completion state after crash recovery;
296
308
  // without this, the worktree re-dispatches already-completed units (#1886).
297
309
  safeCopy(join(prGsd, "completed-units.json"), join(wtGsd, "completed-units.json"), { force: true });
298
- // Delete worktree gsd.db ONLY if it is empty (0 bytes).
299
- // An empty DB is stale/corrupt and should be rebuilt (#853).
300
- // A non-empty DB was populated by gsd-migrate on respawn and must be
301
- // preserved — deleting it truncates the file to 0 bytes when
302
- // openDatabase re-creates it, causing "no such table" failures (#2815).
310
+ // Delete a legacy worktree-local gsd.db ONLY if it is empty (0 bytes).
311
+ // Runtime opens contract.projectDb; this cleanup only removes corrupt
312
+ // pre-upgrade local DB projections.
303
313
  try {
304
314
  const wtDb = join(wtGsd, "gsd.db");
305
315
  let deleteSidecars = false;
@@ -334,9 +344,10 @@ export function syncProjectRootToWorktree(projectRoot, worktreePath_, milestoneI
334
344
  }
335
345
  }
336
346
  /**
337
- * Sync dispatch-critical .gsd/ state files from worktree to project root.
347
+ * Sync worktree diagnostics from worktree to project root.
338
348
  * Only runs when inside an auto-worktree (worktreePath differs from projectRoot).
339
- * Copies: STATE.md + active milestone directory (roadmap, slice plans, task summaries).
349
+ * DB/project-root state remains authoritative; markdown projections are not
350
+ * copied from the worktree back to the project root.
340
351
  * Non-fatal — sync failure should never block dispatch.
341
352
  */
342
353
  export function syncStateToProjectRoot(worktreePath_, projectRoot, milestoneId) {
@@ -344,23 +355,22 @@ export function syncStateToProjectRoot(worktreePath_, projectRoot, milestoneId)
344
355
  return;
345
356
  if (!milestoneId)
346
357
  return;
347
- const wtGsd = join(worktreePath_, ".gsd");
348
- const prGsd = join(projectRoot, ".gsd");
358
+ const contract = resolveGsdPathContract(worktreePath_, projectRoot);
359
+ const wtGsd = contract.worktreeGsd ?? join(worktreePath_, ".gsd");
360
+ const prGsd = contract.projectGsd;
349
361
  // When .gsd is a symlink to the same external directory in both locations,
350
362
  // cpSync rejects the copy because source === destination (ERR_FS_CP_EINVAL).
351
363
  // Compare realpaths and skip when they resolve to the same physical path (#2184).
352
364
  if (isSamePath(wtGsd, prGsd))
353
365
  return;
354
- // 1. STATE.md the quick-glance status used by initial deriveState()
355
- safeCopy(join(wtGsd, "STATE.md"), join(prGsd, "STATE.md"), { force: true });
356
- // 2. Milestone directory — ROADMAP, slice PLANs, task summaries
357
- // Copy the entire milestone .gsd subtree so deriveState reads current checkboxes
358
- safeCopyRecursive(join(wtGsd, "milestones", milestoneId), join(prGsd, "milestones", milestoneId), { force: true });
359
- // 3. metrics.json — session cost/token tracking (#2313).
366
+ // metrics.jsonsession cost/token tracking (#2313).
360
367
  // Without this, metrics accumulated in the worktree are invisible from the
361
368
  // project root and never appear in the dashboard or skill-health reports.
362
369
  safeCopy(join(wtGsd, "metrics.json"), join(prGsd, "metrics.json"), { force: true });
363
- // 4. Runtime records unit dispatch state used by selfHealRuntimeRecords().
370
+ // completed-units.jsonruntime completion diagnostics used to avoid
371
+ // re-dispatching work already completed in an isolated worktree.
372
+ safeCopy(join(wtGsd, "completed-units.json"), join(prGsd, "completed-units.json"), { force: true });
373
+ // Runtime records — unit dispatch diagnostics used by selfHealRuntimeRecords().
364
374
  // Without this, a crash during a unit leaves the runtime record only in the
365
375
  // worktree. If the next session resolves basePath before worktree re-entry,
366
376
  // selfHeal can't find or clear the stale record (#769).
@@ -373,7 +383,7 @@ export function syncStateToProjectRoot(worktreePath_, projectRoot, milestoneId)
373
383
  * doesn't falsely trigger staleness (#804).
374
384
  */
375
385
  export function readResourceVersion() {
376
- const agentDir = process.env.GSD_CODING_AGENT_DIR || join(gsdHome, "agent");
386
+ const agentDir = process.env.GSD_CODING_AGENT_DIR || join(gsdHome(), "agent");
377
387
  const manifestPath = join(agentDir, "managed-resources.json");
378
388
  try {
379
389
  const manifest = JSON.parse(readFileSync(manifestPath, "utf-8"));
@@ -431,9 +441,9 @@ export function escapeStaleWorktree(base) {
431
441
  // the string-slice heuristic matched the wrong /.gsd/ boundary. This happens
432
442
  // when .gsd is a symlink into ~/.gsd/projects/<hash> and process.cwd()
433
443
  // resolved through the symlink. Returning ~ would be catastrophic (#1676).
434
- const candidateGsd = join(projectRoot, ".gsd").replaceAll("\\", "/");
435
- const gsdHomePath = gsdHome.replaceAll("\\", "/");
436
- if (candidateGsd === gsdHomePath || candidateGsd.startsWith(gsdHomePath + "/")) {
444
+ const candidateGsd = normalizeWorktreePathForCompare(join(projectRoot, ".gsd"));
445
+ const gsdHomeNorm = normalizeWorktreePathForCompare(gsdHome());
446
+ if (candidateGsd === gsdHomeNorm || candidateGsd.startsWith(gsdHomeNorm + "/")) {
437
447
  // Don't chdir to home — return base unchanged.
438
448
  // resolveProjectRoot() in worktree.ts has the full git-file-based recovery
439
449
  // and will be called by the caller (startAuto → projectRoot()).
@@ -465,6 +475,29 @@ export function cleanStaleRuntimeUnits(gsdRootPath, hasMilestoneSummary) {
465
475
  for (const file of readdirSync(runtimeUnitsDir)) {
466
476
  if (!file.endsWith(".json"))
467
477
  continue;
478
+ if (LEGACY_DEEP_SETUP_RUNTIME_UNIT_FILES.has(file)) {
479
+ try {
480
+ unlinkSync(join(runtimeUnitsDir, file));
481
+ cleaned++;
482
+ }
483
+ catch (err) {
484
+ /* non-fatal */
485
+ logWarning("worktree", `stale runtime unit unlink failed (${file}): ${err instanceof Error ? err.message : String(err)}`);
486
+ }
487
+ continue;
488
+ }
489
+ const staleDiscussMatch = file.match(/^discuss-milestone-(.+)\.json$/);
490
+ if (staleDiscussMatch && !MILESTONE_ID_RE.test(staleDiscussMatch[1])) {
491
+ try {
492
+ unlinkSync(join(runtimeUnitsDir, file));
493
+ cleaned++;
494
+ }
495
+ catch (err) {
496
+ /* non-fatal */
497
+ logWarning("worktree", `stale runtime unit unlink failed (${file}): ${err instanceof Error ? err.message : String(err)}`);
498
+ }
499
+ continue;
500
+ }
468
501
  const midMatch = file.match(/(M\d+(?:-[a-z0-9]{6})?)/);
469
502
  if (!midMatch)
470
503
  continue;
@@ -498,12 +531,14 @@ export function cleanStaleRuntimeUnits(gsdRootPath, hasMilestoneSummary) {
498
531
  * missing milestones, CONTEXT, ROADMAP, DECISIONS, REQUIREMENTS, and
499
532
  * PROJECT files from the main repo's .gsd/ into the worktree's .gsd/.
500
533
  *
501
- * Only adds missing content — never overwrites existing files in the worktree
502
- * (the worktree's execution state is authoritative for in-progress work).
534
+ * Only adds missing content — never overwrites existing files in the worktree.
535
+ * Worktree files are compatibility projections; DB/project root remains
536
+ * authoritative for runtime state.
503
537
  */
504
538
  export function syncGsdStateToWorktree(mainBasePath, worktreePath_) {
505
- const mainGsd = gsdRoot(mainBasePath);
506
- const wtGsd = gsdRoot(worktreePath_);
539
+ const contract = resolveGsdPathContract(worktreePath_, mainBasePath);
540
+ const mainGsd = contract.projectGsd;
541
+ const wtGsd = contract.worktreeGsd ?? join(worktreePath_, ".gsd");
507
542
  const synced = [];
508
543
  // If both resolve to the same directory (symlink), no sync needed
509
544
  if (isSamePath(mainGsd, wtGsd))
@@ -647,28 +682,22 @@ export function syncGsdStateToWorktree(mainBasePath, worktreePath_) {
647
682
  return { synced };
648
683
  }
649
684
  /**
650
- * Sync milestone artifacts from worktree back to the main external state directory.
651
- * Called before milestone merge to ensure completion artifacts (SUMMARY, VALIDATION,
652
- * updated ROADMAP) are visible from the project root (#1412).
685
+ * Sync compatibility artifacts from worktree back to the main external state
686
+ * directory. Canonical workflow state lives in the project DB; worktree .gsd
687
+ * content is legacy projection/diagnostic data only.
653
688
  *
654
689
  * Syncs:
655
- * 1. Root-level .gsd/ files (REQUIREMENTS, PROJECT, DECISIONS, KNOWLEDGE,
656
- * OVERRIDES) the worktree's versions overwrite main's because the
657
- * worktree is the authoritative execution context.
658
- * 2. ALL milestone directories found in the worktree — not just the
659
- * current milestoneId. The complete-milestone unit may create artifacts
660
- * for the *next* milestone (CONTEXT, ROADMAP, new requirements) which
661
- * must survive worktree teardown.
690
+ * 1. Legacy worktree DBs are reconciled into the canonical project DB.
691
+ * 2. Runtime diagnostic files may be copied for operator visibility.
662
692
  *
663
- * History: Originally only synced milestones/<milestoneId>/ and assumed
664
- * root-level files would be carried by the squash merge. In practice,
665
- * .gsd/ files are often untracked (gitignored or never committed), so the
666
- * squash merge carries nothing. This caused next-milestone artifacts and
667
- * updated REQUIREMENTS/PROJECT to be silently lost on teardown.
693
+ * Markdown milestone directories are projections and are not copied from
694
+ * worktrees into the project root. Current workflow state must arrive through
695
+ * the shared project DB or the pre-upgrade DB reconciliation path above.
668
696
  */
669
697
  export function syncWorktreeStateBack(mainBasePath, worktreePath, milestoneId) {
670
- const mainGsd = gsdRoot(mainBasePath);
671
- const wtGsd = gsdRoot(worktreePath);
698
+ const contract = resolveGsdPathContract(worktreePath, mainBasePath);
699
+ const mainGsd = contract.projectGsd;
700
+ const wtGsd = contract.worktreeGsd ?? join(worktreePath, ".gsd");
672
701
  const synced = [];
673
702
  // If both resolve to the same directory (symlink), no sync needed
674
703
  if (isSamePath(mainGsd, wtGsd))
@@ -681,7 +710,7 @@ export function syncWorktreeStateBack(mainBasePath, worktreePath, milestoneId) {
681
710
  // files. This handles in-flight worktrees that were created before the
682
711
  // upgrade to shared WAL mode.
683
712
  const wtLocalDb = join(wtGsd, "gsd.db");
684
- const mainDb = join(mainGsd, "gsd.db");
713
+ const mainDb = contract.projectDb;
685
714
  if (existsSync(wtLocalDb) && existsSync(mainDb)) {
686
715
  try {
687
716
  reconcileWorktreeDb(mainDb, wtLocalDb);
@@ -692,13 +721,10 @@ export function syncWorktreeStateBack(mainBasePath, worktreePath, milestoneId) {
692
721
  logError("worktree", `DB reconciliation failed: ${err instanceof Error ? err.message : String(err)}`);
693
722
  }
694
723
  }
695
- // ── 1. Sync root-level .gsd/ files back ──────────────────────────────
696
- // The worktree is authoritative — complete-milestone updates REQUIREMENTS,
697
- // PROJECT, etc. These must overwrite main's copies so they survive teardown.
698
- // Also includes QUEUE.md, completed-units.json, and metrics.json which are
699
- // written during milestone closeout and lost on teardown without explicit sync
700
- // (#1787, #2313).
701
- for (const f of ROOT_STATE_FILES) {
724
+ // ── 1. Sync root-level diagnostic files back ─────────────────────────
725
+ // Markdown/JSON state projections remain project-root/DB authoritative.
726
+ // These diagnostic files are copied for observability only.
727
+ for (const f of ROOT_DIAGNOSTIC_FILES) {
702
728
  const src = join(wtGsd, f);
703
729
  const dst = join(mainGsd, f);
704
730
  if (existsSync(src)) {
@@ -712,92 +738,8 @@ export function syncWorktreeStateBack(mainBasePath, worktreePath, milestoneId) {
712
738
  }
713
739
  }
714
740
  }
715
- // ── 2. Sync ALL milestone directories ────────────────────────────────
716
- // The complete-milestone unit may create next-milestone artifacts (e.g.
717
- // M007 setup while closing M006). We must sync every milestone directory
718
- // in the worktree, not just the current one.
719
- const wtMilestonesDir = join(wtGsd, "milestones");
720
- if (!existsSync(wtMilestonesDir))
721
- return { synced };
722
- try {
723
- const wtMilestones = readdirSync(wtMilestonesDir, { withFileTypes: true })
724
- .filter((d) => d.isDirectory())
725
- .map((d) => d.name);
726
- for (const mid of wtMilestones) {
727
- // Skip the current milestone being merged — its files are already in the
728
- // milestone branch and would conflict with the squash merge (#3641).
729
- if (mid === milestoneId)
730
- continue;
731
- syncMilestoneDir(wtGsd, mainGsd, mid, synced);
732
- }
733
- }
734
- catch (err) {
735
- /* non-fatal */
736
- logWarning("worktree", `milestone sync-back failed: ${err instanceof Error ? err.message : String(err)}`);
737
- }
738
741
  return { synced };
739
742
  }
740
- /**
741
- * Sync a single milestone directory from worktree to main.
742
- * Copies milestone-level .md files, slice-level files, and task summaries.
743
- */
744
- /** Copy matching files from srcDir to dstDir (non-fatal per file). */
745
- function syncDirFiles(srcDir, dstDir, filter, synced, prefix) {
746
- try {
747
- for (const entry of readdirSync(srcDir, { withFileTypes: true })) {
748
- if (!entry.isFile() || !filter(entry.name))
749
- continue;
750
- try {
751
- cpSync(join(srcDir, entry.name), join(dstDir, entry.name), { force: true });
752
- synced.push(`${prefix}${entry.name}`);
753
- }
754
- catch (err) {
755
- /* non-fatal */
756
- logWarning("worktree", `file copy failed (${prefix}${entry.name}): ${err instanceof Error ? err.message : String(err)}`);
757
- }
758
- }
759
- }
760
- catch (err) {
761
- /* non-fatal — srcDir may not be readable */
762
- logWarning("worktree", `directory read failed: ${err instanceof Error ? err.message : String(err)}`);
763
- }
764
- }
765
- function syncMilestoneDir(wtGsd, mainGsd, mid, synced) {
766
- const wtMilestoneDir = join(wtGsd, "milestones", mid);
767
- const mainMilestoneDir = join(mainGsd, "milestones", mid);
768
- if (!existsSync(wtMilestoneDir))
769
- return;
770
- mkdirSync(mainMilestoneDir, { recursive: true });
771
- const isMd = (name) => name.endsWith(".md");
772
- // Sync milestone-level files (SUMMARY, VALIDATION, ROADMAP, CONTEXT)
773
- syncDirFiles(wtMilestoneDir, mainMilestoneDir, isMd, synced, `milestones/${mid}/`);
774
- // Sync slice-level files (summaries, UATs) and task summaries (#1678)
775
- const wtSlicesDir = join(wtMilestoneDir, "slices");
776
- const mainSlicesDir = join(mainMilestoneDir, "slices");
777
- if (!existsSync(wtSlicesDir))
778
- return;
779
- try {
780
- for (const sliceEntry of readdirSync(wtSlicesDir, { withFileTypes: true })) {
781
- if (!sliceEntry.isDirectory())
782
- continue;
783
- const sid = sliceEntry.name;
784
- const wtSliceDir = join(wtSlicesDir, sid);
785
- const mainSliceDir = join(mainSlicesDir, sid);
786
- mkdirSync(mainSliceDir, { recursive: true });
787
- syncDirFiles(wtSliceDir, mainSliceDir, isMd, synced, `milestones/${mid}/slices/${sid}/`);
788
- const wtTasksDir = join(wtSliceDir, "tasks");
789
- const mainTasksDir = join(mainSliceDir, "tasks");
790
- if (existsSync(wtTasksDir)) {
791
- mkdirSync(mainTasksDir, { recursive: true });
792
- syncDirFiles(wtTasksDir, mainTasksDir, isMd, synced, `milestones/${mid}/slices/${sid}/tasks/`);
793
- }
794
- }
795
- }
796
- catch (err) {
797
- /* non-fatal */
798
- logWarning("worktree", `milestone slice sync failed (${mid}): ${err instanceof Error ? err.message : String(err)}`);
799
- }
800
- }
801
743
  // ─── Worktree Post-Create Hook (#597) ────────────────────────────────────────
802
744
  /**
803
745
  * Run the user-configured post-create hook script after worktree creation.
@@ -960,10 +902,9 @@ export function enterBranchModeForMilestone(basePath, milestoneId) {
960
902
  * directory at the project root and apply any [x] checkbox states that are
961
903
  * ahead of the worktree version (forward-only: never downgrade [x] → [ ]).
962
904
  *
963
- * This is safe because syncStateToProjectRoot() is the authoritative source
964
- * of post-task state at the project root it writes the same [x] the LLM
965
- * produced, then the auto-commit follows. If the commit never happened, the
966
- * filesystem copy is still valid and correct.
905
+ * This is forward-only compatibility for legacy projection copies. The DB
906
+ * remains authoritative; this never downgrades checked boxes in a local
907
+ * worktree projection.
967
908
  */
968
909
  function reconcilePlanCheckboxes(projectRoot, wtPath, milestoneId) {
969
910
  const srcMilestone = join(projectRoot, ".gsd", "milestones", milestoneId);
@@ -1038,6 +979,7 @@ function reconcilePlanCheckboxes(projectRoot, wtPath, milestoneId) {
1038
979
  }
1039
980
  }
1040
981
  export function createAutoWorktree(basePath, milestoneId) {
982
+ basePath = resolveWorktreeProjectRoot(basePath);
1041
983
  // Check if repo has commits — git worktree requires a valid HEAD
1042
984
  try {
1043
985
  execFileSync("git", ["rev-parse", "--verify", "HEAD"], { cwd: basePath, stdio: "pipe" });
@@ -1069,7 +1011,13 @@ export function createAutoWorktree(basePath, milestoneId) {
1069
1011
  // would fork worktrees from the wrong (stale) branch.
1070
1012
  const integrationBranch = readIntegrationBranch(basePath, milestoneId) ?? undefined;
1071
1013
  const gitPrefs = loadEffectiveGSDPreferences()?.preferences?.git;
1072
- const startPoint = integrationBranch ?? gitPrefs?.main_branch ?? undefined;
1014
+ const validatedPrefBranch = gitPrefs?.main_branch &&
1015
+ typeof gitPrefs.main_branch === "string" &&
1016
+ gitPrefs.main_branch.length > 0 &&
1017
+ nativeBranchExists(basePath, gitPrefs.main_branch)
1018
+ ? gitPrefs.main_branch
1019
+ : undefined;
1020
+ const startPoint = integrationBranch ?? validatedPrefBranch ?? undefined;
1073
1021
  info = createWorktree(basePath, milestoneId, {
1074
1022
  branch,
1075
1023
  startPoint,
@@ -1171,6 +1119,7 @@ function copyPlanningArtifacts(srcBase, wtPath) {
1171
1119
  * the worktree and its branch.
1172
1120
  */
1173
1121
  export function teardownAutoWorktree(originalBasePath, milestoneId, opts = {}) {
1122
+ originalBasePath = resolveWorktreeProjectRoot(originalBasePath);
1174
1123
  const branch = autoWorktreeBranch(milestoneId);
1175
1124
  const { preserveBranch = false } = opts;
1176
1125
  const previousCwd = process.cwd();
@@ -1212,18 +1161,26 @@ export function teardownAutoWorktree(originalBasePath, milestoneId, opts = {}) {
1212
1161
  }
1213
1162
  /**
1214
1163
  * Detect if the process is currently inside an auto-worktree.
1215
- * Checks both module state and git branch prefix.
1164
+ * Uses the current directory structure plus git branch prefix so detection
1165
+ * still works after process restart when module state has been reset.
1216
1166
  */
1217
1167
  export function isInAutoWorktree(basePath) {
1218
- if (!originalBase)
1168
+ const targetPath = isGsdWorktreePath(basePath) ? basePath : process.cwd();
1169
+ if (!isGsdWorktreePath(targetPath))
1219
1170
  return false;
1220
- const cwd = process.cwd();
1221
- const resolvedBase = existsSync(basePath) ? realpathSync(basePath) : basePath;
1222
- const wtDir = join(resolvedBase, ".gsd", "worktrees");
1223
- if (!cwd.startsWith(wtDir))
1171
+ const projectRoot = resolveWorktreeProjectRoot(basePath, originalBase);
1172
+ const targetProjectRoot = resolveWorktreeProjectRoot(targetPath, originalBase);
1173
+ if (normalizeWorktreePathForCompare(projectRoot) !==
1174
+ normalizeWorktreePathForCompare(targetProjectRoot)) {
1224
1175
  return false;
1225
- const branch = nativeGetCurrentBranch(cwd);
1226
- return branch.startsWith("milestone/");
1176
+ }
1177
+ try {
1178
+ const branch = nativeGetCurrentBranch(targetPath);
1179
+ return branch.startsWith("milestone/");
1180
+ }
1181
+ catch {
1182
+ return false;
1183
+ }
1227
1184
  }
1228
1185
  /**
1229
1186
  * Get the filesystem path for an auto-worktree, or null if it doesn't exist
@@ -1234,6 +1191,7 @@ export function isInAutoWorktree(basePath) {
1234
1191
  * mis-detection of leftover directories as active worktrees (#695).
1235
1192
  */
1236
1193
  export function getAutoWorktreePath(basePath, milestoneId) {
1194
+ basePath = resolveWorktreeProjectRoot(basePath);
1237
1195
  const p = worktreePath(basePath, milestoneId);
1238
1196
  if (!existsSync(p))
1239
1197
  return null;
@@ -1260,6 +1218,7 @@ export function getAutoWorktreePath(basePath, milestoneId) {
1260
1218
  * Atomic: chdir + originalBase update in same try block.
1261
1219
  */
1262
1220
  export function enterAutoWorktree(basePath, milestoneId) {
1221
+ basePath = resolveWorktreeProjectRoot(basePath);
1263
1222
  const p = worktreePath(basePath, milestoneId);
1264
1223
  if (!existsSync(p)) {
1265
1224
  throw new GSDError(GSD_IO_ERROR, `Auto-worktree for ${milestoneId} does not exist at ${p}`);
@@ -1298,16 +1257,20 @@ export function enterAutoWorktree(basePath, milestoneId) {
1298
1257
  export function getAutoWorktreeOriginalBase() {
1299
1258
  return originalBase;
1300
1259
  }
1260
+ export function _resetAutoWorktreeOriginalBaseForTests() {
1261
+ originalBase = null;
1262
+ }
1301
1263
  export function getActiveAutoWorktreeContext() {
1302
1264
  if (!originalBase)
1303
1265
  return null;
1304
1266
  const cwd = process.cwd();
1305
- const resolvedBase = existsSync(originalBase)
1306
- ? realpathSync(originalBase)
1307
- : originalBase;
1308
- const wtDir = join(resolvedBase, ".gsd", "worktrees");
1309
- if (!cwd.startsWith(wtDir))
1267
+ if (!isGsdWorktreePath(cwd))
1310
1268
  return null;
1269
+ const cwdProjectRoot = resolveWorktreeProjectRoot(cwd, originalBase);
1270
+ if (normalizeWorktreePathForCompare(cwdProjectRoot) !==
1271
+ normalizeWorktreePathForCompare(originalBase)) {
1272
+ return null;
1273
+ }
1311
1274
  const worktreeName = detectWorktreeName(cwd);
1312
1275
  if (!worktreeName)
1313
1276
  return null;
@@ -1336,7 +1299,7 @@ function autoCommitDirtyState(cwd) {
1336
1299
  }
1337
1300
  catch (e) {
1338
1301
  debugLog("autoCommitDirtyState", { error: String(e) });
1339
- return false;
1302
+ throw new GSDError(GSD_GIT_ERROR, `Failed to auto-commit dirty worktree state before milestone merge: ${e instanceof Error ? e.message : String(e)}`);
1340
1303
  }
1341
1304
  }
1342
1305
  /**
@@ -1393,9 +1356,10 @@ export function mergeMilestoneToMain(originalBasePath_, milestoneId, roadmapCont
1393
1356
  // database (#2823).
1394
1357
  if (isDbAvailable()) {
1395
1358
  try {
1396
- const worktreeDbPath = join(worktreeCwd, ".gsd", "gsd.db");
1397
- const mainDbPath = join(originalBasePath_, ".gsd", "gsd.db");
1398
- if (!isSamePath(worktreeDbPath, mainDbPath)) {
1359
+ const contract = resolveGsdPathContract(worktreeCwd, originalBasePath_);
1360
+ const worktreeDbPath = join(contract.worktreeGsd ?? join(worktreeCwd, ".gsd"), "gsd.db");
1361
+ const mainDbPath = contract.projectDb;
1362
+ if (existsSync(worktreeDbPath) && !isSamePath(worktreeDbPath, mainDbPath)) {
1399
1363
  reconcileWorktreeDb(mainDbPath, worktreeDbPath);
1400
1364
  }
1401
1365
  }
@@ -1949,7 +1913,7 @@ export function mergeMilestoneToMain(originalBasePath_, milestoneId, roadmapCont
1949
1913
  }
1950
1914
  // 10. Auto-push if enabled
1951
1915
  let pushed = false;
1952
- if (prefs.auto_push === true && !nothingToCommit) {
1916
+ if (prefs.auto_push === true && prefs.auto_pr !== true && !nothingToCommit) {
1953
1917
  const remote = prefs.remote ?? "origin";
1954
1918
  try {
1955
1919
  execFileSync("git", ["push", remote, mainBranch], {
@@ -1999,9 +1963,10 @@ export function mergeMilestoneToMain(originalBasePath_, milestoneId, roadmapCont
1999
1963
  // throws only when the milestone has unanchored code changes, passes
2000
1964
  // through when the code is genuinely already on the integration branch.
2001
1965
  // 11a. Pre-teardown safety net (#1853): if the worktree still has uncommitted
2002
- // changes (e.g. nativeHasChanges cache returned stale false, or auto-commit
2003
- // silently failed), force one final commit so code is not destroyed by
2004
- // `git worktree remove --force`.
1966
+ // changes (e.g. nativeHasChanges cache returned stale false), abort teardown.
1967
+ // Committing here would be too late: the squash merge to the integration
1968
+ // branch already happened, so a new milestone-branch commit would not be
1969
+ // included and branch deletion could drop the only ref to that work.
2005
1970
  //
2006
1971
  // Guard: only run when worktreeCwd is on the milestone branch (#2929).
2007
1972
  // In parallel mode or branch-mode merges, worktreeCwd may be the project
@@ -2020,18 +1985,16 @@ export function mergeMilestoneToMain(originalBasePath_, milestoneId, roadmapCont
2020
1985
  try {
2021
1986
  const dirtyCheck = nativeWorkingTreeStatus(worktreeCwd);
2022
1987
  if (dirtyCheck) {
2023
- debugLog("mergeMilestoneToMain", {
2024
- phase: "pre-teardown-dirty",
2025
- worktreeCwd,
2026
- status: dirtyCheck.slice(0, 200),
2027
- });
2028
- nativeAddAllWithExclusions(worktreeCwd, RUNTIME_EXCLUSION_PATHS);
2029
- nativeCommit(worktreeCwd, "chore: pre-teardown auto-commit of uncommitted worktree changes");
1988
+ process.chdir(previousCwd);
1989
+ throw new GSDError(GSD_GIT_ERROR, `Milestone worktree still has uncommitted changes after squash merge. ` +
1990
+ `Aborting teardown to preserve ${milestoneBranch}. Status:\n${dirtyCheck}`);
2030
1991
  }
2031
1992
  }
2032
1993
  catch (e) {
1994
+ if (e instanceof GSDError)
1995
+ throw e;
2033
1996
  debugLog("mergeMilestoneToMain", {
2034
- phase: "pre-teardown-commit-error",
1997
+ phase: "pre-teardown-dirty-check-error",
2035
1998
  error: String(e),
2036
1999
  });
2037
2000
  }
@@ -2059,5 +2022,20 @@ export function mergeMilestoneToMain(originalBasePath_, milestoneId, roadmapCont
2059
2022
  // 14. Clear module state
2060
2023
  originalBase = null;
2061
2024
  nudgeGitBranchCache(previousCwd);
2025
+ // 15. Anchor cwd at the project root on success-return. Step 12 removed
2026
+ // the worktree dir; if cwd was inside it, every subsequent process.cwd()
2027
+ // would throw ENOENT and trip auto/run-unit.ts:50's session-failed cancel
2028
+ // path (the de73fb43d regression that closes headless gsd auto). Step 3
2029
+ // already chdir'd here, but defending the success-return contract makes
2030
+ // future maintainers safe against intervening chdir's between step 3 and
2031
+ // here.
2032
+ try {
2033
+ // process.cwd() can throw ENOENT when cwd was removed, so attempt
2034
+ // recovery directly.
2035
+ process.chdir(originalBasePath_);
2036
+ }
2037
+ catch (err) {
2038
+ logWarning("worktree", `chdir to project root after merge failed: ${err instanceof Error ? err.message : String(err)}`);
2039
+ }
2062
2040
  return { commitMessage, pushed, prCreated, codeFilesChanged };
2063
2041
  }