chorus-codes 0.8.36 → 0.8.37
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 +1 -1
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/connect/page.js +1 -1
- package/.next/server/app/connect/page_client-reference-manifest.js +1 -1
- package/.next/server/app/demo/[scenario]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/new/page.js +1 -1
- package/.next/server/app/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/new.html +1 -1
- package/.next/server/app/new.rsc +3 -3
- package/.next/server/app/new.segments/_full.segment.rsc +3 -3
- package/.next/server/app/new.segments/_head.segment.rsc +1 -1
- package/.next/server/app/new.segments/_index.segment.rsc +2 -2
- package/.next/server/app/new.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/new.segments/new/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/new.segments/new.segment.rsc +1 -1
- package/.next/server/app/onboarding/page.js +1 -1
- package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/server/app/onboarding.html +1 -1
- package/.next/server/app/onboarding.rsc +3 -3
- package/.next/server/app/onboarding.segments/_full.segment.rsc +3 -3
- package/.next/server/app/onboarding.segments/_head.segment.rsc +1 -1
- package/.next/server/app/onboarding.segments/_index.segment.rsc +2 -2
- package/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/onboarding.segments/onboarding.segment.rsc +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/personas/page_client-reference-manifest.js +1 -1
- package/.next/server/app/personas.html +1 -1
- package/.next/server/app/personas.rsc +3 -3
- package/.next/server/app/personas.segments/_full.segment.rsc +3 -3
- package/.next/server/app/personas.segments/_head.segment.rsc +1 -1
- package/.next/server/app/personas.segments/_index.segment.rsc +2 -2
- package/.next/server/app/personas.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/personas.segments/personas/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/personas.segments/personas.segment.rsc +1 -1
- package/.next/server/app/runs/[runId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/runs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/permissions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +3 -3
- package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/server/app/templates/page.js +1 -1
- package/.next/server/app/templates/page_client-reference-manifest.js +1 -1
- package/.next/server/app/templates.html +1 -1
- package/.next/server/app/templates.rsc +3 -3
- package/.next/server/app/templates.segments/_full.segment.rsc +3 -3
- package/.next/server/app/templates.segments/_head.segment.rsc +1 -1
- package/.next/server/app/templates.segments/_index.segment.rsc +2 -2
- package/.next/server/app/templates.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/templates.segments/templates/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/templates.segments/templates.segment.rsc +1 -1
- package/.next/server/app-paths-manifest.json +1 -1
- package/.next/server/chunks/189.js +1 -1
- package/.next/server/chunks/642.js +1 -1
- package/.next/server/chunks/681.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{245-203bd8285e6b0858.js → 245-c081ea5ea945611e.js} +1 -1
- package/.next/static/chunks/{641-7e3f4fc19494c5dc.js → 641-3e7b9575770aa968.js} +1 -1
- package/.next/static/chunks/744-0fa71524896d2b59.js +1 -0
- package/.next/static/chunks/app/connect/page-ae2d68d73d1fa88a.js +1 -0
- package/.next/static/chunks/app/new/page-7793713d2f445862.js +1 -0
- package/.next/static/chunks/app/onboarding/{page-da4e2a72a0246245.js → page-0ad8dceca7279475.js} +1 -1
- package/.next/static/chunks/app/page-4bbcd06414430038.js +1 -0
- package/.next/static/chunks/app/templates/page-5ecd9b15c495b3bd.js +1 -0
- package/.next/static/css/b914f2b25cf933a9.css +3 -0
- package/.next/trace +20 -20
- package/.next/trace-build +1 -1
- package/dist/daemon/agents/index.js +13 -8
- package/dist/daemon/agents/index.js.map +1 -1
- package/dist/daemon/agents/local.js +189 -0
- package/dist/daemon/agents/local.js.map +1 -0
- package/dist/daemon/runner/fallback-registry.js +20 -6
- package/dist/daemon/runner/fallback-registry.js.map +1 -1
- package/dist/daemon/runner/reviewer-driver.js +38 -17
- package/dist/daemon/runner/reviewer-driver.js.map +1 -1
- package/dist/lib/cli-health.js +1 -0
- package/dist/lib/cli-health.js.map +1 -1
- package/dist/lib/cli-precheck.js +28 -15
- package/dist/lib/cli-precheck.js.map +1 -1
- package/dist/lib/lineage-maps.js +15 -0
- package/dist/lib/lineage-maps.js.map +1 -1
- package/dist/lib/template-schema.js +2 -2
- package/dist/lib/template-schema.js.map +1 -1
- package/package.json +1 -1
- package/.next/static/chunks/744-0dbe0ecdef7c2a4a.js +0 -1
- package/.next/static/chunks/app/connect/page-d61d0769677393ba.js +0 -1
- package/.next/static/chunks/app/new/page-27eb1817c252cd2e.js +0 -1
- package/.next/static/chunks/app/page-76efbecd45d24a1a.js +0 -1
- package/.next/static/chunks/app/templates/page-c712fc69b314d734.js +0 -1
- package/.next/static/css/31de2b5861a11b73.css +0 -3
- /package/.next/static/{dwStWF62ISmqJRGfdJJv5 → PLVy0iTepN1xpE0hbQBjx}/_buildManifest.js +0 -0
- /package/.next/static/{dwStWF62ISmqJRGfdJJv5 → PLVy0iTepN1xpE0hbQBjx}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/settings/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"821":{"*":{"id":"24188","name":"*","chunks":[],"async":false}},"1195":{"*":{"id":"70173","name":"*","chunks":[],"async":false}},"1245":{"*":{"id":"72325","name":"*","chunks":[],"async":false}},"1727":{"*":{"id":"43317","name":"*","chunks":[],"async":false}},"1996":{"*":{"id":"74679","name":"*","chunks":[],"async":false}},"2573":{"*":{"id":"23937","name":"*","chunks":[],"async":false}},"2897":{"*":{"id":"31193","name":"*","chunks":[],"async":false}},"3016":{"*":{"id":"36500","name":"*","chunks":[],"async":false}},"3068":{"*":{"id":"68936","name":"*","chunks":[],"async":false}},"3720":{"*":{"id":"10186","name":"*","chunks":[],"async":false}},"3779":{"*":{"id":"76941","name":"*","chunks":[],"async":false}},"3943":{"*":{"id":"51356","name":"*","chunks":[],"async":false}},"4400":{"*":{"id":"67485","name":"*","chunks":[],"async":false}},"4473":{"*":{"id":"37373","name":"*","chunks":[],"async":false}},"5017":{"*":{"id":"62753","name":"*","chunks":[],"async":false}},"5249":{"*":{"id":"28351","name":"*","chunks":[],"async":false}},"5482":{"*":{"id":"85080","name":"*","chunks":[],"async":false}},"5484":{"*":{"id":"25980","name":"*","chunks":[],"async":false}},"5921":{"*":{"id":"58874","name":"*","chunks":[],"async":false}},"6141":{"*":{"id":"46075","name":"*","chunks":[],"async":false}},"6501":{"*":{"id":"3758","name":"*","chunks":[],"async":false}},"7130":{"*":{"id":"42492","name":"*","chunks":[],"async":false}},"8344":{"*":{"id":"86095","name":"*","chunks":[],"async":false}},"8359":{"*":{"id":"96941","name":"*","chunks":[],"async":false}},"8952":{"*":{"id":"79652","name":"*","chunks":[],"async":false}},"9823":{"*":{"id":"6699","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/builtin/global-error.js":{"id":3720,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":3720,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/client-page.js":{"id":4473,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-page.js":{"id":4473,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/client-segment.js":{"id":3779,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-segment.js":{"id":3779,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":8952,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":8952,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/layout-router.js":{"id":5484,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/layout-router.js":{"id":5484,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/render-from-template-context.js":{"id":5482,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":5482,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/framework/boundary-components.js":{"id":5017,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":5017,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":3068,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":3068,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":2051,"name":"*","chunks":["177","static/chunks/app/layout-c72dccd02780d8ff.js"],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":9241,"name":"*","chunks":["177","static/chunks/app/layout-c72dccd02780d8ff.js"],"async":false},"/home/ubuntu/dev/chorus/src/app/globals.css":{"id":6315,"name":"*","chunks":["177","static/chunks/app/layout-c72dccd02780d8ff.js"],"async":false},"/home/ubuntu/dev/chorus/src/app/new/page.tsx":{"id":6141,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/onboarding/page.tsx":{"id":1996,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/personas/page.tsx":{"id":5921,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/settings/page.tsx":{"id":3943,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","662","static/chunks/app/settings/page-e2f6b190d3794681.js"],"async":false},"/home/ubuntu/dev/chorus/src/app/templates/page.tsx":{"id":3016,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/components/app-sidebar.tsx":{"id":821,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-76efbecd45d24a1a.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/mobile-top-bar.tsx":{"id":8344,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-76efbecd45d24a1a.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/openrouter-card.tsx":{"id":7130,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/components/orchestrator-card.tsx":{"id":1727,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/demo/[scenario]/page.tsx":{"id":5249,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/components/runs-table.tsx":{"id":2897,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/settings/permissions/permissions-form.tsx":{"id":4400,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/lucide-react@1.12.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.mjs":{"id":6501,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-76efbecd45d24a1a.js"],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/app-dir/link.js":{"id":2573,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-76efbecd45d24a1a.js"],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/app-dir/link.js":{"id":2573,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-76efbecd45d24a1a.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/lineage-fleet-card.tsx":{"id":9823,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-76efbecd45d24a1a.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/opencode-fleet-card.tsx":{"id":1195,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-76efbecd45d24a1a.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/openrouter-fleet-card.tsx":{"id":8359,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-76efbecd45d24a1a.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/live-run-real/index.tsx":{"id":1245,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/ubuntu/dev/chorus/src/":[],"/home/ubuntu/dev/chorus/src/app/layout":[{"inlined":false,"path":"static/css/31de2b5861a11b73.css"}],"/home/ubuntu/dev/chorus/src/app/page":[],"/home/ubuntu/dev/chorus/src/app/settings/page":[]},"rscModuleMapping":{"821":{"*":{"id":"80434","name":"*","chunks":[],"async":false}},"1195":{"*":{"id":"94335","name":"*","chunks":[],"async":false}},"1245":{"*":{"id":"73354","name":"*","chunks":[],"async":false}},"1727":{"*":{"id":"39663","name":"*","chunks":[],"async":false}},"1996":{"*":{"id":"86114","name":"*","chunks":[],"async":false}},"2573":{"*":{"id":"42711","name":"*","chunks":[],"async":false}},"2897":{"*":{"id":"55803","name":"*","chunks":[],"async":false}},"3016":{"*":{"id":"45036","name":"*","chunks":[],"async":false}},"3068":{"*":{"id":"15858","name":"*","chunks":[],"async":false}},"3720":{"*":{"id":"10312","name":"*","chunks":[],"async":false}},"3779":{"*":{"id":"56207","name":"*","chunks":[],"async":false}},"3943":{"*":{"id":"72778","name":"*","chunks":[],"async":false}},"4400":{"*":{"id":"89719","name":"*","chunks":[],"async":false}},"4473":{"*":{"id":"38883","name":"*","chunks":[],"async":false}},"5017":{"*":{"id":"90039","name":"*","chunks":[],"async":false}},"5249":{"*":{"id":"32517","name":"*","chunks":[],"async":false}},"5482":{"*":{"id":"21554","name":"*","chunks":[],"async":false}},"5484":{"*":{"id":"14374","name":"*","chunks":[],"async":false}},"5921":{"*":{"id":"32062","name":"*","chunks":[],"async":false}},"6141":{"*":{"id":"37825","name":"*","chunks":[],"async":false}},"6315":{"*":{"id":"75234","name":"*","chunks":[],"async":false}},"6501":{"*":{"id":"36135","name":"*","chunks":[],"async":false}},"7130":{"*":{"id":"22030","name":"*","chunks":[],"async":false}},"8344":{"*":{"id":"23154","name":"*","chunks":[],"async":false}},"8359":{"*":{"id":"59979","name":"*","chunks":[],"async":false}},"8952":{"*":{"id":"97314","name":"*","chunks":[],"async":false}},"9823":{"*":{"id":"92705","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/settings/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"821":{"*":{"id":"24188","name":"*","chunks":[],"async":false}},"1195":{"*":{"id":"70173","name":"*","chunks":[],"async":false}},"1245":{"*":{"id":"72325","name":"*","chunks":[],"async":false}},"1727":{"*":{"id":"43317","name":"*","chunks":[],"async":false}},"1996":{"*":{"id":"74679","name":"*","chunks":[],"async":false}},"2573":{"*":{"id":"23937","name":"*","chunks":[],"async":false}},"2897":{"*":{"id":"31193","name":"*","chunks":[],"async":false}},"3016":{"*":{"id":"36500","name":"*","chunks":[],"async":false}},"3068":{"*":{"id":"68936","name":"*","chunks":[],"async":false}},"3720":{"*":{"id":"10186","name":"*","chunks":[],"async":false}},"3779":{"*":{"id":"76941","name":"*","chunks":[],"async":false}},"3943":{"*":{"id":"51356","name":"*","chunks":[],"async":false}},"4400":{"*":{"id":"67485","name":"*","chunks":[],"async":false}},"4473":{"*":{"id":"37373","name":"*","chunks":[],"async":false}},"5017":{"*":{"id":"62753","name":"*","chunks":[],"async":false}},"5249":{"*":{"id":"28351","name":"*","chunks":[],"async":false}},"5482":{"*":{"id":"85080","name":"*","chunks":[],"async":false}},"5484":{"*":{"id":"25980","name":"*","chunks":[],"async":false}},"5921":{"*":{"id":"58874","name":"*","chunks":[],"async":false}},"6141":{"*":{"id":"46075","name":"*","chunks":[],"async":false}},"6501":{"*":{"id":"3758","name":"*","chunks":[],"async":false}},"7130":{"*":{"id":"42492","name":"*","chunks":[],"async":false}},"8344":{"*":{"id":"86095","name":"*","chunks":[],"async":false}},"8359":{"*":{"id":"96941","name":"*","chunks":[],"async":false}},"8952":{"*":{"id":"79652","name":"*","chunks":[],"async":false}},"9823":{"*":{"id":"6699","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/builtin/global-error.js":{"id":3720,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":3720,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/client-page.js":{"id":4473,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-page.js":{"id":4473,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/client-segment.js":{"id":3779,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-segment.js":{"id":3779,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":8952,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":8952,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/layout-router.js":{"id":5484,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/layout-router.js":{"id":5484,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/render-from-template-context.js":{"id":5482,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":5482,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/framework/boundary-components.js":{"id":5017,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":5017,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":3068,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":3068,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":2051,"name":"*","chunks":["177","static/chunks/app/layout-c72dccd02780d8ff.js"],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":9241,"name":"*","chunks":["177","static/chunks/app/layout-c72dccd02780d8ff.js"],"async":false},"/home/ubuntu/dev/chorus/src/app/globals.css":{"id":6315,"name":"*","chunks":["177","static/chunks/app/layout-c72dccd02780d8ff.js"],"async":false},"/home/ubuntu/dev/chorus/src/app/new/page.tsx":{"id":6141,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/onboarding/page.tsx":{"id":1996,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/personas/page.tsx":{"id":5921,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/settings/page.tsx":{"id":3943,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","662","static/chunks/app/settings/page-e2f6b190d3794681.js"],"async":false},"/home/ubuntu/dev/chorus/src/app/templates/page.tsx":{"id":3016,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/demo/[scenario]/page.tsx":{"id":5249,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/components/app-sidebar.tsx":{"id":821,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-4bbcd06414430038.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/mobile-top-bar.tsx":{"id":8344,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-4bbcd06414430038.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/openrouter-card.tsx":{"id":7130,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/components/orchestrator-card.tsx":{"id":1727,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/components/runs-table.tsx":{"id":2897,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/settings/permissions/permissions-form.tsx":{"id":4400,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/lucide-react@1.12.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.mjs":{"id":6501,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-4bbcd06414430038.js"],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/app-dir/link.js":{"id":2573,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-4bbcd06414430038.js"],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/app-dir/link.js":{"id":2573,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-4bbcd06414430038.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/lineage-fleet-card.tsx":{"id":9823,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-4bbcd06414430038.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/opencode-fleet-card.tsx":{"id":1195,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-4bbcd06414430038.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/openrouter-fleet-card.tsx":{"id":8359,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-4bbcd06414430038.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/live-run-real/index.tsx":{"id":1245,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/ubuntu/dev/chorus/src/":[],"/home/ubuntu/dev/chorus/src/app/layout":[{"inlined":false,"path":"static/css/b914f2b25cf933a9.css"}],"/home/ubuntu/dev/chorus/src/app/page":[],"/home/ubuntu/dev/chorus/src/app/settings/page":[]},"rscModuleMapping":{"821":{"*":{"id":"80434","name":"*","chunks":[],"async":false}},"1195":{"*":{"id":"94335","name":"*","chunks":[],"async":false}},"1245":{"*":{"id":"73354","name":"*","chunks":[],"async":false}},"1727":{"*":{"id":"39663","name":"*","chunks":[],"async":false}},"1996":{"*":{"id":"86114","name":"*","chunks":[],"async":false}},"2573":{"*":{"id":"42711","name":"*","chunks":[],"async":false}},"2897":{"*":{"id":"55803","name":"*","chunks":[],"async":false}},"3016":{"*":{"id":"45036","name":"*","chunks":[],"async":false}},"3068":{"*":{"id":"15858","name":"*","chunks":[],"async":false}},"3720":{"*":{"id":"10312","name":"*","chunks":[],"async":false}},"3779":{"*":{"id":"56207","name":"*","chunks":[],"async":false}},"3943":{"*":{"id":"72778","name":"*","chunks":[],"async":false}},"4400":{"*":{"id":"89719","name":"*","chunks":[],"async":false}},"4473":{"*":{"id":"38883","name":"*","chunks":[],"async":false}},"5017":{"*":{"id":"90039","name":"*","chunks":[],"async":false}},"5249":{"*":{"id":"32517","name":"*","chunks":[],"async":false}},"5482":{"*":{"id":"21554","name":"*","chunks":[],"async":false}},"5484":{"*":{"id":"14374","name":"*","chunks":[],"async":false}},"5921":{"*":{"id":"32062","name":"*","chunks":[],"async":false}},"6141":{"*":{"id":"37825","name":"*","chunks":[],"async":false}},"6315":{"*":{"id":"75234","name":"*","chunks":[],"async":false}},"6501":{"*":{"id":"36135","name":"*","chunks":[],"async":false}},"7130":{"*":{"id":"22030","name":"*","chunks":[],"async":false}},"8344":{"*":{"id":"23154","name":"*","chunks":[],"async":false}},"8359":{"*":{"id":"59979","name":"*","chunks":[],"async":false}},"8952":{"*":{"id":"97314","name":"*","chunks":[],"async":false}},"9823":{"*":{"id":"92705","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/settings/permissions/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"821":{"*":{"id":"24188","name":"*","chunks":[],"async":false}},"1195":{"*":{"id":"70173","name":"*","chunks":[],"async":false}},"1245":{"*":{"id":"72325","name":"*","chunks":[],"async":false}},"1727":{"*":{"id":"43317","name":"*","chunks":[],"async":false}},"1996":{"*":{"id":"74679","name":"*","chunks":[],"async":false}},"2573":{"*":{"id":"23937","name":"*","chunks":[],"async":false}},"2897":{"*":{"id":"31193","name":"*","chunks":[],"async":false}},"3016":{"*":{"id":"36500","name":"*","chunks":[],"async":false}},"3068":{"*":{"id":"68936","name":"*","chunks":[],"async":false}},"3720":{"*":{"id":"10186","name":"*","chunks":[],"async":false}},"3779":{"*":{"id":"76941","name":"*","chunks":[],"async":false}},"3943":{"*":{"id":"51356","name":"*","chunks":[],"async":false}},"4400":{"*":{"id":"67485","name":"*","chunks":[],"async":false}},"4473":{"*":{"id":"37373","name":"*","chunks":[],"async":false}},"5017":{"*":{"id":"62753","name":"*","chunks":[],"async":false}},"5249":{"*":{"id":"28351","name":"*","chunks":[],"async":false}},"5482":{"*":{"id":"85080","name":"*","chunks":[],"async":false}},"5484":{"*":{"id":"25980","name":"*","chunks":[],"async":false}},"5921":{"*":{"id":"58874","name":"*","chunks":[],"async":false}},"6141":{"*":{"id":"46075","name":"*","chunks":[],"async":false}},"6501":{"*":{"id":"3758","name":"*","chunks":[],"async":false}},"7130":{"*":{"id":"42492","name":"*","chunks":[],"async":false}},"8344":{"*":{"id":"86095","name":"*","chunks":[],"async":false}},"8359":{"*":{"id":"96941","name":"*","chunks":[],"async":false}},"8952":{"*":{"id":"79652","name":"*","chunks":[],"async":false}},"9823":{"*":{"id":"6699","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/builtin/global-error.js":{"id":3720,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":3720,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/client-page.js":{"id":4473,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-page.js":{"id":4473,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/client-segment.js":{"id":3779,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-segment.js":{"id":3779,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":8952,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":8952,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/layout-router.js":{"id":5484,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/layout-router.js":{"id":5484,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/render-from-template-context.js":{"id":5482,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":5482,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/framework/boundary-components.js":{"id":5017,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":5017,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":3068,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":3068,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":2051,"name":"*","chunks":["177","static/chunks/app/layout-c72dccd02780d8ff.js"],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":9241,"name":"*","chunks":["177","static/chunks/app/layout-c72dccd02780d8ff.js"],"async":false},"/home/ubuntu/dev/chorus/src/app/globals.css":{"id":6315,"name":"*","chunks":["177","static/chunks/app/layout-c72dccd02780d8ff.js"],"async":false},"/home/ubuntu/dev/chorus/src/app/new/page.tsx":{"id":6141,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/onboarding/page.tsx":{"id":1996,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/personas/page.tsx":{"id":5921,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/settings/page.tsx":{"id":3943,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","662","static/chunks/app/settings/page-e2f6b190d3794681.js"],"async":false},"/home/ubuntu/dev/chorus/src/app/templates/page.tsx":{"id":3016,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/components/app-sidebar.tsx":{"id":821,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","873","static/chunks/app/settings/permissions/page-1315296235b0994f.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/mobile-top-bar.tsx":{"id":8344,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","873","static/chunks/app/settings/permissions/page-1315296235b0994f.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/openrouter-card.tsx":{"id":7130,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/components/orchestrator-card.tsx":{"id":1727,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/demo/[scenario]/page.tsx":{"id":5249,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/components/runs-table.tsx":{"id":2897,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/settings/permissions/permissions-form.tsx":{"id":4400,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","873","static/chunks/app/settings/permissions/page-1315296235b0994f.js"],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/lucide-react@1.12.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.mjs":{"id":6501,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-76efbecd45d24a1a.js"],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/app-dir/link.js":{"id":2573,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-76efbecd45d24a1a.js"],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/app-dir/link.js":{"id":2573,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-76efbecd45d24a1a.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/lineage-fleet-card.tsx":{"id":9823,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-76efbecd45d24a1a.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/opencode-fleet-card.tsx":{"id":1195,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-76efbecd45d24a1a.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/openrouter-fleet-card.tsx":{"id":8359,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-7e3f4fc19494c5dc.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-76efbecd45d24a1a.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/live-run-real/index.tsx":{"id":1245,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/ubuntu/dev/chorus/src/":[],"/home/ubuntu/dev/chorus/src/app/layout":[{"inlined":false,"path":"static/css/31de2b5861a11b73.css"}],"/home/ubuntu/dev/chorus/src/app/page":[],"/home/ubuntu/dev/chorus/src/app/settings/page":[],"/home/ubuntu/dev/chorus/src/app/settings/permissions/page":[]},"rscModuleMapping":{"821":{"*":{"id":"80434","name":"*","chunks":[],"async":false}},"1195":{"*":{"id":"94335","name":"*","chunks":[],"async":false}},"1245":{"*":{"id":"73354","name":"*","chunks":[],"async":false}},"1727":{"*":{"id":"39663","name":"*","chunks":[],"async":false}},"1996":{"*":{"id":"86114","name":"*","chunks":[],"async":false}},"2573":{"*":{"id":"42711","name":"*","chunks":[],"async":false}},"2897":{"*":{"id":"55803","name":"*","chunks":[],"async":false}},"3016":{"*":{"id":"45036","name":"*","chunks":[],"async":false}},"3068":{"*":{"id":"15858","name":"*","chunks":[],"async":false}},"3720":{"*":{"id":"10312","name":"*","chunks":[],"async":false}},"3779":{"*":{"id":"56207","name":"*","chunks":[],"async":false}},"3943":{"*":{"id":"72778","name":"*","chunks":[],"async":false}},"4400":{"*":{"id":"89719","name":"*","chunks":[],"async":false}},"4473":{"*":{"id":"38883","name":"*","chunks":[],"async":false}},"5017":{"*":{"id":"90039","name":"*","chunks":[],"async":false}},"5249":{"*":{"id":"32517","name":"*","chunks":[],"async":false}},"5482":{"*":{"id":"21554","name":"*","chunks":[],"async":false}},"5484":{"*":{"id":"14374","name":"*","chunks":[],"async":false}},"5921":{"*":{"id":"32062","name":"*","chunks":[],"async":false}},"6141":{"*":{"id":"37825","name":"*","chunks":[],"async":false}},"6315":{"*":{"id":"75234","name":"*","chunks":[],"async":false}},"6501":{"*":{"id":"36135","name":"*","chunks":[],"async":false}},"7130":{"*":{"id":"22030","name":"*","chunks":[],"async":false}},"8344":{"*":{"id":"23154","name":"*","chunks":[],"async":false}},"8359":{"*":{"id":"59979","name":"*","chunks":[],"async":false}},"8952":{"*":{"id":"97314","name":"*","chunks":[],"async":false}},"9823":{"*":{"id":"92705","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/settings/permissions/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"821":{"*":{"id":"24188","name":"*","chunks":[],"async":false}},"1195":{"*":{"id":"70173","name":"*","chunks":[],"async":false}},"1245":{"*":{"id":"72325","name":"*","chunks":[],"async":false}},"1727":{"*":{"id":"43317","name":"*","chunks":[],"async":false}},"1996":{"*":{"id":"74679","name":"*","chunks":[],"async":false}},"2573":{"*":{"id":"23937","name":"*","chunks":[],"async":false}},"2897":{"*":{"id":"31193","name":"*","chunks":[],"async":false}},"3016":{"*":{"id":"36500","name":"*","chunks":[],"async":false}},"3068":{"*":{"id":"68936","name":"*","chunks":[],"async":false}},"3720":{"*":{"id":"10186","name":"*","chunks":[],"async":false}},"3779":{"*":{"id":"76941","name":"*","chunks":[],"async":false}},"3943":{"*":{"id":"51356","name":"*","chunks":[],"async":false}},"4400":{"*":{"id":"67485","name":"*","chunks":[],"async":false}},"4473":{"*":{"id":"37373","name":"*","chunks":[],"async":false}},"5017":{"*":{"id":"62753","name":"*","chunks":[],"async":false}},"5249":{"*":{"id":"28351","name":"*","chunks":[],"async":false}},"5482":{"*":{"id":"85080","name":"*","chunks":[],"async":false}},"5484":{"*":{"id":"25980","name":"*","chunks":[],"async":false}},"5921":{"*":{"id":"58874","name":"*","chunks":[],"async":false}},"6141":{"*":{"id":"46075","name":"*","chunks":[],"async":false}},"6501":{"*":{"id":"3758","name":"*","chunks":[],"async":false}},"7130":{"*":{"id":"42492","name":"*","chunks":[],"async":false}},"8344":{"*":{"id":"86095","name":"*","chunks":[],"async":false}},"8359":{"*":{"id":"96941","name":"*","chunks":[],"async":false}},"8952":{"*":{"id":"79652","name":"*","chunks":[],"async":false}},"9823":{"*":{"id":"6699","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/builtin/global-error.js":{"id":3720,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":3720,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/client-page.js":{"id":4473,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-page.js":{"id":4473,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/client-segment.js":{"id":3779,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-segment.js":{"id":3779,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":8952,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":8952,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/layout-router.js":{"id":5484,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/layout-router.js":{"id":5484,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/render-from-template-context.js":{"id":5482,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":5482,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/framework/boundary-components.js":{"id":5017,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":5017,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":3068,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":3068,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":2051,"name":"*","chunks":["177","static/chunks/app/layout-c72dccd02780d8ff.js"],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":9241,"name":"*","chunks":["177","static/chunks/app/layout-c72dccd02780d8ff.js"],"async":false},"/home/ubuntu/dev/chorus/src/app/globals.css":{"id":6315,"name":"*","chunks":["177","static/chunks/app/layout-c72dccd02780d8ff.js"],"async":false},"/home/ubuntu/dev/chorus/src/app/new/page.tsx":{"id":6141,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/onboarding/page.tsx":{"id":1996,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/personas/page.tsx":{"id":5921,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/settings/page.tsx":{"id":3943,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","662","static/chunks/app/settings/page-e2f6b190d3794681.js"],"async":false},"/home/ubuntu/dev/chorus/src/app/templates/page.tsx":{"id":3016,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/demo/[scenario]/page.tsx":{"id":5249,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/components/app-sidebar.tsx":{"id":821,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","873","static/chunks/app/settings/permissions/page-1315296235b0994f.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/mobile-top-bar.tsx":{"id":8344,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","873","static/chunks/app/settings/permissions/page-1315296235b0994f.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/openrouter-card.tsx":{"id":7130,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/components/orchestrator-card.tsx":{"id":1727,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/components/runs-table.tsx":{"id":2897,"name":"*","chunks":[],"async":false},"/home/ubuntu/dev/chorus/src/app/settings/permissions/permissions-form.tsx":{"id":4400,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","873","static/chunks/app/settings/permissions/page-1315296235b0994f.js"],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/lucide-react@1.12.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.mjs":{"id":6501,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-4bbcd06414430038.js"],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/app-dir/link.js":{"id":2573,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-4bbcd06414430038.js"],"async":false},"/home/ubuntu/dev/chorus/node_modules/.pnpm/next@16.2.4_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/app-dir/link.js":{"id":2573,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-4bbcd06414430038.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/lineage-fleet-card.tsx":{"id":9823,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-4bbcd06414430038.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/opencode-fleet-card.tsx":{"id":1195,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-4bbcd06414430038.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/openrouter-fleet-card.tsx":{"id":8359,"name":"*","chunks":["742","static/chunks/742-e466c37ab445a8a1.js","832","static/chunks/832-18bf24783a3a5332.js","641","static/chunks/641-3e7b9575770aa968.js","344","static/chunks/344-17db55a402a0742b.js","974","static/chunks/app/page-4bbcd06414430038.js"],"async":false},"/home/ubuntu/dev/chorus/src/components/live-run-real/index.tsx":{"id":1245,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/ubuntu/dev/chorus/src/":[],"/home/ubuntu/dev/chorus/src/app/layout":[{"inlined":false,"path":"static/css/b914f2b25cf933a9.css"}],"/home/ubuntu/dev/chorus/src/app/page":[],"/home/ubuntu/dev/chorus/src/app/settings/page":[],"/home/ubuntu/dev/chorus/src/app/settings/permissions/page":[]},"rscModuleMapping":{"821":{"*":{"id":"80434","name":"*","chunks":[],"async":false}},"1195":{"*":{"id":"94335","name":"*","chunks":[],"async":false}},"1245":{"*":{"id":"73354","name":"*","chunks":[],"async":false}},"1727":{"*":{"id":"39663","name":"*","chunks":[],"async":false}},"1996":{"*":{"id":"86114","name":"*","chunks":[],"async":false}},"2573":{"*":{"id":"42711","name":"*","chunks":[],"async":false}},"2897":{"*":{"id":"55803","name":"*","chunks":[],"async":false}},"3016":{"*":{"id":"45036","name":"*","chunks":[],"async":false}},"3068":{"*":{"id":"15858","name":"*","chunks":[],"async":false}},"3720":{"*":{"id":"10312","name":"*","chunks":[],"async":false}},"3779":{"*":{"id":"56207","name":"*","chunks":[],"async":false}},"3943":{"*":{"id":"72778","name":"*","chunks":[],"async":false}},"4400":{"*":{"id":"89719","name":"*","chunks":[],"async":false}},"4473":{"*":{"id":"38883","name":"*","chunks":[],"async":false}},"5017":{"*":{"id":"90039","name":"*","chunks":[],"async":false}},"5249":{"*":{"id":"32517","name":"*","chunks":[],"async":false}},"5482":{"*":{"id":"21554","name":"*","chunks":[],"async":false}},"5484":{"*":{"id":"14374","name":"*","chunks":[],"async":false}},"5921":{"*":{"id":"32062","name":"*","chunks":[],"async":false}},"6141":{"*":{"id":"37825","name":"*","chunks":[],"async":false}},"6315":{"*":{"id":"75234","name":"*","chunks":[],"async":false}},"6501":{"*":{"id":"36135","name":"*","chunks":[],"async":false}},"7130":{"*":{"id":"22030","name":"*","chunks":[],"async":false}},"8344":{"*":{"id":"23154","name":"*","chunks":[],"async":false}},"8359":{"*":{"id":"59979","name":"*","chunks":[],"async":false}},"8952":{"*":{"id":"97314","name":"*","chunks":[],"async":false}},"9823":{"*":{"id":"92705","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" class="dark __variable_246ccd __variable_4c40f6 h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/f5271587012faf78-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/31de2b5861a11b73.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-87142ab87b87c8fb.js"/><script src="/_next/static/chunks/ed64ccb0-b7d2b5246d18ca7e.js" async=""></script><script src="/_next/static/chunks/128-a5d059bf5b2e5090.js" async=""></script><script src="/_next/static/chunks/main-app-e9f7985e32dc8a63.js" async=""></script><script src="/_next/static/chunks/742-e466c37ab445a8a1.js" async=""></script><script src="/_next/static/chunks/832-18bf24783a3a5332.js" async=""></script><script src="/_next/static/chunks/641-7e3f4fc19494c5dc.js" async=""></script><script src="/_next/static/chunks/344-17db55a402a0742b.js" async=""></script><script src="/_next/static/chunks/app/settings/page-e2f6b190d3794681.js" async=""></script><meta name="next-size-adjust" content=""/><title>Chorus — many voices, one chorus</title><meta name="description" content="The polished orchestrator over your AI fleet. Paste a task. Pick a template. Watch multiple LLMs reach consensus."/><link rel="icon" href="/favicon.ico?b67a357858af4169" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/icon.svg?79b94d624cb60ac1" type="image/svg+xml" sizes="any"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-full flex flex-col bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-screen overflow-hidden bg-background text-foreground"><aside class="hidden h-screen shrink-0 flex-col border-r border-border bg-card/30 transition-[width] duration-200 ease-out md:flex w-60"><div class="flex h-full flex-col"><div class="flex h-14 items-center gap-2 border-b border-border px-3"><div class="grid h-7 w-7 shrink-0 place-items-center rounded-md bg-primary/15 text-primary"><svg viewBox="0 0 32 32" aria-hidden="true" class="h-[18px] w-[18px]" fill="currentColor"><circle cx="11" cy="20" r="3.2" fill-opacity="0.55"></circle><circle cx="21" cy="20" r="3.2" fill-opacity="0.55"></circle><circle cx="16" cy="11" r="3.2"></circle></svg></div><span class="text-sm font-semibold tracking-tight">Chorus</span><span class="ml-auto rounded-md border border-border px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground">—</span><button type="button" aria-label="Collapse sidebar" class="rounded p-1 text-muted-foreground transition hover:bg-accent hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close h-3.5 w-3.5" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div><nav class="py-3 px-2"><ul class="flex flex-col gap-0.5"><li><a class="flex items-center rounded-md text-sm transition-colors gap-2 px-2 py-1.5 text-muted-foreground hover:bg-accent/50 hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard h-4 w-4 shrink-0" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span>Home</span></a></li><li><a class="flex items-center rounded-md text-sm transition-colors gap-2 px-2 py-1.5 text-muted-foreground hover:bg-accent/50 hover:text-foreground" href="/runs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list-checks h-4 w-4 shrink-0" aria-hidden="true"><path d="M13 5h8"></path><path d="M13 12h8"></path><path d="M13 19h8"></path><path d="m3 17 2 2 4-4"></path><path d="m3 7 2 2 4-4"></path></svg><span>Runs</span></a></li><li><a class="flex items-center rounded-md text-sm transition-colors gap-2 px-2 py-1.5 text-muted-foreground hover:bg-accent/50 hover:text-foreground" href="/templates"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers h-4 w-4 shrink-0" aria-hidden="true"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg><span>Templates</span></a></li><li><a class="flex items-center rounded-md text-sm transition-colors gap-2 px-2 py-1.5 text-muted-foreground hover:bg-accent/50 hover:text-foreground" href="/personas"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users h-4 w-4 shrink-0" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span>Personas</span></a></li><li><a class="flex items-center rounded-md text-sm transition-colors gap-2 px-2 py-1.5 text-muted-foreground hover:bg-accent/50 hover:text-foreground" href="/connect"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plug h-4 w-4 shrink-0" aria-hidden="true"><path d="M12 22v-5"></path><path d="M15 8V2"></path><path d="M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z"></path><path d="M9 8V2"></path></svg><span>Connect</span></a></li><li><a class="flex items-center rounded-md text-sm transition-colors gap-2 px-2 py-1.5 bg-accent text-foreground" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4 shrink-0" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg><span>Settings</span></a></li></ul></nav><div class="flex min-h-0 flex-1 flex-col border-t border-border"><div class="flex shrink-0 flex-col gap-2 bg-card/40 px-3 py-3"><a aria-label="New chat" class="inline-flex h-8 w-full items-center justify-center gap-1.5 rounded-md bg-primary px-2.5 text-xs font-medium text-primary-foreground transition hover:bg-primary/90" href="/new"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus h-3.5 w-3.5" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg><span>New chat</span></a><div class="mt-1 px-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground">Recent</div></div><nav class="min-h-0 flex-1 overflow-y-auto px-2 py-2"><div class="px-2 py-4 text-xs text-muted-foreground">Loading…</div></nav></div></div></aside><div class="flex flex-1 flex-col overflow-hidden"><header class="flex h-12 items-center border-b border-border bg-background/60 px-3 backdrop-blur md:hidden"><button type="button" aria-label="Open navigation" class="-ml-1 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-md text-muted-foreground transition hover:bg-accent hover:text-foreground md:hidden" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-_R_35fivb_" data-state="closed" data-slot="sheet-trigger"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-5 w-5" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button></header><main class="flex-1 overflow-y-auto"><div class="mx-auto w-full max-w-6xl px-4 py-6 sm:px-6 sm:py-8 md:px-8 md:py-10"><header class="mb-6 flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between"><div class="min-w-0"><p class="text-xs uppercase tracking-wider text-muted-foreground">Settings</p><h1 class="mt-1 text-2xl font-semibold tracking-tight">Workspace</h1><p class="mt-2 max-w-2xl text-sm leading-relaxed text-muted-foreground">Defaults applied to every chat. Templates can override these per-run. The MCP server can read & patch this config — your main Claude can configure Chorus for you.</p></div><div class="shrink-0 self-start sm:self-auto"><div class="flex rounded-md border border-border bg-card p-0.5"><button type="button" class="flex items-center gap-1.5 rounded-sm px-3 py-1.5 text-xs font-medium transition bg-primary/15 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wrench h-3.5 w-3.5" aria-hidden="true"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"></path></svg>Form</button><button type="button" class="flex items-center gap-1.5 rounded-sm px-3 py-1.5 text-xs font-medium transition text-muted-foreground hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml h-3.5 w-3.5" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg>YAML</button></div></div></header><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield h-4 w-4" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Sandbox & first-call permissions</h2><p class="mt-0.5 text-xs text-muted-foreground">What can chorus-spawned reviewers do on this machine? Pick a profile, toggle prompt auto-approval, choose whether to allow outbound network.</p></div></div><a href="/settings/permissions" class="inline-flex items-center gap-2 rounded-md border border-primary/40 bg-primary/5 px-3 py-2 text-sm font-medium text-primary transition hover:bg-primary/10">Open Permissions page<span aria-hidden="true">→</span></a></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5" id="transport"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal h-4 w-4" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Run mode (headless / tmux)</h2><p class="mt-0.5 text-xs text-muted-foreground">How chorus runs each CLI. Default is headless (faster, lower RAM). Switch to tmux if you want to attach to a live voice and take over mid-run (debug + handoff).</p></div></div><div class="grid gap-2 sm:grid-cols-2"><button type="button" disabled="" class="flex flex-col gap-1 rounded-lg border p-3 text-left transition border-border bg-card hover:border-muted-foreground/30 "><div class="flex items-center justify-between"><span class="text-sm font-medium">Headless</span></div><p class="text-xs leading-relaxed text-muted-foreground">Subprocess per call. Lower RAM, faster cold start, no permission dialogs.</p></button><button type="button" disabled="" class="flex flex-col gap-1 rounded-lg border p-3 text-left transition border-border bg-card hover:border-muted-foreground/30 "><div class="flex items-center justify-between"><span class="text-sm font-medium">Tmux</span></div><p class="text-xs leading-relaxed text-muted-foreground">Persistent terminal sessions you can attach to for visual debug.</p></button></div><p class="mt-3 text-[11px] text-muted-foreground">Tip: set <code class="rounded bg-muted px-1">CHORUS_TRANSPORT=tmux</code> in your environment to override per-shell without changing this setting.</p></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5" id="concurrency"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Concurrency</h2><p class="mt-0.5 text-xs text-muted-foreground">Max parallel CLI subprocesses across all chats. Caps memory pressure when stacking heavyweight reviewers.</p></div></div><div class="text-xs text-muted-foreground">Loading…</div></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-credit-card h-4 w-4" aria-hidden="true"><rect width="20" height="14" x="2" y="5" rx="2"></rect><line x1="2" x2="22" y1="10" y2="10"></line></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Billing mode</h2><p class="mt-0.5 text-xs text-muted-foreground">How you pay for the AI CLIs chorus drives. Affects what the cost preview shows on the new-chat page — defaults to API rates so the number stays honest until you tell us otherwise.</p></div></div><div class="grid gap-2"><button type="button" disabled="" class="flex flex-col gap-1 rounded-lg border p-3 text-left transition border-border bg-card hover:border-muted-foreground/30 "><div class="flex items-center justify-between"><span class="text-sm font-medium">api</span></div><p class="text-xs leading-relaxed text-muted-foreground"></p></button><button type="button" disabled="" class="flex flex-col gap-1 rounded-lg border p-3 text-left transition border-border bg-card hover:border-muted-foreground/30 "><div class="flex items-center justify-between"><span class="text-sm font-medium">subscription</span></div><p class="text-xs leading-relaxed text-muted-foreground"></p></button><button type="button" disabled="" class="flex flex-col gap-1 rounded-lg border p-3 text-left transition border-border bg-card hover:border-muted-foreground/30 "><div class="flex items-center justify-between"><span class="text-sm font-medium">mixed</span></div><p class="text-xs leading-relaxed text-muted-foreground"></p></button></div></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-4 w-4" aria-hidden="true"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Anonymous telemetry</h2><p class="mt-0.5 text-xs text-muted-foreground">A small heartbeat sent to chorus.codes once per boot + every 24h. Helps us see what versions / OSes are in the wild. No code, no prompts, no chat content.</p></div></div><div class="rounded-lg border border-border bg-card p-3"><label class="flex items-start gap-3"><input type="checkbox" disabled="" class="mt-1 h-4 w-4 cursor-pointer accent-primary disabled:cursor-not-allowed"/><span class="flex-1"><span class="block text-sm font-medium">Send anonymous heartbeat</span><span class="mt-1 block text-xs leading-relaxed text-muted-foreground">Sends: install UUID, chorus version, OS, arch, node major, daemon uptime, count of chats in the last 24h. That's it.</span></span></label></div><details class="mt-3 text-xs text-muted-foreground"><summary class="cursor-pointer hover:text-foreground">Other ways to opt out</summary><ul class="mt-2 list-inside list-disc space-y-1 leading-relaxed"><li>Set <code class="rounded bg-muted px-1">CHORUS_TELEMETRY=0</code> <!-- -->in your shell — also accepts <code>false</code>, <code>no</code>,<!-- --> <code>off</code>.</li><li><code class="rounded bg-muted px-1">touch ~/.chorus/no-telemetry</code> <!-- -->(cargo / brew convention).</li><li>Reset your install ID:<!-- --> <code class="rounded bg-muted px-1">rm ~/.chorus/install-id</code> <!-- -->— a fresh UUID is minted on the next heartbeat.</li></ul></details></div><div class="mt-12 flex items-start gap-2 rounded-lg border border-amber-500/40 bg-amber-500/10 px-4 py-3 text-sm text-amber-100" role="note"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mt-0.5 h-4 w-4 shrink-0 text-amber-400" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><div><p class="font-semibold">Coming in v0.8 — preview only</p><p class="mt-1 text-xs leading-relaxed text-amber-100/80">The sections below show planned controls. They're not wired to the daemon yet — interaction is disabled. The YAML toggle at the top of the page already exposes the schema if you're curious.</p></div></div><div class="mt-2 select-none opacity-60 [&_*]:pointer-events-none" aria-disabled="true"><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-lock h-4 w-4" aria-hidden="true"><rect width="8" height="5" x="14" y="17" rx="1"></rect><path d="M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5"></path><path d="M20 17v-2a2 2 0 1 0-4 0v2"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Per-tool auto-approve</h2><p class="mt-0.5 text-xs text-muted-foreground">Drivers write code; reviewers don't. Defaults reflect that. Click any chip to cycle auto / ask / block.</p></div></div><div class="grid grid-cols-[1fr_120px_120px] gap-3 border-b border-border pb-2 text-[10px] font-medium uppercase tracking-wider text-muted-foreground"><span>Tool</span><span class="flex items-center justify-end gap-1.5"><span class="h-1.5 w-1.5 rounded-full bg-amber-400"></span>Driver</span><span class="flex items-center justify-end gap-1.5"><span class="h-1.5 w-1.5 rounded-full bg-blue-400"></span>Reviewer</span></div><div class="mt-1 divide-y divide-border opacity-70"><div class="grid grid-cols-[1fr_120px_120px] items-center gap-3 py-2.5"><div class="flex flex-col"><span class="text-sm text-foreground">Read files</span><span class="text-[11px] text-muted-foreground">cat, less, head, file open</span></div><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-emerald-500/15 text-emerald-300 border-emerald-500/30" title="driver: cycle policy">auto</button><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-emerald-500/15 text-emerald-300 border-emerald-500/30" title="reviewer: cycle policy">auto</button></div><div class="grid grid-cols-[1fr_120px_120px] items-center gap-3 py-2.5"><div class="flex flex-col"><span class="text-sm text-foreground">List & search</span><span class="text-[11px] text-muted-foreground">ls, grep, find, ripgrep</span></div><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-emerald-500/15 text-emerald-300 border-emerald-500/30" title="driver: cycle policy">auto</button><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-emerald-500/15 text-emerald-300 border-emerald-500/30" title="reviewer: cycle policy">auto</button></div><div class="grid grid-cols-[1fr_120px_120px] items-center gap-3 py-2.5"><div class="flex flex-col"><span class="text-sm text-foreground">Write files</span><span class="text-[11px] text-muted-foreground">Edit, Write inside allowed dirs</span></div><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-amber-500/15 text-amber-300 border-amber-500/30" title="driver: cycle policy">ask</button><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-rose-500/15 text-rose-300 border-rose-500/30" title="reviewer: cycle policy">block</button></div><div class="grid grid-cols-[1fr_120px_120px] items-center gap-3 py-2.5"><div class="flex flex-col"><span class="text-sm text-foreground">Run commands</span><span class="text-[11px] text-muted-foreground">Bash, npm, pnpm, python, go</span></div><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-amber-500/15 text-amber-300 border-amber-500/30" title="driver: cycle policy">ask</button><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-amber-500/15 text-amber-300 border-amber-500/30" title="reviewer: cycle policy">ask</button></div><div class="grid grid-cols-[1fr_120px_120px] items-center gap-3 py-2.5"><div class="flex flex-col"><span class="text-sm text-foreground">Network access</span><span class="text-[11px] text-muted-foreground">curl, fetch, package install</span></div><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-amber-500/15 text-amber-300 border-amber-500/30" title="driver: cycle policy">ask</button><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-amber-500/15 text-amber-300 border-amber-500/30" title="reviewer: cycle policy">ask</button></div><div class="grid grid-cols-[1fr_120px_120px] items-center gap-3 py-2.5"><div class="flex flex-col"><span class="text-sm text-foreground">Writes outside working dir</span><span class="text-[11px] text-muted-foreground">Anything outside the allowed paths below</span></div><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-rose-500/15 text-rose-300 border-rose-500/30" title="driver: cycle policy">block</button><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-rose-500/15 text-rose-300 border-rose-500/30" title="reviewer: cycle policy">block</button></div></div><p class="mt-3 flex items-start gap-2 rounded-md border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-xs text-amber-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-triangle-alert mt-0.5 h-3.5 w-3.5 shrink-0 text-amber-400" aria-hidden="true"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path></svg><span><span class="font-semibold">When wired:</span> <code class="rounded bg-amber-400/10 px-1 font-mono text-amber-200">ask</code> <!-- -->prompts will appear as cards in the chat — you click<!-- --> <span class="font-semibold">Approve</span> /<!-- --> <span class="font-semibold">Deny</span> instead of the agent stalling.</span></p></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-lock h-4 w-4" aria-hidden="true"><rect width="8" height="5" x="14" y="17" rx="1"></rect><path d="M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5"></path><path d="M20 17v-2a2 2 0 1 0-4 0v2"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Working directories</h2><p class="mt-0.5 text-xs text-muted-foreground">Each tmux session is started inside one of these paths. Writes outside are blocked.</p></div></div><div class="flex flex-wrap gap-2"><span class="group inline-flex items-center gap-1.5 rounded-md border border-border bg-card px-2.5 py-1 font-mono text-[11px] text-foreground">~/dev<button type="button" class="text-muted-foreground/50 transition hover:text-rose-400" aria-label="Remove ~/dev"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x h-3 w-3" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></span><span class="group inline-flex items-center gap-1.5 rounded-md border border-border bg-card px-2.5 py-1 font-mono text-[11px] text-foreground">~/work<button type="button" class="text-muted-foreground/50 transition hover:text-rose-400" aria-label="Remove ~/work"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x h-3 w-3" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></span><span class="group inline-flex items-center gap-1.5 rounded-md border border-border bg-card px-2.5 py-1 font-mono text-[11px] text-foreground">/tmp/chorus-sandbox<button type="button" class="text-muted-foreground/50 transition hover:text-rose-400" aria-label="Remove /tmp/chorus-sandbox"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x h-3 w-3" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></span></div><div class="mt-3 flex gap-2"><input type="text" placeholder="~/code/another-project" class="flex-1 rounded-md border border-border bg-card px-3 py-1.5 font-mono text-xs text-foreground placeholder:text-muted-foreground/60 focus:border-foreground/30 focus:outline-none" value=""/><button type="button" class="flex items-center gap-1.5 rounded-md bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground transition hover:bg-primary/90"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus h-3.5 w-3.5" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>Add path</button></div></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sliders-vertical h-4 w-4" aria-hidden="true"><path d="M10 8h4"></path><path d="M12 21v-9"></path><path d="M12 8V3"></path><path d="M17 16h4"></path><path d="M19 12V3"></path><path d="M19 21v-5"></path><path d="M3 14h4"></path><path d="M5 10V3"></path><path d="M5 21v-7"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Template defaults</h2><p class="mt-0.5 text-xs text-muted-foreground">Applied to new templates and one-off chats. Per-template values override these.</p></div></div><div class="grid gap-4 sm:grid-cols-2"><div><label class="mb-1.5 block text-[11px] font-medium uppercase tracking-wider text-muted-foreground">Default driver</label><select class="w-full rounded-md border border-border bg-card px-3 py-2 text-sm text-foreground focus:border-foreground/30 focus:outline-none"><option value="claude-code" selected="">claude-code</option><option value="cursor">cursor</option><option value="codex-cli">codex-cli</option><option value="windsurf">windsurf</option><option value="external">external (ask each run)</option></select></div><div><label class="mb-1.5 block text-[11px] font-medium uppercase tracking-wider text-muted-foreground">Default agreement threshold</label><select class="w-full rounded-md border border-border bg-card px-3 py-2 text-sm text-foreground focus:border-foreground/30 focus:outline-none"><option value="unanimous" selected="">unanimous</option><option value="majority">majority</option><option value="any">any</option></select></div><div><label class="mb-1.5 block text-[11px] font-medium uppercase tracking-wider text-muted-foreground">Default cost cap (USD per chat)</label><div class="flex items-center gap-2"><span class="font-mono text-sm text-muted-foreground">$</span><input type="number" step="0.10" min="0" class="w-full rounded-md border border-border bg-card px-3 py-2 font-mono text-sm text-foreground focus:border-foreground/30 focus:outline-none" value="2.00"/></div></div><div><label class="mb-1.5 block text-[11px] font-medium uppercase tracking-wider text-muted-foreground">On model error</label><select class="w-full rounded-md border border-border bg-card px-3 py-2 text-sm text-foreground focus:border-foreground/30 focus:outline-none"><option value="fallback" selected="">try next fallback model</option><option value="fail">mark chat failed</option><option value="ask-user">surface to me</option></select></div></div></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield h-4 w-4" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Privacy & data path</h2><p class="mt-0.5 text-xs text-muted-foreground">How prompts and code reach each LLM. Affects what leaves your machine.</p></div></div><div class="space-y-2"><button type="button" class="flex w-full items-start gap-3 rounded-lg border p-3.5 text-left transition border-primary/40 bg-primary/5 ring-2 ring-primary/30 ring-offset-2 ring-offset-background"><span class="mt-0.5 grid h-7 w-7 shrink-0 place-items-center rounded-md bg-primary/20 text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-monitor h-4 w-4" aria-hidden="true"><rect width="20" height="14" x="2" y="3" rx="2"></rect><line x1="8" x2="16" y1="21" y2="21"></line><line x1="12" x2="12" y1="17" y2="21"></line></svg></span><div class="flex-1"><div class="flex items-center gap-2"><span class="text-sm font-semibold text-foreground">Local-only (BYO CLIs)</span><span data-slot="badge" data-variant="outline" class="inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3 text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground border-border font-mono text-[10px]">Strictest</span></div><ul class="mt-1.5 space-y-0.5 text-[11px] text-muted-foreground"><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Daemon runs on your machine; CLIs run on your machine.</span></li><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Prompts go directly from your machine to each provider.</span></li><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Chorus sees nothing — not even chat IDs.</span></li></ul><div class="mt-2 flex items-start gap-1.5 text-[10px] text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-info mt-0.5 h-3 w-3 shrink-0 text-muted-foreground/60" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg><span><span class="font-medium text-foreground/80">Trade-off:</span> <!-- -->No cloud dashboard, no team sharing, no fallback when a CLI is down.</span></div></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-1 h-4 w-4 shrink-0 text-primary" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg></button><button type="button" class="flex w-full items-start gap-3 rounded-lg border p-3.5 text-left transition border-border bg-card/40 hover:border-foreground/30"><span class="mt-0.5 grid h-7 w-7 shrink-0 place-items-center rounded-md bg-card text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-server h-4 w-4" aria-hidden="true"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg></span><div class="flex-1"><div class="flex items-center gap-2"><span class="text-sm font-semibold text-foreground">Proxied credits</span><span data-slot="badge" data-variant="outline" class="inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3 text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground border-border font-mono text-[10px]">Recommended for credits</span></div><ul class="mt-1.5 space-y-0.5 text-[11px] text-muted-foreground"><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Stateless edge proxy: prompts transit, never persist.</span></li><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Stripe-pattern: same payload-handling discipline.</span></li><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Used only when you spend credits to try a model you don't have.</span></li></ul><div class="mt-2 flex items-start gap-1.5 text-[10px] text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-info mt-0.5 h-3 w-3 shrink-0 text-muted-foreground/60" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg><span><span class="font-medium text-foreground/80">Trade-off:</span> <!-- -->One extra hop between you and the provider.</span></div></div></button><button type="button" class="flex w-full items-start gap-3 rounded-lg border p-3.5 text-left transition border-border bg-card/40 hover:border-foreground/30"><span class="mt-0.5 grid h-7 w-7 shrink-0 place-items-center rounded-md bg-card text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cloud h-4 w-4" aria-hidden="true"><path d="M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"></path></svg></span><div class="flex-1"><div class="flex items-center gap-2"><span class="text-sm font-semibold text-foreground">Cloud workspace</span><span data-slot="badge" data-variant="outline" class="inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3 text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground border-border font-mono text-[10px]">Team / multi-machine</span></div><ul class="mt-1.5 space-y-0.5 text-[11px] text-muted-foreground"><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Code is cloned into Chorus's cloud workspace.</span></li><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Transcripts + verdicts kept for audit & retro.</span></li><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Encrypted at rest; SOC 2 in progress.</span></li></ul><div class="mt-2 flex items-start gap-1.5 text-[10px] text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-info mt-0.5 h-3 w-3 shrink-0 text-muted-foreground/60" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg><span><span class="font-medium text-foreground/80">Trade-off:</span> <!-- -->Your code lives on our infra. Read the privacy whitepaper before flipping this on.</span></div></div></button></div></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-webhook h-4 w-4" aria-hidden="true"><path d="M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2"></path><path d="m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06"></path><path d="m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Notifications & MCP</h2><p class="mt-0.5 text-xs text-muted-foreground">How outer orchestrators (your main Claude / Cursor session) get pinged when a chat finishes or blocks.</p></div></div><div class="space-y-4"><button type="button" class="flex w-full items-center justify-between rounded-md border border-border bg-card/50 px-3 py-3 text-left transition hover:border-foreground/20"><div class="flex items-start gap-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-workflow mt-0.5 h-4 w-4 text-primary" aria-hidden="true"><rect width="8" height="8" x="3" y="3" rx="2"></rect><path d="M7 11v4a2 2 0 0 0 2 2h4"></path><rect width="8" height="8" x="13" y="13" rx="2"></rect></svg><div class="flex flex-col"><span class="text-sm text-foreground">Chorus MCP server</span><span class="text-[11px] text-muted-foreground">Exposes <span class="font-mono">mm.create_chat</span>,<!-- --> <span class="font-mono">mm.update_settings</span>,<!-- --> <span class="font-mono">mm.create_template</span> and 9 other tools. Outer Claude / Cursor / Codex can configure Chorus for you.</span></div></div><span class="flex h-5 w-9 items-center rounded-full border p-0.5 transition border-emerald-500/40 bg-emerald-500/20"><span class="h-3.5 w-3.5 rounded-full transition-transform translate-x-4 bg-emerald-400"></span></span></button><div><label class="mb-1.5 block text-[11px] font-medium uppercase tracking-wider text-muted-foreground">Webhook URL (optional)</label><div class="flex gap-2"><input type="url" placeholder="https://hooks.example.com/chorus" class="flex-1 rounded-md border border-border bg-card px-3 py-2 font-mono text-xs text-foreground placeholder:text-muted-foreground/60 focus:border-foreground/30 focus:outline-none" value=""/><button type="button" disabled="" class="flex items-center gap-1.5 rounded-md border px-3 py-2 text-xs font-medium transition border-border bg-card text-muted-foreground hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send h-3.5 w-3.5" aria-hidden="true"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg>Test</button></div><p class="mt-1.5 text-[11px] text-muted-foreground">Posted on chat finished / blocked / errored. Payload includes chat_id, status, synthesis.</p></div></div></div></div></div></main></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-87142ab87b87c8fb.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[5484,[],\"\"]\n3:I[5482,[],\"\"]\n4:I[4473,[],\"ClientPageRoot\"]\n5:I[3943,[\"742\",\"static/chunks/742-e466c37ab445a8a1.js\",\"832\",\"static/chunks/832-18bf24783a3a5332.js\",\"641\",\"static/chunks/641-7e3f4fc19494c5dc.js\",\"344\",\"static/chunks/344-17db55a402a0742b.js\",\"662\",\"static/chunks/app/settings/page-e2f6b190d3794681.js\"],\"default\"]\n8:I[5017,[],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nc:I[5017,[],\"ViewportBoundary\"]\ne:I[5017,[],\"MetadataBoundary\"]\n10:I[3720,[],\"default\",1]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/f5271587012faf78-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/31de2b5861a11b73.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"settings\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"settings\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/31de2b5861a11b73.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark __variable_246ccd __variable_4c40f6 h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col bg-background text-foreground\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"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)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{\"Component\":\"$5\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@6\",\"$@7\"]}}],null,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,null]},null,false,\"$@b\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"dwStWF62ISmqJRGfdJJv5\"}\n"])</script><script>self.__next_f.push([1,"11:[]\nb:\"$W11\"\n6:{}\n7:\"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"12:I[3068,[],\"IconMark\"]\na:null\nf:[[\"$\",\"title\",\"0\",{\"children\":\"Chorus — many voices, one chorus\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"The polished orchestrator over your AI fleet. Paste a task. Pick a template. Watch multiple LLMs reach consensus.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?b67a357858af4169\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.svg?79b94d624cb60ac1\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"$L12\",\"4\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en" class="dark __variable_246ccd __variable_4c40f6 h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/f5271587012faf78-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/b914f2b25cf933a9.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-87142ab87b87c8fb.js"/><script src="/_next/static/chunks/ed64ccb0-b7d2b5246d18ca7e.js" async=""></script><script src="/_next/static/chunks/128-a5d059bf5b2e5090.js" async=""></script><script src="/_next/static/chunks/main-app-e9f7985e32dc8a63.js" async=""></script><script src="/_next/static/chunks/742-e466c37ab445a8a1.js" async=""></script><script src="/_next/static/chunks/832-18bf24783a3a5332.js" async=""></script><script src="/_next/static/chunks/641-3e7b9575770aa968.js" async=""></script><script src="/_next/static/chunks/344-17db55a402a0742b.js" async=""></script><script src="/_next/static/chunks/app/settings/page-e2f6b190d3794681.js" async=""></script><meta name="next-size-adjust" content=""/><title>Chorus — many voices, one chorus</title><meta name="description" content="The polished orchestrator over your AI fleet. Paste a task. Pick a template. Watch multiple LLMs reach consensus."/><link rel="icon" href="/favicon.ico?b67a357858af4169" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/icon.svg?79b94d624cb60ac1" type="image/svg+xml" sizes="any"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-full flex flex-col bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-screen overflow-hidden bg-background text-foreground"><aside class="hidden h-screen shrink-0 flex-col border-r border-border bg-card/30 transition-[width] duration-200 ease-out md:flex w-60"><div class="flex h-full flex-col"><div class="flex h-14 items-center gap-2 border-b border-border px-3"><div class="grid h-7 w-7 shrink-0 place-items-center rounded-md bg-primary/15 text-primary"><svg viewBox="0 0 32 32" aria-hidden="true" class="h-[18px] w-[18px]" fill="currentColor"><circle cx="11" cy="20" r="3.2" fill-opacity="0.55"></circle><circle cx="21" cy="20" r="3.2" fill-opacity="0.55"></circle><circle cx="16" cy="11" r="3.2"></circle></svg></div><span class="text-sm font-semibold tracking-tight">Chorus</span><span class="ml-auto rounded-md border border-border px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground">—</span><button type="button" aria-label="Collapse sidebar" class="rounded p-1 text-muted-foreground transition hover:bg-accent hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close h-3.5 w-3.5" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div><nav class="py-3 px-2"><ul class="flex flex-col gap-0.5"><li><a class="flex items-center rounded-md text-sm transition-colors gap-2 px-2 py-1.5 text-muted-foreground hover:bg-accent/50 hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard h-4 w-4 shrink-0" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span>Home</span></a></li><li><a class="flex items-center rounded-md text-sm transition-colors gap-2 px-2 py-1.5 text-muted-foreground hover:bg-accent/50 hover:text-foreground" href="/runs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list-checks h-4 w-4 shrink-0" aria-hidden="true"><path d="M13 5h8"></path><path d="M13 12h8"></path><path d="M13 19h8"></path><path d="m3 17 2 2 4-4"></path><path d="m3 7 2 2 4-4"></path></svg><span>Runs</span></a></li><li><a class="flex items-center rounded-md text-sm transition-colors gap-2 px-2 py-1.5 text-muted-foreground hover:bg-accent/50 hover:text-foreground" href="/templates"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers h-4 w-4 shrink-0" aria-hidden="true"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg><span>Templates</span></a></li><li><a class="flex items-center rounded-md text-sm transition-colors gap-2 px-2 py-1.5 text-muted-foreground hover:bg-accent/50 hover:text-foreground" href="/personas"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users h-4 w-4 shrink-0" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span>Personas</span></a></li><li><a class="flex items-center rounded-md text-sm transition-colors gap-2 px-2 py-1.5 text-muted-foreground hover:bg-accent/50 hover:text-foreground" href="/connect"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plug h-4 w-4 shrink-0" aria-hidden="true"><path d="M12 22v-5"></path><path d="M15 8V2"></path><path d="M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z"></path><path d="M9 8V2"></path></svg><span>Connect</span></a></li><li><a class="flex items-center rounded-md text-sm transition-colors gap-2 px-2 py-1.5 bg-accent text-foreground" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4 shrink-0" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg><span>Settings</span></a></li></ul></nav><div class="flex min-h-0 flex-1 flex-col border-t border-border"><div class="flex shrink-0 flex-col gap-2 bg-card/40 px-3 py-3"><a aria-label="New chat" class="inline-flex h-8 w-full items-center justify-center gap-1.5 rounded-md bg-primary px-2.5 text-xs font-medium text-primary-foreground transition hover:bg-primary/90" href="/new"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus h-3.5 w-3.5" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg><span>New chat</span></a><div class="mt-1 px-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground">Recent</div></div><nav class="min-h-0 flex-1 overflow-y-auto px-2 py-2"><div class="px-2 py-4 text-xs text-muted-foreground">Loading…</div></nav></div></div></aside><div class="flex flex-1 flex-col overflow-hidden"><header class="flex h-12 items-center border-b border-border bg-background/60 px-3 backdrop-blur md:hidden"><button type="button" aria-label="Open navigation" class="-ml-1 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-md text-muted-foreground transition hover:bg-accent hover:text-foreground md:hidden" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-_R_35fivb_" data-state="closed" data-slot="sheet-trigger"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-5 w-5" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button></header><main class="flex-1 overflow-y-auto"><div class="mx-auto w-full max-w-6xl px-4 py-6 sm:px-6 sm:py-8 md:px-8 md:py-10"><header class="mb-6 flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between"><div class="min-w-0"><p class="text-xs uppercase tracking-wider text-muted-foreground">Settings</p><h1 class="mt-1 text-2xl font-semibold tracking-tight">Workspace</h1><p class="mt-2 max-w-2xl text-sm leading-relaxed text-muted-foreground">Defaults applied to every chat. Templates can override these per-run. The MCP server can read & patch this config — your main Claude can configure Chorus for you.</p></div><div class="shrink-0 self-start sm:self-auto"><div class="flex rounded-md border border-border bg-card p-0.5"><button type="button" class="flex items-center gap-1.5 rounded-sm px-3 py-1.5 text-xs font-medium transition bg-primary/15 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wrench h-3.5 w-3.5" aria-hidden="true"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"></path></svg>Form</button><button type="button" class="flex items-center gap-1.5 rounded-sm px-3 py-1.5 text-xs font-medium transition text-muted-foreground hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml h-3.5 w-3.5" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg>YAML</button></div></div></header><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield h-4 w-4" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Sandbox & first-call permissions</h2><p class="mt-0.5 text-xs text-muted-foreground">What can chorus-spawned reviewers do on this machine? Pick a profile, toggle prompt auto-approval, choose whether to allow outbound network.</p></div></div><a href="/settings/permissions" class="inline-flex items-center gap-2 rounded-md border border-primary/40 bg-primary/5 px-3 py-2 text-sm font-medium text-primary transition hover:bg-primary/10">Open Permissions page<span aria-hidden="true">→</span></a></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5" id="transport"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal h-4 w-4" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Run mode (headless / tmux)</h2><p class="mt-0.5 text-xs text-muted-foreground">How chorus runs each CLI. Default is headless (faster, lower RAM). Switch to tmux if you want to attach to a live voice and take over mid-run (debug + handoff).</p></div></div><div class="grid gap-2 sm:grid-cols-2"><button type="button" disabled="" class="flex flex-col gap-1 rounded-lg border p-3 text-left transition border-border bg-card hover:border-muted-foreground/30 "><div class="flex items-center justify-between"><span class="text-sm font-medium">Headless</span></div><p class="text-xs leading-relaxed text-muted-foreground">Subprocess per call. Lower RAM, faster cold start, no permission dialogs.</p></button><button type="button" disabled="" class="flex flex-col gap-1 rounded-lg border p-3 text-left transition border-border bg-card hover:border-muted-foreground/30 "><div class="flex items-center justify-between"><span class="text-sm font-medium">Tmux</span></div><p class="text-xs leading-relaxed text-muted-foreground">Persistent terminal sessions you can attach to for visual debug.</p></button></div><p class="mt-3 text-[11px] text-muted-foreground">Tip: set <code class="rounded bg-muted px-1">CHORUS_TRANSPORT=tmux</code> in your environment to override per-shell without changing this setting.</p></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5" id="concurrency"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Concurrency</h2><p class="mt-0.5 text-xs text-muted-foreground">Max parallel CLI subprocesses across all chats. Caps memory pressure when stacking heavyweight reviewers.</p></div></div><div class="text-xs text-muted-foreground">Loading…</div></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-credit-card h-4 w-4" aria-hidden="true"><rect width="20" height="14" x="2" y="5" rx="2"></rect><line x1="2" x2="22" y1="10" y2="10"></line></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Billing mode</h2><p class="mt-0.5 text-xs text-muted-foreground">How you pay for the AI CLIs chorus drives. Affects what the cost preview shows on the new-chat page — defaults to API rates so the number stays honest until you tell us otherwise.</p></div></div><div class="grid gap-2"><button type="button" disabled="" class="flex flex-col gap-1 rounded-lg border p-3 text-left transition border-border bg-card hover:border-muted-foreground/30 "><div class="flex items-center justify-between"><span class="text-sm font-medium">api</span></div><p class="text-xs leading-relaxed text-muted-foreground"></p></button><button type="button" disabled="" class="flex flex-col gap-1 rounded-lg border p-3 text-left transition border-border bg-card hover:border-muted-foreground/30 "><div class="flex items-center justify-between"><span class="text-sm font-medium">subscription</span></div><p class="text-xs leading-relaxed text-muted-foreground"></p></button><button type="button" disabled="" class="flex flex-col gap-1 rounded-lg border p-3 text-left transition border-border bg-card hover:border-muted-foreground/30 "><div class="flex items-center justify-between"><span class="text-sm font-medium">mixed</span></div><p class="text-xs leading-relaxed text-muted-foreground"></p></button></div></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-4 w-4" aria-hidden="true"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Anonymous telemetry</h2><p class="mt-0.5 text-xs text-muted-foreground">A small heartbeat sent to chorus.codes once per boot + every 24h. Helps us see what versions / OSes are in the wild. No code, no prompts, no chat content.</p></div></div><div class="rounded-lg border border-border bg-card p-3"><label class="flex items-start gap-3"><input type="checkbox" disabled="" class="mt-1 h-4 w-4 cursor-pointer accent-primary disabled:cursor-not-allowed"/><span class="flex-1"><span class="block text-sm font-medium">Send anonymous heartbeat</span><span class="mt-1 block text-xs leading-relaxed text-muted-foreground">Sends: install UUID, chorus version, OS, arch, node major, daemon uptime, count of chats in the last 24h. That's it.</span></span></label></div><details class="mt-3 text-xs text-muted-foreground"><summary class="cursor-pointer hover:text-foreground">Other ways to opt out</summary><ul class="mt-2 list-inside list-disc space-y-1 leading-relaxed"><li>Set <code class="rounded bg-muted px-1">CHORUS_TELEMETRY=0</code> <!-- -->in your shell — also accepts <code>false</code>, <code>no</code>,<!-- --> <code>off</code>.</li><li><code class="rounded bg-muted px-1">touch ~/.chorus/no-telemetry</code> <!-- -->(cargo / brew convention).</li><li>Reset your install ID:<!-- --> <code class="rounded bg-muted px-1">rm ~/.chorus/install-id</code> <!-- -->— a fresh UUID is minted on the next heartbeat.</li></ul></details></div><div class="mt-12 flex items-start gap-2 rounded-lg border border-amber-500/40 bg-amber-500/10 px-4 py-3 text-sm text-amber-100" role="note"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mt-0.5 h-4 w-4 shrink-0 text-amber-400" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><div><p class="font-semibold">Coming in v0.8 — preview only</p><p class="mt-1 text-xs leading-relaxed text-amber-100/80">The sections below show planned controls. They're not wired to the daemon yet — interaction is disabled. The YAML toggle at the top of the page already exposes the schema if you're curious.</p></div></div><div class="mt-2 select-none opacity-60 [&_*]:pointer-events-none" aria-disabled="true"><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-lock h-4 w-4" aria-hidden="true"><rect width="8" height="5" x="14" y="17" rx="1"></rect><path d="M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5"></path><path d="M20 17v-2a2 2 0 1 0-4 0v2"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Per-tool auto-approve</h2><p class="mt-0.5 text-xs text-muted-foreground">Drivers write code; reviewers don't. Defaults reflect that. Click any chip to cycle auto / ask / block.</p></div></div><div class="grid grid-cols-[1fr_120px_120px] gap-3 border-b border-border pb-2 text-[10px] font-medium uppercase tracking-wider text-muted-foreground"><span>Tool</span><span class="flex items-center justify-end gap-1.5"><span class="h-1.5 w-1.5 rounded-full bg-amber-400"></span>Driver</span><span class="flex items-center justify-end gap-1.5"><span class="h-1.5 w-1.5 rounded-full bg-blue-400"></span>Reviewer</span></div><div class="mt-1 divide-y divide-border opacity-70"><div class="grid grid-cols-[1fr_120px_120px] items-center gap-3 py-2.5"><div class="flex flex-col"><span class="text-sm text-foreground">Read files</span><span class="text-[11px] text-muted-foreground">cat, less, head, file open</span></div><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-emerald-500/15 text-emerald-300 border-emerald-500/30" title="driver: cycle policy">auto</button><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-emerald-500/15 text-emerald-300 border-emerald-500/30" title="reviewer: cycle policy">auto</button></div><div class="grid grid-cols-[1fr_120px_120px] items-center gap-3 py-2.5"><div class="flex flex-col"><span class="text-sm text-foreground">List & search</span><span class="text-[11px] text-muted-foreground">ls, grep, find, ripgrep</span></div><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-emerald-500/15 text-emerald-300 border-emerald-500/30" title="driver: cycle policy">auto</button><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-emerald-500/15 text-emerald-300 border-emerald-500/30" title="reviewer: cycle policy">auto</button></div><div class="grid grid-cols-[1fr_120px_120px] items-center gap-3 py-2.5"><div class="flex flex-col"><span class="text-sm text-foreground">Write files</span><span class="text-[11px] text-muted-foreground">Edit, Write inside allowed dirs</span></div><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-amber-500/15 text-amber-300 border-amber-500/30" title="driver: cycle policy">ask</button><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-rose-500/15 text-rose-300 border-rose-500/30" title="reviewer: cycle policy">block</button></div><div class="grid grid-cols-[1fr_120px_120px] items-center gap-3 py-2.5"><div class="flex flex-col"><span class="text-sm text-foreground">Run commands</span><span class="text-[11px] text-muted-foreground">Bash, npm, pnpm, python, go</span></div><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-amber-500/15 text-amber-300 border-amber-500/30" title="driver: cycle policy">ask</button><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-amber-500/15 text-amber-300 border-amber-500/30" title="reviewer: cycle policy">ask</button></div><div class="grid grid-cols-[1fr_120px_120px] items-center gap-3 py-2.5"><div class="flex flex-col"><span class="text-sm text-foreground">Network access</span><span class="text-[11px] text-muted-foreground">curl, fetch, package install</span></div><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-amber-500/15 text-amber-300 border-amber-500/30" title="driver: cycle policy">ask</button><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-amber-500/15 text-amber-300 border-amber-500/30" title="reviewer: cycle policy">ask</button></div><div class="grid grid-cols-[1fr_120px_120px] items-center gap-3 py-2.5"><div class="flex flex-col"><span class="text-sm text-foreground">Writes outside working dir</span><span class="text-[11px] text-muted-foreground">Anything outside the allowed paths below</span></div><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-rose-500/15 text-rose-300 border-rose-500/30" title="driver: cycle policy">block</button><button type="button" class="justify-self-end rounded-md border px-2.5 py-1 font-mono text-[10px] uppercase tracking-wider transition hover:scale-105 bg-rose-500/15 text-rose-300 border-rose-500/30" title="reviewer: cycle policy">block</button></div></div><p class="mt-3 flex items-start gap-2 rounded-md border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-xs text-amber-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-triangle-alert mt-0.5 h-3.5 w-3.5 shrink-0 text-amber-400" aria-hidden="true"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path></svg><span><span class="font-semibold">When wired:</span> <code class="rounded bg-amber-400/10 px-1 font-mono text-amber-200">ask</code> <!-- -->prompts will appear as cards in the chat — you click<!-- --> <span class="font-semibold">Approve</span> /<!-- --> <span class="font-semibold">Deny</span> instead of the agent stalling.</span></p></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-lock h-4 w-4" aria-hidden="true"><rect width="8" height="5" x="14" y="17" rx="1"></rect><path d="M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5"></path><path d="M20 17v-2a2 2 0 1 0-4 0v2"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Working directories</h2><p class="mt-0.5 text-xs text-muted-foreground">Each tmux session is started inside one of these paths. Writes outside are blocked.</p></div></div><div class="flex flex-wrap gap-2"><span class="group inline-flex items-center gap-1.5 rounded-md border border-border bg-card px-2.5 py-1 font-mono text-[11px] text-foreground">~/dev<button type="button" class="text-muted-foreground/50 transition hover:text-rose-400" aria-label="Remove ~/dev"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x h-3 w-3" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></span><span class="group inline-flex items-center gap-1.5 rounded-md border border-border bg-card px-2.5 py-1 font-mono text-[11px] text-foreground">~/work<button type="button" class="text-muted-foreground/50 transition hover:text-rose-400" aria-label="Remove ~/work"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x h-3 w-3" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></span><span class="group inline-flex items-center gap-1.5 rounded-md border border-border bg-card px-2.5 py-1 font-mono text-[11px] text-foreground">/tmp/chorus-sandbox<button type="button" class="text-muted-foreground/50 transition hover:text-rose-400" aria-label="Remove /tmp/chorus-sandbox"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x h-3 w-3" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></span></div><div class="mt-3 flex gap-2"><input type="text" placeholder="~/code/another-project" class="flex-1 rounded-md border border-border bg-card px-3 py-1.5 font-mono text-xs text-foreground placeholder:text-muted-foreground/60 focus:border-foreground/30 focus:outline-none" value=""/><button type="button" class="flex items-center gap-1.5 rounded-md bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground transition hover:bg-primary/90"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus h-3.5 w-3.5" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>Add path</button></div></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sliders-vertical h-4 w-4" aria-hidden="true"><path d="M10 8h4"></path><path d="M12 21v-9"></path><path d="M12 8V3"></path><path d="M17 16h4"></path><path d="M19 12V3"></path><path d="M19 21v-5"></path><path d="M3 14h4"></path><path d="M5 10V3"></path><path d="M5 21v-7"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Template defaults</h2><p class="mt-0.5 text-xs text-muted-foreground">Applied to new templates and one-off chats. Per-template values override these.</p></div></div><div class="grid gap-4 sm:grid-cols-2"><div><label class="mb-1.5 block text-[11px] font-medium uppercase tracking-wider text-muted-foreground">Default driver</label><select class="w-full rounded-md border border-border bg-card px-3 py-2 text-sm text-foreground focus:border-foreground/30 focus:outline-none"><option value="claude-code" selected="">claude-code</option><option value="cursor">cursor</option><option value="codex-cli">codex-cli</option><option value="windsurf">windsurf</option><option value="external">external (ask each run)</option></select></div><div><label class="mb-1.5 block text-[11px] font-medium uppercase tracking-wider text-muted-foreground">Default agreement threshold</label><select class="w-full rounded-md border border-border bg-card px-3 py-2 text-sm text-foreground focus:border-foreground/30 focus:outline-none"><option value="unanimous" selected="">unanimous</option><option value="majority">majority</option><option value="any">any</option></select></div><div><label class="mb-1.5 block text-[11px] font-medium uppercase tracking-wider text-muted-foreground">Default cost cap (USD per chat)</label><div class="flex items-center gap-2"><span class="font-mono text-sm text-muted-foreground">$</span><input type="number" step="0.10" min="0" class="w-full rounded-md border border-border bg-card px-3 py-2 font-mono text-sm text-foreground focus:border-foreground/30 focus:outline-none" value="2.00"/></div></div><div><label class="mb-1.5 block text-[11px] font-medium uppercase tracking-wider text-muted-foreground">On model error</label><select class="w-full rounded-md border border-border bg-card px-3 py-2 text-sm text-foreground focus:border-foreground/30 focus:outline-none"><option value="fallback" selected="">try next fallback model</option><option value="fail">mark chat failed</option><option value="ask-user">surface to me</option></select></div></div></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield h-4 w-4" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Privacy & data path</h2><p class="mt-0.5 text-xs text-muted-foreground">How prompts and code reach each LLM. Affects what leaves your machine.</p></div></div><div class="space-y-2"><button type="button" class="flex w-full items-start gap-3 rounded-lg border p-3.5 text-left transition border-primary/40 bg-primary/5 ring-2 ring-primary/30 ring-offset-2 ring-offset-background"><span class="mt-0.5 grid h-7 w-7 shrink-0 place-items-center rounded-md bg-primary/20 text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-monitor h-4 w-4" aria-hidden="true"><rect width="20" height="14" x="2" y="3" rx="2"></rect><line x1="8" x2="16" y1="21" y2="21"></line><line x1="12" x2="12" y1="17" y2="21"></line></svg></span><div class="flex-1"><div class="flex items-center gap-2"><span class="text-sm font-semibold text-foreground">Local-only (BYO CLIs)</span><span data-slot="badge" data-variant="outline" class="inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3 text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground border-border font-mono text-[10px]">Strictest</span></div><ul class="mt-1.5 space-y-0.5 text-[11px] text-muted-foreground"><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Daemon runs on your machine; CLIs run on your machine.</span></li><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Prompts go directly from your machine to each provider.</span></li><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Chorus sees nothing — not even chat IDs.</span></li></ul><div class="mt-2 flex items-start gap-1.5 text-[10px] text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-info mt-0.5 h-3 w-3 shrink-0 text-muted-foreground/60" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg><span><span class="font-medium text-foreground/80">Trade-off:</span> <!-- -->No cloud dashboard, no team sharing, no fallback when a CLI is down.</span></div></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-1 h-4 w-4 shrink-0 text-primary" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg></button><button type="button" class="flex w-full items-start gap-3 rounded-lg border p-3.5 text-left transition border-border bg-card/40 hover:border-foreground/30"><span class="mt-0.5 grid h-7 w-7 shrink-0 place-items-center rounded-md bg-card text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-server h-4 w-4" aria-hidden="true"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg></span><div class="flex-1"><div class="flex items-center gap-2"><span class="text-sm font-semibold text-foreground">Proxied credits</span><span data-slot="badge" data-variant="outline" class="inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3 text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground border-border font-mono text-[10px]">Recommended for credits</span></div><ul class="mt-1.5 space-y-0.5 text-[11px] text-muted-foreground"><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Stateless edge proxy: prompts transit, never persist.</span></li><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Stripe-pattern: same payload-handling discipline.</span></li><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Used only when you spend credits to try a model you don't have.</span></li></ul><div class="mt-2 flex items-start gap-1.5 text-[10px] text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-info mt-0.5 h-3 w-3 shrink-0 text-muted-foreground/60" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg><span><span class="font-medium text-foreground/80">Trade-off:</span> <!-- -->One extra hop between you and the provider.</span></div></div></button><button type="button" class="flex w-full items-start gap-3 rounded-lg border p-3.5 text-left transition border-border bg-card/40 hover:border-foreground/30"><span class="mt-0.5 grid h-7 w-7 shrink-0 place-items-center rounded-md bg-card text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cloud h-4 w-4" aria-hidden="true"><path d="M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"></path></svg></span><div class="flex-1"><div class="flex items-center gap-2"><span class="text-sm font-semibold text-foreground">Cloud workspace</span><span data-slot="badge" data-variant="outline" class="inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3 text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground border-border font-mono text-[10px]">Team / multi-machine</span></div><ul class="mt-1.5 space-y-0.5 text-[11px] text-muted-foreground"><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Code is cloned into Chorus's cloud workspace.</span></li><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Transcripts + verdicts kept for audit & retro.</span></li><li class="flex items-start gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check mt-0.5 h-3 w-3 shrink-0 text-emerald-400/60" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Encrypted at rest; SOC 2 in progress.</span></li></ul><div class="mt-2 flex items-start gap-1.5 text-[10px] text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-info mt-0.5 h-3 w-3 shrink-0 text-muted-foreground/60" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg><span><span class="font-medium text-foreground/80">Trade-off:</span> <!-- -->Your code lives on our infra. Read the privacy whitepaper before flipping this on.</span></div></div></button></div></div><div data-slot="card" class="flex flex-col gap-6 rounded-xl border text-card-foreground shadow-sm mt-6 scroll-mt-20 bg-card p-5"><div class="mb-4 flex items-start gap-3"><span class="rounded-md border border-border bg-card/60 p-1.5 text-foreground/70"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-webhook h-4 w-4" aria-hidden="true"><path d="M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2"></path><path d="m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06"></path><path d="m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8"></path></svg></span><div class="flex-1"><h2 class="text-sm font-medium text-foreground">Notifications & MCP</h2><p class="mt-0.5 text-xs text-muted-foreground">How outer orchestrators (your main Claude / Cursor session) get pinged when a chat finishes or blocks.</p></div></div><div class="space-y-4"><button type="button" class="flex w-full items-center justify-between rounded-md border border-border bg-card/50 px-3 py-3 text-left transition hover:border-foreground/20"><div class="flex items-start gap-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-workflow mt-0.5 h-4 w-4 text-primary" aria-hidden="true"><rect width="8" height="8" x="3" y="3" rx="2"></rect><path d="M7 11v4a2 2 0 0 0 2 2h4"></path><rect width="8" height="8" x="13" y="13" rx="2"></rect></svg><div class="flex flex-col"><span class="text-sm text-foreground">Chorus MCP server</span><span class="text-[11px] text-muted-foreground">Exposes <span class="font-mono">mm.create_chat</span>,<!-- --> <span class="font-mono">mm.update_settings</span>,<!-- --> <span class="font-mono">mm.create_template</span> and 9 other tools. Outer Claude / Cursor / Codex can configure Chorus for you.</span></div></div><span class="flex h-5 w-9 items-center rounded-full border p-0.5 transition border-emerald-500/40 bg-emerald-500/20"><span class="h-3.5 w-3.5 rounded-full transition-transform translate-x-4 bg-emerald-400"></span></span></button><div><label class="mb-1.5 block text-[11px] font-medium uppercase tracking-wider text-muted-foreground">Webhook URL (optional)</label><div class="flex gap-2"><input type="url" placeholder="https://hooks.example.com/chorus" class="flex-1 rounded-md border border-border bg-card px-3 py-2 font-mono text-xs text-foreground placeholder:text-muted-foreground/60 focus:border-foreground/30 focus:outline-none" value=""/><button type="button" disabled="" class="flex items-center gap-1.5 rounded-md border px-3 py-2 text-xs font-medium transition border-border bg-card text-muted-foreground hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send h-3.5 w-3.5" aria-hidden="true"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg>Test</button></div><p class="mt-1.5 text-[11px] text-muted-foreground">Posted on chat finished / blocked / errored. Payload includes chat_id, status, synthesis.</p></div></div></div></div></div></main></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-87142ab87b87c8fb.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[5484,[],\"\"]\n3:I[5482,[],\"\"]\n4:I[4473,[],\"ClientPageRoot\"]\n5:I[3943,[\"742\",\"static/chunks/742-e466c37ab445a8a1.js\",\"832\",\"static/chunks/832-18bf24783a3a5332.js\",\"641\",\"static/chunks/641-3e7b9575770aa968.js\",\"344\",\"static/chunks/344-17db55a402a0742b.js\",\"662\",\"static/chunks/app/settings/page-e2f6b190d3794681.js\"],\"default\"]\n8:I[5017,[],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nc:I[5017,[],\"ViewportBoundary\"]\ne:I[5017,[],\"MetadataBoundary\"]\n10:I[3720,[],\"default\",1]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/f5271587012faf78-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/b914f2b25cf933a9.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"settings\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"settings\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b914f2b25cf933a9.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark __variable_246ccd __variable_4c40f6 h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col bg-background text-foreground\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"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)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{\"Component\":\"$5\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@6\",\"$@7\"]}}],null,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,null]},null,false,\"$@b\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"PLVy0iTepN1xpE0hbQBjx\"}\n"])</script><script>self.__next_f.push([1,"11:[]\nb:\"$W11\"\n6:{}\n7:\"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"12:I[3068,[],\"IconMark\"]\na:null\nf:[[\"$\",\"title\",\"0\",{\"children\":\"Chorus — many voices, one chorus\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"The polished orchestrator over your AI fleet. Paste a task. Pick a template. Watch multiple LLMs reach consensus.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?b67a357858af4169\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.svg?79b94d624cb60ac1\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"$L12\",\"4\",{}]]\n"])</script></body></html>
|