chorus-codes 0.7.2 → 0.7.4
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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +7 -7
- package/.next/build-manifest.json +13 -14
- package/.next/cache/.previewinfo +1 -1
- package/.next/cache/.rscinfo +1 -1
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +6 -0
- package/.next/required-server-files.js +2 -0
- package/.next/required-server-files.json +2 -0
- package/.next/server/app/_global-error/page.js +32 -10
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.meta +2 -1
- package/.next/server/app/_global-error.rsc +8 -9
- package/.next/server/app/_global-error.segments/_full.segment.rsc +8 -9
- package/.next/server/app/_global-error.segments/{__PAGE__.segment.rsc → _global-error/__PAGE__.segment.rsc} +2 -2
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +3 -4
- package/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +2 -13
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -3
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +12 -10
- package/.next/server/app/_not-found.segments/_full.segment.rsc +12 -10
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -2
- package/.next/server/app/api/daemon/[...path]/route.js +1 -7
- package/.next/server/app/api/daemon/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/daemon/[...path]/route_client-reference-manifest.js +1 -3
- package/.next/server/app/api/run-artifacts/[chatId]/route.js +1 -6
- package/.next/server/app/api/run-artifacts/[chatId]/route.js.nft.json +1 -1
- package/.next/server/app/api/run-artifacts/[chatId]/route_client-reference-manifest.js +1 -3
- package/.next/server/app/connect/page.js +2 -15
- package/.next/server/app/connect/page.js.nft.json +1 -1
- package/.next/server/app/connect/page_client-reference-manifest.js +1 -3
- package/.next/server/app/favicon.ico/route.js +1 -8
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/icon.svg/route.js +1 -7
- package/.next/server/app/icon.svg/route.js.nft.json +1 -1
- package/.next/server/app/new/page.js +2 -14
- package/.next/server/app/new/page.js.nft.json +1 -1
- package/.next/server/app/new/page_client-reference-manifest.js +1 -3
- package/.next/server/app/new.html +1 -1
- package/.next/server/app/new.rsc +14 -14
- package/.next/server/app/new.segments/_full.segment.rsc +14 -14
- package/.next/server/app/new.segments/_head.segment.rsc +4 -4
- package/.next/server/app/new.segments/_index.segment.rsc +4 -4
- package/.next/server/app/new.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/new.segments/new/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/new.segments/new.segment.rsc +3 -3
- package/.next/server/app/onboarding/page.js +2 -14
- package/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -3
- package/.next/server/app/onboarding.html +1 -1
- package/.next/server/app/onboarding.rsc +14 -14
- package/.next/server/app/onboarding.segments/_full.segment.rsc +14 -14
- package/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
- package/.next/server/app/onboarding.segments/_index.segment.rsc +4 -4
- package/.next/server/app/onboarding.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
- package/.next/server/app/page.js +2 -17
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -3
- package/.next/server/app/personas/page.js +2 -14
- package/.next/server/app/personas/page.js.nft.json +1 -1
- package/.next/server/app/personas/page_client-reference-manifest.js +1 -3
- package/.next/server/app/personas.html +1 -1
- package/.next/server/app/personas.rsc +14 -14
- package/.next/server/app/personas.segments/_full.segment.rsc +14 -14
- package/.next/server/app/personas.segments/_head.segment.rsc +4 -4
- package/.next/server/app/personas.segments/_index.segment.rsc +4 -4
- package/.next/server/app/personas.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/personas.segments/personas/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/personas.segments/personas.segment.rsc +3 -3
- package/.next/server/app/runs/[runId]/page.js +2 -16
- package/.next/server/app/runs/[runId]/page.js.nft.json +1 -1
- package/.next/server/app/runs/[runId]/page_client-reference-manifest.js +1 -3
- package/.next/server/app/runs/page.js +2 -15
- package/.next/server/app/runs/page.js.nft.json +1 -1
- package/.next/server/app/runs/page_client-reference-manifest.js +1 -3
- package/.next/server/app/settings/page.js +26 -14
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -3
- package/.next/server/app/settings/permissions/page.js +2 -14
- package/.next/server/app/settings/permissions/page.js.nft.json +1 -1
- package/.next/server/app/settings/permissions/page_client-reference-manifest.js +1 -3
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +14 -14
- package/.next/server/app/settings.segments/_full.segment.rsc +14 -14
- package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_index.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/server/app/templates/page.js +2 -14
- package/.next/server/app/templates/page.js.nft.json +1 -1
- package/.next/server/app/templates/page_client-reference-manifest.js +1 -3
- package/.next/server/app/templates.html +1 -1
- package/.next/server/app/templates.rsc +14 -14
- package/.next/server/app/templates.segments/_full.segment.rsc +14 -14
- package/.next/server/app/templates.segments/_head.segment.rsc +4 -4
- package/.next/server/app/templates.segments/_index.segment.rsc +4 -4
- package/.next/server/app/templates.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/templates.segments/templates/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/templates.segments/templates.segment.rsc +3 -3
- package/.next/server/app-paths-manifest.json +7 -7
- package/.next/server/chunks/144.js +25 -0
- package/.next/server/chunks/332.js +18 -0
- package/.next/server/chunks/418.js +1 -0
- package/.next/server/chunks/429.js +1 -0
- package/.next/server/chunks/451.js +45 -0
- package/.next/server/chunks/498.js +1 -0
- package/.next/server/chunks/504.js +1 -0
- package/.next/server/chunks/557.js +5 -0
- package/.next/server/chunks/668.js +25 -0
- package/.next/server/chunks/681.js +1 -0
- package/.next/server/chunks/946.js +1 -0
- package/.next/server/chunks/95.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -21
- package/.next/server/middleware-manifest.json +2 -2
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +1 -51
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -5
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/chunks/116-0372d11bc2a9ac4d.js +25 -0
- package/.next/static/chunks/128-a5d059bf5b2e5090.js +32 -0
- package/.next/static/chunks/15-d438a2b057302bed.js +1 -0
- package/.next/static/chunks/344-1f06059a92faa936.js +1 -0
- package/.next/static/chunks/720-9732eeb760e004e3.js +5 -0
- package/.next/static/chunks/744-2b89d96d64610581.js +1 -0
- package/.next/static/chunks/app/_global-error/page-c01ad9f9473ce080.js +1 -0
- package/.next/static/chunks/app/_not-found/page-715bac6dc7f3427d.js +1 -0
- package/.next/static/chunks/app/api/daemon/[...path]/route-c01ad9f9473ce080.js +1 -0
- package/.next/static/chunks/app/api/run-artifacts/[chatId]/route-c01ad9f9473ce080.js +1 -0
- package/.next/static/chunks/app/connect/page-c09d9fb410c468b7.js +1 -0
- package/.next/static/chunks/app/layout-df8acd5bd06cbe45.js +1 -0
- package/.next/static/chunks/app/new/page-e4923b87c7a7b6ae.js +1 -0
- package/.next/static/chunks/app/onboarding/page-4c87427335371aaa.js +1 -0
- package/.next/static/chunks/app/page-3c0d23c063b036eb.js +1 -0
- package/.next/static/chunks/app/personas/page-a130cd11d8cbd832.js +1 -0
- package/.next/static/chunks/app/runs/[runId]/page-aa118bfeb6508779.js +1 -0
- package/.next/static/chunks/app/runs/page-503439d57f433574.js +1 -0
- package/.next/static/chunks/app/settings/page-64d7d48d2413a18b.js +25 -0
- package/.next/static/chunks/app/settings/permissions/page-18bf0e6d84be8fad.js +1 -0
- package/.next/static/chunks/app/templates/page-db5165c6311bf6e1.js +1 -0
- package/.next/static/chunks/ed64ccb0-b7d2b5246d18ca7e.js +1 -0
- package/.next/static/chunks/framework-dc9b726cfb42e402.js +1 -0
- package/.next/static/chunks/main-2088f7ac0f762d6a.js +5 -0
- package/.next/static/chunks/main-app-e9f7985e32dc8a63.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-c01ad9f9473ce080.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-c01ad9f9473ce080.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-538b25894f1d36d8.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-c01ad9f9473ce080.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-c01ad9f9473ce080.js +1 -0
- package/.next/static/chunks/webpack-87142ab87b87c8fb.js +1 -0
- package/.next/static/css/a552ff3997000a18.css +3 -0
- package/.next/static/fRcji-LCH-qqfsUepgR1t/_buildManifest.js +1 -0
- package/.next/trace +19 -1
- package/.next/trace-build +1 -1
- package/.next/types/app/api/daemon/[...path]/route.ts +351 -0
- package/.next/types/app/api/run-artifacts/[chatId]/route.ts +351 -0
- package/.next/types/app/connect/page.ts +87 -0
- package/.next/types/app/layout.ts +87 -0
- package/.next/types/app/new/page.ts +87 -0
- package/.next/types/app/onboarding/page.ts +87 -0
- package/.next/types/app/page.ts +87 -0
- package/.next/types/app/personas/page.ts +87 -0
- package/.next/types/app/runs/[runId]/page.ts +87 -0
- package/.next/types/app/runs/page.ts +87 -0
- package/.next/types/app/settings/page.ts +87 -0
- package/.next/types/app/settings/permissions/page.ts +87 -0
- package/.next/types/app/templates/page.ts +87 -0
- package/.next/types/package.json +1 -0
- package/dist/cli/commands/start.js +38 -4
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/port-utils.js +143 -7
- package/dist/cli/port-utils.js.map +1 -1
- package/dist/daemon/index.js +1 -1
- package/dist/mcp/index.js +1 -1
- package/package.json +2 -2
- package/.next/build/chunks/[root-of-the-server]__0d-m0h0._.js +0 -206
- package/.next/build/chunks/[root-of-the-server]__0d-m0h0._.js.map +0 -8
- package/.next/build/chunks/[root-of-the-server]__0ubbtyl._.js +0 -500
- package/.next/build/chunks/[root-of-the-server]__0ubbtyl._.js.map +0 -11
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_06e.r3r._.js +0 -13
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_06e.r3r._.js.map +0 -5
- package/.next/build/chunks/[turbopack]_runtime.js +0 -890
- package/.next/build/chunks/[turbopack]_runtime.js.map +0 -11
- package/.next/build/chunks/node_modules__pnpm_0e-dfa2._.js +0 -6681
- package/.next/build/chunks/node_modules__pnpm_0e-dfa2._.js.map +0 -47
- package/.next/build/package.json +0 -1
- package/.next/build/postcss.js +0 -6
- package/.next/build/postcss.js.map +0 -5
- package/.next/diagnostics/route-bundle-stats.json +0 -176
- package/.next/fallback-build-manifest.json +0 -13
- package/.next/server/app/_global-error/page/app-paths-manifest.json +0 -3
- package/.next/server/app/_global-error/page/build-manifest.json +0 -17
- package/.next/server/app/_global-error/page/next-font-manifest.json +0 -6
- package/.next/server/app/_global-error/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/_global-error/page/server-reference-manifest.json +0 -4
- package/.next/server/app/_global-error/page.js.map +0 -5
- package/.next/server/app/_not-found/page/app-paths-manifest.json +0 -3
- package/.next/server/app/_not-found/page/build-manifest.json +0 -17
- package/.next/server/app/_not-found/page/next-font-manifest.json +0 -11
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/_not-found/page/server-reference-manifest.json +0 -4
- package/.next/server/app/_not-found/page.js.map +0 -5
- package/.next/server/app/api/daemon/[...path]/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/daemon/[...path]/route/build-manifest.json +0 -9
- package/.next/server/app/api/daemon/[...path]/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/daemon/[...path]/route.js.map +0 -5
- package/.next/server/app/api/run-artifacts/[chatId]/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/run-artifacts/[chatId]/route/build-manifest.json +0 -9
- package/.next/server/app/api/run-artifacts/[chatId]/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/run-artifacts/[chatId]/route.js.map +0 -5
- package/.next/server/app/connect/page/app-paths-manifest.json +0 -3
- package/.next/server/app/connect/page/build-manifest.json +0 -17
- package/.next/server/app/connect/page/next-font-manifest.json +0 -11
- package/.next/server/app/connect/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/connect/page/server-reference-manifest.json +0 -4
- package/.next/server/app/connect/page.js.map +0 -5
- package/.next/server/app/favicon.ico/route/app-paths-manifest.json +0 -3
- package/.next/server/app/favicon.ico/route/build-manifest.json +0 -9
- package/.next/server/app/favicon.ico/route.js.map +0 -5
- package/.next/server/app/icon.svg/route/app-paths-manifest.json +0 -3
- package/.next/server/app/icon.svg/route/build-manifest.json +0 -9
- package/.next/server/app/icon.svg/route.js.map +0 -5
- package/.next/server/app/new/page/app-paths-manifest.json +0 -3
- package/.next/server/app/new/page/build-manifest.json +0 -17
- package/.next/server/app/new/page/next-font-manifest.json +0 -11
- package/.next/server/app/new/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/new/page/server-reference-manifest.json +0 -4
- package/.next/server/app/new/page.js.map +0 -5
- package/.next/server/app/onboarding/page/app-paths-manifest.json +0 -3
- package/.next/server/app/onboarding/page/build-manifest.json +0 -17
- package/.next/server/app/onboarding/page/next-font-manifest.json +0 -11
- package/.next/server/app/onboarding/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/onboarding/page/server-reference-manifest.json +0 -4
- package/.next/server/app/onboarding/page.js.map +0 -5
- package/.next/server/app/page/app-paths-manifest.json +0 -3
- package/.next/server/app/page/build-manifest.json +0 -17
- package/.next/server/app/page/next-font-manifest.json +0 -11
- package/.next/server/app/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/page/server-reference-manifest.json +0 -4
- package/.next/server/app/page.js.map +0 -5
- package/.next/server/app/personas/page/app-paths-manifest.json +0 -3
- package/.next/server/app/personas/page/build-manifest.json +0 -17
- package/.next/server/app/personas/page/next-font-manifest.json +0 -11
- package/.next/server/app/personas/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/personas/page/server-reference-manifest.json +0 -4
- package/.next/server/app/personas/page.js.map +0 -5
- package/.next/server/app/runs/[runId]/page/app-paths-manifest.json +0 -3
- package/.next/server/app/runs/[runId]/page/build-manifest.json +0 -17
- package/.next/server/app/runs/[runId]/page/next-font-manifest.json +0 -11
- package/.next/server/app/runs/[runId]/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/runs/[runId]/page/server-reference-manifest.json +0 -4
- package/.next/server/app/runs/[runId]/page.js.map +0 -5
- package/.next/server/app/runs/page/app-paths-manifest.json +0 -3
- package/.next/server/app/runs/page/build-manifest.json +0 -17
- package/.next/server/app/runs/page/next-font-manifest.json +0 -11
- package/.next/server/app/runs/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/runs/page/server-reference-manifest.json +0 -4
- package/.next/server/app/runs/page.js.map +0 -5
- package/.next/server/app/settings/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/page/build-manifest.json +0 -17
- package/.next/server/app/settings/page/next-font-manifest.json +0 -11
- package/.next/server/app/settings/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/settings/page/server-reference-manifest.json +0 -4
- package/.next/server/app/settings/page.js.map +0 -5
- package/.next/server/app/settings/permissions/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/permissions/page/build-manifest.json +0 -17
- package/.next/server/app/settings/permissions/page/next-font-manifest.json +0 -11
- package/.next/server/app/settings/permissions/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/settings/permissions/page/server-reference-manifest.json +0 -4
- package/.next/server/app/settings/permissions/page.js.map +0 -5
- package/.next/server/app/templates/page/app-paths-manifest.json +0 -3
- package/.next/server/app/templates/page/build-manifest.json +0 -17
- package/.next/server/app/templates/page/next-font-manifest.json +0 -11
- package/.next/server/app/templates/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/templates/page/server-reference-manifest.json +0 -4
- package/.next/server/app/templates/page.js.map +0 -5
- package/.next/server/chunks/05w9_next_0xdex7s._.js +0 -13
- package/.next/server/chunks/05w9_next_0xdex7s._.js.map +0 -1
- package/.next/server/chunks/05w9_next_dist_esm_build_templates_app-route_0.73kst.js +0 -3
- package/.next/server/chunks/05w9_next_dist_esm_build_templates_app-route_0.73kst.js.map +0 -1
- package/.next/server/chunks/[externals]_next_dist_0arv.vj._.js +0 -3
- package/.next/server/chunks/[externals]_next_dist_0arv.vj._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__02xvj_h._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__02xvj_h._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0i7ddmr._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0i7ddmr._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0sxhm1i._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0sxhm1i._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__12xxby8._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__12xxby8._.js.map +0 -1
- package/.next/server/chunks/[turbopack]_runtime.js +0 -903
- package/.next/server/chunks/[turbopack]_runtime.js.map +0 -11
- package/.next/server/chunks/_next-internal_server_app_api_daemon_[___path]_route_actions_0a5g-ar.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_daemon_[___path]_route_actions_0a5g-ar.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_api_run-artifacts_[chatId]_route_actions_07e2ul1.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_run-artifacts_[chatId]_route_actions_07e2ul1.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_095lj93.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_095lj93.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_0-0ehc~.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_0-0ehc~.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_0q4woef._.js +0 -3
- package/.next/server/chunks/ssr/05w9_next_dist_0q4woef._.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_0ybpwn1._.js +0 -6
- package/.next/server/chunks/ssr/05w9_next_dist_0ybpwn1._.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_0~859ji._.js +0 -6
- package/.next/server/chunks/ssr/05w9_next_dist_0~859ji._.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_client_components_12u3mib._.js +0 -3
- package/.next/server/chunks/ssr/05w9_next_dist_client_components_12u3mib._.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_client_components_builtin_forbidden_04fbe_..js +0 -3
- package/.next/server/chunks/ssr/05w9_next_dist_client_components_builtin_forbidden_04fbe_..js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_client_components_builtin_global-error_0brpl_..js +0 -3
- package/.next/server/chunks/ssr/05w9_next_dist_client_components_builtin_global-error_0brpl_..js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_client_components_builtin_unauthorized_0~2g66g.js +0 -3
- package/.next/server/chunks/ssr/05w9_next_dist_client_components_builtin_unauthorized_0~2g66g.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0-f~6r1.js +0 -4
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0-f~6r1.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_00czn99.js +0 -4
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_00czn99.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_01nm1_6.js +0 -4
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_01nm1_6.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0jcydv7.js +0 -4
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0jcydv7.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0km.hvi.js +0 -4
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0km.hvi.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0ln8_qt.js +0 -4
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0ln8_qt.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0n3h-j1.js +0 -4
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0n3h-j1.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0nc~v.o.js +0 -4
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0nc~v.o.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0o6nct3.js +0 -4
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0o6nct3.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0veve6-.js +0 -4
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0veve6-.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0wh5tpo.js +0 -4
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_0wh5tpo.js.map +0 -1
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_10~fsfu.js +0 -4
- package/.next/server/chunks/ssr/05w9_next_dist_esm_build_templates_app-page_10~fsfu.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0-7oo8o._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0-7oo8o._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__01t9qm2._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__01t9qm2._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__076~t6~._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__076~t6~._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0_tow-j._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0_tow-j._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0bsym8v._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0bsym8v._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0bwjwxi._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0bwjwxi._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0c2e5js._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0c2e5js._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0d_59pi._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0d_59pi._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0dxp2sg._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0dxp2sg._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0e58.k_._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0e58.k_._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0ek20dj._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0ek20dj._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0h2o43u._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0h2o43u._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0hn95cc._.js +0 -33
- package/.next/server/chunks/ssr/[root-of-the-server]__0hn95cc._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0ic.~tw._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0ic.~tw._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0jltd-t._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0jltd-t._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0k_96yx._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0k_96yx._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0l5ko41._.js +0 -19
- package/.next/server/chunks/ssr/[root-of-the-server]__0l5ko41._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0p~21w8._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0p~21w8._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0tc4gl8._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0tc4gl8._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0v73tbn._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0v73tbn._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0we1ana._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0we1ana._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0xlzjhk._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0xlzjhk._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0ygksjc._.js +0 -33
- package/.next/server/chunks/ssr/[root-of-the-server]__0ygksjc._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0yhjl35._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0yhjl35._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0~cqs-9._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0~cqs-9._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__109.1j0._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__109.1j0._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__10gepjv._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__10gepjv._.js.map +0 -1
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +0 -903
- package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +0 -11
- package/.next/server/chunks/ssr/_01t~nag._.js +0 -30
- package/.next/server/chunks/ssr/_01t~nag._.js.map +0 -1
- package/.next/server/chunks/ssr/_097xk3e._.js +0 -3
- package/.next/server/chunks/ssr/_097xk3e._.js.map +0 -1
- package/.next/server/chunks/ssr/_0bxoss0._.js +0 -30
- package/.next/server/chunks/ssr/_0bxoss0._.js.map +0 -1
- package/.next/server/chunks/ssr/_0ck1n8_._.js +0 -7
- package/.next/server/chunks/ssr/_0ck1n8_._.js.map +0 -1
- package/.next/server/chunks/ssr/_0d-304b._.js +0 -30
- package/.next/server/chunks/ssr/_0d-304b._.js.map +0 -1
- package/.next/server/chunks/ssr/_0p-_ahq._.js +0 -30
- package/.next/server/chunks/ssr/_0p-_ahq._.js.map +0 -1
- package/.next/server/chunks/ssr/_0qlx_85._.js +0 -7
- package/.next/server/chunks/ssr/_0qlx_85._.js.map +0 -1
- package/.next/server/chunks/ssr/_0y43gyn._.js +0 -27
- package/.next/server/chunks/ssr/_0y43gyn._.js.map +0 -1
- package/.next/server/chunks/ssr/_11i54x9._.js +0 -30
- package/.next/server/chunks/ssr/_11i54x9._.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0k77kol.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0k77kol.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0eq97pa.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0eq97pa.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_connect_page_actions_0vb8s6u.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_connect_page_actions_0vb8s6u.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_new_page_actions_08q6mx5.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_new_page_actions_08q6mx5.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_onboarding_page_actions_0qdby58.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_onboarding_page_actions_0qdby58.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_09-gtaw.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_09-gtaw.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_personas_page_actions_08fq21v.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_personas_page_actions_08fq21v.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_runs_[runId]_page_actions_0z6r2tz.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_runs_[runId]_page_actions_0z6r2tz.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_runs_page_actions_04_e1xr.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_runs_page_actions_04_e1xr.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_settings_page_actions_0mr68ai.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_settings_page_actions_0mr68ai.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_settings_permissions_page_actions_0cr.qtc.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_settings_permissions_page_actions_0cr.qtc.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_templates_page_actions_0n8gow3.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_templates_page_actions_0n8gow3.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_0~j0k.e._.js +0 -33
- package/.next/server/chunks/ssr/node_modules__pnpm_0~j0k.e._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_new_page_tsx_0av4n2k._.js +0 -3
- package/.next/server/chunks/ssr/src_app_new_page_tsx_0av4n2k._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +0 -3
- package/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_personas_page_tsx_0jx9vyh._.js +0 -3
- package/.next/server/chunks/ssr/src_app_personas_page_tsx_0jx9vyh._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +0 -27
- package/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_templates_page_tsx_0tml2wg._.js +0 -3
- package/.next/server/chunks/ssr/src_app_templates_page_tsx_0tml2wg._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_0j77o23._.js +0 -3
- package/.next/server/chunks/ssr/src_components_0j77o23._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_0lc2g58._.js +0 -3
- package/.next/server/chunks/ssr/src_components_0lc2g58._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_live-run-real_index_tsx_0zzsdt9._.js +0 -3
- package/.next/server/chunks/ssr/src_components_live-run-real_index_tsx_0zzsdt9._.js.map +0 -1
- package/.next/static/9cD3yIOGe_Aqr17uJHTQS/_buildManifest.js +0 -11
- package/.next/static/9cD3yIOGe_Aqr17uJHTQS/_clientMiddlewareManifest.js +0 -1
- package/.next/static/chunks/0-xxtuzaqzyzy.css +0 -3
- package/.next/static/chunks/0.dctgbd3j_xg.js +0 -2
- package/.next/static/chunks/0.~gqf.-9g-fh.js +0 -1
- package/.next/static/chunks/01as9r5n5k.xo.js +0 -1
- package/.next/static/chunks/034b~pjm7y20e.js +0 -1
- package/.next/static/chunks/05o4oa_9xfaun.js +0 -1
- package/.next/static/chunks/08dnw-0gzytmy.js +0 -5
- package/.next/static/chunks/08f2b7tuf53ep.js +0 -1
- package/.next/static/chunks/0a_u3vdu6tc~f.js +0 -1
- package/.next/static/chunks/0am72irwq2bx0.js +0 -5
- package/.next/static/chunks/0c-d1bhb8byrx.js +0 -1
- package/.next/static/chunks/0s4~w2~is76y1.js +0 -1
- package/.next/static/chunks/0ue4qcctkv016.js +0 -4
- package/.next/static/chunks/0uok5~eqi6zku.js +0 -1
- package/.next/static/chunks/0v3lyuj75aq50.js +0 -1
- package/.next/static/chunks/0whnu9t5k-ij7.js +0 -1
- package/.next/static/chunks/0x00t3du13-u4.js +0 -25
- package/.next/static/chunks/0xs3ktzdh4rw4.js +0 -1
- package/.next/static/chunks/0~8r6nhrrl~f9.js +0 -1
- package/.next/static/chunks/10jdu00ksgu69.js +0 -1
- package/.next/static/chunks/10ld26~0f71ye.js +0 -25
- package/.next/static/chunks/11k2wbc04r__f.js +0 -25
- package/.next/static/chunks/13-.xgv2t5u6m.js +0 -31
- package/.next/static/chunks/152ec.u3_e~ya.js +0 -25
- package/.next/static/chunks/172tpttbumwi1.js +0 -25
- package/.next/static/chunks/turbopack-0-al833jv3to~.js +0 -1
- package/.next/static/media/favicon.0i~66t__91s97.ico +0 -0
- package/.next/static/media/icon.15.86wme~cdlv.svg +0 -6
- package/.next/turbopack +0 -0
- /package/.next/static/chunks/{03~yq9q893hmn.js → polyfills-42372ed130431b0a.js} +0 -0
- /package/.next/static/{9cD3yIOGe_Aqr17uJHTQS → fRcji-LCH-qqfsUepgR1t}/_ssgManifest.js +0 -0
- /package/.next/static/media/{caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2 → 4cf2300e9c8272f7-s.p.woff2} +0 -0
- /package/.next/static/media/{bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2 → 747892c23ea88013-s.woff2} +0 -0
- /package/.next/static/media/{8a480f0b521d4e75-s.06d3mdzz5bre_.woff2 → 8d697b304b401681-s.woff2} +0 -0
- /package/.next/static/media/{797e433ab948586e-s.p.0.q-h669a_dqa.woff2 → 93f479601ee12b01-s.p.woff2} +0 -0
- /package/.next/static/media/{4fa387ec64143e14-s.0q3udbd2bu5yp.woff2 → 9610d9e46709d722-s.woff2} +0 -0
- /package/.next/static/media/{7178b3e590c64307-s.11.cyxs5p-0z~.woff2 → ba015fad6dcf6784-s.woff2} +0 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// File: /home/ubuntu/dev/chorus/src/app/runs/page.tsx
|
|
2
|
+
import * as entry from '../../../../src/app/runs/page.js'
|
|
3
|
+
import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js'
|
|
4
|
+
|
|
5
|
+
import type { InstantConfigForTypeCheckInternal } from 'next/dist/build/segment-config/app/app-segment-config.js'
|
|
6
|
+
|
|
7
|
+
type TEntry = typeof import('../../../../src/app/runs/page.js')
|
|
8
|
+
|
|
9
|
+
type SegmentParams<T extends Object = any> = T extends Record<string, any>
|
|
10
|
+
? { [K in keyof T]: T[K] extends string ? string | string[] | undefined : never }
|
|
11
|
+
: T
|
|
12
|
+
|
|
13
|
+
// Check that the entry is a valid entry
|
|
14
|
+
checkFields<Diff<{
|
|
15
|
+
default: Function
|
|
16
|
+
config?: {}
|
|
17
|
+
generateStaticParams?: Function
|
|
18
|
+
unstable_instant?: InstantConfigForTypeCheckInternal
|
|
19
|
+
unstable_dynamicStaleTime?: number
|
|
20
|
+
revalidate?: RevalidateRange<TEntry> | false
|
|
21
|
+
dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
|
|
22
|
+
dynamicParams?: boolean
|
|
23
|
+
fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
|
|
24
|
+
preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
|
|
25
|
+
runtime?: 'nodejs' | 'experimental-edge' | 'edge'
|
|
26
|
+
maxDuration?: number
|
|
27
|
+
|
|
28
|
+
metadata?: any
|
|
29
|
+
generateMetadata?: Function
|
|
30
|
+
viewport?: any
|
|
31
|
+
generateViewport?: Function
|
|
32
|
+
|
|
33
|
+
}, TEntry, ''>>()
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
// Check the prop type of the entry function
|
|
37
|
+
checkFields<Diff<PageProps, FirstArg<TEntry['default']>, 'default'>>()
|
|
38
|
+
|
|
39
|
+
// Check the arguments and return type of the generateMetadata function
|
|
40
|
+
if ('generateMetadata' in entry) {
|
|
41
|
+
checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
|
|
42
|
+
checkFields<Diff<ResolvingMetadata, SecondArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Check the arguments and return type of the generateViewport function
|
|
46
|
+
if ('generateViewport' in entry) {
|
|
47
|
+
checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>()
|
|
48
|
+
checkFields<Diff<ResolvingViewport, SecondArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>()
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Check the arguments and return type of the generateStaticParams function
|
|
52
|
+
if ('generateStaticParams' in entry) {
|
|
53
|
+
checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
|
|
54
|
+
checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface PageProps {
|
|
58
|
+
params?: Promise<SegmentParams>
|
|
59
|
+
searchParams?: Promise<any>
|
|
60
|
+
}
|
|
61
|
+
export interface LayoutProps {
|
|
62
|
+
children?: React.ReactNode
|
|
63
|
+
|
|
64
|
+
params?: Promise<SegmentParams>
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// =============
|
|
68
|
+
// Utility types
|
|
69
|
+
type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
|
|
70
|
+
|
|
71
|
+
// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
|
|
72
|
+
type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
|
|
73
|
+
type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
|
|
74
|
+
|
|
75
|
+
type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
|
|
76
|
+
type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
|
|
77
|
+
type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
function checkFields<_ extends { [k in keyof any]: never }>() {}
|
|
82
|
+
|
|
83
|
+
// https://github.com/sindresorhus/type-fest
|
|
84
|
+
type Numeric = number | bigint
|
|
85
|
+
type Zero = 0 | 0n
|
|
86
|
+
type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
|
|
87
|
+
type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// File: /home/ubuntu/dev/chorus/src/app/settings/page.tsx
|
|
2
|
+
import * as entry from '../../../../src/app/settings/page.js'
|
|
3
|
+
import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js'
|
|
4
|
+
|
|
5
|
+
import type { InstantConfigForTypeCheckInternal } from 'next/dist/build/segment-config/app/app-segment-config.js'
|
|
6
|
+
|
|
7
|
+
type TEntry = typeof import('../../../../src/app/settings/page.js')
|
|
8
|
+
|
|
9
|
+
type SegmentParams<T extends Object = any> = T extends Record<string, any>
|
|
10
|
+
? { [K in keyof T]: T[K] extends string ? string | string[] | undefined : never }
|
|
11
|
+
: T
|
|
12
|
+
|
|
13
|
+
// Check that the entry is a valid entry
|
|
14
|
+
checkFields<Diff<{
|
|
15
|
+
default: Function
|
|
16
|
+
config?: {}
|
|
17
|
+
generateStaticParams?: Function
|
|
18
|
+
unstable_instant?: InstantConfigForTypeCheckInternal
|
|
19
|
+
unstable_dynamicStaleTime?: number
|
|
20
|
+
revalidate?: RevalidateRange<TEntry> | false
|
|
21
|
+
dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
|
|
22
|
+
dynamicParams?: boolean
|
|
23
|
+
fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
|
|
24
|
+
preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
|
|
25
|
+
runtime?: 'nodejs' | 'experimental-edge' | 'edge'
|
|
26
|
+
maxDuration?: number
|
|
27
|
+
|
|
28
|
+
metadata?: any
|
|
29
|
+
generateMetadata?: Function
|
|
30
|
+
viewport?: any
|
|
31
|
+
generateViewport?: Function
|
|
32
|
+
|
|
33
|
+
}, TEntry, ''>>()
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
// Check the prop type of the entry function
|
|
37
|
+
checkFields<Diff<PageProps, FirstArg<TEntry['default']>, 'default'>>()
|
|
38
|
+
|
|
39
|
+
// Check the arguments and return type of the generateMetadata function
|
|
40
|
+
if ('generateMetadata' in entry) {
|
|
41
|
+
checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
|
|
42
|
+
checkFields<Diff<ResolvingMetadata, SecondArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Check the arguments and return type of the generateViewport function
|
|
46
|
+
if ('generateViewport' in entry) {
|
|
47
|
+
checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>()
|
|
48
|
+
checkFields<Diff<ResolvingViewport, SecondArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>()
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Check the arguments and return type of the generateStaticParams function
|
|
52
|
+
if ('generateStaticParams' in entry) {
|
|
53
|
+
checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
|
|
54
|
+
checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface PageProps {
|
|
58
|
+
params?: Promise<SegmentParams>
|
|
59
|
+
searchParams?: Promise<any>
|
|
60
|
+
}
|
|
61
|
+
export interface LayoutProps {
|
|
62
|
+
children?: React.ReactNode
|
|
63
|
+
|
|
64
|
+
params?: Promise<SegmentParams>
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// =============
|
|
68
|
+
// Utility types
|
|
69
|
+
type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
|
|
70
|
+
|
|
71
|
+
// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
|
|
72
|
+
type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
|
|
73
|
+
type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
|
|
74
|
+
|
|
75
|
+
type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
|
|
76
|
+
type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
|
|
77
|
+
type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
function checkFields<_ extends { [k in keyof any]: never }>() {}
|
|
82
|
+
|
|
83
|
+
// https://github.com/sindresorhus/type-fest
|
|
84
|
+
type Numeric = number | bigint
|
|
85
|
+
type Zero = 0 | 0n
|
|
86
|
+
type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
|
|
87
|
+
type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// File: /home/ubuntu/dev/chorus/src/app/settings/permissions/page.tsx
|
|
2
|
+
import * as entry from '../../../../../src/app/settings/permissions/page.js'
|
|
3
|
+
import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js'
|
|
4
|
+
|
|
5
|
+
import type { InstantConfigForTypeCheckInternal } from 'next/dist/build/segment-config/app/app-segment-config.js'
|
|
6
|
+
|
|
7
|
+
type TEntry = typeof import('../../../../../src/app/settings/permissions/page.js')
|
|
8
|
+
|
|
9
|
+
type SegmentParams<T extends Object = any> = T extends Record<string, any>
|
|
10
|
+
? { [K in keyof T]: T[K] extends string ? string | string[] | undefined : never }
|
|
11
|
+
: T
|
|
12
|
+
|
|
13
|
+
// Check that the entry is a valid entry
|
|
14
|
+
checkFields<Diff<{
|
|
15
|
+
default: Function
|
|
16
|
+
config?: {}
|
|
17
|
+
generateStaticParams?: Function
|
|
18
|
+
unstable_instant?: InstantConfigForTypeCheckInternal
|
|
19
|
+
unstable_dynamicStaleTime?: number
|
|
20
|
+
revalidate?: RevalidateRange<TEntry> | false
|
|
21
|
+
dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
|
|
22
|
+
dynamicParams?: boolean
|
|
23
|
+
fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
|
|
24
|
+
preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
|
|
25
|
+
runtime?: 'nodejs' | 'experimental-edge' | 'edge'
|
|
26
|
+
maxDuration?: number
|
|
27
|
+
|
|
28
|
+
metadata?: any
|
|
29
|
+
generateMetadata?: Function
|
|
30
|
+
viewport?: any
|
|
31
|
+
generateViewport?: Function
|
|
32
|
+
|
|
33
|
+
}, TEntry, ''>>()
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
// Check the prop type of the entry function
|
|
37
|
+
checkFields<Diff<PageProps, FirstArg<TEntry['default']>, 'default'>>()
|
|
38
|
+
|
|
39
|
+
// Check the arguments and return type of the generateMetadata function
|
|
40
|
+
if ('generateMetadata' in entry) {
|
|
41
|
+
checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
|
|
42
|
+
checkFields<Diff<ResolvingMetadata, SecondArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Check the arguments and return type of the generateViewport function
|
|
46
|
+
if ('generateViewport' in entry) {
|
|
47
|
+
checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>()
|
|
48
|
+
checkFields<Diff<ResolvingViewport, SecondArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>()
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Check the arguments and return type of the generateStaticParams function
|
|
52
|
+
if ('generateStaticParams' in entry) {
|
|
53
|
+
checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
|
|
54
|
+
checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface PageProps {
|
|
58
|
+
params?: Promise<SegmentParams>
|
|
59
|
+
searchParams?: Promise<any>
|
|
60
|
+
}
|
|
61
|
+
export interface LayoutProps {
|
|
62
|
+
children?: React.ReactNode
|
|
63
|
+
|
|
64
|
+
params?: Promise<SegmentParams>
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// =============
|
|
68
|
+
// Utility types
|
|
69
|
+
type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
|
|
70
|
+
|
|
71
|
+
// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
|
|
72
|
+
type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
|
|
73
|
+
type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
|
|
74
|
+
|
|
75
|
+
type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
|
|
76
|
+
type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
|
|
77
|
+
type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
function checkFields<_ extends { [k in keyof any]: never }>() {}
|
|
82
|
+
|
|
83
|
+
// https://github.com/sindresorhus/type-fest
|
|
84
|
+
type Numeric = number | bigint
|
|
85
|
+
type Zero = 0 | 0n
|
|
86
|
+
type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
|
|
87
|
+
type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// File: /home/ubuntu/dev/chorus/src/app/templates/page.tsx
|
|
2
|
+
import * as entry from '../../../../src/app/templates/page.js'
|
|
3
|
+
import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js'
|
|
4
|
+
|
|
5
|
+
import type { InstantConfigForTypeCheckInternal } from 'next/dist/build/segment-config/app/app-segment-config.js'
|
|
6
|
+
|
|
7
|
+
type TEntry = typeof import('../../../../src/app/templates/page.js')
|
|
8
|
+
|
|
9
|
+
type SegmentParams<T extends Object = any> = T extends Record<string, any>
|
|
10
|
+
? { [K in keyof T]: T[K] extends string ? string | string[] | undefined : never }
|
|
11
|
+
: T
|
|
12
|
+
|
|
13
|
+
// Check that the entry is a valid entry
|
|
14
|
+
checkFields<Diff<{
|
|
15
|
+
default: Function
|
|
16
|
+
config?: {}
|
|
17
|
+
generateStaticParams?: Function
|
|
18
|
+
unstable_instant?: InstantConfigForTypeCheckInternal
|
|
19
|
+
unstable_dynamicStaleTime?: number
|
|
20
|
+
revalidate?: RevalidateRange<TEntry> | false
|
|
21
|
+
dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
|
|
22
|
+
dynamicParams?: boolean
|
|
23
|
+
fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
|
|
24
|
+
preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
|
|
25
|
+
runtime?: 'nodejs' | 'experimental-edge' | 'edge'
|
|
26
|
+
maxDuration?: number
|
|
27
|
+
|
|
28
|
+
metadata?: any
|
|
29
|
+
generateMetadata?: Function
|
|
30
|
+
viewport?: any
|
|
31
|
+
generateViewport?: Function
|
|
32
|
+
|
|
33
|
+
}, TEntry, ''>>()
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
// Check the prop type of the entry function
|
|
37
|
+
checkFields<Diff<PageProps, FirstArg<TEntry['default']>, 'default'>>()
|
|
38
|
+
|
|
39
|
+
// Check the arguments and return type of the generateMetadata function
|
|
40
|
+
if ('generateMetadata' in entry) {
|
|
41
|
+
checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
|
|
42
|
+
checkFields<Diff<ResolvingMetadata, SecondArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Check the arguments and return type of the generateViewport function
|
|
46
|
+
if ('generateViewport' in entry) {
|
|
47
|
+
checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>()
|
|
48
|
+
checkFields<Diff<ResolvingViewport, SecondArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>()
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Check the arguments and return type of the generateStaticParams function
|
|
52
|
+
if ('generateStaticParams' in entry) {
|
|
53
|
+
checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
|
|
54
|
+
checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface PageProps {
|
|
58
|
+
params?: Promise<SegmentParams>
|
|
59
|
+
searchParams?: Promise<any>
|
|
60
|
+
}
|
|
61
|
+
export interface LayoutProps {
|
|
62
|
+
children?: React.ReactNode
|
|
63
|
+
|
|
64
|
+
params?: Promise<SegmentParams>
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// =============
|
|
68
|
+
// Utility types
|
|
69
|
+
type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
|
|
70
|
+
|
|
71
|
+
// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
|
|
72
|
+
type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
|
|
73
|
+
type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
|
|
74
|
+
|
|
75
|
+
type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
|
|
76
|
+
type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
|
|
77
|
+
type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
function checkFields<_ extends { [k in keyof any]: never }>() {}
|
|
82
|
+
|
|
83
|
+
// https://github.com/sindresorhus/type-fest
|
|
84
|
+
type Numeric = number | bigint
|
|
85
|
+
type Zero = 0 | 0n
|
|
86
|
+
type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
|
|
87
|
+
type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type": "module"}
|
|
@@ -170,10 +170,38 @@ async function reapOrphans() {
|
|
|
170
170
|
]) {
|
|
171
171
|
if (!(await (0, port_utils_js_1.isPortInUse)(port)))
|
|
172
172
|
continue;
|
|
173
|
-
|
|
173
|
+
// Two-tier PID lookup. The unprivileged probe (ss / lsof without
|
|
174
|
+
// sudo) returns [] when the port is held by a process owned by a
|
|
175
|
+
// different uid — typically a daemon a prior `sudo chorus start`
|
|
176
|
+
// left behind. Falling back to `sudo -n` recovers the PID when the
|
|
177
|
+
// user has passwordless sudo configured. If sudo would prompt, the
|
|
178
|
+
// -n flag fails fast and we drop to the actionable diagnostic
|
|
179
|
+
// instead of blocking the terminal on a password prompt.
|
|
180
|
+
let pids = (0, port_utils_js_1.findPidsOnPort)(port);
|
|
181
|
+
let needsSudoToKill = false;
|
|
174
182
|
if (pids.length === 0) {
|
|
183
|
+
pids = (0, port_utils_js_1.findPidsOnPortWithSudo)(port);
|
|
184
|
+
needsSudoToKill = pids.length > 0;
|
|
185
|
+
}
|
|
186
|
+
if (pids.length === 0) {
|
|
187
|
+
// sudo also couldn't see — either no passwordless sudo, or
|
|
188
|
+
// something exotic (Windows-host port reservation through WSL2,
|
|
189
|
+
// a docker bridge, etc.). Print the exact remediation commands
|
|
190
|
+
// so the user can self-rescue without guessing.
|
|
191
|
+
console.log('');
|
|
192
|
+
console.log((0, ui_js_1.header)(ui_js_1.sym.err, `Port :${port} is in use, but I can't see which process owns it`, `likely cause: the holder is owned by another user (or sudo)`));
|
|
175
193
|
console.log('');
|
|
176
|
-
console.log(
|
|
194
|
+
console.log(ui_js_1.c.dim(' Find it:'));
|
|
195
|
+
console.log(` sudo lsof -iTCP:${port} -sTCP:LISTEN`);
|
|
196
|
+
console.log('');
|
|
197
|
+
console.log(ui_js_1.c.dim(' Free it:'));
|
|
198
|
+
console.log(` sudo fuser -k ${port}/tcp`);
|
|
199
|
+
console.log(ui_js_1.c.dim(` (macOS: kill $(sudo lsof -ti :${port}))`));
|
|
200
|
+
if (label === 'daemon') {
|
|
201
|
+
console.log('');
|
|
202
|
+
console.log(ui_js_1.c.dim(' Or relocate the daemon:'));
|
|
203
|
+
console.log(` CHORUS_DAEMON_PORT=${port + 1} chorus start`);
|
|
204
|
+
}
|
|
177
205
|
console.log('');
|
|
178
206
|
process.exit(1);
|
|
179
207
|
}
|
|
@@ -189,9 +217,15 @@ async function reapOrphans() {
|
|
|
189
217
|
console.log('');
|
|
190
218
|
process.exit(1);
|
|
191
219
|
}
|
|
192
|
-
|
|
220
|
+
// Cross-uid orphan: must use sudo -n kill or the SIGTERM bounces
|
|
221
|
+
// off with EPERM. Same chorus-shape match guard means we only
|
|
222
|
+
// ever sudo-kill processes whose cmdline already proved they're
|
|
223
|
+
// chorus orphans — never escalate against foreign code.
|
|
224
|
+
const dead = needsSudoToKill
|
|
225
|
+
? await (0, port_utils_js_1.killWithSudoAndVerify)(pid, `${label} orphan`)
|
|
226
|
+
: await (0, port_utils_js_1.killAndVerify)(pid, `${label} orphan`);
|
|
193
227
|
if (dead) {
|
|
194
|
-
console.log(` ${ui_js_1.sym.ok} reaped ${label} orphan on :${port} ${ui_js_1.c.dim(`(PID ${pid})`)}`);
|
|
228
|
+
console.log(` ${ui_js_1.sym.ok} reaped ${label} orphan on :${port} ${ui_js_1.c.dim(`(PID ${pid}${needsSudoToKill ? ', cross-uid via sudo' : ''})`)}`);
|
|
195
229
|
}
|
|
196
230
|
}
|
|
197
231
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/port-utils.js
CHANGED
|
@@ -5,6 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.isPortInUse = isPortInUse;
|
|
7
7
|
exports.findPidsOnPort = findPidsOnPort;
|
|
8
|
+
exports.findPidsOnPortWithSudo = findPidsOnPortWithSudo;
|
|
9
|
+
exports.killWithSudoAndVerify = killWithSudoAndVerify;
|
|
8
10
|
exports.pidLooksLikeChorus = pidLooksLikeChorus;
|
|
9
11
|
exports.killAndVerify = killAndVerify;
|
|
10
12
|
const child_process_1 = require("child_process");
|
|
@@ -91,6 +93,112 @@ function findPidsOnPort(port) {
|
|
|
91
93
|
}
|
|
92
94
|
return [];
|
|
93
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Same as findPidsOnPort but escalates via `sudo -n` (non-interactive).
|
|
98
|
+
* Linux's `ss -p` and `lsof` redact the PID column for sockets owned by
|
|
99
|
+
* a different uid when the caller is unprivileged — so a chorus daemon
|
|
100
|
+
* left behind by a `sudo chorus start` is invisible to a plain
|
|
101
|
+
* `chorus start`. Without this, the user hits the dead-end "couldn't
|
|
102
|
+
* identify the PID — free the port and retry" message and gets stuck.
|
|
103
|
+
*
|
|
104
|
+
* Returns [] on any failure: sudo prompt would block (no passwordless
|
|
105
|
+
* sudoers entry), tool missing, no listener, etc. Never blocks the
|
|
106
|
+
* terminal — the `-n` flag makes sudo fail-fast instead of prompting.
|
|
107
|
+
*/
|
|
108
|
+
function findPidsOnPortWithSudo(port) {
|
|
109
|
+
const candidates = [
|
|
110
|
+
{
|
|
111
|
+
// ss accepts the filter as a separate argument, so execFileSync
|
|
112
|
+
// is safe (no shell interpolation). Numeric port is type-checked
|
|
113
|
+
// by the caller via TypeScript, but argv-style invocation makes
|
|
114
|
+
// even an untrusted port literal harmless.
|
|
115
|
+
argv: ['-n', 'ss', '-ltnp', `sport = :${port}`],
|
|
116
|
+
parse: (out) => {
|
|
117
|
+
const pids = [];
|
|
118
|
+
for (const m of out.matchAll(/pid=(\d+)/g)) {
|
|
119
|
+
const pid = parseInt(m[1], 10);
|
|
120
|
+
if (Number.isFinite(pid) && pid > 0)
|
|
121
|
+
pids.push(pid);
|
|
122
|
+
}
|
|
123
|
+
return pids;
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
argv: ['-n', 'lsof', '-nP', `-iTCP:${port}`, '-sTCP:LISTEN', '-t'],
|
|
128
|
+
parse: (out) => out
|
|
129
|
+
.split(/\s+/)
|
|
130
|
+
.map((s) => parseInt(s, 10))
|
|
131
|
+
.filter((n) => Number.isFinite(n) && n > 0),
|
|
132
|
+
},
|
|
133
|
+
];
|
|
134
|
+
for (const { argv, parse } of candidates) {
|
|
135
|
+
try {
|
|
136
|
+
const out = (0, child_process_1.execFileSync)('sudo', argv, {
|
|
137
|
+
encoding: 'utf-8',
|
|
138
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
139
|
+
});
|
|
140
|
+
const pids = parse(out);
|
|
141
|
+
if (pids.length > 0)
|
|
142
|
+
return Array.from(new Set(pids));
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
/* sudo would prompt, tool missing, no match — try next */
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return [];
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* SIGTERM-then-SIGKILL via `sudo -n kill`. Same shape as killAndVerify
|
|
152
|
+
* but escalates so we can reap an orphan owned by another uid (typically
|
|
153
|
+
* a daemon a sudo-invoked `chorus start` left behind). Returns true if
|
|
154
|
+
* the process is gone by the time we return.
|
|
155
|
+
*
|
|
156
|
+
* Silently fails (returns false) when passwordless sudo isn't
|
|
157
|
+
* available — callers should already have established that the orphan
|
|
158
|
+
* is chorus-shaped before deciding to reap, so the worst case is that
|
|
159
|
+
* the user gets the actionable diagnostic instead of auto-recovery.
|
|
160
|
+
*/
|
|
161
|
+
async function killWithSudoAndVerify(pid, label, gracefulMs = 1500) {
|
|
162
|
+
const isAlive = () => {
|
|
163
|
+
// process.kill(pid, 0) works cross-uid on Linux: the EPERM/ESRCH
|
|
164
|
+
// distinction tells us "exists but I can't signal it" vs "gone".
|
|
165
|
+
try {
|
|
166
|
+
process.kill(pid, 0);
|
|
167
|
+
return true;
|
|
168
|
+
}
|
|
169
|
+
catch (err) {
|
|
170
|
+
// EPERM = process exists, owned by another uid → still alive.
|
|
171
|
+
// ESRCH = no such process → gone.
|
|
172
|
+
const code = err.code;
|
|
173
|
+
return code === 'EPERM';
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
if (!isAlive())
|
|
177
|
+
return true;
|
|
178
|
+
const sudoKill = (signal) => {
|
|
179
|
+
try {
|
|
180
|
+
(0, child_process_1.execFileSync)('sudo', ['-n', 'kill', `-${signal}`, String(pid)], {
|
|
181
|
+
stdio: 'ignore',
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
/* sudo prompt would block — fall through to liveness probe */
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
sudoKill('TERM');
|
|
189
|
+
const deadline = Date.now() + gracefulMs;
|
|
190
|
+
while (Date.now() < deadline) {
|
|
191
|
+
if (!isAlive())
|
|
192
|
+
return true;
|
|
193
|
+
await new Promise((r) => setTimeout(r, 100));
|
|
194
|
+
}
|
|
195
|
+
sudoKill('KILL');
|
|
196
|
+
await new Promise((r) => setTimeout(r, 200));
|
|
197
|
+
if (!isAlive())
|
|
198
|
+
return true;
|
|
199
|
+
console.warn(` ${ui_js_1.sym.err} ${label} PID ${pid} survived sudo -n kill — manual cleanup needed`);
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
94
202
|
/**
|
|
95
203
|
* Read the process's command line so we can decide whether it looks
|
|
96
204
|
* like a chorus orphan (safe to reap) vs a foreign process the user
|
|
@@ -202,18 +310,46 @@ function pidLooksLikeChorus(pid) {
|
|
|
202
310
|
if (nextLauncher) {
|
|
203
311
|
if (cmdlineHasChorusSegment(cmdline))
|
|
204
312
|
return { match: true, cmdline };
|
|
205
|
-
|
|
206
|
-
try {
|
|
207
|
-
cwd = fs_1.default.readlinkSync(`/proc/${pid}/cwd`);
|
|
208
|
-
}
|
|
209
|
-
catch {
|
|
210
|
-
/* not Linux or process gone — fall through */
|
|
211
|
-
}
|
|
313
|
+
const cwd = readCwd(pid);
|
|
212
314
|
if (cwd && pathHasChorusSegment(cwd))
|
|
213
315
|
return { match: true, cmdline };
|
|
214
316
|
}
|
|
215
317
|
return { match: false, cmdline };
|
|
216
318
|
}
|
|
319
|
+
/**
|
|
320
|
+
* Read /proc/<pid>/cwd, falling back to `sudo -n readlink` when the
|
|
321
|
+
* unprivileged readlink hits EACCES — the cwd symlink is owned by the
|
|
322
|
+
* process uid and locked to mode 0500, so a `sudo chorus start` orphan
|
|
323
|
+
* is invisible to a plain `chorus start` without escalation.
|
|
324
|
+
*
|
|
325
|
+
* Used by the next-server cwd cross-check: cmdline gets clobbered to
|
|
326
|
+
* `next-server (vX.Y.Z)` once Next overwrites process.title, leaving
|
|
327
|
+
* cwd as the only signal that an unidentifiable next-server is in fact
|
|
328
|
+
* the chorus cockpit.
|
|
329
|
+
*
|
|
330
|
+
* Returns null when both probes fail (non-Linux, process gone, sudo
|
|
331
|
+
* would prompt). Caller should treat null as "not chorus" — fail-closed
|
|
332
|
+
* matches the foreign-process guard's intent.
|
|
333
|
+
*/
|
|
334
|
+
function readCwd(pid) {
|
|
335
|
+
try {
|
|
336
|
+
return fs_1.default.readlinkSync(`/proc/${pid}/cwd`);
|
|
337
|
+
}
|
|
338
|
+
catch {
|
|
339
|
+
/* permission denied or process gone — fall through to sudo */
|
|
340
|
+
}
|
|
341
|
+
try {
|
|
342
|
+
const out = (0, child_process_1.execFileSync)('sudo', ['-n', 'readlink', `/proc/${pid}/cwd`], {
|
|
343
|
+
encoding: 'utf-8',
|
|
344
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
345
|
+
});
|
|
346
|
+
const trimmed = out.trim();
|
|
347
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
348
|
+
}
|
|
349
|
+
catch {
|
|
350
|
+
return null;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
217
353
|
/**
|
|
218
354
|
* Send SIGTERM to a PID and wait up to `gracefulMs` for it to die. If
|
|
219
355
|
* still alive, escalate to SIGKILL. Returns true if the process is
|