@coodra/cli 0.2.0-beta.6 → 0.2.0-beta.7
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/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/web/apps/web-v2/.next/BUILD_ID +1 -1
- package/dist/runtime/web/apps/web-v2/.next/app-build-manifest.json +128 -128
- package/dist/runtime/web/apps/web-v2/.next/app-path-routes-manifest.json +18 -18
- package/dist/runtime/web/apps/web-v2/.next/build-manifest.json +5 -5
- package/dist/runtime/web/apps/web-v2/.next/prerender-manifest.json +3 -3
- package/dist/runtime/web/apps/web-v2/.next/react-loadable-manifest.json +3 -3
- package/dist/runtime/web/apps/web-v2/.next/server/app/_not-found/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/api/healthz/route_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/api/install/[token]/route.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/api/install/[token]/route_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/api/runs/[id]/state/route_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/auth/cli-login/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/auth/cli-login/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/auth/cli-login/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/auth/sign-in/[[...sign-in]]/page.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/auth/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/auth/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/auth/sign-up/[[...sign-up]]/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/auth/sign-up/[[...sign-up]]/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/auth/sign-up/[[...sign-up]]/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/context-packs/page.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/context-packs/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/context-packs/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/decisions/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/decisions/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/decisions/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/features/page.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/features/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/features/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/forbidden/page.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/forbidden/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/graph/page.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/graph/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/graph/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/init/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/init/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/init/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/install/[token]/cli.sh/route.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/install/[token]/cli.sh/route_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/install/[token]/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/install/[token]/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/install/[token]/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/kill-switches/page.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/kill-switches/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/kill-switches/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/onboarding/solo/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/onboarding/solo/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/onboarding/solo/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/onboarding/team/join/page.js +3 -3
- package/dist/runtime/web/apps/web-v2/.next/server/app/onboarding/team/join/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/onboarding/team/join/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/onboarding/team/page.js +3 -3
- package/dist/runtime/web/apps/web-v2/.next/server/app/onboarding/team/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/onboarding/team/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/packs/[slug]/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/packs/[slug]/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/packs/[slug]/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/packs/new/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/packs/new/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/packs/new/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/packs/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/packs/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/packs/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/policies/page.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/policies/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/policy/page.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/policy/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/policy/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/[fslug]/edit/page.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/[fslug]/edit/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/[fslug]/edit/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/[fslug]/files/[...path]/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/[fslug]/files/[...path]/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/[fslug]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/[fslug]/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/[fslug]/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/[fslug]/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/import/page.js +9 -9
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/import/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/import/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/new/page.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/new/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/new/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/page.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/features/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/packs/new/page.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/packs/new/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/packs/new/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/runs/[id]/diff/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/runs/[id]/diff/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/runs/[id]/diff/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/runs/[id]/live/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/runs/[id]/live/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/runs/[id]/live/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/runs/[id]/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/runs/[id]/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/runs/[id]/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/runs/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/runs/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/runs/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/settings/account/[[...rest]]/page.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/settings/account/[[...rest]]/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/settings/account/[[...rest]]/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/settings/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/settings/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/settings/team/invite/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/settings/team/invite/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/settings/team/invite/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/settings/team/page.js +3 -3
- package/dist/runtime/web/apps/web-v2/.next/server/app/settings/team/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/settings/team/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/sync/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/sync/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/sync/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/templates/page.js +3 -3
- package/dist/runtime/web/apps/web-v2/.next/server/app/templates/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/templates/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/welcome/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/welcome/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/workspace/page.js +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/app/workspace/page.js.nft.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/app-paths-manifest.json +18 -18
- package/dist/runtime/web/apps/web-v2/.next/server/chunks/3616.js +4 -4
- package/dist/runtime/web/apps/web-v2/.next/server/chunks/4527.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/chunks/{4305.js → 4748.js} +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/chunks/4806.js +1 -0
- package/dist/runtime/web/apps/web-v2/.next/server/chunks/{411.js → 6286.js} +2 -2
- package/dist/runtime/web/apps/web-v2/.next/server/chunks/{3367.js → 6789.js} +5 -5
- package/dist/runtime/web/apps/web-v2/.next/server/chunks/7598.js +1 -0
- package/dist/runtime/web/apps/web-v2/.next/server/chunks/9822.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/middleware-build-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/middleware-manifest.json +5 -5
- package/dist/runtime/web/apps/web-v2/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/next-font-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/next-font-manifest.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/pages/500.html +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/server-reference-manifest.js +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/server-reference-manifest.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/2794.25a93c4396d0540e.js +1 -0
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/{8285-7ee171134d83e929.js → 8285-77640bd610ee4c7c.js} +3 -3
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/9819.c7fadd6058c4b658.js +1 -0
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/app/auth/sign-in/[[...sign-in]]/page-3cc0b941a553ba1b.js +1 -0
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/app/auth/sign-up/[[...sign-up]]/page-3cc0b941a553ba1b.js +1 -0
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/app/forbidden/page-14552c3ae8502958.js +1 -0
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/app/layout-a6b47783705e1649.js +1 -0
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/app/projects/[slug]/features/import/page-47145ef3f0628b58.js +1 -0
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/app/runs/[id]/live/page-b22dfb9030c35023.js +1 -0
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/app/settings/account/[[...rest]]/page-14552c3ae8502958.js +1 -0
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/{webpack-a41be9ea9785afc4.js → webpack-1d430a0b1515b51b.js} +1 -1
- package/dist/runtime/web/packages/cli/package.json +3 -3
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/dist/runtime/web/apps/web-v2/.next/server/chunks/370.js +0 -1
- package/dist/runtime/web/apps/web-v2/.next/server/chunks/573.js +0 -1
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/1877.87d50208a6a54cde.js +0 -1
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/2794.e3621ea090f6362b.js +0 -1
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/app/auth/sign-in/[[...sign-in]]/page-67e91ce4dd5652fc.js +0 -1
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/app/auth/sign-up/[[...sign-up]]/page-67e91ce4dd5652fc.js +0 -1
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/app/forbidden/page-e272b356a5051322.js +0 -1
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/app/layout-b6e54745c1181b00.js +0 -1
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/app/projects/[slug]/features/import/page-f6d5a0afc99c2146.js +0 -1
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/app/runs/[id]/live/page-8596dcb65057572e.js +0 -1
- package/dist/runtime/web/apps/web-v2/.next/static/chunks/app/settings/account/[[...rest]]/page-e272b356a5051322.js +0 -1
- /package/dist/runtime/web/apps/web-v2/.next/static/{kHcM6UaOoBnXN8M59NqMB → NxS4o8j8hPhVPfR142KOX}/_buildManifest.js +0 -0
- /package/dist/runtime/web/apps/web-v2/.next/static/{kHcM6UaOoBnXN8M59NqMB → NxS4o8j8hPhVPfR142KOX}/_ssgManifest.js +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
exports.id=3367,exports.ids=[3367],exports.modules={33:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,17504,23)),Promise.resolve().then(c.t.bind(c,7715,23)),Promise.resolve().then(c.t.bind(c,24575,23)),Promise.resolve().then(c.t.bind(c,57074,23)),Promise.resolve().then(c.t.bind(c,94854,23)),Promise.resolve().then(c.t.bind(c,68506,23)),Promise.resolve().then(c.t.bind(c,41634,23)),Promise.resolve().then(c.t.bind(c,74775,23)),Promise.resolve().then(c.bind(c,5010))},7545:(a,b,c)=>{Promise.resolve().then(c.bind(c,93184)),Promise.resolve().then(c.bind(c,12417)),Promise.resolve().then(c.bind(c,20170)),Promise.resolve().then(c.bind(c,44301)),Promise.resolve().then(c.bind(c,14360)),Promise.resolve().then(c.bind(c,13826)),Promise.resolve().then(c.bind(c,87939))},14320:(a,b,c)=>{"use strict";c.r(b),c.d(b,{getActor:()=>i,tryGetActor:()=>j});var d=c(23265),e=c(94404),f=c(34017);async function g(a,b={}){let c=process.env.COODRA_EXPECTED_ORG_ID;if("string"==typeof c&&0!==c.length){if("string"!=typeof a||0===a.length)throw!1!==b.redirectOnMismatch&&(0,f.redirect)("/forbidden?reason=no_org"),Error(`requireOrgMatch: no Clerk org on session (expected ${c})`);if(a!==c)throw!1!==b.redirectOnMismatch&&(0,f.redirect)(`/forbidden?reason=org_mismatch&expected=${encodeURIComponent(c)}&got=${encodeURIComponent(a)}`),Error(`requireOrgMatch: orgId mismatch (expected ${c}, got ${a})`)}}let h={userId:"__solo__",orgId:"__solo__",role:"admin",mode:"solo",source:"solo-bypass"};async function i(){if("solo"===(0,e.uV)())return h;let{auth:a}=await Promise.all([c.e(6865),c.e(8424),c.e(9340)]).then(c.bind(c,19340)),b=await a();if(null===b.userId||void 0===b.userId)throw Error("team mode but no Clerk session at getActor() — middleware misconfig or non-public route reached without auth");return await g(b.orgId??null),{userId:b.userId,orgId:b.orgId??"no-org",role:(0,d.f7)(b.orgRole),mode:"team",source:"clerk"}}async function j(){if("solo"===(0,e.uV)())return h;try{let{auth:a}=await Promise.all([c.e(6865),c.e(8424),c.e(9340)]).then(c.bind(c,19340)),b=await a();if(null===b.userId||void 0===b.userId)return null;return{userId:b.userId,orgId:b.orgId??"no-org",role:(0,d.f7)(b.orgRole),mode:"team",source:"clerk"}}catch{return null}}},19633:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>q,metadata:()=>p});var d=c(18234),e=c(54140),f=c.n(e),g=c(10391),h=c.n(g),i=c(14210),j=c.n(i),k=c(91706),l=c(14320),m=c(30759),n=c(94404),o=c(21074);c(59744);let p={title:"Coodra — App",description:"Editorial audit surface for Coodra — local-first, MCP-native, MIT."};async function q({children:a}){let b,e,g=(0,n.resolveDeploymentMode)(),i="team"===(0,n.uV)(),o=(await r()).map(a=>({slug:a.slug,name:a.name})),p=null,q=null;if(i){b="team";let a=await (0,l.tryGetActor)();null!==a&&(p=a.orgId,q=a.userId)}else b="solo";if(i){let{OrganizationSwitcher:a,UserButton:b}=await Promise.all([c.e(6865),c.e(8424),c.e(9189)]).then(c.bind(c,19189));e=(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,width:"100%",justifyContent:"space-between"},children:[(0,d.jsx)(a,{appearance:m.y,hidePersonal:!0,afterCreateOrganizationUrl:"/",afterSelectOrganizationUrl:"/",afterLeaveOrganizationUrl:"/welcome"}),(0,d.jsx)(b,{appearance:m.y,userProfileUrl:"/settings/account"})]})}let s=(0,d.jsx)("html",{lang:"en",className:`${f().variable} ${h().variable} ${j().variable}`,suppressHydrationWarning:!0,children:(0,d.jsxs)("body",{suppressHydrationWarning:!0,children:[(0,d.jsx)("a",{href:"#main",className:"skip-to-main",children:"Skip to main content"}),(0,d.jsxs)("div",{className:"app",children:[(0,d.jsx)(k.Sidebar,{mode:b,deploymentMode:g,projects:o,orgSlug:p,viewerUserId:q,footerSlot:e}),(0,d.jsx)("main",{className:"main",id:"main",children:a})]})]})});if(i){let{ClerkProvider:a}=await Promise.all([c.e(6865),c.e(8424),c.e(9189)]).then(c.bind(c,19189));return(0,d.jsx)(a,{appearance:m.y,signInUrl:"/auth/sign-in",signUpUrl:"/auth/sign-up",signInFallbackRedirectUrl:"/",signUpFallbackRedirectUrl:"/",children:s})}return s}async function r(){try{return await (0,o.hF)()}catch{return[]}}},21074:(a,b,c)=>{"use strict";c.d(b,{Nm:()=>j,getProject:()=>i,hF:()=>h,oB:()=>k,xx:()=>l});var d=c(4781),e=c(14320),f=c(58671);let g=new Set(["__global__"]);async function h(){let a=(0,f.f)(),b=await (0,d.hF)(a),c=await (0,e.tryGetActor)(),h=c?.orgId??null;return null===h?[]:b.filter(a=>!g.has(a.slug)&&a.orgId===h)}async function i(a){let b=(0,f.f)();return(0,d.Ob)(b,a)}async function j(a,b={}){let c=(0,f.f)(),e=await (0,d.Ob)(c,a);return null===e?null:(0,d.Nm)(c,e.id,b)}async function k(a,b){let c=(0,f.f)(),e=await (0,d.Ob)(c,a);return null===e?{status:"not_found"}:(0,d.oB)(c,{projectId:e.id,newSlug:b})}async function l(a){let b=(0,f.f)(),c=await (0,d.Ob)(b,a);return null===c?{status:"not_found",projectId:a}:(0,d.xx)(b,c.id)}},23265:(a,b,c)=>{"use strict";c.d(b,{assertCanEditKnowledge:()=>o,f7:()=>l,aP:()=>w,cl:()=>n}),c(77598);var d=c(81547),e=c(76815),f=c(86735);(0,f.h)("auth"),Object.freeze({userId:"user_dev_local",orgId:"org_dev_local",source:"solo-bypass"});var g=c(73024),h=c(48161),i=c(76760),j=c(23185);let k=Object.freeze({viewer:0,member:1,admin:2});function l(a){if(null==a)return"member";let b=a.trim().toLowerCase().replace(/^org:/,"");return"admin"===b?"admin":"viewer"===b?"viewer":"member"}function m(a,b){return k[a.role]>=k[b]}function n(a,b){if(!m(a,b))throw new e.qQ(`Requires role '${b}' or higher; actor has '${a.role}'.`)}function o(a,b,c={}){let d=c.allowOwner??!0;if(!m(a,"admin")){if(d&&m(a,"member")){let c=b.createdByUserId??null;if(null!==c&&c===a.userId)return}throw new e.qQ(`Requires admin role${d?" or member-ownership":""} to edit this knowledge artifact; actor has '${a.role}'.`)}}Object.freeze({userId:"__solo__",orgId:"__solo__",role:"admin",source:"solo-bypass"});let p=(0,f.h)("verify-clerk-jwt"),q=new Map;async function r(a,b){let c;if("string"!=typeof a||0===a.length)throw new e.D_("verifyClerkJwtAndExtractClaims: token is empty");let f=void 0!==b.CLERK_SECRET_KEY&&b.CLERK_SECRET_KEY.length>0;if(f&&"sk_test_replace_me"===b.CLERK_SECRET_KEY)throw new e.D_("verifyClerkJwtAndExtractClaims: CLERK_SECRET_KEY is the solo-bypass sentinel; this code path requires a real sk_test_/sk_live_ key");if(void 0===b.CLERK_PUBLISHABLE_KEY||0===b.CLERK_PUBLISHABLE_KEY.length)throw new e.D_("verifyClerkJwtAndExtractClaims: CLERK_PUBLISHABLE_KEY is required (used to derive the JWKS issuer).");let g=Date.now(),h=q.get(a);if(void 0!==h&&g-h.verifiedAt<3e4&&h.claims.expiresAt.getTime()>g)return h.claims;try{c=f?await (0,d.n)(a,{secretKey:b.CLERK_SECRET_KEY}):await (0,d.n)(a,{})}catch(b){let a=b instanceof Error?b.message:String(b);throw p.warn({event:"clerk_verify_failed",err:a,mode:f?"secret":"jwks"},"verifyClerkJwtAndExtractClaims: @clerk/backend rejected token"),new e.D_(`Clerk JWT verification failed: ${a}`)}let i=function(a,b){let c=a.sub;if("string"!=typeof c||0===c.length)throw new e.D_("Clerk JWT: payload.sub is missing or empty");let d=a.exp;if("number"!=typeof d||!Number.isFinite(d))throw new e.D_("Clerk JWT: payload.exp is missing or not a finite number");let f=new Date(1e3*d);if(f.getTime()<=b)throw new e.D_(`Clerk JWT: token expired at ${f.toISOString()} (now=${new Date(b).toISOString()})`);let g=a.iat,h=new Date("number"==typeof g&&Number.isFinite(g)?1e3*g:0),i=a.org_id,j="string"==typeof i&&i.length>0?i:"";if(0===j.length)throw new e.D_("Clerk JWT: org_id missing. Team-mode operations require the user to be in a Clerk org. Sign in via /auth/sign-in and select an organization before retrying.");let k=a.org_role,m=l("string"==typeof k?k:null),n=a.email,o="string"==typeof n&&n.length>0?n:null,p=a.iss;return{userId:c,orgId:j,role:m,email:o,issuer:"string"==typeof p?p:"",expiresAt:f,issuedAt:h}}(c,g);return q.set(a,{claims:i,verifiedAt:g}),i}let s=(0,f.h)("clerk-token-store"),t=j.Ik({version:j.eu(1),token:j.Yj().min(1),webUrl:j.Yj().min(1),fetchedAt:j.ai().int(),claimsMirror:j.Ik({userId:j.Yj(),orgId:j.Yj(),role:j.k5(["admin","member","viewer"]),email:j.Yj().nullable(),expiresAt:j.Yj()}).optional()}).strict(),u=new Set(["sk_test_replace_me","pk_test_replace_me"]);function v(a){return"string"==typeof a&&0!==a.length&&!u.has(a)}async function w(a={}){let b,c=function(a){let b=a??process.env.COODRA_HOME??(0,i.resolve)((0,h.homedir)(),".coodra");return(0,i.resolve)(b,"clerk-token.json")}(a.homeOverride);if(!(0,g.existsSync)(c))return null;try{let a=(0,g.statSync)(c),b=511&a.mode;384!==b&&s.warn({path:c,mode:b.toString(8)},`clerk-token.json has mode ${b.toString(8)} (expected 0600). Run \`chmod 600 ${c}\` to lock it down.`)}catch{}try{let a=(0,g.readFileSync)(c,"utf8"),d=JSON.parse(a);b=t.parse(d)}catch(b){let a=b instanceof Error?b.message:String(b);return s.warn({path:c,err:a,event:"token_file_unreadable"},"clerk-token.json: unreadable or malformed"),null}let d=a.envOverride??function(a){let b=a??process.env.COODRA_HOME??(0,i.resolve)((0,h.homedir)(),".coodra"),c=(0,i.resolve)(b,".env");if(!(0,g.existsSync)(c))return{CLERK_SECRET_KEY:v(process.env.CLERK_SECRET_KEY)?process.env.CLERK_SECRET_KEY:void 0,CLERK_PUBLISHABLE_KEY:v(process.env.CLERK_PUBLISHABLE_KEY)?process.env.CLERK_PUBLISHABLE_KEY:void 0,CLERK_JWT_ISSUER:process.env.CLERK_JWT_ISSUER??null,COODRA_MODE:"team"===process.env.COODRA_MODE||"solo"===process.env.COODRA_MODE?process.env.COODRA_MODE:void 0};let d=function(a){let b={};for(let c of a.split(/\r?\n/)){let a=c.trim();if(0===a.length||a.startsWith("#"))continue;let d=a.indexOf("=");if(d<=0)continue;let e=a.slice(0,d).trim(),f=a.slice(d+1).trim();(f.startsWith('"')&&f.endsWith('"')||f.startsWith("'")&&f.endsWith("'"))&&(f=f.slice(1,-1)),b[e]=f}return b}((0,g.readFileSync)(c,"utf8")),e=a=>{let b=process.env[a];return v(b)?b:d[a]},f=a=>process.env[a]??d[a],j=f("COODRA_MODE");return{CLERK_SECRET_KEY:e("CLERK_SECRET_KEY"),CLERK_PUBLISHABLE_KEY:e("CLERK_PUBLISHABLE_KEY"),CLERK_JWT_ISSUER:f("CLERK_JWT_ISSUER")??null,COODRA_MODE:"team"===j||"solo"===j?j:void 0}}(a.homeOverride);try{return await r(b.token,d)}catch(b){let a=b instanceof Error?b.message:String(b);return s.warn({path:c,err:a,event:"token_verify_failed"},"clerk-token.json: JWT verification failed"),null}}},29748:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,57345,23))},30759:(a,b,c)=>{"use strict";c.d(b,{y:()=>d});let d={variables:{colorPrimary:"#7dd87d",colorBackground:"#0d130d",colorInputBackground:"#0a0e0a",colorText:"#e8e6e1",colorTextSecondary:"#8a8d86",colorTextOnPrimaryBackground:"#0a0e0a",colorInputText:"#e8e6e1",colorDanger:"#d97a7a",colorSuccess:"#7dd87d",colorWarning:"#c08a3e",colorNeutral:"#8a8d86",fontFamily:"Inter Tight, system-ui, sans-serif",fontFamilyButtons:"JetBrains Mono, monospace",fontSize:"14px",borderRadius:"0px",spacingUnit:"8px"},elements:{rootBox:"font-sans",card:"bg-bg-2 border border-rule-strong rounded-none",headerTitle:"font-serif tracking-tight",headerSubtitle:"text-ink-dim",socialButtonsBlockButton:"rounded-none border-rule-strong text-ink",socialButtonsBlockButtonText:"font-mono uppercase tracking-widest text-xs",formButtonPrimary:"rounded-none border border-accent bg-accent text-bg uppercase tracking-widest text-xs font-mono font-medium",formButtonReset:"rounded-none border border-rule-strong text-ink-dim uppercase tracking-widest text-xs font-mono",formFieldLabel:"font-mono uppercase tracking-widest text-[10px] text-ink-mute",formFieldInput:"rounded-none bg-bg border-rule-strong text-ink font-mono text-sm",identityPreviewText:"font-mono text-ink-dim",identityPreviewEditButtonIcon:"text-accent",formFieldAction:"text-accent text-xs font-mono uppercase tracking-wider",footerActionText:"text-ink-dim",footerActionLink:"text-accent underline-offset-2",dividerLine:"bg-rule",dividerText:"text-ink-mute font-mono text-xs uppercase tracking-widest",alertText:"text-warn"},layout:{socialButtonsPlacement:"bottom",socialButtonsVariant:"blockButton"}}},34299:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g,dynamic:()=>f});var d=c(18234),e=c(77716);let f="force-dynamic";function g(){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.b,{crumb:"Not found"}),(0,d.jsx)("section",{className:"screen",children:(0,d.jsx)("div",{className:"head",children:(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"head__num",children:"/404"}),(0,d.jsxs)("h1",{className:"head__title",children:["No ",(0,d.jsx)("em",{children:"such"})," page."]}),(0,d.jsx)("p",{className:"head__lede",children:"The route you followed does not exist on this server."})]})})})]})}},35787:(a,b,c)=>{"use strict";c.d(b,{u:()=>e});var d=c(4781);async function e(a,b={}){let c=await (0,d.dL)({kind:"local",sqlite:{path:a,loadVecExtension:b.loadVecExtension??!1}});if("sqlite"!==c.kind)throw c.close(),Error(`expected sqlite handle, got ${c.kind}`);return c}},40370:(a,b,c)=>{"use strict";c.d(b,{tZ:()=>s,kZ:()=>p,ab:()=>v,fJ:()=>r,I9:()=>q,bP:()=>u,pc:()=>n,S1:()=>o,JL:()=>m,ry:()=>t});var d=c(89038);let e=d.isColorSupported,f={inkFar:"#7d7d7d",...{dark:{phosphor:"#7dd87d",phosphorSoft:"#4a9d4a",crimson:"#d97a7a",amber:"#c08a3e",blue:"#6ba5c8",purple:"#9b87d4",pink:"#d47fa8"},light:{phosphor:"#2e7d32",phosphorSoft:"#43853f",crimson:"#c62828",amber:"#8a5a00",blue:"#1565a0",purple:"#5e35b1",pink:"#ad1457"},unknown:{phosphor:"#3d9140",phosphorSoft:"#4a9d4a",crimson:"#cc4436",amber:"#a8741f",blue:"#3f7fa0",purple:"#7a5fc0",pink:"#c05080"}}[function(){let a=process.env.COODRA_THEME?.trim().toLowerCase();if("dark"===a||"light"===a)return a;let b=process.env.COLORFGBG;if("string"==typeof b&&b.length>0){let a=b.split(";"),c=a[a.length-1],d=void 0!==c?Number.parseInt(c,10):NaN;if(Number.isInteger(d)){if(7===d||d>=9&&d<=15)return"light";if(d>=0&&d<=6||8===d)return"dark"}}return"unknown"}()]};function g(a,b){if(!e)return b;let[c,d,f]=function(a){let b=a.replace("#","");return[Number.parseInt(b.slice(0,2),16),Number.parseInt(b.slice(2,4),16),Number.parseInt(b.slice(4,6),16)]}(a);return`\x1b[38;2;${c};${d};${f}m${b}\x1b[39m`}let h={bold:d.bold,italic:d.italic,dim:d.dim,underline:d.underline},i={ink:a=>a,inkDim:a=>h.dim(a),inkFar:a=>g(f.inkFar,a),phosphor:a=>g(f.phosphor,a),phosphorSoft:a=>g(f.phosphorSoft,a),crimson:a=>g(f.crimson,a),amber:a=>g(f.amber,a),blue:a=>g(f.blue,a),purple:a=>g(f.purple,a),pink:a=>g(f.pink,a)},j={check:{ok:"✓",warn:"⚠",fail:"✗",timeout:"⏱",skip:"\xb7"},node:{ok:"●",fail:"✕",idle:"○",warn:"!"},rule:"─"},k={ok:j.check.ok,warn:j.check.warn,fail:j.check.fail,timeout:j.check.timeout,skip:j.check.skip},l={ok:i.phosphor,warn:i.amber,fail:i.crimson,timeout:i.crimson,skip:i.inkFar};function m(){let a=process.stdout.columns;return"number"==typeof a&&Number.isFinite(a)?Math.max(48,Math.min(100,a)):80}j.node.ok,j.node.fail,j.node.idle,j.node.warn,i.phosphor,i.crimson,i.inkDim,i.amber,f.phosphor,f.amber,f.crimson,f.crimson,f.inkFar,f.phosphor,f.crimson,f.inkFar,f.amber;let n={green:i.phosphor,red:i.crimson,yellow:i.amber,cyan:i.blue,blue:i.blue,magenta:i.purple,gray:i.inkDim,grey:i.inkDim,white:i.ink,dim:h.dim,bold:h.bold,italic:h.italic,underline:h.underline};function o(a,b,c={}){let d=c.width??m(),e=c.indent??0,f=" ".repeat(e),g=`/${a}`,k=b.toUpperCase(),l=Math.max(3,d-(e+g.length+2+k.length+2));return`${f}${i.phosphor(g)} ${h.bold(i.ink(k))} ${i.inkFar(j.rule.repeat(l))}`}function p(a,b,c={}){let d=c.width??m(),e=c.indent??2,f=" ".repeat(e),g=void 0!==b?`${h.bold(i.ink(a))} ${i.inkFar(`— ${b}`)}`:h.bold(i.ink(a)),k=i.inkFar(j.rule.repeat(Math.max(8,d-e)));return`${f}${g}
|
|
1
|
+
exports.id=6789,exports.ids=[6789],exports.modules={33:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,17504,23)),Promise.resolve().then(c.t.bind(c,7715,23)),Promise.resolve().then(c.t.bind(c,24575,23)),Promise.resolve().then(c.t.bind(c,57074,23)),Promise.resolve().then(c.t.bind(c,94854,23)),Promise.resolve().then(c.t.bind(c,68506,23)),Promise.resolve().then(c.t.bind(c,41634,23)),Promise.resolve().then(c.t.bind(c,74775,23)),Promise.resolve().then(c.bind(c,5010))},7545:(a,b,c)=>{Promise.resolve().then(c.bind(c,93184)),Promise.resolve().then(c.bind(c,12417)),Promise.resolve().then(c.bind(c,20170)),Promise.resolve().then(c.bind(c,44301)),Promise.resolve().then(c.bind(c,14360)),Promise.resolve().then(c.bind(c,13826)),Promise.resolve().then(c.bind(c,87939))},14320:(a,b,c)=>{"use strict";c.r(b),c.d(b,{getActor:()=>i,tryGetActor:()=>j});var d=c(23265),e=c(94404),f=c(34017);async function g(a,b={}){let c=process.env.COODRA_EXPECTED_ORG_ID;if("string"==typeof c&&0!==c.length){if("string"!=typeof a||0===a.length)throw!1!==b.redirectOnMismatch&&(0,f.redirect)("/forbidden?reason=no_org"),Error(`requireOrgMatch: no Clerk org on session (expected ${c})`);if(a!==c)throw!1!==b.redirectOnMismatch&&(0,f.redirect)(`/forbidden?reason=org_mismatch&expected=${encodeURIComponent(c)}&got=${encodeURIComponent(a)}`),Error(`requireOrgMatch: orgId mismatch (expected ${c}, got ${a})`)}}let h={userId:"__solo__",orgId:"__solo__",role:"admin",mode:"solo",source:"solo-bypass"};async function i(){if("solo"===(0,e.uV)())return h;let{auth:a}=await Promise.all([c.e(6865),c.e(8424),c.e(9340)]).then(c.bind(c,19340)),b=await a();if(null===b.userId||void 0===b.userId)throw Error("team mode but no Clerk session at getActor() — middleware misconfig or non-public route reached without auth");return await g(b.orgId??null),{userId:b.userId,orgId:b.orgId??"no-org",role:(0,d.f7)(b.orgRole),mode:"team",source:"clerk"}}async function j(){if("solo"===(0,e.uV)())return h;try{let{auth:a}=await Promise.all([c.e(6865),c.e(8424),c.e(9340)]).then(c.bind(c,19340)),b=await a();if(null===b.userId||void 0===b.userId)return null;return{userId:b.userId,orgId:b.orgId??"no-org",role:(0,d.f7)(b.orgRole),mode:"team",source:"clerk"}}catch{return null}}},19633:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>q,metadata:()=>p});var d=c(18234),e=c(54140),f=c.n(e),g=c(10391),h=c.n(g),i=c(14210),j=c.n(i),k=c(91706),l=c(14320),m=c(30759),n=c(94404),o=c(21074);c(59744);let p={title:"Coodra — App",description:"Editorial audit surface for Coodra — local-first, MCP-native, MIT."};async function q({children:a}){let b,e,g=(0,n.resolveDeploymentMode)(),i="team"===(0,n.uV)(),o=(await r()).map(a=>({slug:a.slug,name:a.name})),p=null,q=null;if(i){b="team";let a=await (0,l.tryGetActor)();null!==a&&(p=a.orgId,q=a.userId)}else b="solo";if(i){let{OrganizationSwitcher:a,UserButton:b}=await Promise.all([c.e(6865),c.e(8424),c.e(9189)]).then(c.bind(c,19189));e=(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,width:"100%",justifyContent:"space-between"},children:[(0,d.jsx)(a,{appearance:m.y,hidePersonal:!0,afterCreateOrganizationUrl:"/",afterSelectOrganizationUrl:"/",afterLeaveOrganizationUrl:"/welcome"}),(0,d.jsx)(b,{appearance:m.y,userProfileUrl:"/settings/account"})]})}let s=(0,d.jsx)("html",{lang:"en",className:`${f().variable} ${h().variable} ${j().variable}`,suppressHydrationWarning:!0,children:(0,d.jsxs)("body",{suppressHydrationWarning:!0,children:[(0,d.jsx)("a",{href:"#main",className:"skip-to-main",children:"Skip to main content"}),(0,d.jsxs)("div",{className:"app",children:[(0,d.jsx)(k.Sidebar,{mode:b,deploymentMode:g,projects:o,orgSlug:p,viewerUserId:q,footerSlot:e}),(0,d.jsx)("main",{className:"main",id:"main",children:a})]})]})});if(i){let{ClerkProvider:a}=await Promise.all([c.e(6865),c.e(8424),c.e(9189)]).then(c.bind(c,19189));return(0,d.jsx)(a,{appearance:m.y,signInUrl:"/auth/sign-in",signUpUrl:"/auth/sign-up",signInFallbackRedirectUrl:"/",signUpFallbackRedirectUrl:"/",children:s})}return s}async function r(){try{return await (0,o.hF)()}catch{return[]}}},21074:(a,b,c)=>{"use strict";c.d(b,{Nm:()=>j,getProject:()=>i,hF:()=>h,oB:()=>k,xx:()=>l});var d=c(4781),e=c(14320),f=c(58671);let g=new Set(["__global__"]);async function h(){let a=(0,f.f)(),b=await (0,d.hF)(a),c=await (0,e.tryGetActor)(),h=c?.orgId??null;return null===h?[]:b.filter(a=>!g.has(a.slug)&&a.orgId===h)}async function i(a){let b=(0,f.f)();return(0,d.Ob)(b,a)}async function j(a,b={}){let c=(0,f.f)(),e=await (0,d.Ob)(c,a);return null===e?null:(0,d.Nm)(c,e.id,b)}async function k(a,b){let c=(0,f.f)(),e=await (0,d.Ob)(c,a);return null===e?{status:"not_found"}:(0,d.oB)(c,{projectId:e.id,newSlug:b})}async function l(a){let b=(0,f.f)(),c=await (0,d.Ob)(b,a);return null===c?{status:"not_found",projectId:a}:(0,d.xx)(b,c.id)}},23265:(a,b,c)=>{"use strict";c.d(b,{assertCanEditKnowledge:()=>o,f7:()=>l,aP:()=>w,cl:()=>n}),c(77598);var d=c(81547),e=c(76815),f=c(86735);(0,f.h)("auth"),Object.freeze({userId:"user_dev_local",orgId:"org_dev_local",source:"solo-bypass"});var g=c(73024),h=c(48161),i=c(76760),j=c(23185);let k=Object.freeze({viewer:0,member:1,admin:2});function l(a){if(null==a)return"member";let b=a.trim().toLowerCase().replace(/^org:/,"");return"admin"===b?"admin":"viewer"===b?"viewer":"member"}function m(a,b){return k[a.role]>=k[b]}function n(a,b){if(!m(a,b))throw new e.qQ(`Requires role '${b}' or higher; actor has '${a.role}'.`)}function o(a,b,c={}){let d=c.allowOwner??!0;if(!m(a,"admin")){if(d&&m(a,"member")){let c=b.createdByUserId??null;if(null!==c&&c===a.userId)return}throw new e.qQ(`Requires admin role${d?" or member-ownership":""} to edit this knowledge artifact; actor has '${a.role}'.`)}}Object.freeze({userId:"__solo__",orgId:"__solo__",role:"admin",source:"solo-bypass"});let p=(0,f.h)("verify-clerk-jwt"),q=new Map;async function r(a,b){let c;if("string"!=typeof a||0===a.length)throw new e.D_("verifyClerkJwtAndExtractClaims: token is empty");let f=void 0!==b.CLERK_SECRET_KEY&&b.CLERK_SECRET_KEY.length>0;if(f&&"sk_test_replace_me"===b.CLERK_SECRET_KEY)throw new e.D_("verifyClerkJwtAndExtractClaims: CLERK_SECRET_KEY is the solo-bypass sentinel; this code path requires a real sk_test_/sk_live_ key");if(void 0===b.CLERK_PUBLISHABLE_KEY||0===b.CLERK_PUBLISHABLE_KEY.length)throw new e.D_("verifyClerkJwtAndExtractClaims: CLERK_PUBLISHABLE_KEY is required (used to derive the JWKS issuer).");let g=Date.now(),h=q.get(a);if(void 0!==h&&g-h.verifiedAt<3e4&&h.claims.expiresAt.getTime()>g)return h.claims;try{c=f?await (0,d.n)(a,{secretKey:b.CLERK_SECRET_KEY}):await (0,d.n)(a,{})}catch(b){let a=b instanceof Error?b.message:String(b);throw p.warn({event:"clerk_verify_failed",err:a,mode:f?"secret":"jwks"},"verifyClerkJwtAndExtractClaims: @clerk/backend rejected token"),new e.D_(`Clerk JWT verification failed: ${a}`)}let i=function(a,b){let c=a.sub;if("string"!=typeof c||0===c.length)throw new e.D_("Clerk JWT: payload.sub is missing or empty");let d=a.exp;if("number"!=typeof d||!Number.isFinite(d))throw new e.D_("Clerk JWT: payload.exp is missing or not a finite number");let f=new Date(1e3*d);if(f.getTime()<=b)throw new e.D_(`Clerk JWT: token expired at ${f.toISOString()} (now=${new Date(b).toISOString()})`);let g=a.iat,h=new Date("number"==typeof g&&Number.isFinite(g)?1e3*g:0),i=a.org_id,j="string"==typeof i&&i.length>0?i:"";if(0===j.length)throw new e.D_("Clerk JWT: org_id missing. Team-mode operations require the user to be in a Clerk org. Sign in via /auth/sign-in and select an organization before retrying.");let k=a.org_role,m=l("string"==typeof k?k:null),n=a.email,o="string"==typeof n&&n.length>0?n:null,p=a.iss;return{userId:c,orgId:j,role:m,email:o,issuer:"string"==typeof p?p:"",expiresAt:f,issuedAt:h}}(c,g);return q.set(a,{claims:i,verifiedAt:g}),i}let s=(0,f.h)("clerk-token-store"),t=j.Ik({version:j.eu(1),token:j.Yj().min(1),webUrl:j.Yj().min(1),fetchedAt:j.ai().int(),claimsMirror:j.Ik({userId:j.Yj(),orgId:j.Yj(),role:j.k5(["admin","member","viewer"]),email:j.Yj().nullable(),expiresAt:j.Yj()}).optional()}).strict(),u=new Set(["sk_test_replace_me","pk_test_replace_me"]);function v(a){return"string"==typeof a&&0!==a.length&&!u.has(a)}async function w(a={}){let b,c=function(a){let b=a??process.env.COODRA_HOME??(0,i.resolve)((0,h.homedir)(),".coodra");return(0,i.resolve)(b,"clerk-token.json")}(a.homeOverride);if(!(0,g.existsSync)(c))return null;try{let a=(0,g.statSync)(c),b=511&a.mode;384!==b&&s.warn({path:c,mode:b.toString(8)},`clerk-token.json has mode ${b.toString(8)} (expected 0600). Run \`chmod 600 ${c}\` to lock it down.`)}catch{}try{let a=(0,g.readFileSync)(c,"utf8"),d=JSON.parse(a);b=t.parse(d)}catch(b){let a=b instanceof Error?b.message:String(b);return s.warn({path:c,err:a,event:"token_file_unreadable"},"clerk-token.json: unreadable or malformed"),null}let d=a.envOverride??function(a){let b=a??process.env.COODRA_HOME??(0,i.resolve)((0,h.homedir)(),".coodra"),c=(0,i.resolve)(b,".env");if(!(0,g.existsSync)(c))return{CLERK_SECRET_KEY:v(process.env.CLERK_SECRET_KEY)?process.env.CLERK_SECRET_KEY:void 0,CLERK_PUBLISHABLE_KEY:v(process.env.CLERK_PUBLISHABLE_KEY)?process.env.CLERK_PUBLISHABLE_KEY:void 0,CLERK_JWT_ISSUER:process.env.CLERK_JWT_ISSUER??null,COODRA_MODE:"team"===process.env.COODRA_MODE||"solo"===process.env.COODRA_MODE?process.env.COODRA_MODE:void 0};let d=function(a){let b={};for(let c of a.split(/\r?\n/)){let a=c.trim();if(0===a.length||a.startsWith("#"))continue;let d=a.indexOf("=");if(d<=0)continue;let e=a.slice(0,d).trim(),f=a.slice(d+1).trim();(f.startsWith('"')&&f.endsWith('"')||f.startsWith("'")&&f.endsWith("'"))&&(f=f.slice(1,-1)),b[e]=f}return b}((0,g.readFileSync)(c,"utf8")),e=a=>{let b=process.env[a];return v(b)?b:d[a]},f=a=>process.env[a]??d[a],j=f("COODRA_MODE");return{CLERK_SECRET_KEY:e("CLERK_SECRET_KEY"),CLERK_PUBLISHABLE_KEY:e("CLERK_PUBLISHABLE_KEY"),CLERK_JWT_ISSUER:f("CLERK_JWT_ISSUER")??null,COODRA_MODE:"team"===j||"solo"===j?j:void 0}}(a.homeOverride);try{return await r(b.token,d)}catch(b){let a=b instanceof Error?b.message:String(b);return s.warn({path:c,err:a,event:"token_verify_failed"},"clerk-token.json: JWT verification failed"),null}}},29748:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,57345,23))},30759:(a,b,c)=>{"use strict";c.d(b,{y:()=>d});let d={variables:{colorPrimary:"#7dd87d",colorBackground:"#0d130d",colorInputBackground:"#0a0e0a",colorText:"#e8e6e1",colorTextSecondary:"#8a8d86",colorTextOnPrimaryBackground:"#0a0e0a",colorInputText:"#e8e6e1",colorDanger:"#d97a7a",colorSuccess:"#7dd87d",colorWarning:"#c08a3e",colorNeutral:"#8a8d86",fontFamily:"Inter Tight, system-ui, sans-serif",fontFamilyButtons:"JetBrains Mono, monospace",fontSize:"14px",borderRadius:"0px",spacingUnit:"8px"},elements:{rootBox:"font-sans",card:"bg-bg-2 border border-rule-strong rounded-none",headerTitle:"font-serif tracking-tight",headerSubtitle:"text-ink-dim",socialButtonsBlockButton:"rounded-none border-rule-strong text-ink",socialButtonsBlockButtonText:"font-mono uppercase tracking-widest text-xs",formButtonPrimary:"rounded-none border border-accent bg-accent text-bg uppercase tracking-widest text-xs font-mono font-medium",formButtonReset:"rounded-none border border-rule-strong text-ink-dim uppercase tracking-widest text-xs font-mono",formFieldLabel:"font-mono uppercase tracking-widest text-[10px] text-ink-mute",formFieldInput:"rounded-none bg-bg border-rule-strong text-ink font-mono text-sm",identityPreviewText:"font-mono text-ink-dim",identityPreviewEditButtonIcon:"text-accent",formFieldAction:"text-accent text-xs font-mono uppercase tracking-wider",footerActionText:"text-ink-dim",footerActionLink:"text-accent underline-offset-2",dividerLine:"bg-rule",dividerText:"text-ink-mute font-mono text-xs uppercase tracking-widest",alertText:"text-warn"},layout:{socialButtonsPlacement:"bottom",socialButtonsVariant:"blockButton"}}},34299:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g,dynamic:()=>f});var d=c(18234),e=c(77716);let f="force-dynamic";function g(){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.b,{crumb:"Not found"}),(0,d.jsx)("section",{className:"screen",children:(0,d.jsx)("div",{className:"head",children:(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"head__num",children:"/404"}),(0,d.jsxs)("h1",{className:"head__title",children:["No ",(0,d.jsx)("em",{children:"such"})," page."]}),(0,d.jsx)("p",{className:"head__lede",children:"The route you followed does not exist on this server."})]})})})]})}},35787:(a,b,c)=>{"use strict";c.d(b,{u:()=>e});var d=c(4781);async function e(a,b={}){let c=await (0,d.dL)({kind:"local",sqlite:{path:a,loadVecExtension:b.loadVecExtension??!1}});if("sqlite"!==c.kind)throw c.close(),Error(`expected sqlite handle, got ${c.kind}`);return c}},40370:(a,b,c)=>{"use strict";c.d(b,{tZ:()=>s,kZ:()=>p,ab:()=>v,fJ:()=>r,I9:()=>q,bP:()=>u,pc:()=>n,S1:()=>o,JL:()=>m,ry:()=>t});var d=c(89038);let e=d.isColorSupported,f={inkFar:"#7d7d7d",...{dark:{phosphor:"#7dd87d",phosphorSoft:"#4a9d4a",crimson:"#d97a7a",amber:"#c08a3e",blue:"#6ba5c8",purple:"#9b87d4",pink:"#d47fa8"},light:{phosphor:"#2e7d32",phosphorSoft:"#43853f",crimson:"#c62828",amber:"#8a5a00",blue:"#1565a0",purple:"#5e35b1",pink:"#ad1457"},unknown:{phosphor:"#3d9140",phosphorSoft:"#4a9d4a",crimson:"#cc4436",amber:"#a8741f",blue:"#3f7fa0",purple:"#7a5fc0",pink:"#c05080"}}[function(){let a=process.env.COODRA_THEME?.trim().toLowerCase();if("dark"===a||"light"===a)return a;let b=process.env.COLORFGBG;if("string"==typeof b&&b.length>0){let a=b.split(";"),c=a[a.length-1],d=void 0!==c?Number.parseInt(c,10):NaN;if(Number.isInteger(d)){if(7===d||d>=9&&d<=15)return"light";if(d>=0&&d<=6||8===d)return"dark"}}return"unknown"}()]};function g(a,b){if(!e)return b;let[c,d,f]=function(a){let b=a.replace("#","");return[Number.parseInt(b.slice(0,2),16),Number.parseInt(b.slice(2,4),16),Number.parseInt(b.slice(4,6),16)]}(a);return`\x1b[38;2;${c};${d};${f}m${b}\x1b[39m`}let h={bold:d.bold,italic:d.italic,dim:d.dim,underline:d.underline},i={ink:a=>a,inkDim:a=>h.dim(a),inkFar:a=>g(f.inkFar,a),phosphor:a=>g(f.phosphor,a),phosphorSoft:a=>g(f.phosphorSoft,a),crimson:a=>g(f.crimson,a),amber:a=>g(f.amber,a),blue:a=>g(f.blue,a),purple:a=>g(f.purple,a),pink:a=>g(f.pink,a)},j={check:{ok:"✓",warn:"⚠",fail:"✗",timeout:"⏱",skip:"\xb7"},node:{ok:"●",fail:"✕",idle:"○",warn:"!"},rule:"─"},k={ok:j.check.ok,warn:j.check.warn,fail:j.check.fail,timeout:j.check.timeout,skip:j.check.skip},l={ok:i.phosphor,warn:i.amber,fail:i.crimson,timeout:i.crimson,skip:i.inkFar};function m(){let a=process.stdout.columns;return"number"==typeof a&&Number.isFinite(a)?Math.max(48,Math.min(100,a)):80}j.node.ok,j.node.fail,j.node.idle,j.node.warn,i.phosphor,i.crimson,i.inkDim,i.amber,f.phosphor,f.amber,f.crimson,f.crimson,f.inkFar,f.phosphor,f.crimson,f.inkFar,f.amber;let n={green:i.phosphor,red:i.crimson,yellow:i.amber,cyan:i.blue,blue:i.blue,magenta:i.purple,gray:i.inkDim,grey:i.inkDim,white:i.ink,dim:h.dim,bold:h.bold,italic:h.italic,underline:h.underline};function o(a,b,c={}){let d=c.width??m(),e=c.indent??0,f=" ".repeat(e),g=`/${a}`,k=b.toUpperCase(),l=Math.max(3,d-(e+g.length+2+k.length+2));return`${f}${i.phosphor(g)} ${h.bold(i.ink(k))} ${i.inkFar(j.rule.repeat(l))}`}function p(a,b,c={}){let d=c.width??m(),e=c.indent??2,f=" ".repeat(e),g=void 0!==b?`${h.bold(i.ink(a))} ${i.inkFar(`— ${b}`)}`:h.bold(i.ink(a)),k=i.inkFar(j.rule.repeat(Math.max(8,d-e)));return`${f}${g}
|
|
2
2
|
${f}${k}`}function q(a,b={}){let c=b.keyWidth??22,d=b.indent??0,e=" ".repeat(d),f=void 0!==a.glyph?`${a.glyph} `:" ",g=i.inkDim(a.key.padEnd(c)),h=void 0!==a.valueTone?i[a.valueTone]:i.ink,j=void 0!==a.value?h(a.value):"",k=void 0!==a.meta?` ${i.inkFar(a.meta)}`:"";return`${e}${f}${g}${j}${k}`}function r(a,b={}){let c=a.reduce((a,b)=>Math.max(a,b.key.length),0),d=b.keyWidth??Math.min(34,Math.max(12,c+2)),e=void 0!==b.indent?{keyWidth:d,indent:b.indent}:{keyWidth:d};return a.map(a=>q(a,e)).join("\n")}function s(a){return l[a](k[a])}function t(a){return`${i.amber(j.check.warn)} ${i.inkDim(a)}`}function u(a){return`${i.phosphor(j.check.ok)} ${i.ink(a)}`}function v(a){return i.inkFar(a)}},44574:(a,b,c)=>{"use strict";c.d(b,{Fu:()=>aj,CO:()=>ai,tq:()=>ag,tN:()=>ah});var d=c(38679);c(60681);var e=c(76760),f=c(56589),g=c(14820),h=c(31421),i=c(73024),j=c(51455);async function k(a,b){let c,d=(0,g.gB)(a),f=(0,e.join)(d,`${b}.pid`);try{c=await (0,j.readFile)(f,"utf8")}catch{return{state:"no-pid-file"}}let h=Number.parseInt(c.trim(),10);return!Number.isFinite(h)||h<=0?{state:"no-pid-file"}:l(h)?{state:"alive",pid:h}:{state:"dead",pid:h}}function l(a){try{return process.kill(a,0),!0}catch(a){if("EPERM"===a.code)return!0;return!1}}class m{constructor(a){this.kind="fallback",this.pidsDir=(0,g.gB)(a.coodraHome),this.spawnFn=a.spawn??h.spawn}async isAvailable(){return!0}async install(a){await (0,j.mkdir)(this.pidsDir,{recursive:!0});let b={name:a.name,command:a.command,args:[...a.args],env:{...a.env},...void 0!==a.workingDir?{workingDir:a.workingDir}:{},...void 0!==a.stdoutPath?{stdoutPath:a.stdoutPath}:{},...void 0!==a.stderrPath?{stderrPath:a.stderrPath}:{}};await (0,j.writeFile)(this.unitPath(a.name),JSON.stringify(b,null,2),"utf8")}async uninstall(a){await this.stop(a),await this.tryUnlink(this.unitPath(a)),await this.tryUnlink(this.pidPath(a))}async start(a){"running"===(await this.status(a)).state&&await this.stop(a);let b=await this.readUnit(a);if(null===b)throw Error(`fallback daemon: no unit installed at ${this.unitPath(a)}`);let c="ignore",d="ignore";void 0!==b.stdoutPath&&(await (0,j.mkdir)((0,e.dirname)(b.stdoutPath),{recursive:!0}),c=(0,i.openSync)(b.stdoutPath,"a")),void 0!==b.stderrPath&&(await (0,j.mkdir)((0,e.dirname)(b.stderrPath),{recursive:!0}),d=(0,i.openSync)(b.stderrPath,"a"));let f=this.spawnFn(b.command,[...b.args],{env:{...process.env,...b.env},cwd:b.workingDir,detached:!0,stdio:["ignore",c,d]});if(void 0===f.pid)throw Error(`fallback daemon: spawn failed for unit ${a}`);f.unref(),await (0,j.writeFile)(this.pidPath(a),`${f.pid}
|
|
3
3
|
`,"utf8")}async stop(a){let b=await this.readPid(a);if(null!==b){try{process.kill(b,"SIGTERM")}catch(a){if("ESRCH"!==a.code)throw a}await this.tryUnlink(this.pidPath(a))}}async status(a){let b=await this.readPid(a);return null===b?{name:a,state:"stopped"}:l(b)?{name:a,state:"running",pid:b}:(await this.tryUnlink(this.pidPath(a)),{name:a,state:"stopped",detail:"stale PID file removed"})}async list(){let a;try{a=await (0,j.readdir)(this.pidsDir)}catch{return[]}return Promise.all(a.filter(a=>a.endsWith(".unit.json")).map(a=>a.replace(/\.unit\.json$/,"")).map(a=>this.status(a)))}async readPid(a){try{let b=await (0,j.readFile)(this.pidPath(a),"utf8"),c=Number.parseInt(b.trim(),10);if(Number.isFinite(c)&&c>0)return c;return null}catch{return null}}async readUnit(a){try{let b=await (0,j.readFile)(this.unitPath(a),"utf8");return JSON.parse(b)}catch{return null}}async tryUnlink(a){try{await (0,j.unlink)(a)}catch{}}unitPath(a){return(0,e.join)(this.pidsDir,`${a}.unit.json`)}pidPath(a){return(0,e.join)(this.pidsDir,`${a}.pid`)}}var n=c(48161),o=c(45895);let p="com.coodra.";class q{constructor(a={}){this.kind="launchd";let b=a.homeDir??(0,n.homedir)();this.agentsDir=(0,e.join)(b,"Library","LaunchAgents"),this.run=a.execa??o.Ho}async isAvailable(){try{let a=await this.run("launchctl",["version"],{reject:!1,timeout:1500});return 0===a.exitCode}catch{return!1}}async install(a){await (0,j.mkdir)(this.agentsDir,{recursive:!0});let b=function(a){let b=[a.command,...a.args].map(r),c=Object.entries(a.env).map(([a,b])=>` <key>${r(a)}</key>
|
|
4
|
-
<string>${r(b)}</string>`).join("\n");return['<?xml version="1.0" encoding="UTF-8"?>','<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">','<plist version="1.0">',"<dict>",` <key>Label</key><string>${p}${r(a.name)}</string>`," <key>ProgramArguments</key>"," <array>",...b.map(a=>` <string>${a}</string>`)," </array>"," <key>RunAtLoad</key><true/>"," <key>KeepAlive</key><true/>",...c.length>0?[" <key>EnvironmentVariables</key>"," <dict>",c," </dict>"]:[],...void 0!==a.workingDir?[` <key>WorkingDirectory</key><string>${r(a.workingDir)}</string>`]:[],...void 0!==a.stdoutPath?[` <key>StandardOutPath</key><string>${r(a.stdoutPath)}</string>`]:[],...void 0!==a.stderrPath?[` <key>StandardErrorPath</key><string>${r(a.stderrPath)}</string>`]:[],"</dict>","</plist>",""].join("\n")}(a);await (0,j.writeFile)(this.plistPath(a.name),b,"utf8")}async uninstall(a){await this.stop(a);try{await (0,j.unlink)(this.plistPath(a))}catch{}}async start(a){let b=`gui/${process.getuid?.()??0}`,c=`${b}/${this.label(a)}`;await this.run("launchctl",["bootout",c],{reject:!1,timeout:5e3}),await this.run("launchctl",["bootstrap",b,this.plistPath(a)],{reject:!1,timeout:5e3})}async stop(a){let b=`gui/${process.getuid?.()??0}/${this.label(a)}`;await this.run("launchctl",["bootout",b],{reject:!1,timeout:5e3})}async status(a){let b=await this.run("launchctl",["print",`gui/${process.getuid?.()??0}/${this.label(a)}`],{reject:!1,timeout:3e3}),c=String(b.stdout??"");if(0!==(b.exitCode??1))return{name:a,state:"stopped"};let d=/pid\s*=\s*(\d+)/.exec(c);return null!==d&&void 0!==d[1]?{name:a,state:"running",pid:Number.parseInt(d[1],10)}:{name:a,state:"unknown",detail:c.slice(0,200)}}async list(){let a;try{a=await (0,j.readdir)(this.agentsDir)}catch{return[]}return Promise.all(a.filter(a=>a.startsWith(p)&&a.endsWith(".plist")).map(a=>a.replace(p,"").replace(/\.plist$/,"")).map(a=>this.status(a)))}plistPath(a){return(0,e.join)(this.agentsDir,`${this.label(a)}.plist`)}label(a){return`${p}${a}`}}function r(a){return a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}let s="coodra-";class t{constructor(a={}){this.kind="systemd";let b=a.homeDir??(0,n.homedir)();this.unitsDir=(0,e.join)(b,".config","systemd","user"),this.run=a.execa??o.Ho}async isAvailable(){try{let a=await this.run("systemctl",["--user","--version"],{reject:!1,timeout:1500});return 0===a.exitCode}catch{return!1}}async install(a){await (0,j.mkdir)(this.unitsDir,{recursive:!0});let b=function(a){let b=Object.entries(a.env).map(([a,b])=>(function(a,b){let c=b.replace(/\r?\n/g," ").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/%/g,"%%");return`Environment="${a}=${c}"`})(a,b));return["[Unit]",`Description=Coodra managed unit (${a.name})`,"After=default.target","","[Service]","Type=simple",`ExecStart=${a.command} ${a.args.map(u).join(" ")}`,"Restart=on-failure","RestartSec=2",...void 0!==a.workingDir?[`WorkingDirectory=${a.workingDir}`]:[],...void 0!==a.stdoutPath?[`StandardOutput=append:${a.stdoutPath}`]:[],...void 0!==a.stderrPath?[`StandardError=append:${a.stderrPath}`]:[],...b,"","[Install]","WantedBy=default.target",""].join("\n")}(a);await (0,j.writeFile)(this.unitPath(a.name),b,"utf8"),await this.run("systemctl",["--user","daemon-reload"],{reject:!1,timeout:3e3}),await this.run("systemctl",["--user","reset-failed",this.unitName(a.name)],{reject:!1,timeout:3e3})}async uninstall(a){await this.stop(a);try{await (0,j.unlink)(this.unitPath(a)),await this.run("systemctl",["--user","daemon-reload"],{reject:!1,timeout:3e3})}catch{}}async start(a){await this.run("systemctl",["--user","restart",this.unitName(a)],{reject:!1,timeout:5e3})}async stop(a){await this.run("systemctl",["--user","stop",this.unitName(a)],{reject:!1,timeout:5e3})}async status(a){let b=String((await this.run("systemctl",["--user","show",this.unitName(a),"--property=ActiveState,MainPID"],{reject:!1,timeout:3e3})).stdout??""),c=/ActiveState=(\S+)/.exec(b)?.[1]??"unknown",d=/MainPID=(\d+)/.exec(b)?.[1];if("active"===c){let b=void 0!==d?Number.parseInt(d,10):void 0;return{name:a,state:"running",...void 0!==b&&b>0?{pid:b}:{}}}return"inactive"===c||"failed"===c?{name:a,state:"stopped",detail:c}:{name:a,state:"unknown",detail:c}}async list(){let a;try{a=await (0,j.readdir)(this.unitsDir)}catch{return[]}return Promise.all(a.filter(a=>a.startsWith(s)&&a.endsWith(".service")).map(a=>a.replace(s,"").replace(/\.service$/,"")).map(a=>this.status(a)))}unitPath(a){return(0,e.join)(this.unitsDir,this.unitName(a))}unitName(a){return`${s}${a}.service`}}function u(a){return/^[A-Za-z0-9_\-./=:]+$/.test(a)?a:`"${a.replace(/"/g,'\\"')}"`}async function v(a){let b=a.platform??process.platform;if("darwin"===b){let a=new q;if(await a.isAvailable())return a}else if("linux"===b){let a=new t;if(await a.isAvailable())return a}return new m({coodraHome:a.coodraHome})}var w=c(81126),x=c(60521);let y=[{kind:"http",name:"mcp-server",displayName:"Coodra MCP Server",port:3100,defaultPort:3100,relativeEntry:"apps/mcp-server/dist/index.js",healthUrl:a=>`http://127.0.0.1:${a}/healthz`},{kind:"http",name:"hooks-bridge",displayName:"Coodra Hooks Bridge",port:3101,defaultPort:3101,relativeEntry:"apps/hooks-bridge/dist/index.js",healthUrl:a=>`http://127.0.0.1:${a}/healthz`},{kind:"worker",name:"sync-daemon",displayName:"Coodra Sync Daemon",relativeEntry:"apps/sync-daemon/dist/index.js",requiresTeamMode:!0},{kind:"http",name:"web",displayName:"Coodra Web",port:3001,defaultPort:3001,relativeEntry:"apps/web-v2/.next/standalone/apps/web-v2/server.js",healthUrl:a=>`http://127.0.0.1:${a}/api/healthz`}];async function z(a){let b={...(0,w.h)(a.coodraHome,process.cwd()),...a.env},c=A(b.MCP_SERVER_PORT,3100),d=A(b.HOOKS_BRIDGE_PORT,3101),f=A(b.COODRA_WEB_PORT,3001),h=(0,g.xR)(a.coodraHome),i="team"===b.COODRA_MODE,j=[];for(let g of y){if("worker"===g.kind&&g.requiresTeamMode&&!i)continue;let k=null;"http"===g.kind&&("mcp-server"===g.name?k=c:"hooks-bridge"===g.name?k=d:"web"===g.name&&(k=f));let l=await (0,x.aw)(g.name),m=l.path,n=l.source,o=function(a){let b={COODRA_LOG_DESTINATION:"stderr",COODRA_HOME:a.coodraHome};if("bundled"===a.entrySource){let a=(0,x.Pd)("sqlite");null!==a&&(b.COODRA_MIGRATIONS_DIR=a.replace(/\/sqlite$/,"").replace(/\\sqlite$/,""))}let c=new Set(["LOCAL_HOOK_SECRET","DATABASE_URL"]),d=new Set(["COODRA_LOG_DESTINATION","COODRA_HOME","COODRA_MIGRATIONS_DIR","MCP_SERVER_PORT","MCP_SERVER_TRANSPORT","MCP_SERVER_HOST","HOOKS_BRIDGE_PORT","HOOKS_BRIDGE_HOST","PORT","HOSTNAME","NODE_ENV"]);for(let[e,f]of Object.entries(a.env))"string"==typeof f&&0!==f.length&&!d.has(e)&&(e.startsWith("COODRA_")||e.startsWith("CLERK_")||c.has(e))&&(b[e]=f);return"mcp-server"===a.name&&null!==a.port?(b.MCP_SERVER_PORT=String(a.port),b.MCP_SERVER_TRANSPORT="http",b.MCP_SERVER_HOST="127.0.0.1"):"hooks-bridge"===a.name&&null!==a.port?(b.HOOKS_BRIDGE_PORT=String(a.port),b.HOOKS_BRIDGE_HOST="127.0.0.1"):"web"===a.name&&null!==a.port&&(b.PORT=String(a.port),b.HOSTNAME="
|
|
4
|
+
<string>${r(b)}</string>`).join("\n");return['<?xml version="1.0" encoding="UTF-8"?>','<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">','<plist version="1.0">',"<dict>",` <key>Label</key><string>${p}${r(a.name)}</string>`," <key>ProgramArguments</key>"," <array>",...b.map(a=>` <string>${a}</string>`)," </array>"," <key>RunAtLoad</key><true/>"," <key>KeepAlive</key><true/>",...c.length>0?[" <key>EnvironmentVariables</key>"," <dict>",c," </dict>"]:[],...void 0!==a.workingDir?[` <key>WorkingDirectory</key><string>${r(a.workingDir)}</string>`]:[],...void 0!==a.stdoutPath?[` <key>StandardOutPath</key><string>${r(a.stdoutPath)}</string>`]:[],...void 0!==a.stderrPath?[` <key>StandardErrorPath</key><string>${r(a.stderrPath)}</string>`]:[],"</dict>","</plist>",""].join("\n")}(a);await (0,j.writeFile)(this.plistPath(a.name),b,"utf8")}async uninstall(a){await this.stop(a);try{await (0,j.unlink)(this.plistPath(a))}catch{}}async start(a){let b=`gui/${process.getuid?.()??0}`,c=`${b}/${this.label(a)}`;await this.run("launchctl",["bootout",c],{reject:!1,timeout:5e3}),await this.run("launchctl",["bootstrap",b,this.plistPath(a)],{reject:!1,timeout:5e3})}async stop(a){let b=`gui/${process.getuid?.()??0}/${this.label(a)}`;await this.run("launchctl",["bootout",b],{reject:!1,timeout:5e3})}async status(a){let b=await this.run("launchctl",["print",`gui/${process.getuid?.()??0}/${this.label(a)}`],{reject:!1,timeout:3e3}),c=String(b.stdout??"");if(0!==(b.exitCode??1))return{name:a,state:"stopped"};let d=/pid\s*=\s*(\d+)/.exec(c);return null!==d&&void 0!==d[1]?{name:a,state:"running",pid:Number.parseInt(d[1],10)}:{name:a,state:"unknown",detail:c.slice(0,200)}}async list(){let a;try{a=await (0,j.readdir)(this.agentsDir)}catch{return[]}return Promise.all(a.filter(a=>a.startsWith(p)&&a.endsWith(".plist")).map(a=>a.replace(p,"").replace(/\.plist$/,"")).map(a=>this.status(a)))}plistPath(a){return(0,e.join)(this.agentsDir,`${this.label(a)}.plist`)}label(a){return`${p}${a}`}}function r(a){return a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}let s="coodra-";class t{constructor(a={}){this.kind="systemd";let b=a.homeDir??(0,n.homedir)();this.unitsDir=(0,e.join)(b,".config","systemd","user"),this.run=a.execa??o.Ho}async isAvailable(){try{let a=await this.run("systemctl",["--user","--version"],{reject:!1,timeout:1500});return 0===a.exitCode}catch{return!1}}async install(a){await (0,j.mkdir)(this.unitsDir,{recursive:!0});let b=function(a){let b=Object.entries(a.env).map(([a,b])=>(function(a,b){let c=b.replace(/\r?\n/g," ").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/%/g,"%%");return`Environment="${a}=${c}"`})(a,b));return["[Unit]",`Description=Coodra managed unit (${a.name})`,"After=default.target","","[Service]","Type=simple",`ExecStart=${a.command} ${a.args.map(u).join(" ")}`,"Restart=on-failure","RestartSec=2",...void 0!==a.workingDir?[`WorkingDirectory=${a.workingDir}`]:[],...void 0!==a.stdoutPath?[`StandardOutput=append:${a.stdoutPath}`]:[],...void 0!==a.stderrPath?[`StandardError=append:${a.stderrPath}`]:[],...b,"","[Install]","WantedBy=default.target",""].join("\n")}(a);await (0,j.writeFile)(this.unitPath(a.name),b,"utf8"),await this.run("systemctl",["--user","daemon-reload"],{reject:!1,timeout:3e3}),await this.run("systemctl",["--user","reset-failed",this.unitName(a.name)],{reject:!1,timeout:3e3})}async uninstall(a){await this.stop(a);try{await (0,j.unlink)(this.unitPath(a)),await this.run("systemctl",["--user","daemon-reload"],{reject:!1,timeout:3e3})}catch{}}async start(a){await this.run("systemctl",["--user","restart",this.unitName(a)],{reject:!1,timeout:5e3})}async stop(a){await this.run("systemctl",["--user","stop",this.unitName(a)],{reject:!1,timeout:5e3})}async status(a){let b=String((await this.run("systemctl",["--user","show",this.unitName(a),"--property=ActiveState,MainPID"],{reject:!1,timeout:3e3})).stdout??""),c=/ActiveState=(\S+)/.exec(b)?.[1]??"unknown",d=/MainPID=(\d+)/.exec(b)?.[1];if("active"===c){let b=void 0!==d?Number.parseInt(d,10):void 0;return{name:a,state:"running",...void 0!==b&&b>0?{pid:b}:{}}}return"inactive"===c||"failed"===c?{name:a,state:"stopped",detail:c}:{name:a,state:"unknown",detail:c}}async list(){let a;try{a=await (0,j.readdir)(this.unitsDir)}catch{return[]}return Promise.all(a.filter(a=>a.startsWith(s)&&a.endsWith(".service")).map(a=>a.replace(s,"").replace(/\.service$/,"")).map(a=>this.status(a)))}unitPath(a){return(0,e.join)(this.unitsDir,this.unitName(a))}unitName(a){return`${s}${a}.service`}}function u(a){return/^[A-Za-z0-9_\-./=:]+$/.test(a)?a:`"${a.replace(/"/g,'\\"')}"`}async function v(a){let b=a.platform??process.platform;if("darwin"===b){let a=new q;if(await a.isAvailable())return a}else if("linux"===b){let a=new t;if(await a.isAvailable())return a}return new m({coodraHome:a.coodraHome})}var w=c(81126),x=c(60521);let y=[{kind:"http",name:"mcp-server",displayName:"Coodra MCP Server",port:3100,defaultPort:3100,relativeEntry:"apps/mcp-server/dist/index.js",healthUrl:a=>`http://127.0.0.1:${a}/healthz`},{kind:"http",name:"hooks-bridge",displayName:"Coodra Hooks Bridge",port:3101,defaultPort:3101,relativeEntry:"apps/hooks-bridge/dist/index.js",healthUrl:a=>`http://127.0.0.1:${a}/healthz`},{kind:"worker",name:"sync-daemon",displayName:"Coodra Sync Daemon",relativeEntry:"apps/sync-daemon/dist/index.js",requiresTeamMode:!0},{kind:"http",name:"web",displayName:"Coodra Web",port:3001,defaultPort:3001,relativeEntry:"apps/web-v2/.next/standalone/apps/web-v2/server.js",healthUrl:a=>`http://127.0.0.1:${a}/api/healthz`}];async function z(a){let b={...(0,w.h)(a.coodraHome,process.cwd()),...a.env},c=A(b.MCP_SERVER_PORT,3100),d=A(b.HOOKS_BRIDGE_PORT,3101),f=A(b.COODRA_WEB_PORT,3001),h=(0,g.xR)(a.coodraHome),i="team"===b.COODRA_MODE,j=[];for(let g of y){if("worker"===g.kind&&g.requiresTeamMode&&!i)continue;let k=null;"http"===g.kind&&("mcp-server"===g.name?k=c:"hooks-bridge"===g.name?k=d:"web"===g.name&&(k=f));let l=await (0,x.aw)(g.name),m=l.path,n=l.source,o=function(a){let b={COODRA_LOG_DESTINATION:"stderr",COODRA_HOME:a.coodraHome};if("bundled"===a.entrySource){let a=(0,x.Pd)("sqlite");null!==a&&(b.COODRA_MIGRATIONS_DIR=a.replace(/\/sqlite$/,"").replace(/\\sqlite$/,""))}let c=new Set(["LOCAL_HOOK_SECRET","DATABASE_URL"]),d=new Set(["COODRA_LOG_DESTINATION","COODRA_HOME","COODRA_MIGRATIONS_DIR","MCP_SERVER_PORT","MCP_SERVER_TRANSPORT","MCP_SERVER_HOST","HOOKS_BRIDGE_PORT","HOOKS_BRIDGE_HOST","PORT","HOSTNAME","NODE_ENV"]);for(let[e,f]of Object.entries(a.env))"string"==typeof f&&0!==f.length&&!d.has(e)&&(e.startsWith("COODRA_")||e.startsWith("CLERK_")||c.has(e))&&(b[e]=f);return"mcp-server"===a.name&&null!==a.port?(b.MCP_SERVER_PORT=String(a.port),b.MCP_SERVER_TRANSPORT="http",b.MCP_SERVER_HOST="127.0.0.1"):"hooks-bridge"===a.name&&null!==a.port?(b.HOOKS_BRIDGE_PORT=String(a.port),b.HOOKS_BRIDGE_HOST="127.0.0.1"):"web"===a.name&&null!==a.port&&(b.PORT=String(a.port),b.HOSTNAME="::",b.NODE_ENV="production"),b}({env:b,coodraHome:a.coodraHome,port:k,name:g.name,entrySource:n}),p=(0,e.join)(h,`${g.name}.log`),q=(0,e.join)(h,`${g.name}.log`),r=process.cwd(),s={name:g.name,command:process.execPath,args:[m],env:o,workingDir:r,stdoutPath:p,stderrPath:q};j.push({descriptor:g,entryPath:m,port:k,unit:s})}return j}function A(a,b){if("string"!=typeof a||0===a.length)return b;let c=Number.parseInt(a,10);return!Number.isFinite(c)||c<=0||c>65535?b:c}var B=c(58500),C=c(57975),D=c(81938);let E=(0,C.promisify)(h.execFile);async function F(){try{let{stdout:a}=await E("which",["cloudflared"]),b=a.trim();if(0===b.length||!(0,i.existsSync)(b))return null;return{path:b}}catch{return null}}async function G(a){let b,c=a.timeoutMs??6e4;(0,i.mkdirSync)((0,e.dirname)(a.logPath),{recursive:!0}),(0,i.writeFileSync)(a.logPath,"","utf8");let d=(0,i.openSync)(a.logPath,"a");try{b=(0,h.spawn)("cloudflared",["tunnel","--url",`http://127.0.0.1:${a.localPort}`,"--no-autoupdate"],{stdio:["ignore",d,d],detached:!0})}catch(a){throw Error(`cloudflared spawn failed: ${a.message}`)}let f=b.pid;if("number"!=typeof f)throw b.kill(),Error("cloudflared spawn returned no PID");b.unref();let g=/https?:\/\/[a-z0-9.-]+\.trycloudflare\.com\b/i,j=Date.now()+c;for(;Date.now()<j;){if(null!==b.exitCode){let c=(()=>{try{return(0,i.readFileSync)(a.logPath,"utf8").slice(-500)}catch{return"(no log)"}})();throw Error(`cloudflared exited before printing a tunnel URL (code=${b.exitCode}); log tail: ${c}`)}try{let b=(0,i.readFileSync)(a.logPath,"utf8").match(g);if(null!==b)return{url:b[0],pid:f,logPath:a.logPath}}catch{}await (0,B.setTimeout)(200)}try{process.kill(f,"SIGTERM")}catch{}let k=(()=>{try{return(0,i.readFileSync)(a.logPath,"utf8").slice(-500)}catch{return"(no log)"}})();throw Error(`cloudflared did not print a https://*.trycloudflare.com URL within ${c}ms; log tail: ${k}`)}function H(a){return(0,e.join)(a,"tunnel.json")}async function I(a){let b=a.timeoutMs??1e4,c=a.initialBackoffMs??100,d=a.maxBackoffMs??1e3,e=a.fetchImpl??fetch,f=Date.now()+b;for(;Date.now()<f;){try{let b=new AbortController,d=setTimeout(()=>b.abort(),Math.min(4*c,2e3)),f=await e(a.url,{signal:b.signal});if(clearTimeout(d),f.ok)return!0}catch{}await function(a){return new Promise(b=>setTimeout(b,a))}(c),c=Math.min(2*c,d)}return!1}var J=c(40370);let K={writeStdout:a=>{process.stdout.write(a)},writeStderr:a=>{process.stderr.write(a)},exit:a=>{process.exit(a)}};async function L(a={},b=K){let c,d=a.env??process.env;if(!0===a.foreground)return b.writeStderr(`${J.pc.yellow("coodra start --foreground")}: not implemented in 08a — for foreground debug use \`pnpm --filter @coodra/{mcp-server,hooks-bridge} dev\` directly per docs/DEVELOPMENT.md.
|
|
5
5
|
`),b.exit(f.ut);b.writeStdout(`${(0,J.kZ)("Start","launch Coodra daemons",{width:(0,J.JL)()})}
|
|
6
6
|
`);let e=(0,g.Ok)({...void 0!==a.home?{override:a.home}:{},env:d}),h={...(0,w.h)(e),...d};try{c=await z({coodraHome:e,env:h})}catch(a){return b.writeStderr(`${J.pc.red("coodra start")}: ${a.message}
|
|
7
7
|
`),b.exit(f.ut)}let i="team"===h.COODRA_MODE,j=h.DATABASE_URL,k=i&&("string"!=typeof j||0===j.trim().length);k&&b.writeStderr(`${J.pc.yellow("⚠")} ${J.pc.bold("COODRA_MODE=team")} but ${J.pc.bold("DATABASE_URL")} is not set in ${J.pc.cyan("~/.coodra/.env")}.
|
|
@@ -40,7 +40,7 @@ ${J.pc.yellow("⚠")} ${J.pc.bold("--tunnel")} requested but ${J.pc.cyan("cloudf
|
|
|
40
40
|
`)}catch(a){b.writeStderr(`${J.pc.yellow("⚠")} ${c} stop reported: ${a.message}
|
|
41
41
|
`)}if(void 0===j){let a=function(a){let b,c=function(a){let b=H(a);if(!(0,i.existsSync)(b))return null;try{let a=JSON.parse((0,i.readFileSync)(b,"utf8"));if("number"!=typeof a.pid||"string"!=typeof a.url)return null;return a}catch{return null}}(a);if(null===c)return{stopped:!1,pid:null};let d=!1;try{process.kill(c.pid,"SIGTERM"),d=!0}catch(a){b=a.message}let e=H(a);if((0,i.existsSync)(e))try{(0,i.unlinkSync)(e)}catch{}return void 0===b?{stopped:d,pid:c.pid}:{stopped:d,pid:c.pid,err:b}}(d);a.stopped?b.writeStdout(`${J.pc.green("✓")} Stopped cloudflared tunnel (pid ${a.pid})
|
|
42
42
|
`):null!==a.pid&&b.writeStdout(`${J.pc.gray("\xb7")} cloudflared tunnel pid ${a.pid} already gone; cleaned up state
|
|
43
|
-
`);let c=(0,e.join)(d,".env");(0,D.VZ)(c,"COODRA_PUBLIC_URL")}return b.exit(f.Ij)}class X extends Error{constructor(a){super(`services exit ${a}`),this.code=a,this.name="ExitSentinel"}}function Y(){let a=[],b=[];return{io:{writeStdout:b=>{a.push(b)},writeStderr:a=>{b.push(a)},exit:a=>{throw new X(a)}},stdout:a,stderr:b}}let Z=/\x1b\[[0-9;]*[a-zA-Z]/g;function $(a){return a.replace(Z,"")}async function _(a={}){let b=Y(),c={foreground:!1,...void 0!==a.mcp?{mcp:a.mcp}:{},...void 0!==a.hooks?{hooks:a.hooks}:{},...void 0!==a.sync?{sync:a.sync}:{},...void 0!==a.waitTimeoutMs?{waitTimeoutMs:a.waitTimeoutMs}:{}},d=0;try{await L(c,b.io)}catch(a){a instanceof X?d=a.code:(b.stderr.push(a.message),d=1)}let e=$(b.stdout.join("")),f=$(b.stderr.join(""));return 0===d?{ok:!0,stdout:e,stderr:f}:{ok:!1,error:70===d?"startup_failed":"unknown_failure",howToFix:f.split("\n").slice(0,3).join(" ").slice(0,240)||"Service start failed; check ~/.coodra/logs/.",exitCode:d,stdout:e,stderr:f}}async function aa(a={}){let b=Y(),c={...void 0!==a.service?{service:a.service}:{}},d=0;try{await W(c,b.io)}catch(a){a instanceof X?d=a.code:(b.stderr.push(a.message),d=1)}let e=$(b.stdout.join("")),f=$(b.stderr.join(""));return 0===d?{ok:!0,stdout:e,stderr:f}:{ok:!1,error:"unknown_failure",howToFix:f.split("\n").slice(0,3).join(" ").slice(0,240)||"Service stop failed; check ~/.coodra/logs/.",exitCode:d,stdout:e,stderr:f}}async function ab(){let a=Y(),b=0;try{await Q({json:!0},a.io)}catch(c){c instanceof X?b=c.code:(a.stderr.push(c.message),b=1)}let c=$(a.stdout.join("")),d=$(a.stderr.join(""));if(b<=1){let a=[];try{let b=JSON.parse(c);Array.isArray(b.services)&&(a=b.services.map(a=>(function(a){if("object"!=typeof a||null===a)return{name:"?",status:"unknown",raw:JSON.stringify(a)};let b="string"==typeof a.name?a.name:"?",c="string"==typeof a.status?a.status:"unknown",d="number"==typeof a.pid?a.pid:void 0,e="number"==typeof a.port?a.port:void 0,f="string"==typeof a.health?a.health:void 0;return{name:b,status:c,...void 0!==d?{pid:d}:{},...void 0!==e?{port:e}:{},...void 0!==f?{health:f}:{},raw:JSON.stringify(a)}})(a)))}catch{}return{ok:!0,services:a,stdout:c,stderr:d,exitCode:b}}return{ok:!1,error:"status_failed",howToFix:d.split("\n").slice(0,3).join(" ").slice(0,240)||"Status check failed; check ~/.coodra/logs/.",stdout:c,stderr:d,exitCode:b}}var ac=c(34017),ad=c(80554),ae=c(77829);let af="/workspace";async function ag(a){(0,ad._o)("startServicesAction");let b="mcp"===a.get("only"),c="hooks"===a.get("only"),d=await _({...b?{mcp:!0,hooks:!1}:{},...c?{hooks:!0,mcp:!1}:{}});d.ok||(0,ac.redirect)(`${af}?error=${encodeURIComponent(d.error)}&errorMessage=${encodeURIComponent(d.howToFix)}`),(0,ac.redirect)(`${af}?started=1`)}async function ah(a){(0,ad._o)("stopServicesAction");let b=a.get("service"),c=await aa("string"==typeof b&&("mcp-server"===b||"hooks-bridge"===b||"sync-daemon"===b)?{service:b}:{});c.ok||(0,ac.redirect)(`${af}?error=${encodeURIComponent(c.error)}&errorMessage=${encodeURIComponent(c.howToFix)}`),(0,ac.redirect)(`${af}?stopped=1`)}async function ai(){(0,ad._o)("refreshStatusAction"),(0,ac.redirect)(`${af}?refreshed=${Date.now()}`)}async function aj(){return ab()}(0,ae.D)([ag,ah,ai,aj]),(0,d.A)(ag,"
|
|
44
|
-
Looked in bundled paths (relative to the @coodra/cli install) and in the monorepo at apps/${a}/dist/index.js. If you are developing in the monorepo, run \`pnpm --filter @coodra/cli build\` to produce the bundle, or \`pnpm --filter @coodra/`+a+" build` to produce the dev dist.");throw g.code="COODRA_RUNTIME_BINARY_NOT_FOUND",g}},
|
|
43
|
+
`);let c=(0,e.join)(d,".env");(0,D.VZ)(c,"COODRA_PUBLIC_URL")}return b.exit(f.Ij)}class X extends Error{constructor(a){super(`services exit ${a}`),this.code=a,this.name="ExitSentinel"}}function Y(){let a=[],b=[];return{io:{writeStdout:b=>{a.push(b)},writeStderr:a=>{b.push(a)},exit:a=>{throw new X(a)}},stdout:a,stderr:b}}let Z=/\x1b\[[0-9;]*[a-zA-Z]/g;function $(a){return a.replace(Z,"")}async function _(a={}){let b=Y(),c={foreground:!1,...void 0!==a.mcp?{mcp:a.mcp}:{},...void 0!==a.hooks?{hooks:a.hooks}:{},...void 0!==a.sync?{sync:a.sync}:{},...void 0!==a.waitTimeoutMs?{waitTimeoutMs:a.waitTimeoutMs}:{}},d=0;try{await L(c,b.io)}catch(a){a instanceof X?d=a.code:(b.stderr.push(a.message),d=1)}let e=$(b.stdout.join("")),f=$(b.stderr.join(""));return 0===d?{ok:!0,stdout:e,stderr:f}:{ok:!1,error:70===d?"startup_failed":"unknown_failure",howToFix:f.split("\n").slice(0,3).join(" ").slice(0,240)||"Service start failed; check ~/.coodra/logs/.",exitCode:d,stdout:e,stderr:f}}async function aa(a={}){let b=Y(),c={...void 0!==a.service?{service:a.service}:{}},d=0;try{await W(c,b.io)}catch(a){a instanceof X?d=a.code:(b.stderr.push(a.message),d=1)}let e=$(b.stdout.join("")),f=$(b.stderr.join(""));return 0===d?{ok:!0,stdout:e,stderr:f}:{ok:!1,error:"unknown_failure",howToFix:f.split("\n").slice(0,3).join(" ").slice(0,240)||"Service stop failed; check ~/.coodra/logs/.",exitCode:d,stdout:e,stderr:f}}async function ab(){let a=Y(),b=0;try{await Q({json:!0},a.io)}catch(c){c instanceof X?b=c.code:(a.stderr.push(c.message),b=1)}let c=$(a.stdout.join("")),d=$(a.stderr.join(""));if(b<=1){let a=[];try{let b=JSON.parse(c);Array.isArray(b.services)&&(a=b.services.map(a=>(function(a){if("object"!=typeof a||null===a)return{name:"?",status:"unknown",raw:JSON.stringify(a)};let b="string"==typeof a.name?a.name:"?",c="string"==typeof a.status?a.status:"unknown",d="number"==typeof a.pid?a.pid:void 0,e="number"==typeof a.port?a.port:void 0,f="string"==typeof a.health?a.health:void 0;return{name:b,status:c,...void 0!==d?{pid:d}:{},...void 0!==e?{port:e}:{},...void 0!==f?{health:f}:{},raw:JSON.stringify(a)}})(a)))}catch{}return{ok:!0,services:a,stdout:c,stderr:d,exitCode:b}}return{ok:!1,error:"status_failed",howToFix:d.split("\n").slice(0,3).join(" ").slice(0,240)||"Status check failed; check ~/.coodra/logs/.",stdout:c,stderr:d,exitCode:b}}var ac=c(34017),ad=c(80554),ae=c(77829);let af="/workspace";async function ag(a){(0,ad._o)("startServicesAction");let b="mcp"===a.get("only"),c="hooks"===a.get("only"),d=await _({...b?{mcp:!0,hooks:!1}:{},...c?{hooks:!0,mcp:!1}:{}});d.ok||(0,ac.redirect)(`${af}?error=${encodeURIComponent(d.error)}&errorMessage=${encodeURIComponent(d.howToFix)}`),(0,ac.redirect)(`${af}?started=1`)}async function ah(a){(0,ad._o)("stopServicesAction");let b=a.get("service"),c=await aa("string"==typeof b&&("mcp-server"===b||"hooks-bridge"===b||"sync-daemon"===b)?{service:b}:{});c.ok||(0,ac.redirect)(`${af}?error=${encodeURIComponent(c.error)}&errorMessage=${encodeURIComponent(c.howToFix)}`),(0,ac.redirect)(`${af}?stopped=1`)}async function ai(){(0,ad._o)("refreshStatusAction"),(0,ac.redirect)(`${af}?refreshed=${Date.now()}`)}async function aj(){return ab()}(0,ae.D)([ag,ah,ai,aj]),(0,d.A)(ag,"408ae44739e0f377b2748fe903f2696c165fb4a350",null),(0,d.A)(ah,"4050e0caffe39e31fb6787ac4bfd84476db098924f",null),(0,d.A)(ai,"00470bbcad060d2f7ac00c527c504126dc42c4af49",null),(0,d.A)(aj,"0021756df3d416ca38ed0c3b1a0408d7366f0f2a51",null)},48872:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(4892);let e=(0,d.createServerReference)("7f34a39dab6c77ff21c402e32218b7a4eaf1e923a9",d.callServer,void 0,d.findSourceMapURL,"detectKeylessEnvDriftAction")},56589:(a,b,c)=>{"use strict";c.d(b,{Gi:()=>f,Ij:()=>d,TT:()=>h,ut:()=>e,xV:()=>g});let d=0,e=1,f=2,g=3,h=4},59744:()=>{},60521:(a,b,c)=>{"use strict";c.d(b,{Pd:()=>k,aw:()=>l});var d=c(73024),e=c(76760),f=c(73136),g=c(51455);async function h(a){let b=(0,e.resolve)(a);for(let a=0;a<12;a++){try{return await (0,g.access)((0,e.join)(b,"pnpm-workspace.yaml")),b}catch{}let a=(0,e.dirname)(b);if(a===b)break;b=a}return null}let i=(0,e.dirname)((0,f.fileURLToPath)("file:///Users/abishaikc/Coodra/packages/cli/dist/lib/runtime-paths.js")),j="apps/web-v2/server.js";function k(a){for(let b of[(0,e.resolve)(i,"runtime","drizzle",a),(0,e.resolve)(i,"..","runtime","drizzle",a),(0,e.resolve)(i,"..","..","runtime","drizzle",a),(0,e.resolve)(i,"..","..","dist","runtime","drizzle",a),(0,e.resolve)(i,"..","..","..","dist","runtime","drizzle",a)])if((0,d.existsSync)(b))return b;return null}async function l(a,b={}){for(let b of function(a){let b="web"===a?j:`${a}/index.js`;return"web"===a?[(0,e.resolve)(i,"runtime","web",j),(0,e.resolve)(i,"..","runtime","web",j),(0,e.resolve)(i,"..","..","runtime","web",j),(0,e.resolve)(i,"..","..","dist","runtime","web",j),(0,e.resolve)(i,"..","..","..","dist","runtime","web",j)]:[(0,e.resolve)(i,"runtime",b),(0,e.resolve)(i,"..","runtime",b),(0,e.resolve)(i,"..","..","runtime",b),(0,e.resolve)(i,"..","..","dist","runtime",b),(0,e.resolve)(i,"..","..","..","dist","runtime",b)]}(a))if((0,d.existsSync)(b))return{path:b,source:"bundled"};let c=b.cwd??process.cwd(),f=await h(i)??await h(c);if(null!==f){let b="web"===a?(0,e.resolve)(f,"apps","web-v2",".next","standalone",j):(0,e.resolve)(f,"apps",a,"dist","index.js");if((0,d.existsSync)(b))return{path:b,source:"monorepo"}}let g=Error(`Cannot resolve @coodra/${a} runtime binary.
|
|
44
|
+
Looked in bundled paths (relative to the @coodra/cli install) and in the monorepo at apps/${a}/dist/index.js. If you are developing in the monorepo, run \`pnpm --filter @coodra/cli build\` to produce the bundle, or \`pnpm --filter @coodra/`+a+" build` to produce the dev dist.");throw g.code="COODRA_RUNTIME_BINARY_NOT_FOUND",g}},63585:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,28450,23)),Promise.resolve().then(c.t.bind(c,51645,23)),Promise.resolve().then(c.t.bind(c,20909,23)),Promise.resolve().then(c.t.bind(c,92612,23)),Promise.resolve().then(c.t.bind(c,64060,23)),Promise.resolve().then(c.t.bind(c,83840,23)),Promise.resolve().then(c.t.bind(c,12216,23)),Promise.resolve().then(c.t.bind(c,90657,23)),Promise.resolve().then(c.t.bind(c,53192,23))},66132:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,90919,23))},75214:(a,b,c)=>{"use strict";c.d(b,{y:()=>e});var d=c(4892);let e=(0,d.createServerReference)("7f435ad56855a8af2b335746dacba0aa34f1e63d53",d.callServer,void 0,d.findSourceMapURL,"invalidateCacheAction")},77716:(a,b,c)=>{"use strict";c.d(b,{b:()=>h});var d=c(18234),e=c(57345),f=c.n(e),g=c(44574);function h({crumbPrefix:a="coodra",crumb:b,primaryAction:c,showLocalStartButton:e}){let h=e??"team-hosted"!==process.env.COODRA_DEPLOYMENT;return(0,d.jsxs)("div",{className:"topbar",children:[(0,d.jsxs)("div",{className:"crumbs",children:[(0,d.jsx)("span",{children:a}),(0,d.jsx)("span",{children:"/"}),(0,d.jsx)("strong",{children:b})]}),(0,d.jsxs)("div",{className:"topbar__search","aria-hidden":"true",children:[(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"11",cy:"11",r:"7"}),(0,d.jsx)("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21"})]}),(0,d.jsx)("span",{children:"Search runs, packs, decisions…"}),(0,d.jsx)("span",{className:"topbar__search-key",children:"⌘K"})]}),(0,d.jsx)(f(),{href:"https://github.com/anthropics/claude-code",target:"_blank",rel:"noopener noreferrer",className:"topbar__btn",children:"Docs"}),void 0!==c?(0,d.jsx)(f(),{href:c.href,className:"topbar__btn topbar__btn--accent",children:c.label}):h?(0,d.jsx)("form",{action:g.tq,style:{display:"inline"},children:(0,d.jsx)("button",{className:"topbar__btn topbar__btn--accent",type:"submit",children:"coodra start"})}):null]})}},80554:(a,b,c)=>{"use strict";c.d(b,{Yn:()=>j,_$:()=>i,_o:()=>h});var d=c(23265),e=c(34017),f=c(14320),g=c(94404);function h(a){"team-hosted"===(0,g.resolveDeploymentMode)()&&(console.warn(`[action-guard] refused ${a} in team-hosted mode (local-only operation)`),(0,e.redirect)(`/forbidden?reason=local_only&action=${encodeURIComponent(a)}`))}function i(a){"local-solo"===(0,g.resolveDeploymentMode)()&&(console.warn(`[action-guard] refused ${a} in local-solo mode (team-only operation)`),(0,e.redirect)(`/forbidden?reason=team_only&action=${encodeURIComponent(a)}`))}async function j(a){let b=await (0,f.getActor)();try{return(0,d.cl)({userId:b.userId,orgId:b.orgId,role:b.role,source:b.source},a),b}catch{(0,e.redirect)(`/forbidden?reason=insufficient_role&needed=${encodeURIComponent(a)}&actor_role=${encodeURIComponent(b.role)}`)}}},81126:(a,b,c)=>{"use strict";c.d(b,{h:()=>h});var d=c(73024),e=c(76760),f=c(25893);let g=new Set(["COODRA_MODE","DATABASE_URL","LOCAL_HOOK_SECRET","COODRA_TEAM_ORG_ID","COODRA_TEAM_USER_ID","COODRA_TEAM_ORG_SLUG","CLERK_SECRET_KEY","CLERK_PUBLISHABLE_KEY"]);function h(a,b){let c=i((0,e.join)(a,".env")),d=void 0!==b?i((0,e.join)(b,".env")):{},f={...c,...d};for(let a of g)void 0!==c[a]&&(f[a]=c[a]);return f}function i(a){let b;try{b=(0,d.readFileSync)(a,"utf8")}catch{return{}}return(0,f.parse)(b)}},81938:(a,b,c)=>{"use strict";c.d(b,{$R:()=>k,VZ:()=>i,gf:()=>j});var d=c(77598),e=c(73024),f=c(76760),g=c(14820),h=c(46146);function i(a,b){let c;if(!(0,e.existsSync)(a))return;try{c=(0,e.readFileSync)(a,"utf8")}catch{return}let d=c.split("\n"),f=[],g=!1;for(let a of d){let c=a.trim();if(0===c.length||c.startsWith("#")){f.push(a);continue}let d=c.indexOf("=");if((d>0?c.slice(0,d).trim():"")===b){g=!0;continue}f.push(a)}if(!g)return;for(;f.length>0&&""===f[f.length-1];)f.pop();let h=`${a}.tmp`;(0,e.writeFileSync)(h,`${f.join("\n")}
|
|
45
45
|
`,"utf8"),(0,e.renameSync)(h,a)}function j(a,b,c){let d="";if((0,e.existsSync)(a))try{d=(0,e.readFileSync)(a,"utf8")}catch{d=""}let f=d.split("\n"),g=!1,h=[];for(let a of f){let d=a.trim();if(0===d.length||d.startsWith("#")){h.push(a);continue}let e=d.indexOf("=");(e>0?d.slice(0,e).trim():"")===b?(h.push(`${b}=${c}`),g=!0):h.push(a)}for(g||(h.length>0&&""!==h[h.length-1]&&h.push(""),h.push(`${b}=${c}`));h.length>0&&""===h[h.length-1];)h.pop();(0,e.mkdirSync)(a.substring(0,a.lastIndexOf("/")),{recursive:!0});let i=`${a}.tmp`;(0,e.writeFileSync)(i,`${h.join("\n")}
|
|
46
|
-
`,"utf8"),(0,e.renameSync)(i,a)}function k(a){let b=void 0!==a.localHookSecret&&a.localHookSecret.length>0?a.localHookSecret:(0,d.randomBytes)(32).toString("hex"),c=Date.now();(0,h.Ji)({clerkUserId:a.clerkUserId,clerkOrgId:a.clerkOrgId,...null!==a.clerkOrgSlug?{clerkOrgSlug:a.clerkOrgSlug}:{},localHookSecret:b,joinedAt:c},void 0!==a.homeOverride?{homeOverride:a.homeOverride}:{}),(0,h.X3)({databaseUrl:a.databaseUrl,localHookSecret:b,clerkOrgId:a.clerkOrgId},void 0!==a.homeOverride?{homeOverride:a.homeOverride}:{});let i=void 0!==a.homeOverride?a.homeOverride:(0,g.Ok)(),k=(0,g.NR)(i),l=(0,f.join)(i,".env"),m=function(a){let b;if(!(0,e.existsSync)(a))return{inviteHmacSecret:null,clerkSecretKey:null,clerkPublishableKey:null};try{b=(0,e.readFileSync)(a,"utf8")}catch{return{inviteHmacSecret:null,clerkSecretKey:null,clerkPublishableKey:null}}let c=a=>{let c=b.match(RegExp(`^${a}=(\\S+)`,"m"));if(null===c||void 0===c[1])return null;let d=c[1];return(d.startsWith('"')&&d.endsWith('"')||d.startsWith("'")&&d.endsWith("'"))&&(d=d.slice(1,-1)),d.length>0?d:null};return{inviteHmacSecret:c("COODRA_INVITE_HMAC_SECRET"),clerkSecretKey:c("CLERK_SECRET_KEY"),clerkPublishableKey:c("CLERK_PUBLISHABLE_KEY")}}(l),n=void 0!==a.inviteHmacSecret&&a.inviteHmacSecret.length>0?a.inviteHmacSecret:m.inviteHmacSecret??(0,d.randomBytes)(32).toString("hex");j(l,"COODRA_INVITE_HMAC_SECRET",n);let o=a.clerkSecretKey??m.clerkSecretKey;null!=o&&o.length>0&&j(l,"CLERK_SECRET_KEY",o);let p=a.clerkPublishableKey??m.clerkPublishableKey;return null!=p&&p.length>0&&j(l,"CLERK_PUBLISHABLE_KEY",p),{localHookSecret:b,inviteHmacSecret:n,configPath:k,envPath:l,joinedAt:c}}},90167:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(4892);let e=(0,d.createServerReference)("7faed4506b2df8e91f8679ba05c5a407da87bd8c2a",d.callServer,void 0,d.findSourceMapURL,"detectKeylessEnvDriftAction")},91706:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>d});let d=(0,c(13522).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/abishaikc/Coodra/apps/web-v2/components/Sidebar.tsx","Sidebar")},93184:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>i});var d=c(25108),e=c(90919),f=c.n(e),g=c(90554);function h({size:a=28}){return(0,d.jsxs)("svg",{viewBox:"0 0 32 32",fill:"none",width:a,height:a,"aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"16",cy:"16",r:"14",stroke:"#7dd87d",strokeWidth:"1"}),(0,d.jsx)("circle",{cx:"16",cy:"16",r:"2.2",fill:"#7dd87d"}),(0,d.jsx)("line",{x1:"2",y1:"16",x2:"30",y2:"16",stroke:"#e8e6e1",strokeWidth:"0.6",strokeDasharray:"2 3"})]})}function i({mode:a,deploymentMode:b,userInitial:c="A",userName:e="abishaikc",userRole:i="Local \xb7 MIT",projects:y,orgSlug:z=null,viewerUserId:A=null,footerSlot:B}){let C=(0,g.usePathname)()??"/",D=(0,g.useSearchParams)();if(C.startsWith("/auth")||C.startsWith("/forbidden")||C.startsWith("/install"))return null;let E=/^\/projects\/([^/]+)/.exec(C),F=E?decodeURIComponent(E[1]??""):null,G=D?.get("project")??null,H=F??G,I=null!==H?y.find(a=>a.slug===H)??{slug:H,name:H}:{slug:"—",name:"All projects"},J=null!==H?`?project=${encodeURIComponent(H)}`:"",K="team-hosted"===b,L=[{href:"/settings/team",label:"Members + org",icon:(0,d.jsx)(u,{})}];K||L.push({href:"/sync",label:"Sync queue",icon:(0,d.jsx)(s,{})});let M=[];K||M.push({href:"/workspace",label:"Workspace",icon:(0,d.jsx)(r,{})}),M.push({href:"/settings",label:"Settings",icon:(0,d.jsx)(t,{})}),M.push({href:"/welcome",label:"Welcome",icon:(0,d.jsx)(w,{})});let N="team"===a?[{label:"Workspace",items:[{href:"/",label:"Dashboard",icon:(0,d.jsx)(j,{})},{href:"/projects",label:"Projects",icon:(0,d.jsx)(k,{})}]},{label:"Team",items:L},{label:"Audit",items:[{href:`/runs${J}`,label:"Runs",icon:(0,d.jsx)(l,{})},{href:`/decisions${J}`,label:"Decisions",icon:(0,d.jsx)(l,{})},{href:`/context-packs${J}`,label:"Context packs",icon:(0,d.jsx)(p,{})},{href:`/graph${J}`,label:"Context graph",icon:(0,d.jsx)(m,{})}]},{label:"Govern",items:[{href:`/policies${J}`,label:"Policies",icon:(0,d.jsx)(n,{})},{href:`/kill-switches${J}`,label:"Kill switches",icon:(0,d.jsx)(o,{})}]},{label:"Knowledge",items:[{href:"/packs",label:"Feature packs",icon:(0,d.jsx)(p,{})},{href:"/features",label:"Features",icon:(0,d.jsx)(l,{})},{href:"/templates",label:"Templates",icon:(0,d.jsx)(q,{})}]},{label:"System",items:M}]:[{label:"Workspace",items:[{href:"/",label:"Dashboard",icon:(0,d.jsx)(j,{})},{href:"/projects",label:"Projects",icon:(0,d.jsx)(k,{})}]},{label:"Audit",items:[{href:`/runs${J}`,label:"Runs",icon:(0,d.jsx)(l,{})},{href:`/decisions${J}`,label:"Decisions",icon:(0,d.jsx)(l,{})},{href:`/context-packs${J}`,label:"Context packs",icon:(0,d.jsx)(p,{})},{href:`/graph${J}`,label:"Context graph",icon:(0,d.jsx)(m,{})}]},{label:"Govern",items:[{href:`/policies${J}`,label:"Policies",icon:(0,d.jsx)(n,{})},{href:`/kill-switches${J}`,label:"Kill switches",icon:(0,d.jsx)(o,{})}]},{label:"Knowledge",items:[{href:"/packs",label:"Feature packs",icon:(0,d.jsx)(p,{})},{href:"/features",label:"Features",icon:(0,d.jsx)(l,{})},{href:"/templates",label:"Templates",icon:(0,d.jsx)(q,{})}]},{label:"System",items:[{href:"/workspace",label:"Workspace",icon:(0,d.jsx)(r,{})},{href:"/settings",label:"Settings",icon:(0,d.jsx)(t,{})}]},{label:"Upgrade",items:[{href:"/welcome",label:"About modes",icon:(0,d.jsx)(v,{})},{href:"/onboarding/team",label:"Create a team",icon:(0,d.jsx)(u,{})},{href:"/onboarding/team/join",label:"Connect to existing",icon:(0,d.jsx)(x,{})}]}];return(0,d.jsxs)("aside",{className:"side",children:[(0,d.jsxs)("div",{className:"side__brand",children:[(0,d.jsx)(h,{}),(0,d.jsx)("span",{className:"side__brand-word",children:"Coodra"}),(0,d.jsx)("span",{className:"side__brand-mode",style:"team"===a?void 0:{color:"var(--ink-mute)",borderColor:"var(--rule-strong)"},children:a})]}),(0,d.jsxs)(f(),{href:"team"===a?"/settings/team":"/welcome",style:{display:"block",padding:"14px 24px 16px",borderBottom:"1px solid var(--rule)",textDecoration:"none",background:"team"===a?"rgba(125, 216, 125, 0.04)":"transparent"},children:[(0,d.jsx)("div",{style:{fontFamily:"var(--mono)",fontSize:9,letterSpacing:"0.22em",textTransform:"uppercase",color:"team"===a?"var(--accent)":"var(--ink-mute)",marginBottom:6},children:"team"===a?"● Team workspace":"Solo workspace"}),(0,d.jsx)("div",{style:{fontFamily:"var(--serif)",fontSize:18,fontWeight:400,letterSpacing:"-0.005em",color:"var(--ink)",lineHeight:1.2},children:"team"===a&&null!==z?function(a,b){if(a.length<=24)return a;let c=Math.floor((b-1)/2);return`${a.slice(0,c)}…${a.slice(-c)}`}(z,24):"team"===a?"Cloud — org pending":"This machine"}),(0,d.jsx)("div",{style:{fontFamily:"var(--mono)",fontSize:9,letterSpacing:"0.06em",color:"var(--ink-mute)",marginTop:4},children:"team"===a?"syncing every 10 s \xb7 click for members":"~/.coodra/data.db \xb7 click to upgrade"})]}),(0,d.jsxs)("div",{className:"side__project",children:[(0,d.jsx)("div",{className:"side__eyebrow",children:"Project"}),(0,d.jsxs)("details",{className:"side__project-picker",style:{position:"relative"},children:[(0,d.jsxs)("summary",{className:"side__project-pill",style:{listStyle:"none",cursor:"pointer",textDecoration:"none"},title:"Click to switch project",children:[(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M3 7l9-4 9 4-9 4-9-4z"}),(0,d.jsx)("path",{d:"M3 12l9 4 9-4"}),(0,d.jsx)("path",{d:"M3 17l9 4 9-4"})]}),(0,d.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,d.jsx)("div",{className:"side__project-name",children:I.name}),(0,d.jsx)("div",{className:"side__project-slug",children:I.slug})]}),(0,d.jsx)("svg",{className:"side__caret",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M8 9l4-4 4 4M8 15l4 4 4-4"})})]}),(0,d.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,right:0,marginTop:6,background:"var(--bg)",border:"1px solid var(--rule-strong)",padding:"8px 0",maxHeight:320,overflowY:"auto",zIndex:50},children:[(0,d.jsx)(f(),{href:"/projects",style:{display:"block",padding:"8px 14px",textDecoration:"none",color:"var(--ink-mute)",fontFamily:"var(--mono)",fontSize:11,letterSpacing:"0.06em",borderBottom:"1px solid var(--rule)"},children:"← all projects"}),0===y.length?(0,d.jsxs)("div",{style:{padding:"12px 14px",fontFamily:"var(--mono)",fontSize:11,color:"var(--ink-mute)",letterSpacing:"0.04em"},children:["No projects yet. Run ",(0,d.jsx)("code",{children:"coodra init"}),"."]}):y.map(a=>{let b=a.slug===I.slug;return(0,d.jsxs)(f(),{href:`/projects/${encodeURIComponent(a.slug)}`,style:{display:"block",padding:"8px 14px",textDecoration:"none",background:b?"var(--bg-2)":"transparent",color:b?"var(--accent)":"var(--ink)",fontFamily:"var(--mono)",fontSize:12,letterSpacing:"0.04em"},children:[b?"● ":"○ ",a.slug]},a.slug)})]})]}),null!==H?(0,d.jsx)(f(),{href:"/projects",className:"side__project-slug",style:{display:"block",marginTop:8,textDecoration:"none",color:"var(--ink-mute)"},children:"← all projects"}):null]}),(0,d.jsx)("nav",{className:"side__nav",children:N.map(a=>(0,d.jsxs)("div",{className:"side__group",children:[(0,d.jsx)("div",{className:"side__group-label",children:a.label}),a.items.map(a=>{var b,c;let e=(b=C,"/"===(c=a.href)?"/"===b:b===c||b.startsWith(`${c}/`));return(0,d.jsxs)(f(),{href:a.href,className:`side__link${e?" is-active":""}`,children:[a.icon,a.label,void 0!==a.count?(0,d.jsx)("span",{className:"side__link-count",children:a.count}):null]},a.href)})]},a.label))}),(0,d.jsx)("div",{className:"side__foot",children:void 0!==B?B:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"side__avatar",children:c}),(0,d.jsxs)("div",{className:"side__user",children:[(0,d.jsx)("div",{className:"side__user-name",children:e}),(0,d.jsx)("div",{className:"side__user-role",children:i})]})]})})]})}function j(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"3",y:"3",width:"7",height:"9"}),(0,d.jsx)("rect",{x:"14",y:"3",width:"7",height:"5"}),(0,d.jsx)("rect",{x:"14",y:"12",width:"7",height:"9"}),(0,d.jsx)("rect",{x:"3",y:"16",width:"7",height:"5"})]})}function k(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M3 7l9-4 9 4-9 4-9-4z"}),(0,d.jsx)("path",{d:"M3 12l9 4 9-4"}),(0,d.jsx)("path",{d:"M3 17l9 4 9-4"})]})}function l(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"3",y:"4",width:"18",height:"16"}),(0,d.jsx)("line",{x1:"3",y1:"9",x2:"21",y2:"9"}),(0,d.jsx)("circle",{cx:"6.5",cy:"6.5",r:"0.6",fill:"currentColor"})]})}function m(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"6",cy:"6",r:"2.5"}),(0,d.jsx)("circle",{cx:"18",cy:"6",r:"2.5"}),(0,d.jsx)("circle",{cx:"12",cy:"18",r:"2.5"}),(0,d.jsx)("line",{x1:"8",y1:"7",x2:"16",y2:"7"}),(0,d.jsx)("line",{x1:"7",y1:"8",x2:"11",y2:"16"}),(0,d.jsx)("line",{x1:"17",y1:"8",x2:"13",y2:"16"})]})}function n(){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M12 3l8 4v5c0 5-3.5 8.5-8 9-4.5-.5-8-4-8-9V7l8-4z"})})}function o(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,d.jsx)("line",{x1:"12",y1:"3",x2:"12",y2:"13"})]})}function p(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M4 5h16v14H4z"}),(0,d.jsx)("line",{x1:"4",y1:"9",x2:"20",y2:"9"}),(0,d.jsx)("line",{x1:"9",y1:"5",x2:"9",y2:"19"})]})}function q(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"3",y:"3",width:"8",height:"8"}),(0,d.jsx)("rect",{x:"13",y:"3",width:"8",height:"8"}),(0,d.jsx)("rect",{x:"3",y:"13",width:"8",height:"8"}),(0,d.jsx)("rect",{x:"13",y:"13",width:"8",height:"8"})]})}function r(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"4",y:"6",width:"16",height:"12"}),(0,d.jsx)("line",{x1:"4",y1:"10",x2:"20",y2:"10"}),(0,d.jsx)("circle",{cx:"7",cy:"8",r:"0.6",fill:"currentColor"})]})}function s(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M4 12a8 8 0 0114-5.3M20 12a8 8 0 01-14 5.3"}),(0,d.jsx)("path",{d:"M16 6h4V2M8 18H4v4"})]})}function t(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,d.jsx)("path",{d:"M19.4 15a1.7 1.7 0 00.3 1.8l.1.1a2 2 0 01-2.8 2.8l-.1-.1a1.7 1.7 0 00-1.8-.3 1.7 1.7 0 00-1 1.5V21a2 2 0 11-4 0v-.1a1.7 1.7 0 00-1.1-1.5 1.7 1.7 0 00-1.8.3l-.1.1a2 2 0 11-2.8-2.8l.1-.1a1.7 1.7 0 00.3-1.8 1.7 1.7 0 00-1.5-1H3a2 2 0 110-4h.1A1.7 1.7 0 004.5 9a1.7 1.7 0 00-.3-1.8l-.1-.1a2 2 0 012.8-2.8l.1.1a1.7 1.7 0 001.8.3H9a1.7 1.7 0 001-1.5V3a2 2 0 014 0v.1a1.7 1.7 0 001 1.5 1.7 1.7 0 001.8-.3l.1-.1a2 2 0 012.8 2.8l-.1.1a1.7 1.7 0 00-.3 1.8V9a1.7 1.7 0 001.5 1H21a2 2 0 110 4h-.1a1.7 1.7 0 00-1.5 1z"})]})}function u(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"9",cy:"8",r:"3.2"}),(0,d.jsx)("path",{d:"M3 19c0-3.5 2.7-6 6-6s6 2.5 6 6"}),(0,d.jsx)("circle",{cx:"17",cy:"9",r:"2.5"}),(0,d.jsx)("path",{d:"M21 19c0-2.6-1.7-4.5-4-5"})]})}function v(){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M12 3l2.6 6 6.4.6-4.9 4.4 1.5 6.4L12 17l-5.6 3.4 1.5-6.4L3 9.6 9.4 9 12 3z"})})}function w(){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M4 7h12l-3-3M20 17H8l3 3"})})}function x(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"8",cy:"14",r:"3.5"}),(0,d.jsx)("path",{d:"M11 14h10v4M17 14v4"})]})}},94393:(a,b,c)=>{Promise.resolve().then(c.bind(c,91706)),Promise.resolve().then(c.bind(c,15949)),Promise.resolve().then(c.bind(c,73820)),Promise.resolve().then(c.bind(c,77011)),Promise.resolve().then(c.bind(c,57946)),Promise.resolve().then(c.bind(c,26988)),Promise.resolve().then(c.bind(c,81874))}};
|
|
46
|
+
`,"utf8"),(0,e.renameSync)(i,a)}function k(a){let b=void 0!==a.localHookSecret&&a.localHookSecret.length>0?a.localHookSecret:(0,d.randomBytes)(32).toString("hex"),c=Date.now();(0,h.Ji)({clerkUserId:a.clerkUserId,clerkOrgId:a.clerkOrgId,...null!==a.clerkOrgSlug?{clerkOrgSlug:a.clerkOrgSlug}:{},localHookSecret:b,joinedAt:c},void 0!==a.homeOverride?{homeOverride:a.homeOverride}:{}),(0,h.X3)({databaseUrl:a.databaseUrl,localHookSecret:b,clerkOrgId:a.clerkOrgId},void 0!==a.homeOverride?{homeOverride:a.homeOverride}:{});let i=void 0!==a.homeOverride?a.homeOverride:(0,g.Ok)(),k=(0,g.NR)(i),l=(0,f.join)(i,".env"),m=function(a){let b;if(!(0,e.existsSync)(a))return{inviteHmacSecret:null,clerkSecretKey:null,clerkPublishableKey:null};try{b=(0,e.readFileSync)(a,"utf8")}catch{return{inviteHmacSecret:null,clerkSecretKey:null,clerkPublishableKey:null}}let c=a=>{let c=b.match(RegExp(`^${a}=(\\S+)`,"m"));if(null===c||void 0===c[1])return null;let d=c[1];return(d.startsWith('"')&&d.endsWith('"')||d.startsWith("'")&&d.endsWith("'"))&&(d=d.slice(1,-1)),d.length>0?d:null};return{inviteHmacSecret:c("COODRA_INVITE_HMAC_SECRET"),clerkSecretKey:c("CLERK_SECRET_KEY"),clerkPublishableKey:c("CLERK_PUBLISHABLE_KEY")}}(l),n=void 0!==a.inviteHmacSecret&&a.inviteHmacSecret.length>0?a.inviteHmacSecret:m.inviteHmacSecret??(0,d.randomBytes)(32).toString("hex");j(l,"COODRA_INVITE_HMAC_SECRET",n);let o=a.clerkSecretKey??m.clerkSecretKey;null!=o&&o.length>0&&j(l,"CLERK_SECRET_KEY",o);let p=a.clerkPublishableKey??m.clerkPublishableKey;return null!=p&&p.length>0&&j(l,"CLERK_PUBLISHABLE_KEY",p),{localHookSecret:b,inviteHmacSecret:n,configPath:k,envPath:l,joinedAt:c}}},91706:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>d});let d=(0,c(13522).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/abishaikc/Coodra/apps/web-v2/components/Sidebar.tsx","Sidebar")},93184:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>i});var d=c(25108),e=c(90919),f=c.n(e),g=c(90554);function h({size:a=28}){return(0,d.jsxs)("svg",{viewBox:"0 0 32 32",fill:"none",width:a,height:a,"aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"16",cy:"16",r:"14",stroke:"#7dd87d",strokeWidth:"1"}),(0,d.jsx)("circle",{cx:"16",cy:"16",r:"2.2",fill:"#7dd87d"}),(0,d.jsx)("line",{x1:"2",y1:"16",x2:"30",y2:"16",stroke:"#e8e6e1",strokeWidth:"0.6",strokeDasharray:"2 3"})]})}function i({mode:a,deploymentMode:b,userInitial:c="A",userName:e="abishaikc",userRole:i="Local \xb7 MIT",projects:y,orgSlug:z=null,viewerUserId:A=null,footerSlot:B}){let C=(0,g.usePathname)()??"/",D=(0,g.useSearchParams)();if(C.startsWith("/auth")||C.startsWith("/forbidden")||C.startsWith("/install"))return null;let E=/^\/projects\/([^/]+)/.exec(C),F=E?decodeURIComponent(E[1]??""):null,G=D?.get("project")??null,H=F??G,I=null!==H?y.find(a=>a.slug===H)??{slug:H,name:H}:{slug:"—",name:"All projects"},J=null!==H?`?project=${encodeURIComponent(H)}`:"",K="team-hosted"===b,L=[{href:"/settings/team",label:"Members + org",icon:(0,d.jsx)(u,{})}];K||L.push({href:"/sync",label:"Sync queue",icon:(0,d.jsx)(s,{})});let M=[];K||M.push({href:"/workspace",label:"Workspace",icon:(0,d.jsx)(r,{})}),M.push({href:"/settings",label:"Settings",icon:(0,d.jsx)(t,{})}),M.push({href:"/welcome",label:"Welcome",icon:(0,d.jsx)(w,{})});let N="team"===a?[{label:"Workspace",items:[{href:"/",label:"Dashboard",icon:(0,d.jsx)(j,{})},{href:"/projects",label:"Projects",icon:(0,d.jsx)(k,{})}]},{label:"Team",items:L},{label:"Audit",items:[{href:`/runs${J}`,label:"Runs",icon:(0,d.jsx)(l,{})},{href:`/decisions${J}`,label:"Decisions",icon:(0,d.jsx)(l,{})},{href:`/context-packs${J}`,label:"Context packs",icon:(0,d.jsx)(p,{})},{href:`/graph${J}`,label:"Context graph",icon:(0,d.jsx)(m,{})}]},{label:"Govern",items:[{href:`/policies${J}`,label:"Policies",icon:(0,d.jsx)(n,{})},{href:`/kill-switches${J}`,label:"Kill switches",icon:(0,d.jsx)(o,{})}]},{label:"Knowledge",items:[{href:"/packs",label:"Feature packs",icon:(0,d.jsx)(p,{})},{href:"/features",label:"Features",icon:(0,d.jsx)(l,{})},{href:"/templates",label:"Templates",icon:(0,d.jsx)(q,{})}]},{label:"System",items:M}]:[{label:"Workspace",items:[{href:"/",label:"Dashboard",icon:(0,d.jsx)(j,{})},{href:"/projects",label:"Projects",icon:(0,d.jsx)(k,{})}]},{label:"Audit",items:[{href:`/runs${J}`,label:"Runs",icon:(0,d.jsx)(l,{})},{href:`/decisions${J}`,label:"Decisions",icon:(0,d.jsx)(l,{})},{href:`/context-packs${J}`,label:"Context packs",icon:(0,d.jsx)(p,{})},{href:`/graph${J}`,label:"Context graph",icon:(0,d.jsx)(m,{})}]},{label:"Govern",items:[{href:`/policies${J}`,label:"Policies",icon:(0,d.jsx)(n,{})},{href:`/kill-switches${J}`,label:"Kill switches",icon:(0,d.jsx)(o,{})}]},{label:"Knowledge",items:[{href:"/packs",label:"Feature packs",icon:(0,d.jsx)(p,{})},{href:"/features",label:"Features",icon:(0,d.jsx)(l,{})},{href:"/templates",label:"Templates",icon:(0,d.jsx)(q,{})}]},{label:"System",items:[{href:"/workspace",label:"Workspace",icon:(0,d.jsx)(r,{})},{href:"/settings",label:"Settings",icon:(0,d.jsx)(t,{})}]},{label:"Upgrade",items:[{href:"/welcome",label:"About modes",icon:(0,d.jsx)(v,{})},{href:"/onboarding/team",label:"Create a team",icon:(0,d.jsx)(u,{})},{href:"/onboarding/team/join",label:"Connect to existing",icon:(0,d.jsx)(x,{})}]}];return(0,d.jsxs)("aside",{className:"side",children:[(0,d.jsxs)("div",{className:"side__brand",children:[(0,d.jsx)(h,{}),(0,d.jsx)("span",{className:"side__brand-word",children:"Coodra"}),(0,d.jsx)("span",{className:"side__brand-mode",style:"team"===a?void 0:{color:"var(--ink-mute)",borderColor:"var(--rule-strong)"},children:a})]}),(0,d.jsxs)(f(),{href:"team"===a?"/settings/team":"/welcome",style:{display:"block",padding:"14px 24px 16px",borderBottom:"1px solid var(--rule)",textDecoration:"none",background:"team"===a?"rgba(125, 216, 125, 0.04)":"transparent"},children:[(0,d.jsx)("div",{style:{fontFamily:"var(--mono)",fontSize:9,letterSpacing:"0.22em",textTransform:"uppercase",color:"team"===a?"var(--accent)":"var(--ink-mute)",marginBottom:6},children:"team"===a?"● Team workspace":"Solo workspace"}),(0,d.jsx)("div",{style:{fontFamily:"var(--serif)",fontSize:18,fontWeight:400,letterSpacing:"-0.005em",color:"var(--ink)",lineHeight:1.2},children:"team"===a&&null!==z?function(a,b){if(a.length<=24)return a;let c=Math.floor((b-1)/2);return`${a.slice(0,c)}…${a.slice(-c)}`}(z,24):"team"===a?"Cloud — org pending":"This machine"}),(0,d.jsx)("div",{style:{fontFamily:"var(--mono)",fontSize:9,letterSpacing:"0.06em",color:"var(--ink-mute)",marginTop:4},children:"team"===a?"syncing every 10 s \xb7 click for members":"~/.coodra/data.db \xb7 click to upgrade"})]}),(0,d.jsxs)("div",{className:"side__project",children:[(0,d.jsx)("div",{className:"side__eyebrow",children:"Project"}),(0,d.jsxs)("details",{className:"side__project-picker",style:{position:"relative"},children:[(0,d.jsxs)("summary",{className:"side__project-pill",style:{listStyle:"none",cursor:"pointer",textDecoration:"none"},title:"Click to switch project",children:[(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M3 7l9-4 9 4-9 4-9-4z"}),(0,d.jsx)("path",{d:"M3 12l9 4 9-4"}),(0,d.jsx)("path",{d:"M3 17l9 4 9-4"})]}),(0,d.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,d.jsx)("div",{className:"side__project-name",children:I.name}),(0,d.jsx)("div",{className:"side__project-slug",children:I.slug})]}),(0,d.jsx)("svg",{className:"side__caret",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M8 9l4-4 4 4M8 15l4 4 4-4"})})]}),(0,d.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,right:0,marginTop:6,background:"var(--bg)",border:"1px solid var(--rule-strong)",padding:"8px 0",maxHeight:320,overflowY:"auto",zIndex:50},children:[(0,d.jsx)(f(),{href:"/projects",style:{display:"block",padding:"8px 14px",textDecoration:"none",color:"var(--ink-mute)",fontFamily:"var(--mono)",fontSize:11,letterSpacing:"0.06em",borderBottom:"1px solid var(--rule)"},children:"← all projects"}),0===y.length?(0,d.jsxs)("div",{style:{padding:"12px 14px",fontFamily:"var(--mono)",fontSize:11,color:"var(--ink-mute)",letterSpacing:"0.04em"},children:["No projects yet. Run ",(0,d.jsx)("code",{children:"coodra init"}),"."]}):y.map(a=>{let b=a.slug===I.slug;return(0,d.jsxs)(f(),{href:`/projects/${encodeURIComponent(a.slug)}`,style:{display:"block",padding:"8px 14px",textDecoration:"none",background:b?"var(--bg-2)":"transparent",color:b?"var(--accent)":"var(--ink)",fontFamily:"var(--mono)",fontSize:12,letterSpacing:"0.04em"},children:[b?"● ":"○ ",a.slug]},a.slug)})]})]}),null!==H?(0,d.jsx)(f(),{href:"/projects",className:"side__project-slug",style:{display:"block",marginTop:8,textDecoration:"none",color:"var(--ink-mute)"},children:"← all projects"}):null]}),(0,d.jsx)("nav",{className:"side__nav",children:N.map(a=>(0,d.jsxs)("div",{className:"side__group",children:[(0,d.jsx)("div",{className:"side__group-label",children:a.label}),a.items.map(a=>{var b,c;let e=(b=C,"/"===(c=a.href)?"/"===b:b===c||b.startsWith(`${c}/`));return(0,d.jsxs)(f(),{href:a.href,className:`side__link${e?" is-active":""}`,children:[a.icon,a.label,void 0!==a.count?(0,d.jsx)("span",{className:"side__link-count",children:a.count}):null]},a.href)})]},a.label))}),(0,d.jsx)("div",{className:"side__foot",children:void 0!==B?B:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"side__avatar",children:c}),(0,d.jsxs)("div",{className:"side__user",children:[(0,d.jsx)("div",{className:"side__user-name",children:e}),(0,d.jsx)("div",{className:"side__user-role",children:i})]})]})})]})}function j(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"3",y:"3",width:"7",height:"9"}),(0,d.jsx)("rect",{x:"14",y:"3",width:"7",height:"5"}),(0,d.jsx)("rect",{x:"14",y:"12",width:"7",height:"9"}),(0,d.jsx)("rect",{x:"3",y:"16",width:"7",height:"5"})]})}function k(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M3 7l9-4 9 4-9 4-9-4z"}),(0,d.jsx)("path",{d:"M3 12l9 4 9-4"}),(0,d.jsx)("path",{d:"M3 17l9 4 9-4"})]})}function l(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"3",y:"4",width:"18",height:"16"}),(0,d.jsx)("line",{x1:"3",y1:"9",x2:"21",y2:"9"}),(0,d.jsx)("circle",{cx:"6.5",cy:"6.5",r:"0.6",fill:"currentColor"})]})}function m(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"6",cy:"6",r:"2.5"}),(0,d.jsx)("circle",{cx:"18",cy:"6",r:"2.5"}),(0,d.jsx)("circle",{cx:"12",cy:"18",r:"2.5"}),(0,d.jsx)("line",{x1:"8",y1:"7",x2:"16",y2:"7"}),(0,d.jsx)("line",{x1:"7",y1:"8",x2:"11",y2:"16"}),(0,d.jsx)("line",{x1:"17",y1:"8",x2:"13",y2:"16"})]})}function n(){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M12 3l8 4v5c0 5-3.5 8.5-8 9-4.5-.5-8-4-8-9V7l8-4z"})})}function o(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,d.jsx)("line",{x1:"12",y1:"3",x2:"12",y2:"13"})]})}function p(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M4 5h16v14H4z"}),(0,d.jsx)("line",{x1:"4",y1:"9",x2:"20",y2:"9"}),(0,d.jsx)("line",{x1:"9",y1:"5",x2:"9",y2:"19"})]})}function q(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"3",y:"3",width:"8",height:"8"}),(0,d.jsx)("rect",{x:"13",y:"3",width:"8",height:"8"}),(0,d.jsx)("rect",{x:"3",y:"13",width:"8",height:"8"}),(0,d.jsx)("rect",{x:"13",y:"13",width:"8",height:"8"})]})}function r(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"4",y:"6",width:"16",height:"12"}),(0,d.jsx)("line",{x1:"4",y1:"10",x2:"20",y2:"10"}),(0,d.jsx)("circle",{cx:"7",cy:"8",r:"0.6",fill:"currentColor"})]})}function s(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M4 12a8 8 0 0114-5.3M20 12a8 8 0 01-14 5.3"}),(0,d.jsx)("path",{d:"M16 6h4V2M8 18H4v4"})]})}function t(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,d.jsx)("path",{d:"M19.4 15a1.7 1.7 0 00.3 1.8l.1.1a2 2 0 01-2.8 2.8l-.1-.1a1.7 1.7 0 00-1.8-.3 1.7 1.7 0 00-1 1.5V21a2 2 0 11-4 0v-.1a1.7 1.7 0 00-1.1-1.5 1.7 1.7 0 00-1.8.3l-.1.1a2 2 0 11-2.8-2.8l.1-.1a1.7 1.7 0 00.3-1.8 1.7 1.7 0 00-1.5-1H3a2 2 0 110-4h.1A1.7 1.7 0 004.5 9a1.7 1.7 0 00-.3-1.8l-.1-.1a2 2 0 012.8-2.8l.1.1a1.7 1.7 0 001.8.3H9a1.7 1.7 0 001-1.5V3a2 2 0 014 0v.1a1.7 1.7 0 001 1.5 1.7 1.7 0 001.8-.3l.1-.1a2 2 0 012.8 2.8l-.1.1a1.7 1.7 0 00-.3 1.8V9a1.7 1.7 0 001.5 1H21a2 2 0 110 4h-.1a1.7 1.7 0 00-1.5 1z"})]})}function u(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"9",cy:"8",r:"3.2"}),(0,d.jsx)("path",{d:"M3 19c0-3.5 2.7-6 6-6s6 2.5 6 6"}),(0,d.jsx)("circle",{cx:"17",cy:"9",r:"2.5"}),(0,d.jsx)("path",{d:"M21 19c0-2.6-1.7-4.5-4-5"})]})}function v(){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M12 3l2.6 6 6.4.6-4.9 4.4 1.5 6.4L12 17l-5.6 3.4 1.5-6.4L3 9.6 9.4 9 12 3z"})})}function w(){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M4 7h12l-3-3M20 17H8l3 3"})})}function x(){return(0,d.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.4","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"8",cy:"14",r:"3.5"}),(0,d.jsx)("path",{d:"M11 14h10v4M17 14v4"})]})}},94393:(a,b,c)=>{Promise.resolve().then(c.bind(c,91706)),Promise.resolve().then(c.bind(c,15949)),Promise.resolve().then(c.bind(c,73820)),Promise.resolve().then(c.bind(c,77011)),Promise.resolve().then(c.bind(c,57946)),Promise.resolve().then(c.bind(c,26988)),Promise.resolve().then(c.bind(c,81874))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=7598,exports.ids=[7598],exports.modules={55217:(a,b,c)=>{c.r(b),c.d(b,{createOrReadKeylessAction:()=>g.a,deleteKeylessAction:()=>f,detectKeylessEnvDriftAction:()=>d.A,syncKeylessConfigAction:()=>h});var d=c(48872),e=c(4892);let f=(0,e.createServerReference)("7f425a5cb8257fc7f002fd2e0776497309c67c7ab5",e.callServer,void 0,e.findSourceMapURL,"deleteKeylessAction");var g=c(91427);let h=(0,e.createServerReference)("7f7608df2b6efea2515e9487f0acded2ec0ed058ac",e.callServer,void 0,e.findSourceMapURL,"syncKeylessConfigAction")},91427:(a,b,c)=>{c.d(b,{a:()=>e});var d=c(4892);let e=(0,d.createServerReference)("7f71c223a4774809962e2fa990b599f3b2dc876a93",d.callServer,void 0,d.findSourceMapURL,"createOrReadKeylessAction")}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=9822,exports.ids=[9822],exports.modules={
|
|
1
|
+
"use strict";exports.id=9822,exports.ids=[9822],exports.modules={69822:(a,b,c)=>{c.r(b),c.d(b,{KeylessCreatorOrReader:()=>h});var d=c(90554),e=c(33997),f=c.n(e),g=c(91427);let h=a=>{var b;let{children:c}=a,h=(null==(b=(0,d.useSelectedLayoutSegments)()[0])?void 0:b.startsWith("/_not-found"))||!1,[i,j]=f().useActionState(g.a,null);return((0,e.useEffect)(()=>{h||f().startTransition(()=>{j()})},[h]),f().isValidElement(c))?f().cloneElement(c,{key:null==i?void 0:i.publishableKey,publishableKey:null==i?void 0:i.publishableKey,__internal_keyless_claimKeylessApplicationUrl:null==i?void 0:i.claimUrl,__internal_keyless_copyInstanceKeysUrl:null==i?void 0:i.apiKeysUrl,__internal_bypassMissingPublishableKey:!0}):c}},91427:(a,b,c)=>{c.d(b,{a:()=>e});var d=c(4892);let e=(0,d.createServerReference)("7f71c223a4774809962e2fa990b599f3b2dc876a93",d.callServer,void 0,d.findSourceMapURL,"createOrReadKeylessAction")}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-
|
|
1
|
+
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-1d430a0b1515b51b.js","static/chunks/1403cfaa-23a60f24679b747b.js","static/chunks/5159-6ab0adfaac39b73f.js","static/chunks/main-app-a2612c9f1cba6be3.js"],rootMainFilesTree:{},pages:{"/_app":["static/chunks/webpack-1d430a0b1515b51b.js","static/chunks/framework-b630860915f78484.js","static/chunks/main-376cab886f98cda8.js","static/chunks/pages/_app-8eabba11c41039f2.js"],"/_error":["static/chunks/webpack-1d430a0b1515b51b.js","static/chunks/framework-b630860915f78484.js","static/chunks/main-376cab886f98cda8.js","static/chunks/pages/_error-20063159b68f1cd0.js"]},ampFirstPages:[]},globalThis.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
"wasm": [],
|
|
22
22
|
"assets": [],
|
|
23
23
|
"env": {
|
|
24
|
-
"__NEXT_BUILD_ID": "
|
|
25
|
-
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "
|
|
26
|
-
"__NEXT_PREVIEW_MODE_ID": "
|
|
27
|
-
"__NEXT_PREVIEW_MODE_SIGNING_KEY": "
|
|
28
|
-
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "
|
|
24
|
+
"__NEXT_BUILD_ID": "NxS4o8j8hPhVPfR142KOX",
|
|
25
|
+
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "STrCGQuwLhEBiWh8VObwgHh+Nv7pnNJe8y1dfoL8/FU=",
|
|
26
|
+
"__NEXT_PREVIEW_MODE_ID": "e47a213820f8c3562e94aa8a185155da",
|
|
27
|
+
"__NEXT_PREVIEW_MODE_SIGNING_KEY": "ced5a6b054ee7b5cbfc47cda817e48aab5d35f6d2eb82bd402c6b97a2f4a90a1",
|
|
28
|
+
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "5a23083a2cb31d1dfac25c26ed07fac7b91e522809bbd3c6df419ba338b29863"
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__REACT_LOADABLE_MANIFEST='{"../../node_modules/.pnpm/@clerk+nextjs@6.39.3_next@15.5.18_react-dom@19.2.6_react@19.2.6__react@19.2.6__react-do_d24b847cfc394d97af1af4820c151e7c/node_modules/@clerk/nextjs/dist/esm/app-router/client/ClerkProvider.js -> ./keyless-creator-reader.js":{"id":2794,"files":["static/chunks/2794.
|
|
1
|
+
self.__REACT_LOADABLE_MANIFEST='{"../../node_modules/.pnpm/@clerk+nextjs@6.39.3_next@15.5.18_react-dom@19.2.6_react@19.2.6__react@19.2.6__react-do_d24b847cfc394d97af1af4820c151e7c/node_modules/@clerk/nextjs/dist/esm/app-router/client/ClerkProvider.js -> ./keyless-creator-reader.js":{"id":2794,"files":["static/chunks/2794.25a93c4396d0540e.js"]},"../../node_modules/.pnpm/@clerk+nextjs@6.39.3_next@15.5.18_react-dom@19.2.6_react@19.2.6__react@19.2.6__react-do_d24b847cfc394d97af1af4820c151e7c/node_modules/@clerk/nextjs/dist/esm/app-router/client/keyless-cookie-sync.js -> ../keyless-actions.js":{"id":9819,"files":["static/chunks/9819.c7fadd6058c4b658.js"]}}';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__NEXT_FONT_MANIFEST='{"pages":{},"app":{"/Users/abishaikc/Coodra/apps/web-v2/app/layout":["static/media/
|
|
1
|
+
self.__NEXT_FONT_MANIFEST='{"pages":{},"app":{"/Users/abishaikc/Coodra/apps/web-v2/app/layout":["static/media/e18f83c737786aa7-s.p.woff2","static/media/7b89a4fd5e90ede0-s.p.woff2","static/media/bb3ef058b751a6ad-s.p.woff2","static/media/103fc5fac08dcb15-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"pages":{},"app":{"/Users/abishaikc/Coodra/apps/web-v2/app/layout":["static/media/
|
|
1
|
+
{"pages":{},"app":{"/Users/abishaikc/Coodra/apps/web-v2/app/layout":["static/media/e18f83c737786aa7-s.p.woff2","static/media/7b89a4fd5e90ede0-s.p.woff2","static/media/bb3ef058b751a6ad-s.p.woff2","static/media/103fc5fac08dcb15-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-1d430a0b1515b51b.js" defer=""></script><script src="/_next/static/chunks/framework-b630860915f78484.js" defer=""></script><script src="/_next/static/chunks/main-376cab886f98cda8.js" defer=""></script><script src="/_next/static/chunks/pages/_app-8eabba11c41039f2.js" defer=""></script><script src="/_next/static/chunks/pages/_error-20063159b68f1cd0.js" defer=""></script><script src="/_next/static/NxS4o8j8hPhVPfR142KOX/_buildManifest.js" defer=""></script><script src="/_next/static/NxS4o8j8hPhVPfR142KOX/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"NxS4o8j8hPhVPfR142KOX","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|