constellai 0.3.9 → 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.
Files changed (242) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +2 -2
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/app/(app)/activity/page.js +1 -1
  5. package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
  6. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  7. package/.next/server/app/(app)/agents/[handle]/page.js +2 -2
  8. package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -1
  9. package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/(app)/code/page.js +2 -2
  11. package/.next/server/app/(app)/code/page.js.nft.json +1 -1
  12. package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/(app)/config/page.js +2 -2
  14. package/.next/server/app/(app)/config/page.js.nft.json +1 -1
  15. package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -1
  16. package/.next/server/app/(app)/costs/page.js +2 -2
  17. package/.next/server/app/(app)/costs/page.js.nft.json +1 -1
  18. package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/(app)/cron/page.js +2 -2
  20. package/.next/server/app/(app)/cron/page.js.nft.json +1 -1
  21. package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/(app)/dashboard/page.js +2 -2
  23. package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -1
  24. package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -1
  25. package/.next/server/app/(app)/design/page.js +3 -3
  26. package/.next/server/app/(app)/design/page.js.nft.json +1 -1
  27. package/.next/server/app/(app)/design/page_client-reference-manifest.js +1 -1
  28. package/.next/server/app/(app)/docs/[id]/page.js +1 -1
  29. package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -1
  30. package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -1
  31. package/.next/server/app/(app)/docs/page.js +2 -2
  32. package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
  33. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
  34. package/.next/server/app/(app)/github/page.js +2 -2
  35. package/.next/server/app/(app)/github/page.js.nft.json +1 -1
  36. package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -1
  37. package/.next/server/app/(app)/goals/page.js +1 -1
  38. package/.next/server/app/(app)/goals/page.js.nft.json +1 -1
  39. package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -1
  40. package/.next/server/app/(app)/inbox/page.js +2 -2
  41. package/.next/server/app/(app)/inbox/page.js.nft.json +1 -1
  42. package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -1
  43. package/.next/server/app/(app)/knowledge/page.js +3 -3
  44. package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -1
  45. package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -1
  46. package/.next/server/app/(app)/models/page.js +2 -2
  47. package/.next/server/app/(app)/models/page.js.nft.json +1 -1
  48. package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -1
  49. package/.next/server/app/(app)/notifications/page.js +2 -2
  50. package/.next/server/app/(app)/notifications/page.js.nft.json +1 -1
  51. package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -1
  52. package/.next/server/app/(app)/org/page.js +4 -4
  53. package/.next/server/app/(app)/org/page.js.nft.json +1 -1
  54. package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/(app)/organizations/page.js +2 -2
  56. package/.next/server/app/(app)/organizations/page.js.nft.json +1 -1
  57. package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -1
  58. package/.next/server/app/(app)/page.js +3 -3
  59. package/.next/server/app/(app)/page.js.nft.json +1 -1
  60. package/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
  61. package/.next/server/app/(app)/planner/page.js +2 -2
  62. package/.next/server/app/(app)/planner/page.js.nft.json +1 -1
  63. package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -1
  64. package/.next/server/app/(app)/plugins/page.js +2 -2
  65. package/.next/server/app/(app)/plugins/page.js.nft.json +1 -1
  66. package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -1
  67. package/.next/server/app/(app)/pm/page.js +2 -2
  68. package/.next/server/app/(app)/pm/page.js.nft.json +1 -1
  69. package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -1
  70. package/.next/server/app/(app)/prepare-deploy/page.js +3 -3
  71. package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -1
  72. package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -1
  73. package/.next/server/app/(app)/profile/page.js +2 -2
  74. package/.next/server/app/(app)/profile/page.js.nft.json +1 -1
  75. package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -1
  76. package/.next/server/app/(app)/pulse/page.js +2 -2
  77. package/.next/server/app/(app)/pulse/page.js.nft.json +1 -1
  78. package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -1
  79. package/.next/server/app/(app)/reports/[id]/page.js +2 -2
  80. package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -1
  81. package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -1
  82. package/.next/server/app/(app)/reports/page.js +3 -3
  83. package/.next/server/app/(app)/reports/page.js.nft.json +1 -1
  84. package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -1
  85. package/.next/server/app/(app)/routines/page.js +2 -2
  86. package/.next/server/app/(app)/routines/page.js.nft.json +1 -1
  87. package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -1
  88. package/.next/server/app/(app)/search/page.js +2 -2
  89. package/.next/server/app/(app)/search/page.js.nft.json +1 -1
  90. package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -1
  91. package/.next/server/app/(app)/security/page.js +2 -2
  92. package/.next/server/app/(app)/security/page.js.nft.json +1 -1
  93. package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
  94. package/.next/server/app/(app)/skills/page.js +3 -3
  95. package/.next/server/app/(app)/skills/page.js.nft.json +1 -1
  96. package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -1
  97. package/.next/server/app/(app)/tasks/page.js +2 -2
  98. package/.next/server/app/(app)/tasks/page.js.nft.json +1 -1
  99. package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -1
  100. package/.next/server/app/(app)/test-dev/page.js +1 -1
  101. package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -1
  102. package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -1
  103. package/.next/server/app/(app)/update/page.js +3 -3
  104. package/.next/server/app/(app)/update/page.js.nft.json +1 -1
  105. package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -1
  106. package/.next/server/app/(auth)/login/page.js +2 -2
  107. package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
  108. package/.next/server/app/(auth)/onboarding/page.js +1 -1
  109. package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -1
  110. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  111. package/.next/server/app/_global-error.html +1 -1
  112. package/.next/server/app/_global-error.rsc +1 -1
  113. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  114. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  115. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  116. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  117. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  118. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  119. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/cron/tick/route.js +2 -2
  121. package/.next/server/app/api/passkey/authenticate/verify/route.js +1 -1
  122. package/.next/server/app/api/passkey/register/verify/route.js +1 -1
  123. package/.next/server/app/api/sync/file/route.js +1 -1
  124. package/.next/server/app/api/telegram/poll/route.js +3 -3
  125. package/.next/server/app/api/v1/[[...path]]/route.js +1 -1
  126. package/.next/server/chunks/1033.js +1 -1
  127. package/.next/server/chunks/1881.js +1 -0
  128. package/.next/server/chunks/1986.js +1 -1
  129. package/.next/server/chunks/2118.js +1 -1
  130. package/.next/server/chunks/2170.js +1 -0
  131. package/.next/server/chunks/{3481.js → 2718.js} +17 -17
  132. package/.next/server/chunks/3987.js +3 -3
  133. package/.next/server/chunks/4288.js +1 -1
  134. package/.next/server/chunks/5580.js +12 -0
  135. package/.next/server/chunks/5878.js +1 -1
  136. package/.next/server/chunks/{7348.js → 6296.js} +2 -2
  137. package/.next/server/chunks/7867.js +1 -1
  138. package/.next/server/chunks/7905.js +1 -1
  139. package/.next/server/chunks/8013.js +1 -0
  140. package/.next/server/chunks/8134.js +1 -1
  141. package/.next/server/chunks/8211.js +1 -1
  142. package/.next/server/chunks/8236.js +21 -0
  143. package/.next/server/chunks/907.js +1 -1
  144. package/.next/server/chunks/9344.js +3 -3
  145. package/.next/server/middleware-build-manifest.js +1 -1
  146. package/.next/server/pages/500.html +1 -1
  147. package/.next/server/server-reference-manifest.js +1 -1
  148. package/.next/server/server-reference-manifest.json +1 -1
  149. package/.next/static/chunks/{4365-c5eb5b6af7bfc653.js → 1352-1e5e6e2ea57a0821.js} +2 -2
  150. package/.next/static/chunks/2171-7d8bf2df1d540a82.js +1 -0
  151. package/.next/static/chunks/2636-13f5de5bc9726cc3.js +1 -0
  152. package/.next/static/chunks/{7218-44d9a247cf4980fa.js → 7218-9fbc00e6cec34afa.js} +2 -2
  153. package/.next/static/chunks/8834-3c7f77ceebbeb079.js +1 -0
  154. package/.next/static/chunks/app/(app)/activity/{page-8cf9b4c853ca9c69.js → page-c6f3b54a1401c391.js} +1 -1
  155. package/.next/static/chunks/app/(app)/agents/[handle]/page-38922257bbd82998.js +1 -0
  156. package/.next/static/chunks/app/(app)/code/page-51869dcdc0b0a50f.js +1 -0
  157. package/.next/static/chunks/app/(app)/config/page-ccaa231f4f64912a.js +1 -0
  158. package/.next/static/chunks/app/(app)/costs/page-864fe3407d0dc6c0.js +1 -0
  159. package/.next/static/chunks/app/(app)/cron/page-7be322a05e559da8.js +1 -0
  160. package/.next/static/chunks/app/(app)/dashboard/page-f181d957748f8f27.js +1 -0
  161. package/.next/static/chunks/app/(app)/design/{page-3ff2eae843e8b7ea.js → page-dac84fe4a5e31454.js} +3 -3
  162. package/.next/static/chunks/app/(app)/docs/[id]/page-74da9f8a13f14a07.js +1 -0
  163. package/.next/static/chunks/app/(app)/docs/page-689045673b039708.js +1 -0
  164. package/.next/static/chunks/app/(app)/github/page-7b8ae16a0cd14bd3.js +1 -0
  165. package/.next/static/chunks/app/(app)/goals/page-49682d30eb297a16.js +1 -0
  166. package/.next/static/chunks/app/(app)/inbox/page-000769b0e849a435.js +12 -0
  167. package/.next/static/chunks/app/(app)/knowledge/page-c329694479ee85cb.js +1 -0
  168. package/.next/static/chunks/app/(app)/layout-21e16931eac987ab.js +1 -0
  169. package/.next/static/chunks/app/(app)/models/page-3e92db0acfbf844b.js +1 -0
  170. package/.next/static/chunks/app/(app)/notifications/page-646bdc5a20cac43b.js +12 -0
  171. package/.next/static/chunks/app/(app)/org/page-08141e549fea39ad.js +12 -0
  172. package/.next/static/chunks/app/(app)/organizations/page-b5617487ef2255ce.js +1 -0
  173. package/.next/static/chunks/app/(app)/page-f2a05b3f92886a0c.js +1 -0
  174. package/.next/static/chunks/app/(app)/planner/{page-a2c45cb14b53454a.js → page-4241aa863f23a96d.js} +1 -1
  175. package/.next/static/chunks/app/(app)/plugins/page-2e96b6b32d288dca.js +1 -0
  176. package/.next/static/chunks/app/(app)/pm/page-182d8faa90ed2643.js +1 -0
  177. package/.next/static/chunks/app/(app)/prepare-deploy/page-15ba476bf716d7e2.js +1 -0
  178. package/.next/static/chunks/app/(app)/profile/page-e18ad0668e7e7305.js +1 -0
  179. package/.next/static/chunks/app/(app)/pulse/page-d528de016fb3ec49.js +1 -0
  180. package/.next/static/chunks/app/(app)/reports/[id]/page-7be322a05e559da8.js +1 -0
  181. package/.next/static/chunks/app/(app)/reports/page-67f64d0e809c2bca.js +1 -0
  182. package/.next/static/chunks/app/(app)/routines/page-cdb5f6e2ca82640b.js +1 -0
  183. package/.next/static/chunks/app/(app)/search/page-a91bfaab25cd6aff.js +1 -0
  184. package/.next/static/chunks/app/(app)/security/page-79d44198dd58f2dd.js +1 -0
  185. package/.next/static/chunks/app/(app)/skills/page-2af4de1e97575285.js +1 -0
  186. package/.next/static/chunks/app/(app)/tasks/{page-0750ff77f17bdd9d.js → page-c975303be89aaee5.js} +1 -1
  187. package/.next/static/chunks/app/(app)/test-dev/page-2e0b655d1a79a326.js +1 -0
  188. package/.next/static/chunks/app/(app)/update/page-a1f8b007304e9bdc.js +1 -0
  189. package/.next/static/chunks/app/(auth)/login/page-a8d0d8f09f9794ef.js +1 -0
  190. package/.next/static/chunks/app/(auth)/onboarding/page-7ce367a9bc0bcbeb.js +1 -0
  191. package/.next/static/chunks/app/layout-c717657a60a7f62c.js +1 -0
  192. package/.next/trace-build +1 -1
  193. package/CHANGELOG.md +15 -0
  194. package/README.md +1 -1
  195. package/README.pt-BR.md +1 -1
  196. package/bin/constella.mjs +22 -0
  197. package/docs/UPDATE.md +9 -3
  198. package/package.json +1 -1
  199. package/.next/server/chunks/1190.js +0 -12
  200. package/.next/server/chunks/4435.js +0 -1
  201. package/.next/server/chunks/4732.js +0 -1
  202. package/.next/server/chunks/739.js +0 -1
  203. package/.next/server/chunks/8868.js +0 -21
  204. package/.next/static/chunks/1738-28b6824e2a707b93.js +0 -1
  205. package/.next/static/chunks/6871-a079ac1b4f0caec2.js +0 -1
  206. package/.next/static/chunks/7466-6d8ba01f169a6a1e.js +0 -1
  207. package/.next/static/chunks/app/(app)/agents/[handle]/page-068e58bd327db429.js +0 -1
  208. package/.next/static/chunks/app/(app)/code/page-98becb790f9aeedf.js +0 -1
  209. package/.next/static/chunks/app/(app)/config/page-b5447ad490de11f7.js +0 -1
  210. package/.next/static/chunks/app/(app)/costs/page-02324b05660bad50.js +0 -1
  211. package/.next/static/chunks/app/(app)/cron/page-5c9c6fea5aee299c.js +0 -1
  212. package/.next/static/chunks/app/(app)/dashboard/page-742ac16dbfce548b.js +0 -1
  213. package/.next/static/chunks/app/(app)/docs/[id]/page-f7cc168b103da51e.js +0 -1
  214. package/.next/static/chunks/app/(app)/docs/page-bc93a2e0342c61af.js +0 -1
  215. package/.next/static/chunks/app/(app)/github/page-44b09f94c19f56f0.js +0 -1
  216. package/.next/static/chunks/app/(app)/goals/page-b66ec65a7221b023.js +0 -1
  217. package/.next/static/chunks/app/(app)/inbox/page-57a8ab9347276aa2.js +0 -12
  218. package/.next/static/chunks/app/(app)/knowledge/page-fb3902b3c7348818.js +0 -1
  219. package/.next/static/chunks/app/(app)/layout-98aa9e760faf2331.js +0 -1
  220. package/.next/static/chunks/app/(app)/models/page-92f957c7400497f0.js +0 -1
  221. package/.next/static/chunks/app/(app)/notifications/page-e3fcdad57e7a94fd.js +0 -12
  222. package/.next/static/chunks/app/(app)/org/page-9030d33729e45e07.js +0 -12
  223. package/.next/static/chunks/app/(app)/organizations/page-f29c3dc4b3327b8d.js +0 -1
  224. package/.next/static/chunks/app/(app)/page-0e7e7cfd98d44f59.js +0 -1
  225. package/.next/static/chunks/app/(app)/plugins/page-792b3dc0ae8571db.js +0 -1
  226. package/.next/static/chunks/app/(app)/pm/page-4624950feadad3be.js +0 -1
  227. package/.next/static/chunks/app/(app)/prepare-deploy/page-a5d2911069317635.js +0 -1
  228. package/.next/static/chunks/app/(app)/profile/page-10ce6fd89387a1f0.js +0 -1
  229. package/.next/static/chunks/app/(app)/pulse/page-793ce0d2074d2cd7.js +0 -1
  230. package/.next/static/chunks/app/(app)/reports/[id]/page-5c9c6fea5aee299c.js +0 -1
  231. package/.next/static/chunks/app/(app)/reports/page-cfa78938aef16acc.js +0 -1
  232. package/.next/static/chunks/app/(app)/routines/page-06df804a8db66b2d.js +0 -1
  233. package/.next/static/chunks/app/(app)/search/page-eec2f135e6af9c70.js +0 -1
  234. package/.next/static/chunks/app/(app)/security/page-23dd0b8308ee48b8.js +0 -1
  235. package/.next/static/chunks/app/(app)/skills/page-d3d63cac10ce08e1.js +0 -1
  236. package/.next/static/chunks/app/(app)/test-dev/page-7c09ba848265ffe6.js +0 -1
  237. package/.next/static/chunks/app/(app)/update/page-e70ac9974eb7bf03.js +0 -1
  238. package/.next/static/chunks/app/(auth)/login/page-0ee8f367460d835a.js +0 -1
  239. package/.next/static/chunks/app/(auth)/onboarding/page-1de0c42322e9f296.js +0 -1
  240. package/.next/static/chunks/app/layout-a80704c0fd0a9e29.js +0 -1
  241. /package/.next/static/{vW8upousaXo7DvSlRwFbb → PjU7M0g-BKQT9AfTuZvgl}/_buildManifest.js +0 -0
  242. /package/.next/static/{vW8upousaXo7DvSlRwFbb → 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,"001d16694995abe26f4f19abcd2afbcb14baa2f54d",null),(0,s.A)(ab,"00d65aadb2b093b5e3316b26e8214c8dbec693d3d8",null),(0,s.A)(ac,"402bf9d698c935f90139857c5ee816f0925b2f4c85",null),(0,s.A)(ad,"00d755a9414ab910fb9707b07cb2bc669cbb52768c",null),(0,s.A)(ae,"40ec7dc7ac14af3c16cacc0dd7501b8b23bd60c7f5",null),(0,s.A)(af,"00ffc53f6108023783cfde05ee215eab4da4b0ffee",null),(0,s.A)(ah,"4093a638bbf25c217b2dcd7a60e3863af53581f4f6",null),(0,s.A)(ai,"401c5051bc353b84413b009dd51f516148c91d0a6c",null),(0,s.A)(aj,"40c7e47e1cc2d9177d758ceeac9062e7f258e5798e",null),(0,s.A)(ak,"405024f72692c33a38c13ce62dedfd1fc4772cc7bb",null),(0,s.A)(al,"40ad11a33262da1899a6826210e521724c5db5ab0e",null),(0,s.A)(as,"0036e0e3aed32ebc221551eb790eeac7654c2f9ead",null),(0,s.A)(at,"004dad502111825011e799dc5f3456eb391617c0ab",null),(0,s.A)(au,"002b210d490bfa99b1e3b3dcf5278a1a34186c9de2",null),(0,s.A)(ay,"00fdd067a717b4bec952b6217c776dae025cfc6b19",null),(0,s.A)(az,"00b7c531efd4fb1ca1ffa96d784f08d7e41d4537a5",null),(0,s.A)(aA,"002e86b903268c109648432c9929f609e8e1cd431e",null),(0,s.A)(aB,"00be1b609c8b1d4ee869da2a24669791bf714540cc",null),(0,s.A)(aC,"0034909a2352aaa8e86a3701ef7b3f8e84b0189b2a",null),(0,s.A)(aD,"00a76b217eeb7097c4ba372a728d57bbc66adc2cbe",null),(0,s.A)(aE,"002ad4a53b99266d836bd498f3f9c9f93d7af939fb",null),(0,s.A)(aF,"40dd3790d27215bc81b13a7b70b0dca9fdc9e28db9",null),(0,s.A)(aG,"00af40297858927e400bb6f4df39523802b9a1169d",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,"6083e8782c991e56c33bf2670e8a0c3f540168ac60",null),(0,s.A)(a2,"40a9d05cb5ccd8860e0235a6edcb63d42e09a8745f",null),(0,s.A)(a3,"404323bd4e9f4a2de308837b15655a8d7c9415fac5",null),(0,s.A)(a5,"40640aa1e259ff39b3b64049c06bb50eda4cc87ea7",null),(0,s.A)(a6,"405997874720b9369fe1d0c23affd20f712cca846f",null),(0,s.A)(a7,"4085d3346869dc3e5fecc6670fc814d1b523fc29b3",null),(0,s.A)(a8,"40e263de90ca0143c45b4e89eb82cbaf77fb9dc6fc",null),(0,s.A)(a9,"4014593f48d8833be86e0b7dff2099b314d489d398",null),(0,s.A)(ba,"408ba223aec7ad60b6fb11bdea24afd7371255d575",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,"70fc54beaa8893b4532bcbebbdd236a4e938781544",null),(0,s.A)(bq,"60a3d44b282c3fc785b97ee6983137620eb7272345",null),(0,s.A)(br,"40c96648818d9d4ec130d567d4e3b3deb7d8724ae9",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,"00c1203e4de4a3f7c59b6e117bce32c5f9f8e1bb59",null),(0,s.A)(b6,"40ba827778cc9afae5ab41aa5cd8e4cfb89b37e3db",null),(0,s.A)(b7,"7064a5f752cc0107884224a36b01befc2f6fd6fba4",null),(0,s.A)(b8,"40013167334e9c5909d5a49208cd7bdd390497efe3",null),(0,s.A)(b9,"704f8b8b0844d526a7840066d6e99fc851e9902780",null),(0,s.A)(ca,"00e679961093600765d5177e2b3cde814e84a11766",null),(0,s.A)(cb,"60207b3edb388e4b1f4c6add9fe87c45038c85803c",null),(0,s.A)(cc,"00b7343b9be87a777c99551a954722031c66d9a178",null),(0,s.A)(ce,"601886d36b903eae39aa2d6755f8cda894f37cbad5",null),(0,s.A)(cf,"00d8efef48b73ec337df23f7ab530632cab6662c03",null),(0,s.A)(ch,"606af0fc590574400bb3424d3b678eaa11902fb114",null),(0,s.A)(ck,"60bb60af78eb2e0494e29b19cbc5dd6b653ff0e9ec",null),(0,s.A)(cl,"0065245bcdbe5768c989195823cf77b2811ce397d4",null),(0,s.A)(cm,"0057fef5f4c3a7908b17ebee99b5fafa167cb86c7a",null),(0,s.A)(cn,"4098adb7b9cb6d8ece6a5d5da39e8c06941be1f196",null),(0,s.A)(co,"001f06b8e5d1dae22ea9780fa3e8d2a12e364bdd06",null),(0,s.A)(cq,"400131ca77bbfb1ac4d799e619f1aa13d27cdcee48",null),(0,s.A)(cs,"0074379a2535bd5392e0dbde1f2463ed56bde60f53",null),(0,s.A)(ct,"603a0bee748da70ce7c6eeb9eed35eb5791ca34fd5",null),(0,s.A)(cu,"40ebc4494ff674327f4f0bdde94c626e1970bff237",null),(0,s.A)(cv,"00ae804b8f08d9be53e841dedfae723956105acfe0",null),(0,s.A)(cx,"00e0d80384e6e10ca7ab9d59884a0bc960b9c46260",null),(0,s.A)(cy,"6071acd600fbb10587d980179307f0fd094a5f115a",null),(0,s.A)(cz,"40abdf7aae1b6c1eb3a4f2b3e7ee903de41565d01d",null),(0,s.A)(cA,"40930525e94ac0b0cf8c69a77b18ea75797697ede7",null),(0,s.A)(cB,"40a7743715198e7409c8a4cd0a07beb4c5e0468668",null),(0,s.A)(cC,"7c22b8b2c3d793c3aaaa313b550ba7e274863d17dc",null),(0,s.A)(cD,"707c7fd0696d03085cd45440035e098cd78345649c",null),(0,s.A)(cE,"4065a8605d2b51d7b64c3e8d3d63abe311f0726dd5",null),(0,s.A)(cF,"7053230fcc82cc3fdd37196885d8475eeb89f396ff",null),(0,s.A)(cG,"60f8cc90db98cfdc08de4403875a6eb7a03b924ec9",null),(0,s.A)(cI,"001dd8c9d00bd6c066bcf76069721ed4629efea404",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,"60a408a3a21b681b16b206149fd9e0790a4304056e",null),(0,d.A)(m,"600adfc269778741217c31377d7e0b633650bc2ec9",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],[`