@infinitedusky/indusk-mcp 1.41.0 → 1.42.0
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.
- package/admin/.next/BUILD_ID +1 -1
- package/admin/.next/build-manifest.json +3 -3
- package/admin/.next/fallback-build-manifest.json +3 -3
- package/admin/.next/server/app/_global-error.html +1 -1
- package/admin/.next/server/app/_global-error.rsc +1 -1
- package/admin/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/admin/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/admin/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/admin/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/admin/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/admin/.next/server/middleware-build-manifest.js +3 -3
- package/admin/.next/server/pages/500.html +1 -1
- package/admin/.next/trace +1 -1
- package/admin/.next/trace-build +1 -1
- package/extensions/worktree/scripts/lib/workbench-helpers.sh +223 -0
- package/extensions/worktree/scripts/wt-pm2.sh +21 -46
- package/extensions/worktree/scripts/wt.sh +29 -120
- package/extensions/worktree/skill.md +3 -2
- package/package.json +1 -1
- /package/admin/.next/static/{WxUGu7NCQs8pb0nSvDzv6 → 8eMHSD_WHmwly182SXisv}/_buildManifest.js +0 -0
- /package/admin/.next/static/{WxUGu7NCQs8pb0nSvDzv6 → 8eMHSD_WHmwly182SXisv}/_clientMiddlewareManifest.js +0 -0
- /package/admin/.next/static/{WxUGu7NCQs8pb0nSvDzv6 → 8eMHSD_WHmwly182SXisv}/_ssgManifest.js +0 -0
package/admin/.next/BUILD_ID
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
8eMHSD_WHmwly182SXisv
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
"static/chunks/03~yq9q893hmn.js"
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [
|
|
10
|
-
"static/
|
|
11
|
-
"static/
|
|
12
|
-
"static/
|
|
10
|
+
"static/8eMHSD_WHmwly182SXisv/_buildManifest.js",
|
|
11
|
+
"static/8eMHSD_WHmwly182SXisv/_ssgManifest.js",
|
|
12
|
+
"static/8eMHSD_WHmwly182SXisv/_clientMiddlewareManifest.js"
|
|
13
13
|
],
|
|
14
14
|
"rootMainFiles": [
|
|
15
15
|
"static/chunks/15r3deq0oc~d..js",
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"polyfillFiles": [],
|
|
7
7
|
"lowPriorityFiles": [
|
|
8
|
-
"static/
|
|
9
|
-
"static/
|
|
10
|
-
"static/
|
|
8
|
+
"static/8eMHSD_WHmwly182SXisv/_buildManifest.js",
|
|
9
|
+
"static/8eMHSD_WHmwly182SXisv/_ssgManifest.js",
|
|
10
|
+
"static/8eMHSD_WHmwly182SXisv/_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/15r3deq0oc~d..js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/02p8lah64~lvh.js" async=""></script><script src="/_next/static/chunks/0gomaooulfzoq.js" async=""></script><script src="/_next/static/chunks/turbopack-130jszne6su0h.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0yelgl0o38y_u.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,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";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/15r3deq0oc~d..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/0yelgl0o38y_u.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.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\":\"
|
|
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/15r3deq0oc~d..js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/02p8lah64~lvh.js" async=""></script><script src="/_next/static/chunks/0gomaooulfzoq.js" async=""></script><script src="/_next/static/chunks/turbopack-130jszne6su0h.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0yelgl0o38y_u.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,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";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/15r3deq0oc~d..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/0yelgl0o38y_u.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.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\":\"8eMHSD_WHmwly182SXisv\"}\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/0yelgl0o38y_u.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/0yelgl0o38y_u.js"],"ViewportBoundary"]
|
|
7
7
|
a:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"MetadataBoundary"]
|
|
8
8
|
c:I[59179,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.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":"
|
|
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":"8eMHSD_WHmwly182SXisv"}
|
|
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/0yelgl0o38y_u.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":"
|
|
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":"8eMHSD_WHmwly182SXisv"}
|
|
5
5
|
4:null
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
8:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"ViewportBoundary"]
|
|
7
7
|
a:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"MetadataBoundary"]
|
|
8
8
|
c:I[59179,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.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":"
|
|
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":"8eMHSD_WHmwly182SXisv"}
|
|
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/0yelgl0o38y_u.js"],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
5
|
5:I[61299,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.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":"
|
|
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":"8eMHSD_WHmwly182SXisv"}
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
2:I[85530,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"default"]
|
|
3
3
|
3:I[50571,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.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":"
|
|
5
|
+
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"8eMHSD_WHmwly182SXisv"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"
|
|
1
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"8eMHSD_WHmwly182SXisv"}
|
|
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
|
|
|
7
7
|
"static/chunks/03~yq9q893hmn.js"
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [
|
|
10
|
-
"static/
|
|
11
|
-
"static/
|
|
12
|
-
"static/
|
|
10
|
+
"static/8eMHSD_WHmwly182SXisv/_buildManifest.js",
|
|
11
|
+
"static/8eMHSD_WHmwly182SXisv/_ssgManifest.js",
|
|
12
|
+
"static/8eMHSD_WHmwly182SXisv/_clientMiddlewareManifest.js"
|
|
13
13
|
],
|
|
14
14
|
"rootMainFiles": [
|
|
15
15
|
"static/chunks/15r3deq0oc~d..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/15r3deq0oc~d..js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/02p8lah64~lvh.js" async=""></script><script src="/_next/static/chunks/0gomaooulfzoq.js" async=""></script><script src="/_next/static/chunks/turbopack-130jszne6su0h.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0yelgl0o38y_u.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,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";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/15r3deq0oc~d..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/0yelgl0o38y_u.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.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\":\"
|
|
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/15r3deq0oc~d..js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/02p8lah64~lvh.js" async=""></script><script src="/_next/static/chunks/0gomaooulfzoq.js" async=""></script><script src="/_next/static/chunks/turbopack-130jszne6su0h.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0yelgl0o38y_u.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,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";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/15r3deq0oc~d..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/0yelgl0o38y_u.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.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\":\"8eMHSD_WHmwly182SXisv\"}\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/0yelgl0o38y_u.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":
|
|
1
|
+
[{"name":"generate-buildid","duration":95,"timestamp":360625891577,"id":4,"parentId":1,"tags":{},"startTime":1788207355858,"traceId":"fd8c5ad44cb84056"},{"name":"load-custom-routes","duration":186,"timestamp":360625891717,"id":5,"parentId":1,"tags":{},"startTime":1788207355858,"traceId":"fd8c5ad44cb84056"},{"name":"create-dist-dir","duration":83,"timestamp":360625891915,"id":6,"parentId":1,"tags":{},"startTime":1788207355858,"traceId":"fd8c5ad44cb84056"},{"name":"clean","duration":39223,"timestamp":360625892603,"id":7,"parentId":1,"tags":{},"startTime":1788207355859,"traceId":"fd8c5ad44cb84056"},{"name":"discover-routes","duration":3499,"timestamp":360625938621,"id":8,"parentId":1,"tags":{},"startTime":1788207355905,"traceId":"fd8c5ad44cb84056"},{"name":"create-root-mapping","duration":33,"timestamp":360625942151,"id":9,"parentId":1,"tags":{},"startTime":1788207355908,"traceId":"fd8c5ad44cb84056"},{"name":"generate-route-types","duration":9607,"timestamp":360625942835,"id":10,"parentId":1,"tags":{},"startTime":1788207355909,"traceId":"fd8c5ad44cb84056"},{"name":"public-dir-conflict-check","duration":56,"timestamp":360625952483,"id":11,"parentId":1,"tags":{},"startTime":1788207355919,"traceId":"fd8c5ad44cb84056"},{"name":"generate-routes-manifest","duration":1146,"timestamp":360625952586,"id":12,"parentId":1,"tags":{},"startTime":1788207355919,"traceId":"fd8c5ad44cb84056"},{"name":"run-turbopack","duration":5716410,"timestamp":360625958097,"id":14,"parentId":1,"tags":{},"startTime":1788207355924,"traceId":"fd8c5ad44cb84056"},{"name":"turbopack-build-events","duration":58,"timestamp":360626114913,"id":15,"parentId":1,"tags":{},"startTime":1788207356081,"traceId":"fd8c5ad44cb84056"},{"name":"run-typescript","duration":2234507,"timestamp":360631717063,"id":16,"parentId":1,"tags":{},"startTime":1788207361683,"traceId":"fd8c5ad44cb84056"},{"name":"generate-required-server-files","duration":623,"timestamp":360633952510,"id":18,"parentId":1,"tags":{},"startTime":1788207363919,"traceId":"fd8c5ad44cb84056"},{"name":"check-static-error-page","duration":4368,"timestamp":360633964137,"id":20,"parentId":19,"tags":{},"startTime":1788207363930,"traceId":"fd8c5ad44cb84056"},{"name":"is-page-static","duration":179957,"timestamp":360633974043,"id":30,"parentId":22,"tags":{},"startTime":1788207363940,"traceId":"fd8c5ad44cb84056"},{"name":"check-page","duration":186375,"timestamp":360633967702,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1788207363934,"traceId":"fd8c5ad44cb84056"},{"name":"is-page-static","duration":214007,"timestamp":360633973847,"id":29,"parentId":21,"tags":{},"startTime":1788207363940,"traceId":"fd8c5ad44cb84056"},{"name":"check-page","duration":223272,"timestamp":360633964658,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1788207363931,"traceId":"fd8c5ad44cb84056"},{"name":"is-page-static","duration":217097,"timestamp":360633974073,"id":31,"parentId":23,"tags":{},"startTime":1788207363940,"traceId":"fd8c5ad44cb84056"},{"name":"check-page","duration":223200,"timestamp":360633968000,"id":23,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1788207363934,"traceId":"fd8c5ad44cb84056"},{"name":"is-page-static","duration":223149,"timestamp":360633977069,"id":32,"parentId":28,"tags":{},"startTime":1788207363943,"traceId":"fd8c5ad44cb84056"},{"name":"check-page","duration":231792,"timestamp":360633968456,"id":28,"parentId":19,"tags":{"page":"/"},"startTime":1788207363935,"traceId":"fd8c5ad44cb84056"},{"name":"is-page-static","duration":228440,"timestamp":360633977224,"id":36,"parentId":27,"tags":{},"startTime":1788207363944,"traceId":"fd8c5ad44cb84056"},{"name":"check-page","duration":237322,"timestamp":360633968408,"id":27,"parentId":19,"tags":{"page":"/p/[project]/scorecards"},"startTime":1788207363935,"traceId":"fd8c5ad44cb84056"},{"name":"is-page-static","duration":239228,"timestamp":360633977136,"id":33,"parentId":24,"tags":{},"startTime":1788207363943,"traceId":"fd8c5ad44cb84056"},{"name":"check-page","duration":248160,"timestamp":360633968240,"id":24,"parentId":19,"tags":{"page":"/p/[project]"},"startTime":1788207363935,"traceId":"fd8c5ad44cb84056"},{"name":"is-page-static","duration":244583,"timestamp":360633977195,"id":35,"parentId":26,"tags":{},"startTime":1788207363943,"traceId":"fd8c5ad44cb84056"},{"name":"check-page","duration":253461,"timestamp":360633968355,"id":26,"parentId":19,"tags":{"page":"/p/[project]/research/[slug]"},"startTime":1788207363935,"traceId":"fd8c5ad44cb84056"},{"name":"is-page-static","duration":247038,"timestamp":360633977163,"id":34,"parentId":25,"tags":{},"startTime":1788207363943,"traceId":"fd8c5ad44cb84056"},{"name":"check-page","duration":255928,"timestamp":360633968297,"id":25,"parentId":19,"tags":{"page":"/p/[project]/plan/[name]"},"startTime":1788207363935,"traceId":"fd8c5ad44cb84056"},{"name":"static-check","duration":260472,"timestamp":360633963781,"id":19,"parentId":1,"tags":{},"startTime":1788207363930,"traceId":"fd8c5ad44cb84056"},{"name":"write-routes-manifest","duration":484,"timestamp":360634225858,"id":38,"parentId":1,"tags":{},"startTime":1788207364192,"traceId":"fd8c5ad44cb84056"},{"name":"load-dotenv","duration":18,"timestamp":360634233405,"id":41,"parentId":40,"tags":{},"startTime":1788207364200,"traceId":"fd8c5ad44cb84056"},{"name":"run-export-path-map","duration":203,"timestamp":360634234658,"id":42,"parentId":40,"tags":{},"startTime":1788207364201,"traceId":"fd8c5ad44cb84056"},{"name":"next-export","duration":198663,"timestamp":360634232816,"id":40,"parentId":1,"tags":{},"startTime":1788207364199,"traceId":"fd8c5ad44cb84056"},{"name":"move-exported-app-global-error-","duration":394,"timestamp":360634432097,"id":43,"parentId":39,"tags":{},"startTime":1788207364398,"traceId":"fd8c5ad44cb84056"},{"name":"static-generation","duration":205172,"timestamp":360634228457,"id":39,"parentId":1,"tags":{},"startTime":1788207364195,"traceId":"fd8c5ad44cb84056"},{"name":"write-routes-manifest","duration":167,"timestamp":360634433734,"id":44,"parentId":1,"tags":{},"startTime":1788207364400,"traceId":"fd8c5ad44cb84056"},{"name":"print-tree-view","duration":1356,"timestamp":360634441447,"id":45,"parentId":1,"tags":{},"startTime":1788207364408,"traceId":"fd8c5ad44cb84056"},{"name":"write-route-bundle-stats","duration":5666,"timestamp":360634442814,"id":46,"parentId":1,"tags":{},"startTime":1788207364409,"traceId":"fd8c5ad44cb84056"},{"name":"telemetry-flush","duration":487417,"timestamp":360634448494,"id":47,"parentId":1,"tags":{},"startTime":1788207364415,"traceId":"fd8c5ad44cb84056"},{"name":"next-build","duration":9136208,"timestamp":360625799752,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1788207355766,"traceId":"fd8c5ad44cb84056"}]
|
package/admin/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":5716410,"timestamp":360625958097,"id":14,"parentId":1,"tags":{},"startTime":1788207355924,"traceId":"fd8c5ad44cb84056"},{"name":"turbopack-build-events","duration":58,"timestamp":360626114913,"id":15,"parentId":1,"tags":{},"startTime":1788207356081,"traceId":"fd8c5ad44cb84056"},{"name":"run-typescript","duration":2234507,"timestamp":360631717063,"id":16,"parentId":1,"tags":{},"startTime":1788207361683,"traceId":"fd8c5ad44cb84056"},{"name":"static-check","duration":260472,"timestamp":360633963781,"id":19,"parentId":1,"tags":{},"startTime":1788207363930,"traceId":"fd8c5ad44cb84056"},{"name":"static-generation","duration":205172,"timestamp":360634228457,"id":39,"parentId":1,"tags":{},"startTime":1788207364195,"traceId":"fd8c5ad44cb84056"},{"name":"telemetry-flush","duration":487417,"timestamp":360634448494,"id":47,"parentId":1,"tags":{},"startTime":1788207364415,"traceId":"fd8c5ad44cb84056"},{"name":"next-build","duration":9136208,"timestamp":360625799752,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1788207355766,"traceId":"fd8c5ad44cb84056"}]
|
|
@@ -234,3 +234,226 @@ _read_worktree_config() {
|
|
|
234
234
|
fi
|
|
235
235
|
jq -r "$filter" "$config" 2>/dev/null
|
|
236
236
|
}
|
|
237
|
+
|
|
238
|
+
# Emit "<name>\t<path>" per declared repo. The path is the declared `path`
|
|
239
|
+
# (the repo's workbench-side trunk location), or empty meaning `<name>` at the
|
|
240
|
+
# workbench root. Same sanitization as the worktrees variant above: relative
|
|
241
|
+
# only, no `~`, no `..` in any position — a bad value degrades to the default,
|
|
242
|
+
# never to a traversal.
|
|
243
|
+
#
|
|
244
|
+
# DELIBERATE PORT of repoDir() in src/lib/worktree/repos.ts — bash cannot
|
|
245
|
+
# import the TS module, so the rule lives twice and must move together.
|
|
246
|
+
_read_workbench_repo_paths() {
|
|
247
|
+
local root="${WORKBENCH_ROOT:-}"
|
|
248
|
+
[[ -n "$root" ]] || { echo "Error: _read_workbench_repo_paths: WORKBENCH_ROOT must be set" >&2; return 1; }
|
|
249
|
+
local config="$root/.indusk/config.json"
|
|
250
|
+
[[ -f "$config" ]] || return 0
|
|
251
|
+
jq -r '
|
|
252
|
+
(.worktree // {}) as $w
|
|
253
|
+
| (
|
|
254
|
+
if ($w.repos | type) == "array" then $w.repos
|
|
255
|
+
elif ($w.wrapped_repo | type) == "string" then [{ name: $w.wrapped_repo }]
|
|
256
|
+
else []
|
|
257
|
+
end
|
|
258
|
+
)
|
|
259
|
+
| map(select(type == "object"))
|
|
260
|
+
| map(select((.name | type) == "string" and .name != ""))
|
|
261
|
+
| map([
|
|
262
|
+
.name,
|
|
263
|
+
(if (.path | type) == "string"
|
|
264
|
+
and (.path | test("^/|^~|(^|/)\\.\\.(/|$)") | not)
|
|
265
|
+
then .path else "" end)
|
|
266
|
+
])
|
|
267
|
+
| .[] | @tsv
|
|
268
|
+
' "$config" 2>/dev/null || echo ""
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
# Root entries that are never worktrees. ONE definition for the bash lane —
|
|
272
|
+
# wt.sh and wt-pm2.sh each carried a copy, and they had already drifted from
|
|
273
|
+
# RESERVED_ROOT_DIRS in src/lib/worktree/layout.ts (`docs` was missing from
|
|
274
|
+
# both). DELIBERATE PORT of that set; change TS and this together.
|
|
275
|
+
_wt_is_reserved_name() {
|
|
276
|
+
case "$1" in
|
|
277
|
+
.indusk | .claude | .vscode | .cursor | node_modules | dist | build | .git | .next | scripts | env | docs) return 0 ;;
|
|
278
|
+
*) return 1 ;;
|
|
279
|
+
esac
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
# Where <repo>'s trunk checkout is, from CONFIG — never from scanning.
|
|
283
|
+
# 1. The declared workbench-side location: <workbench>/<path-or-name>,
|
|
284
|
+
# which is the trunk symlink in a linked layout or the real directory in
|
|
285
|
+
# a nested one (`repos_root: "."`).
|
|
286
|
+
# 2. Else <repos_root>/<name> — the checkout itself, for a workbench whose
|
|
287
|
+
# trunk link was never made. Routing there is what "the config says where
|
|
288
|
+
# things are" means; failing because a symlink is missing is scan-luck.
|
|
289
|
+
_wt_resolve_trunk_dir() {
|
|
290
|
+
local repo="$1"
|
|
291
|
+
local declared_path="" name path
|
|
292
|
+
while IFS=$'\t' read -r name path; do
|
|
293
|
+
[[ "$name" == "$repo" ]] || continue
|
|
294
|
+
declared_path="$path"
|
|
295
|
+
break
|
|
296
|
+
done < <(_read_workbench_repo_paths)
|
|
297
|
+
local side="$WORKBENCH_ROOT/${declared_path:-$repo}"
|
|
298
|
+
if [[ -d "$side" ]]; then
|
|
299
|
+
echo "$side"
|
|
300
|
+
return 0
|
|
301
|
+
fi
|
|
302
|
+
local repos_root
|
|
303
|
+
repos_root="$(_read_repos_root)" || return 1
|
|
304
|
+
if [[ -d "$repos_root/$repo" ]]; then
|
|
305
|
+
echo "$repos_root/$repo"
|
|
306
|
+
return 0
|
|
307
|
+
fi
|
|
308
|
+
echo "Error: trunk for repo '$repo' not found — looked at $side and $repos_root/$repo. Run \`indusk workbench restore\`." >&2
|
|
309
|
+
return 1
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
# _wt_resolve_target <slug-or-qualified-slug> — the ONE resolution surface
|
|
313
|
+
# behind `pnpm wt` and `pnpm wt:pm2`. Each script carried its own copy once,
|
|
314
|
+
# and only one of them learned declared layouts — wt-pm2.sh stayed root-only
|
|
315
|
+
# for a full release while its header claimed "resolution matches wt.sh".
|
|
316
|
+
#
|
|
317
|
+
# Order:
|
|
318
|
+
# 1. Trunks, from config: `main` (qualified `<repo>/main` when several repos
|
|
319
|
+
# are declared) or a declared repo name routes via _wt_resolve_trunk_dir.
|
|
320
|
+
# 2. Worktrees, by scanning the workbench root and every DECLARED worktrees
|
|
321
|
+
# directory. Exact match wins; `-<slug>` suffix as fallback; ambiguity
|
|
322
|
+
# refuses and names the qualified `<repo>/<slug>` forms.
|
|
323
|
+
#
|
|
324
|
+
# Echoes the resolved absolute path. Errors to stderr, non-zero return.
|
|
325
|
+
_wt_resolve_target() {
|
|
326
|
+
local target="$1"
|
|
327
|
+
local qualifier="" slug="$target"
|
|
328
|
+
if [[ "$slug" == */* ]]; then
|
|
329
|
+
qualifier="${slug%%/*}"
|
|
330
|
+
slug="${slug#*/}"
|
|
331
|
+
fi
|
|
332
|
+
|
|
333
|
+
local repos=() r
|
|
334
|
+
while IFS= read -r r; do
|
|
335
|
+
[[ -n "$r" ]] && repos+=("$r")
|
|
336
|
+
done < <(_read_workbench_repos)
|
|
337
|
+
|
|
338
|
+
# --- 1. trunks come from config, never from scanning ---
|
|
339
|
+
if [[ "$slug" == "main" ]]; then
|
|
340
|
+
local repo=""
|
|
341
|
+
if [[ -n "$qualifier" ]]; then
|
|
342
|
+
if [[ ${#repos[@]} -gt 0 ]]; then
|
|
343
|
+
for r in "${repos[@]}"; do
|
|
344
|
+
[[ "$r" == "$qualifier" ]] && repo="$r"
|
|
345
|
+
done
|
|
346
|
+
fi
|
|
347
|
+
if [[ -z "$repo" ]]; then
|
|
348
|
+
echo "Error: no declared repo named '$qualifier' in .indusk/config.json." >&2
|
|
349
|
+
return 1
|
|
350
|
+
fi
|
|
351
|
+
elif [[ ${#repos[@]} -eq 1 ]]; then
|
|
352
|
+
repo="${repos[0]}"
|
|
353
|
+
elif [[ ${#repos[@]} -gt 1 ]]; then
|
|
354
|
+
echo "Error: 'main' is ambiguous — this workbench declares several repos:" >&2
|
|
355
|
+
for r in "${repos[@]}"; do printf ' %s/main\n' "$r" >&2; done
|
|
356
|
+
return 1
|
|
357
|
+
else
|
|
358
|
+
echo "Error: no repos declared in .indusk/config.json — not a workbench?" >&2
|
|
359
|
+
return 1
|
|
360
|
+
fi
|
|
361
|
+
_wt_resolve_trunk_dir "$repo"
|
|
362
|
+
return $?
|
|
363
|
+
fi
|
|
364
|
+
|
|
365
|
+
if [[ ${#repos[@]} -gt 0 && ( -z "$qualifier" || "$qualifier" == "$slug" ) ]]; then
|
|
366
|
+
for r in "${repos[@]}"; do
|
|
367
|
+
if [[ "$r" == "$slug" ]]; then
|
|
368
|
+
_wt_resolve_trunk_dir "$r"
|
|
369
|
+
return $?
|
|
370
|
+
fi
|
|
371
|
+
done
|
|
372
|
+
fi
|
|
373
|
+
|
|
374
|
+
# --- 2. worktrees, from the root and every declared worktrees dir ---
|
|
375
|
+
local search_repos=() search_dirs=() _name _dir
|
|
376
|
+
while IFS=$'\t' read -r _name _dir; do
|
|
377
|
+
[[ -n "$_name" ]] || continue
|
|
378
|
+
# Only DECLARED directories get their own pass — the root pass below
|
|
379
|
+
# covers repos that declare none (the flat layout). Searching the root
|
|
380
|
+
# twice turned every flat-layout slug into a false ambiguity.
|
|
381
|
+
[[ -n "$_dir" ]] || continue
|
|
382
|
+
search_repos+=("$_name")
|
|
383
|
+
search_dirs+=("$_dir")
|
|
384
|
+
done < <(_read_workbench_worktree_dirs)
|
|
385
|
+
search_repos+=("")
|
|
386
|
+
search_dirs+=("")
|
|
387
|
+
|
|
388
|
+
local exact_paths=() exact_repos=() suffix_paths=() suffix_repos=()
|
|
389
|
+
local idx repo dir base entry name
|
|
390
|
+
for idx in "${!search_dirs[@]}"; do
|
|
391
|
+
repo="${search_repos[$idx]}"
|
|
392
|
+
dir="${search_dirs[$idx]}"
|
|
393
|
+
if [[ -n "$qualifier" && -n "$repo" && "$repo" != "$qualifier" ]]; then continue; fi
|
|
394
|
+
if [[ -n "$qualifier" && -z "$repo" ]]; then continue; fi
|
|
395
|
+
base="$WORKBENCH_ROOT"
|
|
396
|
+
[[ -n "$dir" ]] && base="$WORKBENCH_ROOT/$dir"
|
|
397
|
+
[[ -d "$base" ]] || continue
|
|
398
|
+
for entry in "$base"/*; do
|
|
399
|
+
[[ -e "$entry" ]] || continue
|
|
400
|
+
[[ -d "$entry" ]] || continue
|
|
401
|
+
name="$(basename "$entry")"
|
|
402
|
+
[[ -z "$dir" ]] && _wt_is_reserved_name "$name" && continue
|
|
403
|
+
if [[ "$name" == "$slug" ]]; then
|
|
404
|
+
exact_paths+=("$entry"); exact_repos+=("$repo")
|
|
405
|
+
elif [[ "$name" == *"-$slug" ]]; then
|
|
406
|
+
suffix_paths+=("$entry"); suffix_repos+=("$repo")
|
|
407
|
+
fi
|
|
408
|
+
done
|
|
409
|
+
done
|
|
410
|
+
|
|
411
|
+
local candidate_paths=() candidate_repos=()
|
|
412
|
+
if [[ ${#exact_paths[@]} -gt 0 ]]; then
|
|
413
|
+
candidate_paths=("${exact_paths[@]}"); candidate_repos=("${exact_repos[@]}")
|
|
414
|
+
elif [[ ${#suffix_paths[@]} -gt 0 ]]; then
|
|
415
|
+
candidate_paths=("${suffix_paths[@]}"); candidate_repos=("${suffix_repos[@]}")
|
|
416
|
+
fi
|
|
417
|
+
|
|
418
|
+
if [[ ${#candidate_paths[@]} -eq 0 ]]; then
|
|
419
|
+
echo "Error: no worktree or trunk matching slug '$slug' at $WORKBENCH_ROOT" >&2
|
|
420
|
+
echo "Available targets:" >&2
|
|
421
|
+
if [[ ${#repos[@]} -gt 0 ]]; then
|
|
422
|
+
for r in "${repos[@]}"; do
|
|
423
|
+
if [[ ${#repos[@]} -eq 1 ]]; then
|
|
424
|
+
printf ' %s (trunk — also `wt main`)\n' "$r" >&2
|
|
425
|
+
else
|
|
426
|
+
printf ' %s (trunk — also `wt %s/main`)\n' "$r" "$r" >&2
|
|
427
|
+
fi
|
|
428
|
+
done
|
|
429
|
+
fi
|
|
430
|
+
for idx in "${!search_dirs[@]}"; do
|
|
431
|
+
repo="${search_repos[$idx]}"; dir="${search_dirs[$idx]}"
|
|
432
|
+
base="$WORKBENCH_ROOT"; [[ -n "$dir" ]] && base="$WORKBENCH_ROOT/$dir"
|
|
433
|
+
[[ -d "$base" ]] || continue
|
|
434
|
+
for entry in "$base"/*; do
|
|
435
|
+
[[ -d "$entry" ]] || continue
|
|
436
|
+
name="$(basename "$entry")"
|
|
437
|
+
[[ -z "$dir" ]] && _wt_is_reserved_name "$name" && continue
|
|
438
|
+
if [[ -n "$repo" ]]; then printf ' %s/%s\n' "$repo" "$name" >&2; else printf ' %s\n' "$name" >&2; fi
|
|
439
|
+
done
|
|
440
|
+
done
|
|
441
|
+
return 1
|
|
442
|
+
fi
|
|
443
|
+
|
|
444
|
+
if [[ ${#candidate_paths[@]} -gt 1 ]]; then
|
|
445
|
+
echo "Error: multiple targets match slug '$slug':" >&2
|
|
446
|
+
local i
|
|
447
|
+
for i in "${!candidate_paths[@]}"; do
|
|
448
|
+
if [[ -n "${candidate_repos[$i]}" ]]; then
|
|
449
|
+
printf ' %s/%s\n' "${candidate_repos[$i]}" "$(basename "${candidate_paths[$i]}")" >&2
|
|
450
|
+
else
|
|
451
|
+
printf ' %s\n' "$(basename "${candidate_paths[$i]}")" >&2
|
|
452
|
+
fi
|
|
453
|
+
done
|
|
454
|
+
echo "Name the repo to disambiguate, e.g. \`wt <repo>/$slug\`." >&2
|
|
455
|
+
return 1
|
|
456
|
+
fi
|
|
457
|
+
|
|
458
|
+
echo "${candidate_paths[0]}"
|
|
459
|
+
}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
# wt-pm2.sh — start one or more long-running dev processes for worktrees
|
|
3
|
-
# under pm2. Resolution
|
|
3
|
+
# under pm2. Resolution IS wt.sh's: both call _wt_resolve_target in
|
|
4
|
+
# lib/workbench-helpers.sh, so trunks (`main`, `<repo>/main`, `<repo>`),
|
|
5
|
+
# declared worktrees directories, and `<repo>/<slug>` disambiguation all
|
|
6
|
+
# work here too. This script carried its own root-only copy once, whose
|
|
7
|
+
# header claimed "resolution matches wt.sh" while declared layouts had
|
|
8
|
+
# already made that false.
|
|
4
9
|
#
|
|
5
10
|
# Usage:
|
|
6
|
-
# pnpm wt:pm2 <
|
|
11
|
+
# pnpm wt:pm2 <target>[:<app>] <command> [<target>[:<app>] <command> ...]
|
|
7
12
|
#
|
|
8
13
|
# Examples:
|
|
9
14
|
# # one process:
|
|
@@ -12,7 +17,8 @@
|
|
|
12
17
|
# # full local-dev stack for one worktree:
|
|
13
18
|
# pnpm wt:pm2 cancel-polish:web dev cancel-polish:web inngest cancel-polish:dashboard dev
|
|
14
19
|
#
|
|
15
|
-
# pm2 process naming: <
|
|
20
|
+
# pm2 process naming: <target>-<app>-<command> (or <target>-<command> when no
|
|
21
|
+
# :<app>); a `/` in a qualified target becomes `-`.
|
|
16
22
|
#
|
|
17
23
|
# Manage with `pnpm exec pm2 list / logs / stop / delete`.
|
|
18
24
|
|
|
@@ -24,10 +30,13 @@ source "$SCRIPT_DIR/lib/workbench-helpers.sh"
|
|
|
24
30
|
|
|
25
31
|
usage() {
|
|
26
32
|
cat <<'EOF'
|
|
27
|
-
Usage: pnpm wt:pm2 <
|
|
33
|
+
Usage: pnpm wt:pm2 <target>[:<app>] <command> [<target>[:<app>] <command> ...]
|
|
28
34
|
|
|
29
35
|
Args come in pairs. Each pair starts one pm2 process named
|
|
30
|
-
<
|
|
36
|
+
<target>-<app>-<command> (or <target>-<command> without :<app>).
|
|
37
|
+
|
|
38
|
+
Targets resolve exactly as `pnpm wt` targets do: `main` / `<repo>/main` /
|
|
39
|
+
`<repo>` for trunks, `<slug>` / `<repo>/<slug>` for worktrees.
|
|
31
40
|
|
|
32
41
|
Examples:
|
|
33
42
|
pnpm wt:pm2 cancel-polish:web dev
|
|
@@ -55,16 +64,9 @@ fi
|
|
|
55
64
|
|
|
56
65
|
WORKBENCH_ROOT="$(_resolve_workbench_root)"
|
|
57
66
|
|
|
58
|
-
# Reserved/non-checkout names at workbench root.
|
|
59
|
-
_is_reserved_name() {
|
|
60
|
-
case "$1" in
|
|
61
|
-
.indusk | .claude | .vscode | .cursor | node_modules | dist | build | .git | .next | scripts | env) return 0 ;;
|
|
62
|
-
*) return 1 ;;
|
|
63
|
-
esac
|
|
64
|
-
}
|
|
65
|
-
|
|
66
67
|
# resolve_target <target> → echoes "<base-name> <cwd>"
|
|
67
|
-
# base-name format: <
|
|
68
|
+
# base-name format: <target> or <target>-<app> (commands tack on -<command>);
|
|
69
|
+
# a `/` in a qualified target becomes `-` so pm2 names stay flat.
|
|
68
70
|
resolve_target() {
|
|
69
71
|
local target="$1"
|
|
70
72
|
|
|
@@ -76,46 +78,19 @@ resolve_target() {
|
|
|
76
78
|
local slug="${BASH_REMATCH[1]}"
|
|
77
79
|
local app="${BASH_REMATCH[3]:-}"
|
|
78
80
|
|
|
79
|
-
local
|
|
80
|
-
|
|
81
|
-
[[ -d "$entry" ]] || continue
|
|
82
|
-
local name
|
|
83
|
-
name="$(basename "$entry")"
|
|
84
|
-
_is_reserved_name "$name" && continue
|
|
85
|
-
if [[ "$name" == "$slug" ]]; then
|
|
86
|
-
exact_paths+=("$entry")
|
|
87
|
-
elif [[ "$name" == *"-$slug" ]]; then
|
|
88
|
-
suffix_paths+=("$entry")
|
|
89
|
-
fi
|
|
90
|
-
done
|
|
91
|
-
|
|
92
|
-
local candidate_paths=()
|
|
93
|
-
if [[ ${#exact_paths[@]} -gt 0 ]]; then
|
|
94
|
-
candidate_paths=("${exact_paths[@]}")
|
|
95
|
-
elif [[ ${#suffix_paths[@]} -gt 0 ]]; then
|
|
96
|
-
candidate_paths=("${suffix_paths[@]}")
|
|
97
|
-
fi
|
|
98
|
-
|
|
99
|
-
if [[ ${#candidate_paths[@]} -eq 0 ]]; then
|
|
100
|
-
echo "Error: no worktree or trunk matching slug '$slug' at $WORKBENCH_ROOT" >&2
|
|
101
|
-
return 1
|
|
102
|
-
fi
|
|
103
|
-
if [[ ${#candidate_paths[@]} -gt 1 ]]; then
|
|
104
|
-
echo "Error: multiple targets match slug '$slug': ${candidate_paths[*]}" >&2
|
|
105
|
-
return 1
|
|
106
|
-
fi
|
|
107
|
-
|
|
108
|
-
local worktree_path="${candidate_paths[0]}"
|
|
81
|
+
local worktree_path
|
|
82
|
+
worktree_path="$(_wt_resolve_target "$slug")" || return 1
|
|
109
83
|
|
|
84
|
+
local base="${slug//\//-}"
|
|
110
85
|
if [[ -n "$app" ]]; then
|
|
111
86
|
local app_path="$worktree_path/apps/$app"
|
|
112
87
|
if [[ ! -d "$app_path" ]]; then
|
|
113
88
|
echo "Error: app not found at $app_path" >&2
|
|
114
89
|
return 1
|
|
115
90
|
fi
|
|
116
|
-
echo "$
|
|
91
|
+
echo "$base-$app $app_path"
|
|
117
92
|
else
|
|
118
|
-
echo "$
|
|
93
|
+
echo "$base $worktree_path"
|
|
119
94
|
fi
|
|
120
95
|
}
|
|
121
96
|
|
|
@@ -1,15 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# wt.sh — run a command inside a worktree or
|
|
3
|
-
# single-repo workbench.
|
|
2
|
+
# wt.sh — run a command inside a worktree or a trunk of a workbench.
|
|
4
3
|
#
|
|
5
4
|
# Usage:
|
|
6
|
-
# pnpm wt <
|
|
7
|
-
# pnpm wt <
|
|
5
|
+
# pnpm wt <target>[:<app>] <command> [args...]
|
|
6
|
+
# pnpm wt <target>[:<app>] -- <binary> [args...]
|
|
7
|
+
#
|
|
8
|
+
# Targets (resolved by _wt_resolve_target in lib/workbench-helpers.sh — the
|
|
9
|
+
# ONE resolution surface, shared with wt-pm2.sh):
|
|
10
|
+
# main the trunk, when one repo is declared
|
|
11
|
+
# <repo>/main the trunk of <repo>, when several are
|
|
12
|
+
# <repo> same trunk, addressed by its declared name
|
|
13
|
+
# <slug> a worktree, found at the workbench root or in any
|
|
14
|
+
# DECLARED worktrees directory; exact match wins,
|
|
15
|
+
# `-<slug>` suffix as fallback
|
|
16
|
+
# <repo>/<slug> a worktree, disambiguated by owning repo
|
|
17
|
+
#
|
|
18
|
+
# Trunks resolve from CONFIG (`worktree.repos[]` / `repos_root` /
|
|
19
|
+
# `wrapped_repo`+`sibling_parent`), never by scanning: the declared
|
|
20
|
+
# workbench-side path when it exists (trunk symlink or nested checkout),
|
|
21
|
+
# else `<repos_root>/<name>`. A workbench whose trunk link was never made
|
|
22
|
+
# still routes correctly.
|
|
8
23
|
#
|
|
9
24
|
# Examples:
|
|
25
|
+
# pnpm wt main dev # cd the trunk, run `pnpm dev`
|
|
10
26
|
# pnpm wt cancel-polish dev # cd <workbench>/cancel-polish/, run `pnpm dev`
|
|
11
27
|
# pnpm wt cancel-polish:web build # cd <workbench>/cancel-polish/apps/web/, run `pnpm build`
|
|
12
|
-
# pnpm wt numero lint # cd
|
|
28
|
+
# pnpm wt numero lint # cd numero's trunk, run `pnpm lint`
|
|
13
29
|
# pnpm wt cancel-polish ce dc:up local
|
|
14
30
|
# # cd cancel-polish/, run `pnpm ce dc:up local`
|
|
15
31
|
# # composable.env picks up the worktree's env
|
|
@@ -19,14 +35,6 @@
|
|
|
19
35
|
# # pnpm when args would otherwise be consumed by
|
|
20
36
|
# # pnpm's own flag parsing (e.g., --env-file).
|
|
21
37
|
#
|
|
22
|
-
# Resolution (single-pass, flat workbench shape):
|
|
23
|
-
# - Look at subdirs/symlinks at workbench root
|
|
24
|
-
# - Exact match: <slug> matches a subdir name exactly
|
|
25
|
-
# - Suffix match (fallback): <slug> matches a subdir ending with -<slug>
|
|
26
|
-
# - Reserved names skipped: `.indusk`, `node_modules`, `dist`, `.git`
|
|
27
|
-
# - Multiple matches → error with the candidates listed
|
|
28
|
-
# - Zero matches → error with the available subdirs listed
|
|
29
|
-
#
|
|
30
38
|
# pnpm-prefix vs raw exec:
|
|
31
39
|
# - Default: prepends `pnpm` to the command (works for package.json scripts
|
|
32
40
|
# and pnpm-aware tools like `pnpm ce`).
|
|
@@ -49,13 +57,17 @@ COMMAND=("$@")
|
|
|
49
57
|
usage() {
|
|
50
58
|
cat <<'EOF'
|
|
51
59
|
Usage:
|
|
52
|
-
pnpm wt <
|
|
53
|
-
pnpm wt <
|
|
60
|
+
pnpm wt <target>[:<app>] <command> [args...]
|
|
61
|
+
pnpm wt <target>[:<app>] -- <binary> [args...]
|
|
62
|
+
|
|
63
|
+
Targets:
|
|
64
|
+
main | <repo>/main | <repo> a trunk, resolved from .indusk/config.json
|
|
65
|
+
<slug> | <repo>/<slug> a worktree
|
|
54
66
|
|
|
55
67
|
Examples:
|
|
68
|
+
pnpm wt main dev
|
|
56
69
|
pnpm wt cancel-polish dev
|
|
57
70
|
pnpm wt cancel-polish:web build
|
|
58
|
-
pnpm wt <wrapped-repo> lint # the trunk
|
|
59
71
|
pnpm wt cancel-polish ce dc:up local # ce composition (pnpm-aware)
|
|
60
72
|
pnpm wt cancel-polish -- docker compose --env-file .env.local up -d
|
|
61
73
|
# raw exec, no pnpm prefix.
|
|
@@ -81,110 +93,7 @@ APP="${BASH_REMATCH[3]:-}"
|
|
|
81
93
|
|
|
82
94
|
WORKBENCH_ROOT="$(_resolve_workbench_root)"
|
|
83
95
|
|
|
84
|
-
|
|
85
|
-
_is_reserved_name() {
|
|
86
|
-
case "$1" in
|
|
87
|
-
.indusk | .claude | .vscode | .cursor | node_modules | dist | build | .git | .next | scripts | env) return 0 ;;
|
|
88
|
-
*) return 1 ;;
|
|
89
|
-
esac
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
# Slug resolution across the workbench root AND every declared worktrees
|
|
93
|
-
# directory. Scanning the root alone made a declared layout invisible: the
|
|
94
|
-
# worktrees were one level down, so `wt <slug>` reported "no worktree matching"
|
|
95
|
-
# for a worktree that plainly existed.
|
|
96
|
-
#
|
|
97
|
-
# A slug may be qualified as `<repo>/<slug>` to disambiguate. Repo-qualified,
|
|
98
|
-
# not directory-qualified: the repo name and the slug are what a person knows,
|
|
99
|
-
# while the directory is a config detail that changes when the layout does.
|
|
100
|
-
QUALIFIER=""
|
|
101
|
-
if [[ "$SLUG" == */* ]]; then
|
|
102
|
-
QUALIFIER="${SLUG%%/*}"
|
|
103
|
-
SLUG="${SLUG#*/}"
|
|
104
|
-
fi
|
|
105
|
-
|
|
106
|
-
# "<repo>\t<dir>" per declared repo; dir empty means the workbench root.
|
|
107
|
-
declare -a search_repos=() search_dirs=()
|
|
108
|
-
while IFS=$'\t' read -r _name _dir; do
|
|
109
|
-
[[ -n "$_name" ]] || continue
|
|
110
|
-
# Only DECLARED directories get their own pass. A repo that declares none
|
|
111
|
-
# keeps its worktrees at the root, which the root pass below already
|
|
112
|
-
# covers — searching the root twice found every entry twice and turned
|
|
113
|
-
# every flat-layout slug into a false "multiple targets match".
|
|
114
|
-
[[ -n "$_dir" ]] || continue
|
|
115
|
-
search_repos+=("$_name")
|
|
116
|
-
search_dirs+=("$_dir")
|
|
117
|
-
done < <(_read_workbench_worktree_dirs)
|
|
118
|
-
|
|
119
|
-
# The root is always searched too — trunks live there, and so do the worktrees
|
|
120
|
-
# of any repo that declares no location (the flat layout).
|
|
121
|
-
search_repos+=("")
|
|
122
|
-
search_dirs+=("")
|
|
123
|
-
|
|
124
|
-
exact_paths=(); exact_repos=()
|
|
125
|
-
suffix_paths=(); suffix_repos=()
|
|
126
|
-
for idx in "${!search_dirs[@]}"; do
|
|
127
|
-
repo="${search_repos[$idx]}"
|
|
128
|
-
dir="${search_dirs[$idx]}"
|
|
129
|
-
# A qualifier narrows the search to that repo, so `alpha/x` cannot match
|
|
130
|
-
# beta's `x`. The unqualified root pass is kept for trunks.
|
|
131
|
-
if [[ -n "$QUALIFIER" && -n "$repo" && "$repo" != "$QUALIFIER" ]]; then continue; fi
|
|
132
|
-
if [[ -n "$QUALIFIER" && -z "$repo" ]]; then continue; fi
|
|
133
|
-
base="$WORKBENCH_ROOT"
|
|
134
|
-
[[ -n "$dir" ]] && base="$WORKBENCH_ROOT/$dir"
|
|
135
|
-
[[ -d "$base" ]] || continue
|
|
136
|
-
for entry in "$base"/*; do
|
|
137
|
-
[[ -e "$entry" ]] || continue
|
|
138
|
-
[[ -d "$entry" ]] || continue
|
|
139
|
-
name="$(basename "$entry")"
|
|
140
|
-
[[ -z "$dir" ]] && _is_reserved_name "$name" && continue
|
|
141
|
-
if [[ "$name" == "$SLUG" ]]; then
|
|
142
|
-
exact_paths+=("$entry"); exact_repos+=("$repo")
|
|
143
|
-
elif [[ "$name" == *"-$SLUG" ]]; then
|
|
144
|
-
suffix_paths+=("$entry"); suffix_repos+=("$repo")
|
|
145
|
-
fi
|
|
146
|
-
done
|
|
147
|
-
done
|
|
148
|
-
|
|
149
|
-
# Exact match wins; suffix only if no exact.
|
|
150
|
-
candidate_paths=(); candidate_repos=()
|
|
151
|
-
if [[ ${#exact_paths[@]} -gt 0 ]]; then
|
|
152
|
-
candidate_paths=("${exact_paths[@]}"); candidate_repos=("${exact_repos[@]}")
|
|
153
|
-
elif [[ ${#suffix_paths[@]} -gt 0 ]]; then
|
|
154
|
-
candidate_paths=("${suffix_paths[@]}"); candidate_repos=("${suffix_repos[@]}")
|
|
155
|
-
fi
|
|
156
|
-
|
|
157
|
-
if [[ ${#candidate_paths[@]} -eq 0 ]]; then
|
|
158
|
-
echo "Error: no worktree or trunk matching slug '$SLUG' at $WORKBENCH_ROOT" >&2
|
|
159
|
-
echo "Available targets:" >&2
|
|
160
|
-
for idx in "${!search_dirs[@]}"; do
|
|
161
|
-
repo="${search_repos[$idx]}"; dir="${search_dirs[$idx]}"
|
|
162
|
-
base="$WORKBENCH_ROOT"; [[ -n "$dir" ]] && base="$WORKBENCH_ROOT/$dir"
|
|
163
|
-
[[ -d "$base" ]] || continue
|
|
164
|
-
for entry in "$base"/*; do
|
|
165
|
-
[[ -d "$entry" ]] || continue
|
|
166
|
-
name="$(basename "$entry")"
|
|
167
|
-
[[ -z "$dir" ]] && _is_reserved_name "$name" && continue
|
|
168
|
-
if [[ -n "$repo" ]]; then printf ' %s/%s\n' "$repo" "$name" >&2; else printf ' %s\n' "$name" >&2; fi
|
|
169
|
-
done
|
|
170
|
-
done
|
|
171
|
-
exit 1
|
|
172
|
-
fi
|
|
173
|
-
|
|
174
|
-
if [[ ${#candidate_paths[@]} -gt 1 ]]; then
|
|
175
|
-
echo "Error: multiple targets match slug '$SLUG':" >&2
|
|
176
|
-
for i in "${!candidate_paths[@]}"; do
|
|
177
|
-
if [[ -n "${candidate_repos[$i]}" ]]; then
|
|
178
|
-
printf ' %s/%s\n' "${candidate_repos[$i]}" "$(basename "${candidate_paths[$i]}")" >&2
|
|
179
|
-
else
|
|
180
|
-
printf ' %s\n' "$(basename "${candidate_paths[$i]}")" >&2
|
|
181
|
-
fi
|
|
182
|
-
done
|
|
183
|
-
echo "Name the repo to disambiguate, e.g. \`wt <repo>/$SLUG\`." >&2
|
|
184
|
-
exit 1
|
|
185
|
-
fi
|
|
186
|
-
|
|
187
|
-
WORKTREE_PATH="${candidate_paths[0]}"
|
|
96
|
+
WORKTREE_PATH="$(_wt_resolve_target "$SLUG")"
|
|
188
97
|
WORKTREE_NAME="$(basename "$WORKTREE_PATH")"
|
|
189
98
|
|
|
190
99
|
# Raw-exec mode: if the first command token is `--`, run the rest directly
|
|
@@ -85,7 +85,7 @@ Out of scope: `remove`, `prune`, orphan-worktree detection. These are manual ope
|
|
|
85
85
|
|
|
86
86
|
The user-facing run-anything surface is `pnpm wt <slug>[:<app>] <command> [args...]`. This matches the shape `dawn-fde-toolkit` ships today, simplified for single-repo.
|
|
87
87
|
|
|
88
|
-
Resolution is a
|
|
88
|
+
Resolution is one function shared with `wt:pm2` (`_wt_resolve_target`). Trunks come first, from config: `main`, `<repo>/main`, or a declared repo name resolve to the declared workbench-side path, else `<repos_root>/<name>`. Worktree slugs then scan the workbench root and every declared `worktrees` directory. Exact match wins; suffix-match fallback; ambiguous match errors with the qualified `<repo>/<slug>` candidates listed; zero match errors with the available targets.
|
|
89
89
|
|
|
90
90
|
`:<app>` suffix changes the resolved dir from `<resolved>` to `<resolved>/apps/<app>`.
|
|
91
91
|
|
|
@@ -93,9 +93,10 @@ Examples (workbench is wrapping `numero`):
|
|
|
93
93
|
- `pnpm wt cancel-polish dev` — cd to `<workbench>/cancel-polish/`, run `pnpm dev`
|
|
94
94
|
- `pnpm wt cancel-polish:web build` — cd to `<workbench>/cancel-polish/apps/web/`, run `pnpm build`
|
|
95
95
|
- `pnpm wt numero lint` — cd to `<workbench>/numero/` (the trunk symlink), run `pnpm lint`
|
|
96
|
+
- `pnpm wt main lint` — the same trunk, without naming it (single-repo workbench)
|
|
96
97
|
- `pnpm wt cancel-polish ce dc:up local` — cd to `<workbench>/cancel-polish/`, run `pnpm ce dc:up local` (ce reads the worktree's env)
|
|
97
98
|
|
|
98
|
-
Each trunk is addressable by its repo name (`pnpm wt numero ...`)
|
|
99
|
+
Each trunk is addressable by its repo name (`pnpm wt numero ...`) or as `main` (`pnpm wt main ...`; `<repo>/main` when several repos are declared). Trunks resolve from `worktree.repos[]` + `repos_root`, never by scanning — a workbench whose trunk symlink was never made still routes.
|
|
99
100
|
|
|
100
101
|
### Composing with composable.env (legacy — deprecated in favor of doppler)
|
|
101
102
|
|
package/package.json
CHANGED
/package/admin/.next/static/{WxUGu7NCQs8pb0nSvDzv6 → 8eMHSD_WHmwly182SXisv}/_buildManifest.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|