gsd-pi 2.52.0 → 2.53.0-dev.07ffe51

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 (226) hide show
  1. package/README.md +55 -32
  2. package/dist/headless-query.js +1 -1
  3. package/dist/resources/extensions/get-secrets-from-user.js +7 -0
  4. package/dist/resources/extensions/gsd/auto/phases.js +28 -8
  5. package/dist/resources/extensions/gsd/auto-dispatch.js +5 -1
  6. package/dist/resources/extensions/gsd/auto-worktree.js +70 -14
  7. package/dist/resources/extensions/gsd/auto.js +22 -0
  8. package/dist/resources/extensions/gsd/bootstrap/agent-end-recovery.js +4 -10
  9. package/dist/resources/extensions/gsd/commands-prefs-wizard.js +3 -3
  10. package/dist/resources/extensions/gsd/docs/preferences-reference.md +2 -2
  11. package/dist/resources/extensions/gsd/git-service.js +4 -3
  12. package/dist/resources/extensions/gsd/guided-flow.js +4 -3
  13. package/dist/resources/extensions/gsd/markdown-renderer.js +5 -4
  14. package/dist/resources/extensions/gsd/parallel-orchestrator.js +18 -2
  15. package/dist/resources/extensions/gsd/preferences-types.js +1 -1
  16. package/dist/resources/extensions/gsd/state.js +18 -29
  17. package/dist/resources/extensions/gsd/status-guards.js +12 -0
  18. package/dist/resources/extensions/gsd/tools/complete-milestone.js +4 -3
  19. package/dist/resources/extensions/gsd/tools/complete-slice.js +4 -3
  20. package/dist/resources/extensions/gsd/tools/complete-task.js +4 -3
  21. package/dist/resources/extensions/gsd/tools/plan-milestone.js +4 -14
  22. package/dist/resources/extensions/gsd/tools/plan-slice.js +4 -14
  23. package/dist/resources/extensions/gsd/tools/plan-task.js +4 -14
  24. package/dist/resources/extensions/gsd/tools/reassess-roadmap.js +6 -7
  25. package/dist/resources/extensions/gsd/tools/reopen-slice.js +4 -3
  26. package/dist/resources/extensions/gsd/tools/reopen-task.js +5 -4
  27. package/dist/resources/extensions/gsd/tools/replan-slice.js +5 -6
  28. package/dist/resources/extensions/gsd/validation.js +21 -0
  29. package/dist/resources/extensions/shared/rtk.js +14 -4
  30. package/dist/rtk.js +3 -1
  31. package/dist/web/standalone/.next/BUILD_ID +1 -1
  32. package/dist/web/standalone/.next/app-path-routes-manifest.json +16 -16
  33. package/dist/web/standalone/.next/build-manifest.json +4 -4
  34. package/dist/web/standalone/.next/prerender-manifest.json +3 -3
  35. package/dist/web/standalone/.next/react-loadable-manifest.json +1 -1
  36. package/dist/web/standalone/.next/required-server-files.json +4 -4
  37. package/dist/web/standalone/.next/server/app/_global-error/page.js +3 -3
  38. package/dist/web/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  39. package/dist/web/standalone/.next/server/app/_global-error.html +2 -2
  40. package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
  41. package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  42. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  43. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  44. package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  45. package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  46. package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  47. package/dist/web/standalone/.next/server/app/_not-found/page.js +2 -2
  48. package/dist/web/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  49. package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
  50. package/dist/web/standalone/.next/server/app/_not-found.rsc +3 -3
  51. package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  52. package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  53. package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  54. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  55. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  56. package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  57. package/dist/web/standalone/.next/server/app/api/boot/route.js +1 -1
  58. package/dist/web/standalone/.next/server/app/api/boot/route_client-reference-manifest.js +1 -1
  59. package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route.js +1 -1
  60. package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route_client-reference-manifest.js +1 -1
  61. package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route.js +1 -1
  62. package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route_client-reference-manifest.js +1 -1
  63. package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route.js +2 -2
  64. package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route_client-reference-manifest.js +1 -1
  65. package/dist/web/standalone/.next/server/app/api/browse-directories/route.js +1 -1
  66. package/dist/web/standalone/.next/server/app/api/browse-directories/route_client-reference-manifest.js +1 -1
  67. package/dist/web/standalone/.next/server/app/api/captures/route.js +1 -1
  68. package/dist/web/standalone/.next/server/app/api/captures/route_client-reference-manifest.js +1 -1
  69. package/dist/web/standalone/.next/server/app/api/cleanup/route.js +1 -1
  70. package/dist/web/standalone/.next/server/app/api/cleanup/route_client-reference-manifest.js +1 -1
  71. package/dist/web/standalone/.next/server/app/api/dev-mode/route.js +1 -1
  72. package/dist/web/standalone/.next/server/app/api/dev-mode/route_client-reference-manifest.js +1 -1
  73. package/dist/web/standalone/.next/server/app/api/doctor/route.js +1 -1
  74. package/dist/web/standalone/.next/server/app/api/doctor/route_client-reference-manifest.js +1 -1
  75. package/dist/web/standalone/.next/server/app/api/experimental/route.js +2 -2
  76. package/dist/web/standalone/.next/server/app/api/experimental/route_client-reference-manifest.js +1 -1
  77. package/dist/web/standalone/.next/server/app/api/export-data/route.js +1 -1
  78. package/dist/web/standalone/.next/server/app/api/export-data/route_client-reference-manifest.js +1 -1
  79. package/dist/web/standalone/.next/server/app/api/files/route.js +1 -1
  80. package/dist/web/standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
  81. package/dist/web/standalone/.next/server/app/api/forensics/route.js +1 -1
  82. package/dist/web/standalone/.next/server/app/api/forensics/route_client-reference-manifest.js +1 -1
  83. package/dist/web/standalone/.next/server/app/api/git/route.js +1 -1
  84. package/dist/web/standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  85. package/dist/web/standalone/.next/server/app/api/history/route.js +1 -1
  86. package/dist/web/standalone/.next/server/app/api/history/route_client-reference-manifest.js +1 -1
  87. package/dist/web/standalone/.next/server/app/api/hooks/route.js +1 -1
  88. package/dist/web/standalone/.next/server/app/api/hooks/route_client-reference-manifest.js +1 -1
  89. package/dist/web/standalone/.next/server/app/api/inspect/route.js +1 -1
  90. package/dist/web/standalone/.next/server/app/api/inspect/route_client-reference-manifest.js +1 -1
  91. package/dist/web/standalone/.next/server/app/api/knowledge/route.js +1 -1
  92. package/dist/web/standalone/.next/server/app/api/knowledge/route_client-reference-manifest.js +1 -1
  93. package/dist/web/standalone/.next/server/app/api/live-state/route.js +1 -1
  94. package/dist/web/standalone/.next/server/app/api/live-state/route_client-reference-manifest.js +1 -1
  95. package/dist/web/standalone/.next/server/app/api/onboarding/route.js +1 -1
  96. package/dist/web/standalone/.next/server/app/api/onboarding/route_client-reference-manifest.js +1 -1
  97. package/dist/web/standalone/.next/server/app/api/preferences/route.js +1 -1
  98. package/dist/web/standalone/.next/server/app/api/preferences/route_client-reference-manifest.js +1 -1
  99. package/dist/web/standalone/.next/server/app/api/projects/route.js +1 -1
  100. package/dist/web/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  101. package/dist/web/standalone/.next/server/app/api/recovery/route.js +1 -1
  102. package/dist/web/standalone/.next/server/app/api/recovery/route_client-reference-manifest.js +1 -1
  103. package/dist/web/standalone/.next/server/app/api/remote-questions/route.js +2 -2
  104. package/dist/web/standalone/.next/server/app/api/remote-questions/route_client-reference-manifest.js +1 -1
  105. package/dist/web/standalone/.next/server/app/api/session/browser/route.js +1 -1
  106. package/dist/web/standalone/.next/server/app/api/session/browser/route_client-reference-manifest.js +1 -1
  107. package/dist/web/standalone/.next/server/app/api/session/command/route.js +1 -1
  108. package/dist/web/standalone/.next/server/app/api/session/command/route_client-reference-manifest.js +1 -1
  109. package/dist/web/standalone/.next/server/app/api/session/events/route.js +2 -2
  110. package/dist/web/standalone/.next/server/app/api/session/events/route_client-reference-manifest.js +1 -1
  111. package/dist/web/standalone/.next/server/app/api/session/manage/route.js +1 -1
  112. package/dist/web/standalone/.next/server/app/api/session/manage/route_client-reference-manifest.js +1 -1
  113. package/dist/web/standalone/.next/server/app/api/settings-data/route.js +1 -1
  114. package/dist/web/standalone/.next/server/app/api/settings-data/route_client-reference-manifest.js +1 -1
  115. package/dist/web/standalone/.next/server/app/api/shutdown/route.js +1 -1
  116. package/dist/web/standalone/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  117. package/dist/web/standalone/.next/server/app/api/skill-health/route.js +1 -1
  118. package/dist/web/standalone/.next/server/app/api/skill-health/route_client-reference-manifest.js +1 -1
  119. package/dist/web/standalone/.next/server/app/api/steer/route.js +1 -1
  120. package/dist/web/standalone/.next/server/app/api/steer/route_client-reference-manifest.js +1 -1
  121. package/dist/web/standalone/.next/server/app/api/switch-root/route.js +1 -1
  122. package/dist/web/standalone/.next/server/app/api/switch-root/route_client-reference-manifest.js +1 -1
  123. package/dist/web/standalone/.next/server/app/api/terminal/input/route.js +2 -2
  124. package/dist/web/standalone/.next/server/app/api/terminal/input/route_client-reference-manifest.js +1 -1
  125. package/dist/web/standalone/.next/server/app/api/terminal/resize/route.js +2 -2
  126. package/dist/web/standalone/.next/server/app/api/terminal/resize/route_client-reference-manifest.js +1 -1
  127. package/dist/web/standalone/.next/server/app/api/terminal/sessions/route.js +2 -2
  128. package/dist/web/standalone/.next/server/app/api/terminal/sessions/route_client-reference-manifest.js +1 -1
  129. package/dist/web/standalone/.next/server/app/api/terminal/stream/route.js +4 -4
  130. package/dist/web/standalone/.next/server/app/api/terminal/stream/route_client-reference-manifest.js +1 -1
  131. package/dist/web/standalone/.next/server/app/api/terminal/upload/route.js +1 -1
  132. package/dist/web/standalone/.next/server/app/api/terminal/upload/route_client-reference-manifest.js +1 -1
  133. package/dist/web/standalone/.next/server/app/api/undo/route.js +1 -1
  134. package/dist/web/standalone/.next/server/app/api/undo/route_client-reference-manifest.js +1 -1
  135. package/dist/web/standalone/.next/server/app/api/update/route.js +1 -1
  136. package/dist/web/standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  137. package/dist/web/standalone/.next/server/app/api/visualizer/route.js +1 -1
  138. package/dist/web/standalone/.next/server/app/api/visualizer/route_client-reference-manifest.js +1 -1
  139. package/dist/web/standalone/.next/server/app/index.html +1 -1
  140. package/dist/web/standalone/.next/server/app/index.rsc +4 -4
  141. package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  142. package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +4 -4
  143. package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  144. package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
  145. package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  146. package/dist/web/standalone/.next/server/app/page.js +2 -2
  147. package/dist/web/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  148. package/dist/web/standalone/.next/server/app-paths-manifest.json +16 -16
  149. package/dist/web/standalone/.next/server/chunks/2229.js +1 -1
  150. package/dist/web/standalone/.next/server/chunks/7471.js +3 -3
  151. package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
  152. package/dist/web/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  153. package/dist/web/standalone/.next/server/middleware.js +2 -2
  154. package/dist/web/standalone/.next/server/next-font-manifest.js +1 -1
  155. package/dist/web/standalone/.next/server/next-font-manifest.json +1 -1
  156. package/dist/web/standalone/.next/server/pages/404.html +1 -1
  157. package/dist/web/standalone/.next/server/pages/500.html +2 -2
  158. package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
  159. package/dist/web/standalone/.next/static/chunks/4024.87fd909ae0110f50.js +9 -0
  160. package/dist/web/standalone/.next/static/chunks/app/_not-found/{page-2f24283c162b6ab3.js → page-f2a7482d42a5614b.js} +1 -1
  161. package/dist/web/standalone/.next/static/chunks/app/{layout-9ecfd95f343793f0.js → layout-a16c7a7ecdf0c2cf.js} +1 -1
  162. package/dist/web/standalone/.next/static/chunks/app/page-b950e4e384cc62b3.js +1 -0
  163. package/dist/web/standalone/.next/static/chunks/main-app-fdab67f7802d7832.js +1 -0
  164. package/dist/web/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-459824ffb8c323dd.js +1 -0
  165. package/dist/web/standalone/.next/static/chunks/{webpack-024d82be84800e52.js → webpack-bca0e732db0dcec3.js} +1 -1
  166. package/dist/web/standalone/node_modules/node-pty/build/Makefile +2 -2
  167. package/dist/web/standalone/node_modules/node-pty/build/Release/pty.node +0 -0
  168. package/dist/web/standalone/node_modules/node-pty/build/pty.target.mk +14 -14
  169. package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api.target.mk +14 -14
  170. package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api_except.target.mk +14 -14
  171. package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api_maybe.target.mk +14 -14
  172. package/dist/web/standalone/server.js +1 -1
  173. package/package.json +1 -1
  174. package/packages/pi-coding-agent/package.json +1 -1
  175. package/pkg/package.json +1 -1
  176. package/scripts/ensure-workspace-builds.cjs +36 -8
  177. package/src/resources/extensions/get-secrets-from-user.ts +8 -0
  178. package/src/resources/extensions/gsd/auto/phases.ts +38 -7
  179. package/src/resources/extensions/gsd/auto-dispatch.ts +6 -1
  180. package/src/resources/extensions/gsd/auto-worktree.ts +73 -14
  181. package/src/resources/extensions/gsd/auto.ts +21 -0
  182. package/src/resources/extensions/gsd/bootstrap/agent-end-recovery.ts +4 -11
  183. package/src/resources/extensions/gsd/commands-prefs-wizard.ts +3 -3
  184. package/src/resources/extensions/gsd/docs/preferences-reference.md +2 -2
  185. package/src/resources/extensions/gsd/git-service.ts +4 -3
  186. package/src/resources/extensions/gsd/guided-flow.ts +4 -3
  187. package/src/resources/extensions/gsd/markdown-renderer.ts +5 -4
  188. package/src/resources/extensions/gsd/parallel-orchestrator.ts +23 -1
  189. package/src/resources/extensions/gsd/preferences-types.ts +1 -1
  190. package/src/resources/extensions/gsd/state.ts +18 -29
  191. package/src/resources/extensions/gsd/status-guards.ts +13 -0
  192. package/src/resources/extensions/gsd/tests/active-milestone-id-guard.test.ts +91 -0
  193. package/src/resources/extensions/gsd/tests/auto-stale-lock-self-kill.test.ts +87 -0
  194. package/src/resources/extensions/gsd/tests/auto-worktree-auto-resolve.test.ts +80 -0
  195. package/src/resources/extensions/gsd/tests/auto-worktree-milestone-merge.test.ts +1 -1
  196. package/src/resources/extensions/gsd/tests/collect-from-manifest.test.ts +39 -0
  197. package/src/resources/extensions/gsd/tests/git-service.test.ts +64 -30
  198. package/src/resources/extensions/gsd/tests/milestone-report-path.test.ts +51 -0
  199. package/src/resources/extensions/gsd/tests/parallel-orchestrator-zombie-cleanup.test.ts +277 -0
  200. package/src/resources/extensions/gsd/tests/phases-merge-error-stops-auto.test.ts +103 -0
  201. package/src/resources/extensions/gsd/tests/preferences.test.ts +1 -1
  202. package/src/resources/extensions/gsd/tests/rate-limit-model-fallback.test.ts +90 -0
  203. package/src/resources/extensions/gsd/tests/session-lock-transient-read.test.ts +9 -8
  204. package/src/resources/extensions/gsd/tests/stash-pop-gsd-conflict.test.ts +125 -0
  205. package/src/resources/extensions/gsd/tests/status-guards.test.ts +30 -0
  206. package/src/resources/extensions/gsd/tests/validate-milestone.test.ts +12 -2
  207. package/src/resources/extensions/gsd/tests/validation-gate-patterns.test.ts +124 -0
  208. package/src/resources/extensions/gsd/tests/validation.test.ts +72 -0
  209. package/src/resources/extensions/gsd/tools/complete-milestone.ts +4 -3
  210. package/src/resources/extensions/gsd/tools/complete-slice.ts +4 -3
  211. package/src/resources/extensions/gsd/tools/complete-task.ts +4 -3
  212. package/src/resources/extensions/gsd/tools/plan-milestone.ts +4 -16
  213. package/src/resources/extensions/gsd/tools/plan-slice.ts +4 -16
  214. package/src/resources/extensions/gsd/tools/plan-task.ts +4 -16
  215. package/src/resources/extensions/gsd/tools/reassess-roadmap.ts +6 -7
  216. package/src/resources/extensions/gsd/tools/reopen-slice.ts +4 -3
  217. package/src/resources/extensions/gsd/tools/reopen-task.ts +5 -4
  218. package/src/resources/extensions/gsd/tools/replan-slice.ts +5 -7
  219. package/src/resources/extensions/gsd/validation.ts +23 -0
  220. package/src/resources/extensions/shared/rtk.ts +22 -4
  221. package/dist/web/standalone/.next/static/chunks/4024.21054f459af5cc78.js +0 -9
  222. package/dist/web/standalone/.next/static/chunks/app/page-fbecd1237e2d6d1f.js +0 -1
  223. package/dist/web/standalone/.next/static/chunks/main-app-d3d4c336195465f9.js +0 -1
  224. package/dist/web/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-ab5a8926e07ec673.js +0 -1
  225. /package/dist/web/standalone/.next/static/{vlgS2rkXjxeKhgXhdp4lh → Q5pfrfJIvgUKR3LJLVB0T}/_buildManifest.js +0 -0
  226. /package/dist/web/standalone/.next/static/{vlgS2rkXjxeKhgXhdp4lh → Q5pfrfJIvgUKR3LJLVB0T}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9492],{9541:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let r=l(95155),n=l(35949),o=function(){return(0,r.jsx)("html",{children:(0,r.jsx)("body",{children:(0,r.jsx)(n.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})})})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},35949:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessErrorFallback",{enumerable:!0,get:function(){return o}});let r=l(95155),n=l(37356);function o({status:e,message:t}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("title",{children:`${e}: ${t}`}),(0,r.jsx)("div",{style:n.styles.error,children:(0,r.jsxs)("div",{children:[(0,r.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,r.jsx)("h1",{className:"next-error-h1",style:n.styles.h1,children:e}),(0,r.jsx)("div",{style:n.styles.desc,children:(0,r.jsx)("h2",{style:n.styles.h2,children:t})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},37356:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"styles",{enumerable:!0,get:function(){return l}});let l={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{display:"inline-block"},h1:{display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},h2:{fontSize:14,fontWeight:400,lineHeight:"49px",margin:0}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},50375:(e,t,l)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return l(9541)}])}},e=>{e.O(0,[8441,3794,7358],()=>e(e.s=50375)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9492],{9541:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let r=l(95155),n=l(35949),o=function(){return(0,r.jsx)("html",{children:(0,r.jsx)("body",{children:(0,r.jsx)(n.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})})})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},35949:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessErrorFallback",{enumerable:!0,get:function(){return o}});let r=l(95155),n=l(37356);function o({status:e,message:t}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("title",{children:`${e}: ${t}`}),(0,r.jsx)("div",{style:n.styles.error,children:(0,r.jsxs)("div",{children:[(0,r.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,r.jsx)("h1",{className:"next-error-h1",style:n.styles.h1,children:e}),(0,r.jsx)("div",{style:n.styles.desc,children:(0,r.jsx)("h2",{style:n.styles.h2,children:t})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},37356:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"styles",{enumerable:!0,get:function(){return l}});let l={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{display:"inline-block"},h1:{display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},h2:{fontSize:14,fontWeight:400,lineHeight:"49px",margin:0}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},82285:(e,t,l)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return l(9541)}])}},e=>{e.O(0,[8441,3794,7358],()=>e(e.s=82285)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{21942:(e,r,s)=>{"use strict";s.d(r,{ThemeProvider:()=>o});var a=s(95155);s(12115);var t=s(70460);function o({children:e,...r}){return(0,a.jsx)(t.N,{...r,children:e})}},35696:e=>{e.exports={style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"},className:"__className_9a8899",variable:"__variable_9a8899"}},46622:(e,r,s)=>{Promise.resolve().then(s.bind(s,21942)),Promise.resolve().then(s.bind(s,61549)),Promise.resolve().then(s.t.bind(s,85048,23)),Promise.resolve().then(s.t.bind(s,35696,23)),Promise.resolve().then(s.t.bind(s,66872,23))},61549:(e,r,s)=>{"use strict";s.d(r,{Toaster:()=>l});var a=s(95155),t=s(70460),o=s(66609);let l=({...e})=>{let{theme:r="system"}=(0,t.D)();return(0,a.jsx)(o.l$,{theme:r,className:"toaster group",style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)"},...e})}},66872:()=>{},85048:e=>{e.exports={style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"},className:"__className_188709",variable:"__variable_188709"}}},e=>{e.O(0,[2557,7513,4986,8441,3794,7358],()=>e(e.s=46622)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{21942:(e,r,s)=>{"use strict";s.d(r,{ThemeProvider:()=>o});var a=s(95155);s(12115);var t=s(70460);function o({children:e,...r}){return(0,a.jsx)(t.N,{...r,children:e})}},35696:e=>{e.exports={style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"},className:"__className_9a8899",variable:"__variable_9a8899"}},39040:(e,r,s)=>{Promise.resolve().then(s.bind(s,21942)),Promise.resolve().then(s.bind(s,61549)),Promise.resolve().then(s.t.bind(s,85048,23)),Promise.resolve().then(s.t.bind(s,35696,23)),Promise.resolve().then(s.t.bind(s,66872,23))},61549:(e,r,s)=>{"use strict";s.d(r,{Toaster:()=>l});var a=s(95155),t=s(70460),o=s(66609);let l=({...e})=>{let{theme:r="system"}=(0,t.D)();return(0,a.jsx)(o.l$,{theme:r,className:"toaster group",style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)"},...e})}},66872:()=>{},85048:e=>{e.exports={style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"},className:"__className_188709",variable:"__variable_188709"}}},e=>{e.O(0,[2557,7513,4986,8441,3794,7358],()=>e(e.s=39040)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{2600:(e,t,n)=>{Promise.resolve().then(n.bind(n,66919))},5214:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorage",{enumerable:!0,get:function(){return r.workAsyncStorageInstance}});let r=n(17828)},17828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return r}});let r=(0,n(64054).createAsyncLocalStorage)()},21957:(e,t,n)=>{"use strict";function r({moduleIds:e}){return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return r}}),n(95155),n(47650),n(5214),n(2451),n(53887)},37206:(e,t,n)=>{"use strict";n.d(t,{default:()=>u.a});var r=n(75707),u=n.n(r)},41112:(e,t,n)=>{"use strict";function r({reason:e,children:t}){return t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return r}}),n(1980)},64054:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={bindSnapshot:function(){return s},createAsyncLocalStorage:function(){return a},createSnapshot:function(){return i}};for(var r in n)Object.defineProperty(t,r,{enumerable:!0,get:n[r]});let u=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class l{disable(){throw u}getStore(){}run(){throw u}exit(){throw u}enterWith(){throw u}static bind(e){return e}}let o="u">typeof globalThis&&globalThis.AsyncLocalStorage;function a(){return o?new o:new l}function s(e){return o?o.bind(e):l.bind(e)}function i(){return o?o.snapshot():function(e,...t){return e(...t)}}},66919:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>l});var r=n(95155);let u=(0,n(37206).default)(()=>Promise.all([n.e(1838),n.e(6079),n.e(4986),n.e(2008),n.e(4024)]).then(n.bind(n,4024)).then(e=>e.GSDAppShell),{loadableGenerated:{webpack:()=>[4024]},ssr:!1,loading:()=>(0,r.jsx)("div",{className:"flex h-screen items-center justify-center bg-background text-sm text-muted-foreground",children:"Loading workspace…"})});function l(){return(0,r.jsx)(u,{})}},68635:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let r=n(95155),u=n(12115),l=n(41112);function o(e){return{default:e&&"default"in e?e.default:e}}n(21957);let a={loader:()=>Promise.resolve(o(()=>null)),loading:null,ssr:!0},s=function(e){let t={...a,...e},n=(0,u.lazy)(()=>t.loader().then(o)),s=t.loading;function i(e){let o=s?(0,r.jsx)(s,{isLoading:!0,pastDelay:!0,error:null}):null,a=!t.ssr||!!t.loading,i=a?u.Suspense:u.Fragment,c=t.ssr?(0,r.jsxs)(r.Fragment,{children:[null,(0,r.jsx)(n,{...e})]}):(0,r.jsx)(l.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(i,{...a?{fallback:o}:{},children:c})}return i.displayName="LoadableComponent",i}},75707:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let r=n(73623)._(n(68635));function u(e,t){let n={};"function"==typeof e&&(n.loader=e);let u={...n,...t};return(0,r.default)({...u,modules:u.loadableGenerated?.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},e=>{e.O(0,[8441,3794,7358],()=>e(e.s=2600)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7358],{19393:()=>{},55548:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,27123,23)),Promise.resolve().then(n.t.bind(n,61304,23)),Promise.resolve().then(n.t.bind(n,78616,23)),Promise.resolve().then(n.t.bind(n,64777,23)),Promise.resolve().then(n.t.bind(n,57121,23)),Promise.resolve().then(n.t.bind(n,74581,23)),Promise.resolve().then(n.t.bind(n,90484,23)),Promise.resolve().then(n.bind(n,86869))}},e=>{var s=s=>e(e.s=s);e.O(0,[8441,3794],()=>(s(83861),s(55548))),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9337],{43946:(e,s,_)=>{Promise.resolve().then(_.t.bind(_,27123,23))}},e=>{e.O(0,[8441,3794,7358],()=>e(e.s=43946)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (()=>{"use strict";var e,a,f,c,d,b,t,r,o,n={},i={};function l(e){var a=i[e];if(void 0!==a)return a.exports;var f=i[e]={exports:{}},c=!0;try{n[e].call(f.exports,f,f.exports,l),c=!1}finally{c&&delete i[e]}return f.exports}l.m=n,e=[],l.O=(a,f,c,d)=>{if(f){d=d||0;for(var b=e.length;b>0&&e[b-1][2]>d;b--)e[b]=e[b-1];e[b]=[f,c,d];return}for(var t=1/0,b=0;b<e.length;b++){for(var[f,c,d]=e[b],r=!0,o=0;o<f.length;o++)(!1&d||t>=d)&&Object.keys(l.O).every(e=>l.O[e](f[o]))?f.splice(o--,1):(r=!1,d<t&&(t=d));if(r){e.splice(b--,1);var n=c();void 0!==n&&(a=n)}}return a},l.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return l.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,l.t=function(e,c){if(1&c&&(e=this(e)),8&c||"object"==typeof e&&e&&(4&c&&e.__esModule||16&c&&"function"==typeof e.then))return e;var d=Object.create(null);l.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach(a=>b[a]=()=>e[a]);return b.default=()=>e,l.d(d,b),d},l.d=(e,a)=>{for(var f in a)l.o(a,f)&&!l.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},l.f={},l.e=e=>Promise.all(Object.keys(l.f).reduce((a,f)=>(l.f[f](e,a),a),[])),l.u=e=>4986===e?"static/chunks/4986-c2fc8845ce785303.js":"static/chunks/"+(({535:"4ca0cff5",1290:"cee15710",1630:"53c1bd3f",2577:"d1c28714",3879:"cfdf2ac7",3888:"e868780c",4763:"4402d2ac",4814:"799ebd4e",6079:"363642f4",6666:"570e4624",6814:"7d29de82",7442:"92e53eb0",8835:"ce16f5a9",9312:"1cd6e1d3"})[e]||e)+"."+({10:"6cf001c181ce1098",34:"ce581867cf95e24b",36:"b4a553bf2106f6d3",194:"76dbdc07cdc2311d",214:"f6bba63dfa159e01",252:"a9e22657cbf67b42",327:"8ecab0b86d52b597",376:"9e742ff6919b2b54",392:"3cad93691f1b7360",400:"59979e0d3ae126e4",425:"9a3434a28926566a",535:"07efe2bc8f09d72e",541:"cfa15b606745131a",579:"33fc87fb95163c6a",583:"b3efc73cb21097e2",624:"2dd909fbfce98c5e",640:"5bf1e25d0bddf875",698:"e0dda03fd303b96b",794:"06b1ae4fc9cc10a9",816:"f909c891b91aa79f",830:"e49b226c07876df4",840:"a9c535f8868cc4bd",862:"fe3b86ecfb9c0716",893:"c469257bbbbca4f5",966:"57e4cd93c2368d34",968:"237f19aca13543fe",1078:"02294b2934d5bf21",1142:"8248bfb76c695146",1161:"06b33878b495da50",1184:"e80a999422621ed9",1188:"1d4ce94ddc297119",1198:"2a5c215f01a8b74d",1215:"88ed89521e915107",1219:"e27b0bd10b029e40",1247:"64e212daa5bb3925",1248:"36af3903f037c1f5",1274:"ce6906b1fe2e04b8",1280:"1651bb5167170457",1290:"869cef5f741d40c2",1335:"716cc5924662708e",1365:"d7391145ca7f8791",1379:"03e1e0f31bdaa2cc",1410:"77acea37535dbbef",1413:"117c5958c59cc695",1453:"3c24c777a3deca2d",1456:"217c3832b3e76b7f",1501:"549af2c91a889a08",1534:"918a25b2e3daab22",1556:"96abc9ff91b0c383",1583:"03a06dbdde85ac56",1595:"ee61519fde230f60",1630:"2911e2bac119d910",1642:"8c00543baa1aef54",1656:"a9efc78185a5a85f",1664:"6d5b5e3112b66906",1898:"e07b2b1c5e789b06",1932:"b0aea9b52cabe5e8",1977:"a06c8e8d2198f765",2008:"817d0885545aaea9",2013:"598558c40e51e107",2031:"3877441c49bff5cd",2041:"00f4fa0ab26c6ba5",2062:"4a0ab3400fea0e34",2107:"c627112b02b9e1c8",2130:"441ae0f68863efeb",2160:"e38d781fd5c4cde0",2179:"1bf5fe315e6e132c",2215:"9d2d6fbe90ffcc80",2278:"0b14de1cb2041bfd",2349:"ca15d465c4260b4b",2374:"7560cc5c4b8ed6b0",2397:"0e4dce0a557ac7cf",2403:"3dda71b6482dce3b",2485:"3188870375e9fbee",2489:"fcc70bd67329a70e",2501:"4e65b56602faa956",2503:"bb9d3528c3c7ccae",2504:"159b28843e61aae9",2577:"f52cffdd449a2d14",2614:"8349e4b407470a30",2710:"fe0656d4ebae4d30",2728:"5fed9ac13dfcd1d1",2735:"5a3e65a580bd5af9",2747:"1d85d388314f2904",2765:"2c6d9772af50feed",2783:"e8bbf2c794ef9750",2812:"dcd8179a6b1d76c9",2839:"c9a657d5b4031a19",2895:"0339e755e79ee794",2937:"7e724516d5e6ce42",2954:"7d8daeae6410d4a4",2957:"2dd93db1a16e96b0",2964:"1a0e15f7327680a2",3072:"b6da96c10080c967",3074:"911584369786c26c",3077:"bf82c0c332cc9fec",3082:"159e4ab8f0572597",3095:"8cd478c42cee505a",3111:"1cf85db2faeb20cc",3175:"538ce7aec634bddb",3186:"3665756f8aae3eb7",3194:"5a331fb5e3dc34e9",3229:"5e91f7d0b135266b",3274:"858f7f9216c8b074",3286:"196c508356bb0b66",3288:"f23c8a5183e6b910",3290:"b5ba2646ad49c9fd",3304:"16305e84f4ff6598",3313:"471138e5504646a9",3324:"85e21e3313d0901c",3392:"460f5a753531f501",3419:"78b520dab7e2f96d",3437:"0ad1ecc8c5b8a679",3476:"246c30b47bded3b7",3483:"fc2a0b1185dbaa5d",3492:"ca55498822ad7796",3526:"24826331ab265b39",3606:"e5c833cdda239583",3633:"2526b2d018636ff0",3782:"8d7b66d0e37dbe76",3787:"78ebe68a043f50ce",3860:"be5b243bf7d6618c",3873:"72a9a21509f713f7",3879:"f50abf4e93e943ea",3888:"f7831045ac345aaa",3942:"085da8d58242eeab",3979:"cea8623f6e9f83ea",4024:"21054f459af5cc78",4053:"90d71fcbe4ffd852",4080:"08a21dae9e93c547",4163:"c6ebefdd9aa5c358",4174:"b6ff75dd91a2a32e",4223:"c10556cd92fc8018",4242:"3a66c58375424a5b",4275:"8f2e531757c2a813",4295:"6c0f4838b0c9c69d",4309:"a887a10e84c44f9e",4350:"b9d80827e8eee01a",4357:"ac4f251cdac34fbe",4358:"f89b14cf7a988731",4370:"ac13b62c811f7ede",4417:"0b5ee948c3518db3",4447:"f86b52aea068b189",4474:"053807fa34066566",4539:"559c223da16b0282",4540:"03df20c499bca840",4553:"ce3eab65a260353e",4567:"7dc81a6e1c7df565",4583:"2a5df6eb3a6ea30b",4593:"676ac488744e1af5",4608:"1ff246d6b4c771f8",4634:"0332a56fdb8e26c0",4650:"61aec912b756287b",4659:"0b14de1cb2041bfd",4678:"867dfae26694be02",4763:"d0d1b1777a45e0b2",4801:"17596dbc1818c262",4814:"ccb85c56e9216a38",4823:"907850963b2bcb70",4829:"402ec60139d36417",4846:"c563765de65a34c7",4900:"b723a916eafdf743",4903:"004f583a12223dac",4963:"0f6678151a159143",4969:"1cb10af9489ea295",4976:"8870319ffbd1c31f",5005:"73745d7fcae6989e",5025:"b597364f0cf8b85a",5061:"025d30c3123eeaf6",5136:"ac897c2a56ee392f",5183:"2e5c895a2be76262",5269:"2e771096652dc113",5320:"00f00028b9163a43",5326:"adc4bf49a22f4e67",5331:"4d5d42e5253dbee2",5347:"3192e0021174aaa8",5375:"ebc026e6140b52f1",5424:"4d62f7ee887cd8b9",5482:"0907421e6bf5eeec",5491:"5cc285c4b84dac30",5498:"117ef4b6035a90c5",5518:"6c3dc9afe81a566b",5520:"eab85d7487e77510",5553:"75df19e3cc1246d6",5575:"3d90c643343a1329",5645:"0b86853ae26d9ee3",5670:"2a1b27a6fdb7aa6b",5690:"d30877807cf5c7eb",5712:"574fca2d5f06483a",5728:"8ef773d61765855e",5750:"aa57d25b74640d23",5755:"00015c284ed6fb39",5920:"9db223329ee9e11a",5922:"ce56021f8cc6ebbc",5937:"0827b5b3eb831ff0",5968:"63d5869783fad06f",5997:"226c07d9e6c496e0",6046:"00d36aea7fd5b147",6079:"f9053a63f1b97508",6089:"2dd351186ec85cc3",6099:"43e6595fcf24fc33",6110:"5ce3f75fced27aaf",6144:"f967a8228bcdf663",6155:"19719cff570d6559",6166:"ecd82a9dcb484b97",6290:"e14cf4fc52dd4539",6293:"5914fa73a9f7e777",6311:"5b9c1f74df9a8f67",6331:"758f2f66b92cada9",6339:"bc9301cc22898be0",6360:"ff0a9063773daeeb",6402:"a0070d7688ed986b",6412:"089ee787a294d10b",6455:"12b78a2660d609eb",6563:"5d618b608750f4dc",6572:"ca2463823b9b01a0",6580:"75d53830b434451f",6588:"0fbca957af7d9e6a",6647:"584c5d5cd8dfdb5a",6666:"a82467c542429379",6686:"796c782c33ab8ca9",6701:"bff0efb979f71a17",6704:"f280f0ad0f5d8644",6729:"77a5381ac8f5c9ae",6741:"06fdaf122961074e",6814:"30ff86a90cbfd921",6846:"91283f709c40802c",6859:"bacad166ee995fe0",6887:"6c81234d73740fb9",6927:"aa3914b5fb0d14d4",6931:"3c90e9fe0f7f1e66",6938:"0ccf683bd8aa8410",6948:"2719ed8731963209",6959:"5a803faf27f88e9f",7021:"b71240b1d5f6fbe4",7040:"0b14de1cb2041bfd",7041:"174bf29bd837f06d",7082:"fc816f91214026d7",7113:"39704408fef3d26e",7130:"8d24694735826c22",7142:"dbd2cf8141eece5e",7152:"c7b7f1f5e9622f21",7227:"a6b2f01487bb3d9d",7258:"6cbe24c3bcb63d1d",7425:"8b47c8e398a12dd8",7442:"097194be4a0e7d55",7455:"71d54397710b923c",7465:"867e8ff655666413",7524:"9528295a19a5837a",7525:"f433aaf1fe40c90a",7557:"bdc743175125b3d8",7610:"b1439345dbcf285d",7625:"ab66bd50d2fb61a4",7635:"166d83de1d29e758",7636:"bf91320a9ff695af",7785:"1402a4110c300764",7799:"40b047a634f96a24",7819:"3c56f48c0dc5ad5d",7844:"2bb29faa262f313e",7846:"c9705c044ab8f87a",7884:"390ae2efbbf230c4",7889:"af3e581842f34c28",7921:"c361f794cc208e06",7977:"80e4daa080a79c39",8113:"907baefc7227cfb8",8132:"74491162f08af899",8192:"5918d83ac6a0e2dc",8243:"1450514f8390977e",8257:"dd8f651f1a43fee2",8288:"9bd1d26060cb00a1",8318:"81c7ac586fcbb728",8406:"955ccfbb4b70b8c3",8430:"b1f802dcffa41626",8432:"bd66ac287c569996",8457:"b61d96d8d30215fc",8496:"046efd6301dd804f",8545:"be0c9eea6aae5971",8555:"ab3ee6358f1d64da",8656:"2ceb4e5ff5df2fca",8670:"90ede75068758e82",8704:"a1003918da6654da",8773:"614f1f4f0f845c5e",8835:"5c7821b201f35593",8848:"7c6e47cca9f0059a",8921:"fb24a4d4d4d3265b",8947:"31d3d834d8281fd9",8977:"01b9c429327004e9",9005:"33cf91e617920d4f",9006:"11537833945ec4b8",9015:"c4e40321a6503a1b",9136:"191be42a2fee842c",9178:"48a90097ee3f0b0c",9186:"3af6fcd13ab752fa",9189:"3e9d29bf275ec462",9220:"bc767ebb5adb9f49",9224:"401f9320ee58570b",9240:"d38ddbe94e0bf128",9267:"fbfd65ea31e7448c",9294:"a20485f3282321b3",9302:"726b065f2df0323a",9312:"8121a74b2042bff3",9377:"f9db706e76f04afe",9382:"bc0e11ecc88dd62c",9421:"a5c1dbcfbfdd8f52",9448:"2668b3cd408e86de",9466:"c9d8f45d14235087",9521:"e1240eb862eb32dc",9547:"7729788fff21926f",9565:"8de0671f99d12abe",9569:"2f36b2b1c2f838d7",9605:"dfac539f89cea7a2",9615:"3b62c13af671f714",9648:"8235b6fea7087b3a",9666:"a515fa6d89a71f1c",9680:"d5ceac8967e0b6a8",9690:"7773c72f0eff6dec",9841:"422321143547591a",9842:"3b71b65b30d8ef2a",9996:"18b7bca2f0ab222e"})[e]+".js",l.miniCssF=e=>"static/css/659eccb5db697b76.css",l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},l.l=(e,a,f,d)=>{if(c[e])return void c[e].push(a);if(void 0!==f)for(var b,t,r=document.getElementsByTagName("script"),o=0;o<r.length;o++){var n=r[o];if(n.getAttribute("src")==e||n.getAttribute("data-webpack")=="_N_E:"+f){b=n;break}}b||(t=!0,(b=document.createElement("script")).charset="utf-8",b.timeout=120,l.nc&&b.setAttribute("nonce",l.nc),b.setAttribute("data-webpack","_N_E:"+f),b.src=l.tu(e)),c[e]=[a];var i=(a,f)=>{b.onerror=b.onload=null,clearTimeout(u);var d=c[e];if(delete c[e],b.parentNode&&b.parentNode.removeChild(b),d&&d.forEach(e=>e(f)),a)return a(f)},u=setTimeout(i.bind(null,void 0,{type:"timeout",target:b}),12e4);b.onerror=i.bind(null,b.onerror),b.onload=i.bind(null,b.onload),t&&document.head.appendChild(b)},l.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.tt=()=>(void 0===d&&(d={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(d=trustedTypes.createPolicy("nextjs#bundler",d))),d),l.tu=e=>l.tt().createScriptURL(e),l.p="/_next/",b={8068:0},l.f.miniCss=(e,a)=>{if(b[e])a.push(b[e]);else 0!==b[e]&&({1838:1})[e]&&a.push(b[e]=new Promise((a,f)=>{var c,d=l.miniCssF(e),b=l.p+d;if(((e,a)=>{for(var f=document.getElementsByTagName("link"),c=0;c<f.length;c++){var d=f[c],b=d.getAttribute("data-href")||d.getAttribute("href");if("stylesheet"===d.rel&&(b===e||b===a))return d}for(var t=document.getElementsByTagName("style"),c=0;c<t.length;c++){var d=t[c],b=d.getAttribute("data-href");if(b===e||b===a)return d}})(d,b))return a();(c=document.createElement("link")).rel="stylesheet",c.type="text/css",c.onerror=c.onload=d=>{if(c.onerror=c.onload=null,"load"===d.type)a();else{var t=d&&("load"===d.type?"missing":d.type),r=d&&d.target&&d.target.href||b,o=Error("Loading CSS chunk "+e+" failed.\n("+r+")");o.code="CSS_CHUNK_LOAD_FAILED",o.type=t,o.request=r,c.parentNode.removeChild(c),f(o)}},c.href=b,function(e){if("function"==typeof _N_E_STYLE_LOAD){let{href:a,onload:f,onerror:c}=e;_N_E_STYLE_LOAD(0===a.indexOf(window.location.origin)?new URL(a).pathname:a).then(()=>null==f?void 0:f.call(e,{type:"load"}),()=>null==c?void 0:c.call(e,{}))}else document.head.appendChild(e)}(c)}).then(()=>{b[e]=0},a=>{throw delete b[e],a}))},t={8068:0,2557:0,7513:0},l.f.j=(e,a)=>{var f=l.o(t,e)?t[e]:void 0;if(0!==f)if(f)a.push(f[2]);else if(/^(1838|2557|7513|8068)$/.test(e))t[e]=0;else{var c=new Promise((a,c)=>f=t[e]=[a,c]);a.push(f[2]=c);var d=l.p+l.u(e),b=Error();l.l(d,a=>{if(l.o(t,e)&&(0!==(f=t[e])&&(t[e]=void 0),f)){var c=a&&("load"===a.type?"missing":a.type),d=a&&a.target&&a.target.src;b.message="Loading chunk "+e+" failed.\n("+c+": "+d+")",b.name="ChunkLoadError",b.type=c,b.request=d,f[1](b)}},"chunk-"+e,e)}},l.O.j=e=>0===t[e],r=(e,a)=>{var f,c,[d,b,r]=a,o=0;if(d.some(e=>0!==t[e])){for(f in b)l.o(b,f)&&(l.m[f]=b[f]);if(r)var n=r(l)}for(e&&e(a);o<d.length;o++)c=d[o],l.o(t,c)&&t[c]&&t[c][0](),t[c]=0;return l.O(n)},(o=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(r.bind(null,0)),o.push=r.bind(null,o.push.bind(o)),l.nc=void 0})();
1
+ (()=>{"use strict";var e,a,f,c,d,b,t,r,o,n={},i={};function l(e){var a=i[e];if(void 0!==a)return a.exports;var f=i[e]={exports:{}},c=!0;try{n[e].call(f.exports,f,f.exports,l),c=!1}finally{c&&delete i[e]}return f.exports}l.m=n,e=[],l.O=(a,f,c,d)=>{if(f){d=d||0;for(var b=e.length;b>0&&e[b-1][2]>d;b--)e[b]=e[b-1];e[b]=[f,c,d];return}for(var t=1/0,b=0;b<e.length;b++){for(var[f,c,d]=e[b],r=!0,o=0;o<f.length;o++)(!1&d||t>=d)&&Object.keys(l.O).every(e=>l.O[e](f[o]))?f.splice(o--,1):(r=!1,d<t&&(t=d));if(r){e.splice(b--,1);var n=c();void 0!==n&&(a=n)}}return a},l.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return l.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,l.t=function(e,c){if(1&c&&(e=this(e)),8&c||"object"==typeof e&&e&&(4&c&&e.__esModule||16&c&&"function"==typeof e.then))return e;var d=Object.create(null);l.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach(a=>b[a]=()=>e[a]);return b.default=()=>e,l.d(d,b),d},l.d=(e,a)=>{for(var f in a)l.o(a,f)&&!l.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},l.f={},l.e=e=>Promise.all(Object.keys(l.f).reduce((a,f)=>(l.f[f](e,a),a),[])),l.u=e=>4986===e?"static/chunks/4986-c2fc8845ce785303.js":"static/chunks/"+(({535:"4ca0cff5",1290:"cee15710",1630:"53c1bd3f",2577:"d1c28714",3879:"cfdf2ac7",3888:"e868780c",4763:"4402d2ac",4814:"799ebd4e",6079:"363642f4",6666:"570e4624",6814:"7d29de82",7442:"92e53eb0",8835:"ce16f5a9",9312:"1cd6e1d3"})[e]||e)+"."+({10:"6cf001c181ce1098",34:"ce581867cf95e24b",36:"b4a553bf2106f6d3",194:"76dbdc07cdc2311d",214:"f6bba63dfa159e01",252:"a9e22657cbf67b42",327:"8ecab0b86d52b597",376:"9e742ff6919b2b54",392:"3cad93691f1b7360",400:"59979e0d3ae126e4",425:"9a3434a28926566a",535:"07efe2bc8f09d72e",541:"cfa15b606745131a",579:"33fc87fb95163c6a",583:"b3efc73cb21097e2",624:"2dd909fbfce98c5e",640:"5bf1e25d0bddf875",698:"e0dda03fd303b96b",794:"06b1ae4fc9cc10a9",816:"f909c891b91aa79f",830:"e49b226c07876df4",840:"a9c535f8868cc4bd",862:"fe3b86ecfb9c0716",893:"c469257bbbbca4f5",966:"57e4cd93c2368d34",968:"237f19aca13543fe",1078:"02294b2934d5bf21",1142:"8248bfb76c695146",1161:"06b33878b495da50",1184:"e80a999422621ed9",1188:"1d4ce94ddc297119",1198:"2a5c215f01a8b74d",1215:"88ed89521e915107",1219:"e27b0bd10b029e40",1247:"64e212daa5bb3925",1248:"36af3903f037c1f5",1274:"ce6906b1fe2e04b8",1280:"1651bb5167170457",1290:"869cef5f741d40c2",1335:"716cc5924662708e",1365:"d7391145ca7f8791",1379:"03e1e0f31bdaa2cc",1410:"77acea37535dbbef",1413:"117c5958c59cc695",1453:"3c24c777a3deca2d",1456:"217c3832b3e76b7f",1501:"549af2c91a889a08",1534:"918a25b2e3daab22",1556:"96abc9ff91b0c383",1583:"03a06dbdde85ac56",1595:"ee61519fde230f60",1630:"2911e2bac119d910",1642:"8c00543baa1aef54",1656:"a9efc78185a5a85f",1664:"6d5b5e3112b66906",1898:"e07b2b1c5e789b06",1932:"b0aea9b52cabe5e8",1977:"a06c8e8d2198f765",2008:"817d0885545aaea9",2013:"598558c40e51e107",2031:"3877441c49bff5cd",2041:"00f4fa0ab26c6ba5",2062:"4a0ab3400fea0e34",2107:"c627112b02b9e1c8",2130:"441ae0f68863efeb",2160:"e38d781fd5c4cde0",2179:"1bf5fe315e6e132c",2215:"9d2d6fbe90ffcc80",2278:"0b14de1cb2041bfd",2349:"ca15d465c4260b4b",2374:"7560cc5c4b8ed6b0",2397:"0e4dce0a557ac7cf",2403:"3dda71b6482dce3b",2485:"3188870375e9fbee",2489:"fcc70bd67329a70e",2501:"4e65b56602faa956",2503:"bb9d3528c3c7ccae",2504:"159b28843e61aae9",2577:"f52cffdd449a2d14",2614:"8349e4b407470a30",2710:"fe0656d4ebae4d30",2728:"5fed9ac13dfcd1d1",2735:"5a3e65a580bd5af9",2747:"1d85d388314f2904",2765:"2c6d9772af50feed",2783:"e8bbf2c794ef9750",2812:"dcd8179a6b1d76c9",2839:"c9a657d5b4031a19",2895:"0339e755e79ee794",2937:"7e724516d5e6ce42",2954:"7d8daeae6410d4a4",2957:"2dd93db1a16e96b0",2964:"1a0e15f7327680a2",3072:"b6da96c10080c967",3074:"911584369786c26c",3077:"bf82c0c332cc9fec",3082:"159e4ab8f0572597",3095:"8cd478c42cee505a",3111:"1cf85db2faeb20cc",3175:"538ce7aec634bddb",3186:"3665756f8aae3eb7",3194:"5a331fb5e3dc34e9",3229:"5e91f7d0b135266b",3274:"858f7f9216c8b074",3286:"196c508356bb0b66",3288:"f23c8a5183e6b910",3290:"b5ba2646ad49c9fd",3304:"16305e84f4ff6598",3313:"471138e5504646a9",3324:"85e21e3313d0901c",3392:"460f5a753531f501",3419:"78b520dab7e2f96d",3437:"0ad1ecc8c5b8a679",3476:"246c30b47bded3b7",3483:"fc2a0b1185dbaa5d",3492:"ca55498822ad7796",3526:"24826331ab265b39",3606:"e5c833cdda239583",3633:"2526b2d018636ff0",3782:"8d7b66d0e37dbe76",3787:"78ebe68a043f50ce",3860:"be5b243bf7d6618c",3873:"72a9a21509f713f7",3879:"f50abf4e93e943ea",3888:"f7831045ac345aaa",3942:"085da8d58242eeab",3979:"cea8623f6e9f83ea",4024:"87fd909ae0110f50",4053:"90d71fcbe4ffd852",4080:"08a21dae9e93c547",4163:"c6ebefdd9aa5c358",4174:"b6ff75dd91a2a32e",4223:"c10556cd92fc8018",4242:"3a66c58375424a5b",4275:"8f2e531757c2a813",4295:"6c0f4838b0c9c69d",4309:"a887a10e84c44f9e",4350:"b9d80827e8eee01a",4357:"ac4f251cdac34fbe",4358:"f89b14cf7a988731",4370:"ac13b62c811f7ede",4417:"0b5ee948c3518db3",4447:"f86b52aea068b189",4474:"053807fa34066566",4539:"559c223da16b0282",4540:"03df20c499bca840",4553:"ce3eab65a260353e",4567:"7dc81a6e1c7df565",4583:"2a5df6eb3a6ea30b",4593:"676ac488744e1af5",4608:"1ff246d6b4c771f8",4634:"0332a56fdb8e26c0",4650:"61aec912b756287b",4659:"0b14de1cb2041bfd",4678:"867dfae26694be02",4763:"d0d1b1777a45e0b2",4801:"17596dbc1818c262",4814:"ccb85c56e9216a38",4823:"907850963b2bcb70",4829:"402ec60139d36417",4846:"c563765de65a34c7",4900:"b723a916eafdf743",4903:"004f583a12223dac",4963:"0f6678151a159143",4969:"1cb10af9489ea295",4976:"8870319ffbd1c31f",5005:"73745d7fcae6989e",5025:"b597364f0cf8b85a",5061:"025d30c3123eeaf6",5136:"ac897c2a56ee392f",5183:"2e5c895a2be76262",5269:"2e771096652dc113",5320:"00f00028b9163a43",5326:"adc4bf49a22f4e67",5331:"4d5d42e5253dbee2",5347:"3192e0021174aaa8",5375:"ebc026e6140b52f1",5424:"4d62f7ee887cd8b9",5482:"0907421e6bf5eeec",5491:"5cc285c4b84dac30",5498:"117ef4b6035a90c5",5518:"6c3dc9afe81a566b",5520:"eab85d7487e77510",5553:"75df19e3cc1246d6",5575:"3d90c643343a1329",5645:"0b86853ae26d9ee3",5670:"2a1b27a6fdb7aa6b",5690:"d30877807cf5c7eb",5712:"574fca2d5f06483a",5728:"8ef773d61765855e",5750:"aa57d25b74640d23",5755:"00015c284ed6fb39",5920:"9db223329ee9e11a",5922:"ce56021f8cc6ebbc",5937:"0827b5b3eb831ff0",5968:"63d5869783fad06f",5997:"226c07d9e6c496e0",6046:"00d36aea7fd5b147",6079:"f9053a63f1b97508",6089:"2dd351186ec85cc3",6099:"43e6595fcf24fc33",6110:"5ce3f75fced27aaf",6144:"f967a8228bcdf663",6155:"19719cff570d6559",6166:"ecd82a9dcb484b97",6290:"e14cf4fc52dd4539",6293:"5914fa73a9f7e777",6311:"5b9c1f74df9a8f67",6331:"758f2f66b92cada9",6339:"bc9301cc22898be0",6360:"ff0a9063773daeeb",6402:"a0070d7688ed986b",6412:"089ee787a294d10b",6455:"12b78a2660d609eb",6563:"5d618b608750f4dc",6572:"ca2463823b9b01a0",6580:"75d53830b434451f",6588:"0fbca957af7d9e6a",6647:"584c5d5cd8dfdb5a",6666:"a82467c542429379",6686:"796c782c33ab8ca9",6701:"bff0efb979f71a17",6704:"f280f0ad0f5d8644",6729:"77a5381ac8f5c9ae",6741:"06fdaf122961074e",6814:"30ff86a90cbfd921",6846:"91283f709c40802c",6859:"bacad166ee995fe0",6887:"6c81234d73740fb9",6927:"aa3914b5fb0d14d4",6931:"3c90e9fe0f7f1e66",6938:"0ccf683bd8aa8410",6948:"2719ed8731963209",6959:"5a803faf27f88e9f",7021:"b71240b1d5f6fbe4",7040:"0b14de1cb2041bfd",7041:"174bf29bd837f06d",7082:"fc816f91214026d7",7113:"39704408fef3d26e",7130:"8d24694735826c22",7142:"dbd2cf8141eece5e",7152:"c7b7f1f5e9622f21",7227:"a6b2f01487bb3d9d",7258:"6cbe24c3bcb63d1d",7425:"8b47c8e398a12dd8",7442:"097194be4a0e7d55",7455:"71d54397710b923c",7465:"867e8ff655666413",7524:"9528295a19a5837a",7525:"f433aaf1fe40c90a",7557:"bdc743175125b3d8",7610:"b1439345dbcf285d",7625:"ab66bd50d2fb61a4",7635:"166d83de1d29e758",7636:"bf91320a9ff695af",7785:"1402a4110c300764",7799:"40b047a634f96a24",7819:"3c56f48c0dc5ad5d",7844:"2bb29faa262f313e",7846:"c9705c044ab8f87a",7884:"390ae2efbbf230c4",7889:"af3e581842f34c28",7921:"c361f794cc208e06",7977:"80e4daa080a79c39",8113:"907baefc7227cfb8",8132:"74491162f08af899",8192:"5918d83ac6a0e2dc",8243:"1450514f8390977e",8257:"dd8f651f1a43fee2",8288:"9bd1d26060cb00a1",8318:"81c7ac586fcbb728",8406:"955ccfbb4b70b8c3",8430:"b1f802dcffa41626",8432:"bd66ac287c569996",8457:"b61d96d8d30215fc",8496:"046efd6301dd804f",8545:"be0c9eea6aae5971",8555:"ab3ee6358f1d64da",8656:"2ceb4e5ff5df2fca",8670:"90ede75068758e82",8704:"a1003918da6654da",8773:"614f1f4f0f845c5e",8835:"5c7821b201f35593",8848:"7c6e47cca9f0059a",8921:"fb24a4d4d4d3265b",8947:"31d3d834d8281fd9",8977:"01b9c429327004e9",9005:"33cf91e617920d4f",9006:"11537833945ec4b8",9015:"c4e40321a6503a1b",9136:"191be42a2fee842c",9178:"48a90097ee3f0b0c",9186:"3af6fcd13ab752fa",9189:"3e9d29bf275ec462",9220:"bc767ebb5adb9f49",9224:"401f9320ee58570b",9240:"d38ddbe94e0bf128",9267:"fbfd65ea31e7448c",9294:"a20485f3282321b3",9302:"726b065f2df0323a",9312:"8121a74b2042bff3",9377:"f9db706e76f04afe",9382:"bc0e11ecc88dd62c",9421:"a5c1dbcfbfdd8f52",9448:"2668b3cd408e86de",9466:"c9d8f45d14235087",9521:"e1240eb862eb32dc",9547:"7729788fff21926f",9565:"8de0671f99d12abe",9569:"2f36b2b1c2f838d7",9605:"dfac539f89cea7a2",9615:"3b62c13af671f714",9648:"8235b6fea7087b3a",9666:"a515fa6d89a71f1c",9680:"d5ceac8967e0b6a8",9690:"7773c72f0eff6dec",9841:"422321143547591a",9842:"3b71b65b30d8ef2a",9996:"18b7bca2f0ab222e"})[e]+".js",l.miniCssF=e=>"static/css/659eccb5db697b76.css",l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},l.l=(e,a,f,d)=>{if(c[e])return void c[e].push(a);if(void 0!==f)for(var b,t,r=document.getElementsByTagName("script"),o=0;o<r.length;o++){var n=r[o];if(n.getAttribute("src")==e||n.getAttribute("data-webpack")=="_N_E:"+f){b=n;break}}b||(t=!0,(b=document.createElement("script")).charset="utf-8",b.timeout=120,l.nc&&b.setAttribute("nonce",l.nc),b.setAttribute("data-webpack","_N_E:"+f),b.src=l.tu(e)),c[e]=[a];var i=(a,f)=>{b.onerror=b.onload=null,clearTimeout(u);var d=c[e];if(delete c[e],b.parentNode&&b.parentNode.removeChild(b),d&&d.forEach(e=>e(f)),a)return a(f)},u=setTimeout(i.bind(null,void 0,{type:"timeout",target:b}),12e4);b.onerror=i.bind(null,b.onerror),b.onload=i.bind(null,b.onload),t&&document.head.appendChild(b)},l.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.tt=()=>(void 0===d&&(d={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(d=trustedTypes.createPolicy("nextjs#bundler",d))),d),l.tu=e=>l.tt().createScriptURL(e),l.p="/_next/",b={8068:0},l.f.miniCss=(e,a)=>{if(b[e])a.push(b[e]);else 0!==b[e]&&({1838:1})[e]&&a.push(b[e]=new Promise((a,f)=>{var c,d=l.miniCssF(e),b=l.p+d;if(((e,a)=>{for(var f=document.getElementsByTagName("link"),c=0;c<f.length;c++){var d=f[c],b=d.getAttribute("data-href")||d.getAttribute("href");if("stylesheet"===d.rel&&(b===e||b===a))return d}for(var t=document.getElementsByTagName("style"),c=0;c<t.length;c++){var d=t[c],b=d.getAttribute("data-href");if(b===e||b===a)return d}})(d,b))return a();(c=document.createElement("link")).rel="stylesheet",c.type="text/css",c.onerror=c.onload=d=>{if(c.onerror=c.onload=null,"load"===d.type)a();else{var t=d&&("load"===d.type?"missing":d.type),r=d&&d.target&&d.target.href||b,o=Error("Loading CSS chunk "+e+" failed.\n("+r+")");o.code="CSS_CHUNK_LOAD_FAILED",o.type=t,o.request=r,c.parentNode.removeChild(c),f(o)}},c.href=b,function(e){if("function"==typeof _N_E_STYLE_LOAD){let{href:a,onload:f,onerror:c}=e;_N_E_STYLE_LOAD(0===a.indexOf(window.location.origin)?new URL(a).pathname:a).then(()=>null==f?void 0:f.call(e,{type:"load"}),()=>null==c?void 0:c.call(e,{}))}else document.head.appendChild(e)}(c)}).then(()=>{b[e]=0},a=>{throw delete b[e],a}))},t={8068:0,2557:0,7513:0},l.f.j=(e,a)=>{var f=l.o(t,e)?t[e]:void 0;if(0!==f)if(f)a.push(f[2]);else if(/^(1838|2557|7513|8068)$/.test(e))t[e]=0;else{var c=new Promise((a,c)=>f=t[e]=[a,c]);a.push(f[2]=c);var d=l.p+l.u(e),b=Error();l.l(d,a=>{if(l.o(t,e)&&(0!==(f=t[e])&&(t[e]=void 0),f)){var c=a&&("load"===a.type?"missing":a.type),d=a&&a.target&&a.target.src;b.message="Loading chunk "+e+" failed.\n("+c+": "+d+")",b.name="ChunkLoadError",b.type=c,b.request=d,f[1](b)}},"chunk-"+e,e)}},l.O.j=e=>0===t[e],r=(e,a)=>{var f,c,[d,b,r]=a,o=0;if(d.some(e=>0!==t[e])){for(f in b)l.o(b,f)&&(l.m[f]=b[f]);if(r)var n=r(l)}for(e&&e(a);o<d.length;o++)c=d[o],l.o(t,c)&&t[c]&&t[c][0](),t[c]=0;return l.O(n)},(o=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(r.bind(null,0)),o.push=r.bind(null,o.push.bind(o)),l.nc=void 0})();
@@ -353,8 +353,8 @@ ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
353
353
  endif
354
354
 
355
355
  quiet_cmd_regen_makefile = ACTION Regenerating $@
356
- cmd_regen_makefile = cd $(srcdir); /opt/hostedtoolcache/node/24.13.0/x64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/home/runner/.cache/node-gyp/24.13.0" "-Dnode_gyp_dir=/opt/hostedtoolcache/node/24.13.0/x64/lib/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=/home/runner/.cache/node-gyp/24.13.0/<(target_arch)/node.lib" "-Dmodule_root_dir=/home/runner/_work/gsd-2/gsd-2/web/node_modules/node-pty" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/home/runner/_work/gsd-2/gsd-2/web/node_modules/node-pty/build/config.gypi -I/opt/hostedtoolcache/node/24.13.0/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi -I/home/runner/.cache/node-gyp/24.13.0/include/node/common.gypi "--toplevel-dir=." binding.gyp
357
- Makefile: $(srcdir)/../../../../../../../../opt/hostedtoolcache/node/24.13.0/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi $(srcdir)/../../../../../../.cache/node-gyp/24.13.0/include/node/common.gypi $(srcdir)/../node-addon-api/except.gypi $(srcdir)/../node-addon-api/node_addon_api.gyp $(srcdir)/../node-addon-api/noexcept.gypi $(srcdir)/binding.gyp $(srcdir)/build/config.gypi
356
+ cmd_regen_makefile = cd $(srcdir); /__t/node/24.13.0/x64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/github/home/.cache/node-gyp/24.13.0" "-Dnode_gyp_dir=/__t/node/24.13.0/x64/lib/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=/github/home/.cache/node-gyp/24.13.0/<(target_arch)/node.lib" "-Dmodule_root_dir=/__w/gsd-2/gsd-2/web/node_modules/node-pty" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/__w/gsd-2/gsd-2/web/node_modules/node-pty/build/config.gypi -I/__t/node/24.13.0/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi -I/github/home/.cache/node-gyp/24.13.0/include/node/common.gypi "--toplevel-dir=." binding.gyp
357
+ Makefile: $(srcdir)/../../../../../../__t/node/24.13.0/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi $(srcdir)/../../../../../../github/home/.cache/node-gyp/24.13.0/include/node/common.gypi $(srcdir)/../node-addon-api/except.gypi $(srcdir)/../node-addon-api/node_addon_api.gyp $(srcdir)/../node-addon-api/noexcept.gypi $(srcdir)/binding.gyp $(srcdir)/build/config.gypi
358
358
  $(call do_cmd,regen_makefile)
359
359
 
360
360
  # "all" is a concatenation of the "all" targets from all the included
@@ -42,13 +42,13 @@ CFLAGS_CC_Debug := \
42
42
  -std=gnu++20
43
43
 
44
44
  INCS_Debug := \
45
- -I/home/runner/.cache/node-gyp/24.13.0/include/node \
46
- -I/home/runner/.cache/node-gyp/24.13.0/src \
47
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/config \
48
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
49
- -I/home/runner/.cache/node-gyp/24.13.0/deps/uv/include \
50
- -I/home/runner/.cache/node-gyp/24.13.0/deps/zlib \
51
- -I/home/runner/.cache/node-gyp/24.13.0/deps/v8/include \
45
+ -I/github/home/.cache/node-gyp/24.13.0/include/node \
46
+ -I/github/home/.cache/node-gyp/24.13.0/src \
47
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/config \
48
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
49
+ -I/github/home/.cache/node-gyp/24.13.0/deps/uv/include \
50
+ -I/github/home/.cache/node-gyp/24.13.0/deps/zlib \
51
+ -I/github/home/.cache/node-gyp/24.13.0/deps/v8/include \
52
52
  -I$(srcdir)/../node-addon-api
53
53
 
54
54
  DEFS_Release := \
@@ -89,13 +89,13 @@ CFLAGS_CC_Release := \
89
89
  -std=gnu++20
90
90
 
91
91
  INCS_Release := \
92
- -I/home/runner/.cache/node-gyp/24.13.0/include/node \
93
- -I/home/runner/.cache/node-gyp/24.13.0/src \
94
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/config \
95
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
96
- -I/home/runner/.cache/node-gyp/24.13.0/deps/uv/include \
97
- -I/home/runner/.cache/node-gyp/24.13.0/deps/zlib \
98
- -I/home/runner/.cache/node-gyp/24.13.0/deps/v8/include \
92
+ -I/github/home/.cache/node-gyp/24.13.0/include/node \
93
+ -I/github/home/.cache/node-gyp/24.13.0/src \
94
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/config \
95
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
96
+ -I/github/home/.cache/node-gyp/24.13.0/deps/uv/include \
97
+ -I/github/home/.cache/node-gyp/24.13.0/deps/zlib \
98
+ -I/github/home/.cache/node-gyp/24.13.0/deps/v8/include \
99
99
  -I$(srcdir)/../node-addon-api
100
100
 
101
101
  OBJS := \
@@ -38,13 +38,13 @@ CFLAGS_CC_Debug := \
38
38
  -std=gnu++20
39
39
 
40
40
  INCS_Debug := \
41
- -I/home/runner/.cache/node-gyp/24.13.0/include/node \
42
- -I/home/runner/.cache/node-gyp/24.13.0/src \
43
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/config \
44
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
45
- -I/home/runner/.cache/node-gyp/24.13.0/deps/uv/include \
46
- -I/home/runner/.cache/node-gyp/24.13.0/deps/zlib \
47
- -I/home/runner/.cache/node-gyp/24.13.0/deps/v8/include
41
+ -I/github/home/.cache/node-gyp/24.13.0/include/node \
42
+ -I/github/home/.cache/node-gyp/24.13.0/src \
43
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/config \
44
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
45
+ -I/github/home/.cache/node-gyp/24.13.0/deps/uv/include \
46
+ -I/github/home/.cache/node-gyp/24.13.0/deps/zlib \
47
+ -I/github/home/.cache/node-gyp/24.13.0/deps/v8/include
48
48
 
49
49
  DEFS_Release := \
50
50
  '-DNODE_GYP_MODULE_NAME=node_addon_api' \
@@ -80,13 +80,13 @@ CFLAGS_CC_Release := \
80
80
  -std=gnu++20
81
81
 
82
82
  INCS_Release := \
83
- -I/home/runner/.cache/node-gyp/24.13.0/include/node \
84
- -I/home/runner/.cache/node-gyp/24.13.0/src \
85
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/config \
86
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
87
- -I/home/runner/.cache/node-gyp/24.13.0/deps/uv/include \
88
- -I/home/runner/.cache/node-gyp/24.13.0/deps/zlib \
89
- -I/home/runner/.cache/node-gyp/24.13.0/deps/v8/include
83
+ -I/github/home/.cache/node-gyp/24.13.0/include/node \
84
+ -I/github/home/.cache/node-gyp/24.13.0/src \
85
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/config \
86
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
87
+ -I/github/home/.cache/node-gyp/24.13.0/deps/uv/include \
88
+ -I/github/home/.cache/node-gyp/24.13.0/deps/zlib \
89
+ -I/github/home/.cache/node-gyp/24.13.0/deps/v8/include
90
90
 
91
91
  OBJS :=
92
92
 
@@ -38,13 +38,13 @@ CFLAGS_CC_Debug := \
38
38
  -std=gnu++20
39
39
 
40
40
  INCS_Debug := \
41
- -I/home/runner/.cache/node-gyp/24.13.0/include/node \
42
- -I/home/runner/.cache/node-gyp/24.13.0/src \
43
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/config \
44
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
45
- -I/home/runner/.cache/node-gyp/24.13.0/deps/uv/include \
46
- -I/home/runner/.cache/node-gyp/24.13.0/deps/zlib \
47
- -I/home/runner/.cache/node-gyp/24.13.0/deps/v8/include
41
+ -I/github/home/.cache/node-gyp/24.13.0/include/node \
42
+ -I/github/home/.cache/node-gyp/24.13.0/src \
43
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/config \
44
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
45
+ -I/github/home/.cache/node-gyp/24.13.0/deps/uv/include \
46
+ -I/github/home/.cache/node-gyp/24.13.0/deps/zlib \
47
+ -I/github/home/.cache/node-gyp/24.13.0/deps/v8/include
48
48
 
49
49
  DEFS_Release := \
50
50
  '-DNODE_GYP_MODULE_NAME=node_addon_api_except' \
@@ -80,13 +80,13 @@ CFLAGS_CC_Release := \
80
80
  -std=gnu++20
81
81
 
82
82
  INCS_Release := \
83
- -I/home/runner/.cache/node-gyp/24.13.0/include/node \
84
- -I/home/runner/.cache/node-gyp/24.13.0/src \
85
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/config \
86
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
87
- -I/home/runner/.cache/node-gyp/24.13.0/deps/uv/include \
88
- -I/home/runner/.cache/node-gyp/24.13.0/deps/zlib \
89
- -I/home/runner/.cache/node-gyp/24.13.0/deps/v8/include
83
+ -I/github/home/.cache/node-gyp/24.13.0/include/node \
84
+ -I/github/home/.cache/node-gyp/24.13.0/src \
85
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/config \
86
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
87
+ -I/github/home/.cache/node-gyp/24.13.0/deps/uv/include \
88
+ -I/github/home/.cache/node-gyp/24.13.0/deps/zlib \
89
+ -I/github/home/.cache/node-gyp/24.13.0/deps/v8/include
90
90
 
91
91
  OBJS :=
92
92
 
@@ -38,13 +38,13 @@ CFLAGS_CC_Debug := \
38
38
  -std=gnu++20
39
39
 
40
40
  INCS_Debug := \
41
- -I/home/runner/.cache/node-gyp/24.13.0/include/node \
42
- -I/home/runner/.cache/node-gyp/24.13.0/src \
43
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/config \
44
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
45
- -I/home/runner/.cache/node-gyp/24.13.0/deps/uv/include \
46
- -I/home/runner/.cache/node-gyp/24.13.0/deps/zlib \
47
- -I/home/runner/.cache/node-gyp/24.13.0/deps/v8/include
41
+ -I/github/home/.cache/node-gyp/24.13.0/include/node \
42
+ -I/github/home/.cache/node-gyp/24.13.0/src \
43
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/config \
44
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
45
+ -I/github/home/.cache/node-gyp/24.13.0/deps/uv/include \
46
+ -I/github/home/.cache/node-gyp/24.13.0/deps/zlib \
47
+ -I/github/home/.cache/node-gyp/24.13.0/deps/v8/include
48
48
 
49
49
  DEFS_Release := \
50
50
  '-DNODE_GYP_MODULE_NAME=node_addon_api_maybe' \
@@ -80,13 +80,13 @@ CFLAGS_CC_Release := \
80
80
  -std=gnu++20
81
81
 
82
82
  INCS_Release := \
83
- -I/home/runner/.cache/node-gyp/24.13.0/include/node \
84
- -I/home/runner/.cache/node-gyp/24.13.0/src \
85
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/config \
86
- -I/home/runner/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
87
- -I/home/runner/.cache/node-gyp/24.13.0/deps/uv/include \
88
- -I/home/runner/.cache/node-gyp/24.13.0/deps/zlib \
89
- -I/home/runner/.cache/node-gyp/24.13.0/deps/v8/include
83
+ -I/github/home/.cache/node-gyp/24.13.0/include/node \
84
+ -I/github/home/.cache/node-gyp/24.13.0/src \
85
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/config \
86
+ -I/github/home/.cache/node-gyp/24.13.0/deps/openssl/openssl/include \
87
+ -I/github/home/.cache/node-gyp/24.13.0/deps/uv/include \
88
+ -I/github/home/.cache/node-gyp/24.13.0/deps/zlib \
89
+ -I/github/home/.cache/node-gyp/24.13.0/deps/v8/include
90
90
 
91
91
  OBJS :=
92
92
 
@@ -15,7 +15,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
15
15
  const hostname = process.env.HOSTNAME || '0.0.0.0'
16
16
 
17
17
  let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
18
- const nextConfig = {"env":{},"typescript":{"ignoreBuildErrors":true},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.mjs","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":true},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/runner/_work/gsd-2/gsd-2","cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"dynamicOnHover":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":5,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":false,"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":false,"lockDistDir":true,"isolatedDevBuild":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":false,"turbopackInferModuleSideEffects":false,"optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.mjs","serverExternalPackages":["@gsd/native","node-pty"],"turbopack":{"root":"/home/runner/_work/gsd-2/gsd-2"},"distDirRoot":".next"}
18
+ const nextConfig = {"env":{},"typescript":{"ignoreBuildErrors":true},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.mjs","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":true},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/__w/gsd-2/gsd-2","cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"dynamicOnHover":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":9,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":false,"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":false,"lockDistDir":true,"isolatedDevBuild":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":false,"turbopackInferModuleSideEffects":false,"optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.mjs","serverExternalPackages":["@gsd/native","node-pty"],"turbopack":{"root":"/__w/gsd-2/gsd-2"},"distDirRoot":".next"}
19
19
 
20
20
  process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
21
21
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gsd-pi",
3
- "version": "2.52.0",
3
+ "version": "2.53.0-dev.07ffe51",
4
4
  "description": "GSD — Get Shit Done coding agent",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gsd/pi-coding-agent",
3
- "version": "2.52.0",
3
+ "version": "2.53.0",
4
4
  "description": "Coding agent CLI (vendored from pi-mono)",
5
5
  "type": "module",
6
6
  "piConfig": {
package/pkg/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glittercowboy/gsd",
3
- "version": "2.52.0",
3
+ "version": "2.53.0",
4
4
  "piConfig": {
5
5
  "name": "gsd",
6
6
  "configDir": ".gsd"
@@ -3,15 +3,18 @@
3
3
  * ensure-workspace-builds.cjs
4
4
  *
5
5
  * Checks whether workspace packages have been compiled (dist/ exists with
6
- * index.js). If any are missing, runs the build for those packages.
6
+ * index.js) and that the build is not stale (no src/ file newer than dist/).
7
+ * If any are missing or stale, runs the build for those packages.
7
8
  *
8
9
  * Designed for the postinstall hook so that `npm install` in a fresh clone
9
- * produces a working runtime without a manual `npm run build` step.
10
+ * produces a working runtime without a manual `npm run build` step. Also
11
+ * catches the common case where `git pull` updates package sources but the
12
+ * old dist/ remains, causing TypeScript type errors.
10
13
  *
11
14
  * Skipped in CI (where the full build pipeline handles this) and when
12
15
  * installing as an end-user dependency (no packages/ directory).
13
16
  */
14
- const { existsSync } = require('fs')
17
+ const { existsSync, statSync, readdirSync } = require('fs')
15
18
  const { resolve, join } = require('path')
16
19
  const { execSync } = require('child_process')
17
20
 
@@ -34,19 +37,44 @@ const WORKSPACE_PACKAGES = [
34
37
  'pi-coding-agent',
35
38
  ]
36
39
 
37
- const missing = []
40
+ /**
41
+ * Returns the most recent mtime (ms) of any .ts file under dir, recursively.
42
+ * Returns 0 if no .ts files found.
43
+ */
44
+ function newestSrcMtime(dir) {
45
+ if (!existsSync(dir)) return 0
46
+ let newest = 0
47
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
48
+ if (entry.name === 'node_modules') continue
49
+ const full = join(dir, entry.name)
50
+ if (entry.isDirectory()) {
51
+ newest = Math.max(newest, newestSrcMtime(full))
52
+ } else if (entry.isFile() && entry.name.endsWith('.ts')) {
53
+ newest = Math.max(newest, statSync(full).mtimeMs)
54
+ }
55
+ }
56
+ return newest
57
+ }
58
+
59
+ const stale = []
38
60
  for (const pkg of WORKSPACE_PACKAGES) {
39
61
  const distIndex = join(packagesDir, pkg, 'dist', 'index.js')
40
62
  if (!existsSync(distIndex)) {
41
- missing.push(pkg)
63
+ stale.push(pkg)
64
+ continue
65
+ }
66
+ const distMtime = statSync(distIndex).mtimeMs
67
+ const srcMtime = newestSrcMtime(join(packagesDir, pkg, 'src'))
68
+ if (srcMtime > distMtime) {
69
+ stale.push(pkg)
42
70
  }
43
71
  }
44
72
 
45
- if (missing.length === 0) process.exit(0)
73
+ if (stale.length === 0) process.exit(0)
46
74
 
47
- process.stderr.write(` Building ${missing.length} workspace package(s) missing dist/: ${missing.join(', ')}\n`)
75
+ process.stderr.write(` Building ${stale.length} workspace package(s) with stale or missing dist/: ${stale.join(', ')}\n`)
48
76
 
49
- for (const pkg of missing) {
77
+ for (const pkg of stale) {
50
78
  const pkgDir = join(packagesDir, pkg)
51
79
  try {
52
80
  execSync('npm run build', { cwd: pkgDir, stdio: 'pipe' })
@@ -47,6 +47,12 @@ function shellEscapeSingle(value: string): string {
47
47
  return `'${value.replace(/'/g, `'\\''`)}'`;
48
48
  }
49
49
 
50
+ function hydrateProcessEnv(key: string, value: string): void {
51
+ // Make newly collected secrets immediately visible to the current session.
52
+ // Some extensions read process.env directly and do not reload .env on every call.
53
+ process.env[key] = value;
54
+ }
55
+
50
56
  async function writeEnvKey(filePath: string, key: string, value: string): Promise<void> {
51
57
  let content = "";
52
58
  try {
@@ -312,6 +318,7 @@ async function applySecrets(
312
318
  try {
313
319
  await writeEnvKey(opts.envFilePath, key, value);
314
320
  applied.push(key);
321
+ hydrateProcessEnv(key, value);
315
322
  } catch (err: any) {
316
323
  errors.push(`${key}: ${err.message}`);
317
324
  }
@@ -330,6 +337,7 @@ async function applySecrets(
330
337
  errors.push(`${key}: ${result.stderr.slice(0, 200)}`);
331
338
  } else {
332
339
  applied.push(key);
340
+ hydrateProcessEnv(key, value);
333
341
  }
334
342
  } catch (err: any) {
335
343
  errors.push(`${key}: ${err.message}`);
@@ -36,6 +36,15 @@ import { writeUnitRuntimeRecord } from "../unit-runtime.js";
36
36
 
37
37
  // ─── generateMilestoneReport ──────────────────────────────────────────────────
38
38
 
39
+ /**
40
+ * Resolve the base path for milestone reports.
41
+ * Prefers originalBasePath (project root) over basePath (which may be a worktree).
42
+ * Exported for testing as _resolveReportBasePath.
43
+ */
44
+ export function _resolveReportBasePath(s: Pick<AutoSession, "originalBasePath" | "basePath">): string {
45
+ return s.originalBasePath || s.basePath;
46
+ }
47
+
39
48
  /**
40
49
  * Generate and write an HTML milestone report snapshot.
41
50
  * Extracted from the milestone-transition block in autoLoop.
@@ -50,13 +59,15 @@ async function generateMilestoneReport(
50
59
  const { writeReportSnapshot } = await importExtensionModule<typeof import("../reports.js")>(import.meta.url, "../reports.js");
51
60
  const { basename } = await import("node:path");
52
61
 
53
- const snapData = await loadVisualizerData(s.basePath);
62
+ const reportBasePath = _resolveReportBasePath(s);
63
+
64
+ const snapData = await loadVisualizerData(reportBasePath);
54
65
  const completedMs = snapData.milestones.find(
55
66
  (m: { id: string }) => m.id === milestoneId,
56
67
  );
57
68
  const msTitle = completedMs?.title ?? milestoneId;
58
69
  const gsdVersion = process.env.GSD_VERSION ?? "0.0.0";
59
- const projName = basename(s.basePath);
70
+ const projName = basename(reportBasePath);
60
71
  const doneSlices = snapData.milestones.reduce(
61
72
  (acc: number, m: { slices: { done: boolean }[] }) =>
62
73
  acc + m.slices.filter((sl: { done: boolean }) => sl.done).length,
@@ -67,10 +78,10 @@ async function generateMilestoneReport(
67
78
  0,
68
79
  );
69
80
  const outPath = writeReportSnapshot({
70
- basePath: s.basePath,
81
+ basePath: reportBasePath,
71
82
  html: generateHtmlReport(snapData, {
72
83
  projectName: projName,
73
- projectPath: s.basePath,
84
+ projectPath: reportBasePath,
74
85
  gsdVersion,
75
86
  milestoneId,
76
87
  indexRelPath: "index.html",
@@ -79,7 +90,7 @@ async function generateMilestoneReport(
79
90
  milestoneTitle: msTitle,
80
91
  kind: "milestone",
81
92
  projectName: projName,
82
- projectPath: s.basePath,
93
+ projectPath: reportBasePath,
83
94
  gsdVersion,
84
95
  totalCost: snapData.totals?.cost ?? 0,
85
96
  totalTokens: snapData.totals?.tokens.total ?? 0,
@@ -250,8 +261,14 @@ export async function runPreDispatch(
250
261
  await deps.stopAuto(ctx, pi, `Merge conflict on milestone ${s.currentMilestoneId}`);
251
262
  return { action: "break", reason: "merge-conflict" };
252
263
  }
253
- // Non-conflict merge errors — log and continue
254
- logWarning("engine", "Milestone merge failed with non-conflict error", { milestone: s.currentMilestoneId!, error: String(mergeErr) });
264
+ // Non-conflict merge errors — stop auto to avoid advancing with unmerged work
265
+ logError("engine", "Milestone merge failed with non-conflict error", { milestone: s.currentMilestoneId!, error: String(mergeErr) });
266
+ ctx.ui.notify(
267
+ `Merge failed: ${mergeErr instanceof Error ? mergeErr.message : String(mergeErr)}. Resolve and run /gsd auto to resume.`,
268
+ "error",
269
+ );
270
+ await deps.stopAuto(ctx, pi, `Merge error on milestone ${s.currentMilestoneId}: ${String(mergeErr)}`);
271
+ return { action: "break", reason: "merge-failed" };
255
272
  }
256
273
 
257
274
  // PR creation (auto_pr) is handled inside mergeMilestoneToMain (#2302)
@@ -344,6 +361,13 @@ export async function runPreDispatch(
344
361
  await deps.stopAuto(ctx, pi, `Merge conflict on milestone ${s.currentMilestoneId}`);
345
362
  return { action: "break", reason: "merge-conflict" };
346
363
  }
364
+ logError("engine", "Milestone merge failed with non-conflict error", { milestone: s.currentMilestoneId!, error: String(mergeErr) });
365
+ ctx.ui.notify(
366
+ `Merge failed: ${mergeErr instanceof Error ? mergeErr.message : String(mergeErr)}. Resolve and run /gsd auto to resume.`,
367
+ "error",
368
+ );
369
+ await deps.stopAuto(ctx, pi, `Merge error on milestone ${s.currentMilestoneId}: ${String(mergeErr)}`);
370
+ return { action: "break", reason: "merge-failed" };
347
371
  }
348
372
 
349
373
  // PR creation (auto_pr) is handled inside mergeMilestoneToMain (#2302)
@@ -441,6 +465,13 @@ export async function runPreDispatch(
441
465
  await deps.stopAuto(ctx, pi, `Merge conflict on milestone ${s.currentMilestoneId}`);
442
466
  return { action: "break", reason: "merge-conflict" };
443
467
  }
468
+ logError("engine", "Milestone merge failed with non-conflict error", { milestone: s.currentMilestoneId!, error: String(mergeErr) });
469
+ ctx.ui.notify(
470
+ `Merge failed: ${mergeErr instanceof Error ? mergeErr.message : String(mergeErr)}. Resolve and run /gsd auto to resume.`,
471
+ "error",
472
+ );
473
+ await deps.stopAuto(ctx, pi, `Merge error on milestone ${s.currentMilestoneId}: ${String(mergeErr)}`);
474
+ return { action: "break", reason: "merge-failed" };
444
475
  }
445
476
 
446
477
  // PR creation (auto_pr) is handled inside mergeMilestoneToMain (#2302)
@@ -677,9 +677,14 @@ export const DISPATCH_RULES: DispatchRule[] = [
677
677
  if (validationPath) {
678
678
  const validationContent = await loadFile(validationPath);
679
679
  if (validationContent) {
680
- const hasOperationalCheck =
680
+ // Accept either the structured template format (table with MET/N/A)
681
+ // or prose evidence patterns the validation agent may emit.
682
+ const structuredMatch =
681
683
  validationContent.includes("Operational") &&
682
684
  (validationContent.includes("MET") || validationContent.includes("N/A"));
685
+ const proseMatch =
686
+ /[Oo]perational[\s:][^\n]*(?:pass|verified|confirmed|met|complete|true|yes|addressed|covered|n\/a|not\s+applicable)/i.test(validationContent);
687
+ const hasOperationalCheck = structuredMatch || proseMatch;
683
688
  if (!hasOperationalCheck) {
684
689
  return {
685
690
  action: "stop" as const,