@infinitedusky/indusk-mcp 1.28.12 → 1.28.14

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 (26) 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/extensions/README.md +123 -0
  16. package/extensions/asana/.env.example +35 -0
  17. package/extensions/asana/manifest.json +30 -0
  18. package/extensions/asana/skill.md +81 -0
  19. package/extensions/dash0/skill.md +7 -0
  20. package/extensions/datadog/skill.md +4 -1
  21. package/extensions/local-telemetry/skill.md +3 -1
  22. package/hooks/check-gates.js +45 -7
  23. package/package.json +1 -1
  24. /package/admin/.next/static/{2tWMjd58X-Zsw6LJ1qDp1 → 69kWAi_Oc3bJTtW4rq420}/_buildManifest.js +0 -0
  25. /package/admin/.next/static/{2tWMjd58X-Zsw6LJ1qDp1 → 69kWAi_Oc3bJTtW4rq420}/_clientMiddlewareManifest.js +0 -0
  26. /package/admin/.next/static/{2tWMjd58X-Zsw6LJ1qDp1 → 69kWAi_Oc3bJTtW4rq420}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- 2tWMjd58X-Zsw6LJ1qDp1
1
+ 69kWAi_Oc3bJTtW4rq420
@@ -7,9 +7,9 @@
7
7
  "static/chunks/03~yq9q893hmn.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/2tWMjd58X-Zsw6LJ1qDp1/_buildManifest.js",
