@infinitedusky/indusk-mcp 1.31.10 → 1.31.12

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 (29) hide show
  1. package/admin/.next/BUILD_ID +1 -1
  2. package/admin/.next/build-manifest.json +3 -3
  3. package/admin/.next/fallback-build-manifest.json +3 -3
  4. package/admin/.next/server/app/_global-error.html +1 -1
  5. package/admin/.next/server/app/_global-error.rsc +1 -1
  6. package/admin/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/admin/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/admin/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/admin/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/admin/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/admin/.next/server/middleware-build-manifest.js +3 -3
  12. package/admin/.next/server/pages/500.html +1 -1
  13. package/admin/.next/trace +1 -1
  14. package/admin/.next/trace-build +1 -1
  15. package/dist/bin/cli.js +17 -0
  16. package/dist/bin/commands/prune.d.ts +20 -0
  17. package/dist/bin/commands/prune.js +121 -0
  18. package/dist/lib/eval/evaluator-runner.d.ts +20 -0
  19. package/dist/lib/eval/evaluator-runner.js +6 -2
  20. package/dist/lib/eval/persistent-evaluator.d.ts +12 -0
  21. package/dist/lib/eval/persistent-evaluator.js +4 -1
  22. package/dist/lib/prune/measure.d.ts +68 -0
  23. package/dist/lib/prune/measure.js +179 -0
  24. package/hooks/eval-trigger.js +11 -1
  25. package/package.json +1 -1
  26. package/skills/retrospective.md +32 -0
  27. /package/admin/.next/static/{sBeX2BZfXbYWwEGGXPJ1I → P5hY9vyoEe1rhpwQ1E3ZN}/_buildManifest.js +0 -0
  28. /package/admin/.next/static/{sBeX2BZfXbYWwEGGXPJ1I → P5hY9vyoEe1rhpwQ1E3ZN}/_clientMiddlewareManifest.js +0 -0
  29. /package/admin/.next/static/{sBeX2BZfXbYWwEGGXPJ1I → P5hY9vyoEe1rhpwQ1E3ZN}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- sBeX2BZfXbYWwEGGXPJ1I
1
+ P5hY9vyoEe1rhpwQ1E3ZN
@@ -7,9 +7,9 @@
7
7
  "static/chunks/03~yq9q893hmn.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/sBeX2BZfXbYWwEGGXPJ1I/_buildManifest.js",
11
- "static/sBeX2BZfXbYWwEGGXPJ1I/_ssgManifest.js",
12
- "static/sBeX2BZfXbYWwEGGXPJ1I/_clientMiddlewareManifest.js"
10
+ "static/P5hY9vyoEe1rhpwQ1E3ZN/_buildManifest.js",
11
+ "static/P5hY9vyoEe1rhpwQ1E3ZN/_ssgManifest.js",
12
+ "static/P5hY9vyoEe1rhpwQ1E3ZN/_clientMiddlewareManifest.js"
13
13
  ],
14
14
  "rootMainFiles": [
15
15
  "static/chunks/0_yzfo7pu205m.js",
@@ -5,9 +5,9 @@
5
5
  "devFiles": [],
6
6
  "polyfillFiles": [],
7
7
  "lowPriorityFiles": [
8
- "static/sBeX2BZfXbYWwEGGXPJ1I/_buildManifest.js",
9
- "static/sBeX2BZfXbYWwEGGXPJ1I/_ssgManifest.js",
10
- "static/sBeX2BZfXbYWwEGGXPJ1I/_clientMiddlewareManifest.js"
8
+ "static/P5hY9vyoEe1rhpwQ1E3ZN/_buildManifest.js",
9
+ "static/P5hY9vyoEe1rhpwQ1E3ZN/_ssgManifest.js",
10
+ "static/P5hY9vyoEe1rhpwQ1E3ZN/_clientMiddlewareManifest.js"
11
11
  ],
12
12
  "rootMainFiles": []
13
13
  }
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0_yzfo7pu205m.js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/0u1lny1.4-f8c.js" async=""></script><script src="/_next/static/chunks/036h9~rhidv.e.js" async=""></script><script src="/_next/static/chunks/turbopack-129yl57l2cd7_.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0z9652tpun_.d.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0_yzfo7pu205m.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[85530,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"sBeX2BZfXbYWwEGGXPJ1I\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[61299,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0_yzfo7pu205m.js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/0u1lny1.4-f8c.js" async=""></script><script src="/_next/static/chunks/036h9~rhidv.e.js" async=""></script><script src="/_next/static/chunks/turbopack-129yl57l2cd7_.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0z9652tpun_.d.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0_yzfo7pu205m.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[85530,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"P5hY9vyoEe1rhpwQ1E3ZN\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[61299,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
@@ -6,7 +6,7 @@
6
6
  8:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"ViewportBoundary"]
7
7
  a:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"MetadataBoundary"]
8
8
  c:I[59179,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"default",1]
9
- 0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"sBeX2BZfXbYWwEGGXPJ1I"}
9
+ 0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"P5hY9vyoEe1rhpwQ1E3ZN"}
10
10
  d:[]
11
11
  7:"$Wd"
12
12
  9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -1,5 +1,5 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"OutletBoundary"]
3
3
  3:"$Sreact.suspense"
4
- 0:{"rsc":["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"sBeX2BZfXbYWwEGGXPJ1I"}
4
+ 0:{"rsc":["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"P5hY9vyoEe1rhpwQ1E3ZN"}
5
5
  4:null
@@ -6,7 +6,7 @@
6
6
  8:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"ViewportBoundary"]
7
7
  a:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"MetadataBoundary"]
8
8
  c:I[59179,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"default",1]
9
- 0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"sBeX2BZfXbYWwEGGXPJ1I"}
9
+ 0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"P5hY9vyoEe1rhpwQ1E3ZN"}
10
10
  d:[]
11
11
  7:"$Wd"
12
12
  9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -3,4 +3,4 @@
3
3
  3:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
5
  5:I[61299,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"IconMark"]
6
- 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","link","0",{"rel":"icon","href":"/favicon.ico?favicon.0x3dzn~oxb6tn.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L5","1",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"sBeX2BZfXbYWwEGGXPJ1I"}
6
+ 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","link","0",{"rel":"icon","href":"/favicon.ico?favicon.0x3dzn~oxb6tn.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L5","1",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"P5hY9vyoEe1rhpwQ1E3ZN"}
@@ -2,4 +2,4 @@
2
2
  2:I[85530,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"default"]
3
3
  3:I[50571,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"default"]
4
4
  4:[]
