constellai 0.3.6 → 0.3.8

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 (477) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +3 -3
  3. package/.next/build-manifest.json +6 -6
  4. package/.next/next-minimal-server.js.nft.json +1 -1
  5. package/.next/next-server.js.nft.json +1 -1
  6. package/.next/prerender-manifest.json +3 -3
  7. package/.next/react-loadable-manifest.json +6 -6
  8. package/.next/server/app/(app)/activity/page.js +2 -2
  9. package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
  10. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/(app)/agents/[handle]/page.js +3 -3
  12. package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -1
  13. package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/(app)/code/page.js +2 -2
  15. package/.next/server/app/(app)/code/page.js.nft.json +1 -1
  16. package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/(app)/config/page.js +2 -2
  18. package/.next/server/app/(app)/config/page.js.nft.json +1 -1
  19. package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/(app)/costs/page.js +2 -2
  21. package/.next/server/app/(app)/costs/page.js.nft.json +1 -1
  22. package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/(app)/cron/page.js +2 -2
  24. package/.next/server/app/(app)/cron/page.js.nft.json +1 -1
  25. package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/(app)/dashboard/page.js +2 -2
  27. package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -1
  28. package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -1
  29. package/.next/server/app/(app)/design/page.js +53 -53
  30. package/.next/server/app/(app)/design/page.js.nft.json +1 -1
  31. package/.next/server/app/(app)/design/page_client-reference-manifest.js +1 -1
  32. package/.next/server/app/(app)/docs/[id]/page.js +2 -2
  33. package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -1
  34. package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/(app)/docs/page.js +2 -2
  36. package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
  37. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/(app)/github/page.js +2 -2
  39. package/.next/server/app/(app)/github/page.js.nft.json +1 -1
  40. package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -1
  41. package/.next/server/app/(app)/goals/page.js +2 -2
  42. package/.next/server/app/(app)/goals/page.js.nft.json +1 -1
  43. package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/(app)/inbox/page.js +2 -2
  45. package/.next/server/app/(app)/inbox/page.js.nft.json +1 -1
  46. package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/(app)/knowledge/page.js +3 -3
  48. package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -1
  49. package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app/(app)/models/page.js +2 -2
  51. package/.next/server/app/(app)/models/page.js.nft.json +1 -1
  52. package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -1
  53. package/.next/server/app/(app)/notifications/page.js +2 -2
  54. package/.next/server/app/(app)/notifications/page.js.nft.json +1 -1
  55. package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/(app)/org/page.js +4 -4
  57. package/.next/server/app/(app)/org/page.js.nft.json +1 -1
  58. package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/(app)/organizations/page.js +2 -2
  60. package/.next/server/app/(app)/organizations/page.js.nft.json +1 -1
  61. package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -1
  62. package/.next/server/app/(app)/page.js +3 -3
  63. package/.next/server/app/(app)/page.js.nft.json +1 -1
  64. package/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/(app)/planner/page.js +3 -3
  66. package/.next/server/app/(app)/planner/page.js.nft.json +1 -1
  67. package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -1
  68. package/.next/server/app/(app)/plugins/page.js +2 -2
  69. package/.next/server/app/(app)/plugins/page.js.nft.json +1 -1
  70. package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -1
  71. package/.next/server/app/(app)/pm/page.js +2 -2
  72. package/.next/server/app/(app)/pm/page.js.nft.json +1 -1
  73. package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/(app)/prepare-deploy/page.js +3 -3
  75. package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -1
  76. package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/(app)/profile/page.js +2 -2
  78. package/.next/server/app/(app)/profile/page.js.nft.json +1 -1
  79. package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -1
  80. package/.next/server/app/(app)/pulse/page.js +2 -2
  81. package/.next/server/app/(app)/pulse/page.js.nft.json +1 -1
  82. package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/(app)/reports/[id]/page.js +3 -3
  84. package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -1
  85. package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -1
  86. package/.next/server/app/(app)/reports/page.js +3 -3
  87. package/.next/server/app/(app)/reports/page.js.nft.json +1 -1
  88. package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -1
  89. package/.next/server/app/(app)/routines/page.js +2 -2
  90. package/.next/server/app/(app)/routines/page.js.nft.json +1 -1
  91. package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -1
  92. package/.next/server/app/(app)/search/page.js +2 -2
  93. package/.next/server/app/(app)/search/page.js.nft.json +1 -1
  94. package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/(app)/security/page.js +2 -2
  96. package/.next/server/app/(app)/security/page.js.nft.json +1 -1
  97. package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
  98. package/.next/server/app/(app)/skills/page.js +3 -3
  99. package/.next/server/app/(app)/skills/page.js.nft.json +1 -1
  100. package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -1
  101. package/.next/server/app/(app)/tasks/page.js +2 -2
  102. package/.next/server/app/(app)/tasks/page.js.nft.json +1 -1
  103. package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/(app)/test-dev/page.js +2 -2
  105. package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -1
  106. package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -1
  107. package/.next/server/app/(app)/update/page.js +3 -3
  108. package/.next/server/app/(app)/update/page.js.nft.json +1 -1
  109. package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -1
  110. package/.next/server/app/(auth)/login/page.js +2 -2
  111. package/.next/server/app/(auth)/login/page.js.nft.json +1 -1
  112. package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
  113. package/.next/server/app/(auth)/onboarding/page.js +2 -2
  114. package/.next/server/app/(auth)/onboarding/page.js.nft.json +1 -1
  115. package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -1
  116. package/.next/server/app/_global-error/page.js +3 -3
  117. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  118. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  119. package/.next/server/app/_global-error.html +1 -1
  120. package/.next/server/app/_global-error.rsc +8 -8
  121. package/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
  122. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
  123. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +3 -3
  124. package/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  125. package/.next/server/app/_global-error.segments/_index.segment.rsc +4 -4
  126. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  127. package/.next/server/app/_not-found/page.js +2 -2
  128. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  129. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/auth/[...all]/route.js +1 -1
  131. package/.next/server/app/api/auth/[...all]/route.js.nft.json +1 -1
  132. package/.next/server/app/api/cron/tick/route.js +5 -5
  133. package/.next/server/app/api/cron/tick/route.js.nft.json +1 -1
  134. package/.next/server/app/api/health/route.js +1 -1
  135. package/.next/server/app/api/health/route.js.nft.json +1 -1
  136. package/.next/server/app/api/locks/acquire/route.js +1 -1
  137. package/.next/server/app/api/locks/acquire/route.js.nft.json +1 -1
  138. package/.next/server/app/api/models/progress/route.js +1 -1
  139. package/.next/server/app/api/models/progress/route.js.nft.json +1 -1
  140. package/.next/server/app/api/passkey/authenticate/options/route.js +1 -1
  141. package/.next/server/app/api/passkey/authenticate/options/route.js.nft.json +1 -1
  142. package/.next/server/app/api/passkey/authenticate/verify/route.js +1 -1
  143. package/.next/server/app/api/passkey/authenticate/verify/route.js.nft.json +1 -1
  144. package/.next/server/app/api/passkey/register/options/route.js +1 -1
  145. package/.next/server/app/api/passkey/register/options/route.js.nft.json +1 -1
  146. package/.next/server/app/api/passkey/register/verify/route.js +1 -1
  147. package/.next/server/app/api/passkey/register/verify/route.js.nft.json +1 -1
  148. package/.next/server/app/api/stream/route.js +2 -2
  149. package/.next/server/app/api/stream/route.js.nft.json +1 -1
  150. package/.next/server/app/api/sync/file/route.js +2 -2
  151. package/.next/server/app/api/sync/file/route.js.nft.json +1 -1
  152. package/.next/server/app/api/telegram/poll/route.js +19 -19
  153. package/.next/server/app/api/telegram/poll/route.js.nft.json +1 -1
  154. package/.next/server/app/api/upload/route.js +1 -1
  155. package/.next/server/app/api/upload/route.js.nft.json +1 -1
  156. package/.next/server/app/api/v1/[[...path]]/route.js +1 -1
  157. package/.next/server/app/api/v1/[[...path]]/route.js.nft.json +1 -1
  158. package/.next/server/app-paths-manifest.json +3 -3
  159. package/.next/server/chunks/1033.js +14 -0
  160. package/.next/server/chunks/1243.js +1 -0
  161. package/.next/server/chunks/{6719.js → 1304.js} +1 -1
  162. package/.next/server/chunks/1678.js +417 -0
  163. package/.next/server/chunks/1952.js +1 -0
  164. package/.next/server/chunks/{8561.js → 1986.js} +2 -2
  165. package/.next/server/chunks/2118.js +869 -0
  166. package/.next/server/chunks/2323.js +1 -0
  167. package/.next/server/chunks/{7336.js → 2392.js} +1 -1
  168. package/.next/server/chunks/2559.js +479 -0
  169. package/.next/server/chunks/26.js +1 -0
  170. package/.next/server/chunks/{5278.js → 3140.js} +1 -1
  171. package/.next/server/chunks/{6479.js → 3172.js} +1 -1
  172. package/.next/server/chunks/3205.js +1 -0
  173. package/.next/server/chunks/3392.js +1 -0
  174. package/.next/server/chunks/{4979.js → 3987.js} +5 -5
  175. package/.next/server/chunks/404.js +1 -0
  176. package/.next/server/chunks/415.js +1 -0
  177. package/.next/server/chunks/4288.js +1 -0
  178. package/.next/server/chunks/{2599.js → 4411.js} +1 -1
  179. package/.next/server/chunks/{7912.js → 4561.js} +1 -1
  180. package/.next/server/chunks/4587.js +1 -0
  181. package/.next/server/chunks/4679.js +462 -1
  182. package/.next/server/chunks/4769.js +1 -0
  183. package/.next/server/chunks/4882.js +2 -0
  184. package/.next/server/chunks/4897.js +15 -0
  185. package/.next/server/chunks/5015.js +15 -0
  186. package/.next/server/chunks/{658.js → 5361.js} +3 -3
  187. package/.next/server/chunks/5557.js +1 -0
  188. package/.next/server/chunks/{2517.js → 5593.js} +1 -1
  189. package/.next/server/chunks/5661.js +1 -0
  190. package/.next/server/chunks/5802.js +1 -0
  191. package/.next/server/chunks/5878.js +1 -0
  192. package/.next/server/chunks/5911.js +18 -0
  193. package/.next/server/chunks/6083.js +1 -0
  194. package/.next/server/chunks/{4302.js → 6121.js} +13 -13
  195. package/.next/server/chunks/6309.js +1 -0
  196. package/.next/server/chunks/6538.js +4 -0
  197. package/.next/server/chunks/6585.js +1 -0
  198. package/.next/server/chunks/{3243.js → 6778.js} +2 -2
  199. package/.next/server/chunks/6807.js +1 -0
  200. package/.next/server/chunks/{1388.js → 6948.js} +1 -1
  201. package/.next/server/chunks/{1591.js → 699.js} +2 -2
  202. package/.next/server/chunks/7109.js +1 -0
  203. package/.next/server/chunks/714.js +1 -0
  204. package/.next/server/chunks/7474.js +1 -0
  205. package/.next/server/chunks/{7037.js → 7677.js} +1 -1
  206. package/.next/server/chunks/77.js +3 -0
  207. package/.next/server/chunks/7727.js +1 -0
  208. package/.next/server/chunks/7867.js +22 -0
  209. package/.next/server/chunks/{259.js → 7905.js} +5 -5
  210. package/.next/server/chunks/{3609.js → 7911.js} +1 -1
  211. package/.next/server/chunks/{2867.js → 8134.js} +2 -2
  212. package/.next/server/chunks/{9783.js → 8211.js} +2 -2
  213. package/.next/server/chunks/8224.js +1 -0
  214. package/.next/server/chunks/8237.js +12 -0
  215. package/.next/server/chunks/8498.js +1 -0
  216. package/.next/server/chunks/{8823.js → 907.js} +10 -10
  217. package/.next/server/chunks/{7778.js → 9099.js} +1 -1
  218. package/.next/server/chunks/912.js +1 -0
  219. package/.next/server/chunks/9180.js +1 -0
  220. package/.next/server/chunks/9344.js +910 -0
  221. package/.next/server/chunks/9374.js +1 -0
  222. package/.next/server/chunks/939.js +1 -0
  223. package/.next/server/chunks/9419.js +1 -0
  224. package/.next/server/chunks/9426.js +188 -0
  225. package/.next/server/chunks/9677.js +17 -0
  226. package/.next/server/chunks/978.js +1 -0
  227. package/.next/server/chunks/9795.js +21 -0
  228. package/.next/server/instrumentation.js +1 -1
  229. package/.next/server/instrumentation.js.nft.json +1 -1
  230. package/.next/server/middleware-build-manifest.js +1 -1
  231. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  232. package/.next/server/middleware.js +6 -6
  233. package/.next/server/middleware.js.nft.json +1 -1
  234. package/.next/server/pages/500.html +1 -1
  235. package/.next/server/server-reference-manifest.js +1 -1
  236. package/.next/server/server-reference-manifest.json +1 -1
  237. package/.next/static/chunks/171-2a8b8f61f7ab0828.js +1 -0
  238. package/.next/static/chunks/{23550918-ff694f70f4b0648c.js → 1ceccf25-731706dbe95504b9.js} +1 -1
  239. package/.next/static/chunks/3556-dbb9200143640484.js +1 -0
  240. package/.next/static/chunks/{2320-fc8b39380e69d465.js → 3703-b09be945970ea475.js} +1 -1
  241. package/.next/static/chunks/5452-d0ce3b51601a5815.js +1 -0
  242. package/.next/static/chunks/5523-9c369c915ee6d9c9.js +1 -0
  243. package/.next/static/chunks/7066-c10959874b2315bf.js +32 -0
  244. package/.next/static/chunks/717-1d1163010e3b541d.js +1 -0
  245. package/.next/static/chunks/7218-21f40f9caef5d658.js +12 -0
  246. package/.next/static/chunks/7363-b9ebe28fed23b997.js +1 -0
  247. package/.next/static/chunks/7621-87d8d0d0568de3ca.js +4 -0
  248. package/.next/static/chunks/{5920.6451a68b63918988.js → 7790.b648690cf25f29eb.js} +1 -1
  249. package/.next/static/chunks/{7509.721cd47a931c5518.js → 8251.6fedb7dc4d720bab.js} +1 -1
  250. package/.next/static/chunks/9279-467412113ad55642.js +1 -0
  251. package/.next/static/chunks/928-6dec8198101bc3e6.js +1 -0
  252. package/.next/static/chunks/9874-dc2fbf114916382b.js +1 -0
  253. package/.next/static/chunks/app/(app)/activity/page-ce3fc6003368f592.js +1 -0
  254. package/.next/static/chunks/app/(app)/agents/[handle]/page-236e13b8edadd480.js +1 -0
  255. package/.next/static/chunks/app/(app)/code/page-18ae765c81a2c709.js +1 -0
  256. package/.next/static/chunks/app/(app)/config/page-8a6fcf6c04337210.js +1 -0
  257. package/.next/static/chunks/app/(app)/costs/page-230b0ef03a2024b0.js +1 -0
  258. package/.next/static/chunks/app/(app)/cron/page-ca89769e2522191d.js +1 -0
  259. package/.next/static/chunks/app/(app)/dashboard/page-6237c3a35cce55ce.js +1 -0
  260. package/.next/static/chunks/app/(app)/design/{page-f48c0487d240248e.js → page-5997054187e59e74.js} +3 -3
  261. package/.next/static/chunks/app/(app)/docs/[id]/page-3362d323e0f4dada.js +1 -0
  262. package/.next/static/chunks/app/(app)/docs/page-d7d8018a7884a4b4.js +1 -0
  263. package/.next/static/chunks/app/(app)/error-f9a3caa63e064a7e.js +1 -0
  264. package/.next/static/chunks/app/(app)/github/page-f5c1cae725d080fb.js +1 -0
  265. package/.next/static/chunks/app/(app)/goals/page-95e85ce115ed9ff3.js +1 -0
  266. package/.next/static/chunks/app/(app)/inbox/page-474c3f0a181bbbd3.js +12 -0
  267. package/.next/static/chunks/app/(app)/knowledge/page-08596428ca34b620.js +1 -0
  268. package/.next/static/chunks/app/(app)/layout-720a1171f7152d86.js +1 -0
  269. package/.next/static/chunks/app/(app)/models/page-fa1eb257e6911c9a.js +1 -0
  270. package/.next/static/chunks/app/(app)/notifications/page-31f2a041bdb497b9.js +12 -0
  271. package/.next/static/chunks/app/(app)/org/page-666438930ddc4639.js +12 -0
  272. package/.next/static/chunks/app/(app)/organizations/page-0de7da829c9b2249.js +1 -0
  273. package/.next/static/chunks/app/(app)/page-bfcf3d25f468240f.js +1 -0
  274. package/.next/static/chunks/app/(app)/planner/page-0fc0ebe2d338769a.js +1 -0
  275. package/.next/static/chunks/app/(app)/plugins/page-ad369fbfec6f3d1c.js +1 -0
  276. package/.next/static/chunks/app/(app)/pm/page-bb39c9d9a4f0d597.js +1 -0
  277. package/.next/static/chunks/app/(app)/prepare-deploy/page-f182991e68b159c1.js +1 -0
  278. package/.next/static/chunks/app/(app)/profile/page-cf5fe16bfad2a7ba.js +1 -0
  279. package/.next/static/chunks/app/(app)/pulse/page-03877c467c491e8a.js +1 -0
  280. package/.next/static/chunks/app/(app)/reports/[id]/page-ca89769e2522191d.js +1 -0
  281. package/.next/static/chunks/app/(app)/reports/page-7741b6a25e582791.js +1 -0
  282. package/.next/static/chunks/app/(app)/routines/page-ea83e6337e7502c2.js +1 -0
  283. package/.next/static/chunks/app/(app)/search/page-5e7f7cf0cc51b76f.js +1 -0
  284. package/.next/static/chunks/app/(app)/security/page-410144cdc35e19cc.js +1 -0
  285. package/.next/static/chunks/app/(app)/skills/page-90e5d8a24920c275.js +1 -0
  286. package/.next/static/chunks/app/(app)/tasks/page-4d535f34ae9c44ca.js +1 -0
  287. package/.next/static/chunks/app/(app)/test-dev/page-782c8cadd8a10feb.js +1 -0
  288. package/.next/static/chunks/app/(app)/update/page-decdb0ece526b50f.js +1 -0
  289. package/.next/static/chunks/app/(auth)/login/page-147a9be880c44d42.js +1 -0
  290. package/.next/static/chunks/app/(auth)/onboarding/page-8548be7e3ab3659e.js +1 -0
  291. package/.next/static/chunks/app/_global-error/{page-eacef2b697bd0982.js → page-ffc45e65538b6024.js} +1 -1
  292. package/.next/static/chunks/app/_not-found/page-405e53afca481eab.js +1 -0
  293. package/.next/static/chunks/app/api/auth/[...all]/{route-eacef2b697bd0982.js → route-ffc45e65538b6024.js} +1 -1
  294. package/.next/static/chunks/app/api/cron/tick/{route-eacef2b697bd0982.js → route-ffc45e65538b6024.js} +1 -1
  295. package/.next/static/chunks/app/api/health/{route-eacef2b697bd0982.js → route-ffc45e65538b6024.js} +1 -1
  296. package/.next/static/chunks/app/api/locks/acquire/route-ffc45e65538b6024.js +1 -0
  297. package/.next/static/chunks/app/api/models/progress/route-ffc45e65538b6024.js +1 -0
  298. package/.next/static/chunks/app/api/passkey/authenticate/options/route-ffc45e65538b6024.js +1 -0
  299. package/.next/static/chunks/app/api/passkey/authenticate/verify/route-ffc45e65538b6024.js +1 -0
  300. package/.next/static/chunks/app/api/passkey/register/options/route-ffc45e65538b6024.js +1 -0
  301. package/.next/static/chunks/app/api/passkey/register/verify/route-ffc45e65538b6024.js +1 -0
  302. package/.next/static/chunks/app/api/stream/route-ffc45e65538b6024.js +1 -0
  303. package/.next/static/chunks/app/api/sync/file/route-ffc45e65538b6024.js +1 -0
  304. package/.next/static/chunks/app/api/telegram/poll/route-ffc45e65538b6024.js +1 -0
  305. package/.next/static/chunks/app/api/upload/route-ffc45e65538b6024.js +1 -0
  306. package/.next/static/chunks/app/api/v1/[[...path]]/route-ffc45e65538b6024.js +1 -0
  307. package/.next/static/chunks/app/error-e128df085a794b38.js +1 -0
  308. package/.next/static/chunks/app/global-error-339c61c4184d384a.js +1 -0
  309. package/.next/static/chunks/app/layout-c717657a60a7f62c.js +1 -0
  310. package/.next/static/chunks/main-143b6dbf9c5dc129.js +5 -0
  311. package/.next/static/chunks/main-app-8ce4eaae11d4f233.js +1 -0
  312. package/.next/static/chunks/next/dist/client/components/builtin/app-error-ffc45e65538b6024.js +1 -0
  313. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-ffc45e65538b6024.js +1 -0
  314. package/.next/static/chunks/next/dist/client/components/builtin/not-found-ffc45e65538b6024.js +1 -0
  315. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-ffc45e65538b6024.js +1 -0
  316. package/.next/static/chunks/webpack-0e63b9ea83aeb0a2.js +1 -0
  317. package/.next/trace-build +1 -1
  318. package/CHANGELOG.md +45 -1
  319. package/README.md +1 -1
  320. package/README.pt-BR.md +1 -1
  321. package/THIRD_PARTY_LICENSES.md +64 -0
  322. package/docs/UPDATE.md +17 -3
  323. package/docs/en/AI_ARCHITECTURE.md +2 -2
  324. package/docs/en/CHAT_COMMANDS.md +1 -1
  325. package/docs/en/CONFIGURATION.md +1 -1
  326. package/docs/en/DESIGN.md +1 -1
  327. package/docs/en/FAQ.md +3 -3
  328. package/docs/en/GOALS_SPECS_ISSUES.md +1 -1
  329. package/docs/en/MCP.md +2 -2
  330. package/docs/en/PLUGINS.md +2 -2
  331. package/docs/en/PORTABLE_MODE.md +1 -1
  332. package/docs/en/PUBLISHING.md +14 -15
  333. package/docs/en/README.md +1 -1
  334. package/docs/en/SECURITY.md +3 -3
  335. package/docs/en/START_MODE.md +1 -1
  336. package/docs/en/TELEGRAM.md +1 -1
  337. package/docs/en/TROUBLESHOOTING.md +1 -1
  338. package/docs/en/VPS_MODE.md +2 -2
  339. package/docs/pt/AI_ARCHITECTURE.md +2 -2
  340. package/docs/pt/CHAT_COMMANDS.md +1 -1
  341. package/docs/pt/CONFIGURATION.md +1 -1
  342. package/docs/pt/DESIGN.md +1 -1
  343. package/docs/pt/FAQ.md +3 -3
  344. package/docs/pt/GOALS_SPECS_ISSUES.md +1 -1
  345. package/docs/pt/MCP.md +1 -1
  346. package/docs/pt/PLUGINS.md +2 -2
  347. package/docs/pt/PORTABLE_MODE.md +1 -1
  348. package/docs/pt/PUBLISHING.md +6 -7
  349. package/docs/pt/README.md +1 -1
  350. package/docs/pt/SECURITY.md +3 -3
  351. package/docs/pt/START_MODE.md +1 -1
  352. package/docs/pt/TELEGRAM.md +1 -1
  353. package/docs/pt/TROUBLESHOOTING.md +2 -2
  354. package/docs/pt/VPS_MODE.md +1 -1
  355. package/package.json +10 -9
  356. package/scripts/publish-public.mjs +21 -16
  357. package/.next/server/chunks/1249.js +0 -910
  358. package/.next/server/chunks/1572.js +0 -1
  359. package/.next/server/chunks/158.js +0 -21
  360. package/.next/server/chunks/1619.js +0 -188
  361. package/.next/server/chunks/162.js +0 -1
  362. package/.next/server/chunks/1765.js +0 -1
  363. package/.next/server/chunks/1845.js +0 -462
  364. package/.next/server/chunks/2341.js +0 -1
  365. package/.next/server/chunks/2495.js +0 -1
  366. package/.next/server/chunks/260.js +0 -1
  367. package/.next/server/chunks/288.js +0 -1
  368. package/.next/server/chunks/2960.js +0 -14
  369. package/.next/server/chunks/3050.js +0 -18
  370. package/.next/server/chunks/3056.js +0 -1
  371. package/.next/server/chunks/3131.js +0 -1
  372. package/.next/server/chunks/3234.js +0 -869
  373. package/.next/server/chunks/3266.js +0 -15
  374. package/.next/server/chunks/3550.js +0 -1
  375. package/.next/server/chunks/4467.js +0 -12
  376. package/.next/server/chunks/4616.js +0 -479
  377. package/.next/server/chunks/4619.js +0 -1
  378. package/.next/server/chunks/4804.js +0 -1
  379. package/.next/server/chunks/4832.js +0 -2
  380. package/.next/server/chunks/5060.js +0 -1
  381. package/.next/server/chunks/535.js +0 -1
  382. package/.next/server/chunks/5614.js +0 -1
  383. package/.next/server/chunks/6431.js +0 -1
  384. package/.next/server/chunks/6658.js +0 -1
  385. package/.next/server/chunks/6706.js +0 -1
  386. package/.next/server/chunks/683.js +0 -1
  387. package/.next/server/chunks/6873.js +0 -1
  388. package/.next/server/chunks/7225.js +0 -4
  389. package/.next/server/chunks/73.js +0 -17
  390. package/.next/server/chunks/7514.js +0 -1
  391. package/.next/server/chunks/7589.js +0 -22
  392. package/.next/server/chunks/7622.js +0 -1
  393. package/.next/server/chunks/7949.js +0 -1
  394. package/.next/server/chunks/7971.js +0 -1
  395. package/.next/server/chunks/7989.js +0 -1
  396. package/.next/server/chunks/8497.js +0 -1
  397. package/.next/server/chunks/850.js +0 -1
  398. package/.next/server/chunks/8623.js +0 -1
  399. package/.next/server/chunks/8719.js +0 -417
  400. package/.next/server/chunks/8762.js +0 -15
  401. package/.next/server/chunks/9676.js +0 -1
  402. package/.next/server/chunks/9680.js +0 -1
  403. package/.next/server/chunks/9969.js +0 -3
  404. package/.next/static/chunks/2831-d7f6495bf43f4f9d.js +0 -4
  405. package/.next/static/chunks/3219-486bddbf87074d04.js +0 -1
  406. package/.next/static/chunks/3775-82dcdf23109aa5bf.js +0 -1
  407. package/.next/static/chunks/4263-adecb5b466380b6e.js +0 -1
  408. package/.next/static/chunks/6834-4759af1ce7d95fb6.js +0 -32
  409. package/.next/static/chunks/6836-341614c5418e2aa4.js +0 -1
  410. package/.next/static/chunks/7555-d2209e697b0a798e.js +0 -1
  411. package/.next/static/chunks/8306-7418693cd7fd5861.js +0 -1
  412. package/.next/static/chunks/8370-8b3e7106703024ce.js +0 -12
  413. package/.next/static/chunks/9219-4a39a98b5502d9d1.js +0 -1
  414. package/.next/static/chunks/9562-4b50b4e408bc0a42.js +0 -1
  415. package/.next/static/chunks/9690-ea874aec65263b9d.js +0 -1
  416. package/.next/static/chunks/app/(app)/activity/page-cf8d67941440bdce.js +0 -1
  417. package/.next/static/chunks/app/(app)/agents/[handle]/page-7baa24f1ae8bc400.js +0 -1
  418. package/.next/static/chunks/app/(app)/code/page-b342d74807e8b914.js +0 -1
  419. package/.next/static/chunks/app/(app)/config/page-1e68ba8d20215d67.js +0 -1
  420. package/.next/static/chunks/app/(app)/costs/page-a58d759eec6048df.js +0 -1
  421. package/.next/static/chunks/app/(app)/cron/page-cc7f4e3d8ab5618f.js +0 -1
  422. package/.next/static/chunks/app/(app)/dashboard/page-7757c33acf751c4c.js +0 -1
  423. package/.next/static/chunks/app/(app)/docs/[id]/page-95c52cf457d869ef.js +0 -1
  424. package/.next/static/chunks/app/(app)/docs/page-fbc50cd357d5e2ca.js +0 -1
  425. package/.next/static/chunks/app/(app)/error-988cd28480809861.js +0 -1
  426. package/.next/static/chunks/app/(app)/github/page-dac138256ed91e65.js +0 -1
  427. package/.next/static/chunks/app/(app)/goals/page-f87d40f6832d63b3.js +0 -1
  428. package/.next/static/chunks/app/(app)/inbox/page-49c1293e0d98874f.js +0 -12
  429. package/.next/static/chunks/app/(app)/knowledge/page-18fca436883ed5cc.js +0 -1
  430. package/.next/static/chunks/app/(app)/layout-c9778f98c0103f74.js +0 -1
  431. package/.next/static/chunks/app/(app)/models/page-030c085cd7767495.js +0 -1
  432. package/.next/static/chunks/app/(app)/notifications/page-12af3fee8b36a00e.js +0 -12
  433. package/.next/static/chunks/app/(app)/org/page-576001ff4a820744.js +0 -12
  434. package/.next/static/chunks/app/(app)/organizations/page-b973e1eee6e56baf.js +0 -1
  435. package/.next/static/chunks/app/(app)/page-cef52fc5f4fd4418.js +0 -1
  436. package/.next/static/chunks/app/(app)/planner/page-da2db56914346192.js +0 -1
  437. package/.next/static/chunks/app/(app)/plugins/page-3b78b76ecb21d616.js +0 -1
  438. package/.next/static/chunks/app/(app)/pm/page-78303379c1ea5dc5.js +0 -1
  439. package/.next/static/chunks/app/(app)/prepare-deploy/page-98b1bd3bf712bb60.js +0 -1
  440. package/.next/static/chunks/app/(app)/profile/page-de24af53de0ef2b2.js +0 -1
  441. package/.next/static/chunks/app/(app)/pulse/page-db7fd63369c01fa2.js +0 -1
  442. package/.next/static/chunks/app/(app)/reports/[id]/page-cc7f4e3d8ab5618f.js +0 -1
  443. package/.next/static/chunks/app/(app)/reports/page-97ab95e6f8b77b62.js +0 -1
  444. package/.next/static/chunks/app/(app)/routines/page-cf6a3331775ca11b.js +0 -1
  445. package/.next/static/chunks/app/(app)/search/page-3960825f66b05606.js +0 -1
  446. package/.next/static/chunks/app/(app)/security/page-53b0770355cf7aa4.js +0 -1
  447. package/.next/static/chunks/app/(app)/skills/page-809a73b94861f8b8.js +0 -1
  448. package/.next/static/chunks/app/(app)/tasks/page-b2497927d127f7aa.js +0 -1
  449. package/.next/static/chunks/app/(app)/test-dev/page-93ec5d89e2afb612.js +0 -1
  450. package/.next/static/chunks/app/(app)/update/page-a23322af4e59a93c.js +0 -1
  451. package/.next/static/chunks/app/(auth)/login/page-446681bfb762cb05.js +0 -1
  452. package/.next/static/chunks/app/(auth)/onboarding/page-2b8cb3e0b024c995.js +0 -1
  453. package/.next/static/chunks/app/_not-found/page-dc38b02aebeab535.js +0 -1
  454. package/.next/static/chunks/app/api/locks/acquire/route-eacef2b697bd0982.js +0 -1
  455. package/.next/static/chunks/app/api/models/progress/route-eacef2b697bd0982.js +0 -1
  456. package/.next/static/chunks/app/api/passkey/authenticate/options/route-eacef2b697bd0982.js +0 -1
  457. package/.next/static/chunks/app/api/passkey/authenticate/verify/route-eacef2b697bd0982.js +0 -1
  458. package/.next/static/chunks/app/api/passkey/register/options/route-eacef2b697bd0982.js +0 -1
  459. package/.next/static/chunks/app/api/passkey/register/verify/route-eacef2b697bd0982.js +0 -1
  460. package/.next/static/chunks/app/api/stream/route-eacef2b697bd0982.js +0 -1
  461. package/.next/static/chunks/app/api/sync/file/route-eacef2b697bd0982.js +0 -1
  462. package/.next/static/chunks/app/api/telegram/poll/route-eacef2b697bd0982.js +0 -1
  463. package/.next/static/chunks/app/api/upload/route-eacef2b697bd0982.js +0 -1
  464. package/.next/static/chunks/app/api/v1/[[...path]]/route-eacef2b697bd0982.js +0 -1
  465. package/.next/static/chunks/app/error-09899a13c38b6e89.js +0 -1
  466. package/.next/static/chunks/app/global-error-c2ea8fef715f226d.js +0 -1
  467. package/.next/static/chunks/app/layout-e6008e66aea1a849.js +0 -1
  468. package/.next/static/chunks/main-722e16032e7764d1.js +0 -5
  469. package/.next/static/chunks/main-app-761880af2b6f1962.js +0 -1
  470. package/.next/static/chunks/next/dist/client/components/builtin/app-error-eacef2b697bd0982.js +0 -1
  471. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-eacef2b697bd0982.js +0 -1
  472. package/.next/static/chunks/next/dist/client/components/builtin/not-found-eacef2b697bd0982.js +0 -1
  473. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-eacef2b697bd0982.js +0 -1
  474. package/.next/static/chunks/webpack-222e3894b78c67db.js +0 -1
  475. package/docs/assets/blackhole.svg +0 -37
  476. /package/.next/static/{fb-rRThu8P8AXEQQBbLgT → ehoxBsPzAtE_FyZ2VpMF0}/_buildManifest.js +0 -0
  477. /package/.next/static/{fb-rRThu8P8AXEQQBbLgT → ehoxBsPzAtE_FyZ2VpMF0}/_ssgManifest.js +0 -0
