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 +0,0 @@
1
- "use strict";exports.id=7989,exports.ids=[7989],exports.modules={18185:(a,b,c)=>{c.d(b,{$:()=>d});let d=new Map},27989:(a,b,c)=>{c.d(b,{V$:()=>ah,Uw:()=>F,wp:()=>O,Jw:()=>X,Cp:()=>P,S8:()=>ab,kb:()=>ae,Hi:()=>ac,Vr:()=>ad,nl:()=>Y,LU:()=>Z,cm:()=>J,VH:()=>K,zO:()=>G,Gh:()=>I,I2:()=>H,ju:()=>M,Ac:()=>ag,m:()=>Q,az:()=>N,ts:()=>af,L0:()=>ai,lC:()=>aj});var d=c(52813),e=c(48161),f=c.n(e),g=c(77598),h=c(73024),i=c(31421),j=c(54679),k=c.n(j),l=c(76760),m=c(57075),n=c(46466),o=c(1782),p=c(83550),q=c(80280),r=c(25533),s=c(95896),t=c(18612),u=c(64619);function v(a,b,c=.02){let d=0;try{d=(0,h.statSync)(a).size}catch{return{ok:!1,actual:0,expected:b,message:"file missing after download"}}if(!b||b<=0)return{ok:!0,actual:d,expected:b,message:"size ok (no expected size)"};let e=d/b,f=e>=1-c&&e<=1+c;return{ok:f,actual:d,expected:b,message:f?"size verified":`size mismatch — got ${d} bytes, expected ~${b} (truncated/corrupt)`}}var w=c(18185);let x=[{repo:"Qwen2.5-0.5B-Instruct",paramsB:.5,kind:"chat"},{repo:"Qwen2.5-1.5B-Instruct",paramsB:1.5,kind:"chat"},{repo:"Qwen2.5-3B-Instruct",paramsB:3,kind:"chat"},{repo:"Qwen2.5-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Qwen2.5-14B-Instruct",paramsB:14,kind:"chat"},{repo:"Qwen2.5-32B-Instruct",paramsB:32,kind:"chat"},{repo:"Qwen2.5-72B-Instruct",paramsB:72,kind:"chat"},{repo:"Qwen2.5-Coder-1.5B-Instruct",paramsB:1.5,kind:"code"},{repo:"Qwen2.5-Coder-3B-Instruct",paramsB:3,kind:"code"},{repo:"Qwen2.5-Coder-7B-Instruct",paramsB:7,kind:"code"},{repo:"Qwen2.5-Coder-14B-Instruct",paramsB:14,kind:"code"},{repo:"Qwen2.5-Coder-32B-Instruct",paramsB:32,kind:"code"},{repo:"Qwen3-0.6B",paramsB:.6,kind:"chat"},{repo:"Qwen3-1.7B",paramsB:1.7,kind:"chat"},{repo:"Qwen3-4B",paramsB:4,kind:"chat"},{repo:"Qwen3-8B",paramsB:8,kind:"chat"},{repo:"Qwen3-14B",paramsB:14,kind:"chat"},{repo:"Qwen3-32B",paramsB:32,kind:"chat"},{repo:"Llama-3.2-1B-Instruct",paramsB:1,kind:"chat"},{repo:"Llama-3.2-3B-Instruct",paramsB:3,kind:"chat"},{repo:"Meta-Llama-3.1-8B-Instruct",paramsB:8,kind:"chat"},{repo:"Meta-Llama-3.1-70B-Instruct",paramsB:70,kind:"chat"},{repo:"Llama-3.3-70B-Instruct",paramsB:70,kind:"chat"},{repo:"gemma-2-2b-it",paramsB:2,kind:"chat"},{repo:"gemma-2-9b-it",paramsB:9,kind:"chat"},{repo:"gemma-2-27b-it",paramsB:27,kind:"chat"},{repo:"gemma-3-1b-it",paramsB:1,kind:"chat"},{repo:"gemma-3-4b-it",paramsB:4,kind:"chat"},{repo:"gemma-3-12b-it",paramsB:12,kind:"chat"},{repo:"gemma-3-27b-it",paramsB:27,kind:"chat"},{repo:"Mistral-7B-Instruct-v0.3",paramsB:7,kind:"chat"},{repo:"Mistral-Nemo-Instruct-2407",paramsB:12,kind:"chat"},{repo:"Mistral-Small-Instruct-2409",paramsB:22,kind:"chat"},{repo:"Mistral-Small-24B-Instruct-2501",paramsB:24,kind:"chat"},{repo:"Codestral-22B-v0.1",paramsB:22,kind:"code"},{repo:"Phi-3.1-mini-4k-instruct",paramsB:3.8,kind:"chat"},{repo:"DeepSeek-R1-Distill-Qwen-1.5B",paramsB:1.5,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-7B",paramsB:7,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-14B",paramsB:14,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-32B",paramsB:32,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Llama-8B",paramsB:8,kind:"reasoning"},{repo:"DeepSeek-Coder-V2-Lite-Instruct",paramsB:16,kind:"code"},{repo:"Yi-1.5-9B-Chat",paramsB:9,kind:"chat"},{repo:"Yi-1.5-34B-Chat",paramsB:34,kind:"chat"},{repo:"granite-3.0-8b-instruct",paramsB:8,kind:"chat"},{repo:"granite-3.1-8b-instruct",paramsB:8,kind:"chat"},{repo:"SmolLM2-360M-Instruct",paramsB:.36,kind:"chat"},{repo:"SmolLM2-1.7B-Instruct",paramsB:1.7,kind:"chat"},{repo:"aya-expanse-8b",paramsB:8,kind:"chat"},{repo:"aya-expanse-32b",paramsB:32,kind:"chat"},{repo:"Falcon3-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Falcon3-10B-Instruct",paramsB:10,kind:"chat"},{repo:"EXAONE-3.5-2.4B-Instruct",paramsB:2.4,kind:"chat"},{repo:"EXAONE-3.5-7.8B-Instruct",paramsB:7.8,kind:"chat"},{repo:"Qwen3.5-0.8B",paramsB:.8,kind:"chat"},{repo:"Qwen3.5-2B",paramsB:2,kind:"chat"},{repo:"Qwen3.5-9B",paramsB:9,kind:"chat"},{repo:"Qwen3.5-27B",paramsB:27,kind:"chat"},{repo:"Qwen3.5-35B-A3B",paramsB:35,kind:"chat"},{repo:"Qwen3.6-27B",paramsB:27,kind:"chat"},{repo:"Qwen3.6-35B-A3B",paramsB:35,kind:"chat"},{repo:"Qwen3-30B-A3B",paramsB:30,kind:"chat"},{repo:"Qwen3-30B-A3B-Instruct-2507",paramsB:30,kind:"chat"},{repo:"Qwen3-Next-80B-A3B-Instruct",paramsB:80,kind:"chat"},{repo:"Qwen3-4B-Thinking-2507",paramsB:4,kind:"reasoning"},{repo:"QwQ-32B",paramsB:32,kind:"reasoning"},{repo:"Qwen2.5-7B-Instruct-1M",paramsB:7,kind:"chat"},{repo:"Qwen2.5-Coder-0.5B-Instruct",paramsB:.5,kind:"code"},{repo:"Qwen2.5-Coder-3B",paramsB:3,kind:"code"},{repo:"Qwen2.5-Coder-32B",paramsB:32,kind:"code"},{repo:"Qwen2.5-Math-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Qwen2-500M-Instruct",paramsB:.5,kind:"chat"},{repo:"Qwen1.5-32B-Chat",paramsB:32,kind:"chat"},{repo:"gemma-4-E2B-it",paramsB:2,kind:"chat"},{repo:"gemma-4-E4B-it",paramsB:4,kind:"chat"},{repo:"gemma-4-12B-it",paramsB:12,kind:"chat"},{repo:"gemma-4-26B-A4B-it",paramsB:26,kind:"chat"},{repo:"gemma-4-31B-it",paramsB:31,kind:"chat"},{repo:"gemma-3-270m-it",paramsB:.27,kind:"chat"},{repo:"gemma-1.1-2b-it",paramsB:2,kind:"chat"},{repo:"codegemma-2b",paramsB:2,kind:"code"},{repo:"codegemma-7b",paramsB:7,kind:"code"},{repo:"codegemma-7b-it",paramsB:7,kind:"code"},{repo:"codegemma-1.1-7b-it",paramsB:7,kind:"code"},{repo:"Ministral-3-3B-Instruct-2512",paramsB:3,kind:"chat"},{repo:"Ministral-3-8B-Instruct-2512",paramsB:8,kind:"chat"},{repo:"Ministral-3-14B-Instruct-2512",paramsB:14,kind:"chat"},{repo:"Ministral-3-3B-Reasoning-2512",paramsB:3,kind:"reasoning"},{repo:"Ministral-3-8B-Reasoning-2512",paramsB:8,kind:"reasoning"},{repo:"Ministral-3-14B-Reasoning-2512",paramsB:14,kind:"reasoning"},{repo:"Mistral-Small-3.1-24B-Instruct-2503",paramsB:24,kind:"chat"},{repo:"Mistral-Small-3.2-24B-Instruct-2506",paramsB:24,kind:"chat"},{repo:"Devstral-Small-2-24B-Instruct-2512",paramsB:24,kind:"code"},{repo:"mathstral-7B-v0.1",paramsB:7,kind:"chat"},{repo:"dolphin-2.8-mistral-7b-v02",paramsB:7,kind:"chat"},{repo:"WizardLM-2-7B",paramsB:7,kind:"chat"},{repo:"DeepSeek-R1-0528-Qwen3-8B",paramsB:8,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Llama-70B",paramsB:70,kind:"reasoning"},{repo:"deepseek-coder-1.3B-kexer",paramsB:1.3,kind:"code"},{repo:"deepseek-coder-6.7B-kexer",paramsB:6.7,kind:"code"},{repo:"granite-3.2-8b-instruct",paramsB:8,kind:"chat"},{repo:"granite-4.1-3b",paramsB:3,kind:"chat"},{repo:"granite-4.1-8b",paramsB:8,kind:"chat"},{repo:"granite-4.1-30b",paramsB:30,kind:"chat"},{repo:"Olmo-3-32B-Think",paramsB:32,kind:"reasoning"},{repo:"Seed-OSS-36B-Instruct",paramsB:36,kind:"chat"},{repo:"ERNIE-4.5-21B-A3B-PT",paramsB:21,kind:"chat"},{repo:"LFM2-24B-A2B",paramsB:24,kind:"chat"},{repo:"LFM2.5-1.2B-Instruct",paramsB:1.2,kind:"chat"},{repo:"LFM2.5-1.2B-Thinking",paramsB:1.2,kind:"reasoning"},{repo:"NVIDIA-Nemotron-3-Nano-4B",paramsB:4,kind:"chat"},{repo:"Hermes-4-70B",paramsB:70,kind:"chat"},{repo:"Llama-3.1-Tulu-3-8B",paramsB:8,kind:"chat"},{repo:"Meta-Llama-3-70B-Instruct",paramsB:70,kind:"chat"},{repo:"Llama3-ChatQA-1.5-70B",paramsB:70,kind:"chat"},{repo:"Llama-3-Groq-8B-Tool-Use",paramsB:8,kind:"chat"},{repo:"aya-23-8B",paramsB:8,kind:"chat"},{repo:"aya-23-35B",paramsB:35,kind:"chat"},{repo:"SmolLM2-135M-Instruct",paramsB:.135,kind:"chat"},{repo:"Yi-Coder-1.5B",paramsB:1.5,kind:"code"},{repo:"Yi-Coder-9B-Chat",paramsB:9,kind:"code"},{repo:"OpenCoder-1.5B-Instruct",paramsB:1.5,kind:"code"},{repo:"stable-code-instruct-3b",paramsB:3,kind:"code"},{repo:"internlm2-math-plus-7b",paramsB:7,kind:"chat"},{repo:"internlm2-math-plus-20b",paramsB:20,kind:"chat"}],y={Q3_K_L:.55,Q4_K_M:.67,Q6_K:.9,Q8_0:1.13},z=[{id:"nomic-embed-q8",name:"nomic-embed-text-v1.5 (Q8_0)",url:"https://huggingface.co/nomic-ai/nomic-embed-text-v1.5-GGUF/resolve/main/nomic-embed-text-v1.5.Q8_0.gguf",params:"137M",quant:"Q8_0",sizeBytes:146e6,kind:"embed",paramsB:.137},...function(){let a=[];for(let d of x){var b,c;let e=d.vendor??"lmstudio-community";for(let f of(b=d.paramsB)<=9?["Q3_K_L","Q4_K_M","Q6_K","Q8_0"]:b<=34?["Q3_K_L","Q4_K_M","Q6_K"]:["Q3_K_L","Q4_K_M"]){let b=`${d.repo}-${f}.gguf`;a.push({id:`${d.repo}-${f}`.toLowerCase().replace(/[^a-z0-9]+/g,"-"),name:`${d.repo} (${f})`,url:`https://huggingface.co/${e}/${d.repo}-GGUF/resolve/main/${b}`,params:(c=d.paramsB)<1?`${Math.round(1e3*c)}M`:`${c}B`,quant:f,sizeBytes:Math.round(1e9*d.paramsB*y[f]),kind:d.kind,paramsB:d.paramsB})}}return a}()];var A=c(29635);let B=process.env.OLLAMA_URL??"http://127.0.0.1:11434",C=process.env.LLAMACPP_URL??"http://127.0.0.1:8082",D=process.env.CONSTELLA_EMBED_URL??"http://127.0.0.1:8083",E=null;async function F(){if(E){let a=f().totalmem()/0x40000000,b=f().freemem()/0x40000000;return{...E,ram:`${a.toFixed(0)} GB \xb7 ${b.toFixed(1)} free`}}let a=f().cpus(),b=(a[0]?.model??"Unknown CPU").replace(/\s+/g," ").trim(),c=a.length,d=f().totalmem()/0x40000000,e=f().freemem()/0x40000000,g=`${d.toFixed(0)} GB \xb7 ${e.toFixed(1)} free`,h=f().platform(),j="—",k="—",l="CPU",m=[];try{let a=(0,i.execSync)("nvidia-smi --query-gpu=name,memory.total --format=csv,noheader,nounits",{timeout:4e3,stdio:["ignore","pipe","ignore"]}).toString().trim();if(a){let[b,c]=a.split("\n")[0].split(",");j=b.trim(),k=`${Math.round(Number(c)/1024)} GB`,l="CUDA",m.push("CUDA")}}catch{}if("CPU"===l&&"darwin"===h){l="Metal",m.push("Metal");let a="Apple Silicon";try{let b=(0,i.execFileSync)("sysctl",["-n","machdep.cpu.brand_string"],{timeout:3e3,stdio:["ignore","pipe","ignore"]}).toString().trim();b&&(a=b)}catch{/apple/i.test(b)&&(a=b)}j=/apple/i.test(a)?`${a} GPU`:"Apple GPU","arm64"===f().arch()&&(k=`${Math.max(1,Math.round(.7*d))} GB unified`)}m.push("arm64"===f().arch()?"NEON":"AVX2");let n="—";try{if("win32"===h){let a=((0,t.r$)()[0]||"C").toUpperCase(),b=/^[A-Z]$/.test(a)?a:"C",c=(0,i.execFileSync)("powershell",["-NoProfile","-Command",`(Get-PSDrive ${b}).Free`],{timeout:5e3,stdio:["ignore","pipe","ignore"]}).toString().trim(),d=Number(c.replace(/[^\d]/g,""));d>0&&(n=`${(d/0x40000000).toFixed(0)} GB`)}else{let a=(0,i.execFileSync)("df",["-h",(0,t.r$)()],{timeout:4e3,stdio:["ignore","pipe","ignore"]}).toString().trim().split("\n"),b=(a[a.length-1]??"").split(/\s+/);b[3]&&(n=b[3])}}catch{}return E={cpu:b,cores:c,ram:g,gpu:j,vram:k,diskFree:n,backend:l,accel:m,recommendedQuant:d>=32?"Q5_K_M":d>=16?"Q4_K_M":"Q4_0",maxParams:d>=64?"70B":d>=32?"34B":d>=16?"13B":"7B"}}async function G(){try{return(0,i.execSync)("ollama --version",{timeout:3e3,stdio:"ignore"}),!0}catch{return!1}}async function H(a){let b=await G(),c=[];if("start"===a){if(!b)return{up:!1,installed:!1,log:["Ollama is not installed — get it at https://ollama.com, then retry."]};if((await K()).up)return{up:!0,installed:b,log:[`server already running on ${B}`]};try{let a=(0,i.spawn)("ollama",["serve"],{detached:!0,stdio:"ignore"}),d="";a.on("error",a=>{d=String(a instanceof Error?a.message:a)}),a.unref(),c.push("$ ollama serve"),await new Promise(a=>setTimeout(a,2e3));let e=(await K()).up;return d&&c.push("spawn failed: "+d),c.push(e?`✓ ready \xb7 ${B}`:"still stopped — the port may be busy; run `ollama serve` in a terminal to see the error."),(0,p.revalidatePath)("/models"),{up:e,installed:b,log:c}}catch(a){return{up:!1,installed:b,log:["failed to start: "+String(a instanceof Error?a.message:a)]}}}try{"win32"===f().platform()?(0,i.execSync)("taskkill /IM ollama.exe /F",{stdio:"ignore",timeout:4e3}):(0,i.execSync)("pkill -f 'ollama serve'",{stdio:"ignore",timeout:4e3}),c.push("server stopped")}catch{c.push("no running ollama process found")}return(0,p.revalidatePath)("/models"),{up:!1,installed:b,log:c}}async function I(){try{let a=await fetch(`${B}/api/ps`,{signal:AbortSignal.timeout(3e3)});if(!a.ok)return{running:[]};return{running:((await a.json()).models??[]).map(a=>({name:a.name,vram:a.size_vram??0}))}}catch{return{running:[]}}}async function J(a){try{let b=await fetch(`${B}/api/generate`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:a,prompt:"",keep_alive:"30m"}),signal:AbortSignal.timeout(12e4)});if(!b.ok)return{ok:!1,error:`Ollama ${b.status}`};return await b.json().catch(()=>({})),(0,p.revalidatePath)("/models"),{ok:!0}}catch(b){let a=String(b instanceof Error?b.message:b);return{ok:!1,error:/abort|fetch failed|ECONN/i.test(a)?"Ollama not running":a}}}async function K(){try{let a=await fetch(`${B}/api/tags`,{signal:AbortSignal.timeout(3e3)});if(!a.ok)return{up:!1,models:[]};let b=await a.json();return{up:!0,models:(b.models??[]).map(a=>({name:a.name,size:a.size??0}))}}catch{return{up:!1,models:[]}}}async function L(a){let b=await K(),[c]=await q.db.select().from(r.provider).where((0,o.Uo)((0,o.eq)(r.provider.workspaceId,a),(0,o.eq)(r.provider.catalogId,"ollama"))),d={status:b.up?"connected":"needs_sync",modelCount:b.models.length,lastSync:b.up?new Date:null};c?await q.db.update(r.provider).set(d).where((0,o.eq)(r.provider.id,c.id)):await q.db.insert(r.provider).values({id:(0,g.randomUUID)(),workspaceId:a,catalogId:"ollama",adapter:"local_ollama",kind:"local",auth:"local",syncStatus:"implemented",...d})}async function M(a){let{workspace:b}=await (0,s.nP)();if(!a.trim())return{ok:!1,error:"no model name"};try{let c=await fetch(`${B}/api/pull`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:a.trim(),stream:!1}),signal:AbortSignal.timeout(18e5)});if(!c.ok){let a=await c.text().catch(()=>"");return{ok:!1,error:`Ollama ${c.status}${a?": "+a.slice(0,120):""}`}}let d=await c.json().catch(()=>({}));return await L(b.id),(0,p.revalidatePath)("/models"),{ok:"success"===d.status||null==d.error,error:d.error}}catch(b){let a=String(b instanceof Error?b.message:b);return{ok:!1,error:/abort|fetch failed|ECONN/i.test(a)?"Ollama not running — start it, then retry.":a}}}async function N(a){let{workspace:b}=await (0,s.nP)();try{await fetch(`${B}/api/delete`,{method:"DELETE",headers:{"content-type":"application/json"},body:JSON.stringify({name:a})})}catch{}return await L(b.id),(0,p.revalidatePath)("/models"),{ok:!0}}async function O(a){let{workspace:b}=await (0,s.nP)(),c=z.find(b=>b.id===a);if(!c)return{ok:!1,error:"unknown model"};let d=(0,l.join)((0,t.r$)(),"models");(0,h.mkdirSync)(d,{recursive:!0});let e=function(a){try{if("win32"===f().platform()){let b=(a[0]||"C").toUpperCase(),c=/^[A-Z]$/.test(b)?b:"C",d=(0,i.execFileSync)("powershell",["-NoProfile","-Command",`(Get-PSDrive ${c}).Free`],{timeout:6e3,stdio:["ignore","pipe","ignore"]}).toString().trim();return Number(d.replace(/[^\d]/g,""))||0}let b=(0,i.execFileSync)("df",["-k",a],{timeout:5e3,stdio:["ignore","pipe","ignore"]}).toString().trim().split("\n"),c=(b[b.length-1]??"").split(/\s+/),d=Number(c[3]);return d?1024*d:0}catch{return 0}}(d);if(e&&c.sizeBytes&&e<1.1*c.sizeBytes)return{ok:!1,error:`not enough free space — need ~${(c.sizeBytes/1e9).toFixed(1)} GB, ${(e/1e9).toFixed(1)} GB free`};let j=c.url.split("/").pop()??`${c.id}.gguf`,k=(0,l.join)(d,j);w.$.set(a,{received:0,total:0,done:!1});try{if(!(0,h.existsSync)(k)){let b=await fetch(c.url,{signal:AbortSignal.timeout(36e5)});if(!b.ok||!b.body)return w.$.set(a,{received:0,total:0,done:!0,error:`download failed (${b.status})`}),{ok:!1,error:`download failed (${b.status})`};let d=Number(b.headers.get("content-length"))||c.sizeBytes||0,e=0;w.$.set(a,{received:0,total:d,done:!1});let f=new m.PassThrough;f.on("data",b=>{e+=b.length;let c=w.$.get(a);c&&(c.received=e)}),await (0,n.pipeline)(m.Readable.fromWeb(b.body),f,(0,h.createWriteStream)(k));let g=v(k,d);if(!g.ok){try{(0,h.rmSync)(k)}catch{}return w.$.set(a,{received:e,total:d,done:!0,error:g.message}),{ok:!1,error:g.message}}}if((w.$.set(a,{received:1,total:1,done:!0}),c.sha256)&&await new Promise((a,b)=>{let c=(0,g.createHash)("sha256");(0,h.createReadStream)(k).on("data",a=>c.update(a)).on("end",()=>a(c.digest("hex"))).on("error",b)})!==c.sha256)return{ok:!1,error:"SHA-256 mismatch — file corrupt"};let d=(0,h.statSync)(k).size,[e]=await q.db.select().from(r.localModel).where((0,o.eq)(r.localModel.file,k));return e||await q.db.insert(r.localModel).values({id:(0,g.randomUUID)(),workspaceId:b.id,name:c.name,file:k,quant:c.quant,params:c.params,sizeBytes:d,sha256:c.sha256??"",bind:"127.0.0.1:8082"}),/embed|nomic|bge|mxbai|gte/i.test(c.name)&&ac().catch(()=>{}),(0,p.revalidatePath)("/models"),{ok:!0,path:k}}catch(d){let b=String(d instanceof Error?d.message:d),c=w.$.get(a);return w.$.set(a,{received:c?.received??0,total:c?.total??0,done:!0,error:b}),{ok:!1,error:b}}}async function P(a){return w.$.get(a)??null}async function Q(a){await (0,s.nP)();let[b]=await q.db.select().from(r.localModel).where((0,o.eq)(r.localModel.id,a));if(!b)return{ok:!1,error:"model not found"};try{b.file&&(0,h.existsSync)(b.file)&&(0,h.rmSync)(b.file,{force:!0})}catch{}return await q.db.delete(r.localModel).where((0,o.eq)(r.localModel.file,b.file)),(0,p.revalidatePath)("/models"),{ok:!0}}function R(){return(0,l.join)((0,t.r$)(),"bin","llama")}function S(){try{let a=(0,l.join)(R(),"INSTALLED");if(!(0,h.existsSync)(a))return null;let b=(0,h.readFileSync)(a,"utf8").trim();return b&&(0,h.existsSync)(b)?b:null}catch{return null}}async function T(a,b,c,d){let e=/\.(tar\.gz|tgz)$/i.test(b),f=(0,l.join)(c,b.replace(/[^\w.\-]+/g,"_"));(0,h.mkdirSync)(c,{recursive:!0});let g=await fetch(a,{signal:AbortSignal.timeout(18e5)});if(!g.ok||!g.body)return d&&w.$.set(d,{received:0,total:0,done:!0,error:`download failed (${g.status})`}),`download failed (${g.status})`;let j=Number(g.headers.get("content-length"))||0,o=m.Readable.fromWeb(g.body);if(d){let a=0;w.$.set(d,{received:0,total:j,done:!1});let b=new m.PassThrough;b.on("data",b=>{a+=b.length;let c=w.$.get(d);c&&(c.received=a)}),await (0,n.pipeline)(o,b,(0,h.createWriteStream)(f))}else await (0,n.pipeline)(o,(0,h.createWriteStream)(f));let p=v(f,j);if(!p.ok){try{(0,h.rmSync)(f)}catch{}return p.message}e?(0,i.execFileSync)("tar",["-xzf",f,"-C",c],{stdio:"ignore",timeout:12e4}):new(k())(f).extractAllTo(c,!0);try{(0,h.rmSync)(f)}catch{}return null}async function U(){try{let a=await fetch("https://api.github.com/repos/ggml-org/llama.cpp/releases/latest",{headers:{"User-Agent":"constella",Accept:"application/vnd.github+json"},signal:AbortSignal.timeout(15e3)});if(!a.ok)return null;return(await a.json()).assets??[]}catch{return null}}let V=!1;async function W(a=!1){let b;if("win32"!==f().platform())return{ok:!0,fetched:!1};let c=R();try{b=(0,h.readdirSync)(c)}catch{return{ok:!1,fetched:!1,reason:"no llama dir"}}let d=b.some(a=>/^ggml-cuda\.dll$/i.test(a)),e=b.some(a=>/^cudart64_\d+\.dll$/i.test(a));if(!d||e)return{ok:e||!d,fetched:!1};if(V&&!a)return{ok:!1,fetched:!1,reason:"already attempted this run"};V=!0;let g="12";try{let a=(0,h.readFileSync)((0,l.join)(c,"ggml-cuda.dll")).toString("latin1").match(/cudart64_(\d+)\.dll/i);a&&(g=a[1])}catch{}let i=await U();if(!i)return{ok:!1,fetched:!1,reason:"GitHub unreachable"};let j=i.filter(a=>/cudart/i.test(a.name)&&/x64|amd64/i.test(a.name)),k=j.find(a=>RegExp(`cuda-${g}\\.`,"i").test(a.name))??j[0];if(!k)return{ok:!1,fetched:!1,reason:"no cudart asset in the latest release"};let m=await T(k.browser_download_url,k.name,c).catch(a=>String(a instanceof Error?a.message:a));if(m)return{ok:!1,fetched:!1,reason:m};let n=!1;try{n=(0,h.readdirSync)(c).some(a=>/^cudart64_\d+\.dll$/i.test(a))}catch{}return{ok:n,fetched:n}}async function X(){let a;await (0,s.nP)();let b=[];if(S()||await Y()){let a=await W(!0).catch(()=>null);return{ok:!0,installed:!0,log:["llama-server already installed.",...a?.fetched?["✓ fetched the CUDA runtime DLLs — GPU enabled."]:a&&!a.ok?[`⚠ CUDA runtime still missing (${a.reason??"unknown"}).`]:[]]}}let c=await F(),d=/cuda|nvidia/i.test(c.backend)||(c.accel??[]).some(a=>/cuda|nvidia/i.test(a));b.push(`platform ${f().platform()}/${f().arch()} \xb7 backend ${c.backend} → ${d?"CUDA":"CPU"} build`);try{let c=await fetch("https://api.github.com/repos/ggml-org/llama.cpp/releases/latest",{headers:{"User-Agent":"constella",Accept:"application/vnd.github+json"},signal:AbortSignal.timeout(15e3)});if(!c.ok)return{ok:!1,installed:!1,log:b,error:403===c.status?"GitHub API rate-limited — try again later or install manually from the releases page.":`GitHub releases API ${c.status}`};a=(await c.json()).assets??[]}catch(a){return{ok:!1,installed:!1,log:b,error:"couldn't reach GitHub: "+String(a instanceof Error?a.message:a)}}let e=function(a,b){let c=f().platform(),d="win32"===c?/win/i:"darwin"===c?/macos/i:/(ubuntu|linux)/i,e="arm64"===f().arch(),g=a.filter(a=>/\.(zip|tar\.gz|tgz)$/i.test(a.name)&&d.test(a.name));e||(g=g.filter(a=>!/arm64|aarch64/i.test(a.name)));let h=/cuda|hip|vulkan|sycl|kompute|musa|cann|adreno/i,i=a=>{if(!a.length)return null;let b=e?a.filter(a=>/arm64|aarch64/i.test(a.name)):a.filter(a=>/x64|amd64/i.test(a.name)),c=(b.length?b:a).sort((a,b)=>a.name.length-b.name.length)[0];return c?{name:c.name,url:c.browser_download_url}:null};if(b){let a=g.filter(a=>/cuda/i.test(a.name));if(a.length)return i(a)}let j=g.filter(a=>!h.test(a.name));return i(j.length?j:g)}(a,!!d);if(!e)return{ok:!1,installed:!1,log:b,error:"no matching prebuilt for this platform — install manually from the releases page."};b.push(`downloading ${e.name}…`);let g=R();(0,h.mkdirSync)(g,{recursive:!0}),w.$.set("llama-server",{received:0,total:0,done:!1});try{let a=await T(e.url,e.name,g,"llama-server");if(a)return w.$.set("llama-server",{received:0,total:0,done:!0,error:a}),{ok:!1,installed:!1,log:b,error:a};if(d){let a=await W(!0);b.push(a.ok?a.fetched?"✓ CUDA runtime DLLs installed — GPU enabled.":"CUDA runtime already present.":`⚠ CUDA runtime not installed (${a.reason??"unknown"}) — runs on CPU; retries on next Start/Install.`)}}catch(a){return{ok:!1,installed:!1,log:b,error:"download/extract failed: "+String(a instanceof Error?a.message:a)}}let i=function a(b,c,d){let e;if(d<0)return null;try{e=(0,h.readdirSync)(b,{withFileTypes:!0})}catch{return null}for(let a of e)if(a.isFile()&&a.name===c)return(0,l.join)(b,a.name);for(let f of e)if(f.isDirectory()){let e=a((0,l.join)(b,f.name),c,d-1);if(e)return e}return null}(g,"win32"===f().platform()?"llama-server.exe":"llama-server",5);if(!i)return{ok:!1,installed:!1,log:b,error:"downloaded, but llama-server wasn't found in the archive."};if("win32"!==f().platform())try{(0,h.chmodSync)(i,493)}catch{}return(0,h.writeFileSync)((0,l.join)(g,"INSTALLED"),i,"utf8"),w.$.set("llama-server",{received:1,total:1,done:!0}),b.push(`✓ installed → ${i}`),await ah().catch(()=>{}),(0,p.revalidatePath)("/models"),{ok:!0,installed:!0,path:i,log:b}}async function Y(){if(S())return!0;try{return(0,i.execSync)("llama-server --version",{timeout:3e3,stdio:"ignore"}),!0}catch{return!1}}async function Z(){try{let a=await fetch(`${C}/v1/models`,{signal:AbortSignal.timeout(2500)});if(!a.ok)return{up:!1,model:null};let b=await a.json(),c=b.data?.[0]?.id;return{up:!0,model:c?c.split(/[\\/]/).pop()??c:null}}catch{return{up:!1,model:null}}}async function $(a){try{var b;let c,d=await F();if(!/cuda|metal/i.test(d.backend))return[];let e=(b=d.vram,(c=/([\d.]+)\s*GB/i.exec(b||""))?1e9*parseFloat(c[1]):0);if(a&&e&&1.15*a>e)return[];return["-ngl","99"]}catch{return[]}}function _(){try{let a=q.db.select({file:r.localModel.file,name:r.localModel.name}).from(r.localModel).all().find(a=>/embed|nomic|bge|mxbai|gte/i.test(a.name)&&a.file&&(0,h.existsSync)(a.file));return a?{file:a.file,name:a.name}:null}catch{return null}}function aa(){try{let a=q.db.select({file:r.localModel.file,name:r.localModel.name,sizeBytes:r.localModel.sizeBytes}).from(r.localModel).all().find(a=>!/embed|nomic|bge|mxbai|gte/i.test(a.name)&&a.file&&(0,h.existsSync)(a.file));return a?{file:a.file,name:a.name,sizeBytes:a.sizeBytes}:null}catch{return null}}async function ab(){try{return(await fetch(`${D}/health`,{signal:AbortSignal.timeout(1500)})).ok}catch{return!1}}async function ac(){if(await ab())return{up:!0};let a=S();if(!a)return{up:!1,reason:"llama-server not installed"};let b=_();if(!b)return{up:!1,reason:"no embedding model installed (download nomic-embed-text)"};try{await W().catch(()=>{});let c=await $(),d=(0,i.spawn)(a,["-m",b.file,"--embeddings","--host","127.0.0.1","--port","8083","-c","2048","--pooling","mean",...c],{detached:!0,stdio:"ignore"});d.on("error",()=>{}),d.unref()}catch(a){return{up:!1,reason:"spawn failed: "+String(a instanceof Error?a.message:a)}}for(let a=0;a<24;a++)if(await new Promise(a=>setTimeout(a,500)),await ab())return{up:!0,model:b.name};return{up:!1,reason:"embedding server didn't come up in time"}}async function ad(){if((await Z()).up)return{up:!0};let a=S();if(!a)return{up:!1,reason:"llama-server not installed"};let b=aa();if(!b)return{up:!1,reason:"no chat GGUF installed"};try{await W().catch(()=>{});let c=await $(b.sizeBytes),d=(0,i.spawn)(a,["-m",b.file,"--host","127.0.0.1","--port","8082","-c","4096",...c],{detached:!0,stdio:"ignore"});d.on("error",()=>{}),d.unref()}catch(a){return{up:!1,reason:"spawn failed: "+String(a instanceof Error?a.message:a)}}for(let a=0;a<24;a++)if(await new Promise(a=>setTimeout(a,500)),(await Z()).up)return{up:!0,model:b.name};return{up:!1,reason:"llama server didn't come up in time"}}async function ae(){let a=_();return{up:await ab(),model:a?.name??null,installed:!!a}}async function af(){let a=await ac();return(0,p.revalidatePath)("/models"),a}async function ag(){let{org:a}=await (0,s.nP)();await ac().catch(()=>{});let b=await (0,u.xV)(a.id);return(0,p.revalidatePath)("/models"),b}async function ah(){let{workspace:a}=await (0,s.nP)(),b=await Z(),c=new Set((await q.db.select({file:r.localModel.file}).from(r.localModel)).map(a=>a.file)).size,d={status:b.up?"connected":"needs_sync",modelCount:c,lastSync:b.up?new Date:null},[e]=await q.db.select().from(r.provider).where((0,o.Uo)((0,o.eq)(r.provider.workspaceId,a.id),(0,o.eq)(r.provider.catalogId,"llamacpp")));return e?await q.db.update(r.provider).set(d).where((0,o.eq)(r.provider.id,e.id)):await q.db.insert(r.provider).values({id:(0,g.randomUUID)(),workspaceId:a.id,catalogId:"llamacpp",adapter:"local_llamacpp",kind:"local",auth:"local",syncStatus:"implemented",...d}),(0,p.revalidatePath)("/models"),{ok:!0}}async function ai(a){let b;await (0,s.nP)();let c=await Y(),d=[];if(!c)return{up:!1,installed:!1,log:["llama-server not found — install llama.cpp from https://github.com/ggml-org/llama.cpp/releases (or `brew install llama.cpp`), then retry."]};if((await Z()).up)return{up:!0,installed:c,log:[`server already running on ${C}`]};let e=0;if(a){let d,[f]=await q.db.select().from(r.localModel).where((0,o.eq)(r.localModel.id,a));if(f&&(d=f.name,/embed|nomic|bge|mxbai|gte/i.test(d))){let a=await ac();return{up:a.up,installed:c,log:[`${f.name} is an EMBEDDING model — started the RAG embedding server on :8083 (it can't power chat on :8082).`,a.up?`✓ embeddings ready \xb7 ${D}`:`embeddings: ${a.reason??"failed to start"}`]}}b=f?.file,e=f?.sizeBytes??0}if(!b){let a=aa();b=a?.file,e=a?.sizeBytes??0}if(!b||!(0,h.existsSync)(b)){let a=_();if(a){let b=await ac();return{up:!1,installed:c,log:[`Your only local model (${a.name}) is an EMBEDDING model — it powers RAG on the embeddings server (${D}), not the chat server.`,b.up?"✓ embeddings server is running.":`embeddings: ${b.reason??"not started"}`,"Download a chat/instruct GGUF (e.g. Qwen, Llama) below to run the chat server on :8082."]}}return{up:!1,installed:c,log:["no GGUF model on disk — download one below first."]}}try{let a=S()??"llama-server";await W().catch(()=>{});let f=await $(e),g=(0,i.spawn)(a,["-m",b,"--host","127.0.0.1","--port","8082","-c","4096",...f],{detached:!0,stdio:"ignore"}),h="";g.on("error",a=>{h=String(a instanceof Error?a.message:a)}),g.unref(),d.push(`$ llama-server -m ${b.split(/[\\/]/).pop()} --port 8082${f.length?" -ngl 99 (GPU)":" (CPU)"}`);let j=!1;for(let a=0;a<12&&!j;a++)await new Promise(a=>setTimeout(a,1e3)),j=(await Z()).up;return h&&d.push("spawn failed: "+h),d.push(j?`✓ ready \xb7 ${C}`:"still starting — large models take longer; run llama-server in a terminal to see progress."),await ah(),(0,p.revalidatePath)("/models"),{up:j,installed:c,log:d}}catch(a){return{up:!1,installed:c,log:["failed to start: "+String(a instanceof Error?a.message:a)]}}}async function aj(){let a=await Y(),b=[];try{if("win32"===f().platform()){let a=(0,i.execSync)('powershell -NoProfile -Command "Get-NetTCPConnection -LocalPort 8082 -State Listen -ErrorAction SilentlyContinue | Select-Object -ExpandProperty OwningProcess"',{timeout:5e3}).toString().split(/\r?\n/).map(a=>a.trim()).filter(Boolean);if(!a.length)throw Error("not running");for(let b of a)(0,i.execSync)(`taskkill /PID ${b} /F`,{stdio:"ignore",timeout:4e3})}else(0,i.execSync)("pkill -f -- 'llama-server.*--port 8082'",{stdio:"ignore",timeout:4e3});b.push("server stopped")}catch{b.push("no running chat llama-server process found")}return await ah(),(0,p.revalidatePath)("/models"),{up:!1,installed:a,log:b}}(0,A.D)([F,G,H,I,J,K,M,N,O,P,Q,X,Y,Z,ab,ac,ad,ae,af,ag,ah,ai,aj]),(0,d.A)(F,"0085c3c15f848da7beac072fd797bc11048a499d8f",null),(0,d.A)(G,"00f03d2d81bb26d468c7e4637a0f32c70fda9c6565",null),(0,d.A)(H,"40e58ec47b3c8acdd5eeb552095b8d34ce834fa009",null),(0,d.A)(I,"006b9d9e61368e96e287131f2a79d8141f80607bc5",null),(0,d.A)(J,"404fa4e7b74f3432c13521faa40badac327c784ea2",null),(0,d.A)(K,"0073cd1b77e35abc407ab8c0bfd7158ee296172e28",null),(0,d.A)(M,"40a51f05a62e5ad01e4585ad064bcc9493ef1588fc",null),(0,d.A)(N,"40caf95c1217c0ac6c4afc1ff748b52c6e39b5c8cd",null),(0,d.A)(O,"4070a1e8f5dfdb123c1dd3ba53e819cd324592eeef",null),(0,d.A)(P,"40c08d36ba60f30915b37b6dd0aed4824b73741fe7",null),(0,d.A)(Q,"4054d8c9d713d027d9beb3076074624ea681f897ba",null),(0,d.A)(X,"0024bf7b34a52fe14a9a978ce3e57cfede2898f61a",null),(0,d.A)(Y,"0015b06bbd98ec7937ca597bbae4092e26b1991a66",null),(0,d.A)(Z,"004d7785b6e7ed54fec1c45370d77ac4c2f07804e2",null),(0,d.A)(ab,"0011c2404adc6b3048be5ca5eb204351e28665fedd",null),(0,d.A)(ac,"003c134392bb340969faa7fda2658f2c4517730d98",null),(0,d.A)(ad,"004c4e8970872e80bf3a634ff51fb13079a791cc11",null),(0,d.A)(ae,"0078876825bee310a72cf001e5fe01a3304ba0a060",null),(0,d.A)(af,"00554e833ae48f796f0eac7ddef3970ff24f235ad7",null),(0,d.A)(ag,"0018c198f4a47e6adc1238b5daa532fab3632f90ad",null),(0,d.A)(ah,"0026a43f3e1b62dcf12b65a152b2b7d0b33855e685",null),(0,d.A)(ai,"40c0f496f5293823123e86e702c43f6dbd13fa0241",null),(0,d.A)(aj,"00a82d9997685786a827f84d1adec8c0464ab77242",null)}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=8497,exports.ids=[8497],exports.modules={78497:(a,b,c)=>{c.d(b,{createKyselyAdapter:()=>d.xA,kyselyAdapter:()=>d.rV});var d=c(30200)}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=850,exports.ids=[850],exports.modules={20850:(a,b,c)=>{c.d(b,{pp:()=>l,VX:()=>s,CS:()=>v,Vd:()=>w,ZF:()=>q});var d=c(31421),e=c(73024),f=c(76760),g=c(77030),h=c(18612);c(37067),c(38522);let i=new Map,j="win32"===process.platform,k=new Map;function l(a){let b=(0,h.HZ)(a),c=[b];for(let a of["packages","apps","app","web","client","frontend","backend","server","api"]){let d=(0,f.join)(b,a);if((0,e.existsSync)(d))try{for(let a of(0,e.readdirSync)(d,{withFileTypes:!0}))a.isDirectory()&&c.push((0,f.join)(d,a.name))}catch{}}let d="$PORT";for(let a of c){let b=function(a){let b=(0,f.join)(a,"package.json");if(!(0,e.existsSync)(b))return null;try{let c=JSON.parse((0,e.readFileSync)(b,"utf8")),d=c.scripts??{},g=d.dev?"dev":d.start?"start":d.serve?"serve":null;if(!g)return null;let h=(0,e.existsSync)((0,f.join)(a,"pnpm-lock.yaml"))?"pnpm":(0,e.existsSync)((0,f.join)(a,"yarn.lock"))?"yarn":"npm",i=!(0,e.existsSync)((0,f.join)(a,"node_modules"));return{dir:a,kind:"node",name:c.name??"project",label:`${h} ${g}`,install:i?{cmd:h,args:["install"]}:void 0,runCmd:h,runArgs:"npm"===h?["run",g]:[g]}}catch{return null}}(a);if(b)return b}for(let a of c){let b=b=>(0,e.existsSync)((0,f.join)(a,b)),c=a.split(/[\\/]/).pop()||"project",g=b("requirements.txt")?{cmd:"python",args:["-m","pip","install","-r","requirements.txt"]}:void 0;if(b("manage.py"))return{dir:a,kind:"python",name:c,label:"django runserver",install:g,runCmd:"python",runArgs:["manage.py","runserver",`127.0.0.1:${d}`]};if(b("main.py")){let b="";try{b=(0,e.readFileSync)((0,f.join)(a,"main.py"),"utf8")}catch{}if(/FastAPI\s*\(/.test(b))return{dir:a,kind:"python",name:c,label:"uvicorn",install:g,runCmd:"python",runArgs:["-m","uvicorn","main:app","--host","127.0.0.1","--port",d]};return{dir:a,kind:"python",name:c,label:"python main.py",install:g,runCmd:"python",runArgs:["main.py"]}}if(b("go.mod"))return{dir:a,kind:"go",name:c,label:"go run",runCmd:"go",runArgs:["run","."]};if(b("Cargo.toml"))return{dir:a,kind:"rust",name:c,label:"cargo run",runCmd:"cargo",runArgs:["run"]};if(b("server.js"))return{dir:a,kind:"static",name:c,label:"node server.js",runCmd:"node",runArgs:["server.js"]}}return null}let m=new Map;async function n(a){let b=m.get(a);if(b&&Date.now()-b.at<6e4)return b.ok;let c=await new Promise(b=>{try{let c=(0,d.spawn)(a,["--version"],{shell:j,windowsHide:!0}),e=!1,f=a=>{e||(e=!0,b(a))};c.on("error",()=>f(!1)),c.on("close",()=>f(!0)),setTimeout(()=>{try{c.kill()}catch{}f(!0)},8e3)}catch{b(!1)}});return m.set(a,{ok:c,at:Date.now()}),c}function o(a,b,c){for(let d of c.split(/\r?\n/)){let c=d.trimEnd();c&&(a.logs.push({c:b,t:c}),"starting"===a.status&&/(ready|listening|localhost:|started server|compiled)/i.test(c)&&(a.status="running"))}a.logs.length>400&&a.logs.splice(0,a.logs.length-400)}let p=new Map;async function q(a,b){let c=k.get(a);if(c&&"stopped"!==c.status&&"error"!==c.status&&!c.proc.killed)return u(c);let d=p.get(a);if(d)return d;let e=r(a,b);p.set(a,e);try{return await e}finally{p.delete(a)}}async function r(a,b){let c,h,i=l(b);if(!i)return{running:!1,status:"error",logs:[{c:"err",t:"No runnable project found (no package.json with a dev/start script, or a Python/Go/Rust project, under the workspace)."}]};if("node"!==i.kind&&"static"!==i.kind&&!await n(i.runCmd))return{running:!1,status:"error",port:void 0,url:void 0,project:i.label,logs:[{c:"err",t:`Toolchain not found: '${i.runCmd}' is not installed or not on PATH. This ${i.kind} starter needs it to boot — install ${i.kind} (or pick a Node stack).`}]};try{c=await function(a=4173,b=4999){return new Promise((c,d)=>{let e=a=>{if(a>b)return d(Error("no free port"));let f=(0,g.createServer)();f.once("error",()=>e(a+1)),f.once("listening",()=>f.close(()=>c(a))),f.listen(a,"127.0.0.1")};e(a)})}()}catch{return{running:!1,status:"error",logs:[{c:"err",t:"No free port available."}]}}let m={...process.env,PORT:String(c),BROWSER:"none",NODE_ENV:"development"},p=i.runArgs.map(a=>a.includes("$PORT")?a.replace("$PORT",String(c)):a),q={proc:null,port:c,url:`http://127.0.0.1:${c}`,status:"starting",dir:i.dir,kind:i.kind,label:i.label,logs:[],startedAt:Date.now()};o(q,"info",`project: ${i.name} \xb7 ${i.label} \xb7 :${c}`);let r=(0,f.join)(i.dir,".constella-pyinstalled"),s=i.install&&("node"===i.kind||"python"===i.kind&&!(0,e.existsSync)(r));if(i.install&&s){o(q,"info",`$ ${i.install.cmd} ${i.install.args.join(" ")}`),k.set(a,q);let b=(0,d.spawn)(i.install.cmd,i.install.args,{cwd:i.dir,env:m,shell:j,windowsHide:!0});b.stdout?.on("data",a=>o(q,"out",a.toString())),b.stderr?.on("data",a=>o(q,"err",a.toString()));let c=await new Promise(a=>{b.on("close",a),b.on("error",()=>a(-1))});if("python"===i.kind&&0===c)try{(0,e.writeFileSync)(r,"ok")}catch{}}q.proc=h=(0,d.spawn)(i.runCmd,p,{cwd:i.dir,env:m,shell:j,windowsHide:!0,detached:!j}),h.stdout?.on("data",a=>o(q,"out",a.toString())),h.stderr?.on("data",a=>o(q,"err",a.toString())),h.on("error",a=>{q.status="error",o(q,"err",/ENOENT/.test(String(a))?`'${i.runCmd}' not found — install the ${i.kind} toolchain or pick a Node stack.`:"spawn failed: "+String(a instanceof Error?a.message:a))}),h.on("close",a=>{"stopped"!==q.status&&(q.status=0===a?"stopped":"error",o(q,"info",`process exited (${a})`))}),k.set(a,q);let t="go"===i.kind||"rust"===i.kind?12e4:"python"===i.kind?6e4:3e4;return await x(q.url,t).then(a=>{a&&"starting"===q.status&&(q.status="running")}),u(q)}async function s(a,b){if(!l(b))return{ok:!0,detail:"no runnable project to gate"};let c=v(a);if("running"===c.status&&c.url&&await x(c.url,3e3))return{ok:!0,detail:"dev server still reachable"};("error"===c.status||"stopped"===c.status)&&await t(a);let d=await q(a,b);if(("running"===d.status||"starting"===d.status)&&d.url&&await x(d.url,6e3))return{ok:!0,detail:"booted"};let e=d.logs.map(a=>a.t).join(" | ");return/Toolchain not found|not found —|not installed/.test(e)?{ok:!0,detail:"toolchain unavailable — boot gate skipped (cannot validate)"}:{ok:!1,detail:d.logs.slice(-5).map(a=>a.t).join(" | ")||"dev server failed to boot"}}async function t(a){let b=k.get(a);if(!b)return{running:!1,status:"stopped",logs:[]};b.status="stopped";try{b.proc?.pid&&(j?(0,d.spawn)("taskkill",["/PID",String(b.proc.pid),"/T","/F"],{windowsHide:!0}):process.kill(-b.proc.pid,"SIGKILL"))}catch{try{b.proc?.kill("SIGKILL")}catch{}}let c=i.get(a);if(c){try{c.server.close()}catch{}i.delete(a)}return o(b,"info","server stopped"),u(b)}function u(a){return{running:"running"===a.status||"starting"===a.status,status:a.status,port:a.port,url:a.url,project:a.label,logs:a.logs.slice(-120)}}function v(a){let b=k.get(a);return b?u(b):{running:!1,status:"none",logs:[]}}function w(a){let b=k.get(a);return b&&("running"===b.status||"starting"===b.status)?b.url:null}async function x(a,b){let c=Date.now()+b;for(;Date.now()<c;){try{return await fetch(a,{signal:AbortSignal.timeout(2e3)}),!0}catch{}await new Promise(a=>setTimeout(a,1e3))}return!1}}};