5
- 0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"sBeX2BZfXbYWwEGGXPJ1I"}
5
+ 0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"P5hY9vyoEe1rhpwQ1E3ZN"}
@@ -1 +1 @@
1
- 0:{"tree":{"name":"","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"sBeX2BZfXbYWwEGGXPJ1I"}
1
+ 0:{"tree":{"name":"","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"P5hY9vyoEe1rhpwQ1E3ZN"}
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
7
7
  "static/chunks/03~yq9q893hmn.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/sBeX2BZfXbYWwEGGXPJ1I/_buildManifest.js",
11
- "static/sBeX2BZfXbYWwEGGXPJ1I/_ssgManifest.js",
12
- "static/sBeX2BZfXbYWwEGGXPJ1I/_clientMiddlewareManifest.js"
10
+ "static/P5hY9vyoEe1rhpwQ1E3ZN/_buildManifest.js",
11
+ "static/P5hY9vyoEe1rhpwQ1E3ZN/_ssgManifest.js",
12
+ "static/P5hY9vyoEe1rhpwQ1E3ZN/_clientMiddlewareManifest.js"
13
13
  ],
14
14
  "rootMainFiles": [
15
15
  "static/chunks/0_yzfo7pu205m.js",
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0_yzfo7pu205m.js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/0u1lny1.4-f8c.js" async=""></script><script src="/_next/static/chunks/036h9~rhidv.e.js" async=""></script><script src="/_next/static/chunks/turbopack-129yl57l2cd7_.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0z9652tpun_.d.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0_yzfo7pu205m.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[85530,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"sBeX2BZfXbYWwEGGXPJ1I\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[61299,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0_yzfo7pu205m.js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/0u1lny1.4-f8c.js" async=""></script><script src="/_next/static/chunks/036h9~rhidv.e.js" async=""></script><script src="/_next/static/chunks/turbopack-129yl57l2cd7_.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0z9652tpun_.d.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0_yzfo7pu205m.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[85530,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"P5hY9vyoEe1rhpwQ1E3ZN\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[61299,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
package/admin/.next/trace CHANGED
@@ -1 +1 @@
1
- [{"name":"generate-buildid","duration":138,"timestamp":1851645430740,"id":4,"parentId":1,"tags":{},"startTime":1782692143832,"traceId":"0a9e3ee49042abd3"},{"name":"load-custom-routes","duration":248,"timestamp":1851645430935,"id":5,"parentId":1,"tags":{},"startTime":1782692143833,"traceId":"0a9e3ee49042abd3"},{"name":"create-dist-dir","duration":317,"timestamp":1851645431215,"id":6,"parentId":1,"tags":{},"startTime":1782692143833,"traceId":"0a9e3ee49042abd3"},{"name":"clean","duration":35896,"timestamp":1851645432040,"id":7,"parentId":1,"tags":{},"startTime":1782692143834,"traceId":"0a9e3ee49042abd3"},{"name":"discover-routes","duration":4077,"timestamp":1851645473754,"id":8,"parentId":1,"tags":{},"startTime":1782692143875,"traceId":"0a9e3ee49042abd3"},{"name":"create-root-mapping","duration":30,"timestamp":1851645477859,"id":9,"parentId":1,"tags":{},"startTime":1782692143879,"traceId":"0a9e3ee49042abd3"},{"name":"generate-route-types","duration":12518,"timestamp":1851645478738,"id":10,"parentId":1,"tags":{},"startTime":1782692143880,"traceId":"0a9e3ee49042abd3"},{"name":"public-dir-conflict-check","duration":62,"timestamp":1851645491319,"id":11,"parentId":1,"tags":{},"startTime":1782692143893,"traceId":"0a9e3ee49042abd3"},{"name":"generate-routes-manifest","duration":1126,"timestamp":1851645491430,"id":12,"parentId":1,"tags":{},"startTime":1782692143893,"traceId":"0a9e3ee49042abd3"},{"name":"run-turbopack","duration":1801987,"timestamp":1851645494409,"id":14,"parentId":1,"tags":{},"startTime":1782692143896,"traceId":"0a9e3ee49042abd3"},{"name":"turbopack-build-events","duration":47,"timestamp":1851645655697,"id":15,"parentId":1,"tags":{},"startTime":1782692144057,"traceId":"0a9e3ee49042abd3"},{"name":"run-typescript","duration":2071113,"timestamp":1851647320350,"id":16,"parentId":1,"tags":{},"startTime":1782692145722,"traceId":"0a9e3ee49042abd3"},{"name":"generate-required-server-files","duration":554,"timestamp":1851649392393,"id":18,"parentId":1,"tags":{},"startTime":1782692147794,"traceId":"0a9e3ee49042abd3"},{"name":"check-static-error-page","duration":5470,"timestamp":1851649402848,"id":20,"parentId":19,"tags":{},"startTime":1782692147804,"traceId":"0a9e3ee49042abd3"},{"name":"is-page-static","duration":193536,"timestamp":1851649413554,"id":30,"parentId":22,"tags":{},"startTime":1782692147815,"traceId":"0a9e3ee49042abd3"},{"name":"check-page","duration":203163,"timestamp":1851649404016,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1782692147806,"traceId":"0a9e3ee49042abd3"},{"name":"is-page-static","duration":269852,"timestamp":1851649419581,"id":33,"parentId":24,"tags":{},"startTime":1782692147821,"traceId":"0a9e3ee49042abd3"},{"name":"check-page","duration":285121,"timestamp":1851649404350,"id":24,"parentId":19,"tags":{"page":"/p/[project]"},"startTime":1782692147806,"traceId":"0a9e3ee49042abd3"},{"name":"is-page-static","duration":288143,"timestamp":1851649413415,"id":29,"parentId":21,"tags":{},"startTime":1782692147815,"traceId":"0a9e3ee49042abd3"},{"name":"check-page","duration":298337,"timestamp":1851649403294,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1782692147805,"traceId":"0a9e3ee49042abd3"},{"name":"is-page-static","duration":289801,"timestamp":1851649413580,"id":31,"parentId":23,"tags":{},"startTime":1782692147815,"traceId":"0a9e3ee49042abd3"},{"name":"check-page","duration":299264,"timestamp":1851649404151,"id":23,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1782692147806,"traceId":"0a9e3ee49042abd3"},{"name":"is-page-static","duration":305914,"timestamp":1851649419489,"id":32,"parentId":28,"tags":{},"startTime":1782692147821,"traceId":"0a9e3ee49042abd3"},{"name":"check-page","duration":317242,"timestamp":1851649408225,"id":28,"parentId":19,"tags":{"page":"/"},"startTime":1782692147810,"traceId":"0a9e3ee49042abd3"},{"name":"is-page-static","duration":322513,"timestamp":1851649419661,"id":34,"parentId":25,"tags":{},"startTime":1782692147821,"traceId":"0a9e3ee49042abd3"},{"name":"check-page","duration":335384,"timestamp":1851649406835,"id":25,"parentId":19,"tags":{"page":"/p/[project]/plan/[name]"},"startTime":1782692147808,"traceId":"0a9e3ee49042abd3"},{"name":"is-page-static","duration":327879,"timestamp":1851649419752,"id":36,"parentId":27,"tags":{},"startTime":1782692147821,"traceId":"0a9e3ee49042abd3"},{"name":"check-page","duration":340483,"timestamp":1851649407223,"id":27,"parentId":19,"tags":{"page":"/p/[project]/scorecards"},"startTime":1782692147809,"traceId":"0a9e3ee49042abd3"},{"name":"is-page-static","duration":344500,"timestamp":1851649419709,"id":35,"parentId":26,"tags":{},"startTime":1782692147821,"traceId":"0a9e3ee49042abd3"},{"name":"check-page","duration":357179,"timestamp":1851649407068,"id":26,"parentId":19,"tags":{"page":"/p/[project]/research/[slug]"},"startTime":1782692147809,"traceId":"0a9e3ee49042abd3"},{"name":"static-check","duration":361746,"timestamp":1851649402526,"id":19,"parentId":1,"tags":{},"startTime":1782692147804,"traceId":"0a9e3ee49042abd3"},{"name":"write-routes-manifest","duration":658,"timestamp":1851649769086,"id":38,"parentId":1,"tags":{},"startTime":1782692148171,"traceId":"0a9e3ee49042abd3"},{"name":"load-dotenv","duration":19,"timestamp":1851649782989,"id":41,"parentId":40,"tags":{},"startTime":1782692148185,"traceId":"0a9e3ee49042abd3"},{"name":"run-export-path-map","duration":192,"timestamp":1851649785284,"id":42,"parentId":40,"tags":{},"startTime":1782692148187,"traceId":"0a9e3ee49042abd3"},{"name":"next-export","duration":292532,"timestamp":1851649782442,"id":40,"parentId":1,"tags":{},"startTime":1782692148184,"traceId":"0a9e3ee49042abd3"},{"name":"move-exported-app-global-error-","duration":4304,"timestamp":1851650075649,"id":43,"parentId":39,"tags":{},"startTime":1782692148477,"traceId":"0a9e3ee49042abd3"},{"name":"static-generation","duration":304190,"timestamp":1851649778106,"id":39,"parentId":1,"tags":{},"startTime":1782692148180,"traceId":"0a9e3ee49042abd3"},{"name":"write-routes-manifest","duration":1205,"timestamp":1851650082762,"id":44,"parentId":1,"tags":{},"startTime":1782692148484,"traceId":"0a9e3ee49042abd3"},{"name":"print-tree-view","duration":1127,"timestamp":1851650098774,"id":45,"parentId":1,"tags":{},"startTime":1782692148500,"traceId":"0a9e3ee49042abd3"},{"name":"write-route-bundle-stats","duration":3334,"timestamp":1851650099955,"id":46,"parentId":1,"tags":{},"startTime":1782692148502,"traceId":"0a9e3ee49042abd3"},{"name":"telemetry-flush","duration":483017,"timestamp":1851650103303,"id":47,"parentId":1,"tags":{},"startTime":1782692148505,"traceId":"0a9e3ee49042abd3"},{"name":"next-build","duration":5277042,"timestamp":1851645309304,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1782692143711,"traceId":"0a9e3ee49042abd3"}]
1
+ [{"name":"generate-buildid","duration":103,"timestamp":1958642449279,"id":4,"parentId":1,"tags":{},"startTime":1782799140798,"traceId":"520d141fd8856f4c"},{"name":"load-custom-routes","duration":205,"timestamp":1958642449434,"id":5,"parentId":1,"tags":{},"startTime":1782799140798,"traceId":"520d141fd8856f4c"},{"name":"create-dist-dir","duration":110,"timestamp":1958642449651,"id":6,"parentId":1,"tags":{},"startTime":1782799140798,"traceId":"520d141fd8856f4c"},{"name":"clean","duration":23896,"timestamp":1958642450430,"id":7,"parentId":1,"tags":{},"startTime":1782799140799,"traceId":"520d141fd8856f4c"},{"name":"discover-routes","duration":3543,"timestamp":1958642479468,"id":8,"parentId":1,"tags":{},"startTime":1782799140828,"traceId":"520d141fd8856f4c"},{"name":"create-root-mapping","duration":36,"timestamp":1958642483045,"id":9,"parentId":1,"tags":{},"startTime":1782799140832,"traceId":"520d141fd8856f4c"},{"name":"generate-route-types","duration":12159,"timestamp":1958642484091,"id":10,"parentId":1,"tags":{},"startTime":1782799140833,"traceId":"520d141fd8856f4c"},{"name":"public-dir-conflict-check","duration":39,"timestamp":1958642496295,"id":11,"parentId":1,"tags":{},"startTime":1782799140845,"traceId":"520d141fd8856f4c"},{"name":"generate-routes-manifest","duration":1194,"timestamp":1958642496375,"id":12,"parentId":1,"tags":{},"startTime":1782799140845,"traceId":"520d141fd8856f4c"},{"name":"run-turbopack","duration":2217141,"timestamp":1958642499354,"id":14,"parentId":1,"tags":{},"startTime":1782799140848,"traceId":"520d141fd8856f4c"},{"name":"turbopack-build-events","duration":52,"timestamp":1958642641578,"id":15,"parentId":1,"tags":{},"startTime":1782799140990,"traceId":"520d141fd8856f4c"},{"name":"run-typescript","duration":2609784,"timestamp":1958644828569,"id":16,"parentId":1,"tags":{},"startTime":1782799143177,"traceId":"520d141fd8856f4c"},{"name":"generate-required-server-files","duration":1757,"timestamp":1958647444288,"id":18,"parentId":1,"tags":{},"startTime":1782799145793,"traceId":"520d141fd8856f4c"},{"name":"check-static-error-page","duration":8719,"timestamp":1958647457942,"id":20,"parentId":19,"tags":{},"startTime":1782799145807,"traceId":"520d141fd8856f4c"},{"name":"is-page-static","duration":174061,"timestamp":1958647473402,"id":30,"parentId":22,"tags":{},"startTime":1782799145822,"traceId":"520d141fd8856f4c"},{"name":"check-page","duration":188058,"timestamp":1958647459471,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1782799145808,"traceId":"520d141fd8856f4c"},{"name":"is-page-static","duration":211824,"timestamp":1958647473431,"id":31,"parentId":23,"tags":{},"startTime":1782799145822,"traceId":"520d141fd8856f4c"},{"name":"check-page","duration":225605,"timestamp":1958647459683,"id":23,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1782799145808,"traceId":"520d141fd8856f4c"},{"name":"is-page-static","duration":217298,"timestamp":1958647473200,"id":29,"parentId":21,"tags":{},"startTime":1782799145822,"traceId":"520d141fd8856f4c"},{"name":"check-page","duration":232039,"timestamp":1958647458483,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1782799145807,"traceId":"520d141fd8856f4c"},{"name":"is-page-static","duration":219521,"timestamp":1958647476682,"id":32,"parentId":28,"tags":{},"startTime":1782799145825,"traceId":"520d141fd8856f4c"},{"name":"check-page","duration":229717,"timestamp":1958647466517,"id":28,"parentId":19,"tags":{"page":"/"},"startTime":1782799145815,"traceId":"520d141fd8856f4c"},{"name":"is-page-static","duration":233452,"timestamp":1958647476757,"id":33,"parentId":24,"tags":{},"startTime":1782799145826,"traceId":"520d141fd8856f4c"},{"name":"check-page","duration":244686,"timestamp":1958647465576,"id":24,"parentId":19,"tags":{"page":"/p/[project]"},"startTime":1782799145814,"traceId":"520d141fd8856f4c"},{"name":"is-page-static","duration":234408,"timestamp":1958647476815,"id":35,"parentId":26,"tags":{},"startTime":1782799145826,"traceId":"520d141fd8856f4c"},{"name":"check-page","duration":245179,"timestamp":1958647466128,"id":26,"parentId":19,"tags":{"page":"/p/[project]/research/[slug]"},"startTime":1782799145815,"traceId":"520d141fd8856f4c"},{"name":"is-page-static","duration":237854,"timestamp":1958647476789,"id":34,"parentId":25,"tags":{},"startTime":1782799145826,"traceId":"520d141fd8856f4c"},{"name":"check-page","duration":248902,"timestamp":1958647465806,"id":25,"parentId":19,"tags":{"page":"/p/[project]/plan/[name]"},"startTime":1782799145815,"traceId":"520d141fd8856f4c"},{"name":"is-page-static","duration":239025,"timestamp":1958647476844,"id":36,"parentId":27,"tags":{},"startTime":1782799145826,"traceId":"520d141fd8856f4c"},{"name":"check-page","duration":249564,"timestamp":1958647466328,"id":27,"parentId":19,"tags":{"page":"/p/[project]/scorecards"},"startTime":1782799145815,"traceId":"520d141fd8856f4c"},{"name":"static-check","duration":258392,"timestamp":1958647457527,"id":19,"parentId":1,"tags":{},"startTime":1782799145806,"traceId":"520d141fd8856f4c"},{"name":"write-routes-manifest","duration":602,"timestamp":1958647721227,"id":38,"parentId":1,"tags":{},"startTime":1782799146070,"traceId":"520d141fd8856f4c"},{"name":"load-dotenv","duration":21,"timestamp":1958647728566,"id":41,"parentId":40,"tags":{},"startTime":1782799146077,"traceId":"520d141fd8856f4c"},{"name":"run-export-path-map","duration":224,"timestamp":1958647730064,"id":42,"parentId":40,"tags":{},"startTime":1782799146079,"traceId":"520d141fd8856f4c"},{"name":"next-export","duration":199309,"timestamp":1958647728018,"id":40,"parentId":1,"tags":{},"startTime":1782799146077,"traceId":"520d141fd8856f4c"},{"name":"move-exported-app-global-error-","duration":377,"timestamp":1958647927930,"id":43,"parentId":39,"tags":{},"startTime":1782799146277,"traceId":"520d141fd8856f4c"},{"name":"static-generation","duration":205232,"timestamp":1958647724036,"id":39,"parentId":1,"tags":{},"startTime":1782799146073,"traceId":"520d141fd8856f4c"},{"name":"write-routes-manifest","duration":277,"timestamp":1958647929380,"id":44,"parentId":1,"tags":{},"startTime":1782799146278,"traceId":"520d141fd8856f4c"},{"name":"print-tree-view","duration":1309,"timestamp":1958647936140,"id":45,"parentId":1,"tags":{},"startTime":1782799146285,"traceId":"520d141fd8856f4c"},{"name":"write-route-bundle-stats","duration":5194,"timestamp":1958647937462,"id":46,"parentId":1,"tags":{},"startTime":1782799146286,"traceId":"520d141fd8856f4c"},{"name":"telemetry-flush","duration":488653,"timestamp":1958647942666,"id":47,"parentId":1,"tags":{},"startTime":1782799146291,"traceId":"520d141fd8856f4c"},{"name":"next-build","duration":6073148,"timestamp":1958642358208,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1782799140707,"traceId":"520d141fd8856f4c"}]
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":1801987,"timestamp":1851645494409,"id":14,"parentId":1,"tags":{},"startTime":1782692143896,"traceId":"0a9e3ee49042abd3"},{"name":"turbopack-build-events","duration":47,"timestamp":1851645655697,"id":15,"parentId":1,"tags":{},"startTime":1782692144057,"traceId":"0a9e3ee49042abd3"},{"name":"run-typescript","duration":2071113,"timestamp":1851647320350,"id":16,"parentId":1,"tags":{},"startTime":1782692145722,"traceId":"0a9e3ee49042abd3"},{"name":"static-check","duration":361746,"timestamp":1851649402526,"id":19,"parentId":1,"tags":{},"startTime":1782692147804,"traceId":"0a9e3ee49042abd3"},{"name":"static-generation","duration":304190,"timestamp":1851649778106,"id":39,"parentId":1,"tags":{},"startTime":1782692148180,"traceId":"0a9e3ee49042abd3"},{"name":"telemetry-flush","duration":483017,"timestamp":1851650103303,"id":47,"parentId":1,"tags":{},"startTime":1782692148505,"traceId":"0a9e3ee49042abd3"},{"name":"next-build","duration":5277042,"timestamp":1851645309304,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1782692143711,"traceId":"0a9e3ee49042abd3"}]
1
+ [{"name":"run-turbopack","duration":2217141,"timestamp":1958642499354,"id":14,"parentId":1,"tags":{},"startTime":1782799140848,"traceId":"520d141fd8856f4c"},{"name":"turbopack-build-events","duration":52,"timestamp":1958642641578,"id":15,"parentId":1,"tags":{},"startTime":1782799140990,"traceId":"520d141fd8856f4c"},{"name":"run-typescript","duration":2609784,"timestamp":1958644828569,"id":16,"parentId":1,"tags":{},"startTime":1782799143177,"traceId":"520d141fd8856f4c"},{"name":"static-check","duration":258392,"timestamp":1958647457527,"id":19,"parentId":1,"tags":{},"startTime":1782799145806,"traceId":"520d141fd8856f4c"},{"name":"static-generation","duration":205232,"timestamp":1958647724036,"id":39,"parentId":1,"tags":{},"startTime":1782799146073,"traceId":"520d141fd8856f4c"},{"name":"telemetry-flush","duration":488653,"timestamp":1958647942666,"id":47,"parentId":1,"tags":{},"startTime":1782799146291,"traceId":"520d141fd8856f4c"},{"name":"next-build","duration":6073148,"timestamp":1958642358208,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1782799140707,"traceId":"520d141fd8856f4c"}]
package/dist/bin/cli.js CHANGED
@@ -69,6 +69,23 @@ program
69
69
  const { upgrade } = await import("./commands/upgrade.js");
70
70
  await upgrade({ force: opts.force === true });
71
71
  });
72
+ program
73
+ .command("prune")
74
+ .description("Audit auto-loaded context bloat (CLAUDE.md sections, lessons, current.md). --dry-run is the default and only mode in this version; no destructive action.")
75
+ .option("--dry-run", "Report only, no destructive action (default; only mode in this version)", true)
76
+ .option("--large-section-chars <n>", "Flag CLAUDE.md sections larger than this many chars (default 4000)", (v) => Number.parseInt(v, 10))
77
+ .option("--stale-lesson-days <n>", "Flag lessons untouched for more than this many days (default 180)", (v) => Number.parseInt(v, 10))
78
+ .option("--stale-section-days <n>", "Flag current.md per-agent sections whose lastUpdated is older than this (default 7)", (v) => Number.parseInt(v, 10))
79
+ .action(async function () {
80
+ const opts = this.opts();
81
+ const { prune } = await import("./commands/prune.js");
82
+ await prune(rootOrExit(), {
83
+ dryRun: opts.dryRun !== false,
84
+ largeSectionChars: opts.largeSectionChars,
85
+ staleLessonDays: opts.staleLessonDays,
86
+ staleSectionDays: opts.staleSectionDays,
87
+ });
88
+ });
72
89
  const ext = program
73
90
  .command("extensions")
74
91
  .description("Manage extensions (built-in and third-party)");
@@ -0,0 +1,20 @@
1
+ /**
2
+ * `indusk prune --dry-run` — context-budget measurement surface.
3
+ *
4
+ * Reports CLAUDE.md size by section, per-lesson ages, per-current-md-section
5
+ * ages, and total auto-loaded bytes. Recommends manual cleanup commands.
6
+ *
7
+ * `--dry-run` is the DEFAULT — no destructive action in v1. Auto-pruning
8
+ * (`--apply`) is intentionally deferred to a future architectural plan
9
+ * (Piece 3 of context-budget). v1 surfaces; operator decides.
10
+ *
11
+ * See `.indusk/planning/context-budget/` for full design.
12
+ */
13
+ interface PruneOptions {
14
+ dryRun?: boolean;
15
+ largeSectionChars?: number;
16
+ staleLessonDays?: number;
17
+ staleSectionDays?: number;
18
+ }
19
+ export declare function prune(projectRoot: string, opts?: PruneOptions): Promise<void>;
20
+ export {};
@@ -0,0 +1,121 @@
1
+ /**
2
+ * `indusk prune --dry-run` — context-budget measurement surface.
3
+ *
4
+ * Reports CLAUDE.md size by section, per-lesson ages, per-current-md-section
5
+ * ages, and total auto-loaded bytes. Recommends manual cleanup commands.
6
+ *
7
+ * `--dry-run` is the DEFAULT — no destructive action in v1. Auto-pruning
8
+ * (`--apply`) is intentionally deferred to a future architectural plan
9
+ * (Piece 3 of context-budget). v1 surfaces; operator decides.
10
+ *
11
+ * See `.indusk/planning/context-budget/` for full design.
12
+ */
13
+ import { measureProjectContext } from "../../lib/prune/measure.js";
14
+ export async function prune(projectRoot, opts = {}) {
15
+ // --dry-run is the default. v1 has no other mode.
16
+ if (opts.dryRun === false) {
17
+ console.error("Error: --dry-run is the only supported mode in this version. " +
18
+ "Auto-pruning (--apply) is intentionally deferred to a future architectural " +
19
+ "plan. See .indusk/planning/context-budget/ for the design.");
20
+ process.exit(2);
21
+ }
22
+ const thresholds = {};
23
+ if (opts.largeSectionChars !== undefined)
24
+ thresholds.large_section_chars = opts.largeSectionChars;
25
+ if (opts.staleLessonDays !== undefined)
26
+ thresholds.stale_lesson_days = opts.staleLessonDays;
27
+ if (opts.staleSectionDays !== undefined)
28
+ thresholds.stale_section_days = opts.staleSectionDays;
29
+ const report = measureProjectContext(projectRoot, thresholds);
30
+ printReport(projectRoot, report);
31
+ // Always exit 0 — this is informational, never an error.
32
+ process.exit(0);
33
+ }
34
+ function printReport(projectRoot, report) {
35
+ console.info(`\n[indusk prune --dry-run] context-budget audit for ${projectRoot}\n`);
36
+ if (report.notes.length > 0) {
37
+ for (const note of report.notes)
38
+ console.info(` note: ${note}`);
39
+ console.info("");
40
+ }
41
+ printClaudeMd(report);
42
+ printCurrentMd(report);
43
+ printLessons(report);
44
+ printSummary(report);
45
+ }
46
+ function printClaudeMd(report) {
47
+ console.info("CLAUDE.md sections:");
48
+ if (report.claudeMd.length === 0) {
49
+ console.info(" (no CLAUDE.md or no ## sections found)\n");
50
+ return;
51
+ }
52
+ for (const section of report.claudeMd) {
53
+ const marker = section.flagged ? " ⚠ " : " ";
54
+ console.info(`${marker}${section.title.padEnd(30)} ${formatBytes(section.sizeChars)}`);
55
+ if (section.recommendedAction) {
56
+ console.info(` → ${section.recommendedAction}`);
57
+ }
58
+ }
59
+ console.info("");
60
+ }
61
+ function printCurrentMd(report) {
62
+ console.info("current.md:");
63
+ if (!report.currentMd.exists) {
64
+ console.info(" (not found — run indusk init or check workbench root)\n");
65
+ return;
66
+ }
67
+ console.info(` total size: ${formatBytes(report.currentMd.totalSizeChars)}, ` +
68
+ `shared section: ${formatBytes(report.currentMd.sharedSectionSizeChars)}, ` +
69
+ `agent sections: ${report.currentMd.sectionCount}`);
70
+ if (report.currentMd.staleSections.length > 0) {
71
+ console.info(` ⚠ ${report.currentMd.staleSections.length} stale per-agent section(s):`);
72
+ for (const section of report.currentMd.staleSections) {
73
+ console.info(` session ${section.sessionShort} (${section.task}) — ${section.ageDays}d old, ${formatBytes(section.sizeChars)} body`);
74
+ }
75
+ console.info(" → Consider archiving stale sections from .indusk/current.md.");
76
+ console.info(" → Auto-archive will land in context-budget Piece 3; manual edit for now.");
77
+ }
78
+ console.info("");
79
+ }
80
+ function printLessons(report) {
81
+ console.info("Lessons (.claude/lessons/):");
82
+ if (report.lessons.length === 0) {
83
+ console.info(" (none found)\n");
84
+ return;
85
+ }
86
+ const flagged = report.lessons.filter((l) => l.flagged);
87
+ console.info(` total: ${report.lessons.length} lesson(s); ${flagged.length} stale`);
88
+ if (flagged.length > 0) {
89
+ console.info(" ⚠ Stale (consider reviewing or removing):");
90
+ for (const lesson of flagged) {
91
+ console.info(` ${lesson.name.padEnd(50)} ${lesson.ageDays}d old (${lesson.lastModified.slice(0, 10)})`);
92
+ }
93
+ console.info(" → Lessons referencing code/conventions that no longer exist are dead weight.");
94
+ console.info(" → Review each; `rm -i <path>` after confirming irrelevance.");
95
+ }
96
+ console.info("");
97
+ }
98
+ function printSummary(report) {
99
+ const flaggedClaudeMd = report.claudeMd.filter((s) => s.flagged).length;
100
+ const flaggedLessons = report.lessons.filter((l) => l.flagged).length;
101
+ const staleSections = report.currentMd.staleSections.length;
102
+ const totalFlagged = flaggedClaudeMd + flaggedLessons + staleSections;
103
+ console.info("Summary:");
104
+ console.info(` Estimated auto-loaded bytes per catchup: ${formatBytes(report.estimatedAutoLoadBytes)}`);
105
+ console.info(` Flagged: ${flaggedClaudeMd} CLAUDE.md section(s), ${flaggedLessons} lesson(s), ${staleSections} current.md section(s)`);
106
+ if (totalFlagged === 0) {
107
+ console.info(" ✓ No bloat detected at current thresholds.");
108
+ }
109
+ else {
110
+ console.info(" → No destructive action taken (this is --dry-run; v1 has no --apply mode).");
111
+ console.info(" → See .indusk/planning/context-budget/ for the distillation discipline.");
112
+ }
113
+ console.info("");
114
+ }
115
+ function formatBytes(n) {
116
+ if (n < 1024)
117
+ return `${n}B`;
118
+ if (n < 1024 * 1024)
119
+ return `${(n / 1024).toFixed(1)}KB`;
120
+ return `${(n / 1024 / 1024).toFixed(1)}MB`;
121
+ }
@@ -7,7 +7,27 @@
7
7
  */
8
8
  import type { EvalErrorEntry, EvalScorecard } from "./types.js";
9
9
  export interface EvaluatorRunOptions {
10
+ /**
11
+ * Where `.indusk/` lives — the InDusk state root. All state paths
12
+ * (results.log, evaluator-session.json, config.json, highlights) hang off
13
+ * this. In workbench mode this is the workbench root (NOT a git repo);
14
+ * in single-repo mode it equals `gitRoot`.
15
+ *
16
+ * CONTRACT: `hooks/eval-trigger.js` MUST pass this key as `projectRoot`.
17
+ * It passed `statePath` between 1.31.7 and 1.31.11, leaving `projectRoot`
18
+ * undefined → `initEvalOtel(undefined)` → `join(undefined, …)` crashed the
19
+ * evaluator before any work, silently killing the eval→Graphiti rail for
20
+ * weeks. Guarded by eval-trigger-evaluator-arg-contract.test.ts.
21
+ */
10
22
  projectRoot: string;
23
+ /**
24
+ * The git repo root — the cwd for the inner `claude` process so its
25
+ * `git show ${changeId}` diff-fetch runs inside the repo. In workbench mode
26
+ * this differs from `projectRoot` (state root is the non-git workbench
27
+ * root). Optional: falls back to `projectRoot` when omitted (single-repo
28
+ * callers and the baseline CLI).
29
+ */
30
+ gitRoot?: string;
11
31
  changeId: string;
12
32
  transcriptPath: string;
13
33
  mode: "eval" | "baseline";
@@ -72,8 +72,10 @@ export function runEvaluatorBackground(opts) {
72
72
  ];
73
73
  // Not detached — the eval-trigger hook already spawns this in a separate
74
74
  // node process. Detaching + unref causes the close handler to never fire.
75
+ // cwd is the git repo (gitRoot) so the rubric's `git show ${changeId}` runs
76
+ // in the repo — in workbench mode that differs from the state root.
75
77
  const child = spawn("claude", args, {
76
- cwd: opts.projectRoot,
78
+ cwd: opts.gitRoot ?? opts.projectRoot,
77
79
  stdio: ["pipe", "pipe", "pipe"],
78
80
  env: { ...process.env },
79
81
  });
@@ -200,8 +202,10 @@ async function runEvaluatorSyncInner(opts, projectGroup) {
200
202
  allowedTools.join(","),
201
203
  ];
202
204
  return new Promise((resolve) => {
205
+ // cwd = git repo so `git show ${changeId}` resolves; falls back to the
206
+ // state root for single-repo callers (gitRoot === projectRoot there).
203
207
  const child = spawn("claude", args, {
204
- cwd: opts.projectRoot,
208
+ cwd: opts.gitRoot ?? opts.projectRoot,
205
209
  stdio: ["pipe", "pipe", "pipe"],
206
210
  env: { ...process.env },
207
211
  });
@@ -12,7 +12,19 @@ import type { EvalErrorEntry, EvalScorecard } from "./types.js";
12
12
  * Subsequent calls resume the session with just the new change.
13
13
  */
14
14
  export declare function runPersistentEval(opts: {
15
+ /**
16
+ * Where `.indusk/` lives (state root). All state paths hang off this.
17
+ * CONTRACT: `hooks/eval-trigger.js` MUST pass this key as `projectRoot`,
18
+ * not `statePath` — see the EvaluatorRunOptions doc in evaluator-runner.ts
19
+ * and eval-trigger-evaluator-arg-contract.test.ts for the regression this
20
+ * guards (undefined projectRoot crashed the rail 1.31.7–1.31.11).
21
+ */
15
22
  projectRoot: string;
23
+ /**
24
+ * Git repo root — cwd for the inner `claude` so `git show ${changeId}`
25
+ * resolves. Falls back to `projectRoot` when omitted (single-repo).
26
+ */
27
+ gitRoot?: string;
16
28
  changeId: string;
17
29
  transcriptPath: string;
18
30
  mode: "eval" | "baseline";
@@ -230,7 +230,10 @@ Output ONLY the JSON scorecard — no commentary.`;
230
230
  "args.resumed": session !== null,
231
231
  "args.model": session ? "(resumed)" : getEvalModel(opts.projectRoot),
232
232
  }, async (span) => {
233
- const spawned = await spawnClaude(args, prompt, opts.projectRoot);
233
+ // cwd = git repo so the rubric's `git show ${changeId}` runs in
234
+ // the repo. In workbench mode gitRoot differs from projectRoot
235
+ // (the non-git state root); single-repo callers fall back to it.
236
+ const spawned = await spawnClaude(args, prompt, opts.gitRoot ?? opts.projectRoot);
234
237
  span.setAttribute("exit.code", spawned.code ?? -1);
235
238
  span.setAttribute("stdout.length", spawned.stdout.length);
236
239
  if (spawned.code !== 0) {
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Context-budget measurement library (1.31.11).
3
+ *
4
+ * Pure function `measureProjectContext(projectRoot, thresholds?)` returns a
5
+ * structured PruneReport describing what's accreted in the project's auto-
6
+ * loaded surfaces (CLAUDE.md sections, lessons, current.md sections). The
7
+ * `indusk prune --dry-run` CLI consumes this report and prints a human-
8
+ * readable surface with recommended manual cleanup commands.
9
+ *
10
+ * The library is read-only — no writes, no side effects. Auto-pruning is
11
+ * intentionally deferred to a future architectural plan (Piece 3 of the
12
+ * context-budget brief). v1 surfaces; operator decides.
13
+ *
14
+ * See `.indusk/planning/context-budget/` for full design.
15
+ */
16
+ export interface Thresholds {
17
+ /** Flag CLAUDE.md sections larger than this. */
18
+ large_section_chars: number;
19
+ /** Flag lessons whose mtime is older than this. */
20
+ stale_lesson_days: number;
21
+ /** Flag current.md per-agent sections whose lastUpdated is older than this. */
22
+ stale_section_days: number;
23
+ }
24
+ export interface ClaudeMdSection {
25
+ title: string;
26
+ sizeChars: number;
27
+ flagged: boolean;
28
+ recommendedAction?: string;
29
+ }
30
+ export interface LessonReport {
31
+ name: string;
32
+ path: string;
33
+ sizeChars: number;
34
+ lastModified: string;
35
+ ageDays: number;
36
+ flagged: boolean;
37
+ recommendedAction?: string;
38
+ }
39
+ export interface CurrentMdStaleSection {
40
+ sessionId: string;
41
+ sessionShort: string;
42
+ task: string;
43
+ lastUpdated: string;
44
+ ageDays: number;
45
+ sizeChars: number;
46
+ }
47
+ export interface CurrentMdReport {
48
+ exists: boolean;
49
+ totalSizeChars: number;
50
+ sharedSectionSizeChars: number;
51
+ sectionCount: number;
52
+ staleSections: CurrentMdStaleSection[];
53
+ }
54
+ export interface PruneReport {
55
+ claudeMd: ClaudeMdSection[];
56
+ lessons: LessonReport[];
57
+ currentMd: CurrentMdReport;
58
+ /** Approximate total bytes loaded into every conversation today. */
59
+ estimatedAutoLoadBytes: number;
60
+ /** Diagnostic notes about what was found / missing. */
61
+ notes: string[];
62
+ }
63
+ /**
64
+ * Measure the project's auto-loaded context surfaces. Pure-read, no side
65
+ * effects. Returns a structured report the CLI prints + future tooling can
66
+ * consume programmatically.
67
+ */
68
+ export declare function measureProjectContext(projectRoot: string, thresholds?: Partial<Thresholds>): PruneReport;
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Context-budget measurement library (1.31.11).
3
+ *
4
+ * Pure function `measureProjectContext(projectRoot, thresholds?)` returns a
5
+ * structured PruneReport describing what's accreted in the project's auto-
6
+ * loaded surfaces (CLAUDE.md sections, lessons, current.md sections). The
7
+ * `indusk prune --dry-run` CLI consumes this report and prints a human-
8
+ * readable surface with recommended manual cleanup commands.
9
+ *
10
+ * The library is read-only — no writes, no side effects. Auto-pruning is
11
+ * intentionally deferred to a future architectural plan (Piece 3 of the
12
+ * context-budget brief). v1 surfaces; operator decides.
13
+ *
14
+ * See `.indusk/planning/context-budget/` for full design.
15
+ */
16
+ import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
17
+ import { join } from "node:path";
18
+ import { parseCurrentMd } from "../agents/current-md.js";
19
+ const DEFAULT_THRESHOLDS = {
20
+ large_section_chars: 4000,
21
+ stale_lesson_days: 180,
22
+ stale_section_days: 7,
23
+ };
24
+ const MS_PER_DAY = 24 * 60 * 60 * 1000;
25
+ /**
26
+ * Split CLAUDE.md body into sections by `^## ` headings. Returns the section
27
+ * title (without the `## ` prefix) and the body (everything until the next
28
+ * `## ` heading or EOF). Lines before the first `## ` are not returned (the
29
+ * `# H1` preamble is treated as overhead, not a section).
30
+ */
31
+ function splitClaudeMdSections(body) {
32
+ const lines = body.split("\n");
33
+ const sections = [];
34
+ let current = null;
35
+ for (const line of lines) {
36
+ const match = /^## (.+)$/.exec(line);
37
+ if (match) {
38
+ if (current) {
39
+ sections.push({ title: current.title, content: current.lines.join("\n") });
40
+ }
41
+ current = { title: match[1].trim(), lines: [] };
42
+ }
43
+ else if (current) {
44
+ current.lines.push(line);
45
+ }
46
+ }
47
+ if (current) {
48
+ sections.push({ title: current.title, content: current.lines.join("\n") });
49
+ }
50
+ return sections;
51
+ }
52
+ function readClaudeMd(projectRoot, thresholds) {
53
+ const claudeMdPath = join(projectRoot, "CLAUDE.md");
54
+ if (!existsSync(claudeMdPath))
55
+ return [];
56
+ const body = readFileSync(claudeMdPath, "utf-8");
57
+ const sections = splitClaudeMdSections(body);
58
+ return sections.map((s) => {
59
+ const sizeChars = s.content.length;
60
+ const flagged = sizeChars > thresholds.large_section_chars;
61
+ const out = { title: s.title, sizeChars, flagged };
62
+ if (flagged) {
63
+ out.recommendedAction = `Collapse "${s.title}" to one-line entries + links to archive. ${sizeChars} chars currently; target < ${thresholds.large_section_chars}. See .indusk/planning/context-budget/ for the distillation discipline.`;
64
+ }
65
+ return out;
66
+ });
67
+ }
68
+ function readLessons(projectRoot, thresholds) {
69
+ const lessonsDir = join(projectRoot, ".claude/lessons");
70
+ if (!existsSync(lessonsDir))
71
+ return [];
72
+ const now = Date.now();
73
+ const reports = [];
74
+ const entries = readdirSync(lessonsDir, { withFileTypes: true });
75
+ for (const entry of entries) {
76
+ if (!entry.isFile() || !entry.name.endsWith(".md"))
77
+ continue;
78
+ const path = join(lessonsDir, entry.name);
79
+ let stat;
80
+ try {
81
+ stat = statSync(path);
82
+ }
83
+ catch {
84
+ continue;
85
+ }
86
+ const ageDays = Math.floor((now - stat.mtimeMs) / MS_PER_DAY);
87
+ const flagged = ageDays > thresholds.stale_lesson_days;
88
+ const lastModified = new Date(stat.mtimeMs).toISOString();
89
+ const report = {
90
+ name: entry.name.replace(/\.md$/, ""),
91
+ path,
92
+ sizeChars: stat.size,
93
+ lastModified,
94
+ ageDays,
95
+ flagged,
96
+ };
97
+ if (flagged) {
98
+ report.recommendedAction = `Review and (if obsolete) rm -i "${path}". Untouched for ${ageDays} days; threshold is ${thresholds.stale_lesson_days}.`;
99
+ }
100
+ reports.push(report);
101
+ }
102
+ return reports.sort((a, b) => b.ageDays - a.ageDays);
103
+ }
104
+ function readCurrentMd(projectRoot, thresholds) {
105
+ const currentMdPath = join(projectRoot, ".indusk/current.md");
106
+ if (!existsSync(currentMdPath)) {
107
+ return {
108
+ exists: false,
109
+ totalSizeChars: 0,
110
+ sharedSectionSizeChars: 0,
111
+ sectionCount: 0,
112
+ staleSections: [],
113
+ };
114
+ }
115
+ const body = readFileSync(currentMdPath, "utf-8");
116
+ const parsed = parseCurrentMd(body);
117
+ const now = Date.now();
118
+ const stale = [];
119
+ for (const section of parsed.sections) {
120
+ const lastUpdatedMs = Date.parse(section.lastUpdated);
121
+ if (Number.isNaN(lastUpdatedMs))
122
+ continue;
123
+ const ageDays = Math.floor((now - lastUpdatedMs) / MS_PER_DAY);
124
+ if (ageDays <= thresholds.stale_section_days)
125
+ continue;
126
+ const sectionSize = section.inFlight.length + section.openQuestions.length + section.cursor.length;
127
+ stale.push({
128
+ sessionId: section.sessionId,
129
+ sessionShort: section.sessionShort,
130
+ task: section.task,
131
+ lastUpdated: section.lastUpdated,
132
+ ageDays,
133
+ sizeChars: sectionSize,
134
+ });
135
+ }
136
+ return {
137
+ exists: true,
138
+ totalSizeChars: body.length,
139
+ sharedSectionSizeChars: parsed.sharedSection.length,
140
+ sectionCount: parsed.sections.length,
141
+ staleSections: stale,
142
+ };
143
+ }
144
+ /**
145
+ * Measure the project's auto-loaded context surfaces. Pure-read, no side
146
+ * effects. Returns a structured report the CLI prints + future tooling can
147
+ * consume programmatically.
148
+ */
149
+ export function measureProjectContext(projectRoot, thresholds) {
150
+ const resolved = { ...DEFAULT_THRESHOLDS, ...thresholds };
151
+ const notes = [];
152
+ const induskDir = join(projectRoot, ".indusk");
153
+ if (!existsSync(induskDir)) {
154
+ notes.push(`no .indusk/ directory found at ${projectRoot} — not an InDusk project, or init not run`);
155
+ }
156
+ const claudeMd = readClaudeMd(projectRoot, resolved);
157
+ if (claudeMd.length === 0) {
158
+ notes.push("no CLAUDE.md found (or no ## sections)");
159
+ }
160
+ const lessons = readLessons(projectRoot, resolved);
161
+ if (lessons.length === 0) {
162
+ notes.push("no lessons found in .claude/lessons/");
163
+ }
164
+ const currentMd = readCurrentMd(projectRoot, resolved);
165
+ // Estimated auto-loaded bytes — approximate sum of what catchup loads.
166
+ const claudeMdBytes = claudeMd.reduce((sum, s) => sum + s.sizeChars, 0);
167
+ const lessonsBytes = lessons.reduce((sum, l) => sum + l.sizeChars, 0);
168
+ // Lessons are lazy-loaded as of 1.31.5; only titles + paths appear in
169
+ // list_lessons output. Estimate ~150 bytes per lesson for the summary.
170
+ const lessonsTitlesBytes = lessons.length * 150;
171
+ const estimatedAutoLoadBytes = claudeMdBytes + lessonsTitlesBytes + currentMd.totalSizeChars;
172
+ return {
173
+ claudeMd,
174
+ lessons,
175
+ currentMd,
176
+ estimatedAutoLoadBytes,
177
+ notes,
178
+ };
179
+ }
@@ -348,8 +348,18 @@ syslog("evaluator process started — changeId: ${changeId}");
348
348
  import("${useModule}")
349
349
  .then(m => {
350
350
  syslog("evaluator module loaded — calling ${useFunction}");
351
+ // CONTRACT: the state root MUST be passed as \`projectRoot\` (the key both
352
+ // runPersistentEval and runEvaluatorSync read). 1.31.7 renamed this to
353
+ // \`statePath\` here without updating the evaluator signatures, so
354
+ // opts.projectRoot was undefined and the evaluator crashed at
355
+ // initEvalOtel(undefined) → join(undefined,…) before any work — silently
356
+ // killing the eval→Graphiti rail. \`gitRoot\` carries the git repo so the
357
+ // inner claude's \`git show \${changeId}\` resolves in workbench mode (state
358
+ // root is the non-git workbench root). Guarded by
359
+ // eval-trigger-evaluator-arg-contract.test.ts.
351
360
  return m.${useFunction}({
352
- statePath: ${JSON.stringify(statePath)},
361
+ projectRoot: ${JSON.stringify(statePath)},
362
+ gitRoot: ${JSON.stringify(gitPath ?? statePath)},
353
363
  changeId: ${JSON.stringify(changeId)},
354
364
  transcriptPath: ${JSON.stringify(transcriptPath)},
355
365
  mode: "eval",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infinitedusky/indusk-mcp",
3
- "version": "1.31.10",
3
+ "version": "1.31.12",
4
4
  "description": "InDusk development system — skills, MCP tools, and CLI for structured AI-assisted development",
5
5
  "type": "module",
6
6
  "files": [
@@ -189,6 +189,38 @@ Re-read CLAUDE.md in full. After the entire impl is done, verify:
189
189
 
190
190
  Fix any inaccuracies. The impl may have changed things that weren't anticipated in the per-phase context updates.
191
191
 
192
+ #### Current State entries are ONE LINE + link to archive (1.31.11)
193
+
194
+ When you add a Current State entry for a newly-completed plan, write it as **one line + a link to the archive**, not as a multi-paragraph prose entry. Every retrospective accretes Current State; over 20-30 plans, paragraph entries push CLAUDE.md past 30KB of always-loaded prose. The detail lives in the archived plan + the docs site decisions/lessons pages — the Current State entry is a pointer, not a duplicate.
195
+
196
+ **Use this shape:**
197
+
198
+ ```markdown
199
+ - **{plan-name} ({version})** — one-sentence summary of what shipped. See [archive](.indusk/planning/archive/{plan-name}/) for full detail.
200
+ ```
201
+
202
+ Example:
203
+
204
+ ```markdown
205
+ - **workbench-mode-rail-integrity (1.31.10)** — eval→Graphiti pipeline works on workbench-shaped projects; 4 hooks refactored, stray-state audit added, falsification surfaced 2 more bugs both fixed. See [archive](.indusk/planning/archive/workbench-mode-rail-integrity/) for full detail.
206
+ ```
207
+
208
+ **Counter-example — do NOT write this shape going forward**:
209
+
210
+ ```markdown
211
+ - **plan-name shipped in 1.X.Y (2026-XX-XX)** — three paragraphs of detail
212
+ about what the plan did, what shipped in each phase, what bugs were
213
+ found in falsification, what lessons were captured, what's deferred to
214
+ follow-up work, with embedded code references and file paths and...
215
+ [continues for ~500 chars]
216
+ ```
217
+
218
+ The counter-example is **token bloat on every catchup**, paid by every Claude Code session forever. The one-line shape preserves discoverability (the plan name + version + link is enough for the agent to know what to query) at a fraction of the cost.
219
+
220
+ Existing multi-paragraph entries (pre-1.31.11) can be collapsed via `indusk prune --dry-run` (which surfaces them) plus manual operator cleanup — they are not auto-migrated.
221
+
222
+ Why this matters: CLAUDE.md is auto-loaded into every Claude Code session. Every byte you add accrues to every prompt indefinitely. The discipline is "thinner navigation layer, queryable detail" — see [context-budget brief](../../.indusk/planning/context-budget/brief.md) for the full rationale.
223
+
192
224
  ### Step 8: Knowledge Handoff
193
225
 
194
226
  Distill planning artifacts into the docs site so the knowledge survives archival.