11
- "static/2tWMjd58X-Zsw6LJ1qDp1/_ssgManifest.js",
12
- "static/2tWMjd58X-Zsw6LJ1qDp1/_clientMiddlewareManifest.js"
10
+ "static/69kWAi_Oc3bJTtW4rq420/_buildManifest.js",
11
+ "static/69kWAi_Oc3bJTtW4rq420/_ssgManifest.js",
12
+ "static/69kWAi_Oc3bJTtW4rq420/_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/2tWMjd58X-Zsw6LJ1qDp1/_buildManifest.js",
9
- "static/2tWMjd58X-Zsw6LJ1qDp1/_ssgManifest.js",
10
- "static/2tWMjd58X-Zsw6LJ1qDp1/_clientMiddlewareManifest.js"
8
+ "static/69kWAi_Oc3bJTtW4rq420/_buildManifest.js",
9
+ "static/69kWAi_Oc3bJTtW4rq420/_ssgManifest.js",
10
+ "static/69kWAi_Oc3bJTtW4rq420/_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\":\"2tWMjd58X-Zsw6LJ1qDp1\"}\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\":\"69kWAi_Oc3bJTtW4rq420\"}\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":"2tWMjd58X-Zsw6LJ1qDp1"}
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":"69kWAi_Oc3bJTtW4rq420"}
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":"2tWMjd58X-Zsw6LJ1qDp1"}
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":"69kWAi_Oc3bJTtW4rq420"}
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":"2tWMjd58X-Zsw6LJ1qDp1"}
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":"69kWAi_Oc3bJTtW4rq420"}
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":"2tWMjd58X-Zsw6LJ1qDp1"}
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":"69kWAi_Oc3bJTtW4rq420"}
@@ -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":"2tWMjd58X-Zsw6LJ1qDp1"}
5
+ 0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"69kWAi_Oc3bJTtW4rq420"}
@@ -1 +1 @@
1
- 0:{"tree":{"name":"","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"2tWMjd58X-Zsw6LJ1qDp1"}
1
+ 0:{"tree":{"name":"","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"69kWAi_Oc3bJTtW4rq420"}
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
7
7
  "static/chunks/03~yq9q893hmn.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/2tWMjd58X-Zsw6LJ1qDp1/_buildManifest.js",
11
- "static/2tWMjd58X-Zsw6LJ1qDp1/_ssgManifest.js",
12
- "static/2tWMjd58X-Zsw6LJ1qDp1/_clientMiddlewareManifest.js"
10
+ "static/69kWAi_Oc3bJTtW4rq420/_buildManifest.js",
11
+ "static/69kWAi_Oc3bJTtW4rq420/_ssgManifest.js",
12
+ "static/69kWAi_Oc3bJTtW4rq420/_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\":\"2tWMjd58X-Zsw6LJ1qDp1\"}\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\":\"69kWAi_Oc3bJTtW4rq420\"}\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":226,"timestamp":3541735999186,"id":4,"parentId":1,"tags":{},"startTime":1778188606226,"traceId":"d44b8767d2d907ac"},{"name":"load-custom-routes","duration":243,"timestamp":3541735999486,"id":5,"parentId":1,"tags":{},"startTime":1778188606226,"traceId":"d44b8767d2d907ac"},{"name":"create-dist-dir","duration":178,"timestamp":3541735999746,"id":6,"parentId":1,"tags":{},"startTime":1778188606227,"traceId":"d44b8767d2d907ac"},{"name":"clean","duration":90180,"timestamp":3541736000618,"id":7,"parentId":1,"tags":{},"startTime":1778188606228,"traceId":"d44b8767d2d907ac"},{"name":"discover-routes","duration":4668,"timestamp":3541736098442,"id":8,"parentId":1,"tags":{},"startTime":1778188606325,"traceId":"d44b8767d2d907ac"},{"name":"create-root-mapping","duration":31,"timestamp":3541736103200,"id":9,"parentId":1,"tags":{},"startTime":1778188606330,"traceId":"d44b8767d2d907ac"},{"name":"generate-route-types","duration":40255,"timestamp":3541736104127,"id":10,"parentId":1,"tags":{},"startTime":1778188606331,"traceId":"d44b8767d2d907ac"},{"name":"public-dir-conflict-check","duration":47,"timestamp":3541736144485,"id":11,"parentId":1,"tags":{},"startTime":1778188606371,"traceId":"d44b8767d2d907ac"},{"name":"generate-routes-manifest","duration":1238,"timestamp":3541736144571,"id":12,"parentId":1,"tags":{},"startTime":1778188606372,"traceId":"d44b8767d2d907ac"},{"name":"run-turbopack","duration":2090491,"timestamp":3541736148242,"id":14,"parentId":1,"tags":{},"startTime":1778188606375,"traceId":"d44b8767d2d907ac"},{"name":"turbopack-build-events","duration":113,"timestamp":3541736345433,"id":15,"parentId":1,"tags":{},"startTime":1778188606572,"traceId":"d44b8767d2d907ac"},{"name":"run-typescript","duration":2325933,"timestamp":3541738263441,"id":16,"parentId":1,"tags":{},"startTime":1778188608490,"traceId":"d44b8767d2d907ac"},{"name":"generate-required-server-files","duration":1224,"timestamp":3541740590773,"id":18,"parentId":1,"tags":{},"startTime":1778188610818,"traceId":"d44b8767d2d907ac"},{"name":"check-static-error-page","duration":3771,"timestamp":3541740606653,"id":20,"parentId":19,"tags":{},"startTime":1778188610834,"traceId":"d44b8767d2d907ac"},{"name":"is-page-static","duration":208178,"timestamp":3541740623954,"id":30,"parentId":22,"tags":{},"startTime":1778188610851,"traceId":"d44b8767d2d907ac"},{"name":"check-page","duration":222418,"timestamp":3541740609800,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778188610837,"traceId":"d44b8767d2d907ac"},{"name":"is-page-static","duration":252867,"timestamp":3541740623986,"id":31,"parentId":23,"tags":{},"startTime":1778188610851,"traceId":"d44b8767d2d907ac"},{"name":"check-page","duration":266892,"timestamp":3541740609997,"id":23,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778188610837,"traceId":"d44b8767d2d907ac"},{"name":"is-page-static","duration":253114,"timestamp":3541740623809,"id":29,"parentId":21,"tags":{},"startTime":1778188610851,"traceId":"d44b8767d2d907ac"},{"name":"check-page","duration":269753,"timestamp":3541740607179,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778188610834,"traceId":"d44b8767d2d907ac"},{"name":"is-page-static","duration":251016,"timestamp":3541740635008,"id":32,"parentId":28,"tags":{},"startTime":1778188610862,"traceId":"d44b8767d2d907ac"},{"name":"check-page","duration":275709,"timestamp":3541740610385,"id":28,"parentId":19,"tags":{"page":"/"},"startTime":1778188610837,"traceId":"d44b8767d2d907ac"},{"name":"is-page-static","duration":266615,"timestamp":3541740635224,"id":35,"parentId":26,"tags":{},"startTime":1778188610862,"traceId":"d44b8767d2d907ac"},{"name":"check-page","duration":291578,"timestamp":3541740610299,"id":26,"parentId":19,"tags":{"page":"/p/[project]/research/[slug]"},"startTime":1778188610837,"traceId":"d44b8767d2d907ac"},{"name":"is-page-static","duration":268536,"timestamp":3541740635261,"id":36,"parentId":27,"tags":{},"startTime":1778188610862,"traceId":"d44b8767d2d907ac"},{"name":"check-page","duration":293732,"timestamp":3541740610338,"id":27,"parentId":19,"tags":{"page":"/p/[project]/scorecards"},"startTime":1778188610837,"traceId":"d44b8767d2d907ac"},{"name":"is-page-static","duration":270419,"timestamp":3541740635096,"id":33,"parentId":24,"tags":{},"startTime":1778188610862,"traceId":"d44b8767d2d907ac"},{"name":"check-page","duration":295321,"timestamp":3541740610213,"id":24,"parentId":19,"tags":{"page":"/p/[project]"},"startTime":1778188610837,"traceId":"d44b8767d2d907ac"},{"name":"is-page-static","duration":273098,"timestamp":3541740635129,"id":34,"parentId":25,"tags":{},"startTime":1778188610862,"traceId":"d44b8767d2d907ac"},{"name":"check-page","duration":297995,"timestamp":3541740610258,"id":25,"parentId":19,"tags":{"page":"/p/[project]/plan/[name]"},"startTime":1778188610837,"traceId":"d44b8767d2d907ac"},{"name":"static-check","duration":301941,"timestamp":3541740606325,"id":19,"parentId":1,"tags":{},"startTime":1778188610833,"traceId":"d44b8767d2d907ac"},{"name":"write-routes-manifest","duration":369,"timestamp":3541740909123,"id":38,"parentId":1,"tags":{},"startTime":1778188611136,"traceId":"d44b8767d2d907ac"},{"name":"load-dotenv","duration":15,"timestamp":3541740925998,"id":41,"parentId":40,"tags":{},"startTime":1778188611153,"traceId":"d44b8767d2d907ac"},{"name":"run-export-path-map","duration":158,"timestamp":3541740927189,"id":42,"parentId":40,"tags":{},"startTime":1778188611154,"traceId":"d44b8767d2d907ac"},{"name":"next-export","duration":215703,"timestamp":3541740925454,"id":40,"parentId":1,"tags":{},"startTime":1778188611152,"traceId":"d44b8767d2d907ac"},{"name":"move-exported-app-global-error-","duration":405,"timestamp":3541741141813,"id":43,"parentId":39,"tags":{},"startTime":1778188611369,"traceId":"d44b8767d2d907ac"},{"name":"static-generation","duration":231616,"timestamp":3541740911464,"id":39,"parentId":1,"tags":{},"startTime":1778188611138,"traceId":"d44b8767d2d907ac"},{"name":"write-routes-manifest","duration":138,"timestamp":3541741143167,"id":44,"parentId":1,"tags":{},"startTime":1778188611370,"traceId":"d44b8767d2d907ac"},{"name":"print-tree-view","duration":1427,"timestamp":3541741148075,"id":45,"parentId":1,"tags":{},"startTime":1778188611375,"traceId":"d44b8767d2d907ac"},{"name":"write-route-bundle-stats","duration":4545,"timestamp":3541741149516,"id":46,"parentId":1,"tags":{},"startTime":1778188611376,"traceId":"d44b8767d2d907ac"},{"name":"telemetry-flush","duration":105183,"timestamp":3541741154071,"id":47,"parentId":1,"tags":{},"startTime":1778188611381,"traceId":"d44b8767d2d907ac"},{"name":"next-build","duration":5363761,"timestamp":3541735895514,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778188606122,"traceId":"d44b8767d2d907ac"}]
1
+ [{"name":"generate-buildid","duration":131,"timestamp":3726893348480,"id":4,"parentId":1,"tags":{},"startTime":1778373763498,"traceId":"70610bd7044e3212"},{"name":"load-custom-routes","duration":212,"timestamp":3726893348672,"id":5,"parentId":1,"tags":{},"startTime":1778373763498,"traceId":"70610bd7044e3212"},{"name":"create-dist-dir","duration":98,"timestamp":3726893348898,"id":6,"parentId":1,"tags":{},"startTime":1778373763498,"traceId":"70610bd7044e3212"},{"name":"clean","duration":46404,"timestamp":3726893349484,"id":7,"parentId":1,"tags":{},"startTime":1778373763499,"traceId":"70610bd7044e3212"},{"name":"discover-routes","duration":4475,"timestamp":3726893401298,"id":8,"parentId":1,"tags":{},"startTime":1778373763550,"traceId":"70610bd7044e3212"},{"name":"create-root-mapping","duration":38,"timestamp":3726893405806,"id":9,"parentId":1,"tags":{},"startTime":1778373763555,"traceId":"70610bd7044e3212"},{"name":"generate-route-types","duration":13570,"timestamp":3726893406825,"id":10,"parentId":1,"tags":{},"startTime":1778373763556,"traceId":"70610bd7044e3212"},{"name":"public-dir-conflict-check","duration":77,"timestamp":3726893420453,"id":11,"parentId":1,"tags":{},"startTime":1778373763570,"traceId":"70610bd7044e3212"},{"name":"generate-routes-manifest","duration":1114,"timestamp":3726893420589,"id":12,"parentId":1,"tags":{},"startTime":1778373763570,"traceId":"70610bd7044e3212"},{"name":"run-turbopack","duration":2153624,"timestamp":3726893423469,"id":14,"parentId":1,"tags":{},"startTime":1778373763573,"traceId":"70610bd7044e3212"},{"name":"turbopack-build-events","duration":44,"timestamp":3726893586345,"id":15,"parentId":1,"tags":{},"startTime":1778373763735,"traceId":"70610bd7044e3212"},{"name":"run-typescript","duration":3063887,"timestamp":3726895603863,"id":16,"parentId":1,"tags":{},"startTime":1778373765753,"traceId":"70610bd7044e3212"},{"name":"generate-required-server-files","duration":515,"timestamp":3726898668645,"id":18,"parentId":1,"tags":{},"startTime":1778373768818,"traceId":"70610bd7044e3212"},{"name":"check-static-error-page","duration":6907,"timestamp":3726898689988,"id":20,"parentId":19,"tags":{},"startTime":1778373768839,"traceId":"70610bd7044e3212"},{"name":"is-page-static","duration":343277,"timestamp":3726898708267,"id":30,"parentId":22,"tags":{},"startTime":1778373768857,"traceId":"70610bd7044e3212"},{"name":"check-page","duration":358011,"timestamp":3726898693768,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778373768843,"traceId":"70610bd7044e3212"},{"name":"is-page-static","duration":357244,"timestamp":3726898708315,"id":31,"parentId":23,"tags":{},"startTime":1778373768857,"traceId":"70610bd7044e3212"},{"name":"check-page","duration":371284,"timestamp":3726898694412,"id":23,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778373768844,"traceId":"70610bd7044e3212"},{"name":"is-page-static","duration":388093,"timestamp":3726898714788,"id":34,"parentId":25,"tags":{},"startTime":1778373768864,"traceId":"70610bd7044e3212"},{"name":"check-page","duration":406255,"timestamp":3726898696701,"id":25,"parentId":19,"tags":{"page":"/p/[project]/plan/[name]"},"startTime":1778373768846,"traceId":"70610bd7044e3212"},{"name":"is-page-static","duration":388666,"timestamp":3726898714383,"id":32,"parentId":28,"tags":{},"startTime":1778373768863,"traceId":"70610bd7044e3212"},{"name":"check-page","duration":406263,"timestamp":3726898696852,"id":28,"parentId":19,"tags":{"page":"/"},"startTime":1778373768846,"traceId":"70610bd7044e3212"},{"name":"is-page-static","duration":410558,"timestamp":3726898714599,"id":33,"parentId":24,"tags":{},"startTime":1778373768864,"traceId":"70610bd7044e3212"},{"name":"check-page","duration":428645,"timestamp":3726898696549,"id":24,"parentId":19,"tags":{"page":"/p/[project]"},"startTime":1778373768846,"traceId":"70610bd7044e3212"},{"name":"is-page-static","duration":418299,"timestamp":3726898707770,"id":29,"parentId":21,"tags":{},"startTime":1778373768857,"traceId":"70610bd7044e3212"},{"name":"check-page","duration":433407,"timestamp":3726898692689,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778373768842,"traceId":"70610bd7044e3212"},{"name":"is-page-static","duration":447234,"timestamp":3726898714828,"id":35,"parentId":26,"tags":{},"startTime":1778373768864,"traceId":"70610bd7044e3212"},{"name":"check-page","duration":465356,"timestamp":3726898696764,"id":26,"parentId":19,"tags":{"page":"/p/[project]/research/[slug]"},"startTime":1778373768846,"traceId":"70610bd7044e3212"},{"name":"is-page-static","duration":449927,"timestamp":3726898714869,"id":36,"parentId":27,"tags":{},"startTime":1778373768864,"traceId":"70610bd7044e3212"},{"name":"check-page","duration":468033,"timestamp":3726898696811,"id":27,"parentId":19,"tags":{"page":"/p/[project]/scorecards"},"startTime":1778373768846,"traceId":"70610bd7044e3212"},{"name":"static-check","duration":475550,"timestamp":3726898689351,"id":19,"parentId":1,"tags":{},"startTime":1778373768838,"traceId":"70610bd7044e3212"},{"name":"write-routes-manifest","duration":669,"timestamp":3726899166401,"id":38,"parentId":1,"tags":{},"startTime":1778373769316,"traceId":"70610bd7044e3212"},{"name":"load-dotenv","duration":34,"timestamp":3726899179763,"id":41,"parentId":40,"tags":{},"startTime":1778373769329,"traceId":"70610bd7044e3212"},{"name":"run-export-path-map","duration":236,"timestamp":3726899181350,"id":42,"parentId":40,"tags":{},"startTime":1778373769330,"traceId":"70610bd7044e3212"},{"name":"next-export","duration":233453,"timestamp":3726899179103,"id":40,"parentId":1,"tags":{},"startTime":1778373769328,"traceId":"70610bd7044e3212"},{"name":"move-exported-app-global-error-","duration":469,"timestamp":3726899413332,"id":43,"parentId":39,"tags":{},"startTime":1778373769562,"traceId":"70610bd7044e3212"},{"name":"static-generation","duration":241710,"timestamp":3726899173221,"id":39,"parentId":1,"tags":{},"startTime":1778373769322,"traceId":"70610bd7044e3212"},{"name":"write-routes-manifest","duration":203,"timestamp":3726899415046,"id":44,"parentId":1,"tags":{},"startTime":1778373769564,"traceId":"70610bd7044e3212"},{"name":"print-tree-view","duration":1397,"timestamp":3726899423898,"id":45,"parentId":1,"tags":{},"startTime":1778373769573,"traceId":"70610bd7044e3212"},{"name":"write-route-bundle-stats","duration":6246,"timestamp":3726899425307,"id":46,"parentId":1,"tags":{},"startTime":1778373769574,"traceId":"70610bd7044e3212"},{"name":"telemetry-flush","duration":486462,"timestamp":3726899431579,"id":47,"parentId":1,"tags":{},"startTime":1778373769581,"traceId":"70610bd7044e3212"},{"name":"next-build","duration":6681028,"timestamp":3726893237039,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778373763386,"traceId":"70610bd7044e3212"}]
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":2090491,"timestamp":3541736148242,"id":14,"parentId":1,"tags":{},"startTime":1778188606375,"traceId":"d44b8767d2d907ac"},{"name":"turbopack-build-events","duration":113,"timestamp":3541736345433,"id":15,"parentId":1,"tags":{},"startTime":1778188606572,"traceId":"d44b8767d2d907ac"},{"name":"run-typescript","duration":2325933,"timestamp":3541738263441,"id":16,"parentId":1,"tags":{},"startTime":1778188608490,"traceId":"d44b8767d2d907ac"},{"name":"static-check","duration":301941,"timestamp":3541740606325,"id":19,"parentId":1,"tags":{},"startTime":1778188610833,"traceId":"d44b8767d2d907ac"},{"name":"static-generation","duration":231616,"timestamp":3541740911464,"id":39,"parentId":1,"tags":{},"startTime":1778188611138,"traceId":"d44b8767d2d907ac"},{"name":"telemetry-flush","duration":105183,"timestamp":3541741154071,"id":47,"parentId":1,"tags":{},"startTime":1778188611381,"traceId":"d44b8767d2d907ac"},{"name":"next-build","duration":5363761,"timestamp":3541735895514,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778188606122,"traceId":"d44b8767d2d907ac"}]
1
+ [{"name":"run-turbopack","duration":2153624,"timestamp":3726893423469,"id":14,"parentId":1,"tags":{},"startTime":1778373763573,"traceId":"70610bd7044e3212"},{"name":"turbopack-build-events","duration":44,"timestamp":3726893586345,"id":15,"parentId":1,"tags":{},"startTime":1778373763735,"traceId":"70610bd7044e3212"},{"name":"run-typescript","duration":3063887,"timestamp":3726895603863,"id":16,"parentId":1,"tags":{},"startTime":1778373765753,"traceId":"70610bd7044e3212"},{"name":"static-check","duration":475550,"timestamp":3726898689351,"id":19,"parentId":1,"tags":{},"startTime":1778373768838,"traceId":"70610bd7044e3212"},{"name":"static-generation","duration":241710,"timestamp":3726899173221,"id":39,"parentId":1,"tags":{},"startTime":1778373769322,"traceId":"70610bd7044e3212"},{"name":"telemetry-flush","duration":486462,"timestamp":3726899431579,"id":47,"parentId":1,"tags":{},"startTime":1778373769581,"traceId":"70610bd7044e3212"},{"name":"next-build","duration":6681028,"timestamp":3726893237039,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778373763386,"traceId":"70610bd7044e3212"}]
@@ -0,0 +1,123 @@
1
+ # InDusk Extensions — Index
2
+
3
+ This directory holds InDusk extensions: opt-in (or required-by-default) modules that ship a manifest, an agent-facing skill, and optionally an MCP server registration, env template, or health-check command.
4
+
5
+ This index lists every shipped extension with a one-line summary and "when to use" guidance. For setup details on any individual extension, see its `skill.md`. For the runtime list of which extensions are enabled in a given project, call `mcp__indusk__extensions_status`.
6
+
7
+ The user-facing version of this index lives at [`apps/indusk-docs/src/reference/extensions/index.md`](../../indusk-docs/src/reference/extensions/index.md) and is what gets served on the docs site.
8
+
9
+ ## Decision matrix
10
+
11
+ When extensions overlap on problem space, this table tells you which one to reach for.
12
+
13
+ | Problem | Pick |
14
+ |---|---|
15
+ | Query staging/prod logs/traces/metrics from a Datadog account | `datadog` |
16
+ | Query staging/prod logs/traces/metrics from a Dash0 account | `dash0` |
17
+ | Local-only OTel during dev (no SaaS account, no internet) | `local-telemetry` |
18
+ | Add OpenTelemetry instrumentation to your service | `otel` (skill — emit side, not query side) |
19
+ | Coordinate work via Asana (tasks, projects, comments) | `asana` |
20
+ | Walk code structure (callers, callees, dead code) | `cgc` |
21
+ | Persist episodic memory across sessions (decisions, lessons, contradictions) | `graphiti` |
22
+ | Run FalkorDB locally for `cgc` or `graphiti` | `falkordb` |
23
+ | Visualize a graph (semantic-graph dashboard, network diagrams) | `sigma` |
24
+ | Drive a browser, run Lighthouse, capture network requests | `chrome-devtools` |
25
+ | Sketch hand-drawn architecture diagrams in a session | `excalidraw` |
26
+ | Author docs site with Mermaid + FullscreenDiagram | `vitepress` |
27
+ | Build / debug Dockerfiles, multi-stage builds | `docker` |
28
+ | Author Next.js 13+ App Router code | `nextjs` |
29
+ | Author React components | `react` |
30
+ | Author Solidity contracts | `solidity` |
31
+ | Style with Tailwind | `tailwind` |
32
+ | Write Vitest / Jest tests | `testing` |
33
+ | Write TypeScript with strict mode | `typescript` |
34
+
35
+ ## Grouped catalog
36
+
37
+ ### Observability — query side (read your service's data)
38
+
39
+ | Extension | One-liner | Auth | When |
40
+ |---|---|---|---|
41
+ | `dash0` | Dash0 SaaS — logs, traces, metrics, dashboards | Bearer token in env | Project ships telemetry to Dash0 |
42
+ | `datadog` | Datadog SaaS — logs, traces, metrics, monitors, security signals (16+ tools) | OAuth (browser flow) | Project ships telemetry to Datadog |
43
+ | `local-telemetry` | Native Jaeger + OTel Collector daemon, agent-queryable via MCP | None (localhost) | Dev-time only — no internet, no SaaS account |
44
+
45
+ `dash0` and `datadog` are mutually exclusive in practice (you don't run both vendors). `local-telemetry` is orthogonal — useful in dev even when staging/prod uses Dash0 or Datadog. See each skill's "Read-side only" section for the emit-vs-query split.
46
+
47
+ ### Observability — emit side (instrument your service)
48
+
49
+ | Extension | One-liner | When |
50
+ |---|---|---|
51
+ | `otel` | OpenTelemetry instrumentation patterns — auto-instrumentation, Pino logging, category filtering | Adding telemetry to a service for the first time, or tightening existing telemetry |
52
+
53
+ ### Project management
54
+
55
+ | Extension | One-liner | Auth | When |
56
+ |---|---|---|---|
57
+ | `asana` | Asana Work Graph — tasks, projects, comments, custom fields | OAuth (browser flow) | Coordinating work via Asana; cross-referencing PRs to tasks |
58
+
59
+ ### Code intelligence
60
+
61
+ | Extension | One-liner | When |
62
+ |---|---|---|
63
+ | `cgc` | CodeGraphContext — structural code intelligence (callers, callees, dead code) | Investigating blast radius of a change; hunting unused code |
64
+ | `graphiti` | Temporal knowledge graph — episodic memory across sessions | Cross-session context retention, contradiction detection |
65
+ | `sigma` | Sigma.js WebGL graph visualization | Rendering large semantic graphs in admin UI / dashboards |
66
+ | `falkordb` | FalkorDB graph database — shared OrbStack instance | Infrastructure for `cgc` and `graphiti` |
67
+
68
+ ### Browser & web automation
69
+
70
+ | Extension | One-liner | When |
71
+ |---|---|---|
72
+ | `chrome-devtools` | Browser automation, performance traces with CrUX data, Lighthouse audits, screenshots | Investigating a UI bug, running a Lighthouse audit, capturing network requests for a flaky integration |
73
+
74
+ ### Diagrams & docs
75
+
76
+ | Extension | One-liner | When |
77
+ |---|---|---|
78
+ | `excalidraw` | Hand-drawn diagrams in chat | Conceptual sketches, debug illustrations |
79
+ | `vitepress` | VitePress patterns — Mermaid diagrams, sidebar config, FullscreenDiagram | Authoring docs site content |
80
+
81
+ ### Domain / framework skills (skill-only, no MCP server)
82
+
83
+ These extensions ship just a `skill.md` — no MCP server, no env config, no health checks. They're pure agent-facing knowledge that activates when the project uses the relevant tech.
84
+
85
+ | Extension | One-liner | When |
86
+ |---|---|---|
87
+ | `docker` | Multi-stage builds, layer caching, security, Alpine gotchas | Project has a Dockerfile |
88
+ | `nextjs` | App Router, server components, caching | Project uses Next.js 13+ |
89
+ | `react` | Hooks, component composition, anti-patterns | Project uses React |
90
+ | `solidity` | Reentrancy, overflow, gas optimization, OpenZeppelin | Project has Solidity contracts |
91
+ | `tailwind` | Utility-first, responsive, dark mode | Project uses Tailwind |
92
+ | `testing` | Arrange-act-assert, test isolation, mocking | Project has tests |
93
+ | `typescript` | Strict mode, generics, discriminated unions | Project uses TypeScript |
94
+
95
+ ## How extensions are wired
96
+
97
+ A complete extension at minimum has:
98
+
99
+ ```
100
+ extensions/{name}/
101
+ ├── manifest.json # name, description, provides, detect, mcp_server (optional), hooks (optional)
102
+ └── skill.md # agent-facing usage guide
103
+ ```
104
+
105
+ Extensions with secrets or runtime config also have:
106
+
107
+ ```
108
+ ├── .env.example # template; copied to .indusk/extensions/{name}/.env on enable
109
+ ```
110
+
111
+ The manifest's `provides.skill: true` opts the skill into syncing with the project's `.claude/skills/{name}/SKILL.md` on `indusk update`. The manifest's `mcp_server` block (if present) registers the extension's MCP server in the project's `.mcp.json` on `indusk extensions enable {name}` (or fresh init for required-by-default extensions). The manifest's `provides.health_checks` runs every `mcp__indusk__check_health` invocation; non-ok checks degrade catchup.
112
+
113
+ For the full schema + the `required: true` flag (auto-enable on init/update), see [`apps/indusk-docs/src/reference/extension-spec.md`](../../indusk-docs/src/reference/extension-spec.md).
114
+
115
+ ## Adding a new extension
116
+
117
+ 1. Create `extensions/{name}/` with `manifest.json` + `skill.md` (and `.env.example` if needed).
118
+ 2. If wrapping an MCP server, add the `mcp_server` block to the manifest. Use `DASH0_AUTH_TOKEN` / `DATADOG_MCP_URL` style env-var references — these get resolved from `.env` at enable time.
119
+ 3. Add an entry to this README (decision matrix + grouped catalog) AND to the docs version at `apps/indusk-docs/src/reference/extensions/index.md`.
120
+ 4. If the extension belongs in a problem space that already has alternatives (e.g., a third observability vendor), update the relevant sibling skills' "See Also" sections to cross-reference the new sibling.
121
+ 5. If `required: true`, add the extension to `lib/extension-loader.ts`'s default-enabled list and ensure `update.ts` migrates pre-existing projects.
122
+
123
+ The cost of an extension is small (~3 files), but the cost of LISTING an extension correctly across the catalog is real. Don't add new extensions without updating this index.
@@ -0,0 +1,35 @@
1
+ # asana extension env template
2
+ #
3
+ # Asana's official V2 MCP server uses OAuth 2.0 with PKCE on first session
4
+ # launch — there is NO API token to paste here. The only thing this .env
5
+ # configures is which endpoint URL the MCP server points at, and Asana is
6
+ # single-region so this barely changes.
7
+ #
8
+ # When this extension is enabled on a project, copy this file to
9
+ # `.indusk/extensions/asana/.env`. The Asana MCP server auto-registers on
10
+ # the next `indusk extensions enable asana` (or `indusk update`).
11
+ #
12
+ # On first Claude Code session after registration, you'll be prompted to
13
+ # complete OAuth (browser flow). Tokens expire hourly and refresh
14
+ # automatically — you re-authenticate only when the refresh token expires
15
+ # (rare).
16
+
17
+ # --- Required ---
18
+
19
+ # Asana V2 MCP endpoint. The V1 endpoint (https://mcp.asana.com/sse) was
20
+ # deprecated and shut down 2026-05-11; only V2 works.
21
+ ASANA_MCP_URL=https://mcp.asana.com/v2/mcp
22
+
23
+ # --- Notes ---
24
+ #
25
+ # Auth scope: tokens issued for the MCP server work ONLY with the MCP
26
+ # server. They cannot be reused with the standard Asana REST API.
27
+ #
28
+ # Permissions: all actions taken via MCP appear as the authorizing user.
29
+ # Access is bounded by that user's existing Asana permissions — the MCP
30
+ # token doesn't grant anything beyond what they already have.
31
+ #
32
+ # Pre-registered clients: Asana V2 does NOT support dynamic client
33
+ # registration. Claude Code is a pre-registered client, so users don't
34
+ # need to register a client_id themselves; OAuth just works. Other MCP
35
+ # clients may need to register with Asana before connecting.
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "asana",
3
+ "description": "Asana project management — query the Asana Work Graph (tasks, projects, comments, sections, custom fields, time tracking) via Asana's official V2 remote MCP server (OAuth)",
4
+ "provides": {
5
+ "skill": true,
6
+ "health_checks": [
7
+ {
8
+ "name": "asana-mcp-configured",
9
+ "command": "node -e \"const m=JSON.parse(require('fs').readFileSync('.mcp.json','utf-8'));process.exit(m.mcpServers?.asana ? 0 : 1)\""
10
+ }
11
+ ]
12
+ },
13
+ "mcp_server": {
14
+ "type": "http",
15
+ "url": "ASANA_MCP_URL",
16
+ "setup_instructions": [
17
+ "1. Copy the template:",
18
+ " cp .indusk/extensions/asana/.env.example .indusk/extensions/asana/.env",
19
+ "2. The default value (https://mcp.asana.com/v2/mcp) works for all Asana customers — Asana is single-region. No editing needed unless Asana publishes a new endpoint.",
20
+ "3. Run 'indusk extensions enable asana' again (or 'indusk update'). The MCP server gets registered in '.mcp.json'.",
21
+ "4. On first session in Claude Code, complete the OAuth flow when prompted. All actions appear as the authorizing user; access is bounded by the user's existing Asana permissions. Tokens expire hourly and refresh automatically."
22
+ ]
23
+ },
24
+ "hooks": {
25
+ "on_enable": "echo 'Asana extension enabled. Complete OAuth on first Claude Code session.'"
26
+ },
27
+ "detect": {
28
+ "mcp_server": "asana"
29
+ }
30
+ }
@@ -0,0 +1,81 @@
1
+ # Asana Project Management
2
+
3
+ Asana provides access to the Asana Work Graph — tasks, projects, sections, comments, custom fields, time tracking, attachments — via Asana's official V2 remote MCP server. You query it with `mcp__asana__*` tools during a Claude Code session.
4
+
5
+ This is **not an observability tool** (unlike `dash0` and `datadog`). Asana is for project tracking: who's working on what, what's blocked, what comments were left on a task, what's due this sprint. Reach for the Asana extension when the question is about WORK COORDINATION, not about service health.
6
+
7
+ ## One Interface (Remote MCP, OAuth)
8
+
9
+ Asana ships an **official V2 remote MCP server** at `https://mcp.asana.com/v2/mcp`. The V1 endpoint (`https://mcp.asana.com/sse`) was deprecated and shut down 2026-05-11 — V2 is the only supported version.
10
+
11
+ Setup is dead-simple compared to dash0 (no token to paste):
12
+
13
+ 1. `cp .indusk/extensions/asana/.env.example .indusk/extensions/asana/.env`
14
+ 2. `indusk extensions enable asana`
15
+ 3. Open Claude Code → first MCP call to `mcp__asana__*` triggers the OAuth flow → choose your Asana account → done.
16
+
17
+ Subsequent sessions reuse the OAuth token transparently. Access tokens expire after one hour; refresh tokens handle renewal automatically without prompting again.
18
+
19
+ ## Auth Model — OAuth, Bounded by User Permissions
20
+
21
+ Important properties of the Asana V2 OAuth flow:
22
+
23
+ - **All actions appear as the authorizing user.** If the user authorizing OAuth is a regular team member, MCP-driven edits (creating tasks, adding comments, etc.) appear as that user in audit logs. There's no service-account abstraction.
24
+ - **Permissions are bounded by the user's existing Asana access.** The MCP token cannot do anything the user couldn't already do via the Asana web UI. Querying private projects requires the user to be a member.
25
+ - **Tokens are scoped to MCP-only.** The OAuth token cannot be reused for the standard Asana REST API — separate auth flows.
26
+ - **No dynamic client registration.** Asana V2 only supports pre-registered MCP clients. Claude Code is one; if you're using a different client, you may need to register first.
27
+
28
+ ## When to Use Asana
29
+
30
+ - **"What's my queue?"** — list tasks assigned to me, sorted by due date or project
31
+ - **"What's blocking this PR?"** — fetch the linked Asana task and its comments / dependencies
32
+ - **"Where did the spec for X get written?"** — search project descriptions, task notes, comments
33
+ - **"Who's owning the Y rollout?"** — query project membership, custom-field assignment
34
+ - **"What did I miss this week?"** — list recent activity (comments, status changes) on watched projects
35
+ - **"Create a follow-up task"** — write a new task with assignee, due date, project membership, custom fields
36
+ - **Status updates from terminal-resident work** — pull progress from the codebase, paste into a project status update
37
+
38
+ ## Common MCP Tools
39
+
40
+ The exact tool list depends on Asana account features. Common tools (not exhaustive):
41
+
42
+ - `mcp__asana__list_tasks` — query tasks by project, assignee, status, search string, due date
43
+ - `mcp__asana__get_task` — fetch full task details by GID (notes, comments, custom fields, dependencies, subtasks)
44
+ - `mcp__asana__create_task` — create new tasks with assignee, project membership, custom fields
45
+ - `mcp__asana__update_task` — modify task fields (assignee, due date, status, custom fields)
46
+ - `mcp__asana__add_comment` — post a comment on a task
47
+ - `mcp__asana__list_projects` — enumerate projects in a workspace or team
48
+ - `mcp__asana__get_project` — fetch project details (members, sections, custom field schema)
49
+ - `mcp__asana__list_workspaces` — list workspaces the authenticated user belongs to
50
+ - `mcp__asana__search` — full-text search across tasks, projects, comments
51
+ - `mcp__asana__list_users` — list users in a workspace (for assignment lookups)
52
+
53
+ The full surface is product-enablement-dependent. Run `mcp__asana__list_tools` (or the discovery tool for your version) once after OAuth completes to see what's available in your account.
54
+
55
+ ## Patterns
56
+
57
+ **Linking PRs to tasks**: when a commit message or PR description references an Asana task GID or URL, use `mcp__asana__get_task` to pull the task's spec/comments into context. This is far more accurate than guessing from the PR title.
58
+
59
+ **Status updates from completed work**: when wrapping up a feature, query Asana for the related task, then call `mcp__asana__add_comment` with a summary of what landed (commit SHA + changelog entry + open follow-ups). Better audit trail than out-of-band Slack updates.
60
+
61
+ **Avoid bulk operations without confirmation**: Asana does NOT have a robust "undo" mechanism for bulk edits. If you're about to update 50 tasks via `update_task`, confirm with the user first. The cost of asking is small; the cost of accidentally clearing 50 due-dates is high.
62
+
63
+ **Don't write OAuth tokens to logs**: even though tokens are short-lived (1 hour), they're still credentials. If a tool call fails and you're tempted to log the request for debugging, redact the `Authorization` header.
64
+
65
+ ## Troubleshooting
66
+
67
+ **"OAuth flow didn't open"**: the MCP server URL is wrong or unreachable. Check `.indusk/extensions/asana/.env` — should be exactly `https://mcp.asana.com/v2/mcp`.
68
+
69
+ **"Authentication required" errors after a long pause**: the refresh token expired. Re-trigger an MCP call → OAuth re-prompts → done. Refresh tokens last ~14 days for inactive sessions.
70
+
71
+ **"Permission denied" on a known task**: the OAuth-authorizing user doesn't have access. Either they're not a member of the project, or the task was moved to a private project after authorization. Add the user to the project in Asana, then retry.
72
+
73
+ **"Tool not found"**: the toolset isn't enabled in your Asana plan. Some advanced tools (custom fields, time tracking, Goals) require Business/Enterprise tiers. Discover available tools via the listing tool, not by guessing.
74
+
75
+ **Rate limits**: Asana's API has per-user rate limits. Bulk-style scripts (listing 1000+ tasks across many projects) can hit them. If you see 429 responses, slow down or batch differently.
76
+
77
+ ## See Also
78
+
79
+ - [Extensions index](../README.md) — full catalog of InDusk extensions with decision matrix
80
+ - [Asana V2 MCP docs](https://developers.asana.com/docs/using-asanas-mcp-server) — canonical reference
81
+ - [`dash0/skill.md`](../dash0/skill.md), [`datadog/skill.md`](../datadog/skill.md) — sibling extensions wrapping observability MCP servers (different problem space)
@@ -231,3 +231,10 @@ Dash0 ingests standard OpenTelemetry data. If your services already export OTLP
231
231
  - **Default time range is narrow**: Always specify `--from` when querying logs. Without it, you may get empty results.
232
232
  - **CLI has no trace search**: The CLI can only fetch traces by ID (`traces get <id>`), not search for them. Use the MCP `getSpans` tool to search spans — it supports filters and time ranges. The CLI requires you to already have a trace ID.
233
233
  - **Profile auth may not load in Claude Code shell**: Run `source ~/.zshrc` before `dash0` commands if auth fails.
234
+
235
+ ## See Also
236
+
237
+ - [Extensions index](../README.md) — full catalog of InDusk extensions with decision matrix
238
+ - [`datadog/skill.md`](../datadog/skill.md) — sibling observability extension; alternative SaaS vendor (mutually exclusive with dash0 in practice)
239
+ - [`local-telemetry/skill.md`](../local-telemetry/skill.md) — orthogonal observability for dev-time only (no SaaS account needed)
240
+ - [`otel/skill.md`](../otel/skill.md) — emit-side instrumentation patterns; pairs with dash0 to instrument services that emit telemetry to Dash0
@@ -62,5 +62,8 @@ The actual surface is product-enablement-dependent on your Datadog account. Run
62
62
 
63
63
  ## See Also
64
64
 
65
- - [`apps/indusk-mcp/extensions/dash0/skill.md`](../dash0/skill.md) — sibling observability extension; same problem space, different vendor + auth model
65
+ - [Extensions index](../README.md) — full catalog of InDusk extensions with decision matrix
66
+ - [`dash0/skill.md`](../dash0/skill.md) — sibling observability extension; same problem space, different vendor + auth model (mutually exclusive in practice)
67
+ - [`local-telemetry/skill.md`](../local-telemetry/skill.md) — orthogonal observability for dev-time only
68
+ - [`otel/skill.md`](../otel/skill.md) — emit-side instrumentation patterns
66
69
  - [Datadog MCP Server docs](https://docs.datadoghq.com/bits_ai/mcp_server/) — the canonical reference; toolset list, auth flow, regional endpoints
@@ -150,6 +150,8 @@ Kubernetes: ConfigMap + `envFrom:`. Docker compose: `env_file:` / `environment:`
150
150
 
151
151
  ## See also
152
152
 
153
+ - [Extensions index](../README.md) — full catalog of InDusk extensions with decision matrix
153
154
  - `apps/indusk-docs/src/reference/telemetry/` — CLI + overview docs
154
155
  - `.indusk/planning/local-telemetry/adr.md` — why this exists
155
- - `dash0` extensionthe staging/prod counterpart
156
+ - [`dash0/skill.md`](../dash0/skill.md), [`datadog/skill.md`](../datadog/skill.md) — staging/prod observability counterparts (orthogonal to local-telemetry)
157
+ - [`otel/skill.md`](../otel/skill.md) — emit-side instrumentation patterns; pairs with whichever query-side extension you use
@@ -305,14 +305,21 @@ for (const item of newlyChecked) {
305
305
  }
306
306
 
307
307
  // ------------------------------------------------------------------
308
- // Trajectory enforcement: if advancing past Phase N (checking an
309
- // implementation item in Phase N+1 or later), every trajectory row
310
- // with `Passes at: Phase K` where K <= N must be in state `passing`,
311
- // `skipped`, or `blocked`. Planned/writable/written states fail the
312
- // phase close — the whole point of the tests-first-planning system is
313
- // that deferral is structurally impossible.
308
+ // Trajectory enforcement: two gates fire when an implementation item
309
+ // in Phase N is checked.
314
310
  //
315
- // Skipped if the impl has no `## Test Trajectory` section (grandfathered).
311
+ // Gate A test-first authoring (per advancing phase):
312
+ // Every trajectory row with `Writable at: Phase N` must be in state
313
+ // `written`, `passing`, `skipped`, or `blocked` — NOT `planned`,
314
+ // `writable`, or `unknown`. Phase N's tests must exist (as RED at
315
+ // minimum) before its implementation items can be marked done.
316
+ //
317
+ // Gate B — phase close (per closed prior phase):
318
+ // Every trajectory row with `Passes at: Phase K` where K < N must
319
+ // be in state `passing`, `skipped`, or `blocked`. The whole point
320
+ // of tests-first is that deferral is structurally impossible.
321
+ //
322
+ // Both skipped if the impl has no `## Test Trajectory` section.
316
323
  // ------------------------------------------------------------------
317
324
 
318
325
  const hasTrajectorySection = /^##\s+Test Trajectory\b/m.test(newFullContent);
@@ -324,6 +331,35 @@ if (hasTrajectorySection) {
324
331
 
325
332
  if (advancingPhases.size > 0) {
326
333
  const trajectory = parseTrajectoryFromBody(newFullContent);
334
+
335
+ // Gate A: test-first authoring for the advancing phase itself.
336
+ const testFirstBlockers = [];
337
+ for (const advancingPhase of advancingPhases) {
338
+ const unauthored = trajectory.rows.filter(
339
+ (row) =>
340
+ row.writableAt === advancingPhase &&
341
+ row.state !== "written" &&
342
+ row.state !== "passing" &&
343
+ row.state !== "skipped" &&
344
+ row.state !== "blocked",
345
+ );
346
+ for (const row of unauthored) {
347
+ testFirstBlockers.push({ phase: advancingPhase, row });
348
+ }
349
+ }
350
+
351
+ if (testFirstBlockers.length > 0) {
352
+ const msg = testFirstBlockers
353
+ .map(
354
+ (b) =>
355
+ `Phase ${b.phase} test-first violation: row ${b.row.id} is Writable at: Phase ${b.phase} but still ${b.row.state}. Author it as RED before marking implementation items done.`,
356
+ )
357
+ .join("\n");
358
+ process.stderr.write(`${msg}\n`);
359
+ process.exit(2);
360
+ }
361
+
362
+ // Gate B: every prior phase must be closable.
327
363
  const allBlockers = [];
328
364
  for (const advancingPhase of advancingPhases) {
329
365
  // Closing phases = every phase strictly before advancingPhase
@@ -408,10 +444,12 @@ function parseTrajectoryFromBody(implContent) {
408
444
  const rec = {};
409
445
  for (let j = 0; j < keys.length; j++) rec[keys[j]] = cells[j];
410
446
  if (!rec.id) continue;
447
+ const writableMatch = (rec.writableAt || "").match(/^\s*Phase\s+(\d+)\s*$/i);
411
448
  const passesMatch = (rec.passesAt || "").match(/^\s*Phase\s+(\d+)\s*$/i);
412
449
  rows.push({
413
450
  id: rec.id.trim(),
414
451
  asserts: (rec.asserts || "").trim(),
452
+ writableAt: writableMatch ? Number.parseInt(writableMatch[1], 10) : Number.NaN,
415
453
  passesAt: passesMatch ? Number.parseInt(passesMatch[1], 10) : Number.NaN,
416
454
  state: (rec.state || "").toLowerCase().trim(),
417
455
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infinitedusky/indusk-mcp",
3
- "version": "1.28.12",
3
+ "version": "1.28.14",
4
4
  "description": "InDusk development system — skills, MCP tools, and CLI for structured AI-assisted development",
5
5
  "type": "module",
6
6
  "files": [