gsd-pi 2.41.0-dev.0acbce9 → 2.41.0-dev.5a170d0

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 (291) hide show
  1. package/README.md +1 -1
  2. package/dist/cli-web-branch.d.ts +6 -0
  3. package/dist/cli-web-branch.js +17 -0
  4. package/dist/onboarding.js +2 -1
  5. package/dist/resources/extensions/gsd/auto/loop.js +89 -1
  6. package/dist/resources/extensions/gsd/auto/phases.js +28 -10
  7. package/dist/resources/extensions/gsd/auto/session.js +6 -0
  8. package/dist/resources/extensions/gsd/auto-dashboard.js +8 -2
  9. package/dist/resources/extensions/gsd/auto-dispatch.js +19 -2
  10. package/dist/resources/extensions/gsd/auto-post-unit.js +7 -0
  11. package/dist/resources/extensions/gsd/auto-recovery.js +12 -4
  12. package/dist/resources/extensions/gsd/auto-start.js +8 -3
  13. package/dist/resources/extensions/gsd/auto-worktree.js +147 -13
  14. package/dist/resources/extensions/gsd/auto.js +64 -2
  15. package/dist/resources/extensions/gsd/bootstrap/db-tools.js +199 -164
  16. package/dist/resources/extensions/gsd/bootstrap/journal-tools.js +62 -0
  17. package/dist/resources/extensions/gsd/bootstrap/register-extension.js +2 -0
  18. package/dist/resources/extensions/gsd/bootstrap/register-hooks.js +16 -0
  19. package/dist/resources/extensions/gsd/bootstrap/tool-call-loop-guard.js +7 -2
  20. package/dist/resources/extensions/gsd/commands/catalog.js +40 -1
  21. package/dist/resources/extensions/gsd/commands/handlers/core.js +1 -0
  22. package/dist/resources/extensions/gsd/commands/handlers/ops.js +5 -0
  23. package/dist/resources/extensions/gsd/commands/handlers/workflow.js +146 -0
  24. package/dist/resources/extensions/gsd/context-injector.js +74 -0
  25. package/dist/resources/extensions/gsd/context-store.js +4 -3
  26. package/dist/resources/extensions/gsd/custom-execution-policy.js +47 -0
  27. package/dist/resources/extensions/gsd/custom-verification.js +145 -0
  28. package/dist/resources/extensions/gsd/custom-workflow-engine.js +164 -0
  29. package/dist/resources/extensions/gsd/dashboard-overlay.js +1 -0
  30. package/dist/resources/extensions/gsd/db-writer.js +5 -2
  31. package/dist/resources/extensions/gsd/definition-loader.js +352 -0
  32. package/dist/resources/extensions/gsd/detection.js +1 -1
  33. package/dist/resources/extensions/gsd/dev-execution-policy.js +24 -0
  34. package/dist/resources/extensions/gsd/dev-workflow-engine.js +82 -0
  35. package/dist/resources/extensions/gsd/doctor.js +11 -1
  36. package/dist/resources/extensions/gsd/engine-resolver.js +40 -0
  37. package/dist/resources/extensions/gsd/engine-types.js +8 -0
  38. package/dist/resources/extensions/gsd/execution-policy.js +8 -0
  39. package/dist/resources/extensions/gsd/exit-command.js +12 -2
  40. package/dist/resources/extensions/gsd/export.js +9 -13
  41. package/dist/resources/extensions/gsd/extension-manifest.json +2 -2
  42. package/dist/resources/extensions/gsd/files.js +28 -11
  43. package/dist/resources/extensions/gsd/forensics.js +10 -3
  44. package/dist/resources/extensions/gsd/git-service.js +5 -1
  45. package/dist/resources/extensions/gsd/graph.js +225 -0
  46. package/dist/resources/extensions/gsd/gsd-db.js +25 -8
  47. package/dist/resources/extensions/gsd/guided-flow-queue.js +1 -1
  48. package/dist/resources/extensions/gsd/guided-flow.js +7 -3
  49. package/dist/resources/extensions/gsd/journal.js +85 -0
  50. package/dist/resources/extensions/gsd/md-importer.js +5 -0
  51. package/dist/resources/extensions/gsd/milestone-ids.js +1 -1
  52. package/dist/resources/extensions/gsd/native-git-bridge.js +2 -2
  53. package/dist/resources/extensions/gsd/post-unit-hooks.js +24 -412
  54. package/dist/resources/extensions/gsd/preferences-types.js +1 -0
  55. package/dist/resources/extensions/gsd/preferences.js +1 -0
  56. package/dist/resources/extensions/gsd/prompt-loader.js +34 -4
  57. package/dist/resources/extensions/gsd/prompts/complete-milestone.md +11 -10
  58. package/dist/resources/extensions/gsd/prompts/discuss-headless.md +2 -2
  59. package/dist/resources/extensions/gsd/prompts/discuss.md +1 -1
  60. package/dist/resources/extensions/gsd/prompts/queue.md +1 -1
  61. package/dist/resources/extensions/gsd/repo-identity.js +46 -2
  62. package/dist/resources/extensions/gsd/rule-registry.js +489 -0
  63. package/dist/resources/extensions/gsd/rule-types.js +6 -0
  64. package/dist/resources/extensions/gsd/run-manager.js +134 -0
  65. package/dist/resources/extensions/gsd/service-tier.js +138 -0
  66. package/dist/resources/extensions/gsd/structured-data-formatter.js +2 -1
  67. package/dist/resources/extensions/gsd/templates/decisions.md +2 -2
  68. package/dist/resources/extensions/gsd/workflow-engine.js +7 -0
  69. package/dist/resources/extensions/gsd/workflow-templates.js +13 -1
  70. package/dist/resources/extensions/gsd/worktree-manager.js +20 -6
  71. package/dist/resources/extensions/gsd/worktree-resolver.js +19 -2
  72. package/dist/resources/extensions/subagent/index.js +7 -3
  73. package/dist/resources/extensions/voice/index.js +4 -4
  74. package/dist/resources/skills/create-workflow/SKILL.md +103 -0
  75. package/dist/resources/skills/create-workflow/references/feature-patterns.md +128 -0
  76. package/dist/resources/skills/create-workflow/references/verification-policies.md +76 -0
  77. package/dist/resources/skills/create-workflow/references/yaml-schema-v1.md +46 -0
  78. package/dist/resources/skills/create-workflow/templates/blog-post-pipeline.yaml +60 -0
  79. package/dist/resources/skills/create-workflow/templates/code-audit.yaml +60 -0
  80. package/dist/resources/skills/create-workflow/templates/release-checklist.yaml +66 -0
  81. package/dist/resources/skills/create-workflow/templates/workflow-definition.yaml +32 -0
  82. package/dist/resources/skills/create-workflow/workflows/create-from-scratch.md +104 -0
  83. package/dist/resources/skills/create-workflow/workflows/create-from-template.md +72 -0
  84. package/dist/web/standalone/.next/BUILD_ID +1 -1
  85. package/dist/web/standalone/.next/app-path-routes-manifest.json +16 -16
  86. package/dist/web/standalone/.next/build-manifest.json +3 -3
  87. package/dist/web/standalone/.next/prerender-manifest.json +3 -3
  88. package/dist/web/standalone/.next/react-loadable-manifest.json +1 -1
  89. package/dist/web/standalone/.next/server/app/_global-error.html +2 -2
  90. package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
  91. package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  92. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  93. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  94. package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  95. package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  96. package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  97. package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
  98. package/dist/web/standalone/.next/server/app/_not-found.rsc +1 -1
  99. package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  100. package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  101. package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  102. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  103. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  104. package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  105. package/dist/web/standalone/.next/server/app/api/boot/route.js +1 -1
  106. package/dist/web/standalone/.next/server/app/api/captures/route.js +1 -1
  107. package/dist/web/standalone/.next/server/app/api/cleanup/route.js +1 -1
  108. package/dist/web/standalone/.next/server/app/api/doctor/route.js +1 -1
  109. package/dist/web/standalone/.next/server/app/api/export-data/route.js +1 -1
  110. package/dist/web/standalone/.next/server/app/api/forensics/route.js +1 -1
  111. package/dist/web/standalone/.next/server/app/api/history/route.js +1 -1
  112. package/dist/web/standalone/.next/server/app/api/hooks/route.js +1 -1
  113. package/dist/web/standalone/.next/server/app/api/recovery/route.js +1 -1
  114. package/dist/web/standalone/.next/server/app/api/settings-data/route.js +1 -1
  115. package/dist/web/standalone/.next/server/app/api/skill-health/route.js +1 -1
  116. package/dist/web/standalone/.next/server/app/api/terminal/input/route.js +1 -1
  117. package/dist/web/standalone/.next/server/app/api/terminal/resize/route.js +1 -1
  118. package/dist/web/standalone/.next/server/app/api/undo/route.js +1 -1
  119. package/dist/web/standalone/.next/server/app/api/visualizer/route.js +1 -1
  120. package/dist/web/standalone/.next/server/app/index.html +1 -1
  121. package/dist/web/standalone/.next/server/app/index.rsc +1 -1
  122. package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  123. package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  124. package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  125. package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  126. package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  127. package/dist/web/standalone/.next/server/app-paths-manifest.json +16 -16
  128. package/dist/web/standalone/.next/server/chunks/229.js +3 -3
  129. package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
  130. package/dist/web/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  131. package/dist/web/standalone/.next/server/pages/404.html +1 -1
  132. package/dist/web/standalone/.next/server/pages/500.html +2 -2
  133. package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
  134. package/dist/web/standalone/.next/static/chunks/4024.c195dc1fdd2adbea.js +9 -0
  135. package/dist/web/standalone/.next/static/chunks/{webpack-9afaaebf6042a1d7.js → webpack-fa307370fcf9fb2c.js} +1 -1
  136. package/dist/web-mode.d.ts +2 -0
  137. package/dist/web-mode.js +29 -7
  138. package/package.json +1 -1
  139. package/packages/native/src/__tests__/text.test.mjs +33 -0
  140. package/packages/pi-coding-agent/dist/core/discovery-cache.test.js +3 -1
  141. package/packages/pi-coding-agent/dist/core/discovery-cache.test.js.map +1 -1
  142. package/packages/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  143. package/packages/pi-coding-agent/dist/modes/interactive/components/login-dialog.js +10 -7
  144. package/packages/pi-coding-agent/dist/modes/interactive/components/login-dialog.js.map +1 -1
  145. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  146. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +4 -0
  147. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  148. package/packages/pi-coding-agent/src/core/discovery-cache.test.ts +4 -2
  149. package/packages/pi-coding-agent/src/modes/interactive/components/login-dialog.ts +11 -7
  150. package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +5 -0
  151. package/src/resources/extensions/gsd/auto/loop-deps.ts +5 -1
  152. package/src/resources/extensions/gsd/auto/loop.ts +101 -1
  153. package/src/resources/extensions/gsd/auto/phases.ts +30 -10
  154. package/src/resources/extensions/gsd/auto/session.ts +6 -0
  155. package/src/resources/extensions/gsd/auto/types.ts +4 -0
  156. package/src/resources/extensions/gsd/auto-dashboard.ts +9 -2
  157. package/src/resources/extensions/gsd/auto-dispatch.ts +25 -5
  158. package/src/resources/extensions/gsd/auto-post-unit.ts +8 -0
  159. package/src/resources/extensions/gsd/auto-recovery.ts +12 -4
  160. package/src/resources/extensions/gsd/auto-start.ts +8 -3
  161. package/src/resources/extensions/gsd/auto-worktree.ts +162 -18
  162. package/src/resources/extensions/gsd/auto.ts +71 -2
  163. package/src/resources/extensions/gsd/bootstrap/db-tools.ts +209 -162
  164. package/src/resources/extensions/gsd/bootstrap/journal-tools.ts +62 -0
  165. package/src/resources/extensions/gsd/bootstrap/register-extension.ts +2 -0
  166. package/src/resources/extensions/gsd/bootstrap/register-hooks.ts +13 -0
  167. package/src/resources/extensions/gsd/bootstrap/tool-call-loop-guard.ts +9 -2
  168. package/src/resources/extensions/gsd/commands/catalog.ts +40 -1
  169. package/src/resources/extensions/gsd/commands/handlers/core.ts +1 -0
  170. package/src/resources/extensions/gsd/commands/handlers/ops.ts +5 -0
  171. package/src/resources/extensions/gsd/commands/handlers/workflow.ts +164 -0
  172. package/src/resources/extensions/gsd/context-injector.ts +100 -0
  173. package/src/resources/extensions/gsd/context-store.ts +4 -3
  174. package/src/resources/extensions/gsd/custom-execution-policy.ts +73 -0
  175. package/src/resources/extensions/gsd/custom-verification.ts +180 -0
  176. package/src/resources/extensions/gsd/custom-workflow-engine.ts +216 -0
  177. package/src/resources/extensions/gsd/dashboard-overlay.ts +1 -0
  178. package/src/resources/extensions/gsd/db-writer.ts +6 -2
  179. package/src/resources/extensions/gsd/definition-loader.ts +462 -0
  180. package/src/resources/extensions/gsd/detection.ts +1 -1
  181. package/src/resources/extensions/gsd/dev-execution-policy.ts +51 -0
  182. package/src/resources/extensions/gsd/dev-workflow-engine.ts +110 -0
  183. package/src/resources/extensions/gsd/doctor.ts +12 -1
  184. package/src/resources/extensions/gsd/engine-resolver.ts +57 -0
  185. package/src/resources/extensions/gsd/engine-types.ts +71 -0
  186. package/src/resources/extensions/gsd/execution-policy.ts +43 -0
  187. package/src/resources/extensions/gsd/exit-command.ts +14 -2
  188. package/src/resources/extensions/gsd/export.ts +8 -15
  189. package/src/resources/extensions/gsd/extension-manifest.json +2 -2
  190. package/src/resources/extensions/gsd/files.ts +29 -12
  191. package/src/resources/extensions/gsd/forensics.ts +9 -3
  192. package/src/resources/extensions/gsd/git-service.ts +5 -4
  193. package/src/resources/extensions/gsd/graph.ts +312 -0
  194. package/src/resources/extensions/gsd/gsd-db.ts +37 -8
  195. package/src/resources/extensions/gsd/guided-flow-queue.ts +1 -1
  196. package/src/resources/extensions/gsd/guided-flow.ts +7 -3
  197. package/src/resources/extensions/gsd/journal.ts +134 -0
  198. package/src/resources/extensions/gsd/md-importer.ts +6 -0
  199. package/src/resources/extensions/gsd/milestone-ids.ts +1 -1
  200. package/src/resources/extensions/gsd/native-git-bridge.ts +2 -2
  201. package/src/resources/extensions/gsd/post-unit-hooks.ts +24 -462
  202. package/src/resources/extensions/gsd/preferences-types.ts +3 -0
  203. package/src/resources/extensions/gsd/preferences.ts +1 -0
  204. package/src/resources/extensions/gsd/prompt-loader.ts +35 -4
  205. package/src/resources/extensions/gsd/prompts/complete-milestone.md +11 -10
  206. package/src/resources/extensions/gsd/prompts/discuss-headless.md +2 -2
  207. package/src/resources/extensions/gsd/prompts/discuss.md +1 -1
  208. package/src/resources/extensions/gsd/prompts/queue.md +1 -1
  209. package/src/resources/extensions/gsd/repo-identity.ts +47 -2
  210. package/src/resources/extensions/gsd/rule-registry.ts +599 -0
  211. package/src/resources/extensions/gsd/rule-types.ts +68 -0
  212. package/src/resources/extensions/gsd/run-manager.ts +180 -0
  213. package/src/resources/extensions/gsd/service-tier.ts +171 -0
  214. package/src/resources/extensions/gsd/structured-data-formatter.ts +3 -1
  215. package/src/resources/extensions/gsd/templates/decisions.md +2 -2
  216. package/src/resources/extensions/gsd/tests/auto-loop.test.ts +103 -120
  217. package/src/resources/extensions/gsd/tests/auto-recovery.test.ts +85 -0
  218. package/src/resources/extensions/gsd/tests/auto-secrets-gate.test.ts +2 -2
  219. package/src/resources/extensions/gsd/tests/auto-worktree-milestone-merge.test.ts +202 -0
  220. package/src/resources/extensions/gsd/tests/bundled-workflow-defs.test.ts +180 -0
  221. package/src/resources/extensions/gsd/tests/captures.test.ts +12 -1
  222. package/src/resources/extensions/gsd/tests/commands-workflow-custom.test.ts +283 -0
  223. package/src/resources/extensions/gsd/tests/context-injector.test.ts +313 -0
  224. package/src/resources/extensions/gsd/tests/context-store.test.ts +10 -5
  225. package/src/resources/extensions/gsd/tests/continue-here.test.ts +20 -20
  226. package/src/resources/extensions/gsd/tests/custom-engine-loop-integration.test.ts +540 -0
  227. package/src/resources/extensions/gsd/tests/custom-verification.test.ts +382 -0
  228. package/src/resources/extensions/gsd/tests/custom-workflow-engine.test.ts +339 -0
  229. package/src/resources/extensions/gsd/tests/dashboard-custom-engine.test.ts +87 -0
  230. package/src/resources/extensions/gsd/tests/db-writer.test.ts +10 -0
  231. package/src/resources/extensions/gsd/tests/definition-loader.test.ts +778 -0
  232. package/src/resources/extensions/gsd/tests/dev-engine-wrapper.test.ts +318 -0
  233. package/src/resources/extensions/gsd/tests/doctor-completion-deferral.test.ts +15 -10
  234. package/src/resources/extensions/gsd/tests/doctor-fixlevel.test.ts +5 -4
  235. package/src/resources/extensions/gsd/tests/doctor-roadmap-summary-atomicity.test.ts +167 -0
  236. package/src/resources/extensions/gsd/tests/doctor-task-done-missing-summary-slice-loop.test.ts +174 -0
  237. package/src/resources/extensions/gsd/tests/e2e-workflow-pipeline-integration.test.ts +476 -0
  238. package/src/resources/extensions/gsd/tests/engine-interfaces-contract.test.ts +271 -0
  239. package/src/resources/extensions/gsd/tests/exit-command.test.ts +55 -0
  240. package/src/resources/extensions/gsd/tests/graph-operations.test.ts +599 -0
  241. package/src/resources/extensions/gsd/tests/gsd-db.test.ts +8 -1
  242. package/src/resources/extensions/gsd/tests/gsd-tools.test.ts +7 -7
  243. package/src/resources/extensions/gsd/tests/iterate-engine-integration.test.ts +429 -0
  244. package/src/resources/extensions/gsd/tests/journal-integration.test.ts +513 -0
  245. package/src/resources/extensions/gsd/tests/journal-query-tool.test.ts +147 -0
  246. package/src/resources/extensions/gsd/tests/journal.test.ts +386 -0
  247. package/src/resources/extensions/gsd/tests/md-importer.test.ts +31 -1
  248. package/src/resources/extensions/gsd/tests/memory-store.test.ts +2 -2
  249. package/src/resources/extensions/gsd/tests/milestone-id-reservation.test.ts +1 -1
  250. package/src/resources/extensions/gsd/tests/parsers.test.ts +110 -0
  251. package/src/resources/extensions/gsd/tests/preferences.test.ts +47 -25
  252. package/src/resources/extensions/gsd/tests/prompt-db.test.ts +3 -1
  253. package/src/resources/extensions/gsd/tests/repo-identity-worktree.test.ts +61 -1
  254. package/src/resources/extensions/gsd/tests/routing-history.test.ts +11 -22
  255. package/src/resources/extensions/gsd/tests/rule-registry.test.ts +413 -0
  256. package/src/resources/extensions/gsd/tests/run-manager.test.ts +229 -0
  257. package/src/resources/extensions/gsd/tests/service-tier.test.ts +98 -0
  258. package/src/resources/extensions/gsd/tests/skill-lifecycle.test.ts +2 -2
  259. package/src/resources/extensions/gsd/tests/stalled-tool-recovery.test.ts +102 -0
  260. package/src/resources/extensions/gsd/tests/structured-data-formatter.test.ts +4 -3
  261. package/src/resources/extensions/gsd/tests/tool-call-loop-guard.test.ts +45 -0
  262. package/src/resources/extensions/gsd/tests/tool-naming.test.ts +117 -0
  263. package/src/resources/extensions/gsd/tests/triage-dispatch.test.ts +6 -1
  264. package/src/resources/extensions/gsd/tests/windows-path-normalization.test.ts +99 -0
  265. package/src/resources/extensions/gsd/tests/worktree-db-integration.test.ts +1 -0
  266. package/src/resources/extensions/gsd/tests/worktree-db.test.ts +4 -0
  267. package/src/resources/extensions/gsd/tests/worktree-health-dispatch.test.ts +178 -0
  268. package/src/resources/extensions/gsd/tests/worktree-manager.test.ts +195 -105
  269. package/src/resources/extensions/gsd/tests/worktree-resolver.test.ts +78 -3
  270. package/src/resources/extensions/gsd/tests/worktree-symlink-removal.test.ts +140 -0
  271. package/src/resources/extensions/gsd/tests/worktree-sync-milestones.test.ts +74 -0
  272. package/src/resources/extensions/gsd/types.ts +3 -0
  273. package/src/resources/extensions/gsd/workflow-engine.ts +38 -0
  274. package/src/resources/extensions/gsd/workflow-templates.ts +12 -1
  275. package/src/resources/extensions/gsd/worktree-manager.ts +21 -6
  276. package/src/resources/extensions/gsd/worktree-resolver.ts +30 -9
  277. package/src/resources/extensions/subagent/index.ts +7 -3
  278. package/src/resources/extensions/voice/index.ts +4 -4
  279. package/src/resources/skills/create-workflow/SKILL.md +103 -0
  280. package/src/resources/skills/create-workflow/references/feature-patterns.md +128 -0
  281. package/src/resources/skills/create-workflow/references/verification-policies.md +76 -0
  282. package/src/resources/skills/create-workflow/references/yaml-schema-v1.md +46 -0
  283. package/src/resources/skills/create-workflow/templates/blog-post-pipeline.yaml +60 -0
  284. package/src/resources/skills/create-workflow/templates/code-audit.yaml +60 -0
  285. package/src/resources/skills/create-workflow/templates/release-checklist.yaml +66 -0
  286. package/src/resources/skills/create-workflow/templates/workflow-definition.yaml +32 -0
  287. package/src/resources/skills/create-workflow/workflows/create-from-scratch.md +104 -0
  288. package/src/resources/skills/create-workflow/workflows/create-from-template.md +72 -0
  289. package/dist/web/standalone/.next/static/chunks/4024.279c423e4661ece1.js +0 -9
  290. /package/dist/web/standalone/.next/static/{SwbKZ7JPNFlEmU4f8pKEv → K7GYOOPvQWX6TKYEKhODM}/_buildManifest.js +0 -0
  291. /package/dist/web/standalone/.next/static/{SwbKZ7JPNFlEmU4f8pKEv → K7GYOOPvQWX6TKYEKhODM}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=338,a.ids=[338],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},49744:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>O,patchFetch:()=>N,routeModule:()=>J,serverHooks:()=>M,workAsyncStorage:()=>K,workUnitAsyncStorage:()=>L});var d={};c.r(d),c.d(d,{GET:()=>H,POST:()=>I,dynamic:()=>G,runtime:()=>F});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900);let A="GSD_CLEANUP_MODULE";function B(a){return(0,x.join)(a,"src","resources","extensions","gsd","native-git-bridge.ts")}function C(a){return(0,x.join)(a,"src","resources","extensions","gsd","tests","resolve-ts.mjs")}async function D(a){let{packageRoot:b,projectCwd:c}=(0,z.eG)(void 0,a),d=C(b),e=B(b);if(!(0,w.existsSync)(d)||!(0,w.existsSync)(e))throw Error(`cleanup data provider not found; checked=${d},${e}`);let f=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${A}).href); const basePath = process.env.GSD_CLEANUP_BASE; let branches = []; try { branches = mod.nativeBranchList(basePath, "gsd/*"); } catch {} let mainBranch = "main"; try { mainBranch = mod.nativeDetectMainBranch(basePath); } catch {} let merged = []; try { merged = mod.nativeBranchListMerged(basePath, mainBranch, "gsd/*"); } catch {} const mergedSet = new Set(merged); const branchList = branches.map(b => ({ name: b, merged: mergedSet.has(b) })); let refs = []; try { refs = mod.nativeForEachRef(basePath, "refs/gsd/snapshots/"); } catch {} const snapshotList = refs.map(r => { const parts = r.split(" "); return { ref: parts[0] || r, date: parts.length > 1 ? parts.slice(1).join(" ") : "" }; }); process.stdout.write(JSON.stringify({ branches: branchList, snapshots: snapshotList }));`;return await new Promise((a,g)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(d).href,"--experimental-strip-types","--input-type=module","--eval",f],{cwd:b,env:{...process.env,[A]:e,GSD_CLEANUP_BASE:c},maxBuffer:2097152},(b,c,d)=>{if(b)return void g(Error(`cleanup data subprocess failed: ${d||b.message}`));try{a(JSON.parse(c))}catch(a){g(Error(`cleanup data subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}async function E(a,b,c){let{packageRoot:d,projectCwd:e}=(0,z.eG)(void 0,c),f=C(d),g=B(d);if(!(0,w.existsSync)(f)||!(0,w.existsSync)(g))throw Error(`cleanup service modules not found; checked=${f},${g}`);let h=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${A}).href); const basePath = process.env.GSD_CLEANUP_BASE; const branches = JSON.parse(process.env.GSD_CLEANUP_BRANCHES || "[]"); const snapshots = JSON.parse(process.env.GSD_CLEANUP_SNAPSHOTS || "[]"); let deletedBranches = 0; let prunedSnapshots = 0; const errors = []; for (const branch of branches) { try { mod.nativeBranchDelete(basePath, branch, true); deletedBranches++; } catch (e) { errors.push(\`Branch \${branch}: \${e.message}\`); } } for (const ref of snapshots) { try { mod.nativeUpdateRef(basePath, ref); prunedSnapshots++; } catch (e) { errors.push(\`Ref \${ref}: \${e.message}\`); } } const parts = []; if (deletedBranches > 0) parts.push(\`Deleted \${deletedBranches} branch(es)\`); if (prunedSnapshots > 0) parts.push(\`Pruned \${prunedSnapshots} snapshot(s)\`); if (errors.length > 0) parts.push(\`Errors: \${errors.join("; ")}\`); const message = parts.length > 0 ? parts.join(". ") : "No items to clean up"; process.stdout.write(JSON.stringify({ deletedBranches, prunedSnapshots, message }));`;return await new Promise((c,i)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(f).href,"--experimental-strip-types","--input-type=module","--eval",h],{cwd:d,env:{...process.env,[A]:g,GSD_CLEANUP_BASE:e,GSD_CLEANUP_BRANCHES:JSON.stringify(a),GSD_CLEANUP_SNAPSHOTS:JSON.stringify(b)},maxBuffer:2097152},(a,b,d)=>{if(a)return void i(Error(`cleanup subprocess failed: ${d||a.message}`));try{c(JSON.parse(b))}catch(a){i(Error(`cleanup subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}let F="nodejs",G="force-dynamic";async function H(a){try{let b=(0,z.jL)(a),c=await D(b);return Response.json(c,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}async function I(a){try{let b=[],c=[];try{let d=await a.json();b=Array.isArray(d?.branches)?d.branches:[],c=Array.isArray(d?.snapshots)?d.snapshots:[]}catch{}let d=(0,z.jL)(a),e=await E(b,c,d);return Response.json(e,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let J=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/cleanup/route",pathname:"/api/cleanup",filename:"route",bundlePath:"app/api/cleanup/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/cleanup/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:K,workUnitAsyncStorage:L,serverHooks:M}=J;function N(){return(0,g.patchFetch)({workAsyncStorage:K,workUnitAsyncStorage:L})}async function O(a,b,c){J.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/cleanup/route";"/index"===d&&(d="/");let e=await J.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,G=(0,k.normalizeAppPath)(d),H=!!(z.dynamicRoutes[G]||z.routes[D]),I=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(H&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[G];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await I();throw new t.NoFallbackError}}let K=null;!H||J.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===J.isDev||!H,M=H&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>J.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>J.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!H)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await J.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await J.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!H)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&H||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await J.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),H)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=49744));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=338,a.ids=[338],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},49744:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>P,patchFetch:()=>O,routeModule:()=>K,serverHooks:()=>N,workAsyncStorage:()=>L,workUnitAsyncStorage:()=>M});var d={};c.r(d),c.d(d,{GET:()=>I,POST:()=>J,dynamic:()=>H,runtime:()=>G});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900),A=c(34431);let B="GSD_CLEANUP_MODULE";function C(a){return(0,x.join)(a,"src","resources","extensions","gsd","native-git-bridge.ts")}function D(a){return(0,x.join)(a,"src","resources","extensions","gsd","tests","resolve-ts.mjs")}async function E(a){let{packageRoot:b,projectCwd:c}=(0,z.eG)(void 0,a),d=D(b),e=C(b);if(!(0,w.existsSync)(d)||!(0,w.existsSync)(e))throw Error(`cleanup data provider not found; checked=${d},${e}`);let f=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${B}).href); const basePath = process.env.GSD_CLEANUP_BASE; let branches = []; try { branches = mod.nativeBranchList(basePath, "gsd/*"); } catch {} let mainBranch = "main"; try { mainBranch = mod.nativeDetectMainBranch(basePath); } catch {} let merged = []; try { merged = mod.nativeBranchListMerged(basePath, mainBranch, "gsd/*"); } catch {} const mergedSet = new Set(merged); const branchList = branches.map(b => ({ name: b, merged: mergedSet.has(b) })); let refs = []; try { refs = mod.nativeForEachRef(basePath, "refs/gsd/snapshots/"); } catch {} const snapshotList = refs.map(r => { const parts = r.split(" "); return { ref: parts[0] || r, date: parts.length > 1 ? parts.slice(1).join(" ") : "" }; }); process.stdout.write(JSON.stringify({ branches: branchList, snapshots: snapshotList }));`;return await new Promise((a,g)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(d).href,(0,A.h)(b),"--input-type=module","--eval",f],{cwd:b,env:{...process.env,[B]:e,GSD_CLEANUP_BASE:c},maxBuffer:2097152},(b,c,d)=>{if(b)return void g(Error(`cleanup data subprocess failed: ${d||b.message}`));try{a(JSON.parse(c))}catch(a){g(Error(`cleanup data subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}async function F(a,b,c){let{packageRoot:d,projectCwd:e}=(0,z.eG)(void 0,c),f=D(d),g=C(d);if(!(0,w.existsSync)(f)||!(0,w.existsSync)(g))throw Error(`cleanup service modules not found; checked=${f},${g}`);let h=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${B}).href); const basePath = process.env.GSD_CLEANUP_BASE; const branches = JSON.parse(process.env.GSD_CLEANUP_BRANCHES || "[]"); const snapshots = JSON.parse(process.env.GSD_CLEANUP_SNAPSHOTS || "[]"); let deletedBranches = 0; let prunedSnapshots = 0; const errors = []; for (const branch of branches) { try { mod.nativeBranchDelete(basePath, branch, true); deletedBranches++; } catch (e) { errors.push(\`Branch \${branch}: \${e.message}\`); } } for (const ref of snapshots) { try { mod.nativeUpdateRef(basePath, ref); prunedSnapshots++; } catch (e) { errors.push(\`Ref \${ref}: \${e.message}\`); } } const parts = []; if (deletedBranches > 0) parts.push(\`Deleted \${deletedBranches} branch(es)\`); if (prunedSnapshots > 0) parts.push(\`Pruned \${prunedSnapshots} snapshot(s)\`); if (errors.length > 0) parts.push(\`Errors: \${errors.join("; ")}\`); const message = parts.length > 0 ? parts.join(". ") : "No items to clean up"; process.stdout.write(JSON.stringify({ deletedBranches, prunedSnapshots, message }));`;return await new Promise((c,i)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(f).href,(0,A.h)(d),"--input-type=module","--eval",h],{cwd:d,env:{...process.env,[B]:g,GSD_CLEANUP_BASE:e,GSD_CLEANUP_BRANCHES:JSON.stringify(a),GSD_CLEANUP_SNAPSHOTS:JSON.stringify(b)},maxBuffer:2097152},(a,b,d)=>{if(a)return void i(Error(`cleanup subprocess failed: ${d||a.message}`));try{c(JSON.parse(b))}catch(a){i(Error(`cleanup subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}let G="nodejs",H="force-dynamic";async function I(a){try{let b=(0,z.jL)(a),c=await E(b);return Response.json(c,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}async function J(a){try{let b=[],c=[];try{let d=await a.json();b=Array.isArray(d?.branches)?d.branches:[],c=Array.isArray(d?.snapshots)?d.snapshots:[]}catch{}let d=(0,z.jL)(a),e=await F(b,c,d);return Response.json(e,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let K=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/cleanup/route",pathname:"/api/cleanup",filename:"route",bundlePath:"app/api/cleanup/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/cleanup/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:L,workUnitAsyncStorage:M,serverHooks:N}=K;function O(){return(0,g.patchFetch)({workAsyncStorage:L,workUnitAsyncStorage:M})}async function P(a,b,c){K.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/cleanup/route";"/index"===d&&(d="/");let e=await K.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,G=(0,k.normalizeAppPath)(d),H=!!(z.dynamicRoutes[G]||z.routes[D]),I=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(H&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[G];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await I();throw new t.NoFallbackError}}let J=null;!H||K.isDev||y||(J="/index"===(J=D)?"/":J);let L=!0===K.isDev||!H,M=H&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>K.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>K.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!H)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await K.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await K.handleResponse({req:a,nextConfig:w,cacheKey:J,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!H)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&H||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),H)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=49744));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=143,a.ids=[143],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},76829:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>Q,patchFetch:()=>P,routeModule:()=>L,serverHooks:()=>O,workAsyncStorage:()=>M,workUnitAsyncStorage:()=>N});var d={};c.r(d),c.d(d,{GET:()=>J,POST:()=>K,dynamic:()=>I,runtime:()=>H});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900);let A="GSD_DOCTOR_MODULE";function B(a){return(0,x.join)(a,"src","resources","extensions","gsd","doctor.ts")}function C(a){return(0,x.join)(a,"src","resources","extensions","gsd","tests","resolve-ts.mjs")}function D(a,b){if(!(0,w.existsSync)(a)||!(0,w.existsSync)(b))throw Error(`doctor data provider not found; checked=${a},${b}`)}function E(a,b,c,d,e,f){return new Promise((g,h)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(d).href,"--experimental-strip-types","--input-type=module","--eval",c],{cwd:a,env:{...process.env,[A]:e,GSD_DOCTOR_BASE:b,GSD_DOCTOR_SCOPE:f??""},maxBuffer:2097152},(a,b,c)=>{a?h(Error(`doctor subprocess failed: ${c||a.message}`)):g(b)})})}async function F(a,b){let{packageRoot:c,projectCwd:d}=(0,z.eG)(void 0,b),e=C(c),f=B(c);D(e,f);let g=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${A}).href); const basePath = process.env.GSD_DOCTOR_BASE; const scope = process.env.GSD_DOCTOR_SCOPE || undefined; const report = await mod.runGSDDoctor(basePath, { fix: false, scope }); const summary = mod.summarizeDoctorIssues(report.issues); const result = { ok: report.ok, issues: report.issues, fixesApplied: report.fixesApplied, summary, }; process.stdout.write(JSON.stringify(result));`,h=await E(c,d,g,e,f,a);try{return JSON.parse(h)}catch(a){throw Error(`doctor subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`)}}async function G(a,b){let{packageRoot:c,projectCwd:d}=(0,z.eG)(void 0,b),e=C(c),f=B(c);D(e,f);let g=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${A}).href); const basePath = process.env.GSD_DOCTOR_BASE; const scope = process.env.GSD_DOCTOR_SCOPE || undefined; const report = await mod.runGSDDoctor(basePath, { fix: true, scope }); const result = { ok: report.ok, fixesApplied: report.fixesApplied, }; process.stdout.write(JSON.stringify(result));`,h=await E(c,d,g,e,f,a);try{return JSON.parse(h)}catch(a){throw Error(`doctor fix subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`)}}let H="nodejs",I="force-dynamic";async function J(a){try{let b=new URL(a.url).searchParams.get("scope")??void 0,c=(0,z.jL)(a),d=await F(b,c);return Response.json(d,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}async function K(a){try{let b;try{let c=await a.json();b=c?.scope??void 0}catch{}let c=(0,z.jL)(a),d=await G(b,c);return Response.json(d,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let L=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/doctor/route",pathname:"/api/doctor",filename:"route",bundlePath:"app/api/doctor/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/doctor/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:M,workUnitAsyncStorage:N,serverHooks:O}=L;function P(){return(0,g.patchFetch)({workAsyncStorage:M,workUnitAsyncStorage:N})}async function Q(a,b,c){L.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/doctor/route";"/index"===d&&(d="/");let e=await L.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,G=(0,k.normalizeAppPath)(d),H=!!(z.dynamicRoutes[G]||z.routes[D]),I=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(H&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[G];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await I();throw new t.NoFallbackError}}let J=null;!H||L.isDev||y||(J="/index"===(J=D)?"/":J);let K=!0===L.isDev||!H,M=H&&!K;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:K,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>L.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>L.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!H)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await L.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await L.handleResponse({req:a,nextConfig:w,cacheKey:J,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!H)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&H||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),H)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=76829));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=143,a.ids=[143],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},76829:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>R,patchFetch:()=>Q,routeModule:()=>M,serverHooks:()=>P,workAsyncStorage:()=>N,workUnitAsyncStorage:()=>O});var d={};c.r(d),c.d(d,{GET:()=>K,POST:()=>L,dynamic:()=>J,runtime:()=>I});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900),A=c(34431);let B="GSD_DOCTOR_MODULE";function C(a){return(0,x.join)(a,"src","resources","extensions","gsd","doctor.ts")}function D(a){return(0,x.join)(a,"src","resources","extensions","gsd","tests","resolve-ts.mjs")}function E(a,b){if(!(0,w.existsSync)(a)||!(0,w.existsSync)(b))throw Error(`doctor data provider not found; checked=${a},${b}`)}function F(a,b,c,d,e,f){return new Promise((g,h)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(d).href,(0,A.h)(a),"--input-type=module","--eval",c],{cwd:a,env:{...process.env,[B]:e,GSD_DOCTOR_BASE:b,GSD_DOCTOR_SCOPE:f??""},maxBuffer:2097152},(a,b,c)=>{a?h(Error(`doctor subprocess failed: ${c||a.message}`)):g(b)})})}async function G(a,b){let{packageRoot:c,projectCwd:d}=(0,z.eG)(void 0,b),e=D(c),f=C(c);E(e,f);let g=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${B}).href); const basePath = process.env.GSD_DOCTOR_BASE; const scope = process.env.GSD_DOCTOR_SCOPE || undefined; const report = await mod.runGSDDoctor(basePath, { fix: false, scope }); const summary = mod.summarizeDoctorIssues(report.issues); const result = { ok: report.ok, issues: report.issues, fixesApplied: report.fixesApplied, summary, }; process.stdout.write(JSON.stringify(result));`,h=await F(c,d,g,e,f,a);try{return JSON.parse(h)}catch(a){throw Error(`doctor subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`)}}async function H(a,b){let{packageRoot:c,projectCwd:d}=(0,z.eG)(void 0,b),e=D(c),f=C(c);E(e,f);let g=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${B}).href); const basePath = process.env.GSD_DOCTOR_BASE; const scope = process.env.GSD_DOCTOR_SCOPE || undefined; const report = await mod.runGSDDoctor(basePath, { fix: true, scope }); const result = { ok: report.ok, fixesApplied: report.fixesApplied, }; process.stdout.write(JSON.stringify(result));`,h=await F(c,d,g,e,f,a);try{return JSON.parse(h)}catch(a){throw Error(`doctor fix subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`)}}let I="nodejs",J="force-dynamic";async function K(a){try{let b=new URL(a.url).searchParams.get("scope")??void 0,c=(0,z.jL)(a),d=await G(b,c);return Response.json(d,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}async function L(a){try{let b;try{let c=await a.json();b=c?.scope??void 0}catch{}let c=(0,z.jL)(a),d=await H(b,c);return Response.json(d,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let M=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/doctor/route",pathname:"/api/doctor",filename:"route",bundlePath:"app/api/doctor/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/doctor/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:N,workUnitAsyncStorage:O,serverHooks:P}=M;function Q(){return(0,g.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:O})}async function R(a,b,c){M.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/doctor/route";"/index"===d&&(d="/");let e=await M.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,G=(0,k.normalizeAppPath)(d),H=!!(z.dynamicRoutes[G]||z.routes[D]),I=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(H&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[G];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await I();throw new t.NoFallbackError}}let J=null;!H||M.isDev||y||(J="/index"===(J=D)?"/":J);let K=!0===M.isDev||!H,L=H&&!K;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:K,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>M.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>M.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!H)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await M.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:L,isOnDemandRevalidate:B})},!1,A),b}},l=await M.handleResponse({req:a,nextConfig:w,cacheKey:J,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!H)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&H||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await M.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:L,isOnDemandRevalidate:B})},!1,A),H)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=76829));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=965,a.ids=[965],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91325:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>K,patchFetch:()=>J,routeModule:()=>F,serverHooks:()=>I,workAsyncStorage:()=>G,workUnitAsyncStorage:()=>H});var d={};c.r(d),c.d(d,{GET:()=>E,dynamic:()=>D,runtime:()=>C});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900);let A="GSD_EXPORT_MODULE";async function B(a="markdown",b){let{packageRoot:c,projectCwd:d}=(0,z.eG)(void 0,b),e=(0,x.join)(c,"src","resources","extensions","gsd","tests","resolve-ts.mjs"),f=(0,x.join)(c,"src","resources","extensions","gsd","export.ts");if(!(0,w.existsSync)(e)||!(0,w.existsSync)(f))throw Error(`export data provider not found; checked=${e},${f}`);let g=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${A}).href); const format = process.env.GSD_EXPORT_FORMAT || "markdown"; const basePath = process.env.GSD_EXPORT_BASE; const filePath = mod.writeExportFile(basePath, format); if (filePath) { const { readFileSync } = await import("node:fs"); const { basename } = await import("node:path"); const content = readFileSync(filePath, "utf-8"); process.stdout.write(JSON.stringify({ content, format, filename: basename(filePath) })); } else { process.stdout.write(JSON.stringify({ content: "No metrics data available for export.", format, filename: "export." + (format === "json" ? "json" : "md") })); }`;return await new Promise((b,h)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(e).href,"--experimental-strip-types","--input-type=module","--eval",g],{cwd:c,env:{...process.env,[A]:f,GSD_EXPORT_BASE:d,GSD_EXPORT_FORMAT:a},maxBuffer:4194304},(a,c,d)=>{if(a)return void h(Error(`export data subprocess failed: ${d||a.message}`));try{b(JSON.parse(c))}catch(a){h(Error(`export data subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}let C="nodejs",D="force-dynamic";async function E(a){try{let b=new URL(a.url).searchParams.get("format"),c=(0,z.jL)(a),d=await B("json"===b?"json":"markdown",c);return Response.json(d,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let F=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/export-data/route",pathname:"/api/export-data",filename:"route",bundlePath:"app/api/export-data/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/export-data/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:G,workUnitAsyncStorage:H,serverHooks:I}=F;function J(){return(0,g.patchFetch)({workAsyncStorage:G,workUnitAsyncStorage:H})}async function K(a,b,c){F.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/export-data/route";"/index"===d&&(d="/");let e=await F.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||F.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===F.isDev||!I,M=I&&!L;G&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>F.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>F.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await F.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await F.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await F.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=91325));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=965,a.ids=[965],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91325:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>L,patchFetch:()=>K,routeModule:()=>G,serverHooks:()=>J,workAsyncStorage:()=>H,workUnitAsyncStorage:()=>I});var d={};c.r(d),c.d(d,{GET:()=>F,dynamic:()=>E,runtime:()=>D});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900),A=c(34431);let B="GSD_EXPORT_MODULE";async function C(a="markdown",b){let{packageRoot:c,projectCwd:d}=(0,z.eG)(void 0,b),e=(0,x.join)(c,"src","resources","extensions","gsd","tests","resolve-ts.mjs"),f=(0,x.join)(c,"src","resources","extensions","gsd","export.ts");if(!(0,w.existsSync)(e)||!(0,w.existsSync)(f))throw Error(`export data provider not found; checked=${e},${f}`);let g=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${B}).href); const format = process.env.GSD_EXPORT_FORMAT || "markdown"; const basePath = process.env.GSD_EXPORT_BASE; const filePath = mod.writeExportFile(basePath, format); if (filePath) { const { readFileSync } = await import("node:fs"); const { basename } = await import("node:path"); const content = readFileSync(filePath, "utf-8"); process.stdout.write(JSON.stringify({ content, format, filename: basename(filePath) })); } else { process.stdout.write(JSON.stringify({ content: "No metrics data available for export.", format, filename: "export." + (format === "json" ? "json" : "md") })); }`;return await new Promise((b,h)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(e).href,(0,A.h)(c),"--input-type=module","--eval",g],{cwd:c,env:{...process.env,[B]:f,GSD_EXPORT_BASE:d,GSD_EXPORT_FORMAT:a},maxBuffer:4194304},(a,c,d)=>{if(a)return void h(Error(`export data subprocess failed: ${d||a.message}`));try{b(JSON.parse(c))}catch(a){h(Error(`export data subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}let D="nodejs",E="force-dynamic";async function F(a){try{let b=new URL(a.url).searchParams.get("format"),c=(0,z.jL)(a),d=await C("json"===b?"json":"markdown",c);return Response.json(d,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let G=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/export-data/route",pathname:"/api/export-data",filename:"route",bundlePath:"app/api/export-data/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/export-data/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:H,workUnitAsyncStorage:I,serverHooks:J}=G;function K(){return(0,g.patchFetch)({workAsyncStorage:H,workUnitAsyncStorage:I})}async function L(a,b,c){G.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/export-data/route";"/index"===d&&(d="/");let e=await G.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||G.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===G.isDev||!I,M=I&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>G.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>G.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await G.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await G.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await G.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=91325));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=748,a.ids=[748],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29199:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>K,patchFetch:()=>J,routeModule:()=>F,serverHooks:()=>I,workAsyncStorage:()=>G,workUnitAsyncStorage:()=>H});var d={};c.r(d),c.d(d,{GET:()=>E,dynamic:()=>D,runtime:()=>C});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900);let A="GSD_FORENSICS_MODULE";async function B(a){let{packageRoot:b,projectCwd:c}=(0,z.eG)(void 0,a),d=(0,x.join)(b,"src","resources","extensions","gsd","tests","resolve-ts.mjs"),e=(0,x.join)(b,"src","resources","extensions","gsd","forensics.ts");if(!(0,w.existsSync)(d)||!(0,w.existsSync)(e))throw Error(`forensics data provider not found; checked=${d},${e}`);let f=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${A}).href); const report = await mod.buildForensicReport(process.env.GSD_FORENSICS_BASE); const unitTraces = (report.unitTraces || []).map(t => ({ file: t.file, unitType: t.unitType, unitId: t.unitId, seq: t.seq, mtime: t.mtime, })); let metrics = null; if (report.metrics && report.metrics.units) { const units = report.metrics.units; const totalCost = units.reduce((s, u) => s + u.cost, 0); const totalDuration = units.reduce((s, u) => s + (u.finishedAt - u.startedAt), 0); metrics = { totalUnits: units.length, totalCost, totalDuration }; } const result = { gsdVersion: report.gsdVersion, timestamp: report.timestamp, basePath: report.basePath, activeMilestone: report.activeMilestone, activeSlice: report.activeSlice, anomalies: report.anomalies, recentUnits: report.recentUnits, crashLock: report.crashLock, doctorIssueCount: (report.doctorIssues || []).length, unitTraceCount: unitTraces.length, unitTraces, completedKeyCount: (report.completedKeys || []).length, metrics, }; process.stdout.write(JSON.stringify(result));`;return await new Promise((a,g)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(d).href,"--experimental-strip-types","--input-type=module","--eval",f],{cwd:b,env:{...process.env,[A]:e,GSD_FORENSICS_BASE:c},maxBuffer:2097152},(b,c,d)=>{if(b)return void g(Error(`forensics data subprocess failed: ${d||b.message}`));try{a(JSON.parse(c))}catch(a){g(Error(`forensics data subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}let C="nodejs",D="force-dynamic";async function E(a){try{let b=(0,z.jL)(a),c=await B(b);return Response.json(c,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let F=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/forensics/route",pathname:"/api/forensics",filename:"route",bundlePath:"app/api/forensics/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/forensics/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:G,workUnitAsyncStorage:H,serverHooks:I}=F;function J(){return(0,g.patchFetch)({workAsyncStorage:G,workUnitAsyncStorage:H})}async function K(a,b,c){F.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/forensics/route";"/index"===d&&(d="/");let e=await F.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||F.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===F.isDev||!I,M=I&&!L;G&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>F.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>F.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await F.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await F.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await F.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=29199));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=748,a.ids=[748],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29199:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>L,patchFetch:()=>K,routeModule:()=>G,serverHooks:()=>J,workAsyncStorage:()=>H,workUnitAsyncStorage:()=>I});var d={};c.r(d),c.d(d,{GET:()=>F,dynamic:()=>E,runtime:()=>D});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900),A=c(34431);let B="GSD_FORENSICS_MODULE";async function C(a){let{packageRoot:b,projectCwd:c}=(0,z.eG)(void 0,a),d=(0,x.join)(b,"src","resources","extensions","gsd","tests","resolve-ts.mjs"),e=(0,x.join)(b,"src","resources","extensions","gsd","forensics.ts");if(!(0,w.existsSync)(d)||!(0,w.existsSync)(e))throw Error(`forensics data provider not found; checked=${d},${e}`);let f=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${B}).href); const report = await mod.buildForensicReport(process.env.GSD_FORENSICS_BASE); const unitTraces = (report.unitTraces || []).map(t => ({ file: t.file, unitType: t.unitType, unitId: t.unitId, seq: t.seq, mtime: t.mtime, })); let metrics = null; if (report.metrics && report.metrics.units) { const units = report.metrics.units; const totalCost = units.reduce((s, u) => s + u.cost, 0); const totalDuration = units.reduce((s, u) => s + (u.finishedAt - u.startedAt), 0); metrics = { totalUnits: units.length, totalCost, totalDuration }; } const result = { gsdVersion: report.gsdVersion, timestamp: report.timestamp, basePath: report.basePath, activeMilestone: report.activeMilestone, activeSlice: report.activeSlice, anomalies: report.anomalies, recentUnits: report.recentUnits, crashLock: report.crashLock, doctorIssueCount: (report.doctorIssues || []).length, unitTraceCount: unitTraces.length, unitTraces, completedKeyCount: (report.completedKeys || []).length, metrics, }; process.stdout.write(JSON.stringify(result));`;return await new Promise((a,g)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(d).href,(0,A.h)(b),"--input-type=module","--eval",f],{cwd:b,env:{...process.env,[B]:e,GSD_FORENSICS_BASE:c},maxBuffer:2097152},(b,c,d)=>{if(b)return void g(Error(`forensics data subprocess failed: ${d||b.message}`));try{a(JSON.parse(c))}catch(a){g(Error(`forensics data subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}let D="nodejs",E="force-dynamic";async function F(a){try{let b=(0,z.jL)(a),c=await C(b);return Response.json(c,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let G=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/forensics/route",pathname:"/api/forensics",filename:"route",bundlePath:"app/api/forensics/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/forensics/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:H,workUnitAsyncStorage:I,serverHooks:J}=G;function K(){return(0,g.patchFetch)({workAsyncStorage:H,workUnitAsyncStorage:I})}async function L(a,b,c){G.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/forensics/route";"/index"===d&&(d="/");let e=await G.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||G.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===G.isDev||!I,M=I&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>G.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>G.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await G.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await G.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await G.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=29199));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=670,a.ids=[670],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29280:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>K,patchFetch:()=>J,routeModule:()=>F,serverHooks:()=>I,workAsyncStorage:()=>G,workUnitAsyncStorage:()=>H});var d={};c.r(d),c.d(d,{GET:()=>E,dynamic:()=>D,runtime:()=>C});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900);let A="GSD_HISTORY_MODULE";async function B(a){let{packageRoot:b,projectCwd:c}=(0,z.eG)(void 0,a),d=(0,x.join)(b,"src","resources","extensions","gsd","tests","resolve-ts.mjs"),e=(0,x.join)(b,"src","resources","extensions","gsd","metrics.ts");if(!(0,w.existsSync)(d)||!(0,w.existsSync)(e))throw Error(`history data provider not found; checked=${d},${e}`);let f=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${A}).href); const ledger = mod.loadLedgerFromDisk(process.env.GSD_HISTORY_BASE); const units = ledger ? ledger.units : []; const totals = mod.getProjectTotals(units); const byPhase = mod.aggregateByPhase(units); const bySlice = mod.aggregateBySlice(units); const byModel = mod.aggregateByModel(units); process.stdout.write(JSON.stringify({ units, totals, byPhase, bySlice, byModel }));`;return await new Promise((a,g)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(d).href,"--experimental-strip-types","--input-type=module","--eval",f],{cwd:b,env:{...process.env,[A]:e,GSD_HISTORY_BASE:c},maxBuffer:2097152},(b,c,d)=>{if(b)return void g(Error(`history data subprocess failed: ${d||b.message}`));try{a(JSON.parse(c))}catch(a){g(Error(`history data subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}let C="nodejs",D="force-dynamic";async function E(a){try{let b=(0,z.jL)(a),c=await B(b);return Response.json(c,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let F=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/history/route",pathname:"/api/history",filename:"route",bundlePath:"app/api/history/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/history/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:G,workUnitAsyncStorage:H,serverHooks:I}=F;function J(){return(0,g.patchFetch)({workAsyncStorage:G,workUnitAsyncStorage:H})}async function K(a,b,c){F.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/history/route";"/index"===d&&(d="/");let e=await F.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||F.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===F.isDev||!I,M=I&&!L;G&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>F.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>F.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await F.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await F.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await F.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=29280));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=670,a.ids=[670],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29280:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>L,patchFetch:()=>K,routeModule:()=>G,serverHooks:()=>J,workAsyncStorage:()=>H,workUnitAsyncStorage:()=>I});var d={};c.r(d),c.d(d,{GET:()=>F,dynamic:()=>E,runtime:()=>D});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900),A=c(34431);let B="GSD_HISTORY_MODULE";async function C(a){let{packageRoot:b,projectCwd:c}=(0,z.eG)(void 0,a),d=(0,x.join)(b,"src","resources","extensions","gsd","tests","resolve-ts.mjs"),e=(0,x.join)(b,"src","resources","extensions","gsd","metrics.ts");if(!(0,w.existsSync)(d)||!(0,w.existsSync)(e))throw Error(`history data provider not found; checked=${d},${e}`);let f=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${B}).href); const ledger = mod.loadLedgerFromDisk(process.env.GSD_HISTORY_BASE); const units = ledger ? ledger.units : []; const totals = mod.getProjectTotals(units); const byPhase = mod.aggregateByPhase(units); const bySlice = mod.aggregateBySlice(units); const byModel = mod.aggregateByModel(units); process.stdout.write(JSON.stringify({ units, totals, byPhase, bySlice, byModel }));`;return await new Promise((a,g)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(d).href,(0,A.h)(b),"--input-type=module","--eval",f],{cwd:b,env:{...process.env,[B]:e,GSD_HISTORY_BASE:c},maxBuffer:2097152},(b,c,d)=>{if(b)return void g(Error(`history data subprocess failed: ${d||b.message}`));try{a(JSON.parse(c))}catch(a){g(Error(`history data subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}let D="nodejs",E="force-dynamic";async function F(a){try{let b=(0,z.jL)(a),c=await C(b);return Response.json(c,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let G=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/history/route",pathname:"/api/history",filename:"route",bundlePath:"app/api/history/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/history/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:H,workUnitAsyncStorage:I,serverHooks:J}=G;function K(){return(0,g.patchFetch)({workAsyncStorage:H,workUnitAsyncStorage:I})}async function L(a,b,c){G.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/history/route";"/index"===d&&(d="/");let e=await G.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||G.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===G.isDev||!I,M=I&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>G.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>G.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await G.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await G.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await G.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=29280));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=802,a.ids=[802],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19658:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>K,patchFetch:()=>J,routeModule:()=>F,serverHooks:()=>I,workAsyncStorage:()=>G,workUnitAsyncStorage:()=>H});var d={};c.r(d),c.d(d,{GET:()=>E,dynamic:()=>D,runtime:()=>C});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900);let A="GSD_HOOKS_MODULE";async function B(a){let{packageRoot:b,projectCwd:c}=(0,z.eG)(void 0,a),d=(0,x.join)(b,"src","resources","extensions","gsd","tests","resolve-ts.mjs"),e=(0,x.join)(b,"src","resources","extensions","gsd","post-unit-hooks.ts");if(!(0,w.existsSync)(d)||!(0,w.existsSync)(e))throw Error(`hooks data provider not found; checked=${d},${e}`);let f=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${A}).href); const entries = mod.getHookStatus(); const formattedStatus = mod.formatHookStatus(); process.stdout.write(JSON.stringify({ entries, formattedStatus }));`;return await new Promise((a,b)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(d).href,"--experimental-strip-types","--input-type=module","--eval",f],{cwd:c,env:{...process.env,[A]:e},maxBuffer:524288},(c,d,e)=>{if(c)return void b(Error(`hooks data subprocess failed: ${e||c.message}`));try{a(JSON.parse(d))}catch(a){b(Error(`hooks data subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}let C="nodejs",D="force-dynamic";async function E(a){try{let b=(0,z.jL)(a),c=await B(b);return Response.json(c,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let F=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/hooks/route",pathname:"/api/hooks",filename:"route",bundlePath:"app/api/hooks/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/hooks/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:G,workUnitAsyncStorage:H,serverHooks:I}=F;function J(){return(0,g.patchFetch)({workAsyncStorage:G,workUnitAsyncStorage:H})}async function K(a,b,c){F.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/hooks/route";"/index"===d&&(d="/");let e=await F.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||F.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===F.isDev||!I,M=I&&!L;G&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>F.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>F.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await F.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await F.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await F.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=19658));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=802,a.ids=[802],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19658:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>L,patchFetch:()=>K,routeModule:()=>G,serverHooks:()=>J,workAsyncStorage:()=>H,workUnitAsyncStorage:()=>I});var d={};c.r(d),c.d(d,{GET:()=>F,dynamic:()=>E,runtime:()=>D});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900),A=c(34431);let B="GSD_HOOKS_MODULE";async function C(a){let{packageRoot:b,projectCwd:c}=(0,z.eG)(void 0,a),d=(0,x.join)(b,"src","resources","extensions","gsd","tests","resolve-ts.mjs"),e=(0,x.join)(b,"src","resources","extensions","gsd","post-unit-hooks.ts");if(!(0,w.existsSync)(d)||!(0,w.existsSync)(e))throw Error(`hooks data provider not found; checked=${d},${e}`);let f=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${B}).href); const entries = mod.getHookStatus(); const formattedStatus = mod.formatHookStatus(); process.stdout.write(JSON.stringify({ entries, formattedStatus }));`;return await new Promise((a,g)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(d).href,(0,A.h)(b),"--input-type=module","--eval",f],{cwd:c,env:{...process.env,[B]:e},maxBuffer:524288},(b,c,d)=>{if(b)return void g(Error(`hooks data subprocess failed: ${d||b.message}`));try{a(JSON.parse(c))}catch(a){g(Error(`hooks data subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}let D="nodejs",E="force-dynamic";async function F(a){try{let b=(0,z.jL)(a),c=await C(b);return Response.json(c,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let G=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/hooks/route",pathname:"/api/hooks",filename:"route",bundlePath:"app/api/hooks/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/hooks/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:H,workUnitAsyncStorage:I,serverHooks:J}=G;function K(){return(0,g.patchFetch)({workAsyncStorage:H,workUnitAsyncStorage:I})}async function L(a,b,c){G.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/hooks/route";"/index"===d&&(d="/");let e=await G.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||G.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===G.isDev||!I,M=I&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>G.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>G.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await G.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await G.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await G.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=19658));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=851,a.ids=[851],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},53551:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>N,patchFetch:()=>M,routeModule:()=>I,serverHooks:()=>L,workAsyncStorage:()=>J,workUnitAsyncStorage:()=>K});var d={};c.r(d),c.d(d,{GET:()=>H,dynamic:()=>G,runtime:()=>F});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900);function A(a){return(a instanceof Error?a.message:String(a??"")).replace(/sk-[A-Za-z0-9_-]{6,}/g,"[redacted]").replace(/xox[baprs]-[A-Za-z0-9-]+/g,"[redacted]").replace(/Bearer\s+[^\s]+/gi,"Bearer [redacted]").replace(/([A-Z0-9_]*(?:API[_-]?KEY|TOKEN|SECRET)["'=:\s]+)([^\s,;"']+)/gi,"$1[redacted]").replace(/\s+/g," ").trim()}function B(a){return a?.active.milestoneId?a.active.taskId&&a.active.sliceId?`${a.active.milestoneId}/${a.active.sliceId}/${a.active.taskId}`:a.active.sliceId?`${a.active.milestoneId}/${a.active.sliceId}`:a.active.milestoneId:null}function C(a){return{code:a.code,severity:a.severity,scope:a.scope,message:A(a.message),file:a.file,suggestion:a.suggestion?A(a.suggestion):void 0,unitId:a.unitId}}async function D(a,b,c,d,e,f){let g=f.env??process.env,h=f.existsSync??w.existsSync,i=(0,x.join)(a,"src","resources","extensions","gsd","tests","resolve-ts.mjs"),j=(0,x.join)(a,"src","resources","extensions","gsd","doctor.ts"),k=(0,x.join)(a,"src","resources","extensions","gsd","session-forensics.ts");if(!h(i)||!h(j)||!h(k))throw Error(`recovery diagnostics providers not found; checked=${i},${j},${k}`);return await new Promise((h,l)=>{(0,v.execFile)(f.execPath??process.execPath,["--import",(0,y.pathToFileURL)(i).href,"--experimental-strip-types","--input-type=module","--eval",'const { pathToFileURL } = await import("node:url"); const doctor = await import(pathToFileURL(process.env.GSD_RECOVERY_DOCTOR_MODULE).href); const forensics = await import(pathToFileURL(process.env.GSD_RECOVERY_FORENSICS_MODULE).href); const basePath = process.env.GSD_RECOVERY_BASE; const scope = process.env.GSD_RECOVERY_SCOPE || undefined; const unitType = process.env.GSD_RECOVERY_UNIT_TYPE || "execute-project"; const unitId = process.env.GSD_RECOVERY_UNIT_ID || "project"; const sessionFile = process.env.GSD_RECOVERY_SESSION_FILE || undefined; const activityDir = process.env.GSD_RECOVERY_ACTIVITY_DIR || undefined; const report = await doctor.runGSDDoctor(basePath, { fix: false, scope, fixLevel: "task" }); const summary = doctor.summarizeDoctorIssues(report.issues); const briefing = forensics.synthesizeCrashRecovery(basePath, unitType, unitId, sessionFile, activityDir); const trace = briefing?.trace; const available = Boolean(sessionFile || trace?.toolCallCount || briefing?.gitChanges); const detected = Boolean((trace?.toolCallCount ?? 0) > 0 || (trace?.errors?.length ?? 0) > 0 || (trace?.commandsRun?.length ?? 0) > 0 || (trace?.filesWritten?.length ?? 0) > 0 || briefing?.gitChanges); const interruptedRun = available ? detected ? { available: true, detected: true, label: "Interrupted-run recovery available", detail: "Recent session forensics captured unfinished work or errors that may need resume or retry follow-up.", unit: { type: briefing?.unitType ?? unitType, id: briefing?.unitId ?? unitId }, counts: { toolCalls: trace?.toolCallCount ?? 0, filesWritten: trace?.filesWritten?.length ?? 0, commandsRun: trace?.commandsRun?.length ?? 0, errors: trace?.errors?.length ?? 0, }, gitChangesDetected: Boolean(briefing?.gitChanges), lastError: trace?.errors?.at(-1) ?? null, } : { available: true, detected: false, label: "Session forensics available", detail: "A current-project session was inspected, but it did not show unfinished tool or error activity.", unit: { type: briefing?.unitType ?? unitType, id: briefing?.unitId ?? unitId }, counts: { toolCalls: trace?.toolCallCount ?? 0, filesWritten: trace?.filesWritten?.length ?? 0, commandsRun: trace?.commandsRun?.length ?? 0, errors: trace?.errors?.length ?? 0, }, gitChangesDetected: Boolean(briefing?.gitChanges), lastError: trace?.errors?.at(-1) ?? null, } : { available: false, detected: false, label: "No interrupted-run evidence", detail: "No current-project session or activity log is available for interrupted-run forensics yet.", unit: null, counts: { toolCalls: 0, filesWritten: 0, commandsRun: 0, errors: 0 }, gitChangesDetected: false, lastError: null, }; process.stdout.write(JSON.stringify({ doctor: { scope: scope ?? null, total: summary.total, errors: summary.errors, warnings: summary.warnings, infos: summary.infos, fixable: summary.fixable, codes: summary.byCode, topIssues: report.issues.slice(0, 6).map((issue) => ({ code: issue.code, severity: issue.severity, scope: issue.scope, message: issue.message, file: issue.file, unitId: issue.unitId, })), }, interruptedRun, }));'],{cwd:a,env:{...g,GSD_RECOVERY_BASE:b,GSD_RECOVERY_SCOPE:c??"",GSD_RECOVERY_UNIT_TYPE:d?.type??"execute-project",GSD_RECOVERY_UNIT_ID:d?.id??"project",GSD_RECOVERY_SESSION_FILE:e??"",GSD_RECOVERY_ACTIVITY_DIR:(0,x.join)(b,".gsd","activity"),GSD_RECOVERY_DOCTOR_MODULE:j,GSD_RECOVERY_FORENSICS_MODULE:k},maxBuffer:1048576},(a,b,c)=>{if(a)return void l(Error(`recovery diagnostics subprocess failed: ${c||a.message}`));try{h(JSON.parse(b))}catch(a){l(Error(`recovery diagnostics subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}async function E(a={},b){var c,d,e,f;let g,h,i,j,k;a.env??process.env;let l=(0,z.eG)(a.env,b),[{bridge:m,workspace:n,resumableSessions:o},p]=await Promise.all([(0,z.yd)(["workspace","resumable_sessions"],b),(0,z.tL)(b)]),q=o??[],r=B(n),s=(g=B(n))?n?.active.taskId?{type:"execute-task",id:g}:n?.active.sliceId?{type:"execute-slice",id:g}:{type:"execute-milestone",id:g}:null,t=function(a,b){if(!a)return b[0]?.path??null;let c=(0,x.resolve)(a),d=b.find(a=>(0,x.resolve)(a.path)===c);return d?d.path:b[0]?.path??a}(m.activeSessionFile,q),u=function(a,b,c){if(!b)return a??null;let d=(0,x.resolve)(b);return c.find(a=>(0,x.resolve)(a.path)===d)?.id??a??null}(m.activeSessionId,t,q),v=await D(l.packageRoot,l.projectCwd,r,s,t,a),w=(n?.validationIssues??[]).map(a=>({code:a.ruleId??"unknown_validation_issue",severity:a.severity??"warning",scope:a.scope??"workspace",message:A(a.message??"Validation issue"),file:a.file,suggestion:a.suggestion?A(a.suggestion):void 0})),y=w.reduce((a,b)=>({errors:a.errors+Number("error"===b.severity),warnings:a.warnings+Number("warning"===b.severity),infos:a.infos+Number("info"===b.severity)}),{errors:0,warnings:0,infos:0}),F=function(a){let b=new Map,c={info:0,warning:1,error:2};for(let d of a){let a=b.get(d.code);if(!a){b.set(d.code,{count:1,severity:d.severity});continue}b.set(d.code,{count:a.count+1,severity:c[d.severity]>c[a.severity]?d.severity:a.severity})}return[...b.entries()].map(([a,b])=>({code:a,count:b.count,label:a.replace(/[_-]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()),severity:b.severity})).sort((a,b)=>b.count-a.count||a.code.localeCompare(b.code))}(w),G=v.doctor.topIssues.map(C),H={...v.interruptedRun,label:A(v.interruptedRun.label),detail:A(v.interruptedRun.detail),lastError:v.interruptedRun.lastError?A(v.interruptedRun.lastError):null},I=m.lastError?{message:A(m.lastError.message),phase:m.lastError.phase,at:m.lastError.at,commandType:m.lastError.commandType??null,afterSessionAttachment:m.lastError.afterSessionAttachment}:null,J=p.bridgeAuthRefresh.phase,K=p.bridgeAuthRefresh.error?A(p.bridgeAuthRefresh.error):null,L=I||"failed"===J||w.length>0||v.doctor.total>0||H.available||q.length>0||m.sessionState?.retryInProgress||m.sessionState?.isCompacting?"ready":"unavailable",M=s?.id??r,N=(c={status:L,validationCount:w.length,validationErrors:y.errors,doctorTotal:v.doctor.total,doctorErrors:v.doctor.errors,retryAttempt:m.sessionState?.retryAttempt??0,retryInProgress:!!m.sessionState?.retryInProgress,compactionActive:!!m.sessionState?.isCompacting,currentUnitId:M??null,lastFailurePhase:"failed"===J?"bridge_auth_refresh":I?.phase??null,bridgeFailureMessage:I?.message??null,authFailureMessage:"failed"===J?K:null,interruptedRunDetected:H.detected,interruptedRunDetail:H.detail}).authFailureMessage?{tone:"danger",label:"Bridge auth refresh failed",detail:c.authFailureMessage}:c.bridgeFailureMessage?{tone:"danger",label:c.lastFailurePhase?`Bridge recovery failed during ${c.lastFailurePhase}`:"Bridge recovery failed",detail:c.bridgeFailureMessage}:c.doctorErrors>0||c.validationErrors>0?{tone:"danger",label:`Recovery blockers detected (${c.doctorErrors+c.validationErrors})`,detail:`Doctor and validation surfaced blocking issues for ${c.currentUnitId??"the current project"}.`}:c.retryInProgress?{tone:"warning",label:`Retry attempt ${Math.max(1,c.retryAttempt)} is active`,detail:"The bridge is retrying work right now; inspect retry controls before issuing more recovery actions."}:c.compactionActive?{tone:"warning",label:"Compaction is active",detail:"The live session is compacting context before work continues."}:c.validationCount>0||c.doctorTotal>0?{tone:"warning",label:`Recovery diagnostics found ${c.validationCount+c.doctorTotal} actionable issue${c.validationCount+c.doctorTotal===1?"":"s"}`,detail:`Review the doctor and validation sections below before resuming work on ${c.currentUnitId??"the current project"}.`}:c.interruptedRunDetected?{tone:"warning",label:"Interrupted-run evidence is available",detail:c.interruptedRunDetail}:"unavailable"===c.status?{tone:"healthy",label:"Recovery diagnostics unavailable",detail:"No current-project recovery evidence has been captured yet. Start or resume a session to populate diagnostics."}:{tone:"healthy",label:"Recovery diagnostics healthy",detail:"No bridge, validation, doctor, or interrupted-run recovery issues are currently active."};return{status:L,loadedAt:new Date().toISOString(),project:{cwd:l.projectCwd,activeScope:r,activeSessionPath:t,activeSessionId:u},summary:{tone:N.tone,label:N.label,detail:N.detail,validationCount:w.length,doctorIssueCount:v.doctor.total,lastFailurePhase:"failed"===J?"bridge_auth_refresh":I?.phase??null,currentUnitId:M??null,retryAttempt:m.sessionState?.retryAttempt??0,retryInProgress:!!m.sessionState?.retryInProgress,compactionActive:!!m.sessionState?.isCompacting},bridge:{phase:m.phase,retry:{enabled:!!m.sessionState?.autoRetryEnabled,inProgress:!!m.sessionState?.retryInProgress,attempt:m.sessionState?.retryAttempt??0,label:m.sessionState?.retryInProgress?`Attempt ${Math.max(1,m.sessionState?.retryAttempt??0)}`:m.sessionState?.autoRetryEnabled?"Enabled":"Disabled"},compaction:{active:!!m.sessionState?.isCompacting,label:m.sessionState?.isCompacting?"Compaction active":"Compaction idle"},lastFailure:I,authRefresh:{phase:J,error:K,label:"failed"===J?"Bridge auth refresh failed":"pending"===J?"Bridge auth refresh pending":"succeeded"===J?"Bridge auth refresh succeeded":"Bridge auth refresh idle"}},validation:{total:w.length,bySeverity:y,codes:F,topIssues:w.slice(0,6)},doctor:{scope:v.doctor.scope,total:v.doctor.total,errors:v.doctor.errors,warnings:v.doctor.warnings,infos:v.doctor.infos,fixable:v.doctor.fixable,codes:v.doctor.codes,topIssues:G},interruptedRun:H,actions:{browser:(d={hasSessions:q.length>0,retryActive:!!m.sessionState?.retryInProgress,autoRetryEnabled:!!m.sessionState?.autoRetryEnabled,bridgeFailure:!!I,compactionActive:!!m.sessionState?.isCompacting,authAttentionNeeded:p.locked||"failed"===J||p.lastValidation?.status==="failed"},h=new Map,(i=a=>{h.set(a.id,a)})({id:"refresh_diagnostics",label:"Refresh diagnostics",detail:"Reload the on-demand recovery route without refreshing the entire workspace.",emphasis:"primary"}),i({id:"refresh_workspace",label:"Refresh workspace",detail:"Run one soft workspace refresh so the browser re-syncs boot, bridge, and onboarding state."}),(d.retryActive||d.autoRetryEnabled||d.bridgeFailure||d.compactionActive)&&i({id:"open_retry_controls",label:"Open retry controls",detail:"Inspect or change live retry and compaction controls on the authoritative browser surface."}),d.hasSessions&&i({id:"open_resume_controls",label:"Open resume controls",detail:"Switch to another current-project session if recovery should continue elsewhere."}),d.authAttentionNeeded&&i({id:"open_auth_controls",label:"Open auth controls",detail:"Inspect provider setup and bridge auth refresh failures from the shared browser surface.",emphasis:"danger"}),[...h.values()]),commands:(e=n?.active.phase,f=w.length,j=new Map,k=(a,b)=>{j.has(a)||j.set(a,{command:a,label:b})},"planning"===e&&k("/gsd","Open GSD planning"),("executing"===e||"summarizing"===e)&&k("/gsd auto","Resume GSD auto mode"),r&&k(`/gsd doctor ${r}`,"Inspect scoped doctor report"),r&&k(`/gsd doctor fix ${r}`,"Apply scoped doctor fixes"),f>0&&r&&k(`/gsd doctor audit ${r}`,"Audit validation diagnostics"),k("/gsd status","Check current-project status"),[...j.values()])}}}let F="nodejs",G="force-dynamic";async function H(a){try{let b=(0,z.jL)(a),c=await E(void 0,b);return Response.json(c,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let I=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/recovery/route",pathname:"/api/recovery",filename:"route",bundlePath:"app/api/recovery/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/recovery/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:J,workUnitAsyncStorage:K,serverHooks:L}=I;function M(){return(0,g.patchFetch)({workAsyncStorage:J,workUnitAsyncStorage:K})}async function N(a,b,c){I.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/recovery/route";"/index"===d&&(d="/");let e=await I.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,G=(0,k.normalizeAppPath)(d),H=!!(z.dynamicRoutes[G]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(H&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[G];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!H||I.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===I.isDev||!H,M=H&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>I.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>I.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!H)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await I.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await I.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!H)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&H||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await I.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),H)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=53551));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=851,a.ids=[851],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},53551:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>O,patchFetch:()=>N,routeModule:()=>J,serverHooks:()=>M,workAsyncStorage:()=>K,workUnitAsyncStorage:()=>L});var d={};c.r(d),c.d(d,{GET:()=>I,dynamic:()=>H,runtime:()=>G});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900),A=c(34431);function B(a){return(a instanceof Error?a.message:String(a??"")).replace(/sk-[A-Za-z0-9_-]{6,}/g,"[redacted]").replace(/xox[baprs]-[A-Za-z0-9-]+/g,"[redacted]").replace(/Bearer\s+[^\s]+/gi,"Bearer [redacted]").replace(/([A-Z0-9_]*(?:API[_-]?KEY|TOKEN|SECRET)["'=:\s]+)([^\s,;"']+)/gi,"$1[redacted]").replace(/\s+/g," ").trim()}function C(a){return a?.active.milestoneId?a.active.taskId&&a.active.sliceId?`${a.active.milestoneId}/${a.active.sliceId}/${a.active.taskId}`:a.active.sliceId?`${a.active.milestoneId}/${a.active.sliceId}`:a.active.milestoneId:null}function D(a){return{code:a.code,severity:a.severity,scope:a.scope,message:B(a.message),file:a.file,suggestion:a.suggestion?B(a.suggestion):void 0,unitId:a.unitId}}async function E(a,b,c,d,e,f){let g=f.env??process.env,h=f.existsSync??w.existsSync,i=(0,x.join)(a,"src","resources","extensions","gsd","tests","resolve-ts.mjs"),j=(0,x.join)(a,"src","resources","extensions","gsd","doctor.ts"),k=(0,x.join)(a,"src","resources","extensions","gsd","session-forensics.ts");if(!h(i)||!h(j)||!h(k))throw Error(`recovery diagnostics providers not found; checked=${i},${j},${k}`);return await new Promise((h,l)=>{(0,v.execFile)(f.execPath??process.execPath,["--import",(0,y.pathToFileURL)(i).href,(0,A.h)(a),"--input-type=module","--eval",'const { pathToFileURL } = await import("node:url"); const doctor = await import(pathToFileURL(process.env.GSD_RECOVERY_DOCTOR_MODULE).href); const forensics = await import(pathToFileURL(process.env.GSD_RECOVERY_FORENSICS_MODULE).href); const basePath = process.env.GSD_RECOVERY_BASE; const scope = process.env.GSD_RECOVERY_SCOPE || undefined; const unitType = process.env.GSD_RECOVERY_UNIT_TYPE || "execute-project"; const unitId = process.env.GSD_RECOVERY_UNIT_ID || "project"; const sessionFile = process.env.GSD_RECOVERY_SESSION_FILE || undefined; const activityDir = process.env.GSD_RECOVERY_ACTIVITY_DIR || undefined; const report = await doctor.runGSDDoctor(basePath, { fix: false, scope, fixLevel: "task" }); const summary = doctor.summarizeDoctorIssues(report.issues); const briefing = forensics.synthesizeCrashRecovery(basePath, unitType, unitId, sessionFile, activityDir); const trace = briefing?.trace; const available = Boolean(sessionFile || trace?.toolCallCount || briefing?.gitChanges); const detected = Boolean((trace?.toolCallCount ?? 0) > 0 || (trace?.errors?.length ?? 0) > 0 || (trace?.commandsRun?.length ?? 0) > 0 || (trace?.filesWritten?.length ?? 0) > 0 || briefing?.gitChanges); const interruptedRun = available ? detected ? { available: true, detected: true, label: "Interrupted-run recovery available", detail: "Recent session forensics captured unfinished work or errors that may need resume or retry follow-up.", unit: { type: briefing?.unitType ?? unitType, id: briefing?.unitId ?? unitId }, counts: { toolCalls: trace?.toolCallCount ?? 0, filesWritten: trace?.filesWritten?.length ?? 0, commandsRun: trace?.commandsRun?.length ?? 0, errors: trace?.errors?.length ?? 0, }, gitChangesDetected: Boolean(briefing?.gitChanges), lastError: trace?.errors?.at(-1) ?? null, } : { available: true, detected: false, label: "Session forensics available", detail: "A current-project session was inspected, but it did not show unfinished tool or error activity.", unit: { type: briefing?.unitType ?? unitType, id: briefing?.unitId ?? unitId }, counts: { toolCalls: trace?.toolCallCount ?? 0, filesWritten: trace?.filesWritten?.length ?? 0, commandsRun: trace?.commandsRun?.length ?? 0, errors: trace?.errors?.length ?? 0, }, gitChangesDetected: Boolean(briefing?.gitChanges), lastError: trace?.errors?.at(-1) ?? null, } : { available: false, detected: false, label: "No interrupted-run evidence", detail: "No current-project session or activity log is available for interrupted-run forensics yet.", unit: null, counts: { toolCalls: 0, filesWritten: 0, commandsRun: 0, errors: 0 }, gitChangesDetected: false, lastError: null, }; process.stdout.write(JSON.stringify({ doctor: { scope: scope ?? null, total: summary.total, errors: summary.errors, warnings: summary.warnings, infos: summary.infos, fixable: summary.fixable, codes: summary.byCode, topIssues: report.issues.slice(0, 6).map((issue) => ({ code: issue.code, severity: issue.severity, scope: issue.scope, message: issue.message, file: issue.file, unitId: issue.unitId, })), }, interruptedRun, }));'],{cwd:a,env:{...g,GSD_RECOVERY_BASE:b,GSD_RECOVERY_SCOPE:c??"",GSD_RECOVERY_UNIT_TYPE:d?.type??"execute-project",GSD_RECOVERY_UNIT_ID:d?.id??"project",GSD_RECOVERY_SESSION_FILE:e??"",GSD_RECOVERY_ACTIVITY_DIR:(0,x.join)(b,".gsd","activity"),GSD_RECOVERY_DOCTOR_MODULE:j,GSD_RECOVERY_FORENSICS_MODULE:k},maxBuffer:1048576},(a,b,c)=>{if(a)return void l(Error(`recovery diagnostics subprocess failed: ${c||a.message}`));try{h(JSON.parse(b))}catch(a){l(Error(`recovery diagnostics subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}async function F(a={},b){var c,d,e,f;let g,h,i,j,k;a.env??process.env;let l=(0,z.eG)(a.env,b),[{bridge:m,workspace:n,resumableSessions:o},p]=await Promise.all([(0,z.yd)(["workspace","resumable_sessions"],b),(0,z.tL)(b)]),q=o??[],r=C(n),s=(g=C(n))?n?.active.taskId?{type:"execute-task",id:g}:n?.active.sliceId?{type:"execute-slice",id:g}:{type:"execute-milestone",id:g}:null,t=function(a,b){if(!a)return b[0]?.path??null;let c=(0,x.resolve)(a),d=b.find(a=>(0,x.resolve)(a.path)===c);return d?d.path:b[0]?.path??a}(m.activeSessionFile,q),u=function(a,b,c){if(!b)return a??null;let d=(0,x.resolve)(b);return c.find(a=>(0,x.resolve)(a.path)===d)?.id??a??null}(m.activeSessionId,t,q),v=await E(l.packageRoot,l.projectCwd,r,s,t,a),w=(n?.validationIssues??[]).map(a=>({code:a.ruleId??"unknown_validation_issue",severity:a.severity??"warning",scope:a.scope??"workspace",message:B(a.message??"Validation issue"),file:a.file,suggestion:a.suggestion?B(a.suggestion):void 0})),y=w.reduce((a,b)=>({errors:a.errors+Number("error"===b.severity),warnings:a.warnings+Number("warning"===b.severity),infos:a.infos+Number("info"===b.severity)}),{errors:0,warnings:0,infos:0}),A=function(a){let b=new Map,c={info:0,warning:1,error:2};for(let d of a){let a=b.get(d.code);if(!a){b.set(d.code,{count:1,severity:d.severity});continue}b.set(d.code,{count:a.count+1,severity:c[d.severity]>c[a.severity]?d.severity:a.severity})}return[...b.entries()].map(([a,b])=>({code:a,count:b.count,label:a.replace(/[_-]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()),severity:b.severity})).sort((a,b)=>b.count-a.count||a.code.localeCompare(b.code))}(w),G=v.doctor.topIssues.map(D),H={...v.interruptedRun,label:B(v.interruptedRun.label),detail:B(v.interruptedRun.detail),lastError:v.interruptedRun.lastError?B(v.interruptedRun.lastError):null},I=m.lastError?{message:B(m.lastError.message),phase:m.lastError.phase,at:m.lastError.at,commandType:m.lastError.commandType??null,afterSessionAttachment:m.lastError.afterSessionAttachment}:null,J=p.bridgeAuthRefresh.phase,K=p.bridgeAuthRefresh.error?B(p.bridgeAuthRefresh.error):null,L=I||"failed"===J||w.length>0||v.doctor.total>0||H.available||q.length>0||m.sessionState?.retryInProgress||m.sessionState?.isCompacting?"ready":"unavailable",M=s?.id??r,N=(c={status:L,validationCount:w.length,validationErrors:y.errors,doctorTotal:v.doctor.total,doctorErrors:v.doctor.errors,retryAttempt:m.sessionState?.retryAttempt??0,retryInProgress:!!m.sessionState?.retryInProgress,compactionActive:!!m.sessionState?.isCompacting,currentUnitId:M??null,lastFailurePhase:"failed"===J?"bridge_auth_refresh":I?.phase??null,bridgeFailureMessage:I?.message??null,authFailureMessage:"failed"===J?K:null,interruptedRunDetected:H.detected,interruptedRunDetail:H.detail}).authFailureMessage?{tone:"danger",label:"Bridge auth refresh failed",detail:c.authFailureMessage}:c.bridgeFailureMessage?{tone:"danger",label:c.lastFailurePhase?`Bridge recovery failed during ${c.lastFailurePhase}`:"Bridge recovery failed",detail:c.bridgeFailureMessage}:c.doctorErrors>0||c.validationErrors>0?{tone:"danger",label:`Recovery blockers detected (${c.doctorErrors+c.validationErrors})`,detail:`Doctor and validation surfaced blocking issues for ${c.currentUnitId??"the current project"}.`}:c.retryInProgress?{tone:"warning",label:`Retry attempt ${Math.max(1,c.retryAttempt)} is active`,detail:"The bridge is retrying work right now; inspect retry controls before issuing more recovery actions."}:c.compactionActive?{tone:"warning",label:"Compaction is active",detail:"The live session is compacting context before work continues."}:c.validationCount>0||c.doctorTotal>0?{tone:"warning",label:`Recovery diagnostics found ${c.validationCount+c.doctorTotal} actionable issue${c.validationCount+c.doctorTotal===1?"":"s"}`,detail:`Review the doctor and validation sections below before resuming work on ${c.currentUnitId??"the current project"}.`}:c.interruptedRunDetected?{tone:"warning",label:"Interrupted-run evidence is available",detail:c.interruptedRunDetail}:"unavailable"===c.status?{tone:"healthy",label:"Recovery diagnostics unavailable",detail:"No current-project recovery evidence has been captured yet. Start or resume a session to populate diagnostics."}:{tone:"healthy",label:"Recovery diagnostics healthy",detail:"No bridge, validation, doctor, or interrupted-run recovery issues are currently active."};return{status:L,loadedAt:new Date().toISOString(),project:{cwd:l.projectCwd,activeScope:r,activeSessionPath:t,activeSessionId:u},summary:{tone:N.tone,label:N.label,detail:N.detail,validationCount:w.length,doctorIssueCount:v.doctor.total,lastFailurePhase:"failed"===J?"bridge_auth_refresh":I?.phase??null,currentUnitId:M??null,retryAttempt:m.sessionState?.retryAttempt??0,retryInProgress:!!m.sessionState?.retryInProgress,compactionActive:!!m.sessionState?.isCompacting},bridge:{phase:m.phase,retry:{enabled:!!m.sessionState?.autoRetryEnabled,inProgress:!!m.sessionState?.retryInProgress,attempt:m.sessionState?.retryAttempt??0,label:m.sessionState?.retryInProgress?`Attempt ${Math.max(1,m.sessionState?.retryAttempt??0)}`:m.sessionState?.autoRetryEnabled?"Enabled":"Disabled"},compaction:{active:!!m.sessionState?.isCompacting,label:m.sessionState?.isCompacting?"Compaction active":"Compaction idle"},lastFailure:I,authRefresh:{phase:J,error:K,label:"failed"===J?"Bridge auth refresh failed":"pending"===J?"Bridge auth refresh pending":"succeeded"===J?"Bridge auth refresh succeeded":"Bridge auth refresh idle"}},validation:{total:w.length,bySeverity:y,codes:A,topIssues:w.slice(0,6)},doctor:{scope:v.doctor.scope,total:v.doctor.total,errors:v.doctor.errors,warnings:v.doctor.warnings,infos:v.doctor.infos,fixable:v.doctor.fixable,codes:v.doctor.codes,topIssues:G},interruptedRun:H,actions:{browser:(d={hasSessions:q.length>0,retryActive:!!m.sessionState?.retryInProgress,autoRetryEnabled:!!m.sessionState?.autoRetryEnabled,bridgeFailure:!!I,compactionActive:!!m.sessionState?.isCompacting,authAttentionNeeded:p.locked||"failed"===J||p.lastValidation?.status==="failed"},h=new Map,(i=a=>{h.set(a.id,a)})({id:"refresh_diagnostics",label:"Refresh diagnostics",detail:"Reload the on-demand recovery route without refreshing the entire workspace.",emphasis:"primary"}),i({id:"refresh_workspace",label:"Refresh workspace",detail:"Run one soft workspace refresh so the browser re-syncs boot, bridge, and onboarding state."}),(d.retryActive||d.autoRetryEnabled||d.bridgeFailure||d.compactionActive)&&i({id:"open_retry_controls",label:"Open retry controls",detail:"Inspect or change live retry and compaction controls on the authoritative browser surface."}),d.hasSessions&&i({id:"open_resume_controls",label:"Open resume controls",detail:"Switch to another current-project session if recovery should continue elsewhere."}),d.authAttentionNeeded&&i({id:"open_auth_controls",label:"Open auth controls",detail:"Inspect provider setup and bridge auth refresh failures from the shared browser surface.",emphasis:"danger"}),[...h.values()]),commands:(e=n?.active.phase,f=w.length,j=new Map,k=(a,b)=>{j.has(a)||j.set(a,{command:a,label:b})},"planning"===e&&k("/gsd","Open GSD planning"),("executing"===e||"summarizing"===e)&&k("/gsd auto","Resume GSD auto mode"),r&&k(`/gsd doctor ${r}`,"Inspect scoped doctor report"),r&&k(`/gsd doctor fix ${r}`,"Apply scoped doctor fixes"),f>0&&r&&k(`/gsd doctor audit ${r}`,"Audit validation diagnostics"),k("/gsd status","Check current-project status"),[...j.values()])}}}let G="nodejs",H="force-dynamic";async function I(a){try{let b=(0,z.jL)(a),c=await F(void 0,b);return Response.json(c,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let J=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/recovery/route",pathname:"/api/recovery",filename:"route",bundlePath:"app/api/recovery/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/recovery/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:K,workUnitAsyncStorage:L,serverHooks:M}=J;function N(){return(0,g.patchFetch)({workAsyncStorage:K,workUnitAsyncStorage:L})}async function O(a,b,c){J.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/recovery/route";"/index"===d&&(d="/");let e=await J.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,G=(0,k.normalizeAppPath)(d),H=!!(z.dynamicRoutes[G]||z.routes[D]),I=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(H&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[G];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await I();throw new t.NoFallbackError}}let K=null;!H||J.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===J.isDev||!H,M=H&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>J.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>J.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!H)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await J.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await J.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!H)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&H||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await J.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),H)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=53551));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=966,a.ids=[966],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},20810:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>K,patchFetch:()=>J,routeModule:()=>F,serverHooks:()=>I,workAsyncStorage:()=>G,workUnitAsyncStorage:()=>H});var d={};c.r(d),c.d(d,{GET:()=>E,dynamic:()=>D,runtime:()=>C});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900);function A(a,b){return(0,x.join)(a,"src","resources","extensions","gsd",b)}async function B(a){let{packageRoot:b,projectCwd:c}=(0,z.eG)(void 0,a),d=(0,x.join)(b,"src","resources","extensions","gsd","tests","resolve-ts.mjs"),e=A(b,"preferences.ts"),f=A(b,"model-router.ts"),g=A(b,"context-budget.ts"),h=A(b,"routing-history.ts"),i=A(b,"metrics.ts");for(let a of[d,e,f,g,h,i])if(!(0,w.existsSync)(a))throw Error(`settings data provider not found; missing=${a}`);return await new Promise((a,j)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(d).href,"--experimental-strip-types","--input-type=module","--eval",'const { pathToFileURL } = await import("node:url"); const prefsMod = await import(pathToFileURL(process.env.GSD_SETTINGS_PREFS_MODULE).href); const routerMod = await import(pathToFileURL(process.env.GSD_SETTINGS_ROUTER_MODULE).href); const budgetMod = await import(pathToFileURL(process.env.GSD_SETTINGS_BUDGET_MODULE).href); const historyMod = await import(pathToFileURL(process.env.GSD_SETTINGS_HISTORY_MODULE).href); const metricsMod = await import(pathToFileURL(process.env.GSD_SETTINGS_METRICS_MODULE).href); const loaded = prefsMod.loadEffectiveGSDPreferences(); let preferences = null; if (loaded) { const p = loaded.preferences; preferences = { mode: p.mode, budgetCeiling: p.budget_ceiling, budgetEnforcement: p.budget_enforcement, tokenProfile: p.token_profile, dynamicRouting: p.dynamic_routing, customInstructions: p.custom_instructions, alwaysUseSkills: p.always_use_skills, preferSkills: p.prefer_skills, avoidSkills: p.avoid_skills, autoSupervisor: p.auto_supervisor ? { enabled: true, softTimeoutMinutes: p.auto_supervisor.soft_timeout_minutes, } : undefined, uatDispatch: p.uat_dispatch, autoVisualize: p.auto_visualize, remoteQuestions: p.remote_questions ? { channel: p.remote_questions.channel, channelId: String(p.remote_questions.channel_id), timeoutMinutes: p.remote_questions.timeout_minutes, pollIntervalSeconds: p.remote_questions.poll_interval_seconds, } : undefined, scope: loaded.scope, path: loaded.path, warnings: loaded.warnings, }; } const routingConfig = prefsMod.resolveDynamicRoutingConfig(); const budgetAllocation = budgetMod.computeBudgets(200000); historyMod.initRoutingHistory(process.env.GSD_SETTINGS_BASE); const routingHistory = historyMod.getRoutingHistory(); const ledger = metricsMod.loadLedgerFromDisk(process.env.GSD_SETTINGS_BASE); const projectTotals = ledger ? metricsMod.getProjectTotals(ledger.units) : null; process.stdout.write(JSON.stringify({ preferences, routingConfig, budgetAllocation, routingHistory, projectTotals }));'],{cwd:b,env:{...process.env,GSD_SETTINGS_PREFS_MODULE:e,GSD_SETTINGS_ROUTER_MODULE:f,GSD_SETTINGS_BUDGET_MODULE:g,GSD_SETTINGS_HISTORY_MODULE:h,GSD_SETTINGS_METRICS_MODULE:i,GSD_SETTINGS_BASE:c},maxBuffer:2097152},(b,c,d)=>{if(b)return void j(Error(`settings data subprocess failed: ${d||b.message}`));try{a(JSON.parse(c))}catch(a){j(Error(`settings data subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}let C="nodejs",D="force-dynamic";async function E(a){try{let b=(0,z.jL)(a),c=await B(b);return Response.json(c,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let F=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/settings-data/route",pathname:"/api/settings-data",filename:"route",bundlePath:"app/api/settings-data/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/settings-data/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:G,workUnitAsyncStorage:H,serverHooks:I}=F;function J(){return(0,g.patchFetch)({workAsyncStorage:G,workUnitAsyncStorage:H})}async function K(a,b,c){F.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/settings-data/route";"/index"===d&&(d="/");let e=await F.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||F.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===F.isDev||!I,M=I&&!L;G&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>F.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>F.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await F.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await F.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await F.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=20810));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=966,a.ids=[966],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},20810:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>L,patchFetch:()=>K,routeModule:()=>G,serverHooks:()=>J,workAsyncStorage:()=>H,workUnitAsyncStorage:()=>I});var d={};c.r(d),c.d(d,{GET:()=>F,dynamic:()=>E,runtime:()=>D});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900),A=c(34431);function B(a,b){return(0,x.join)(a,"src","resources","extensions","gsd",b)}async function C(a){let{packageRoot:b,projectCwd:c}=(0,z.eG)(void 0,a),d=(0,x.join)(b,"src","resources","extensions","gsd","tests","resolve-ts.mjs"),e=B(b,"preferences.ts"),f=B(b,"model-router.ts"),g=B(b,"context-budget.ts"),h=B(b,"routing-history.ts"),i=B(b,"metrics.ts");for(let a of[d,e,f,g,h,i])if(!(0,w.existsSync)(a))throw Error(`settings data provider not found; missing=${a}`);return await new Promise((a,j)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(d).href,(0,A.h)(b),"--input-type=module","--eval",'const { pathToFileURL } = await import("node:url"); const prefsMod = await import(pathToFileURL(process.env.GSD_SETTINGS_PREFS_MODULE).href); const routerMod = await import(pathToFileURL(process.env.GSD_SETTINGS_ROUTER_MODULE).href); const budgetMod = await import(pathToFileURL(process.env.GSD_SETTINGS_BUDGET_MODULE).href); const historyMod = await import(pathToFileURL(process.env.GSD_SETTINGS_HISTORY_MODULE).href); const metricsMod = await import(pathToFileURL(process.env.GSD_SETTINGS_METRICS_MODULE).href); const loaded = prefsMod.loadEffectiveGSDPreferences(); let preferences = null; if (loaded) { const p = loaded.preferences; preferences = { mode: p.mode, budgetCeiling: p.budget_ceiling, budgetEnforcement: p.budget_enforcement, tokenProfile: p.token_profile, dynamicRouting: p.dynamic_routing, customInstructions: p.custom_instructions, alwaysUseSkills: p.always_use_skills, preferSkills: p.prefer_skills, avoidSkills: p.avoid_skills, autoSupervisor: p.auto_supervisor ? { enabled: true, softTimeoutMinutes: p.auto_supervisor.soft_timeout_minutes, } : undefined, uatDispatch: p.uat_dispatch, autoVisualize: p.auto_visualize, remoteQuestions: p.remote_questions ? { channel: p.remote_questions.channel, channelId: String(p.remote_questions.channel_id), timeoutMinutes: p.remote_questions.timeout_minutes, pollIntervalSeconds: p.remote_questions.poll_interval_seconds, } : undefined, scope: loaded.scope, path: loaded.path, warnings: loaded.warnings, }; } const routingConfig = prefsMod.resolveDynamicRoutingConfig(); const budgetAllocation = budgetMod.computeBudgets(200000); historyMod.initRoutingHistory(process.env.GSD_SETTINGS_BASE); const routingHistory = historyMod.getRoutingHistory(); const ledger = metricsMod.loadLedgerFromDisk(process.env.GSD_SETTINGS_BASE); const projectTotals = ledger ? metricsMod.getProjectTotals(ledger.units) : null; process.stdout.write(JSON.stringify({ preferences, routingConfig, budgetAllocation, routingHistory, projectTotals }));'],{cwd:b,env:{...process.env,GSD_SETTINGS_PREFS_MODULE:e,GSD_SETTINGS_ROUTER_MODULE:f,GSD_SETTINGS_BUDGET_MODULE:g,GSD_SETTINGS_HISTORY_MODULE:h,GSD_SETTINGS_METRICS_MODULE:i,GSD_SETTINGS_BASE:c},maxBuffer:2097152},(b,c,d)=>{if(b)return void j(Error(`settings data subprocess failed: ${d||b.message}`));try{a(JSON.parse(c))}catch(a){j(Error(`settings data subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}let D="nodejs",E="force-dynamic";async function F(a){try{let b=(0,z.jL)(a),c=await C(b);return Response.json(c,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let G=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/settings-data/route",pathname:"/api/settings-data",filename:"route",bundlePath:"app/api/settings-data/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/settings-data/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:H,workUnitAsyncStorage:I,serverHooks:J}=G;function K(){return(0,g.patchFetch)({workAsyncStorage:H,workUnitAsyncStorage:I})}async function L(a,b,c){G.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/settings-data/route";"/index"===d&&(d="/");let e=await G.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||G.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===G.isDev||!I,M=I&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>G.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>G.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await G.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await G.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await G.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=20810));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=407,a.ids=[407],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64764:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>K,patchFetch:()=>J,routeModule:()=>F,serverHooks:()=>I,workAsyncStorage:()=>G,workUnitAsyncStorage:()=>H});var d={};c.r(d),c.d(d,{GET:()=>E,dynamic:()=>D,runtime:()=>C});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900);let A="GSD_SKILL_HEALTH_MODULE";async function B(a){let{packageRoot:b,projectCwd:c}=(0,z.eG)(void 0,a),d=(0,x.join)(b,"src","resources","extensions","gsd","tests","resolve-ts.mjs"),e=(0,x.join)(b,"src","resources","extensions","gsd","skill-health.ts");if(!(0,w.existsSync)(d)||!(0,w.existsSync)(e))throw Error(`skill-health data provider not found; checked=${d},${e}`);let f=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${A}).href); const basePath = process.env.GSD_SKILL_HEALTH_BASE; const report = mod.generateSkillHealthReport(basePath); process.stdout.write(JSON.stringify(report));`;return await new Promise((a,g)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(d).href,"--experimental-strip-types","--input-type=module","--eval",f],{cwd:b,env:{...process.env,[A]:e,GSD_SKILL_HEALTH_BASE:c},maxBuffer:2097152},(b,c,d)=>{if(b)return void g(Error(`skill-health subprocess failed: ${d||b.message}`));try{a(JSON.parse(c))}catch(a){g(Error(`skill-health subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}let C="nodejs",D="force-dynamic";async function E(a){try{let b=(0,z.jL)(a),c=await B(b);return Response.json(c,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let F=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/skill-health/route",pathname:"/api/skill-health",filename:"route",bundlePath:"app/api/skill-health/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/skill-health/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:G,workUnitAsyncStorage:H,serverHooks:I}=F;function J(){return(0,g.patchFetch)({workAsyncStorage:G,workUnitAsyncStorage:H})}async function K(a,b,c){F.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/skill-health/route";"/index"===d&&(d="/");let e=await F.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||F.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===F.isDev||!I,M=I&&!L;G&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>F.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>F.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await F.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await F.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await F.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=64764));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=407,a.ids=[407],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64764:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>L,patchFetch:()=>K,routeModule:()=>G,serverHooks:()=>J,workAsyncStorage:()=>H,workUnitAsyncStorage:()=>I});var d={};c.r(d),c.d(d,{GET:()=>F,dynamic:()=>E,runtime:()=>D});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(31421),w=c(73024),x=c(76760),y=c(73136),z=c(74900),A=c(34431);let B="GSD_SKILL_HEALTH_MODULE";async function C(a){let{packageRoot:b,projectCwd:c}=(0,z.eG)(void 0,a),d=(0,x.join)(b,"src","resources","extensions","gsd","tests","resolve-ts.mjs"),e=(0,x.join)(b,"src","resources","extensions","gsd","skill-health.ts");if(!(0,w.existsSync)(d)||!(0,w.existsSync)(e))throw Error(`skill-health data provider not found; checked=${d},${e}`);let f=`const { pathToFileURL } = await import("node:url"); const mod = await import(pathToFileURL(process.env.${B}).href); const basePath = process.env.GSD_SKILL_HEALTH_BASE; const report = mod.generateSkillHealthReport(basePath); process.stdout.write(JSON.stringify(report));`;return await new Promise((a,g)=>{(0,v.execFile)(process.execPath,["--import",(0,y.pathToFileURL)(d).href,(0,A.h)(b),"--input-type=module","--eval",f],{cwd:b,env:{...process.env,[B]:e,GSD_SKILL_HEALTH_BASE:c},maxBuffer:2097152},(b,c,d)=>{if(b)return void g(Error(`skill-health subprocess failed: ${d||b.message}`));try{a(JSON.parse(c))}catch(a){g(Error(`skill-health subprocess returned invalid JSON: ${a instanceof Error?a.message:String(a)}`))}})})}let D="nodejs",E="force-dynamic";async function F(a){try{let b=(0,z.jL)(a),c=await C(b);return Response.json(c,{headers:{"Cache-Control":"no-store"}})}catch(b){let a=b instanceof Error?b.message:String(b);return Response.json({error:a},{status:500,headers:{"Cache-Control":"no-store"}})}}let G=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/skill-health/route",pathname:"/api/skill-health",filename:"route",bundlePath:"app/api/skill-health/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/__w/gsd-2/gsd-2/web/app/api/skill-health/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:H,workUnitAsyncStorage:I,serverHooks:J}=G;function K(){return(0,g.patchFetch)({workAsyncStorage:H,workUnitAsyncStorage:I})}async function L(a,b,c){G.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/skill-health/route";"/index"===d&&(d="/");let e=await G.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||G.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===G.isDev||!I,M=I&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>G.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>G.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await G.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await G.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await G.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,229],()=>b(b.s=64764));module.exports=c})();