constellai 0.3.8 â 0.3.10
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/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/(app)/activity/page.js +2 -2
- package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
- package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/agents/[handle]/page.js +3 -3
- package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/code/page.js +2 -2
- package/.next/server/app/(app)/code/page.js.nft.json +1 -1
- package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/config/page.js +2 -2
- package/.next/server/app/(app)/config/page.js.nft.json +1 -1
- package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/costs/page.js +2 -2
- package/.next/server/app/(app)/costs/page.js.nft.json +1 -1
- package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/cron/page.js +2 -2
- package/.next/server/app/(app)/cron/page.js.nft.json +1 -1
- package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/dashboard/page.js +2 -2
- package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -1
- package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/design/page.js +3 -3
- package/.next/server/app/(app)/design/page.js.nft.json +1 -1
- package/.next/server/app/(app)/design/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/docs/[id]/page.js +2 -2
- package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/docs/page.js +2 -2
- package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
- package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/github/page.js +2 -2
- package/.next/server/app/(app)/github/page.js.nft.json +1 -1
- package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/goals/page.js +2 -2
- package/.next/server/app/(app)/goals/page.js.nft.json +1 -1
- package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/inbox/page.js +2 -2
- package/.next/server/app/(app)/inbox/page.js.nft.json +1 -1
- package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/knowledge/page.js +3 -3
- package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -1
- package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/models/page.js +2 -2
- package/.next/server/app/(app)/models/page.js.nft.json +1 -1
- package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/notifications/page.js +2 -2
- package/.next/server/app/(app)/notifications/page.js.nft.json +1 -1
- package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/org/page.js +4 -4
- package/.next/server/app/(app)/org/page.js.nft.json +1 -1
- package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/organizations/page.js +1 -1
- package/.next/server/app/(app)/organizations/page.js.nft.json +1 -1
- package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/page.js +3 -3
- package/.next/server/app/(app)/page.js.nft.json +1 -1
- package/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/planner/page.js +2 -2
- package/.next/server/app/(app)/planner/page.js.nft.json +1 -1
- package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/plugins/page.js +2 -2
- package/.next/server/app/(app)/plugins/page.js.nft.json +1 -1
- package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/pm/page.js +2 -2
- package/.next/server/app/(app)/pm/page.js.nft.json +1 -1
- package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/prepare-deploy/page.js +3 -3
- package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -1
- package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/profile/page.js +2 -2
- package/.next/server/app/(app)/profile/page.js.nft.json +1 -1
- package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/pulse/page.js +2 -2
- package/.next/server/app/(app)/pulse/page.js.nft.json +1 -1
- package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/reports/[id]/page.js +2 -2
- package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/reports/page.js +3 -3
- package/.next/server/app/(app)/reports/page.js.nft.json +1 -1
- package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/routines/page.js +2 -2
- package/.next/server/app/(app)/routines/page.js.nft.json +1 -1
- package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/search/page.js +2 -2
- package/.next/server/app/(app)/search/page.js.nft.json +1 -1
- package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/security/page.js +2 -2
- package/.next/server/app/(app)/security/page.js.nft.json +1 -1
- package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/skills/page.js +3 -3
- package/.next/server/app/(app)/skills/page.js.nft.json +1 -1
- package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/tasks/page.js +2 -2
- package/.next/server/app/(app)/tasks/page.js.nft.json +1 -1
- package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/test-dev/page.js +1 -1
- package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -1
- package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/update/page.js +2 -2
- package/.next/server/app/(app)/update/page.js.nft.json +1 -1
- package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(auth)/login/page.js +2 -2
- package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(auth)/onboarding/page.js +1 -1
- package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -1
- 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/api/cron/tick/route.js +2 -2
- package/.next/server/app/api/passkey/authenticate/verify/route.js +1 -1
- package/.next/server/app/api/passkey/register/verify/route.js +1 -1
- package/.next/server/app/api/sync/file/route.js +1 -1
- package/.next/server/app/api/telegram/poll/route.js +3 -3
- package/.next/server/app/api/v1/[[...path]]/route.js +1 -1
- package/.next/server/chunks/1033.js +1 -1
- package/.next/server/chunks/1881.js +1 -0
- package/.next/server/chunks/1986.js +1 -1
- package/.next/server/chunks/2118.js +1 -1
- package/.next/server/chunks/2170.js +1 -0
- package/.next/server/chunks/{1678.js â 2718.js} +16 -16
- package/.next/server/chunks/3987.js +3 -3
- package/.next/server/chunks/4288.js +1 -1
- package/.next/server/chunks/5580.js +12 -0
- package/.next/server/chunks/5878.js +1 -1
- package/.next/server/chunks/6296.js +4 -0
- package/.next/server/chunks/7867.js +1 -1
- package/.next/server/chunks/7905.js +1 -1
- package/.next/server/chunks/8013.js +1 -0
- package/.next/server/chunks/8134.js +1 -1
- package/.next/server/chunks/8211.js +1 -1
- package/.next/server/chunks/8236.js +21 -0
- package/.next/server/chunks/907.js +1 -1
- package/.next/server/chunks/9344.js +3 -3
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/1352-1e5e6e2ea57a0821.js +4 -0
- package/.next/static/chunks/2171-7d8bf2df1d540a82.js +1 -0
- package/.next/static/chunks/2636-13f5de5bc9726cc3.js +1 -0
- package/.next/static/chunks/{7218-21f40f9caef5d658.js â 7218-9fbc00e6cec34afa.js} +2 -2
- package/.next/static/chunks/8834-3c7f77ceebbeb079.js +1 -0
- package/.next/static/chunks/app/(app)/activity/{page-ce3fc6003368f592.js â page-c6f3b54a1401c391.js} +1 -1
- package/.next/static/chunks/app/(app)/agents/[handle]/page-38922257bbd82998.js +1 -0
- package/.next/static/chunks/app/(app)/code/page-51869dcdc0b0a50f.js +1 -0
- package/.next/static/chunks/app/(app)/config/page-ccaa231f4f64912a.js +1 -0
- package/.next/static/chunks/app/(app)/costs/page-864fe3407d0dc6c0.js +1 -0
- package/.next/static/chunks/app/(app)/cron/page-7be322a05e559da8.js +1 -0
- package/.next/static/chunks/app/(app)/dashboard/page-f181d957748f8f27.js +1 -0
- package/.next/static/chunks/app/(app)/design/{page-5997054187e59e74.js â page-dac84fe4a5e31454.js} +3 -3
- package/.next/static/chunks/app/(app)/docs/[id]/page-74da9f8a13f14a07.js +1 -0
- package/.next/static/chunks/app/(app)/docs/page-689045673b039708.js +1 -0
- package/.next/static/chunks/app/(app)/github/page-7b8ae16a0cd14bd3.js +1 -0
- package/.next/static/chunks/app/(app)/goals/page-49682d30eb297a16.js +1 -0
- package/.next/static/chunks/app/(app)/inbox/{page-474c3f0a181bbbd3.js â page-000769b0e849a435.js} +2 -2
- package/.next/static/chunks/app/(app)/knowledge/page-c329694479ee85cb.js +1 -0
- package/.next/static/chunks/app/(app)/{layout-720a1171f7152d86.js â layout-21e16931eac987ab.js} +1 -1
- package/.next/static/chunks/app/(app)/models/page-3e92db0acfbf844b.js +1 -0
- package/.next/static/chunks/app/(app)/notifications/page-646bdc5a20cac43b.js +12 -0
- package/.next/static/chunks/app/(app)/org/page-08141e549fea39ad.js +12 -0
- package/.next/static/chunks/app/(app)/organizations/{page-0de7da829c9b2249.js â page-b5617487ef2255ce.js} +1 -1
- package/.next/static/chunks/app/(app)/page-f2a05b3f92886a0c.js +1 -0
- package/.next/static/chunks/app/(app)/planner/{page-0fc0ebe2d338769a.js â page-4241aa863f23a96d.js} +1 -1
- package/.next/static/chunks/app/(app)/plugins/page-2e96b6b32d288dca.js +1 -0
- package/.next/static/chunks/app/(app)/pm/page-182d8faa90ed2643.js +1 -0
- package/.next/static/chunks/app/(app)/prepare-deploy/page-15ba476bf716d7e2.js +1 -0
- package/.next/static/chunks/app/(app)/profile/page-e18ad0668e7e7305.js +1 -0
- package/.next/static/chunks/app/(app)/pulse/page-d528de016fb3ec49.js +1 -0
- package/.next/static/chunks/app/(app)/reports/[id]/page-7be322a05e559da8.js +1 -0
- package/.next/static/chunks/app/(app)/reports/page-67f64d0e809c2bca.js +1 -0
- package/.next/static/chunks/app/(app)/routines/page-cdb5f6e2ca82640b.js +1 -0
- package/.next/static/chunks/app/(app)/search/page-a91bfaab25cd6aff.js +1 -0
- package/.next/static/chunks/app/(app)/security/page-79d44198dd58f2dd.js +1 -0
- package/.next/static/chunks/app/(app)/skills/page-2af4de1e97575285.js +1 -0
- package/.next/static/chunks/app/(app)/tasks/{page-4d535f34ae9c44ca.js â page-c975303be89aaee5.js} +1 -1
- package/.next/static/chunks/app/(app)/test-dev/page-2e0b655d1a79a326.js +1 -0
- package/.next/static/chunks/app/(app)/update/{page-decdb0ece526b50f.js â page-a1f8b007304e9bdc.js} +1 -1
- package/.next/static/chunks/app/(auth)/login/page-a8d0d8f09f9794ef.js +1 -0
- package/.next/static/chunks/app/(auth)/onboarding/page-7ce367a9bc0bcbeb.js +1 -0
- package/.next/trace-build +1 -1
- package/CHANGELOG.md +27 -0
- package/README.md +1 -1
- package/README.pt-BR.md +1 -1
- package/bin/constella.mjs +22 -0
- package/docs/UPDATE.md +15 -3
- package/package.json +1 -1
- package/.next/server/chunks/3392.js +0 -1
- package/.next/server/chunks/6538.js +0 -4
- package/.next/server/chunks/7727.js +0 -1
- package/.next/server/chunks/8237.js +0 -12
- package/.next/server/chunks/939.js +0 -1
- package/.next/server/chunks/9795.js +0 -21
- package/.next/static/chunks/3556-dbb9200143640484.js +0 -1
- package/.next/static/chunks/5523-9c369c915ee6d9c9.js +0 -1
- package/.next/static/chunks/7363-b9ebe28fed23b997.js +0 -1
- package/.next/static/chunks/7621-87d8d0d0568de3ca.js +0 -4
- package/.next/static/chunks/app/(app)/agents/[handle]/page-236e13b8edadd480.js +0 -1
- package/.next/static/chunks/app/(app)/code/page-18ae765c81a2c709.js +0 -1
- package/.next/static/chunks/app/(app)/config/page-8a6fcf6c04337210.js +0 -1
- package/.next/static/chunks/app/(app)/costs/page-230b0ef03a2024b0.js +0 -1
- package/.next/static/chunks/app/(app)/cron/page-ca89769e2522191d.js +0 -1
- package/.next/static/chunks/app/(app)/dashboard/page-6237c3a35cce55ce.js +0 -1
- package/.next/static/chunks/app/(app)/docs/[id]/page-3362d323e0f4dada.js +0 -1
- package/.next/static/chunks/app/(app)/docs/page-d7d8018a7884a4b4.js +0 -1
- package/.next/static/chunks/app/(app)/github/page-f5c1cae725d080fb.js +0 -1
- package/.next/static/chunks/app/(app)/goals/page-95e85ce115ed9ff3.js +0 -1
- package/.next/static/chunks/app/(app)/knowledge/page-08596428ca34b620.js +0 -1
- package/.next/static/chunks/app/(app)/models/page-fa1eb257e6911c9a.js +0 -1
- package/.next/static/chunks/app/(app)/notifications/page-31f2a041bdb497b9.js +0 -12
- package/.next/static/chunks/app/(app)/org/page-666438930ddc4639.js +0 -12
- package/.next/static/chunks/app/(app)/page-bfcf3d25f468240f.js +0 -1
- package/.next/static/chunks/app/(app)/plugins/page-ad369fbfec6f3d1c.js +0 -1
- package/.next/static/chunks/app/(app)/pm/page-bb39c9d9a4f0d597.js +0 -1
- package/.next/static/chunks/app/(app)/prepare-deploy/page-f182991e68b159c1.js +0 -1
- package/.next/static/chunks/app/(app)/profile/page-cf5fe16bfad2a7ba.js +0 -1
- package/.next/static/chunks/app/(app)/pulse/page-03877c467c491e8a.js +0 -1
- package/.next/static/chunks/app/(app)/reports/[id]/page-ca89769e2522191d.js +0 -1
- package/.next/static/chunks/app/(app)/reports/page-7741b6a25e582791.js +0 -1
- package/.next/static/chunks/app/(app)/routines/page-ea83e6337e7502c2.js +0 -1
- package/.next/static/chunks/app/(app)/search/page-5e7f7cf0cc51b76f.js +0 -1
- package/.next/static/chunks/app/(app)/security/page-410144cdc35e19cc.js +0 -1
- package/.next/static/chunks/app/(app)/skills/page-90e5d8a24920c275.js +0 -1
- package/.next/static/chunks/app/(app)/test-dev/page-782c8cadd8a10feb.js +0 -1
- package/.next/static/chunks/app/(auth)/login/page-147a9be880c44d42.js +0 -1
- package/.next/static/chunks/app/(auth)/onboarding/page-8548be7e3ab3659e.js +0 -1
- /package/.next/static/{ehoxBsPzAtE_FyZ2VpMF0 â PjU7M0g-BKQT9AfTuZvgl}/_buildManifest.js +0 -0
- /package/.next/static/{ehoxBsPzAtE_FyZ2VpMF0 â PjU7M0g-BKQT9AfTuZvgl}/_ssgManifest.js +0 -0
|
@@ -5,7 +5,7 @@ exports.id=9344,exports.ids=[4561,9344],exports.modules={369:(a,b,c)=>{"use stri
|
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
Read more: https://nextjs.org/docs/messages/middleware-new-signature
|
|
8
|
-
`)}}class f extends Error{constructor(){super("The request.page has been deprecated in favour of `URLPattern`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n ")}}class g extends Error{constructor(){super("The request.ua has been removed in favour of `userAgent` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n ")}}},2131:(a,b,c)=>{"use strict";c.d(b,{H:()=>f});var d=c(14819),e=c(4155);let f=(0,d.CN)({is:a=>"TableNode"===a.kind,create:a=>(0,d.CN)({kind:"TableNode",table:e.y.create(a)}),createWithSchema:(a,b)=>(0,d.CN)({kind:"TableNode",table:e.y.createWithSchema(a,b)})})},2161:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return d}});var c,d=((c={}).PAGES="PAGES",c.PAGES_API="PAGES_API",c.APP_PAGE="APP_PAGE",c.APP_ROUTE="APP_ROUTE",c.IMAGE="IMAGE",c)},2471:(a,b,c)=>{"use strict";c.d(b,{DV:()=>k,He:()=>function a(b,c){return Object.entries(b).reduce((b,[i,j])=>{if("string"!=typeof i)return b;let k=c?[...c,i]:[i];return(0,e.is)(j,d.V)||(0,e.is)(j,f.Xs)||(0,e.is)(j,f.Xs.Aliased)||(0,e.is)(j,g.n)?b.push({path:k,field:j}):(0,e.is)(j,h.XI)?b.push(...a(j[h.XI.Symbol.Columns],k)):b.push(...a(j,k)),b},[])},Ll:()=>p,Lq:()=>q,XJ:()=>m,YD:()=>n,a6:()=>j,q:()=>l,su:()=>r,zN:()=>o});var d=c(72638),e=c(78033),f=c(86253),g=c(22066),h=c(44252),i=c(10147);function j(a,b,c){let i={},j=a.reduce((a,{path:j,field:k},l)=>{let m;m=(0,e.is)(k,d.V)?k:(0,e.is)(k,f.Xs)?k.decoder:(0,e.is)(k,g.n)?k._.sql.decoder:k.sql.decoder;let n=a;for(let[a,f]of j.entries())if(a<j.length-1)f in n||(n[f]={}),n=n[f];else{let a=b[l],g=n[f]=null===a?null:m.mapFromDriverValue(a);if(c&&(0,e.is)(k,d.V)&&2===j.length){let a=j[0];a in i?"string"==typeof i[a]&&i[a]!==(0,h.Io)(k.table)&&(i[a]=!1):i[a]=null===g&&(0,h.Io)(k.table)}}return a},{});if(c&&Object.keys(i).length>0)for(let[a,b]of Object.entries(i))"string"!=typeof b||c[b]||(j[a]=null);return j}function k(a,b){let c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(let[a,b]of c.entries())if(b!==d[a])return!1;return!0}function l(a,b){let c=Object.entries(b).filter(([,a])=>void 0!==a).map(([b,c])=>(0,e.is)(c,f.Xs)||(0,e.is)(c,d.V)?[b,c]:[b,new f.Iw(c,a[h.XI.Symbol.Columns][b])]);if(0===c.length)throw Error("No values to set");return Object.fromEntries(c)}function m(a,b){for(let c of b)for(let b of Object.getOwnPropertyNames(c.prototype))"constructor"!==b&&Object.defineProperty(a.prototype,b,Object.getOwnPropertyDescriptor(c.prototype,b)||Object.create(null))}function n(a){return a[h.XI.Symbol.Columns]}function o(a){return(0,e.is)(a,g.n)?a._.alias:(0,e.is)(a,f.Ss)?a[i.n].name:(0,e.is)(a,f.Xs)?void 0:a[h.XI.Symbol.IsAlias]?a[h.XI.Symbol.Name]:a[h.XI.Symbol.BaseName]}function p(a,b){return{name:"string"==typeof a&&a.length>0?a:"",config:"object"==typeof a?a:b}}function q(a){if("object"!=typeof a||null===a||"Object"!==a.constructor.name)return!1;if("logger"in a){let b=typeof a.logger;return"boolean"===b||"object"===b&&"function"==typeof a.logger.logQuery||"undefined"===b}if("schema"in a){let b=typeof a.schema;return"object"===b||"undefined"===b}if("casing"in a){let b=typeof a.casing;return"string"===b||"undefined"===b}if("mode"in a)return"default"===a.mode&&"planetscale"===a.mode&&void 0===a.mode;if("connection"in a){let b=typeof a.connection;return"string"===b||"object"===b||"undefined"===b}if("client"in a){let b=typeof a.client;return"object"===b||"function"===b||"undefined"===b}return 0===Object.keys(a).length}let r="u"<typeof TextDecoder?null:new TextDecoder},2644:(a,b,c)=>{"use strict";c.d(b,{pp:()=>l,Vj:()=>n});var d=c(31421),e=c(73024),f=c(76760);c(77030);var g=c(823);c(37067),c(38522);let h=new Map;function i(a){let b=h.get(a);if(b){try{b.server.close()}catch{}h.delete(a)}}let j="win32"===process.platform,k=new Map;function l(a){let b=(0,g.HZ)(a),c=[b];for(let a of["packages","apps","app","web","client","frontend","backend","server","api"]){let d=(0,f.join)(b,a);if((0,e.existsSync)(d))try{for(let a of(0,e.readdirSync)(d,{withFileTypes:!0}))a.isDirectory()&&c.push((0,f.join)(d,a.name))}catch{}}let d="$PORT";for(let a of c){let b=function(a){let b=(0,f.join)(a,"package.json");if(!(0,e.existsSync)(b))return null;try{let c=JSON.parse((0,e.readFileSync)(b,"utf8")),d=c.scripts??{},g=d.dev?"dev":d.start?"start":d.serve?"serve":null;if(!g)return null;let h=(0,e.existsSync)((0,f.join)(a,"pnpm-lock.yaml"))?"pnpm":(0,e.existsSync)((0,f.join)(a,"yarn.lock"))?"yarn":"npm",i=!(0,e.existsSync)((0,f.join)(a,"node_modules"));return{dir:a,kind:"node",name:c.name??"project",label:`${h} ${g}`,install:i?{cmd:h,args:["install"]}:void 0,runCmd:h,runArgs:"npm"===h?["run",g]:[g]}}catch{return null}}(a);if(b)return b}for(let a of c){let b=b=>(0,e.existsSync)((0,f.join)(a,b)),c=a.split(/[\\/]/).pop()||"project",g=b("requirements.txt")?{cmd:"python",args:["-m","pip","install","-r","requirements.txt"]}:void 0;if(b("manage.py"))return{dir:a,kind:"python",name:c,label:"django runserver",install:g,runCmd:"python",runArgs:["manage.py","runserver",`127.0.0.1:${d}`]};if(b("main.py")){let b="";try{b=(0,e.readFileSync)((0,f.join)(a,"main.py"),"utf8")}catch{}if(/FastAPI\s*\(/.test(b))return{dir:a,kind:"python",name:c,label:"uvicorn",install:g,runCmd:"python",runArgs:["-m","uvicorn","main:app","--host","127.0.0.1","--port",d]};return{dir:a,kind:"python",name:c,label:"python main.py",install:g,runCmd:"python",runArgs:["main.py"]}}if(b("go.mod"))return{dir:a,kind:"go",name:c,label:"go run",runCmd:"go",runArgs:["run","."]};if(b("Cargo.toml"))return{dir:a,kind:"rust",name:c,label:"cargo run",runCmd:"cargo",runArgs:["run"]};if(b("server.js"))return{dir:a,kind:"static",name:c,label:"node server.js",runCmd:"node",runArgs:["server.js"]}}return null}async function m(a){var b;let c=k.get(a);if(!c)return{running:!1,status:"stopped",logs:[]};c.status="stopped";try{c.proc?.pid&&(j?(0,d.spawn)("taskkill",["/PID",String(c.proc.pid),"/T","/F"],{windowsHide:!0}):process.kill(-c.proc.pid,"SIGKILL"))}catch{try{c.proc?.kill("SIGKILL")}catch{}}i(a);for(let a of"server stopped".split(/\r?\n/)){let b=a.trimEnd();b&&(c.logs.push({c:"info",t:b}),"starting"===c.status&&/(ready|listening|localhost:|started server|compiled)/i.test(b)&&(c.status="running"))}return c.logs.length>400&&c.logs.splice(0,c.logs.length-400),{running:"running"===(b=c).status||"starting"===b.status,status:b.status,port:b.port,url:b.url,project:b.label,logs:b.logs.slice(-120)}}function n(){for(let a of k.keys())m(a);for(let a of(k.clear(),[...h.keys()]))i(a)}},2853:a=>{a.exports={efs:!0,encode:a=>Buffer.from(a,"utf8"),decode:a=>a.toString("utf8")}},2894:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isPostpone",{enumerable:!0,get:function(){return d}});let c=Symbol.for("react.postpone");function d(a){return"object"==typeof a&&null!==a&&a.$$typeof===c}},4155:(a,b,c)=>{"use strict";c.d(b,{y:()=>f});var d=c(14819),e=c(74524);let f=(0,d.CN)({is:a=>"SchemableIdentifierNode"===a.kind,create:a=>(0,d.CN)({kind:"SchemableIdentifierNode",identifier:e.O.create(a)}),createWithSchema:(a,b)=>(0,d.CN)({kind:"SchemableIdentifierNode",schema:e.O.create(a),identifier:e.O.create(b)})})},5075:(a,b,c)=>{"use strict";c.d(b,{G:()=>e});var d=c(39837);let e=({usePlural:a,schema:b})=>c=>{if(a&&"s"===c.charAt(c.length-1)){let a=c.slice(0,-1),d=b[a]?a:void 0;if(d||(d=Object.entries(b).find(([b,c])=>c.modelName===a)?.[0]),d)return d}let e=b[c]?c:void 0;if(e||(e=Object.entries(b).find(([a,b])=>b.modelName===c)?.[0]),!e)throw new d.$l(`Model "${c}" not found in schema`);return e}},8911:(a,b,c)=>{let d=c(71015),e=c(98587),f=c(11081);a.exports=function(a,b){var c=[],g={},h=Buffer.alloc(0),i=new e.MainHeader,j=!1;let k=new Set,{noSort:l,decoder:m}=b;function n(){if(j=!0,g={},i.diskEntries>(a.length-i.offset)/f.Constants.CENHDR)throw f.Errors.DISK_ENTRY_TOO_LARGE();c=Array(i.diskEntries);for(var e=i.offset,h=0;h<c.length;h++){var l=e,m=new d(b,a);m.header=a.slice(l,l+=f.Constants.CENHDR),m.entryName=a.slice(l,l+=m.header.fileNameLength),m.header.extraLength&&(m.extra=a.slice(l,l+=m.header.extraLength)),m.header.commentLength&&(m.comment=a.slice(l,l+m.header.commentLength)),e+=m.header.centralHeaderSize,c[h]=m,g[m.entryName]=m}k.clear(),function(){let a=new Set;for(let b of Object.keys(g)){let c=b.split("/");if(c.pop(),c.length)for(let b=0;b<c.length;b++){let d=c.slice(0,b+1).join("/")+"/";a.add(d)}}for(let e of a)if(!(e in g)){let a=new d(b);a.entryName=e,a.attr=16,a.temporary=!0,c.push(a),g[a.entryName]=a,k.add(a)}}()}function o(){c.length>1&&!l&&c.sort((a,b)=>a.entryName.toLowerCase().localeCompare(b.entryName.toLowerCase()))}return a?function(c){var d=a.length-f.Constants.ENDHDR,e=Math.max(0,d-65535),g=e,j=a.length,k=-1,l=0;for("boolean"==typeof b.trailingSpace&&b.trailingSpace&&(e=0);d>=g;d--)if(80===a[d]){if(a.readUInt32LE(d)===f.Constants.ENDSIG){k=d,l=d,j=d+f.Constants.ENDHDR,g=d-f.Constants.END64HDR;continue}if(a.readUInt32LE(d)===f.Constants.END64SIG){g=e;continue}if(a.readUInt32LE(d)===f.Constants.ZIP64SIG){k=d,j=d+f.readBigUInt64LE(a,d+f.Constants.ZIP64SIZE)+f.Constants.ZIP64LEAD;break}}if(-1==k)throw f.Errors.INVALID_FORMAT();i.loadFromBinary(a.slice(k,j)),i.commentLength&&(h=a.slice(l+f.Constants.ENDHDR)),c&&n()}(b.readEntries):j=!0,{get entries(){return j||n(),c.filter(a=>!k.has(a))},get comment(){return m.decode(h)},set comment(val){i.commentLength=(h=f.toBuffer(val,m.encode)).length},getEntryCount:function(){return j?c.length:i.diskEntries},forEach:function(a){this.entries.forEach(a)},getEntry:function(a){return j||n(),g[a]||null},setEntry:function(a){j||n(),c.push(a),g[a.entryName]=a,i.totalEntries=c.length},deleteFile:function(a,b=!0){j||n();let c=g[a];this.getEntryChildren(c,b).map(a=>a.entryName).forEach(this.deleteEntry)},deleteEntry:function(a){j||n();let b=g[a],d=c.indexOf(b);d>=0&&(c.splice(d,1),delete g[a],i.totalEntries=c.length)},getEntryChildren:function(a,b=!0){if(j||n(),"object"==typeof a)if(!a.isDirectory||!b)return[a];else{let b=[],d=a.entryName;for(let a of c)a.entryName.startsWith(d)&&b.push(a);return b}return[]},getChildCount:function(a){if(a&&a.isDirectory){let b=this.getEntryChildren(a);return b.includes(a)?b.length-1:b.length}return 0},compressToBuffer:function(){j||n(),o();let b=[],c=[],d=0,e=0;i.size=0,i.offset=0;let g=0;for(let a of this.entries){let f=a.getCompressedData();a.header.offset=e;let h=a.packLocalHeader(),j=h.length+f.length;e+=j,b.push(h),b.push(f);let k=a.packCentralHeader();c.push(k),i.size+=k.length,d+=j+k.length,g++}d+=i.mainHeaderSize,i.offset=e,i.totalEntries=g,e=0;let k=Buffer.alloc(d);for(let a of b)a.copy(k,e),e+=a.length;for(let a of c)a.copy(k,e),e+=a.length;let l=i.toBinary();return h&&h.copy(l,f.Constants.ENDHDR),l.copy(k,e),a=k,j=!1,k},toAsyncBuffer:function(b,c,d,e){try{j||n(),o();let c=[],g=[],k=0,l=0,m=0;i.size=0,i.offset=0;let p=function(n){if(n.length>0){let a=n.shift(),b=a.entryName+a.extra.toString();d&&d(b),a.getCompressedDataAsync(function(d){e&&e(b),a.header.offset=l;let f=a.packLocalHeader(),h=f.length+d.length;l+=h,c.push(f),c.push(d);let j=a.packCentralHeader();g.push(j),i.size+=j.length,k+=h+j.length,m++,p(n)})}else{k+=i.mainHeaderSize,i.offset=l,i.totalEntries=m,l=0;let d=Buffer.alloc(k);c.forEach(function(a){a.copy(d,l),l+=a.length}),g.forEach(function(a){a.copy(d,l),l+=a.length});let e=i.toBinary();h&&h.copy(e,f.Constants.ENDHDR),e.copy(d,l),a=d,j=!1,b(d)}};p(Array.from(this.entries))}catch(a){c(a)}}}}},8971:(a,b,c)=>{"use strict";c.d(b,{s:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"ValueListNode"===a.kind,create:a=>(0,d.CN)({kind:"ValueListNode",values:(0,d.CN)(a)})})},9170:(a,b,c)=>{"use strict";c.d(b,{r:()=>g});var d=c(78474);let e=globalThis,f=e.__constellaBus??(e.__constellaBus=new d.EventEmitter);function g(a){f.emit("wake",a)}f.setMaxListeners(64)},9278:(a,b,c)=>{"use strict";c.d(b,{q:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"ValueNode"===a.kind,create:a=>(0,d.CN)({kind:"ValueNode",value:a}),createImmediate:a=>(0,d.CN)({kind:"ValueNode",value:a,immediate:!0})})},9344:(a,b,c)=>{"use strict";c.d(b,{reconcileOnBoot:()=>cK});var d=c(99209),e=c(96996),f=c(97420),g=c(84522),h=c(2644),i=c(82079);async function j(a,b=3e5){try{let c=Date.now()-b,g=await e.db.select().from(f.event).where((0,d.eq)(f.event.workspaceId,a));if(!g.length)return 0;let h=new Map;for(let a of g){let b=h.get(a.runId)??[];b.push(a),h.set(a.runId,b)}let i=new Set((await e.db.select({id:f.message.id}).from(f.message).where((0,d.eq)(f.message.workspaceId,a))).map(a=>a.id)),j=0;for(let[b,g]of h){let h=g.reduce((a,b)=>Math.max(a,b.seq),0);i.has(b)||g.some(a=>"done"===a.kind)||h>c||(await e.db.delete(f.event).where((0,d.Uo)((0,d.eq)(f.event.workspaceId,a),(0,d.eq)(f.event.runId,b))),j+=g.length)}return j}catch(a){return console.error("[events-prune] pruneOrphanRuns failed:",a),0}}async function k(a,b,c){try{await e.db.delete(f.event).where((0,d.Uo)((0,d.eq)(f.event.workspaceId,a),(0,d.eq)(f.event.runId,b),(0,d.eq)(f.event.kind,"text")));let g=await e.db.select({seq:f.event.seq}).from(f.event).where((0,d.Uo)((0,d.eq)(f.event.workspaceId,a),(0,d.eq)(f.event.channel,c))).orderBy((0,i.i)(f.event.seq)).limit(500);if(500===g.length){let b=g[g.length-1].seq;await e.db.delete(f.event).where((0,d.Uo)((0,d.eq)(f.event.workspaceId,a),(0,d.eq)(f.event.channel,c),(0,d.lt)(f.event.seq,b)))}}catch(a){console.error("[events-prune] failed:",a)}}var l=c(77598),m=c(823),n=c(13227);Object.fromEntries([{key:"language",label:"Language",opts:["TypeScript","JavaScript","Python","Go","Rust","Java","Kotlin","C#","Ruby","PHP","Elixir","Swift","C++","C","Scala","Dart","Clojure","Haskell","Lua","R","Objective-C","Erlang","None"]},{key:"runtime",label:"Runtime",opts:["Node.js","Bun","Deno","Python 3","PyPy","JVM",".NET","BEAM (Erlang VM)","None"]},{key:"frontend",label:"Frontend",opts:["React","Vue","Svelte","Angular","SolidJS","Preact","Qwik","Lit","HTMX","Alpine.js","Ember","Backbone","HTML/CSS","Vanilla JS","None"]},{key:"meta",label:"Meta-framework / SSG",opts:["Next.js","Nuxt","Remix","SvelteKit","Astro","Gatsby","Vite (SPA)","Hugo","Jekyll","Eleventy","Docusaurus","Static (no framework)","None"]},{key:"backend",label:"Backend framework",opts:["NestJS","Fastify","Express","Hono","Koa","Django","Flask","FastAPI","Spring Boot","Spring","Laravel","Symfony","CodeIgniter","Ruby on Rails","Gin","Fiber","Actix","Phoenix","ASP.NET Core","AdonisJS","GraphQL","Nginx","None"]},{key:"mobile",label:"Mobile",opts:["React Native","Flutter","Android","Ionic","Xamarin","NativeScript","None"]},{key:"database",label:"Database",opts:["PostgreSQL","MySQL","MariaDB","SQLite","MongoDB","Redis","CockroachDB","Cassandra","DynamoDB","Supabase","PlanetScale","Neon","None"]},{key:"orm",label:"ORM / Data layer",opts:["Prisma","Drizzle","TypeORM","Sequelize","SQLAlchemy","Django ORM","Mongoose","Knex","Diesel","GORM","None"]},{key:"styling",label:"Styling / UI",opts:["Tailwind CSS","Plain CSS","CSS Modules","styled-components","Sass","Vanilla Extract","UnoCSS","shadcn/ui","MUI","Bootstrap","Bulma","Vuetify","Chakra UI","None"]},{key:"testing",label:"Testing",opts:["Jest","Vitest","Cypress","Playwright","Selenium","Mocha","Jasmine","Puppeteer","None"]},{key:"aiml",label:"AI / ML",opts:["TensorFlow","PyTorch","scikit-learn","Keras","Pandas","NumPy","Jupyter","None"]},{key:"dataviz",label:"Data viz",opts:["D3","Chart.js","Grafana","Plotly","None"]},{key:"container",label:"Container",opts:["Docker","Podman","containerd","None"]},{key:"infra",label:"Infra / DevOps",opts:["Tailscale","Cloudflare","Vercel","Netlify","Fly.io","Railway","AWS","GCP","Azure","Kubernetes","Jenkins","CircleCI","Terraform","Ansible","Vagrant","None"]},{key:"baas",label:"Backend-as-a-service",opts:["Firebase","Appwrite","Amplify","Heroku","Supabase","None"]},{key:"queue",label:"Queue / Cache",opts:["Redis","BullMQ","RabbitMQ","Kafka","NATS","Celery","None"]},{key:"auth",label:"Auth",opts:["Auth.js","Clerk","Lucia","Supabase Auth","Keycloak","Auth0","Passport","None"]}].map(a=>[a.key,a.label]));let o=new Set(["Next.js","Nuxt","Remix","SvelteKit","Astro","Gatsby"]),p=[{handle:"ada",name:"Ada",role:"CEO",color:"#e0a44e",reportsTo:null,model:"sonnet",provider:"cli_claude_code",temperature:.4,dailyCapUsd:15,tier:"critical",identity:"Decisive, outcome-driven leader. Speaks in goals, not tasks. Protects scope and budget.",ritual:"Read the company goals, decompose into epics, delegate to leads, review what shipped."},{handle:"linus",name:"Linus",role:"CTO",color:"#9a5cff",reportsTo:"ada",model:"sonnet",provider:"cli_claude_code",temperature:.3,dailyCapUsd:40,tier:"critical",identity:"Systems thinker. Balances delivery speed against technical debt.",ritual:"Turn epics into tickets, route work to specialists, clear blockers, review PRs."},{handle:"donald",name:"Donald",role:"Product Owner",color:"#4fc9b0",reportsTo:"ada",model:"haiku",provider:"cli_claude_code",temperature:.4,dailyCapUsd:20,tier:"heavy",identity:"Customer voice. Ruthless about priority and clarity.",ritual:"Groom the backlog with MoSCoW, plan the sprint, track delivery, close with a retro."},{handle:"margaret",name:"Margaret",role:"Backend",color:"#3fb98f",reportsTo:"linus",model:"sonnet",provider:"cli_claude_code",temperature:.3,dailyCapUsd:50,tier:"heavy",identity:"Pragmatic server engineer. Values correctness, small diffs and green tests.",ritual:"Pull one ticket, read context, implement on a branch, never push without a passing suite."},{handle:"grace",name:"Grace",role:"Frontend",color:"#5b8def",reportsTo:"linus",model:"sonnet",provider:"cli_claude_code",temperature:.5,dailyCapUsd:45,tier:"heavy",identity:"Craft-focused UI engineer. Cares about accessibility and clean component APIs.",ritual:"Read the design tokens, build the smallest component that works, typecheck before PR."},{handle:"edsger",name:"Edsger",role:"QA",color:"#e8688f",reportsTo:"linus",model:"haiku",provider:"cli_claude_code",temperature:.2,dailyCapUsd:25,tier:"heavy",identity:"Skeptical quality gate. Assumes nothing works until proven by a test.",ritual:"Reproduce, cover with a test, run the suite, then gate the sign-off."},{handle:"werner",name:"Werner",role:"DevOps",color:"#f0a35e",reportsTo:"linus",model:"haiku",provider:"cli_claude_code",temperature:.3,dailyCapUsd:20,tier:"heavy",identity:"Reliability-minded operator. Automates the boring, guards the leases.",ritual:"Build, deploy a preview, report the URL, never leave an env leased too long."},{handle:"barbara",name:"Barbara",role:"Docs",color:"#b3d97a",reportsTo:"ada",model:"haiku",provider:"cli_claude_code",temperature:.4,dailyCapUsd:15,tier:"light",identity:"Patient explainer. Turns changes into understandable docs.",ritual:"Watch merges, draft docs while context is fresh, verify every link."},{handle:"whitfield",name:"Whitfield",role:"CyberSec",color:"#c4a0ff",reportsTo:"linus",model:"opus",provider:"cli_claude_code",temperature:.2,dailyCapUsd:30,tier:"critical",identity:"Adversarial reviewer. Thinks like an attacker, writes like an auditor.",ritual:"Audit every change for secret handling and injection, file findings with a concrete fix."},{handle:"vannevar",name:"Vannevar",role:"Knowledge",color:"#7ac5e0",reportsTo:"ada",model:"haiku",provider:"cli_claude_code",temperature:.2,dailyCapUsd:10,tier:"light",identity:"Keeper of the company's semantic memory. Indexes every document AND conversation into embeddings so any agent can recall anything instantly.",ritual:"Keep the embedding server healthy; re-index the workspace docs and the chat (team room, DMs, Telegram) into the RAG index so retrieval stays current."}],q=[{name:"open-pr",summary:"Branch, commit, open a PR with a test plan and request CTO review.",trigger:"When a work product is ready to merge",steps:["Create a branch from main","Commit the change set","Open a PR with summary + test plan","Request review from the CTO"]},{name:"run-suite",summary:"Detect the package manager, run the test task and gate sign-off on red.",trigger:"Before any sign-off",steps:["Detect package manager","Run the workspace test task","Parse results","Block sign-off if red"]},{name:"secret-scan",summary:"Scan for plaintext keys, verify vault references and flag log leaks.",trigger:"On every adapter change",steps:["Grep for plaintext keys","Check vault references","Flag any echo to logs"]},{name:"telegram-notify",summary:"Format a digest and POST it to the Telegram Bot API.",trigger:"When a routine completes",steps:["Format the digest","Resolve the chat id from secrets","POST to Telegram Bot API"]},{name:"moscow-prioritise",summary:"Score backlog items and re-order them with the MoSCoW method.",trigger:"During backlog grooming",steps:["Score each item","Assign Must/Should/Could/Won't","Re-order the backlog"]},{name:"gguf-validate",summary:"Pull a GGUF, verify SHA-256 and bind to loopback.",trigger:"When installing a local model",steps:["Download the GGUF","Verify SHA-256","Bind to 127.0.0.1 only"]}],r=q.filter(a=>"telegram-notify"!==a.name&&"gguf-validate"!==a.name).map(a=>a.name);var s=c(69447),t=c(48161),u=c.n(t),v=c(73024),w=c(31421),x=c(47942),y=c.n(x),z=c(76760),A=c(57075),B=c(46466),C=c(39328),D=c(74487);let E=process.env.OLLAMA_URL??"http://127.0.0.1:11434",F=process.env.CONSTELLA_EMBED_MODEL??"nomic-embed-text",G=/nomic/i.test(F),H=(a,b)=>`search_${b}: ${a}`,I=process.env.CONSTELLA_EMBED_URL??"http://127.0.0.1:8083",J=[".claude","DOCS","PO","Reports","specs","issues","design-skills"];function K(a){let b=a.replace(/\\/g,"/");return!(b.startsWith(".claude/kb/")||b.startsWith(".claude/skills/"))&&(b.startsWith("mock/")||b.startsWith("design-mock/")?/\.(md|html?|css|jsx?|tsx?|txt|json)$/i.test(b):b.endsWith(".md")&&J.some(a=>b===`${a}.md`||b.startsWith(`${a}/`)))}async function L(a,b="document"){try{let c=await fetch(`${E}/api/embeddings`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:F,prompt:G?H(a,b):a}),signal:AbortSignal.timeout(8e3)});if(c.ok){let a=await c.json();if(Array.isArray(a.embedding)&&a.embedding.length)return a.embedding}}catch{}try{let c=await fetch(`${I}/v1/embeddings`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({input:H(a,b),model:"nomic-embed"}),signal:AbortSignal.timeout(8e3)});if(c.ok){let a=await c.json(),b=a?.data?.[0]?.embedding;if(Array.isArray(b)&&b.length)return b}}catch{}return null}function M(a){let b=a.split(/\n(?=#{1,3}\s)/).map(a=>a.trim()).filter(Boolean),c=[];for(let d of b.length?b:[a])if(d)if(d.length<=1200)c.push(d);else for(let a=0;a<d.length;a+=1200)c.push(d.slice(a,a+1200));return c.slice(0,40)}async function N(a){let[b]=await e.db.select().from(f.workspace).where((0,d.eq)(f.workspace.orgId,a));if(!b)return{ok:!1,chunks:0,embedded:!1};let c=(0,m.CS)(a).filter(K);await e.db.delete(f.ragChunk).where((0,d.Uo)((0,d.eq)(f.ragChunk.workspaceId,b.id),(0,d.kZ)(f.ragChunk.kbEntryId)));let g=0,h=!1;for(let d of c)for(let c of M((0,m.sL)(a,d)??"")){let a=await L(c);a&&(h=!0),await e.db.insert(f.ragChunk).values({id:(0,l.randomUUID)(),workspaceId:b.id,path:d,chunk:c,vector:a?JSON.stringify(a):null}),g++}return{ok:!0,chunks:g+=await O(a),embedded:h}}async function O(a){let[b]=await e.db.select().from(f.workspace).where((0,d.eq)(f.workspace.orgId,a));if(!b)return 0;await e.db.delete(f.ragChunk).where((0,d.Uo)((0,d.eq)(f.ragChunk.workspaceId,b.id),(0,d.mj)(f.ragChunk.path,"chat/%")));let c=await e.db.select().from(f.message).where((0,d.eq)(f.message.workspaceId,b.id)).orderBy((0,i.Y)(f.message.createdAt)),g=new Map;for(let a of c){let b=(a.text??"").replace(/\s+/g," ").trim();if(!b)continue;let c="operator"===a.fromKind?"Operator":"@"+(a.fromHandle??"agent"),d=g.get(a.channel);d||(d=[],g.set(a.channel,d)),d.push(`${c}: ${b}`)}let h=0;for(let[a,c]of g)for(let d of M(c.slice(-400).join("\n"))){let c=await L(d);await e.db.insert(f.ragChunk).values({id:(0,l.randomUUID)(),workspaceId:b.id,path:`chat/${a}`,chunk:d,vector:c?JSON.stringify(c):null}),h++}return h}async function P(a,b){if(!K(b))return;let[c]=await e.db.select().from(f.workspace).where((0,d.eq)(f.workspace.orgId,a));if(c)for(let g of(await e.db.delete(f.ragChunk).where((0,d.Uo)((0,d.eq)(f.ragChunk.workspaceId,c.id),(0,d.eq)(f.ragChunk.path,b))),M((0,m.sL)(a,b)??""))){let a=await L(g);await e.db.insert(f.ragChunk).values({id:(0,l.randomUUID)(),workspaceId:c.id,path:b,chunk:g,vector:a?JSON.stringify(a):null})}}async function Q(a,b){if(!K(b))return;let[c]=await e.db.select().from(f.workspace).where((0,d.eq)(f.workspace.orgId,a));c&&await e.db.delete(f.ragChunk).where((0,d.Uo)((0,d.eq)(f.ragChunk.workspaceId,c.id),(0,d.eq)(f.ragChunk.path,b)))}let R=new Map;function S(a,b,c=.02){let d=0;try{d=(0,v.statSync)(a).size}catch{return{ok:!1,actual:0,expected:b,message:"file missing after download"}}if(!b||b<=0)return{ok:!0,actual:d,expected:b,message:"size ok (no expected size)"};let e=d/b,f=e>=1-c&&e<=1+c;return{ok:f,actual:d,expected:b,message:f?"size verified":`size mismatch â got ${d} bytes, expected ~${b} (truncated/corrupt)`}}let T=new Map,U=[{repo:"Qwen2.5-0.5B-Instruct",paramsB:.5,kind:"chat"},{repo:"Qwen2.5-1.5B-Instruct",paramsB:1.5,kind:"chat"},{repo:"Qwen2.5-3B-Instruct",paramsB:3,kind:"chat"},{repo:"Qwen2.5-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Qwen2.5-14B-Instruct",paramsB:14,kind:"chat"},{repo:"Qwen2.5-32B-Instruct",paramsB:32,kind:"chat"},{repo:"Qwen2.5-72B-Instruct",paramsB:72,kind:"chat"},{repo:"Qwen2.5-Coder-1.5B-Instruct",paramsB:1.5,kind:"code"},{repo:"Qwen2.5-Coder-3B-Instruct",paramsB:3,kind:"code"},{repo:"Qwen2.5-Coder-7B-Instruct",paramsB:7,kind:"code"},{repo:"Qwen2.5-Coder-14B-Instruct",paramsB:14,kind:"code"},{repo:"Qwen2.5-Coder-32B-Instruct",paramsB:32,kind:"code"},{repo:"Qwen3-0.6B",paramsB:.6,kind:"chat"},{repo:"Qwen3-1.7B",paramsB:1.7,kind:"chat"},{repo:"Qwen3-4B",paramsB:4,kind:"chat"},{repo:"Qwen3-8B",paramsB:8,kind:"chat"},{repo:"Qwen3-14B",paramsB:14,kind:"chat"},{repo:"Qwen3-32B",paramsB:32,kind:"chat"},{repo:"Llama-3.2-1B-Instruct",paramsB:1,kind:"chat"},{repo:"Llama-3.2-3B-Instruct",paramsB:3,kind:"chat"},{repo:"Meta-Llama-3.1-8B-Instruct",paramsB:8,kind:"chat"},{repo:"Meta-Llama-3.1-70B-Instruct",paramsB:70,kind:"chat"},{repo:"Llama-3.3-70B-Instruct",paramsB:70,kind:"chat"},{repo:"gemma-2-2b-it",paramsB:2,kind:"chat"},{repo:"gemma-2-9b-it",paramsB:9,kind:"chat"},{repo:"gemma-2-27b-it",paramsB:27,kind:"chat"},{repo:"gemma-3-1b-it",paramsB:1,kind:"chat"},{repo:"gemma-3-4b-it",paramsB:4,kind:"chat"},{repo:"gemma-3-12b-it",paramsB:12,kind:"chat"},{repo:"gemma-3-27b-it",paramsB:27,kind:"chat"},{repo:"Mistral-7B-Instruct-v0.3",paramsB:7,kind:"chat"},{repo:"Mistral-Nemo-Instruct-2407",paramsB:12,kind:"chat"},{repo:"Mistral-Small-Instruct-2409",paramsB:22,kind:"chat"},{repo:"Mistral-Small-24B-Instruct-2501",paramsB:24,kind:"chat"},{repo:"Codestral-22B-v0.1",paramsB:22,kind:"code"},{repo:"Phi-3.1-mini-4k-instruct",paramsB:3.8,kind:"chat"},{repo:"DeepSeek-R1-Distill-Qwen-1.5B",paramsB:1.5,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-7B",paramsB:7,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-14B",paramsB:14,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-32B",paramsB:32,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Llama-8B",paramsB:8,kind:"reasoning"},{repo:"DeepSeek-Coder-V2-Lite-Instruct",paramsB:16,kind:"code"},{repo:"Yi-1.5-9B-Chat",paramsB:9,kind:"chat"},{repo:"Yi-1.5-34B-Chat",paramsB:34,kind:"chat"},{repo:"granite-3.0-8b-instruct",paramsB:8,kind:"chat"},{repo:"granite-3.1-8b-instruct",paramsB:8,kind:"chat"},{repo:"SmolLM2-360M-Instruct",paramsB:.36,kind:"chat"},{repo:"SmolLM2-1.7B-Instruct",paramsB:1.7,kind:"chat"},{repo:"aya-expanse-8b",paramsB:8,kind:"chat"},{repo:"aya-expanse-32b",paramsB:32,kind:"chat"},{repo:"Falcon3-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Falcon3-10B-Instruct",paramsB:10,kind:"chat"},{repo:"EXAONE-3.5-2.4B-Instruct",paramsB:2.4,kind:"chat"},{repo:"EXAONE-3.5-7.8B-Instruct",paramsB:7.8,kind:"chat"},{repo:"Qwen3.5-0.8B",paramsB:.8,kind:"chat"},{repo:"Qwen3.5-2B",paramsB:2,kind:"chat"},{repo:"Qwen3.5-9B",paramsB:9,kind:"chat"},{repo:"Qwen3.5-27B",paramsB:27,kind:"chat"},{repo:"Qwen3.5-35B-A3B",paramsB:35,kind:"chat"},{repo:"Qwen3.6-27B",paramsB:27,kind:"chat"},{repo:"Qwen3.6-35B-A3B",paramsB:35,kind:"chat"},{repo:"Qwen3-30B-A3B",paramsB:30,kind:"chat"},{repo:"Qwen3-30B-A3B-Instruct-2507",paramsB:30,kind:"chat"},{repo:"Qwen3-Next-80B-A3B-Instruct",paramsB:80,kind:"chat"},{repo:"Qwen3-4B-Thinking-2507",paramsB:4,kind:"reasoning"},{repo:"QwQ-32B",paramsB:32,kind:"reasoning"},{repo:"Qwen2.5-7B-Instruct-1M",paramsB:7,kind:"chat"},{repo:"Qwen2.5-Coder-0.5B-Instruct",paramsB:.5,kind:"code"},{repo:"Qwen2.5-Coder-3B",paramsB:3,kind:"code"},{repo:"Qwen2.5-Coder-32B",paramsB:32,kind:"code"},{repo:"Qwen2.5-Math-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Qwen2-500M-Instruct",paramsB:.5,kind:"chat"},{repo:"Qwen1.5-32B-Chat",paramsB:32,kind:"chat"},{repo:"gemma-4-E2B-it",paramsB:2,kind:"chat"},{repo:"gemma-4-E4B-it",paramsB:4,kind:"chat"},{repo:"gemma-4-12B-it",paramsB:12,kind:"chat"},{repo:"gemma-4-26B-A4B-it",paramsB:26,kind:"chat"},{repo:"gemma-4-31B-it",paramsB:31,kind:"chat"},{repo:"gemma-3-270m-it",paramsB:.27,kind:"chat"},{repo:"gemma-1.1-2b-it",paramsB:2,kind:"chat"},{repo:"codegemma-2b",paramsB:2,kind:"code"},{repo:"codegemma-7b",paramsB:7,kind:"code"},{repo:"codegemma-7b-it",paramsB:7,kind:"code"},{repo:"codegemma-1.1-7b-it",paramsB:7,kind:"code"},{repo:"Ministral-3-3B-Instruct-2512",paramsB:3,kind:"chat"},{repo:"Ministral-3-8B-Instruct-2512",paramsB:8,kind:"chat"},{repo:"Ministral-3-14B-Instruct-2512",paramsB:14,kind:"chat"},{repo:"Ministral-3-3B-Reasoning-2512",paramsB:3,kind:"reasoning"},{repo:"Ministral-3-8B-Reasoning-2512",paramsB:8,kind:"reasoning"},{repo:"Ministral-3-14B-Reasoning-2512",paramsB:14,kind:"reasoning"},{repo:"Mistral-Small-3.1-24B-Instruct-2503",paramsB:24,kind:"chat"},{repo:"Mistral-Small-3.2-24B-Instruct-2506",paramsB:24,kind:"chat"},{repo:"Devstral-Small-2-24B-Instruct-2512",paramsB:24,kind:"code"},{repo:"mathstral-7B-v0.1",paramsB:7,kind:"chat"},{repo:"dolphin-2.8-mistral-7b-v02",paramsB:7,kind:"chat"},{repo:"WizardLM-2-7B",paramsB:7,kind:"chat"},{repo:"DeepSeek-R1-0528-Qwen3-8B",paramsB:8,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Llama-70B",paramsB:70,kind:"reasoning"},{repo:"deepseek-coder-1.3B-kexer",paramsB:1.3,kind:"code"},{repo:"deepseek-coder-6.7B-kexer",paramsB:6.7,kind:"code"},{repo:"granite-3.2-8b-instruct",paramsB:8,kind:"chat"},{repo:"granite-4.1-3b",paramsB:3,kind:"chat"},{repo:"granite-4.1-8b",paramsB:8,kind:"chat"},{repo:"granite-4.1-30b",paramsB:30,kind:"chat"},{repo:"Olmo-3-32B-Think",paramsB:32,kind:"reasoning"},{repo:"Seed-OSS-36B-Instruct",paramsB:36,kind:"chat"},{repo:"ERNIE-4.5-21B-A3B-PT",paramsB:21,kind:"chat"},{repo:"LFM2-24B-A2B",paramsB:24,kind:"chat"},{repo:"LFM2.5-1.2B-Instruct",paramsB:1.2,kind:"chat"},{repo:"LFM2.5-1.2B-Thinking",paramsB:1.2,kind:"reasoning"},{repo:"NVIDIA-Nemotron-3-Nano-4B",paramsB:4,kind:"chat"},{repo:"Hermes-4-70B",paramsB:70,kind:"chat"},{repo:"Llama-3.1-Tulu-3-8B",paramsB:8,kind:"chat"},{repo:"Meta-Llama-3-70B-Instruct",paramsB:70,kind:"chat"},{repo:"Llama3-ChatQA-1.5-70B",paramsB:70,kind:"chat"},{repo:"Llama-3-Groq-8B-Tool-Use",paramsB:8,kind:"chat"},{repo:"aya-23-8B",paramsB:8,kind:"chat"},{repo:"aya-23-35B",paramsB:35,kind:"chat"},{repo:"SmolLM2-135M-Instruct",paramsB:.135,kind:"chat"},{repo:"Yi-Coder-1.5B",paramsB:1.5,kind:"code"},{repo:"Yi-Coder-9B-Chat",paramsB:9,kind:"code"},{repo:"OpenCoder-1.5B-Instruct",paramsB:1.5,kind:"code"},{repo:"stable-code-instruct-3b",paramsB:3,kind:"code"},{repo:"internlm2-math-plus-7b",paramsB:7,kind:"chat"},{repo:"internlm2-math-plus-20b",paramsB:20,kind:"chat"}],V={Q3_K_L:.55,Q4_K_M:.67,Q6_K:.9,Q8_0:1.13},W=[{id:"nomic-embed-q8",name:"nomic-embed-text-v1.5 (Q8_0)",url:"https://huggingface.co/nomic-ai/nomic-embed-text-v1.5-GGUF/resolve/main/nomic-embed-text-v1.5.Q8_0.gguf",params:"137M",quant:"Q8_0",sizeBytes:146e6,kind:"embed",paramsB:.137},...function(){let a=[];for(let d of U){var b,c;let e=d.vendor??"lmstudio-community";for(let f of(b=d.paramsB)<=9?["Q3_K_L","Q4_K_M","Q6_K","Q8_0"]:b<=34?["Q3_K_L","Q4_K_M","Q6_K"]:["Q3_K_L","Q4_K_M"]){let b=`${d.repo}-${f}.gguf`;a.push({id:`${d.repo}-${f}`.toLowerCase().replace(/[^a-z0-9]+/g,"-"),name:`${d.repo} (${f})`,url:`https://huggingface.co/${e}/${d.repo}-GGUF/resolve/main/${b}`,params:(c=d.paramsB)<1?`${Math.round(1e3*c)}M`:`${c}B`,quant:f,sizeBytes:Math.round(1e9*d.paramsB*V[f]),kind:d.kind,paramsB:d.paramsB})}}return a}()];var X=c(75243);let Y=process.env.OLLAMA_URL??"http://127.0.0.1:11434",Z=process.env.LLAMACPP_URL??"http://127.0.0.1:8082",$=process.env.CONSTELLA_EMBED_URL??"http://127.0.0.1:8083",_=null;async function aa(){if(_){let a=u().totalmem()/0x40000000,b=u().freemem()/0x40000000;return{..._,ram:`${a.toFixed(0)} GB \xb7 ${b.toFixed(1)} free`}}let a=u().cpus(),b=(a[0]?.model??"Unknown CPU").replace(/\s+/g," ").trim(),c=a.length,d=u().totalmem()/0x40000000,e=u().freemem()/0x40000000,f=`${d.toFixed(0)} GB \xb7 ${e.toFixed(1)} free`,g=u().platform(),h="â",i="â",j="CPU",k=[];try{let a=(0,w.execSync)("nvidia-smi --query-gpu=name,memory.total --format=csv,noheader,nounits",{timeout:4e3,stdio:["ignore","pipe","ignore"]}).toString().trim();if(a){let[b,c]=a.split("\n")[0].split(",");h=b.trim(),i=`${Math.round(Number(c)/1024)} GB`,j="CUDA",k.push("CUDA")}}catch{}if("CPU"===j&&"darwin"===g){j="Metal",k.push("Metal");let a="Apple Silicon";try{let b=(0,w.execFileSync)("sysctl",["-n","machdep.cpu.brand_string"],{timeout:3e3,stdio:["ignore","pipe","ignore"]}).toString().trim();b&&(a=b)}catch{/apple/i.test(b)&&(a=b)}h=/apple/i.test(a)?`${a} GPU`:"Apple GPU","arm64"===u().arch()&&(i=`${Math.max(1,Math.round(.7*d))} GB unified`)}k.push("arm64"===u().arch()?"NEON":"AVX2");let l="â";try{if("win32"===g){let a=((0,m.r$)()[0]||"C").toUpperCase(),b=/^[A-Z]$/.test(a)?a:"C",c=(0,w.execFileSync)("powershell",["-NoProfile","-Command",`(Get-PSDrive ${b}).Free`],{timeout:5e3,stdio:["ignore","pipe","ignore"]}).toString().trim(),d=Number(c.replace(/[^\d]/g,""));d>0&&(l=`${(d/0x40000000).toFixed(0)} GB`)}else{let a=(0,w.execFileSync)("df",["-h",(0,m.r$)()],{timeout:4e3,stdio:["ignore","pipe","ignore"]}).toString().trim().split("\n"),b=(a[a.length-1]??"").split(/\s+/);b[3]&&(l=b[3])}}catch{}return _={cpu:b,cores:c,ram:f,gpu:h,vram:i,diskFree:l,backend:j,accel:k,recommendedQuant:d>=32?"Q5_K_M":d>=16?"Q4_K_M":"Q4_0",maxParams:d>=64?"70B":d>=32?"34B":d>=16?"13B":"7B"}}async function ab(){try{return(0,w.execSync)("ollama --version",{timeout:3e3,stdio:"ignore"}),!0}catch{return!1}}async function ac(a){let b=await ab(),c=[];if("start"===a){if(!b)return{up:!1,installed:!1,log:["Ollama is not installed â get it at https://ollama.com, then retry."]};if((await af()).up)return{up:!0,installed:b,log:[`server already running on ${Y}`]};try{let a=(0,w.spawn)("ollama",["serve"],{detached:!0,stdio:"ignore"}),d="";a.on("error",a=>{d=String(a instanceof Error?a.message:a)}),a.unref(),c.push("$ ollama serve"),await new Promise(a=>setTimeout(a,2e3));let e=(await af()).up;return d&&c.push("spawn failed: "+d),c.push(e?`â ready \xb7 ${Y}`:"still stopped â the port may be busy; run `ollama serve` in a terminal to see the error."),(0,C.revalidatePath)("/models"),{up:e,installed:b,log:c}}catch(a){return{up:!1,installed:b,log:["failed to start: "+String(a instanceof Error?a.message:a)]}}}try{"win32"===u().platform()?(0,w.execSync)("taskkill /IM ollama.exe /F",{stdio:"ignore",timeout:4e3}):(0,w.execSync)("pkill -f 'ollama serve'",{stdio:"ignore",timeout:4e3}),c.push("server stopped")}catch{c.push("no running ollama process found")}return(0,C.revalidatePath)("/models"),{up:!1,installed:b,log:c}}async function ad(){try{let a=await fetch(`${Y}/api/ps`,{signal:AbortSignal.timeout(3e3)});if(!a.ok)return{running:[]};return{running:((await a.json()).models??[]).map(a=>({name:a.name,vram:a.size_vram??0}))}}catch{return{running:[]}}}async function ae(a){try{let b=await fetch(`${Y}/api/generate`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:a,prompt:"",keep_alive:"30m"}),signal:AbortSignal.timeout(12e4)});if(!b.ok)return{ok:!1,error:`Ollama ${b.status}`};return await b.json().catch(()=>({})),(0,C.revalidatePath)("/models"),{ok:!0}}catch(b){let a=String(b instanceof Error?b.message:b);return{ok:!1,error:/abort|fetch failed|ECONN/i.test(a)?"Ollama not running":a}}}async function af(){try{let a=await fetch(`${Y}/api/tags`,{signal:AbortSignal.timeout(3e3)});if(!a.ok)return{up:!1,models:[]};let b=await a.json();return{up:!0,models:(b.models??[]).map(a=>({name:a.name,size:a.size??0}))}}catch{return{up:!1,models:[]}}}async function ag(a){let b=await af(),[c]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.workspaceId,a),(0,d.eq)(f.provider.catalogId,"ollama"))),g={status:b.up?"connected":"needs_sync",modelCount:b.models.length,lastSync:b.up?new Date:null};c?await e.db.update(f.provider).set(g).where((0,d.eq)(f.provider.id,c.id)):await e.db.insert(f.provider).values({id:(0,l.randomUUID)(),workspaceId:a,catalogId:"ollama",adapter:"local_ollama",kind:"local",auth:"local",syncStatus:"implemented",...g})}async function ah(a){let{workspace:b}=await (0,D.nP)();if(!a.trim())return{ok:!1,error:"no model name"};try{let c=await fetch(`${Y}/api/pull`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:a.trim(),stream:!1}),signal:AbortSignal.timeout(18e5)});if(!c.ok){let a=await c.text().catch(()=>"");return{ok:!1,error:`Ollama ${c.status}${a?": "+a.slice(0,120):""}`}}let d=await c.json().catch(()=>({}));return await ag(b.id),(0,C.revalidatePath)("/models"),{ok:"success"===d.status||null==d.error,error:d.error}}catch(b){let a=String(b instanceof Error?b.message:b);return{ok:!1,error:/abort|fetch failed|ECONN/i.test(a)?"Ollama not running â start it, then retry.":a}}}async function ai(a){let{workspace:b}=await (0,D.nP)();try{await fetch(`${Y}/api/delete`,{method:"DELETE",headers:{"content-type":"application/json"},body:JSON.stringify({name:a})})}catch{}return await ag(b.id),(0,C.revalidatePath)("/models"),{ok:!0}}async function aj(a){let{workspace:b}=await (0,D.nP)(),c=W.find(b=>b.id===a);if(!c)return{ok:!1,error:"unknown model"};let g=(0,z.join)((0,m.r$)(),"models");(0,v.mkdirSync)(g,{recursive:!0});let h=function(a){try{if("win32"===u().platform()){let b=(a[0]||"C").toUpperCase(),c=/^[A-Z]$/.test(b)?b:"C",d=(0,w.execFileSync)("powershell",["-NoProfile","-Command",`(Get-PSDrive ${c}).Free`],{timeout:6e3,stdio:["ignore","pipe","ignore"]}).toString().trim();return Number(d.replace(/[^\d]/g,""))||0}let b=(0,w.execFileSync)("df",["-k",a],{timeout:5e3,stdio:["ignore","pipe","ignore"]}).toString().trim().split("\n"),c=(b[b.length-1]??"").split(/\s+/),d=Number(c[3]);return d?1024*d:0}catch{return 0}}(g);if(h&&c.sizeBytes&&h<1.1*c.sizeBytes)return{ok:!1,error:`not enough free space â need ~${(c.sizeBytes/1e9).toFixed(1)} GB, ${(h/1e9).toFixed(1)} GB free`};let i=c.url.split("/").pop()??`${c.id}.gguf`,j=(0,z.join)(g,i);T.set(a,{received:0,total:0,done:!1});try{if(!(0,v.existsSync)(j)){let b=await fetch(c.url,{signal:AbortSignal.timeout(36e5)});if(!b.ok||!b.body)return T.set(a,{received:0,total:0,done:!0,error:`download failed (${b.status})`}),{ok:!1,error:`download failed (${b.status})`};let d=Number(b.headers.get("content-length"))||c.sizeBytes||0,e=0;T.set(a,{received:0,total:d,done:!1});let f=new A.PassThrough;f.on("data",b=>{e+=b.length;let c=T.get(a);c&&(c.received=e)}),await (0,B.pipeline)(A.Readable.fromWeb(b.body),f,(0,v.createWriteStream)(j));let g=S(j,d);if(!g.ok){try{(0,v.rmSync)(j)}catch{}return T.set(a,{received:e,total:d,done:!0,error:g.message}),{ok:!1,error:g.message}}}if((T.set(a,{received:1,total:1,done:!0}),c.sha256)&&await new Promise((a,b)=>{let c=(0,l.createHash)("sha256");(0,v.createReadStream)(j).on("data",a=>c.update(a)).on("end",()=>a(c.digest("hex"))).on("error",b)})!==c.sha256)return{ok:!1,error:"SHA-256 mismatch â file corrupt"};let g=(0,v.statSync)(j).size,[h]=await e.db.select().from(f.localModel).where((0,d.eq)(f.localModel.file,j));return h||await e.db.insert(f.localModel).values({id:(0,l.randomUUID)(),workspaceId:b.id,name:c.name,file:j,quant:c.quant,params:c.params,sizeBytes:g,sha256:c.sha256??"",bind:"127.0.0.1:8082"}),/embed|nomic|bge|mxbai|gte/i.test(c.name)&&az().catch(()=>{}),(0,C.revalidatePath)("/models"),{ok:!0,path:j}}catch(d){let b=String(d instanceof Error?d.message:d),c=T.get(a);return T.set(a,{received:c?.received??0,total:c?.total??0,done:!0,error:b}),{ok:!1,error:b}}}async function ak(a){return T.get(a)??null}async function al(a){await (0,D.nP)();let[b]=await e.db.select().from(f.localModel).where((0,d.eq)(f.localModel.id,a));if(!b)return{ok:!1,error:"model not found"};try{b.file&&(0,v.existsSync)(b.file)&&(0,v.rmSync)(b.file,{force:!0})}catch{}return await e.db.delete(f.localModel).where((0,d.eq)(f.localModel.file,b.file)),(0,C.revalidatePath)("/models"),{ok:!0}}function am(){return(0,z.join)((0,m.r$)(),"bin","llama")}function an(){try{let a=(0,z.join)(am(),"INSTALLED");if(!(0,v.existsSync)(a))return null;let b=(0,v.readFileSync)(a,"utf8").trim();return b&&(0,v.existsSync)(b)?b:null}catch{return null}}async function ao(a,b,c,d){let e=/\.(tar\.gz|tgz)$/i.test(b),f=(0,z.join)(c,b.replace(/[^\w.\-]+/g,"_"));(0,v.mkdirSync)(c,{recursive:!0});let g=await fetch(a,{signal:AbortSignal.timeout(18e5)});if(!g.ok||!g.body)return d&&T.set(d,{received:0,total:0,done:!0,error:`download failed (${g.status})`}),`download failed (${g.status})`;let h=Number(g.headers.get("content-length"))||0,i=A.Readable.fromWeb(g.body);if(d){let a=0;T.set(d,{received:0,total:h,done:!1});let b=new A.PassThrough;b.on("data",b=>{a+=b.length;let c=T.get(d);c&&(c.received=a)}),await (0,B.pipeline)(i,b,(0,v.createWriteStream)(f))}else await (0,B.pipeline)(i,(0,v.createWriteStream)(f));let j=S(f,h);if(!j.ok){try{(0,v.rmSync)(f)}catch{}return j.message}e?(0,w.execFileSync)("tar",["-xzf",f,"-C",c],{stdio:"ignore",timeout:12e4}):new(y())(f).extractAllTo(c,!0);try{(0,v.rmSync)(f)}catch{}return null}async function ap(){try{let a=await fetch("https://api.github.com/repos/ggml-org/llama.cpp/releases/latest",{headers:{"User-Agent":"constella",Accept:"application/vnd.github+json"},signal:AbortSignal.timeout(15e3)});if(!a.ok)return null;return(await a.json()).assets??[]}catch{return null}}let aq=!1;async function ar(a=!1){let b;if("win32"!==u().platform())return{ok:!0,fetched:!1};let c=am();try{b=(0,v.readdirSync)(c)}catch{return{ok:!1,fetched:!1,reason:"no llama dir"}}let d=b.some(a=>/^ggml-cuda\.dll$/i.test(a)),e=b.some(a=>/^cudart64_\d+\.dll$/i.test(a));if(!d||e)return{ok:e||!d,fetched:!1};if(aq&&!a)return{ok:!1,fetched:!1,reason:"already attempted this run"};aq=!0;let f="12";try{let a=(0,v.readFileSync)((0,z.join)(c,"ggml-cuda.dll")).toString("latin1").match(/cudart64_(\d+)\.dll/i);a&&(f=a[1])}catch{}let g=await ap();if(!g)return{ok:!1,fetched:!1,reason:"GitHub unreachable"};let h=g.filter(a=>/cudart/i.test(a.name)&&/x64|amd64/i.test(a.name)),i=h.find(a=>RegExp(`cuda-${f}\\.`,"i").test(a.name))??h[0];if(!i)return{ok:!1,fetched:!1,reason:"no cudart asset in the latest release"};let j=await ao(i.browser_download_url,i.name,c).catch(a=>String(a instanceof Error?a.message:a));if(j)return{ok:!1,fetched:!1,reason:j};let k=!1;try{k=(0,v.readdirSync)(c).some(a=>/^cudart64_\d+\.dll$/i.test(a))}catch{}return{ok:k,fetched:k}}async function as(){let a;await (0,D.nP)();let b=[];if(an()||await at()){let a=await ar(!0).catch(()=>null);return{ok:!0,installed:!0,log:["llama-server already installed.",...a?.fetched?["â fetched the CUDA runtime DLLs â GPU enabled."]:a&&!a.ok?[`â CUDA runtime still missing (${a.reason??"unknown"}).`]:[]]}}let c=await aa(),d=/cuda|nvidia/i.test(c.backend)||(c.accel??[]).some(a=>/cuda|nvidia/i.test(a));b.push(`platform ${u().platform()}/${u().arch()} \xb7 backend ${c.backend} â ${d?"CUDA":"CPU"} build`);try{let c=await fetch("https://api.github.com/repos/ggml-org/llama.cpp/releases/latest",{headers:{"User-Agent":"constella",Accept:"application/vnd.github+json"},signal:AbortSignal.timeout(15e3)});if(!c.ok)return{ok:!1,installed:!1,log:b,error:403===c.status?"GitHub API rate-limited â try again later or install manually from the releases page.":`GitHub releases API ${c.status}`};a=(await c.json()).assets??[]}catch(a){return{ok:!1,installed:!1,log:b,error:"couldn't reach GitHub: "+String(a instanceof Error?a.message:a)}}let e=function(a,b){let c=u().platform(),d="win32"===c?/win/i:"darwin"===c?/macos/i:/(ubuntu|linux)/i,e="arm64"===u().arch(),f=a.filter(a=>/\.(zip|tar\.gz|tgz)$/i.test(a.name)&&d.test(a.name));e||(f=f.filter(a=>!/arm64|aarch64/i.test(a.name)));let g=/cuda|hip|vulkan|sycl|kompute|musa|cann|adreno/i,h=a=>{if(!a.length)return null;let b=e?a.filter(a=>/arm64|aarch64/i.test(a.name)):a.filter(a=>/x64|amd64/i.test(a.name)),c=(b.length?b:a).sort((a,b)=>a.name.length-b.name.length)[0];return c?{name:c.name,url:c.browser_download_url}:null};if(b){let a=f.filter(a=>/cuda/i.test(a.name));if(a.length)return h(a)}let i=f.filter(a=>!g.test(a.name));return h(i.length?i:f)}(a,!!d);if(!e)return{ok:!1,installed:!1,log:b,error:"no matching prebuilt for this platform â install manually from the releases page."};b.push(`downloading ${e.name}âĻ`);let f=am();(0,v.mkdirSync)(f,{recursive:!0}),T.set("llama-server",{received:0,total:0,done:!1});try{let a=await ao(e.url,e.name,f,"llama-server");if(a)return T.set("llama-server",{received:0,total:0,done:!0,error:a}),{ok:!1,installed:!1,log:b,error:a};if(d){let a=await ar(!0);b.push(a.ok?a.fetched?"â CUDA runtime DLLs installed â GPU enabled.":"CUDA runtime already present.":`â CUDA runtime not installed (${a.reason??"unknown"}) â runs on CPU; retries on next Start/Install.`)}}catch(a){return{ok:!1,installed:!1,log:b,error:"download/extract failed: "+String(a instanceof Error?a.message:a)}}let g=function a(b,c,d){let e;if(d<0)return null;try{e=(0,v.readdirSync)(b,{withFileTypes:!0})}catch{return null}for(let a of e)if(a.isFile()&&a.name===c)return(0,z.join)(b,a.name);for(let f of e)if(f.isDirectory()){let e=a((0,z.join)(b,f.name),c,d-1);if(e)return e}return null}(f,"win32"===u().platform()?"llama-server.exe":"llama-server",5);if(!g)return{ok:!1,installed:!1,log:b,error:"downloaded, but llama-server wasn't found in the archive."};if("win32"!==u().platform())try{(0,v.chmodSync)(g,493)}catch{}return(0,v.writeFileSync)((0,z.join)(f,"INSTALLED"),g,"utf8"),T.set("llama-server",{received:1,total:1,done:!0}),b.push(`â installed â ${g}`),await aE().catch(()=>{}),(0,C.revalidatePath)("/models"),{ok:!0,installed:!0,path:g,log:b}}async function at(){if(an())return!0;try{return(0,w.execSync)("llama-server --version",{timeout:3e3,stdio:"ignore"}),!0}catch{return!1}}async function au(){try{let a=await fetch(`${Z}/v1/models`,{signal:AbortSignal.timeout(2500)});if(!a.ok)return{up:!1,model:null};let b=await a.json(),c=b.data?.[0]?.id;return{up:!0,model:c?c.split(/[\\/]/).pop()??c:null}}catch{return{up:!1,model:null}}}async function av(a){try{var b;let c,d=await aa();if(!/cuda|metal/i.test(d.backend))return[];let e=(b=d.vram,(c=/([\d.]+)\s*GB/i.exec(b||""))?1e9*parseFloat(c[1]):0);if(a&&e&&1.15*a>e)return[];return["-ngl","99"]}catch{return[]}}function aw(){try{let a=e.db.select({file:f.localModel.file,name:f.localModel.name}).from(f.localModel).all().find(a=>/embed|nomic|bge|mxbai|gte/i.test(a.name)&&a.file&&(0,v.existsSync)(a.file));return a?{file:a.file,name:a.name}:null}catch{return null}}function ax(){try{let a=e.db.select({file:f.localModel.file,name:f.localModel.name,sizeBytes:f.localModel.sizeBytes}).from(f.localModel).all().find(a=>!/embed|nomic|bge|mxbai|gte/i.test(a.name)&&a.file&&(0,v.existsSync)(a.file));return a?{file:a.file,name:a.name,sizeBytes:a.sizeBytes}:null}catch{return null}}async function ay(){try{return(await fetch(`${$}/health`,{signal:AbortSignal.timeout(1500)})).ok}catch{return!1}}async function az(){if(await ay())return{up:!0};let a=an();if(!a)return{up:!1,reason:"llama-server not installed"};let b=aw();if(!b)return{up:!1,reason:"no embedding model installed (download nomic-embed-text)"};try{await ar().catch(()=>{});let c=await av(),d=(0,w.spawn)(a,["-m",b.file,"--embeddings","--host","127.0.0.1","--port","8083","-c","2048","--pooling","mean",...c],{detached:!0,stdio:"ignore"});d.on("error",()=>{}),d.unref()}catch(a){return{up:!1,reason:"spawn failed: "+String(a instanceof Error?a.message:a)}}for(let a=0;a<24;a++)if(await new Promise(a=>setTimeout(a,500)),await ay())return{up:!0,model:b.name};return{up:!1,reason:"embedding server didn't come up in time"}}async function aA(){if((await au()).up)return{up:!0};let a=an();if(!a)return{up:!1,reason:"llama-server not installed"};let b=ax();if(!b)return{up:!1,reason:"no chat GGUF installed"};try{await ar().catch(()=>{});let c=await av(b.sizeBytes),d=(0,w.spawn)(a,["-m",b.file,"--host","127.0.0.1","--port","8082","-c","4096",...c],{detached:!0,stdio:"ignore"});d.on("error",()=>{}),d.unref()}catch(a){return{up:!1,reason:"spawn failed: "+String(a instanceof Error?a.message:a)}}for(let a=0;a<24;a++)if(await new Promise(a=>setTimeout(a,500)),(await au()).up)return{up:!0,model:b.name};return{up:!1,reason:"llama server didn't come up in time"}}async function aB(){let a=aw();return{up:await ay(),model:a?.name??null,installed:!!a}}async function aC(){let a=await az();return(0,C.revalidatePath)("/models"),a}async function aD(){let{org:a}=await (0,D.nP)();await az().catch(()=>{});let b=await N(a.id);return(0,C.revalidatePath)("/models"),b}async function aE(){let{workspace:a}=await (0,D.nP)(),b=await au(),c=new Set((await e.db.select({file:f.localModel.file}).from(f.localModel)).map(a=>a.file)).size,g={status:b.up?"connected":"needs_sync",modelCount:c,lastSync:b.up?new Date:null},[h]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.workspaceId,a.id),(0,d.eq)(f.provider.catalogId,"llamacpp")));return h?await e.db.update(f.provider).set(g).where((0,d.eq)(f.provider.id,h.id)):await e.db.insert(f.provider).values({id:(0,l.randomUUID)(),workspaceId:a.id,catalogId:"llamacpp",adapter:"local_llamacpp",kind:"local",auth:"local",syncStatus:"implemented",...g}),(0,C.revalidatePath)("/models"),{ok:!0}}async function aF(a){let b;await (0,D.nP)();let c=await at(),g=[];if(!c)return{up:!1,installed:!1,log:["llama-server not found â install llama.cpp from https://github.com/ggml-org/llama.cpp/releases (or `brew install llama.cpp`), then retry."]};if((await au()).up)return{up:!0,installed:c,log:[`server already running on ${Z}`]};let h=0;if(a){let g,[i]=await e.db.select().from(f.localModel).where((0,d.eq)(f.localModel.id,a));if(i&&(g=i.name,/embed|nomic|bge|mxbai|gte/i.test(g))){let a=await az();return{up:a.up,installed:c,log:[`${i.name} is an EMBEDDING model â started the RAG embedding server on :8083 (it can't power chat on :8082).`,a.up?`â embeddings ready \xb7 ${$}`:`embeddings: ${a.reason??"failed to start"}`]}}b=i?.file,h=i?.sizeBytes??0}if(!b){let a=ax();b=a?.file,h=a?.sizeBytes??0}if(!b||!(0,v.existsSync)(b)){let a=aw();if(a){let b=await az();return{up:!1,installed:c,log:[`Your only local model (${a.name}) is an EMBEDDING model â it powers RAG on the embeddings server (${$}), not the chat server.`,b.up?"â embeddings server is running.":`embeddings: ${b.reason??"not started"}`,"Download a chat/instruct GGUF (e.g. Qwen, Llama) below to run the chat server on :8082."]}}return{up:!1,installed:c,log:["no GGUF model on disk â download one below first."]}}try{let a=an()??"llama-server";await ar().catch(()=>{});let d=await av(h),e=(0,w.spawn)(a,["-m",b,"--host","127.0.0.1","--port","8082","-c","4096",...d],{detached:!0,stdio:"ignore"}),f="";e.on("error",a=>{f=String(a instanceof Error?a.message:a)}),e.unref(),g.push(`$ llama-server -m ${b.split(/[\\/]/).pop()} --port 8082${d.length?" -ngl 99 (GPU)":" (CPU)"}`);let i=!1;for(let a=0;a<12&&!i;a++)await new Promise(a=>setTimeout(a,1e3)),i=(await au()).up;return f&&g.push("spawn failed: "+f),g.push(i?`â ready \xb7 ${Z}`:"still starting â large models take longer; run llama-server in a terminal to see progress."),await aE(),(0,C.revalidatePath)("/models"),{up:i,installed:c,log:g}}catch(a){return{up:!1,installed:c,log:["failed to start: "+String(a instanceof Error?a.message:a)]}}}async function aG(){let a=await at(),b=[];try{if("win32"===u().platform()){let a=(0,w.execSync)('powershell -NoProfile -Command "Get-NetTCPConnection -LocalPort 8082 -State Listen -ErrorAction SilentlyContinue | Select-Object -ExpandProperty OwningProcess"',{timeout:5e3}).toString().split(/\r?\n/).map(a=>a.trim()).filter(Boolean);if(!a.length)throw Error("not running");for(let b of a)(0,w.execSync)(`taskkill /PID ${b} /F`,{stdio:"ignore",timeout:4e3})}else(0,w.execSync)("pkill -f -- 'llama-server.*--port 8082'",{stdio:"ignore",timeout:4e3});b.push("server stopped")}catch{b.push("no running chat llama-server process found")}return await aE(),(0,C.revalidatePath)("/models"),{up:!1,installed:a,log:b}}(0,X.D)([aa,ab,ac,ad,ae,af,ah,ai,aj,ak,al,as,at,au,ay,az,aA,aB,aC,aD,aE,aF,aG]),(0,s.A)(aa,"00f1167df722f92286917fa4940a672407b1c19f95",null),(0,s.A)(ab,"00b3ada168785f05d91953e196ff9e629394c71f6c",null),(0,s.A)(ac,"401c666cf084eddc0dffbc92690b8485f6bb35bb76",null),(0,s.A)(ad,"00e8d27c5632be19ba82275be7daab4ca11ac30265",null),(0,s.A)(ae,"405bbb6298711330c0a007ae10eea08b34e1223ca1",null),(0,s.A)(af,"0049165d407101d40a5d00da538a6d71ff6c0cf759",null),(0,s.A)(ah,"40fd12491a5c555de5b0eaaa9e4b0f3097e4967851",null),(0,s.A)(ai,"405a19722e7131aeebc719ebaf12c74a1682c69a11",null),(0,s.A)(aj,"40e28ba0dfac6e7e214062a8b673ca7b4b44c5c87d",null),(0,s.A)(ak,"407c663df5abe57a45597e626aefe95df23e6946a9",null),(0,s.A)(al,"40b760c8302cb242aa549e9abff4587294fabab477",null),(0,s.A)(as,"00bcafd8a8e2107bb2939a5e353db5bcf1865921ef",null),(0,s.A)(at,"009318875523f1f33fd010f80e967c123eb9ad62eb",null),(0,s.A)(au,"006c909a46b7f43ab34b0f5c528a5599c55483d3e2",null),(0,s.A)(ay,"006f70fc5235026e74aa57f7c74fa2a41f520679a0",null),(0,s.A)(az,"009a9da1bd0fa61f361f014358ef9b43180692d144",null),(0,s.A)(aA,"001f94d0bd03f690900ff275fc7bcb81f9d6db5da1",null),(0,s.A)(aB,"00f4b1765195f72a7b12d848bc3a2350f7a0f8cdae",null),(0,s.A)(aC,"00582b241ca559456a57429e2961de086d53d90623",null),(0,s.A)(aD,"00c63dd53781d20430fbd0b1b5fdbf72cd4383e759",null),(0,s.A)(aE,"00df3ceaa88bb6e2855dfd878b7de60ec140591e32",null),(0,s.A)(aF,"407439429438ecc96bc01ec5c7cfd82b32a53b59b7",null),(0,s.A)(aG,"0033b35723a2f0e68a64e154c1ad7fc143aaa54614",null);var aH=c(71195);let aI={anthropic:"anthropic",openai:"openai",google_gemini:"google",xai_grok:"xai",deepseek:"deepseek",cohere:"cohere",groq:"groq",nvidia_nim:"nvidia",together:"togetherai",fireworks:"fireworks-ai",cerebras:"cerebras",perplexity:"perplexity",openrouter:"openrouter",mistral:"mistral",moonshot:"moonshotai",dashscope:"alibaba",zhipu:"zhipuai",azure_openai:"azure",aws_bedrock:"amazon-bedrock",vertex_ai:"google-vertex",claude_code:"anthropic",gemini_cli:"google",codex_cli:"openai"};function aJ(a){return aI[a]?aI[a]:a.replace(/_(grok|gemini|nim|cli|openai|api|server|rt)$/g,"").replace(/_/g,"-")}let aK={anthropic:["sonnet-4","sonnet","opus-4","opus"],openai:["gpt-5.2","gpt-5.1","gpt-5","gpt-4.1","o4"],google:["gemini-3-pro","gemini-3","gemini-2.5-pro","pro"],xai:["grok-4","grok-3","grok"],groq:["llama-4","llama-3.3","llama-3.1"],deepseek:["deepseek-chat","deepseek-v3","deepseek-reasoner"],mistral:["mistral-large","mistral-medium"],openrouter:["claude-sonnet","gpt-5","gemini"]},aL=(a,b,c,d,e,f,g,h)=>({id:a,name:b,context:c,outputLimit:d,inputCost:e,outputCost:f,caps:{reasoning:!!g.reasoning,tools:!!g.tools,vision:!!g.vision},released:h}),aM={anthropic:[aL("claude-opus-4-8","Claude Opus 4.8",1e6,64e3,5,25,{reasoning:!0,tools:!0,vision:!0},"2026-02-01"),aL("claude-opus-4-7","Claude Opus 4.7",1e6,64e3,5,25,{reasoning:!0,tools:!0,vision:!0},"2025-12-01"),aL("claude-sonnet-4-6","Claude Sonnet 4.6",1e6,64e3,3,15,{reasoning:!0,tools:!0,vision:!0},"2026-01-15"),aL("claude-haiku-4-5","Claude Haiku 4.5",2e5,32e3,1,5,{tools:!0,vision:!0},"2025-10-01")],openai:[aL("gpt-5.2","GPT-5.2",4e5,128e3,1.25,10,{reasoning:!0,tools:!0,vision:!0},"2026-03-01"),aL("gpt-5.1","GPT-5.1",4e5,128e3,1.25,10,{reasoning:!0,tools:!0,vision:!0},"2025-12-01"),aL("gpt-5","GPT-5",4e5,128e3,1.25,10,{reasoning:!0,tools:!0,vision:!0},"2025-08-01"),aL("o4-mini","o4-mini",2e5,1e5,1.1,4.4,{reasoning:!0,tools:!0},"2025-04-01")],google:[aL("gemini-3-pro","Gemini 3 Pro",2e6,64e3,2,12,{reasoning:!0,tools:!0,vision:!0},"2026-02-01"),aL("gemini-3-flash","Gemini 3 Flash",1e6,64e3,.3,2.5,{tools:!0,vision:!0},"2026-02-01"),aL("gemini-2.5-pro","Gemini 2.5 Pro",2e6,64e3,1.25,10,{reasoning:!0,tools:!0,vision:!0},"2025-06-01")],xai:[aL("grok-4.3","Grok 4.3",256e3,64e3,3,15,{reasoning:!0,tools:!0,vision:!0},"2026-02-01"),aL("grok-4","Grok 4",256e3,64e3,3,15,{reasoning:!0,tools:!0,vision:!0},"2025-09-01"),aL("grok-3","Grok 3",131072,32e3,3,15,{tools:!0,vision:!0},"2025-02-01")],deepseek:[aL("deepseek-chat","DeepSeek Chat",128e3,8e3,.27,1.1,{tools:!0},"2025-12-01"),aL("deepseek-reasoner","DeepSeek Reasoner",128e3,64e3,.55,2.19,{reasoning:!0,tools:!0},"2025-12-01")],groq:[aL("llama-4-scout","Llama 4 Scout",131072,8e3,.11,.34,{tools:!0,vision:!0},"2025-04-01"),aL("llama-3.3-70b","Llama 3.3 70B",131072,32e3,.59,.79,{tools:!0},"2024-12-01")]},aN=null;function aO(){return(0,z.join)((0,m.r$)(),"cache","models-dev.json")}async function aP(){try{let a=await fetch("https://models.dev/api.json",{signal:AbortSignal.timeout(1e4),headers:{accept:"application/json"}});if(!a.ok)return null;let b=await a.json();if(!b||"object"!=typeof b)return null;let c={};for(let[a,d]of Object.entries(b)){let b=d?.models,e=function(a){if(!a||"object"!=typeof a)return[];let b=[];for(let[c,d]of Object.entries(a)){let a=d??{},e=String(a.id??c),f=e.includes("/")?e.split("/").pop():e;if(!f)continue;let g=a.modalities??{},h=Array.isArray(g.input)?g.input:[],i=a.limit??{},j=a.cost??{},k={reasoning:!0===a.reasoning,tools:!0===a.tool_call,vision:!0===a.attachment||h.includes("image")};b.push({id:f,name:String(a.name??f),context:Number(i.context??0)||0,outputLimit:Number(i.output??0)||0,inputCost:Number(j.input??0)||0,outputCost:Number(j.output??0)||0,caps:k,released:"string"==typeof a.release_date?a.release_date:""})}return b}(b);e.length&&(c[a]=e)}return Object.keys(c).length?c:null}catch{return null}}async function aQ(){if(aN&&Date.now()-aN.at<864e5)return aN.data;let a=function(){try{let a=aO();if(!(0,v.existsSync)(a))return null;let b=JSON.parse((0,v.readFileSync)(a,"utf8"));if(!b?.data||"object"!=typeof b.data)return null;return{at:Number(b.at??(0,v.statSync)(a).mtimeMs),data:b.data}}catch{return null}}();if(a&&Date.now()-a.at<864e5)return aN=a,a.data;let b=await aP();if(b){aN={at:Date.now(),data:b};try{(0,v.mkdirSync)((0,z.join)((0,m.r$)(),"cache"),{recursive:!0}),(0,v.writeFileSync)(aO(),JSON.stringify({at:Date.now(),data:b}),"utf8")}catch{}return b}return a?(aN=a,a.data):{}}async function aR(){return Object.keys(await aQ()).length}async function aS(a){let b=aJ(a),c=await aQ();return c[b]?.length?c[b]:aM[b]??[]}async function aT(a,b,c=9e3){try{let d=await fetch(a,{headers:b,signal:AbortSignal.timeout(c)});if(!d.ok)return null;return await d.json()}catch{return null}}async function aU(a){let{catalogId:b,adapter:c,baseUrl:d,apiKey:e}=a;if(c.startsWith("cli_"))return"cli_opencode"===c?(await (0,aH.ZB)("opencode")).map(a=>({id:a})):"cli_aider"===c?(await (0,aH.ZB)("aider")).map(a=>({id:a})):null;if(/ollama/i.test(b)||c.includes("ollama")){let a=(d||"http://127.0.0.1:11434").replace(/\/$/,"").replace(/\/v1$/,""),b=await aT(`${a}/api/tags`,{});return b?(b.models??[]).map(a=>({id:String(a.name??"")})).filter(a=>a.id):[]}if(!d)return null;let f=d.replace(/\/$/,""),g="http_anthropic"===c||"anthropic"===b,h=g?"https://api.anthropic.com/v1/models":f.endsWith("/models")?f:f+(f.includes("/v1")?"/models":"/v1/models"),i=g?e?{"x-api-key":e,"anthropic-version":"2023-06-01"}:{}:e?{authorization:`Bearer ${e}`}:{},j=await aT(h,i);return j?(Array.isArray(j.data)?j.data:Array.isArray(j.models)?j.models:[]).map(a=>{let b=String(a.id??a.name??"");if(!b)return null;let c={id:b};"string"==typeof a.display_name?c.name=a.display_name:"string"==typeof a.name&&(c.name=a.name),"number"==typeof a.context_length&&(c.context=a.context_length);let d=a.pricing;if(d){let a=Number(d.prompt),b=Number(d.completion);Number.isFinite(a)&&a>0&&(c.inputCost=1e6*a),Number.isFinite(b)&&b>0&&(c.outputCost=1e6*b)}return c}).filter(a=>!!a).slice(0,200):[]}async function aV(){let a=await aQ(),b=new Map;for(let c of Object.values(a))for(let a of c){let c=a.id.toLowerCase();b.has(c)||b.set(c,a)}return b}async function aW(a,b){let c=await aS(a);if(!b||0===b.length)return c;let d=new Map;for(let a of c)d.set(a.id.toLowerCase(),a);let e=await aV(),f=a=>{let b=a.toLowerCase(),c=a.includes("/")?a.split("/").pop().toLowerCase():b;return d.get(b)??d.get(c)??e.get(b)??e.get(c)},g=[];for(let a of b){let b=f(a.id);g.push({id:a.id,name:a.name||b?.name||a.id,context:a.context??b?.context??0,outputLimit:b?.outputLimit??0,inputCost:a.inputCost??b?.inputCost??0,outputCost:a.outputCost??b?.outputCost??0,caps:b?.caps??{reasoning:!1,tools:!1,vision:!1},released:b?.released??""})}return g}var aX=c(50704);let aY=Object.fromEntries([{id:"anthropic",displayName:"Anthropic",category:"cloud_api",connectionTypes:["api_key","oauth"],defaultAdapter:"http_anthropic",baseUrl:"https://api.anthropic.com",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"available",notes:"Claude family. Model list mapped from provider capabilities."},{id:"openai",displayName:"OpenAI",category:"cloud_api",connectionTypes:["api_key","oauth"],defaultAdapter:"http_openai",baseUrl:"https://api.openai.com/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"available",notes:"GPT-4o/o-series + DALL\xb7E + Whisper."},{id:"google_gemini",displayName:"Google AI / Gemini",category:"cloud_api",connectionTypes:["api_key","oauth"],defaultAdapter:"http_google",baseUrl:"https://generativelanguage.googleapis.com",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"available",notes:"Gemini 1.5/2.x via AI Studio API key."},{id:"xai_grok",displayName:"xAI / Grok",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_xai",baseUrl:"https://api.x.ai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"available",notes:"OpenAI-compatible REST. Grok-2/3."},{id:"deepseek",displayName:"DeepSeek",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_deepseek",baseUrl:"https://api.deepseek.com",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"deepseek-chat / deepseek-reasoner."},{id:"cohere",displayName:"Cohere",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_cohere",baseUrl:"https://api.cohere.com/v2",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Command R/R+ and strong rerank/embeddings."},{id:"ai21",displayName:"AI21",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_ai21",baseUrl:"https://api.ai21.com/studio/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"perplexity",displayName:"Perplexity",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_perplexity",baseUrl:"https://api.perplexity.ai",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"available"},{id:"groq",displayName:"Groq",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_groq",baseUrl:"https://api.groq.com/openai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Ultra-low-latency LPU inference, OpenAI-compatible."},{id:"nvidia_nim",displayName:"NVIDIA / NIM",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"available",notes:"NIM microservices, OpenAI-compatible."},{id:"together",displayName:"Together AI",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_together",baseUrl:"https://api.together.xyz/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available"},{id:"fireworks",displayName:"Fireworks AI",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_fireworks",baseUrl:"https://api.fireworks.ai/inference/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available"},{id:"cerebras",displayName:"Cerebras",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_cerebras",baseUrl:"https://api.cerebras.ai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"available",notes:"Wafer-scale fast inference."},{id:"huggingface",displayName:"Hugging Face",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_hf",baseUrl:"https://api-inference.huggingface.co",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"replicate",displayName:"Replicate",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_replicate",baseUrl:"https://api.replicate.com/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"anyscale",displayName:"Anyscale",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_anyscale",baseUrl:"https://api.endpoints.anyscale.com/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"Endpoints product changing â adapter pending."},{id:"databricks",displayName:"Databricks",category:"cloud_api",connectionTypes:["api_key","oauth"],defaultAdapter:"http_databricks",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!0,status:"requires_setup"},{id:"stability",displayName:"Stability AI",category:"image",connectionTypes:["api_key"],defaultAdapter:"http_stability",baseUrl:"https://api.stability.ai",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"elevenlabs",displayName:"ElevenLabs",category:"audio",connectionTypes:["api_key"],defaultAdapter:"http_elevenlabs",baseUrl:"https://api.elevenlabs.io/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"available",notes:"TTS / voice."},{id:"voyage",displayName:"Voyage AI",category:"embedding",connectionTypes:["api_key"],defaultAdapter:"http_voyage",baseUrl:"https://api.voyageai.com/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"available"},{id:"jina",displayName:"Jina AI",category:"embedding",connectionTypes:["api_key"],defaultAdapter:"http_jina",baseUrl:"https://api.jina.ai/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"available"},{id:"runpod",displayName:"RunPod",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_runpod",baseUrl:"https://api.runpod.ai/v2",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"requires_setup"},{id:"lambda",displayName:"Lambda Labs",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_lambda",baseUrl:"https://api.lambdalabs.com/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"modal",displayName:"Modal",category:"cloud_api",connectionTypes:["api_key","custom_endpoint"],defaultAdapter:"http_modal",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"requires_setup"},{id:"baseten",displayName:"Baseten",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_baseten",baseUrl:"https://inference.baseten.co/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"requires_setup"},{id:"openrouter",displayName:"OpenRouter",category:"router",connectionTypes:["api_key","oauth"],defaultAdapter:"http_openrouter",baseUrl:"https://openrouter.ai/api/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"available",notes:"Aggregates 300+ models across providers â full live list."},{id:"omnirouter",displayName:"OmniRouter",category:"router",connectionTypes:["api_key"],defaultAdapter:"http_omnirouter",baseUrl:"https://api.omnirouter.ai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"experimental",notes:"OpenAI-compatible multi-provider router."},{id:"litellm",displayName:"LiteLLM",category:"openai_compatible",connectionTypes:["api_key","openai_compatible","custom_endpoint"],defaultAdapter:"http_litellm",baseUrl:"http://localhost:4000",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Self-hosted proxy; unifies 100+ providers."},{id:"portkey",displayName:"Portkey",category:"router",connectionTypes:["api_key"],defaultAdapter:"http_portkey",baseUrl:"https://api.portkey.ai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Gateway with virtual keys."},{id:"helicone",displayName:"Helicone",category:"router",connectionTypes:["api_key"],defaultAdapter:"http_helicone",baseUrl:"https://oai.helicone.ai/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental",notes:"Observability proxy in front of OpenAI-compatible providers."},{id:"openai_compatible",displayName:"OpenAI-compatible endpoint",category:"openai_compatible",connectionTypes:["openai_compatible","api_key","custom_endpoint"],defaultAdapter:"http_openai_compat",baseUrl:"https://",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Any server exposing /v1/chat/completions + /v1/models."},{id:"lmstudio_server",displayName:"LM Studio (OpenAI server)",category:"openai_compatible",connectionTypes:["openai_compatible","local"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:1234/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available",notes:"Local OpenAI-compatible server from LM Studio."},{id:"ollama_openai",displayName:"Ollama (OpenAI endpoint)",category:"openai_compatible",connectionTypes:["openai_compatible","local"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:11434/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Ollama's OpenAI-compatible surface."},{id:"vllm_server",displayName:"vLLM (OpenAI server)",category:"openai_compatible",connectionTypes:["openai_compatible","local"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:8000/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"High-throughput self-hosted serving."},{id:"tgi",displayName:"Text Generation Inference",category:"openai_compatible",connectionTypes:["openai_compatible","local","custom_endpoint"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:8080/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"experimental",notes:"HF TGI with OpenAI route."},{id:"localai",displayName:"LocalAI",category:"openai_compatible",connectionTypes:["openai_compatible","local"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:8080/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available",notes:"Drop-in OpenAI replacement, fully local."},{id:"azure_openai",displayName:"Azure OpenAI",category:"cloud_platform",connectionTypes:["api_key","oauth"],defaultAdapter:"http_azure_openai",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"requires_setup"},{id:"aws_bedrock",displayName:"AWS Bedrock",category:"cloud_platform",connectionTypes:["api_key","custom_endpoint"],defaultAdapter:"sdk_bedrock",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"requires_setup",notes:"SigV4 auth; multi-vendor models."},{id:"vertex_ai",displayName:"Google Vertex AI",category:"cloud_platform",connectionTypes:["oauth","api_key"],defaultAdapter:"sdk_vertex",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"requires_setup",notes:"GCP service-account / ADC."},{id:"cloudflare",displayName:"Cloudflare Workers AI",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_cloudflare",baseUrl:"https://api.cloudflare.com/client/v4",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"oci_genai",displayName:"Oracle OCI Generative AI",category:"cloud_platform",connectionTypes:["api_key","custom_endpoint"],defaultAdapter:"sdk_oci",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"OCI SDK signing â adapter pending."},{id:"watsonx",displayName:"IBM watsonx",category:"cloud_platform",connectionTypes:["api_key","oauth"],defaultAdapter:"http_watsonx",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!0,status:"requires_setup"},{id:"dashscope",displayName:"Alibaba DashScope / Qwen",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_dashscope",baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"experimental",notes:"Qwen models, OpenAI-compatible mode."},{id:"qianfan",displayName:"Baidu Qianfan",category:"cloud_platform",connectionTypes:["api_key","oauth"],defaultAdapter:"http_qianfan",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!0,status:"planned",notes:"ERNIE; access-token auth â adapter pending."},{id:"hunyuan",displayName:"Tencent Hunyuan",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_hunyuan",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"TC3-HMAC signing â adapter pending."},{id:"zhipu",displayName:"Zhipu AI (GLM)",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_zhipu",baseUrl:"https://open.bigmodel.cn/api/paas/v4",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"experimental"},{id:"moonshot",displayName:"Moonshot AI / Kimi",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_moonshot",baseUrl:"https://api.moonshot.cn/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"OpenAI-compatible; long context."},{id:"minimax",displayName:"MiniMax",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_minimax",baseUrl:"https://api.minimax.chat/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"Group-id + key auth â adapter pending."},{id:"ollama",displayName:"Ollama",category:"local_runtime",connectionTypes:["local","cli"],defaultAdapter:"local_ollama",baseUrl:"http://localhost:11434",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"available",notes:"Pulls + serves local models; live /api/tags list."},{id:"llamacpp",displayName:"llama.cpp",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_llamacpp",baseUrl:"http://127.0.0.1:8082",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available",notes:"GGUF models, SHA-256 verified, bound to 127.0.0.1."},{id:"lmstudio",displayName:"LM Studio",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_lmstudio",baseUrl:"http://localhost:1234",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsVision:!0,status:"available",notes:"Desktop runtime + local server."},{id:"vllm",displayName:"vLLM",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_vllm",baseUrl:"http://localhost:8000",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"GPU serving engine."},{id:"localai_rt",displayName:"LocalAI",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_localai",baseUrl:"http://localhost:8080",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available"},{id:"gpt4all",displayName:"GPT4All",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_gpt4all",baseUrl:"http://localhost:4891/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"experimental"},{id:"koboldcpp",displayName:"KoboldCpp",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_kobold",baseUrl:"http://localhost:5001",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,status:"experimental"},{id:"jan",displayName:"Jan",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_jan",baseUrl:"http://localhost:1337/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"experimental"},{id:"anythingllm",displayName:"AnythingLLM (local)",category:"local_runtime",connectionTypes:["local","api_key"],defaultAdapter:"local_anythingllm",baseUrl:"http://localhost:3001/api",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"Workspace API â adapter pending."},{id:"openwebui",displayName:"Open WebUI (backend)",category:"local_runtime",connectionTypes:["local","openai_compatible"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:3000/api",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"experimental"},{id:"claude_code",displayName:"Claude Code",category:"cli",connectionTypes:["cli","oauth"],defaultAdapter:"cli_claude_code",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!0,supportsTools:!0,status:"available",notes:"Drives the local Claude Code CLI / agent."},{id:"codex_cli",displayName:"Codex CLI",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_codex",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"OpenAI Codex CLI agent."},{id:"openclaw",displayName:"OpenClaw",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_openclaw",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"OpenClaw CLI â headless `openclaw infer model run --json` (provider-routed). No token/cost reported."},{id:"hermes_cli",displayName:"Hermes (Nous Research)",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_hermes",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Hermes agent CLI â headless `hermes -z`. Configure providers via `hermes model`."},{id:"gemini_cli",displayName:"Gemini CLI",category:"cli",connectionTypes:["cli","oauth"],defaultAdapter:"cli_gemini",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!0,supportsTools:!0,status:"experimental"},{id:"aider",displayName:"Aider",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_aider",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `aider --message --yes-always`; provider-routed via its own env keys. Model list from `aider --list-models`. No token/cost reported."},{id:"opencode",displayName:"OpenCode",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_opencode",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `opencode run`; providers via `opencode auth login`. Model list from `opencode models`. No token/cost reported."},{id:"copilot_cli",displayName:"GitHub Copilot CLI",category:"cli",connectionTypes:["cli","oauth"],defaultAdapter:"cli_copilot",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!0,supportsTools:!0,status:"experimental",notes:"Headless `copilot -p --allow-all-tools`; sign in with the Copilot CLI. No token/cost reported."},{id:"cursor_cli",displayName:"Cursor CLI",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_cursor",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `cursor-agent -p --output-format json`; sign in via `cursor-agent login`. `-p` can hang â bounded timeout. No token/cost reported."},{id:"cline_cli",displayName:"Cline CLI",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_cline",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `cline --json -y`; provider-routed via its own config. No token/cost reported."},{id:"kilo_code",displayName:"Kilo Code CLI",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_kilo",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `kilocode --yes`; provider-routed via its own config. No token/cost reported."},{id:"openai_cli",displayName:"OpenAI CLI",category:"cli",connectionTypes:["cli","api_key"],defaultAdapter:"cli_openai",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"Thin CLI over the API â adapter pending."},{id:"ollama_cli",displayName:"Ollama CLI",category:"cli",connectionTypes:["cli","local"],defaultAdapter:"cli_ollama",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available",notes:"`ollama run/list` driven."},{id:"custom_cli",displayName:"Custom CLI provider",category:"cli",connectionTypes:["cli","custom_endpoint"],defaultAdapter:"cli_custom",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,status:"requires_setup",notes:"Define your own command + arg template."}].map(a=>[a.id,a])),aZ=a=>aY[a];async function a$(a,b,c=12e3){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{let c,e=await fetch(a,{headers:b,signal:d.signal}),f=await e.text();try{c=JSON.parse(f)}catch{c=void 0}return{ok:e.ok,status:e.status,json:c,error:e.ok?void 0:f.slice(0,200)||e.statusText}}catch(a){return{ok:!1,status:0,error:a instanceof Error?a.message:String(a)}}finally{clearTimeout(e)}}function a_(a){return a&&"object"==typeof a?Array.isArray(a.data)?a.data.length:Array.isArray(a.models)?a.models.length:0:0}async function a0(a,b){let c=a.defaultAdapter;if(c.startsWith("cli_")){let a=(0,aH.hW)(c);return await (0,aH.$g)(a)?{ok:!0,count:(aH.w5[c]??aH.w5.cli_claude_code).length}:{ok:!1,count:0,error:`${a} CLI not found on PATH`}}if("local_ollama"===c||"ollama"===a.id||"ollama_openai"===a.id){let b=a.baseUrl||"http://127.0.0.1:11434",c=await a$(b.replace(/\/$/,"")+"/api/tags",{});return c.ok?{ok:!0,count:a_(c.json)}:{ok:!1,count:0,error:c.error||"Ollama not reachable at "+b}}if("local_runtime"===a.category){let c=a.baseUrl||"http://127.0.0.1:8080",d=await a$(c.replace(/\/$/,"")+"/v1/models",b?{Authorization:"Bearer "+b}:{});return d.ok?{ok:!0,count:a_(d.json)}:{ok:!1,count:0,error:d.error||"local runtime not reachable"}}if(!b)return{ok:!1,count:0,error:"no API key in vault â connect with a key first"};if("http_anthropic"===c||"anthropic"===a.id){let a=await a$("https://api.anthropic.com/v1/models",{"x-api-key":b,"anthropic-version":"2023-06-01"});return a.ok?{ok:!0,count:a_(a.json)}:{ok:!1,count:0,error:a.error||"auth failed ("+a.status+")"}}let d=(a.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),e=d.endsWith("/models")?d:d+(d.includes("/v1")?"/models":"/v1/models"),f=await a$(e,{Authorization:"Bearer "+b});return f.ok?{ok:!0,count:a_(f.json)}:{ok:!1,count:0,error:f.error||"auth failed ("+f.status+")"}}async function a1(a,b){let{workspace:c}=await (0,D.nP)(),d=aZ(a);if(!d)return;let g=(0,l.randomUUID)();await e.db.insert(f.provider).values({id:g,workspaceId:c.id,catalogId:a,adapter:d.defaultAdapter,kind:"cli"===d.category?"cli":"local_runtime"===d.category?"local":"cloud",auth:d.connectionTypes.includes("api_key")?"api_key":d.connectionTypes[0],status:"needs_sync",syncStatus:d.supportsModelSync?"implemented":"manual"}),b&&await (0,aX.IW)(c.id,`${a}_api_key`,b,g),(0,C.revalidatePath)("/models"),await a2(g)}async function a2(a){let b,{workspace:c}=await (0,D.nP)(),[g]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.id,a),(0,d.eq)(f.provider.workspaceId,c.id)));if(!g)return{ok:!1,error:"not found"};let h=aZ(g.catalogId);if(!h)return{ok:!1,error:"unknown provider"};let i=await (0,aX.r6)(c.id,`${g.catalogId}_api_key`),j=await a0(h,i),k=null;if("cli"===h.category){let a=(0,aH.hW)(h.defaultAdapter);b=(k=await (0,aH.$g)(a).catch(()=>null))?await (0,aH.Kp)(a).catch(()=>"unknown"):"needs_login"}else b="local_runtime"===h.category?j.ok?"ready":"unknown":i&&j.ok?"ready":"needs_key";return await e.db.update(f.provider).set({status:j.ok?"connected":"error",modelCount:j.count,lastSync:new Date,cliVersion:k,authState:b}).where((0,d.eq)(f.provider.id,a)),j.ok&&await a3(a).catch(()=>{}),(0,C.revalidatePath)("/models"),j}async function a3(a){let{workspace:b}=await (0,D.nP)(),[c]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.id,a),(0,d.eq)(f.provider.workspaceId,b.id)));if(!c)return{ok:!1,count:0,error:"not found"};let g=await a4(c);return(0,C.revalidatePath)("/models"),g}async function a4(a){let b,c,g,h=aZ(a.catalogId);if(!h)return{ok:!1,count:0,error:"unknown provider"};let i=await (0,aX.r6)(a.workspaceId,`${a.catalogId}_api_key`),j="cli"===h.category;try{b=await aU({catalogId:a.catalogId,adapter:a.adapter,baseUrl:h.baseUrl,apiKey:i})}catch{b=null}if(j){let d=(0,aH.hW)(a.adapter);g=(c=await (0,aH.$g)(d).catch(()=>null))?await (0,aH.Kp)(d).catch(()=>"unknown"):"needs_login",null===b&&(b=(aH.w5[a.adapter]??[]).filter(a=>"(default)"!==a).map(a=>({id:a})))}if(null===b)return{ok:!0,count:0};let k=await aW(a.catalogId,b),m=new Date,n=k.length?function(a,b){if(!b.length)return"";let c=aK[aJ(a)];if(c)for(let a of c){let c=b.filter(b=>b.id.toLowerCase().includes(a));if(c.length)return c.sort((a,b)=>(b.released||"").localeCompare(a.released||"")),c[0].id}let d=b.filter(a=>a.released);return d.length?(d.sort((a,b)=>b.released.localeCompare(a.released)),d[0].id):b[0].id}(a.catalogId,k):null;if(k.length)await e.db.delete(f.providerModel).where((0,d.eq)(f.providerModel.providerId,a.id)),await e.db.insert(f.providerModel).values(k.map(b=>({id:(0,l.randomUUID)(),workspaceId:a.workspaceId,providerId:a.id,catalogId:a.catalogId,modelId:b.id,name:b.name,context:b.context,outputLimit:b.outputLimit,inputCost:b.inputCost,outputCost:b.outputCost,caps:b.caps,released:b.released,isDefault:b.id===n,lastSeen:m})));else if(!j)return{ok:!1,count:0,error:"no models returned"};let o=j&&!c?"needs_sync":"connected";return await e.db.update(f.provider).set({status:o,modelCount:k.length||(j?a.modelCount:0),lastSync:m,defaultModel:n||a.defaultModel,...j?{cliVersion:c??null,authState:g??null}:{}}).where((0,d.eq)(f.provider.id,a.id)),{ok:!0,count:k.length}}async function a5(a=12){let b,c=new Date(Date.now()-60*a*6e4);try{b=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.status,"connected"),(0,d.or)((0,d.kZ)(f.provider.lastSync),(0,d.lt)(f.provider.lastSync,c))))}catch{return{refreshed:0}}let g=0;for(let a of b.slice(0,50))try{let b=await a4(a);b.ok&&b.count>0&&g++}catch{}return{refreshed:g}}async function a6(a){let{workspace:b}=await (0,D.nP)(),c=(await e.db.select().from(f.providerModel).where((0,d.Uo)((0,d.eq)(f.providerModel.providerId,a),(0,d.eq)(f.providerModel.workspaceId,b.id)))).map(a=>({id:a.modelId,name:a.name,context:a.context,outputLimit:a.outputLimit,inputCost:a.inputCost,outputCost:a.outputCost,caps:a.caps??{reasoning:!1,tools:!1,vision:!1},released:a.released,isDefault:a.isDefault}));return c.sort((a,b)=>Number(b.isDefault)-Number(a.isDefault)||(b.released||"").localeCompare(a.released||"")||a.name.localeCompare(b.name)),{models:c}}async function a7(a){let{workspace:b}=await (0,D.nP)(),[c]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.id,a),(0,d.eq)(f.provider.workspaceId,b.id)));if(!c)return{ok:!1,error:"not found"};let g=aZ(c.catalogId);if(!g)return{ok:!1,error:"unknown provider"};let h=await (0,aX.r6)(b.id,`${c.catalogId}_api_key`),i=await a0(g,h);return await e.db.update(f.provider).set({status:i.ok?"connected":"error"}).where((0,d.eq)(f.provider.id,a)),(0,C.revalidatePath)("/models"),{ok:i.ok,error:i.error}}async function a8(a){let{workspace:b}=await (0,D.nP)(),[c]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.id,a),(0,d.eq)(f.provider.workspaceId,b.id)));if(!c)return{models:[],error:"not found"};let g=aZ(c.catalogId);if(!g?.baseUrl)return{models:[],error:"no public endpoint for this provider"};let h=await (0,aX.r6)(b.id,`${c.catalogId}_api_key`),i=g.baseUrl.replace(/\/$/,"");try{let a=/ollama/i.test(c.catalogId)||c.adapter.includes("ollama")?`${i.replace(/\/v1$/,"")}/api/tags`:`${i}/models`,b=await fetch(a,{headers:h?{authorization:`Bearer ${h}`}:{},signal:AbortSignal.timeout(8e3)});if(!b.ok)return{models:[],error:`endpoint ${b.status}`};let d=await b.json();return{models:(d.data??d.models??[]).map(a=>a.id??a.name??"").filter(Boolean).slice(0,80)}}catch(b){let a=String(b instanceof Error?b.message:b);return{models:[],error:/abort|fetch failed|ECONN/i.test(a)?"endpoint unreachable":a}}}async function a9(a){let{workspace:b}=await (0,D.nP)(),[c]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.id,a),(0,d.eq)(f.provider.workspaceId,b.id)));c&&await (0,aX.Kh)(b.id,`${c.catalogId}_api_key`),await e.db.delete(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.id,a),(0,d.eq)(f.provider.workspaceId,b.id))),(0,C.revalidatePath)("/models")}async function ba(a){let{workspace:b}=await (0,D.nP)(),[c]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.id,a),(0,d.eq)(f.provider.workspaceId,b.id)));c&&(await (0,aX.Kh)(b.id,`${c.catalogId}_api_key`),await e.db.update(f.provider).set({auth:"none",status:"needs_sync",modelCount:0}).where((0,d.eq)(f.provider.id,a)),(0,C.revalidatePath)("/models"))}(0,X.D)([a1,a2,a3,a5,a6,a7,a8,a9,ba]),(0,s.A)(a1,"60a0f0b1b22b52e14eaf11dfbdd980d42a278b4674",null),(0,s.A)(a2,"4024371a272a845788b397132806e12172206db003",null),(0,s.A)(a3,"403999c2d3ea77812169a92386e81df9e7d65d7300",null),(0,s.A)(a5,"409aeb7f94d731a1e1c978f88836072a2ba2f35f4a",null),(0,s.A)(a6,"404130f538b2fa2722cd281aad5084cbeb0fe6aa2d",null),(0,s.A)(a7,"40bad26a278aa6514f65a9a65692f06240ad8ea66a",null),(0,s.A)(a8,"40602547f46afa570cef172de7440c241ae8e46efc",null),(0,s.A)(a9,"40b35393eba9b5818be237d303cbea2b01c87a5ca8",null),(0,s.A)(ba,"405ecc769ef6f01682f96e135f56b9ec18c80c845f",null);var bb=c(30142);let bc={"gpt-4o":[2.5,10],"gpt-4o-mini":[.15,.6],"o4-mini":[1.1,4.4],"gemini-2.0-flash":[.1,.4],"gemini-1.5-pro":[1.25,5],"gemini-1.5-flash":[.075,.3]};function bd(a,b,c){let d=Object.keys(bc).find(b=>a.toLowerCase().startsWith(b));if(!d)return 0;let[e,f]=bc[d];return b/1e6*e+c/1e6*f}function be(a,b,c,d){return{ok:!1,text:"",usd:0,inputTokens:0,outputTokens:0,durationMs:c,binary:a,model:b,error:d}}async function bf(a,b,c,d){let e,f=Date.now(),g=b.baseUrl.replace(/\/$/,""),h="google"===b.provider,i=h?`${g}/models/${encodeURIComponent(b.model)}:streamGenerateContent?alt=sse&key=${encodeURIComponent(b.apiKey)}`:`${g}/chat/completions`,j={"content-type":"application/json"};!h&&b.apiKey&&(j.authorization=`Bearer ${b.apiKey}`);let k=h?{contents:[{role:"user",parts:[{text:a}]}]}:{model:b.model,messages:[{role:"user",content:a}],stream:!0,stream_options:{include_usage:!0}};try{e=await fetch(i,{method:"POST",headers:j,body:JSON.stringify(k),signal:AbortSignal.timeout(c.timeoutMs??18e4)})}catch(a){return be(b.provider,b.model,Date.now()-f,String(a instanceof Error?a.message:a))}if(!e.ok||!e.body){let a=await e.text().catch(()=>"");return be(b.provider,b.model,Date.now()-f,`http ${e.status} ${a.slice(0,200)}`)}let l=e.body.getReader(),m=new TextDecoder,n="",o="",p=0,q=0,r=0,s=()=>{o.length>p&&(d({kind:"text",detail:o.slice(p,p+8e3)}),p=o.length)};try{for(;;){let a,{value:b,done:c}=await l.read();if(c)break;for(n+=m.decode(b,{stream:!0});(a=n.indexOf("\n"))>=0;){let b=n.slice(0,a).trim();if(n=n.slice(a+1),!b.startsWith("data:"))continue;let c=b.slice(5).trim();if("[DONE]"!==c)try{let a=JSON.parse(c);if(h){let b=a.candidates?.[0]?.content?.parts?.map(a=>a.text??"").join("")??"";b&&(o+=b).length-p>=120&&s();let c=a.usageMetadata;c&&(q=c.promptTokenCount??q,r=c.candidatesTokenCount??r)}else{let b=a.choices?.[0]?.delta?.content??"";b&&(o+=b).length-p>=120&&s(),a.usage&&(q=a.usage.prompt_tokens??q,r=a.usage.completion_tokens??r)}}catch{}}}}catch(a){return s(),d({kind:"done"}),{ok:!!o,text:o,usd:bd(b.model,q,r),inputTokens:q,outputTokens:r,durationMs:Date.now()-f,binary:b.provider,model:b.model,error:o?void 0:String(a instanceof Error?a.message:a)}}return s(),d({kind:"done"}),{ok:!!o.trim(),text:o,usd:bd(b.model,q,r),inputTokens:q,outputTokens:r,durationMs:Date.now()-f,binary:b.provider,model:b.model,error:o.trim()?void 0:"empty response"}}function bg(a,b){let c=RegExp(`##\\s+${b}\\s*\\n([\\s\\S]*?)(?:\\n##\\s|$)`,"i");return a.match(c)?.[1].trim()??""}function bh(a){return a.split("\n").find(a=>a.trim()&&!a.startsWith("#")&&!a.startsWith("**")&&!a.startsWith("---")&&!a.startsWith("|"))?.trim()??""}function bi(a,b){let c=a.split("\n").find(a=>a.startsWith("# "));return c?c.slice(2).trim():b}async function bj(a){let[b]=await e.db.select().from(f.workspace).where((0,d.eq)(f.workspace.orgId,a));return b??null}async function bk(a,b,c){let g=(0,m.sL)(b,`.claude/skills/${c}.md`)??"",h=bh(g),i=(g.match(/\*\*Trigger:\*\*\s*(.+)/)?.[1]??"").trim(),j=bg(g,"Procedure")||"",[k]=await e.db.select().from(f.skill).where((0,d.Uo)((0,d.eq)(f.skill.workspaceId,a),(0,d.eq)(f.skill.name,c)));k?await e.db.update(f.skill).set({summary:h,trigger:i,...j?{instructions:j}:{},indexed:"indexed"}).where((0,d.eq)(f.skill.id,k.id)):await e.db.insert(f.skill).values({id:(0,l.randomUUID)(),workspaceId:a,name:c,summary:h,trigger:i,instructions:j,native:!0,provisional:!1,indexed:"indexed"})}async function bl(a,b,c){let g=(0,m.sL)(b,`.claude/agents/${c}/Agent.md`)??"";if(!g)return;let[h]=await e.db.select().from(f.agent).where((0,d.Uo)((0,d.eq)(f.agent.workspaceId,a),(0,d.eq)(f.agent.handle,c)));if(!h)return;let i=function(a){let b=a.match(/^---\n([\s\S]*?)\n---/);if(!b)return{};let c={};for(let a of b[1].split("\n")){let b=a.indexOf(":");b>0&&(c[a.slice(0,b).trim()]=a.slice(b+1).trim())}return c}(g),j={identity:(g.match(/\*\*Identity:\*\*\s*(.+)/)?.[1]??"").trim(),ritual:(g.match(/\*\*Ritual:\*\*\s*(.+)/)?.[1]??"").trim(),tone:(g.match(/\*\*Tone:\*\*\s*(.+)/)?.[1]??"").trim()||(h.persona?.tone??""),systemPrompt:bg(g,"System prompt")},k={...i.provider?{adapter:i.provider}:{},...i.model?{model:i.model}:{},...i.temperature?{temperature:parseFloat(i.temperature)}:{},...i.dailyCapUsd?{dailyCapUsd:parseFloat(i.dailyCapUsd)}:{},...i.tierFloor?{tierFloor:i.tierFloor}:{},...i.reportsTo&&"null"!==i.reportsTo?{reportsTo:i.reportsTo}:{},persona:j};for(let g of(await e.db.update(f.agent).set(k).where((0,d.eq)(f.agent.id,h.id)),[...((0,m.sL)(b,`.claude/agents/${c}/skills.md`)??"").matchAll(/`([a-z0-9-]+)`/g)].map(a=>a[1]))){let[b]=await e.db.select().from(f.skill).where((0,d.Uo)((0,d.eq)(f.skill.workspaceId,a),(0,d.eq)(f.skill.name,g)));b&&await e.db.insert(f.agentSkill).values({agentId:h.id,skillId:b.id}).onConflictDoNothing()}}async function bm(a,b,c){let g=c.split("/").pop()??c;if("README.md"===g)return;let h=(0,m.sL)(b,c)??"",i=bi(h,g),[j]=await e.db.select().from(f.report).where((0,d.Uo)((0,d.eq)(f.report.workspaceId,a),(0,d.eq)(f.report.title,i)));j?await e.db.update(f.report).set({body:h}).where((0,d.eq)(f.report.id,j.id)):await e.db.insert(f.report).values({id:(0,l.randomUUID)(),workspaceId:a,title:i,type:"Report",body:h})}async function bn(a,b,c,g){let h=(0,m.sL)(b,c)??"",i=bi(h,c.split("/").pop()??c),j=bh(h),[k]=await e.db.select().from(f.docIndex).where((0,d.Uo)((0,d.eq)(f.docIndex.workspaceId,a),(0,d.eq)(f.docIndex.path,c)));k?await e.db.update(f.docIndex).set({title:i,summary:j,updatedAt:new Date}).where((0,d.eq)(f.docIndex.id,k.id)):await e.db.insert(f.docIndex).values({id:(0,l.randomUUID)(),workspaceId:a,kind:g,path:c,title:i,summary:j})}function bo(a){(a.startsWith(".claude/skills")||a.endsWith("/skills.md"))&&(0,C.revalidatePath)("/skills"),a.startsWith(".claude/agents")&&(0,C.revalidatePath)("/agents/[handle]","page"),a.startsWith("DOCS")&&(0,C.revalidatePath)("/docs"),a.startsWith("PO")&&(0,C.revalidatePath)("/pm"),a.startsWith("Reports")&&(0,C.revalidatePath)("/reports"),(0,C.revalidatePath)("/code")}async function bp(a,b,c=!0){let d,e=await bj(a);if(!e)return{ok:!1};let f=e.id;if(!function(a,b){if(!K(b))return;let c=a+"::"+b,d=R.get(c);d&&clearTimeout(d),R.set(c,setTimeout(()=>{R.delete(c),P(a,b).catch(()=>{})},2500))}(a,b),d=b.match(/^\.claude\/skills\/(.+)\.md$/))await bk(f,a,d[1]);else if(d=b.match(/^\.claude\/agents\/([^/]+)\/(?:Agent|skills)\.md$/))await bl(f,a,d[1]);else if(/^Reports\/.+\.md$/.test(b))await bm(f,a,b);else if(/^DOCS\/.+\.md$/.test(b))await bn(f,a,b,"docs");else{if(!/^PO\/.+\.md$/.test(b))return{ok:!0};await bn(f,a,b,"po")}return c&&bo(b),{ok:!0}}async function bq(a,b){let c,g=await bj(a);if(!g)return{ok:!1};let h=g.id;return Q(a,b).catch(()=>{}),(c=b.match(/^\.claude\/skills\/(.+)\.md$/))?await e.db.delete(f.skill).where((0,d.Uo)((0,d.eq)(f.skill.workspaceId,h),(0,d.eq)(f.skill.name,c[1]))):/^(?:DOCS|PO)\/.+\.md$/.test(b)&&await e.db.delete(f.docIndex).where((0,d.Uo)((0,d.eq)(f.docIndex.workspaceId,h),(0,d.eq)(f.docIndex.path,b))),bo(b),{ok:!0}}async function br(a=!0){let{org:b}=await (0,D.nP)(),c=b.id;for(let a of(0,m.Ci)(c,".claude/skills"))!a.isDir&&a.name.endsWith(".md")&&await bp(c,a.path,!1);for(let a of(0,m.Ci)(c,".claude/agents"))a.isDir&&await bp(c,`${a.path}/Agent.md`,!1);for(let a of["DOCS","PO","Reports"])for(let b of(0,m.Ci)(c,a))!b.isDir&&b.name.endsWith(".md")&&await bp(c,b.path,!1);return a&&(0,C.revalidatePath)("/","layout"),{ok:!0}}async function bs(a,b,c){(0,m.dx)(a,b,c),await bp(a,b)}(0,X.D)([bp,bq,br]),(0,s.A)(bp,"70c9946ce7b4d59b33995bd699fa6d230d232d09ac",null),(0,s.A)(bq,"60546c3703874a3d7415fa213900e30f539ca5b9d0",null),(0,s.A)(br,"40c679f63e25b10357f3d3231817fcc35b1db6ddfb",null);var bt=c(60579),bu=c(74561);let bv=`You are Vannevar, the Knowledge agent â Constella's CENTRAL SOURCE OF TRUTH. You own the Knowledge Base (KB): a curated, classified, state-aware layer over the semantic RAG index.
|
|
8
|
+
`)}}class f extends Error{constructor(){super("The request.page has been deprecated in favour of `URLPattern`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n ")}}class g extends Error{constructor(){super("The request.ua has been removed in favour of `userAgent` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n ")}}},2131:(a,b,c)=>{"use strict";c.d(b,{H:()=>f});var d=c(14819),e=c(4155);let f=(0,d.CN)({is:a=>"TableNode"===a.kind,create:a=>(0,d.CN)({kind:"TableNode",table:e.y.create(a)}),createWithSchema:(a,b)=>(0,d.CN)({kind:"TableNode",table:e.y.createWithSchema(a,b)})})},2161:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return d}});var c,d=((c={}).PAGES="PAGES",c.PAGES_API="PAGES_API",c.APP_PAGE="APP_PAGE",c.APP_ROUTE="APP_ROUTE",c.IMAGE="IMAGE",c)},2471:(a,b,c)=>{"use strict";c.d(b,{DV:()=>k,He:()=>function a(b,c){return Object.entries(b).reduce((b,[i,j])=>{if("string"!=typeof i)return b;let k=c?[...c,i]:[i];return(0,e.is)(j,d.V)||(0,e.is)(j,f.Xs)||(0,e.is)(j,f.Xs.Aliased)||(0,e.is)(j,g.n)?b.push({path:k,field:j}):(0,e.is)(j,h.XI)?b.push(...a(j[h.XI.Symbol.Columns],k)):b.push(...a(j,k)),b},[])},Ll:()=>p,Lq:()=>q,XJ:()=>m,YD:()=>n,a6:()=>j,q:()=>l,su:()=>r,zN:()=>o});var d=c(72638),e=c(78033),f=c(86253),g=c(22066),h=c(44252),i=c(10147);function j(a,b,c){let i={},j=a.reduce((a,{path:j,field:k},l)=>{let m;m=(0,e.is)(k,d.V)?k:(0,e.is)(k,f.Xs)?k.decoder:(0,e.is)(k,g.n)?k._.sql.decoder:k.sql.decoder;let n=a;for(let[a,f]of j.entries())if(a<j.length-1)f in n||(n[f]={}),n=n[f];else{let a=b[l],g=n[f]=null===a?null:m.mapFromDriverValue(a);if(c&&(0,e.is)(k,d.V)&&2===j.length){let a=j[0];a in i?"string"==typeof i[a]&&i[a]!==(0,h.Io)(k.table)&&(i[a]=!1):i[a]=null===g&&(0,h.Io)(k.table)}}return a},{});if(c&&Object.keys(i).length>0)for(let[a,b]of Object.entries(i))"string"!=typeof b||c[b]||(j[a]=null);return j}function k(a,b){let c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(let[a,b]of c.entries())if(b!==d[a])return!1;return!0}function l(a,b){let c=Object.entries(b).filter(([,a])=>void 0!==a).map(([b,c])=>(0,e.is)(c,f.Xs)||(0,e.is)(c,d.V)?[b,c]:[b,new f.Iw(c,a[h.XI.Symbol.Columns][b])]);if(0===c.length)throw Error("No values to set");return Object.fromEntries(c)}function m(a,b){for(let c of b)for(let b of Object.getOwnPropertyNames(c.prototype))"constructor"!==b&&Object.defineProperty(a.prototype,b,Object.getOwnPropertyDescriptor(c.prototype,b)||Object.create(null))}function n(a){return a[h.XI.Symbol.Columns]}function o(a){return(0,e.is)(a,g.n)?a._.alias:(0,e.is)(a,f.Ss)?a[i.n].name:(0,e.is)(a,f.Xs)?void 0:a[h.XI.Symbol.IsAlias]?a[h.XI.Symbol.Name]:a[h.XI.Symbol.BaseName]}function p(a,b){return{name:"string"==typeof a&&a.length>0?a:"",config:"object"==typeof a?a:b}}function q(a){if("object"!=typeof a||null===a||"Object"!==a.constructor.name)return!1;if("logger"in a){let b=typeof a.logger;return"boolean"===b||"object"===b&&"function"==typeof a.logger.logQuery||"undefined"===b}if("schema"in a){let b=typeof a.schema;return"object"===b||"undefined"===b}if("casing"in a){let b=typeof a.casing;return"string"===b||"undefined"===b}if("mode"in a)return"default"===a.mode&&"planetscale"===a.mode&&void 0===a.mode;if("connection"in a){let b=typeof a.connection;return"string"===b||"object"===b||"undefined"===b}if("client"in a){let b=typeof a.client;return"object"===b||"function"===b||"undefined"===b}return 0===Object.keys(a).length}let r="u"<typeof TextDecoder?null:new TextDecoder},2644:(a,b,c)=>{"use strict";c.d(b,{pp:()=>l,Vj:()=>n});var d=c(31421),e=c(73024),f=c(76760);c(77030);var g=c(823);c(37067),c(38522);let h=new Map;function i(a){let b=h.get(a);if(b){try{b.server.close()}catch{}h.delete(a)}}let j="win32"===process.platform,k=new Map;function l(a){let b=(0,g.HZ)(a),c=[b];for(let a of["packages","apps","app","web","client","frontend","backend","server","api"]){let d=(0,f.join)(b,a);if((0,e.existsSync)(d))try{for(let a of(0,e.readdirSync)(d,{withFileTypes:!0}))a.isDirectory()&&c.push((0,f.join)(d,a.name))}catch{}}let d="$PORT";for(let a of c){let b=function(a){let b=(0,f.join)(a,"package.json");if(!(0,e.existsSync)(b))return null;try{let c=JSON.parse((0,e.readFileSync)(b,"utf8")),d=c.scripts??{},g=d.dev?"dev":d.start?"start":d.serve?"serve":null;if(!g)return null;let h=(0,e.existsSync)((0,f.join)(a,"pnpm-lock.yaml"))?"pnpm":(0,e.existsSync)((0,f.join)(a,"yarn.lock"))?"yarn":"npm",i=!(0,e.existsSync)((0,f.join)(a,"node_modules"));return{dir:a,kind:"node",name:c.name??"project",label:`${h} ${g}`,install:i?{cmd:h,args:["install"]}:void 0,runCmd:h,runArgs:"npm"===h?["run",g]:[g]}}catch{return null}}(a);if(b)return b}for(let a of c){let b=b=>(0,e.existsSync)((0,f.join)(a,b)),c=a.split(/[\\/]/).pop()||"project",g=b("requirements.txt")?{cmd:"python",args:["-m","pip","install","-r","requirements.txt"]}:void 0;if(b("manage.py"))return{dir:a,kind:"python",name:c,label:"django runserver",install:g,runCmd:"python",runArgs:["manage.py","runserver",`127.0.0.1:${d}`]};if(b("main.py")){let b="";try{b=(0,e.readFileSync)((0,f.join)(a,"main.py"),"utf8")}catch{}if(/FastAPI\s*\(/.test(b))return{dir:a,kind:"python",name:c,label:"uvicorn",install:g,runCmd:"python",runArgs:["-m","uvicorn","main:app","--host","127.0.0.1","--port",d]};return{dir:a,kind:"python",name:c,label:"python main.py",install:g,runCmd:"python",runArgs:["main.py"]}}if(b("go.mod"))return{dir:a,kind:"go",name:c,label:"go run",runCmd:"go",runArgs:["run","."]};if(b("Cargo.toml"))return{dir:a,kind:"rust",name:c,label:"cargo run",runCmd:"cargo",runArgs:["run"]};if(b("server.js"))return{dir:a,kind:"static",name:c,label:"node server.js",runCmd:"node",runArgs:["server.js"]}}return null}async function m(a){var b;let c=k.get(a);if(!c)return{running:!1,status:"stopped",logs:[]};c.status="stopped";try{c.proc?.pid&&(j?(0,d.spawn)("taskkill",["/PID",String(c.proc.pid),"/T","/F"],{windowsHide:!0}):process.kill(-c.proc.pid,"SIGKILL"))}catch{try{c.proc?.kill("SIGKILL")}catch{}}i(a);for(let a of"server stopped".split(/\r?\n/)){let b=a.trimEnd();b&&(c.logs.push({c:"info",t:b}),"starting"===c.status&&/(ready|listening|localhost:|started server|compiled)/i.test(b)&&(c.status="running"))}return c.logs.length>400&&c.logs.splice(0,c.logs.length-400),{running:"running"===(b=c).status||"starting"===b.status,status:b.status,port:b.port,url:b.url,project:b.label,logs:b.logs.slice(-120)}}function n(){for(let a of k.keys())m(a);for(let a of(k.clear(),[...h.keys()]))i(a)}},2853:a=>{a.exports={efs:!0,encode:a=>Buffer.from(a,"utf8"),decode:a=>a.toString("utf8")}},2894:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isPostpone",{enumerable:!0,get:function(){return d}});let c=Symbol.for("react.postpone");function d(a){return"object"==typeof a&&null!==a&&a.$$typeof===c}},4155:(a,b,c)=>{"use strict";c.d(b,{y:()=>f});var d=c(14819),e=c(74524);let f=(0,d.CN)({is:a=>"SchemableIdentifierNode"===a.kind,create:a=>(0,d.CN)({kind:"SchemableIdentifierNode",identifier:e.O.create(a)}),createWithSchema:(a,b)=>(0,d.CN)({kind:"SchemableIdentifierNode",schema:e.O.create(a),identifier:e.O.create(b)})})},5075:(a,b,c)=>{"use strict";c.d(b,{G:()=>e});var d=c(39837);let e=({usePlural:a,schema:b})=>c=>{if(a&&"s"===c.charAt(c.length-1)){let a=c.slice(0,-1),d=b[a]?a:void 0;if(d||(d=Object.entries(b).find(([b,c])=>c.modelName===a)?.[0]),d)return d}let e=b[c]?c:void 0;if(e||(e=Object.entries(b).find(([a,b])=>b.modelName===c)?.[0]),!e)throw new d.$l(`Model "${c}" not found in schema`);return e}},8911:(a,b,c)=>{let d=c(71015),e=c(98587),f=c(11081);a.exports=function(a,b){var c=[],g={},h=Buffer.alloc(0),i=new e.MainHeader,j=!1;let k=new Set,{noSort:l,decoder:m}=b;function n(){if(j=!0,g={},i.diskEntries>(a.length-i.offset)/f.Constants.CENHDR)throw f.Errors.DISK_ENTRY_TOO_LARGE();c=Array(i.diskEntries);for(var e=i.offset,h=0;h<c.length;h++){var l=e,m=new d(b,a);m.header=a.slice(l,l+=f.Constants.CENHDR),m.entryName=a.slice(l,l+=m.header.fileNameLength),m.header.extraLength&&(m.extra=a.slice(l,l+=m.header.extraLength)),m.header.commentLength&&(m.comment=a.slice(l,l+m.header.commentLength)),e+=m.header.centralHeaderSize,c[h]=m,g[m.entryName]=m}k.clear(),function(){let a=new Set;for(let b of Object.keys(g)){let c=b.split("/");if(c.pop(),c.length)for(let b=0;b<c.length;b++){let d=c.slice(0,b+1).join("/")+"/";a.add(d)}}for(let e of a)if(!(e in g)){let a=new d(b);a.entryName=e,a.attr=16,a.temporary=!0,c.push(a),g[a.entryName]=a,k.add(a)}}()}function o(){c.length>1&&!l&&c.sort((a,b)=>a.entryName.toLowerCase().localeCompare(b.entryName.toLowerCase()))}return a?function(c){var d=a.length-f.Constants.ENDHDR,e=Math.max(0,d-65535),g=e,j=a.length,k=-1,l=0;for("boolean"==typeof b.trailingSpace&&b.trailingSpace&&(e=0);d>=g;d--)if(80===a[d]){if(a.readUInt32LE(d)===f.Constants.ENDSIG){k=d,l=d,j=d+f.Constants.ENDHDR,g=d-f.Constants.END64HDR;continue}if(a.readUInt32LE(d)===f.Constants.END64SIG){g=e;continue}if(a.readUInt32LE(d)===f.Constants.ZIP64SIG){k=d,j=d+f.readBigUInt64LE(a,d+f.Constants.ZIP64SIZE)+f.Constants.ZIP64LEAD;break}}if(-1==k)throw f.Errors.INVALID_FORMAT();i.loadFromBinary(a.slice(k,j)),i.commentLength&&(h=a.slice(l+f.Constants.ENDHDR)),c&&n()}(b.readEntries):j=!0,{get entries(){return j||n(),c.filter(a=>!k.has(a))},get comment(){return m.decode(h)},set comment(val){i.commentLength=(h=f.toBuffer(val,m.encode)).length},getEntryCount:function(){return j?c.length:i.diskEntries},forEach:function(a){this.entries.forEach(a)},getEntry:function(a){return j||n(),g[a]||null},setEntry:function(a){j||n(),c.push(a),g[a.entryName]=a,i.totalEntries=c.length},deleteFile:function(a,b=!0){j||n();let c=g[a];this.getEntryChildren(c,b).map(a=>a.entryName).forEach(this.deleteEntry)},deleteEntry:function(a){j||n();let b=g[a],d=c.indexOf(b);d>=0&&(c.splice(d,1),delete g[a],i.totalEntries=c.length)},getEntryChildren:function(a,b=!0){if(j||n(),"object"==typeof a)if(!a.isDirectory||!b)return[a];else{let b=[],d=a.entryName;for(let a of c)a.entryName.startsWith(d)&&b.push(a);return b}return[]},getChildCount:function(a){if(a&&a.isDirectory){let b=this.getEntryChildren(a);return b.includes(a)?b.length-1:b.length}return 0},compressToBuffer:function(){j||n(),o();let b=[],c=[],d=0,e=0;i.size=0,i.offset=0;let g=0;for(let a of this.entries){let f=a.getCompressedData();a.header.offset=e;let h=a.packLocalHeader(),j=h.length+f.length;e+=j,b.push(h),b.push(f);let k=a.packCentralHeader();c.push(k),i.size+=k.length,d+=j+k.length,g++}d+=i.mainHeaderSize,i.offset=e,i.totalEntries=g,e=0;let k=Buffer.alloc(d);for(let a of b)a.copy(k,e),e+=a.length;for(let a of c)a.copy(k,e),e+=a.length;let l=i.toBinary();return h&&h.copy(l,f.Constants.ENDHDR),l.copy(k,e),a=k,j=!1,k},toAsyncBuffer:function(b,c,d,e){try{j||n(),o();let c=[],g=[],k=0,l=0,m=0;i.size=0,i.offset=0;let p=function(n){if(n.length>0){let a=n.shift(),b=a.entryName+a.extra.toString();d&&d(b),a.getCompressedDataAsync(function(d){e&&e(b),a.header.offset=l;let f=a.packLocalHeader(),h=f.length+d.length;l+=h,c.push(f),c.push(d);let j=a.packCentralHeader();g.push(j),i.size+=j.length,k+=h+j.length,m++,p(n)})}else{k+=i.mainHeaderSize,i.offset=l,i.totalEntries=m,l=0;let d=Buffer.alloc(k);c.forEach(function(a){a.copy(d,l),l+=a.length}),g.forEach(function(a){a.copy(d,l),l+=a.length});let e=i.toBinary();h&&h.copy(e,f.Constants.ENDHDR),e.copy(d,l),a=d,j=!1,b(d)}};p(Array.from(this.entries))}catch(a){c(a)}}}}},8971:(a,b,c)=>{"use strict";c.d(b,{s:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"ValueListNode"===a.kind,create:a=>(0,d.CN)({kind:"ValueListNode",values:(0,d.CN)(a)})})},9170:(a,b,c)=>{"use strict";c.d(b,{r:()=>g});var d=c(78474);let e=globalThis,f=e.__constellaBus??(e.__constellaBus=new d.EventEmitter);function g(a){f.emit("wake",a)}f.setMaxListeners(64)},9278:(a,b,c)=>{"use strict";c.d(b,{q:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"ValueNode"===a.kind,create:a=>(0,d.CN)({kind:"ValueNode",value:a}),createImmediate:a=>(0,d.CN)({kind:"ValueNode",value:a,immediate:!0})})},9344:(a,b,c)=>{"use strict";c.d(b,{reconcileOnBoot:()=>cK});var d=c(99209),e=c(96996),f=c(97420),g=c(84522),h=c(2644),i=c(82079);async function j(a,b=3e5){try{let c=Date.now()-b,g=await e.db.select().from(f.event).where((0,d.eq)(f.event.workspaceId,a));if(!g.length)return 0;let h=new Map;for(let a of g){let b=h.get(a.runId)??[];b.push(a),h.set(a.runId,b)}let i=new Set((await e.db.select({id:f.message.id}).from(f.message).where((0,d.eq)(f.message.workspaceId,a))).map(a=>a.id)),j=0;for(let[b,g]of h){let h=g.reduce((a,b)=>Math.max(a,b.seq),0);i.has(b)||g.some(a=>"done"===a.kind)||h>c||(await e.db.delete(f.event).where((0,d.Uo)((0,d.eq)(f.event.workspaceId,a),(0,d.eq)(f.event.runId,b))),j+=g.length)}return j}catch(a){return console.error("[events-prune] pruneOrphanRuns failed:",a),0}}async function k(a,b,c){try{await e.db.delete(f.event).where((0,d.Uo)((0,d.eq)(f.event.workspaceId,a),(0,d.eq)(f.event.runId,b),(0,d.eq)(f.event.kind,"text")));let g=await e.db.select({seq:f.event.seq}).from(f.event).where((0,d.Uo)((0,d.eq)(f.event.workspaceId,a),(0,d.eq)(f.event.channel,c))).orderBy((0,i.i)(f.event.seq)).limit(500);if(500===g.length){let b=g[g.length-1].seq;await e.db.delete(f.event).where((0,d.Uo)((0,d.eq)(f.event.workspaceId,a),(0,d.eq)(f.event.channel,c),(0,d.lt)(f.event.seq,b)))}}catch(a){console.error("[events-prune] failed:",a)}}var l=c(77598),m=c(823),n=c(13227);Object.fromEntries([{key:"language",label:"Language",opts:["TypeScript","JavaScript","Python","Go","Rust","Java","Kotlin","C#","Ruby","PHP","Elixir","Swift","C++","C","Scala","Dart","Clojure","Haskell","Lua","R","Objective-C","Erlang","None"]},{key:"runtime",label:"Runtime",opts:["Node.js","Bun","Deno","Python 3","PyPy","JVM",".NET","BEAM (Erlang VM)","None"]},{key:"frontend",label:"Frontend",opts:["React","Vue","Svelte","Angular","SolidJS","Preact","Qwik","Lit","HTMX","Alpine.js","Ember","Backbone","HTML/CSS","Vanilla JS","None"]},{key:"meta",label:"Meta-framework / SSG",opts:["Next.js","Nuxt","Remix","SvelteKit","Astro","Gatsby","Vite (SPA)","Hugo","Jekyll","Eleventy","Docusaurus","Static (no framework)","None"]},{key:"backend",label:"Backend framework",opts:["NestJS","Fastify","Express","Hono","Koa","Django","Flask","FastAPI","Spring Boot","Spring","Laravel","Symfony","CodeIgniter","Ruby on Rails","Gin","Fiber","Actix","Phoenix","ASP.NET Core","AdonisJS","GraphQL","Nginx","None"]},{key:"mobile",label:"Mobile",opts:["React Native","Flutter","Android","Ionic","Xamarin","NativeScript","None"]},{key:"database",label:"Database",opts:["PostgreSQL","MySQL","MariaDB","SQLite","MongoDB","Redis","CockroachDB","Cassandra","DynamoDB","Supabase","PlanetScale","Neon","None"]},{key:"orm",label:"ORM / Data layer",opts:["Prisma","Drizzle","TypeORM","Sequelize","SQLAlchemy","Django ORM","Mongoose","Knex","Diesel","GORM","None"]},{key:"styling",label:"Styling / UI",opts:["Tailwind CSS","Plain CSS","CSS Modules","styled-components","Sass","Vanilla Extract","UnoCSS","shadcn/ui","MUI","Bootstrap","Bulma","Vuetify","Chakra UI","None"]},{key:"testing",label:"Testing",opts:["Jest","Vitest","Cypress","Playwright","Selenium","Mocha","Jasmine","Puppeteer","None"]},{key:"aiml",label:"AI / ML",opts:["TensorFlow","PyTorch","scikit-learn","Keras","Pandas","NumPy","Jupyter","None"]},{key:"dataviz",label:"Data viz",opts:["D3","Chart.js","Grafana","Plotly","None"]},{key:"container",label:"Container",opts:["Docker","Podman","containerd","None"]},{key:"infra",label:"Infra / DevOps",opts:["Tailscale","Cloudflare","Vercel","Netlify","Fly.io","Railway","AWS","GCP","Azure","Kubernetes","Jenkins","CircleCI","Terraform","Ansible","Vagrant","None"]},{key:"baas",label:"Backend-as-a-service",opts:["Firebase","Appwrite","Amplify","Heroku","Supabase","None"]},{key:"queue",label:"Queue / Cache",opts:["Redis","BullMQ","RabbitMQ","Kafka","NATS","Celery","None"]},{key:"auth",label:"Auth",opts:["Auth.js","Clerk","Lucia","Supabase Auth","Keycloak","Auth0","Passport","None"]}].map(a=>[a.key,a.label]));let o=new Set(["Next.js","Nuxt","Remix","SvelteKit","Astro","Gatsby"]),p=[{handle:"ada",name:"Ada",role:"CEO",color:"#e0a44e",reportsTo:null,model:"sonnet",provider:"cli_claude_code",temperature:.4,dailyCapUsd:15,tier:"critical",identity:"Decisive, outcome-driven leader. Speaks in goals, not tasks. Protects scope and budget.",ritual:"Read the company goals, decompose into epics, delegate to leads, review what shipped."},{handle:"linus",name:"Linus",role:"CTO",color:"#9a5cff",reportsTo:"ada",model:"sonnet",provider:"cli_claude_code",temperature:.3,dailyCapUsd:40,tier:"critical",identity:"Systems thinker. Balances delivery speed against technical debt.",ritual:"Turn epics into tickets, route work to specialists, clear blockers, review PRs."},{handle:"donald",name:"Donald",role:"Product Owner",color:"#4fc9b0",reportsTo:"ada",model:"haiku",provider:"cli_claude_code",temperature:.4,dailyCapUsd:20,tier:"heavy",identity:"Customer voice. Ruthless about priority and clarity.",ritual:"Groom the backlog with MoSCoW, plan the sprint, track delivery, close with a retro."},{handle:"margaret",name:"Margaret",role:"Backend",color:"#3fb98f",reportsTo:"linus",model:"sonnet",provider:"cli_claude_code",temperature:.3,dailyCapUsd:50,tier:"heavy",identity:"Pragmatic server engineer. Values correctness, small diffs and green tests.",ritual:"Pull one ticket, read context, implement on a branch, never push without a passing suite."},{handle:"grace",name:"Grace",role:"Frontend",color:"#5b8def",reportsTo:"linus",model:"sonnet",provider:"cli_claude_code",temperature:.5,dailyCapUsd:45,tier:"heavy",identity:"Craft-focused UI engineer. Cares about accessibility and clean component APIs.",ritual:"Read the design tokens, build the smallest component that works, typecheck before PR."},{handle:"edsger",name:"Edsger",role:"QA",color:"#e8688f",reportsTo:"linus",model:"haiku",provider:"cli_claude_code",temperature:.2,dailyCapUsd:25,tier:"heavy",identity:"Skeptical quality gate. Assumes nothing works until proven by a test.",ritual:"Reproduce, cover with a test, run the suite, then gate the sign-off."},{handle:"werner",name:"Werner",role:"DevOps",color:"#f0a35e",reportsTo:"linus",model:"haiku",provider:"cli_claude_code",temperature:.3,dailyCapUsd:20,tier:"heavy",identity:"Reliability-minded operator. Automates the boring, guards the leases.",ritual:"Build, deploy a preview, report the URL, never leave an env leased too long."},{handle:"barbara",name:"Barbara",role:"Docs",color:"#b3d97a",reportsTo:"ada",model:"haiku",provider:"cli_claude_code",temperature:.4,dailyCapUsd:15,tier:"light",identity:"Patient explainer. Turns changes into understandable docs.",ritual:"Watch merges, draft docs while context is fresh, verify every link."},{handle:"whitfield",name:"Whitfield",role:"CyberSec",color:"#c4a0ff",reportsTo:"linus",model:"opus",provider:"cli_claude_code",temperature:.2,dailyCapUsd:30,tier:"critical",identity:"Adversarial reviewer. Thinks like an attacker, writes like an auditor.",ritual:"Audit every change for secret handling and injection, file findings with a concrete fix."},{handle:"vannevar",name:"Vannevar",role:"Knowledge",color:"#7ac5e0",reportsTo:"ada",model:"haiku",provider:"cli_claude_code",temperature:.2,dailyCapUsd:10,tier:"light",identity:"Keeper of the company's semantic memory. Indexes every document AND conversation into embeddings so any agent can recall anything instantly.",ritual:"Keep the embedding server healthy; re-index the workspace docs and the chat (team room, DMs, Telegram) into the RAG index so retrieval stays current."}],q=[{name:"open-pr",summary:"Branch, commit, open a PR with a test plan and request CTO review.",trigger:"When a work product is ready to merge",steps:["Create a branch from main","Commit the change set","Open a PR with summary + test plan","Request review from the CTO"]},{name:"run-suite",summary:"Detect the package manager, run the test task and gate sign-off on red.",trigger:"Before any sign-off",steps:["Detect package manager","Run the workspace test task","Parse results","Block sign-off if red"]},{name:"secret-scan",summary:"Scan for plaintext keys, verify vault references and flag log leaks.",trigger:"On every adapter change",steps:["Grep for plaintext keys","Check vault references","Flag any echo to logs"]},{name:"telegram-notify",summary:"Format a digest and POST it to the Telegram Bot API.",trigger:"When a routine completes",steps:["Format the digest","Resolve the chat id from secrets","POST to Telegram Bot API"]},{name:"moscow-prioritise",summary:"Score backlog items and re-order them with the MoSCoW method.",trigger:"During backlog grooming",steps:["Score each item","Assign Must/Should/Could/Won't","Re-order the backlog"]},{name:"gguf-validate",summary:"Pull a GGUF, verify SHA-256 and bind to loopback.",trigger:"When installing a local model",steps:["Download the GGUF","Verify SHA-256","Bind to 127.0.0.1 only"]}],r=q.filter(a=>"telegram-notify"!==a.name&&"gguf-validate"!==a.name).map(a=>a.name);var s=c(69447),t=c(48161),u=c.n(t),v=c(73024),w=c(31421),x=c(47942),y=c.n(x),z=c(76760),A=c(57075),B=c(46466),C=c(39328),D=c(74487);let E=process.env.OLLAMA_URL??"http://127.0.0.1:11434",F=process.env.CONSTELLA_EMBED_MODEL??"nomic-embed-text",G=/nomic/i.test(F),H=(a,b)=>`search_${b}: ${a}`,I=process.env.CONSTELLA_EMBED_URL??"http://127.0.0.1:8083",J=[".claude","DOCS","PO","Reports","specs","issues","design-skills"];function K(a){let b=a.replace(/\\/g,"/");return!(b.startsWith(".claude/kb/")||b.startsWith(".claude/skills/"))&&(b.startsWith("mock/")||b.startsWith("design-mock/")?/\.(md|html?|css|jsx?|tsx?|txt|json)$/i.test(b):b.endsWith(".md")&&J.some(a=>b===`${a}.md`||b.startsWith(`${a}/`)))}async function L(a,b="document"){try{let c=await fetch(`${E}/api/embeddings`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:F,prompt:G?H(a,b):a}),signal:AbortSignal.timeout(8e3)});if(c.ok){let a=await c.json();if(Array.isArray(a.embedding)&&a.embedding.length)return a.embedding}}catch{}try{let c=await fetch(`${I}/v1/embeddings`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({input:H(a,b),model:"nomic-embed"}),signal:AbortSignal.timeout(8e3)});if(c.ok){let a=await c.json(),b=a?.data?.[0]?.embedding;if(Array.isArray(b)&&b.length)return b}}catch{}return null}function M(a){let b=a.split(/\n(?=#{1,3}\s)/).map(a=>a.trim()).filter(Boolean),c=[];for(let d of b.length?b:[a])if(d)if(d.length<=1200)c.push(d);else for(let a=0;a<d.length;a+=1200)c.push(d.slice(a,a+1200));return c.slice(0,40)}async function N(a){let[b]=await e.db.select().from(f.workspace).where((0,d.eq)(f.workspace.orgId,a));if(!b)return{ok:!1,chunks:0,embedded:!1};let c=(0,m.CS)(a).filter(K);await e.db.delete(f.ragChunk).where((0,d.Uo)((0,d.eq)(f.ragChunk.workspaceId,b.id),(0,d.kZ)(f.ragChunk.kbEntryId)));let g=0,h=!1;for(let d of c)for(let c of M((0,m.sL)(a,d)??"")){let a=await L(c);a&&(h=!0),await e.db.insert(f.ragChunk).values({id:(0,l.randomUUID)(),workspaceId:b.id,path:d,chunk:c,vector:a?JSON.stringify(a):null}),g++}return{ok:!0,chunks:g+=await O(a),embedded:h}}async function O(a){let[b]=await e.db.select().from(f.workspace).where((0,d.eq)(f.workspace.orgId,a));if(!b)return 0;await e.db.delete(f.ragChunk).where((0,d.Uo)((0,d.eq)(f.ragChunk.workspaceId,b.id),(0,d.mj)(f.ragChunk.path,"chat/%")));let c=await e.db.select().from(f.message).where((0,d.eq)(f.message.workspaceId,b.id)).orderBy((0,i.Y)(f.message.createdAt)),g=new Map;for(let a of c){let b=(a.text??"").replace(/\s+/g," ").trim();if(!b)continue;let c="operator"===a.fromKind?"Operator":"@"+(a.fromHandle??"agent"),d=g.get(a.channel);d||(d=[],g.set(a.channel,d)),d.push(`${c}: ${b}`)}let h=0;for(let[a,c]of g)for(let d of M(c.slice(-400).join("\n"))){let c=await L(d);await e.db.insert(f.ragChunk).values({id:(0,l.randomUUID)(),workspaceId:b.id,path:`chat/${a}`,chunk:d,vector:c?JSON.stringify(c):null}),h++}return h}async function P(a,b){if(!K(b))return;let[c]=await e.db.select().from(f.workspace).where((0,d.eq)(f.workspace.orgId,a));if(c)for(let g of(await e.db.delete(f.ragChunk).where((0,d.Uo)((0,d.eq)(f.ragChunk.workspaceId,c.id),(0,d.eq)(f.ragChunk.path,b))),M((0,m.sL)(a,b)??""))){let a=await L(g);await e.db.insert(f.ragChunk).values({id:(0,l.randomUUID)(),workspaceId:c.id,path:b,chunk:g,vector:a?JSON.stringify(a):null})}}async function Q(a,b){if(!K(b))return;let[c]=await e.db.select().from(f.workspace).where((0,d.eq)(f.workspace.orgId,a));c&&await e.db.delete(f.ragChunk).where((0,d.Uo)((0,d.eq)(f.ragChunk.workspaceId,c.id),(0,d.eq)(f.ragChunk.path,b)))}let R=new Map;function S(a,b,c=.02){let d=0;try{d=(0,v.statSync)(a).size}catch{return{ok:!1,actual:0,expected:b,message:"file missing after download"}}if(!b||b<=0)return{ok:!0,actual:d,expected:b,message:"size ok (no expected size)"};let e=d/b,f=e>=1-c&&e<=1+c;return{ok:f,actual:d,expected:b,message:f?"size verified":`size mismatch â got ${d} bytes, expected ~${b} (truncated/corrupt)`}}let T=new Map,U=[{repo:"Qwen2.5-0.5B-Instruct",paramsB:.5,kind:"chat"},{repo:"Qwen2.5-1.5B-Instruct",paramsB:1.5,kind:"chat"},{repo:"Qwen2.5-3B-Instruct",paramsB:3,kind:"chat"},{repo:"Qwen2.5-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Qwen2.5-14B-Instruct",paramsB:14,kind:"chat"},{repo:"Qwen2.5-32B-Instruct",paramsB:32,kind:"chat"},{repo:"Qwen2.5-72B-Instruct",paramsB:72,kind:"chat"},{repo:"Qwen2.5-Coder-1.5B-Instruct",paramsB:1.5,kind:"code"},{repo:"Qwen2.5-Coder-3B-Instruct",paramsB:3,kind:"code"},{repo:"Qwen2.5-Coder-7B-Instruct",paramsB:7,kind:"code"},{repo:"Qwen2.5-Coder-14B-Instruct",paramsB:14,kind:"code"},{repo:"Qwen2.5-Coder-32B-Instruct",paramsB:32,kind:"code"},{repo:"Qwen3-0.6B",paramsB:.6,kind:"chat"},{repo:"Qwen3-1.7B",paramsB:1.7,kind:"chat"},{repo:"Qwen3-4B",paramsB:4,kind:"chat"},{repo:"Qwen3-8B",paramsB:8,kind:"chat"},{repo:"Qwen3-14B",paramsB:14,kind:"chat"},{repo:"Qwen3-32B",paramsB:32,kind:"chat"},{repo:"Llama-3.2-1B-Instruct",paramsB:1,kind:"chat"},{repo:"Llama-3.2-3B-Instruct",paramsB:3,kind:"chat"},{repo:"Meta-Llama-3.1-8B-Instruct",paramsB:8,kind:"chat"},{repo:"Meta-Llama-3.1-70B-Instruct",paramsB:70,kind:"chat"},{repo:"Llama-3.3-70B-Instruct",paramsB:70,kind:"chat"},{repo:"gemma-2-2b-it",paramsB:2,kind:"chat"},{repo:"gemma-2-9b-it",paramsB:9,kind:"chat"},{repo:"gemma-2-27b-it",paramsB:27,kind:"chat"},{repo:"gemma-3-1b-it",paramsB:1,kind:"chat"},{repo:"gemma-3-4b-it",paramsB:4,kind:"chat"},{repo:"gemma-3-12b-it",paramsB:12,kind:"chat"},{repo:"gemma-3-27b-it",paramsB:27,kind:"chat"},{repo:"Mistral-7B-Instruct-v0.3",paramsB:7,kind:"chat"},{repo:"Mistral-Nemo-Instruct-2407",paramsB:12,kind:"chat"},{repo:"Mistral-Small-Instruct-2409",paramsB:22,kind:"chat"},{repo:"Mistral-Small-24B-Instruct-2501",paramsB:24,kind:"chat"},{repo:"Codestral-22B-v0.1",paramsB:22,kind:"code"},{repo:"Phi-3.1-mini-4k-instruct",paramsB:3.8,kind:"chat"},{repo:"DeepSeek-R1-Distill-Qwen-1.5B",paramsB:1.5,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-7B",paramsB:7,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-14B",paramsB:14,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-32B",paramsB:32,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Llama-8B",paramsB:8,kind:"reasoning"},{repo:"DeepSeek-Coder-V2-Lite-Instruct",paramsB:16,kind:"code"},{repo:"Yi-1.5-9B-Chat",paramsB:9,kind:"chat"},{repo:"Yi-1.5-34B-Chat",paramsB:34,kind:"chat"},{repo:"granite-3.0-8b-instruct",paramsB:8,kind:"chat"},{repo:"granite-3.1-8b-instruct",paramsB:8,kind:"chat"},{repo:"SmolLM2-360M-Instruct",paramsB:.36,kind:"chat"},{repo:"SmolLM2-1.7B-Instruct",paramsB:1.7,kind:"chat"},{repo:"aya-expanse-8b",paramsB:8,kind:"chat"},{repo:"aya-expanse-32b",paramsB:32,kind:"chat"},{repo:"Falcon3-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Falcon3-10B-Instruct",paramsB:10,kind:"chat"},{repo:"EXAONE-3.5-2.4B-Instruct",paramsB:2.4,kind:"chat"},{repo:"EXAONE-3.5-7.8B-Instruct",paramsB:7.8,kind:"chat"},{repo:"Qwen3.5-0.8B",paramsB:.8,kind:"chat"},{repo:"Qwen3.5-2B",paramsB:2,kind:"chat"},{repo:"Qwen3.5-9B",paramsB:9,kind:"chat"},{repo:"Qwen3.5-27B",paramsB:27,kind:"chat"},{repo:"Qwen3.5-35B-A3B",paramsB:35,kind:"chat"},{repo:"Qwen3.6-27B",paramsB:27,kind:"chat"},{repo:"Qwen3.6-35B-A3B",paramsB:35,kind:"chat"},{repo:"Qwen3-30B-A3B",paramsB:30,kind:"chat"},{repo:"Qwen3-30B-A3B-Instruct-2507",paramsB:30,kind:"chat"},{repo:"Qwen3-Next-80B-A3B-Instruct",paramsB:80,kind:"chat"},{repo:"Qwen3-4B-Thinking-2507",paramsB:4,kind:"reasoning"},{repo:"QwQ-32B",paramsB:32,kind:"reasoning"},{repo:"Qwen2.5-7B-Instruct-1M",paramsB:7,kind:"chat"},{repo:"Qwen2.5-Coder-0.5B-Instruct",paramsB:.5,kind:"code"},{repo:"Qwen2.5-Coder-3B",paramsB:3,kind:"code"},{repo:"Qwen2.5-Coder-32B",paramsB:32,kind:"code"},{repo:"Qwen2.5-Math-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Qwen2-500M-Instruct",paramsB:.5,kind:"chat"},{repo:"Qwen1.5-32B-Chat",paramsB:32,kind:"chat"},{repo:"gemma-4-E2B-it",paramsB:2,kind:"chat"},{repo:"gemma-4-E4B-it",paramsB:4,kind:"chat"},{repo:"gemma-4-12B-it",paramsB:12,kind:"chat"},{repo:"gemma-4-26B-A4B-it",paramsB:26,kind:"chat"},{repo:"gemma-4-31B-it",paramsB:31,kind:"chat"},{repo:"gemma-3-270m-it",paramsB:.27,kind:"chat"},{repo:"gemma-1.1-2b-it",paramsB:2,kind:"chat"},{repo:"codegemma-2b",paramsB:2,kind:"code"},{repo:"codegemma-7b",paramsB:7,kind:"code"},{repo:"codegemma-7b-it",paramsB:7,kind:"code"},{repo:"codegemma-1.1-7b-it",paramsB:7,kind:"code"},{repo:"Ministral-3-3B-Instruct-2512",paramsB:3,kind:"chat"},{repo:"Ministral-3-8B-Instruct-2512",paramsB:8,kind:"chat"},{repo:"Ministral-3-14B-Instruct-2512",paramsB:14,kind:"chat"},{repo:"Ministral-3-3B-Reasoning-2512",paramsB:3,kind:"reasoning"},{repo:"Ministral-3-8B-Reasoning-2512",paramsB:8,kind:"reasoning"},{repo:"Ministral-3-14B-Reasoning-2512",paramsB:14,kind:"reasoning"},{repo:"Mistral-Small-3.1-24B-Instruct-2503",paramsB:24,kind:"chat"},{repo:"Mistral-Small-3.2-24B-Instruct-2506",paramsB:24,kind:"chat"},{repo:"Devstral-Small-2-24B-Instruct-2512",paramsB:24,kind:"code"},{repo:"mathstral-7B-v0.1",paramsB:7,kind:"chat"},{repo:"dolphin-2.8-mistral-7b-v02",paramsB:7,kind:"chat"},{repo:"WizardLM-2-7B",paramsB:7,kind:"chat"},{repo:"DeepSeek-R1-0528-Qwen3-8B",paramsB:8,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Llama-70B",paramsB:70,kind:"reasoning"},{repo:"deepseek-coder-1.3B-kexer",paramsB:1.3,kind:"code"},{repo:"deepseek-coder-6.7B-kexer",paramsB:6.7,kind:"code"},{repo:"granite-3.2-8b-instruct",paramsB:8,kind:"chat"},{repo:"granite-4.1-3b",paramsB:3,kind:"chat"},{repo:"granite-4.1-8b",paramsB:8,kind:"chat"},{repo:"granite-4.1-30b",paramsB:30,kind:"chat"},{repo:"Olmo-3-32B-Think",paramsB:32,kind:"reasoning"},{repo:"Seed-OSS-36B-Instruct",paramsB:36,kind:"chat"},{repo:"ERNIE-4.5-21B-A3B-PT",paramsB:21,kind:"chat"},{repo:"LFM2-24B-A2B",paramsB:24,kind:"chat"},{repo:"LFM2.5-1.2B-Instruct",paramsB:1.2,kind:"chat"},{repo:"LFM2.5-1.2B-Thinking",paramsB:1.2,kind:"reasoning"},{repo:"NVIDIA-Nemotron-3-Nano-4B",paramsB:4,kind:"chat"},{repo:"Hermes-4-70B",paramsB:70,kind:"chat"},{repo:"Llama-3.1-Tulu-3-8B",paramsB:8,kind:"chat"},{repo:"Meta-Llama-3-70B-Instruct",paramsB:70,kind:"chat"},{repo:"Llama3-ChatQA-1.5-70B",paramsB:70,kind:"chat"},{repo:"Llama-3-Groq-8B-Tool-Use",paramsB:8,kind:"chat"},{repo:"aya-23-8B",paramsB:8,kind:"chat"},{repo:"aya-23-35B",paramsB:35,kind:"chat"},{repo:"SmolLM2-135M-Instruct",paramsB:.135,kind:"chat"},{repo:"Yi-Coder-1.5B",paramsB:1.5,kind:"code"},{repo:"Yi-Coder-9B-Chat",paramsB:9,kind:"code"},{repo:"OpenCoder-1.5B-Instruct",paramsB:1.5,kind:"code"},{repo:"stable-code-instruct-3b",paramsB:3,kind:"code"},{repo:"internlm2-math-plus-7b",paramsB:7,kind:"chat"},{repo:"internlm2-math-plus-20b",paramsB:20,kind:"chat"}],V={Q3_K_L:.55,Q4_K_M:.67,Q6_K:.9,Q8_0:1.13},W=[{id:"nomic-embed-q8",name:"nomic-embed-text-v1.5 (Q8_0)",url:"https://huggingface.co/nomic-ai/nomic-embed-text-v1.5-GGUF/resolve/main/nomic-embed-text-v1.5.Q8_0.gguf",params:"137M",quant:"Q8_0",sizeBytes:146e6,kind:"embed",paramsB:.137},...function(){let a=[];for(let d of U){var b,c;let e=d.vendor??"lmstudio-community";for(let f of(b=d.paramsB)<=9?["Q3_K_L","Q4_K_M","Q6_K","Q8_0"]:b<=34?["Q3_K_L","Q4_K_M","Q6_K"]:["Q3_K_L","Q4_K_M"]){let b=`${d.repo}-${f}.gguf`;a.push({id:`${d.repo}-${f}`.toLowerCase().replace(/[^a-z0-9]+/g,"-"),name:`${d.repo} (${f})`,url:`https://huggingface.co/${e}/${d.repo}-GGUF/resolve/main/${b}`,params:(c=d.paramsB)<1?`${Math.round(1e3*c)}M`:`${c}B`,quant:f,sizeBytes:Math.round(1e9*d.paramsB*V[f]),kind:d.kind,paramsB:d.paramsB})}}return a}()];var X=c(75243);let Y=process.env.OLLAMA_URL??"http://127.0.0.1:11434",Z=process.env.LLAMACPP_URL??"http://127.0.0.1:8082",$=process.env.CONSTELLA_EMBED_URL??"http://127.0.0.1:8083",_=null;async function aa(){if(_){let a=u().totalmem()/0x40000000,b=u().freemem()/0x40000000;return{..._,ram:`${a.toFixed(0)} GB \xb7 ${b.toFixed(1)} free`}}let a=u().cpus(),b=(a[0]?.model??"Unknown CPU").replace(/\s+/g," ").trim(),c=a.length,d=u().totalmem()/0x40000000,e=u().freemem()/0x40000000,f=`${d.toFixed(0)} GB \xb7 ${e.toFixed(1)} free`,g=u().platform(),h="â",i="â",j="CPU",k=[];try{let a=(0,w.execSync)("nvidia-smi --query-gpu=name,memory.total --format=csv,noheader,nounits",{timeout:4e3,stdio:["ignore","pipe","ignore"]}).toString().trim();if(a){let[b,c]=a.split("\n")[0].split(",");h=b.trim(),i=`${Math.round(Number(c)/1024)} GB`,j="CUDA",k.push("CUDA")}}catch{}if("CPU"===j&&"darwin"===g){j="Metal",k.push("Metal");let a="Apple Silicon";try{let b=(0,w.execFileSync)("sysctl",["-n","machdep.cpu.brand_string"],{timeout:3e3,stdio:["ignore","pipe","ignore"]}).toString().trim();b&&(a=b)}catch{/apple/i.test(b)&&(a=b)}h=/apple/i.test(a)?`${a} GPU`:"Apple GPU","arm64"===u().arch()&&(i=`${Math.max(1,Math.round(.7*d))} GB unified`)}k.push("arm64"===u().arch()?"NEON":"AVX2");let l="â";try{if("win32"===g){let a=((0,m.r$)()[0]||"C").toUpperCase(),b=/^[A-Z]$/.test(a)?a:"C",c=(0,w.execFileSync)("powershell",["-NoProfile","-Command",`(Get-PSDrive ${b}).Free`],{timeout:5e3,stdio:["ignore","pipe","ignore"]}).toString().trim(),d=Number(c.replace(/[^\d]/g,""));d>0&&(l=`${(d/0x40000000).toFixed(0)} GB`)}else{let a=(0,w.execFileSync)("df",["-h",(0,m.r$)()],{timeout:4e3,stdio:["ignore","pipe","ignore"]}).toString().trim().split("\n"),b=(a[a.length-1]??"").split(/\s+/);b[3]&&(l=b[3])}}catch{}return _={cpu:b,cores:c,ram:f,gpu:h,vram:i,diskFree:l,backend:j,accel:k,recommendedQuant:d>=32?"Q5_K_M":d>=16?"Q4_K_M":"Q4_0",maxParams:d>=64?"70B":d>=32?"34B":d>=16?"13B":"7B"}}async function ab(){try{return(0,w.execSync)("ollama --version",{timeout:3e3,stdio:"ignore"}),!0}catch{return!1}}async function ac(a){let b=await ab(),c=[];if("start"===a){if(!b)return{up:!1,installed:!1,log:["Ollama is not installed â get it at https://ollama.com, then retry."]};if((await af()).up)return{up:!0,installed:b,log:[`server already running on ${Y}`]};try{let a=(0,w.spawn)("ollama",["serve"],{detached:!0,stdio:"ignore"}),d="";a.on("error",a=>{d=String(a instanceof Error?a.message:a)}),a.unref(),c.push("$ ollama serve"),await new Promise(a=>setTimeout(a,2e3));let e=(await af()).up;return d&&c.push("spawn failed: "+d),c.push(e?`â ready \xb7 ${Y}`:"still stopped â the port may be busy; run `ollama serve` in a terminal to see the error."),(0,C.revalidatePath)("/models"),{up:e,installed:b,log:c}}catch(a){return{up:!1,installed:b,log:["failed to start: "+String(a instanceof Error?a.message:a)]}}}try{"win32"===u().platform()?(0,w.execSync)("taskkill /IM ollama.exe /F",{stdio:"ignore",timeout:4e3}):(0,w.execSync)("pkill -f 'ollama serve'",{stdio:"ignore",timeout:4e3}),c.push("server stopped")}catch{c.push("no running ollama process found")}return(0,C.revalidatePath)("/models"),{up:!1,installed:b,log:c}}async function ad(){try{let a=await fetch(`${Y}/api/ps`,{signal:AbortSignal.timeout(3e3)});if(!a.ok)return{running:[]};return{running:((await a.json()).models??[]).map(a=>({name:a.name,vram:a.size_vram??0}))}}catch{return{running:[]}}}async function ae(a){try{let b=await fetch(`${Y}/api/generate`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:a,prompt:"",keep_alive:"30m"}),signal:AbortSignal.timeout(12e4)});if(!b.ok)return{ok:!1,error:`Ollama ${b.status}`};return await b.json().catch(()=>({})),(0,C.revalidatePath)("/models"),{ok:!0}}catch(b){let a=String(b instanceof Error?b.message:b);return{ok:!1,error:/abort|fetch failed|ECONN/i.test(a)?"Ollama not running":a}}}async function af(){try{let a=await fetch(`${Y}/api/tags`,{signal:AbortSignal.timeout(3e3)});if(!a.ok)return{up:!1,models:[]};let b=await a.json();return{up:!0,models:(b.models??[]).map(a=>({name:a.name,size:a.size??0}))}}catch{return{up:!1,models:[]}}}async function ag(a){let b=await af(),[c]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.workspaceId,a),(0,d.eq)(f.provider.catalogId,"ollama"))),g={status:b.up?"connected":"needs_sync",modelCount:b.models.length,lastSync:b.up?new Date:null};c?await e.db.update(f.provider).set(g).where((0,d.eq)(f.provider.id,c.id)):await e.db.insert(f.provider).values({id:(0,l.randomUUID)(),workspaceId:a,catalogId:"ollama",adapter:"local_ollama",kind:"local",auth:"local",syncStatus:"implemented",...g})}async function ah(a){let{workspace:b}=await (0,D.nP)();if(!a.trim())return{ok:!1,error:"no model name"};try{let c=await fetch(`${Y}/api/pull`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:a.trim(),stream:!1}),signal:AbortSignal.timeout(18e5)});if(!c.ok){let a=await c.text().catch(()=>"");return{ok:!1,error:`Ollama ${c.status}${a?": "+a.slice(0,120):""}`}}let d=await c.json().catch(()=>({}));return await ag(b.id),(0,C.revalidatePath)("/models"),{ok:"success"===d.status||null==d.error,error:d.error}}catch(b){let a=String(b instanceof Error?b.message:b);return{ok:!1,error:/abort|fetch failed|ECONN/i.test(a)?"Ollama not running â start it, then retry.":a}}}async function ai(a){let{workspace:b}=await (0,D.nP)();try{await fetch(`${Y}/api/delete`,{method:"DELETE",headers:{"content-type":"application/json"},body:JSON.stringify({name:a})})}catch{}return await ag(b.id),(0,C.revalidatePath)("/models"),{ok:!0}}async function aj(a){let{workspace:b}=await (0,D.nP)(),c=W.find(b=>b.id===a);if(!c)return{ok:!1,error:"unknown model"};let g=(0,z.join)((0,m.r$)(),"models");(0,v.mkdirSync)(g,{recursive:!0});let h=function(a){try{if("win32"===u().platform()){let b=(a[0]||"C").toUpperCase(),c=/^[A-Z]$/.test(b)?b:"C",d=(0,w.execFileSync)("powershell",["-NoProfile","-Command",`(Get-PSDrive ${c}).Free`],{timeout:6e3,stdio:["ignore","pipe","ignore"]}).toString().trim();return Number(d.replace(/[^\d]/g,""))||0}let b=(0,w.execFileSync)("df",["-k",a],{timeout:5e3,stdio:["ignore","pipe","ignore"]}).toString().trim().split("\n"),c=(b[b.length-1]??"").split(/\s+/),d=Number(c[3]);return d?1024*d:0}catch{return 0}}(g);if(h&&c.sizeBytes&&h<1.1*c.sizeBytes)return{ok:!1,error:`not enough free space â need ~${(c.sizeBytes/1e9).toFixed(1)} GB, ${(h/1e9).toFixed(1)} GB free`};let i=c.url.split("/").pop()??`${c.id}.gguf`,j=(0,z.join)(g,i);T.set(a,{received:0,total:0,done:!1});try{if(!(0,v.existsSync)(j)){let b=await fetch(c.url,{signal:AbortSignal.timeout(36e5)});if(!b.ok||!b.body)return T.set(a,{received:0,total:0,done:!0,error:`download failed (${b.status})`}),{ok:!1,error:`download failed (${b.status})`};let d=Number(b.headers.get("content-length"))||c.sizeBytes||0,e=0;T.set(a,{received:0,total:d,done:!1});let f=new A.PassThrough;f.on("data",b=>{e+=b.length;let c=T.get(a);c&&(c.received=e)}),await (0,B.pipeline)(A.Readable.fromWeb(b.body),f,(0,v.createWriteStream)(j));let g=S(j,d);if(!g.ok){try{(0,v.rmSync)(j)}catch{}return T.set(a,{received:e,total:d,done:!0,error:g.message}),{ok:!1,error:g.message}}}if((T.set(a,{received:1,total:1,done:!0}),c.sha256)&&await new Promise((a,b)=>{let c=(0,l.createHash)("sha256");(0,v.createReadStream)(j).on("data",a=>c.update(a)).on("end",()=>a(c.digest("hex"))).on("error",b)})!==c.sha256)return{ok:!1,error:"SHA-256 mismatch â file corrupt"};let g=(0,v.statSync)(j).size,[h]=await e.db.select().from(f.localModel).where((0,d.eq)(f.localModel.file,j));return h||await e.db.insert(f.localModel).values({id:(0,l.randomUUID)(),workspaceId:b.id,name:c.name,file:j,quant:c.quant,params:c.params,sizeBytes:g,sha256:c.sha256??"",bind:"127.0.0.1:8082"}),/embed|nomic|bge|mxbai|gte/i.test(c.name)&&az().catch(()=>{}),(0,C.revalidatePath)("/models"),{ok:!0,path:j}}catch(d){let b=String(d instanceof Error?d.message:d),c=T.get(a);return T.set(a,{received:c?.received??0,total:c?.total??0,done:!0,error:b}),{ok:!1,error:b}}}async function ak(a){return T.get(a)??null}async function al(a){await (0,D.nP)();let[b]=await e.db.select().from(f.localModel).where((0,d.eq)(f.localModel.id,a));if(!b)return{ok:!1,error:"model not found"};try{b.file&&(0,v.existsSync)(b.file)&&(0,v.rmSync)(b.file,{force:!0})}catch{}return await e.db.delete(f.localModel).where((0,d.eq)(f.localModel.file,b.file)),(0,C.revalidatePath)("/models"),{ok:!0}}function am(){return(0,z.join)((0,m.r$)(),"bin","llama")}function an(){try{let a=(0,z.join)(am(),"INSTALLED");if(!(0,v.existsSync)(a))return null;let b=(0,v.readFileSync)(a,"utf8").trim();return b&&(0,v.existsSync)(b)?b:null}catch{return null}}async function ao(a,b,c,d){let e=/\.(tar\.gz|tgz)$/i.test(b),f=(0,z.join)(c,b.replace(/[^\w.\-]+/g,"_"));(0,v.mkdirSync)(c,{recursive:!0});let g=await fetch(a,{signal:AbortSignal.timeout(18e5)});if(!g.ok||!g.body)return d&&T.set(d,{received:0,total:0,done:!0,error:`download failed (${g.status})`}),`download failed (${g.status})`;let h=Number(g.headers.get("content-length"))||0,i=A.Readable.fromWeb(g.body);if(d){let a=0;T.set(d,{received:0,total:h,done:!1});let b=new A.PassThrough;b.on("data",b=>{a+=b.length;let c=T.get(d);c&&(c.received=a)}),await (0,B.pipeline)(i,b,(0,v.createWriteStream)(f))}else await (0,B.pipeline)(i,(0,v.createWriteStream)(f));let j=S(f,h);if(!j.ok){try{(0,v.rmSync)(f)}catch{}return j.message}e?(0,w.execFileSync)("tar",["-xzf",f,"-C",c],{stdio:"ignore",timeout:12e4}):new(y())(f).extractAllTo(c,!0);try{(0,v.rmSync)(f)}catch{}return null}async function ap(){try{let a=await fetch("https://api.github.com/repos/ggml-org/llama.cpp/releases/latest",{headers:{"User-Agent":"constella",Accept:"application/vnd.github+json"},signal:AbortSignal.timeout(15e3)});if(!a.ok)return null;return(await a.json()).assets??[]}catch{return null}}let aq=!1;async function ar(a=!1){let b;if("win32"!==u().platform())return{ok:!0,fetched:!1};let c=am();try{b=(0,v.readdirSync)(c)}catch{return{ok:!1,fetched:!1,reason:"no llama dir"}}let d=b.some(a=>/^ggml-cuda\.dll$/i.test(a)),e=b.some(a=>/^cudart64_\d+\.dll$/i.test(a));if(!d||e)return{ok:e||!d,fetched:!1};if(aq&&!a)return{ok:!1,fetched:!1,reason:"already attempted this run"};aq=!0;let f="12";try{let a=(0,v.readFileSync)((0,z.join)(c,"ggml-cuda.dll")).toString("latin1").match(/cudart64_(\d+)\.dll/i);a&&(f=a[1])}catch{}let g=await ap();if(!g)return{ok:!1,fetched:!1,reason:"GitHub unreachable"};let h=g.filter(a=>/cudart/i.test(a.name)&&/x64|amd64/i.test(a.name)),i=h.find(a=>RegExp(`cuda-${f}\\.`,"i").test(a.name))??h[0];if(!i)return{ok:!1,fetched:!1,reason:"no cudart asset in the latest release"};let j=await ao(i.browser_download_url,i.name,c).catch(a=>String(a instanceof Error?a.message:a));if(j)return{ok:!1,fetched:!1,reason:j};let k=!1;try{k=(0,v.readdirSync)(c).some(a=>/^cudart64_\d+\.dll$/i.test(a))}catch{}return{ok:k,fetched:k}}async function as(){let a;await (0,D.nP)();let b=[];if(an()||await at()){let a=await ar(!0).catch(()=>null);return{ok:!0,installed:!0,log:["llama-server already installed.",...a?.fetched?["â fetched the CUDA runtime DLLs â GPU enabled."]:a&&!a.ok?[`â CUDA runtime still missing (${a.reason??"unknown"}).`]:[]]}}let c=await aa(),d=/cuda|nvidia/i.test(c.backend)||(c.accel??[]).some(a=>/cuda|nvidia/i.test(a));b.push(`platform ${u().platform()}/${u().arch()} \xb7 backend ${c.backend} â ${d?"CUDA":"CPU"} build`);try{let c=await fetch("https://api.github.com/repos/ggml-org/llama.cpp/releases/latest",{headers:{"User-Agent":"constella",Accept:"application/vnd.github+json"},signal:AbortSignal.timeout(15e3)});if(!c.ok)return{ok:!1,installed:!1,log:b,error:403===c.status?"GitHub API rate-limited â try again later or install manually from the releases page.":`GitHub releases API ${c.status}`};a=(await c.json()).assets??[]}catch(a){return{ok:!1,installed:!1,log:b,error:"couldn't reach GitHub: "+String(a instanceof Error?a.message:a)}}let e=function(a,b){let c=u().platform(),d="win32"===c?/win/i:"darwin"===c?/macos/i:/(ubuntu|linux)/i,e="arm64"===u().arch(),f=a.filter(a=>/\.(zip|tar\.gz|tgz)$/i.test(a.name)&&d.test(a.name));e||(f=f.filter(a=>!/arm64|aarch64/i.test(a.name)));let g=/cuda|hip|vulkan|sycl|kompute|musa|cann|adreno/i,h=a=>{if(!a.length)return null;let b=e?a.filter(a=>/arm64|aarch64/i.test(a.name)):a.filter(a=>/x64|amd64/i.test(a.name)),c=(b.length?b:a).sort((a,b)=>a.name.length-b.name.length)[0];return c?{name:c.name,url:c.browser_download_url}:null};if(b){let a=f.filter(a=>/cuda/i.test(a.name));if(a.length)return h(a)}let i=f.filter(a=>!g.test(a.name));return h(i.length?i:f)}(a,!!d);if(!e)return{ok:!1,installed:!1,log:b,error:"no matching prebuilt for this platform â install manually from the releases page."};b.push(`downloading ${e.name}âĻ`);let f=am();(0,v.mkdirSync)(f,{recursive:!0}),T.set("llama-server",{received:0,total:0,done:!1});try{let a=await ao(e.url,e.name,f,"llama-server");if(a)return T.set("llama-server",{received:0,total:0,done:!0,error:a}),{ok:!1,installed:!1,log:b,error:a};if(d){let a=await ar(!0);b.push(a.ok?a.fetched?"â CUDA runtime DLLs installed â GPU enabled.":"CUDA runtime already present.":`â CUDA runtime not installed (${a.reason??"unknown"}) â runs on CPU; retries on next Start/Install.`)}}catch(a){return{ok:!1,installed:!1,log:b,error:"download/extract failed: "+String(a instanceof Error?a.message:a)}}let g=function a(b,c,d){let e;if(d<0)return null;try{e=(0,v.readdirSync)(b,{withFileTypes:!0})}catch{return null}for(let a of e)if(a.isFile()&&a.name===c)return(0,z.join)(b,a.name);for(let f of e)if(f.isDirectory()){let e=a((0,z.join)(b,f.name),c,d-1);if(e)return e}return null}(f,"win32"===u().platform()?"llama-server.exe":"llama-server",5);if(!g)return{ok:!1,installed:!1,log:b,error:"downloaded, but llama-server wasn't found in the archive."};if("win32"!==u().platform())try{(0,v.chmodSync)(g,493)}catch{}return(0,v.writeFileSync)((0,z.join)(f,"INSTALLED"),g,"utf8"),T.set("llama-server",{received:1,total:1,done:!0}),b.push(`â installed â ${g}`),await aE().catch(()=>{}),(0,C.revalidatePath)("/models"),{ok:!0,installed:!0,path:g,log:b}}async function at(){if(an())return!0;try{return(0,w.execSync)("llama-server --version",{timeout:3e3,stdio:"ignore"}),!0}catch{return!1}}async function au(){try{let a=await fetch(`${Z}/v1/models`,{signal:AbortSignal.timeout(2500)});if(!a.ok)return{up:!1,model:null};let b=await a.json(),c=b.data?.[0]?.id;return{up:!0,model:c?c.split(/[\\/]/).pop()??c:null}}catch{return{up:!1,model:null}}}async function av(a){try{var b;let c,d=await aa();if(!/cuda|metal/i.test(d.backend))return[];let e=(b=d.vram,(c=/([\d.]+)\s*GB/i.exec(b||""))?1e9*parseFloat(c[1]):0);if(a&&e&&1.15*a>e)return[];return["-ngl","99"]}catch{return[]}}function aw(){try{let a=e.db.select({file:f.localModel.file,name:f.localModel.name}).from(f.localModel).all().find(a=>/embed|nomic|bge|mxbai|gte/i.test(a.name)&&a.file&&(0,v.existsSync)(a.file));return a?{file:a.file,name:a.name}:null}catch{return null}}function ax(){try{let a=e.db.select({file:f.localModel.file,name:f.localModel.name,sizeBytes:f.localModel.sizeBytes}).from(f.localModel).all().find(a=>!/embed|nomic|bge|mxbai|gte/i.test(a.name)&&a.file&&(0,v.existsSync)(a.file));return a?{file:a.file,name:a.name,sizeBytes:a.sizeBytes}:null}catch{return null}}async function ay(){try{return(await fetch(`${$}/health`,{signal:AbortSignal.timeout(1500)})).ok}catch{return!1}}async function az(){if(await ay())return{up:!0};let a=an();if(!a)return{up:!1,reason:"llama-server not installed"};let b=aw();if(!b)return{up:!1,reason:"no embedding model installed (download nomic-embed-text)"};try{await ar().catch(()=>{});let c=await av(),d=(0,w.spawn)(a,["-m",b.file,"--embeddings","--host","127.0.0.1","--port","8083","-c","2048","--pooling","mean",...c],{detached:!0,stdio:"ignore"});d.on("error",()=>{}),d.unref()}catch(a){return{up:!1,reason:"spawn failed: "+String(a instanceof Error?a.message:a)}}for(let a=0;a<24;a++)if(await new Promise(a=>setTimeout(a,500)),await ay())return{up:!0,model:b.name};return{up:!1,reason:"embedding server didn't come up in time"}}async function aA(){if((await au()).up)return{up:!0};let a=an();if(!a)return{up:!1,reason:"llama-server not installed"};let b=ax();if(!b)return{up:!1,reason:"no chat GGUF installed"};try{await ar().catch(()=>{});let c=await av(b.sizeBytes),d=(0,w.spawn)(a,["-m",b.file,"--host","127.0.0.1","--port","8082","-c","4096",...c],{detached:!0,stdio:"ignore"});d.on("error",()=>{}),d.unref()}catch(a){return{up:!1,reason:"spawn failed: "+String(a instanceof Error?a.message:a)}}for(let a=0;a<24;a++)if(await new Promise(a=>setTimeout(a,500)),(await au()).up)return{up:!0,model:b.name};return{up:!1,reason:"llama server didn't come up in time"}}async function aB(){let a=aw();return{up:await ay(),model:a?.name??null,installed:!!a}}async function aC(){let a=await az();return(0,C.revalidatePath)("/models"),a}async function aD(){let{org:a}=await (0,D.nP)();await az().catch(()=>{});let b=await N(a.id);return(0,C.revalidatePath)("/models"),b}async function aE(){let{workspace:a}=await (0,D.nP)(),b=await au(),c=new Set((await e.db.select({file:f.localModel.file}).from(f.localModel)).map(a=>a.file)).size,g={status:b.up?"connected":"needs_sync",modelCount:c,lastSync:b.up?new Date:null},[h]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.workspaceId,a.id),(0,d.eq)(f.provider.catalogId,"llamacpp")));return h?await e.db.update(f.provider).set(g).where((0,d.eq)(f.provider.id,h.id)):await e.db.insert(f.provider).values({id:(0,l.randomUUID)(),workspaceId:a.id,catalogId:"llamacpp",adapter:"local_llamacpp",kind:"local",auth:"local",syncStatus:"implemented",...g}),(0,C.revalidatePath)("/models"),{ok:!0}}async function aF(a){let b;await (0,D.nP)();let c=await at(),g=[];if(!c)return{up:!1,installed:!1,log:["llama-server not found â install llama.cpp from https://github.com/ggml-org/llama.cpp/releases (or `brew install llama.cpp`), then retry."]};if((await au()).up)return{up:!0,installed:c,log:[`server already running on ${Z}`]};let h=0;if(a){let g,[i]=await e.db.select().from(f.localModel).where((0,d.eq)(f.localModel.id,a));if(i&&(g=i.name,/embed|nomic|bge|mxbai|gte/i.test(g))){let a=await az();return{up:a.up,installed:c,log:[`${i.name} is an EMBEDDING model â started the RAG embedding server on :8083 (it can't power chat on :8082).`,a.up?`â embeddings ready \xb7 ${$}`:`embeddings: ${a.reason??"failed to start"}`]}}b=i?.file,h=i?.sizeBytes??0}if(!b){let a=ax();b=a?.file,h=a?.sizeBytes??0}if(!b||!(0,v.existsSync)(b)){let a=aw();if(a){let b=await az();return{up:!1,installed:c,log:[`Your only local model (${a.name}) is an EMBEDDING model â it powers RAG on the embeddings server (${$}), not the chat server.`,b.up?"â embeddings server is running.":`embeddings: ${b.reason??"not started"}`,"Download a chat/instruct GGUF (e.g. Qwen, Llama) below to run the chat server on :8082."]}}return{up:!1,installed:c,log:["no GGUF model on disk â download one below first."]}}try{let a=an()??"llama-server";await ar().catch(()=>{});let d=await av(h),e=(0,w.spawn)(a,["-m",b,"--host","127.0.0.1","--port","8082","-c","4096",...d],{detached:!0,stdio:"ignore"}),f="";e.on("error",a=>{f=String(a instanceof Error?a.message:a)}),e.unref(),g.push(`$ llama-server -m ${b.split(/[\\/]/).pop()} --port 8082${d.length?" -ngl 99 (GPU)":" (CPU)"}`);let i=!1;for(let a=0;a<12&&!i;a++)await new Promise(a=>setTimeout(a,1e3)),i=(await au()).up;return f&&g.push("spawn failed: "+f),g.push(i?`â ready \xb7 ${Z}`:"still starting â large models take longer; run llama-server in a terminal to see progress."),await aE(),(0,C.revalidatePath)("/models"),{up:i,installed:c,log:g}}catch(a){return{up:!1,installed:c,log:["failed to start: "+String(a instanceof Error?a.message:a)]}}}async function aG(){let a=await at(),b=[];try{if("win32"===u().platform()){let a=(0,w.execSync)('powershell -NoProfile -Command "Get-NetTCPConnection -LocalPort 8082 -State Listen -ErrorAction SilentlyContinue | Select-Object -ExpandProperty OwningProcess"',{timeout:5e3}).toString().split(/\r?\n/).map(a=>a.trim()).filter(Boolean);if(!a.length)throw Error("not running");for(let b of a)(0,w.execSync)(`taskkill /PID ${b} /F`,{stdio:"ignore",timeout:4e3})}else(0,w.execSync)("pkill -f -- 'llama-server.*--port 8082'",{stdio:"ignore",timeout:4e3});b.push("server stopped")}catch{b.push("no running chat llama-server process found")}return await aE(),(0,C.revalidatePath)("/models"),{up:!1,installed:a,log:b}}(0,X.D)([aa,ab,ac,ad,ae,af,ah,ai,aj,ak,al,as,at,au,ay,az,aA,aB,aC,aD,aE,aF,aG]),(0,s.A)(aa,"009c5ae209df1bf521e0f4a275155aa91e4c055da0",null),(0,s.A)(ab,"00acc06fa50815fb406645f301e885af8c87ff0270",null),(0,s.A)(ac,"4069fcf08d4d4604eb5055a3702d3fbd6e0fbea68d",null),(0,s.A)(ad,"0043750c3df6f86c65e971f123da87ceb51dc5990b",null),(0,s.A)(ae,"401cb877c53e4448015022e9b01f4182883ef45d73",null),(0,s.A)(af,"00bf363c39eef8bae9778773e53ed709e10c6f2c9f",null),(0,s.A)(ah,"40f71ff46956872e248e34ec53aad9c8776a0a80c9",null),(0,s.A)(ai,"40e367dc4cfe2c8de5a5cd337230c379082ddf13c8",null),(0,s.A)(aj,"408199f258bc5f07bce1b71b7d09d4730205fa6d05",null),(0,s.A)(ak,"40610ea499a895730a6a49548880afb3daa097cc64",null),(0,s.A)(al,"402327fbf97b3f6a24256d738124d38e8b498305f0",null),(0,s.A)(as,"007d859487c6175d33fea61bc0b0b0525404e94ab4",null),(0,s.A)(at,"0050e3a51b9510d1440e75d0ef71a5ed5901dcafaa",null),(0,s.A)(au,"0082d605df6bf54530b3e793569841e033a784aa8f",null),(0,s.A)(ay,"00cf5008a9aff8a54ca0c6b2a086586cf6c487e248",null),(0,s.A)(az,"003b6bdbd1dd9535700ff0361a2c5e4baf132331b2",null),(0,s.A)(aA,"00822437e4eeea24a8c615e3e2dfaf9ba9cbab0663",null),(0,s.A)(aB,"009312e28b1a452ac54a988cf7947bd49a5f587777",null),(0,s.A)(aC,"00ca910b0a945a229553de0df34b0135aeeb87a51d",null),(0,s.A)(aD,"007471b77fdd505158c0ef102abe663876817ba1a9",null),(0,s.A)(aE,"0065cf1b3ed4fac1a400f22fdfd8eb79c6f959b308",null),(0,s.A)(aF,"40d5b7413e4752fd8fba0cb01132f8fdee0d559bae",null),(0,s.A)(aG,"001de959dce6c8f9d53a0db5f3135437133ceb52df",null);var aH=c(71195);let aI={anthropic:"anthropic",openai:"openai",google_gemini:"google",xai_grok:"xai",deepseek:"deepseek",cohere:"cohere",groq:"groq",nvidia_nim:"nvidia",together:"togetherai",fireworks:"fireworks-ai",cerebras:"cerebras",perplexity:"perplexity",openrouter:"openrouter",mistral:"mistral",moonshot:"moonshotai",dashscope:"alibaba",zhipu:"zhipuai",azure_openai:"azure",aws_bedrock:"amazon-bedrock",vertex_ai:"google-vertex",claude_code:"anthropic",gemini_cli:"google",codex_cli:"openai"};function aJ(a){return aI[a]?aI[a]:a.replace(/_(grok|gemini|nim|cli|openai|api|server|rt)$/g,"").replace(/_/g,"-")}let aK={anthropic:["sonnet-4","sonnet","opus-4","opus"],openai:["gpt-5.2","gpt-5.1","gpt-5","gpt-4.1","o4"],google:["gemini-3-pro","gemini-3","gemini-2.5-pro","pro"],xai:["grok-4","grok-3","grok"],groq:["llama-4","llama-3.3","llama-3.1"],deepseek:["deepseek-chat","deepseek-v3","deepseek-reasoner"],mistral:["mistral-large","mistral-medium"],openrouter:["claude-sonnet","gpt-5","gemini"]},aL=(a,b,c,d,e,f,g,h)=>({id:a,name:b,context:c,outputLimit:d,inputCost:e,outputCost:f,caps:{reasoning:!!g.reasoning,tools:!!g.tools,vision:!!g.vision},released:h}),aM={anthropic:[aL("claude-opus-4-8","Claude Opus 4.8",1e6,64e3,5,25,{reasoning:!0,tools:!0,vision:!0},"2026-02-01"),aL("claude-opus-4-7","Claude Opus 4.7",1e6,64e3,5,25,{reasoning:!0,tools:!0,vision:!0},"2025-12-01"),aL("claude-sonnet-4-6","Claude Sonnet 4.6",1e6,64e3,3,15,{reasoning:!0,tools:!0,vision:!0},"2026-01-15"),aL("claude-haiku-4-5","Claude Haiku 4.5",2e5,32e3,1,5,{tools:!0,vision:!0},"2025-10-01")],openai:[aL("gpt-5.2","GPT-5.2",4e5,128e3,1.25,10,{reasoning:!0,tools:!0,vision:!0},"2026-03-01"),aL("gpt-5.1","GPT-5.1",4e5,128e3,1.25,10,{reasoning:!0,tools:!0,vision:!0},"2025-12-01"),aL("gpt-5","GPT-5",4e5,128e3,1.25,10,{reasoning:!0,tools:!0,vision:!0},"2025-08-01"),aL("o4-mini","o4-mini",2e5,1e5,1.1,4.4,{reasoning:!0,tools:!0},"2025-04-01")],google:[aL("gemini-3-pro","Gemini 3 Pro",2e6,64e3,2,12,{reasoning:!0,tools:!0,vision:!0},"2026-02-01"),aL("gemini-3-flash","Gemini 3 Flash",1e6,64e3,.3,2.5,{tools:!0,vision:!0},"2026-02-01"),aL("gemini-2.5-pro","Gemini 2.5 Pro",2e6,64e3,1.25,10,{reasoning:!0,tools:!0,vision:!0},"2025-06-01")],xai:[aL("grok-4.3","Grok 4.3",256e3,64e3,3,15,{reasoning:!0,tools:!0,vision:!0},"2026-02-01"),aL("grok-4","Grok 4",256e3,64e3,3,15,{reasoning:!0,tools:!0,vision:!0},"2025-09-01"),aL("grok-3","Grok 3",131072,32e3,3,15,{tools:!0,vision:!0},"2025-02-01")],deepseek:[aL("deepseek-chat","DeepSeek Chat",128e3,8e3,.27,1.1,{tools:!0},"2025-12-01"),aL("deepseek-reasoner","DeepSeek Reasoner",128e3,64e3,.55,2.19,{reasoning:!0,tools:!0},"2025-12-01")],groq:[aL("llama-4-scout","Llama 4 Scout",131072,8e3,.11,.34,{tools:!0,vision:!0},"2025-04-01"),aL("llama-3.3-70b","Llama 3.3 70B",131072,32e3,.59,.79,{tools:!0},"2024-12-01")]},aN=null;function aO(){return(0,z.join)((0,m.r$)(),"cache","models-dev.json")}async function aP(){try{let a=await fetch("https://models.dev/api.json",{signal:AbortSignal.timeout(1e4),headers:{accept:"application/json"}});if(!a.ok)return null;let b=await a.json();if(!b||"object"!=typeof b)return null;let c={};for(let[a,d]of Object.entries(b)){let b=d?.models,e=function(a){if(!a||"object"!=typeof a)return[];let b=[];for(let[c,d]of Object.entries(a)){let a=d??{},e=String(a.id??c),f=e.includes("/")?e.split("/").pop():e;if(!f)continue;let g=a.modalities??{},h=Array.isArray(g.input)?g.input:[],i=a.limit??{},j=a.cost??{},k={reasoning:!0===a.reasoning,tools:!0===a.tool_call,vision:!0===a.attachment||h.includes("image")};b.push({id:f,name:String(a.name??f),context:Number(i.context??0)||0,outputLimit:Number(i.output??0)||0,inputCost:Number(j.input??0)||0,outputCost:Number(j.output??0)||0,caps:k,released:"string"==typeof a.release_date?a.release_date:""})}return b}(b);e.length&&(c[a]=e)}return Object.keys(c).length?c:null}catch{return null}}async function aQ(){if(aN&&Date.now()-aN.at<864e5)return aN.data;let a=function(){try{let a=aO();if(!(0,v.existsSync)(a))return null;let b=JSON.parse((0,v.readFileSync)(a,"utf8"));if(!b?.data||"object"!=typeof b.data)return null;return{at:Number(b.at??(0,v.statSync)(a).mtimeMs),data:b.data}}catch{return null}}();if(a&&Date.now()-a.at<864e5)return aN=a,a.data;let b=await aP();if(b){aN={at:Date.now(),data:b};try{(0,v.mkdirSync)((0,z.join)((0,m.r$)(),"cache"),{recursive:!0}),(0,v.writeFileSync)(aO(),JSON.stringify({at:Date.now(),data:b}),"utf8")}catch{}return b}return a?(aN=a,a.data):{}}async function aR(){return Object.keys(await aQ()).length}async function aS(a){let b=aJ(a),c=await aQ();return c[b]?.length?c[b]:aM[b]??[]}async function aT(a,b,c=9e3){try{let d=await fetch(a,{headers:b,signal:AbortSignal.timeout(c)});if(!d.ok)return null;return await d.json()}catch{return null}}async function aU(a){let{catalogId:b,adapter:c,baseUrl:d,apiKey:e}=a;if(c.startsWith("cli_"))return"cli_opencode"===c?(await (0,aH.ZB)("opencode")).map(a=>({id:a})):"cli_aider"===c?(await (0,aH.ZB)("aider")).map(a=>({id:a})):null;if(/ollama/i.test(b)||c.includes("ollama")){let a=(d||"http://127.0.0.1:11434").replace(/\/$/,"").replace(/\/v1$/,""),b=await aT(`${a}/api/tags`,{});return b?(b.models??[]).map(a=>({id:String(a.name??"")})).filter(a=>a.id):[]}if(!d)return null;let f=d.replace(/\/$/,""),g="http_anthropic"===c||"anthropic"===b,h=g?"https://api.anthropic.com/v1/models":f.endsWith("/models")?f:f+(f.includes("/v1")?"/models":"/v1/models"),i=g?e?{"x-api-key":e,"anthropic-version":"2023-06-01"}:{}:e?{authorization:`Bearer ${e}`}:{},j=await aT(h,i);return j?(Array.isArray(j.data)?j.data:Array.isArray(j.models)?j.models:[]).map(a=>{let b=String(a.id??a.name??"");if(!b)return null;let c={id:b};"string"==typeof a.display_name?c.name=a.display_name:"string"==typeof a.name&&(c.name=a.name),"number"==typeof a.context_length&&(c.context=a.context_length);let d=a.pricing;if(d){let a=Number(d.prompt),b=Number(d.completion);Number.isFinite(a)&&a>0&&(c.inputCost=1e6*a),Number.isFinite(b)&&b>0&&(c.outputCost=1e6*b)}return c}).filter(a=>!!a).slice(0,200):[]}async function aV(){let a=await aQ(),b=new Map;for(let c of Object.values(a))for(let a of c){let c=a.id.toLowerCase();b.has(c)||b.set(c,a)}return b}async function aW(a,b){let c=await aS(a);if(!b||0===b.length)return c;let d=new Map;for(let a of c)d.set(a.id.toLowerCase(),a);let e=await aV(),f=a=>{let b=a.toLowerCase(),c=a.includes("/")?a.split("/").pop().toLowerCase():b;return d.get(b)??d.get(c)??e.get(b)??e.get(c)},g=[];for(let a of b){let b=f(a.id);g.push({id:a.id,name:a.name||b?.name||a.id,context:a.context??b?.context??0,outputLimit:b?.outputLimit??0,inputCost:a.inputCost??b?.inputCost??0,outputCost:a.outputCost??b?.outputCost??0,caps:b?.caps??{reasoning:!1,tools:!1,vision:!1},released:b?.released??""})}return g}var aX=c(50704);let aY=Object.fromEntries([{id:"anthropic",displayName:"Anthropic",category:"cloud_api",connectionTypes:["api_key","oauth"],defaultAdapter:"http_anthropic",baseUrl:"https://api.anthropic.com",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"available",notes:"Claude family. Model list mapped from provider capabilities."},{id:"openai",displayName:"OpenAI",category:"cloud_api",connectionTypes:["api_key","oauth"],defaultAdapter:"http_openai",baseUrl:"https://api.openai.com/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"available",notes:"GPT-4o/o-series + DALL\xb7E + Whisper."},{id:"google_gemini",displayName:"Google AI / Gemini",category:"cloud_api",connectionTypes:["api_key","oauth"],defaultAdapter:"http_google",baseUrl:"https://generativelanguage.googleapis.com",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"available",notes:"Gemini 1.5/2.x via AI Studio API key."},{id:"xai_grok",displayName:"xAI / Grok",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_xai",baseUrl:"https://api.x.ai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"available",notes:"OpenAI-compatible REST. Grok-2/3."},{id:"deepseek",displayName:"DeepSeek",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_deepseek",baseUrl:"https://api.deepseek.com",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"deepseek-chat / deepseek-reasoner."},{id:"cohere",displayName:"Cohere",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_cohere",baseUrl:"https://api.cohere.com/v2",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Command R/R+ and strong rerank/embeddings."},{id:"ai21",displayName:"AI21",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_ai21",baseUrl:"https://api.ai21.com/studio/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"perplexity",displayName:"Perplexity",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_perplexity",baseUrl:"https://api.perplexity.ai",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"available"},{id:"groq",displayName:"Groq",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_groq",baseUrl:"https://api.groq.com/openai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Ultra-low-latency LPU inference, OpenAI-compatible."},{id:"nvidia_nim",displayName:"NVIDIA / NIM",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"available",notes:"NIM microservices, OpenAI-compatible."},{id:"together",displayName:"Together AI",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_together",baseUrl:"https://api.together.xyz/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available"},{id:"fireworks",displayName:"Fireworks AI",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_fireworks",baseUrl:"https://api.fireworks.ai/inference/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available"},{id:"cerebras",displayName:"Cerebras",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_cerebras",baseUrl:"https://api.cerebras.ai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"available",notes:"Wafer-scale fast inference."},{id:"huggingface",displayName:"Hugging Face",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_hf",baseUrl:"https://api-inference.huggingface.co",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"replicate",displayName:"Replicate",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_replicate",baseUrl:"https://api.replicate.com/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"anyscale",displayName:"Anyscale",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_anyscale",baseUrl:"https://api.endpoints.anyscale.com/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"Endpoints product changing â adapter pending."},{id:"databricks",displayName:"Databricks",category:"cloud_api",connectionTypes:["api_key","oauth"],defaultAdapter:"http_databricks",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!0,status:"requires_setup"},{id:"stability",displayName:"Stability AI",category:"image",connectionTypes:["api_key"],defaultAdapter:"http_stability",baseUrl:"https://api.stability.ai",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"elevenlabs",displayName:"ElevenLabs",category:"audio",connectionTypes:["api_key"],defaultAdapter:"http_elevenlabs",baseUrl:"https://api.elevenlabs.io/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"available",notes:"TTS / voice."},{id:"voyage",displayName:"Voyage AI",category:"embedding",connectionTypes:["api_key"],defaultAdapter:"http_voyage",baseUrl:"https://api.voyageai.com/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"available"},{id:"jina",displayName:"Jina AI",category:"embedding",connectionTypes:["api_key"],defaultAdapter:"http_jina",baseUrl:"https://api.jina.ai/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"available"},{id:"runpod",displayName:"RunPod",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_runpod",baseUrl:"https://api.runpod.ai/v2",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"requires_setup"},{id:"lambda",displayName:"Lambda Labs",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_lambda",baseUrl:"https://api.lambdalabs.com/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"modal",displayName:"Modal",category:"cloud_api",connectionTypes:["api_key","custom_endpoint"],defaultAdapter:"http_modal",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"requires_setup"},{id:"baseten",displayName:"Baseten",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_baseten",baseUrl:"https://inference.baseten.co/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"requires_setup"},{id:"openrouter",displayName:"OpenRouter",category:"router",connectionTypes:["api_key","oauth"],defaultAdapter:"http_openrouter",baseUrl:"https://openrouter.ai/api/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"available",notes:"Aggregates 300+ models across providers â full live list."},{id:"omnirouter",displayName:"OmniRouter",category:"router",connectionTypes:["api_key"],defaultAdapter:"http_omnirouter",baseUrl:"https://api.omnirouter.ai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"experimental",notes:"OpenAI-compatible multi-provider router."},{id:"litellm",displayName:"LiteLLM",category:"openai_compatible",connectionTypes:["api_key","openai_compatible","custom_endpoint"],defaultAdapter:"http_litellm",baseUrl:"http://localhost:4000",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Self-hosted proxy; unifies 100+ providers."},{id:"portkey",displayName:"Portkey",category:"router",connectionTypes:["api_key"],defaultAdapter:"http_portkey",baseUrl:"https://api.portkey.ai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Gateway with virtual keys."},{id:"helicone",displayName:"Helicone",category:"router",connectionTypes:["api_key"],defaultAdapter:"http_helicone",baseUrl:"https://oai.helicone.ai/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental",notes:"Observability proxy in front of OpenAI-compatible providers."},{id:"openai_compatible",displayName:"OpenAI-compatible endpoint",category:"openai_compatible",connectionTypes:["openai_compatible","api_key","custom_endpoint"],defaultAdapter:"http_openai_compat",baseUrl:"https://",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Any server exposing /v1/chat/completions + /v1/models."},{id:"lmstudio_server",displayName:"LM Studio (OpenAI server)",category:"openai_compatible",connectionTypes:["openai_compatible","local"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:1234/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available",notes:"Local OpenAI-compatible server from LM Studio."},{id:"ollama_openai",displayName:"Ollama (OpenAI endpoint)",category:"openai_compatible",connectionTypes:["openai_compatible","local"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:11434/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Ollama's OpenAI-compatible surface."},{id:"vllm_server",displayName:"vLLM (OpenAI server)",category:"openai_compatible",connectionTypes:["openai_compatible","local"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:8000/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"High-throughput self-hosted serving."},{id:"tgi",displayName:"Text Generation Inference",category:"openai_compatible",connectionTypes:["openai_compatible","local","custom_endpoint"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:8080/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"experimental",notes:"HF TGI with OpenAI route."},{id:"localai",displayName:"LocalAI",category:"openai_compatible",connectionTypes:["openai_compatible","local"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:8080/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available",notes:"Drop-in OpenAI replacement, fully local."},{id:"azure_openai",displayName:"Azure OpenAI",category:"cloud_platform",connectionTypes:["api_key","oauth"],defaultAdapter:"http_azure_openai",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"requires_setup"},{id:"aws_bedrock",displayName:"AWS Bedrock",category:"cloud_platform",connectionTypes:["api_key","custom_endpoint"],defaultAdapter:"sdk_bedrock",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"requires_setup",notes:"SigV4 auth; multi-vendor models."},{id:"vertex_ai",displayName:"Google Vertex AI",category:"cloud_platform",connectionTypes:["oauth","api_key"],defaultAdapter:"sdk_vertex",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"requires_setup",notes:"GCP service-account / ADC."},{id:"cloudflare",displayName:"Cloudflare Workers AI",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_cloudflare",baseUrl:"https://api.cloudflare.com/client/v4",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"oci_genai",displayName:"Oracle OCI Generative AI",category:"cloud_platform",connectionTypes:["api_key","custom_endpoint"],defaultAdapter:"sdk_oci",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"OCI SDK signing â adapter pending."},{id:"watsonx",displayName:"IBM watsonx",category:"cloud_platform",connectionTypes:["api_key","oauth"],defaultAdapter:"http_watsonx",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!0,status:"requires_setup"},{id:"dashscope",displayName:"Alibaba DashScope / Qwen",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_dashscope",baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"experimental",notes:"Qwen models, OpenAI-compatible mode."},{id:"qianfan",displayName:"Baidu Qianfan",category:"cloud_platform",connectionTypes:["api_key","oauth"],defaultAdapter:"http_qianfan",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!0,status:"planned",notes:"ERNIE; access-token auth â adapter pending."},{id:"hunyuan",displayName:"Tencent Hunyuan",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_hunyuan",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"TC3-HMAC signing â adapter pending."},{id:"zhipu",displayName:"Zhipu AI (GLM)",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_zhipu",baseUrl:"https://open.bigmodel.cn/api/paas/v4",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"experimental"},{id:"moonshot",displayName:"Moonshot AI / Kimi",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_moonshot",baseUrl:"https://api.moonshot.cn/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"OpenAI-compatible; long context."},{id:"minimax",displayName:"MiniMax",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_minimax",baseUrl:"https://api.minimax.chat/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"Group-id + key auth â adapter pending."},{id:"ollama",displayName:"Ollama",category:"local_runtime",connectionTypes:["local","cli"],defaultAdapter:"local_ollama",baseUrl:"http://localhost:11434",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"available",notes:"Pulls + serves local models; live /api/tags list."},{id:"llamacpp",displayName:"llama.cpp",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_llamacpp",baseUrl:"http://127.0.0.1:8082",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available",notes:"GGUF models, SHA-256 verified, bound to 127.0.0.1."},{id:"lmstudio",displayName:"LM Studio",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_lmstudio",baseUrl:"http://localhost:1234",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsVision:!0,status:"available",notes:"Desktop runtime + local server."},{id:"vllm",displayName:"vLLM",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_vllm",baseUrl:"http://localhost:8000",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"GPU serving engine."},{id:"localai_rt",displayName:"LocalAI",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_localai",baseUrl:"http://localhost:8080",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available"},{id:"gpt4all",displayName:"GPT4All",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_gpt4all",baseUrl:"http://localhost:4891/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"experimental"},{id:"koboldcpp",displayName:"KoboldCpp",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_kobold",baseUrl:"http://localhost:5001",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,status:"experimental"},{id:"jan",displayName:"Jan",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_jan",baseUrl:"http://localhost:1337/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"experimental"},{id:"anythingllm",displayName:"AnythingLLM (local)",category:"local_runtime",connectionTypes:["local","api_key"],defaultAdapter:"local_anythingllm",baseUrl:"http://localhost:3001/api",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"Workspace API â adapter pending."},{id:"openwebui",displayName:"Open WebUI (backend)",category:"local_runtime",connectionTypes:["local","openai_compatible"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:3000/api",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"experimental"},{id:"claude_code",displayName:"Claude Code",category:"cli",connectionTypes:["cli","oauth"],defaultAdapter:"cli_claude_code",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!0,supportsTools:!0,status:"available",notes:"Drives the local Claude Code CLI / agent."},{id:"codex_cli",displayName:"Codex CLI",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_codex",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"OpenAI Codex CLI agent."},{id:"openclaw",displayName:"OpenClaw",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_openclaw",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"OpenClaw CLI â headless `openclaw infer model run --json` (provider-routed). No token/cost reported."},{id:"hermes_cli",displayName:"Hermes (Nous Research)",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_hermes",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Hermes agent CLI â headless `hermes -z`. Configure providers via `hermes model`."},{id:"gemini_cli",displayName:"Gemini CLI",category:"cli",connectionTypes:["cli","oauth"],defaultAdapter:"cli_gemini",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!0,supportsTools:!0,status:"experimental"},{id:"aider",displayName:"Aider",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_aider",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `aider --message --yes-always`; provider-routed via its own env keys. Model list from `aider --list-models`. No token/cost reported."},{id:"opencode",displayName:"OpenCode",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_opencode",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `opencode run`; providers via `opencode auth login`. Model list from `opencode models`. No token/cost reported."},{id:"copilot_cli",displayName:"GitHub Copilot CLI",category:"cli",connectionTypes:["cli","oauth"],defaultAdapter:"cli_copilot",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!0,supportsTools:!0,status:"experimental",notes:"Headless `copilot -p --allow-all-tools`; sign in with the Copilot CLI. No token/cost reported."},{id:"cursor_cli",displayName:"Cursor CLI",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_cursor",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `cursor-agent -p --output-format json`; sign in via `cursor-agent login`. `-p` can hang â bounded timeout. No token/cost reported."},{id:"cline_cli",displayName:"Cline CLI",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_cline",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `cline --json -y`; provider-routed via its own config. No token/cost reported."},{id:"kilo_code",displayName:"Kilo Code CLI",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_kilo",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `kilocode --yes`; provider-routed via its own config. No token/cost reported."},{id:"openai_cli",displayName:"OpenAI CLI",category:"cli",connectionTypes:["cli","api_key"],defaultAdapter:"cli_openai",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"Thin CLI over the API â adapter pending."},{id:"ollama_cli",displayName:"Ollama CLI",category:"cli",connectionTypes:["cli","local"],defaultAdapter:"cli_ollama",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available",notes:"`ollama run/list` driven."},{id:"custom_cli",displayName:"Custom CLI provider",category:"cli",connectionTypes:["cli","custom_endpoint"],defaultAdapter:"cli_custom",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,status:"requires_setup",notes:"Define your own command + arg template."}].map(a=>[a.id,a])),aZ=a=>aY[a];async function a$(a,b,c=12e3){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{let c,e=await fetch(a,{headers:b,signal:d.signal}),f=await e.text();try{c=JSON.parse(f)}catch{c=void 0}return{ok:e.ok,status:e.status,json:c,error:e.ok?void 0:f.slice(0,200)||e.statusText}}catch(a){return{ok:!1,status:0,error:a instanceof Error?a.message:String(a)}}finally{clearTimeout(e)}}function a_(a){return a&&"object"==typeof a?Array.isArray(a.data)?a.data.length:Array.isArray(a.models)?a.models.length:0:0}async function a0(a,b){let c=a.defaultAdapter;if(c.startsWith("cli_")){let a=(0,aH.hW)(c);return await (0,aH.$g)(a)?{ok:!0,count:(aH.w5[c]??aH.w5.cli_claude_code).length}:{ok:!1,count:0,error:`${a} CLI not found on PATH`}}if("local_ollama"===c||"ollama"===a.id||"ollama_openai"===a.id){let b=a.baseUrl||"http://127.0.0.1:11434",c=await a$(b.replace(/\/$/,"")+"/api/tags",{});return c.ok?{ok:!0,count:a_(c.json)}:{ok:!1,count:0,error:c.error||"Ollama not reachable at "+b}}if("local_runtime"===a.category){let c=a.baseUrl||"http://127.0.0.1:8080",d=await a$(c.replace(/\/$/,"")+"/v1/models",b?{Authorization:"Bearer "+b}:{});return d.ok?{ok:!0,count:a_(d.json)}:{ok:!1,count:0,error:d.error||"local runtime not reachable"}}if(!b)return{ok:!1,count:0,error:"no API key in vault â connect with a key first"};if("http_anthropic"===c||"anthropic"===a.id){let a=await a$("https://api.anthropic.com/v1/models",{"x-api-key":b,"anthropic-version":"2023-06-01"});return a.ok?{ok:!0,count:a_(a.json)}:{ok:!1,count:0,error:a.error||"auth failed ("+a.status+")"}}let d=(a.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),e=d.endsWith("/models")?d:d+(d.includes("/v1")?"/models":"/v1/models"),f=await a$(e,{Authorization:"Bearer "+b});return f.ok?{ok:!0,count:a_(f.json)}:{ok:!1,count:0,error:f.error||"auth failed ("+f.status+")"}}async function a1(a,b){let{workspace:c}=await (0,D.nP)(),d=aZ(a);if(!d)return;let g=(0,l.randomUUID)();await e.db.insert(f.provider).values({id:g,workspaceId:c.id,catalogId:a,adapter:d.defaultAdapter,kind:"cli"===d.category?"cli":"local_runtime"===d.category?"local":"cloud",auth:d.connectionTypes.includes("api_key")?"api_key":d.connectionTypes[0],status:"needs_sync",syncStatus:d.supportsModelSync?"implemented":"manual"}),b&&await (0,aX.IW)(c.id,`${a}_api_key`,b,g),(0,C.revalidatePath)("/models"),await a2(g)}async function a2(a){let b,{workspace:c}=await (0,D.nP)(),[g]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.id,a),(0,d.eq)(f.provider.workspaceId,c.id)));if(!g)return{ok:!1,error:"not found"};let h=aZ(g.catalogId);if(!h)return{ok:!1,error:"unknown provider"};let i=await (0,aX.r6)(c.id,`${g.catalogId}_api_key`),j=await a0(h,i),k=null;if("cli"===h.category){let a=(0,aH.hW)(h.defaultAdapter);b=(k=await (0,aH.$g)(a).catch(()=>null))?await (0,aH.Kp)(a).catch(()=>"unknown"):"needs_login"}else b="local_runtime"===h.category?j.ok?"ready":"unknown":i&&j.ok?"ready":"needs_key";return await e.db.update(f.provider).set({status:j.ok?"connected":"error",modelCount:j.count,lastSync:new Date,cliVersion:k,authState:b}).where((0,d.eq)(f.provider.id,a)),j.ok&&await a3(a).catch(()=>{}),(0,C.revalidatePath)("/models"),j}async function a3(a){let{workspace:b}=await (0,D.nP)(),[c]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.id,a),(0,d.eq)(f.provider.workspaceId,b.id)));if(!c)return{ok:!1,count:0,error:"not found"};let g=await a4(c);return(0,C.revalidatePath)("/models"),g}async function a4(a){let b,c,g,h=aZ(a.catalogId);if(!h)return{ok:!1,count:0,error:"unknown provider"};let i=await (0,aX.r6)(a.workspaceId,`${a.catalogId}_api_key`),j="cli"===h.category;try{b=await aU({catalogId:a.catalogId,adapter:a.adapter,baseUrl:h.baseUrl,apiKey:i})}catch{b=null}if(j){let d=(0,aH.hW)(a.adapter);g=(c=await (0,aH.$g)(d).catch(()=>null))?await (0,aH.Kp)(d).catch(()=>"unknown"):"needs_login",null===b&&(b=(aH.w5[a.adapter]??[]).filter(a=>"(default)"!==a).map(a=>({id:a})))}if(null===b)return{ok:!0,count:0};let k=await aW(a.catalogId,b),m=new Date,n=k.length?function(a,b){if(!b.length)return"";let c=aK[aJ(a)];if(c)for(let a of c){let c=b.filter(b=>b.id.toLowerCase().includes(a));if(c.length)return c.sort((a,b)=>(b.released||"").localeCompare(a.released||"")),c[0].id}let d=b.filter(a=>a.released);return d.length?(d.sort((a,b)=>b.released.localeCompare(a.released)),d[0].id):b[0].id}(a.catalogId,k):null;if(k.length)await e.db.delete(f.providerModel).where((0,d.eq)(f.providerModel.providerId,a.id)),await e.db.insert(f.providerModel).values(k.map(b=>({id:(0,l.randomUUID)(),workspaceId:a.workspaceId,providerId:a.id,catalogId:a.catalogId,modelId:b.id,name:b.name,context:b.context,outputLimit:b.outputLimit,inputCost:b.inputCost,outputCost:b.outputCost,caps:b.caps,released:b.released,isDefault:b.id===n,lastSeen:m})));else if(!j)return{ok:!1,count:0,error:"no models returned"};let o=j&&!c?"needs_sync":"connected";return await e.db.update(f.provider).set({status:o,modelCount:k.length||(j?a.modelCount:0),lastSync:m,defaultModel:n||a.defaultModel,...j?{cliVersion:c??null,authState:g??null}:{}}).where((0,d.eq)(f.provider.id,a.id)),{ok:!0,count:k.length}}async function a5(a=12){let b,c=new Date(Date.now()-60*a*6e4);try{b=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.status,"connected"),(0,d.or)((0,d.kZ)(f.provider.lastSync),(0,d.lt)(f.provider.lastSync,c))))}catch{return{refreshed:0}}let g=0;for(let a of b.slice(0,50))try{let b=await a4(a);b.ok&&b.count>0&&g++}catch{}return{refreshed:g}}async function a6(a){let{workspace:b}=await (0,D.nP)(),c=(await e.db.select().from(f.providerModel).where((0,d.Uo)((0,d.eq)(f.providerModel.providerId,a),(0,d.eq)(f.providerModel.workspaceId,b.id)))).map(a=>({id:a.modelId,name:a.name,context:a.context,outputLimit:a.outputLimit,inputCost:a.inputCost,outputCost:a.outputCost,caps:a.caps??{reasoning:!1,tools:!1,vision:!1},released:a.released,isDefault:a.isDefault}));return c.sort((a,b)=>Number(b.isDefault)-Number(a.isDefault)||(b.released||"").localeCompare(a.released||"")||a.name.localeCompare(b.name)),{models:c}}async function a7(a){let{workspace:b}=await (0,D.nP)(),[c]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.id,a),(0,d.eq)(f.provider.workspaceId,b.id)));if(!c)return{ok:!1,error:"not found"};let g=aZ(c.catalogId);if(!g)return{ok:!1,error:"unknown provider"};let h=await (0,aX.r6)(b.id,`${c.catalogId}_api_key`),i=await a0(g,h);return await e.db.update(f.provider).set({status:i.ok?"connected":"error"}).where((0,d.eq)(f.provider.id,a)),(0,C.revalidatePath)("/models"),{ok:i.ok,error:i.error}}async function a8(a){let{workspace:b}=await (0,D.nP)(),[c]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.id,a),(0,d.eq)(f.provider.workspaceId,b.id)));if(!c)return{models:[],error:"not found"};let g=aZ(c.catalogId);if(!g?.baseUrl)return{models:[],error:"no public endpoint for this provider"};let h=await (0,aX.r6)(b.id,`${c.catalogId}_api_key`),i=g.baseUrl.replace(/\/$/,"");try{let a=/ollama/i.test(c.catalogId)||c.adapter.includes("ollama")?`${i.replace(/\/v1$/,"")}/api/tags`:`${i}/models`,b=await fetch(a,{headers:h?{authorization:`Bearer ${h}`}:{},signal:AbortSignal.timeout(8e3)});if(!b.ok)return{models:[],error:`endpoint ${b.status}`};let d=await b.json();return{models:(d.data??d.models??[]).map(a=>a.id??a.name??"").filter(Boolean).slice(0,80)}}catch(b){let a=String(b instanceof Error?b.message:b);return{models:[],error:/abort|fetch failed|ECONN/i.test(a)?"endpoint unreachable":a}}}async function a9(a){let{workspace:b}=await (0,D.nP)(),[c]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.id,a),(0,d.eq)(f.provider.workspaceId,b.id)));c&&await (0,aX.Kh)(b.id,`${c.catalogId}_api_key`),await e.db.delete(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.id,a),(0,d.eq)(f.provider.workspaceId,b.id))),(0,C.revalidatePath)("/models")}async function ba(a){let{workspace:b}=await (0,D.nP)(),[c]=await e.db.select().from(f.provider).where((0,d.Uo)((0,d.eq)(f.provider.id,a),(0,d.eq)(f.provider.workspaceId,b.id)));c&&(await (0,aX.Kh)(b.id,`${c.catalogId}_api_key`),await e.db.update(f.provider).set({auth:"none",status:"needs_sync",modelCount:0}).where((0,d.eq)(f.provider.id,a)),(0,C.revalidatePath)("/models"))}(0,X.D)([a1,a2,a3,a5,a6,a7,a8,a9,ba]),(0,s.A)(a1,"6083539b3e87e0ba2754b76f95c69b6a04fcd2b3a0",null),(0,s.A)(a2,"408e35f6fde4cc7d723301647fb3e3d2b3ca266b3b",null),(0,s.A)(a3,"408c87c59a67a7d876179590ddef054a5561dd4274",null),(0,s.A)(a5,"40d8403e49be3ac104385693217dae85f8236d3c35",null),(0,s.A)(a6,"4056e638c4d638ae4f128726021faa4f588b516ca0",null),(0,s.A)(a7,"405b388cf587856e95466bcdc08d80d1b8d65d7da7",null),(0,s.A)(a8,"40f6633f8af41aa18842e6933cb62e806eaad1b5d2",null),(0,s.A)(a9,"400509c9b98f6d73562f9d5eb6bf1b6e615cb0cbb9",null),(0,s.A)(ba,"4067706ba517cafd33fce796a5221c541b9e790050",null);var bb=c(30142);let bc={"gpt-4o":[2.5,10],"gpt-4o-mini":[.15,.6],"o4-mini":[1.1,4.4],"gemini-2.0-flash":[.1,.4],"gemini-1.5-pro":[1.25,5],"gemini-1.5-flash":[.075,.3]};function bd(a,b,c){let d=Object.keys(bc).find(b=>a.toLowerCase().startsWith(b));if(!d)return 0;let[e,f]=bc[d];return b/1e6*e+c/1e6*f}function be(a,b,c,d){return{ok:!1,text:"",usd:0,inputTokens:0,outputTokens:0,durationMs:c,binary:a,model:b,error:d}}async function bf(a,b,c,d){let e,f=Date.now(),g=b.baseUrl.replace(/\/$/,""),h="google"===b.provider,i=h?`${g}/models/${encodeURIComponent(b.model)}:streamGenerateContent?alt=sse&key=${encodeURIComponent(b.apiKey)}`:`${g}/chat/completions`,j={"content-type":"application/json"};!h&&b.apiKey&&(j.authorization=`Bearer ${b.apiKey}`);let k=h?{contents:[{role:"user",parts:[{text:a}]}]}:{model:b.model,messages:[{role:"user",content:a}],stream:!0,stream_options:{include_usage:!0}};try{e=await fetch(i,{method:"POST",headers:j,body:JSON.stringify(k),signal:AbortSignal.timeout(c.timeoutMs??18e4)})}catch(a){return be(b.provider,b.model,Date.now()-f,String(a instanceof Error?a.message:a))}if(!e.ok||!e.body){let a=await e.text().catch(()=>"");return be(b.provider,b.model,Date.now()-f,`http ${e.status} ${a.slice(0,200)}`)}let l=e.body.getReader(),m=new TextDecoder,n="",o="",p=0,q=0,r=0,s=()=>{o.length>p&&(d({kind:"text",detail:o.slice(p,p+8e3)}),p=o.length)};try{for(;;){let a,{value:b,done:c}=await l.read();if(c)break;for(n+=m.decode(b,{stream:!0});(a=n.indexOf("\n"))>=0;){let b=n.slice(0,a).trim();if(n=n.slice(a+1),!b.startsWith("data:"))continue;let c=b.slice(5).trim();if("[DONE]"!==c)try{let a=JSON.parse(c);if(h){let b=a.candidates?.[0]?.content?.parts?.map(a=>a.text??"").join("")??"";b&&(o+=b).length-p>=120&&s();let c=a.usageMetadata;c&&(q=c.promptTokenCount??q,r=c.candidatesTokenCount??r)}else{let b=a.choices?.[0]?.delta?.content??"";b&&(o+=b).length-p>=120&&s(),a.usage&&(q=a.usage.prompt_tokens??q,r=a.usage.completion_tokens??r)}}catch{}}}}catch(a){return s(),d({kind:"done"}),{ok:!!o,text:o,usd:bd(b.model,q,r),inputTokens:q,outputTokens:r,durationMs:Date.now()-f,binary:b.provider,model:b.model,error:o?void 0:String(a instanceof Error?a.message:a)}}return s(),d({kind:"done"}),{ok:!!o.trim(),text:o,usd:bd(b.model,q,r),inputTokens:q,outputTokens:r,durationMs:Date.now()-f,binary:b.provider,model:b.model,error:o.trim()?void 0:"empty response"}}function bg(a,b){let c=RegExp(`##\\s+${b}\\s*\\n([\\s\\S]*?)(?:\\n##\\s|$)`,"i");return a.match(c)?.[1].trim()??""}function bh(a){return a.split("\n").find(a=>a.trim()&&!a.startsWith("#")&&!a.startsWith("**")&&!a.startsWith("---")&&!a.startsWith("|"))?.trim()??""}function bi(a,b){let c=a.split("\n").find(a=>a.startsWith("# "));return c?c.slice(2).trim():b}async function bj(a){let[b]=await e.db.select().from(f.workspace).where((0,d.eq)(f.workspace.orgId,a));return b??null}async function bk(a,b,c){let g=(0,m.sL)(b,`.claude/skills/${c}.md`)??"",h=bh(g),i=(g.match(/\*\*Trigger:\*\*\s*(.+)/)?.[1]??"").trim(),j=bg(g,"Procedure")||"",[k]=await e.db.select().from(f.skill).where((0,d.Uo)((0,d.eq)(f.skill.workspaceId,a),(0,d.eq)(f.skill.name,c)));k?await e.db.update(f.skill).set({summary:h,trigger:i,...j?{instructions:j}:{},indexed:"indexed"}).where((0,d.eq)(f.skill.id,k.id)):await e.db.insert(f.skill).values({id:(0,l.randomUUID)(),workspaceId:a,name:c,summary:h,trigger:i,instructions:j,native:!0,provisional:!1,indexed:"indexed"})}async function bl(a,b,c){let g=(0,m.sL)(b,`.claude/agents/${c}/Agent.md`)??"";if(!g)return;let[h]=await e.db.select().from(f.agent).where((0,d.Uo)((0,d.eq)(f.agent.workspaceId,a),(0,d.eq)(f.agent.handle,c)));if(!h)return;let i=function(a){let b=a.match(/^---\n([\s\S]*?)\n---/);if(!b)return{};let c={};for(let a of b[1].split("\n")){let b=a.indexOf(":");b>0&&(c[a.slice(0,b).trim()]=a.slice(b+1).trim())}return c}(g),j={identity:(g.match(/\*\*Identity:\*\*\s*(.+)/)?.[1]??"").trim(),ritual:(g.match(/\*\*Ritual:\*\*\s*(.+)/)?.[1]??"").trim(),tone:(g.match(/\*\*Tone:\*\*\s*(.+)/)?.[1]??"").trim()||(h.persona?.tone??""),systemPrompt:bg(g,"System prompt")},k={...i.provider?{adapter:i.provider}:{},...i.model?{model:i.model}:{},...i.temperature?{temperature:parseFloat(i.temperature)}:{},...i.dailyCapUsd?{dailyCapUsd:parseFloat(i.dailyCapUsd)}:{},...i.tierFloor?{tierFloor:i.tierFloor}:{},...i.reportsTo&&"null"!==i.reportsTo?{reportsTo:i.reportsTo}:{},persona:j};for(let g of(await e.db.update(f.agent).set(k).where((0,d.eq)(f.agent.id,h.id)),[...((0,m.sL)(b,`.claude/agents/${c}/skills.md`)??"").matchAll(/`([a-z0-9-]+)`/g)].map(a=>a[1]))){let[b]=await e.db.select().from(f.skill).where((0,d.Uo)((0,d.eq)(f.skill.workspaceId,a),(0,d.eq)(f.skill.name,g)));b&&await e.db.insert(f.agentSkill).values({agentId:h.id,skillId:b.id}).onConflictDoNothing()}}async function bm(a,b,c){let g=c.split("/").pop()??c;if("README.md"===g)return;let h=(0,m.sL)(b,c)??"",i=bi(h,g),[j]=await e.db.select().from(f.report).where((0,d.Uo)((0,d.eq)(f.report.workspaceId,a),(0,d.eq)(f.report.title,i)));j?await e.db.update(f.report).set({body:h}).where((0,d.eq)(f.report.id,j.id)):await e.db.insert(f.report).values({id:(0,l.randomUUID)(),workspaceId:a,title:i,type:"Report",body:h})}async function bn(a,b,c,g){let h=(0,m.sL)(b,c)??"",i=bi(h,c.split("/").pop()??c),j=bh(h),[k]=await e.db.select().from(f.docIndex).where((0,d.Uo)((0,d.eq)(f.docIndex.workspaceId,a),(0,d.eq)(f.docIndex.path,c)));k?await e.db.update(f.docIndex).set({title:i,summary:j,updatedAt:new Date}).where((0,d.eq)(f.docIndex.id,k.id)):await e.db.insert(f.docIndex).values({id:(0,l.randomUUID)(),workspaceId:a,kind:g,path:c,title:i,summary:j})}function bo(a){(a.startsWith(".claude/skills")||a.endsWith("/skills.md"))&&(0,C.revalidatePath)("/skills"),a.startsWith(".claude/agents")&&(0,C.revalidatePath)("/agents/[handle]","page"),a.startsWith("DOCS")&&(0,C.revalidatePath)("/docs"),a.startsWith("PO")&&(0,C.revalidatePath)("/pm"),a.startsWith("Reports")&&(0,C.revalidatePath)("/reports"),(0,C.revalidatePath)("/code")}async function bp(a,b,c=!0){let d,e=await bj(a);if(!e)return{ok:!1};let f=e.id;if(!function(a,b){if(!K(b))return;let c=a+"::"+b,d=R.get(c);d&&clearTimeout(d),R.set(c,setTimeout(()=>{R.delete(c),P(a,b).catch(()=>{})},2500))}(a,b),d=b.match(/^\.claude\/skills\/(.+)\.md$/))await bk(f,a,d[1]);else if(d=b.match(/^\.claude\/agents\/([^/]+)\/(?:Agent|skills)\.md$/))await bl(f,a,d[1]);else if(/^Reports\/.+\.md$/.test(b))await bm(f,a,b);else if(/^DOCS\/.+\.md$/.test(b))await bn(f,a,b,"docs");else{if(!/^PO\/.+\.md$/.test(b))return{ok:!0};await bn(f,a,b,"po")}return c&&bo(b),{ok:!0}}async function bq(a,b){let c,g=await bj(a);if(!g)return{ok:!1};let h=g.id;return Q(a,b).catch(()=>{}),(c=b.match(/^\.claude\/skills\/(.+)\.md$/))?await e.db.delete(f.skill).where((0,d.Uo)((0,d.eq)(f.skill.workspaceId,h),(0,d.eq)(f.skill.name,c[1]))):/^(?:DOCS|PO)\/.+\.md$/.test(b)&&await e.db.delete(f.docIndex).where((0,d.Uo)((0,d.eq)(f.docIndex.workspaceId,h),(0,d.eq)(f.docIndex.path,b))),bo(b),{ok:!0}}async function br(a=!0){let{org:b}=await (0,D.nP)(),c=b.id;for(let a of(0,m.Ci)(c,".claude/skills"))!a.isDir&&a.name.endsWith(".md")&&await bp(c,a.path,!1);for(let a of(0,m.Ci)(c,".claude/agents"))a.isDir&&await bp(c,`${a.path}/Agent.md`,!1);for(let a of["DOCS","PO","Reports"])for(let b of(0,m.Ci)(c,a))!b.isDir&&b.name.endsWith(".md")&&await bp(c,b.path,!1);return a&&(0,C.revalidatePath)("/","layout"),{ok:!0}}async function bs(a,b,c){(0,m.dx)(a,b,c),await bp(a,b)}(0,X.D)([bp,bq,br]),(0,s.A)(bp,"70cfbb806c07829324f1ef5574523a9278094c87f1",null),(0,s.A)(bq,"60f11f39424b3df2e69f7eef9d8e80488894814d06",null),(0,s.A)(br,"40235447972a45e7be663bd2f00f82430e6d4c0271",null);var bt=c(60579),bu=c(74561);let bv=`You are Vannevar, the Knowledge agent â Constella's CENTRAL SOURCE OF TRUTH. You own the Knowledge Base (KB): a curated, classified, state-aware layer over the semantic RAG index.
|
|
9
9
|
|
|
10
10
|
## What the KB is for
|
|
11
11
|
Agents must not leave reusable knowledge scattered in chat. When anything important is created, changed, discovered, reviewed or completed, it is captured into a typed kb_entry, deduped, lifecycle-tracked (active â superseded â obsolete â archived), embedded, and made retrievable. You keep it organised, current and trustworthy.
|
|
@@ -297,7 +297,7 @@ ${c.map(a=>"- "+a).join("\n")||"(scan the project for components / screens / sty
|
|
|
297
297
|
1) Create design-mock/styles/global.css with the design tokens (:root), reset/base and theme ([data-theme]).
|
|
298
298
|
2) Scaffold a skeleton of the main screen(s) under design-mock/screens/ â valid HTML linking ../styles/global.css, with the key sections blocked out as labelled placeholders.
|
|
299
299
|
3) Write design-mock/design-system.md outlining the palette, typography, spacing, core components and the screens to build.
|
|
300
|
-
4) Tell me what you set up and what to build/validate next before approving.`;return b7(`Ada is preparing the delivery plan and needs the design prototyped + approved first (zero drift). ${a}`)}async function cn(a){let{org:b}=await (0,D.nP)();if(!a||!a.startsWith("design-mock/")||a.includes("..")||!/\.html?$/i.test(a))return{ok:!1,error:"Not a design screen."};let c=(0,m.sL)(b.id,a);return null==c?{ok:!1,error:"Screen not found."}:{ok:!0,html:b2(c,a,a=>(0,m.sL)(b.id,a)).slice(0,2e6)}}async function co(){let{org:a,workspace:b}=await (0,D.nP)(),c=(0,m.CS)(a.id).filter(a=>a.startsWith("design-mock/")&&/\.(md|markdown)$/i.test(a)&&!/\/README\.md$/i.test(a)).map(a=>({path:a,label:a.replace(/^design-mock\//,"")})).sort((a,b)=>cp(a.path)-cp(b.path)||a.label.localeCompare(b.label));return(0,bU.zw)(a.id,b),{docs:c}}function cp(a){return/APPROVED\.md$/i.test(a)?0:/design-system\.md$/i.test(a)?1:2}async function cq(a){let{org:b}=await (0,D.nP)();if(!a||!a.startsWith("design-mock/")||a.includes("..")||!/\.(md|markdown)$/i.test(a))return{ok:!1,error:"Not a design doc."};let c=(0,m.sL)(b.id,a);return null==c?{ok:!1,error:"Doc not found."}:{ok:!0,body:c.slice(0,5e5)}}let cr=".claude/design-presets.json";async function cs(){let{org:a}=await (0,D.nP)(),b=(0,m.sL)(a.id,cr);if(!b)return{presets:[]};try{let a=JSON.parse(b);return{presets:Array.isArray(a)?a.slice(0,60):[]}}catch{return{presets:[]}}}async function ct(a,b){let{org:c}=await (0,D.nP)(),d=(a??"").trim();if(!d||d.length>6e4)return{ok:!1,error:"Nothing to save."};let{presets:e}=await cs(),f=[{id:"p"+(0,l.randomUUID)().slice(0,6),label:(b||"Preset").slice(0,40),html:d},...e].slice(0,60);return(0,m.dx)(c.id,cr,JSON.stringify(f,null,2)),{ok:!0}}async function cu(a){let{org:b}=await (0,D.nP)(),{presets:c}=await cs();return(0,m.dx)(b.id,cr,JSON.stringify(c.filter(b=>b.id!==a),null,2)),{ok:!0}}async function cv(){let{org:a,workspace:b}=await (0,D.nP)(),c=(0,bU.zw)(a.id,b);return{screens:c.designMockFiles.filter(a=>/\.html?$/i.test(a)),components:c.designMockFiles.filter(a=>a.startsWith("design-mock/components/"))}}async function cw(a,b,c){let[g]=await e.db.select({id:f.designSession.id}).from(f.designSession).where((0,d.eq)(f.designSession.workspaceId,a)).orderBy((0,i.i)(f.designSession.createdAt)).limit(1);if(!g)return;let h=await e.db.select({id:f.designVersion.id}).from(f.designVersion).where((0,d.eq)(f.designVersion.sessionId,g.id));await e.db.insert(f.designVersion).values({id:(0,l.randomUUID)(),sessionId:g.id,label:"v"+(h.length+1),note:b.slice(0,300),patch:{files:c}})}async function cx(){let{workspace:a}=await (0,D.nP)();bQ();let[b]=await e.db.select({id:f.designSession.id}).from(f.designSession).where((0,d.eq)(f.designSession.workspaceId,a.id)).orderBy((0,i.i)(f.designSession.createdAt)).limit(1);return b?{versions:(await e.db.select().from(f.designVersion).where((0,d.eq)(f.designVersion.sessionId,b.id)).orderBy((0,i.i)(f.designVersion.createdAt))).map(a=>{let b=a.patch;return{id:a.id,label:a.label,note:a.note,files:b?.files??[],restorable:!!b?.snapshot,createdAt:a.createdAt.getTime()}})}:{versions:[]}}async function cy(a,b){return b7(`Restore the prototype to ${a} â "${b}". Re-apply that state to the screens under design-mock/screens/ and tell me what changed.`)}async function cz(a){let{org:b,workspace:c}=await (0,D.nP)();if(!a||!a.startsWith("design-mock/")||a.includes("..")||!/\.html?$/i.test(a))return{ok:!1,error:"Not a design screen."};bQ();let g=(0,m.sL)(b.id,a);if(null==g)return{ok:!1,error:"Screen not found."};let[h]=await e.db.select({id:f.designSession.id}).from(f.designSession).where((0,d.eq)(f.designSession.workspaceId,c.id)).orderBy((0,i.i)(f.designSession.createdAt)).limit(1);if(!h)return{ok:!1,error:"No design session."};let j="Saved v"+((await e.db.select({id:f.designVersion.id}).from(f.designVersion).where((0,d.eq)(f.designVersion.sessionId,h.id))).length+1),k=(a.split("/").pop()||a).replace(/\.[a-z]+$/i,"");await e.db.insert(f.designVersion).values({id:(0,l.randomUUID)(),sessionId:h.id,label:j,note:`Checkpoint \xb7 ${k}`,patch:{files:[a],snapshot:g}});try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0,label:j}}async function cA(a){let{org:b,workspace:c}=await (0,D.nP)();bQ();let[g]=await e.db.select({id:f.designSession.id}).from(f.designSession).where((0,d.eq)(f.designSession.workspaceId,c.id)).orderBy((0,i.i)(f.designSession.createdAt)).limit(1);if(!g)return{ok:!1,error:"No design session."};let[h]=await e.db.select().from(f.designVersion).where((0,d.Uo)((0,d.eq)(f.designVersion.id,a),(0,d.eq)(f.designVersion.sessionId,g.id))).limit(1);if(!h)return{ok:!1,error:"Checkpoint not found."};let j=h.patch,k=j?.files?.[0];if(!j?.snapshot||!k)return{ok:!1,error:"This version isn't a restorable checkpoint."};if(!k.startsWith("design-mock/")||k.includes(".."))return{ok:!1,error:"Bad path."};(0,m.dx)(b.id,k,j.snapshot);try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0}}async function cB(a){let{workspace:b}=await (0,D.nP)();bQ();let[c]=await e.db.select({id:f.designSession.id}).from(f.designSession).where((0,d.eq)(f.designSession.workspaceId,b.id)).orderBy((0,i.i)(f.designSession.createdAt)).limit(1);if(!c)return{comments:[]};let g=a?(0,d.Uo)((0,d.eq)(f.designComment.sessionId,c.id),(0,d.eq)(f.designComment.pageKey,a)):(0,d.eq)(f.designComment.sessionId,c.id);return{comments:(await e.db.select().from(f.designComment).where(g).orderBy(f.designComment.createdAt)).map(a=>({id:a.id,pageKey:a.pageKey,xp:a.xp,yp:a.yp,body:a.body,reply:a.reply,selection:a.selection,createdAt:a.createdAt.getTime()}))}}async function cC(a,b,c,d,g){let h=d?.trim();if(!h)return{ok:!1,error:"Empty comment."};bQ();let i=await b5(),j=(0,l.randomUUID)();await e.db.insert(f.designComment).values({id:j,sessionId:i.id,pageKey:(a||"").slice(0,300),xp:b,yp:c,body:h.slice(0,2e3),reply:"",selection:g??null});try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0,id:j}}async function cD(a,b,c){bQ();let d=await b5(),g=(0,l.randomUUID)(),h=(c||"").trim();await e.db.insert(f.designComment).values({id:g,sessionId:d.id,pageKey:(a||"").slice(0,300),xp:b.x,yp:b.y,body:(h||"(region marked for review)").slice(0,2e3),reply:"",selection:{kind:"markup",rect:b}});try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0,id:g}}async function cE(a){let{workspace:b}=await (0,D.nP)();bQ();let[c]=await e.db.select({id:f.designSession.id}).from(f.designSession).where((0,d.eq)(f.designSession.workspaceId,b.id)).orderBy((0,i.i)(f.designSession.createdAt)).limit(1);c&&await e.db.delete(f.designComment).where((0,d.Uo)((0,d.eq)(f.designComment.id,a),(0,d.eq)(f.designComment.sessionId,c.id)));try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0}}async function cF(a,b,c){let{org:d}=await (0,D.nP)();if(!a||!a.startsWith("design-mock/")||a.includes("..")||!/\.html?$/i.test(a))return{ok:!1,error:"Not a design screen."};let e=(b??"").trim();if(!e)return{ok:!1,error:"Nothing to replace."};let f=(0,m.sL)(d.id,a);if(null==f)return{ok:!1,error:"Screen not found."};let g=f.indexOf(e);if(g<0)return{ok:!1,error:"Couldn't locate that text â ask Grace to apply it."};if(f.indexOf(e,g+1)>=0)return{ok:!1,error:"That text appears more than once â ask Grace to apply it."};(0,m.dx)(d.id,a,f.slice(0,g)+(c??"")+f.slice(g+e.length));try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0}}async function cG(a,b){let{org:c,workspace:d}=await (0,D.nP)();if(!a||!a.startsWith("design-mock/")||a.includes("..")||!/\.html?$/i.test(a))return{ok:!1,error:"Not a design screen."};if(null==b)return{ok:!1,error:"Nothing to commit."};if(b.length>4e6)return{ok:!1,error:"Screen too large."};let e=b,f=e.match(/<body[^>]*>([\s\S]*)<\/body>/i);f&&(e=f[1]),e=e.replace(/<!doctype[^>]*>/gi,"").replace(/<\/?(?:html|head|body)\b[^>]*>/gi,"");let g=(0,m.sL)(c.id,a);if(null==g)return{ok:!1,error:"Screen not found."};let h=g.match(/<body([^>]*)>[\s\S]*<\/body>/i),i=h&&null!=h.index?g.slice(0,h.index)+`<body${h[1]}>`+e+"</body>"+g.slice(h.index+h[0].length):`<!doctype html><html><head><meta charset="utf-8"></head><body>${e}</body></html>`;(0,m.dx)(c.id,a,i);try{await cH(d.id,a)}catch{}try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0}}async function cH(a,b){let[c]=await e.db.select({id:f.designSession.id}).from(f.designSession).where((0,d.eq)(f.designSession.workspaceId,a)).orderBy((0,i.i)(f.designSession.createdAt)).limit(1);if(!c)return;let g="Manual canvas edit",[h]=await e.db.select().from(f.designVersion).where((0,d.eq)(f.designVersion.sessionId,c.id)).orderBy((0,i.i)(f.designVersion.createdAt)).limit(1);if(h&&h.note===g&&Date.now()-h.createdAt.getTime()<9e4){let a=Array.from(new Set([...h.patch?.files??[],b]));await e.db.update(f.designVersion).set({patch:{files:a},createdAt:new Date}).where((0,d.eq)(f.designVersion.id,h.id))}else{let a=await e.db.select({id:f.designVersion.id}).from(f.designVersion).where((0,d.eq)(f.designVersion.sessionId,c.id));await e.db.insert(f.designVersion).values({id:(0,l.randomUUID)(),sessionId:c.id,label:"v"+(a.length+1),note:g,patch:{files:[b]}})}}async function cI(){let{org:a,workspace:b}=await (0,D.nP)(),c=(0,bU.zw)(a.id,b).designMockFiles.filter(a=>/design-mock\/screens\/.+\.html?$/i.test(a));if(!c.length)return{ok:!1,built:[],error:"No screens to build yet â ask Grace for a screen first."};let d=[];for(let b of c){let c=(0,m.sL)(a.id,b);if(null==c)continue;let{out:e,obfuscated:f}=function(a){let b=/<script\b/i.test(a),c=function(a){let b;return(b=[],a.replace(/<style\b([^>]*)>([\s\S]*?)<\/style>/gi,(a,b,c)=>`<style${b}>${c.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{};,])\s*/g,"$1").replace(/:\s+/g,":").replace(/;}/g,"}").trim()}</style>`).replace(/<(script|style)\b[\s\S]*?<\/\1>/gi,a=>(b.push(a),`\0${b.length-1}\0`)).replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/(\d+)/g,(a,c)=>b[Number(c)])).trim()}(a);return b||(c=function(a){if(/<script\b/i.test(a))return a;let b=new Set;for(let c of a.matchAll(/class\s*=\s*"([^"]*)"/gi))c[1].split(/\s+/).filter(Boolean).forEach(a=>b.add(a));if(!b.size)return a;let c=new Map;[...b].forEach((a,b)=>c.set(a,function(a){let b="",c=a+1;for(;c>0;)b="abcdefghijklmnopqrstuvwxyz"[--c%26]+b,c=Math.floor(c/26);return b}(b)));let d=a.replace(/class\s*=\s*"([^"]*)"/gi,(a,b)=>`class="${b.split(/\s+/).filter(Boolean).map(a=>c.get(a)??a).join(" ")}"`);return d.replace(/<style\b([^>]*)>([\s\S]*?)<\/style>/gi,(a,b,d)=>{let e=d;for(let[a,b]of c)e=e.replace(RegExp("\\."+a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"(?![-_\\w])","g"),"."+b);return`<style${b}>${e}</style>`})}(c)),{out:c,obfuscated:!b}}(b2(c,b,b=>(0,m.sL)(a.id,b))),g=`design-mock/dist/${b.split("/").pop()}`;(0,m.dx)(a.id,g,e),d.push({path:g,before:c.length,after:e.length,obfuscated:f})}try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0,built:d}}(0,X.D)([b5,b6,b7,b8,b9,ca,cb,cc,ce,cf,ch,ck,cl,cm,cn,co,cq,cs,ct,cu,cv,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cI]),(0,s.A)(b5,"005b10ac4df7ed0f7392e991bb82ed4f88d3b61d74",null),(0,s.A)(b6,"4067307ce089b31d3e494ed9c0f93d9847b649e934",null),(0,s.A)(b7,"7080b27ff6dfc3db037e16c1bfcb0dbdd6e39da61a",null),(0,s.A)(b8,"40c1f693730c73d3ea25cb7fead89fbeddc38941bf",null),(0,s.A)(b9,"704f3c299b2a26f4c589dae77dd538aca487aaa71c",null),(0,s.A)(ca,"007d2d9dd848b3415490b6f32875e692d898958ab6",null),(0,s.A)(cb,"60a086bbd97cfbf602cbe04606aa1b54802fc1d3fe",null),(0,s.A)(cc,"00881dc144c821d03ec1349f977507a79eb62c08b9",null),(0,s.A)(ce,"60b2749ebc40600e93b4d9b6be93528555dea63350",null),(0,s.A)(cf,"00ba0232091ba4ed048391fa668752ce34b548bcf0",null),(0,s.A)(ch,"60816c6010080d0c3b54871286f36bd24e0618aaa6",null),(0,s.A)(ck,"60df6fc6cfbfdc1eb8f9a039646193c4d8d1b3ecfa",null),(0,s.A)(cl,"00c62021056f8b2c00829a8b7d390353eaabc724a4",null),(0,s.A)(cm,"00a3c4b5a13e1dde6efab6d5421a9232dfd87a4689",null),(0,s.A)(cn,"40bac470c1253b0cd0dc683537b3cf5462d92020bc",null),(0,s.A)(co,"000e9041aeb30b4c8ca71341990e208d68b7b21b7f",null),(0,s.A)(cq,"40aa8544982f3077cdbc78e57a1bc7a1d078a5035f",null),(0,s.A)(cs,"00956b8eaaf169063abde5cb3f59badefbe71915f6",null),(0,s.A)(ct,"6021c456fc57cc4afc301239c8ce96b2f55ebeaab6",null),(0,s.A)(cu,"402081a0915ac82ebc6d340fbf82e3746a4925eb8b",null),(0,s.A)(cv,"000bae14a63337ad112175da81b78bcd62ba42a2df",null),(0,s.A)(cx,"008f3863abc603d341052a4bbab8ce9243ad029880",null),(0,s.A)(cy,"60e6e05368a96761ba5c0fb9a1542975b0e1812ac5",null),(0,s.A)(cz,"400df4e1324216021f528585fdf52bcbb465ae43c6",null),(0,s.A)(cA,"40103701dbb018905c3123a247995125d8a7bd4d7a",null),(0,s.A)(cB,"40a8566bc9a80a001d82131f509bd374af991b76ff",null),(0,s.A)(cC,"7cd67f9da791307c34e973ce5935ff3ebdb540ece0",null),(0,s.A)(cD,"7092594720b30422789b60560e0e360acd53a13329",null),(0,s.A)(cE,"40b8490ba2b7dd406f11ea61518ad8761bb15ca558",null),(0,s.A)(cF,"700861576230a313df69af7bb3b2ad32c90963e9fe",null),(0,s.A)(cG,"602d70d47f8248807f19f7af7595ad03cb510362f1",null),(0,s.A)(cI,"000775aa288b626c1a9d42728f9f4ff7d9d3d468d4",null);let cJ=!1;async function cK(){if(!cJ){cJ=!0;try{(0,g.pw)()}catch(a){console.error("[boot] FATAL:",a.message),process.exit(1)}try{by()}catch(a){console.error("[boot] ensureKbTables failed:",a)}try{for(let a of(bO(),bO(),e.F.prepare("SELECT workspace_id, steps FROM deploy_run WHERE status = 'running'").all())){let b=(function(a,b){if(!a)return b;try{return JSON.parse(a)}catch{return b}})(a.steps,[]).map(a=>"running"===a.status?{...a,status:"error",detail:a.detail||"interrupted by restart"}:a);e.F.prepare("UPDATE deploy_run SET status = 'failed', steps = ?, updated_at = unixepoch() WHERE workspace_id = ?").run(JSON.stringify(b),a.workspace_id)}}catch(a){console.error("[boot] ensureDeployTables failed:",a)}try{bQ()}catch(a){console.error("[boot] ensureDesignTables failed:",a)}try{(0,h.Vj)();let a=await e.db.update(f.agent).set({status:"idle"}).where((0,d.RV)(f.agent.status,["working","review"])).returning({id:f.agent.id}),b=await e.db.select().from(f.task).where((0,d.eq)(f.task.col,"doing")),c=0;for(let a of b){if(a.goalId){let b=await e.db.query.goal.findFirst({where:(0,d.eq)(f.goal.id,a.goalId)});if(b&&"active"!==b.status)continue}await e.db.update(f.task).set({col:"todo"}).where((0,d.eq)(f.task.id,a.id)),c++}let g=0,i=0;for(let a of(await e.db.select().from(f.goal).where((0,d.RV)(f.goal.status,["cancelled","archived"])))){let b=a.status,c=await e.db.update(f.spec).set({status:b}).where((0,d.Uo)((0,d.eq)(f.spec.goalId,a.id),(0,d.ne)(f.spec.status,b))).returning({id:f.spec.id}),h=await e.db.update(f.issue).set({status:b}).where((0,d.Uo)((0,d.eq)(f.issue.goalId,a.id),(0,d.ne)(f.issue.status,b))).returning({id:f.issue.id});g+=c.length+h.length,i+=await bE(a.workspaceId,a.id)}i&&console.log(`[boot] retired ${i} KB entr(y/ies) from cancelled/archived goals`);let k=0;for(let a of(await e.db.select({id:f.workspace.id}).from(f.workspace)))k+=await j(a.id);console.log(`[boot] reconciled: ${a.length} agent(s) â idle, ${c} orphan task(s) â todo, ${g} spec/issue status synced, ${k} orphan event(s) pruned`)}catch(a){console.error("[boot] reconcile failed:",a)}try{let a=await cf();a&&console.log(`[boot] resumed ${a} pending design handoff(s)`)}catch(a){console.error("[boot] resume design handoffs failed:",a)}try{let a=process.env.CONSTELLA_RUN_MODE;a&&["start","auth","vps","portable"].includes(a)&&(await e.db.update(f.organization).set({runMode:a}).where((0,d.ne)(f.organization.runMode,a)),(await e.db.update(f.workspace).set({runMode:a}).where((0,d.Uo)((0,d.ne)(f.workspace.runMode,"off"),(0,d.ne)(f.workspace.runMode,a))).returning({id:f.workspace.id})).length&&console.log(`[boot] run mode synced to --${a}`))}catch(a){console.error("[boot] run-mode sync failed:",a)}try{let a=function(){let a=e.db.select({id:f.workspace.id,orgId:f.workspace.orgId,stack:f.workspace.stack}).from(f.workspace).all(),b=(0,n.Ws)(),c=0;for(let g of a){let a=e.db.select({id:f.agent.id,handle:f.agent.handle}).from(f.agent).where((0,d.eq)(f.agent.workspaceId,g.id)).all();if(!a.length)continue;let h=Object.fromEntries(a.map(a=>[a.handle,a.id]));try{c+=function(a){let{orgId:b,wsId:c,names:g,agentIds:h}=a,i=a.linkNames?new Set(a.linkNames):null,j=0;for(let a of g){let g=(0,n.fi)(a);if(!g||e.db.select({id:f.skill.id}).from(f.skill).where((0,d.Uo)((0,d.eq)(f.skill.workspaceId,c),(0,d.eq)(f.skill.name,a))).get())continue;let k=(0,n.qg)(a);if(!k)continue;let o=(0,n.BC)(k),p=`When working with ${a} in this project.`,q=`# Skill â ${a}
|
|
300
|
+
4) Tell me what you set up and what to build/validate next before approving.`;return b7(`Ada is preparing the delivery plan and needs the design prototyped + approved first (zero drift). ${a}`)}async function cn(a){let{org:b}=await (0,D.nP)();if(!a||!a.startsWith("design-mock/")||a.includes("..")||!/\.html?$/i.test(a))return{ok:!1,error:"Not a design screen."};let c=(0,m.sL)(b.id,a);return null==c?{ok:!1,error:"Screen not found."}:{ok:!0,html:b2(c,a,a=>(0,m.sL)(b.id,a)).slice(0,2e6)}}async function co(){let{org:a,workspace:b}=await (0,D.nP)(),c=(0,m.CS)(a.id).filter(a=>a.startsWith("design-mock/")&&/\.(md|markdown)$/i.test(a)&&!/\/README\.md$/i.test(a)).map(a=>({path:a,label:a.replace(/^design-mock\//,"")})).sort((a,b)=>cp(a.path)-cp(b.path)||a.label.localeCompare(b.label));return(0,bU.zw)(a.id,b),{docs:c}}function cp(a){return/APPROVED\.md$/i.test(a)?0:/design-system\.md$/i.test(a)?1:2}async function cq(a){let{org:b}=await (0,D.nP)();if(!a||!a.startsWith("design-mock/")||a.includes("..")||!/\.(md|markdown)$/i.test(a))return{ok:!1,error:"Not a design doc."};let c=(0,m.sL)(b.id,a);return null==c?{ok:!1,error:"Doc not found."}:{ok:!0,body:c.slice(0,5e5)}}let cr=".claude/design-presets.json";async function cs(){let{org:a}=await (0,D.nP)(),b=(0,m.sL)(a.id,cr);if(!b)return{presets:[]};try{let a=JSON.parse(b);return{presets:Array.isArray(a)?a.slice(0,60):[]}}catch{return{presets:[]}}}async function ct(a,b){let{org:c}=await (0,D.nP)(),d=(a??"").trim();if(!d||d.length>6e4)return{ok:!1,error:"Nothing to save."};let{presets:e}=await cs(),f=[{id:"p"+(0,l.randomUUID)().slice(0,6),label:(b||"Preset").slice(0,40),html:d},...e].slice(0,60);return(0,m.dx)(c.id,cr,JSON.stringify(f,null,2)),{ok:!0}}async function cu(a){let{org:b}=await (0,D.nP)(),{presets:c}=await cs();return(0,m.dx)(b.id,cr,JSON.stringify(c.filter(b=>b.id!==a),null,2)),{ok:!0}}async function cv(){let{org:a,workspace:b}=await (0,D.nP)(),c=(0,bU.zw)(a.id,b);return{screens:c.designMockFiles.filter(a=>/\.html?$/i.test(a)),components:c.designMockFiles.filter(a=>a.startsWith("design-mock/components/"))}}async function cw(a,b,c){let[g]=await e.db.select({id:f.designSession.id}).from(f.designSession).where((0,d.eq)(f.designSession.workspaceId,a)).orderBy((0,i.i)(f.designSession.createdAt)).limit(1);if(!g)return;let h=await e.db.select({id:f.designVersion.id}).from(f.designVersion).where((0,d.eq)(f.designVersion.sessionId,g.id));await e.db.insert(f.designVersion).values({id:(0,l.randomUUID)(),sessionId:g.id,label:"v"+(h.length+1),note:b.slice(0,300),patch:{files:c}})}async function cx(){let{workspace:a}=await (0,D.nP)();bQ();let[b]=await e.db.select({id:f.designSession.id}).from(f.designSession).where((0,d.eq)(f.designSession.workspaceId,a.id)).orderBy((0,i.i)(f.designSession.createdAt)).limit(1);return b?{versions:(await e.db.select().from(f.designVersion).where((0,d.eq)(f.designVersion.sessionId,b.id)).orderBy((0,i.i)(f.designVersion.createdAt))).map(a=>{let b=a.patch;return{id:a.id,label:a.label,note:a.note,files:b?.files??[],restorable:!!b?.snapshot,createdAt:a.createdAt.getTime()}})}:{versions:[]}}async function cy(a,b){return b7(`Restore the prototype to ${a} â "${b}". Re-apply that state to the screens under design-mock/screens/ and tell me what changed.`)}async function cz(a){let{org:b,workspace:c}=await (0,D.nP)();if(!a||!a.startsWith("design-mock/")||a.includes("..")||!/\.html?$/i.test(a))return{ok:!1,error:"Not a design screen."};bQ();let g=(0,m.sL)(b.id,a);if(null==g)return{ok:!1,error:"Screen not found."};let[h]=await e.db.select({id:f.designSession.id}).from(f.designSession).where((0,d.eq)(f.designSession.workspaceId,c.id)).orderBy((0,i.i)(f.designSession.createdAt)).limit(1);if(!h)return{ok:!1,error:"No design session."};let j="Saved v"+((await e.db.select({id:f.designVersion.id}).from(f.designVersion).where((0,d.eq)(f.designVersion.sessionId,h.id))).length+1),k=(a.split("/").pop()||a).replace(/\.[a-z]+$/i,"");await e.db.insert(f.designVersion).values({id:(0,l.randomUUID)(),sessionId:h.id,label:j,note:`Checkpoint \xb7 ${k}`,patch:{files:[a],snapshot:g}});try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0,label:j}}async function cA(a){let{org:b,workspace:c}=await (0,D.nP)();bQ();let[g]=await e.db.select({id:f.designSession.id}).from(f.designSession).where((0,d.eq)(f.designSession.workspaceId,c.id)).orderBy((0,i.i)(f.designSession.createdAt)).limit(1);if(!g)return{ok:!1,error:"No design session."};let[h]=await e.db.select().from(f.designVersion).where((0,d.Uo)((0,d.eq)(f.designVersion.id,a),(0,d.eq)(f.designVersion.sessionId,g.id))).limit(1);if(!h)return{ok:!1,error:"Checkpoint not found."};let j=h.patch,k=j?.files?.[0];if(!j?.snapshot||!k)return{ok:!1,error:"This version isn't a restorable checkpoint."};if(!k.startsWith("design-mock/")||k.includes(".."))return{ok:!1,error:"Bad path."};(0,m.dx)(b.id,k,j.snapshot);try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0}}async function cB(a){let{workspace:b}=await (0,D.nP)();bQ();let[c]=await e.db.select({id:f.designSession.id}).from(f.designSession).where((0,d.eq)(f.designSession.workspaceId,b.id)).orderBy((0,i.i)(f.designSession.createdAt)).limit(1);if(!c)return{comments:[]};let g=a?(0,d.Uo)((0,d.eq)(f.designComment.sessionId,c.id),(0,d.eq)(f.designComment.pageKey,a)):(0,d.eq)(f.designComment.sessionId,c.id);return{comments:(await e.db.select().from(f.designComment).where(g).orderBy(f.designComment.createdAt)).map(a=>({id:a.id,pageKey:a.pageKey,xp:a.xp,yp:a.yp,body:a.body,reply:a.reply,selection:a.selection,createdAt:a.createdAt.getTime()}))}}async function cC(a,b,c,d,g){let h=d?.trim();if(!h)return{ok:!1,error:"Empty comment."};bQ();let i=await b5(),j=(0,l.randomUUID)();await e.db.insert(f.designComment).values({id:j,sessionId:i.id,pageKey:(a||"").slice(0,300),xp:b,yp:c,body:h.slice(0,2e3),reply:"",selection:g??null});try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0,id:j}}async function cD(a,b,c){bQ();let d=await b5(),g=(0,l.randomUUID)(),h=(c||"").trim();await e.db.insert(f.designComment).values({id:g,sessionId:d.id,pageKey:(a||"").slice(0,300),xp:b.x,yp:b.y,body:(h||"(region marked for review)").slice(0,2e3),reply:"",selection:{kind:"markup",rect:b}});try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0,id:g}}async function cE(a){let{workspace:b}=await (0,D.nP)();bQ();let[c]=await e.db.select({id:f.designSession.id}).from(f.designSession).where((0,d.eq)(f.designSession.workspaceId,b.id)).orderBy((0,i.i)(f.designSession.createdAt)).limit(1);c&&await e.db.delete(f.designComment).where((0,d.Uo)((0,d.eq)(f.designComment.id,a),(0,d.eq)(f.designComment.sessionId,c.id)));try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0}}async function cF(a,b,c){let{org:d}=await (0,D.nP)();if(!a||!a.startsWith("design-mock/")||a.includes("..")||!/\.html?$/i.test(a))return{ok:!1,error:"Not a design screen."};let e=(b??"").trim();if(!e)return{ok:!1,error:"Nothing to replace."};let f=(0,m.sL)(d.id,a);if(null==f)return{ok:!1,error:"Screen not found."};let g=f.indexOf(e);if(g<0)return{ok:!1,error:"Couldn't locate that text â ask Grace to apply it."};if(f.indexOf(e,g+1)>=0)return{ok:!1,error:"That text appears more than once â ask Grace to apply it."};(0,m.dx)(d.id,a,f.slice(0,g)+(c??"")+f.slice(g+e.length));try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0}}async function cG(a,b){let{org:c,workspace:d}=await (0,D.nP)();if(!a||!a.startsWith("design-mock/")||a.includes("..")||!/\.html?$/i.test(a))return{ok:!1,error:"Not a design screen."};if(null==b)return{ok:!1,error:"Nothing to commit."};if(b.length>4e6)return{ok:!1,error:"Screen too large."};let e=b,f=e.match(/<body[^>]*>([\s\S]*)<\/body>/i);f&&(e=f[1]),e=e.replace(/<!doctype[^>]*>/gi,"").replace(/<\/?(?:html|head|body)\b[^>]*>/gi,"");let g=(0,m.sL)(c.id,a);if(null==g)return{ok:!1,error:"Screen not found."};let h=g.match(/<body([^>]*)>[\s\S]*<\/body>/i),i=h&&null!=h.index?g.slice(0,h.index)+`<body${h[1]}>`+e+"</body>"+g.slice(h.index+h[0].length):`<!doctype html><html><head><meta charset="utf-8"></head><body>${e}</body></html>`;(0,m.dx)(c.id,a,i);try{await cH(d.id,a)}catch{}try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0}}async function cH(a,b){let[c]=await e.db.select({id:f.designSession.id}).from(f.designSession).where((0,d.eq)(f.designSession.workspaceId,a)).orderBy((0,i.i)(f.designSession.createdAt)).limit(1);if(!c)return;let g="Manual canvas edit",[h]=await e.db.select().from(f.designVersion).where((0,d.eq)(f.designVersion.sessionId,c.id)).orderBy((0,i.i)(f.designVersion.createdAt)).limit(1);if(h&&h.note===g&&Date.now()-h.createdAt.getTime()<9e4){let a=Array.from(new Set([...h.patch?.files??[],b]));await e.db.update(f.designVersion).set({patch:{files:a},createdAt:new Date}).where((0,d.eq)(f.designVersion.id,h.id))}else{let a=await e.db.select({id:f.designVersion.id}).from(f.designVersion).where((0,d.eq)(f.designVersion.sessionId,c.id));await e.db.insert(f.designVersion).values({id:(0,l.randomUUID)(),sessionId:c.id,label:"v"+(a.length+1),note:g,patch:{files:[b]}})}}async function cI(){let{org:a,workspace:b}=await (0,D.nP)(),c=(0,bU.zw)(a.id,b).designMockFiles.filter(a=>/design-mock\/screens\/.+\.html?$/i.test(a));if(!c.length)return{ok:!1,built:[],error:"No screens to build yet â ask Grace for a screen first."};let d=[];for(let b of c){let c=(0,m.sL)(a.id,b);if(null==c)continue;let{out:e,obfuscated:f}=function(a){let b=/<script\b/i.test(a),c=function(a){let b;return(b=[],a.replace(/<style\b([^>]*)>([\s\S]*?)<\/style>/gi,(a,b,c)=>`<style${b}>${c.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{};,])\s*/g,"$1").replace(/:\s+/g,":").replace(/;}/g,"}").trim()}</style>`).replace(/<(script|style)\b[\s\S]*?<\/\1>/gi,a=>(b.push(a),`\0${b.length-1}\0`)).replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/(\d+)/g,(a,c)=>b[Number(c)])).trim()}(a);return b||(c=function(a){if(/<script\b/i.test(a))return a;let b=new Set;for(let c of a.matchAll(/class\s*=\s*"([^"]*)"/gi))c[1].split(/\s+/).filter(Boolean).forEach(a=>b.add(a));if(!b.size)return a;let c=new Map;[...b].forEach((a,b)=>c.set(a,function(a){let b="",c=a+1;for(;c>0;)b="abcdefghijklmnopqrstuvwxyz"[--c%26]+b,c=Math.floor(c/26);return b}(b)));let d=a.replace(/class\s*=\s*"([^"]*)"/gi,(a,b)=>`class="${b.split(/\s+/).filter(Boolean).map(a=>c.get(a)??a).join(" ")}"`);return d.replace(/<style\b([^>]*)>([\s\S]*?)<\/style>/gi,(a,b,d)=>{let e=d;for(let[a,b]of c)e=e.replace(RegExp("\\."+a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"(?![-_\\w])","g"),"."+b);return`<style${b}>${e}</style>`})}(c)),{out:c,obfuscated:!b}}(b2(c,b,b=>(0,m.sL)(a.id,b))),g=`design-mock/dist/${b.split("/").pop()}`;(0,m.dx)(a.id,g,e),d.push({path:g,before:c.length,after:e.length,obfuscated:f})}try{(0,C.revalidatePath)("/design")}catch{}return{ok:!0,built:d}}(0,X.D)([b5,b6,b7,b8,b9,ca,cb,cc,ce,cf,ch,ck,cl,cm,cn,co,cq,cs,ct,cu,cv,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cI]),(0,s.A)(b5,"001d0063b3096499a8ec0f764994e221c6f50cabec",null),(0,s.A)(b6,"404d32bd38a894413e933deedd06e31bfa181a6524",null),(0,s.A)(b7,"704a45ad07676351351b4cca4b8ab85e3d36edc44b",null),(0,s.A)(b8,"40b3031c8c4279dc082ccfde198b7db577a038b4ab",null),(0,s.A)(b9,"709d782c26c7e7854baca9ee5d66ab588938cab663",null),(0,s.A)(ca,"00efa77c9d731961785a5b1e7f07bb860469145e1c",null),(0,s.A)(cb,"6013a509fc0601f5fb3412b8cf3e40d7acccace553",null),(0,s.A)(cc,"00fea79ea40487a21c226cf5b24f305d5e64f4526a",null),(0,s.A)(ce,"6049fcc984ff3dff10cb80876482ae59126967a274",null),(0,s.A)(cf,"00fb26efe45ffbcc8d00c2a42ec6f861d86d7e3d1e",null),(0,s.A)(ch,"6084d53ea1253e43f080b2cf0d5c63f3e19b2379cf",null),(0,s.A)(ck,"6061a072b77be02b25ff2b1d07ee0156b064a93376",null),(0,s.A)(cl,"0077f2278034c406de1ccda97e8e5a1cb8b4778021",null),(0,s.A)(cm,"00f7e3bbdceff614c56d9c0618217f6a37237e9dad",null),(0,s.A)(cn,"409118314a7a1407dced0019746ab3104f7f606cc9",null),(0,s.A)(co,"0066100dc8904c58a270ededd9857f10c67f424e9a",null),(0,s.A)(cq,"408e51a879a77d25604c2b85bb002e2373ab8c0ae1",null),(0,s.A)(cs,"00cc8dfdd18e2ae71e708ee33dac193a2c30f1b512",null),(0,s.A)(ct,"6055e32d18d1e47a4180ef8ac3c12189f2fd108244",null),(0,s.A)(cu,"40ff7bcf6eba2ac7a44d3ed359c8235598c2700580",null),(0,s.A)(cv,"00139cfd8b058e81fd1f5a24e4095013e8a715ec60",null),(0,s.A)(cx,"001e0576d5722123766a79fcba07b464a665a26402",null),(0,s.A)(cy,"60fc13c761fc83ddb2f356490bc36ff0752e8ee7a3",null),(0,s.A)(cz,"40617eca80dbc17c4fc05884e3336cce12cb2fa80c",null),(0,s.A)(cA,"4047586cae3d36c60610b8172dd5f77a78848f6cf2",null),(0,s.A)(cB,"4038ee006992bbe00c928c2a081d59d03db17e434a",null),(0,s.A)(cC,"7cda87ea6eaf270f89f1eabe473a45cb38fb38794a",null),(0,s.A)(cD,"7030d12184597a6da83165a9b71b4d847ac22e61cc",null),(0,s.A)(cE,"404dd3ea890bd8d8c53efffa4c45fa5c32992979cf",null),(0,s.A)(cF,"7082813cc5d60c4c7e6099074897c0c6b957669cb1",null),(0,s.A)(cG,"60a685a091cc086759e0a7d00c75403864402da012",null),(0,s.A)(cI,"001425f60c0da2dd1d0eee8afc70c30f2d6d02d1d7",null);let cJ=!1;async function cK(){if(!cJ){cJ=!0;try{(0,g.pw)()}catch(a){console.error("[boot] FATAL:",a.message),process.exit(1)}try{by()}catch(a){console.error("[boot] ensureKbTables failed:",a)}try{for(let a of(bO(),bO(),e.F.prepare("SELECT workspace_id, steps FROM deploy_run WHERE status = 'running'").all())){let b=(function(a,b){if(!a)return b;try{return JSON.parse(a)}catch{return b}})(a.steps,[]).map(a=>"running"===a.status?{...a,status:"error",detail:a.detail||"interrupted by restart"}:a);e.F.prepare("UPDATE deploy_run SET status = 'failed', steps = ?, updated_at = unixepoch() WHERE workspace_id = ?").run(JSON.stringify(b),a.workspace_id)}}catch(a){console.error("[boot] ensureDeployTables failed:",a)}try{bQ()}catch(a){console.error("[boot] ensureDesignTables failed:",a)}try{(0,h.Vj)();let a=await e.db.update(f.agent).set({status:"idle"}).where((0,d.RV)(f.agent.status,["working","review"])).returning({id:f.agent.id}),b=await e.db.select().from(f.task).where((0,d.eq)(f.task.col,"doing")),c=0;for(let a of b){if(a.goalId){let b=await e.db.query.goal.findFirst({where:(0,d.eq)(f.goal.id,a.goalId)});if(b&&"active"!==b.status)continue}await e.db.update(f.task).set({col:"todo"}).where((0,d.eq)(f.task.id,a.id)),c++}let g=0,i=0;for(let a of(await e.db.select().from(f.goal).where((0,d.RV)(f.goal.status,["cancelled","archived"])))){let b=a.status,c=await e.db.update(f.spec).set({status:b}).where((0,d.Uo)((0,d.eq)(f.spec.goalId,a.id),(0,d.ne)(f.spec.status,b))).returning({id:f.spec.id}),h=await e.db.update(f.issue).set({status:b}).where((0,d.Uo)((0,d.eq)(f.issue.goalId,a.id),(0,d.ne)(f.issue.status,b))).returning({id:f.issue.id});g+=c.length+h.length,i+=await bE(a.workspaceId,a.id)}i&&console.log(`[boot] retired ${i} KB entr(y/ies) from cancelled/archived goals`);let k=0;for(let a of(await e.db.select({id:f.workspace.id}).from(f.workspace)))k+=await j(a.id);console.log(`[boot] reconciled: ${a.length} agent(s) â idle, ${c} orphan task(s) â todo, ${g} spec/issue status synced, ${k} orphan event(s) pruned`)}catch(a){console.error("[boot] reconcile failed:",a)}try{let a=await cf();a&&console.log(`[boot] resumed ${a} pending design handoff(s)`)}catch(a){console.error("[boot] resume design handoffs failed:",a)}try{let a=process.env.CONSTELLA_RUN_MODE;a&&["start","auth","vps","portable"].includes(a)&&(await e.db.update(f.organization).set({runMode:a}).where((0,d.ne)(f.organization.runMode,a)),(await e.db.update(f.workspace).set({runMode:a}).where((0,d.Uo)((0,d.ne)(f.workspace.runMode,"off"),(0,d.ne)(f.workspace.runMode,a))).returning({id:f.workspace.id})).length&&console.log(`[boot] run mode synced to --${a}`))}catch(a){console.error("[boot] run-mode sync failed:",a)}try{let a=function(){let a=e.db.select({id:f.workspace.id,orgId:f.workspace.orgId,stack:f.workspace.stack}).from(f.workspace).all(),b=(0,n.Ws)(),c=0;for(let g of a){let a=e.db.select({id:f.agent.id,handle:f.agent.handle}).from(f.agent).where((0,d.eq)(f.agent.workspaceId,g.id)).all();if(!a.length)continue;let h=Object.fromEntries(a.map(a=>[a.handle,a.id]));try{c+=function(a){let{orgId:b,wsId:c,names:g,agentIds:h}=a,i=a.linkNames?new Set(a.linkNames):null,j=0;for(let a of g){let g=(0,n.fi)(a);if(!g||e.db.select({id:f.skill.id}).from(f.skill).where((0,d.Uo)((0,d.eq)(f.skill.workspaceId,c),(0,d.eq)(f.skill.name,a))).get())continue;let k=(0,n.qg)(a);if(!k)continue;let o=(0,n.BC)(k),p=`When working with ${a} in this project.`,q=`# Skill â ${a}
|
|
301
301
|
|
|
302
302
|
**Trigger:** ${p}
|
|
303
303
|
|
|
@@ -421,7 +421,7 @@ An APPROVED design already exists (design-mock/APPROVED.md) â the official vis
|
|
|
421
421
|
There is an existing imported/scaffolded project in this workspace â extend it, preserve its visual identity.`:""].filter(Boolean).join("\n")}let j={hotel:["hospitality","booking","reservation","rooms","travel","checkin","premium","gallery","amenities"],hospedagem:["hotel","booking","reservation","rooms","hospitality"],reserva:["booking","calendar","availability","checkout"],restaurant:["menu","food","reservation","hospitality","gallery"],restaurante:["menu","food","reservation","hospitality"],ecommerce:["product","cart","checkout","catalog","pricing","payment"],loja:["ecommerce","product","cart","checkout","catalog"],shop:["ecommerce","product","cart","checkout"],store:["ecommerce","product","cart","checkout"],dashboard:["charts","dataviz","tables","kpi","analytics","admin"],saas:["dashboard","pricing","onboarding","settings","billing"],fintech:["dashboard","charts","security","transactions","kpi"],banking:["fintech","transactions","security","cards","dashboard"],banco:["fintech","transactions","security","cards"],calculator:["mobile","grid","buttons","keypad","ios"],calculadora:["mobile","grid","buttons","keypad","ios"],apple:["ios","glassmorphism","minimal","typography","rounded","microinteractions"],ios:["apple","glassmorphism","mobile","rounded","microinteractions","minimal"],glassmorphism:["blur","translucent","frosted","depth","gradient"],neumorphism:["shadow","embossed","monochrome"],minimal:["whitespace","typography","restraint","grid"],minimalista:["whitespace","typography","grid"],brutalist:["bold","contrast","raw","monospace"],landing:["hero","cta","sections","features","testimonials","pricing","footer"],portfolio:["gallery","grid","casestudy","minimal","typography"],blog:["typography","reading","article","content"],social:["feed","cards","avatars","interactions","realtime"],chat:["messages","bubbles","realtime","input","avatars"],mobile:["responsive","touch","ios","android"],admin:["dashboard","tables","forms","crud","data"],dark:["theme","contrast"],premium:["luxury","typography","spacing","motion","elegant"],animation:["motion","transitions","keyframes","microinteractions"],motion:["animation","transitions","microinteractions"],accessibility:["a11y","contrast","focus","aria","wcag"]},k=new Set("the a an and or of to for with in on at is are be this that you your our it its build create make page screen app site website using use want need please can grace design quero uma para com que the and dos das uma novo nova".split(/\s+/));function l(a){return(a||"").toLowerCase().replace(/[^a-z0-9Ã§ÃŖÃĄÃŠÃÃŗÃēÃĸÃĒôà \s-]/gi," ").split(/\s+/).filter(a=>a.length>=3&&!k.has(a))}function m(a,b){let c=function(a,b){let c=l([b||"",a.mission,a.objective,a.brief.slice(0,1500),a.stackList,a.mockFiles.map(a=>a.split("/").pop()||"").join(" ")].join(" ")),d={};for(let a of c)d[a]=(d[a]||0)+1;if(b)for(let a of l(b))d[a]=(d[a]||0)+3;let e=new Map;for(let a of Object.keys(d))e.set(a,(e.get(a)||0)+d[a]);for(let a of Object.keys(d))for(let[b,c]of Object.entries(j))if(a.includes(b)||b.includes(a))for(let a of c)e.set(a,(e.get(a)||0)+1);return Array.from(e.entries()).sort((a,b)=>b[1]-a[1]).map(([a])=>a).slice(0,24)}(a,b),d=function(a,b=8){let c=a.map(a=>a.toLowerCase());if(!c.length)return[];let d=[];for(let a of(0,f.Cg)().values()){let b=(a.tags||[]).map(a=>a.toLowerCase()),e=(a.name+" "+a.description+" "+a.domain+" "+a.category+" "+b.join(" ")).toLowerCase(),f=a.name.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean),g=0;for(let a of c)f.includes(a)||b.includes(a)?g+=4:e.includes(a)&&(g+=1);("design"===a.domain||"design"===a.category)&&(g+=.5),g>0&&d.push({name:a.name,description:a.description,score:g})}return d.sort((a,b)=>b.score-a.score).slice(0,b).map(({name:a,description:b})=>({name:a,description:b}))}(c,8);return[c.length?`
|
|
422
422
|
DETECTED CONTEXT (domain + visual intent): ${c.slice(0,16).join(", ")}. Ground the palette, typography, layout, components and motion in THIS product's domain and style â never a generic AI look.`:"",d.length?`
|
|
423
423
|
MOST RELEVANT seeded skills for THIS request â READ the matching \`.claude/skills/<name>.md\` FIRST before building:
|
|
424
|
-
${d.map(a=>`- ${a.name}: ${a.description}`).join("\n")}`:""].filter(Boolean).join("\n")}let n=".claude/design-gate.json";function o(a){let b=(0,d.sL)(a,n);if(!b)return{};try{return JSON.parse(b)||{}}catch{return{}}}function p(a,b){try{(0,d.dx)(a,n,JSON.stringify(b,null,2))}catch{}}function q(a){p(a,{skip:!1})}let r=".claude/design-promoted.json";function s(a){let b=(0,d.sL)(a,r);if(!b)return{};try{return JSON.parse(b)||{}}catch{return{}}}function t(a,b){try{(0,d.dx)(a,r,JSON.stringify(b,null,2))}catch{}}function u(a){let b=a.designMockFiles.some(a=>/design-mock\/screens\/.+\.html?$/i.test(a));return!a.approved&&!b}let v=/\b(tela|telas|screen|screens|p[ÃĄa]gina|pagina|page|pages|web|webapp|web-?app|website|site|app|apps|aplicativo|aplica[çc][ÃŖa]o|spa|single-?page|pwa|ui|ux|interface|frontend|front-?end|layout|component|componente|design|visual|dashboard|form|formul[ÃĄa]rio|formulario|bot[ÃŖa]o|botao|button|modal|menu|nav|navbar|sidebar|card|landing|hero|gallery|galeria|theme|tema|palette|paleta|typography|tipografia|style|estilo|css|html|responsive|responsiv[oa]|mobile|desktop|tablet|anima[çc][ÃŖa]o|animation|microintera[çc][Ãĩo]es|wizard|onboarding|checkout|perfil|profile|settings|configura[çc][Ãĩo]es|view|views|render)\b/i;function w(a){return!!a&&v.test(a)}let x=/\b(api|rest|restful|graphql|grpc|cli|command[\s-]?line|terminal|backend|back-?end|micro-?service|microservices|service|library|\bsdk\b|daemon|cron|scheduler|pipeline|etl|database|\bdb\b|infra|infrastructure|devops|webhook|message[\s-]?queue|\bqueue\b|worker|scraper|crawler|\bbot\b|middleware|server[\s-]?side|protocol|compiler|parser|scraping)\b/i;function y(a){return!!a&&x.test(a)&&!w(a)}},33353:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={HTTPAccessErrorStatus:function(){return e},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return g},getAccessFallbackErrorTypeByStatus:function(){return j},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},f=new Set(Object.values(e)),g="NEXT_HTTP_ERROR_FALLBACK";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===g&&f.has(Number(c))}function i(a){return Number(a.digest.split(";")[1])}function j(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},33907:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getSortedRouteObjects:function(){return g},getSortedRoutes:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});class e{insert(a){this._insert(a.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(a="/"){let b=[...this.children.keys()].sort();null!==this.slugName&&b.splice(b.indexOf("[]"),1),null!==this.restSlugName&&b.splice(b.indexOf("[...]"),1),null!==this.optionalRestSlugName&&b.splice(b.indexOf("[[...]]"),1);let c=b.map(b=>this.children.get(b)._smoosh(`${a}${b}/`)).reduce((a,b)=>[...a,...b],[]);if(null!==this.slugName&&c.push(...this.children.get("[]")._smoosh(`${a}[${this.slugName}]/`)),!this.placeholder){let b="/"===a?"/":a.slice(0,-1);if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error(`You cannot define a route with the same specificity as a optional catch-all route ("${b}" and "${b}[[...${this.optionalRestSlugName}]]").`),"__NEXT_ERROR_CODE",{value:"E458",enumerable:!1,configurable:!0});c.unshift(b)}return null!==this.restSlugName&&c.push(...this.children.get("[...]")._smoosh(`${a}[...${this.restSlugName}]/`)),null!==this.optionalRestSlugName&&c.push(...this.children.get("[[...]]")._smoosh(`${a}[[...${this.optionalRestSlugName}]]/`)),c}_insert(a,b,c){if(0===a.length){this.placeholder=!1;return}if(c)throw Object.defineProperty(Error("Catch-all must be the last part of the URL."),"__NEXT_ERROR_CODE",{value:"E392",enumerable:!1,configurable:!0});let d=a[0];if(d.startsWith("[")&&d.endsWith("]")){let e=d.slice(1,-1),g=!1;if(e.startsWith("[")&&e.endsWith("]")&&(e=e.slice(1,-1),g=!0),e.startsWith("âĻ"))throw Object.defineProperty(Error(`Detected a three-dot character ('âĻ') at ('${e}'). Did you mean ('...')?`),"__NEXT_ERROR_CODE",{value:"E147",enumerable:!1,configurable:!0});if(e.startsWith("...")&&(e=e.substring(3),c=!0),e.startsWith("[")||e.endsWith("]"))throw Object.defineProperty(Error(`Segment names may not start or end with extra brackets ('${e}').`),"__NEXT_ERROR_CODE",{value:"E421",enumerable:!1,configurable:!0});if(e.startsWith("."))throw Object.defineProperty(Error(`Segment names may not start with erroneous periods ('${e}').`),"__NEXT_ERROR_CODE",{value:"E288",enumerable:!1,configurable:!0});function f(a,c){if(null!==a&&a!==c)throw Object.defineProperty(Error(`You cannot use different slug names for the same dynamic path ('${a}' !== '${c}').`),"__NEXT_ERROR_CODE",{value:"E337",enumerable:!1,configurable:!0});b.forEach(a=>{if(a===c)throw Object.defineProperty(Error(`You cannot have the same slug name "${c}" repeat within a single dynamic path`),"__NEXT_ERROR_CODE",{value:"E247",enumerable:!1,configurable:!0});if(a.replace(/\W/g,"")===d.replace(/\W/g,""))throw Object.defineProperty(Error(`You cannot have the slug names "${a}" and "${c}" differ only by non-word symbols within a single dynamic path`),"__NEXT_ERROR_CODE",{value:"E499",enumerable:!1,configurable:!0})}),b.push(c)}if(c)if(g){if(null!=this.restSlugName)throw Object.defineProperty(Error(`You cannot use both an required and optional catch-all route at the same level ("[...${this.restSlugName}]" and "${a[0]}" ).`),"__NEXT_ERROR_CODE",{value:"E299",enumerable:!1,configurable:!0});f(this.optionalRestSlugName,e),this.optionalRestSlugName=e,d="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error(`You cannot use both an optional and required catch-all route at the same level ("[[...${this.optionalRestSlugName}]]" and "${a[0]}").`),"__NEXT_ERROR_CODE",{value:"E300",enumerable:!1,configurable:!0});f(this.restSlugName,e),this.restSlugName=e,d="[...]"}else{if(g)throw Object.defineProperty(Error(`Optional route parameters are not yet supported ("${a[0]}").`),"__NEXT_ERROR_CODE",{value:"E435",enumerable:!1,configurable:!0});f(this.slugName,e),this.slugName=e,d="[]"}}this.children.has(d)||this.children.set(d,new e),this.children.get(d)._insert(a.slice(1),b,c)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function f(a){let b=new e;return a.forEach(a=>b.insert(a)),b.smoosh()}function g(a,b){let c={},d=[];for(let e=0;e<a.length;e++){let f=b(a[e]);c[f]=e,d[e]=f}return f(d).map(b=>a[c[b]])}},34032:(a,b,c)=>{"use strict";c.d(b,{N:()=>e});var d=c(14819);function e(a){return(0,d.Gv)(a)&&(0,d.Tn)(a.toOperationNode)}},34273:(a,b,c)=>{"use strict";c.d(b,{Y:()=>f});var d=c(14819),e=c(4155);let f=(0,d.CN)({is:a=>"CreateViewNode"===a.kind,create:a=>(0,d.CN)({kind:"CreateViewNode",name:e.y.create(a)}),cloneWith:(a,b)=>(0,d.CN)({...a,...b})})},34721:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ActionDidNotRevalidate:function(){return e},ActionDidRevalidateDynamicOnly:function(){return g},ActionDidRevalidateStaticAndDynamic:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=0,f=1,g=2},35334:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"InvariantError",{enumerable:!0,get:function(){return c}});class c extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},35395:(a,b,c)=>{"use strict";c.d(b,{nd:()=>p});var d=c(78033),e=c(86253),f=c(2471),g=c(60464);class h extends g.o{static [d.i]="SQLiteBaseIntegerBuilder";constructor(a,b,c){super(a,b,c),this.config.autoIncrement=!1}primaryKey(a){return a?.autoIncrement&&(this.config.autoIncrement=!0),this.config.hasDefault=!0,super.primaryKey()}}class i extends g.v{static [d.i]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class j extends h{static [d.i]="SQLiteIntegerBuilder";constructor(a){super(a,"number","SQLiteInteger")}build(a){return new k(a,this.config)}}class k extends i{static [d.i]="SQLiteInteger"}class l extends h{static [d.i]="SQLiteTimestampBuilder";constructor(a,b){super(a,"date","SQLiteTimestamp"),this.config.mode=b}defaultNow(){return this.default((0,e.ll)`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(a){return new m(a,this.config)}}class m extends i{static [d.i]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(a){return new Date("timestamp"===this.config.mode?1e3*a:a)}mapToDriverValue(a){let b=a.getTime();return"timestamp"===this.config.mode?Math.floor(b/1e3):b}}class n extends h{static [d.i]="SQLiteBooleanBuilder";constructor(a,b){super(a,"boolean","SQLiteBoolean"),this.config.mode=b}build(a){return new o(a,this.config)}}class o extends i{static [d.i]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(a){return 1===Number(a)}mapToDriverValue(a){return+!!a}}function p(a,b){let{name:c,config:d}=(0,f.Ll)(a,b);return d?.mode==="timestamp"||d?.mode==="timestamp_ms"?new l(c,d.mode):d?.mode==="boolean"?new n(c,d.mode):new j(c)}},36928:(a,b)=>{"use strict";function c(a){return a.startsWith("/")?a:`/${a}`}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ensureLeadingSlash",{enumerable:!0,get:function(){return c}})},37716:(a,b,c)=>{"use strict";c.d(b,{Q:()=>e});var d=c(78033);class e{static [d.i]="ColumnBuilder";config;constructor(a,b,c){this.config={name:a,keyAsName:""===a,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:b,columnType:c,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(a){return this.config.default=a,this.config.hasDefault=!0,this}$defaultFn(a){return this.config.defaultFn=a,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(a){return this.config.onUpdateFn=a,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(a){""===this.config.name&&(this.config.name=a)}}},37961:(a,b,c)=>{"use strict";c.d(b,{SS:()=>j,YK:()=>h,v0:()=>i});var d=c(39810),e=c(34032),f=c(84982),g=c(14819);function h(a){if((0,e.N)(a))return a.toOperationNode();if((0,g.Tn)(a))return a((0,f.A)()).toOperationNode();throw Error(`invalid expression: ${JSON.stringify(a)}`)}function i(a){if((0,e.N)(a))return a.toOperationNode();if((0,g.Tn)(a))return a((0,f.A)()).toOperationNode();throw Error(`invalid aliased expression: ${JSON.stringify(a)}`)}function j(a){return(0,d.B)(a)||(0,d.q)(a)||(0,g.Tn)(a)}},38650:(a,b,c)=>{"use strict";c.d(b,{q:()=>f});var d=c(22525),e=c(14819);let f=(0,e.CN)({is:a=>"ReferenceNode"===a.kind,create:(a,b)=>(0,e.CN)({kind:"ReferenceNode",table:b,column:a}),createSelectAll:a=>(0,e.CN)({kind:"ReferenceNode",table:a,column:d.U.create()})})},39328:(a,b,c)=>{let d;d={unstable_cache:c(52531).e,updateTag:c(15411).updateTag,revalidateTag:c(15411).revalidateTag,revalidatePath:c(15411).revalidatePath,refresh:c(15411).refresh,unstable_noStore:c(41450).M,cacheLife:c(72645).F,cacheTag:c(33077).z};let e=!1,f=!1;d.unstable_cacheLife=function(){return e||(e=!0,console.error(Error("`unstable_cacheLife` was recently stabilized and should be imported as `cacheLife`. The `unstable` prefixed form will be removed in a future version of Next.js."))),d.cacheLife.apply(this,arguments)},d.unstable_cacheTag=function(){return f||(f=!0,console.error(Error("`unstable_cacheTag` was recently stabilized and should be imported as `cacheTag`. The `unstable` prefixed form will be removed in a future version of Next.js."))),d.cacheTag.apply(this,arguments)},a.exports=d,b.unstable_cache=d.unstable_cache,b.revalidatePath=d.revalidatePath,b.revalidateTag=d.revalidateTag,b.updateTag=d.updateTag,b.unstable_noStore=d.unstable_noStore,b.cacheLife=d.cacheLife,b.unstable_cacheLife=d.unstable_cacheLife,b.cacheTag=d.cacheTag,b.unstable_cacheTag=d.unstable_cacheTag,b.refresh=d.refresh},39810:(a,b,c)=>{"use strict";c.d(b,{B:()=>f,q:()=>g});var d=c(34032),e=c(14819);function f(a){return(0,e.Gv)(a)&&"expressionType"in a&&(0,d.N)(a)}function g(a){return(0,e.Gv)(a)&&"expression"in a&&(0,e.Kg)(a.alias)&&(0,d.N)(a)}},39837:(a,b,c)=>{"use strict";c.d(b,{$l:()=>e,LG:()=>f});var d=c(23235),e=class extends Error{constructor(a,b){super(a,b),this.name="BetterAuthError",this.message=a,this.stack=""}},f=class a extends d.LG{constructor(...a){super(...a)}static fromStatus(b,c){return new a(b,c)}static from(b,c){return new a(b,{message:c.message,code:c.code})}}},40579:(a,b)=>{"use strict";function c(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isThenable",{enumerable:!0,get:function(){return c}})},40839:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(60905),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},41396:(a,b,c)=>{let d=+(process.versions?process.versions.node:"").split(".")[0]||0;a.exports=function(a,b){var e=c(74075);let f=d>=15&&b>0?{maxOutputLength:b}:{};return{inflate:function(){return e.inflateRawSync(a,f)},inflateAsync:function(b){var c=e.createInflateRaw(f),d=[],g=0;c.on("data",function(a){d.push(a),g+=a.length}),c.on("end",function(){var a=Buffer.alloc(g),c=0;a.fill(0);for(var e=0;e<d.length;e++){var f=d[e];f.copy(a,c),c+=f.length}b&&b(a)}),c.end(a)}}}},41420:(a,b)=>{"use strict";function c(a){let b=a.indexOf("#"),c=a.indexOf("?"),d=c>-1&&(b<0||c<b);return d||b>-1?{pathname:a.substring(0,d?c:b),query:d?a.substring(c,b>-1?b:void 0):"",hash:b>-1?a.slice(b):""}:{pathname:a,query:"",hash:""}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parsePath",{enumerable:!0,get:function(){return c}})},41450:(a,b,c)=>{"use strict";Object.defineProperty(b,"M",{enumerable:!0,get:function(){return g}});let d=c(29294),e=c(63033),f=c(89944);function g(){let a=d.workAsyncStorage.getStore(),b=e.workUnitAsyncStorage.getStore();if(a){if(!a.forceStatic){if(a.isUnstableNoStore=!0,b)switch(b.type){case"prerender":case"prerender-client":case"validation-client":case"prerender-runtime":return}(0,f.markCurrentScopeAsDynamic)(a,b,"unstable_noStore()")}}}},41893:(a,b,c)=>{"use strict";a.exports=c(67165).vendored["react-rsc"].React},42253:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={INTERNALS:function(){return j},NextRequest:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(55229),g=c(92893),h=c(2028),i=c(42635),j=Symbol("internal request");class k extends Request{constructor(a,b={}){const c="string"!=typeof a&&"url"in a?a.url:String(a);(0,g.validateURL)(c),b.body&&"half"!==b.duplex&&(b.duplex="half"),a instanceof Request?super(a,b):super(c,b);const d=new f.NextURL(c,{headers:(0,g.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:b.nextConfig});this[j]={cookies:new i.RequestCookies(this.headers),nextUrl:d,url:d.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[j].cookies}get nextUrl(){return this[j].nextUrl}get page(){throw new h.RemovedPageError}get ua(){throw new h.RemovedUAError}get url(){return this[j].url}}},42635:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={RequestCookies:function(){return f.RequestCookies},ResponseCookies:function(){return f.ResponseCookies},stringifyCookie:function(){return f.stringifyCookie}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(1540)},42688:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e,f,g,h,i,j,k,l,m,n,o={AppRenderSpan:function(){return w},AppRouteRouteHandlersSpan:function(){return z},BaseServerSpan:function(){return q},LoadComponentsSpan:function(){return r},LogSpanAllowList:function(){return D},MiddlewareSpan:function(){return B},NextNodeServerSpan:function(){return t},NextServerSpan:function(){return s},NextVanillaSpanAllowlist:function(){return C},NodeSpan:function(){return y},RenderSpan:function(){return v},ResolveMetadataSpan:function(){return A},RouterSpan:function(){return x},StartServerSpan:function(){return u}};for(var p in o)Object.defineProperty(b,p,{enumerable:!0,get:o[p]});var q=((c=q||{}).handleRequest="BaseServer.handleRequest",c.run="BaseServer.run",c.pipe="BaseServer.pipe",c.getStaticHTML="BaseServer.getStaticHTML",c.render="BaseServer.render",c.renderToResponseWithComponents="BaseServer.renderToResponseWithComponents",c.renderToResponse="BaseServer.renderToResponse",c.renderToHTML="BaseServer.renderToHTML",c.renderError="BaseServer.renderError",c.renderErrorToResponse="BaseServer.renderErrorToResponse",c.renderErrorToHTML="BaseServer.renderErrorToHTML",c.render404="BaseServer.render404",c),r=((d=r||{}).loadDefaultErrorComponents="LoadComponents.loadDefaultErrorComponents",d.loadComponents="LoadComponents.loadComponents",d),s=((e=s||{}).getRequestHandler="NextServer.getRequestHandler",e.getRequestHandlerWithMetadata="NextServer.getRequestHandlerWithMetadata",e.getServer="NextServer.getServer",e.getServerRequestHandler="NextServer.getServerRequestHandler",e.createServer="createServer.createServer",e),t=((f=t||{}).compression="NextNodeServer.compression",f.getBuildId="NextNodeServer.getBuildId",f.createComponentTree="NextNodeServer.createComponentTree",f.clientComponentLoading="NextNodeServer.clientComponentLoading",f.getLayoutOrPageModule="NextNodeServer.getLayoutOrPageModule",f.generateStaticRoutes="NextNodeServer.generateStaticRoutes",f.generateFsStaticRoutes="NextNodeServer.generateFsStaticRoutes",f.generatePublicRoutes="NextNodeServer.generatePublicRoutes",f.generateImageRoutes="NextNodeServer.generateImageRoutes.route",f.sendRenderResult="NextNodeServer.sendRenderResult",f.proxyRequest="NextNodeServer.proxyRequest",f.runApi="NextNodeServer.runApi",f.render="NextNodeServer.render",f.renderHTML="NextNodeServer.renderHTML",f.imageOptimizer="NextNodeServer.imageOptimizer",f.getPagePath="NextNodeServer.getPagePath",f.getRoutesManifest="NextNodeServer.getRoutesManifest",f.findPageComponents="NextNodeServer.findPageComponents",f.getFontManifest="NextNodeServer.getFontManifest",f.getServerComponentManifest="NextNodeServer.getServerComponentManifest",f.getRequestHandler="NextNodeServer.getRequestHandler",f.renderToHTML="NextNodeServer.renderToHTML",f.renderError="NextNodeServer.renderError",f.renderErrorToHTML="NextNodeServer.renderErrorToHTML",f.render404="NextNodeServer.render404",f.startResponse="NextNodeServer.startResponse",f.route="route",f.onProxyReq="onProxyReq",f.apiResolver="apiResolver",f.internalFetch="internalFetch",f),u=((g=u||{}).startServer="startServer.startServer",g),v=((h=v||{}).getServerSideProps="Render.getServerSideProps",h.getStaticProps="Render.getStaticProps",h.renderToString="Render.renderToString",h.renderDocument="Render.renderDocument",h.createBodyResult="Render.createBodyResult",h),w=((i=w||{}).renderToString="AppRender.renderToString",i.renderToReadableStream="AppRender.renderToReadableStream",i.getBodyResult="AppRender.getBodyResult",i.fetch="AppRender.fetch",i),x=((j=x||{}).executeRoute="Router.executeRoute",j),y=((k=y||{}).runHandler="Node.runHandler",k),z=((l=z||{}).runHandler="AppRouteRouteHandlers.runHandler",l),A=((m=A||{}).generateMetadata="ResolveMetadata.generateMetadata",m.generateViewport="ResolveMetadata.generateViewport",m),B=((n=B||{}).execute="Middleware.execute",n);let C=new Set(["Middleware.execute","BaseServer.handleRequest","Render.getServerSideProps","Render.getStaticProps","AppRender.fetch","AppRender.getBodyResult","Render.renderDocument","Node.runHandler","AppRouteRouteHandlers.runHandler","ResolveMetadata.generateMetadata","ResolveMetadata.generateViewport","NextNodeServer.createComponentTree","NextNodeServer.findPageComponents","NextNodeServer.getLayoutOrPageModule","NextNodeServer.startResponse","NextNodeServer.clientComponentLoading"]),D=new Set(["NextNodeServer.findPageComponents","NextNodeServer.createComponentTree","NextNodeServer.clientComponentLoading"])},42906:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"INSTANT_VALIDATION_BOUNDARY_NAME",{enumerable:!0,get:function(){return c}});let c="__next_instant_validation_boundary__"},43139:(a,b,c)=>{"use strict";c.d(b,{i:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"SetOperationNode"===a.kind,create:(a,b,c)=>(0,d.CN)({kind:"SetOperationNode",operator:a,expression:b,all:c})})},43537:(a,b,c)=>{"use strict";c.d(b,{$:()=>e});var d=c(21358);let e=a=>(0,d.q)("a-z","A-Z","0-9")(a||32)},43699:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b))??1;if(d<=0)throw Object.defineProperty(Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`),"__NEXT_ERROR_CODE",{value:"E1045",enumerable:!1,configurable:!0});if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},44033:(a,b,c)=>{"use strict";let{randomFillSync:d}=c(55511),e=c(99926),f=new Uint32Array(256).map((a,b)=>{for(let a=0;a<8;a++)0!=(1&b)?b=b>>>1^0xedb88320:b>>>=1;return b>>>0}),g=(a,b)=>Math.imul(a,b)>>>0,h=(a,b)=>f[(a^b)&255]^a>>>8,i=()=>"function"==typeof d?d(Buffer.alloc(12)):i.node();i.node=()=>{let a=Buffer.alloc(12),b=a.length;for(let c=0;c<b;c++)a[c]=256*Math.random()&255;return a};let j={genSalt:i};function k(a){let b=Buffer.isBuffer(a)?a:Buffer.from(a);this.keys=new Uint32Array([0x12345678,0x23456789,0x34567890]);for(let a=0;a<b.length;a++)this.updateKeys(b[a])}k.prototype.updateKeys=function(a){let b=this.keys;return b[0]=h(b[0],a),b[1]+=255&b[0],b[1]=g(b[1],0x8088405)+1,b[2]=h(b[2],b[1]>>>24),a},k.prototype.next=function(){let a=(2|this.keys[2])>>>0;return g(a,1^a)>>8&255},a.exports={decrypt:function(a,b,c){let d;if(!a||!Buffer.isBuffer(a)||a.length<12)return Buffer.alloc(0);let f=(d=new k(c),function(a){let b=Buffer.alloc(a.length),c=0;for(let e of a)b[c++]=d.updateKeys(e^d.next());return b}),g=f(a.slice(0,12)),h=(8&b.flags)==8?b.timeHighByte:b.crc>>>24;if(g[11]!==h)throw e.WRONG_PASSWORD();return f(a.slice(12))},encrypt:function(a,b,c,d=!1){let e;null==a&&(a=Buffer.alloc(0)),Buffer.isBuffer(a)||(a=Buffer.from(a.toString()));let f=(e=new k(c),function(a,b,c=0){for(let d of(b||(b=Buffer.alloc(a.length)),a)){let a=e.next();b[c++]=d^a,e.updateKeys(d)}return b}),g=j.genSalt();g[11]=b.crc>>>24&255,d&&(g[10]=b.crc>>>16&255);let h=Buffer.alloc(a.length+12);return f(g,h),f(a,h,12)},_salter:function(a){Buffer.isBuffer(a)&&a.length>=12?j.genSalt=function(){return a.slice(0,12)}:"node"===a?j.genSalt=i.node:j.genSalt=i}}},44252:(a,b,c)=>{"use strict";c.d(b,{HE:()=>k,Io:()=>o,Lf:()=>p,XI:()=>n,e:()=>g});var d=c(78033),e=c(15189);let f=Symbol.for("drizzle:Schema"),g=Symbol.for("drizzle:Columns"),h=Symbol.for("drizzle:ExtraConfigColumns"),i=Symbol.for("drizzle:OriginalName"),j=Symbol.for("drizzle:BaseName"),k=Symbol.for("drizzle:IsAlias"),l=Symbol.for("drizzle:ExtraConfigBuilder"),m=Symbol.for("drizzle:IsDrizzleTable");class n{static [d.i]="Table";static Symbol={Name:e.E,Schema:f,OriginalName:i,Columns:g,ExtraConfigColumns:h,BaseName:j,IsAlias:k,ExtraConfigBuilder:l};[e.E];[i];[f];[g];[h];[j];[k]=!1;[m]=!0;[l]=void 0;constructor(a,b,c){this[e.E]=this[i]=a,this[f]=b,this[j]=c}}function o(a){return a[e.E]}function p(a){return`${a[f]??"public"}.${a[e.E]}`}},44283:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={isNodeNextRequest:function(){return g},isNodeNextResponse:function(){return h},isWebNextRequest:function(){return e},isWebNextResponse:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>!1,f=a=>!1,g=a=>!0,h=a=>!0},45497:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e={CachedRouteKind:function(){return g},IncrementalCacheKind:function(){return h}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});var g=((c={}).APP_PAGE="APP_PAGE",c.APP_ROUTE="APP_ROUTE",c.PAGES="PAGES",c.FETCH="FETCH",c.REDIRECT="REDIRECT",c.IMAGE="IMAGE",c),h=((d={}).APP_PAGE="APP_PAGE",d.APP_ROUTE="APP_ROUTE",d.PAGES="PAGES",d.FETCH="FETCH",d.IMAGE="IMAGE",d)},46488:(a,b,c)=>{"use strict";c.d(b,{Hl:()=>k,JJ:()=>h,gx:()=>l,u8:()=>f,wp:()=>j,x:()=>i});var d=c(97587),e=c(14819);function f(a="ignore query",b,c){if("ignore query"!==a){if("cancel query"===a){let c=b.cancelQuery;return c||g(a,b.killSession?"kill session":void 0),c.bind(b)}if("kill session"===a){let c=b.killSession;return c||g(a,b.cancelQuery?"cancel query":void 0),c.bind(b)}throw c(),Error(`Unexpected \`inflightQueryAbortStrategy\`: "${a}"`)}}function g(a,b){throw Error(`This dialect doesn't support \`inflightQueryAbortStrategy\` "${a}". Use "ignore query"${b?` or "${b}"`:""} instead.`)}function h(a,b,c){a?.aborted&&(c?.(),i(a.reason,b))}function i(a,b){var c,d;throw c=a,d=b,null===c||"object"!=typeof c||Object.isFrozen(c)||Object.defineProperty(c,"__kysely_timing__",{configurable:!0,enumerable:!1,value:d,writable:!1}),a}let j={};async function k(a,b,c,e){if(!b)return a;h(b,`before ${c}`,e);let{promise:f,resolve:g}=new d.c,k=()=>g(j);b.addEventListener("abort",k);try{h(b,`before ${c}`,e);let d=await Promise.race([a,f]);if(d!==j)return d;e?.(),i(b.reason,`during ${c}`)}finally{b.removeEventListener("abort",k),g(j)}}function l(a){return b=>console.error(`\`${a}\` failed in the background after abortion: ${(0,e.I4)(b)}`)}},46589:(a,b,c)=>{"use strict";c.d(b,{Z:()=>f});var d=c(14819),e=c(74524);let f=(0,d.CN)({is:a=>"ColumnNode"===a.kind,create:a=>(0,d.CN)({kind:"ColumnNode",column:e.O.create(a)})})},46799:(a,b,c)=>{"use strict";c.d(b,{L:()=>o});var d=c(26219),e=c(70412),f=c(65695),g=c(47537),h=c(84932),i=c(14819);let j=(0,i.CN)({is:a=>"ReturningNode"===a.kind,create:a=>(0,i.CN)({kind:"ReturningNode",selections:(0,i.CN)(a)}),cloneWithSelections:(a,b)=>(0,i.CN)({...a,selections:a.selections?(0,i.CN)([...a.selections,...b]):(0,i.CN)(b)})}),k=(0,i.CN)({is:a=>"ExplainNode"===a.kind,create:(a,b)=>(0,i.CN)({kind:"ExplainNode",format:a,options:b})});var l=c(97662);let m=(0,i.CN)({is:a=>"OutputNode"===a.kind,create:a=>(0,i.CN)({kind:"OutputNode",selections:(0,i.CN)(a)}),cloneWithSelections:(a,b)=>(0,i.CN)({...a,selections:a.selections?(0,i.CN)([...a.selections,...b]):(0,i.CN)(b)})});var n=c(14925);let o=(0,i.CN)({is:a=>e.L.is(a)||d.o.is(a)||f.U.is(a)||g.e.is(a)||l.r.is(a),cloneWithEndModifier:(a,b)=>(0,i.CN)({...a,endModifiers:a.endModifiers?(0,i.CN)([...a.endModifiers,b]):(0,i.CN)([b])}),cloneWithWhere:(a,b)=>(0,i.CN)({...a,where:a.where?h.o.cloneWithOperation(a.where,"And",b):h.o.create(b)}),cloneWithJoin:(a,b)=>(0,i.CN)({...a,joins:a.joins?(0,i.CN)([...a.joins,b]):(0,i.CN)([b])}),cloneWithReturning:(a,b)=>(0,i.CN)({...a,returning:a.returning?j.cloneWithSelections(a.returning,b):j.create(b)}),cloneWithoutReturning:a=>(0,i.CN)({...a,returning:void 0}),cloneWithoutWhere:a=>(0,i.CN)({...a,where:void 0}),cloneWithExplain:(a,b,c)=>(0,i.CN)({...a,explain:k.create(b,c?.toOperationNode())}),cloneWithTop:(a,b)=>(0,i.CN)({...a,top:b}),cloneWithOutput:(a,b)=>(0,i.CN)({...a,output:a.output?m.cloneWithSelections(a.output,b):m.create(b)}),cloneWithOrderByItems:(a,b)=>(0,i.CN)({...a,orderBy:a.orderBy?n.O.cloneWithItems(a.orderBy,b):n.O.create(b)}),cloneWithoutOrderBy:a=>(0,i.CN)({...a,orderBy:void 0})})},47537:(a,b,c)=>{"use strict";c.d(b,{e:()=>h});var d=c(14819),e=c(30479),f=c(547),g=c(46799);let h=(0,d.CN)({is:a=>"DeleteQueryNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"DeleteQueryNode",from:e.N.create(a),...b&&{with:b}}),cloneWithOrderByItems:(a,b)=>g.L.cloneWithOrderByItems(a,b),cloneWithoutOrderBy:a=>g.L.cloneWithoutOrderBy(a),cloneWithLimit:(a,b)=>(0,d.CN)({...a,limit:b}),cloneWithoutLimit:a=>(0,d.CN)({...a,limit:void 0}),cloneWithUsing:(a,b)=>(0,d.CN)({...a,using:void 0!==a.using?f.f.cloneWithTables(a.using,b):f.f.create(b)})})},47620:(a,b,c)=>{"use strict";c.d(b,{y:()=>f});var d=c(5075),e=c(72560);let f=({schema:a,usePlural:b})=>{let c=(0,d.G)({schema:a,usePlural:b}),f=(0,e.z)({schema:a,usePlural:b});return function({model:b,field:d}){let e=c(b),g=f({model:e,field:d});return a[e]?.fields[g]?.fieldName||g}}},47942:(a,b,c)=>{let d=c(11081),e=c(33873),f=c(71015),g=c(8911),h=(...a)=>d.findLast(a,a=>"boolean"==typeof a),i=(...a)=>d.findLast(a,a=>"string"==typeof a),j={noSort:!1,readEntries:!1,method:d.Constants.NONE,fs:null};a.exports=function(a,b){let c=null,k=Object.assign(Object.create(null),j);a&&"object"==typeof a&&(a instanceof Uint8Array||(Object.assign(k,a),a=k.input?k.input:void 0,k.input&&delete k.input),Buffer.isBuffer(a)&&(c=a,k.method=d.Constants.BUFFER,a=void 0)),Object.assign(k,b);let l=new d(k);if(("object"!=typeof k.decoder||"function"!=typeof k.decoder.encode||"function"!=typeof k.decoder.decode)&&(k.decoder=d.decoder),a&&"string"==typeof a)if(l.fs.existsSync(a))k.method=d.Constants.FILE,k.filename=a,c=l.fs.readFileSync(a);else throw d.Errors.INVALID_FILENAME();let m=new g(c,k),{canonical:n,sanitize:o,zipnamefix:p}=d;function q(a){if(a&&m){var b;if("string"==typeof a&&(b=m.getEntry(e.posix.normalize(a))),"object"==typeof a&&void 0!==a.entryName&&void 0!==a.header&&(b=m.getEntry(a.entryName)),b)return b}return null}function r(a){let{join:b,normalize:c,sep:d}=e.posix;return b(e.isAbsolute(a)?"/":".",c(d+a.split("\\").join(d)+d))}function s(a){if(a instanceof RegExp)return function(b){return a.test(b)};return"function"!=typeof a?()=>!0:a}let t=(a,b)=>{let c=b.slice(-1);return c=c===l.sep?l.sep:"",e.relative(a,b)+c};return{readFile:function(a,b){var c=q(a);return c&&c.getData(b)||null},childCount:function(a){let b=q(a);if(b)return m.getChildCount(b)},readFileAsync:function(a,b){var c=q(a);c?c.getDataAsync(b):b(null,"getEntry failed for:"+a)},readAsText:function(a,b){var c=q(a);if(c){var d=c.getData();if(d&&d.length)return d.toString(b||"utf8")}return""},readAsTextAsync:function(a,b,c){var d=q(a);d?d.getDataAsync(function(a,d){d?b(a,d):a&&a.length?b(a.toString(c||"utf8")):b("")}):b("")},deleteFile:function(a,b=!0){var c=q(a);c&&m.deleteFile(c.entryName,b)},deleteEntry:function(a){var b=q(a);b&&m.deleteEntry(b.entryName)},addZipComment:function(a){m.comment=a},getZipComment:function(){return m.comment||""},addZipEntryComment:function(a,b){var c=q(a);c&&(c.comment=b)},getZipEntryComment:function(a){var b=q(a);return b&&b.comment||""},updateFile:function(a,b){var c=q(a);c&&c.setData(b)},addLocalFile:function(a,b,c,f){if(l.fs.existsSync(a)){b=b?r(b):"";let d=e.win32.basename(e.win32.normalize(a));b+=c||d;let g=l.fs.statSync(a),h=g.isFile()?l.fs.readFileSync(a):Buffer.alloc(0);g.isDirectory()&&(b+=l.sep),this.addFile(b,h,f,g)}else throw d.Errors.FILE_NOT_FOUND(a)},addLocalFileAsync:function(a,b){a="object"==typeof a?a:{localPath:a};let c=e.resolve(a.localPath),{comment:d}=a,{zipPath:f,zipName:g}=a,h=this;l.fs.stat(c,function(a,i){if(a)return b(a,!1);f=f?r(f):"";let j=e.win32.basename(e.win32.normalize(c));if(f+=g||j,i.isFile())l.fs.readFile(c,function(a,c){return a?b(a,!1):(h.addFile(f,c,d,i),setImmediate(b,void 0,!0))});else if(i.isDirectory())return f+=l.sep,h.addFile(f,Buffer.alloc(0),d,i),setImmediate(b,void 0,!0)})},addLocalFolder:function(a,b,c){if(c=s(c),b=b?r(b):"",a=e.normalize(a),l.fs.existsSync(a)){let d=l.findFiles(a);if(d.length)for(let f of d){let d=e.join(b,t(a,f));c(d)&&this.addLocalFile(f,e.dirname(d))}}else throw d.Errors.FILE_NOT_FOUND(a)},addLocalFolderAsync:function(a,b,c,f){f=s(f),c=c?r(c):"",a=e.normalize(a);var g=this;l.fs.open(a,"r",function(e){if(e&&"ENOENT"===e.code)b(void 0,d.Errors.FILE_NOT_FOUND(a));else if(e)b(void 0,e);else{var h=l.findFiles(a),i=-1,j=function(){if((i+=1)<h.length){var d=h[i],e=t(a,d).split("\\").join("/");e=e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),f(e)?l.fs.stat(d,function(a,f){a&&b(void 0,a),f.isFile()?l.fs.readFile(d,function(a,d){a?b(void 0,a):(g.addFile(c+e,d,"",f),j())}):(g.addFile(c+e+"/",Buffer.alloc(0),"",f),j())}):process.nextTick(()=>{j()})}else b(!0,void 0)};j()}})},addLocalFolderAsync2:function(a,b){let c=this;a="object"==typeof a?a:{localPath:a},localPath=e.resolve(r(a.localPath));let{zipPath:f,filter:g,namefix:h}=a;if(g instanceof RegExp){var i;i=g,g=function(a){return i.test(a)}}else"function"!=typeof g&&(g=function(){return!0});f=f?r(f):"","latin1"==h&&(h=a=>a.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"")),"function"!=typeof h&&(h=a=>a);let j=a=>e.join(f,h(t(localPath,a)));l.fs.open(localPath,"r",function(a){a&&"ENOENT"===a.code?b(void 0,d.Errors.FILE_NOT_FOUND(localPath)):a?b(void 0,a):l.findFilesAsync(localPath,function(a,d){if(a)return b(a);(d=d.filter(a=>g(j(a)))).length||b(void 0,!1),setImmediate(d.reverse().reduce(function(a,b){return function(d,f){if(d||!1===f)return setImmediate(a,d,!1);c.addLocalFileAsync({localPath:b,zipPath:e.dirname(j(b)),zipName:e.win32.basename(e.win32.normalize(h(b)))},a)}},b))})})},addLocalFolderPromise:function(a,b){return new Promise((c,d)=>{this.addLocalFolderAsync2(Object.assign({localPath:a},b),(a,b)=>{a&&d(a),b&&c(this)})})},addFile:function(a,b,c,d){let e=q(a=p(a)),g=null!=e;g||((e=new f(k)).entryName=a),e.comment=c||"";let h="object"==typeof d&&d instanceof l.fs.Stats;h&&(e.header.time=d.mtime);var i=16*!!e.isDirectory;let j=e.isDirectory?16384:32768;return h?j|=4095&d.mode:"number"==typeof d?j|=4095&d:j|=e.isDirectory?493:420,i=(i|j<<16)>>>0,e.attr=i,e.setData(b),g||m.setEntry(e),e},getEntries:function(a){return m.password=a,m?m.entries:[]},getEntry:function(a){return q(a)},getEntryCount:function(){return m.getEntryCount()},forEach:function(a){return m.forEach(a)},extractEntryTo:function(a,b,c,f,g,j){f=h(!1,f),g=h(!1,g),c=h(!0,c),j=i(g,j);var k=q(a);if(!k)throw d.Errors.NO_ENTRY();var p=n(k.entryName),r=o(b,j&&!k.isDirectory?j:c?p:e.basename(p));if(k.isDirectory)return m.getEntryChildren(k).forEach(function(a){if(a.isDirectory)return;var h=a.getData();if(!h)throw d.Errors.CANT_EXTRACT_FILE();var i=n(a.entryName),j=o(b,c?i:e.basename(i));let k=g?a.header.fileAttr:void 0;l.writeFileTo(j,h,f,k)}),!0;var s=k.getData(m.password);if(!s)throw d.Errors.CANT_EXTRACT_FILE();if(l.fs.existsSync(r)&&!f)throw d.Errors.CANT_OVERRIDE();let t=g?a.header.fileAttr:void 0;return l.writeFileTo(r,s,f,t),!0},test:function(a){if(!m)return!1;for(var b in m.entries)try{if(b.isDirectory)continue;if(!m.entries[b].getData(a))return!1}catch(a){return!1}return!0},extractAllTo:function(a,b,c,e){if(e=i(c=h(!1,c),e),b=h(!1,b),!m)throw d.Errors.NO_ZIP();m.entries.forEach(function(f){var g=o(a,n(f.entryName));if(f.isDirectory)return void l.makeDir(g);var h=f.getData(e);if(!h)throw d.Errors.CANT_EXTRACT_FILE();let i=c?f.header.fileAttr:void 0;l.writeFileTo(g,h,b,i);try{l.fs.utimesSync(g,f.header.time,f.header.time)}catch(a){throw d.Errors.CANT_EXTRACT_FILE()}})},extractAllToAsync:function(a,b,c,f){if(f=((...a)=>d.findLast(a,a=>"function"==typeof a))(b,c,f),c=h(!1,c),b=h(!1,b),!f)return new Promise((d,e)=>{this.extractAllToAsync(a,b,c,function(a){a?e(a):d(this)})});if(!m)return void f(d.Errors.NO_ZIP());a=e.resolve(a);let g=b=>o(a,e.normalize(n(b.entryName))),i=(a,b)=>Error(a+': "'+b+'"'),j=[],k=[];for(let a of(m.entries.forEach(a=>{a.isDirectory?j.push(a):k.push(a)}),j)){let b=g(a),d=c?a.header.fileAttr:void 0;try{l.makeDir(b),d&&l.fs.chmodSync(b,d),l.fs.utimesSync(b,a.header.time,a.header.time)}catch(a){f(i("Unable to create folder",b))}}k.reverse().reduce(function(f,g){return function(h){if(h)f(h);else{let h=e.normalize(n(g.entryName)),j=o(a,h);g.getDataAsync(function(a,e){if(e)f(e);else if(a){let d=c?g.header.fileAttr:void 0;l.writeFileToAsync(j,a,b,d,function(a){a||f(i("Unable to write file",j)),l.fs.utimes(j,g.header.time,g.header.time,function(a){a?f(i("Unable to set times",j)):f()})})}else f(d.Errors.CANT_EXTRACT_FILE())})}}},f)()},writeZip:function(a,b){if(1==arguments.length&&"function"==typeof a&&(b=a,a=""),!a&&k.filename&&(a=k.filename),a){var c=m.compressToBuffer();if(c){var d=l.writeFileTo(a,c,!0);"function"==typeof b&&b(d?null:Error("failed"),"")}}},writeZipPromise:function(a,b){let{overwrite:c,perm:d}=Object.assign({overwrite:!0},b);return new Promise((b,e)=>{!a&&k.filename&&(a=k.filename),a||e("ADM-ZIP: ZIP File Name Missing"),this.toBufferPromise().then(f=>{l.writeFileToAsync(a,f,c,d,a=>a?b(a):e("ADM-ZIP: Wasn't able to write zip file"))},e)})},toBufferPromise:function(){return new Promise((a,b)=>{m.toAsyncBuffer(a,b)})},toBuffer:function(a,b,c,d){return"function"==typeof a?(m.toAsyncBuffer(a,b,c,d),null):m.compressToBuffer()}}}},48009:(a,b,c)=>{"use strict";c.d(b,{b:()=>h});var d=c(14819),e=c(60358),f=c(88842);let g=(0,d.CN)({is:a=>"OnNode"===a.kind,create:a=>(0,d.CN)({kind:"OnNode",on:a}),cloneWithOperation:(a,b,c)=>(0,d.CN)({...a,on:"And"===b?e.s.create(a.on,c):f.K.create(a.on,c)})}),h=(0,d.CN)({is:a=>"JoinNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"JoinNode",joinType:a,table:b,on:void 0}),createWithOn:(a,b,c)=>(0,d.CN)({kind:"JoinNode",joinType:a,table:b,on:g.create(c)}),cloneWithOn:(a,b)=>(0,d.CN)({...a,on:a.on?g.cloneWithOperation(a.on,"And",b):g.create(b)})})},48082:(a,b,c)=>{"use strict";c.d(b,{GB:()=>n,KN:()=>r,Ve:()=>q,ds:()=>o,vC:()=>p});var d=c(60014),e=c(14819),f=c(34032),g=c(77999),h=c(92748),i=c(66204),j=c(9278),k=c(60358),l=c(80114),m=c(88842);function n(a){if(3===a.length)return o(a[0],a[1],a[2]);if(1===a.length)return(0,i.$s)(a[0]);throw Error(`invalid arguments: ${JSON.stringify(a)}`)}function o(a,b,c){var e;return("is"===(e=b)||"is not"===e)&&s(c)?d.l.create((0,h.$O)(a),t(b),j.q.createImmediate(c)):d.l.create((0,h.$O)(a),t(b),(0,i.U2)(c))}function p(a,b,c){return d.l.create((0,h.$O)(a),t(b),(0,h.$O)(c))}function q(a,b){return r(Object.entries(a).filter(([,a])=>!(0,e.b0)(a)).map(([a,b])=>o(a,s(b)?"is":"=",b)),b)}function r(a,b,c=!0){let e="and"===b?k.s.create:m.K.create;if(0===a.length)return d.l.create(j.q.createImmediate(1),g.zX.create("="),j.q.createImmediate(+("and"===b)));let f=u(a[0]);for(let b=1;b<a.length;++b)f=e(f,u(a[b]));return a.length>1&&c?l.k.create(f):f}function s(a){return(0,e.kZ)(a)||(0,e.Lm)(a)}function t(a){if((0,g.UH)(a))return g.zX.create(a);if((0,f.N)(a))return a.toOperationNode();throw Error(`invalid operator ${JSON.stringify(a)}`)}function u(a){return(0,f.N)(a)?a.toOperationNode():a}},48295:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"DetachedPromise",{enumerable:!0,get:function(){return c}});class c{constructor(){let a,b;this.promise=new Promise((c,d)=>{a=c,b=d}),this.resolve=a,this.reject=b}}},49147:(a,b,c)=>{"use strict";c.d(b,{P:()=>f});var d=c(14819),e=c(74903);let f=(0,d.CN)({is:a=>"CaseNode"===a.kind,create:a=>(0,d.CN)({kind:"CaseNode",value:a}),cloneWithWhen:(a,b)=>(0,d.CN)({...a,when:(0,d.CN)(a.when?[...a.when,b]:[b])}),cloneWithThen:(a,b)=>(0,d.CN)({...a,when:a.when?(0,d.CN)([...a.when.slice(0,-1),e.t.cloneWithResult(a.when[a.when.length-1],b)]):void 0}),cloneWith:(a,b)=>(0,d.CN)({...a,...b})})},50704:(a,b,c)=>{"use strict";c.d(b,{IW:()=>i,Kh:()=>k,r6:()=>j});var d=c(77598),e=c(99209),f=c(96996),g=c(97420);function h(){let a=process.env.CONSTELLA_VAULT_KEY;if(!a)throw Error("CONSTELLA_VAULT_KEY is not set");let b=Buffer.from(a,"base64");if(32!==b.length)throw Error("CONSTELLA_VAULT_KEY must decode to 32 bytes");return b}async function i(a,b,c,i){let j=(0,d.randomBytes)(12),k=(0,d.createCipheriv)("aes-256-gcm",h(),j),l=Buffer.concat([k.update(c,"utf8"),k.final()]),m=k.getAuthTag(),n=Buffer.concat([l,m]).toString("base64");await f.db.delete(g.vault).where((0,e.Uo)((0,e.eq)(g.vault.workspaceId,a),(0,e.eq)(g.vault.ref,b))),await f.db.insert(g.vault).values({id:(0,d.randomUUID)(),workspaceId:a,providerId:i,ref:b,ciphertext:n,iv:j.toString("base64")})}async function j(a,b){let[c]=await f.db.select().from(g.vault).where((0,e.Uo)((0,e.eq)(g.vault.workspaceId,a),(0,e.eq)(g.vault.ref,b)));if(!c)return null;let i=Buffer.from(c.ciphertext,"base64"),j=i.subarray(i.length-16),k=i.subarray(0,i.length-16),l=(0,d.createDecipheriv)("aes-256-gcm",h(),Buffer.from(c.iv,"base64"));return l.setAuthTag(j),Buffer.concat([l.update(k),l.final()]).toString("utf8")}async function k(a,b){await f.db.delete(g.vault).where((0,e.Uo)((0,e.eq)(g.vault.workspaceId,a),(0,e.eq)(g.vault.ref,b)))}},51066:(a,b,c)=>{"use strict";c.d(b,{$:()=>g});var d=c(28334);let e=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$/;function f(a){if("string"==typeof a&&e.test(a)){let b=new Date(a);if(!isNaN(b.getTime()))return b}return a}function g(a){try{if("string"!=typeof a){if(null==a)return null;return function a(b){if(null==b)return b;if("string"==typeof b)return f(b);if(b instanceof Date)return b;if(Array.isArray(b))return b.map(a);if("object"==typeof b){let c={};for(let d of Object.keys(b))c[d]=a(b[d]);return c}return b}(a)}return JSON.parse(a,(a,b)=>f(b))}catch(a){return d.vF.error("Error parsing JSON",{error:a}),null}}},51080:(a,b,c)=>{"use strict";c.d(b,{V:()=>e});let d=import("node:async_hooks").then(a=>a.AsyncLocalStorage).catch(a=>{if("AsyncLocalStorage"in globalThis)return globalThis.AsyncLocalStorage;if("u">typeof window)return null;throw console.warn("[better-auth] Warning: AsyncLocalStorage is not available in this environment. Some features may not work as expected."),console.warn("[better-auth] Please read more about this warning at https://better-auth.com/docs/installation#mount-handler"),console.warn("[better-auth] If you are using Cloudflare Workers, please see: https://developers.cloudflare.com/workers/configuration/compatibility-flags/#nodejs-compatibility-flag"),a});async function e(){let a=await d;if(null!==a)return a;throw Error("getAsyncLocalStorage is only available in server code")}},51991:(a,b,c)=>{"use strict";c.d(b,{I:()=>l});var d=c(69447),e=c(77598),f=c(99209),g=c(82079),h=c(96996),i=c(97420),j=c(74487),k=c(9170);async function l(a,b){await h.db.insert(i.event).values({id:(0,e.randomUUID)(),workspaceId:a,runId:b.runId,channel:b.channel??"room",agentId:b.agentId??null,seq:Date.now(),kind:b.kind,target:(b.target??"").slice(0,500),detail:(b.detail??"").slice(0,8e3)}),(0,k.r)(a)}async function m(a,b=0){let{workspace:c}=await (0,j.nP)();return h.db.select().from(i.event).where((0,f.Uo)((0,f.eq)(i.event.workspaceId,c.id),(0,f.eq)(i.event.channel,a),(0,f.gt)(i.event.seq,b))).orderBy((0,g.Y)(i.event.seq)).limit(300)}(0,c(75243).D)([l,m]),(0,d.A)(l,"6069d55c3f4e1783abfd4728ea381d7c4de7169b17",null),(0,d.A)(m,"603c43bef66e43b540b8445b0c3fe4ee8e746a3329",null)},52217:(a,b,c)=>{"use strict";c.d(b,{G:()=>f});var d=c(97587),e=c(14819);async function f(a,b){let c=new d.c,f=new d.c;return a.provideConnection(async a=>(c.resolve(a),await f.promise),b).catch(a=>c.reject(a)),(0,e.CN)({connection:await c.promise,release:f.resolve})}},52531:(a,b,c)=>{"use strict";Object.defineProperty(b,"e",{enumerable:!0,get:function(){return k}});let d=c(73780),e=c(69376),f=c(29294),g=c(63033),h=c(83218),i=0;async function j(a,b,c,e,f,g,i){await b.set(c,{kind:h.CachedRouteKind.FETCH,data:{headers:{},body:JSON.stringify(a),status:200,url:""},revalidate:"number"!=typeof f?d.CACHE_ONE_YEAR_SECONDS:f},{fetchCache:!0,tags:e,fetchIdx:g,fetchUrl:i})}function k(a,b,c={}){if(0===c.revalidate)throw Object.defineProperty(Error(`Invariant revalidate: 0 can not be passed to unstable_cache(), must be "false" or "> 0" ${a.toString()}`),"__NEXT_ERROR_CODE",{value:"E57",enumerable:!1,configurable:!0});let d=c.tags?(0,e.validateTags)(c.tags,`unstable_cache ${a.toString()}`):[];(0,e.validateRevalidate)(c.revalidate,`unstable_cache ${a.name||a.toString()}`);let l=`${a.toString()}-${Array.isArray(b)&&b.join(",")}`;return async(...b)=>{let e=f.workAsyncStorage.getStore(),k=g.workUnitAsyncStorage.getStore(),m=(null==e?void 0:e.incrementalCache)||globalThis.__incrementalCache;if(!m)throw Object.defineProperty(Error(`Invariant: incrementalCache missing in unstable_cache ${a.toString()}`),"__NEXT_ERROR_CODE",{value:"E469",enumerable:!1,configurable:!0});let n=k?(0,g.getCacheSignal)(k):null;n&&n.beginRead();try{let f=e&&k?function(a,b){switch(b.type){case"request":let c=b.url.pathname,d=new URLSearchParams(b.url.search),e=[...d.keys()].sort((a,b)=>a.localeCompare(b)).map(a=>`${a}=${d.get(a)}`).join("&");return`${c}${e.length?"?":""}${e}`;case"prerender":case"prerender-client":case"validation-client":case"prerender-runtime":case"prerender-ppr":case"prerender-legacy":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return a.route;default:return b}}(e,k):"",n=`${l}-${JSON.stringify(b)}`,o=await m.generateCacheKey(n),p=`unstable_cache ${f} ${a.name?` ${a.name}`:o}`,q=(e?e.nextFetchId:i)??1,r=null==k?void 0:k.implicitTags,s={type:"unstable-cache",phase:"render",implicitTags:r,draftMode:k&&e&&(0,g.getDraftModeProviderForCacheScope)(e,k),rootParams:void 0};if(e){e.nextFetchId=q+1;let f=!1;if(k)switch(k.type){case"cache":case"private-cache":case"prerender":case"prerender-runtime":case"prerender-ppr":case"prerender-legacy":"number"==typeof c.revalidate&&(k.revalidate<c.revalidate||(k.revalidate=c.revalidate));let i=k.tags;if(null===i)k.tags=d.slice();else for(let a of d)i.includes(a)||i.push(a);break;case"unstable-cache":f=!0}if(!f&&"force-no-store"!==e.fetchCache&&!e.isOnDemandRevalidate&&!m.isOnDemandRevalidate&&!e.isDraftMode){let f=await m.get(o,{kind:h.IncrementalCacheKind.FETCH,revalidate:c.revalidate,tags:d,softTags:null==r?void 0:r.tags,fetchIdx:q,fetchUrl:p});if(f&&f.value)if(f.value.kind!==h.CachedRouteKind.FETCH)console.error(`Invariant invalid cacheEntry returned for ${n}`);else{let h=void 0!==f.value.data.body?JSON.parse(f.value.data.body):void 0;if(f.isStale){if(e.pendingRevalidates||(e.pendingRevalidates={}),!e.pendingRevalidates[n]){let f=g.workUnitAsyncStorage.run(s,a,...b).then(async a=>(await j(a,m,o,d,c.revalidate,q,p),a)).catch(a=>(console.error(`revalidating cache with key: ${n}`,a),h));e.isStaticGeneration&&f.catch(()=>{}),e.pendingRevalidates[n]=f}if(e.isStaticGeneration)return await e.pendingRevalidates[n]}return h}}let l=await g.workUnitAsyncStorage.run(s,a,...b);return e.isDraftMode||(e.pendingRevalidates||(e.pendingRevalidates={}),e.pendingRevalidates[n]=j(l,m,o,d,c.revalidate,q,p)),l}{if(i+=1,!m.isOnDemandRevalidate){let a=await m.get(o,{kind:h.IncrementalCacheKind.FETCH,revalidate:c.revalidate,tags:d,fetchIdx:q,fetchUrl:p,softTags:null==r?void 0:r.tags});if(a&&a.value){if(a.value.kind!==h.CachedRouteKind.FETCH)console.error(`Invariant invalid cacheEntry returned for ${n}`);else if(!a.isStale)return void 0!==a.value.data.body?JSON.parse(a.value.data.body):void 0}}let e=await g.workUnitAsyncStorage.run(s,a,...b);return await j(e,m,o,d,c.revalidate,q,p),e}}finally{n&&n.endRead()}}}},53708:(a,b,c)=>{"use strict";c.d(b,{a:()=>e});var d=c(11895);function e(){return new f}class f{#t;get queryId(){return void 0===this.#t&&(this.#t=(0,d.D)(8)),this.#t}}},54043:(a,b,c)=>{"use strict";c.d(b,{t:()=>h});var d=c(26830);let e={eterm:4,cons25:4,console:4,cygwin:4,dtterm:4,gnome:4,hurd:4,jfbterm:4,konsole:4,kterm:4,mlterm:4,mosh:24,putty:4,st:4,"rxvt-unicode-24bit":24,terminator:24,"xterm-kitty":24},f=new Map(Object.entries({APPVEYOR:8,BUILDKITE:8,CIRCLECI:24,DRONE:8,GITEA_ACTIONS:24,GITHUB_ACTIONS:24,GITLAB_CI:8,TRAVIS:8})),g=[/ansi/,/color/,/linux/,/direct/,/^con[0-9]*x[0-9]/,/^rxvt/,/^screen/,/^xterm/,/^vt100/,/^vt220/];function h(){if(void 0!==(0,d.lh)("FORCE_COLOR"))switch((0,d.lh)("FORCE_COLOR")){case"":case"1":case"true":return 4;case"2":return 8;case"3":return 24;default:return 1}if(void 0!==(0,d.lh)("NODE_DISABLE_COLORS")&&""!==(0,d.lh)("NODE_DISABLE_COLORS")||void 0!==(0,d.lh)("NO_COLOR")&&""!==(0,d.lh)("NO_COLOR")||"dumb"===(0,d.lh)("TERM"))return 1;if((0,d.lh)("TMUX"))return 24;if("TF_BUILD"in d._K&&"AGENT_NAME"in d._K)return 4;if("CI"in d._K){for(let{0:a,1:b}of f)if(a in d._K)return b;return"codeship"===(0,d.lh)("CI_NAME")?8:1}if("TEAMCITY_VERSION"in d._K)return null!==/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.exec((0,d.lh)("TEAMCITY_VERSION"))?4:1;switch((0,d.lh)("TERM_PROGRAM")){case"iTerm.app":if(!(0,d.lh)("TERM_PROGRAM_VERSION")||null!==/^[0-2]\./.exec((0,d.lh)("TERM_PROGRAM_VERSION")))return 8;return 24;case"HyperTerm":case"MacTerm":return 24;case"Apple_Terminal":return 8}if("truecolor"===(0,d.lh)("COLORTERM")||"24bit"===(0,d.lh)("COLORTERM"))return 24;if((0,d.lh)("TERM")){if(null!==/truecolor/.exec((0,d.lh)("TERM")))return 24;if(null!==/^xterm-256/.exec((0,d.lh)("TERM")))return 8;let a=(0,d.lh)("TERM").toLowerCase();if(e[a])return e[a];if(g.some(b=>null!==b.exec(a)))return 4}return(0,d.lh)("COLORTERM")?4:1}},54170:(a,b,c)=>{let d=c(29021),e=c(33873),f=c(32138),g=c(99926),h="object"==typeof process&&"win32"===process.platform,i=a=>"object"==typeof a&&null!==a,j=new Uint32Array(256).map((a,b)=>{for(let a=0;a<8;a++)(1&b)!=0?b=0xedb88320^b>>>1:b>>>=1;return b>>>0});function k(a){this.sep=e.sep,this.fs=d,i(a)&&i(a.fs)&&"function"==typeof a.fs.statSync&&(this.fs=a.fs)}a.exports=k,k.prototype.makeDir=function(a){let b,c=this;b=a.split(c.sep)[0],a.split(c.sep).forEach(function(a){var d;if(a&&":"!==a.substr(-1,1)){b+=c.sep+a;try{d=c.fs.statSync(b)}catch(a){if(a.message&&a.message.startsWith("ENOENT"))c.fs.mkdirSync(b);else throw a}if(d&&d.isFile())throw g.FILE_IN_THE_WAY(`"${b}"`)}})},k.prototype.writeFileTo=function(a,b,c,d){if(this.fs.existsSync(a)){var f;if(!c||this.fs.statSync(a).isDirectory())return!1}var g=e.dirname(a);this.fs.existsSync(g)||this.makeDir(g);try{f=this.fs.openSync(a,"w",438)}catch(b){this.fs.chmodSync(a,438),f=this.fs.openSync(a,"w",438)}if(f)try{this.fs.writeSync(f,b,0,b.length,0)}finally{this.fs.closeSync(f)}return this.fs.chmodSync(a,d||438),!0},k.prototype.writeFileToAsync=function(a,b,c,d,f){"function"==typeof d&&(f=d,d=void 0);let g=this;g.fs.exists(a,function(h){if(h&&!c)return f(!1);g.fs.stat(a,function(c,i){if(h&&i.isDirectory())return f(!1);var j=e.dirname(a);g.fs.exists(j,function(c){c||g.makeDir(j),g.fs.open(a,"w",438,function(c,e){c?g.fs.chmod(a,438,function(){g.fs.open(a,"w",438,function(c,e){g.fs.write(e,b,0,b.length,0,function(){g.fs.close(e,function(){g.fs.chmod(a,d||438,function(){f(!0)})})})})}):e?g.fs.write(e,b,0,b.length,0,function(){g.fs.close(e,function(){g.fs.chmod(a,d||438,function(){f(!0)})})}):g.fs.chmod(a,d||438,function(){f(!0)})})})})})},k.prototype.findFiles=function(a){let b=this;return function a(c,d,f){"boolean"==typeof d&&(f=d,d=void 0);let g=[];return b.fs.readdirSync(c).forEach(function(h){let i=e.join(c,h),j=b.fs.statSync(i);(!d||d.test(i))&&g.push(e.normalize(i)+(j.isDirectory()?b.sep:"")),j.isDirectory()&&f&&(g=g.concat(a(i,d,f)))}),g}(a,void 0,!0)},k.prototype.findFilesAsync=function(a,b){let c=this,d=[];c.fs.readdir(a,function(f,g){if(f)return b(f);let h=g.length;if(!h)return b(null,d);g.forEach(function(f){f=e.join(a,f),c.fs.stat(f,function(a,g){if(a)return b(a);g&&(d.push(e.normalize(f)+(g.isDirectory()?c.sep:"")),g.isDirectory()?c.findFilesAsync(f,function(a,c){if(a)return b(a);d=d.concat(c),--h||b(null,d)}):--h||b(null,d))})})})},k.prototype.getAttributes=function(){},k.prototype.setAttributes=function(){},k.crc32update=function(a,b){return j[(a^b)&255]^a>>>8},k.crc32=function(a){"string"==typeof a&&(a=Buffer.from(a,"utf8"));let b=a.length,c=-1;for(let d=0;d<b;)c=k.crc32update(c,a[d++]);return~c>>>0},k.methodToString=function(a){switch(a){case f.STORED:return"STORED ("+a+")";case f.DEFLATED:return"DEFLATED ("+a+")";default:return"UNSUPPORTED ("+a+")"}},k.canonical=function(a){if(!a)return"";let b=e.posix.normalize("/"+a.split("\\").join("/"));return e.join(".",b)},k.zipnamefix=function(a){if(!a)return"";let b=e.posix.normalize("/"+a.split("\\").join("/"));return e.posix.join(".",b)},k.findLast=function(a,b){if(!Array.isArray(a))throw TypeError("arr is not array");let c=a.length>>>0;for(let d=c-1;d>=0;d--)if(b(a[d],d,a))return a[d]},k.sanitize=function(a,b){a=e.resolve(e.normalize(a));for(var c=b.split("/"),d=0,f=c.length;d<f;d++){var g=e.normalize(e.join(a,c.slice(d,f).join(e.sep)));if(0===g.indexOf(a))return g}return e.normalize(e.join(a,e.basename(b)))},k.toBuffer=function(a,b){return Buffer.isBuffer(a)?a:a instanceof Uint8Array?Buffer.from(a):"string"==typeof a?b(a):Buffer.alloc(0)},k.readBigUInt64LE=function(a,b){let c=a.readUInt32LE(b);return 0x100000000*a.readUInt32LE(b+4)+c},k.fromDOS2Date=function(a){return new Date((a>>25&127)+1980,Math.max((a>>21&15)-1,0),Math.max(a>>16&31,1),a>>11&31,a>>5&63,(31&a)<<1)},k.fromDate2DOS=function(a){let b=0,c=0;return a.getFullYear()>1979&&(b=(a.getFullYear()-1980&127)<<9|a.getMonth()+1<<5|a.getDate(),c=a.getHours()<<11|a.getMinutes()<<5|a.getSeconds()>>1),b<<16|c},k.isWin=h,k.crcTable=j},54234:(a,b,c)=>{"use strict";c.d(b,{Qq:()=>k});var d=c(78033),e=c(2471),f=c(60464);class g extends f.o{static [d.i]="SQLiteTextBuilder";constructor(a,b){super(a,"string","SQLiteText"),this.config.enumValues=b.enum,this.config.length=b.length}build(a){return new h(a,this.config)}}class h extends f.v{static [d.i]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(a,b){super(a,b)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class i extends f.o{static [d.i]="SQLiteTextJsonBuilder";constructor(a){super(a,"json","SQLiteTextJson")}build(a){return new j(a,this.config)}}class j extends f.v{static [d.i]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(a){return JSON.parse(a)}mapToDriverValue(a){return JSON.stringify(a)}}function k(a,b={}){let{name:c,config:d}=(0,e.Ll)(a,b);return"json"===d.mode?new i(c):new g(c,d)}},54393:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={delayUntilRuntimeStage:function(){return o},getRuntimeStage:function(){return n},isHangingPromiseRejectionError:function(){return g},makeDevtoolsIOAwarePromise:function(){return m},makeHangingPromise:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(61185);function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===h}let h="HANGING_PROMISE_REJECTION";class i extends Error{constructor(a,b){super(`During prerendering, ${b} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${b} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${a}".`),this.route=a,this.expression=b,this.digest=h}}let j=new WeakMap;function k(a,b,c){if(a.aborted)return Promise.reject(new i(b,c));{let d=new Promise((d,e)=>{let f=e.bind(null,new i(b,c)),g=j.get(a);if(g)g.push(f);else{let b=[f];j.set(a,b),a.addEventListener("abort",()=>{for(let a=0;a<b.length;a++)b[a]()},{once:!0})}});return d.catch(l),d}}function l(){}function m(a,b,c){return b.stagedRendering?b.stagedRendering.delayUntilStage(c,void 0,a):new Promise(b=>{setTimeout(()=>{b(a)},0)})}function n(a){return a.currentStage===f.RenderStage.EarlyStatic||a.currentStage===f.RenderStage.EarlyRuntime?f.RenderStage.EarlyRuntime:f.RenderStage.Runtime}function o(a,b){let{stagedRendering:c}=a;return c?c.waitForStage(n(c)).then(()=>b):b}},54525:(a,b,c)=>{"use strict";c.d(b,{bj:()=>i,uc:()=>k});var d=c(78635),e=c(74524),f=c(34032),g=c(28213),h=c(14819);class i{#aD;get table(){return this.#aD}constructor(a){this.#aD=a}as(a){return new j(this.#aD,a)}}class j{#aD;#d;get table(){return this.#aD}get alias(){return this.#d}constructor(a,b){this.#aD=a,this.#d=b}toOperationNode(){return d.N.create((0,g.M$)(this.#aD),e.O.create(this.#d))}}function k(a){return(0,h.Gv)(a)&&(0,f.N)(a)&&(0,h.Kg)(a.table)&&(0,h.Kg)(a.alias)}},55229:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextURL",{enumerable:!0,get:function(){return k}});let d=c(749),e=c(88054),f=c(71384),g=c(12615),h=/^(?:127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)$/;function i(a,b){let c=new URL(String(a),b&&String(b));return h.test(c.hostname)&&(c.hostname="localhost"),c}let j=Symbol("NextURLInternal");class k{constructor(a,b,c){let d,e;"object"==typeof b&&"pathname"in b||"string"==typeof b?(d=b,e=c||{}):e=c||b||{},this[j]={url:i(a,d??e.base),options:e,basePath:""},this.analyze()}analyze(){var a,b,c,e,h;let i=(0,g.getNextPathnameInfo)(this[j].url.pathname,{nextConfig:this[j].options.nextConfig,parseData:!0,i18nProvider:this[j].options.i18nProvider}),k=(0,f.getHostname)(this[j].url,this[j].options.headers);this[j].domainLocale=this[j].options.i18nProvider?this[j].options.i18nProvider.detectDomainLocale(k):(0,d.detectDomainLocale)(null==(b=this[j].options.nextConfig)||null==(a=b.i18n)?void 0:a.domains,k);let l=(null==(c=this[j].domainLocale)?void 0:c.defaultLocale)||(null==(h=this[j].options.nextConfig)||null==(e=h.i18n)?void 0:e.defaultLocale);this[j].url.pathname=i.pathname,this[j].defaultLocale=l,this[j].basePath=i.basePath??"",this[j].buildId=i.buildId,this[j].locale=i.locale??l,this[j].trailingSlash=i.trailingSlash}formatPathname(){return(0,e.formatNextPathnameInfo)({basePath:this[j].basePath,buildId:this[j].buildId,defaultLocale:this[j].options.forceLocale?void 0:this[j].defaultLocale,locale:this[j].locale,pathname:this[j].url.pathname,trailingSlash:this[j].trailingSlash})}formatSearch(){return this[j].url.search}get buildId(){return this[j].buildId}set buildId(a){this[j].buildId=a}get locale(){return this[j].locale??""}set locale(a){var b,c;if(!this[j].locale||!(null==(c=this[j].options.nextConfig)||null==(b=c.i18n)?void 0:b.locales.includes(a)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${a}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[j].locale=a}get defaultLocale(){return this[j].defaultLocale}get domainLocale(){return this[j].domainLocale}get searchParams(){return this[j].url.searchParams}get host(){return this[j].url.host}set host(a){this[j].url.host=a}get hostname(){return this[j].url.hostname}set hostname(a){this[j].url.hostname=a}get port(){return this[j].url.port}set port(a){this[j].url.port=a}get protocol(){return this[j].url.protocol}set protocol(a){this[j].url.protocol=a}get href(){let a=this.formatPathname(),b=this.formatSearch();return`${this.protocol}//${this.host}${a}${b}${this.hash}`}set href(a){this[j].url=i(a),this.analyze()}get origin(){return this[j].url.origin}get pathname(){return this[j].url.pathname}set pathname(a){this[j].url.pathname=a}get hash(){return this[j].url.hash}set hash(a){this[j].url.hash=a}get search(){return this[j].url.search}set search(a){this[j].url.search=a}get password(){return this[j].url.password}set password(a){this[j].url.password=a}get username(){return this[j].url.username}set username(a){this[j].url.username=a}get basePath(){return this[j].basePath}set basePath(a){this[j].basePath=a.startsWith("/")?a:`/${a}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new k(String(this),this[j].options)}}},55854:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removePathPrefix",{enumerable:!0,get:function(){return e}});let d=c(64450);function e(a,b){if(!(0,d.pathHasPrefix)(a,b))return a;let c=a.slice(b.length);return c.startsWith("/")?c:`/${c}`}},56066:(a,b,c)=>{"use strict";c.d(b,{F:()=>d,x:()=>e});class d extends Error{node;constructor(a){super("no result"),this.node=a}}function e(a){return Object.prototype.hasOwnProperty.call(a,"prototype")}},56230:(a,b,c)=>{"use strict";c.d(b,{DR:()=>g,OR:()=>f,Xu:()=>e,qU:()=>d});let d="db.collection.name",e="db.operation.name",f="http.response.status_code",g="http.route"},56426:(a,b,c)=>{"use strict";c.d(b,{n:()=>ap});var d,e,f=c(1996),g=c(82616),h=c(46589),i=c(57703),j=c(8971),k=c(14819),l=c(66204);let m=(0,k.CN)({is:a=>"ValuesNode"===a.kind,create:a=>(0,k.CN)({kind:"ValuesNode",values:(0,k.CN)(a)})});var n=c(37961);let o=(0,k.CN)({is:a=>"DefaultInsertValueNode"===a.kind,create:()=>(0,k.CN)({kind:"DefaultInsertValueNode"})});var p=c(84982);function q(a){var b;let c,d=(0,k.Tn)(a)?a((0,p.A)()):a;return c=function(a){let b=new Map;for(let c of a)for(let a of Object.keys(c))b.has(a)||void 0===c[a]||b.set(a,b.size);return b}(b=(0,k.MH)(d)?d:(0,k.CN)([d])),[(0,k.CN)([...c.keys()].map(h.Z.create)),m.create(b.map(a=>(function(a,b){let c=Object.keys(a),d=Array.from({length:b.size}),e=!1,f=c.length;for(let g of c){let c=b.get(g);if((0,k.b0)(c)){f--;continue}let h=a[g];((0,k.b0)(h)||(0,n.SS)(h))&&(e=!0),d[c]=h}if(f<b.size||e){let a=o.create();return j.s.create(d.map(b=>(0,k.b0)(b)?a:(0,l.$s)(b)))}return i.h.create(d)})(a,c)))]}var r=c(26219),s=c(46799);let t=(0,k.CN)({is:a=>"ColumnUpdateNode"===a.kind,create:(a,b)=>(0,k.CN)({kind:"ColumnUpdateNode",column:a,value:b})});var u=c(92748);function v(a){return Object.entries((0,k.Tn)(a)?a((0,p.A)()):a).filter(([a,b])=>void 0!==b).map(([a,b])=>t.create(h.Z.create(a),(0,l.$s)(b)))}let w=(0,k.CN)({is:a=>"OnDuplicateKeyNode"===a.kind,create:a=>(0,k.CN)({kind:"OnDuplicateKeyNode",updates:a})});class x{insertId;numInsertedOrUpdatedRows;constructor(a,b){this.insertId=a,this.numInsertedOrUpdatedRows=b}}var y=c(56066),z=c(74524),A=c(84932);let B=(0,k.CN)({is:a=>"OnConflictNode"===a.kind,create:()=>(0,k.CN)({kind:"OnConflictNode"}),cloneWith:(a,b)=>(0,k.CN)({...a,...b}),cloneWithIndexWhere:(a,b)=>(0,k.CN)({...a,indexWhere:a.indexWhere?A.o.cloneWithOperation(a.indexWhere,"And",b):A.o.create(b)}),cloneWithIndexOrWhere:(a,b)=>(0,k.CN)({...a,indexWhere:a.indexWhere?A.o.cloneWithOperation(a.indexWhere,"Or",b):A.o.create(b)}),cloneWithUpdateWhere:(a,b)=>(0,k.CN)({...a,updateWhere:a.updateWhere?A.o.cloneWithOperation(a.updateWhere,"And",b):A.o.create(b)}),cloneWithUpdateOrWhere:(a,b)=>(0,k.CN)({...a,updateWhere:a.updateWhere?A.o.cloneWithOperation(a.updateWhere,"Or",b):A.o.create(b)}),cloneWithoutIndexWhere:a=>(0,k.CN)({...a,indexWhere:void 0}),cloneWithoutUpdateWhere:a=>(0,k.CN)({...a,updateWhere:void 0})});var C=c(48082);class D{#a;constructor(a){this.#a=(0,k.CN)(a)}column(a){let b=h.Z.create(a);return new D({...this.#a,onConflictNode:B.cloneWith(this.#a.onConflictNode,{columns:this.#a.onConflictNode.columns?(0,k.CN)([...this.#a.onConflictNode.columns,b]):(0,k.CN)([b])})})}columns(a){let b=a.map(h.Z.create);return new D({...this.#a,onConflictNode:B.cloneWith(this.#a.onConflictNode,{columns:this.#a.onConflictNode.columns?(0,k.CN)([...this.#a.onConflictNode.columns,...b]):(0,k.CN)(b)})})}constraint(a){return new D({...this.#a,onConflictNode:B.cloneWith(this.#a.onConflictNode,{constraint:z.O.create(a)})})}expression(a){return new D({...this.#a,onConflictNode:B.cloneWith(this.#a.onConflictNode,{indexExpression:a.toOperationNode()})})}where(...a){return new D({...this.#a,onConflictNode:B.cloneWithIndexWhere(this.#a.onConflictNode,(0,C.GB)(a))})}whereRef(a,b,c){return new D({...this.#a,onConflictNode:B.cloneWithIndexWhere(this.#a.onConflictNode,(0,C.vC)(a,b,c))})}clearWhere(){return new D({...this.#a,onConflictNode:B.cloneWithoutIndexWhere(this.#a.onConflictNode)})}doNothing(){return new E({...this.#a,onConflictNode:B.cloneWith(this.#a.onConflictNode,{doNothing:!0})})}doUpdateSet(a){return new F({...this.#a,onConflictNode:B.cloneWith(this.#a.onConflictNode,{updates:v(a)})})}$call(a){return a(this)}}class E{#a;constructor(a){this.#a=(0,k.CN)(a)}toOperationNode(){return this.#a.onConflictNode}}class F{#a;constructor(a){this.#a=(0,k.CN)(a)}where(...a){return new F({...this.#a,onConflictNode:B.cloneWithUpdateWhere(this.#a.onConflictNode,(0,C.GB)(a))})}whereRef(a,b,c){return new F({...this.#a,onConflictNode:B.cloneWithUpdateWhere(this.#a.onConflictNode,(0,C.vC)(a,b,c))})}clearWhere(){return new F({...this.#a,onConflictNode:B.cloneWithoutUpdateWhere(this.#a.onConflictNode)})}$call(a){return a(this)}toOperationNode(){return this.#a.onConflictNode}}var G=c(62765);let H=(0,k.CN)({is:a=>"OrActionNode"===a.kind,create:a=>(0,k.CN)({kind:"OrActionNode",action:a})});class I{#a;constructor(a){this.#a=(0,k.CN)(a)}values(a){let[b,c]=q(a);return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{columns:b,values:c})})}columns(a){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{columns:(0,k.CN)(a.map(h.Z.create))})})}expression(a){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{values:(0,n.YK)(a)})})}defaultValues(){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{defaultValues:!0})})}modifyEnd(a){return new I({...this.#a,queryNode:s.L.cloneWithEndModifier(this.#a.queryNode,a.toOperationNode())})}ignore(){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{orAction:H.create("ignore")})})}orIgnore(){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{orAction:H.create("ignore")})})}orAbort(){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{orAction:H.create("abort")})})}orFail(){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{orAction:H.create("fail")})})}orReplace(){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{orAction:H.create("replace")})})}orRollback(){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{orAction:H.create("rollback")})})}top(a,b){return new I({...this.#a,queryNode:s.L.cloneWithTop(this.#a.queryNode,(0,G.f)(a,b))})}onConflict(a){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{onConflict:a(new D({onConflictNode:B.create()})).toOperationNode()})})}onDuplicateKeyUpdate(a){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{onDuplicateKey:w.create(v(a))})})}returning(a){return new I({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.G)(a))})}returningAll(){return new I({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.J)())})}output(a){return new I({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.G)(a))})}outputAll(a){return new I({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.J)(a))})}clearReturning(){return new I({...this.#a,queryNode:s.L.cloneWithoutReturning(this.#a.queryNode)})}$call(a){return a(this)}$if(a,b){return a?b(this):new I({...this.#a})}$castTo(){return new I(this.#a)}$narrowType(){return new I(this.#a)}$assertType(){return new I(this.#a)}withPlugin(a){return new I({...this.#a,executor:this.#a.executor.withPlugin(a)})}toOperationNode(){return this.#a.executor.transformQuery(this.#a.queryNode,this.#a.queryId)}compile(){return this.#a.executor.compileQuery(this.toOperationNode(),this.#a.queryId)}async execute(a){let b=this.compile(),c=await this.#a.executor.executeQuery(b,a),{adapter:d}=this.#a.executor,e=b.query;return e.returning&&d.supportsReturning||e.output&&d.supportsOutput?c.rows:[new x(c.insertId,c.numAffectedRows??BigInt(0))]}async executeTakeFirst(a){let[b]=await this.execute(a);return b}async executeTakeFirstOrThrow(a){"function"==typeof a&&(a={errorConstructor:a});let b=await this.executeTakeFirst(a);if(void 0===b){let b=a?.errorConstructor??y.F;throw(0,y.x)(b)?new b(this.toOperationNode()):b(this.toOperationNode())}return b}async *stream(a){"object"!=typeof a&&(a={chunkSize:a});let b=this.compile();for await(let c of this.#a.executor.stream(b,a.chunkSize??100,a))yield*c.rows}async explain(a,b){let c=new I({...this.#a,queryNode:s.L.cloneWithExplain(this.#a.queryNode,a,b)});return await c.execute()}}var J=c(29175),K=c(28213);class L{numDeletedRows;constructor(a){this.numDeletedRows=a}}var M=c(47537),N=c(60796),O=c(13934);class P{#a;constructor(a){this.#a=(0,k.CN)(a)}where(...a){return new d({...this.#a,queryNode:s.L.cloneWithWhere(this.#a.queryNode,(0,C.GB)(a))})}whereRef(a,b,c){return new d({...this.#a,queryNode:s.L.cloneWithWhere(this.#a.queryNode,(0,C.vC)(a,b,c))})}clearWhere(){return new d({...this.#a,queryNode:s.L.cloneWithoutWhere(this.#a.queryNode)})}top(a,b){return new d({...this.#a,queryNode:s.L.cloneWithTop(this.#a.queryNode,(0,G.f)(a,b))})}using(a){return new d({...this.#a,queryNode:M.e.cloneWithUsing(this.#a.queryNode,(0,K.JB)(a))})}innerJoin(...a){return this.#b("InnerJoin",a)}leftJoin(...a){return this.#b("LeftJoin",a)}rightJoin(...a){return this.#b("RightJoin",a)}fullJoin(...a){return this.#b("FullJoin",a)}#b(a,b){return new d({...this.#a,queryNode:s.L.cloneWithJoin(this.#a.queryNode,(0,J.a)(a,b))})}returning(a){return new d({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.G)(a))})}returningAll(a){return new d({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.J)(a))})}output(a){return new d({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.G)(a))})}outputAll(a){return new d({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.J)(a))})}clearReturning(){return new d({...this.#a,queryNode:s.L.cloneWithoutReturning(this.#a.queryNode)})}clearLimit(){return new d({...this.#a,queryNode:M.e.cloneWithoutLimit(this.#a.queryNode)})}orderBy(...a){return new d({...this.#a,queryNode:s.L.cloneWithOrderByItems(this.#a.queryNode,(0,O.xk)(a))})}clearOrderBy(){return new d({...this.#a,queryNode:s.L.cloneWithoutOrderBy(this.#a.queryNode)})}limit(a){return new d({...this.#a,queryNode:M.e.cloneWithLimit(this.#a.queryNode,N.a.create((0,l.$s)(a)))})}modifyEnd(a){return new d({...this.#a,queryNode:s.L.cloneWithEndModifier(this.#a.queryNode,a.toOperationNode())})}$call(a){return a(this)}$if(a,b){return a?b(this):new d({...this.#a})}$castTo(){return new d(this.#a)}$narrowType(){return new d(this.#a)}$assertType(){return new d(this.#a)}withPlugin(a){return new d({...this.#a,executor:this.#a.executor.withPlugin(a)})}toOperationNode(){return this.#a.executor.transformQuery(this.#a.queryNode,this.#a.queryId)}compile(){return this.#a.executor.compileQuery(this.toOperationNode(),this.#a.queryId)}async execute(a){let b=this.compile(),c=await this.#a.executor.executeQuery(b,a),{adapter:d}=this.#a.executor,e=b.query;return e.returning&&d.supportsReturning||e.output&&d.supportsOutput?c.rows:[new L(c.numAffectedRows??BigInt(0))]}async executeTakeFirst(a){let[b]=await this.execute(a);return b}async executeTakeFirstOrThrow(a){"function"==typeof a&&(a={errorConstructor:a});let b=await this.executeTakeFirst(a);if(void 0===b){let b=a?.errorConstructor??y.F;throw(0,y.x)(b)?new b(this.toOperationNode()):b(this.toOperationNode())}return b}async *stream(a){"object"!=typeof a&&(a={chunkSize:a});let b=this.compile();for await(let c of this.#a.executor.stream(b,a.chunkSize??100,a))yield*c.rows}async explain(a,b){let c=new d({...this.#a,queryNode:s.L.cloneWithExplain(this.#a.queryNode,a,b)});return await c.execute()}}d=P;var Q=c(65695);class R{numUpdatedRows;numChangedRows;constructor(a,b){this.numUpdatedRows=a,this.numChangedRows=b}}class S{#a;constructor(a){this.#a=(0,k.CN)(a)}where(...a){return new e({...this.#a,queryNode:s.L.cloneWithWhere(this.#a.queryNode,(0,C.GB)(a))})}whereRef(a,b,c){return new e({...this.#a,queryNode:s.L.cloneWithWhere(this.#a.queryNode,(0,C.vC)(a,b,c))})}clearWhere(){return new e({...this.#a,queryNode:s.L.cloneWithoutWhere(this.#a.queryNode)})}top(a,b){return new e({...this.#a,queryNode:s.L.cloneWithTop(this.#a.queryNode,(0,G.f)(a,b))})}from(a){return new e({...this.#a,queryNode:Q.U.cloneWithFromItems(this.#a.queryNode,(0,K.JB)(a))})}innerJoin(...a){return this.#b("InnerJoin",a)}leftJoin(...a){return this.#b("LeftJoin",a)}rightJoin(...a){return this.#b("RightJoin",a)}fullJoin(...a){return this.#b("FullJoin",a)}#b(a,b){return new e({...this.#a,queryNode:s.L.cloneWithJoin(this.#a.queryNode,(0,J.a)(a,b))})}orderBy(...a){return new e({...this.#a,queryNode:s.L.cloneWithOrderByItems(this.#a.queryNode,(0,O.xk)(a))})}clearOrderBy(){return new e({...this.#a,queryNode:s.L.cloneWithoutOrderBy(this.#a.queryNode)})}limit(a){return new e({...this.#a,queryNode:Q.U.cloneWithLimit(this.#a.queryNode,N.a.create((0,l.$s)(a)))})}set(...a){return new e({...this.#a,queryNode:Q.U.cloneWithUpdates(this.#a.queryNode,function(...a){return 2===a.length?[t.create((0,u.$O)(a[0]),(0,l.$s)(a[1]))]:v(a[0])}(...a))})}returning(a){return new e({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.G)(a))})}returningAll(a){return new e({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.J)(a))})}output(a){return new e({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.G)(a))})}outputAll(a){return new e({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.J)(a))})}modifyEnd(a){return new e({...this.#a,queryNode:s.L.cloneWithEndModifier(this.#a.queryNode,a.toOperationNode())})}clearReturning(){return new e({...this.#a,queryNode:s.L.cloneWithoutReturning(this.#a.queryNode)})}$call(a){return a(this)}$if(a,b){return a?b(this):new e({...this.#a})}$castTo(){return new e(this.#a)}$narrowType(){return new e(this.#a)}$assertType(){return new e(this.#a)}withPlugin(a){return new e({...this.#a,executor:this.#a.executor.withPlugin(a)})}toOperationNode(){return this.#a.executor.transformQuery(this.#a.queryNode,this.#a.queryId)}compile(){return this.#a.executor.compileQuery(this.toOperationNode(),this.#a.queryId)}async execute(a){let b=this.compile(),c=await this.#a.executor.executeQuery(b,a),{adapter:d}=this.#a.executor,e=b.query;return e.returning&&d.supportsReturning||e.output&&d.supportsOutput?c.rows:[new R(c.numAffectedRows??BigInt(0),c.numChangedRows)]}async executeTakeFirst(a){let[b]=await this.execute(a);return b}async executeTakeFirstOrThrow(a){"function"==typeof a&&(a={errorConstructor:a});let b=await this.executeTakeFirst(a);if(void 0===b){let b=a?.errorConstructor??y.F;throw(0,y.x)(b)?new b(this.toOperationNode()):b(this.toOperationNode())}return b}async *stream(a){"object"!=typeof a&&(a={chunkSize:a});let b=this.compile();for await(let c of this.#a.executor.stream(b,a.chunkSize??100,a))yield*c.rows}async explain(a,b){let c=new e({...this.#a,queryNode:s.L.cloneWithExplain(this.#a.queryNode,a,b)});return await c.execute()}}e=S;var T=c(70412),U=c(2131);let V=(0,k.CN)({is:a=>"CommonTableExpressionNameNode"===a.kind,create:(a,b)=>(0,k.CN)({kind:"CommonTableExpressionNameNode",table:U.H.create(a),columns:b?(0,k.CN)(b.map(h.Z.create)):void 0})});var W=c(60131);let X=(0,k.CN)({is:a=>"CommonTableExpressionNode"===a.kind,create:(a,b)=>(0,k.CN)({kind:"CommonTableExpressionNode",name:a,expression:b}),cloneWith:(a,b)=>(0,k.CN)({...a,...b})});class Y{#a;constructor(a){this.#a=(0,k.CN)(a)}materialized(){return new Y({...this.#a,node:X.cloneWith(this.#a.node,{materialized:!0})})}notMaterialized(){return new Y({...this.#a,node:X.cloneWith(this.#a.node,{materialized:!1})})}toOperationNode(){return this.#a.node}}var Z=c(34032);function $(a,b){var c;let d=(0,Z.N)(b)?b.toOperationNode():b((0,W.bl)()).toOperationNode();return(0,k.Tn)(a)?a((c=d,a=>new Y({node:X.create(_(a),c)}))).toOperationNode():X.create(_(a),d)}function _(a){if(!a.includes("("))return V.create(a);{let b=a.split(/[\(\)]/),c=b[0],d=b[1].split(",").map(a=>a.trim());return V.create(c,d)}}let aa=(0,k.CN)({is:a=>"WithNode"===a.kind,create:(a,b)=>(0,k.CN)({kind:"WithNode",expressions:(0,k.CN)([a]),...b}),cloneWithExpression:(a,b)=>(0,k.CN)({...a,expressions:(0,k.CN)([...a.expressions,b])})});var ab=c(53708),ac=c(28418),ad=c(97662);let ae=(0,k.CN)({is:a=>"MatchedNode"===a.kind,create:(a,b=!1)=>(0,k.CN)({kind:"MatchedNode",not:a,bySource:b})});var af=c(14473),ag=c(74903);function ah(a,b,c){return ag.t.create((0,C.KN)([ae.create(!a.isMatched,a.bySource),...b&&b.length>0?[3===b.length&&c?(0,C.vC)(b[0],b[1],b[2]):(0,C.GB)(b)]:[]],"and",!1))}function ai(a){return(0,k.Kg)(a)?af.z.create([a],[]):(0,Z.N)(a)?a.toOperationNode():a}var aj=c(62335);class ak{numChangedRows;constructor(a){this.numChangedRows=a}}class al{#a;constructor(a){this.#a=(0,k.CN)(a)}modifyEnd(a){return new al({...this.#a,queryNode:s.L.cloneWithEndModifier(this.#a.queryNode,a.toOperationNode())})}top(a,b){return new al({...this.#a,queryNode:s.L.cloneWithTop(this.#a.queryNode,(0,G.f)(a,b))})}using(...a){return new am({...this.#a,queryNode:ad.r.cloneWithUsing(this.#a.queryNode,(0,J.a)("Using",a))})}returning(a){return new al({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.G)(a))})}returningAll(a){return new al({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.J)(a))})}output(a){return new al({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.G)(a))})}outputAll(a){return new al({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.J)(a))})}}class am{#a;constructor(a){this.#a=(0,k.CN)(a)}modifyEnd(a){return new am({...this.#a,queryNode:s.L.cloneWithEndModifier(this.#a.queryNode,a.toOperationNode())})}top(a,b){return new am({...this.#a,queryNode:s.L.cloneWithTop(this.#a.queryNode,(0,G.f)(a,b))})}whenMatched(){return this.#aE([])}whenMatchedAnd(...a){return this.#aE(a)}whenMatchedAndRef(a,b,c){return this.#aE([a,b,c],!0)}#aE(a,b){return new an({...this.#a,queryNode:ad.r.cloneWithWhen(this.#a.queryNode,ah({isMatched:!0},a,b))})}whenNotMatched(){return this.#aF([])}whenNotMatchedAnd(...a){return this.#aF(a)}whenNotMatchedAndRef(a,b,c){return this.#aF([a,b,c],!0)}whenNotMatchedBySource(){return this.#aF([],!1,!0)}whenNotMatchedBySourceAnd(...a){return this.#aF(a,!1,!0)}whenNotMatchedBySourceAndRef(a,b,c){return this.#aF([a,b,c],!0,!0)}returning(a){return new am({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.G)(a))})}returningAll(a){return new am({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.J)(a))})}output(a){return new am({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.G)(a))})}outputAll(a){return new am({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.J)(a))})}#aF(a,b=!1,c=!1){let d={...this.#a,queryNode:ad.r.cloneWithWhen(this.#a.queryNode,ah({isMatched:!1,bySource:c},a,b))};return new(c?an:ao)(d)}$call(a){return a(this)}$if(a,b){return a?b(this):new am({...this.#a})}toOperationNode(){return this.#a.executor.transformQuery(this.#a.queryNode,this.#a.queryId)}compile(){return this.#a.executor.compileQuery(this.toOperationNode(),this.#a.queryId)}async execute(a){let b=this.compile(),c=await this.#a.executor.executeQuery(b,a),{adapter:d}=this.#a.executor,e=b.query;return e.returning&&d.supportsReturning||e.output&&d.supportsOutput?c.rows:[new ak(c.numAffectedRows)]}async executeTakeFirst(a){let[b]=await this.execute(a);return b}async executeTakeFirstOrThrow(a){"function"==typeof a&&(a={errorConstructor:a});let b=await this.executeTakeFirst(a);if(void 0===b){let b=a?.errorConstructor??y.F;throw(0,y.x)(b)?new b(this.toOperationNode()):b(this.toOperationNode())}return b}}class an{#a;constructor(a){this.#a=(0,k.CN)(a)}thenDelete(){return new am({...this.#a,queryNode:ad.r.cloneWithThen(this.#a.queryNode,ai("delete"))})}thenDoNothing(){return new am({...this.#a,queryNode:ad.r.cloneWithThen(this.#a.queryNode,ai("do nothing"))})}thenUpdate(a){return new am({...this.#a,queryNode:ad.r.cloneWithThen(this.#a.queryNode,ai(a(new S({queryId:this.#a.queryId,executor:aj.W,queryNode:Q.U.createWithoutTable()}))))})}thenUpdateSet(...a){return this.thenUpdate(b=>b.set(...a))}}class ao{#a;constructor(a){this.#a=(0,k.CN)(a)}thenDoNothing(){return new am({...this.#a,queryNode:ad.r.cloneWithThen(this.#a.queryNode,ai("do nothing"))})}thenInsertValues(a){let[b,c]=q(a);return new am({...this.#a,queryNode:ad.r.cloneWithThen(this.#a.queryNode,ai(r.o.cloneWith(r.o.createWithoutInto(),{columns:b,values:c})))})}}class ap{#a;constructor(a){this.#a=(0,k.CN)(a)}selectFrom(a){return(0,f.c)({queryId:(0,ab.a)(),executor:this.#a.executor,queryNode:T.L.createFrom((0,K.JB)(a),this.#a.withNode)})}selectNoFrom(a){return(0,f.c)({queryId:(0,ab.a)(),executor:this.#a.executor,queryNode:T.L.cloneWithSelections(T.L.create(this.#a.withNode),(0,g.G)(a))})}insertInto(a){return new I({queryId:(0,ab.a)(),executor:this.#a.executor,queryNode:r.o.create((0,K.M$)(a),this.#a.withNode)})}replaceInto(a){return new I({queryId:(0,ab.a)(),executor:this.#a.executor,queryNode:r.o.create((0,K.M$)(a),this.#a.withNode,!0)})}deleteFrom(a){return new P({queryId:(0,ab.a)(),executor:this.#a.executor,queryNode:M.e.create((0,K.JB)(a),this.#a.withNode)})}updateTable(a){return new S({queryId:(0,ab.a)(),executor:this.#a.executor,queryNode:Q.U.create((0,K.JB)(a),this.#a.withNode)})}mergeInto(a){return new al({queryId:(0,ab.a)(),executor:this.#a.executor,queryNode:ad.r.create((0,K.Xm)(a),this.#a.withNode)})}with(a,b){let c=$(a,b);return new ap({...this.#a,withNode:this.#a.withNode?aa.cloneWithExpression(this.#a.withNode,c):aa.create(c)})}withRecursive(a,b){let c=$(a,b);return new ap({...this.#a,withNode:this.#a.withNode?aa.cloneWithExpression(this.#a.withNode,c):aa.create(c,{recursive:!0})})}withPlugin(a){return new ap({...this.#a,executor:this.#a.executor.withPlugin(a)})}withoutPlugins(){return new ap({...this.#a,executor:this.#a.executor.withoutPlugins()})}withSchema(a){return new ap({...this.#a,executor:this.#a.executor.withPluginAtFront(new ac.B(a))})}}},57061:(a,b,c)=>{"use strict";c.d(b,{Q:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"JSONReferenceNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"JSONReferenceNode",reference:a,traversal:b}),cloneWithTraversal:(a,b)=>(0,d.CN)({...a,traversal:b})})},57383:(a,b,c)=>{"use strict";c.d(b,{v:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"ListNode"===a.kind,create:a=>(0,d.CN)({kind:"ListNode",items:(0,d.CN)(a)})})},57511:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=c(33353),e=c(40839);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},57703:(a,b,c)=>{"use strict";c.d(b,{h:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"PrimitiveValueListNode"===a.kind,create:a=>(0,d.CN)({kind:"PrimitiveValueListNode",values:(0,d.CN)([...a])})})},57738:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Batcher",{enumerable:!0,get:function(){return e}});let d=c(48295);class e{constructor(a,b=a=>a()){this.cacheKeyFn=a,this.schedulerFn=b,this.pending=new Map}static create(a){return new e(null==a?void 0:a.cacheKeyFn,null==a?void 0:a.schedulerFn)}async batch(a,b){let c=this.cacheKeyFn?await this.cacheKeyFn(a):a;if(null===c)return b({resolve:a=>Promise.resolve(a),key:a});let e=this.pending.get(c);if(e)return e;let{promise:f,resolve:g,reject:h}=new d.DetachedPromise;return this.pending.set(c,f),this.schedulerFn(async()=>{try{let c=await b({resolve:g,key:a});g(c)}catch(a){h(a)}finally{this.pending.delete(c)}}),f}}},58526:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ACTION_HEADER:function(){return f},FLIGHT_HEADERS:function(){return p},NEXT_ACTION_NOT_FOUND_HEADER:function(){return w},NEXT_ACTION_REVALIDATED_HEADER:function(){return z},NEXT_DID_POSTPONE_HEADER:function(){return s},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return k},NEXT_HMR_REFRESH_HEADER:function(){return j},NEXT_HTML_REQUEST_ID_HEADER:function(){return y},NEXT_INSTANT_PREFETCH_HEADER:function(){return n},NEXT_INSTANT_TEST_COOKIE:function(){return o},NEXT_IS_PRERENDER_HEADER:function(){return v},NEXT_REQUEST_ID_HEADER:function(){return x},NEXT_REWRITTEN_PATH_HEADER:function(){return t},NEXT_REWRITTEN_QUERY_HEADER:function(){return u},NEXT_ROUTER_PREFETCH_HEADER:function(){return h},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return i},NEXT_ROUTER_STALE_TIME_HEADER:function(){return r},NEXT_ROUTER_STATE_TREE_HEADER:function(){return g},NEXT_RSC_UNION_QUERY:function(){return q},NEXT_URL:function(){return l},RSC_CONTENT_TYPE_HEADER:function(){return m},RSC_HEADER:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="rsc",f="next-action",g="next-router-state-tree",h="next-router-prefetch",i="next-router-segment-prefetch",j="next-hmr-refresh",k="__next_hmr_refresh_hash__",l="next-url",m="text/x-component",n="next-instant-navigation-testing-prefetch",o="next-instant-navigation-testing",p=[e,g,h,j,i],q="_rsc",r="x-nextjs-stale-time",s="x-nextjs-postponed",t="x-nextjs-rewritten-path",u="x-nextjs-rewritten-query",v="x-nextjs-prerender",w="x-nextjs-action-not-found",x="x-nextjs-request-id",y="x-nextjs-html-request-id",z="x-action-revalidated";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},58794:(a,b,c)=>{"use strict";c.d(b,{B:()=>f,o:()=>e});var d=c(14819);let e=["preserve rows","delete rows","drop"],f=(0,d.CN)({is:a=>"CreateTableNode"===a.kind,create:a=>(0,d.CN)({kind:"CreateTableNode",table:a,columns:(0,d.CN)([])}),cloneWithColumn:(a,b)=>(0,d.CN)({...a,columns:(0,d.CN)([...a.columns,b])}),cloneWithConstraint:(a,b)=>(0,d.CN)({...a,constraints:a.constraints?(0,d.CN)([...a.constraints,b]):(0,d.CN)([b])}),cloneWithIndex:(a,b)=>(0,d.CN)({...a,indexes:a.indexes?(0,d.CN)([...a.indexes,b]):(0,d.CN)([b])}),cloneWithFrontModifier:(a,b)=>(0,d.CN)({...a,frontModifiers:a.frontModifiers?(0,d.CN)([...a.frontModifiers,b]):(0,d.CN)([b])}),cloneWithEndModifier:(a,b)=>(0,d.CN)({...a,endModifiers:a.endModifiers?(0,d.CN)([...a.endModifiers,b]):(0,d.CN)([b])}),cloneWith:(a,b)=>(0,d.CN)({...a,...b})})},59047:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isDynamicRoute",{enumerable:!0,get:function(){return g}});let d=c(20182),e=/\/[^/]*\[[^/]+\][^/]*(?=\/|$)/,f=/\/\[[^/]+\](?=\/|$)/;function g(a,b=!0){return((0,d.isInterceptionRouteAppPath)(a)&&(a=(0,d.extractInterceptionRouteInformation)(a).interceptedRoute),b)?f.test(a):e.test(a)}},60014:(a,b,c)=>{"use strict";c.d(b,{l:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"BinaryOperationNode"===a.kind,create:(a,b,c)=>(0,d.CN)({kind:"BinaryOperationNode",leftOperand:a,operator:b,rightOperand:c})})},60131:(a,b,c)=>{"use strict";c.d(b,{GQ:()=>u,EQ:()=>v,bl:()=>t});var d=c(48009),e=c(14819),f=c(14925);let g=(0,e.CN)({is:a=>"PartitionByNode"===a.kind,create:a=>(0,e.CN)({kind:"PartitionByNode",items:(0,e.CN)(a)}),cloneWithItems:(a,b)=>(0,e.CN)({...a,items:(0,e.CN)([...a.items,...b])})}),h=(0,e.CN)({is:a=>"OverNode"===a.kind,create:()=>(0,e.CN)({kind:"OverNode"}),cloneWithOrderByItems:(a,b)=>(0,e.CN)({...a,orderBy:a.orderBy?f.O.cloneWithItems(a.orderBy,b):f.O.create(b)}),cloneWithPartitionByItems:(a,b)=>(0,e.CN)({...a,partitionBy:a.partitionBy?g.cloneWithItems(a.partitionBy,b):g.create(b)})});var i=c(14473),j=c(48082);class k{#a;constructor(a){this.#a=(0,e.CN)(a)}on(...a){return new k({...this.#a,joinNode:d.b.cloneWithOn(this.#a.joinNode,(0,j.GB)(a))})}onRef(a,b,c){return new k({...this.#a,joinNode:d.b.cloneWithOn(this.#a.joinNode,(0,j.vC)(a,b,c))})}onTrue(){return new k({...this.#a,joinNode:d.b.cloneWithOn(this.#a.joinNode,i.z.createWithSql("true"))})}$call(a){return a(this)}toOperationNode(){return this.#a.joinNode}}var l=c(46799),m=c(13934);let n=(0,e.CN)({is:a=>"PartitionByItemNode"===a.kind,create:a=>(0,e.CN)({kind:"PartitionByItemNode",partitionBy:a})});var o=c(92748);class p{#a;constructor(a){this.#a=(0,e.CN)(a)}orderBy(...a){return new p({overNode:h.cloneWithOrderByItems(this.#a.overNode,(0,m.xk)(a))})}clearOrderBy(){return new p({overNode:l.L.cloneWithoutOrderBy(this.#a.overNode)})}partitionBy(a){return new p({overNode:h.cloneWithPartitionByItems(this.#a.overNode,(0,o.kU)(a).map(n.create))})}$call(a){return a(this)}toOperationNode(){return this.#a.overNode}}var q=c(56426),r=c(62335),s=c(28213);function t(){return new q.n({executor:r.W})}function u(a,b){return new k({joinNode:d.b.create(a,(0,s.uJ)(b))})}function v(){return new p({overNode:h.create()})}},60358:(a,b,c)=>{"use strict";c.d(b,{s:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"AndNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"AndNode",left:a,right:b})})},60464:(a,b,c)=>{"use strict";c.d(b,{v:()=>o,o:()=>n});var d=c(37716),e=c(72638),f=c(78033),g=c(15189);class h{static [f.i]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(a,b){this.reference=()=>{let{name:b,columns:c,foreignColumns:d}=a();return{name:b,columns:c,foreignTable:d[0].table,foreignColumns:d}},b&&(this._onUpdate=b.onUpdate,this._onDelete=b.onDelete)}onUpdate(a){return this._onUpdate=a,this}onDelete(a){return this._onDelete=a,this}build(a){return new i(a,this)}}class i{constructor(a,b){this.table=a,this.reference=b.reference,this.onUpdate=b._onUpdate,this.onDelete=b._onDelete}static [f.i]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:a,columns:b,foreignColumns:c}=this.reference(),d=b.map(a=>a.name),e=c.map(a=>a.name),f=[this.table[g.E],...d,c[0].table[g.E],...e];return a??`${f.join("_")}_fk`}}function j(a,b){return`${a[g.E]}_${b.join("_")}_unique`}class k{constructor(a,b){this.name=b,this.columns=a}static [f.i]=null;columns;build(a){return new m(a,this.columns,this.name)}}class l{static [f.i]=null;name;constructor(a){this.name=a}on(...a){return new k(a,this.name)}}class m{constructor(a,b,c){this.table=a,this.columns=b,this.name=c??j(this.table,this.columns.map(a=>a.name))}static [f.i]=null;columns;name;getName(){return this.name}}class n extends d.Q{static [f.i]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(a,b={}){return this.foreignKeyConfigs.push({ref:a,actions:b}),this}unique(a){return this.config.isUnique=!0,this.config.uniqueName=a,this}generatedAlwaysAs(a,b){return this.config.generated={as:a,type:"always",mode:b?.mode??"virtual"},this}buildForeignKeys(a,b){return this.foreignKeyConfigs.map(({ref:c,actions:d})=>{let e;return e=new h(()=>({columns:[a],foreignColumns:[c()]})),d.onUpdate&&e.onUpdate(d.onUpdate),d.onDelete&&e.onDelete(d.onDelete),e.build(b)})}}class o extends e.V{constructor(a,b){b.uniqueName||(b.uniqueName=j(a,[b.name])),super(a,b),this.table=a}static [f.i]="SQLiteColumn"}},60579:(a,b,c)=>{"use strict";c.d(b,{I:()=>k});var d=c(77598),e=c(99209),f=c(96996),g=c(97420),h=c(94417);let i=new Set(["escalation","approval","needs-approval","block","blocked","security","deploy","error","alert","review","report","warn","warning","design-approval","design-pending","design-review"]);async function j(a,b){try{let c=b.kind??"info";if(!(!0===b.tg||!1!==b.tg&&i.has(c)))return;let[d]=await f.db.select({orgId:g.workspace.orgId}).from(g.workspace).where((0,e.eq)(g.workspace.id,a));if(!d)return;let[j]=await f.db.select({ownerId:g.organization.ownerId}).from(g.organization).where((0,e.eq)(g.organization.id,d.orgId));if(!j)return;let[k]=await f.db.select().from(g.notificationPref).where((0,e.eq)(g.notificationPref.userId,j.ownerId));if(k&&!1===k.telegram)return;let l=await (0,h._9)(a);if(!l)return;let m=c.replace(/[-_]/g," ").toUpperCase(),n=`đ ${m}
|
|
424
|
+
${d.map(a=>`- ${a.name}: ${a.description}`).join("\n")}`:""].filter(Boolean).join("\n")}let n=".claude/design-gate.json";function o(a){let b=(0,d.sL)(a,n);if(!b)return{};try{return JSON.parse(b)||{}}catch{return{}}}function p(a,b){try{(0,d.dx)(a,n,JSON.stringify(b,null,2))}catch{}}function q(a){p(a,{skip:!1})}let r=".claude/design-promoted.json";function s(a){let b=(0,d.sL)(a,r);if(!b)return{};try{return JSON.parse(b)||{}}catch{return{}}}function t(a,b){try{(0,d.dx)(a,r,JSON.stringify(b,null,2))}catch{}}function u(a){let b=a.designMockFiles.some(a=>/design-mock\/screens\/.+\.html?$/i.test(a));return!a.approved&&!b}let v=/\b(tela|telas|screen|screens|p[ÃĄa]gina|pagina|page|pages|web|webapp|web-?app|website|site|app|apps|aplicativo|aplica[çc][ÃŖa]o|spa|single-?page|pwa|ui|ux|interface|frontend|front-?end|layout|component|componente|design|visual|dashboard|form|formul[ÃĄa]rio|formulario|bot[ÃŖa]o|botao|button|modal|menu|nav|navbar|sidebar|card|landing|hero|gallery|galeria|theme|tema|palette|paleta|typography|tipografia|style|estilo|css|html|responsive|responsiv[oa]|mobile|desktop|tablet|anima[çc][ÃŖa]o|animation|microintera[çc][Ãĩo]es|wizard|onboarding|checkout|perfil|profile|settings|configura[çc][Ãĩo]es|view|views|render)\b/i;function w(a){return!!a&&v.test(a)}let x=/\b(api|rest|restful|graphql|grpc|cli|command[\s-]?line|terminal|backend|back-?end|micro-?service|microservices|service|library|\bsdk\b|daemon|cron|scheduler|pipeline|etl|database|\bdb\b|infra|infrastructure|devops|webhook|message[\s-]?queue|\bqueue\b|worker|scraper|crawler|\bbot\b|middleware|server[\s-]?side|protocol|compiler|parser|scraping)\b/i;function y(a){return!!a&&x.test(a)&&!w(a)}},33353:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={HTTPAccessErrorStatus:function(){return e},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return g},getAccessFallbackErrorTypeByStatus:function(){return j},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},f=new Set(Object.values(e)),g="NEXT_HTTP_ERROR_FALLBACK";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===g&&f.has(Number(c))}function i(a){return Number(a.digest.split(";")[1])}function j(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},33907:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getSortedRouteObjects:function(){return g},getSortedRoutes:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});class e{insert(a){this._insert(a.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(a="/"){let b=[...this.children.keys()].sort();null!==this.slugName&&b.splice(b.indexOf("[]"),1),null!==this.restSlugName&&b.splice(b.indexOf("[...]"),1),null!==this.optionalRestSlugName&&b.splice(b.indexOf("[[...]]"),1);let c=b.map(b=>this.children.get(b)._smoosh(`${a}${b}/`)).reduce((a,b)=>[...a,...b],[]);if(null!==this.slugName&&c.push(...this.children.get("[]")._smoosh(`${a}[${this.slugName}]/`)),!this.placeholder){let b="/"===a?"/":a.slice(0,-1);if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error(`You cannot define a route with the same specificity as a optional catch-all route ("${b}" and "${b}[[...${this.optionalRestSlugName}]]").`),"__NEXT_ERROR_CODE",{value:"E458",enumerable:!1,configurable:!0});c.unshift(b)}return null!==this.restSlugName&&c.push(...this.children.get("[...]")._smoosh(`${a}[...${this.restSlugName}]/`)),null!==this.optionalRestSlugName&&c.push(...this.children.get("[[...]]")._smoosh(`${a}[[...${this.optionalRestSlugName}]]/`)),c}_insert(a,b,c){if(0===a.length){this.placeholder=!1;return}if(c)throw Object.defineProperty(Error("Catch-all must be the last part of the URL."),"__NEXT_ERROR_CODE",{value:"E392",enumerable:!1,configurable:!0});let d=a[0];if(d.startsWith("[")&&d.endsWith("]")){let e=d.slice(1,-1),g=!1;if(e.startsWith("[")&&e.endsWith("]")&&(e=e.slice(1,-1),g=!0),e.startsWith("âĻ"))throw Object.defineProperty(Error(`Detected a three-dot character ('âĻ') at ('${e}'). Did you mean ('...')?`),"__NEXT_ERROR_CODE",{value:"E147",enumerable:!1,configurable:!0});if(e.startsWith("...")&&(e=e.substring(3),c=!0),e.startsWith("[")||e.endsWith("]"))throw Object.defineProperty(Error(`Segment names may not start or end with extra brackets ('${e}').`),"__NEXT_ERROR_CODE",{value:"E421",enumerable:!1,configurable:!0});if(e.startsWith("."))throw Object.defineProperty(Error(`Segment names may not start with erroneous periods ('${e}').`),"__NEXT_ERROR_CODE",{value:"E288",enumerable:!1,configurable:!0});function f(a,c){if(null!==a&&a!==c)throw Object.defineProperty(Error(`You cannot use different slug names for the same dynamic path ('${a}' !== '${c}').`),"__NEXT_ERROR_CODE",{value:"E337",enumerable:!1,configurable:!0});b.forEach(a=>{if(a===c)throw Object.defineProperty(Error(`You cannot have the same slug name "${c}" repeat within a single dynamic path`),"__NEXT_ERROR_CODE",{value:"E247",enumerable:!1,configurable:!0});if(a.replace(/\W/g,"")===d.replace(/\W/g,""))throw Object.defineProperty(Error(`You cannot have the slug names "${a}" and "${c}" differ only by non-word symbols within a single dynamic path`),"__NEXT_ERROR_CODE",{value:"E499",enumerable:!1,configurable:!0})}),b.push(c)}if(c)if(g){if(null!=this.restSlugName)throw Object.defineProperty(Error(`You cannot use both an required and optional catch-all route at the same level ("[...${this.restSlugName}]" and "${a[0]}" ).`),"__NEXT_ERROR_CODE",{value:"E299",enumerable:!1,configurable:!0});f(this.optionalRestSlugName,e),this.optionalRestSlugName=e,d="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error(`You cannot use both an optional and required catch-all route at the same level ("[[...${this.optionalRestSlugName}]]" and "${a[0]}").`),"__NEXT_ERROR_CODE",{value:"E300",enumerable:!1,configurable:!0});f(this.restSlugName,e),this.restSlugName=e,d="[...]"}else{if(g)throw Object.defineProperty(Error(`Optional route parameters are not yet supported ("${a[0]}").`),"__NEXT_ERROR_CODE",{value:"E435",enumerable:!1,configurable:!0});f(this.slugName,e),this.slugName=e,d="[]"}}this.children.has(d)||this.children.set(d,new e),this.children.get(d)._insert(a.slice(1),b,c)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function f(a){let b=new e;return a.forEach(a=>b.insert(a)),b.smoosh()}function g(a,b){let c={},d=[];for(let e=0;e<a.length;e++){let f=b(a[e]);c[f]=e,d[e]=f}return f(d).map(b=>a[c[b]])}},34032:(a,b,c)=>{"use strict";c.d(b,{N:()=>e});var d=c(14819);function e(a){return(0,d.Gv)(a)&&(0,d.Tn)(a.toOperationNode)}},34273:(a,b,c)=>{"use strict";c.d(b,{Y:()=>f});var d=c(14819),e=c(4155);let f=(0,d.CN)({is:a=>"CreateViewNode"===a.kind,create:a=>(0,d.CN)({kind:"CreateViewNode",name:e.y.create(a)}),cloneWith:(a,b)=>(0,d.CN)({...a,...b})})},34721:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ActionDidNotRevalidate:function(){return e},ActionDidRevalidateDynamicOnly:function(){return g},ActionDidRevalidateStaticAndDynamic:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=0,f=1,g=2},35334:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"InvariantError",{enumerable:!0,get:function(){return c}});class c extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},35395:(a,b,c)=>{"use strict";c.d(b,{nd:()=>p});var d=c(78033),e=c(86253),f=c(2471),g=c(60464);class h extends g.o{static [d.i]="SQLiteBaseIntegerBuilder";constructor(a,b,c){super(a,b,c),this.config.autoIncrement=!1}primaryKey(a){return a?.autoIncrement&&(this.config.autoIncrement=!0),this.config.hasDefault=!0,super.primaryKey()}}class i extends g.v{static [d.i]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class j extends h{static [d.i]="SQLiteIntegerBuilder";constructor(a){super(a,"number","SQLiteInteger")}build(a){return new k(a,this.config)}}class k extends i{static [d.i]="SQLiteInteger"}class l extends h{static [d.i]="SQLiteTimestampBuilder";constructor(a,b){super(a,"date","SQLiteTimestamp"),this.config.mode=b}defaultNow(){return this.default((0,e.ll)`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(a){return new m(a,this.config)}}class m extends i{static [d.i]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(a){return new Date("timestamp"===this.config.mode?1e3*a:a)}mapToDriverValue(a){let b=a.getTime();return"timestamp"===this.config.mode?Math.floor(b/1e3):b}}class n extends h{static [d.i]="SQLiteBooleanBuilder";constructor(a,b){super(a,"boolean","SQLiteBoolean"),this.config.mode=b}build(a){return new o(a,this.config)}}class o extends i{static [d.i]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(a){return 1===Number(a)}mapToDriverValue(a){return+!!a}}function p(a,b){let{name:c,config:d}=(0,f.Ll)(a,b);return d?.mode==="timestamp"||d?.mode==="timestamp_ms"?new l(c,d.mode):d?.mode==="boolean"?new n(c,d.mode):new j(c)}},36928:(a,b)=>{"use strict";function c(a){return a.startsWith("/")?a:`/${a}`}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ensureLeadingSlash",{enumerable:!0,get:function(){return c}})},37716:(a,b,c)=>{"use strict";c.d(b,{Q:()=>e});var d=c(78033);class e{static [d.i]="ColumnBuilder";config;constructor(a,b,c){this.config={name:a,keyAsName:""===a,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:b,columnType:c,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(a){return this.config.default=a,this.config.hasDefault=!0,this}$defaultFn(a){return this.config.defaultFn=a,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(a){return this.config.onUpdateFn=a,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(a){""===this.config.name&&(this.config.name=a)}}},37961:(a,b,c)=>{"use strict";c.d(b,{SS:()=>j,YK:()=>h,v0:()=>i});var d=c(39810),e=c(34032),f=c(84982),g=c(14819);function h(a){if((0,e.N)(a))return a.toOperationNode();if((0,g.Tn)(a))return a((0,f.A)()).toOperationNode();throw Error(`invalid expression: ${JSON.stringify(a)}`)}function i(a){if((0,e.N)(a))return a.toOperationNode();if((0,g.Tn)(a))return a((0,f.A)()).toOperationNode();throw Error(`invalid aliased expression: ${JSON.stringify(a)}`)}function j(a){return(0,d.B)(a)||(0,d.q)(a)||(0,g.Tn)(a)}},38650:(a,b,c)=>{"use strict";c.d(b,{q:()=>f});var d=c(22525),e=c(14819);let f=(0,e.CN)({is:a=>"ReferenceNode"===a.kind,create:(a,b)=>(0,e.CN)({kind:"ReferenceNode",table:b,column:a}),createSelectAll:a=>(0,e.CN)({kind:"ReferenceNode",table:a,column:d.U.create()})})},39328:(a,b,c)=>{let d;d={unstable_cache:c(52531).e,updateTag:c(15411).updateTag,revalidateTag:c(15411).revalidateTag,revalidatePath:c(15411).revalidatePath,refresh:c(15411).refresh,unstable_noStore:c(41450).M,cacheLife:c(72645).F,cacheTag:c(33077).z};let e=!1,f=!1;d.unstable_cacheLife=function(){return e||(e=!0,console.error(Error("`unstable_cacheLife` was recently stabilized and should be imported as `cacheLife`. The `unstable` prefixed form will be removed in a future version of Next.js."))),d.cacheLife.apply(this,arguments)},d.unstable_cacheTag=function(){return f||(f=!0,console.error(Error("`unstable_cacheTag` was recently stabilized and should be imported as `cacheTag`. The `unstable` prefixed form will be removed in a future version of Next.js."))),d.cacheTag.apply(this,arguments)},a.exports=d,b.unstable_cache=d.unstable_cache,b.revalidatePath=d.revalidatePath,b.revalidateTag=d.revalidateTag,b.updateTag=d.updateTag,b.unstable_noStore=d.unstable_noStore,b.cacheLife=d.cacheLife,b.unstable_cacheLife=d.unstable_cacheLife,b.cacheTag=d.cacheTag,b.unstable_cacheTag=d.unstable_cacheTag,b.refresh=d.refresh},39810:(a,b,c)=>{"use strict";c.d(b,{B:()=>f,q:()=>g});var d=c(34032),e=c(14819);function f(a){return(0,e.Gv)(a)&&"expressionType"in a&&(0,d.N)(a)}function g(a){return(0,e.Gv)(a)&&"expression"in a&&(0,e.Kg)(a.alias)&&(0,d.N)(a)}},39837:(a,b,c)=>{"use strict";c.d(b,{$l:()=>e,LG:()=>f});var d=c(23235),e=class extends Error{constructor(a,b){super(a,b),this.name="BetterAuthError",this.message=a,this.stack=""}},f=class a extends d.LG{constructor(...a){super(...a)}static fromStatus(b,c){return new a(b,c)}static from(b,c){return new a(b,{message:c.message,code:c.code})}}},40579:(a,b)=>{"use strict";function c(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isThenable",{enumerable:!0,get:function(){return c}})},40839:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(60905),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},41396:(a,b,c)=>{let d=+(process.versions?process.versions.node:"").split(".")[0]||0;a.exports=function(a,b){var e=c(74075);let f=d>=15&&b>0?{maxOutputLength:b}:{};return{inflate:function(){return e.inflateRawSync(a,f)},inflateAsync:function(b){var c=e.createInflateRaw(f),d=[],g=0;c.on("data",function(a){d.push(a),g+=a.length}),c.on("end",function(){var a=Buffer.alloc(g),c=0;a.fill(0);for(var e=0;e<d.length;e++){var f=d[e];f.copy(a,c),c+=f.length}b&&b(a)}),c.end(a)}}}},41420:(a,b)=>{"use strict";function c(a){let b=a.indexOf("#"),c=a.indexOf("?"),d=c>-1&&(b<0||c<b);return d||b>-1?{pathname:a.substring(0,d?c:b),query:d?a.substring(c,b>-1?b:void 0):"",hash:b>-1?a.slice(b):""}:{pathname:a,query:"",hash:""}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parsePath",{enumerable:!0,get:function(){return c}})},41450:(a,b,c)=>{"use strict";Object.defineProperty(b,"M",{enumerable:!0,get:function(){return g}});let d=c(29294),e=c(63033),f=c(89944);function g(){let a=d.workAsyncStorage.getStore(),b=e.workUnitAsyncStorage.getStore();if(a){if(!a.forceStatic){if(a.isUnstableNoStore=!0,b)switch(b.type){case"prerender":case"prerender-client":case"validation-client":case"prerender-runtime":return}(0,f.markCurrentScopeAsDynamic)(a,b,"unstable_noStore()")}}}},41893:(a,b,c)=>{"use strict";a.exports=c(67165).vendored["react-rsc"].React},42253:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={INTERNALS:function(){return j},NextRequest:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(55229),g=c(92893),h=c(2028),i=c(42635),j=Symbol("internal request");class k extends Request{constructor(a,b={}){const c="string"!=typeof a&&"url"in a?a.url:String(a);(0,g.validateURL)(c),b.body&&"half"!==b.duplex&&(b.duplex="half"),a instanceof Request?super(a,b):super(c,b);const d=new f.NextURL(c,{headers:(0,g.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:b.nextConfig});this[j]={cookies:new i.RequestCookies(this.headers),nextUrl:d,url:d.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[j].cookies}get nextUrl(){return this[j].nextUrl}get page(){throw new h.RemovedPageError}get ua(){throw new h.RemovedUAError}get url(){return this[j].url}}},42635:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={RequestCookies:function(){return f.RequestCookies},ResponseCookies:function(){return f.ResponseCookies},stringifyCookie:function(){return f.stringifyCookie}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(1540)},42688:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e,f,g,h,i,j,k,l,m,n,o={AppRenderSpan:function(){return w},AppRouteRouteHandlersSpan:function(){return z},BaseServerSpan:function(){return q},LoadComponentsSpan:function(){return r},LogSpanAllowList:function(){return D},MiddlewareSpan:function(){return B},NextNodeServerSpan:function(){return t},NextServerSpan:function(){return s},NextVanillaSpanAllowlist:function(){return C},NodeSpan:function(){return y},RenderSpan:function(){return v},ResolveMetadataSpan:function(){return A},RouterSpan:function(){return x},StartServerSpan:function(){return u}};for(var p in o)Object.defineProperty(b,p,{enumerable:!0,get:o[p]});var q=((c=q||{}).handleRequest="BaseServer.handleRequest",c.run="BaseServer.run",c.pipe="BaseServer.pipe",c.getStaticHTML="BaseServer.getStaticHTML",c.render="BaseServer.render",c.renderToResponseWithComponents="BaseServer.renderToResponseWithComponents",c.renderToResponse="BaseServer.renderToResponse",c.renderToHTML="BaseServer.renderToHTML",c.renderError="BaseServer.renderError",c.renderErrorToResponse="BaseServer.renderErrorToResponse",c.renderErrorToHTML="BaseServer.renderErrorToHTML",c.render404="BaseServer.render404",c),r=((d=r||{}).loadDefaultErrorComponents="LoadComponents.loadDefaultErrorComponents",d.loadComponents="LoadComponents.loadComponents",d),s=((e=s||{}).getRequestHandler="NextServer.getRequestHandler",e.getRequestHandlerWithMetadata="NextServer.getRequestHandlerWithMetadata",e.getServer="NextServer.getServer",e.getServerRequestHandler="NextServer.getServerRequestHandler",e.createServer="createServer.createServer",e),t=((f=t||{}).compression="NextNodeServer.compression",f.getBuildId="NextNodeServer.getBuildId",f.createComponentTree="NextNodeServer.createComponentTree",f.clientComponentLoading="NextNodeServer.clientComponentLoading",f.getLayoutOrPageModule="NextNodeServer.getLayoutOrPageModule",f.generateStaticRoutes="NextNodeServer.generateStaticRoutes",f.generateFsStaticRoutes="NextNodeServer.generateFsStaticRoutes",f.generatePublicRoutes="NextNodeServer.generatePublicRoutes",f.generateImageRoutes="NextNodeServer.generateImageRoutes.route",f.sendRenderResult="NextNodeServer.sendRenderResult",f.proxyRequest="NextNodeServer.proxyRequest",f.runApi="NextNodeServer.runApi",f.render="NextNodeServer.render",f.renderHTML="NextNodeServer.renderHTML",f.imageOptimizer="NextNodeServer.imageOptimizer",f.getPagePath="NextNodeServer.getPagePath",f.getRoutesManifest="NextNodeServer.getRoutesManifest",f.findPageComponents="NextNodeServer.findPageComponents",f.getFontManifest="NextNodeServer.getFontManifest",f.getServerComponentManifest="NextNodeServer.getServerComponentManifest",f.getRequestHandler="NextNodeServer.getRequestHandler",f.renderToHTML="NextNodeServer.renderToHTML",f.renderError="NextNodeServer.renderError",f.renderErrorToHTML="NextNodeServer.renderErrorToHTML",f.render404="NextNodeServer.render404",f.startResponse="NextNodeServer.startResponse",f.route="route",f.onProxyReq="onProxyReq",f.apiResolver="apiResolver",f.internalFetch="internalFetch",f),u=((g=u||{}).startServer="startServer.startServer",g),v=((h=v||{}).getServerSideProps="Render.getServerSideProps",h.getStaticProps="Render.getStaticProps",h.renderToString="Render.renderToString",h.renderDocument="Render.renderDocument",h.createBodyResult="Render.createBodyResult",h),w=((i=w||{}).renderToString="AppRender.renderToString",i.renderToReadableStream="AppRender.renderToReadableStream",i.getBodyResult="AppRender.getBodyResult",i.fetch="AppRender.fetch",i),x=((j=x||{}).executeRoute="Router.executeRoute",j),y=((k=y||{}).runHandler="Node.runHandler",k),z=((l=z||{}).runHandler="AppRouteRouteHandlers.runHandler",l),A=((m=A||{}).generateMetadata="ResolveMetadata.generateMetadata",m.generateViewport="ResolveMetadata.generateViewport",m),B=((n=B||{}).execute="Middleware.execute",n);let C=new Set(["Middleware.execute","BaseServer.handleRequest","Render.getServerSideProps","Render.getStaticProps","AppRender.fetch","AppRender.getBodyResult","Render.renderDocument","Node.runHandler","AppRouteRouteHandlers.runHandler","ResolveMetadata.generateMetadata","ResolveMetadata.generateViewport","NextNodeServer.createComponentTree","NextNodeServer.findPageComponents","NextNodeServer.getLayoutOrPageModule","NextNodeServer.startResponse","NextNodeServer.clientComponentLoading"]),D=new Set(["NextNodeServer.findPageComponents","NextNodeServer.createComponentTree","NextNodeServer.clientComponentLoading"])},42906:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"INSTANT_VALIDATION_BOUNDARY_NAME",{enumerable:!0,get:function(){return c}});let c="__next_instant_validation_boundary__"},43139:(a,b,c)=>{"use strict";c.d(b,{i:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"SetOperationNode"===a.kind,create:(a,b,c)=>(0,d.CN)({kind:"SetOperationNode",operator:a,expression:b,all:c})})},43537:(a,b,c)=>{"use strict";c.d(b,{$:()=>e});var d=c(21358);let e=a=>(0,d.q)("a-z","A-Z","0-9")(a||32)},43699:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b))??1;if(d<=0)throw Object.defineProperty(Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`),"__NEXT_ERROR_CODE",{value:"E1045",enumerable:!1,configurable:!0});if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},44033:(a,b,c)=>{"use strict";let{randomFillSync:d}=c(55511),e=c(99926),f=new Uint32Array(256).map((a,b)=>{for(let a=0;a<8;a++)0!=(1&b)?b=b>>>1^0xedb88320:b>>>=1;return b>>>0}),g=(a,b)=>Math.imul(a,b)>>>0,h=(a,b)=>f[(a^b)&255]^a>>>8,i=()=>"function"==typeof d?d(Buffer.alloc(12)):i.node();i.node=()=>{let a=Buffer.alloc(12),b=a.length;for(let c=0;c<b;c++)a[c]=256*Math.random()&255;return a};let j={genSalt:i};function k(a){let b=Buffer.isBuffer(a)?a:Buffer.from(a);this.keys=new Uint32Array([0x12345678,0x23456789,0x34567890]);for(let a=0;a<b.length;a++)this.updateKeys(b[a])}k.prototype.updateKeys=function(a){let b=this.keys;return b[0]=h(b[0],a),b[1]+=255&b[0],b[1]=g(b[1],0x8088405)+1,b[2]=h(b[2],b[1]>>>24),a},k.prototype.next=function(){let a=(2|this.keys[2])>>>0;return g(a,1^a)>>8&255},a.exports={decrypt:function(a,b,c){let d;if(!a||!Buffer.isBuffer(a)||a.length<12)return Buffer.alloc(0);let f=(d=new k(c),function(a){let b=Buffer.alloc(a.length),c=0;for(let e of a)b[c++]=d.updateKeys(e^d.next());return b}),g=f(a.slice(0,12)),h=(8&b.flags)==8?b.timeHighByte:b.crc>>>24;if(g[11]!==h)throw e.WRONG_PASSWORD();return f(a.slice(12))},encrypt:function(a,b,c,d=!1){let e;null==a&&(a=Buffer.alloc(0)),Buffer.isBuffer(a)||(a=Buffer.from(a.toString()));let f=(e=new k(c),function(a,b,c=0){for(let d of(b||(b=Buffer.alloc(a.length)),a)){let a=e.next();b[c++]=d^a,e.updateKeys(d)}return b}),g=j.genSalt();g[11]=b.crc>>>24&255,d&&(g[10]=b.crc>>>16&255);let h=Buffer.alloc(a.length+12);return f(g,h),f(a,h,12)},_salter:function(a){Buffer.isBuffer(a)&&a.length>=12?j.genSalt=function(){return a.slice(0,12)}:"node"===a?j.genSalt=i.node:j.genSalt=i}}},44252:(a,b,c)=>{"use strict";c.d(b,{HE:()=>k,Io:()=>o,Lf:()=>p,XI:()=>n,e:()=>g});var d=c(78033),e=c(15189);let f=Symbol.for("drizzle:Schema"),g=Symbol.for("drizzle:Columns"),h=Symbol.for("drizzle:ExtraConfigColumns"),i=Symbol.for("drizzle:OriginalName"),j=Symbol.for("drizzle:BaseName"),k=Symbol.for("drizzle:IsAlias"),l=Symbol.for("drizzle:ExtraConfigBuilder"),m=Symbol.for("drizzle:IsDrizzleTable");class n{static [d.i]="Table";static Symbol={Name:e.E,Schema:f,OriginalName:i,Columns:g,ExtraConfigColumns:h,BaseName:j,IsAlias:k,ExtraConfigBuilder:l};[e.E];[i];[f];[g];[h];[j];[k]=!1;[m]=!0;[l]=void 0;constructor(a,b,c){this[e.E]=this[i]=a,this[f]=b,this[j]=c}}function o(a){return a[e.E]}function p(a){return`${a[f]??"public"}.${a[e.E]}`}},44283:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={isNodeNextRequest:function(){return g},isNodeNextResponse:function(){return h},isWebNextRequest:function(){return e},isWebNextResponse:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>!1,f=a=>!1,g=a=>!0,h=a=>!0},45497:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e={CachedRouteKind:function(){return g},IncrementalCacheKind:function(){return h}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});var g=((c={}).APP_PAGE="APP_PAGE",c.APP_ROUTE="APP_ROUTE",c.PAGES="PAGES",c.FETCH="FETCH",c.REDIRECT="REDIRECT",c.IMAGE="IMAGE",c),h=((d={}).APP_PAGE="APP_PAGE",d.APP_ROUTE="APP_ROUTE",d.PAGES="PAGES",d.FETCH="FETCH",d.IMAGE="IMAGE",d)},46488:(a,b,c)=>{"use strict";c.d(b,{Hl:()=>k,JJ:()=>h,gx:()=>l,u8:()=>f,wp:()=>j,x:()=>i});var d=c(97587),e=c(14819);function f(a="ignore query",b,c){if("ignore query"!==a){if("cancel query"===a){let c=b.cancelQuery;return c||g(a,b.killSession?"kill session":void 0),c.bind(b)}if("kill session"===a){let c=b.killSession;return c||g(a,b.cancelQuery?"cancel query":void 0),c.bind(b)}throw c(),Error(`Unexpected \`inflightQueryAbortStrategy\`: "${a}"`)}}function g(a,b){throw Error(`This dialect doesn't support \`inflightQueryAbortStrategy\` "${a}". Use "ignore query"${b?` or "${b}"`:""} instead.`)}function h(a,b,c){a?.aborted&&(c?.(),i(a.reason,b))}function i(a,b){var c,d;throw c=a,d=b,null===c||"object"!=typeof c||Object.isFrozen(c)||Object.defineProperty(c,"__kysely_timing__",{configurable:!0,enumerable:!1,value:d,writable:!1}),a}let j={};async function k(a,b,c,e){if(!b)return a;h(b,`before ${c}`,e);let{promise:f,resolve:g}=new d.c,k=()=>g(j);b.addEventListener("abort",k);try{h(b,`before ${c}`,e);let d=await Promise.race([a,f]);if(d!==j)return d;e?.(),i(b.reason,`during ${c}`)}finally{b.removeEventListener("abort",k),g(j)}}function l(a){return b=>console.error(`\`${a}\` failed in the background after abortion: ${(0,e.I4)(b)}`)}},46589:(a,b,c)=>{"use strict";c.d(b,{Z:()=>f});var d=c(14819),e=c(74524);let f=(0,d.CN)({is:a=>"ColumnNode"===a.kind,create:a=>(0,d.CN)({kind:"ColumnNode",column:e.O.create(a)})})},46799:(a,b,c)=>{"use strict";c.d(b,{L:()=>o});var d=c(26219),e=c(70412),f=c(65695),g=c(47537),h=c(84932),i=c(14819);let j=(0,i.CN)({is:a=>"ReturningNode"===a.kind,create:a=>(0,i.CN)({kind:"ReturningNode",selections:(0,i.CN)(a)}),cloneWithSelections:(a,b)=>(0,i.CN)({...a,selections:a.selections?(0,i.CN)([...a.selections,...b]):(0,i.CN)(b)})}),k=(0,i.CN)({is:a=>"ExplainNode"===a.kind,create:(a,b)=>(0,i.CN)({kind:"ExplainNode",format:a,options:b})});var l=c(97662);let m=(0,i.CN)({is:a=>"OutputNode"===a.kind,create:a=>(0,i.CN)({kind:"OutputNode",selections:(0,i.CN)(a)}),cloneWithSelections:(a,b)=>(0,i.CN)({...a,selections:a.selections?(0,i.CN)([...a.selections,...b]):(0,i.CN)(b)})});var n=c(14925);let o=(0,i.CN)({is:a=>e.L.is(a)||d.o.is(a)||f.U.is(a)||g.e.is(a)||l.r.is(a),cloneWithEndModifier:(a,b)=>(0,i.CN)({...a,endModifiers:a.endModifiers?(0,i.CN)([...a.endModifiers,b]):(0,i.CN)([b])}),cloneWithWhere:(a,b)=>(0,i.CN)({...a,where:a.where?h.o.cloneWithOperation(a.where,"And",b):h.o.create(b)}),cloneWithJoin:(a,b)=>(0,i.CN)({...a,joins:a.joins?(0,i.CN)([...a.joins,b]):(0,i.CN)([b])}),cloneWithReturning:(a,b)=>(0,i.CN)({...a,returning:a.returning?j.cloneWithSelections(a.returning,b):j.create(b)}),cloneWithoutReturning:a=>(0,i.CN)({...a,returning:void 0}),cloneWithoutWhere:a=>(0,i.CN)({...a,where:void 0}),cloneWithExplain:(a,b,c)=>(0,i.CN)({...a,explain:k.create(b,c?.toOperationNode())}),cloneWithTop:(a,b)=>(0,i.CN)({...a,top:b}),cloneWithOutput:(a,b)=>(0,i.CN)({...a,output:a.output?m.cloneWithSelections(a.output,b):m.create(b)}),cloneWithOrderByItems:(a,b)=>(0,i.CN)({...a,orderBy:a.orderBy?n.O.cloneWithItems(a.orderBy,b):n.O.create(b)}),cloneWithoutOrderBy:a=>(0,i.CN)({...a,orderBy:void 0})})},47537:(a,b,c)=>{"use strict";c.d(b,{e:()=>h});var d=c(14819),e=c(30479),f=c(547),g=c(46799);let h=(0,d.CN)({is:a=>"DeleteQueryNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"DeleteQueryNode",from:e.N.create(a),...b&&{with:b}}),cloneWithOrderByItems:(a,b)=>g.L.cloneWithOrderByItems(a,b),cloneWithoutOrderBy:a=>g.L.cloneWithoutOrderBy(a),cloneWithLimit:(a,b)=>(0,d.CN)({...a,limit:b}),cloneWithoutLimit:a=>(0,d.CN)({...a,limit:void 0}),cloneWithUsing:(a,b)=>(0,d.CN)({...a,using:void 0!==a.using?f.f.cloneWithTables(a.using,b):f.f.create(b)})})},47620:(a,b,c)=>{"use strict";c.d(b,{y:()=>f});var d=c(5075),e=c(72560);let f=({schema:a,usePlural:b})=>{let c=(0,d.G)({schema:a,usePlural:b}),f=(0,e.z)({schema:a,usePlural:b});return function({model:b,field:d}){let e=c(b),g=f({model:e,field:d});return a[e]?.fields[g]?.fieldName||g}}},47942:(a,b,c)=>{let d=c(11081),e=c(33873),f=c(71015),g=c(8911),h=(...a)=>d.findLast(a,a=>"boolean"==typeof a),i=(...a)=>d.findLast(a,a=>"string"==typeof a),j={noSort:!1,readEntries:!1,method:d.Constants.NONE,fs:null};a.exports=function(a,b){let c=null,k=Object.assign(Object.create(null),j);a&&"object"==typeof a&&(a instanceof Uint8Array||(Object.assign(k,a),a=k.input?k.input:void 0,k.input&&delete k.input),Buffer.isBuffer(a)&&(c=a,k.method=d.Constants.BUFFER,a=void 0)),Object.assign(k,b);let l=new d(k);if(("object"!=typeof k.decoder||"function"!=typeof k.decoder.encode||"function"!=typeof k.decoder.decode)&&(k.decoder=d.decoder),a&&"string"==typeof a)if(l.fs.existsSync(a))k.method=d.Constants.FILE,k.filename=a,c=l.fs.readFileSync(a);else throw d.Errors.INVALID_FILENAME();let m=new g(c,k),{canonical:n,sanitize:o,zipnamefix:p}=d;function q(a){if(a&&m){var b;if("string"==typeof a&&(b=m.getEntry(e.posix.normalize(a))),"object"==typeof a&&void 0!==a.entryName&&void 0!==a.header&&(b=m.getEntry(a.entryName)),b)return b}return null}function r(a){let{join:b,normalize:c,sep:d}=e.posix;return b(e.isAbsolute(a)?"/":".",c(d+a.split("\\").join(d)+d))}function s(a){if(a instanceof RegExp)return function(b){return a.test(b)};return"function"!=typeof a?()=>!0:a}let t=(a,b)=>{let c=b.slice(-1);return c=c===l.sep?l.sep:"",e.relative(a,b)+c};return{readFile:function(a,b){var c=q(a);return c&&c.getData(b)||null},childCount:function(a){let b=q(a);if(b)return m.getChildCount(b)},readFileAsync:function(a,b){var c=q(a);c?c.getDataAsync(b):b(null,"getEntry failed for:"+a)},readAsText:function(a,b){var c=q(a);if(c){var d=c.getData();if(d&&d.length)return d.toString(b||"utf8")}return""},readAsTextAsync:function(a,b,c){var d=q(a);d?d.getDataAsync(function(a,d){d?b(a,d):a&&a.length?b(a.toString(c||"utf8")):b("")}):b("")},deleteFile:function(a,b=!0){var c=q(a);c&&m.deleteFile(c.entryName,b)},deleteEntry:function(a){var b=q(a);b&&m.deleteEntry(b.entryName)},addZipComment:function(a){m.comment=a},getZipComment:function(){return m.comment||""},addZipEntryComment:function(a,b){var c=q(a);c&&(c.comment=b)},getZipEntryComment:function(a){var b=q(a);return b&&b.comment||""},updateFile:function(a,b){var c=q(a);c&&c.setData(b)},addLocalFile:function(a,b,c,f){if(l.fs.existsSync(a)){b=b?r(b):"";let d=e.win32.basename(e.win32.normalize(a));b+=c||d;let g=l.fs.statSync(a),h=g.isFile()?l.fs.readFileSync(a):Buffer.alloc(0);g.isDirectory()&&(b+=l.sep),this.addFile(b,h,f,g)}else throw d.Errors.FILE_NOT_FOUND(a)},addLocalFileAsync:function(a,b){a="object"==typeof a?a:{localPath:a};let c=e.resolve(a.localPath),{comment:d}=a,{zipPath:f,zipName:g}=a,h=this;l.fs.stat(c,function(a,i){if(a)return b(a,!1);f=f?r(f):"";let j=e.win32.basename(e.win32.normalize(c));if(f+=g||j,i.isFile())l.fs.readFile(c,function(a,c){return a?b(a,!1):(h.addFile(f,c,d,i),setImmediate(b,void 0,!0))});else if(i.isDirectory())return f+=l.sep,h.addFile(f,Buffer.alloc(0),d,i),setImmediate(b,void 0,!0)})},addLocalFolder:function(a,b,c){if(c=s(c),b=b?r(b):"",a=e.normalize(a),l.fs.existsSync(a)){let d=l.findFiles(a);if(d.length)for(let f of d){let d=e.join(b,t(a,f));c(d)&&this.addLocalFile(f,e.dirname(d))}}else throw d.Errors.FILE_NOT_FOUND(a)},addLocalFolderAsync:function(a,b,c,f){f=s(f),c=c?r(c):"",a=e.normalize(a);var g=this;l.fs.open(a,"r",function(e){if(e&&"ENOENT"===e.code)b(void 0,d.Errors.FILE_NOT_FOUND(a));else if(e)b(void 0,e);else{var h=l.findFiles(a),i=-1,j=function(){if((i+=1)<h.length){var d=h[i],e=t(a,d).split("\\").join("/");e=e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),f(e)?l.fs.stat(d,function(a,f){a&&b(void 0,a),f.isFile()?l.fs.readFile(d,function(a,d){a?b(void 0,a):(g.addFile(c+e,d,"",f),j())}):(g.addFile(c+e+"/",Buffer.alloc(0),"",f),j())}):process.nextTick(()=>{j()})}else b(!0,void 0)};j()}})},addLocalFolderAsync2:function(a,b){let c=this;a="object"==typeof a?a:{localPath:a},localPath=e.resolve(r(a.localPath));let{zipPath:f,filter:g,namefix:h}=a;if(g instanceof RegExp){var i;i=g,g=function(a){return i.test(a)}}else"function"!=typeof g&&(g=function(){return!0});f=f?r(f):"","latin1"==h&&(h=a=>a.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"")),"function"!=typeof h&&(h=a=>a);let j=a=>e.join(f,h(t(localPath,a)));l.fs.open(localPath,"r",function(a){a&&"ENOENT"===a.code?b(void 0,d.Errors.FILE_NOT_FOUND(localPath)):a?b(void 0,a):l.findFilesAsync(localPath,function(a,d){if(a)return b(a);(d=d.filter(a=>g(j(a)))).length||b(void 0,!1),setImmediate(d.reverse().reduce(function(a,b){return function(d,f){if(d||!1===f)return setImmediate(a,d,!1);c.addLocalFileAsync({localPath:b,zipPath:e.dirname(j(b)),zipName:e.win32.basename(e.win32.normalize(h(b)))},a)}},b))})})},addLocalFolderPromise:function(a,b){return new Promise((c,d)=>{this.addLocalFolderAsync2(Object.assign({localPath:a},b),(a,b)=>{a&&d(a),b&&c(this)})})},addFile:function(a,b,c,d){let e=q(a=p(a)),g=null!=e;g||((e=new f(k)).entryName=a),e.comment=c||"";let h="object"==typeof d&&d instanceof l.fs.Stats;h&&(e.header.time=d.mtime);var i=16*!!e.isDirectory;let j=e.isDirectory?16384:32768;return h?j|=4095&d.mode:"number"==typeof d?j|=4095&d:j|=e.isDirectory?493:420,i=(i|j<<16)>>>0,e.attr=i,e.setData(b),g||m.setEntry(e),e},getEntries:function(a){return m.password=a,m?m.entries:[]},getEntry:function(a){return q(a)},getEntryCount:function(){return m.getEntryCount()},forEach:function(a){return m.forEach(a)},extractEntryTo:function(a,b,c,f,g,j){f=h(!1,f),g=h(!1,g),c=h(!0,c),j=i(g,j);var k=q(a);if(!k)throw d.Errors.NO_ENTRY();var p=n(k.entryName),r=o(b,j&&!k.isDirectory?j:c?p:e.basename(p));if(k.isDirectory)return m.getEntryChildren(k).forEach(function(a){if(a.isDirectory)return;var h=a.getData();if(!h)throw d.Errors.CANT_EXTRACT_FILE();var i=n(a.entryName),j=o(b,c?i:e.basename(i));let k=g?a.header.fileAttr:void 0;l.writeFileTo(j,h,f,k)}),!0;var s=k.getData(m.password);if(!s)throw d.Errors.CANT_EXTRACT_FILE();if(l.fs.existsSync(r)&&!f)throw d.Errors.CANT_OVERRIDE();let t=g?a.header.fileAttr:void 0;return l.writeFileTo(r,s,f,t),!0},test:function(a){if(!m)return!1;for(var b in m.entries)try{if(b.isDirectory)continue;if(!m.entries[b].getData(a))return!1}catch(a){return!1}return!0},extractAllTo:function(a,b,c,e){if(e=i(c=h(!1,c),e),b=h(!1,b),!m)throw d.Errors.NO_ZIP();m.entries.forEach(function(f){var g=o(a,n(f.entryName));if(f.isDirectory)return void l.makeDir(g);var h=f.getData(e);if(!h)throw d.Errors.CANT_EXTRACT_FILE();let i=c?f.header.fileAttr:void 0;l.writeFileTo(g,h,b,i);try{l.fs.utimesSync(g,f.header.time,f.header.time)}catch(a){throw d.Errors.CANT_EXTRACT_FILE()}})},extractAllToAsync:function(a,b,c,f){if(f=((...a)=>d.findLast(a,a=>"function"==typeof a))(b,c,f),c=h(!1,c),b=h(!1,b),!f)return new Promise((d,e)=>{this.extractAllToAsync(a,b,c,function(a){a?e(a):d(this)})});if(!m)return void f(d.Errors.NO_ZIP());a=e.resolve(a);let g=b=>o(a,e.normalize(n(b.entryName))),i=(a,b)=>Error(a+': "'+b+'"'),j=[],k=[];for(let a of(m.entries.forEach(a=>{a.isDirectory?j.push(a):k.push(a)}),j)){let b=g(a),d=c?a.header.fileAttr:void 0;try{l.makeDir(b),d&&l.fs.chmodSync(b,d),l.fs.utimesSync(b,a.header.time,a.header.time)}catch(a){f(i("Unable to create folder",b))}}k.reverse().reduce(function(f,g){return function(h){if(h)f(h);else{let h=e.normalize(n(g.entryName)),j=o(a,h);g.getDataAsync(function(a,e){if(e)f(e);else if(a){let d=c?g.header.fileAttr:void 0;l.writeFileToAsync(j,a,b,d,function(a){a||f(i("Unable to write file",j)),l.fs.utimes(j,g.header.time,g.header.time,function(a){a?f(i("Unable to set times",j)):f()})})}else f(d.Errors.CANT_EXTRACT_FILE())})}}},f)()},writeZip:function(a,b){if(1==arguments.length&&"function"==typeof a&&(b=a,a=""),!a&&k.filename&&(a=k.filename),a){var c=m.compressToBuffer();if(c){var d=l.writeFileTo(a,c,!0);"function"==typeof b&&b(d?null:Error("failed"),"")}}},writeZipPromise:function(a,b){let{overwrite:c,perm:d}=Object.assign({overwrite:!0},b);return new Promise((b,e)=>{!a&&k.filename&&(a=k.filename),a||e("ADM-ZIP: ZIP File Name Missing"),this.toBufferPromise().then(f=>{l.writeFileToAsync(a,f,c,d,a=>a?b(a):e("ADM-ZIP: Wasn't able to write zip file"))},e)})},toBufferPromise:function(){return new Promise((a,b)=>{m.toAsyncBuffer(a,b)})},toBuffer:function(a,b,c,d){return"function"==typeof a?(m.toAsyncBuffer(a,b,c,d),null):m.compressToBuffer()}}}},48009:(a,b,c)=>{"use strict";c.d(b,{b:()=>h});var d=c(14819),e=c(60358),f=c(88842);let g=(0,d.CN)({is:a=>"OnNode"===a.kind,create:a=>(0,d.CN)({kind:"OnNode",on:a}),cloneWithOperation:(a,b,c)=>(0,d.CN)({...a,on:"And"===b?e.s.create(a.on,c):f.K.create(a.on,c)})}),h=(0,d.CN)({is:a=>"JoinNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"JoinNode",joinType:a,table:b,on:void 0}),createWithOn:(a,b,c)=>(0,d.CN)({kind:"JoinNode",joinType:a,table:b,on:g.create(c)}),cloneWithOn:(a,b)=>(0,d.CN)({...a,on:a.on?g.cloneWithOperation(a.on,"And",b):g.create(b)})})},48082:(a,b,c)=>{"use strict";c.d(b,{GB:()=>n,KN:()=>r,Ve:()=>q,ds:()=>o,vC:()=>p});var d=c(60014),e=c(14819),f=c(34032),g=c(77999),h=c(92748),i=c(66204),j=c(9278),k=c(60358),l=c(80114),m=c(88842);function n(a){if(3===a.length)return o(a[0],a[1],a[2]);if(1===a.length)return(0,i.$s)(a[0]);throw Error(`invalid arguments: ${JSON.stringify(a)}`)}function o(a,b,c){var e;return("is"===(e=b)||"is not"===e)&&s(c)?d.l.create((0,h.$O)(a),t(b),j.q.createImmediate(c)):d.l.create((0,h.$O)(a),t(b),(0,i.U2)(c))}function p(a,b,c){return d.l.create((0,h.$O)(a),t(b),(0,h.$O)(c))}function q(a,b){return r(Object.entries(a).filter(([,a])=>!(0,e.b0)(a)).map(([a,b])=>o(a,s(b)?"is":"=",b)),b)}function r(a,b,c=!0){let e="and"===b?k.s.create:m.K.create;if(0===a.length)return d.l.create(j.q.createImmediate(1),g.zX.create("="),j.q.createImmediate(+("and"===b)));let f=u(a[0]);for(let b=1;b<a.length;++b)f=e(f,u(a[b]));return a.length>1&&c?l.k.create(f):f}function s(a){return(0,e.kZ)(a)||(0,e.Lm)(a)}function t(a){if((0,g.UH)(a))return g.zX.create(a);if((0,f.N)(a))return a.toOperationNode();throw Error(`invalid operator ${JSON.stringify(a)}`)}function u(a){return(0,f.N)(a)?a.toOperationNode():a}},48295:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"DetachedPromise",{enumerable:!0,get:function(){return c}});class c{constructor(){let a,b;this.promise=new Promise((c,d)=>{a=c,b=d}),this.resolve=a,this.reject=b}}},49147:(a,b,c)=>{"use strict";c.d(b,{P:()=>f});var d=c(14819),e=c(74903);let f=(0,d.CN)({is:a=>"CaseNode"===a.kind,create:a=>(0,d.CN)({kind:"CaseNode",value:a}),cloneWithWhen:(a,b)=>(0,d.CN)({...a,when:(0,d.CN)(a.when?[...a.when,b]:[b])}),cloneWithThen:(a,b)=>(0,d.CN)({...a,when:a.when?(0,d.CN)([...a.when.slice(0,-1),e.t.cloneWithResult(a.when[a.when.length-1],b)]):void 0}),cloneWith:(a,b)=>(0,d.CN)({...a,...b})})},50704:(a,b,c)=>{"use strict";c.d(b,{IW:()=>i,Kh:()=>k,r6:()=>j});var d=c(77598),e=c(99209),f=c(96996),g=c(97420);function h(){let a=process.env.CONSTELLA_VAULT_KEY;if(!a)throw Error("CONSTELLA_VAULT_KEY is not set");let b=Buffer.from(a,"base64");if(32!==b.length)throw Error("CONSTELLA_VAULT_KEY must decode to 32 bytes");return b}async function i(a,b,c,i){let j=(0,d.randomBytes)(12),k=(0,d.createCipheriv)("aes-256-gcm",h(),j),l=Buffer.concat([k.update(c,"utf8"),k.final()]),m=k.getAuthTag(),n=Buffer.concat([l,m]).toString("base64");await f.db.delete(g.vault).where((0,e.Uo)((0,e.eq)(g.vault.workspaceId,a),(0,e.eq)(g.vault.ref,b))),await f.db.insert(g.vault).values({id:(0,d.randomUUID)(),workspaceId:a,providerId:i,ref:b,ciphertext:n,iv:j.toString("base64")})}async function j(a,b){let[c]=await f.db.select().from(g.vault).where((0,e.Uo)((0,e.eq)(g.vault.workspaceId,a),(0,e.eq)(g.vault.ref,b)));if(!c)return null;let i=Buffer.from(c.ciphertext,"base64"),j=i.subarray(i.length-16),k=i.subarray(0,i.length-16),l=(0,d.createDecipheriv)("aes-256-gcm",h(),Buffer.from(c.iv,"base64"));return l.setAuthTag(j),Buffer.concat([l.update(k),l.final()]).toString("utf8")}async function k(a,b){await f.db.delete(g.vault).where((0,e.Uo)((0,e.eq)(g.vault.workspaceId,a),(0,e.eq)(g.vault.ref,b)))}},51066:(a,b,c)=>{"use strict";c.d(b,{$:()=>g});var d=c(28334);let e=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$/;function f(a){if("string"==typeof a&&e.test(a)){let b=new Date(a);if(!isNaN(b.getTime()))return b}return a}function g(a){try{if("string"!=typeof a){if(null==a)return null;return function a(b){if(null==b)return b;if("string"==typeof b)return f(b);if(b instanceof Date)return b;if(Array.isArray(b))return b.map(a);if("object"==typeof b){let c={};for(let d of Object.keys(b))c[d]=a(b[d]);return c}return b}(a)}return JSON.parse(a,(a,b)=>f(b))}catch(a){return d.vF.error("Error parsing JSON",{error:a}),null}}},51080:(a,b,c)=>{"use strict";c.d(b,{V:()=>e});let d=import("node:async_hooks").then(a=>a.AsyncLocalStorage).catch(a=>{if("AsyncLocalStorage"in globalThis)return globalThis.AsyncLocalStorage;if("u">typeof window)return null;throw console.warn("[better-auth] Warning: AsyncLocalStorage is not available in this environment. Some features may not work as expected."),console.warn("[better-auth] Please read more about this warning at https://better-auth.com/docs/installation#mount-handler"),console.warn("[better-auth] If you are using Cloudflare Workers, please see: https://developers.cloudflare.com/workers/configuration/compatibility-flags/#nodejs-compatibility-flag"),a});async function e(){let a=await d;if(null!==a)return a;throw Error("getAsyncLocalStorage is only available in server code")}},51991:(a,b,c)=>{"use strict";c.d(b,{I:()=>l});var d=c(69447),e=c(77598),f=c(99209),g=c(82079),h=c(96996),i=c(97420),j=c(74487),k=c(9170);async function l(a,b){await h.db.insert(i.event).values({id:(0,e.randomUUID)(),workspaceId:a,runId:b.runId,channel:b.channel??"room",agentId:b.agentId??null,seq:Date.now(),kind:b.kind,target:(b.target??"").slice(0,500),detail:(b.detail??"").slice(0,8e3)}),(0,k.r)(a)}async function m(a,b=0){let{workspace:c}=await (0,j.nP)();return h.db.select().from(i.event).where((0,f.Uo)((0,f.eq)(i.event.workspaceId,c.id),(0,f.eq)(i.event.channel,a),(0,f.gt)(i.event.seq,b))).orderBy((0,g.Y)(i.event.seq)).limit(300)}(0,c(75243).D)([l,m]),(0,d.A)(l,"600a283d3c155b52846ffdf59d78d6fb8408c82a2b",null),(0,d.A)(m,"60687b23eb88a4b6d050ea1eff119a716ca285d2f1",null)},52217:(a,b,c)=>{"use strict";c.d(b,{G:()=>f});var d=c(97587),e=c(14819);async function f(a,b){let c=new d.c,f=new d.c;return a.provideConnection(async a=>(c.resolve(a),await f.promise),b).catch(a=>c.reject(a)),(0,e.CN)({connection:await c.promise,release:f.resolve})}},52531:(a,b,c)=>{"use strict";Object.defineProperty(b,"e",{enumerable:!0,get:function(){return k}});let d=c(73780),e=c(69376),f=c(29294),g=c(63033),h=c(83218),i=0;async function j(a,b,c,e,f,g,i){await b.set(c,{kind:h.CachedRouteKind.FETCH,data:{headers:{},body:JSON.stringify(a),status:200,url:""},revalidate:"number"!=typeof f?d.CACHE_ONE_YEAR_SECONDS:f},{fetchCache:!0,tags:e,fetchIdx:g,fetchUrl:i})}function k(a,b,c={}){if(0===c.revalidate)throw Object.defineProperty(Error(`Invariant revalidate: 0 can not be passed to unstable_cache(), must be "false" or "> 0" ${a.toString()}`),"__NEXT_ERROR_CODE",{value:"E57",enumerable:!1,configurable:!0});let d=c.tags?(0,e.validateTags)(c.tags,`unstable_cache ${a.toString()}`):[];(0,e.validateRevalidate)(c.revalidate,`unstable_cache ${a.name||a.toString()}`);let l=`${a.toString()}-${Array.isArray(b)&&b.join(",")}`;return async(...b)=>{let e=f.workAsyncStorage.getStore(),k=g.workUnitAsyncStorage.getStore(),m=(null==e?void 0:e.incrementalCache)||globalThis.__incrementalCache;if(!m)throw Object.defineProperty(Error(`Invariant: incrementalCache missing in unstable_cache ${a.toString()}`),"__NEXT_ERROR_CODE",{value:"E469",enumerable:!1,configurable:!0});let n=k?(0,g.getCacheSignal)(k):null;n&&n.beginRead();try{let f=e&&k?function(a,b){switch(b.type){case"request":let c=b.url.pathname,d=new URLSearchParams(b.url.search),e=[...d.keys()].sort((a,b)=>a.localeCompare(b)).map(a=>`${a}=${d.get(a)}`).join("&");return`${c}${e.length?"?":""}${e}`;case"prerender":case"prerender-client":case"validation-client":case"prerender-runtime":case"prerender-ppr":case"prerender-legacy":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return a.route;default:return b}}(e,k):"",n=`${l}-${JSON.stringify(b)}`,o=await m.generateCacheKey(n),p=`unstable_cache ${f} ${a.name?` ${a.name}`:o}`,q=(e?e.nextFetchId:i)??1,r=null==k?void 0:k.implicitTags,s={type:"unstable-cache",phase:"render",implicitTags:r,draftMode:k&&e&&(0,g.getDraftModeProviderForCacheScope)(e,k),rootParams:void 0};if(e){e.nextFetchId=q+1;let f=!1;if(k)switch(k.type){case"cache":case"private-cache":case"prerender":case"prerender-runtime":case"prerender-ppr":case"prerender-legacy":"number"==typeof c.revalidate&&(k.revalidate<c.revalidate||(k.revalidate=c.revalidate));let i=k.tags;if(null===i)k.tags=d.slice();else for(let a of d)i.includes(a)||i.push(a);break;case"unstable-cache":f=!0}if(!f&&"force-no-store"!==e.fetchCache&&!e.isOnDemandRevalidate&&!m.isOnDemandRevalidate&&!e.isDraftMode){let f=await m.get(o,{kind:h.IncrementalCacheKind.FETCH,revalidate:c.revalidate,tags:d,softTags:null==r?void 0:r.tags,fetchIdx:q,fetchUrl:p});if(f&&f.value)if(f.value.kind!==h.CachedRouteKind.FETCH)console.error(`Invariant invalid cacheEntry returned for ${n}`);else{let h=void 0!==f.value.data.body?JSON.parse(f.value.data.body):void 0;if(f.isStale){if(e.pendingRevalidates||(e.pendingRevalidates={}),!e.pendingRevalidates[n]){let f=g.workUnitAsyncStorage.run(s,a,...b).then(async a=>(await j(a,m,o,d,c.revalidate,q,p),a)).catch(a=>(console.error(`revalidating cache with key: ${n}`,a),h));e.isStaticGeneration&&f.catch(()=>{}),e.pendingRevalidates[n]=f}if(e.isStaticGeneration)return await e.pendingRevalidates[n]}return h}}let l=await g.workUnitAsyncStorage.run(s,a,...b);return e.isDraftMode||(e.pendingRevalidates||(e.pendingRevalidates={}),e.pendingRevalidates[n]=j(l,m,o,d,c.revalidate,q,p)),l}{if(i+=1,!m.isOnDemandRevalidate){let a=await m.get(o,{kind:h.IncrementalCacheKind.FETCH,revalidate:c.revalidate,tags:d,fetchIdx:q,fetchUrl:p,softTags:null==r?void 0:r.tags});if(a&&a.value){if(a.value.kind!==h.CachedRouteKind.FETCH)console.error(`Invariant invalid cacheEntry returned for ${n}`);else if(!a.isStale)return void 0!==a.value.data.body?JSON.parse(a.value.data.body):void 0}}let e=await g.workUnitAsyncStorage.run(s,a,...b);return await j(e,m,o,d,c.revalidate,q,p),e}}finally{n&&n.endRead()}}}},53708:(a,b,c)=>{"use strict";c.d(b,{a:()=>e});var d=c(11895);function e(){return new f}class f{#t;get queryId(){return void 0===this.#t&&(this.#t=(0,d.D)(8)),this.#t}}},54043:(a,b,c)=>{"use strict";c.d(b,{t:()=>h});var d=c(26830);let e={eterm:4,cons25:4,console:4,cygwin:4,dtterm:4,gnome:4,hurd:4,jfbterm:4,konsole:4,kterm:4,mlterm:4,mosh:24,putty:4,st:4,"rxvt-unicode-24bit":24,terminator:24,"xterm-kitty":24},f=new Map(Object.entries({APPVEYOR:8,BUILDKITE:8,CIRCLECI:24,DRONE:8,GITEA_ACTIONS:24,GITHUB_ACTIONS:24,GITLAB_CI:8,TRAVIS:8})),g=[/ansi/,/color/,/linux/,/direct/,/^con[0-9]*x[0-9]/,/^rxvt/,/^screen/,/^xterm/,/^vt100/,/^vt220/];function h(){if(void 0!==(0,d.lh)("FORCE_COLOR"))switch((0,d.lh)("FORCE_COLOR")){case"":case"1":case"true":return 4;case"2":return 8;case"3":return 24;default:return 1}if(void 0!==(0,d.lh)("NODE_DISABLE_COLORS")&&""!==(0,d.lh)("NODE_DISABLE_COLORS")||void 0!==(0,d.lh)("NO_COLOR")&&""!==(0,d.lh)("NO_COLOR")||"dumb"===(0,d.lh)("TERM"))return 1;if((0,d.lh)("TMUX"))return 24;if("TF_BUILD"in d._K&&"AGENT_NAME"in d._K)return 4;if("CI"in d._K){for(let{0:a,1:b}of f)if(a in d._K)return b;return"codeship"===(0,d.lh)("CI_NAME")?8:1}if("TEAMCITY_VERSION"in d._K)return null!==/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.exec((0,d.lh)("TEAMCITY_VERSION"))?4:1;switch((0,d.lh)("TERM_PROGRAM")){case"iTerm.app":if(!(0,d.lh)("TERM_PROGRAM_VERSION")||null!==/^[0-2]\./.exec((0,d.lh)("TERM_PROGRAM_VERSION")))return 8;return 24;case"HyperTerm":case"MacTerm":return 24;case"Apple_Terminal":return 8}if("truecolor"===(0,d.lh)("COLORTERM")||"24bit"===(0,d.lh)("COLORTERM"))return 24;if((0,d.lh)("TERM")){if(null!==/truecolor/.exec((0,d.lh)("TERM")))return 24;if(null!==/^xterm-256/.exec((0,d.lh)("TERM")))return 8;let a=(0,d.lh)("TERM").toLowerCase();if(e[a])return e[a];if(g.some(b=>null!==b.exec(a)))return 4}return(0,d.lh)("COLORTERM")?4:1}},54170:(a,b,c)=>{let d=c(29021),e=c(33873),f=c(32138),g=c(99926),h="object"==typeof process&&"win32"===process.platform,i=a=>"object"==typeof a&&null!==a,j=new Uint32Array(256).map((a,b)=>{for(let a=0;a<8;a++)(1&b)!=0?b=0xedb88320^b>>>1:b>>>=1;return b>>>0});function k(a){this.sep=e.sep,this.fs=d,i(a)&&i(a.fs)&&"function"==typeof a.fs.statSync&&(this.fs=a.fs)}a.exports=k,k.prototype.makeDir=function(a){let b,c=this;b=a.split(c.sep)[0],a.split(c.sep).forEach(function(a){var d;if(a&&":"!==a.substr(-1,1)){b+=c.sep+a;try{d=c.fs.statSync(b)}catch(a){if(a.message&&a.message.startsWith("ENOENT"))c.fs.mkdirSync(b);else throw a}if(d&&d.isFile())throw g.FILE_IN_THE_WAY(`"${b}"`)}})},k.prototype.writeFileTo=function(a,b,c,d){if(this.fs.existsSync(a)){var f;if(!c||this.fs.statSync(a).isDirectory())return!1}var g=e.dirname(a);this.fs.existsSync(g)||this.makeDir(g);try{f=this.fs.openSync(a,"w",438)}catch(b){this.fs.chmodSync(a,438),f=this.fs.openSync(a,"w",438)}if(f)try{this.fs.writeSync(f,b,0,b.length,0)}finally{this.fs.closeSync(f)}return this.fs.chmodSync(a,d||438),!0},k.prototype.writeFileToAsync=function(a,b,c,d,f){"function"==typeof d&&(f=d,d=void 0);let g=this;g.fs.exists(a,function(h){if(h&&!c)return f(!1);g.fs.stat(a,function(c,i){if(h&&i.isDirectory())return f(!1);var j=e.dirname(a);g.fs.exists(j,function(c){c||g.makeDir(j),g.fs.open(a,"w",438,function(c,e){c?g.fs.chmod(a,438,function(){g.fs.open(a,"w",438,function(c,e){g.fs.write(e,b,0,b.length,0,function(){g.fs.close(e,function(){g.fs.chmod(a,d||438,function(){f(!0)})})})})}):e?g.fs.write(e,b,0,b.length,0,function(){g.fs.close(e,function(){g.fs.chmod(a,d||438,function(){f(!0)})})}):g.fs.chmod(a,d||438,function(){f(!0)})})})})})},k.prototype.findFiles=function(a){let b=this;return function a(c,d,f){"boolean"==typeof d&&(f=d,d=void 0);let g=[];return b.fs.readdirSync(c).forEach(function(h){let i=e.join(c,h),j=b.fs.statSync(i);(!d||d.test(i))&&g.push(e.normalize(i)+(j.isDirectory()?b.sep:"")),j.isDirectory()&&f&&(g=g.concat(a(i,d,f)))}),g}(a,void 0,!0)},k.prototype.findFilesAsync=function(a,b){let c=this,d=[];c.fs.readdir(a,function(f,g){if(f)return b(f);let h=g.length;if(!h)return b(null,d);g.forEach(function(f){f=e.join(a,f),c.fs.stat(f,function(a,g){if(a)return b(a);g&&(d.push(e.normalize(f)+(g.isDirectory()?c.sep:"")),g.isDirectory()?c.findFilesAsync(f,function(a,c){if(a)return b(a);d=d.concat(c),--h||b(null,d)}):--h||b(null,d))})})})},k.prototype.getAttributes=function(){},k.prototype.setAttributes=function(){},k.crc32update=function(a,b){return j[(a^b)&255]^a>>>8},k.crc32=function(a){"string"==typeof a&&(a=Buffer.from(a,"utf8"));let b=a.length,c=-1;for(let d=0;d<b;)c=k.crc32update(c,a[d++]);return~c>>>0},k.methodToString=function(a){switch(a){case f.STORED:return"STORED ("+a+")";case f.DEFLATED:return"DEFLATED ("+a+")";default:return"UNSUPPORTED ("+a+")"}},k.canonical=function(a){if(!a)return"";let b=e.posix.normalize("/"+a.split("\\").join("/"));return e.join(".",b)},k.zipnamefix=function(a){if(!a)return"";let b=e.posix.normalize("/"+a.split("\\").join("/"));return e.posix.join(".",b)},k.findLast=function(a,b){if(!Array.isArray(a))throw TypeError("arr is not array");let c=a.length>>>0;for(let d=c-1;d>=0;d--)if(b(a[d],d,a))return a[d]},k.sanitize=function(a,b){a=e.resolve(e.normalize(a));for(var c=b.split("/"),d=0,f=c.length;d<f;d++){var g=e.normalize(e.join(a,c.slice(d,f).join(e.sep)));if(0===g.indexOf(a))return g}return e.normalize(e.join(a,e.basename(b)))},k.toBuffer=function(a,b){return Buffer.isBuffer(a)?a:a instanceof Uint8Array?Buffer.from(a):"string"==typeof a?b(a):Buffer.alloc(0)},k.readBigUInt64LE=function(a,b){let c=a.readUInt32LE(b);return 0x100000000*a.readUInt32LE(b+4)+c},k.fromDOS2Date=function(a){return new Date((a>>25&127)+1980,Math.max((a>>21&15)-1,0),Math.max(a>>16&31,1),a>>11&31,a>>5&63,(31&a)<<1)},k.fromDate2DOS=function(a){let b=0,c=0;return a.getFullYear()>1979&&(b=(a.getFullYear()-1980&127)<<9|a.getMonth()+1<<5|a.getDate(),c=a.getHours()<<11|a.getMinutes()<<5|a.getSeconds()>>1),b<<16|c},k.isWin=h,k.crcTable=j},54234:(a,b,c)=>{"use strict";c.d(b,{Qq:()=>k});var d=c(78033),e=c(2471),f=c(60464);class g extends f.o{static [d.i]="SQLiteTextBuilder";constructor(a,b){super(a,"string","SQLiteText"),this.config.enumValues=b.enum,this.config.length=b.length}build(a){return new h(a,this.config)}}class h extends f.v{static [d.i]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(a,b){super(a,b)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class i extends f.o{static [d.i]="SQLiteTextJsonBuilder";constructor(a){super(a,"json","SQLiteTextJson")}build(a){return new j(a,this.config)}}class j extends f.v{static [d.i]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(a){return JSON.parse(a)}mapToDriverValue(a){return JSON.stringify(a)}}function k(a,b={}){let{name:c,config:d}=(0,e.Ll)(a,b);return"json"===d.mode?new i(c):new g(c,d)}},54393:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={delayUntilRuntimeStage:function(){return o},getRuntimeStage:function(){return n},isHangingPromiseRejectionError:function(){return g},makeDevtoolsIOAwarePromise:function(){return m},makeHangingPromise:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(61185);function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===h}let h="HANGING_PROMISE_REJECTION";class i extends Error{constructor(a,b){super(`During prerendering, ${b} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${b} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${a}".`),this.route=a,this.expression=b,this.digest=h}}let j=new WeakMap;function k(a,b,c){if(a.aborted)return Promise.reject(new i(b,c));{let d=new Promise((d,e)=>{let f=e.bind(null,new i(b,c)),g=j.get(a);if(g)g.push(f);else{let b=[f];j.set(a,b),a.addEventListener("abort",()=>{for(let a=0;a<b.length;a++)b[a]()},{once:!0})}});return d.catch(l),d}}function l(){}function m(a,b,c){return b.stagedRendering?b.stagedRendering.delayUntilStage(c,void 0,a):new Promise(b=>{setTimeout(()=>{b(a)},0)})}function n(a){return a.currentStage===f.RenderStage.EarlyStatic||a.currentStage===f.RenderStage.EarlyRuntime?f.RenderStage.EarlyRuntime:f.RenderStage.Runtime}function o(a,b){let{stagedRendering:c}=a;return c?c.waitForStage(n(c)).then(()=>b):b}},54525:(a,b,c)=>{"use strict";c.d(b,{bj:()=>i,uc:()=>k});var d=c(78635),e=c(74524),f=c(34032),g=c(28213),h=c(14819);class i{#aD;get table(){return this.#aD}constructor(a){this.#aD=a}as(a){return new j(this.#aD,a)}}class j{#aD;#d;get table(){return this.#aD}get alias(){return this.#d}constructor(a,b){this.#aD=a,this.#d=b}toOperationNode(){return d.N.create((0,g.M$)(this.#aD),e.O.create(this.#d))}}function k(a){return(0,h.Gv)(a)&&(0,f.N)(a)&&(0,h.Kg)(a.table)&&(0,h.Kg)(a.alias)}},55229:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextURL",{enumerable:!0,get:function(){return k}});let d=c(749),e=c(88054),f=c(71384),g=c(12615),h=/^(?:127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)$/;function i(a,b){let c=new URL(String(a),b&&String(b));return h.test(c.hostname)&&(c.hostname="localhost"),c}let j=Symbol("NextURLInternal");class k{constructor(a,b,c){let d,e;"object"==typeof b&&"pathname"in b||"string"==typeof b?(d=b,e=c||{}):e=c||b||{},this[j]={url:i(a,d??e.base),options:e,basePath:""},this.analyze()}analyze(){var a,b,c,e,h;let i=(0,g.getNextPathnameInfo)(this[j].url.pathname,{nextConfig:this[j].options.nextConfig,parseData:!0,i18nProvider:this[j].options.i18nProvider}),k=(0,f.getHostname)(this[j].url,this[j].options.headers);this[j].domainLocale=this[j].options.i18nProvider?this[j].options.i18nProvider.detectDomainLocale(k):(0,d.detectDomainLocale)(null==(b=this[j].options.nextConfig)||null==(a=b.i18n)?void 0:a.domains,k);let l=(null==(c=this[j].domainLocale)?void 0:c.defaultLocale)||(null==(h=this[j].options.nextConfig)||null==(e=h.i18n)?void 0:e.defaultLocale);this[j].url.pathname=i.pathname,this[j].defaultLocale=l,this[j].basePath=i.basePath??"",this[j].buildId=i.buildId,this[j].locale=i.locale??l,this[j].trailingSlash=i.trailingSlash}formatPathname(){return(0,e.formatNextPathnameInfo)({basePath:this[j].basePath,buildId:this[j].buildId,defaultLocale:this[j].options.forceLocale?void 0:this[j].defaultLocale,locale:this[j].locale,pathname:this[j].url.pathname,trailingSlash:this[j].trailingSlash})}formatSearch(){return this[j].url.search}get buildId(){return this[j].buildId}set buildId(a){this[j].buildId=a}get locale(){return this[j].locale??""}set locale(a){var b,c;if(!this[j].locale||!(null==(c=this[j].options.nextConfig)||null==(b=c.i18n)?void 0:b.locales.includes(a)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${a}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[j].locale=a}get defaultLocale(){return this[j].defaultLocale}get domainLocale(){return this[j].domainLocale}get searchParams(){return this[j].url.searchParams}get host(){return this[j].url.host}set host(a){this[j].url.host=a}get hostname(){return this[j].url.hostname}set hostname(a){this[j].url.hostname=a}get port(){return this[j].url.port}set port(a){this[j].url.port=a}get protocol(){return this[j].url.protocol}set protocol(a){this[j].url.protocol=a}get href(){let a=this.formatPathname(),b=this.formatSearch();return`${this.protocol}//${this.host}${a}${b}${this.hash}`}set href(a){this[j].url=i(a),this.analyze()}get origin(){return this[j].url.origin}get pathname(){return this[j].url.pathname}set pathname(a){this[j].url.pathname=a}get hash(){return this[j].url.hash}set hash(a){this[j].url.hash=a}get search(){return this[j].url.search}set search(a){this[j].url.search=a}get password(){return this[j].url.password}set password(a){this[j].url.password=a}get username(){return this[j].url.username}set username(a){this[j].url.username=a}get basePath(){return this[j].basePath}set basePath(a){this[j].basePath=a.startsWith("/")?a:`/${a}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new k(String(this),this[j].options)}}},55854:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removePathPrefix",{enumerable:!0,get:function(){return e}});let d=c(64450);function e(a,b){if(!(0,d.pathHasPrefix)(a,b))return a;let c=a.slice(b.length);return c.startsWith("/")?c:`/${c}`}},56066:(a,b,c)=>{"use strict";c.d(b,{F:()=>d,x:()=>e});class d extends Error{node;constructor(a){super("no result"),this.node=a}}function e(a){return Object.prototype.hasOwnProperty.call(a,"prototype")}},56230:(a,b,c)=>{"use strict";c.d(b,{DR:()=>g,OR:()=>f,Xu:()=>e,qU:()=>d});let d="db.collection.name",e="db.operation.name",f="http.response.status_code",g="http.route"},56426:(a,b,c)=>{"use strict";c.d(b,{n:()=>ap});var d,e,f=c(1996),g=c(82616),h=c(46589),i=c(57703),j=c(8971),k=c(14819),l=c(66204);let m=(0,k.CN)({is:a=>"ValuesNode"===a.kind,create:a=>(0,k.CN)({kind:"ValuesNode",values:(0,k.CN)(a)})});var n=c(37961);let o=(0,k.CN)({is:a=>"DefaultInsertValueNode"===a.kind,create:()=>(0,k.CN)({kind:"DefaultInsertValueNode"})});var p=c(84982);function q(a){var b;let c,d=(0,k.Tn)(a)?a((0,p.A)()):a;return c=function(a){let b=new Map;for(let c of a)for(let a of Object.keys(c))b.has(a)||void 0===c[a]||b.set(a,b.size);return b}(b=(0,k.MH)(d)?d:(0,k.CN)([d])),[(0,k.CN)([...c.keys()].map(h.Z.create)),m.create(b.map(a=>(function(a,b){let c=Object.keys(a),d=Array.from({length:b.size}),e=!1,f=c.length;for(let g of c){let c=b.get(g);if((0,k.b0)(c)){f--;continue}let h=a[g];((0,k.b0)(h)||(0,n.SS)(h))&&(e=!0),d[c]=h}if(f<b.size||e){let a=o.create();return j.s.create(d.map(b=>(0,k.b0)(b)?a:(0,l.$s)(b)))}return i.h.create(d)})(a,c)))]}var r=c(26219),s=c(46799);let t=(0,k.CN)({is:a=>"ColumnUpdateNode"===a.kind,create:(a,b)=>(0,k.CN)({kind:"ColumnUpdateNode",column:a,value:b})});var u=c(92748);function v(a){return Object.entries((0,k.Tn)(a)?a((0,p.A)()):a).filter(([a,b])=>void 0!==b).map(([a,b])=>t.create(h.Z.create(a),(0,l.$s)(b)))}let w=(0,k.CN)({is:a=>"OnDuplicateKeyNode"===a.kind,create:a=>(0,k.CN)({kind:"OnDuplicateKeyNode",updates:a})});class x{insertId;numInsertedOrUpdatedRows;constructor(a,b){this.insertId=a,this.numInsertedOrUpdatedRows=b}}var y=c(56066),z=c(74524),A=c(84932);let B=(0,k.CN)({is:a=>"OnConflictNode"===a.kind,create:()=>(0,k.CN)({kind:"OnConflictNode"}),cloneWith:(a,b)=>(0,k.CN)({...a,...b}),cloneWithIndexWhere:(a,b)=>(0,k.CN)({...a,indexWhere:a.indexWhere?A.o.cloneWithOperation(a.indexWhere,"And",b):A.o.create(b)}),cloneWithIndexOrWhere:(a,b)=>(0,k.CN)({...a,indexWhere:a.indexWhere?A.o.cloneWithOperation(a.indexWhere,"Or",b):A.o.create(b)}),cloneWithUpdateWhere:(a,b)=>(0,k.CN)({...a,updateWhere:a.updateWhere?A.o.cloneWithOperation(a.updateWhere,"And",b):A.o.create(b)}),cloneWithUpdateOrWhere:(a,b)=>(0,k.CN)({...a,updateWhere:a.updateWhere?A.o.cloneWithOperation(a.updateWhere,"Or",b):A.o.create(b)}),cloneWithoutIndexWhere:a=>(0,k.CN)({...a,indexWhere:void 0}),cloneWithoutUpdateWhere:a=>(0,k.CN)({...a,updateWhere:void 0})});var C=c(48082);class D{#a;constructor(a){this.#a=(0,k.CN)(a)}column(a){let b=h.Z.create(a);return new D({...this.#a,onConflictNode:B.cloneWith(this.#a.onConflictNode,{columns:this.#a.onConflictNode.columns?(0,k.CN)([...this.#a.onConflictNode.columns,b]):(0,k.CN)([b])})})}columns(a){let b=a.map(h.Z.create);return new D({...this.#a,onConflictNode:B.cloneWith(this.#a.onConflictNode,{columns:this.#a.onConflictNode.columns?(0,k.CN)([...this.#a.onConflictNode.columns,...b]):(0,k.CN)(b)})})}constraint(a){return new D({...this.#a,onConflictNode:B.cloneWith(this.#a.onConflictNode,{constraint:z.O.create(a)})})}expression(a){return new D({...this.#a,onConflictNode:B.cloneWith(this.#a.onConflictNode,{indexExpression:a.toOperationNode()})})}where(...a){return new D({...this.#a,onConflictNode:B.cloneWithIndexWhere(this.#a.onConflictNode,(0,C.GB)(a))})}whereRef(a,b,c){return new D({...this.#a,onConflictNode:B.cloneWithIndexWhere(this.#a.onConflictNode,(0,C.vC)(a,b,c))})}clearWhere(){return new D({...this.#a,onConflictNode:B.cloneWithoutIndexWhere(this.#a.onConflictNode)})}doNothing(){return new E({...this.#a,onConflictNode:B.cloneWith(this.#a.onConflictNode,{doNothing:!0})})}doUpdateSet(a){return new F({...this.#a,onConflictNode:B.cloneWith(this.#a.onConflictNode,{updates:v(a)})})}$call(a){return a(this)}}class E{#a;constructor(a){this.#a=(0,k.CN)(a)}toOperationNode(){return this.#a.onConflictNode}}class F{#a;constructor(a){this.#a=(0,k.CN)(a)}where(...a){return new F({...this.#a,onConflictNode:B.cloneWithUpdateWhere(this.#a.onConflictNode,(0,C.GB)(a))})}whereRef(a,b,c){return new F({...this.#a,onConflictNode:B.cloneWithUpdateWhere(this.#a.onConflictNode,(0,C.vC)(a,b,c))})}clearWhere(){return new F({...this.#a,onConflictNode:B.cloneWithoutUpdateWhere(this.#a.onConflictNode)})}$call(a){return a(this)}toOperationNode(){return this.#a.onConflictNode}}var G=c(62765);let H=(0,k.CN)({is:a=>"OrActionNode"===a.kind,create:a=>(0,k.CN)({kind:"OrActionNode",action:a})});class I{#a;constructor(a){this.#a=(0,k.CN)(a)}values(a){let[b,c]=q(a);return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{columns:b,values:c})})}columns(a){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{columns:(0,k.CN)(a.map(h.Z.create))})})}expression(a){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{values:(0,n.YK)(a)})})}defaultValues(){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{defaultValues:!0})})}modifyEnd(a){return new I({...this.#a,queryNode:s.L.cloneWithEndModifier(this.#a.queryNode,a.toOperationNode())})}ignore(){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{orAction:H.create("ignore")})})}orIgnore(){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{orAction:H.create("ignore")})})}orAbort(){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{orAction:H.create("abort")})})}orFail(){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{orAction:H.create("fail")})})}orReplace(){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{orAction:H.create("replace")})})}orRollback(){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{orAction:H.create("rollback")})})}top(a,b){return new I({...this.#a,queryNode:s.L.cloneWithTop(this.#a.queryNode,(0,G.f)(a,b))})}onConflict(a){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{onConflict:a(new D({onConflictNode:B.create()})).toOperationNode()})})}onDuplicateKeyUpdate(a){return new I({...this.#a,queryNode:r.o.cloneWith(this.#a.queryNode,{onDuplicateKey:w.create(v(a))})})}returning(a){return new I({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.G)(a))})}returningAll(){return new I({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.J)())})}output(a){return new I({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.G)(a))})}outputAll(a){return new I({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.J)(a))})}clearReturning(){return new I({...this.#a,queryNode:s.L.cloneWithoutReturning(this.#a.queryNode)})}$call(a){return a(this)}$if(a,b){return a?b(this):new I({...this.#a})}$castTo(){return new I(this.#a)}$narrowType(){return new I(this.#a)}$assertType(){return new I(this.#a)}withPlugin(a){return new I({...this.#a,executor:this.#a.executor.withPlugin(a)})}toOperationNode(){return this.#a.executor.transformQuery(this.#a.queryNode,this.#a.queryId)}compile(){return this.#a.executor.compileQuery(this.toOperationNode(),this.#a.queryId)}async execute(a){let b=this.compile(),c=await this.#a.executor.executeQuery(b,a),{adapter:d}=this.#a.executor,e=b.query;return e.returning&&d.supportsReturning||e.output&&d.supportsOutput?c.rows:[new x(c.insertId,c.numAffectedRows??BigInt(0))]}async executeTakeFirst(a){let[b]=await this.execute(a);return b}async executeTakeFirstOrThrow(a){"function"==typeof a&&(a={errorConstructor:a});let b=await this.executeTakeFirst(a);if(void 0===b){let b=a?.errorConstructor??y.F;throw(0,y.x)(b)?new b(this.toOperationNode()):b(this.toOperationNode())}return b}async *stream(a){"object"!=typeof a&&(a={chunkSize:a});let b=this.compile();for await(let c of this.#a.executor.stream(b,a.chunkSize??100,a))yield*c.rows}async explain(a,b){let c=new I({...this.#a,queryNode:s.L.cloneWithExplain(this.#a.queryNode,a,b)});return await c.execute()}}var J=c(29175),K=c(28213);class L{numDeletedRows;constructor(a){this.numDeletedRows=a}}var M=c(47537),N=c(60796),O=c(13934);class P{#a;constructor(a){this.#a=(0,k.CN)(a)}where(...a){return new d({...this.#a,queryNode:s.L.cloneWithWhere(this.#a.queryNode,(0,C.GB)(a))})}whereRef(a,b,c){return new d({...this.#a,queryNode:s.L.cloneWithWhere(this.#a.queryNode,(0,C.vC)(a,b,c))})}clearWhere(){return new d({...this.#a,queryNode:s.L.cloneWithoutWhere(this.#a.queryNode)})}top(a,b){return new d({...this.#a,queryNode:s.L.cloneWithTop(this.#a.queryNode,(0,G.f)(a,b))})}using(a){return new d({...this.#a,queryNode:M.e.cloneWithUsing(this.#a.queryNode,(0,K.JB)(a))})}innerJoin(...a){return this.#b("InnerJoin",a)}leftJoin(...a){return this.#b("LeftJoin",a)}rightJoin(...a){return this.#b("RightJoin",a)}fullJoin(...a){return this.#b("FullJoin",a)}#b(a,b){return new d({...this.#a,queryNode:s.L.cloneWithJoin(this.#a.queryNode,(0,J.a)(a,b))})}returning(a){return new d({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.G)(a))})}returningAll(a){return new d({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.J)(a))})}output(a){return new d({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.G)(a))})}outputAll(a){return new d({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.J)(a))})}clearReturning(){return new d({...this.#a,queryNode:s.L.cloneWithoutReturning(this.#a.queryNode)})}clearLimit(){return new d({...this.#a,queryNode:M.e.cloneWithoutLimit(this.#a.queryNode)})}orderBy(...a){return new d({...this.#a,queryNode:s.L.cloneWithOrderByItems(this.#a.queryNode,(0,O.xk)(a))})}clearOrderBy(){return new d({...this.#a,queryNode:s.L.cloneWithoutOrderBy(this.#a.queryNode)})}limit(a){return new d({...this.#a,queryNode:M.e.cloneWithLimit(this.#a.queryNode,N.a.create((0,l.$s)(a)))})}modifyEnd(a){return new d({...this.#a,queryNode:s.L.cloneWithEndModifier(this.#a.queryNode,a.toOperationNode())})}$call(a){return a(this)}$if(a,b){return a?b(this):new d({...this.#a})}$castTo(){return new d(this.#a)}$narrowType(){return new d(this.#a)}$assertType(){return new d(this.#a)}withPlugin(a){return new d({...this.#a,executor:this.#a.executor.withPlugin(a)})}toOperationNode(){return this.#a.executor.transformQuery(this.#a.queryNode,this.#a.queryId)}compile(){return this.#a.executor.compileQuery(this.toOperationNode(),this.#a.queryId)}async execute(a){let b=this.compile(),c=await this.#a.executor.executeQuery(b,a),{adapter:d}=this.#a.executor,e=b.query;return e.returning&&d.supportsReturning||e.output&&d.supportsOutput?c.rows:[new L(c.numAffectedRows??BigInt(0))]}async executeTakeFirst(a){let[b]=await this.execute(a);return b}async executeTakeFirstOrThrow(a){"function"==typeof a&&(a={errorConstructor:a});let b=await this.executeTakeFirst(a);if(void 0===b){let b=a?.errorConstructor??y.F;throw(0,y.x)(b)?new b(this.toOperationNode()):b(this.toOperationNode())}return b}async *stream(a){"object"!=typeof a&&(a={chunkSize:a});let b=this.compile();for await(let c of this.#a.executor.stream(b,a.chunkSize??100,a))yield*c.rows}async explain(a,b){let c=new d({...this.#a,queryNode:s.L.cloneWithExplain(this.#a.queryNode,a,b)});return await c.execute()}}d=P;var Q=c(65695);class R{numUpdatedRows;numChangedRows;constructor(a,b){this.numUpdatedRows=a,this.numChangedRows=b}}class S{#a;constructor(a){this.#a=(0,k.CN)(a)}where(...a){return new e({...this.#a,queryNode:s.L.cloneWithWhere(this.#a.queryNode,(0,C.GB)(a))})}whereRef(a,b,c){return new e({...this.#a,queryNode:s.L.cloneWithWhere(this.#a.queryNode,(0,C.vC)(a,b,c))})}clearWhere(){return new e({...this.#a,queryNode:s.L.cloneWithoutWhere(this.#a.queryNode)})}top(a,b){return new e({...this.#a,queryNode:s.L.cloneWithTop(this.#a.queryNode,(0,G.f)(a,b))})}from(a){return new e({...this.#a,queryNode:Q.U.cloneWithFromItems(this.#a.queryNode,(0,K.JB)(a))})}innerJoin(...a){return this.#b("InnerJoin",a)}leftJoin(...a){return this.#b("LeftJoin",a)}rightJoin(...a){return this.#b("RightJoin",a)}fullJoin(...a){return this.#b("FullJoin",a)}#b(a,b){return new e({...this.#a,queryNode:s.L.cloneWithJoin(this.#a.queryNode,(0,J.a)(a,b))})}orderBy(...a){return new e({...this.#a,queryNode:s.L.cloneWithOrderByItems(this.#a.queryNode,(0,O.xk)(a))})}clearOrderBy(){return new e({...this.#a,queryNode:s.L.cloneWithoutOrderBy(this.#a.queryNode)})}limit(a){return new e({...this.#a,queryNode:Q.U.cloneWithLimit(this.#a.queryNode,N.a.create((0,l.$s)(a)))})}set(...a){return new e({...this.#a,queryNode:Q.U.cloneWithUpdates(this.#a.queryNode,function(...a){return 2===a.length?[t.create((0,u.$O)(a[0]),(0,l.$s)(a[1]))]:v(a[0])}(...a))})}returning(a){return new e({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.G)(a))})}returningAll(a){return new e({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.J)(a))})}output(a){return new e({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.G)(a))})}outputAll(a){return new e({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.J)(a))})}modifyEnd(a){return new e({...this.#a,queryNode:s.L.cloneWithEndModifier(this.#a.queryNode,a.toOperationNode())})}clearReturning(){return new e({...this.#a,queryNode:s.L.cloneWithoutReturning(this.#a.queryNode)})}$call(a){return a(this)}$if(a,b){return a?b(this):new e({...this.#a})}$castTo(){return new e(this.#a)}$narrowType(){return new e(this.#a)}$assertType(){return new e(this.#a)}withPlugin(a){return new e({...this.#a,executor:this.#a.executor.withPlugin(a)})}toOperationNode(){return this.#a.executor.transformQuery(this.#a.queryNode,this.#a.queryId)}compile(){return this.#a.executor.compileQuery(this.toOperationNode(),this.#a.queryId)}async execute(a){let b=this.compile(),c=await this.#a.executor.executeQuery(b,a),{adapter:d}=this.#a.executor,e=b.query;return e.returning&&d.supportsReturning||e.output&&d.supportsOutput?c.rows:[new R(c.numAffectedRows??BigInt(0),c.numChangedRows)]}async executeTakeFirst(a){let[b]=await this.execute(a);return b}async executeTakeFirstOrThrow(a){"function"==typeof a&&(a={errorConstructor:a});let b=await this.executeTakeFirst(a);if(void 0===b){let b=a?.errorConstructor??y.F;throw(0,y.x)(b)?new b(this.toOperationNode()):b(this.toOperationNode())}return b}async *stream(a){"object"!=typeof a&&(a={chunkSize:a});let b=this.compile();for await(let c of this.#a.executor.stream(b,a.chunkSize??100,a))yield*c.rows}async explain(a,b){let c=new e({...this.#a,queryNode:s.L.cloneWithExplain(this.#a.queryNode,a,b)});return await c.execute()}}e=S;var T=c(70412),U=c(2131);let V=(0,k.CN)({is:a=>"CommonTableExpressionNameNode"===a.kind,create:(a,b)=>(0,k.CN)({kind:"CommonTableExpressionNameNode",table:U.H.create(a),columns:b?(0,k.CN)(b.map(h.Z.create)):void 0})});var W=c(60131);let X=(0,k.CN)({is:a=>"CommonTableExpressionNode"===a.kind,create:(a,b)=>(0,k.CN)({kind:"CommonTableExpressionNode",name:a,expression:b}),cloneWith:(a,b)=>(0,k.CN)({...a,...b})});class Y{#a;constructor(a){this.#a=(0,k.CN)(a)}materialized(){return new Y({...this.#a,node:X.cloneWith(this.#a.node,{materialized:!0})})}notMaterialized(){return new Y({...this.#a,node:X.cloneWith(this.#a.node,{materialized:!1})})}toOperationNode(){return this.#a.node}}var Z=c(34032);function $(a,b){var c;let d=(0,Z.N)(b)?b.toOperationNode():b((0,W.bl)()).toOperationNode();return(0,k.Tn)(a)?a((c=d,a=>new Y({node:X.create(_(a),c)}))).toOperationNode():X.create(_(a),d)}function _(a){if(!a.includes("("))return V.create(a);{let b=a.split(/[\(\)]/),c=b[0],d=b[1].split(",").map(a=>a.trim());return V.create(c,d)}}let aa=(0,k.CN)({is:a=>"WithNode"===a.kind,create:(a,b)=>(0,k.CN)({kind:"WithNode",expressions:(0,k.CN)([a]),...b}),cloneWithExpression:(a,b)=>(0,k.CN)({...a,expressions:(0,k.CN)([...a.expressions,b])})});var ab=c(53708),ac=c(28418),ad=c(97662);let ae=(0,k.CN)({is:a=>"MatchedNode"===a.kind,create:(a,b=!1)=>(0,k.CN)({kind:"MatchedNode",not:a,bySource:b})});var af=c(14473),ag=c(74903);function ah(a,b,c){return ag.t.create((0,C.KN)([ae.create(!a.isMatched,a.bySource),...b&&b.length>0?[3===b.length&&c?(0,C.vC)(b[0],b[1],b[2]):(0,C.GB)(b)]:[]],"and",!1))}function ai(a){return(0,k.Kg)(a)?af.z.create([a],[]):(0,Z.N)(a)?a.toOperationNode():a}var aj=c(62335);class ak{numChangedRows;constructor(a){this.numChangedRows=a}}class al{#a;constructor(a){this.#a=(0,k.CN)(a)}modifyEnd(a){return new al({...this.#a,queryNode:s.L.cloneWithEndModifier(this.#a.queryNode,a.toOperationNode())})}top(a,b){return new al({...this.#a,queryNode:s.L.cloneWithTop(this.#a.queryNode,(0,G.f)(a,b))})}using(...a){return new am({...this.#a,queryNode:ad.r.cloneWithUsing(this.#a.queryNode,(0,J.a)("Using",a))})}returning(a){return new al({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.G)(a))})}returningAll(a){return new al({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.J)(a))})}output(a){return new al({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.G)(a))})}outputAll(a){return new al({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.J)(a))})}}class am{#a;constructor(a){this.#a=(0,k.CN)(a)}modifyEnd(a){return new am({...this.#a,queryNode:s.L.cloneWithEndModifier(this.#a.queryNode,a.toOperationNode())})}top(a,b){return new am({...this.#a,queryNode:s.L.cloneWithTop(this.#a.queryNode,(0,G.f)(a,b))})}whenMatched(){return this.#aE([])}whenMatchedAnd(...a){return this.#aE(a)}whenMatchedAndRef(a,b,c){return this.#aE([a,b,c],!0)}#aE(a,b){return new an({...this.#a,queryNode:ad.r.cloneWithWhen(this.#a.queryNode,ah({isMatched:!0},a,b))})}whenNotMatched(){return this.#aF([])}whenNotMatchedAnd(...a){return this.#aF(a)}whenNotMatchedAndRef(a,b,c){return this.#aF([a,b,c],!0)}whenNotMatchedBySource(){return this.#aF([],!1,!0)}whenNotMatchedBySourceAnd(...a){return this.#aF(a,!1,!0)}whenNotMatchedBySourceAndRef(a,b,c){return this.#aF([a,b,c],!0,!0)}returning(a){return new am({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.G)(a))})}returningAll(a){return new am({...this.#a,queryNode:s.L.cloneWithReturning(this.#a.queryNode,(0,g.J)(a))})}output(a){return new am({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.G)(a))})}outputAll(a){return new am({...this.#a,queryNode:s.L.cloneWithOutput(this.#a.queryNode,(0,g.J)(a))})}#aF(a,b=!1,c=!1){let d={...this.#a,queryNode:ad.r.cloneWithWhen(this.#a.queryNode,ah({isMatched:!1,bySource:c},a,b))};return new(c?an:ao)(d)}$call(a){return a(this)}$if(a,b){return a?b(this):new am({...this.#a})}toOperationNode(){return this.#a.executor.transformQuery(this.#a.queryNode,this.#a.queryId)}compile(){return this.#a.executor.compileQuery(this.toOperationNode(),this.#a.queryId)}async execute(a){let b=this.compile(),c=await this.#a.executor.executeQuery(b,a),{adapter:d}=this.#a.executor,e=b.query;return e.returning&&d.supportsReturning||e.output&&d.supportsOutput?c.rows:[new ak(c.numAffectedRows)]}async executeTakeFirst(a){let[b]=await this.execute(a);return b}async executeTakeFirstOrThrow(a){"function"==typeof a&&(a={errorConstructor:a});let b=await this.executeTakeFirst(a);if(void 0===b){let b=a?.errorConstructor??y.F;throw(0,y.x)(b)?new b(this.toOperationNode()):b(this.toOperationNode())}return b}}class an{#a;constructor(a){this.#a=(0,k.CN)(a)}thenDelete(){return new am({...this.#a,queryNode:ad.r.cloneWithThen(this.#a.queryNode,ai("delete"))})}thenDoNothing(){return new am({...this.#a,queryNode:ad.r.cloneWithThen(this.#a.queryNode,ai("do nothing"))})}thenUpdate(a){return new am({...this.#a,queryNode:ad.r.cloneWithThen(this.#a.queryNode,ai(a(new S({queryId:this.#a.queryId,executor:aj.W,queryNode:Q.U.createWithoutTable()}))))})}thenUpdateSet(...a){return this.thenUpdate(b=>b.set(...a))}}class ao{#a;constructor(a){this.#a=(0,k.CN)(a)}thenDoNothing(){return new am({...this.#a,queryNode:ad.r.cloneWithThen(this.#a.queryNode,ai("do nothing"))})}thenInsertValues(a){let[b,c]=q(a);return new am({...this.#a,queryNode:ad.r.cloneWithThen(this.#a.queryNode,ai(r.o.cloneWith(r.o.createWithoutInto(),{columns:b,values:c})))})}}class ap{#a;constructor(a){this.#a=(0,k.CN)(a)}selectFrom(a){return(0,f.c)({queryId:(0,ab.a)(),executor:this.#a.executor,queryNode:T.L.createFrom((0,K.JB)(a),this.#a.withNode)})}selectNoFrom(a){return(0,f.c)({queryId:(0,ab.a)(),executor:this.#a.executor,queryNode:T.L.cloneWithSelections(T.L.create(this.#a.withNode),(0,g.G)(a))})}insertInto(a){return new I({queryId:(0,ab.a)(),executor:this.#a.executor,queryNode:r.o.create((0,K.M$)(a),this.#a.withNode)})}replaceInto(a){return new I({queryId:(0,ab.a)(),executor:this.#a.executor,queryNode:r.o.create((0,K.M$)(a),this.#a.withNode,!0)})}deleteFrom(a){return new P({queryId:(0,ab.a)(),executor:this.#a.executor,queryNode:M.e.create((0,K.JB)(a),this.#a.withNode)})}updateTable(a){return new S({queryId:(0,ab.a)(),executor:this.#a.executor,queryNode:Q.U.create((0,K.JB)(a),this.#a.withNode)})}mergeInto(a){return new al({queryId:(0,ab.a)(),executor:this.#a.executor,queryNode:ad.r.create((0,K.Xm)(a),this.#a.withNode)})}with(a,b){let c=$(a,b);return new ap({...this.#a,withNode:this.#a.withNode?aa.cloneWithExpression(this.#a.withNode,c):aa.create(c)})}withRecursive(a,b){let c=$(a,b);return new ap({...this.#a,withNode:this.#a.withNode?aa.cloneWithExpression(this.#a.withNode,c):aa.create(c,{recursive:!0})})}withPlugin(a){return new ap({...this.#a,executor:this.#a.executor.withPlugin(a)})}withoutPlugins(){return new ap({...this.#a,executor:this.#a.executor.withoutPlugins()})}withSchema(a){return new ap({...this.#a,executor:this.#a.executor.withPluginAtFront(new ac.B(a))})}}},57061:(a,b,c)=>{"use strict";c.d(b,{Q:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"JSONReferenceNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"JSONReferenceNode",reference:a,traversal:b}),cloneWithTraversal:(a,b)=>(0,d.CN)({...a,traversal:b})})},57383:(a,b,c)=>{"use strict";c.d(b,{v:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"ListNode"===a.kind,create:a=>(0,d.CN)({kind:"ListNode",items:(0,d.CN)(a)})})},57511:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=c(33353),e=c(40839);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},57703:(a,b,c)=>{"use strict";c.d(b,{h:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"PrimitiveValueListNode"===a.kind,create:a=>(0,d.CN)({kind:"PrimitiveValueListNode",values:(0,d.CN)([...a])})})},57738:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Batcher",{enumerable:!0,get:function(){return e}});let d=c(48295);class e{constructor(a,b=a=>a()){this.cacheKeyFn=a,this.schedulerFn=b,this.pending=new Map}static create(a){return new e(null==a?void 0:a.cacheKeyFn,null==a?void 0:a.schedulerFn)}async batch(a,b){let c=this.cacheKeyFn?await this.cacheKeyFn(a):a;if(null===c)return b({resolve:a=>Promise.resolve(a),key:a});let e=this.pending.get(c);if(e)return e;let{promise:f,resolve:g,reject:h}=new d.DetachedPromise;return this.pending.set(c,f),this.schedulerFn(async()=>{try{let c=await b({resolve:g,key:a});g(c)}catch(a){h(a)}finally{this.pending.delete(c)}}),f}}},58526:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ACTION_HEADER:function(){return f},FLIGHT_HEADERS:function(){return p},NEXT_ACTION_NOT_FOUND_HEADER:function(){return w},NEXT_ACTION_REVALIDATED_HEADER:function(){return z},NEXT_DID_POSTPONE_HEADER:function(){return s},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return k},NEXT_HMR_REFRESH_HEADER:function(){return j},NEXT_HTML_REQUEST_ID_HEADER:function(){return y},NEXT_INSTANT_PREFETCH_HEADER:function(){return n},NEXT_INSTANT_TEST_COOKIE:function(){return o},NEXT_IS_PRERENDER_HEADER:function(){return v},NEXT_REQUEST_ID_HEADER:function(){return x},NEXT_REWRITTEN_PATH_HEADER:function(){return t},NEXT_REWRITTEN_QUERY_HEADER:function(){return u},NEXT_ROUTER_PREFETCH_HEADER:function(){return h},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return i},NEXT_ROUTER_STALE_TIME_HEADER:function(){return r},NEXT_ROUTER_STATE_TREE_HEADER:function(){return g},NEXT_RSC_UNION_QUERY:function(){return q},NEXT_URL:function(){return l},RSC_CONTENT_TYPE_HEADER:function(){return m},RSC_HEADER:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="rsc",f="next-action",g="next-router-state-tree",h="next-router-prefetch",i="next-router-segment-prefetch",j="next-hmr-refresh",k="__next_hmr_refresh_hash__",l="next-url",m="text/x-component",n="next-instant-navigation-testing-prefetch",o="next-instant-navigation-testing",p=[e,g,h,j,i],q="_rsc",r="x-nextjs-stale-time",s="x-nextjs-postponed",t="x-nextjs-rewritten-path",u="x-nextjs-rewritten-query",v="x-nextjs-prerender",w="x-nextjs-action-not-found",x="x-nextjs-request-id",y="x-nextjs-html-request-id",z="x-action-revalidated";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},58794:(a,b,c)=>{"use strict";c.d(b,{B:()=>f,o:()=>e});var d=c(14819);let e=["preserve rows","delete rows","drop"],f=(0,d.CN)({is:a=>"CreateTableNode"===a.kind,create:a=>(0,d.CN)({kind:"CreateTableNode",table:a,columns:(0,d.CN)([])}),cloneWithColumn:(a,b)=>(0,d.CN)({...a,columns:(0,d.CN)([...a.columns,b])}),cloneWithConstraint:(a,b)=>(0,d.CN)({...a,constraints:a.constraints?(0,d.CN)([...a.constraints,b]):(0,d.CN)([b])}),cloneWithIndex:(a,b)=>(0,d.CN)({...a,indexes:a.indexes?(0,d.CN)([...a.indexes,b]):(0,d.CN)([b])}),cloneWithFrontModifier:(a,b)=>(0,d.CN)({...a,frontModifiers:a.frontModifiers?(0,d.CN)([...a.frontModifiers,b]):(0,d.CN)([b])}),cloneWithEndModifier:(a,b)=>(0,d.CN)({...a,endModifiers:a.endModifiers?(0,d.CN)([...a.endModifiers,b]):(0,d.CN)([b])}),cloneWith:(a,b)=>(0,d.CN)({...a,...b})})},59047:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isDynamicRoute",{enumerable:!0,get:function(){return g}});let d=c(20182),e=/\/[^/]*\[[^/]+\][^/]*(?=\/|$)/,f=/\/\[[^/]+\](?=\/|$)/;function g(a,b=!0){return((0,d.isInterceptionRouteAppPath)(a)&&(a=(0,d.extractInterceptionRouteInformation)(a).interceptedRoute),b)?f.test(a):e.test(a)}},60014:(a,b,c)=>{"use strict";c.d(b,{l:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"BinaryOperationNode"===a.kind,create:(a,b,c)=>(0,d.CN)({kind:"BinaryOperationNode",leftOperand:a,operator:b,rightOperand:c})})},60131:(a,b,c)=>{"use strict";c.d(b,{GQ:()=>u,EQ:()=>v,bl:()=>t});var d=c(48009),e=c(14819),f=c(14925);let g=(0,e.CN)({is:a=>"PartitionByNode"===a.kind,create:a=>(0,e.CN)({kind:"PartitionByNode",items:(0,e.CN)(a)}),cloneWithItems:(a,b)=>(0,e.CN)({...a,items:(0,e.CN)([...a.items,...b])})}),h=(0,e.CN)({is:a=>"OverNode"===a.kind,create:()=>(0,e.CN)({kind:"OverNode"}),cloneWithOrderByItems:(a,b)=>(0,e.CN)({...a,orderBy:a.orderBy?f.O.cloneWithItems(a.orderBy,b):f.O.create(b)}),cloneWithPartitionByItems:(a,b)=>(0,e.CN)({...a,partitionBy:a.partitionBy?g.cloneWithItems(a.partitionBy,b):g.create(b)})});var i=c(14473),j=c(48082);class k{#a;constructor(a){this.#a=(0,e.CN)(a)}on(...a){return new k({...this.#a,joinNode:d.b.cloneWithOn(this.#a.joinNode,(0,j.GB)(a))})}onRef(a,b,c){return new k({...this.#a,joinNode:d.b.cloneWithOn(this.#a.joinNode,(0,j.vC)(a,b,c))})}onTrue(){return new k({...this.#a,joinNode:d.b.cloneWithOn(this.#a.joinNode,i.z.createWithSql("true"))})}$call(a){return a(this)}toOperationNode(){return this.#a.joinNode}}var l=c(46799),m=c(13934);let n=(0,e.CN)({is:a=>"PartitionByItemNode"===a.kind,create:a=>(0,e.CN)({kind:"PartitionByItemNode",partitionBy:a})});var o=c(92748);class p{#a;constructor(a){this.#a=(0,e.CN)(a)}orderBy(...a){return new p({overNode:h.cloneWithOrderByItems(this.#a.overNode,(0,m.xk)(a))})}clearOrderBy(){return new p({overNode:l.L.cloneWithoutOrderBy(this.#a.overNode)})}partitionBy(a){return new p({overNode:h.cloneWithPartitionByItems(this.#a.overNode,(0,o.kU)(a).map(n.create))})}$call(a){return a(this)}toOperationNode(){return this.#a.overNode}}var q=c(56426),r=c(62335),s=c(28213);function t(){return new q.n({executor:r.W})}function u(a,b){return new k({joinNode:d.b.create(a,(0,s.uJ)(b))})}function v(){return new p({overNode:h.create()})}},60358:(a,b,c)=>{"use strict";c.d(b,{s:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"AndNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"AndNode",left:a,right:b})})},60464:(a,b,c)=>{"use strict";c.d(b,{v:()=>o,o:()=>n});var d=c(37716),e=c(72638),f=c(78033),g=c(15189);class h{static [f.i]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(a,b){this.reference=()=>{let{name:b,columns:c,foreignColumns:d}=a();return{name:b,columns:c,foreignTable:d[0].table,foreignColumns:d}},b&&(this._onUpdate=b.onUpdate,this._onDelete=b.onDelete)}onUpdate(a){return this._onUpdate=a,this}onDelete(a){return this._onDelete=a,this}build(a){return new i(a,this)}}class i{constructor(a,b){this.table=a,this.reference=b.reference,this.onUpdate=b._onUpdate,this.onDelete=b._onDelete}static [f.i]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:a,columns:b,foreignColumns:c}=this.reference(),d=b.map(a=>a.name),e=c.map(a=>a.name),f=[this.table[g.E],...d,c[0].table[g.E],...e];return a??`${f.join("_")}_fk`}}function j(a,b){return`${a[g.E]}_${b.join("_")}_unique`}class k{constructor(a,b){this.name=b,this.columns=a}static [f.i]=null;columns;build(a){return new m(a,this.columns,this.name)}}class l{static [f.i]=null;name;constructor(a){this.name=a}on(...a){return new k(a,this.name)}}class m{constructor(a,b,c){this.table=a,this.columns=b,this.name=c??j(this.table,this.columns.map(a=>a.name))}static [f.i]=null;columns;name;getName(){return this.name}}class n extends d.Q{static [f.i]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(a,b={}){return this.foreignKeyConfigs.push({ref:a,actions:b}),this}unique(a){return this.config.isUnique=!0,this.config.uniqueName=a,this}generatedAlwaysAs(a,b){return this.config.generated={as:a,type:"always",mode:b?.mode??"virtual"},this}buildForeignKeys(a,b){return this.foreignKeyConfigs.map(({ref:c,actions:d})=>{let e;return e=new h(()=>({columns:[a],foreignColumns:[c()]})),d.onUpdate&&e.onUpdate(d.onUpdate),d.onDelete&&e.onDelete(d.onDelete),e.build(b)})}}class o extends e.V{constructor(a,b){b.uniqueName||(b.uniqueName=j(a,[b.name])),super(a,b),this.table=a}static [f.i]="SQLiteColumn"}},60579:(a,b,c)=>{"use strict";c.d(b,{I:()=>k});var d=c(77598),e=c(99209),f=c(96996),g=c(97420),h=c(94417);let i=new Set(["escalation","approval","needs-approval","block","blocked","security","deploy","error","alert","review","report","warn","warning","design-approval","design-pending","design-review"]);async function j(a,b){try{let c=b.kind??"info";if(!(!0===b.tg||!1!==b.tg&&i.has(c)))return;let[d]=await f.db.select({orgId:g.workspace.orgId}).from(g.workspace).where((0,e.eq)(g.workspace.id,a));if(!d)return;let[j]=await f.db.select({ownerId:g.organization.ownerId}).from(g.organization).where((0,e.eq)(g.organization.id,d.orgId));if(!j)return;let[k]=await f.db.select().from(g.notificationPref).where((0,e.eq)(g.notificationPref.userId,j.ownerId));if(k&&!1===k.telegram)return;let l=await (0,h._9)(a);if(!l)return;let m=c.replace(/[-_]/g," ").toUpperCase(),n=`đ ${m}
|
|
425
425
|
${b.text}${b.detail?`
|
|
426
426
|
${b.detail}`:""}`.slice(0,3400);await (0,h.bT)(l.botToken,l.chatId,n,"approval"===c||"needs-approval"===c?[[{text:"â
Approve",data:"approve_plan"},{text:"âļī¸ Start execution",data:"start_exec"}],[{text:"\uD83D\uDCDD Review",data:"review"},{text:"âŠī¸ Reject",data:"reject_plan"}]]:"design-approval"===c?[[{text:"â
Approve & send to execution",data:"approve_design"}],[{text:"\uD83D\uDCDD Review",data:"review_design"},{text:"âŠī¸ Request changes",data:"reject_design"}]]:"design-pending"===c||"design-review"===c?[[{text:"\uD83D\uDCDD Review design",data:"review_design"},{text:"\uD83D\uDCCA Status",data:"status"}]]:[[{text:"\uD83D\uDCDD Review",data:"review"},{text:"\uD83D\uDCCA Status",data:"status"}]])}catch{}}async function k(a,b){await f.db.insert(g.notification).values({id:(0,d.randomUUID)(),workspaceId:a,kind:b.kind??"info",text:b.text,detail:b.detail??"",agentId:b.agentId??null,messageId:b.messageId??null,channel:b.channel??""}),await j(a,b)}},60796:(a,b,c)=>{"use strict";c.d(b,{a:()=>e});var d=c(14819);let e=(0,d.CN)({is:a=>"LimitNode"===a.kind,create:a=>(0,d.CN)({kind:"LimitNode",limit:a})})},60905:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RedirectStatusCode",{enumerable:!0,get:function(){return d}});var c,d=((c={})[c.SeeOther=303]="SeeOther",c[c.TemporaryRedirect=307]="TemporaryRedirect",c[c.PermanentRedirect=308]="PermanentRedirect",c);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},61086:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextRequestAdapter:function(){return n},ResponseAborted:function(){return k},ResponseAbortedName:function(){return j},createAbortController:function(){return l},signalFromNodeResponse:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(90720),g=c(92893),h=c(42253),i=c(44283),j="ResponseAborted";class k extends Error{constructor(...a){super(...a),this.name=j}}function l(a){let b=new AbortController;return a.once("close",()=>{a.writableFinished||b.abort(new k)}),b}function m(a){let{errored:b,destroyed:c}=a;if(b||c)return AbortSignal.abort(b??new k);let{signal:d}=l(a);return d}class n{static fromBaseNextRequest(a,b){if((0,i.isNodeNextRequest)(a))return n.fromNodeNextRequest(a,b);throw Object.defineProperty(Error("Invariant: Unsupported NextRequest type"),"__NEXT_ERROR_CODE",{value:"E345",enumerable:!1,configurable:!0})}static fromNodeNextRequest(a,b){let c,d=null;if("GET"!==a.method&&"HEAD"!==a.method&&a.body&&(d=a.body),a.url.startsWith("http"))c=new URL(a.url);else{let b=(0,f.getRequestMeta)(a,"initURL");c=b&&b.startsWith("http")?new URL(a.url,b):new URL(a.url,"http://n")}return new h.NextRequest(c,{method:a.method,headers:(0,g.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:b,...b.aborted?{}:{body:d}})}static fromWebNextRequest(a){let b=null;return"GET"!==a.method&&"HEAD"!==a.method&&(b=a.body),new h.NextRequest(a.url,{method:a.method,headers:(0,g.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:a.request.signal,...a.request.signal.aborted?{}:{body:b}})}}},61185:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={RenderStage:function(){return i},StagedRenderingController:function(){return j}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(35334),h=c(67279);var i=((d={})[d.Before=1]="Before",d[d.EarlyStatic=2]="EarlyStatic",d[d.Static=3]="Static",d[d.EarlyRuntime=4]="EarlyRuntime",d[d.Runtime=5]="Runtime",d[d.Dynamic=6]="Dynamic",d[d.Abandoned=7]="Abandoned",d);class j{constructor(a,b,c){this.abortSignal=a,this.abandonController=b,this.shouldTrackSyncIO=c,this.currentStage=1,this.syncInterruptReason=null,this.staticStageEndTime=1/0,this.runtimeStageEndTime=1/0,this.staticStageListeners=[],this.earlyRuntimeStageListeners=[],this.runtimeStageListeners=[],this.dynamicStageListeners=[],this.staticStagePromise=(0,h.createPromiseWithResolvers)(),this.earlyRuntimeStagePromise=(0,h.createPromiseWithResolvers)(),this.runtimeStagePromise=(0,h.createPromiseWithResolvers)(),this.dynamicStagePromise=(0,h.createPromiseWithResolvers)(),a&&a.addEventListener("abort",()=>{let{reason:b}=a;this.staticStagePromise.promise.catch(k),this.staticStagePromise.reject(b),this.earlyRuntimeStagePromise.promise.catch(k),this.earlyRuntimeStagePromise.reject(b),this.runtimeStagePromise.promise.catch(k),this.runtimeStagePromise.reject(b),this.dynamicStagePromise.promise.catch(k),this.dynamicStagePromise.reject(b)},{once:!0}),b&&b.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(a,b){if(this.currentStage>=a)b();else if(3===a)this.staticStageListeners.push(b);else if(4===a)this.earlyRuntimeStageListeners.push(b);else if(5===a)this.runtimeStageListeners.push(b);else if(6===a)this.dynamicStageListeners.push(b);else throw Object.defineProperty(new g.InvariantError(`Invalid render stage: ${a}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}shouldTrackSyncInterrupt(){if(!this.shouldTrackSyncIO)return!1;switch(this.currentStage){case 1:case 5:case 6:case 7:default:return!1;case 2:case 3:case 4:return!0}}syncInterruptCurrentStageWithReason(a){if(1!==this.currentStage&&7!==this.currentStage){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=a,this.currentStage=7;return}switch(this.currentStage){case 2:case 3:case 4:this.syncInterruptReason=a,this.advanceStage(6);return;case 5:return}}}getSyncInterruptReason(){return this.syncInterruptReason}getStaticStageEndTime(){return this.staticStageEndTime}getRuntimeStageEndTime(){return this.runtimeStageEndTime}abandonRender(){let{currentStage:a}=this;switch(a){case 2:this.resolveStaticStage();case 3:this.resolveEarlyRuntimeStage();case 4:this.resolveRuntimeStage();case 5:this.currentStage=7;return}}advanceStage(a){if(a<=this.currentStage)return;let b=this.currentStage;if(this.currentStage=a,b<3&&a>=3&&this.resolveStaticStage(),b<4&&a>=4&&this.resolveEarlyRuntimeStage(),b<5&&a>=5&&(this.staticStageEndTime=performance.now()+performance.timeOrigin,this.resolveRuntimeStage()),b<6&&a>=6){this.runtimeStageEndTime=performance.now()+performance.timeOrigin,this.resolveDynamicStage();return}}resolveStaticStage(){let a=this.staticStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.staticStagePromise.resolve()}resolveEarlyRuntimeStage(){let a=this.earlyRuntimeStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.earlyRuntimeStagePromise.resolve()}resolveRuntimeStage(){let a=this.runtimeStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.runtimeStagePromise.resolve()}resolveDynamicStage(){let a=this.dynamicStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.dynamicStagePromise.resolve()}getStagePromise(a){switch(a){case 3:return this.staticStagePromise.promise;case 4:return this.earlyRuntimeStagePromise.promise;case 5:return this.runtimeStagePromise.promise;case 6:return this.dynamicStagePromise.promise;default:throw Object.defineProperty(new g.InvariantError(`Invalid render stage: ${a}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}}waitForStage(a){return this.getStagePromise(a)}delayUntilStage(a,b,c){var d,e,f;let g,h=(d=this.getStagePromise(a),e=b,f=c,g=new Promise((a,b)=>{d.then(a.bind(null,f),b)}),void 0!==e&&(g.displayName=e),g);return this.abortSignal&&h.catch(k),h}}function k(){}},62103:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addLocale",{enumerable:!0,get:function(){return f}});let d=c(91165),e=c(64450);function f(a,b,c,f){if(!b||b===c)return a;let g=a.toLowerCase();return!f&&((0,e.pathHasPrefix)(g,"/api")||(0,e.pathHasPrefix)(g,`/${b.toLowerCase()}`))?a:(0,d.addPathPrefix)(a,`/${b}`)}},62335:(a,b,c)=>{"use strict";c.d(b,{W:()=>f});var d=c(12912);class e extends d.R{get adapter(){throw Error("this query cannot be compiled to SQL")}compileQuery(){throw Error("this query cannot be compiled to SQL")}provideConnection(){throw Error("this query cannot be executed")}withConnectionProvider(){throw Error("this query cannot have a connection provider")}withPlugin(a){return new e([...this.plugins,a])}withPlugins(a){return new e([...this.plugins,...a])}withPluginAtFront(a){return new e([a,...this.plugins])}withoutPlugins(){return new e([])}}let f=new e},62765:(a,b,c)=>{"use strict";c.d(b,{f:()=>f});var d=c(14819);let e=(0,d.CN)({is:a=>"TopNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"TopNode",expression:a,modifiers:b})});function f(a,b){var c;if(!(0,d.Et)(a)&&!(0,d.sI)(a))throw Error(`Invalid top expression: ${a}`);if(!(0,d.b0)(b)&&"percent"!==(c=b)&&"with ties"!==c&&"percent with ties"!==c)throw Error(`Invalid top modifiers: ${b}`);return e.create(a,b)}},63415:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=c(54393),e=c(2894),f=c(77987),g=c(57511),h=c(89944),i=c(77148);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},64154:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={MutableRequestCookiesAdapter:function(){return o},ReadonlyRequestCookiesError:function(){return j},RequestCookiesAdapter:function(){return k},appendMutableCookies:function(){return n},areCookiesMutableInCurrentPhase:function(){return q},createCookiesWithMutableAccessCheck:function(){return p},getModifiedCookieValues:function(){return m},responseCookiesToRequestCookies:function(){return s}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42635),g=c(92272),h=c(29294),i=c(34721);class j extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options")}static callable(){throw new j}}class k{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return j.callable;default:return g.ReflectAdapter.get(a,b,c)}}})}}let l=Symbol.for("next.mutated.cookies");function m(a){let b=a[l];return b&&Array.isArray(b)&&0!==b.length?b:[]}function n(a,b){let c=m(b);if(0===c.length)return!1;let d=new f.ResponseCookies(a),e=d.getAll();for(let a of c)d.set(a);for(let a of e)d.set(a);return!0}class o{static wrap(a,b){let c=new f.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let d=[],e=new Set,j=()=>{let a=h.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=i.ActionDidRevalidateStaticAndDynamic),d=c.getAll().filter(a=>e.has(a.name)),b){let a=[];for(let b of d){let c=new f.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case l:return d;case"delete":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return g.ReflectAdapter.get(a,b,c)}}});return k}}function p(a){let b=new Proxy(a.mutableCookies,{get(c,d,e){switch(d){case"delete":return function(...d){return r(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return r(a,"cookies().set"),c.set(...d),b};default:return g.ReflectAdapter.get(c,d,e)}}});return b}function q(a){return"action"===a.phase}function r(a,b){if(!q(a))throw new j}function s(a){let b=new f.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}},64450:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"pathHasPrefix",{enumerable:!0,get:function(){return e}});let d=c(41420);function e(a,b){if("string"!=typeof a)return!1;let{pathname:c}=(0,d.parsePath)(a);return c===b||c.startsWith(b+"/")}},64665:(a,b,c)=>{"use strict";c.d(b,{t:()=>u});var d=c(26464),e=c(14819),f=c(84932),g=c(14925);let h=(0,e.CN)({is:a=>"AggregateFunctionNode"===a.kind,create:(a,b=[])=>(0,e.CN)({kind:"AggregateFunctionNode",func:a,aggregated:b}),cloneWithDistinct:a=>(0,e.CN)({...a,distinct:!0}),cloneWithOrderBy(a,b,c=!1){let d=c?"withinGroup":"orderBy";return(0,e.CN)({...a,[d]:a[d]?g.O.cloneWithItems(a[d],b):g.O.create(b)})},cloneWithFilter:(a,b)=>(0,e.CN)({...a,filter:a.filter?f.o.cloneWithOperation(a.filter,"And",b):f.o.create(b)}),cloneWithOrFilter:(a,b)=>(0,e.CN)({...a,filter:a.filter?f.o.cloneWithOperation(a.filter,"Or",b):f.o.create(b)}),cloneWithOver:(a,b)=>(0,e.CN)({...a,over:b})}),i=(0,e.CN)({is:a=>"FunctionNode"===a.kind,create:(a,b)=>(0,e.CN)({kind:"FunctionNode",func:a,arguments:b})});var j=c(92748),k=c(82616),l=c(78635),m=c(74524),n=c(60131),o=c(48082),p=c(13934),q=c(46799);class r{#a;constructor(a){this.#a=(0,e.CN)(a)}get expressionType(){}as(a){return new s(this,a)}distinct(){return new r({...this.#a,aggregateFunctionNode:h.cloneWithDistinct(this.#a.aggregateFunctionNode)})}orderBy(...a){return new r({...this.#a,aggregateFunctionNode:q.L.cloneWithOrderByItems(this.#a.aggregateFunctionNode,(0,p.xk)(a))})}clearOrderBy(){return new r({...this.#a,aggregateFunctionNode:q.L.cloneWithoutOrderBy(this.#a.aggregateFunctionNode)})}withinGroupOrderBy(...a){return new r({...this.#a,aggregateFunctionNode:h.cloneWithOrderBy(this.#a.aggregateFunctionNode,(0,p.xk)(a),!0)})}filterWhere(...a){return new r({...this.#a,aggregateFunctionNode:h.cloneWithFilter(this.#a.aggregateFunctionNode,(0,o.GB)(a))})}filterWhereRef(a,b,c){return new r({...this.#a,aggregateFunctionNode:h.cloneWithFilter(this.#a.aggregateFunctionNode,(0,o.vC)(a,b,c))})}over(a){let b=(0,n.EQ)();return new r({...this.#a,aggregateFunctionNode:h.cloneWithOver(this.#a.aggregateFunctionNode,(a?a(b):b).toOperationNode())})}$call(a){return a(this)}$castTo(){return new r(this.#a)}$notNull(){return new r(this.#a)}toOperationNode(){return this.#a.aggregateFunctionNode}}class s{#aG;#d;constructor(a,b){this.#aG=a,this.#d=b}get expression(){return this.#aG}get alias(){return this.#d}toOperationNode(){return l.N.create(this.#aG.toOperationNode(),m.O.create(this.#d))}}var t=c(28213);function u(){let a=(a,b)=>new d.Is(i.create(a,(0,j.kU)(b??[]))),b=(a,b)=>new r({aggregateFunctionNode:h.create(a,b?(0,j.kU)(b):void 0)});return Object.assign(a,{agg:b,avg:a=>b("avg",[a]),coalesce:(...b)=>a("coalesce",b),count:a=>b("count",[a]),countAll:a=>new r({aggregateFunctionNode:h.create("count",(0,k.J)(a))}),max:a=>b("max",[a]),min:a=>b("min",[a]),sum:a=>b("sum",[a]),any:b=>a("any",[b]),jsonAgg:a=>new r({aggregateFunctionNode:h.create("json_agg",[(0,e.Kg)(a)?(0,t.M$)(a):a.toOperationNode()])}),toJson:a=>new d.Is(i.create("to_json",[(0,e.Kg)(a)?(0,t.M$)(a):a.toOperationNode()]))})}},65695:(a,b,c)=>{"use strict";c.d(b,{U:()=>g});var d=c(14819),e=c(30479),f=c(57383);let g=(0,d.CN)({is:a=>"UpdateQueryNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"UpdateQueryNode",table:1===a.length?a[0]:f.v.create(a),...b&&{with:b}}),createWithoutTable:()=>(0,d.CN)({kind:"UpdateQueryNode"}),cloneWithFromItems:(a,b)=>(0,d.CN)({...a,from:a.from?e.N.cloneWithFroms(a.from,b):e.N.create(b)}),cloneWithUpdates:(a,b)=>(0,d.CN)({...a,updates:a.updates?(0,d.CN)([...a.updates,...b]):b}),cloneWithLimit:(a,b)=>(0,d.CN)({...a,limit:b})})},66204:(a,b,c)=>{"use strict";c.d(b,{$s:()=>j,U2:()=>i,dJ:()=>l,qH:()=>k});var d=c(57703),e=c(8971),f=c(9278),g=c(14819),h=c(37961);function i(a){var b;return(0,g.MH)(a)?(b=a).some(h.SS)?e.s.create(b.map(a=>j(a))):d.h.create(b):j(a)}function j(a){return(0,h.SS)(a)?(0,h.YK)(a):f.q.create(a)}function k(a){return(0,g.Et)(a)||(0,g.Lm)(a)||(0,g.kZ)(a)}function l(a){if(!k(a))throw Error(`unsafe immediate value ${JSON.stringify(a)}`);return f.q.createImmediate(a)}},67165:(a,b,c)=>{"use strict";a.exports=c(10846)},67279:(a,b)=>{"use strict";function c(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createPromiseWithResolvers",{enumerable:!0,get:function(){return c}})},67597:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={indexOfUint8Array:function(){return e},isEquivalentUint8Arrays:function(){return f},removeFromUint8Array:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;if("u">typeof Buffer)return(Buffer.isBuffer(a)?a:Buffer.from(a.buffer,a.byteOffset,a.byteLength)).indexOf(b);for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function f(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function g(a,b){let c=e(a,b);if(0===c)return a.subarray(b.length);if(!(c>-1))return a;{let d=new Uint8Array(a.length-b.length);return d.set(a.subarray(0,c)),d.set(a.subarray(c+b.length),c),d}}},68065:(a,b,c)=>{"use strict";c.d(b,{I:()=>t});var d=c(99448),e=c(39837),f=c(94657),g=c(54043),h=c(28334),i=c(51066),j=c(5075),k=c(72560),l=c(43537);let m=({usePlural:a,schema:b,disableIdGeneration:c,options:d,customIdGenerator:e,supportsUUIDs:f})=>{let g=(0,j.G)({usePlural:a,schema:b});return({customModelName:a,forceAllowId:b})=>{let i=d.advanced?.database?.generateId==="serial",j=d.advanced?.database?.generateId==="uuid",k=!c&&(!i||!!b)&&(!j||!f),m=g(a??"id");return{type:i?"number":"string",required:!!k,...k?{defaultValue(){if(c)return;let a=d.advanced?.database?.generateId;if(!1!==a&&"serial"!==a)return"function"==typeof a?a({model:m}):"uuid"===a?crypto.randomUUID():e?e({model:m}):(0,l.$)()}}:{},transform:{input:a=>{if(a){if(i){let b=Number(a);if(isNaN(b))return;return b}if(j){if(k&&!b)return a;if(c)return;if(b&&"string"==typeof a)if(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(a))return a;else{let a=Error().stack?.split("\n").filter((a,b)=>1!==b).join("\n").replace("Error:","");h.vF.warn("[Adapter Factory] - Invalid UUID value for field `id` provided when `forceAllowId` is true. Generating a new UUID.",a)}return f||"string"==typeof a||f?void 0:crypto.randomUUID()}return a}},output:a=>{if(a)return String(a)}}}}};var n=c(47620),o=c(19695),p=c(93288),q=c(56230);let r=[],s=-1,t=({adapter:a,config:b})=>c=>{let g=Math.random().toString(36).substring(2,15),l={...b,supportsBooleans:b.supportsBooleans??!0,supportsDates:b.supportsDates??!0,supportsJSON:b.supportsJSON??!1,adapterName:b.adapterName??b.adapterId,supportsNumericIds:b.supportsNumericIds??!0,supportsUUIDs:b.supportsUUIDs??!1,supportsArrays:b.supportsArrays??!1,transaction:b.transaction??!1,disableTransformInput:b.disableTransformInput??!1,disableTransformOutput:b.disableTransformOutput??!1,disableTransformJoin:b.disableTransformJoin??!1};if(c.advanced?.database?.generateId==="serial"&&!1===l.supportsNumericIds)throw new e.$l(`[${l.adapterName}] Your database or database adapter does not support numeric ids. Please disable "useNumberId" in your config.`);let t=(0,f.y)(c),y=(...a)=>{if(!0===l.debugLogs||"object"==typeof l.debugLogs){let b=(0,h.h)({level:"info"});if("object"==typeof l.debugLogs&&"isRunningAdapterTests"in l.debugLogs){l.debugLogs.isRunningAdapterTests&&(a.shift(),r.push({instance:g,args:a}));return}if("object"!=typeof l.debugLogs||!l.debugLogs.logCondition||l.debugLogs.logCondition?.())if("object"==typeof a[0]&&"method"in a[0]){let c=a.shift().method;if("object"==typeof l.debugLogs){if("create"===c&&!l.debugLogs.create)return;else if("update"===c&&!l.debugLogs.update)return;else if("updateMany"===c&&!l.debugLogs.updateMany)return;else if("findOne"===c&&!l.debugLogs.findOne)return;else if("findMany"===c&&!l.debugLogs.findMany)return;else if("delete"===c&&!l.debugLogs.delete)return;else if("deleteMany"===c&&!l.debugLogs.deleteMany)return;else if("consumeOne"===c&&!l.debugLogs.consumeOne)return;else if("incrementOne"===c&&!l.debugLogs.incrementOne)return;else if("count"===c&&!l.debugLogs.count)return}b.info(`[${l.adapterName}]`,...a)}else b.info(`[${l.adapterName}]`,...a)}},z=(0,h.h)(c.logger),A=(0,j.G)({usePlural:l.usePlural,schema:t}),B=(0,k.z)({usePlural:l.usePlural,schema:t}),C=(0,o.j)({usePlural:l.usePlural,schema:t}),D=(0,n.y)({schema:t,usePlural:l.usePlural}),E=m({schema:t,options:c,usePlural:l.usePlural,disableIdGeneration:l.disableIdGeneration,customIdGenerator:l.customIdGenerator,supportsUUIDs:l.supportsUUIDs}),F=(({usePlural:a,schema:b,options:c,customIdGenerator:d,disableIdGeneration:f})=>{let g=(0,j.G)({usePlural:a,schema:b}),h=(0,k.z)({usePlural:a,schema:b}),i=m({usePlural:a,schema:b,options:c,customIdGenerator:d,disableIdGeneration:f});return({model:a,field:c})=>{let d=g(a),f=h({field:c,model:d}),j=b[d].fields;j.id=i({customModelName:d});let k=j[f];if(!k)throw new e.$l(`Field ${c} not found in model ${a}`);return k}})({schema:t,options:c,usePlural:l.usePlural,disableIdGeneration:l.disableIdGeneration,customIdGenerator:l.customIdGenerator}),G=async(a,b,d,e)=>{let f={},g=t[b].fields,h=l.mapKeysTransformInput??{},i=c.advanced?.database?.generateId==="serial";for(let j in g.id=E({customModelName:b,forceAllowId:e&&"id"in a}),g){let e=a[j],k=g[j],m=h[j]||g[j].fieldName||j;if(void 0===e&&(void 0===k.defaultValue&&!k.transform?.input&&!("update"===d&&k.onUpdate)||"update"===d&&!k.onUpdate))continue;if(k&&"date"===k.type&&!(e instanceof Date)&&"string"==typeof e)try{e=new Date(e)}catch{z.error("[Adapter Factory] Failed to convert string to date",{value:e,field:j})}let n=function(a,b,c){if("update"===c)return void 0===a&&void 0!==b.onUpdate?"function"==typeof b.onUpdate?b.onUpdate():b.onUpdate:a;return"create"===c&&(void 0===a||!0===b.required&&null===a)&&void 0!==b.defaultValue?"function"==typeof b.defaultValue?b.defaultValue():b.defaultValue:a}(e,k,d);k.transform?.input&&(n=await k.transform.input(n)),k.references?.field==="id"&&i?n=Array.isArray(n)?n.map(a=>null!==a?Number(a):null):null!==n?Number(n):null:!1===l.supportsJSON&&"object"==typeof n&&"json"===k.type||!1===l.supportsArrays&&Array.isArray(n)&&("string[]"===k.type||"number[]"===k.type)?n=JSON.stringify(n):!1===l.supportsDates&&n instanceof Date&&"date"===k.type?n=n.toISOString():!1===l.supportsBooleans&&"boolean"==typeof n&&(n=+!!n),l.customTransformInput&&(n=l.customTransformInput({data:n,action:d,field:m,fieldAttributes:k,model:C(b),schema:t,options:c})),void 0!==n&&(f[m]=n)}return f},H=async(a,b,d=[],e)=>{let f=async(a,b,d=[])=>{if(!a)return null;let e=l.mapKeysTransformOutput??{},f={},g=t[A(b)].fields;for(let h in g[Object.entries(e).find(([a,b])=>"id"===b)?.[0]??"id"]={type:c.advanced?.database?.generateId==="serial"?"number":"string"},g){if(d.length&&!d.includes(h))continue;let j=g[h];if(j){let g=j.fieldName||h,k=a[Object.entries(e).find(([a,b])=>b===g)?.[0]||g];j.transform?.output&&(k=await j.transform.output(k));let m=e[h]||h;"id"===g||j.references?.field==="id"?null!=k&&(k=String(k)):!1===l.supportsJSON&&"string"==typeof k&&"json"===j.type||!1===l.supportsArrays&&"string"==typeof k&&("string[]"===j.type||"number[]"===j.type)?k=(0,i.$)(k):!1===l.supportsDates&&"string"==typeof k&&"date"===j.type?k=new Date(k):!1===l.supportsBooleans&&"number"==typeof k&&"boolean"===j.type&&(k=1===k),l.customTransformOutput&&(k=l.customTransformOutput({data:k,field:m,fieldAttributes:j,select:d,model:C(b),schema:t,options:c})),f[m]=k}}return f};if(!e||0===Object.keys(e).length)return await f(a,b,d);b=A(b);let g=await f(a,b,d),h=Object.entries(e).map(([a,b])=>({modelName:C(a),defaultModelName:A(a),joinConfig:b}));if(!a)return null;for(let{modelName:d,defaultModelName:e,joinConfig:i}of h){let h=await (async()=>c.experimental?.joins?a[d]:await K({baseModel:b,baseData:g,joinModel:d,specificJoinConfig:i}))();null==h&&(h="one-to-one"===i.relation?null:[]),"one-to-many"!==i.relation||Array.isArray(h)||(h=[h]);let j=[];if(Array.isArray(h))for(let a of h){let b=await f(a,d,[]);j.push(b)}else{let a=await f(h,d,[]);j.push(a)}g[e]=("one-to-one"===i.relation?j[0]:j)??null}return g},I=({model:a,where:b,action:d})=>{if(!b)return;let f=l.mapKeysTransformInput??{};return b.map(b=>{let{field:g,value:h,operator:i="eq",connector:j="AND",mode:k="sensitive"}=b;if("in"===i&&!Array.isArray(h))throw new e.$l("Value must be an array");let m=h,n=A(a),o=B({field:g,model:a}),p=f[o]||D({field:o,model:n}),q=F({field:o,model:n}),r=c.advanced?.database?.generateId==="serial";if(("id"===o||q.references?.field==="id")&&r&&(m=Array.isArray(h)?h.map(Number):Number(h)),"date"===q.type&&h instanceof Date&&!l.supportsDates&&(m=h.toISOString()),"boolean"===q.type&&"string"==typeof m&&(m="true"===m),"number"===q.type){if("string"==typeof m&&""!==m.trim()){let a=Number(m);Number.isNaN(a)||(m=a)}else if(Array.isArray(m)){let a=m.map(a=>"string"==typeof a&&""!==a.trim()?Number(a):NaN);a.every(a=>!Number.isNaN(a))&&(m=a)}}if("boolean"!==q.type||"boolean"!=typeof m||l.supportsBooleans||(m=+!!m),"json"===q.type&&"object"==typeof h&&!l.supportsJSON)try{m=JSON.stringify(h)}catch(a){throw Error(`Failed to stringify JSON value for field ${p}`,{cause:a})}return l.customTransformInput&&(m=l.customTransformInput({data:m,fieldAttributes:q,field:p,model:C(a),schema:t,options:c,action:d})),{operator:i,connector:j,field:p,value:m,mode:k}})},J=(a,b,d)=>{if(!b||0===Object.keys(b).length)return;let f={};for(let[g,h]of Object.entries(b)){let b,i,j;if(!h)continue;let k=A(g),l=A(a),m=Object.entries(t[k].fields).filter(([a,b])=>b.references&&A(b.references.model)===l),n=!0;if(m.length||(m=Object.entries(t[l].fields).filter(([a,b])=>b.references&&A(b.references.model)===k),n=!1),m.length){if(m.length>1)throw new e.$l(`Multiple foreign keys found for model ${g} and base model ${a} while performing join operation. Only one foreign key is supported.`)}else throw new e.$l(`No foreign key found for model ${g} and base model ${a} while performing join operation.`);let[o,p]=m[0];if(!p.references)throw new e.$l(`No references found for foreign key ${o} on model ${g} while performing join operation.`);n?(b=D({model:a,field:j=p.references.field}),i=D({model:g,field:o})):(b=D({model:a,field:j=o}),i=D({model:g,field:p.references.field})),d&&!d.includes(j)&&d.push(j);let q="id"===i||(p.unique??!1),r=c.advanced?.database?.defaultFindManyLimit??100;q?r=1:"object"==typeof h&&"number"==typeof h.limit&&(r=h.limit),f[C(g)]={on:{from:b,to:i},limit:r,relation:q?"one-to-one":"one-to-many"}}return{join:f,select:d}},K=async({baseModel:a,baseData:b,joinModel:d,specificJoinConfig:e})=>{let f;if(!b)return b;let g=C(d),h=e.on.to,i=b[B({field:e.on.from,model:a})];if(null==i)return"one-to-one"===e.relation?null:[];let j=I({model:g,where:[{field:h,value:i,operator:"eq",connector:"AND"}],action:"findOne"});try{if("one-to-one"===e.relation)f=await (0,p.f)(`db findOne ${g}`,{[q.Xu]:"findOne",[q.qU]:g},()=>L.findOne({model:g,where:j}));else{let a=e.limit??c.advanced?.database?.defaultFindManyLimit??100;f=await (0,p.f)(`db findMany ${g}`,{[q.Xu]:"findMany",[q.qU]:g},()=>L.findMany({model:g,where:j,limit:a}))}}catch(a){throw z.error(`Failed to query fallback join for model ${g}:`,{where:j,limit:e.limit}),console.error(a),a}return f},L=a({options:c,schema:t,debugLog:y,getFieldName:D,getModelName:C,getDefaultModelName:A,getDefaultFieldName:B,getFieldAttributes:F,transformInput:G,transformOutput:H,transformWhereClause:I}),M=null,N={transaction:async a=>{if(!M)if(l.transaction)z.debug(`[${l.adapterName}] - Using provided transaction implementation.`),M=l.transaction;else M=a=>a(N);return M(a)},create:async({data:a,model:b,select:c,forceAllowId:d=!1})=>{let e=++s,f=C(b);b=A(b),"id"in a&&void 0!==a.id&&!d&&(z.warn(`[${l.adapterName}] - You are trying to create a record with an id. This is not allowed as we handle id generation for you, unless you pass in the \`forceAllowId\` parameter. The id will be ignored.`),console.log(Error().stack?.split("\n").filter((a,b)=>1!==b).join("\n").replace("Error:","Create method with `id` being called at:")),a.id=void 0),y({method:"create"},`${u(e)} ${v(1,4)}`,`${w("create")} ${x("Unsafe Input")}:`,{model:f,data:a});let g=a;l.disableTransformInput||(g=await G(a,b,"create",d)),y({method:"create"},`${u(e)} ${v(2,4)}`,`${w("create")} ${x("Parsed Input")}:`,{model:f,data:g});let h=await (0,p.f)(`db create ${f}`,{[q.Xu]:"create",[q.qU]:f},()=>L.create({data:g,model:f}));y({method:"create"},`${u(e)} ${v(3,4)}`,`${w("create")} ${x("DB Result")}:`,{model:f,res:h});let i=h;return l.disableTransformOutput||(i=await H(h,b,c,void 0)),y({method:"create"},`${u(e)} ${v(4,4)}`,`${w("create")} ${x("Parsed Result")}:`,{model:f,data:i}),i},update:async({model:a,where:b,update:c})=>{let d=++s,e=C(a=A(a)),f=I({model:a,where:b,action:"update"});if(0===f.length)return null;y({method:"update"},`${u(d)} ${v(1,4)}`,`${w("update")} ${x("Unsafe Input")}:`,{model:e,data:c});let g=c;l.disableTransformInput||(g=await G(c,a,"update")),y({method:"update"},`${u(d)} ${v(2,4)}`,`${w("update")} ${x("Parsed Input")}:`,{model:e,data:g});let h=await (0,p.f)(`db update ${e}`,{[q.Xu]:"update",[q.qU]:e},()=>L.update({model:e,where:f,update:g}));y({method:"update"},`${u(d)} ${v(3,4)}`,`${w("update")} ${x("DB Result")}:`,{model:e,data:h});let i=h;return l.disableTransformOutput||(i=await H(h,a,void 0,void 0)),y({method:"update"},`${u(d)} ${v(4,4)}`,`${w("update")} ${x("Parsed Result")}:`,{model:e,data:i}),i},updateMany:async({model:a,where:b,update:c})=>{let d=++s,e=C(a),f=I({model:a,where:b,action:"updateMany"});a=A(a),y({method:"updateMany"},`${u(d)} ${v(1,4)}`,`${w("updateMany")} ${x("Unsafe Input")}:`,{model:e,data:c});let g=c;l.disableTransformInput||(g=await G(c,a,"update")),y({method:"updateMany"},`${u(d)} ${v(2,4)}`,`${w("updateMany")} ${x("Parsed Input")}:`,{model:e,data:g});let h=await (0,p.f)(`db updateMany ${e}`,{[q.Xu]:"updateMany",[q.qU]:e},()=>L.updateMany({model:e,where:f,update:g}));return y({method:"updateMany"},`${u(d)} ${v(3,4)}`,`${w("updateMany")} ${x("DB Result")}:`,{model:e,data:h}),y({method:"updateMany"},`${u(d)} ${v(4,4)}`,`${w("updateMany")} ${x("Parsed Result")}:`,{model:e,data:h}),h},findOne:async({model:a,where:b,select:d,join:e})=>{let f,g=++s,h=C(a),i=I({model:a,where:b,action:"findOne"});a=A(a);let j=!0;if(l.disableTransformJoin)f=e;else{let b=J(a,e,d);b&&(f=b.join,d=b.select),!c.experimental?.joins&&f&&Object.keys(f).length>0&&(j=!1)}y({method:"findOne"},`${u(g)} ${v(1,3)}`,`${w("findOne")}:`,{model:h,where:i,select:d,join:f});let k=await (0,p.f)(`db findOne ${h}`,{[q.Xu]:"findOne",[q.qU]:h},()=>L.findOne({model:h,where:i,select:d,join:j?f:void 0}));y({method:"findOne"},`${u(g)} ${v(2,3)}`,`${w("findOne")} ${x("DB Result")}:`,{model:h,data:k});let m=k;return l.disableTransformOutput||(m=await H(k,a,d,f)),y({method:"findOne"},`${u(g)} ${v(3,3)}`,`${w("findOne")} ${x("Parsed Result")}:`,{model:h,data:m}),m},findMany:async({model:a,where:b,limit:d,select:e,sortBy:f,offset:g,join:h})=>{let i,j=++s,k=d??c.advanced?.database?.defaultFindManyLimit??100,m=C(a),n=I({model:a,where:b,action:"findMany"});a=A(a);let o=!0;if(l.disableTransformJoin)i=h;else{let b=J(a,h,e);b&&(i=b.join,e=b.select),!c.experimental?.joins&&i&&Object.keys(i).length>0&&(o=!1)}y({method:"findMany"},`${u(j)} ${v(1,3)}`,`${w("findMany")}:`,{model:m,where:n,limit:k,sortBy:f,offset:g,join:i});let r=await (0,p.f)(`db findMany ${m}`,{[q.Xu]:"findMany",[q.qU]:m},()=>L.findMany({model:m,where:n,limit:k,select:e,sortBy:f,offset:g,join:o?i:void 0}));y({method:"findMany"},`${u(j)} ${v(2,3)}`,`${w("findMany")} ${x("DB Result")}:`,{model:m,data:r});let t=r;return l.disableTransformOutput||(t=await Promise.all(r.map(async b=>await H(b,a,void 0,i)))),y({method:"findMany"},`${u(j)} ${v(3,3)}`,`${w("findMany")} ${x("Parsed Result")}:`,{model:m,data:t}),t},delete:async({model:a,where:b})=>{let c=++s,d=C(a),e=I({model:a,where:b,action:"delete"});a=A(a),y({method:"delete"},`${u(c)} ${v(1,2)}`,`${w("delete")}:`,{model:d,where:e}),await (0,p.f)(`db delete ${d}`,{[q.Xu]:"delete",[q.qU]:d},()=>L.delete({model:d,where:e})),y({method:"delete"},`${u(c)} ${v(2,2)}`,`${w("delete")} ${x("DB Result")}:`,{model:d})},deleteMany:async({model:a,where:b})=>{let c=++s,d=C(a),e=I({model:a,where:b,action:"deleteMany"});a=A(a),y({method:"deleteMany"},`${u(c)} ${v(1,2)}`,`${w("deleteMany")} ${x("DeleteMany")}:`,{model:d,where:e});let f=await (0,p.f)(`db deleteMany ${d}`,{[q.Xu]:"deleteMany",[q.qU]:d},()=>L.deleteMany({model:d,where:e}));return y({method:"deleteMany"},`${u(c)} ${v(2,2)}`,`${w("deleteMany")} ${x("DB Result")}:`,{model:d,data:f}),f},consumeOne:async({model:a,where:b})=>{let c,f=++s,g=C(a),h=I({model:a,where:b,action:"consumeOne"});a=A(a),y({method:"consumeOne"},`${u(f)} ${v(1,3)}`,`${w("consumeOne")} ${x("ConsumeOne")}:`,{model:g,where:h});let i=!0;L.consumeOne?c=await (0,p.f)(`db consumeOne ${g}`,{[q.Xu]:"consumeOne",[q.qU]:g},()=>L.consumeOne({model:g,where:h})):(c=await (0,p.f)(`db consumeOne ${g}`,{[q.Xu]:"consumeOne",[q.qU]:g},()=>(0,d.iD)(N,async()=>{let c=await (0,d.d3)(N),f=(await c.findMany({model:a,where:b,limit:1}))[0];if(!f)return null;let g=await c.deleteMany({model:a,where:[...b,{field:"id",value:f.id,operator:"eq",connector:"AND",mode:"sensitive"}]});if("number"!=typeof g)throw new e.$l(`Adapter "${l.adapterId}" returned a non-numeric value from deleteMany during the consumeOne fallback. Return the number of deleted rows, or implement a native consumeOne for atomic single-use consumption.`);return g>0?f:null})),i=!1),y({method:"consumeOne"},`${u(f)} ${v(2,3)}`,`${w("consumeOne")} ${x("DB Result")}:`,{model:g,data:c});let j=c;return!l.disableTransformOutput&&i&&c&&(j=await H(c,a,void 0,void 0)),y({method:"consumeOne"},`${u(f)} ${v(3,3)}`,`${w("consumeOne")} ${x("Parsed Result")}:`,{model:g,data:j}),j},incrementOne:async({model:a,where:b,increment:c,set:f})=>{let g,h=Object.keys(c).length>0,i=!!f&&Object.keys(f).length>0;if(!h&&!i)throw new e.$l("incrementOne requires a non-empty `increment` or `set`; both were empty.");let j=++s,k=C(a),m=I({model:a,where:b,action:"incrementOne"});a=A(a),y({method:"incrementOne"},`${u(j)} ${v(1,3)}`,`${w("incrementOne")} ${x("IncrementOne")}:`,{model:k,where:m,increment:c,set:f});let n=!0;if(L.incrementOne){let b,d=l.mapKeysTransformInput??{},h={};for(let[b,e]of Object.entries(c))h[d[b]||D({model:a,field:b})]=e;if(b=f&&!l.disableTransformInput?await G(f,a,"update"):f,0===Object.keys(h).length&&(!b||0===Object.keys(b).length))throw new e.$l("incrementOne resolved to an empty update: every increment/set field was unknown to the schema or transformed away.");g=await (0,p.f)(`db incrementOne ${k}`,{[q.Xu]:"incrementOne",[q.qU]:k},()=>L.incrementOne({model:k,where:m,increment:h,set:b}))}else g=await (0,p.f)(`db incrementOne ${k}`,{[q.Xu]:"incrementOne",[q.qU]:k},()=>(0,d.iD)(N,async()=>{let g=await (0,d.d3)(N),h=(await g.findMany({model:a,where:b,limit:1}))[0];if(!h)return null;let i={...f??{}};for(let[a,b]of Object.entries(c))i[a]=("number"==typeof h[a]?h[a]:0)+b;let j=await g.updateMany({model:a,where:[...b,{field:"id",value:h.id,operator:"eq",connector:"AND",mode:"sensitive"}],update:i});if("number"!=typeof j)throw new e.$l(`Adapter "${l.adapterId}" returned a non-numeric value from updateMany during the incrementOne fallback. Return the number of updated rows, or implement a native incrementOne for atomic guarded counter updates.`);return j>0?{...h,...i}:null})),n=!1;y({method:"incrementOne"},`${u(j)} ${v(2,3)}`,`${w("incrementOne")} ${x("DB Result")}:`,{model:k,data:g});let o=g;return!l.disableTransformOutput&&n&&g&&(o=await H(g,a,void 0,void 0)),y({method:"incrementOne"},`${u(j)} ${v(3,3)}`,`${w("incrementOne")} ${x("Parsed Result")}:`,{model:k,data:o}),o},count:async({model:a,where:b})=>{let c=++s,d=C(a),e=I({model:a,where:b,action:"count"});a=A(a),y({method:"count"},`${u(c)} ${v(1,2)}`,`${w("count")}:`,{model:d,where:e});let f=await (0,p.f)(`db count ${d}`,{[q.Xu]:"count",[q.qU]:d},()=>L.count({model:d,where:e}));return y({method:"count"},`${u(c)} ${v(2,2)}`,`${w("count")}:`,{model:d,data:f}),f},createSchema:L.createSchema?async(a,b)=>{let d=(0,f.y)(c);return c.secondaryStorage&&!c.session?.storeSessionInDatabase&&delete d.session,L.createSchema({file:b,tables:d})}:void 0,options:{adapterConfig:l,...L.options??{}},id:l.adapterId,...l.debugLogs?.isRunningAdapterTests?{adapterTestDebugLogs:{resetDebugLogs(){r=r.filter(a=>a.instance!==g)},printDebugLogs(){let a="â".repeat(80),b=r.filter(a=>a.instance===g);0===b.length||console.log(...b.reverse().map(a=>(a.args[0]=`
|
|
427
427
|
${a.args[0]}`,[...a.args,"\n"])).reduce((a,b)=>[...b,...a],[`
|