@@ -1,15 +1,4 @@
1
- "use strict";exports.id=4302,exports.ids=[4302],exports.modules={32180:(a,b,c)=>{c.d(b,{xF:()=>i});var d=c(77598),e=c(1782),f=c(7852),g=c(80280),h=c(25533);async function i(a,b){if(!b.startsWith("dm:"))return null;let[c]=await g.db.select().from(h.chatSession).where((0,e.Uo)((0,e.eq)(h.chatSession.workspaceId,a),(0,e.eq)(h.chatSession.channel,b),(0,e.eq)(h.chatSession.active,!0)));if(c)return c.id;let i=await g.db.select().from(h.chatSession).where((0,e.Uo)((0,e.eq)(h.chatSession.workspaceId,a),(0,e.eq)(h.chatSession.channel,b))).orderBy((0,f.i)(h.chatSession.createdAt));if(i.length)return await g.db.update(h.chatSession).set({active:!0}).where((0,e.eq)(h.chatSession.id,i[0].id)),i[0].id;let j=(0,d.randomUUID)();return await g.db.insert(h.chatSession).values({id:j,workspaceId:a,channel:b,title:"Session 1",active:!0}),await g.db.update(h.message).set({sessionId:j}).where((0,e.Uo)((0,e.eq)(h.message.workspaceId,a),(0,e.eq)(h.message.channel,b),(0,e.kZ)(h.message.sessionId))),j}},34302:(a,b,c)=>{c.d(b,{s:()=>r});var d=c(1782),e=c(7852),f=c(80280),g=c(25533),h=c(18612),i=c(99956),j=c(32180),k=c(12867),l=c(58875),m=c(37801),n=c(6873);async function o(a,b){let[c,h,i,j]=await Promise.all([f.db.select({key:g.issue.key,title:g.issue.title,col:g.issue.col}).from(g.issue).where((0,d.Uo)((0,d.eq)(g.issue.workspaceId,a),(0,d.ne)(g.issue.col,"done"))).limit(40),f.db.select({key:g.task.key,title:g.task.title,col:g.task.col,assigneeId:g.task.assigneeId}).from(g.task).where((0,d.Uo)((0,d.eq)(g.task.workspaceId,a),(0,d.RV)(g.task.col,["todo","doing","blocked"]))).limit(40),f.db.select({key:g.spec.key,title:g.spec.title}).from(g.spec).where((0,d.eq)(g.spec.workspaceId,a)).limit(20),f.db.select({text:g.decision.text,by:g.decision.by,source:g.decision.source}).from(g.decision).where((0,d.eq)(g.decision.workspaceId,a)).orderBy((0,e.i)(g.decision.createdAt)).limit(8)]),k=h.filter(a=>a.assigneeId===b.id),l=[];return j.length&&l.push(`Recent decisions:
2
- ${j.map(a=>`- ${a.text} (${a.by}${a.source?"/"+a.source:""})`).join("\n")}`),k.length&&l.push(`Your active work:
3
- ${k.map(a=>`- ${a.key}: ${a.title} [${a.col}]`).join("\n")}`),h.length&&l.push(`Team's active tasks:
4
- ${h.slice(0,20).map(a=>`- ${a.key}: ${a.title} [${a.col}]`).join("\n")}`),c.length&&l.push(`Open issues: ${c.slice(0,20).map(a=>`${a.key}(${a.col})`).join(", ")}`),i.length&&l.push(`Specs: ${i.map(a=>`${a.key} ${a.title}`).join("; ")}`),l.join("\n\n")}async function p(a,b,c){let e=await f.db.select({name:g.skill.name,trigger:g.skill.trigger,summary:g.skill.summary,instructions:g.skill.instructions}).from(g.agentSkill).innerJoin(g.skill,(0,d.eq)(g.agentSkill.skillId,g.skill.id)).where((0,d.eq)(g.agentSkill.agentId,a));if(!e.length)return{core:"",rest:""};let h=new Set((0,n.IT)(b,c)),i=new Set((0,n.AQ)(b)),j=a=>h.has(a)?0:i.has(a)?1:2,k=e.slice().sort((a,b)=>j(a.name)-j(b.name)),l=a=>{let b=(a.instructions||a.summary||"").trim().replace(/\s+/g," ").slice(0,600);return`- ${a.name}${a.trigger?` — when: ${a.trigger}`:""}${b?`
5
- ${b}`:""}`},m=k.filter(a=>h.has(a.name)).slice(0,10),o=new Set(m.map(a=>a.name)),p=k.filter(a=>!o.has(a.name)).slice(0,30);return{core:m.map(l).join("\n"),rest:p.map(l).join("\n")}}async function q(a,b){try{let[c]=await f.db.select({id:g.provider.id}).from(g.provider).where((0,d.Uo)((0,d.eq)(g.provider.workspaceId,a),(0,d.eq)(g.provider.adapter,b.adapter)));if(c){let[a]=await f.db.select({context:g.providerModel.context}).from(g.providerModel).where((0,d.Uo)((0,d.eq)(g.providerModel.providerId,c.id),(0,d.eq)(g.providerModel.modelId,b.model))),e=a?.context??0;if(e>=8e3)return{window:e,keepRecent:Math.min(200,Math.max(16,Math.floor(e/12e3))),aggressive:e<64e3}}}catch{}return(0,m.S)(b.model)}async function r(a){var b;let c,{orgId:d,ws:e,agent:f,channel:g,instruction:n,task:r}=a,s=await q(e.id,f),t=Math.floor(.5*s.window),u=f.persona?.systemPrompt||`${f.name} — ${f.role}.`,v=(r?`${r.title}
6
- ${r.description??""}`:`${f.role} ${n}`).slice(0,400),w=await (0,j.xF)(e.id,g),[{summary:x,recent:y},z]=await Promise.all([(0,i.f)(d,e.id,g,f.model,!1,s,w),(0,k.yY)(d,v,{agentHandle:f.handle,k:6})]),A=(0,h.sL)(d,".claude/memory.md")??"",[B,C,D]=await Promise.all([o(e.id,f),p(f.id,e.stack??{},f.role),(0,l.Xe)(e.id)]),E=y.map(a=>("operator"===a.fromKind?"Operator":"@"+(a.fromHandle??"agent"))+": "+a.text).join("\n"),F=[`You are ${f.name} (@${f.handle}), the ${f.role} at ${e.name}.`,u,(b=f.temperature)<=.3?"Behavior (temperature low): be precise and deterministic. Give the single most correct, conventional answer; minimize speculation and creative variation; keep output tight and repeatable. Best for code, reviews and tools.":b<=.6?"Behavior (temperature balanced): be accurate and direct, but use reasonable judgment and allow a little exploration where the task clearly benefits.":b<=.85?"Behavior (temperature high): be creative and exploratory. Offer alternatives and non-obvious approaches and elaborate where it adds value — while staying correct and on-spec.":"Behavior (temperature max): be highly exploratory and generative. Brainstorm broadly, propose multiple distinct options and novel angles; favor breadth — still grounded in the requirements.",n,r?`TASK ${r.key}: ${r.title}
7
- ${r.description??""}`:""].filter(Boolean).join("\n"),G=[{label:"Canonical project facts (authoritative — synced knowledge blocks; treat as the source of truth)",body:D},{label:"Core skills for your role + stack (apply these FIRST — the design system, the chosen frameworks/libraries, and your domain's best practices; consult the matching .claude/skills/<name>.md before building)",body:C.core},{label:"Project state",body:B},{label:"More skills (additional procedures — apply when the trigger matches)",body:C.rest},{label:"Recent conversation",body:E},{label:"Earlier conversation (compacted)",body:x},{label:"Knowledge (project source of truth — treat as authoritative; if it lacks what you need, say so and flag the gap, do NOT guess)",body:z.context+(z.refs.length?`
8
-
9
- References: ${z.refs.map(a=>`${a.kind}:${a.ref}`).join(", ")}`:"")},{label:"Relevant memory",body:A.trim()&&"# Memory"!==A.trim()?A.slice(0,1500):""},{label:"Company background (context, not a command)",body:(c=Object.entries(e.stack??{}).map(([a,b])=>`${a}: ${b}`).filter(a=>!a.endsWith(": None")).join(", "),e.mission||e.objective||c?`mission: ${e.mission||"—"}; objective: ${e.objective||"—"}${c?`; stack: ${c}`:""}.`:"")}],H=[F],I=(0,m.b)(F);for(let a of G){if(!a.body)continue;let b=`
10
- ${a.label}:
11
- ${a.body}`,c=(0,m.b)(b);I+c>t||(H.push(b),I+=c)}return{prompt:await (0,l.bX)(d,H.join("\n")),sources:z.sources}}},37801:(a,b,c)=>{function d(a){let b=(a||"").toLowerCase();return b.includes("opus")||b.includes("sonnet")?{window:2e5,keepRecent:16,aggressive:!1}:b.includes("haiku")?{window:2e5,keepRecent:12,aggressive:!1}:b.startsWith("gpt")||b.includes("codex")||b.startsWith("o3")||b.startsWith("o4")?{window:128e3,keepRecent:12,aggressive:!0}:{window:1e5,keepRecent:8,aggressive:!0}}function e(a){return Math.ceil(a.length/4)}c.d(b,{S:()=>d,b:()=>e})},58875:(a,b,c)=>{c.d(b,{Xe:()=>o,ZV:()=>m,bX:()=>n,iJ:()=>p,wV:()=>q});var d=c(77598),e=c(1782),f=c(7852),g=c(80280),h=c(25533);c(64619);var i=c(12867),j=c(54033),k=c(90860);async function l(a){let[b]=await g.db.select({id:h.workspace.id}).from(h.workspace).where((0,e.eq)(h.workspace.orgId,a));return b?.id??null}async function m(a){try{return(0,i.V1)(),await g.db.select().from(h.syncedBlock).where((0,e.eq)(h.syncedBlock.workspaceId,a)).orderBy((0,f.i)(h.syncedBlock.updatedAt))}catch{return[]}}async function n(a,b){if(!b||!b.includes("{{kb:"))return b;try{let c=await l(a);if(!c)return b;let d=await g.db.select({slug:h.syncedBlock.slug,body:h.syncedBlock.body}).from(h.syncedBlock).where((0,e.eq)(h.syncedBlock.workspaceId,c)),f=new Map(d.map(a=>[a.slug,a.body]));return b.replace(/\{\{kb:([a-z0-9-]+)\}\}/gi,(a,b)=>f.get(String(b).toLowerCase())??`[[missing block: ${b}]]`)}catch{return b}}async function o(a){try{(0,i.V1)();let b=await g.db.select().from(h.syncedBlock).where((0,e.eq)(h.syncedBlock.workspaceId,a)).orderBy((0,f.i)(h.syncedBlock.updatedAt)).limit(20);if(!b.length)return"";return b.map(a=>`### ${a.title||a.slug} (${a.kind})
12
- ${(a.body||"").trim().slice(0,800)}`).join("\n\n").slice(0,5e3)}catch{return""}}async function p(a,b){try{(0,i.V1)();let c=await l(a);if(!c)return{ok:!1};let e=(b.slug||"").toLowerCase().trim().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,60);if(!e||!b.body.trim())return{ok:!1};let f=(0,d.randomUUID)();return await g.db.insert(h.blockProposal).values({id:f,workspaceId:c,slug:e,kind:(b.kind??"note").slice(0,40),title:(b.title??"").slice(0,200),body:b.body.slice(0,2e4),byAgentHandle:(b.byAgentHandle??"").slice(0,60),status:"pending"}),await (0,j.vE)(c,{kind:"review",refType:"validation",refId:f,fromAgentId:null,title:`Block edit proposed — ${e}`,detail:`@${b.byAgentHandle} proposed an edit to the “${e}” knowledge block. Review + merge in Knowledge.`.slice(0,400)}),await (0,k.I)(c,{kind:"review",text:`Knowledge block edit proposed — ${e}`,detail:`by @${b.byAgentHandle}`}),{ok:!0}}catch{return{ok:!1}}}async function q(a){try{return(0,i.V1)(),await g.db.select().from(h.blockProposal).where((0,e.Uo)((0,e.eq)(h.blockProposal.workspaceId,a),(0,e.eq)(h.blockProposal.status,"pending"))).orderBy((0,f.i)(h.blockProposal.createdAt))}catch{return[]}}},99956:(a,b,c)=>{c.d(b,{f:()=>l});var d=c(77598),e=c(1782),f=c(7852),g=c(80280),h=c(25533),i=c(3188),j=c(18612),k=c(37801);async function l(a,b,c,m,n=!1,o,p){let{window:q,keepRecent:r,aggressive:s}=o??(0,k.S)(m),t=[(0,e.eq)(h.message.workspaceId,b),(0,e.eq)(h.message.channel,c)];p&&t.push((0,e.eq)(h.message.sessionId,p));let u=await g.db.select().from(h.message).where((0,e.Uo)(...t)).orderBy((0,f.Y)(h.message.createdAt)),[v]=await g.db.select().from(h.messageSummary).where((0,e.Uo)((0,e.eq)(h.messageSummary.workspaceId,b),(0,e.eq)(h.messageSummary.channel,c),p?(0,e.eq)(h.messageSummary.sessionId,p):(0,e.kZ)(h.messageSummary.sessionId))),w=(0,k.b)(u.map(a=>a.text).join("\n"));if(u.length<=r+1||!n&&(u.length<=r+4||w<.4*q))return{summary:v?.summary??"",recent:u.slice(-r)};let x=u.slice(0,u.length-r),y=u.slice(-r),z=x[x.length-1]?.id??"";if(v&&v.throughId===z)return{summary:v.summary,recent:y};let A=x.map(a=>("operator"===a.fromKind?"Operator":"@"+(a.fromHandle??"agent"))+": "+a.text).join("\n"),B=["Summarize this team chat history into a COMPACT, STRUCTURED context for an AI teammate.","Output EXACTLY these markdown sections (omit one only if truly empty), with the substance under each:",`## Decisions
1
+ "use strict";exports.id=6121,exports.ids=[6121],exports.modules={11168:(a,b,c)=>{c.d(b,{f:()=>l});var d=c(77598),e=c(50730),f=c(23888),g=c(12940),h=c(76561),i=c(55104),j=c(66408),k=c(60085);async function l(a,b,c,m,n=!1,o,p){let{window:q,keepRecent:r,aggressive:s}=o??(0,k.S)(m),t=[(0,e.eq)(h.message.workspaceId,b),(0,e.eq)(h.message.channel,c)];p&&t.push((0,e.eq)(h.message.sessionId,p));let u=await g.db.select().from(h.message).where((0,e.Uo)(...t)).orderBy((0,f.Y)(h.message.createdAt)),[v]=await g.db.select().from(h.messageSummary).where((0,e.Uo)((0,e.eq)(h.messageSummary.workspaceId,b),(0,e.eq)(h.messageSummary.channel,c),p?(0,e.eq)(h.messageSummary.sessionId,p):(0,e.kZ)(h.messageSummary.sessionId))),w=(0,k.b)(u.map(a=>a.text).join("\n"));if(u.length<=r+1||!n&&(u.length<=r+4||w<.4*q))return{summary:v?.summary??"",recent:u.slice(-r)};let x=u.slice(0,u.length-r),y=u.slice(-r),z=x[x.length-1]?.id??"";if(v&&v.throughId===z)return{summary:v.summary,recent:y};let A=x.map(a=>("operator"===a.fromKind?"Operator":"@"+(a.fromHandle??"agent"))+": "+a.text).join("\n"),B=["Summarize this team chat history into a COMPACT, STRUCTURED context for an AI teammate.","Output EXACTLY these markdown sections (omit one only if truly empty), with the substance under each:",`## Decisions
13
2
  ## Requirements
14
3
  ## Open issues
15
4
  ## Files
@@ -23,4 +12,15 @@ Output ONLY the structured summary.`].filter(Boolean).join("\n"),C=await (0,i.JN
23
12
 
24
13
  ## Compacted: ${c}
25
14
  ${D}
26
- `,f=RegExp(`\\n\\n## Compacted: ${c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\n[\\s\\S]*?(?=\\n\\n## |$)`),g=f.test(d)?d.replace(f,e):d.replace(/\s*$/,"")+e;(0,j.dx)(a,b,g)}catch{}return{summary:D,recent:y}}}};
15
+ `,f=RegExp(`\\n\\n## Compacted: ${c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\n[\\s\\S]*?(?=\\n\\n## |$)`),g=f.test(d)?d.replace(f,e):d.replace(/\s*$/,"")+e;(0,j.dx)(a,b,g)}catch{}return{summary:D,recent:y}}},18591:(a,b,c)=>{c.d(b,{Xe:()=>o,ZV:()=>m,bX:()=>n,iJ:()=>p,wV:()=>q});var d=c(77598),e=c(50730),f=c(23888),g=c(12940),h=c(76561);c(50415);var i=c(28134),j=c(76381),k=c(44440);async function l(a){let[b]=await g.db.select({id:h.workspace.id}).from(h.workspace).where((0,e.eq)(h.workspace.orgId,a));return b?.id??null}async function m(a){try{return(0,i.V1)(),await g.db.select().from(h.syncedBlock).where((0,e.eq)(h.syncedBlock.workspaceId,a)).orderBy((0,f.i)(h.syncedBlock.updatedAt))}catch{return[]}}async function n(a,b){if(!b||!b.includes("{{kb:"))return b;try{let c=await l(a);if(!c)return b;let d=await g.db.select({slug:h.syncedBlock.slug,body:h.syncedBlock.body}).from(h.syncedBlock).where((0,e.eq)(h.syncedBlock.workspaceId,c)),f=new Map(d.map(a=>[a.slug,a.body]));return b.replace(/\{\{kb:([a-z0-9-]+)\}\}/gi,(a,b)=>f.get(String(b).toLowerCase())??`[[missing block: ${b}]]`)}catch{return b}}async function o(a){try{(0,i.V1)();let b=await g.db.select().from(h.syncedBlock).where((0,e.eq)(h.syncedBlock.workspaceId,a)).orderBy((0,f.i)(h.syncedBlock.updatedAt)).limit(20);if(!b.length)return"";return b.map(a=>`### ${a.title||a.slug} (${a.kind})
16
+ ${(a.body||"").trim().slice(0,800)}`).join("\n\n").slice(0,5e3)}catch{return""}}async function p(a,b){try{(0,i.V1)();let c=await l(a);if(!c)return{ok:!1};let e=(b.slug||"").toLowerCase().trim().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,60);if(!e||!b.body.trim())return{ok:!1};let f=(0,d.randomUUID)();return await g.db.insert(h.blockProposal).values({id:f,workspaceId:c,slug:e,kind:(b.kind??"note").slice(0,40),title:(b.title??"").slice(0,200),body:b.body.slice(0,2e4),byAgentHandle:(b.byAgentHandle??"").slice(0,60),status:"pending"}),await (0,j.vE)(c,{kind:"review",refType:"validation",refId:f,fromAgentId:null,title:`Block edit proposed — ${e}`,detail:`@${b.byAgentHandle} proposed an edit to the “${e}” knowledge block. Review + merge in Knowledge.`.slice(0,400)}),await (0,k.I)(c,{kind:"review",text:`Knowledge block edit proposed — ${e}`,detail:`by @${b.byAgentHandle}`}),{ok:!0}}catch{return{ok:!1}}}async function q(a){try{return(0,i.V1)(),await g.db.select().from(h.blockProposal).where((0,e.Uo)((0,e.eq)(h.blockProposal.workspaceId,a),(0,e.eq)(h.blockProposal.status,"pending"))).orderBy((0,f.i)(h.blockProposal.createdAt))}catch{return[]}}},60085:(a,b,c)=>{function d(a){let b=(a||"").toLowerCase();return b.includes("opus")||b.includes("sonnet")?{window:2e5,keepRecent:16,aggressive:!1}:b.includes("haiku")?{window:2e5,keepRecent:12,aggressive:!1}:b.startsWith("gpt")||b.includes("codex")||b.startsWith("o3")||b.startsWith("o4")?{window:128e3,keepRecent:12,aggressive:!0}:{window:1e5,keepRecent:8,aggressive:!0}}function e(a){return Math.ceil(a.length/4)}c.d(b,{S:()=>d,b:()=>e})},61392:(a,b,c)=>{c.d(b,{xF:()=>i});var d=c(77598),e=c(50730),f=c(23888),g=c(12940),h=c(76561);async function i(a,b){if(!b.startsWith("dm:"))return null;let[c]=await g.db.select().from(h.chatSession).where((0,e.Uo)((0,e.eq)(h.chatSession.workspaceId,a),(0,e.eq)(h.chatSession.channel,b),(0,e.eq)(h.chatSession.active,!0)));if(c)return c.id;let i=await g.db.select().from(h.chatSession).where((0,e.Uo)((0,e.eq)(h.chatSession.workspaceId,a),(0,e.eq)(h.chatSession.channel,b))).orderBy((0,f.i)(h.chatSession.createdAt));if(i.length)return await g.db.update(h.chatSession).set({active:!0}).where((0,e.eq)(h.chatSession.id,i[0].id)),i[0].id;let j=(0,d.randomUUID)();return await g.db.insert(h.chatSession).values({id:j,workspaceId:a,channel:b,title:"Session 1",active:!0}),await g.db.update(h.message).set({sessionId:j}).where((0,e.Uo)((0,e.eq)(h.message.workspaceId,a),(0,e.eq)(h.message.channel,b),(0,e.kZ)(h.message.sessionId))),j}},76121:(a,b,c)=>{c.d(b,{s:()=>r});var d=c(50730),e=c(23888),f=c(12940),g=c(76561),h=c(66408),i=c(11168),j=c(61392),k=c(28134),l=c(18591),m=c(60085),n=c(96807);async function o(a,b){let[c,h,i,j]=await Promise.all([f.db.select({key:g.issue.key,title:g.issue.title,col:g.issue.col}).from(g.issue).where((0,d.Uo)((0,d.eq)(g.issue.workspaceId,a),(0,d.ne)(g.issue.col,"done"))).limit(40),f.db.select({key:g.task.key,title:g.task.title,col:g.task.col,assigneeId:g.task.assigneeId}).from(g.task).where((0,d.Uo)((0,d.eq)(g.task.workspaceId,a),(0,d.RV)(g.task.col,["todo","doing","blocked"]))).limit(40),f.db.select({key:g.spec.key,title:g.spec.title}).from(g.spec).where((0,d.eq)(g.spec.workspaceId,a)).limit(20),f.db.select({text:g.decision.text,by:g.decision.by,source:g.decision.source}).from(g.decision).where((0,d.eq)(g.decision.workspaceId,a)).orderBy((0,e.i)(g.decision.createdAt)).limit(8)]),k=h.filter(a=>a.assigneeId===b.id),l=[];return j.length&&l.push(`Recent decisions:
17
+ ${j.map(a=>`- ${a.text} (${a.by}${a.source?"/"+a.source:""})`).join("\n")}`),k.length&&l.push(`Your active work:
18
+ ${k.map(a=>`- ${a.key}: ${a.title} [${a.col}]`).join("\n")}`),h.length&&l.push(`Team's active tasks:
19
+ ${h.slice(0,20).map(a=>`- ${a.key}: ${a.title} [${a.col}]`).join("\n")}`),c.length&&l.push(`Open issues: ${c.slice(0,20).map(a=>`${a.key}(${a.col})`).join(", ")}`),i.length&&l.push(`Specs: ${i.map(a=>`${a.key} ${a.title}`).join("; ")}`),l.join("\n\n")}async function p(a,b,c){let e=await f.db.select({name:g.skill.name,trigger:g.skill.trigger,summary:g.skill.summary,instructions:g.skill.instructions}).from(g.agentSkill).innerJoin(g.skill,(0,d.eq)(g.agentSkill.skillId,g.skill.id)).where((0,d.eq)(g.agentSkill.agentId,a));if(!e.length)return{core:"",rest:""};let h=new Set((0,n.IT)(b,c)),i=new Set((0,n.AQ)(b)),j=a=>h.has(a)?0:i.has(a)?1:2,k=e.slice().sort((a,b)=>j(a.name)-j(b.name)),l=a=>{let b=(a.instructions||a.summary||"").trim().replace(/\s+/g," ").slice(0,600);return`- ${a.name}${a.trigger?` — when: ${a.trigger}`:""}${b?`
20
+ ${b}`:""}`},m=k.filter(a=>h.has(a.name)).slice(0,10),o=new Set(m.map(a=>a.name)),p=k.filter(a=>!o.has(a.name)).slice(0,30);return{core:m.map(l).join("\n"),rest:p.map(l).join("\n")}}async function q(a,b){try{let[c]=await f.db.select({id:g.provider.id}).from(g.provider).where((0,d.Uo)((0,d.eq)(g.provider.workspaceId,a),(0,d.eq)(g.provider.adapter,b.adapter)));if(c){let[a]=await f.db.select({context:g.providerModel.context}).from(g.providerModel).where((0,d.Uo)((0,d.eq)(g.providerModel.providerId,c.id),(0,d.eq)(g.providerModel.modelId,b.model))),e=a?.context??0;if(e>=8e3)return{window:e,keepRecent:Math.min(200,Math.max(16,Math.floor(e/12e3))),aggressive:e<64e3}}}catch{}return(0,m.S)(b.model)}async function r(a){var b;let c,{orgId:d,ws:e,agent:f,channel:g,instruction:n,task:r}=a,s=await q(e.id,f),t=Math.floor(.5*s.window),u=f.persona?.systemPrompt||`${f.name} — ${f.role}.`,v=(r?`${r.title}
21
+ ${r.description??""}`:`${f.role} ${n}`).slice(0,400),w=await (0,j.xF)(e.id,g),[{summary:x,recent:y},z]=await Promise.all([(0,i.f)(d,e.id,g,f.model,!1,s,w),(0,k.yY)(d,v,{agentHandle:f.handle,k:6})]),A=(0,h.sL)(d,".claude/memory.md")??"",[B,C,D]=await Promise.all([o(e.id,f),p(f.id,e.stack??{},f.role),(0,l.Xe)(e.id)]),E=y.map(a=>("operator"===a.fromKind?"Operator":"@"+(a.fromHandle??"agent"))+": "+a.text).join("\n"),F=[`You are ${f.name} (@${f.handle}), the ${f.role} at ${e.name}.`,u,(b=f.temperature)<=.3?"Behavior (temperature low): be precise and deterministic. Give the single most correct, conventional answer; minimize speculation and creative variation; keep output tight and repeatable. Best for code, reviews and tools.":b<=.6?"Behavior (temperature balanced): be accurate and direct, but use reasonable judgment and allow a little exploration where the task clearly benefits.":b<=.85?"Behavior (temperature high): be creative and exploratory. Offer alternatives and non-obvious approaches and elaborate where it adds value — while staying correct and on-spec.":"Behavior (temperature max): be highly exploratory and generative. Brainstorm broadly, propose multiple distinct options and novel angles; favor breadth — still grounded in the requirements.",n,r?`TASK ${r.key}: ${r.title}
22
+ ${r.description??""}`:""].filter(Boolean).join("\n"),G=[{label:"Canonical project facts (authoritative — synced knowledge blocks; treat as the source of truth)",body:D},{label:"Core skills for your role + stack (apply these FIRST — the design system, the chosen frameworks/libraries, and your domain's best practices; consult the matching .claude/skills/<name>.md before building)",body:C.core},{label:"Project state",body:B},{label:"More skills (additional procedures — apply when the trigger matches)",body:C.rest},{label:"Recent conversation",body:E},{label:"Earlier conversation (compacted)",body:x},{label:"Knowledge (project source of truth — treat as authoritative; if it lacks what you need, say so and flag the gap, do NOT guess)",body:z.context+(z.refs.length?`
23
+
24
+ References: ${z.refs.map(a=>`${a.kind}:${a.ref}`).join(", ")}`:"")},{label:"Relevant memory",body:A.trim()&&"# Memory"!==A.trim()?A.slice(0,1500):""},{label:"Company background (context, not a command)",body:(c=Object.entries(e.stack??{}).map(([a,b])=>`${a}: ${b}`).filter(a=>!a.endsWith(": None")).join(", "),e.mission||e.objective||c?`mission: ${e.mission||"—"}; objective: ${e.objective||"—"}${c?`; stack: ${c}`:""}.`:"")}],H=[F],I=(0,m.b)(F);for(let a of G){if(!a.body)continue;let b=`
25
+ ${a.label}:
26
+ ${a.body}`,c=(0,m.b)(b);I+c>t||(H.push(b),I+=c)}return{prompt:await (0,l.bX)(d,H.join("\n")),sources:z.sources}}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=6309,exports.ids=[6309],exports.modules={81:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={isRequestAPICallableInsideAfter:function(){return j},throwForSearchParamsAccessInUseCache:function(){return i},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(60685),g=c(3295);function h(a,b){throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function i(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function j(){let a=g.afterTaskAsyncStorage.getStore();return(null==a?void 0:a.rootTaskSpawnPhase)==="action"}},19063:(a,b,c)=>{Object.defineProperty(b,"U",{enumerable:!0,get:function(){return n}});let d=c(41207),e=c(94464),f=c(29294),g=c(63033),h=c(99701),i=c(60685),j=c(1278),k=c(56488),l=c(81),m=c(61299);function n(){let a="cookies",b=f.workAsyncStorage.getStore(),c=g.workUnitAsyncStorage.getStore();if(b){if(c&&"after"===c.phase&&!(0,l.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`after()\`. This is not supported. If you need this data inside an \`after()\` callback, use \`cookies()\` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E843",enumerable:!1,configurable:!0});if(b.forceStatic)return p(d.RequestCookiesAdapter.seal(new e.RequestCookies(new Headers({}))));if(b.dynamicShouldError)throw Object.defineProperty(new i.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E849",enumerable:!1,configurable:!0});if(c)switch(c.type){case"cache":let f=Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E831",enumerable:!1,configurable:!0});throw Error.captureStackTrace(f,n),b.invalidDynamicUsageError??=f,f;case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E846",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1123",enumerable:!1,configurable:!0});case"prerender":var k=b,q=c;let r=o.get(q);if(r)return r;let s=(0,j.makeHangingPromise)(q.renderSignal,k.route,"`cookies()`");return o.set(q,s),s;case"prerender-client":case"validation-client":let t="`cookies`";throw Object.defineProperty(new m.InvariantError(`${t} must not be used within a Client Component. Next.js should be preventing ${t} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1037",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,h.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,h.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":return(0,j.delayUntilRuntimeStage)(c,p(c.cookies));case"private-cache":return p(c.cookies);case"request":let u;if((0,h.trackDynamicDataInDynamicRender)(c),u=(0,d.areCookiesMutableInCurrentPhase)(c)?c.userspaceMutableCookies:c.cookies,!c.asyncApiPromises)return p(u);{let a=(0,g.isInEarlyRenderStage)(c);if(u===c.mutableCookies)return a?c.asyncApiPromises.earlyMutableCookies:c.asyncApiPromises.mutableCookies;return a?c.asyncApiPromises.earlyCookies:c.asyncApiPromises.cookies}}}(0,g.throwForMissingRequestStore)(a)}c(27694);let o=new WeakMap;function p(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),c}(0,k.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`cookies()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E830",enumerable:!1,configurable:!0})})},36982:(a,b,c)=>{Object.defineProperty(b,"b",{enumerable:!0,get:function(){return m}});let d=c(12470),e=c(29294),f=c(63033),g=c(99701),h=c(60685),i=c(1278),j=c(56488),k=c(81),l=c(61299);function m(){let a="headers",b=e.workAsyncStorage.getStore(),c=f.workUnitAsyncStorage.getStore();if(b){if(c&&"after"===c.phase&&!(0,k.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`after()\`. This is not supported. If you need this data inside an \`after()\` callback, use \`headers()\` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E839",enumerable:!1,configurable:!0});if(b.forceStatic)return o(d.HeadersAdapter.seal(new Headers({})));if(c)switch(c.type){case"cache":{let a=Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E833",enumerable:!1,configurable:!0});throw Error.captureStackTrace(a,m),b.invalidDynamicUsageError??=a,a}case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E838",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1134",enumerable:!1,configurable:!0})}if(b.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`headers()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E828",enumerable:!1,configurable:!0});if(c)switch(c.type){case"prerender":var j=b,p=c;let e=n.get(p);if(e)return e;let q=(0,i.makeHangingPromise)(p.renderSignal,j.route,"`headers()`");return n.set(p,q),q;case"prerender-client":case"validation-client":let r="`headers`";throw Object.defineProperty(new l.InvariantError(`${r} must not be used within a client component. Next.js should be preventing ${r} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1017",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,g.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,g.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":return(0,i.delayUntilRuntimeStage)(c,o(c.headers));case"private-cache":return o(c.headers);case"request":if((0,g.trackDynamicDataInDynamicRender)(c),c.asyncApiPromises)return(0,f.isInEarlyRenderStage)(c)?c.asyncApiPromises.earlyHeaders:c.asyncApiPromises.headers;return o(c.headers)}}(0,f.throwForMissingRequestStore)(a)}c(27694);let n=new WeakMap;function o(a){let b=n.get(a);if(b)return b;let c=Promise.resolve(a);return n.set(a,c),c}(0,j.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`headers()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E836",enumerable:!1,configurable:!0})})},41207:(a,b,c)=>{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(94464),g=c(58269),h=c(29294),i=c(43366);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}},43366:(a,b)=>{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},46309:(a,b,c)=>{c.d(b,{cookies:()=>d.U,headers:()=>e.b});var d=c(19063),e=c(36982);c(93823)},56488:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return i}});let d=function(a){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var b=e(void 0);if(b&&b.has(a))return b.get(a);var c={__proto__:null},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!==f&&Object.prototype.hasOwnProperty.call(a,f)){var g=d?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(c,f,g):c[f]=a[f]}return c.default=a,b&&b.set(a,c),c}(c(52594));function e(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(e=function(a){return a?c:b})(a)}let f={current:null},g="function"==typeof d.cache?d.cache:a=>a,h=console.warn;function i(a){return function(...b){h(a(...b))}}g(a=>{try{h(f.current)}finally{f.current=null}})},93823:(a,b,c)=>{let d=c(63033),e=c(29294),f=c(99701),g=c(56488),h=c(60685),i=c(86297),j=c(61299),k=c(1278);c(58269);new WeakMap;(0,g.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`draftMode()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E835",enumerable:!1,configurable:!0})})}};
@@ -0,0 +1,4 @@
1
+ "use strict";exports.id=6538,exports.ids=[2392,6538],exports.modules={13389:(a,b,c)=>{c.d(b,{ViewChrome:()=>h});var d=c(40201),e=c(77758),f=c(3218),g=c(71955);function h({title:a,sub:b,right:c,icon:i,flush:j,children:k}){let l=(0,g.k)(),m=f.e.find(b=>b.title===a),n=i??m?.icon,o=m?l(`mod.${m.id}`):a;return(0,d.jsxs)("div",{className:"app-view",children:[(0,d.jsxs)("div",{className:"view-head",children:[n&&(0,d.jsx)("div",{className:"vh-icon",children:(0,d.jsx)(e.I,{name:n,size:18})}),(0,d.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,d.jsx)("div",{className:"view-title",children:o}),b&&(0,d.jsx)("div",{className:"view-sub",children:b})]}),c]}),(0,d.jsx)("div",{className:"view-body",style:j?{padding:0,overflow:"hidden"}:void 0,children:k})]})}},21390:(a,b,c)=>{c.r(b),c.d(b,{"000620f675346f8a12b50bfbe6296aad9ae5464e72":()=>y.pM,"000bbac63e43218df5325751fe3a032ead4c842701":()=>e.PE,"001bcb77638d1a46912a15a081572ce5f0ffdf5db9":()=>d.bt,"0024362c5f4091f01256d62c3fcde45a2be385d457":()=>j.f,"00491a4a12afe57900974b078cd17d6d523cb8b1d4":()=>y.PG,"006e272f908ea17d464c2c19bd5e38be70801d59d4":()=>k.eg,"008126545795d71c4020cb6427d4d06868907eecde":()=>e.KO,"008ecd70d86cfcfb6ba359f7d9d64ff803ad6de30c":()=>h.x7,"008f74f15b7461eaee38fef26bef041c64508e00ef":()=>e.y_,"00a560e9361868c82baff7bc3c2c4a527b0b7aa580":()=>x,"00a88340d83bb29f97492219dfdec374cfd0ebedaa":()=>i.V,"00ac20ad63e61fa51e22e465ec134d88bed9156f99":()=>e.GK,"00b16060dadcf7702f25b3430981d23623457e7044":()=>k.dj,"00c24fecd5d4e2c99b78f6cfba9771178469d3d57b":()=>y.eU,"00c53c1e02e86178027b1dce76718c7af197262ff1":()=>k.io,"00e5a7f8864d03b3328583f0e3dda9f57d64f869e9":()=>h.Mp,"00eb291ba544141c60d7958f9e959b79f2f9d8a400":()=>d.xU,"00f929c9a5e363c2627d22d93ff6d78e2099e26e96":()=>j.O,"400536d238039aead05bf7f4d7fbdfc8c51c7843c2":()=>h.sE,"40080b9ecb374ab8d6da637636f1c5f0ec1a5ed545":()=>d.Wu,"4011628d48357ed1452fb7c9a5f731afd0db9fcaf6":()=>i.F,"402bec7c2456984c1fe884f1c5da4d6fffe97bd7f7":()=>i.VJ,"405df6a9c5e07f494d2e2032d2fb70d41ed8071913":()=>g.p,"4060d995219b189ddd8b5bde8460b4966a0ce1a3fc":()=>e.r7,"4064f7013178539e80988a48c2bcbf7f2601b7a2ef":()=>d.H7,"406652da6c1842257203f196ca974dde11bf297c94":()=>e.lJ,"406895dd20d52dd9c079a834a9d1fe20fbe760e87c":()=>h.lR,"406b43f46b12343c4308031ba6dd85cf6d8c9959fc":()=>k.De,"407047434e130c3e1022a9cc24db08f4a9e37444c0":()=>i.E_,"4074b7e3f11b1ff2a4e1742e92f6d0873d579a2bf5":()=>d.rd,"4076a371abe9c34149b659b394b2666988596376c6":()=>d.GW,"4076f26374203461e3fa42db08eeccaf5e73e0b859":()=>e.S,"4077791d811243b5d88aa224120766f1193c0e7cf2":()=>l.TX,"4079ee52aca558bf2ca3c25800d73e82a85654fb12":()=>y.Kg,"408f6af3b89d125b561686db9d333c71405d1e8c92":()=>d.gg,"409ed8e3ac05d42abbb31aa9cc912fa47dccab739e":()=>g.L,"40a59af64de8dd4c8d03251aa8cc453031ffc5d116":()=>e.jc,"40c0fd577da36c5f011829089eec1fc8c31c716f68":()=>m.y,"40c37cc1e125e055ed670d73b257ae5a5289e3994b":()=>d.VL,"40c8a00bca9795dcead5557c89316aa13bf29f6529":()=>i.zS,"40ca19ba5e5ac6d02d5ea6b1d572dd761a6f6c509e":()=>e.ey,"40ca5a4f5b7457845b609654f7573812403c35c26d":()=>e.RG,"40e5f88f9498cf2c409c2918a99261a817f8cddba0":()=>l.IL,"40e88545faa11118461ff49b6570d9874017fd8a38":()=>y.lP,"40f401348df793ff9a669dc89781ca136c988ecc8b":()=>l.q4,"6025ee6c7011b182ab578cd5b8c01983a71f4f639b":()=>l.bV,"6030713e9e3de30ff38e3753735a3c265b9a67af32":()=>e.LZ,"603c43bef66e43b540b8445b0c3fe4ee8e746a3329":()=>f.k,"604223224c3ede7f4cca9ca936bb8e22103b293006":()=>w,"60447775cf485fddc20528ff35db35dac16ae22f1b":()=>l.bk,"605bf856d868caf0ec9c966cf3519de2ae7419a298":()=>e.AA,"6069d55c3f4e1783abfd4728ea381d7c4de7169b17":()=>f.I,"6073003353f53fe87153ecaf2dc6e40469864fe288":()=>d.rm,"607792cfb0a03c9e049cb9bb4af483172312da6ee7":()=>e.q$,"60a65a814a082be9bda3295b3d75e80fdfd21299d3":()=>d.jw,"60ab2f384d8d0bf6d3965f78790349443f4ce97c9f":()=>l.Jp,"60b0ddcf7c11d05035cea005577a5d7b6ec4a099f7":()=>d.ME,"60dafaec9dc5c3f4d443518bf5cdb9bbea36f18f71":()=>d.Fu,"60f0620d53918ab11292cea0a76fff7f37b9d107b3":()=>d.n4,"7029fdc89f3e11a536c5f3bf9ab215d735dbe62f8b":()=>d._z,"704df4210e0ac1fe8d16aab94af799b5a1dd447d2d":()=>e.M8});var d=c(13712),e=c(4619),f=c(37181),g=c(8937),h=c(86591),i=c(10222),j=c(34567),k=c(78387),l=c(74774),m=c(51773),n=c(80501),o=c(77598),p=c(73591),q=c(54813),r=c(406),s=c(96405),t=c(45900),u=c(81585),v=c(55593);async function w(a,b){let{org:c,workspace:d}=await (0,s.nP)(),[e]=await q.db.select().from(r.docIndex).where((0,p.Uo)((0,p.eq)(r.docIndex.id,a),(0,p.eq)(r.docIndex.workspaceId,d.id)));return e?(await (0,t.g)(c.id,e.path,b),{ok:!0}):{ok:!1}}async function x(){let{org:a,workspace:b}=await (0,s.nP)(),c=await q.db.select().from(r.agent).where((0,p.eq)(r.agent.workspaceId,b.id)),d=c.find(a=>"barbara"===a.handle)??c.find(a=>/docs|writer/i.test(a.role))??c[0];if(!d)return{ok:!1,error:"no docs agent"};let e=(0,u.hW)(d.adapter,d.model),f="claude"===e?d.model.includes("opus")?"opus":d.model.includes("haiku")?"haiku":"sonnet":void 0,g=`You are ${d.name} (@${d.handle}), ${d.role} at ${b.name}.
2
+ Review the current state of this workspace directory (code, specs, structure) and write or refresh a single piece of project documentation in GitHub-flavoured Markdown.
3
+ Begin with one H1 title line. Cover what exists, how it is organised, and how to work with it. Be specific and truthful — describe only what the files actually show; do not invent features.
4
+ Output ONLY the Markdown document (no code fences).`,h=await (0,u.JN)(g,{orgId:a.id,binary:e,model:f,timeoutMs:24e4});(h.usd>0||h.inputTokens+h.outputTokens>0)&&await q.db.insert(r.costEntry).values({id:(0,o.randomUUID)(),workspaceId:b.id,agentId:d.id,provider:h.binary,model:h.model??d.model,usd:h.usd,tokens:h.inputTokens+h.outputTokens,at:new Date});let i=h.text.trim();if(!h.ok||!i)return await (0,v.I)(b.id,{kind:"info",text:"Docs generation failed",detail:(h.error??"no output").slice(0,300),agentId:d.id}),{ok:!1,error:h.error};let j=(i.split("\n").find(a=>a.trim())??"Documentation").replace(/^#+\s*/,"").slice(0,120)||"Documentation",k=j.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,60)||"doc",l=`DOCS/${k}.md`;return await (0,t.g)(a.id,l,i),await (0,v.I)(b.id,{kind:"done",text:`${d.name} updated the docs: ${j}`,detail:`Saved to ${l}`,agentId:d.id}),{ok:!0,path:l}}(0,c(64185).D)([w,x]),(0,n.A)(w,"604223224c3ede7f4cca9ca936bb8e22103b293006",null),(0,n.A)(x,"00a560e9361868c82baff7bc3c2c4a527b0b7aa580",null);var y=c(51439)},41323:(a,b,c)=>{c.d(b,{ViewChrome:()=>d});let d=(0,c(97879).registerClientReference)(function(){throw Error("Attempted to call ViewChrome() from the server but ViewChrome is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Usuario\\Documents\\constella\\src\\components\\shell\\view-chrome.tsx","ViewChrome")},47385:(a,b,c)=>{c.d(b,{l:()=>g});var d=c(46309),e=c(34925);async function f(){return(0,e.e)((await (0,d.cookies)()).get("cn-lang")?.value)}async function g(){let a=await f();return(b,c)=>(0,e.t)(a,b,c)}},51439:(a,b,c)=>{c.d(b,{pM:()=>z,lP:()=>y,Kg:()=>x,eU:()=>B,PG:()=>A});var d=c(80501),e=c(96405),f=c(90127),g=c(59627),h=c(24582);function i(){return(0,h.n)()?"dev":"vps"===(0,g.T)()?"vps":"portable"===(0,g.T)()?"portable":/[\\/]_npx[\\/]/.test((0,f.v)())?"npx":"global"}var j=c(52392),k=c(73024),l=c(76760),m=c(48161),n=c(31421),o=c(37989);let p=()=>new Date().toISOString().replace(/[:.]/g,"-"),q=()=>(0,l.join)((0,o.r$)(),"backups","last-update.json");async function r(){let a=await (0,j.checkForUpdate)(!0),b=i(),c=a.command;if(!a.updateAvailable)return{ok:!0,context:b,command:c,message:"Already up to date."};let d=function(){try{let a=(0,o.r$)(),b=(0,l.join)(a,"backups",p());for(let c of((0,k.mkdirSync)(b,{recursive:!0}),[".env","constella.db","constella.db-wal","constella.db-shm"])){let d=(0,l.join)(a,c);if((0,k.existsSync)(d))try{(0,k.copyFileSync)(d,(0,l.join)(b,c))}catch{}}return b}catch{return null}}()??void 0;if("dev"===b)return{ok:!1,context:b,command:c,backupDir:d,message:"Running from source — update with: git pull && pnpm install && pnpm build"};if("npx"===b)return{ok:!1,context:b,command:c,backupDir:d,message:"npx runs an ephemeral copy — re-run: npx constellai@latest"};if("vps"===b){var e="bash scripts/vps-update.sh";try{(0,k.writeFileSync)(q(),JSON.stringify({status:"running",to:a.latest,at:p()}));let b=(0,o.r$)(),c=process.env.CONSTELLA_PKG_ROOT||process.cwd(),f=(0,l.join)(c,"bin","constella-update.mjs"),g=a.latest?["--version",a.latest]:[];return(0,n.spawn)(process.execPath,[f,"--quiet","--mode","vps","--home",b,...g],{detached:!0,stdio:"ignore",cwd:(0,m.tmpdir)()}).unref(),{ok:!0,started:!0,needsRestart:!0,context:"vps",command:e,backupDir:d,message:`Updating to ${a.latest} and restarting the service — this page reconnects in a few seconds.`}}catch(a){return{ok:!1,context:"vps",command:e,backupDir:d,message:"Couldn't launch the updater: "+String(a instanceof Error?a.message:a)}}}return function(a,b,c,d){try{(0,k.writeFileSync)(q(),JSON.stringify({status:"running",to:a.latest,at:p()}));let e=process.env.CONSTELLA_RUN_MODE||"start",f=process.env.CONSTELLA_LAUNCHER_PID||"0",g=(0,o.r$)(),h=process.env.PORT||"3000",i=process.env.CONSTELLA_PKG_ROOT||process.cwd(),j=(0,l.join)(i,"bin","constella-update.mjs"),r=a.latest?["--version",a.latest]:[];return(0,n.spawn)(process.execPath,[j,"--quiet","--pid",f,"--mode",e,"--home",g,"--port",h,...r],{detached:!0,stdio:"ignore",windowsHide:!0,cwd:(0,m.tmpdir)()}).unref(),{ok:!0,started:!0,needsRestart:!0,context:b,command:c,backupDir:d,message:`Updating to ${a.latest} and restarting — this page reconnects in a few seconds.`}}catch(a){return{ok:!1,context:b,command:c,backupDir:d,message:"Couldn't launch the updater: "+String(a instanceof Error?a.message:a)}}}(a,b,c,d)}var s=c(73591),t=c(54813),u=c(406),v=c(96977);async function w(){let a=await t.db.select({lastPulse:u.agent.lastPulse}).from(u.agent).where((0,s.eq)(u.agent.status,"working")),b=Date.now()-v.fQ;return a.some(a=>null!=a.lastPulse&&new Date(a.lastPulse).getTime()>=b)}async function x(a=!1){return(0,j.checkForUpdate)(a)}async function y(a=!1){let[b,c]=await Promise.all([(0,j.checkForUpdate)(a),w()]);return{info:b,busy:c}}async function z(){return i()}async function A(){return(await (0,e.nP)(),await w())?{ok:!1,started:!1,blocked:!0,context:"",command:"",message:"An agent is working — pause it before updating."}:r()}async function B(){try{return JSON.parse((0,k.readFileSync)(q(),"utf8"))}catch{return{status:"idle"}}}(0,c(64185).D)([x,y,z,A,B]),(0,d.A)(x,"4079ee52aca558bf2ca3c25800d73e82a85654fb12",null),(0,d.A)(y,"40e88545faa11118461ff49b6570d9874017fd8a38",null),(0,d.A)(z,"000620f675346f8a12b50bfbe6296aad9ae5464e72",null),(0,d.A)(A,"00491a4a12afe57900974b078cd17d6d523cb8b1d4",null),(0,d.A)(B,"00c24fecd5d4e2c99b78f6cfba9771178469d3d57b",null)},52392:(a,b,c)=>{c.d(b,{checkForUpdate:()=>m});var d=c(73024),e=c(76760),f=c(90127);let g="constellai",h=null,i=a=>a.replace(/^v/,"").split("-")[0].split(".").map(a=>parseInt(a,10)||0),j=a=>a.replace(/^v/,"").split("-")[1]??"";async function k(a){try{let b=new AbortController,c=setTimeout(()=>b.abort(),3e3),d=await fetch(a,{signal:b.signal,headers:{"user-agent":"constella"}});return clearTimeout(c),d.ok?await d.json():null}catch{return null}}async function l(a){try{let b=new AbortController,c=setTimeout(()=>b.abort(),3e3),d=await fetch(a,{signal:b.signal,headers:{"user-agent":"constella"}});return clearTimeout(c),d.ok?await d.text():null}catch{return null}}async function m(a=!1){let b,c,n=function(){if(process.env.CONSTELLA_VERSION)return process.env.CONSTELLA_VERSION;try{let a=JSON.parse((0,d.readFileSync)((0,e.join)((0,f.v)(),"package.json"),"utf8"));if(a?.version)return a.version}catch{}return"0.0.0"}(),o=`npm install -g ${g}@latest`;if(!a&&h&&Date.now()-h.at<216e5)return h.info;let p=await k(`https://registry.npmjs.org/${g}/latest`),q=p?.version??null,r=!!q&&function(a,b){let c=i(a),d=i(b);for(let a=0;a<3;a++){if((c[a]||0)>(d[a]||0))return!0;if((c[a]||0)<(d[a]||0))return!1}return!j(a)&&!!j(b)}(q,n),s=null;if(r&&q){let a=await l("https://raw.githubusercontent.com/gabriel7silva/constella/main/CHANGELOG.md");s=a?function(a,b){let c=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),d=a.match(RegExp(`(^|\\n)##\\s*\\[?${c}\\]?[\\s\\S]*?(?=\\n##\\s|$)`));if(d)return d[0].trim();let e=a.split(/\n##\s/)[1];return e?"## "+e.trim():null}(a,q):null}let t={current:n,latest:q,updateAvailable:r,type:q?(b=i(q),c=i(n),b[0]>c[0]?"major":b[1]>c[1]?"minor":b[2]>c[2]||!j(q)&&j(n)?"patch":null):null,command:o,changelog:s};return h={at:Date.now(),info:t},t}},59627:(a,b,c)=>{c.d(b,{T:()=>e});let d=["start","auth","vps","portable"];function e(){let a=process.env.CONSTELLA_RUN_MODE;return a&&d.includes(a)?a:"start"}},64543:(a,b,c)=>{c.d(b,{_:()=>g});var d=c(50727),e=c(48578),f=c(41323);function g({title:a,sub:b,right:c,icon:h,flush:i,children:j}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.b,{title:a}),(0,d.jsx)(f.ViewChrome,{title:a,sub:b,right:c,icon:h,flush:i,children:j})]})}}};
@@ -0,0 +1 @@
1
+ exports.id=6585,exports.ids=[6585],exports.modules={5678:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"connection",{enumerable:!0,get:function(){return k}});let d=c(29294),e=c(63033),f=c(99701),g=c(60685),h=c(1278),i=c(81);c(27694);let j=c(61299);function k(){let a=d.workAsyncStorage.getStore(),b=e.workUnitAsyncStorage.getStore();if(a){if(b&&"after"===b.phase&&!(0,i.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside \`after()\`. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but \`after()\` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E827",enumerable:!1,configurable:!0});if(a.forceStatic)return Promise.resolve(void 0);if(a.dynamicShouldError)throw Object.defineProperty(new g.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`connection()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E847",enumerable:!1,configurable:!0});if(b)switch(b.type){case"cache":{let b=Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside "use cache". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual request, but caches must be able to be produced before a request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E841",enumerable:!1,configurable:!0});throw Error.captureStackTrace(b,k),a.invalidDynamicUsageError??=b,b}case"private-cache":{let b=Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside "use cache: private". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual navigation request, but caches must be able to be produced before a navigation request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E837",enumerable:!1,configurable:!0});throw Error.captureStackTrace(b,k),a.invalidDynamicUsageError??=b,b}case"unstable-cache":throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside a function cached with \`unstable_cache()\`. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but caches must be able to be produced before a Request so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E840",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1125",enumerable:!1,configurable:!0});case"prerender":case"prerender-client":case"prerender-runtime":return(0,h.makeHangingPromise)(b.renderSignal,a.route,"`connection()`");case"validation-client":{let a="`connection`";throw Object.defineProperty(new j.InvariantError(`${a} must not be used within a Client Component. Next.js should be preventing ${a} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1063",enumerable:!1,configurable:!0})}case"prerender-ppr":return(0,f.postponeWithTracking)(a.route,"connection",b.dynamicTracking);case"prerender-legacy":return(0,f.throwToInterruptStaticGeneration)("connection",a,b);case"request":if((0,f.trackDynamicDataInDynamicRender)(b),b.asyncApiPromises)return b.asyncApiPromises.connection;return Promise.resolve(void 0)}}(0,e.throwForMissingRequestStore)("connection")}},14711:(a,b,c)=>{"use strict";var d,e;Object.defineProperty(b,"__esModule",{value:!0}),d=c(44965),e=b,Object.keys(d).forEach(function(a){"default"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return d[a]}})})},16633:(a,b,c)=>{"use strict";a.exports=c(44870)},24544:(a,b)=>{"use strict";function c(){throw Object.defineProperty(Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead'),"__NEXT_ERROR_CODE",{value:"E183",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ImageResponse",{enumerable:!0,get:function(){return c}})},25173:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"URLPattern",{enumerable:!0,get:function(){return c}});let c="u"<typeof URLPattern?void 0:URLPattern},29408:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={isBot:function(){return h},userAgent:function(){return j},userAgentFromString:function(){return i}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=(d=c(49791))&&d.__esModule?d:{default:d};function h(a){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver|GPTBot/i.test(a)}function i(a){return{...(0,g.default)(a),isBot:void 0!==a&&h(a)}}function j({headers:a}){return i(a.get("user-agent")||void 0)}},44965:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"after",{enumerable:!0,get:function(){return e}});let d=c(29294);function e(a){let b=d.workAsyncStorage.getStore();if(!b)throw Object.defineProperty(Error("`after` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context"),"__NEXT_ERROR_CODE",{value:"E468",enumerable:!1,configurable:!0});let{afterContext:c}=b;return c.after(a)}},49496:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(94928),e=c(15841),f=c(16674);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},49791:(a,b,c)=>{var d,e={226:function(e,f){!function(g){"use strict";var h="function",i="undefined",j="object",k="string",l="major",m="model",n="name",o="type",p="vendor",q="version",r="architecture",s="console",t="mobile",u="tablet",v="smarttv",w="wearable",x="embedded",y="Amazon",z="Apple",A="ASUS",B="BlackBerry",C="Browser",D="Chrome",E="Firefox",F="Google",G="Huawei",H="Microsoft",I="Motorola",J="Opera",K="Samsung",L="Sharp",M="Sony",N="Xiaomi",O="Zebra",P="Facebook",Q="Chromium OS",R="Mac OS",S=function(a,b){var c={};for(var d in a)b[d]&&b[d].length%2==0?c[d]=b[d].concat(a[d]):c[d]=a[d];return c},T=function(a){for(var b={},c=0;c<a.length;c++)b[a[c].toUpperCase()]=a[c];return b},U=function(a,b){return typeof a===k&&-1!==V(b).indexOf(V(a))},V=function(a){return a.toLowerCase()},W=function(a,b){if(typeof a===k)return a=a.replace(/^\s\s*/,""),typeof b===i?a:a.substring(0,350)},X=function(a,b){for(var c,d,e,f,g,i,k=0;k<b.length&&!g;){var l=b[k],m=b[k+1];for(c=d=0;c<l.length&&!g&&l[c];)if(g=l[c++].exec(a))for(e=0;e<m.length;e++)i=g[++d],typeof(f=m[e])===j&&f.length>0?2===f.length?typeof f[1]==h?this[f[0]]=f[1].call(this,i):this[f[0]]=f[1]:3===f.length?typeof f[1]!==h||f[1].exec&&f[1].test?this[f[0]]=i?i.replace(f[1],f[2]):void 0:this[f[0]]=i?f[1].call(this,i,f[2]):void 0:4===f.length&&(this[f[0]]=i?f[3].call(this,i.replace(f[1],f[2])):void 0):this[f]=i||void 0;k+=2}},Y=function(a,b){for(var c in b)if(typeof b[c]===j&&b[c].length>0){for(var d=0;d<b[c].length;d++)if(U(b[c][d],a))return"?"===c?void 0:c}else if(U(b[c],a))return"?"===c?void 0:c;return a},Z={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},$={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[q,[n,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[q,[n,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[n,q],[/opios[\/ ]+([\w\.]+)/i],[q,[n,J+" Mini"]],[/\bopr\/([\w\.]+)/i],[q,[n,J]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[n,q],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[q,[n,"UC"+C]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[q,[n,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[q,[n,"WeChat"]],[/konqueror\/([\w\.]+)/i],[q,[n,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[q,[n,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[q,[n,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[n,/(.+)/,"$1 Secure "+C],q],[/\bfocus\/([\w\.]+)/i],[q,[n,E+" Focus"]],[/\bopt\/([\w\.]+)/i],[q,[n,J+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[q,[n,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[q,[n,"Dolphin"]],[/coast\/([\w\.]+)/i],[q,[n,J+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[q,[n,"MIUI "+C]],[/fxios\/([-\w\.]+)/i],[q,[n,E]],[/\bqihu|(qi?ho?o?|360)browser/i],[[n,"360 "+C]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[n,/(.+)/,"$1 "+C],q],[/(comodo_dragon)\/([\w\.]+)/i],[[n,/_/g," "],q],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[n,q],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[n],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[n,P],q],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[n,q],[/\bgsa\/([\w\.]+) .*safari\//i],[q,[n,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[q,[n,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[q,[n,D+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[n,D+" WebView"],q],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[q,[n,"Android "+C]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[n,q],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[q,[n,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[q,n],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[n,[q,Y,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[n,q],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[n,"Netscape"],q],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[q,[n,E+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[n,q],[/(cobalt)\/([\w\.]+)/i],[n,[q,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[r,"amd64"]],[/(ia32(?=;))/i],[[r,V]],[/((?:i[346]|x)86)[;\)]/i],[[r,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[r,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[r,"armhf"]],[/windows (ce|mobile); ppc;/i],[[r,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[r,/ower/,"",V]],[/(sun4\w)[;\)]/i],[[r,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[r,V]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[m,[p,K],[o,u]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[m,[p,K],[o,t]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[m,[p,z],[o,t]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[m,[p,z],[o,u]],[/(macintosh);/i],[m,[p,z]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[m,[p,L],[o,t]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[m,[p,G],[o,u]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[m,[p,G],[o,t]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[m,/_/g," "],[p,N],[o,t]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[m,/_/g," "],[p,N],[o,u]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[m,[p,"OPPO"],[o,t]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[m,[p,"Vivo"],[o,t]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[m,[p,"Realme"],[o,t]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[m,[p,I],[o,t]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[m,[p,I],[o,u]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[m,[p,"LG"],[o,u]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[m,[p,"LG"],[o,t]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[m,[p,"Lenovo"],[o,u]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[m,/_/g," "],[p,"Nokia"],[o,t]],[/(pixel c)\b/i],[m,[p,F],[o,u]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[m,[p,F],[o,t]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[m,[p,M],[o,t]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[m,"Xperia Tablet"],[p,M],[o,u]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[m,[p,"OnePlus"],[o,t]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[m,[p,y],[o,u]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[m,/(.+)/g,"Fire Phone $1"],[p,y],[o,t]],[/(playbook);[-\w\),; ]+(rim)/i],[m,p,[o,u]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[m,[p,B],[o,t]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[m,[p,A],[o,u]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[m,[p,A],[o,t]],[/(nexus 9)/i],[m,[p,"HTC"],[o,u]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[p,[m,/_/g," "],[o,t]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[m,[p,"Acer"],[o,u]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[m,[p,"Meizu"],[o,t]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[p,m,[o,t]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[p,m,[o,u]],[/(surface duo)/i],[m,[p,H],[o,u]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[m,[p,"Fairphone"],[o,t]],[/(u304aa)/i],[m,[p,"AT&T"],[o,t]],[/\bsie-(\w*)/i],[m,[p,"Siemens"],[o,t]],[/\b(rct\w+) b/i],[m,[p,"RCA"],[o,u]],[/\b(venue[\d ]{2,7}) b/i],[m,[p,"Dell"],[o,u]],[/\b(q(?:mv|ta)\w+) b/i],[m,[p,"Verizon"],[o,u]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[m,[p,"Barnes & Noble"],[o,u]],[/\b(tm\d{3}\w+) b/i],[m,[p,"NuVision"],[o,u]],[/\b(k88) b/i],[m,[p,"ZTE"],[o,u]],[/\b(nx\d{3}j) b/i],[m,[p,"ZTE"],[o,t]],[/\b(gen\d{3}) b.+49h/i],[m,[p,"Swiss"],[o,t]],[/\b(zur\d{3}) b/i],[m,[p,"Swiss"],[o,u]],[/\b((zeki)?tb.*\b) b/i],[m,[p,"Zeki"],[o,u]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[p,"Dragon Touch"],m,[o,u]],[/\b(ns-?\w{0,9}) b/i],[m,[p,"Insignia"],[o,u]],[/\b((nxa|next)-?\w{0,9}) b/i],[m,[p,"NextBook"],[o,u]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[p,"Voice"],m,[o,t]],[/\b(lvtel\-)?(v1[12]) b/i],[[p,"LvTel"],m,[o,t]],[/\b(ph-1) /i],[m,[p,"Essential"],[o,t]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[m,[p,"Envizen"],[o,u]],[/\b(trio[-\w\. ]+) b/i],[m,[p,"MachSpeed"],[o,u]],[/\btu_(1491) b/i],[m,[p,"Rotor"],[o,u]],[/(shield[\w ]+) b/i],[m,[p,"Nvidia"],[o,u]],[/(sprint) (\w+)/i],[p,m,[o,t]],[/(kin\.[onetw]{3})/i],[[m,/\./g," "],[p,H],[o,t]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[m,[p,O],[o,u]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[m,[p,O],[o,t]],[/smart-tv.+(samsung)/i],[p,[o,v]],[/hbbtv.+maple;(\d+)/i],[[m,/^/,"SmartTV"],[p,K],[o,v]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[p,"LG"],[o,v]],[/(apple) ?tv/i],[p,[m,z+" TV"],[o,v]],[/crkey/i],[[m,D+"cast"],[p,F],[o,v]],[/droid.+aft(\w)( bui|\))/i],[m,[p,y],[o,v]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[m,[p,L],[o,v]],[/(bravia[\w ]+)( bui|\))/i],[m,[p,M],[o,v]],[/(mitv-\w{5}) bui/i],[m,[p,N],[o,v]],[/Hbbtv.*(technisat) (.*);/i],[p,m,[o,v]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[p,W],[m,W],[o,v]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[o,v]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[p,m,[o,s]],[/droid.+; (shield) bui/i],[m,[p,"Nvidia"],[o,s]],[/(playstation [345portablevi]+)/i],[m,[p,M],[o,s]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[m,[p,H],[o,s]],[/((pebble))app/i],[p,m,[o,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[m,[p,z],[o,w]],[/droid.+; (glass) \d/i],[m,[p,F],[o,w]],[/droid.+; (wt63?0{2,3})\)/i],[m,[p,O],[o,w]],[/(quest( 2| pro)?)/i],[m,[p,P],[o,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[p,[o,x]],[/(aeobc)\b/i],[m,[p,y],[o,x]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[m,[o,t]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[m,[o,u]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[o,u]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[o,t]],[/(android[-\w\. ]{0,9});.+buil/i],[m,[p,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[q,[n,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[q,[n,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[n,q],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[q,n]],os:[[/microsoft (windows) (vista|xp)/i],[n,q],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[n,[q,Y,Z]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[n,"Windows"],[q,Y,Z]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/ios;fbsv\/([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[q,/_/g,"."],[n,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[n,R],[q,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[q,n],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[n,q],[/\(bb(10);/i],[q,[n,B]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[q,[n,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[q,[n,E+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[q,[n,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[q,[n,"watchOS"]],[/crkey\/([\d\.]+)/i],[q,[n,D+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[n,Q],q],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[n,q],[/(sunos) ?([\w\.\d]*)/i],[[n,"Solaris"],q],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[n,q]]},_=function(a,b){if(typeof a===j&&(b=a,a=void 0),!(this instanceof _))return new _(a,b).getResult();var c=typeof g!==i&&g.navigator?g.navigator:void 0,d=a||(c&&c.userAgent?c.userAgent:""),e=c&&c.userAgentData?c.userAgentData:void 0,f=b?S($,b):$,s=c&&c.userAgent==d;return this.getBrowser=function(){var a,b={};return b[n]=void 0,b[q]=void 0,X.call(b,d,f.browser),b[l]=typeof(a=b[q])===k?a.replace(/[^\d\.]/g,"").split(".")[0]:void 0,s&&c&&c.brave&&typeof c.brave.isBrave==h&&(b[n]="Brave"),b},this.getCPU=function(){var a={};return a[r]=void 0,X.call(a,d,f.cpu),a},this.getDevice=function(){var a={};return a[p]=void 0,a[m]=void 0,a[o]=void 0,X.call(a,d,f.device),s&&!a[o]&&e&&e.mobile&&(a[o]=t),s&&"Macintosh"==a[m]&&c&&typeof c.standalone!==i&&c.maxTouchPoints&&c.maxTouchPoints>2&&(a[m]="iPad",a[o]=u),a},this.getEngine=function(){var a={};return a[n]=void 0,a[q]=void 0,X.call(a,d,f.engine),a},this.getOS=function(){var a={};return a[n]=void 0,a[q]=void 0,X.call(a,d,f.os),s&&!a[n]&&e&&"Unknown"!=e.platform&&(a[n]=e.platform.replace(/chrome os/i,Q).replace(/macos/i,R)),a},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return d},this.setUA=function(a){return d=typeof a===k&&a.length>350?W(a,350):a,this},this.setUA(d),this};_.VERSION="1.0.35",_.BROWSER=T([n,q,l]),_.CPU=T([r]),_.DEVICE=T([m,p,o,s,t,v,u,w,x]),_.ENGINE=_.OS=T([n,q]),typeof f!==i?(e.exports&&(f=e.exports=_),f.UAParser=_):c.amdO?void 0===(d=(function(){return _}).call(b,c,b,a))||(a.exports=d):typeof g!==i&&(g.UAParser=_);var aa=typeof g!==i&&(g.jQuery||g.Zepto);if(aa&&!aa.ua){var ab=new _;aa.ua=ab.getResult(),aa.ua.get=function(){return ab.getUA()},aa.ua.set=function(a){ab.setUA(a);var b=ab.getResult();for(var c in b)aa.ua[c]=b[c]}}}("object"==typeof window?window:this)}},f={};function g(a){var b=f[a];if(void 0!==b)return b.exports;var c=f[a]={exports:{}},d=!0;try{e[a].call(c.exports,c,c.exports,g),d=!1}finally{d&&delete f[a]}return c.exports}g.ab=__dirname+"/",a.exports=g(226)},65312:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextResponse",{enumerable:!0,get:function(){return l}});let d=c(94464),e=c(92610),f=c(16674),g=c(58269),h=c(94464),i=Symbol("internal response"),j=new Set([301,302,303,307,308]);function k(a,b){var c;if(null==a||null==(c=a.request)?void 0:c.headers){if(!(a.request.headers instanceof Headers))throw Object.defineProperty(Error("request.headers must be an instance of Headers"),"__NEXT_ERROR_CODE",{value:"E119",enumerable:!1,configurable:!0});let c=[];for(let[d,e]of a.request.headers)b.set("x-middleware-request-"+d,e),c.push(d);b.set("x-middleware-override-headers",c.join(","))}}class l extends Response{constructor(a,b={}){super(a,b);const c=this.headers,j=new Proxy(new h.ResponseCookies(c),{get(a,e,f){switch(e){case"delete":case"set":return(...f)=>{let g=Reflect.apply(a[e],a,f),i=new Headers(c);return g instanceof h.ResponseCookies&&c.set("x-middleware-set-cookie",g.getAll().map(a=>(0,d.stringifyCookie)(a)).join(",")),k(b,i),g};default:return g.ReflectAdapter.get(a,e,f)}}});this[i]={cookies:j,url:b.url?new e.NextURL(b.url,{headers:(0,f.toNodeOutgoingHttpHeaders)(c),nextConfig:b.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[i].cookies}static json(a,b){let c=Response.json(a,b);return new l(c.body,c)}static redirect(a,b){let c="number"==typeof b?b:(null==b?void 0:b.status)??307;if(!j.has(c))throw Object.defineProperty(RangeError('Failed to execute "redirect" on "response": Invalid status code'),"__NEXT_ERROR_CODE",{value:"E529",enumerable:!1,configurable:!0});let d="object"==typeof b?b:{},e=new Headers(null==d?void 0:d.headers);return e.set("Location",(0,f.validateURL)(a)),new l(null,{...d,headers:e,status:c})}static rewrite(a,b){let c=new Headers(null==b?void 0:b.headers);return c.set("x-middleware-rewrite",(0,f.validateURL)(a)),k(b,c),new l(null,{...b,headers:c})}static next(a){let b=new Headers(null==a?void 0:a.headers);return b.set("x-middleware-next","1"),k(a,b),new l(null,{...a,headers:b})}}},75447:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ImageResponse:function(){return f.ImageResponse},NextRequest:function(){return g.NextRequest},NextResponse:function(){return h.NextResponse},URLPattern:function(){return j.URLPattern},after:function(){return k.after},connection:function(){return l.connection},userAgent:function(){return i.userAgent},userAgentFromString:function(){return i.userAgentFromString}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(24544),g=c(76714),h=c(65312),i=c(29408),j=c(25173),k=c(14711),l=c(5678)},91736:(a,b,c)=>{"use strict";var d=c(75447);c.o(d,"NextResponse")&&c.d(b,{NextResponse:function(){return d.NextResponse}})}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=3243,exports.ids=[3243],exports.modules={73243:(a,b,c)=>{c.d(b,{generatePlanFor:()=>u,startNewWorkFor:()=>v});var d=c(77598),e=c(15220),f=c(16338),g=c(54410),h=c(82339),i=c(9165),j=c(48810),k=c(48685),l=c(92930),m=c(38442);let n="specs/SUPER-SPEC.md";async function o(a){let b,{orgId:c,wsId:e,ada:f,binary:g,model:k}=a,o=`You are ${f.name}, analyzing an EXISTING project that is ALREADY present in this workspace (the current directory). Do NOT write any product code, do NOT scaffold anything — your ONLY job is to UNDERSTAND the project and write a thorough "super spec".
1
+ "use strict";exports.id=6778,exports.ids=[6778],exports.modules={66778:(a,b,c)=>{c.d(b,{generatePlanFor:()=>u,startNewWorkFor:()=>v});var d=c(77598),e=c(99209),f=c(82079),g=c(39328),h=c(96996),i=c(97420),j=c(71195),k=c(2644),l=c(51991),m=c(823);let n="specs/SUPER-SPEC.md";async function o(a){let b,{orgId:c,wsId:e,ada:f,binary:g,model:k}=a,o=`You are ${f.name}, analyzing an EXISTING project that is ALREADY present in this workspace (the current directory). Do NOT write any product code, do NOT scaffold anything — your ONLY job is to UNDERSTAND the project and write a thorough "super spec".
2
2
 
3
3
  Read in THIS order, then go deeper:
4
4
  1. Docs first: README*, CHANGELOG*, docs/**, any install/setup/usage guides, CONTRIBUTING.
@@ -14,7 +14,7 @@ If the repo is large, prioritize breadth: read every manifest + entry point and
14
14
  When done, reply with a 2-3 sentence summary of the system.`,p=(0,d.randomUUID)();await (0,l.I)(e,{runId:p,channel:"planner",agentId:f.id,kind:"thinking",target:`${f.name} is reading the existing project…`});try{b=await (0,j.p1)(o,{orgId:c,binary:g,model:k,timeoutMs:6e5},a=>{(0,l.I)(e,{runId:p,channel:"planner",agentId:f.id,kind:a.kind,target:a.target,detail:a.detail})})}catch(a){return{ok:!1,bytes:0,error:String(a instanceof Error?a.message:a)}}(b.usd>0||b.inputTokens+b.outputTokens>0)&&await h.db.insert(i.costEntry).values({id:(0,d.randomUUID)(),workspaceId:e,agentId:f.id,provider:b.binary,model:b.model??k??"",usd:b.usd,tokens:b.inputTokens+b.outputTokens,at:new Date});let q=(0,m.sL)(c,n);(!q||q.trim().length<80)&&b.text.trim()&&((0,m.dx)(c,n,`# Super Spec — existing system analysis
15
15
 
16
16
  ${b.text.trim()}
17
- `),q=(0,m.sL)(c,n));let r=q?.length??0;return{ok:r>0,bytes:r}}var p=c(47244),q=c(33735),r=c(80629),s=c(36650),t=c(41291);async function u(a,b,c){let j=await h.db.select().from(i.agent).where((0,e.eq)(i.agent.workspaceId,b.id)),k=j.find(a=>"ada"===a.handle)??j.find(a=>/ceo|chief exec/i.test(a.role))??j[0];if(!k)return{ok:!1,error:"no CEO agent"};let m=b.settings??{};if(m.source?.analyzing&&Date.now()-(m.source?.analyzingAt??0)<72e4)return{ok:!0,started:!1};if("working"===k.status){let[a]=await h.db.select({seq:i.event.seq,kind:i.event.kind}).from(i.event).where((0,e.Uo)((0,e.eq)(i.event.workspaceId,b.id),(0,e.eq)(i.event.channel,"planner"))).orderBy((0,f.i)(i.event.seq)).limit(1);if(a&&"done"!==a.kind&&"error"!==a.kind&&Date.now()-a.seq<36e4)return{ok:!0,started:!1};console.warn("[planner] Ada was stuck 'working' with no live run — recovering (a prior plan job died before it reset her).")}let n=(0,d.randomUUID)();await h.db.update(i.agent).set({status:"working"}).where((0,e.eq)(i.agent.id,k.id)),await (0,l.I)(b.id,{runId:n,channel:"planner",agentId:k.id,kind:"thinking",target:`${k.name} is analyzing the brief…`});try{(0,g.revalidatePath)("/planner")}catch{}return w({orgId:a,workspace:b,ada:k,agents:j,runId:n,opts:c}).catch(a=>console.error("[planner] background plan job crashed:",a)),{ok:!0,started:!0}}async function v(a,b,c){let d=c.brief?.trim();return d?u(a,b,{brief:d,goalTitle:c.title?.trim()||void 0}):{ok:!1,error:"Describe what you want to implement, fix or change."}}async function w(a){let{orgId:b,workspace:c,ada:f,agents:n,runId:u,opts:v}=a;try{let a=a=>a?n.find(b=>b.role.toLowerCase()===a.toLowerCase())?.id??null:null,w=(0,j.hW)(f.adapter,f.model),x="claude"===w?f.model.includes("opus")?"opus":f.model.includes("haiku")?"haiku":"sonnet":void 0;(0,j.UC)(c.settings?.agents?.webResearch??null);let y=Array.from(new Set(n.map(a=>a.role))),z=!!v?.brief?.trim(),A=v?.brief?.trim()||(0,m.sL)(b,".claude/BRIEF.md")||"",B=(0,m.CS)(b).filter(a=>a.startsWith("mock/")&&"mock/README.md"!==a),C=c.stack??{},D=Object.entries(C).map(([a,b])=>`${a}: ${b}`).filter(a=>!a.endsWith(": None")).join(", "),E=!!C.frontend&&"None"!==C.frontend,F=(0,r.Cg)(),G=[...new Set([...(0,r.AQ)(C),...(0,r.IT)(C,"Frontend"),...(0,r.IT)(C,"Backend"),...(0,r.IT)(C,"CyberSec"),...(0,r.IT)(C,"CTO")])].filter(a=>F.has(a)).map(a=>`- ${a}: ${F.get(a).description}`).join("\n"),H=c.settings??{},I=H.source?.type??"new",J="new"!==I||B.length>0||!!(0,k.pp)(b),K=!!H.source?.analyzing&&Date.now()-(H.source?.analyzingAt??0)<72e4;if(!z&&J&&!H.source?.analyzed&&!K){await h.db.update(i.workspace).set({settings:{...H,source:{...H.source??{},type:I,analyzing:!0,analyzingAt:Date.now()}}}).where((0,e.eq)(i.workspace.id,c.id));try{await o({orgId:b,wsId:c.id,ada:{id:f.id,name:f.name},binary:w,model:x}),await h.db.update(i.workspace).set({settings:{...H,source:{...H.source??{},type:I,analyzed:!0,analyzing:!1}}}).where((0,e.eq)(i.workspace.id,c.id))}catch(a){console.error("[planner] project analysis failed:",a);try{await h.db.update(i.workspace).set({settings:{...H,source:{...H.source??{},type:I,analyzing:!1}}}).where((0,e.eq)(i.workspace.id,c.id))}catch{}}}let L=z?null:(0,m.sL)(b,"specs/SUPER-SPEC.md"),M=(0,m.sL)(b,"design-mock/APPROVED.md"),N=(0,t.hp)(b),O=M?N.at&&N.served?`
17
+ `),q=(0,m.sL)(c,n));let r=q?.length??0;return{ok:r>0,bytes:r}}var p=c(60579),q=c(93864),r=c(13227),s=c(94417),t=c(33342);async function u(a,b,c){let j=await h.db.select().from(i.agent).where((0,e.eq)(i.agent.workspaceId,b.id)),k=j.find(a=>"ada"===a.handle)??j.find(a=>/ceo|chief exec/i.test(a.role))??j[0];if(!k)return{ok:!1,error:"no CEO agent"};let m=b.settings??{};if(m.source?.analyzing&&Date.now()-(m.source?.analyzingAt??0)<72e4)return{ok:!0,started:!1};if("working"===k.status){let[a]=await h.db.select({seq:i.event.seq,kind:i.event.kind}).from(i.event).where((0,e.Uo)((0,e.eq)(i.event.workspaceId,b.id),(0,e.eq)(i.event.channel,"planner"))).orderBy((0,f.i)(i.event.seq)).limit(1);if(a&&"done"!==a.kind&&"error"!==a.kind&&Date.now()-a.seq<36e4)return{ok:!0,started:!1};console.warn("[planner] Ada was stuck 'working' with no live run — recovering (a prior plan job died before it reset her).")}let n=(0,d.randomUUID)();await h.db.update(i.agent).set({status:"working"}).where((0,e.eq)(i.agent.id,k.id)),await (0,l.I)(b.id,{runId:n,channel:"planner",agentId:k.id,kind:"thinking",target:`${k.name} is analyzing the brief…`});try{(0,g.revalidatePath)("/planner")}catch{}return w({orgId:a,workspace:b,ada:k,agents:j,runId:n,opts:c}).catch(a=>console.error("[planner] background plan job crashed:",a)),{ok:!0,started:!0}}async function v(a,b,c){let d=c.brief?.trim();return d?u(a,b,{brief:d,goalTitle:c.title?.trim()||void 0}):{ok:!1,error:"Describe what you want to implement, fix or change."}}async function w(a){let{orgId:b,workspace:c,ada:f,agents:n,runId:u,opts:v}=a;try{let a=a=>a?n.find(b=>b.role.toLowerCase()===a.toLowerCase())?.id??null:null,w=(0,j.hW)(f.adapter,f.model),x="claude"===w?f.model.includes("opus")?"opus":f.model.includes("haiku")?"haiku":"sonnet":void 0;(0,j.UC)(c.settings?.agents?.webResearch??null);let y=Array.from(new Set(n.map(a=>a.role))),z=!!v?.brief?.trim(),A=v?.brief?.trim()||(0,m.sL)(b,".claude/BRIEF.md")||"",B=(0,m.CS)(b).filter(a=>a.startsWith("mock/")&&"mock/README.md"!==a),C=c.stack??{},D=Object.entries(C).map(([a,b])=>`${a}: ${b}`).filter(a=>!a.endsWith(": None")).join(", "),E=!!C.frontend&&"None"!==C.frontend,F=(0,r.Cg)(),G=[...new Set([...(0,r.AQ)(C),...(0,r.IT)(C,"Frontend"),...(0,r.IT)(C,"Backend"),...(0,r.IT)(C,"CyberSec"),...(0,r.IT)(C,"CTO")])].filter(a=>F.has(a)).map(a=>`- ${a}: ${F.get(a).description}`).join("\n"),H=c.settings??{},I=H.source?.type??"new",J="new"!==I||B.length>0||!!(0,k.pp)(b),K=!!H.source?.analyzing&&Date.now()-(H.source?.analyzingAt??0)<72e4;if(!z&&J&&!H.source?.analyzed&&!K){await h.db.update(i.workspace).set({settings:{...H,source:{...H.source??{},type:I,analyzing:!0,analyzingAt:Date.now()}}}).where((0,e.eq)(i.workspace.id,c.id));try{await o({orgId:b,wsId:c.id,ada:{id:f.id,name:f.name},binary:w,model:x}),await h.db.update(i.workspace).set({settings:{...H,source:{...H.source??{},type:I,analyzed:!0,analyzing:!1}}}).where((0,e.eq)(i.workspace.id,c.id))}catch(a){console.error("[planner] project analysis failed:",a);try{await h.db.update(i.workspace).set({settings:{...H,source:{...H.source??{},type:I,analyzing:!1}}}).where((0,e.eq)(i.workspace.id,c.id))}catch{}}}let L=z?null:(0,m.sL)(b,"specs/SUPER-SPEC.md"),M=(0,m.sL)(b,"design-mock/APPROVED.md"),N=(0,t.hp)(b),O=M?N.at&&N.served?`
18
18
  APPROVED DESIGN — ALREADY PROMOTED INTO THE SOURCE. The operator approved the UI in the Design module and it was promoted into the project's REAL served frontend (\`${N.target}/\` — see design-mock/PROMOTED.md; the dev server already renders these exact screens). Read design-mock/APPROVED.md + design-mock/handoff.md IN FULL. The UI is DONE and is the source of truth — engineers must NOT rebuild, recreate or restyle it. Every frontend issue EXTENDS the promoted screens: wire real data + backend + interactivity + states ON TOP, preserving the markup/CSS exactly (zero drift). Do NOT plan any "build the UI / recreate the screens" issue. Summary:
19
19
  ${M.slice(0,6e3)}`:N.at&&N.needsPort?`
20
20
  APPROVED DESIGN — STAGED FOR PORT. The operator approved the UI; it's staged as HTML/CSS in \`${N.target}/\` (see design-mock/PROMOTED.md). Plan ONE FIRST frontend issue: PORT these exact screens into ${C.frontend||"the chosen framework"} components 1:1 (zero drift — same markup/layout/tokens), then EXTEND with real data/backend/states ON TOP. Never redesign or invent a different look. Read design-mock/APPROVED.md + handoff.md IN FULL. Summary:
@@ -0,0 +1 @@
1
+ "use strict";exports.id=6807,exports.ids=[6807],exports.modules={36329:(a,b,c)=>{c.d(b,{jX:()=>d});function d(a){return a?a.split(",").map(a=>a.trim()).filter(Boolean):[]}},96807:(a,b,c)=>{c.d(b,{IT:()=>t,AQ:()=>s,Cg:()=>o,qg:()=>p,et:()=>u,BC:()=>r});var d=c(73024),e=c(76760),f=c(45570);let g={TypeScript:"typescript",JavaScript:"javascript",Python:"python",Go:"go",Rust:"rust",Java:"java",Kotlin:"kotlin","C#":"csharp",Ruby:"ruby",PHP:"php",Elixir:"elixir",Swift:"swift","C++":"cpp",Scala:"scala",Dart:"dart",C:"c",Clojure:"clojure",Haskell:"haskell",Lua:"lua","Objective-C":"objectivec",Erlang:"erlang","Node.js":"node",Bun:"bun",Deno:"deno","Python 3":"python3",PyPy:"pypy",JVM:"jvm",".NET":"dotnet","BEAM (Erlang VM)":"beam",React:"react",Vue:"vue",Svelte:"svelte",Angular:"angular",SolidJS:"solidjs",Preact:"preact",Qwik:"qwik",Lit:"lit","Alpine.js":"alpine","Next.js":"nextjs",Nuxt:"nuxt",Remix:"remix",SvelteKit:"sveltekit",Astro:"astro",Gatsby:"gatsby","Vite (SPA)":"vite",NestJS:"nestjs",Fastify:"fastify",Express:"express",Hono:"hono",Koa:"koa",Django:"django",Flask:"flask",FastAPI:"fastapi","Spring Boot":"spring-boot",Spring:"spring",Laravel:"laravel",Symfony:"symfony","Ruby on Rails":"rails",Gin:"gin",Fiber:"fiber",Actix:"actix",Phoenix:"phoenix","ASP.NET Core":"aspnet-core",AdonisJS:"adonisjs","React Native":"react-native",Flutter:"flutter",PostgreSQL:"postgresql",MySQL:"mysql",MariaDB:"mariadb",SQLite:"sqlite",MongoDB:"mongodb",Redis:"redis",Supabase:"supabase",Prisma:"prisma",Drizzle:"drizzle",TypeORM:"typeorm",Sequelize:"sequelize",SQLAlchemy:"sqlalchemy","Django ORM":"django-orm",Mongoose:"mongoose",GORM:"gorm","Tailwind CSS":"tailwind","CSS Modules":"css-modules","styled-components":"styled-components",Sass:"sass",Jest:"jest",Vitest:"vitest",Cypress:"cypress",Playwright:"playwright",Docker:"docker",Podman:"podman",BullMQ:"bullmq",RabbitMQ:"rabbitmq",Kafka:"kafka",Celery:"celery","Auth.js":"authjs",Keycloak:"keycloak",R:"r",Ember:"ember",Backbone:"backbone",Hugo:"hugo",Jekyll:"jekyll",Eleventy:"eleventy",Docusaurus:"docusaurus",CodeIgniter:"codeigniter",GraphQL:"graphql",Nginx:"nginx",Android:"android",Ionic:"ionic",Xamarin:"xamarin",NativeScript:"nativescript",Bootstrap:"bootstrap",Bulma:"bulma",Vuetify:"vuetify",Selenium:"selenium",Mocha:"mocha",Jasmine:"jasmine",Puppeteer:"puppeteer",TensorFlow:"tensorflow",PyTorch:"pytorch","scikit-learn":"scikit-learn",Keras:"keras",Pandas:"pandas",NumPy:"numpy",Jupyter:"jupyter",D3:"d3","Chart.js":"chart-js",Grafana:"grafana",Plotly:"plotly",Azure:"azure",Jenkins:"jenkins",CircleCI:"circleci",Terraform:"terraform",Ansible:"ansible",Vagrant:"vagrant",Firebase:"firebase",Appwrite:"appwrite",Amplify:"amplify",Heroku:"heroku"},h=[{match:/\bceo\b|chief exec/i,profile:{stackPrefixes:[],allPrefixes:["process/","design/","front-end/","engineering/architecture/"],core:["app-planning","requirements-to-specs","specs-to-issues","architecture-before-code"]}},{match:/product owner|\bpo\b|product manager/i,profile:{stackPrefixes:[],allPrefixes:["process/"],core:["product-discovery","requirements-to-specs","specs-to-issues","prioritization-moscow-rice"]}},{match:/\bcto\b|chief tech|tech lead|architect/i,profile:{stackPrefixes:["stacks/"],allPrefixes:["engineering/architecture/","engineering/security/","engineering/performance/","process/architecture-before-code","process/adr-technical-decisions"],core:["system-design-fundamentals","software-architecture-patterns","architecture-before-code","api-design-rest-graphql"]}},{match:/front\s?end|\bui\b|\bux\b|web designer/i,profile:{stackPrefixes:["stacks/frontend/","stacks/styling/","stacks/meta/","stacks/mobile/","stacks/testing/"],allPrefixes:["design/","front-end/","engineering/frontend/","engineering/performance/web-performance-core-vitals"],core:["design-systems","ui-ux-principles","responsive-layout","color-and-typography","accessibility-wcag"]}},{match:/back\s?end|server|\bapi\b/i,profile:{stackPrefixes:["stacks/backend/","stacks/database/","stacks/orm/","stacks/queue/","stacks/runtime/","stacks/baas/","stacks/auth/"],allPrefixes:["engineering/backend/","engineering/architecture/","engineering/performance/"],core:["backend-fundamentals","api-design-rest-graphql","data-modeling","auth-and-authorization"]}},{match:/cyber\s?sec|security|appsec|\bsec\b/i,profile:{stackPrefixes:["stacks/auth/"],allPrefixes:["engineering/security/","process/security-by-design","process/review-code-perf-security"],core:["owasp-top-10","owasp-asvs","secrets-management","secure-auth-sessions"]}},{match:/\bqa\b|quality|test/i,profile:{stackPrefixes:["stacks/testing/"],allPrefixes:["engineering/testing/","process/testing-before-done"],core:["testing-strategy-pyramid","tdd-and-coverage","unit-integration-e2e"]}},{match:/devops|\bops\b|infra|platform|sre|deploy/i,profile:{stackPrefixes:["stacks/infra/","stacks/container/","stacks/runtime/"],allPrefixes:["engineering/architecture/scalability-reliability","engineering/security/secrets-management"],core:["scalability-reliability","secrets-management"]}},{match:/\bdocs?\b|documentation|technical writer/i,profile:{stackPrefixes:["stacks/"],allPrefixes:["process/readme-generation"],core:["readme-generation"]}}],i={stackPrefixes:["stacks/"],allPrefixes:["process/","engineering/practices/"],core:[]};var j=c(36329);function k(){let a=[process.env.CONSTELLA_PKG_ROOT,(0,f.v)(),process.cwd()].filter(Boolean).map(a=>(0,e.join)(a,"skills"));for(let b of a)try{if((0,d.statSync)(b).isDirectory())return b}catch{}return a[0]??(0,e.join)((0,f.v)(),"skills")}function l(a,b){let c=a.match(RegExp(`^${b}:\\s*(.+)$`,"m"));return c?c[1].trim().replace(/^["']|["']$/g,"").trim():""}function m(a,b){let c=a.match(RegExp(`(?:^|\\n)${b}:\\s*\\n([\\s\\S]*?)(?=\\n\\S|$)`));return c?c[1].split("\n").map(a=>a.match(/^\s*-\s+(.+?)\s*$/)?.[1]?.replace(/^["']|["']$/g,"").trim()).filter(a=>!!a):[]}let n=null;function o(){if(n)return n;let a=k(),b=new Map;try{(0,d.statSync)(a).isDirectory()&&function c(f,g){let h;if(!(g>8)){try{h=(0,d.readdirSync)(f,{withFileTypes:!0})}catch{return}for(let i of h){let h=(0,e.join)(f,i.name);if(i.isDirectory()){c(h,g+1);continue}if("SKILL.md"!==i.name)continue;let j="";try{j=(0,d.readFileSync)(h,"utf8")}catch{continue}let k=j.match(/^---\n([\s\S]*?)\n---/),n=k?.[1]??"",o=h.split(/[\\/]/).slice(-2,-1)[0]||l(n,"name");if(!o||b.has(o))continue;let p=h.slice(a.length).replace(/^[\\/]+/,"").replace(/\\/g,"/");b.set(o,{name:o,relPath:p,description:l(n,"description")||`${o} skill.`,domain:l(n,"domain")||p.split("/")[0]||"",category:l(n,"category")||"",sources:m(n,"official_sources"),tags:function(a,b){let c=a.match(RegExp(`^${b}:\\s*\\[(.*?)\\]\\s*$`,"m"));return c?c[1].split(",").map(a=>a.trim().replace(/^["']|["']$/g,"")).filter(Boolean):m(a,b)}(n,"tags")})}}}(a,0)}catch{}return n=b,b}function p(a){let b=o().get(a)??null;if(!b)return null;try{return(0,d.readFileSync)((0,e.join)(k(),b.relPath),"utf8")}catch{return null}}let q=["clean-code","git-workflow","code-review-practices","refactoring","code-optimization","owasp-top-10","secrets-management","appsec-fundamentals","testing-strategy-pyramid","tdd-and-coverage","unit-integration-e2e","ui-ux-principles","responsive-layout","accessibility-wcag","architecture-before-code","requirements-to-specs","specs-to-issues","testing-before-done","security-by-design","review-code-perf-security","research-official-docs","authoring-agent-skills","readme-generation"];function r(a){return a.replace(/^---\n[\s\S]*?\n---\n?/,"").trim()}function s(a){let b=o(),c=[...q];for(let b of Object.values(a??{}))for(let a of(0,j.jX)(b)){let b=g[a];b&&c.push(b)}return[...new Set(c)].filter(a=>b.has(a))}function t(a,b){let c=o(),d=function(a){let b=(a??"").trim();for(let a of h)if(a.match.test(b))return a.profile;return i}(b),e=new Set(s(a)),f=new Set(d.core.filter(a=>c.has(a)));for(let[a,b]of c)d.stackPrefixes.some(a=>b.relPath.startsWith(a))&&e.has(a)&&f.add(a);return[...f]}function u(a){let b=o(),c=new Set;for(let d of s(a))for(let a of b.get(d)?.sources??[])try{c.add(new URL(a).host.toLowerCase())}catch{}return[...c]}}};
@@ -1 +1 @@
1
- "use strict";exports.id=1388,exports.ids=[1388],exports.modules={31388:(a,b,c)=>{c.d(b,{WQ:()=>d,kH:()=>f});let d=[{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."}],e=Object.fromEntries(d.map(a=>[a.id,a])),f=a=>e[a]}};
1
+ "use strict";exports.id=6948,exports.ids=[6948],exports.modules={46948:(a,b,c)=>{c.d(b,{WQ:()=>d,kH:()=>f});let d=[{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."}],e=Object.fromEntries(d.map(a=>[a.id,a])),f=a=>e[a]}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=1591,exports.ids=[1591],exports.modules={1591:(a,b,c)=>{c.d(b,{Tc:()=>z,YK:()=>D,PM:()=>B});var d=c(77598),e=c(89611),f=c(1782),g=c(7852),h=c(80280),i=c(25533),j=c(3188),k=c(28969),l=c(55614),m=c(14024);async function n(a,b){let c=b.adapter??"";if(c.startsWith("local_"))return{kind:"http",http:{provider:"openai",baseUrl:"local_ollama"===c?(process.env.OLLAMA_URL??"http://127.0.0.1:11434")+"/v1":(process.env.LLAMACPP_URL??"http://127.0.0.1:8082")+"/v1",apiKey:"",model:b.model||"local"}};if(c.startsWith("http_")){let[d]=await h.db.select().from(i.provider).where((0,f.Uo)((0,f.eq)(i.provider.workspaceId,a),(0,f.eq)(i.provider.adapter,c)));if(d){let e=(0,l.kH)(d.catalogId),f=await (0,k.r6)(a,`${d.catalogId}_api_key`);if(e?.baseUrl&&f)return{kind:"http",http:{provider:c.includes("google")?"google":"openai",baseUrl:e.baseUrl,apiKey:f,model:b.model}}}}return{kind:"cli",binary:(0,j.hW)(b.adapter,b.model)}}async function o(a,b,c,d){return"http"===b.kind?(0,m._)(a,b.http,{timeoutMs:c.timeoutMs},d):(0,j.p1)(a,{orgId:c.orgId,binary:b.binary,model:c.model,timeoutMs:c.timeoutMs},d)}var p=c(34302),q=c(32180),r=c(62524),s=c(78848),t=c(10333),u=c(43075),v=c(64619),w=c(12867),x=c(48938);async function y(a,b){if(!b)return!1;let c=new Date;c.setHours(0,0,0,0);let[d]=await h.db.select({total:(0,e.cz)(i.costEntry.usd)}).from(i.costEntry).where((0,f.Uo)((0,f.eq)(i.costEntry.agentId,a),(0,f.RO)(i.costEntry.at,c)));return Number(d?.total??0)>=b}function z(a){let b=(a??"").trim();return b?/not logged in|please run \/login|unauthenticated|unauthorized|invalid api key|authentication failed/i.test(b)?"the agent's CLI isn't authenticated in this runtime — check the model provider / CLI login in the Models module":b:"no output"}let A="[[CREATE_WORK]]";async function B(a,b,c,e,k,l){let m=(0,d.randomUUID)(),y=(0,j.hW)(e.adapter,e.model),B="work"===k?`This is the team room.${l?` Your teammate @${l.from} just handed off to YOU:
1
+ "use strict";exports.id=699,exports.ids=[699],exports.modules={20699:(a,b,c)=>{c.d(b,{Tc:()=>z,YK:()=>D,PM:()=>B});var d=c(77598),e=c(6839),f=c(50730),g=c(23888),h=c(12940),i=c(76561),j=c(55104),k=c(59101),l=c(90026),m=c(84452);async function n(a,b){let c=b.adapter??"";if(c.startsWith("local_"))return{kind:"http",http:{provider:"openai",baseUrl:"local_ollama"===c?(process.env.OLLAMA_URL??"http://127.0.0.1:11434")+"/v1":(process.env.LLAMACPP_URL??"http://127.0.0.1:8082")+"/v1",apiKey:"",model:b.model||"local"}};if(c.startsWith("http_")){let[d]=await h.db.select().from(i.provider).where((0,f.Uo)((0,f.eq)(i.provider.workspaceId,a),(0,f.eq)(i.provider.adapter,c)));if(d){let e=(0,l.kH)(d.catalogId),f=await (0,k.r6)(a,`${d.catalogId}_api_key`);if(e?.baseUrl&&f)return{kind:"http",http:{provider:c.includes("google")?"google":"openai",baseUrl:e.baseUrl,apiKey:f,model:b.model}}}}return{kind:"cli",binary:(0,j.hW)(b.adapter,b.model)}}async function o(a,b,c,d){return"http"===b.kind?(0,m._)(a,b.http,{timeoutMs:c.timeoutMs},d):(0,j.p1)(a,{orgId:c.orgId,binary:b.binary,model:c.model,timeoutMs:c.timeoutMs},d)}var p=c(76121),q=c(61392),r=c(59941),s=c(87980),t=c(79017),u=c(66263),v=c(50415),w=c(28134),x=c(63942);async function y(a,b){if(!b)return!1;let c=new Date;c.setHours(0,0,0,0);let[d]=await h.db.select({total:(0,e.cz)(i.costEntry.usd)}).from(i.costEntry).where((0,f.Uo)((0,f.eq)(i.costEntry.agentId,a),(0,f.RO)(i.costEntry.at,c)));return Number(d?.total??0)>=b}function z(a){let b=(a??"").trim();return b?/not logged in|please run \/login|unauthenticated|unauthorized|invalid api key|authentication failed/i.test(b)?"the agent's CLI isn't authenticated in this runtime — check the model provider / CLI login in the Models module":b:"no output"}let A="[[CREATE_WORK]]";async function B(a,b,c,e,k,l){let m=(0,d.randomUUID)(),y=(0,j.hW)(e.adapter,e.model),B="work"===k?`This is the team room.${l?` Your teammate @${l.from} just handed off to YOU:
2
2
  """
3
3
  ${l.text.slice(0,800)}
4
4
  """
@@ -21,4 +21,4 @@ KNOWLEDGE CONSULT: before you assume a convention, a prior decision, or whether
21
21
 
22
22
  KB MAINTENANCE (you are the Knowledge agent): you may trigger "[[KB: reindex]]", "[[KB: index-chat]]" or "[[KB: health]]" on their own line to refresh the workspace index, re-index the conversations, or check the embedding server — each result is reported back into the thread.`:""),{prompt:F,sources:G}=await (0,p.s)({orgId:a,ws:b,agent:e,channel:c,instruction:E});(0,j.Pe)(b.settings?.agents?.fileLocks??null),(0,j.Hs)(b.settings?.agents?.cmdGuard??null),(0,j.UC)(b.settings?.agents?.webResearch??null);let H=await n(b.id,e),I=await o(F,H,{orgId:a,model:function(a,b){if("claude"===a){let a=(b||"").toLowerCase();return a.includes("opus")?"opus":a.includes("haiku")?"haiku":"sonnet"}if("codex"!==a)return b||void 0}(y,e.model),timeoutMs:18e4},a=>{(0,s.I)(b.id,{runId:m,channel:c,agentId:e.id,kind:a.kind,target:a.target,detail:a.detail})}),J=""!==C&&I.text.includes(A),K=I.text.split(A).join("").trim(),L=(0,w.c5)(K,{agentHandle:e.handle,sourceKind:"chat",sourceRef:m});L.items.length&&(0,w.ru)(a,L.items).catch(()=>{});let M=await (0,w.uJ)(a,L.stripped,e.handle),N=await (0,w.QU)(a,M.stripped),O=(0,x.Z)(N.stripped);for(let a of(await h.db.insert(i.message).values({id:m,workspaceId:b.id,channel:c,fromKind:"agent",fromHandle:e.handle,text:I.ok&&O?O.slice(0,4e3):`(${e.name} couldn't respond: ${z(I.error)})`,sources:G.length?G:null,sessionId:await (0,q.xF)(b.id,c)}),M.answers))await h.db.insert(i.message).values({id:(0,d.randomUUID)(),workspaceId:b.id,channel:c,fromKind:"agent",fromHandle:"vannevar",text:`🔎 KB consult — "${a.q}"
23
23
 
24
- ${a.a}`.slice(0,4e3),sources:a.sources.length?a.sources:null,sessionId:await (0,q.xF)(b.id,c)});return N.results.length&&await h.db.insert(i.message).values({id:(0,d.randomUUID)(),workspaceId:b.id,channel:c,fromKind:"agent",fromHandle:"vannevar",text:`🛠️ KB tools — ${N.results.join(" \xb7 ")}`.slice(0,4e3),sessionId:await (0,q.xF)(b.id,c)}),await (0,t.f)(b.id,m,c),I.ok&&O&&"telegram"!==c&&await (0,r.b)(b.id,{text:O,agentId:e.id,agentHandle:e.handle,messageId:m,channel:c}),(0,u.r)(b.id),(0,v.PD)(a),(I.usd>0||I.inputTokens+I.outputTokens>0)&&await h.db.insert(i.costEntry).values({id:(0,d.randomUUID)(),workspaceId:b.id,agentId:e.id,channel:c,provider:I.binary,model:I.model??e.model,usd:I.usd,tokens:I.inputTokens+I.outputTokens,at:new Date}),{text:I.ok?K:"",planRequested:J}}async function C(a,b){return"working"===b.status||!!await h.db.query.task.findFirst({where:(0,f.Uo)((0,f.eq)(i.task.workspaceId,a),(0,f.eq)(i.task.assigneeId,b.id),(0,f.eq)(i.task.col,"doing"))})}async function D(a,b,c,d,e=0,g=new Set){let j;if(e>=2||!d.trim()||!(j=d.replace(/@\w[\w-]*/g," ").replace(/\p{Extended_Pictographic}/gu," ").replace(/[^\p{L}\p{N}]+/gu," ").trim().toLowerCase())||/^(ok|okay|k|got it|on it|im on it|working on it|starting|starting now|will do|sure|sounds good|done|thanks|thank you|np|yep|yes|roger|copy)$/.test(j))return;let k=d.replace(/(\p{Extended_Pictographic}[️‍]?){2,}/gu,a=>Array.from(a)[0]).trim(),l=Object.fromEntries((await h.db.select().from(i.agent).where((0,f.eq)(i.agent.workspaceId,b.id))).map(a=>[a.handle,a])),m=[...new Set((d.match(/@([a-z0-9-]+)/gi)||[]).map(a=>a.slice(1).toLowerCase()))].filter(a=>a!==c&&l[a]&&!g.has(a)),n=0;for(let d of m){if(n>=1)break;let f=l[d];if(await y(f.id,f.dailyCapUsd)||await C(b.id,f))continue;n++,g.add(d);let{text:h}=await B(a,b,"room",f,"work",{from:c,text:k});await D(a,b,d,h,e+1,g)}}},10333:(a,b,c)=>{c.d(b,{f:()=>h});var d=c(1782),e=c(7852),f=c(80280),g=c(25533);async function h(a,b,c){try{await f.db.delete(g.event).where((0,d.Uo)((0,d.eq)(g.event.workspaceId,a),(0,d.eq)(g.event.runId,b),(0,d.eq)(g.event.kind,"text")));let h=await f.db.select({seq:g.event.seq}).from(g.event).where((0,d.Uo)((0,d.eq)(g.event.workspaceId,a),(0,d.eq)(g.event.channel,c))).orderBy((0,e.i)(g.event.seq)).limit(500);if(500===h.length){let b=h[h.length-1].seq;await f.db.delete(g.event).where((0,d.Uo)((0,d.eq)(g.event.workspaceId,a),(0,d.eq)(g.event.channel,c),(0,d.lt)(g.event.seq,b)))}}catch(a){console.error("[events-prune] failed:",a)}}},62524:(a,b,c)=>{c.d(b,{b:()=>i});var d=c(90860);let e=/@(operator|you|boss|human)\b/i,f=/@[a-z0-9-]+/i,g=/\b(approv(e|al)?|sign[- ]?off|go[- ]?ahead|your (ok|sign|approval|decision|call)|permission to|need(s|ed)?\s+(your|operator|human|approval)|should i\b|may i\b|can i\s+(proceed|merge|deploy|continue|ship)|waiting (for|on)\s+(you|your|approval|operator)|please\s+(confirm|approve|decide|review))\b/i;var h=c(54033);async function i(a,b){var c;let i,j,k,{mention:l,approvalRequest:m}=(c=b.text,i=e.test(c),j=g.test(c),k=!i&&f.test(c),{mention:i||j&&!k,approvalRequest:j});if(l)try{await (0,d.I)(a,{kind:m?"approval":"mention",text:m?`@${b.agentHandle} needs your approval`:`@${b.agentHandle} mentioned you`,detail:b.text.slice(0,300),agentId:b.agentId,messageId:b.messageId,channel:b.channel}),await (0,h.vE)(a,{kind:m?"approval":"question",refType:"question",refId:b.messageId,fromAgentId:b.agentId??null,channel:b.channel,messageId:b.messageId,title:m?`@${b.agentHandle} needs your approval`:`@${b.agentHandle} asked you`,detail:b.text.slice(0,500)})}catch(a){console.error("[operator-ping] failed:",a)}}}};
24
+ ${a.a}`.slice(0,4e3),sources:a.sources.length?a.sources:null,sessionId:await (0,q.xF)(b.id,c)});return N.results.length&&await h.db.insert(i.message).values({id:(0,d.randomUUID)(),workspaceId:b.id,channel:c,fromKind:"agent",fromHandle:"vannevar",text:`🛠️ KB tools — ${N.results.join(" \xb7 ")}`.slice(0,4e3),sessionId:await (0,q.xF)(b.id,c)}),await (0,t.f)(b.id,m,c),I.ok&&O&&"telegram"!==c&&await (0,r.b)(b.id,{text:O,agentId:e.id,agentHandle:e.handle,messageId:m,channel:c}),(0,u.r)(b.id),(0,v.PD)(a),(I.usd>0||I.inputTokens+I.outputTokens>0)&&await h.db.insert(i.costEntry).values({id:(0,d.randomUUID)(),workspaceId:b.id,agentId:e.id,channel:c,provider:I.binary,model:I.model??e.model,usd:I.usd,tokens:I.inputTokens+I.outputTokens,at:new Date}),{text:I.ok?K:"",planRequested:J}}async function C(a,b){return"working"===b.status||!!await h.db.query.task.findFirst({where:(0,f.Uo)((0,f.eq)(i.task.workspaceId,a),(0,f.eq)(i.task.assigneeId,b.id),(0,f.eq)(i.task.col,"doing"))})}async function D(a,b,c,d,e=0,g=new Set){let j;if(e>=2||!d.trim()||!(j=d.replace(/@\w[\w-]*/g," ").replace(/\p{Extended_Pictographic}/gu," ").replace(/[^\p{L}\p{N}]+/gu," ").trim().toLowerCase())||/^(ok|okay|k|got it|on it|im on it|working on it|starting|starting now|will do|sure|sounds good|done|thanks|thank you|np|yep|yes|roger|copy)$/.test(j))return;let k=d.replace(/(\p{Extended_Pictographic}[️‍]?){2,}/gu,a=>Array.from(a)[0]).trim(),l=Object.fromEntries((await h.db.select().from(i.agent).where((0,f.eq)(i.agent.workspaceId,b.id))).map(a=>[a.handle,a])),m=[...new Set((d.match(/@([a-z0-9-]+)/gi)||[]).map(a=>a.slice(1).toLowerCase()))].filter(a=>a!==c&&l[a]&&!g.has(a)),n=0;for(let d of m){if(n>=1)break;let f=l[d];if(await y(f.id,f.dailyCapUsd)||await C(b.id,f))continue;n++,g.add(d);let{text:h}=await B(a,b,"room",f,"work",{from:c,text:k});await D(a,b,d,h,e+1,g)}}},59941:(a,b,c)=>{c.d(b,{b:()=>i});var d=c(44440);let e=/@(operator|you|boss|human)\b/i,f=/@[a-z0-9-]+/i,g=/\b(approv(e|al)?|sign[- ]?off|go[- ]?ahead|your (ok|sign|approval|decision|call)|permission to|need(s|ed)?\s+(your|operator|human|approval)|should i\b|may i\b|can i\s+(proceed|merge|deploy|continue|ship)|waiting (for|on)\s+(you|your|approval|operator)|please\s+(confirm|approve|decide|review))\b/i;var h=c(76381);async function i(a,b){var c;let i,j,k,{mention:l,approvalRequest:m}=(c=b.text,i=e.test(c),j=g.test(c),k=!i&&f.test(c),{mention:i||j&&!k,approvalRequest:j});if(l)try{await (0,d.I)(a,{kind:m?"approval":"mention",text:m?`@${b.agentHandle} needs your approval`:`@${b.agentHandle} mentioned you`,detail:b.text.slice(0,300),agentId:b.agentId,messageId:b.messageId,channel:b.channel}),await (0,h.vE)(a,{kind:m?"approval":"question",refType:"question",refId:b.messageId,fromAgentId:b.agentId??null,channel:b.channel,messageId:b.messageId,title:m?`@${b.agentHandle} needs your approval`:`@${b.agentHandle} asked you`,detail:b.text.slice(0,500)})}catch(a){console.error("[operator-ping] failed:",a)}}},79017:(a,b,c)=>{c.d(b,{f:()=>h});var d=c(50730),e=c(23888),f=c(12940),g=c(76561);async function h(a,b,c){try{await f.db.delete(g.event).where((0,d.Uo)((0,d.eq)(g.event.workspaceId,a),(0,d.eq)(g.event.runId,b),(0,d.eq)(g.event.kind,"text")));let h=await f.db.select({seq:g.event.seq}).from(g.event).where((0,d.Uo)((0,d.eq)(g.event.workspaceId,a),(0,d.eq)(g.event.channel,c))).orderBy((0,e.i)(g.event.seq)).limit(500);if(500===h.length){let b=h[h.length-1].seq;await f.db.delete(g.event).where((0,d.Uo)((0,d.eq)(g.event.workspaceId,a),(0,d.eq)(g.event.channel,c),(0,d.lt)(g.event.seq,b)))}}catch(a){console.error("[events-prune] failed:",a)}}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=7109,exports.ids=[7109],exports.modules={28854:(a,b,c)=>{c.d(b,{qV:()=>e});let d=["javascript:","data:","vbscript:"];function e(a){let b;try{b=new URL(a)}catch{return!0}return!d.includes(b.protocol)}},39067:(a,b,c)=>{c.d(b,{M:()=>ao});let d=Object.create(null),e=a=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(a?d:globalThis),f=new Proxy(d,{get:(a,b)=>e()[b]??d[b],has:(a,b)=>b in e()||b in d,set:(a,b,c)=>(e(!0)[b]=c,!0),deleteProperty(a,b){if(!b)return!1;let c=e(!0);return delete c[b],!0},ownKeys:()=>Object.keys(e(!0))});function g(a,b){return"u">typeof process&&process.env?process.env[a]??b:"u">typeof Deno?Deno.env.get(a)??b:"u">typeof Bun?Bun.env[a]??b:b}f.NODE_ENV,Object.freeze({get BETTER_AUTH_SECRET(){return g("BETTER_AUTH_SECRET")},get AUTH_SECRET(){return g("AUTH_SECRET")},get BETTER_AUTH_TELEMETRY(){return g("BETTER_AUTH_TELEMETRY")},get BETTER_AUTH_TELEMETRY_ID(){return g("BETTER_AUTH_TELEMETRY_ID")},get NODE_ENV(){return g("NODE_ENV","development")},get PACKAGE_VERSION(){return g("PACKAGE_VERSION","0.0.0")},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return g("BETTER_AUTH_TELEMETRY_ENDPOINT","")}});let h={OK:200,CREATED:201,ACCEPTED:202,NO_CONTENT:204,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,"I'M_A_TEAPOT":418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511};var i=class extends Error{constructor(a="INTERNAL_SERVER_ERROR",b,c={},d="number"==typeof a?a:h[a]){super(b?.message,b?.cause?{cause:b.cause}:void 0),this.status=a,this.body=b,this.headers=c,this.statusCode=d,this.name="APIError",this.status=a,this.headers=c,this.statusCode=d,this.body=b}};Symbol.for("better-call:api-error-headers"),function(a,b){class c extends a{#a;constructor(...a){if(function(){let a=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit");return void 0===a?Object.isExtensible(Error):Object.prototype.hasOwnProperty.call(a,"writable")?a.writable:void 0!==a.set}()){const b=Error.stackTraceLimit;Error.stackTraceLimit=0,super(...a),Error.stackTraceLimit=b}else super(...a);const b=Error().stack;b&&(this.#a=function(a){let b=a.split("\n at ");return b.length<=1?a:(b.splice(1,1),b.join("\n at "))}(b.replace(/^Error/,this.name)))}get errorStack(){return this.#a}}Object.defineProperty(c.prototype,"constructor",{get:()=>b,enumerable:!1,configurable:!0})}(i,Error);var j=class extends Error{constructor(a,b){super(a,b),this.name="BetterAuthError",this.message=a,this.stack=""}};function k(a){let b=a.length;for(;b>0&&47===a.charCodeAt(b-1);)b--;return b===a.length?a:a.slice(0,b)}function l(a,b="/api/auth"){try{let b=new URL(a);if("http:"!==b.protocol&&"https:"!==b.protocol)throw new j(`Invalid base URL: ${a}. URL must include 'http://' or 'https://'`)}catch(b){if(b instanceof j)throw b;throw new j(`Invalid base URL: ${a}. Please provide a valid base URL.`,{cause:b})}if(function(a){try{return"/"!==(k(new URL(a).pathname)||"/")}catch{throw new j(`Invalid base URL: ${a}. Please provide a valid base URL.`)}}(a))return a;let c=k(a);return b&&"/"!==b?(b=b.startsWith("/")?b:`/${b}`,`${c}${b}`):c}let m={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},n=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,o={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:1/0,"-infinity":-1/0},p=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/;var q=c(28854);let r={id:"redirect",name:"Redirect",hooks:{onSuccess(a){if(a.data?.url&&a.data?.redirect&&(0,q.qV)(a.data.url)&&"u">typeof window&&window.location&&window.location)try{window.location.href=a.data.url}catch{}}}},s=(a,b,c,d)=>(a.events=a.events||{},a.events[c+10]||(a.events[c+10]=d(b=>{a.events[c].reduceRight((a,b)=>(b(a),a),{shared:{},...b})})),a.events[c]=a.events[c]||[],a.events[c].push(b),()=>{let d=a.events[c],e=d.indexOf(b);d.splice(e,1),d.length||(delete a.events[c],a.events[c+10](),delete a.events[c+10])});function t(a){if("object"!=typeof a||null===a)return!1;let b=Object.getPrototypeOf(a);return b===Object.prototype||null===b}function u(a,b){if(a===b)return!0;if(Array.isArray(a)&&Array.isArray(b)){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(!u(a[c],b[c]))return!1;return!0}if(t(a)&&t(b)){let c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(let d of c)if(!(d in b)||!u(a[d],b[d]))return!1;return!0}return!1}let v=Symbol.for("better-auth:broadcast-channel");var w=class{listeners=new Set;name;constructor(a="better-auth.message"){this.name=a}subscribe(a){return this.listeners.add(a),()=>{this.listeners.delete(a)}}post(a){if("u">typeof window)try{localStorage.setItem(this.name,JSON.stringify({...a,timestamp:Math.floor(Date.now()/1e3)}))}catch{}}setup(){if("u"<typeof window||void 0===window.addEventListener)return()=>{};let a=a=>{if(a.key!==this.name)return;let b=JSON.parse(a.newValue??"{}");b?.event==="session"&&b?.data&&this.listeners.forEach(a=>a(b))};return window.addEventListener("storage",a),()=>{window.removeEventListener("storage",a)}}};function x(a="better-auth.message"){return globalThis[v]||(globalThis[v]=new w(a)),globalThis[v]}let y=Symbol.for("better-auth:focus-manager");var z=class{listeners=new Set;subscribe(a){return this.listeners.add(a),()=>{this.listeners.delete(a)}}setFocused(a){this.listeners.forEach(b=>b(a))}setup(){if("u"<typeof window||"u"<typeof document||void 0===window.addEventListener)return()=>{};let a=()=>{"visible"===document.visibilityState&&this.setFocused(!0)};return document.addEventListener("visibilitychange",a,!1),()=>{document.removeEventListener("visibilitychange",a,!1)}}};function A(){return globalThis[y]||(globalThis[y]=new z),globalThis[y]}let B=Symbol.for("better-auth:online-manager");var C=class{listeners=new Set;isOnline="u"<typeof navigator||navigator.onLine;subscribe(a){return this.listeners.add(a),()=>{this.listeners.delete(a)}}setOnline(a){this.isOnline=a,this.listeners.forEach(b=>b(a))}setup(){if("u"<typeof window||void 0===window.addEventListener)return()=>{};let a=()=>this.setOnline(!0),b=()=>this.setOnline(!1);return window.addEventListener("online",a,!1),window.addEventListener("offline",b,!1),()=>{window.removeEventListener("online",a,!1),window.removeEventListener("offline",b,!1)}}};function D(){return globalThis[B]||(globalThis[B]=new C),globalThis[B]}let E=()=>Math.floor(Date.now()/1e3),F=[],G=0,H=globalThis.nanostoresGlobal||={epoch:0},I=a=>{let b=[],c={get:()=>(c.lc||c.listen(()=>{})(),c.value),init:a,lc:0,listen:a=>(c.lc=b.push(a),()=>{for(let b=G+4;b<F.length;)F[b]===a?F.splice(b,4):b+=4;let d=b.indexOf(a);~d&&(b.splice(d,1),--c.lc||c.off())}),notify(a,d){H.epoch++;let e=!F.length;for(let e of b)F.push(e,c.value,a,d);if(e){for(G=0;G<F.length;G+=4)F[G](F[G+1],F[G+2],F[G+3]);F.length=0}},off(){},set(a){let b=c.value;b!==a&&(c.value=a,c.notify(b))},subscribe(a){let b=c.listen(a);return a(c.value),b},value:a};return c};function J(a){return"object"==typeof a&&null!==a&&"data"in a&&"error"in a?a:{data:a,error:null}}function K(a,b){return u(a.data,b.data)&&a.error===b.error&&a.isPending===b.isPending&&a.isRefetching===b.isRefetching&&a.refetch===b.refetch}function L(a){if(null===a||"object"!=typeof a)return!1;let b=Object.getPrototypeOf(a);return(null===b||b===Object.prototype||null===Object.getPrototypeOf(b))&&!(Symbol.iterator in a)&&(!(Symbol.toStringTag in a)||"[object Module]"===Object.prototype.toString.call(a))}function M(a){return(...b)=>b.reduce((b,c)=>(function a(b,c,d=".",e){if(!L(c))return a(b,{},d,e);let f={...c};for(let c of Object.keys(b)){if("__proto__"===c||"constructor"===c)continue;let g=b[c];null!=g&&(e&&e(f,c,g,d)||(Array.isArray(g)&&Array.isArray(f[c])?f[c]=[...g,...f[c]]:L(g)&&L(f[c])?f[c]=a(g,f[c],(d?`${d}.`:"")+c.toString(),e):f[c]=g))}return f})(b,c,"",a),{})}let N=M();M((a,b,c)=>{if(void 0!==a[b]&&"function"==typeof c)return a[b]=c(a[b]),!0}),M((a,b,c)=>{if(Array.isArray(a[b])&&"function"==typeof c)return a[b]=c(a[b]),!0});var O=Object.defineProperty,P=Object.defineProperties,Q=Object.getOwnPropertyDescriptors,R=Object.getOwnPropertySymbols,S=Object.prototype.hasOwnProperty,T=Object.prototype.propertyIsEnumerable,U=(a,b,c)=>b in a?O(a,b,{enumerable:!0,configurable:!0,writable:!0,value:c}):a[b]=c,V=(a,b)=>{for(var c in b||(b={}))S.call(b,c)&&U(a,c,b[c]);if(R)for(var c of R(b))T.call(b,c)&&U(a,c,b[c]);return a},W=(a,b)=>P(a,Q(b)),X=class extends Error{constructor(a,b,c){super(b||a.toString(),{cause:c}),this.status=a,this.statusText=b,this.error=c,Error.captureStackTrace(this,this.constructor)}},Y=async(a,b)=>{var c,d,e,f,g,h;let i=b||{},j={onRequest:[null==b?void 0:b.onRequest],onResponse:[null==b?void 0:b.onResponse],onSuccess:[null==b?void 0:b.onSuccess],onError:[null==b?void 0:b.onError],onRetry:[null==b?void 0:b.onRetry]};if(!b||!(null==b?void 0:b.plugins))return{url:a,options:i,hooks:j};for(let k of(null==b?void 0:b.plugins)||[]){if(k.init){let d=await (null==(c=k.init)?void 0:c.call(k,a.toString(),b));i=d.options||i,a=d.url}j.onRequest.push(null==(d=k.hooks)?void 0:d.onRequest),j.onResponse.push(null==(e=k.hooks)?void 0:e.onResponse),j.onSuccess.push(null==(f=k.hooks)?void 0:f.onSuccess),j.onError.push(null==(g=k.hooks)?void 0:g.onError),j.onRetry.push(null==(h=k.hooks)?void 0:h.onRetry)}return{url:a,options:i,hooks:j}},Z=class{constructor(a){this.options=a}shouldAttemptRetry(a,b){return this.options.shouldRetry?Promise.resolve(a<this.options.attempts&&this.options.shouldRetry(b)):Promise.resolve(a<this.options.attempts)}getDelay(){return this.options.delay}},$=class{constructor(a){this.options=a}shouldAttemptRetry(a,b){return this.options.shouldRetry?Promise.resolve(a<this.options.attempts&&this.options.shouldRetry(b)):Promise.resolve(a<this.options.attempts)}getDelay(a){return Math.min(this.options.maxDelay,this.options.baseDelay*2**a)}},_=async a=>{let b={},c=async a=>"function"==typeof a?await a():a;if(null==a?void 0:a.auth){if("Bearer"===a.auth.type){let d=await c(a.auth.token);if(!d)return b;b.authorization=`Bearer ${d}`}else if("Basic"===a.auth.type){let[d,e]=await Promise.all([c(a.auth.username),c(a.auth.password)]);if(!d||!e)return b;b.authorization=`Basic ${btoa(`${d}:${e}`)}`}else if("Custom"===a.auth.type){let[d,e]=await Promise.all([c(a.auth.prefix),c(a.auth.value)]);if(!e)return b;b.authorization=`${null!=d?d:""} ${e}`}}return b},aa=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function ab(a){if(void 0===a)return!1;let b=typeof a;return"string"===b||"number"===b||"boolean"===b||null===b||"object"===b&&(!!Array.isArray(a)||!a.buffer&&(a.constructor&&"Object"===a.constructor.name||"function"==typeof a.toJSON))}function ac(a){try{return JSON.parse(a)}catch(b){return a}}function ad(a){return"function"==typeof a}function ae(...a){let b={};for(let c of a)if(c)if(c instanceof Headers)c.forEach((a,c)=>{b[c]=a});else for(let[a,d]of Array.isArray(c)?c:Object.entries(c))null!=d&&(b[a]=d);return b}async function af(a){let b=new Headers(ae(null==a?void 0:a.headers,await _(a)));if(!b.has("content-type")){let c=ab(null==a?void 0:a.body)?"application/json":null;c&&b.set("content-type",c)}return b}var ag=class a extends Error{constructor(b,c){super(c||JSON.stringify(b,null,2)),this.issues=b,Object.setPrototypeOf(this,a.prototype)}};async function ah(a,b){let c=await a["~standard"].validate(b);if(c.issues)throw new ag(c.issues);return c.value}var ai=["get","post","put","patch","delete"],aj=async(a,b)=>{var c,d,e,f,g,h,i,j;let k,{hooks:l,url:m,options:n}=await Y(a,b),o=function(a){if(null==a?void 0:a.customFetchImpl)return a.customFetchImpl;if("u">typeof globalThis&&ad(globalThis.fetch))return globalThis.fetch;if("u">typeof window&&ad(window.fetch))return window.fetch;throw Error("No fetch implementation found")}(n),p=new AbortController,q=null!=(c=n.signal)?c:p.signal,r=function(a,b){let{baseURL:c,params:d,query:e}=b||{query:{},params:{},baseURL:""},f=a.startsWith("http")?a.split("/").slice(0,3).join("/"):c||"";if(a.startsWith("@")){let b=a.toString().split("@")[1].split("/")[0];ai.includes(b)&&(a=a.replace(`@${b}/`,"/"))}f.endsWith("/")||(f+="/");let[g,h]=a.replace(f,"").split("?"),i=new URLSearchParams(h);for(let[a,b]of Object.entries(e||{})){let c;if(null!=b){if("string"==typeof b)c=b;else if(Array.isArray(b)){for(let c of b)i.append(a,c);continue}else c=JSON.stringify(b);i.set(a,c)}}let j=new Map;if(d)if(Array.isArray(d))for(let[a,b]of g.split("/").filter(a=>a.startsWith(":")).entries()){let c=d[a];j.set(b,String(c))}else for(let[a,b]of Object.entries(d))j.set(`:${a}`,String(b));g=(g=g.split("/").map(a=>(function(a,b){let c,d=a;for(let[a,c]of b)d=d.replace(a,c);if("."===(c=d)||".."===c)throw TypeError("Path parameters cannot be reserved path segments");return encodeURIComponent(d)})(a,j)).join("/")).replace(/^\/+/,"");let k=i.toString();return(k=k.length>0?`?${k}`.replace(/\+/g,"%20"):"",f.startsWith("http"))?new URL(`${g}${k}`,f):`${f}${g}${k}`}(m,n),s=await af(n),t=function(a,b){let c,{body:d}=a;return d?ab(d)&&"string"!=typeof d?"application/x-www-form-urlencoded"===((c=b.get("content-type"))?c.split(";")[0].trim().toLowerCase():null)?new URLSearchParams(d).toString():JSON.stringify(d):d:null}(n,s),u=function(a,b){var c;if(null==b?void 0:b.method)return b.method.toUpperCase();if(a.startsWith("@")){let d=null==(c=a.split("@")[1])?void 0:c.split("/")[0];return ai.includes(d)?d.toUpperCase():(null==b?void 0:b.body)?"POST":"GET"}return(null==b?void 0:b.body)?"POST":"GET"}(m,n),v=W(V({},n),{url:r,headers:s,body:t,method:u,signal:q});for(let a of l.onRequest)if(a){let b=await a(v);"object"==typeof b&&null!==b&&Object.assign(v,b)}("pipeTo"in v&&"function"==typeof v.pipeTo||"function"==typeof(null==(d=null==b?void 0:b.body)?void 0:d.pipe))&&!("duplex"in v)&&(v.duplex="half");let{clearTimeout:w}=(!(null==n?void 0:n.signal)&&(null==n?void 0:n.timeout)&&(k=setTimeout(()=>null==p?void 0:p.abort(),null==n?void 0:n.timeout)),{abortTimeout:k,clearTimeout:()=>{k&&clearTimeout(k)}}),x=await o(v.url,v);w();let y={response:x,request:v};for(let a of l.onResponse)if(a){let c=await a(W(V({},y),{response:(null==(e=null==b?void 0:b.hookOptions)?void 0:e.cloneResponse)?x.clone():x}));c instanceof Response?x=c:"object"==typeof c&&null!==c&&(x=c.response)}if(x.ok){if("HEAD"===v.method)return{data:"",error:null};let a=function(a){let b=a.headers.get("content-type"),c=new Set(["image/svg","application/xml","application/xhtml","application/html"]);if(!b)return"json";let d=b.split(";").shift()||"";return aa.test(d)?"json":c.has(d)||d.startsWith("text/")?"text":"blob"}(x),c={data:null,response:x,request:v};if("json"===a||"text"===a){let a=await x.text(),b=null!=(f=v.jsonParser)?f:ac;c.data=await b(a)}else c.data=await x[a]();for(let a of((null==v?void 0:v.output)&&v.output&&!v.disableValidation&&(c.data=await ah(v.output,c.data)),l.onSuccess))a&&await a(W(V({},c),{response:(null==(g=null==b?void 0:b.hookOptions)?void 0:g.cloneResponse)?x.clone():x}));return(null==b?void 0:b.throw)?c.data:{data:c.data,error:null}}let z=null!=(h=null==b?void 0:b.jsonParser)?h:ac,A=await x.text(),B=function(a){try{return JSON.parse(a),!0}catch(a){return!1}}(A),C=B?await z(A):null,D={response:x,responseText:A,request:v,error:W(V({},C),{status:x.status,statusText:x.statusText})};for(let a of l.onError)a&&await a(W(V({},D),{response:(null==(i=null==b?void 0:b.hookOptions)?void 0:i.cloneResponse)?x.clone():x}));if(null==b?void 0:b.retry){let c=function(a){if("number"==typeof a)return new Z({type:"linear",attempts:a,delay:1e3});switch(a.type){case"linear":return new Z(a);case"exponential":return new $(a);default:throw Error("Invalid retry strategy")}}(b.retry),d=null!=(j=b.retryAttempt)?j:0;if(await c.shouldAttemptRetry(d,x)){for(let a of l.onRetry)a&&await a(y);let e=c.getDelay(d);return await new Promise(a=>setTimeout(a,e)),await aj(a,W(V({},b),{retryAttempt:d+1}))}}if(null==b?void 0:b.throw)throw new X(x.status,x.statusText,B?C:A);return{data:null,error:W(V({},C),{status:x.status,statusText:x.statusText})}};let ak=/[\p{Ll}\d]+|\p{Lu}+(?!\p{Ll})|\p{Lu}[\p{Ll}\d]+|\p{Lo}+/gu,al=/['\u2019]/g;function am(a){return(a.replace(al,"").match(ak)??[]).map(a=>a.toLowerCase()).join("-")}var an=c(98604);function ao(a){var b;let{pluginPathMethods:c,pluginsActions:d,pluginsAtoms:e,$fetch:g,$store:h,atomListeners:i}=(a=>{var b,c;let d,e,g,h,i,k,q,t="credentials"in Request.prototype,v=function(a,b,c,d){if(a)return l(a,b);if(!1!==d){let a=f.BETTER_AUTH_URL||f.NEXT_PUBLIC_BETTER_AUTH_URL||f.PUBLIC_BETTER_AUTH_URL||f.NUXT_PUBLIC_BETTER_AUTH_URL||f.NUXT_PUBLIC_AUTH_URL||("/"!==f.BASE_URL?f.BASE_URL:void 0);if(a)return l(a,b)}c?.headers.get("x-forwarded-host"),c?.headers.get("x-forwarded-proto");if(c){let a=function(a){try{let b=new URL(a);return"null"===b.origin?null:b.origin}catch{return null}}(c.url);if(!a)throw new j("Could not get origin from request. Please provide a valid base URL.");return l(a,b)}if("u">typeof window&&window.location)return l(window.location.origin,b)}(a?.baseURL,a?.basePath,void 0,void 0)??(a=>{if(!("u"<typeof process)){if(process.env.NEXT_PUBLIC_AUTH_URL)return process.env.NEXT_PUBLIC_AUTH_URL;if("u"<typeof window){if(process.env.NEXTAUTH_URL)try{return process.env.NEXTAUTH_URL}catch{}if(process.env.VERCEL_URL)try{let b=process.env.VERCEL_URL.startsWith("http")?"":"https://";return`${new URL(`${b}${process.env.VERCEL_URL}`).origin}${a??"/api/auth"}`}catch{}}}})(a?.basePath)??"/api/auth",w=a?.plugins?.flatMap(a=>a.fetchPlugins).filter(a=>void 0!==a)||[],y={id:"lifecycle-hooks",name:"lifecycle-hooks",hooks:{onSuccess:a?.fetchOptions?.onSuccess,onError:a?.fetchOptions?.onError,onRequest:a?.fetchOptions?.onRequest,onResponse:a?.fetchOptions?.onResponse}},{onSuccess:z,onError:B,onRequest:C,onResponse:F,...G}=a?.fetchOptions||{},H=(b={baseURL:v,...t?{credentials:"include"}:{},method:"GET",jsonParser:a=>a?function(a,b={strict:!0}){return function(a,b={}){let{strict:c=!1,warnings:d=!1,reviver:e,parseDates:f=!0}=b;if("string"!=typeof a)return a;let g=a.trim(),h=g.toLowerCase();if(h.length<=9&&h in o)return o[h];if(!n.test(g)){if(c)throw SyntaxError("[better-json] Invalid JSON");return a}if(Object.entries(m).some(([a,b])=>{let c=b.test(g);return c&&d&&console.warn(`[better-json] Detected potential prototype pollution attempt using ${a} pattern`),c})&&c)throw Error("[better-json] Potential prototype pollution attempt detected");try{return JSON.parse(g,(a,b)=>{if("__proto__"===a||"constructor"===a&&b&&"object"==typeof b&&"prototype"in b){d&&console.warn(`[better-json] Dropping "${a}" key to prevent prototype pollution`);return}if(f&&"string"==typeof b){let a=function(a){let b=p.exec(a);if(!b)return null;let[,c,d,e,f,g,h,i,j,k,l]=b,m=new Date(Date.UTC(parseInt(c,10),parseInt(d,10)-1,parseInt(e,10),parseInt(f,10),parseInt(g,10),parseInt(h,10),i?parseInt(i.padEnd(3,"0"),10):0));if(j){let a=(60*parseInt(k,10)+parseInt(l,10))*("+"===j?-1:1);m.setUTCMinutes(m.getUTCMinutes()+a)}return m instanceof Date&&!isNaN(m.getTime())?m:null}(b);if(a)return a}return e?e(a,b):b})}catch(b){if(c)throw b;return a}}(a,b)}(a,{strict:!1}):null,customFetchImpl:fetch,...G,plugins:[y,...G.plugins||[],...a?.disableDefaultFetchPlugins?[]:[r],...w]},async function(a,c){let d,e=W(V(V({},b),c),{headers:ae(null==b?void 0:b.headers,null==c?void 0:c.headers),plugins:[...(null==b?void 0:b.plugins)||[],(d=b||{},{id:"apply-schema",name:"Apply Schema",version:"1.0.0",async init(a,b){var c,e,f,g;let h=(null==(e=null==(c=d.plugins)?void 0:c.find(b=>{var c;return null!=(c=b.schema)&&!!c.config&&(a.startsWith(b.schema.config.baseURL||"")||a.startsWith(b.schema.config.prefix||""))}))?void 0:e.schema)||d.schema;if(h){let c=a;(null==(f=h.config)?void 0:f.prefix)&&c.startsWith(h.config.prefix)&&(c=c.replace(h.config.prefix,""),h.config.baseURL&&(a=a.replace(h.config.prefix,h.config.baseURL))),(null==(g=h.config)?void 0:g.baseURL)&&c.startsWith(h.config.baseURL)&&(c=c.replace(h.config.baseURL,"")),c.startsWith("/")&&"@"===c.charAt(1)&&(c=c.substring(1));let d=h.schema[c];if(d){let c=null==b?void 0:b.headers;if(d.headers&&!(null==b?void 0:b.disableValidation)){let a={};if(null==b?void 0:b.headers){if(b.headers instanceof Headers)b.headers.forEach((b,c)=>{a[c.toLowerCase()]=b});else if("object"==typeof b.headers)for(let[c,d]of Object.entries(b.headers))null!=d&&(a[c.toLowerCase()]=d)}let e=await ah(d.headers,a),f={};for(let[a,b]of Object.entries(e))f[a.toLowerCase()]=b;c=f}let e=W(V({},b),{method:d.method,output:d.output,headers:c});return(null==b?void 0:b.disableValidation)||(e=W(V({},e),{body:d.input?await ah(d.input,null==b?void 0:b.body):null==b?void 0:b.body,params:d.params?await ah(d.params,null==b?void 0:b.params):null==b?void 0:b.params,query:d.query?await ah(d.query,null==b?void 0:b.query):null==b?void 0:b.query})),{url:a,options:e}}}return{url:a,options:b}}}),...(null==c?void 0:c.plugins)||[]]});if(null==b?void 0:b.catchAllError)try{return await aj(a,e)}catch(a){return{data:null,error:{status:500,statusText:"Fetch Error",message:"Fetch related error. Captured by catchAllError option. See error property for more details.",error:a}}}return await aj(a,e)}),{$sessionSignal:L,session:M,broadcastSessionUpdate:O}=(e=I(!1),h=I({data:null,error:null,isPending:!0,isRefetching:!1,refetch:g=a=>k(a)}),s(h,({newValue:a,abort:b})=>{K(h.value,a)&&b()},2,a=>{let b=h.set,c=h.setKey;return h.setKey&&(h.setKey=(b,d)=>{let e;if(a({abort:()=>{e=!0},changed:b,newValue:{...h.value,[b]:d}}),!e)return c(b,d)}),h.set=c=>{let d;if(a({abort:()=>{d=!0},newValue:c}),!d)return b(c)},()=>{h.set=b,h.setKey=c}}),i=a=>{if(d!==a)return;let b=h.get();d=void 0,(b.isPending||b.isRefetching)&&h.set({...b,isPending:!1,isRefetching:!1,refetch:g})},k=async a=>{d?.abort();let b=new AbortController;d=b;let c=h.get();h.set({...c,isPending:null===c.data,isRefetching:!0,error:null,refetch:g});try{var e;let c=await H("/get-session",{method:"GET",query:a?.query,signal:b.signal});if(b.signal.aborted)return void i(b);let{data:d,error:f}=J(c);if(d?.needsRefresh)try{let a=await H("/get-session",{method:"POST",signal:b.signal});if(b.signal.aborted)return void i(b);({data:d,error:f}=J(a))}catch{if(b.signal.aborted)return void i(b)}if(f){let a=h.get(),b=f?.status===401;h.set({data:b?null:a.data,error:f,isPending:!1,isRefetching:!1,refetch:g});return}let j=(e=d)&&(null!==e.session||null!==e.user)?e:null,k=h.get(),l=null!=k.data&&null!=j&&u(k.data,j)?k.data:j;h.set({data:l,error:null,isPending:!1,isRefetching:!1,refetch:g})}catch(c){if(b.signal.aborted)return void i(b);let a=h.get();h.set({data:a.data,error:c,isPending:!1,isRefetching:!1,refetch:g})}},q=()=>{},c=()=>{let b;"u"<typeof window||(b=setTimeout(()=>{k()},0));let c=function(a){let{fetchSession:b,shouldPollSession:c=()=>!0,sessionSignal:d,options:e={}}=a,f=e.sessionOptions?.refetchInterval??0,g=e.sessionOptions?.refetchOnWindowFocus??!0,h=e.sessionOptions?.refetchWhenOffline??!1,i={isInitialized:!1,lastSessionRequest:0},j=a=>{if(h||D().isOnline){if(a?.event==="storage")return void b();if(a?.event==="poll"){i.lastSessionRequest=E(),b();return}if(a?.event==="visibilitychange"){if(E()-i.lastSessionRequest<5)return;i.lastSessionRequest=E(),b();return}b()}};return{init:()=>{i.isInitialized||(i.isInitialized=!0,f&&f>0&&(i.pollInterval=setInterval(()=>{c()&&j({event:"poll"})},1e3*f)),i.unsubscribeBroadcast=x().subscribe(()=>{j({event:"storage"})}),g&&(i.unsubscribeFocus=A().subscribe(()=>{j({event:"visibilitychange"})})),i.unsubscribeOnline=D().subscribe(a=>{a&&j({event:"visibilitychange"})}),i.unsubscribeSignal=d.listen(()=>{b()}),i.cleanupBroadcastSetup=x().setup(),i.cleanupFocusSetup=A().setup(),i.cleanupOnlineSetup=D().setup())},cleanup:()=>{i.isInitialized&&(i.pollInterval&&(clearInterval(i.pollInterval),i.pollInterval=void 0),i.unsubscribeBroadcast&&(i.unsubscribeBroadcast(),i.unsubscribeBroadcast=void 0),i.unsubscribeFocus&&(i.unsubscribeFocus(),i.unsubscribeFocus=void 0),i.unsubscribeOnline&&(i.unsubscribeOnline(),i.unsubscribeOnline=void 0),i.unsubscribeSignal&&(i.unsubscribeSignal(),i.unsubscribeSignal=void 0),i.cleanupBroadcastSetup&&(i.cleanupBroadcastSetup(),i.cleanupBroadcastSetup=void 0),i.cleanupFocusSetup&&(i.cleanupFocusSetup(),i.cleanupFocusSetup=void 0),i.cleanupOnlineSetup&&(i.cleanupOnlineSetup(),i.cleanupOnlineSetup=void 0),i.isInitialized=!1,i.lastSessionRequest=0)},triggerRefetch:j,broadcastSessionUpdate:a=>{x().post({event:"session",data:{trigger:a},clientId:Math.random().toString(36).substring(7)})}}}({fetchSession:k,shouldPollSession:()=>null!=h.get().data,sessionSignal:e,options:a});return c.init(),q=c.broadcastSessionUpdate,()=>{b&&clearTimeout(b);let a=d;a?.abort(),a&&i(a),c.cleanup()}},s(h,a=>{let b=c(a);b&&h.events[6].push(b)},5,a=>{let b=h.listen;h.listen=(...c)=>(h.lc||h.active||(h.active=!0,a()),b(...c));let c=h.off;return h.events[6]=[],h.off=()=>{c(),setTimeout(()=>{if(h.active&&!h.lc){for(let a of(h.active=!1,h.events[6]))a();h.events[6]=[]}},1e3)},()=>{h.listen=b,h.off=c}}),{session:h,$sessionSignal:e,broadcastSessionUpdate:a=>q(a)}),P=a?.plugins||[],Q={},R={$sessionSignal:L,session:M},S={"/sign-out":"POST","/revoke-sessions":"POST","/revoke-other-sessions":"POST","/delete-user":"POST"},T=[{signal:"$sessionSignal",matcher:a=>"/sign-out"===a||"/update-user"===a||"/update-session"===a||"/sign-up/email"===a||"/sign-in/email"===a||"/delete-user"===a||"/verify-email"===a||"/revoke-sessions"===a||"/revoke-session"===a||"/revoke-other-sessions"===a||"/change-email"===a||"/change-password"===a,callback(a){"/sign-out"===a?O("signout"):("/update-user"===a||"/update-session"===a)&&O("updateUser")}}];for(let a of P)a.getAtoms&&Object.assign(R,a.getAtoms?.(H)),a.pathMethods&&Object.assign(S,a.pathMethods),a.atomListeners&&T.push(...a.atomListeners);let U={notify:a=>{R[a].set(!R[a].get())},listen:(a,b)=>{R[a].subscribe(b)},atoms:R};for(let b of P)b.getActions&&(Q=N(b.getActions?.(H,U,a)??{},Q));return{get baseURL(){return v},pluginsActions:Q,pluginsAtoms:R,pluginPathMethods:S,atomListeners:T,$fetch:H,$store:U}})(a),k={};for(let[a,b]of Object.entries(e))k[function(a){return`use${a.charAt(0).toUpperCase()+a.slice(1)}`}(a)]=()=>(function(a,b={}){let c=(0,an.useRef)(a.get()),{keys:d,deps:e=[a,d]}=b,f=(0,an.useCallback)(b=>{let e=a=>{c.current!==a&&(c.current=a,b())};if(e(a.value),d?.length){let b;return b=new Set(d).add(void 0),a.listen((a,c,d)=>{b.has(d)&&e(a,c,d)})}return a.listen(e)},e),g=()=>c.current;return(0,an.useSyncExternalStore)(f,g,g)})(b);return b={...d,...k,$fetch:g,$store:h},function a(d=[]){return new Proxy(function(){},{get(c,e){var f;if("string"!=typeof e||"then"===e||"catch"===e||"finally"===e)return;let g=[...d,e],h=b;for(let a of g)if(h&&"object"==typeof h&&a in h)h=h[a];else{h=void 0;break}return"function"==typeof h?h:"object"==typeof(f=h)&&null!==f&&"get"in f&&"function"==typeof f.get&&"lc"in f&&"number"==typeof f.lc?h:a(g)},apply:async(a,b,f)=>{let h="/"+d.map(am).join("/"),j=f[0]||{},k=f[1]||{},{query:l,fetchOptions:m,...n}=j,o={...k,...m},p=function(a,b,c){let d=b[a],{fetchOptions:e,query:f,...g}=c||{};return d||(e?.method?e.method:g&&Object.keys(g).length>0?"POST":"GET")}(h,c,j);return await g(h,{...o,body:"GET"===p?void 0:{...n,...o?.body||{}},query:l||o?.query,method:p,async onSuccess(a){if(await o?.onSuccess?.(a),!i||o.disableSignal)return;let b=i.filter(a=>a.matcher(h));if(!b.length)return;let c=new Set;for(let a of b){let b=e[a.signal];if(!b)return;if(c.has(a.signal))continue;c.add(a.signal);let d=b.get();setTimeout(()=>{b.set(!d)},10),a.callback?.(h)}}})}})}()}},73943:(a,b,c)=>{c.d(b,{N:()=>f});let d=Object.fromEntries(Object.entries({OTP_NOT_ENABLED:"OTP not enabled",OTP_HAS_EXPIRED:"OTP has expired",TOTP_NOT_ENABLED:"TOTP not enabled",TWO_FACTOR_NOT_ENABLED:"Two factor isn't enabled",BACKUP_CODES_NOT_ENABLED:"Backup codes aren't enabled",INVALID_BACKUP_CODE:"Invalid backup code",INVALID_CODE:"Invalid code",TOO_MANY_ATTEMPTS_REQUEST_NEW_CODE:"Too many attempts. Please request a new code.",ACCOUNT_TEMPORARILY_LOCKED:"Too many failed verification attempts. Your account is temporarily locked. Please try again later.",INVALID_TWO_FACTOR_COOKIE:"Invalid two factor cookie"}).map(([a,b])=>[a,{code:a,message:b,toString:()=>a}]));var e=c(28854);let f=a=>({id:"two-factor",version:"1.6.22",$InferServerPlugin:{},atomListeners:[{matcher:a=>a.startsWith("/two-factor/"),signal:"$sessionSignal"}],pathMethods:{"/two-factor/disable":"POST","/two-factor/enable":"POST","/two-factor/send-otp":"POST","/two-factor/generate-backup-codes":"POST","/two-factor/get-totp-uri":"POST","/two-factor/verify-totp":"POST","/two-factor/verify-otp":"POST","/two-factor/verify-backup-code":"POST"},fetchPlugins:[{id:"two-factor",name:"two-factor",hooks:{async onSuccess(b){if(b.data?.twoFactorRedirect){if(a?.onTwoFactorRedirect)return void await a.onTwoFactorRedirect({twoFactorMethods:b.data.twoFactorMethods});a?.twoFactorPage&&"u">typeof window&&(0,e.qV)(a.twoFactorPage)&&(window.location.href=a.twoFactorPage)}}}}],$ERROR_CODES:d})}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=714,exports.ids=[714],exports.modules={70714:(a,b,c)=>{c.d(b,{D1SqliteDialect:()=>l});var d=c(95280),e=c(73279),f=c(82308),g=class extends e.U{},h=class{#a;#b;constructor(a){this.#a={...a}}async init(){this.#b=new i(this.#a.database),this.#a.onCreateConnection&&await this.#a.onCreateConnection(this.#b)}async acquireConnection(){return this.#b}async beginTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async commitTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async rollbackTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async releaseConnection(){}async destroy(){}},i=class{#c;constructor(a){this.#c=a}async executeQuery(a){let b=await this.#c.prepare(a.sql).bind(...a.parameters).all(),c=null!=b.meta.changes?BigInt(b.meta.changes):void 0;return{insertId:void 0===b.meta.last_row_id||null===b.meta.last_row_id?void 0:BigInt(b.meta.last_row_id),rows:b?.results||[],numAffectedRows:c}}async *streamQuery(){throw Error("D1 does not support streaming queries.")}},j=class{#c;#d;constructor(a,b){this.#c=a,this.#d=b}async getSchemas(){return[]}async getTables(a={withInternalKyselyTables:!1}){let b=this.#c.selectFrom("sqlite_master").where("type","in",["table","view"]).where("name","not like","sqlite_%").where("name","not like","_cf_%").select(["name","type","sql"]).$castTo();a.withInternalKyselyTables||(b=b.where("name","!=",d.n).where("name","!=",d.t));let c=await b.execute();if(0===c.length)return[];let e=c.map(a=>this.#d.prepare("SELECT * FROM pragma_table_info(?)").bind(a.name)),f=await this.#d.batch(e);return c.map((a,b)=>{let c=f[b]?.results??[],d=a.sql?.split(/[(),]/)?.find(a=>a.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.filter(Boolean)?.[0]?.replace(/["`]/g,"");if(!d){let a=c.filter(a=>a.pk>0),b=1===a.length?a[0]:void 0;b&&"integer"===b.type.toLowerCase()&&(d=b.name)}return{name:a.name,isView:"view"===a.type,isForeign:!1,columns:c.map(a=>({name:a.name,dataType:a.type,isNullable:!a.notnull,isAutoIncrementing:a.name===d,hasDefaultValue:null!=a.dflt_value}))}})}},k=class extends f.s{},l=class{#a;constructor(a){this.#a={...a}}createDriver(){return new h(this.#a)}createQueryCompiler(){return new k}createAdapter(){return new g}createIntrospector(a){return new j(a,this.#a.database)}}},95280:(a,b,c)=>{c.d(b,{n:()=>d,t:()=>e});let d="kysely_migration",e="kysely_migration_lock"}};