constellai 0.3.6 → 0.3.7

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 (283) 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 +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/server/app/(app)/activity/page.js +2 -2
  6. package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
  7. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/(app)/agents/[handle]/page.js +2 -2
  9. package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -1
  10. package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/(app)/code/page.js +2 -2
  12. package/.next/server/app/(app)/code/page.js.nft.json +1 -1
  13. package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/(app)/config/page.js +2 -2
  15. package/.next/server/app/(app)/config/page.js.nft.json +1 -1
  16. package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/(app)/costs/page.js +2 -2
  18. package/.next/server/app/(app)/costs/page.js.nft.json +1 -1
  19. package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/(app)/cron/page.js +2 -2
  21. package/.next/server/app/(app)/cron/page.js.nft.json +1 -1
  22. package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/(app)/dashboard/page.js +2 -2
  24. package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -1
  25. package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/(app)/design/page.js +44 -44
  27. package/.next/server/app/(app)/design/page.js.nft.json +1 -1
  28. package/.next/server/app/(app)/design/page_client-reference-manifest.js +1 -1
  29. package/.next/server/app/(app)/docs/[id]/page.js +2 -2
  30. package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -1
  31. package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -1
  32. package/.next/server/app/(app)/docs/page.js +2 -2
  33. package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
  34. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/(app)/github/page.js +2 -2
  36. package/.next/server/app/(app)/github/page.js.nft.json +1 -1
  37. package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/(app)/goals/page.js +2 -2
  39. package/.next/server/app/(app)/goals/page.js.nft.json +1 -1
  40. package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -1
  41. package/.next/server/app/(app)/inbox/page.js +2 -2
  42. package/.next/server/app/(app)/inbox/page.js.nft.json +1 -1
  43. package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/(app)/knowledge/page.js +3 -3
  45. package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -1
  46. package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/(app)/models/page.js +2 -2
  48. package/.next/server/app/(app)/models/page.js.nft.json +1 -1
  49. package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app/(app)/notifications/page.js +2 -2
  51. package/.next/server/app/(app)/notifications/page.js.nft.json +1 -1
  52. package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -1
  53. package/.next/server/app/(app)/org/page.js +3 -3
  54. package/.next/server/app/(app)/org/page.js.nft.json +1 -1
  55. package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/(app)/organizations/page.js +2 -2
  57. package/.next/server/app/(app)/organizations/page.js.nft.json +1 -1
  58. package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/(app)/page.js +3 -3
  60. package/.next/server/app/(app)/page.js.nft.json +1 -1
  61. package/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
  62. package/.next/server/app/(app)/planner/page.js +3 -3
  63. package/.next/server/app/(app)/planner/page.js.nft.json +1 -1
  64. package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/(app)/plugins/page.js +2 -2
  66. package/.next/server/app/(app)/plugins/page.js.nft.json +1 -1
  67. package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -1
  68. package/.next/server/app/(app)/pm/page.js +2 -2
  69. package/.next/server/app/(app)/pm/page.js.nft.json +1 -1
  70. package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -1
  71. package/.next/server/app/(app)/prepare-deploy/page.js +2 -2
  72. package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -1
  73. package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/(app)/profile/page.js +2 -2
  75. package/.next/server/app/(app)/profile/page.js.nft.json +1 -1
  76. package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/(app)/pulse/page.js +2 -2
  78. package/.next/server/app/(app)/pulse/page.js.nft.json +1 -1
  79. package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -1
  80. package/.next/server/app/(app)/reports/[id]/page.js +2 -2
  81. package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -1
  82. package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/(app)/reports/page.js +2 -2
  84. package/.next/server/app/(app)/reports/page.js.nft.json +1 -1
  85. package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -1
  86. package/.next/server/app/(app)/routines/page.js +2 -2
  87. package/.next/server/app/(app)/routines/page.js.nft.json +1 -1
  88. package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -1
  89. package/.next/server/app/(app)/search/page.js +2 -2
  90. package/.next/server/app/(app)/search/page.js.nft.json +1 -1
  91. package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -1
  92. package/.next/server/app/(app)/security/page.js +2 -2
  93. package/.next/server/app/(app)/security/page.js.nft.json +1 -1
  94. package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/(app)/skills/page.js +2 -2
  96. package/.next/server/app/(app)/skills/page.js.nft.json +1 -1
  97. package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -1
  98. package/.next/server/app/(app)/tasks/page.js +2 -2
  99. package/.next/server/app/(app)/tasks/page.js.nft.json +1 -1
  100. package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -1
  101. package/.next/server/app/(app)/test-dev/page.js +2 -2
  102. package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -1
  103. package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/(app)/update/page.js +3 -3
  105. package/.next/server/app/(app)/update/page.js.nft.json +1 -1
  106. package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -1
  107. package/.next/server/app/(auth)/login/page.js +2 -2
  108. package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
  109. package/.next/server/app/(auth)/onboarding/page.js +2 -2
  110. package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -1
  111. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  112. package/.next/server/app/_global-error.html +1 -1
  113. package/.next/server/app/_global-error.rsc +3 -3
  114. package/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
  115. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  116. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  117. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  118. package/.next/server/app/_global-error.segments/_index.segment.rsc +2 -2
  119. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  120. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/cron/tick/route.js +2 -2
  122. package/.next/server/app/api/sync/file/route.js +1 -1
  123. package/.next/server/app/api/telegram/poll/route.js +3 -3
  124. package/.next/server/app/api/v1/[[...path]]/route.js +1 -1
  125. package/.next/server/app-paths-manifest.json +3 -3
  126. package/.next/server/chunks/1249.js +3 -3
  127. package/.next/server/chunks/259.js +1 -1
  128. package/.next/server/chunks/2867.js +1 -1
  129. package/.next/server/chunks/2960.js +1 -1
  130. package/.next/server/chunks/3131.js +1 -1
  131. package/.next/server/chunks/3234.js +1 -1
  132. package/.next/server/chunks/4574.js +1 -0
  133. package/.next/server/chunks/4979.js +3 -3
  134. package/.next/server/chunks/6431.js +1 -1
  135. package/.next/server/chunks/6753.js +1 -0
  136. package/.next/server/chunks/{1765.js → 7236.js} +4 -1
  137. package/.next/server/chunks/7589.js +1 -1
  138. package/.next/server/chunks/7621.js +12 -0
  139. package/.next/server/chunks/7989.js +1 -1
  140. package/.next/server/chunks/7993.js +21 -0
  141. package/.next/server/chunks/8561.js +1 -1
  142. package/.next/server/chunks/8623.js +1 -1
  143. package/.next/server/chunks/8823.js +1 -1
  144. package/.next/server/chunks/8846.js +1 -0
  145. package/.next/server/chunks/{8719.js → 9160.js} +15 -15
  146. package/.next/server/chunks/9783.js +1 -1
  147. package/.next/server/middleware-build-manifest.js +1 -1
  148. package/.next/server/pages/500.html +1 -1
  149. package/.next/server/server-reference-manifest.js +1 -1
  150. package/.next/server/server-reference-manifest.json +1 -1
  151. package/.next/static/chunks/215-18ea748d2ff2caff.js +1 -0
  152. package/.next/static/chunks/27-b49ec46cfcce75b7.js +1 -0
  153. package/.next/static/chunks/2989-2dd9a66d007a96e8.js +4 -0
  154. package/.next/static/chunks/3219-92e75397858f3f1f.js +1 -0
  155. package/.next/static/chunks/4643-d0ab4088e129651f.js +1 -0
  156. package/.next/static/chunks/8370-e88907d9c72435e7.js +12 -0
  157. package/.next/static/chunks/9690-53d5222618cbeddb.js +1 -0
  158. package/.next/static/chunks/app/(app)/activity/{page-cf8d67941440bdce.js → page-93d4012627ea70d5.js} +1 -1
  159. package/.next/static/chunks/app/(app)/agents/[handle]/page-bfe740784bdf239c.js +1 -0
  160. package/.next/static/chunks/app/(app)/code/page-5e24874f11857823.js +1 -0
  161. package/.next/static/chunks/app/(app)/config/page-12c5487a8d55c2c2.js +1 -0
  162. package/.next/static/chunks/app/(app)/costs/page-6edcec363617f5ef.js +1 -0
  163. package/.next/static/chunks/app/(app)/cron/page-f9167770757921f7.js +1 -0
  164. package/.next/static/chunks/app/(app)/dashboard/page-103f172e762911d1.js +1 -0
  165. package/.next/static/chunks/app/(app)/design/{page-f48c0487d240248e.js → page-11b9cc40f32fe34f.js} +3 -3
  166. package/.next/static/chunks/app/(app)/docs/[id]/page-eaae80c3d47e1ba7.js +1 -0
  167. package/.next/static/chunks/app/(app)/docs/page-87457e514ea7de32.js +1 -0
  168. package/.next/static/chunks/app/(app)/github/page-ff62b7618c594632.js +1 -0
  169. package/.next/static/chunks/app/(app)/goals/page-d4d854c091020a92.js +1 -0
  170. package/.next/static/chunks/app/(app)/inbox/page-1bcfc50e9df5ed6f.js +12 -0
  171. package/.next/static/chunks/app/(app)/knowledge/page-0a55ce74e274817c.js +1 -0
  172. package/.next/static/chunks/app/(app)/layout-825ba765e8034dfb.js +1 -0
  173. package/.next/static/chunks/app/(app)/models/page-cd077c548916b8cb.js +1 -0
  174. package/.next/static/chunks/app/(app)/notifications/page-c5c7945f6f6f18d6.js +12 -0
  175. package/.next/static/chunks/app/(app)/org/page-a83804854bd0d44a.js +12 -0
  176. package/.next/static/chunks/app/(app)/organizations/page-b38db8e364e3a108.js +1 -0
  177. package/.next/static/chunks/app/(app)/page-733340fec4cd0173.js +1 -0
  178. package/.next/static/chunks/app/(app)/planner/page-06b2841d0438d92d.js +1 -0
  179. package/.next/static/chunks/app/(app)/plugins/{page-3b78b76ecb21d616.js → page-535ed062643077fc.js} +1 -1
  180. package/.next/static/chunks/app/(app)/pm/page-dc0296761e1af17c.js +1 -0
  181. package/.next/static/chunks/app/(app)/prepare-deploy/page-6f0c5081caf1d013.js +1 -0
  182. package/.next/static/chunks/app/(app)/profile/page-cef1aa72ffc02e9c.js +1 -0
  183. package/.next/static/chunks/app/(app)/pulse/page-d4bdec1709913581.js +1 -0
  184. package/.next/static/chunks/app/(app)/reports/[id]/page-f9167770757921f7.js +1 -0
  185. package/.next/static/chunks/app/(app)/reports/page-5c37a53bbd4fd1c3.js +1 -0
  186. package/.next/static/chunks/app/(app)/routines/page-e274160cfbb3c594.js +1 -0
  187. package/.next/static/chunks/app/(app)/search/page-f0e082b9b0402981.js +1 -0
  188. package/.next/static/chunks/app/(app)/security/page-a12f04656bde8aad.js +1 -0
  189. package/.next/static/chunks/app/(app)/skills/page-583f9780fa981aa8.js +1 -0
  190. package/.next/static/chunks/app/(app)/tasks/page-7bb09650b84e0755.js +1 -0
  191. package/.next/static/chunks/app/(app)/test-dev/page-ce66efbb83b2ed21.js +1 -0
  192. package/.next/static/chunks/app/(app)/update/page-6a8082f1c1b3b762.js +1 -0
  193. package/.next/static/chunks/app/(auth)/login/page-b512c906a1566d8c.js +1 -0
  194. package/.next/static/chunks/app/(auth)/onboarding/page-8f6bf1259bb5aab5.js +1 -0
  195. package/.next/trace-build +1 -1
  196. package/CHANGELOG.md +26 -1
  197. package/README.md +1 -1
  198. package/README.pt-BR.md +1 -1
  199. package/THIRD_PARTY_LICENSES.md +64 -0
  200. package/docs/UPDATE.md +9 -2
  201. package/docs/en/AI_ARCHITECTURE.md +2 -2
  202. package/docs/en/CHAT_COMMANDS.md +1 -1
  203. package/docs/en/CONFIGURATION.md +1 -1
  204. package/docs/en/DESIGN.md +1 -1
  205. package/docs/en/FAQ.md +3 -3
  206. package/docs/en/GOALS_SPECS_ISSUES.md +1 -1
  207. package/docs/en/MCP.md +2 -2
  208. package/docs/en/PLUGINS.md +2 -2
  209. package/docs/en/PORTABLE_MODE.md +1 -1
  210. package/docs/en/PUBLISHING.md +14 -15
  211. package/docs/en/README.md +1 -1
  212. package/docs/en/SECURITY.md +3 -3
  213. package/docs/en/START_MODE.md +1 -1
  214. package/docs/en/TELEGRAM.md +1 -1
  215. package/docs/en/TROUBLESHOOTING.md +1 -1
  216. package/docs/en/VPS_MODE.md +2 -2
  217. package/docs/pt/AI_ARCHITECTURE.md +2 -2
  218. package/docs/pt/CHAT_COMMANDS.md +1 -1
  219. package/docs/pt/CONFIGURATION.md +1 -1
  220. package/docs/pt/DESIGN.md +1 -1
  221. package/docs/pt/FAQ.md +3 -3
  222. package/docs/pt/GOALS_SPECS_ISSUES.md +1 -1
  223. package/docs/pt/MCP.md +1 -1
  224. package/docs/pt/PLUGINS.md +2 -2
  225. package/docs/pt/PORTABLE_MODE.md +1 -1
  226. package/docs/pt/PUBLISHING.md +6 -7
  227. package/docs/pt/README.md +1 -1
  228. package/docs/pt/SECURITY.md +3 -3
  229. package/docs/pt/START_MODE.md +1 -1
  230. package/docs/pt/TELEGRAM.md +1 -1
  231. package/docs/pt/TROUBLESHOOTING.md +2 -2
  232. package/docs/pt/VPS_MODE.md +1 -1
  233. package/package.json +2 -1
  234. package/scripts/publish-public.mjs +21 -16
  235. package/.next/server/chunks/158.js +0 -21
  236. package/.next/server/chunks/2495.js +0 -1
  237. package/.next/server/chunks/4467.js +0 -12
  238. package/.next/server/chunks/535.js +0 -1
  239. package/.next/server/chunks/7225.js +0 -4
  240. package/.next/static/chunks/2831-d7f6495bf43f4f9d.js +0 -4
  241. package/.next/static/chunks/3219-486bddbf87074d04.js +0 -1
  242. package/.next/static/chunks/3775-82dcdf23109aa5bf.js +0 -1
  243. package/.next/static/chunks/6836-341614c5418e2aa4.js +0 -1
  244. package/.next/static/chunks/8306-7418693cd7fd5861.js +0 -1
  245. package/.next/static/chunks/8370-8b3e7106703024ce.js +0 -12
  246. package/.next/static/chunks/9690-ea874aec65263b9d.js +0 -1
  247. package/.next/static/chunks/app/(app)/agents/[handle]/page-7baa24f1ae8bc400.js +0 -1
  248. package/.next/static/chunks/app/(app)/code/page-b342d74807e8b914.js +0 -1
  249. package/.next/static/chunks/app/(app)/config/page-1e68ba8d20215d67.js +0 -1
  250. package/.next/static/chunks/app/(app)/costs/page-a58d759eec6048df.js +0 -1
  251. package/.next/static/chunks/app/(app)/cron/page-cc7f4e3d8ab5618f.js +0 -1
  252. package/.next/static/chunks/app/(app)/dashboard/page-7757c33acf751c4c.js +0 -1
  253. package/.next/static/chunks/app/(app)/docs/[id]/page-95c52cf457d869ef.js +0 -1
  254. package/.next/static/chunks/app/(app)/docs/page-fbc50cd357d5e2ca.js +0 -1
  255. package/.next/static/chunks/app/(app)/github/page-dac138256ed91e65.js +0 -1
  256. package/.next/static/chunks/app/(app)/goals/page-f87d40f6832d63b3.js +0 -1
  257. package/.next/static/chunks/app/(app)/inbox/page-49c1293e0d98874f.js +0 -12
  258. package/.next/static/chunks/app/(app)/knowledge/page-18fca436883ed5cc.js +0 -1
  259. package/.next/static/chunks/app/(app)/layout-c9778f98c0103f74.js +0 -1
  260. package/.next/static/chunks/app/(app)/models/page-030c085cd7767495.js +0 -1
  261. package/.next/static/chunks/app/(app)/notifications/page-12af3fee8b36a00e.js +0 -12
  262. package/.next/static/chunks/app/(app)/org/page-576001ff4a820744.js +0 -12
  263. package/.next/static/chunks/app/(app)/organizations/page-b973e1eee6e56baf.js +0 -1
  264. package/.next/static/chunks/app/(app)/page-cef52fc5f4fd4418.js +0 -1
  265. package/.next/static/chunks/app/(app)/planner/page-da2db56914346192.js +0 -1
  266. package/.next/static/chunks/app/(app)/pm/page-78303379c1ea5dc5.js +0 -1
  267. package/.next/static/chunks/app/(app)/prepare-deploy/page-98b1bd3bf712bb60.js +0 -1
  268. package/.next/static/chunks/app/(app)/profile/page-de24af53de0ef2b2.js +0 -1
  269. package/.next/static/chunks/app/(app)/pulse/page-db7fd63369c01fa2.js +0 -1
  270. package/.next/static/chunks/app/(app)/reports/[id]/page-cc7f4e3d8ab5618f.js +0 -1
  271. package/.next/static/chunks/app/(app)/reports/page-97ab95e6f8b77b62.js +0 -1
  272. package/.next/static/chunks/app/(app)/routines/page-cf6a3331775ca11b.js +0 -1
  273. package/.next/static/chunks/app/(app)/search/page-3960825f66b05606.js +0 -1
  274. package/.next/static/chunks/app/(app)/security/page-53b0770355cf7aa4.js +0 -1
  275. package/.next/static/chunks/app/(app)/skills/page-809a73b94861f8b8.js +0 -1
  276. package/.next/static/chunks/app/(app)/tasks/page-b2497927d127f7aa.js +0 -1
  277. package/.next/static/chunks/app/(app)/test-dev/page-93ec5d89e2afb612.js +0 -1
  278. package/.next/static/chunks/app/(app)/update/page-a23322af4e59a93c.js +0 -1
  279. package/.next/static/chunks/app/(auth)/login/page-446681bfb762cb05.js +0 -1
  280. package/.next/static/chunks/app/(auth)/onboarding/page-2b8cb3e0b024c995.js +0 -1
  281. package/docs/assets/blackhole.svg +0 -37
  282. /package/.next/static/{fb-rRThu8P8AXEQQBbLgT → Mx3bcAGWI83SQ6PqC4kYX}/_buildManifest.js +0 -0
  283. /package/.next/static/{fb-rRThu8P8AXEQQBbLgT → Mx3bcAGWI83SQ6PqC4kYX}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9274],{390:(e,a,s)=>{"use strict";s.d(a,{k:()=>n});var l=s(7814);let n=(0,l.createServerReference)("605ca43c0bef77a42f5e1fee476bad0478ca45b90e",l.callServer,void 0,l.findSourceMapURL,"saveAgentModel")},2267:(e,a,s)=>{"use strict";s.d(a,{ModelsScreen:()=>ea,OpenCatalogButton:()=>es});var l=s(5076),n=s(8488),t=s(8576),i=s(4552),r=s(9265);let d=[[/qwen/i,"qwen"],[/(^|[-_ ])(meta-?)?llama/i,"meta"],[/codestral|mixtral|mistral|ministral/i,"mistral"],[/gemma/i,"gemma"],[/phi-?\d/i,"microsoft"],[/deepseek/i,"deepseek"],[/(^|[-_ ])yi-?\d/i,"yi"],[/granite/i,"ibm"],[/smollm/i,"huggingface"],[/aya|command-?r|^c4ai/i,"cohere"],[/falcon/i,"tii"],[/exaone/i,"lg"]];var o=s(3728),c=s(4403),m=s(7814);let p=(0,m.createServerReference)("40c4cc3f2d97110b2d69610739ee46dbe5a2a37d85",m.callServer,void 0,m.findSourceMapURL,"testProvider"),h=(0,m.createServerReference)("4005f3f9461c2e6b2fecdac81c822e2481fbdbaec1",m.callServer,void 0,m.findSourceMapURL,"syncProvider"),u=(0,m.createServerReference)("403c1d8c05fcc53bd28044c5b835d4b402564a964f",m.callServer,void 0,m.findSourceMapURL,"revokeProviderToken"),x=(0,m.createServerReference)("4004673068530656edd28ca2b130a1096f274e2cde",m.callServer,void 0,m.findSourceMapURL,"removeProvider");var v=s(7566);let g=(0,m.createServerReference)("408898da73d5e0af066104c62997b817201c0a99cf",m.callServer,void 0,m.findSourceMapURL,"refreshProviderModels");var f=s(6245);let j=(0,m.createServerReference)("60f96bab69a09e9fcf636f80db1eff87d3be983a60",m.callServer,void 0,m.findSourceMapURL,"connectProvider");var b=s(8088);let k=(0,m.createServerReference)("0024bf7b34a52fe14a9a978ce3e57cfede2898f61a",m.callServer,void 0,m.findSourceMapURL,"downloadLlamaServer"),B=(0,m.createServerReference)("40c0f496f5293823123e86e702c43f6dbd13fa0241",m.callServer,void 0,m.findSourceMapURL,"startLlamaServer"),y=(0,m.createServerReference)("00a82d9997685786a827f84d1adec8c0464ab77242",m.callServer,void 0,m.findSourceMapURL,"stopLlamaServer"),N=(0,m.createServerReference)("4054d8c9d713d027d9beb3076074624ea681f897ba",m.callServer,void 0,m.findSourceMapURL,"removeGguf"),w=(0,m.createServerReference)("40caf95c1217c0ac6c4afc1ff748b52c6e39b5c8cd",m.callServer,void 0,m.findSourceMapURL,"removeModel"),S=(0,m.createServerReference)("4070a1e8f5dfdb123c1dd3ba53e819cd324592eeef",m.callServer,void 0,m.findSourceMapURL,"downloadGguf");var C=s(5509);let I=(0,m.createServerReference)("0078876825bee310a72cf001e5fe01a3304ba0a060",m.callServer,void 0,m.findSourceMapURL,"embedStatus"),M=(0,m.createServerReference)("00554e833ae48f796f0eac7ddef3970ff24f235ad7",m.callServer,void 0,m.findSourceMapURL,"startEmbeddings"),z=(0,m.createServerReference)("0018c198f4a47e6adc1238b5daa532fab3632f90ad",m.callServer,void 0,m.findSourceMapURL,"reindexRag");var _=s(390);let Q=[{name:"nomic-embed-text",label:"Nomic Embed Text",size:"274 MB",kind:"embed",note:"Powers semantic workspace RAG — pull this to enable embeddings."},{name:"mxbai-embed-large",label:"mxbai Embed Large",size:"670 MB",kind:"embed",note:"Higher-quality embeddings (set CONSTELLA_EMBED_MODEL)."},{name:"llama3.2:3b",label:"Llama 3.2 3B",size:"2.0 GB",kind:"chat"},{name:"qwen2.5:7b",label:"Qwen 2.5 7B",size:"4.7 GB",kind:"chat"},{name:"qwen2.5-coder:7b",label:"Qwen 2.5 Coder 7B",size:"4.7 GB",kind:"code"},{name:"gemma2:2b",label:"Gemma 2 2B",size:"1.6 GB",kind:"chat"},{name:"phi3.5",label:"Phi 3.5",size:"2.2 GB",kind:"chat"}],R=[{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"}],L={Q3_K_L:.55,Q4_K_M:.67,Q6_K:.9,Q8_0:1.13},T=[{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 e=[];for(let l of R){var a,s;let n=l.vendor??"lmstudio-community";for(let t of(a=l.paramsB)<=9?["Q3_K_L","Q4_K_M","Q6_K","Q8_0"]:a<=34?["Q3_K_L","Q4_K_M","Q6_K"]:["Q3_K_L","Q4_K_M"]){let a=`${l.repo}-${t}.gguf`;e.push({id:`${l.repo}-${t}`.toLowerCase().replace(/[^a-z0-9]+/g,"-"),name:`${l.repo} (${t})`,url:`https://huggingface.co/${n}/${l.repo}-GGUF/resolve/main/${a}`,params:(s=l.paramsB)<1?`${Math.round(1e3*s)}M`:`${s}B`,quant:t,sizeBytes:Math.round(1e9*l.paramsB*L[t]),kind:l.kind,paramsB:l.paramsB})}}return e}()];var $=s(6517),A=s(5629);let P={available:"var(--sx-string)",experimental:"#f0a35e",requires_setup:"#6cc7e0",planned:"var(--text-dim)",unsupported:"var(--sx-keyword)"},G={ready:"var(--sx-string)",needs_login:"#f0a35e",needs_key:"#f0a35e",unknown:"var(--text-dim)"},U={cli_claude_code:"sign in to Claude Code",cli_codex:"codex login",cli_openclaw:"openclaw infer model auth login",cli_hermes:"hermes model",cli_aider:"set OPENAI_API_KEY / ANTHROPIC_API_KEY env",cli_opencode:"opencode auth login",cli_copilot:"copilot → /login",cli_cursor:"cursor-agent login",cli_cline:"configure cline providers",cli_kilo:"configure kilocode providers"},F=e=>e>=1e9?(e/1e9).toFixed(1)+" GB":(e/1e6).toFixed(0)+" MB";function E({rows:e,kind:a,onViewModels:s}){let i=(0,A.k)(),[d,o]=(0,n.useState)({}),[c,m]=(0,n.useState)({}),[v,g]=(0,n.useState)({}),[,f]=(0,n.useTransition)(),j=(e,a,s,l)=>f(async()=>{var n;o(s=>({...s,[e]:a}));let t=await s().catch(()=>null);o(a=>{let s={...a};return delete s[e],s}),l&&(n=l(t),m(a=>({...a,[e]:n})),setTimeout(()=>m(a=>{let s={...a};return delete s[e],s}),2200))});return(0,l.jsx)("div",{className:"tbl-wrap",children:(0,l.jsxs)("table",{className:"tbl",style:{marginBottom:20},children:[(0,l.jsx)("thead",{children:(0,l.jsxs)("tr",{children:[(0,l.jsx)("th",{children:i("models.col.provider")}),(0,l.jsx)("th",{children:i("models.col.adapter")}),(0,l.jsx)("th",{children:i("models.col.models")}),(0,l.jsx)("th",{children:"cli"===a?i("models.col.auth"):i("models.col.keyAuth")}),(0,l.jsx)("th",{children:i("models.col.lastSync")}),(0,l.jsx)("th",{children:i("common.status")}),(0,l.jsx)("th",{style:{textAlign:"right"},children:i("common.actions")})]})}),(0,l.jsxs)("tbody",{children:[e.map(e=>{let a="connected"===e.status,o=d[e.id],m="none"!==e.auth&&"local"!==e.auth&&"cli"!==e.auth,f=!!v[e.id],b=e.authState??("cli"===e.kind?"unknown":"none"===e.auth?"needs_key":"ready");return(0,l.jsxs)(n.Fragment,{children:[(0,l.jsxs)("tr",{children:[(0,l.jsx)("td",{children:(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,l.jsx)("button",{className:"iact",title:f?i("models.title.hideStatus"):i("models.title.showStatus"),style:{padding:"0 4px",fontSize:11,color:"var(--text-dim)",lineHeight:1},onClick:()=>g(a=>({...a,[e.id]:!a[e.id]})),children:f?"▾":"▸"}),(0,l.jsx)(r.W,{id:e.catalogId,size:26})," ",e.displayName,"cli"===e.kind&&e.cliVersion&&(0,l.jsxs)("span",{className:"chip-sm",style:{fontSize:9.5,color:"var(--text-dim)"},children:["v",e.cliVersion.replace(/^v/,"")]})]})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"chip-sm",children:e.adapter})}),(0,l.jsx)("td",{children:e.modelCount>0?(0,l.jsx)("button",{className:"link-btn",onClick:a=>s(e,a),children:i("models.modelCount",{n:e.modelCount})}):(0,l.jsx)("span",{style:{color:"var(--text-faint)"},children:i("common.unsynced")})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"pill",style:{background:(G[b]??"var(--text-dim)")+"22",color:G[b]??"var(--text-dim)"},children:i(`models.auth.${b}`)})}),(0,l.jsx)("td",{style:{color:"var(--text-dim)",fontSize:12},children:e.lastSync??i("common.never")}),(0,l.jsx)("td",{children:(0,l.jsxs)("span",{className:"gstat-cell",children:[(0,l.jsx)("span",{className:"status-dot",style:{background:a?"var(--sx-string)":"error"===e.status?"var(--sx-keyword)":"var(--text-dim)"}}),a?i("models.status.connected"):"error"===e.status?i("models.status.error"):i("models.status.needsSync")]})}),(0,l.jsx)("td",{children:(0,l.jsxs)("div",{className:"row-actions",children:[c[e.id]&&(0,l.jsx)("span",{style:{fontSize:10.5,color:"var(--sx-string)",alignSelf:"center"},children:c[e.id]}),(0,l.jsx)("button",{className:"iact",title:i("models.title.testConnection"),disabled:!!o,onClick:()=>j(e.id,"testing",()=>p(e.id),e=>e?.ok?i("models.flash.connectionOk"):i("models.flash.unreachable")),children:"testing"===o?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:15})}):(0,l.jsx)(t.I,{name:"play",size:15})}),(0,l.jsx)("button",{className:"iact",title:i("models.title.syncRefresh"),disabled:!!o,onClick:()=>j(e.id,"syncing",()=>h(e.id),e=>i("models.flash.synced",{n:e?.count??0})),children:"syncing"===o?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:15})}):(0,l.jsx)(t.I,{name:"refresh",size:15})}),e.modelCount>0&&(0,l.jsx)("button",{className:"iact",title:i("models.title.viewModels"),onClick:a=>s(e,a),children:(0,l.jsx)(t.I,{name:"files",size:15})}),m&&(0,l.jsx)("button",{className:"iact",title:i("models.title.revokeToken"),disabled:!!o,onClick:()=>j(e.id,"revoke",()=>u(e.id),()=>i("models.flash.tokenRevoked")),children:(0,l.jsx)(t.I,{name:"shield",size:15})}),(0,l.jsx)("button",{className:"iact danger",title:i("models.title.removeProvider"),disabled:!!o,onClick:()=>j(e.id,"remove",()=>x(e.id)),children:(0,l.jsx)(t.I,{name:"trash",size:15})})]})})]}),f&&(0,l.jsx)("tr",{children:(0,l.jsx)("td",{colSpan:7,style:{padding:0,background:"var(--bg-active)"},children:(0,l.jsx)(O,{row:e})})})]},e.id)}),0===e.length&&(0,l.jsx)("tr",{children:(0,l.jsx)("td",{colSpan:7,style:{textAlign:"center",color:"var(--text-faint)",padding:20},children:"cli"===a?i("models.empty.cli"):i("models.empty.cloud")})})]})]})})}function D({k:e,children:a}){return(0,l.jsxs)("div",{style:{minWidth:0},children:[(0,l.jsx)("div",{style:{fontSize:10,textTransform:"uppercase",letterSpacing:".4px",color:"var(--text-faint)",marginBottom:3},children:e}),(0,l.jsx)("div",{style:{fontSize:12.5,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis"},children:a})]})}function O({row:e}){let a=(0,A.k)(),s=(0,b.kH)(e.catalogId),i=function(e){let a=(0,b.kH)(e);if(!a)return{key:"none",tone:"var(--text-dim)"};if("cli"===a.category)return{key:"cli",tone:"#a78bfa"};if("local_runtime"===a.category)return{key:"local",tone:"#6cc7e0"};let s=a.connectionTypes.includes("local"),l=a.connectionTypes.includes("api_key")||a.connectionTypes.includes("openai_compatible");return s&&l?{key:"hybrid",tone:"#f0a35e"}:{key:"api",tone:"var(--sx-string)"}}(e.catalogId),r=s?.category==="cli",[d,o]=(0,n.useState)(null),[c,m]=(0,n.useState)(!1),[,p]=(0,n.useTransition)();(0,n.useEffect)(()=>{let a=!0;return(0,v.A)(e.id).then(e=>a&&o(e.models)).catch(()=>a&&o([])),()=>{a=!1}},[e.id]);let h=d?.find(e=>e.isDefault)??(e.defaultModel?d?.find(a=>a.id===e.defaultModel):void 0)??d?.[0],u=d?.reduce((e,a)=>Math.max(e,a.context),0)??0,x={vision:!!d?.some(e=>e.caps?.vision),reasoning:!!d?.some(e=>e.caps?.reasoning),tools:!!d?.some(e=>e.caps?.tools)},f=[x.vision&&a("models.cap.vision"),x.reasoning&&a("models.cap.reasoning"),x.tools&&a("models.cap.tools")].filter(Boolean).join(" \xb7 ")||"—",j=e.authState??(r?"unknown":"none"===e.auth?"needs_key":"ready"),k="ready"===j&&"connected"===e.status;return(0,l.jsxs)("div",{style:{padding:"14px 18px 16px 40px",borderTop:"1px solid var(--border)"},children:[(0,l.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))",gap:"12px 18px"},children:[(0,l.jsx)(D,{k:a("models.pd.connection"),children:(0,l.jsx)("span",{className:"pill",style:{background:i.tone+"22",color:i.tone},children:"none"===i.key?"—":a(`models.connType.${i.key}`)})}),(0,l.jsx)(D,{k:a("models.pd.install"),children:r?e.cliVersion?(0,l.jsxs)("span",{style:{color:"var(--sx-string)"},children:[a("models.install.installed")," \xb7 v",e.cliVersion.replace(/^v/,"")]}):(0,l.jsx)("span",{style:{color:"#f0a35e"},children:a("models.install.notDetected")}):a("local"===i.key?"models.install.localRuntime":"models.install.cloudApi")}),(0,l.jsxs)(D,{k:a("models.pd.auth"),children:[(0,l.jsx)("span",{className:"pill",style:{background:(G[j]??"var(--text-dim)")+"22",color:G[j]??"var(--text-dim)"},children:a(`models.auth.${j}`)}),"ready"!==j&&(r?U[e.adapter]:!e.auth||"none"===e.auth)?(0,l.jsx)("span",{style:{fontSize:10.5,color:"var(--text-faint)",marginLeft:6},children:r?U[e.adapter]:a("models.hint.addApiKey")}):null]}),(0,l.jsx)(D,{k:a("models.pd.models"),children:null==d?"…":d.length||e.modelCount}),(0,l.jsx)(D,{k:a("models.pd.defaultModel"),children:h?h.name:e.defaultModel??"—"}),(0,l.jsx)(D,{k:a("models.pd.maxContext"),children:u?a("models.pd.tokens",{ctx:W(u)}):"—"}),(0,l.jsx)(D,{k:a("models.pd.capabilities"),children:f}),(0,l.jsx)(D,{k:a("models.pd.costDefault"),children:h&&(h.inputCost||h.outputCost)?`$${h.inputCost} / $${h.outputCost} ${a("models.pd.per1M")}`:"—"}),(0,l.jsx)(D,{k:a("models.pd.state"),children:(0,l.jsx)("span",{className:"pill",style:{background:(k?"var(--sx-string)":"#f0a35e")+"22",color:k?"var(--sx-string)":"#f0a35e"},children:a(k?"models.state.ready":"models.state.needsConfig")})})]}),(0,l.jsxs)("div",{style:{marginTop:12,display:"flex",alignItems:"center",gap:10},children:[(0,l.jsxs)("button",{className:"btn-ghost",disabled:c,onClick:function(){m(!0),p(async()=>{await g(e.id).catch(()=>{}),o((await (0,v.A)(e.id).catch(()=>({models:[]}))).models),m(!1)})},children:[c?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"refresh",size:13})," ",a(c?"models.btn.refreshing":"models.btn.refreshModels")]}),s?.notes&&(0,l.jsx)("span",{style:{fontSize:11,color:"var(--text-faint)"},children:s.notes})]})]})}let W=e=>e?e>=1e6?`${(e/1e6).toFixed(e%1e6?1:0)}M`:`${Math.round(e/1e3)}K`:"";function K({row:e,pos:a,onClose:s}){let i=(0,A.k)(),r=(0,$.L2)(e.adapter),[d,o]=(0,n.useState)(r?r.map(e=>({id:e.id,label:e.label,version:e.version,note:e.note})):null),[c,m]=(0,n.useState)(""),p=e=>{let a=(0,$.Ov)(e.id);return{id:e.id,label:e.name||a.label,version:a.version,context:e.context,inputCost:e.inputCost,outputCost:e.outputCost,caps:e.caps,isDefault:e.isDefault}};return(0,n.useEffect)(()=>{if(r)return;let a=!0;return(0,v.A)(e.id).then(async({models:s})=>{if(!a)return;if(s.length)return void o(s.map(p));let l=await (0,f.E)(e.id);a&&(o(l.models.map(e=>{let a=(0,$.Ov)(e);return{id:e,label:a.label,version:a.version}})),l.error&&m(l.error))}).catch(()=>{a&&(o([]),m(i("models.pop.loadFailed")))}),()=>{a=!1}},[e.id]),(0,l.jsxs)("div",{className:"models-pop",style:{left:Math.min(a.x,window.innerWidth-380),top:a.y},onMouseLeave:s,children:[(0,l.jsxs)("div",{className:"mp-head",children:[(0,l.jsx)(t.I,{name:"cpu",size:13,style:{color:"var(--accent)"}})," ",e.displayName," \xb7 ",e.kind," \xb7 ",i("models.modelCount",{n:d?.length??e.modelCount})]}),null===d&&(0,l.jsxs)("div",{className:"mp-row",children:[(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:11})})," ",i("common.loading")]}),d&&0===d.length&&(0,l.jsx)("div",{className:"mp-row",style:{color:"var(--text-faint)"},children:c||i("models.pop.noModels")}),d?.map(e=>(0,l.jsxs)("div",{className:"mp-row",children:[(0,l.jsx)(t.I,{name:"dot",size:7}),(0,l.jsxs)("span",{style:{flex:1,minWidth:0},children:[(0,l.jsxs)("span",{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[e.label,e.isDefault?(0,l.jsxs)("span",{style:{color:"var(--accent)"},children:[" \xb7 ",i("models.pop.recommended")]}):null,e.note?(0,l.jsxs)("span",{style:{color:"var(--text-faint)"},children:[" \xb7 ",e.note]}):null]}),e.context||e.inputCost||e.outputCost?(0,l.jsxs)("span",{style:{fontSize:9.5,color:"var(--text-faint)",fontFamily:"var(--mono-font)"},children:[e.context?`${W(e.context)} ${i("models.pop.ctx")}`:"",e.inputCost||e.outputCost?` $${e.inputCost}/${e.outputCost}`:"",e.caps?.vision?` ${i("models.cap.vision")}`:"",e.caps?.reasoning?` ${i("models.cap.reasoning")}`:"",e.caps?.tools?` ${i("models.cap.tools")}`:""]}):null]}),e.version&&(0,l.jsxs)("span",{className:"chip-sm",style:{fontSize:10},children:["v",e.version]})]},e.id))]})}function q({hw:e,ollamaUp:a,ollamaInstalled:s,installed:i,locals:d,llamaUp:c,llamaInstalled:m,llamaModel:p}){let h,u,x=(0,A.k)(),[v,g]=(0,n.useState)(c?"running":m?"stopped":"not-installed"),[f,j]=(0,n.useState)(p),[b,I]=(0,n.useState)([{c:c?"lg-ok":m?"lg-dim":"lg-warn",t:c?x("models.log.serving",{model:p??x("models.log.aModel")}):m?x("models.log.stopped"):x("models.log.notInstalled")}]),[M,z]=(0,n.useState)(d[0]?.id??""),[_,R]=(0,n.useState)(m),[L,$]=(0,n.useState)(""),[P,G]=(0,n.useState)(""),[U,E]=(0,n.useState)(!1),[D,O]=(0,n.useState)("all"),[,W]=(0,n.useTransition)(),K=Y(e.vram),X=Y(e.ram),Z="Metal"===e.backend?"Metal":"GPU",ee=T.map(e=>({g:e,fit:function(e,a,s,l="GPU"){return a>0?1.2*e<=a?{key:"fitsUnit",unit:l,tone:"ok"}:e<=a?{key:"tightUnit",unit:l,tone:"tight"}:e<=2*a?{key:"partialOffload",tone:"tight"}:{key:"cpuOnly",tone:"no"}:s>0?1.1*e<=s?{key:"runsOnCpu",tone:"tight"}:{key:"tooBig",tone:"no"}:{key:"",tone:"tight"}}(e.sizeBytes,K,X,Z)})).filter(({g:e})=>"all"===D||e.kind===D).filter(({g:e})=>!P.trim()||e.name.toLowerCase().includes(P.toLowerCase())).filter(({fit:e})=>!U||"no"!==e.tone),[ea,es]=(0,n.useState)(null);function el(e){W(async()=>{g("booting"),I(e=>[...e,{c:"lg-dim",t:"$ llama-server"}]);let a=await B(e||M||void 0);g(a.up?"running":a.installed?"stopped":"not-installed"),I(e=>[...e,...a.log.map(e=>({c:a.up?"lg-ok":"lg-warn",t:e}))])})}let en="running"===v?x("models.srv.running"):"booting"===v?x("models.srv.working"):"not-installed"===v?x("models.srv.notInstalled"):x("models.srv.stopped");return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"lr-grid",children:[(0,l.jsxs)("div",{className:"hw-card",children:[(0,l.jsxs)("div",{className:"hw-head",children:[(0,l.jsx)("span",{className:"hw-ic",children:(0,l.jsx)(t.I,{name:"cpu",size:19})}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"hw-t",children:x("models.hw.detected")}),(0,l.jsx)("div",{className:"hw-s",children:x("models.hw.autoProbed")})]}),(0,l.jsx)("span",{className:"hw-badge",children:e.backend})]}),(0,l.jsxs)("div",{className:"hw-rows",children:[(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:"CPU"}),(0,l.jsx)("div",{className:"hi-v",children:e.cpu})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:x("models.hw.cores")}),(0,l.jsx)("div",{className:"hi-v",children:e.cores})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:x("models.hw.memory")}),(0,l.jsx)("div",{className:"hi-v",children:e.ram})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:"GPU"}),(0,l.jsx)("div",{className:"hi-v",children:e.gpu})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:"VRAM"}),(0,l.jsx)("div",{className:"hi-v",children:e.vram})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:x("models.hw.diskFree")}),(0,l.jsx)("div",{className:"hi-v",children:e.diskFree})]})]}),(0,l.jsxs)("div",{className:"hw-badges",children:[e.accel.map(e=>(0,l.jsx)("span",{className:"hw-badge",style:{background:"var(--bg-active)",color:"var(--text-dim)"},children:e},e)),(0,l.jsx)("span",{className:"hw-badge",children:x("models.hw.recommended",{quant:e.recommendedQuant})}),(0,l.jsx)("span",{className:"hw-badge",children:x("models.hw.max",{params:e.maxParams})})]})]}),(0,l.jsxs)("div",{className:"hw-card",children:[(0,l.jsxs)("div",{className:"hw-head",children:[(0,l.jsx)("span",{className:"hw-ic",children:(0,l.jsx)(t.I,{name:"terminal",size:19})}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"hw-t",children:x("models.llama.title")}),(0,l.jsx)("div",{className:"hw-s",children:x("models.llama.sub")})]}),(0,l.jsx)(r.W,{id:"llamacpp",size:22})]}),(0,l.jsxs)("div",{className:"srv-status",children:[(0,l.jsx)("span",{className:"srv-dot "+("running"===v?"run":"booting"===v?"boot":"stop")}),(0,l.jsxs)("div",{className:"srv-meta",children:[(0,l.jsx)("div",{className:"sm-t",children:en}),(0,l.jsxs)("div",{className:"sm-s",children:["127.0.0.1:8082 \xb7 ",f||x("models.srv.noModel")]})]}),(0,l.jsxs)("button",{className:"running"===v?"btn-ghost":"btn-accent",onClick:()=>"running"===v?void W(async()=>{g("booting");let e=await y();g("stopped"),j(null),I(a=>[...a,...e.log.map(e=>({c:"lg-warn",t:e}))])}):el(),disabled:"booting"===v||"running"!==v&&0===d.length,children:["booting"===v?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"running"===v?"close":"goto",size:13}),"running"===v?x("models.srv.stopBtn"):"booting"===v?x("models.srv.working"):x("models.srv.startBtn")]})]}),"running"!==v&&d.length>0&&(0,l.jsx)("div",{style:{marginBottom:8},children:(0,l.jsx)(o.m,{value:M,options:d.map(e=>({value:e.id,label:e.name})),onChange:z,mono:!0})}),(0,l.jsxs)("div",{className:"srv-stats",children:[(0,l.jsxs)("div",{className:"srv-stat",children:[(0,l.jsx)("div",{className:"ss-v",children:d.length}),(0,l.jsx)("div",{className:"ss-k",children:x("models.srv.ggufModels")})]}),(0,l.jsxs)("div",{className:"srv-stat",children:[(0,l.jsx)("div",{className:"ss-v",children:"running"===v?x("common.on"):x("common.off")}),(0,l.jsx)("div",{className:"ss-k",children:x("models.srv.serverLabel")})]}),(0,l.jsxs)("div",{className:"srv-stat",children:[(0,l.jsx)("div",{className:"ss-v",children:e.backend}),(0,l.jsx)("div",{className:"ss-k",children:x("models.srv.backendLabel")})]})]}),!_&&(0,l.jsxs)("div",{style:{marginTop:8,display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,l.jsxs)("button",{className:"btn-accent",disabled:"install"===L,onClick:function(){W(async()=>{$("install"),es(null),I(e=>[...e,{c:"lg-dim",t:x("models.log.installing")}]);let e=setInterval(()=>{fetch("/api/models/progress?id=llama-server").then(e=>e.json()).then(e=>{e&&es({received:e.received,total:e.total})}).catch(()=>{})},600);try{let e=await k();$(""),R(e.installed),e.installed&&"not-installed"===v&&g("stopped"),I(a=>[...a,...e.log.map(a=>({c:e.ok?"lg-ok":"lg-warn",t:a})),...e.error?[{c:"lg-warn",t:e.error}]:[]])}finally{clearInterval(e),es(null)}})},children:["install"===L?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"goto",size:13})," ","install"===L?null!==(h=ea&&ea.total>0?Math.round(ea.received/ea.total*100):null)?x("models.install.installingPct",{pct:h}):x("models.install.installingEllipsis"):x("models.install.installLlama")]}),(0,l.jsx)("a",{className:"link-btn",style:{fontSize:11},href:"https://github.com/ggml-org/llama.cpp/releases",target:"_blank",rel:"noreferrer",children:x("models.install.manualInstall")}),"install"===L&&(u=ea&&ea.total>0?Math.min(100,Math.round(ea.received/ea.total*100)):null,(0,l.jsxs)("div",{style:{flex:"1 1 180px",minWidth:150},children:[(0,l.jsx)("div",{style:{height:4,background:"var(--bg-active)",borderRadius:3,overflow:"hidden"},children:(0,l.jsx)("div",{className:null===u?"sync-spin":"",style:{height:"100%",width:(u??12)+"%",background:"var(--accent)",transition:"width .3s"}})}),(0,l.jsx)("div",{style:{fontSize:10,color:"var(--text-faint)",marginTop:3,fontFamily:"var(--mono-font)"},children:null!==u&&ea?`${u}% \xb7 ${F(ea.received)} / ${F(ea.total)}`:ea&&ea.received>0?x("models.dl.downloaded",{size:F(ea.received)}):x("models.dl.startingDownload")})]}))]}),(0,l.jsx)("div",{className:"srv-log scroll",children:b.map((e,a)=>(0,l.jsx)("div",{className:e.c,children:e.t},a))})]}),(0,l.jsx)(V,{})]}),(0,l.jsxs)("div",{className:"view-section-title",children:[x("models.installed.title")," ",(0,l.jsxs)("span",{style:{fontWeight:400,color:"var(--text-faint)"},children:["\xb7 llama.cpp GGUF",s?" + Ollama":""," \xb7 ",x("models.installed.boundTo")," 127.0.0.1"]})]}),(0,l.jsx)("div",{className:"tbl-wrap",children:(0,l.jsxs)("table",{className:"tbl",style:{marginBottom:24},children:[(0,l.jsx)("thead",{children:(0,l.jsxs)("tr",{children:[(0,l.jsx)("th",{children:x("common.name")}),(0,l.jsx)("th",{children:x("models.col.source")}),(0,l.jsx)("th",{children:x("models.col.params")}),(0,l.jsx)("th",{children:x("models.col.size")}),(0,l.jsx)("th",{children:x("models.col.bind")}),(0,l.jsx)("th",{children:x("common.status")}),(0,l.jsx)("th",{style:{textAlign:"right"},children:x("common.actions")})]})}),(0,l.jsxs)("tbody",{children:[d.map(e=>{let a="running"===v&&f&&e.name.includes(f);return(0,l.jsxs)("tr",{children:[(0,l.jsx)("td",{children:(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,l.jsx)(H,{name:e.name,size:24})," ",e.name]})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"chip-sm",children:e.quant||"gguf"})}),(0,l.jsx)("td",{style:{color:"var(--text-dim)",fontSize:12},children:e.params||"—"}),(0,l.jsx)("td",{style:{fontFamily:"var(--mono-font)",fontSize:12,color:"var(--text-dim)"},children:e.sizeBytes?F(e.sizeBytes):"—"}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"lr-mono",children:e.bind})}),(0,l.jsx)("td",{children:a?(0,l.jsx)("span",{className:"pill",style:{background:"var(--sx-string)22",color:"var(--sx-string)"},children:x("models.pill.serving")}):(0,l.jsxs)("span",{className:"pill",style:{background:"var(--sx-string)22",color:"var(--sx-string)"},children:["✓ ",x("models.pill.verified")]})}),(0,l.jsx)("td",{children:(0,l.jsxs)("div",{className:"row-actions",children:[(0,l.jsx)("button",{className:"iact accent",title:x("models.title.serveModel"),disabled:L===e.id,onClick:()=>{$(e.id),z(e.id),j(e.name),el(e.id),setTimeout(()=>$(""),500)},children:L===e.id?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:14})}):(0,l.jsx)(t.I,{name:"goto",size:14})}),(0,l.jsx)("button",{className:"iact danger",title:x("common.uninstall"),onClick:()=>W(()=>N(e.id)),children:(0,l.jsx)(t.I,{name:"trash",size:14})})]})})]},"g-"+e.id)}),i.map(e=>(0,l.jsxs)("tr",{children:[(0,l.jsx)("td",{children:(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,l.jsx)(r.W,{id:"ollama",size:24})," ",e.name]})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"chip-sm",children:"ollama"})}),(0,l.jsx)("td",{style:{color:"var(--text-faint)",fontSize:12},children:"—"}),(0,l.jsx)("td",{style:{fontFamily:"var(--mono-font)",fontSize:12,color:"var(--text-dim)"},children:e.size?F(e.size):"—"}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"lr-mono",children:"127.0.0.1:11434"})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"pill",style:{background:"var(--text-dim)22",color:"var(--text-dim)"},children:x("models.pill.legacy")})}),(0,l.jsx)("td",{children:(0,l.jsx)("div",{className:"row-actions",children:(0,l.jsx)("button",{className:"iact danger",title:x("common.remove"),onClick:()=>W(()=>w(e.name)),children:(0,l.jsx)(t.I,{name:"trash",size:14})})})})]},"o-"+e.name)),0===i.length&&0===d.length&&(0,l.jsx)("tr",{children:(0,l.jsx)("td",{colSpan:7,style:{textAlign:"center",color:"var(--text-faint)",padding:18},children:x("models.empty.local")})})]})]})}),(0,l.jsxs)("div",{className:"view-section-title",style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,l.jsxs)("span",{children:[x("models.available.title")," ",(0,l.jsxs)("span",{style:{fontWeight:400,color:"var(--text-faint)"},children:["\xb7 ",ee.length,"/",T.length," GGUF (HuggingFace) \xb7 ",x("models.available.fitChecked",{target:"—"!==e.gpu&&K?`${e.vram} VRAM`:"CPU"})]})]}),(0,l.jsxs)("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,l.jsxs)("div",{className:"cs-bar",style:{margin:0,padding:"5px 9px",width:200},children:[(0,l.jsx)(t.I,{name:"search",size:12}),(0,l.jsx)("input",{placeholder:x("models.filterModels"),value:P,onChange:e=>G(e.target.value),style:{fontWeight:400}})]}),(0,l.jsx)("div",{className:"seg",style:{width:280},children:["all","chat","code","reasoning","embed"].map(e=>(0,l.jsx)("button",{className:"seg-opt"+(D===e?" on":""),onClick:()=>O(e),style:{fontSize:11},children:x(`models.kind.${e}`)},e))}),(0,l.jsx)("button",{className:"cs-tog"+(U?" on":""),onClick:()=>E(e=>!e),title:x("models.title.hideTooBig"),style:{fontFamily:"inherit",fontWeight:600},children:x("models.fitsOnly")})]})]}),(0,l.jsxs)("div",{className:"cards-grid",style:{gridTemplateColumns:"repeat(auto-fill, minmax(330px, 1fr))",gap:12},children:[ee.map(({g:e,fit:a})=>{let s=d.find(a=>a.name===e.name);return(0,l.jsx)(J,{glyph:"llamacpp",brandFromName:!0,name:e.name,repo:e.url.replace("https://huggingface.co/",""),tags:[e.params,e.quant,F(e.sizeBytes)],fit:a,action:()=>S(e.id),progressId:e.id,installed:!!s,onUninstall:s?()=>N(s.id):void 0},e.id)}),0===ee.length&&(0,l.jsx)("div",{className:"muted",style:{fontSize:12,padding:14},children:x("models.empty.noMatch")}),s&&Q.filter(e=>!i.some(a=>a.name===e.name)).map(e=>(0,l.jsx)(J,{glyph:"ollama",name:e.label,repo:e.name,tags:[e.kind,e.size,x("models.pill.legacy")],note:e.note,action:()=>(0,C.j)(e.name)},e.name))]}),a&&(0,l.jsxs)("div",{className:"muted",style:{fontSize:11.5,marginTop:10},children:[(0,l.jsx)(t.I,{name:"terminal",size:12})," ",x("models.ollamaRunning")]})]})}function H({name:e,size:a=36}){let s=function(e){for(let[a,s]of d)if(a.test(e))return`https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg/icons/${s}.svg`;return null}(e),[t,i]=(0,n.useState)(!1);if(!s||t)return(0,l.jsx)(r.W,{id:"llamacpp",size:a});let o=Math.round(.28*a),c=Math.round(.66*a);return(0,l.jsx)("span",{style:{width:a,height:a,flex:`0 0 ${a}px`,borderRadius:o,background:"#fff",display:"grid",placeItems:"center",overflow:"hidden",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.08)"},children:(0,l.jsx)("img",{src:s,alt:"",width:c,height:c,loading:"lazy",onError:()=>i(!0),style:{width:c,height:c,objectFit:"contain",display:"block"}})})}function V(){let e=(0,A.k)(),[a,s]=(0,n.useState)(null),[i,d]=(0,n.useState)(""),[o,c]=(0,n.useState)(""),[,m]=(0,n.useTransition)();(0,n.useEffect)(()=>{I().then(s).catch(()=>{})},[]);let p=a?.up?"run":(a?.installed,"stop"),h=a?a.up?e("models.embed.live"):a.installed?e("models.embed.installedStopped"):e("models.embed.noModel"):e("models.embed.checking");return(0,l.jsxs)("div",{className:"hw-card",children:[(0,l.jsxs)("div",{className:"hw-head",children:[(0,l.jsx)("span",{className:"hw-ic",children:(0,l.jsx)(t.I,{name:"pulse",size:19})}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"hw-t",children:e("models.embed.title")}),(0,l.jsx)("div",{className:"hw-s",children:e("models.embed.sub")})]}),(0,l.jsx)(r.W,{id:"llamacpp",size:22})]}),(0,l.jsxs)("div",{className:"srv-status",children:[(0,l.jsx)("span",{className:"srv-dot "+p}),(0,l.jsxs)("div",{className:"srv-meta",children:[(0,l.jsx)("div",{className:"sm-t",children:h}),(0,l.jsxs)("div",{className:"sm-s",children:["127.0.0.1:8083 \xb7 ",a?.model??"nomic-embed-text"]})]}),a&&!a.up&&a.installed&&(0,l.jsxs)("button",{className:"btn-accent",disabled:"start"===i,onClick:function(){d("start"),c(e("models.embed.starting")),m(async()=>{let a=await M();d(""),c(a.up?"":a.reason??e("models.embed.startFailed")),s(e=>e?{...e,up:a.up,model:a.model??e.model}:e)})},children:["start"===i?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"goto",size:13})," ",e("common.start")]}),a?.up&&(0,l.jsxs)("button",{className:"btn-ghost",disabled:"reindex"===i,onClick:function(){d("reindex"),c(e("models.embed.indexing")),m(async()=>{let a=await z();d(""),c(a.ok?e(a.embedded?"models.embed.indexedSemantic":"models.embed.indexedKeyword",{n:a.chunks}):e("models.embed.indexFailed")),I().then(s).catch(()=>{})})},children:["reindex"===i?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"refresh",size:13})," ",e("models.embed.reindex")]})]}),a&&!a.installed&&(0,l.jsxs)("div",{className:"form-hint",style:{marginTop:8},children:[(0,l.jsx)(t.I,{name:"add",size:12})," ",e("models.embed.downloadHintBefore")," ",(0,l.jsx)("b",{style:{color:"var(--text)"},children:"nomic-embed-text-v1.5"})," ",e("models.embed.downloadHintAfter")]}),o&&(0,l.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",marginTop:8},children:o})]})}function Y(e){let a=/([\d.]+)\s*(TB|GB|MB|KB|B)?/i.exec(e||"");if(!a)return 0;let s=parseFloat(a[1]),l=(a[2]||"B").toUpperCase();return s*("TB"===l?1e12:"GB"===l?1e9:"MB"===l?1e6:"KB"===l?1e3:1)}let X={ok:"var(--sx-string)",tight:"var(--sx-number)",no:"#e8688f"};function J({glyph:e,name:a,repo:s,tags:i,note:d,action:o,installed:c,onUninstall:m,fit:p,brandFromName:h,progressId:u}){let x=(0,A.k)(),[v,g]=(0,n.useState)("idle"),[f,j]=(0,n.useState)(!1),[b,k]=(0,n.useState)(""),[B,y]=(0,n.useState)(null),[,N]=(0,n.useTransition)(),w=B&&B.total>0?Math.min(100,Math.round(B.received/B.total*100)):null;async function S(){let e;g("working"),k(""),y(null),u&&(e=setInterval(()=>{fetch(`/api/models/progress?id=${encodeURIComponent(u)}`).then(e=>e.json()).then(e=>{e&&y({received:e.received,total:e.total})}).catch(()=>{})},600));try{let e=await o();g(e.ok?"done":"error"),k(e.ok?"":e.error??x("models.dl.failed"))}finally{e&&clearInterval(e),y(null)}}return(0,l.jsxs)("div",{className:"dl-card",children:[h?(0,l.jsx)(H,{name:a,size:36}):(0,l.jsx)(r.W,{id:e,size:36}),(0,l.jsxs)("div",{className:"dl-main",children:[(0,l.jsx)("div",{className:"dl-name",children:a}),(0,l.jsx)("div",{className:"dl-repo",title:s,children:s.length>46?s.slice(0,46)+"…":s}),(0,l.jsxs)("div",{className:"dl-tags",children:[i.map(e=>(0,l.jsx)("span",{className:"dl-tag",children:e},e)),p&&p.key&&(0,l.jsx)("span",{className:"dl-tag",style:{color:X[p.tone],borderColor:X[p.tone]},children:x(`models.fit.${p.key}`,{unit:p.unit??""})})]}),d&&(0,l.jsx)("div",{style:{fontSize:11,color:"var(--text-faint)",marginTop:4},children:d}),b&&(0,l.jsx)("div",{style:{fontSize:11,color:"error"===v?"var(--sx-keyword)":"var(--sx-string)",marginTop:4},children:b}),"working"===v&&u&&(0,l.jsxs)("div",{style:{marginTop:6},children:[(0,l.jsx)("div",{style:{height:4,background:"var(--bg-active)",borderRadius:3,overflow:"hidden"},children:(0,l.jsx)("div",{className:null===w?"sync-spin":"",style:{height:"100%",width:(w??12)+"%",background:"var(--accent)",transition:"width .3s"}})}),(0,l.jsx)("div",{style:{fontSize:10,color:"var(--text-faint)",marginTop:3,fontFamily:"var(--mono-font)"},children:null!==w&&B?`${w}% \xb7 ${F(B.received)} / ${F(B.total)}`:B&&B.received>0?x("models.dl.downloaded",{size:F(B.received)}):x("models.dl.starting")})]})]}),(0,l.jsx)("div",{className:"dl-right",children:c&&!f||"done"===v?m?(0,l.jsxs)("button",{className:"act-btn",disabled:"working"===v,onClick:()=>N(async()=>{g("working"),k(x("models.dl.removing"));let e=await m();e.ok?(j(!0),g("idle"),k("")):(g("error"),k(e.error??x("models.dl.failed")))}),children:["working"===v?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:11})}):(0,l.jsx)(t.I,{name:"trash",size:11})," ","working"===v?x("models.dl.removingBtn"):x("common.uninstall")]}):(0,l.jsxs)("span",{className:"act-btn",style:{color:"var(--sx-string)"},children:[(0,l.jsx)(t.I,{name:"check",size:11})," ",x("models.dl.installed")]}):(0,l.jsxs)("button",{className:"act-btn accent",disabled:"working"===v,onClick:S,children:["working"===v?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:11})}):(0,l.jsx)(t.I,{name:"add",size:11})," ","working"===v?null!==w?w+"%":x("models.dl.pulling"):x("common.download")]})})]})}function Z({agents:e,providers:a}){let s=(0,A.k)(),[r,d]=(0,n.useState)(e),[m,p]=(0,n.useState)(!1),[,h]=(0,n.useTransition)(),u=(0,n.useMemo)(()=>{let e=new Set,s=[];for(let l of a)e.has(l.adapter)||(e.add(l.adapter),s.push({value:l.adapter,label:l.displayName,glyphId:l.catalogId}));return s},[a]);function x(e,a){d(s=>s.map(s=>s.id===e?{...s,...a}:s)),p(!1)}return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16},children:[(0,l.jsx)("div",{className:"view-sub",style:{fontSize:13},children:s("models.perAgent.intro")}),(0,l.jsx)("div",{style:{marginLeft:"auto"},children:m?(0,l.jsxs)("span",{className:"oauth-ok",style:{padding:"6px 11px"},children:[(0,l.jsx)(t.I,{name:"check",size:13})," ",s("common.saved")]}):(0,l.jsxs)("button",{className:"btn-accent",onClick:function(){h(async()=>{for(let e of r)await (0,_.k)(e.id,{adapter:e.adapter,model:e.model});p(!0),setTimeout(()=>p(!1),1600)})},children:[(0,l.jsx)(t.I,{name:"check",size:13})," ",s("models.perAgent.saveAssignments")]})})]}),(0,l.jsx)("div",{className:"pa-grid",children:r.map(e=>{let n;return(0,l.jsxs)("div",{className:"pa-card",children:[(0,l.jsxs)("div",{className:"pa-head",children:[(0,l.jsx)(i.e,{name:e.name,color:e.color,size:36}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"pa-n",children:e.name}),(0,l.jsxs)("div",{className:"pa-r",children:[e.role," \xb7 @",e.handle]})]})]}),(0,l.jsxs)("div",{className:"pa-field",children:[(0,l.jsx)("div",{className:"pa-flabel",children:s("models.field.provider")}),(0,l.jsx)(o.m,{glyph:!0,searchable:!0,value:e.adapter,options:(n=e.adapter,u.some(e=>e.value===n)?u:[{value:n,label:n.replace(/^http_|^local_|^cli_|^sdk_/,"")+" \xb7 "+s("models.notConnected"),glyphId:n},...u]),onChange:a=>x(e.id,{adapter:a})})]}),(0,l.jsxs)("div",{className:"pa-field",children:[(0,l.jsx)("div",{className:"pa-flabel",children:s("models.field.model")}),(0,l.jsx)(c.Y,{adapter:e.adapter,value:e.model,onChange:a=>x(e.id,{model:a}),providers:a})]})]},e.id)})})]})}function ee({connectedIds:e,onClose:a}){let s=(0,A.k)(),[i,d]=(0,n.useState)(""),[o,c]=(0,n.useState)("all"),[m,p]=(0,n.useState)("all"),[h,u]=(0,n.useState)("all"),[x,v]=(0,n.useState)(null),[g,f]=(0,n.useState)(""),[,k]=(0,n.useTransition)(),B=(0,n.useMemo)(()=>Array.from(new Set(b.WQ.map(e=>e.category))),[]),y=(0,n.useMemo)(()=>Array.from(new Set(b.WQ.flatMap(e=>e.connectionTypes))),[]),N=(0,n.useMemo)(()=>Array.from(new Set(b.WQ.map(e=>e.status))),[]),w=i.trim().toLowerCase(),S=b.WQ.filter(e=>("all"===o||e.category===o)&&("all"===m||!!e.connectionTypes.includes(m))&&("all"===h||e.status===h)&&(!w||!!(e.displayName.toLowerCase().includes(w)||e.id.includes(w)||(e.notes??"").toLowerCase().includes(w)||e.defaultAdapter.includes(w))));function C(e,s){k(async()=>{await j(e,s),v(null),f(""),a()})}return(0,l.jsx)("div",{className:"cat-overlay",onMouseDown:a,children:(0,l.jsxs)("div",{className:"cat-modal",onMouseDown:e=>e.stopPropagation(),children:[(0,l.jsxs)("div",{className:"cat-head",children:[(0,l.jsxs)("div",{className:"cat-head-row",children:[(0,l.jsx)("div",{className:"cat-ico",style:{width:40,height:40,flexBasis:40},children:(0,l.jsx)(t.I,{name:"cpu",size:20})}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"cat-title",children:s("models.catalog.title")}),(0,l.jsx)("div",{className:"cat-sub",children:s("models.catalog.sub",{n:b.WQ.length})})]}),(0,l.jsx)("button",{className:"dock-tool",onClick:a,children:(0,l.jsx)(t.I,{name:"close",size:16})})]}),(0,l.jsxs)("div",{className:"cat-search",children:[(0,l.jsx)(t.I,{name:"search",size:15}),(0,l.jsx)("input",{placeholder:s("models.catalog.searchPlaceholder"),value:i,autoFocus:!0,onChange:e=>d(e.target.value)})]})]}),(0,l.jsx)("div",{className:"cat-filters",children:(0,l.jsxs)("div",{className:"cat-fgroup",children:[(0,l.jsx)("span",{className:"fg-label",children:s("models.filter.category")}),(0,l.jsx)("button",{className:"cat-chip"+("all"===o?" on":""),onClick:()=>c("all"),children:s("common.all")}),B.map(e=>(0,l.jsx)("button",{className:"cat-chip"+(o===e?" on":""),onClick:()=>c(e),children:s(`models.cat.${e}`)},e))]})}),(0,l.jsxs)("div",{className:"cat-filters",style:{paddingTop:8,paddingBottom:8},children:[(0,l.jsxs)("div",{className:"cat-fgroup",children:[(0,l.jsx)("span",{className:"fg-label",children:s("models.filter.connection")}),(0,l.jsx)("button",{className:"cat-chip"+("all"===m?" on":""),onClick:()=>p("all"),children:s("common.all")}),y.map(e=>(0,l.jsx)("button",{className:"cat-chip"+(m===e?" on":""),onClick:()=>p(e),children:s(`models.conn.${e}`)},e))]}),(0,l.jsxs)("div",{className:"cat-fgroup",children:[(0,l.jsx)("span",{className:"fg-label",children:s("common.status")}),(0,l.jsx)("button",{className:"cat-chip"+("all"===h?" on":""),onClick:()=>u("all"),children:s("common.all")}),N.map(e=>(0,l.jsx)("button",{className:"cat-chip"+(h===e?" on":""),onClick:()=>u(e),children:s(`models.catStatus.${e}`)},e))]}),(0,l.jsx)("span",{className:"cat-count",children:s("models.catalog.shown",{n:S.length})})]}),(0,l.jsxs)("div",{className:"cat-grid",children:[0===S.length&&(0,l.jsx)("div",{className:"cat-empty",children:s("models.catalog.noMatch")}),S.map(a=>{let n=e.includes(a.id),i="available"===a.status||"experimental"===a.status||"requires_setup"===a.status;return(0,l.jsxs)("div",{className:"cat-card",children:[(0,l.jsxs)("div",{className:"cat-card-top",children:[(0,l.jsx)(r.W,{id:a.id,size:34}),(0,l.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,l.jsx)("div",{className:"cat-name",children:a.displayName}),(0,l.jsxs)("div",{className:"cat-meta",children:[s(`models.cat.${a.category}`)," \xb7 ",(0,l.jsx)("span",{style:{fontFamily:"var(--mono-font)"},children:a.defaultAdapter})]})]}),(0,l.jsx)("span",{className:"cat-stat",style:{background:P[a.status]+"22",color:P[a.status]},children:s(`models.catStatus.${a.status}`)})]}),a.notes&&(0,l.jsx)("div",{className:"cat-notes",children:a.notes}),(0,l.jsxs)("div",{className:"cat-caps",children:[a.supportsModelSync&&(0,l.jsx)("span",{className:"cap-tag sync",children:s("models.cap.sync")}),a.supportsVision&&(0,l.jsx)("span",{className:"cap-tag",children:s("models.cap.vision")}),a.supportsTools&&(0,l.jsx)("span",{className:"cap-tag",children:s("models.cap.tools")})]}),x===a.id?(0,l.jsxs)("div",{className:"cat-card-foot",style:{gap:6},children:[(0,l.jsx)("input",{className:"form-input mono",style:{flex:1,height:30},placeholder:s("models.apiKeyPlaceholder"),value:g,autoFocus:!0,onChange:e=>f(e.target.value),onKeyDown:e=>{"Enter"===e.key&&C(a.id,g)}}),(0,l.jsx)("button",{className:"act-btn accent",onClick:()=>C(a.id,g),children:s("common.save")})]}):(0,l.jsxs)("div",{className:"cat-card-foot",children:[(0,l.jsx)("div",{className:"cat-conn",children:a.connectionTypes.map(e=>(0,l.jsx)("span",{className:"conn-tag",children:s(`models.conn.${e}`)},e))}),n?(0,l.jsxs)("span",{className:"act-btn",style:{color:"var(--sx-string)",borderColor:"color-mix(in srgb, var(--sx-string) 40%, var(--border))"},children:[(0,l.jsx)(t.I,{name:"check",size:11})," ",s("common.connected")]}):i?(0,l.jsxs)("button",{className:"act-btn accent",onClick:()=>!a.supportsApiKey||a.connectionTypes.includes("local")||a.connectionTypes.includes("cli")?C(a.id):v(a.id),children:[(0,l.jsx)(t.I,{name:"add",size:11})," ",s("common.connect")]}):(0,l.jsx)("button",{className:"act-btn",disabled:!0,children:"planned"===a.status?s("models.catStatus.planned"):s("models.catStatus.unsupported")})]})]},a.id)})]})]})})}function ea({providers:e,locals:a,agents:s,hardware:i,ollamaUp:r,ollamaInstalled:d,installed:o,llamaUp:c,llamaInstalled:m,llamaModel:p}){let h=(0,A.k)(),[u,x]=(0,n.useState)("connected"),[v,g]=(0,n.useState)(!1),[f,j]=(0,n.useState)(null),k=e.filter(e=>"cloud"===e.kind),B=e.filter(e=>"cli"===e.kind),y=e.map(e=>e.catalogId),N=(0,n.useMemo)(()=>b.WQ.reduce((e,a)=>(e[a.status]=(e[a.status]??0)+1,e),{}),[]);(0,n.useEffect)(()=>{let e=()=>g(!0);return window.addEventListener("constella:models-catalog",e),()=>window.removeEventListener("constella:models-catalog",e)},[]);let w=[{id:"connected",label:h("models.tab.connected"),icon:"grid",badge:k.length+B.length},{id:"local",label:h("models.tab.local"),icon:"cpu"},{id:"agents",label:h("models.tab.perAgent"),icon:"agents"}];return(0,l.jsxs)("div",{style:{position:"relative"},children:[(0,l.jsxs)("div",{className:"dash-grid",style:{marginBottom:20},children:[(0,l.jsxs)("div",{className:"dash-card",style:{gridColumn:"span 3"},children:[(0,l.jsx)("h3",{children:h("models.kpi.catalog")}),(0,l.jsx)("div",{className:"kpi",children:b.WQ.length}),(0,l.jsx)("div",{className:"kpi-sub",children:h("models.kpi.providers")})]}),(0,l.jsxs)("div",{className:"dash-card",style:{gridColumn:"span 3"},children:[(0,l.jsx)("h3",{children:h("models.kpi.available")}),(0,l.jsx)("div",{className:"kpi",style:{color:"var(--sx-string)"},children:N.available??0}),(0,l.jsx)("div",{className:"kpi-sub",children:h("models.kpi.adaptersReady")})]}),(0,l.jsxs)("div",{className:"dash-card",style:{gridColumn:"span 3"},children:[(0,l.jsx)("h3",{children:h("models.kpi.planned")}),(0,l.jsx)("div",{className:"kpi",style:{color:"#f0a35e"},children:(N.planned??0)+(N.experimental??0)}),(0,l.jsx)("div",{className:"kpi-sub",children:h("models.kpi.plannedExperimental")})]}),(0,l.jsxs)("div",{className:"dash-card",style:{gridColumn:"span 3"},children:[(0,l.jsx)("h3",{children:h("models.kpi.connected")}),(0,l.jsx)("div",{className:"kpi",style:{color:"var(--accent)"},children:e.length}),(0,l.jsx)("div",{className:"kpi-sub",children:h("models.kpi.inWorkspace")})]})]}),(0,l.jsx)("div",{className:"seg-nav",children:w.map(e=>(0,l.jsxs)("button",{className:"seg-nav-btn"+(u===e.id?" on":""),onClick:()=>x(e.id),children:[(0,l.jsx)(t.I,{name:e.icon,size:14})," ",e.label,null!=e.badge&&(0,l.jsx)("span",{className:"sn-badge",children:e.badge})]},e.id))}),"connected"===u&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"view-section-title",children:["☁ ",h("models.section.cloud")]}),(0,l.jsx)(E,{rows:k,kind:"cloud",onViewModels:(e,a)=>{let s=a.currentTarget.getBoundingClientRect();j({row:e,pos:{x:s.left,y:s.bottom+6}})}}),(0,l.jsxs)("div",{className:"view-section-title",children:["⌘ ",h("models.section.cli")]}),(0,l.jsx)(E,{rows:B,kind:"cli",onViewModels:(e,a)=>{let s=a.currentTarget.getBoundingClientRect();j({row:e,pos:{x:s.left,y:s.bottom+6}})}})]}),"local"===u&&(0,l.jsx)(q,{hw:i,ollamaUp:r,ollamaInstalled:d,installed:o,locals:a,llamaUp:c,llamaInstalled:m,llamaModel:p}),"agents"===u&&(0,l.jsx)(Z,{agents:s,providers:e.map(e=>({id:e.id,adapter:e.adapter,catalogId:e.catalogId,displayName:e.displayName,kind:e.kind}))}),v&&(0,l.jsx)(ee,{connectedIds:y,onClose:()=>g(!1)}),f&&(0,l.jsx)(K,{row:f.row,pos:f.pos,onClose:()=>j(null)})]})}function es(){let e=(0,A.k)();return(0,l.jsxs)("button",{className:"btn-accent",onClick:()=>window.dispatchEvent(new CustomEvent("constella:models-catalog")),children:[(0,l.jsx)(t.I,{name:"grid",size:14})," ",e("models.catalog.title")]})}},4403:(e,a,s)=>{"use strict";s.d(a,{Y:()=>m});var l=s(5076),n=s(8488),t=s(3728),i=s(5629);let r={cli_claude_code:[{value:"opus",label:"Claude Opus \xb7 most capable"},{value:"sonnet",label:"Claude Sonnet \xb7 balanced"},{value:"haiku",label:"Claude Haiku \xb7 fast"}],cli_codex:[{value:"gpt-5-codex",label:"GPT-5 Codex"},{value:"o4-mini",label:"o4-mini"}],cli_gemini:[{value:"gemini-2.5-pro",label:"Gemini 2.5 Pro"},{value:"gemini-2.5-flash",label:"Gemini 2.5 Flash"}],cli_openclaw:[{value:"(default)",label:"Configured default"},{value:"openai/gpt-5.4",label:"OpenAI \xb7 GPT-5.4"},{value:"anthropic/claude-sonnet-4",label:"Anthropic \xb7 Claude Sonnet 4"}],cli_hermes:[{value:"(default)",label:"Configured default"},{value:"anthropic/claude-sonnet-4.6",label:"Anthropic \xb7 Claude Sonnet 4.6"},{value:"openai/gpt-5.5",label:"OpenAI \xb7 GPT-5.5"}],cli_aider:[{value:"(default)",label:"Configured default"},{value:"anthropic/claude-sonnet-4-6",label:"Anthropic \xb7 Claude Sonnet 4.6"},{value:"openai/gpt-5.2",label:"OpenAI \xb7 GPT-5.2"},{value:"deepseek/deepseek-chat",label:"DeepSeek \xb7 Chat"}],cli_opencode:[{value:"(default)",label:"Configured default"},{value:"anthropic/claude-sonnet-4-6",label:"Anthropic \xb7 Claude Sonnet 4.6"},{value:"openai/gpt-5.2",label:"OpenAI \xb7 GPT-5.2"}],cli_copilot:[{value:"(default)",label:"Configured default"},{value:"claude-sonnet-4.5",label:"Claude Sonnet 4.5"},{value:"gpt-5",label:"GPT-5"}],cli_cursor:[{value:"(default)",label:"Configured default"},{value:"claude-4.5-sonnet",label:"Claude Sonnet 4.5"},{value:"gpt-5",label:"GPT-5"}],cli_cline:[{value:"(default)",label:"Configured default"}],cli_kilo:[{value:"(default)",label:"Configured default"}]};var d=s(6517),o=s(7566),c=s(6245);function m({adapter:e,value:a,onChange:s,providers:p}){let h=(0,i.k)(),u=function(e){let a=r[e]??null;if(!a)return null;let s=(0,d.L2)(e);return s?a.map(e=>{let a=s.find(a=>a.id===e.value);return a?{value:e.value,label:`${a.label} ${a.version}${a.note?" \xb7 "+a.note:""}`}:e}):a}(e),x=e.startsWith("local_"),[v,g]=(0,n.useState)(null),[f,j]=(0,n.useState)(""),b=p.find(a=>a.adapter===e);(0,n.useEffect)(()=>{if(u||x||!b){g(null),j(u||x?"":h("modelpicker.connectProvider"));return}let e=!0;return j(h("modelpicker.loading")),(0,o.A)(b.id).then(async({models:l})=>{if(!e)return;if(l.length){if(g(l.map(e=>{let a;return{value:e.id,label:e.name+(a=[],e.context&&a.push(e.context>=1e6?`${(e.context/1e6).toFixed(e.context%1e6?1:0)}M ctx`:`${Math.round(e.context/1e3)}K ctx`),(e.inputCost||e.outputCost)&&a.push(`$${e.inputCost}/${e.outputCost}`),a.length?" \xb7 "+a.join(" \xb7 "):"")+(e.isDefault?" \xb7 "+h("modelpicker.recommended"):"")}})),j(""),!a){let e=l.find(e=>e.isDefault)??l[0];e&&s(e.id)}return}let n=await (0,c.E)(b.id);e&&(g(n.models.map(e=>({value:e,label:e}))),j(n.error?n.error:n.models.length?h("modelpicker.syncProvider"):h("modelpicker.noModels")))}).catch(()=>{e&&(g([]),j(h("modelpicker.loadError")))}),()=>{e=!1}},[e,b?.id,!!u,x]);let k=x?[{value:a||"local",label:h("modelpicker.localGguf")}]:null,B=u??k??v??(a?[{value:a,label:a}]:[]),y=a&&!B.some(e=>e.value===a)?[{value:a,label:a},...B]:B;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.m,{mono:!0,value:a,options:y,placeholder:h("modelpicker.placeholder"),onChange:s}),f&&(0,l.jsx)("div",{className:"form-hint",style:{marginTop:4},children:f})]})}},4552:(e,a,s)=>{"use strict";s.d(a,{e:()=>n});var l=s(5076);function n({name:e,color:a,size:s=24,health:t,image:i}){let r=Math.max(6,Math.round(.3*s)),d=Math.round(.28*s),o=i?/^(data:|https?:|\/)/.test(i)?i:`/api/upload?path=${encodeURIComponent(i)}`:null;return(0,l.jsxs)("span",{style:{position:"relative",width:s,height:s,flex:`0 0 ${s}px`,display:"inline-block"},children:[o?(0,l.jsx)("img",{src:o,alt:e,width:s,height:s,style:{width:s,height:s,borderRadius:d,objectFit:"cover",display:"block"}}):(0,l.jsx)("span",{style:{width:s,height:s,borderRadius:d,background:a,color:"#fff",display:"grid",placeItems:"center",fontSize:Math.round(.42*s),fontWeight:700},children:(e[0]||"?").toUpperCase()}),t&&(0,l.jsx)("span",{style:{position:"absolute",right:-1,bottom:-1,width:r,height:r,borderRadius:"50%",background:"alive"===t?"var(--sx-string)":"stale"===t?"var(--sx-number)":"var(--text-faint)",border:"1.5px solid var(--bg-elevated)"}})]})}},4813:(e,a,s)=>{Promise.resolve().then(s.t.bind(s,3283,23)),Promise.resolve().then(s.bind(s,2267)),Promise.resolve().then(s.bind(s,181)),Promise.resolve().then(s.bind(s,6588)),Promise.resolve().then(s.bind(s,4414)),Promise.resolve().then(s.bind(s,6824)),Promise.resolve().then(s.bind(s,4942)),Promise.resolve().then(s.bind(s,2444)),Promise.resolve().then(s.bind(s,5787))},5509:(e,a,s)=>{"use strict";s.d(a,{j:()=>n});var l=s(7814);let n=(0,l.createServerReference)("40a51f05a62e5ad01e4585ad064bcc9493ef1588fc",l.callServer,void 0,l.findSourceMapURL,"pullModel")},6245:(e,a,s)=>{"use strict";s.d(a,{E:()=>n});var l=s(7814);let n=(0,l.createServerReference)("409ff004d8d4df25bdce5af6d94dd7d215787a3304",l.callServer,void 0,l.findSourceMapURL,"listProviderModels")},6517:(e,a,s)=>{"use strict";s.d(a,{L2:()=>n,Ov:()=>t});let l={cli_claude_code:[{id:"opus",label:"Claude Opus",version:"4.8",note:"most capable"},{id:"sonnet",label:"Claude Sonnet",version:"4.6",note:"balanced"},{id:"haiku",label:"Claude Haiku",version:"4.5",note:"fast"}],cli_codex:[{id:"gpt-5-codex",label:"GPT-5 Codex",version:"5"},{id:"o4-mini",label:"o4-mini",version:"o4"}],cli_gemini:[{id:"gemini-2.5-pro",label:"Gemini Pro",version:"2.5"},{id:"gemini-2.5-flash",label:"Gemini Flash",version:"2.5"}],cli_openclaw:[{id:"(default)",label:"OpenClaw",version:"default",note:"configured provider"},{id:"openai/gpt-5.4",label:"GPT",version:"5.4"},{id:"anthropic/claude-sonnet-4",label:"Claude Sonnet",version:"4"}],cli_hermes:[{id:"(default)",label:"Hermes",version:"default",note:"configured provider"},{id:"anthropic/claude-sonnet-4.6",label:"Claude Sonnet",version:"4.6"},{id:"openai/gpt-5.5",label:"GPT",version:"5.5"}],cli_aider:[{id:"(default)",label:"Aider",version:"default",note:"configured provider"},{id:"anthropic/claude-sonnet-4-6",label:"Claude Sonnet",version:"4.6"},{id:"openai/gpt-5.2",label:"GPT",version:"5.2"},{id:"deepseek/deepseek-chat",label:"DeepSeek Chat",version:""}],cli_opencode:[{id:"(default)",label:"OpenCode",version:"default",note:"configured provider"},{id:"anthropic/claude-sonnet-4-6",label:"Claude Sonnet",version:"4.6"},{id:"openai/gpt-5.2",label:"GPT",version:"5.2"}],cli_copilot:[{id:"(default)",label:"Copilot",version:"default",note:"configured provider"},{id:"claude-sonnet-4.5",label:"Claude Sonnet",version:"4.5"},{id:"gpt-5",label:"GPT",version:"5"}],cli_cursor:[{id:"(default)",label:"Cursor",version:"default",note:"configured provider"},{id:"claude-4.5-sonnet",label:"Claude Sonnet",version:"4.5"},{id:"gpt-5",label:"GPT",version:"5"}],cli_cline:[{id:"(default)",label:"Cline",version:"default",note:"configured provider"}],cli_kilo:[{id:"(default)",label:"Kilo Code",version:"default",note:"configured provider"}]};function n(e){return l[e]??null}function t(e){if(!e)return{label:"",version:""};let a=e.replace(/[-_.\s]\d+(?:x\d+)?[bm]\b/i,""),s=a.match(/(\d+(?:[.\-]\d+){0,2})(?!.*\d)/),l=s?s[1].replace(/-/g,"."):"";return{label:(s?a.slice(0,s.index).replace(/[-_.\s]+$/,""):a).split(/[-_.\s]+/).filter(Boolean).map(e=>/^(gpt|llm|api|ai)$/i.test(e)?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1)).join(" ")||e,version:l}}},7566:(e,a,s)=>{"use strict";s.d(a,{A:()=>n});var l=s(7814);let n=(0,l.createServerReference)("403a1916644d7877e6f55e5ed65de73f9157ca3977",l.callServer,void 0,l.findSourceMapURL,"listCatalogModels")}},e=>{e.O(0,[9219,3219,6836,8370,4263,6646,6834,7358],()=>e(e.s=4813)),_N_E=e.O()}]);
@@ -1,12 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1308],{1352:(e,t,a)=>{"use strict";a.d(t,{e:()=>i});var n=a(7814);let i=(0,n.createServerReference)("001e9ef8a66d3ec2113043b24ab8849578169f7b7f",n.callServer,void 0,n.findSourceMapURL,"pollUpdateResult")},1870:(e,t,a)=>{"use strict";a.d(t,{l:()=>i});var n=a(7814);let i=(0,n.createServerReference)("40c4dec4c26a6ed0bdf72098c743c4c2cb18ed1cd1",n.callServer,void 0,n.findSourceMapURL,"getUpdateState")},1959:(e,t,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,3789)),Promise.resolve().then(a.bind(a,181)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,6824)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444))},2282:(e,t,a)=>{"use strict";a.d(t,{P:()=>i});var n=a(7814);let i=(0,n.createServerReference)("00a23e99d4e912da3ad1b266a22b1a141df6bc8b94",n.callServer,void 0,n.findSourceMapURL,"runUpdate")},2393:(e,t,a)=>{"use strict";a.d(t,{H4:()=>l,Uy:()=>o,st:()=>s});let n=/Failed to find Server Action|older or newer deployment|ChunkLoadError|Loading chunk [\w-]+ failed|error loading dynamically imported module/i,i=/invariant expected layout router to be mounted/i;function r(e){return e?e instanceof Error?`${e.name} ${e.message}`:"string"==typeof e?e:String(e?.message??e):""}function s(e){return n.test(r(e))}function l(e){let t=r(e);return n.test(t)||i.test(t)}function o(){try{let e="cn-skew-reload-at",t=Number(window.sessionStorage.getItem(e)||0);if(Date.now()-t<2e4)return;window.sessionStorage.setItem(e,String(Date.now()))}catch{}try{let e=new URL(window.location.href);e.searchParams.set("_r",String(Date.now())),window.location.replace(e.toString())}catch{window.location.reload()}}},2444:(e,t,a)=>{"use strict";a.d(t,{UpdateHeaderBadge:()=>h});var n=a(5076),i=a(8488),r=a(9860),s=a(8576),l=a(5629),o=a(1870),d=a(2282),c=a(1352),u=a(2393);function h(){let e=(0,l.k)(),t=(0,r.useRouter)(),[a,h]=(0,i.useState)(null),[p,f]=(0,i.useState)(!1),[v,m]=(0,i.useState)("available"),[b,g]=(0,i.useState)(!1),[x,y]=(0,i.useState)(""),j=(0,i.useRef)(null);async function w(){if(!b){g(!0),y("");try{let t=await (0,o.l)(!0);h(t.info.updateAvailable&&t.info.latest?t.info.latest:null),f(t.busy),t.info.updateAvailable||y(e("chrome.update.upToDate"))}catch{}finally{g(!1)}}}async function S(){if("updating"!==v&&!p){if("done"===v)return void t.refresh();m("updating"),y("");try{let a=await (0,d.P)();if(a.blocked){m("available"),f(!0),y(e("chrome.update.busy"));return}a.started?j.current=setInterval(async()=>{let t=await (0,c.e)().catch(e=>((0,u.st)(e)&&(j.current&&clearInterval(j.current),(0,u.Uy)()),null));t&&("done"===t.status?(j.current&&clearInterval(j.current),window.location.reload()):"error"===t.status&&(j.current&&clearInterval(j.current),m("error"),y(e("chrome.update.failed"))))},3e3):(m("available"),y(a.message||""),t.push("/update"))}catch{m("error"),y(e("chrome.update.failed"))}}}(0,i.useEffect)(()=>{let e=!1,t=async t=>{try{let a=await (0,o.l)(t);if(e)return;h(a.info.updateAvailable&&a.info.latest?a.info.latest:null),f(a.busy)}catch{}};t(!1);let a=setInterval(()=>t(!1),12e3),n=setInterval(()=>t(!0),18e4);return()=>{e=!0,clearInterval(a),clearInterval(n),j.current&&clearInterval(j.current)}},[]);let k=(0,n.jsx)("button",{type:"button",className:"top-btn",onClick:w,disabled:b,title:x||e("chrome.update.check"),children:(0,n.jsx)("span",{className:b?"sync-spin":"",style:{display:"inline-flex"},children:(0,n.jsx)(s.I,{name:"sync",size:17})})});if(!a)return k;let N="updating"===v?e("chrome.update.updating"):"done"===v?e("chrome.update.restart"):"error"===v?e("chrome.update.failed"):p?`v${a}`:`${e("chrome.update.update")} v${a}`,I="updating"===v||p;return(0,n.jsxs)(n.Fragment,{children:[k,(0,n.jsxs)("button",{type:"button",onClick:S,disabled:I,title:p?e("chrome.update.busy"):x||`${e("chrome.update.available")} — v${a}`,style:{display:"inline-flex",alignItems:"center",gap:6,width:"auto",padding:"0 11px",height:30,background:"error"===v?"var(--sx-keyword)":p?"var(--bg-active)":"var(--accent)",color:p?"var(--text-dim)":"var(--accent-fg)",borderRadius:999,fontSize:12,fontWeight:600,border:"none",opacity:"updating"===v?.75:1,cursor:I?"default":"pointer"},children:["updating"===v?(0,n.jsx)("span",{className:"sync-spin",style:{display:"inline-flex"},children:(0,n.jsx)(s.I,{name:"sync",size:14})}):(0,n.jsx)(s.I,{name:"updating"===v?"sync":"done"===v?"refresh":"error"===v?"bell":"arrowUp",size:14}),(0,n.jsx)("span",{children:N})]})]})}},2799:(e,t,a)=>{"use strict";function n(e){if(!e)return"";let t=Math.max(0,Math.floor((Date.now()-("number"==typeof e?e*(e<1e12?1e3:1):e.getTime()))/1e3));if(t<60)return"now";let a=Math.floor(t/60);if(a<60)return a+"m";let n=Math.floor(a/60);if(n<24)return n+"h";let i=Math.floor(n/24);return i<7?i+"d":Math.floor(i/7)+"w"}a.d(t,{f:()=>n})},3789:(e,t,a)=>{"use strict";a.d(t,{NotifFeed:()=>f});var n=a(5076),i=a(8488),r=a(8576),s=a(4552),l=a(2799),o=a(7814);let d=(0,o.createServerReference)("4070e00a7b3d353453097d6fe45f06b0b031465075",o.callServer,void 0,o.findSourceMapURL,"markRead"),c=(0,o.createServerReference)("0067f097631aacdd50fd2e300814477a9672d7fd52",o.callServer,void 0,o.findSourceMapURL,"markAllRead"),u=(0,o.createServerReference)("00c40fd47348c57d9fb32d1195f243c0c8b512a761",o.callServer,void 0,o.findSourceMapURL,"clearAll");var h=a(5629);let p={done:"check",deploy:"play",routine:"repeat",test:"debug",security:"shield",budget:"coins"};function f({items:e}){let t=(0,h.k)(),[a,o]=(0,i.useState)(null),[,v]=(0,i.useTransition)(),m=e.filter(e=>!e.read).length;return(0,n.jsxs)("div",{className:"view",style:{position:"relative"},children:[(0,n.jsxs)("div",{className:"view-head",children:[(0,n.jsx)("div",{className:"vh-icon",children:(0,n.jsx)(r.I,{name:"bell",size:20})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"view-title",children:t("notif.title")}),(0,n.jsx)("div",{className:"view-sub",children:t("notif.sub",{n:m})})]}),(0,n.jsxs)("div",{className:"vh-right",children:[(0,n.jsxs)("button",{className:"btn-ghost",onClick:function(){o(null),v(()=>{c()})},disabled:!m,children:[(0,n.jsx)(r.I,{name:"check",size:13})," ",t("notif.readAll")]}),(0,n.jsxs)("button",{className:"btn-ghost",onClick:function(){o(null),v(()=>{u()})},disabled:!e.length,children:[(0,n.jsx)(r.I,{name:"trash",size:13})," ",t("notif.clearAll")]})]})]}),(0,n.jsxs)("div",{className:"view-body scroll",children:[0===e.length&&(0,n.jsxs)("div",{style:{color:"var(--text-faint)",textAlign:"center",padding:40},children:[t("notif.empty")," \uD83D\uDD15"]}),e.map(e=>(0,n.jsxs)("div",{className:"lrow notif-row"+(e.read?" read":""),style:{cursor:"pointer"},onClick:()=>{e.read||v(()=>{d(e.id)}),o(e)},children:[!e.read&&(0,n.jsx)("span",{className:"notif-unread"}),(0,n.jsx)("div",{className:"vh-icon",style:{width:32,height:32,flex:"0 0 32px"},children:(0,n.jsx)(r.I,{name:p[e.kind]||"dot",size:14})}),(0,n.jsxs)("div",{className:"lr-main",children:[(0,n.jsx)("div",{className:"lr-title",style:{fontWeight:e.read?400:600},children:e.text}),(0,n.jsxs)("div",{className:"lr-sub",children:[t(`notif.kind.${e.kind}`),e.agentName?" \xb7 "+e.agentName:""]})]}),(0,n.jsx)("span",{style:{fontSize:11,color:"var(--text-faint)",fontFamily:"var(--mono-font)"},children:(0,l.f)(e.createdAt)}),(0,n.jsx)(r.I,{name:"chevronRight",size:14,style:{color:"var(--text-faint)"}})]},e.id))]}),a&&(0,n.jsx)("div",{className:"detail-overlay",onMouseDown:()=>o(null),children:(0,n.jsxs)("div",{className:"detail-panel",onMouseDown:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"detail-head",children:[(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,n.jsx)("span",{className:"pill",style:{background:"var(--accent)22",color:"var(--accent)"},children:t(`notif.kind.${a.kind}`)}),(0,n.jsx)("button",{className:"dock-tool",onClick:()=>o(null),children:(0,n.jsx)(r.I,{name:"close",size:15})})]}),(0,n.jsx)("div",{className:"view-title",style:{fontSize:16,marginTop:8},children:a.text}),(0,n.jsx)("div",{style:{fontSize:11.5,color:"var(--text-faint)",marginTop:4},children:(0,l.f)(a.createdAt)})]}),(0,n.jsxs)("div",{className:"detail-body",children:[a.agentName&&(0,n.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[(0,n.jsx)(s.e,{name:a.agentName,color:a.agentColor||"#e0a44e",size:24,health:a.agentHealth}),(0,n.jsx)("span",{style:{fontSize:12.5},children:a.agentName})]}),(0,n.jsx)("div",{style:{fontSize:13,color:"var(--text-dim)",lineHeight:1.6},children:a.detail||t("notif.noDetail")})]})]})})]})}},4414:(e,t,a)=>{"use strict";a.d(t,{ChatToggle:()=>s});var n=a(5076),i=a(8576),r=a(5629);function s(){let e=(0,r.k)();return(0,n.jsx)("button",{className:"top-btn",title:`${e("chrome.chat.agentRoom")} (⌘J)`,type:"button",onClick:()=>window.dispatchEvent(new CustomEvent("constella:toggle-chat")),children:(0,n.jsx)(i.I,{name:"chat",size:17})})}},4552:(e,t,a)=>{"use strict";a.d(t,{e:()=>i});var n=a(5076);function i({name:e,color:t,size:a=24,health:r,image:s}){let l=Math.max(6,Math.round(.3*a)),o=Math.round(.28*a),d=s?/^(data:|https?:|\/)/.test(s)?s:`/api/upload?path=${encodeURIComponent(s)}`:null;return(0,n.jsxs)("span",{style:{position:"relative",width:a,height:a,flex:`0 0 ${a}px`,display:"inline-block"},children:[d?(0,n.jsx)("img",{src:d,alt:e,width:a,height:a,style:{width:a,height:a,borderRadius:o,objectFit:"cover",display:"block"}}):(0,n.jsx)("span",{style:{width:a,height:a,borderRadius:o,background:t,color:"#fff",display:"grid",placeItems:"center",fontSize:Math.round(.42*a),fontWeight:700},children:(e[0]||"?").toUpperCase()}),r&&(0,n.jsx)("span",{style:{position:"absolute",right:-1,bottom:-1,width:l,height:l,borderRadius:"50%",background:"alive"===r?"var(--sx-string)":"stale"===r?"var(--sx-number)":"var(--text-faint)",border:"1.5px solid var(--bg-elevated)"}})]})}},4942:(e,t,a)=>{"use strict";a.d(t,{SidebarToggle:()=>l});var n=a(5076),i=a(8488),r=a(8576);let s=`
2
- body.side-collapsed .side{width:58px!important;flex:0 0 58px!important;}
3
- body.side-collapsed .side .nav-item{justify-content:center;padding-left:0;padding-right:0;position:relative;}
4
- body.side-collapsed .side .nav-item>span:not(.nv-badge),
5
- body.side-collapsed .side .nav-group-label,
6
- body.side-collapsed .side .nav-search input,
7
- body.side-collapsed .side .side-foot .pf{display:none!important;}
8
- body.side-collapsed .side .nav-search{justify-content:center;}
9
- body.side-collapsed .side .side-brand-wrap{overflow:hidden;}
10
- body.side-collapsed .side .side-foot{justify-content:center;flex-wrap:wrap;gap:6px;}
11
- body.side-collapsed .side .nv-badge{position:absolute;top:2px;right:6px;}
12
- `;function l(){let[e,t]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{if(!document.getElementById("side-rail-style")){let e=document.createElement("style");e.id="side-rail-style",e.textContent=s,document.head.appendChild(e)}let e=!1;try{e="1"===localStorage.getItem("bx.sideCollapsed")}catch{}t(e),document.body.classList.toggle("side-collapsed",e)},[]),(0,n.jsx)("button",{className:"top-btn"+(e?" on":""),onClick:function(){t(e=>{let t=!e;document.body.classList.toggle("side-collapsed",t);try{localStorage.setItem("bx.sideCollapsed",t?"1":"0")}catch{}return t})},title:e?"Expand sidebar":"Collapse sidebar","aria-label":"Toggle sidebar",children:(0,n.jsx)(r.I,{name:"sidebarIcon",size:17})})}},6588:(e,t,a)=>{"use strict";a.d(t,{BackButton:()=>l});var n=a(5076),i=a(9860),r=a(8576),s=a(5629);function l(){let e=(0,s.k)(),t=(0,i.useRouter)();return(0,n.jsx)("button",{className:"top-btn",title:e("common.back"),style:{marginRight:2},onClick:()=>{window.history.length>1?t.back():t.push("/")},children:(0,n.jsx)(r.I,{name:"chevronLeft",size:18})})}}},e=>{e.O(0,[9219,3219,6836,6646,6834,7358],()=>e(e.s=1959)),_N_E=e.O()}]);
@@ -1,12 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8902],{891:(e,t,a)=>{"use strict";a.d(t,{m:()=>r});var n=a(5076);let l={working:{c:"var(--sx-string)",pulse:!0,label:"working"},review:{c:"#e0a44e",label:"review"},blocked:{c:"#e8688f",label:"blocked"},idle:{c:"var(--text-faint)",label:"idle"}};function r({status:e,label:t=!1,size:a=8}){let s=l[e]??l.idle;return(0,n.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5},title:s.label,children:[s.pulse?(0,n.jsx)("span",{className:"dotpulse"}):(0,n.jsx)("span",{style:{width:a,height:a,borderRadius:"50%",background:s.c,display:"inline-block",flex:`0 0 ${a}px`}}),t&&(0,n.jsx)("span",{style:{fontSize:11,color:s.c,fontWeight:600},children:s.label})]})}},958:(e,t,a)=>{"use strict";a.d(t,{OrgCanvas:()=>h});var n=a(5076),l=a(8488),r=a(7814);let s=(0,r.createServerReference)("600d260de15729632d71707ed51e55a2e12884844f",r.callServer,void 0,r.findSourceMapURL,"setReportsToByHandle"),i=(0,r.createServerReference)("70e54c006a264f594d594ab5d1fea8206ac2cf27c8",r.callServer,void 0,r.findSourceMapURL,"saveOrgLayout");var o=a(4552),d=a(8576),c=a(891),u=a(5629);function h({agents:e}){let t=(0,u.k)(),a=(0,l.useMemo)(()=>Object.fromEntries(e.map(e=>[e.handle,e.reportsTo])),[e]),r=(0,l.useMemo)(()=>{let t=e.find(e=>null===a[e.handle])??e[0],n=[];t&&function t(l,r){(n[r]??=[]).push(l),e.filter(e=>a[e.handle]===l).forEach(e=>t(e.handle,r+1))}(t.handle,0);let l={};n.forEach((e,t)=>{let a=184*e.length+(e.length-1)*36;e.forEach((e,n)=>{l[e]={x:40+220*n+Math.max(0,(760-a)/2),y:30+96*t}})});let r=n.length;return e.forEach(e=>{l[e.handle]||(l[e.handle]={x:40,y:30+96*r},r+=1)}),e.forEach(e=>{"number"==typeof e.orgX&&"number"==typeof e.orgY&&(l[e.handle]={x:e.orgX,y:e.orgY})}),l},[e,a]),[p,f]=(0,l.useState)(a),[y,x]=(0,l.useState)(r),[m,g]=(0,l.useState)(null),[v,b]=(0,l.useState)(null),[w,j]=(0,l.useState)(null),S=(0,l.useRef)(null);function k(e){let t=S.current.getBoundingClientRect();return{x:e.clientX-t.left+S.current.scrollLeft,y:e.clientY-t.top+S.current.scrollTop}}async function I(){if(v&&w){let e=v.from;f(t=>({...t,[w]:e})),await s(w,e)}if(m){let e=y[m.handle];e&&i(m.handle,e.x,e.y)}g(null),b(null),j(null)}async function N(e){f(t=>({...t,[e]:null})),await s(e,null)}return(0,n.jsxs)("div",{className:"view",style:{padding:0},children:[(0,n.jsxs)("div",{className:"view-head",style:{padding:"18px 24px 14px"},children:[(0,n.jsx)("div",{className:"vh-icon",children:(0,n.jsx)(d.I,{name:"agents",size:20})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"view-title",children:t("org.title")}),(0,n.jsx)("div",{className:"view-sub",children:t("org.canvas.sub")})]}),(0,n.jsx)("div",{className:"vh-right",children:(0,n.jsxs)("button",{className:"btn-ghost",onClick:function(){f(a),x(r)},children:[(0,n.jsx)(d.I,{name:"refresh",size:13})," ",t("org.resetLayout")]})})]}),(0,n.jsxs)("div",{className:"orgcanvas-wrap",children:[(0,n.jsx)("div",{className:"orgcanvas-bar",children:(0,n.jsxs)("span",{className:"orgcanvas-hint",children:[(0,n.jsx)(d.I,{name:"bot",size:13,style:{color:"var(--accent)"}})," ",t("org.hint.pre")," ",(0,n.jsx)("b",{style:{color:"var(--accent)",margin:"0 3px"},children:"●"})," ",t("org.hint.post")]})}),(0,n.jsxs)("div",{className:"orgcanvas",ref:S,onMouseMove:function(e){if(m){let t=k(e);x(e=>({...e,[m.handle]:{x:t.x-m.dx,y:t.y-m.dy}}))}else if(v){let t=k(e);b(e=>e&&{...e,x:t.x,y:t.y});let a=document.elementFromPoint(e.clientX,e.clientY),n=a&&a.closest("[data-h]");j(n&&n.dataset.h!==v.from?n.dataset.h:null)}},onMouseUp:I,onMouseLeave:I,children:[(0,n.jsxs)("svg",{className:"org-svg",children:[e.map(e=>{let t=p[e.handle],a=t?function(e,t){let a=y[e],n=y[t];if(!a||!n)return null;let{a:l,b:r}=function(e,t){let a=e.x+92,n=e.y+29,l=t.x+92,r=t.y+29,s=l-a,i=r-n;function o(e,t,a,n){return n?t>0?{x:e.x+184,y:e.y+29,nx:1,ny:0}:{x:e.x,y:e.y+29,nx:-1,ny:0}:a>0?{x:e.x+92,y:e.y+58,nx:0,ny:1}:{x:e.x+92,y:e.y,nx:0,ny:-1}}let d=Math.abs(s)>Math.abs(i)+30;return{a:o(e,s,i,d),b:o(t,-s,-i,d)}}(a,n),s=.5*Math.hypot(r.x-l.x,r.y-l.y),i=l.x+l.nx*s,o=l.y+l.ny*s,d=r.x+r.nx*s,c=r.y+r.ny*s;return`M ${l.x} ${l.y} C ${i} ${o}, ${d} ${c}, ${r.x} ${r.y}`}(t,e.handle):null;return a?(0,n.jsx)("path",{d:a},e.handle):null}),v&&(0,n.jsx)("path",{className:"temp",d:`M ${y[v.from].x+92} ${y[v.from].y+58} L ${v.x} ${v.y}`})]}),e.map(e=>{let a=y[e.handle]??{x:0,y:0},l=null===p[e.handle],r=p[e.handle];return(0,n.jsxs)("div",{"data-h":e.handle,className:"org-card"+(l?" ceo":"")+(m&&m.handle===e.handle?" dragging":"")+(w===e.handle?" linktarget":"")+(v&&v.from===e.handle?" linking":""),style:{left:a.x,top:a.y},onMouseDown:t=>(function(e,t){if(e.target.closest(".oc-link"))return;let a=k(e);g({handle:t,dx:a.x-y[t].x,dy:a.y-y[t].y})})(t,e.handle),children:[(0,n.jsx)(o.e,{name:e.name,color:e.color,size:32,health:e.health}),(0,n.jsxs)("div",{style:{minWidth:0},children:[(0,n.jsxs)("div",{className:"oc-name",style:{display:"flex",alignItems:"center",gap:6},children:[e.name," ","idle"!==e.status&&(0,n.jsx)(c.m,{status:e.status})]}),(0,n.jsx)("div",{className:"oc-role",children:e.role})]}),(0,n.jsx)("div",{className:"oc-link",title:t("org.dragOntoSubordinate"),onMouseDown:t=>{var a;let n;return a=e.handle,t.stopPropagation(),void b({from:a,x:(n=k(t)).x,y:n.y})},children:(0,n.jsx)(d.I,{name:"add",size:11})}),r&&(0,n.jsx)("div",{className:"oc-unlink",title:t("org.unlinkFrom",{handle:"@"+r}),onMouseDown:t=>{t.stopPropagation(),N(e.handle)},children:(0,n.jsx)(d.I,{name:"close",size:11})})]},e.handle)})]})]})]})}},1352:(e,t,a)=>{"use strict";a.d(t,{e:()=>l});var n=a(7814);let l=(0,n.createServerReference)("001e9ef8a66d3ec2113043b24ab8849578169f7b7f",n.callServer,void 0,n.findSourceMapURL,"pollUpdateResult")},1870:(e,t,a)=>{"use strict";a.d(t,{l:()=>l});var n=a(7814);let l=(0,n.createServerReference)("40c4dec4c26a6ed0bdf72098c743c4c2cb18ed1cd1",n.callServer,void 0,n.findSourceMapURL,"getUpdateState")},2282:(e,t,a)=>{"use strict";a.d(t,{P:()=>l});var n=a(7814);let l=(0,n.createServerReference)("00a23e99d4e912da3ad1b266a22b1a141df6bc8b94",n.callServer,void 0,n.findSourceMapURL,"runUpdate")},2393:(e,t,a)=>{"use strict";a.d(t,{H4:()=>i,Uy:()=>o,st:()=>s});let n=/Failed to find Server Action|older or newer deployment|ChunkLoadError|Loading chunk [\w-]+ failed|error loading dynamically imported module/i,l=/invariant expected layout router to be mounted/i;function r(e){return e?e instanceof Error?`${e.name} ${e.message}`:"string"==typeof e?e:String(e?.message??e):""}function s(e){return n.test(r(e))}function i(e){let t=r(e);return n.test(t)||l.test(t)}function o(){try{let e="cn-skew-reload-at",t=Number(window.sessionStorage.getItem(e)||0);if(Date.now()-t<2e4)return;window.sessionStorage.setItem(e,String(Date.now()))}catch{}try{let e=new URL(window.location.href);e.searchParams.set("_r",String(Date.now())),window.location.replace(e.toString())}catch{window.location.reload()}}},2444:(e,t,a)=>{"use strict";a.d(t,{UpdateHeaderBadge:()=>h});var n=a(5076),l=a(8488),r=a(9860),s=a(8576),i=a(5629),o=a(1870),d=a(2282),c=a(1352),u=a(2393);function h(){let e=(0,i.k)(),t=(0,r.useRouter)(),[a,h]=(0,l.useState)(null),[p,f]=(0,l.useState)(!1),[y,x]=(0,l.useState)("available"),[m,g]=(0,l.useState)(!1),[v,b]=(0,l.useState)(""),w=(0,l.useRef)(null);async function j(){if(!m){g(!0),b("");try{let t=await (0,o.l)(!0);h(t.info.updateAvailable&&t.info.latest?t.info.latest:null),f(t.busy),t.info.updateAvailable||b(e("chrome.update.upToDate"))}catch{}finally{g(!1)}}}async function S(){if("updating"!==y&&!p){if("done"===y)return void t.refresh();x("updating"),b("");try{let a=await (0,d.P)();if(a.blocked){x("available"),f(!0),b(e("chrome.update.busy"));return}a.started?w.current=setInterval(async()=>{let t=await (0,c.e)().catch(e=>((0,u.st)(e)&&(w.current&&clearInterval(w.current),(0,u.Uy)()),null));t&&("done"===t.status?(w.current&&clearInterval(w.current),window.location.reload()):"error"===t.status&&(w.current&&clearInterval(w.current),x("error"),b(e("chrome.update.failed"))))},3e3):(x("available"),b(a.message||""),t.push("/update"))}catch{x("error"),b(e("chrome.update.failed"))}}}(0,l.useEffect)(()=>{let e=!1,t=async t=>{try{let a=await (0,o.l)(t);if(e)return;h(a.info.updateAvailable&&a.info.latest?a.info.latest:null),f(a.busy)}catch{}};t(!1);let a=setInterval(()=>t(!1),12e3),n=setInterval(()=>t(!0),18e4);return()=>{e=!0,clearInterval(a),clearInterval(n),w.current&&clearInterval(w.current)}},[]);let k=(0,n.jsx)("button",{type:"button",className:"top-btn",onClick:j,disabled:m,title:v||e("chrome.update.check"),children:(0,n.jsx)("span",{className:m?"sync-spin":"",style:{display:"inline-flex"},children:(0,n.jsx)(s.I,{name:"sync",size:17})})});if(!a)return k;let I="updating"===y?e("chrome.update.updating"):"done"===y?e("chrome.update.restart"):"error"===y?e("chrome.update.failed"):p?`v${a}`:`${e("chrome.update.update")} v${a}`,N="updating"===y||p;return(0,n.jsxs)(n.Fragment,{children:[k,(0,n.jsxs)("button",{type:"button",onClick:S,disabled:N,title:p?e("chrome.update.busy"):v||`${e("chrome.update.available")} — v${a}`,style:{display:"inline-flex",alignItems:"center",gap:6,width:"auto",padding:"0 11px",height:30,background:"error"===y?"var(--sx-keyword)":p?"var(--bg-active)":"var(--accent)",color:p?"var(--text-dim)":"var(--accent-fg)",borderRadius:999,fontSize:12,fontWeight:600,border:"none",opacity:"updating"===y?.75:1,cursor:N?"default":"pointer"},children:["updating"===y?(0,n.jsx)("span",{className:"sync-spin",style:{display:"inline-flex"},children:(0,n.jsx)(s.I,{name:"sync",size:14})}):(0,n.jsx)(s.I,{name:"updating"===y?"sync":"done"===y?"refresh":"error"===y?"bell":"arrowUp",size:14}),(0,n.jsx)("span",{children:I})]})]})}},4414:(e,t,a)=>{"use strict";a.d(t,{ChatToggle:()=>s});var n=a(5076),l=a(8576),r=a(5629);function s(){let e=(0,r.k)();return(0,n.jsx)("button",{className:"top-btn",title:`${e("chrome.chat.agentRoom")} (⌘J)`,type:"button",onClick:()=>window.dispatchEvent(new CustomEvent("constella:toggle-chat")),children:(0,n.jsx)(l.I,{name:"chat",size:17})})}},4552:(e,t,a)=>{"use strict";a.d(t,{e:()=>l});var n=a(5076);function l({name:e,color:t,size:a=24,health:r,image:s}){let i=Math.max(6,Math.round(.3*a)),o=Math.round(.28*a),d=s?/^(data:|https?:|\/)/.test(s)?s:`/api/upload?path=${encodeURIComponent(s)}`:null;return(0,n.jsxs)("span",{style:{position:"relative",width:a,height:a,flex:`0 0 ${a}px`,display:"inline-block"},children:[d?(0,n.jsx)("img",{src:d,alt:e,width:a,height:a,style:{width:a,height:a,borderRadius:o,objectFit:"cover",display:"block"}}):(0,n.jsx)("span",{style:{width:a,height:a,borderRadius:o,background:t,color:"#fff",display:"grid",placeItems:"center",fontSize:Math.round(.42*a),fontWeight:700},children:(e[0]||"?").toUpperCase()}),r&&(0,n.jsx)("span",{style:{position:"absolute",right:-1,bottom:-1,width:i,height:i,borderRadius:"50%",background:"alive"===r?"var(--sx-string)":"stale"===r?"var(--sx-number)":"var(--text-faint)",border:"1.5px solid var(--bg-elevated)"}})]})}},4942:(e,t,a)=>{"use strict";a.d(t,{SidebarToggle:()=>i});var n=a(5076),l=a(8488),r=a(8576);let s=`
2
- body.side-collapsed .side{width:58px!important;flex:0 0 58px!important;}
3
- body.side-collapsed .side .nav-item{justify-content:center;padding-left:0;padding-right:0;position:relative;}
4
- body.side-collapsed .side .nav-item>span:not(.nv-badge),
5
- body.side-collapsed .side .nav-group-label,
6
- body.side-collapsed .side .nav-search input,
7
- body.side-collapsed .side .side-foot .pf{display:none!important;}
8
- body.side-collapsed .side .nav-search{justify-content:center;}
9
- body.side-collapsed .side .side-brand-wrap{overflow:hidden;}
10
- body.side-collapsed .side .side-foot{justify-content:center;flex-wrap:wrap;gap:6px;}
11
- body.side-collapsed .side .nv-badge{position:absolute;top:2px;right:6px;}
12
- `;function i(){let[e,t]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{if(!document.getElementById("side-rail-style")){let e=document.createElement("style");e.id="side-rail-style",e.textContent=s,document.head.appendChild(e)}let e=!1;try{e="1"===localStorage.getItem("bx.sideCollapsed")}catch{}t(e),document.body.classList.toggle("side-collapsed",e)},[]),(0,n.jsx)("button",{className:"top-btn"+(e?" on":""),onClick:function(){t(e=>{let t=!e;document.body.classList.toggle("side-collapsed",t);try{localStorage.setItem("bx.sideCollapsed",t?"1":"0")}catch{}return t})},title:e?"Expand sidebar":"Collapse sidebar","aria-label":"Toggle sidebar",children:(0,n.jsx)(r.I,{name:"sidebarIcon",size:17})})}},6588:(e,t,a)=>{"use strict";a.d(t,{BackButton:()=>i});var n=a(5076),l=a(9860),r=a(8576),s=a(5629);function i(){let e=(0,s.k)(),t=(0,l.useRouter)();return(0,n.jsx)("button",{className:"top-btn",title:e("common.back"),style:{marginRight:2},onClick:()=>{window.history.length>1?t.back():t.push("/")},children:(0,n.jsx)(r.I,{name:"chevronLeft",size:18})})}},9706:(e,t,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,958)),Promise.resolve().then(a.bind(a,181)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,6824)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444))}},e=>{e.O(0,[9219,3219,6836,6646,6834,7358],()=>e(e.s=9706)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2792],{4774:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,5890)),Promise.resolve().then(a.bind(a,181)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,6824)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444)),Promise.resolve().then(a.bind(a,5787))},5126:(e,s,a)=>{"use strict";a.d(s,{T:()=>n});var r=a(7814);let n=(0,r.createServerReference)("40f7fd7992a8b9392597609349e63fb2460027c08a",r.callServer,void 0,r.findSourceMapURL,"setActiveOrg")},5890:(e,s,a)=>{"use strict";a.d(s,{OrgActions:()=>u,WorkspaceMetaForm:()=>h});var r=a(5076),n=a(8488),t=a(9860),c=a(8576),i=a(7814);let l=(0,i.createServerReference)("606af24aba1c9b79ec8a417abc29b49313f2de6b86",i.callServer,void 0,i.findSourceMapURL,"renameOrg");var o=a(5126);let d=(0,i.createServerReference)("6095694ef9c93f4af4573c8b78ab38c64e22c7215f",i.callServer,void 0,i.findSourceMapURL,"archiveOrg"),m=(0,i.createServerReference)("40f7b5622fafa7f742d8cc68158fcbfd9b1ce99871",i.callServer,void 0,i.findSourceMapURL,"deleteOrg"),b=(0,i.createServerReference)("60736041a12fa374b1b47fa833b667d9d2d0997de2",i.callServer,void 0,i.findSourceMapURL,"editWorkspaceMeta");var v=a(5629);function u({orgId:e,name:s,archived:a,active:i}){let b=(0,v.k)(),[h,f]=(0,n.useTransition)(),[g,x]=(0,n.useState)(!1),[j,p]=(0,n.useState)(s),[S,k]=(0,n.useState)(!1),N=(0,t.useRouter)();return(0,r.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",alignItems:"center"},children:g?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("input",{className:"form-input mono",value:j,onChange:e=>p(e.target.value),style:{width:180,height:28},autoFocus:!0}),(0,r.jsxs)("button",{className:"sc2-btn",disabled:h,onClick:()=>f(async()=>{await l(e,j),x(!1)}),children:[(0,r.jsx)(c.I,{name:"check",size:11})," ",b("common.save")]}),(0,r.jsx)("button",{className:"sc2-btn",onClick:()=>{p(s),x(!1)},children:b("common.cancel")})]}):(0,r.jsxs)(r.Fragment,{children:[!i&&(0,r.jsxs)("button",{className:"btn-accent",disabled:h,onClick:()=>f(async()=>{await (0,o.T)(e),N.push("/")}),children:[(0,r.jsx)(c.I,{name:"goto",size:12})," ",b("org.open")]}),i&&(0,r.jsx)("span",{className:"pill",style:{background:"var(--sx-string)22",color:"var(--sx-string)"},children:b("org.active")}),(0,r.jsxs)("button",{className:"sc2-btn",onClick:()=>x(!0),children:[(0,r.jsx)(c.I,{name:"command",size:11})," ",b("org.rename")]}),(0,r.jsxs)("button",{className:"sc2-btn",disabled:h,onClick:()=>f(()=>d(e,!a)),children:[(0,r.jsx)(c.I,{name:a?"refresh":"inbox",size:11})," ",b(a?"org.restore":"org.archive")]}),S?(0,r.jsxs)("button",{className:"sc2-btn danger",disabled:h,onClick:()=>f(async()=>{await m(e),N.refresh()}),children:[(0,r.jsx)(c.I,{name:"trash",size:11})," ",b("org.confirmDelete")]}):(0,r.jsxs)("button",{className:"sc2-btn danger",onClick:()=>k(!0),children:[(0,r.jsx)(c.I,{name:"trash",size:11})," ",b("common.delete")]})]})})}function h({mission:e,objective:s}){let a=(0,v.k)(),[t,i]=(0,n.useState)(e),[l,o]=(0,n.useState)(s),[d,m]=(0,n.useState)(!1),[u,f]=(0,n.useTransition)();return(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"form-label",children:a("org.mission")}),(0,r.jsx)("textarea",{className:"persona-ta",value:t,onChange:e=>{i(e.target.value),m(!1)}}),(0,r.jsx)("label",{className:"form-label",style:{marginTop:10},children:a("org.objective")}),(0,r.jsx)("textarea",{className:"persona-ta",value:l,onChange:e=>{o(e.target.value),m(!1)}}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:10},children:[(0,r.jsxs)("button",{className:"btn-accent",disabled:u,onClick:()=>f(async()=>{await b(t,l),m(!0)}),children:[(0,r.jsx)(c.I,{name:"check",size:13})," ",a(u?"common.saving":"common.save")]}),d&&(0,r.jsx)("span",{className:"muted",style:{fontSize:12},children:a("org.savedNote")})]})]})}}},e=>{e.O(0,[9219,3219,6836,8370,6646,6834,7358],()=>e(e.s=4774)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9415],{640:(e,t,s)=>{"use strict";s.d(t,{HomeSeedBlocks:()=>m});var a=s(5076),n=s(8488),r=s(9860),c=s(3283),i=s.n(c),l=s(5629),o=s(8576),d=s(1801);function m(){let e=(0,l.k)(),t=(0,r.useRouter)(),[s,c]=(0,n.useTransition)();return(0,a.jsxs)("div",{className:"home-empty",children:[(0,a.jsx)("div",{children:e("home.canonical.empty")}),(0,a.jsxs)("div",{className:"hse-actions",children:[(0,a.jsxs)("button",{className:"hse-create",disabled:s,onClick:()=>c(async()=>{await (0,d.V)(),t.refresh()}),children:[(0,a.jsx)(o.I,{name:"add",size:13})," ",e(s?"home.creating":"home.createBlocks")]}),(0,a.jsxs)(i(),{href:"/knowledge",className:"hse-link",children:[e("home.openKnowledge")," →"]})]})]})}},878:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,3283,23)),Promise.resolve().then(s.bind(s,4329)),Promise.resolve().then(s.bind(s,8036)),Promise.resolve().then(s.bind(s,8126)),Promise.resolve().then(s.bind(s,640)),Promise.resolve().then(s.bind(s,8679)),Promise.resolve().then(s.bind(s,5183)),Promise.resolve().then(s.bind(s,181)),Promise.resolve().then(s.bind(s,6588)),Promise.resolve().then(s.bind(s,4414)),Promise.resolve().then(s.bind(s,6824)),Promise.resolve().then(s.bind(s,4942)),Promise.resolve().then(s.bind(s,2444)),Promise.resolve().then(s.bind(s,5787))},1281:(e,t,s)=>{"use strict";s.d(t,{P:()=>n});var a=s(7814);let n=(0,a.createServerReference)("00d707af504f1a0491ca9dcf763ef015da594b49f3",a.callServer,void 0,a.findSourceMapURL,"approvePlan")},1346:(e,t,s)=>{"use strict";s.d(t,{b:()=>n});var a=s(7814);let n=(0,a.createServerReference)("60075bc55b6118caa430a2acc1eba87814559b821c",a.callServer,void 0,a.findSourceMapURL,"resolveInbox")},1709:(e,t,s)=>{"use strict";s.d(t,{B:()=>n});var a=s(7814);let n=(0,a.createServerReference)("40ced2f71e662e1884c830a2cb80626a57aa8be42c",a.callServer,void 0,a.findSourceMapURL,"approveSpec")},2799:(e,t,s)=>{"use strict";function a(e){if(!e)return"";let t=Math.max(0,Math.floor((Date.now()-("number"==typeof e?e*(e<1e12?1e3:1):e.getTime()))/1e3));if(t<60)return"now";let s=Math.floor(t/60);if(s<60)return s+"m";let a=Math.floor(s/60);if(a<24)return a+"h";let n=Math.floor(a/24);return n<7?n+"d":Math.floor(n/7)+"w"}s.d(t,{f:()=>a})},3371:(e,t,s)=>{"use strict";s.d(t,{J:()=>n});var a=s(7814);let n=(0,a.createServerReference)("40e8f30a047d0f241003dcbb3194b872639e110c96",a.callServer,void 0,a.findSourceMapURL,"rejectSpec")},4329:(e,t,s)=>{"use strict";s.d(t,{HomeActivity:()=>i});var a=s(5076),n=s(5629),r=s(4552),c=s(2799);function i({rows:e}){let t=(0,n.k)();if(0===e.length)return(0,a.jsx)("div",{className:"home-empty",children:t("home.recentEmpty")});let s=[],l="";for(let a of e){let e=a.at?new Date(a.at):null,n=e?e.toDateString():"—";n!==l&&(s.push({label:e?function(e){let s=new Date;s.setHours(0,0,0,0);let a=new Date(e);a.setHours(0,0,0,0);let n=Math.round((s.getTime()-a.getTime())/864e5);return n<=0?t("home.activity.today"):1===n?t("home.activity.yesterday"):a.toLocaleDateString()}(e):"—",rows:[]}),l=n),s[s.length-1].rows.push(a)}return(0,a.jsx)("div",{className:"timeline",children:s.map((e,s)=>(0,a.jsxs)("div",{className:"tl-day",children:[(0,a.jsx)("div",{className:"tl-day-label",children:e.label}),e.rows.map(e=>(0,a.jsxs)("div",{className:"tl-row",title:e.target,children:[e.agentName?(0,a.jsx)(r.e,{name:e.agentName,color:e.agentColor??"var(--accent)",size:20,health:e.agentHealth}):(0,a.jsx)("span",{className:"tl-sys"}),(0,a.jsxs)("span",{className:"tl-text",children:[(0,a.jsx)("b",{children:e.agentName??t("home.activity.system")})," ",e.action," ",(0,a.jsx)("span",{className:"tl-target",children:e.target})]}),(0,a.jsx)("span",{className:"tl-time",children:e.at?(0,c.f)(new Date(e.at)):""})]},e.id))]},s))})}},4541:(e,t,s)=>{"use strict";s.d(t,{d:()=>n});var a=s(7814);let n=(0,a.createServerReference)("40beac2559eab1128341c145e31826c3b57f094595",a.callServer,void 0,a.findSourceMapURL,"rejectIssue")},5183:(e,t,s)=>{"use strict";s.d(t,{WelcomeChat:()=>w});var a=s(5076),n=s(8488),r=s(9860),c=s(616),i=s(8551),l=s(2140),o=s(9289),d=s(4305),m=s(3653),h=s(9768),u=s(4772),f=s(1139),p=s(5629),v=s(8576),x=s(4552),b=s(8163),j=s(8306),g=s(3286);function w({agents:e,operator:t}){let s=(0,p.k)(),N=(0,r.useRouter)(),[y,k]=(0,n.useState)("room"),[S,C]=(0,n.useState)([]),[I,R]=(0,n.useState)([]),[z,T]=(0,n.useState)([]),[M,E]=(0,n.useState)(!0),[P,L]=(0,n.useState)(!1),[H,W]=(0,n.useState)(!1),[D,A]=(0,n.useState)(null),[q,O]=(0,n.useState)(!1),[U,_]=(0,n.useState)({}),[B,V]=(0,n.useState)(null),[$,F]=(0,n.useTransition)(),G=(0,n.useRef)(0),J=(0,n.useRef)(0),K=(0,n.useRef)(null),Q=Object.fromEntries(e.map(e=>[e.handle,e])),Z=y.startsWith("dm:"),X="people"===y,Y="telegram"===y,ee=Z?y.slice(3):null,et=ee?Q[ee]:null,es=Z?y:Y?"telegram":"room";async function ea(){try{let e=await (0,u.p)(es);if(e.used>=e.max&&!q){O(!0);try{await (0,f.L)(es),e=await (0,u.p)(es)}finally{O(!1)}}A(e)}catch{}}async function en(){if(!q){O(!0);try{await (0,f.L)(es),await ea()}finally{O(!1)}}}(0,n.useEffect)(()=>{if(X)return;let e=!1;function t(){if(e||document.hidden||K.current)return;let t=new EventSource(`/api/stream?channel=${encodeURIComponent(es)}&evCursor=${J.current}&msgCursor=${G.current}`);K.current=t,t.addEventListener("msg",e=>{let t=JSON.parse(e.data),s=t.createdAt?new Date(t.createdAt).getTime():0;if(s>G.current&&(G.current=s),"cleared"===t.kind){C([t]),R([]),T([]);return}C(e=>e.some(e=>e.id===t.id)?e:[...e,t].slice(-200)),R(e=>e.filter(e=>e.runId!==t.id||"text"!==e.kind)),t.fromHandle&&T(e=>e.filter(e=>e!==t.fromHandle))}),t.addEventListener("ev",e=>{let t=JSON.parse(e.data);t.seq>J.current&&(J.current=t.seq),R(e=>e.some(e=>e.id===t.id)?e:[...e,t].slice(-250))})}function s(){K.current&&(K.current.close(),K.current=null)}C([]),R([]),G.current=0,J.current=0,E(!0),(async()=>{try{let[t,s]=await Promise.all([(0,c.V)(es),(0,m.k)(es,0)]);if(e)return;C(t.slice(-200)),R(s),G.current=t.reduce((e,t)=>Math.max(e,t.createdAt?new Date(t.createdAt).getTime():0),0),J.current=s.reduce((e,t)=>Math.max(e,t.seq),0)}catch{}!e&&(E(!1),document.hidden||t())})();let a=()=>{document.hidden?s():t()};return document.addEventListener("visibilitychange",a),()=>{e=!0,document.removeEventListener("visibilitychange",a),s()}},[y]),(0,n.useEffect)(()=>{(0,i.b)().then(e=>_(e)).catch(()=>{})},[y]),(0,n.useEffect)(()=>{Y&&(0,h.G)().then(V).catch(()=>V({connected:!1}))},[y]),(0,n.useEffect)(()=>{X?A(null):ea()},[y,S.length]),(0,n.useEffect)(()=>{function e(){k("room"),setTimeout(()=>document.querySelector(".welcome-chat .composer-input")?.focus(),60)}return window.addEventListener("constella:focus-cmdbar",e),()=>window.removeEventListener("constella:focus-cmdbar",e)},[]);let er={};for(let e of I)(er[e.runId]??=[]).push(e);let ec=new Set(S.map(e=>e.id)),ei=Object.entries(er).filter(([e])=>!ec.has(e));function el(e,t){let s=e.trim();if(!s&&!t?.length)return;let a="room"!==es||!s||s.startsWith("/")||s.startsWith("@")?s:"/kb "+s;F(async()=>{try{let{responders:e}=await (0,l._)(es,a,t);if(e.length){for(let t of(T(e),e))await (0,o.n)(es,t),T(e=>e.filter(e=>e!==t));T([])}Z&&(0,i.b)().then(e=>_(e)).catch(()=>{})}catch{}})}let eo=Z&&et?`${s("home.chat.message")} ${et.name}…`:Y?"Telegram \xb7 @ada (CEO)…":s("home.cmd.placeholder");return(0,a.jsxs)("section",{className:"welcome-chat"+(P?" full":""),children:[(0,a.jsxs)("div",{className:"wc-head",children:[(0,a.jsxs)("div",{className:"wc-head-titles",children:[(0,a.jsxs)("span",{className:"wc-head-title",children:[(0,a.jsx)(v.I,{name:"chat",size:15})," ",s("home.chat.title")]}),(0,a.jsx)("span",{className:"wc-head-sub",children:s("home.chat.sub")})]}),(0,a.jsxs)("div",{className:"wc-head-actions",children:[(0,a.jsx)("button",{className:"wc-head-btn",title:s("home.openKnowledge"),onClick:()=>N.push("/knowledge"),children:(0,a.jsx)(v.I,{name:"branch",size:14})}),(0,a.jsx)("button",{className:"wc-head-btn",title:s("home.chat.fullscreen"),onClick:()=>L(e=>!e),children:(0,a.jsx)(v.I,{name:P?"close":"goto",size:14})}),(0,a.jsx)("button",{className:"wc-head-btn",title:s("home.chat.clear"),onClick:()=>W(!0),children:(0,a.jsx)(v.I,{name:"trash",size:14})})]})]}),(0,a.jsxs)("div",{className:"dock-tabs",children:[(0,a.jsxs)("button",{className:"dock-tab"+(Z||X||Y?"":" on"),onClick:()=>k("room"),children:[(0,a.jsx)(v.I,{name:"agents",size:14})," ",s("home.chat.tab.room")]}),(0,a.jsxs)("button",{className:"dock-tab"+(X||Z?" on":""),onClick:()=>k("people"),children:[(0,a.jsx)(v.I,{name:"chat",size:14})," ",s("home.chat.tab.direct")]}),(0,a.jsxs)("button",{className:"dock-tab"+(Y?" on":""),onClick:()=>k("telegram"),children:[(0,a.jsx)(v.I,{name:"send",size:14})," Telegram"]})]}),!X&&!(Y&&B&&!B.connected)&&(0,a.jsxs)("div",{className:"ctx-bar",children:[D?(0,a.jsx)(b.m,{stat:D,onCompact:en,compacting:q}):(0,a.jsx)("span",{}),Y?(0,a.jsxs)("span",{className:"ctx-hint",children:[(0,a.jsx)(v.I,{name:"bot",size:12})," ",s("home.chat.tgHint")," \xb7 @ada (CEO)"]}):(0,a.jsxs)("span",{className:"ctx-hint",children:[(0,a.jsx)(v.I,{name:"bot",size:12})," ",s("home.chat.dmAda")]})]}),Z&&et?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"chat-header dm",children:[(0,a.jsx)("button",{className:"dm-back-btn",onClick:()=>k("people"),children:(0,a.jsx)(v.I,{name:"chevronLeft",size:14})}),(0,a.jsx)(x.e,{name:et.name,color:et.color,image:et.image,size:30,health:et.health}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"chat-title",children:[et.name," ",(0,a.jsxs)("span",{className:"agent-handle",children:["@",et.handle]})]}),(0,a.jsxs)("div",{className:"chat-sub",children:[et.role," \xb7 ",et.adapter]})]}),(0,a.jsx)("span",{style:{marginLeft:"auto"},children:(0,a.jsx)(g.qs,{status:et.status})})]}),(0,a.jsx)(g.H8,{msgs:S,typing:z,agents:e,byRun:er,liveRuns:ei,loading:M,operator:t,markdownAgent:!0,avatarSize:40}),(0,a.jsx)(g.V4,{onSend:el,agents:e,requireMention:!1,placeholder:eo})]}):X?(0,a.jsx)(j.QE,{agents:e,previews:U,onOpenDM:e=>k("dm:"+e)}):Y?B&&!B.connected?(0,a.jsx)(j.CZ,{onConnected:()=>(0,h.G)().then(V).catch(()=>{})}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.H8,{msgs:S,typing:z,agents:e,byRun:er,liveRuns:ei,loading:M||!B,operator:t,markdownAgent:!0,avatarSize:40}),(0,a.jsx)(g.V4,{onSend:el,agents:e,requireMention:!1,placeholder:eo})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.H8,{msgs:S,typing:z,agents:e,byRun:er,liveRuns:ei,loading:M,operator:t,markdownAgent:!0,avatarSize:40,emptyHint:s("home.chat.intro")}),(0,a.jsx)(g.V4,{onSend:el,agents:e,requireMention:!1,placeholder:eo})]}),H&&(0,a.jsx)("div",{className:"modal-overlay",onMouseDown:()=>W(!1),children:(0,a.jsxs)("div",{className:"modal",style:{width:440,maxWidth:"92vw"},onMouseDown:e=>e.stopPropagation(),children:[(0,a.jsx)("div",{className:"modal-head",children:(0,a.jsxs)("div",{className:"modal-title",children:[(0,a.jsx)(v.I,{name:"trash",size:15,style:{color:"var(--sx-keyword)"}})," ",s("home.chat.clear")]})}),(0,a.jsx)("div",{className:"modal-body",children:(0,a.jsx)("div",{style:{fontSize:13,color:"var(--text-dim)",lineHeight:1.6},children:s("home.chat.clearConsequences")})}),(0,a.jsxs)("div",{className:"modal-foot",children:[(0,a.jsx)("button",{className:"btn-ghost",onClick:()=>W(!1),children:s("block.cancel")}),(0,a.jsx)("button",{className:"btn-accent",style:{background:"var(--sx-keyword)",borderColor:"var(--sx-keyword)",color:"#fff"},disabled:$,onClick:function(){W(!1),F(async()=>{await (0,d.H)(es).catch(()=>{}),C([]),R([]),T([]),await ea()})},children:s("home.chat.clear")})]})]})})]})}},5949:(e,t,s)=>{"use strict";s.d(t,{G:()=>n});var a=s(7814);let n=(0,a.createServerReference)("402d4d51b2fedd60f6206531e45066dc999aaa3915",a.callServer,void 0,a.findSourceMapURL,"startNewWork")},7181:(e,t,s)=>{"use strict";s.d(t,{D:()=>n});var a=s(7814);let n=(0,a.createServerReference)("402fdcfeddf17de5709d551eccb08d8356339ea521",a.callServer,void 0,a.findSourceMapURL,"setRunMode")},8036:(e,t,s)=>{"use strict";s.d(t,{HomeHeroActions:()=>o});var a=s(5076),n=s(8488),r=s(9860),c=s(5629),i=s(8576),l=s(5949);function o({adaHandle:e,continueHref:t}){let s=(0,c.k)(),d=(0,r.useRouter)(),[m,h]=(0,n.useState)(!1),[u,f]=(0,n.useState)(""),[p,v]=(0,n.useState)(""),[x,b]=(0,n.useState)(""),[j,g]=(0,n.useTransition)();return(0,a.jsxs)("div",{className:"home-actions",children:[(0,a.jsxs)("button",{className:"ha-primary",onClick:()=>window.dispatchEvent(new CustomEvent("constella:focus-cmdbar")),children:[(0,a.jsx)(i.I,{name:"branch",size:15})," ",s("home.act.askKb")]}),e&&(0,a.jsxs)("button",{className:"ha-ghost",onClick:()=>h(!0),children:[(0,a.jsx)(i.I,{name:"command",size:15})," ",s("home.act.newWork")]}),t&&(0,a.jsxs)("button",{className:"ha-ghost",onClick:()=>d.push(t),children:[(0,a.jsx)(i.I,{name:"goto",size:15})," ",s("home.act.continue")]}),(0,a.jsxs)("button",{className:"ha-ghost",onClick:()=>d.push("/inbox"),children:[(0,a.jsx)(i.I,{name:"inbox",size:15})," ",s("home.act.pending")]}),m&&(0,a.jsx)("div",{className:"modal-overlay",onMouseDown:()=>!j&&h(!1),children:(0,a.jsxs)("div",{className:"modal",style:{padding:"20px 22px",width:480,maxWidth:"94vw"},onMouseDown:e=>e.stopPropagation(),children:[(0,a.jsx)("div",{style:{fontSize:15,fontWeight:800,marginBottom:4},children:s("planner.newWork.title")}),(0,a.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)",marginBottom:12},children:s("planner.newWork.desc")}),(0,a.jsx)("label",{className:"form-label",children:s("planner.newWork.titleLabel")}),(0,a.jsx)("input",{className:"form-input",autoFocus:!0,value:u,onChange:e=>f(e.target.value),placeholder:s("planner.newWork.titlePh")}),(0,a.jsx)("label",{className:"form-label",children:s("planner.newWork.briefLabel")}),(0,a.jsx)("textarea",{className:"form-input",rows:5,value:p,onChange:e=>v(e.target.value),placeholder:s("planner.newWork.briefPh")}),x&&(0,a.jsx)("div",{style:{color:"#e8688f",fontSize:12,marginTop:8},children:x}),(0,a.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:16},children:[(0,a.jsx)("button",{className:"btn-ghost",disabled:j,onClick:()=>h(!1),children:s("common.cancel")}),(0,a.jsx)("button",{className:"btn-accent",disabled:j||!p.trim(),onClick:function(){b(""),g(async()=>{let e=await (0,l.G)({title:u.trim()||void 0,brief:p});e.ok?(h(!1),f(""),v(""),d.push("/planner")):b(e.error??s("planner.newWork.failed"))})},children:j?s("planner.newWork.planning"):s("planner.newWork.create")})]})]})})]})}},8126:(e,t,s)=>{"use strict";s.d(t,{HomeInbox:()=>v});var a=s(5076),n=s(8488),r=s(9860),c=s(5629),i=s(8576),l=s(1346),o=s(1281),d=s(1709),m=s(8941),h=s(3371),u=s(4541),f=s(2799);let p={approval:"check",budget:"coins",question:"chat",review:"doc",block:"close",validation:"pulse"};function v({items:e}){let t=(0,c.k)(),s=(0,r.useRouter)(),[x,b]=(0,n.useTransition)(),[j,g]=(0,n.useState)(null);function w(e,t){g(e),b(async()=>{try{await t()}catch{}finally{await (0,l.b)(e,!0),g(null),s.refresh()}})}return 0===e.length?(0,a.jsx)("div",{className:"home-empty",children:t("home.decisions.empty")}):(0,a.jsx)("div",{className:"decide-list",children:e.map(e=>{let n=x&&j===e.id;return(0,a.jsxs)("div",{className:"decide-row",children:[(0,a.jsx)("div",{className:"dr-ico",children:(0,a.jsx)(i.I,{name:p[e.kind]??"bell",size:15})}),(0,a.jsxs)("div",{className:"dr-main",children:[(0,a.jsx)("div",{className:"dr-title",children:e.title}),e.detail?(0,a.jsx)("div",{className:"dr-reason",children:e.detail}):null,(0,a.jsxs)("div",{className:"dr-sub",children:[e.refType?(0,a.jsx)("span",{className:"dr-ref",children:e.refType}):null,(0,a.jsxs)("span",{children:[t("home.decisions.kind."+e.kind),e.fromName?" \xb7 "+e.fromName:"",e.createdAt?" \xb7 "+(0,f.f)(new Date(e.createdAt)):""]})]})]}),(0,a.jsxs)("div",{className:"dr-actions",children:[("plan"===e.refType||("spec"===e.refType||"issue"===e.refType)&&!!e.refId)&&(0,a.jsx)("button",{className:"dr-approve",disabled:n,onClick:()=>"plan"===e.refType?w(e.id,()=>(0,o.P)()):"spec"===e.refType&&e.refId?w(e.id,()=>(0,d.B)(e.refId)):"issue"===e.refType&&e.refId?w(e.id,()=>(0,m.t)(e.refId)):void s.push("/inbox"),children:t("home.decisions.approve")}),("spec"===e.refType||"issue"===e.refType)&&!!e.refId&&(0,a.jsx)("button",{className:"dr-reject",disabled:n,onClick:()=>"spec"===e.refType&&e.refId?w(e.id,()=>(0,h.J)(e.refId)):"issue"===e.refType&&e.refId?w(e.id,()=>(0,u.d)(e.refId)):w(e.id,async()=>{}),children:t("home.decisions.reject")}),(0,a.jsx)("button",{className:"dr-ghost",onClick:()=>s.push("/inbox"),title:t("home.decisions.details"),children:(0,a.jsx)(i.I,{name:"goto",size:13})}),(0,a.jsx)("button",{className:"dr-ghost",onClick:()=>window.dispatchEvent(new CustomEvent("constella:focus-cmdbar")),title:t("home.decisions.askKb"),children:(0,a.jsx)(i.I,{name:"branch",size:13})})]})]},e.id)})})}},8679:(e,t,s)=>{"use strict";s.d(t,{HomeStatusChip:()=>o});var a=s(5076),n=s(8488),r=s(9860),c=s(5629),i=s(7181),l=s(8576);function o({running:e,activeAgents:t}){let s=(0,c.k)(),d=(0,r.useRouter)(),[m,h]=(0,n.useTransition)();return e?(0,a.jsxs)("span",{className:"home-status-chip running",children:[(0,a.jsx)("span",{className:"hsc-dot"})," ",s("home.statusRunning",{n:t})]}):(0,a.jsxs)("button",{className:"home-status-chip idle",onClick:function(){h(async()=>{await (0,i.D)("start"),d.refresh()})},disabled:m,title:s("home.startHint"),children:[(0,a.jsx)("span",{className:"hsc-dot off"})," ",(0,a.jsx)(l.I,{name:"play",size:12})," ",s(m?"home.starting":"home.startAgents")]})}},8941:(e,t,s)=>{"use strict";s.d(t,{t:()=>n});var a=s(7814);let n=(0,a.createServerReference)("4023169ed85000187a7267198eab5e95902c9af1b9",a.callServer,void 0,a.findSourceMapURL,"approveIssue")}},e=>{e.O(0,[9219,9690,3219,6836,8370,2831,8306,6646,6834,7358],()=>e(e.s=878)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1172],{1690:(e,s,t)=>{"use strict";t.d(s,{SpecsSection:()=>o});var n=t(5076),r=t(8488),a=t(4552),l=t(3775),i=t(5629),c=t(5695);let d=["active","approved","draft","cancelled","archived","all"];function o({specs:e,issues:s,agents:t}){let h=(0,i.k)(),[p,u]=(0,r.useState)("active"),m=Object.fromEntries(t.map(e=>[e.id,e])),x=e.filter(e=>(function(e,s){switch(s){case"all":return!0;case"approved":return"active"===e.status&&e.approved;case"draft":return"active"===e.status&&!e.approved;case"cancelled":return"cancelled"===e.status;case"archived":return"archived"===e.status;default:return"active"===e.status}})(e,p));return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"view-section-title",style:{marginTop:22,display:"flex",alignItems:"center",gap:12,flexWrap:"wrap"},children:[(0,n.jsxs)("span",{children:[h("planner.specs.title")," ",(0,n.jsxs)("span",{style:{fontWeight:400,color:"var(--text-faint)"},children:["\xb7 ",h("planner.specs.from")]})]}),(0,n.jsx)("div",{className:"seg",style:{marginLeft:"auto"},children:d.map(e=>(0,n.jsx)("button",{className:"seg-opt"+(p===e?" on":""),onClick:()=>u(e),children:h(`planner.specFilter.${e}`)},e))})]}),0===x.length?(0,n.jsx)("div",{className:"card",children:(0,n.jsx)("div",{className:"muted",children:"all"===p?h("planner.specs.emptyAll"):h("planner.specs.emptyFiltered",{filter:h(`planner.specFilter.${p}`)})})}):(0,n.jsx)("div",{className:"cards-grid",style:{gridTemplateColumns:"1fr 1fr"},children:x.map(e=>{let t=e.authorId?m[e.authorId]:null,r=s.filter(s=>s.specId===e.id).length,i=t?.role??"—",d="active"!==e.status;return(0,n.jsxs)("div",{className:"card",style:d?{opacity:.6}:void 0,children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[(0,n.jsx)("span",{className:"chip-sm",children:e.key}),(0,n.jsx)("span",{style:{fontWeight:700,fontSize:13.5,color:"var(--text)",flex:1},children:e.title}),d&&(0,n.jsx)("span",{className:"pill",style:{fontSize:10},children:h(`planner.specFilter.${e.status}`)}),t&&(0,n.jsx)(a.e,{name:t.name,color:t.color,size:20})]}),(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)",marginBottom:8},children:e.summary}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsxs)("div",{style:{fontSize:11,color:"var(--text-faint)",flex:1},children:[i," \xb7 ",h("planner.specs.issueCount",{n:r})," \xb7 ",(0,n.jsxs)("span",{style:{color:"var(--accent)"},children:["specs/",e.key,".md"]}),e.createdAt&&(0,n.jsxs)(n.Fragment,{children:[" \xb7 ",(0,c.F)(e.createdAt)]})]}),!d&&(0,n.jsx)(l.p,{specId:e.id,specKey:e.key,approved:e.approved})]})]},e.id)})})]})}},2944:(e,s,t)=>{"use strict";t.d(s,{NewWorkButton:()=>d});var n=t(5076),r=t(8488),a=t(9860),l=t(8576),i=t(5629),c=t(5949);function d(){let e=(0,i.k)(),[s,t]=(0,r.useState)(!1),[d,o]=(0,r.useState)(""),[h,p]=(0,r.useState)(""),[u,m]=(0,r.useState)(""),[x,v]=(0,r.useTransition)(),f=(0,a.useRouter)();return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{className:"btn-ghost",onClick:()=>t(!0),children:[(0,n.jsx)(l.I,{name:"add",size:14})," ",e("planner.newWork.button")]}),s&&(0,n.jsx)("div",{className:"modal-overlay",onMouseDown:()=>!x&&t(!1),children:(0,n.jsxs)("div",{className:"modal",style:{padding:"20px 22px",width:480,maxWidth:"94vw"},onMouseDown:e=>e.stopPropagation(),children:[(0,n.jsx)("div",{style:{fontSize:15,fontWeight:800,marginBottom:4},children:e("planner.newWork.title")}),(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)",marginBottom:12},children:e("planner.newWork.desc")}),(0,n.jsx)("label",{className:"form-label",children:e("planner.newWork.titleLabel")}),(0,n.jsx)("input",{className:"form-input",autoFocus:!0,value:d,onChange:e=>o(e.target.value),placeholder:e("planner.newWork.titlePh")}),(0,n.jsx)("label",{className:"form-label",children:e("planner.newWork.briefLabel")}),(0,n.jsx)("textarea",{className:"form-input",rows:5,value:h,onChange:e=>p(e.target.value),placeholder:e("planner.newWork.briefPh")}),u&&(0,n.jsx)("div",{style:{color:"#e8688f",fontSize:12,marginTop:8},children:u}),(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:16},children:[(0,n.jsx)("button",{className:"btn-ghost",disabled:x,onClick:()=>t(!1),children:e("common.cancel")}),(0,n.jsx)("button",{className:"btn-accent",disabled:x||!h.trim(),onClick:function(){m(""),v(async()=>{let s=await (0,c.G)({title:d.trim()||void 0,brief:h});s.ok?(t(!1),o(""),p(""),f.refresh()):m(s.error??e("planner.newWork.failed"))})},children:x?e("planner.newWork.planning"):e("planner.newWork.create")})]})]})})]})}},4552:(e,s,t)=>{"use strict";t.d(s,{e:()=>r});var n=t(5076);function r({name:e,color:s,size:t=24,health:a,image:l}){let i=Math.max(6,Math.round(.3*t)),c=Math.round(.28*t),d=l?/^(data:|https?:|\/)/.test(l)?l:`/api/upload?path=${encodeURIComponent(l)}`:null;return(0,n.jsxs)("span",{style:{position:"relative",width:t,height:t,flex:`0 0 ${t}px`,display:"inline-block"},children:[d?(0,n.jsx)("img",{src:d,alt:e,width:t,height:t,style:{width:t,height:t,borderRadius:c,objectFit:"cover",display:"block"}}):(0,n.jsx)("span",{style:{width:t,height:t,borderRadius:c,background:s,color:"#fff",display:"grid",placeItems:"center",fontSize:Math.round(.42*t),fontWeight:700},children:(e[0]||"?").toUpperCase()}),a&&(0,n.jsx)("span",{style:{position:"absolute",right:-1,bottom:-1,width:i,height:i,borderRadius:"50%",background:"alive"===a?"var(--sx-string)":"stale"===a?"var(--sx-number)":"var(--text-faint)",border:"1.5px solid var(--bg-elevated)"}})]})}},5695:(e,s,t)=>{"use strict";function n(e){if(null==e)return"";let s=e instanceof Date?e:new Date(e);if(isNaN(s.getTime()))return"";let t=s.toLocaleDateString([],{day:"2-digit",month:"short"}),n=s.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return`${t}, ${n}`}t.d(s,{F:()=>n})},5949:(e,s,t)=>{"use strict";t.d(s,{G:()=>r});var n=t(7814);let r=(0,n.createServerReference)("402d4d51b2fedd60f6206531e45066dc999aaa3915",n.callServer,void 0,n.findSourceMapURL,"startNewWork")},6153:(e,s,t)=>{Promise.resolve().then(t.t.bind(t,3283,23)),Promise.resolve().then(t.bind(t,2978)),Promise.resolve().then(t.bind(t,9774)),Promise.resolve().then(t.bind(t,2944)),Promise.resolve().then(t.bind(t,3775)),Promise.resolve().then(t.bind(t,1690)),Promise.resolve().then(t.bind(t,181)),Promise.resolve().then(t.bind(t,6588)),Promise.resolve().then(t.bind(t,4414)),Promise.resolve().then(t.bind(t,6824)),Promise.resolve().then(t.bind(t,4942)),Promise.resolve().then(t.bind(t,2444)),Promise.resolve().then(t.bind(t,5787))},9774:(e,s,t)=>{"use strict";t.d(s,{IssuesSection:()=>h});var n=t(5076),r=t(8488),a=t(4552),l=t(5629),i=t(5695);let c={high:"var(--sx-keyword)",med:"#d98a2b",low:"var(--cyan,#6cc7e0)"},d=["active","awaiting","doing","review","blocked","done","cancelled","archived","all"];function o(e){return"cancelled"===e.status?"cancelled":"archived"===e.status?"archived":e.col}function h({issues:e,specs:s,agents:t}){let p=(0,l.k)(),[u,m]=(0,r.useState)("active"),x=Object.fromEntries(t.map(e=>[e.id,e])),v=e.filter(e=>(function(e,s){let t=o(e);switch(s){case"all":return!0;case"active":return"active"===e.status;case"awaiting":return"active"===e.status&&"todo"===e.col;case"cancelled":return"cancelled"===t;case"archived":return"archived"===t;default:return"active"===e.status&&e.col===s}})(e,u));return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"view-section-title",style:{marginTop:22,display:"flex",alignItems:"center",gap:12,flexWrap:"wrap"},children:[(0,n.jsxs)("span",{children:[p("planner.issues.title")," ",(0,n.jsxs)("span",{style:{fontWeight:400,color:"var(--text-faint)"},children:["\xb7 ",p("planner.issues.brokenFromSpecs",{n:e.length})]})]}),(0,n.jsx)("div",{className:"seg",style:{marginLeft:"auto"},children:d.map(e=>(0,n.jsx)("button",{className:"seg-opt"+(u===e?" on":""),onClick:()=>m(e),children:p(`planner.issueFilter.${e}`)},e))})]}),0===v.length?(0,n.jsx)("div",{className:"card",children:(0,n.jsx)("div",{className:"muted",children:"all"===u?p("planner.issues.emptyAll"):p("planner.issues.emptyFiltered",{filter:p(`planner.issueFilter.${u}`).toLowerCase()})})}):(0,n.jsx)("div",{className:"tbl-wrap",children:(0,n.jsxs)("table",{className:"tbl",children:[(0,n.jsx)("thead",{children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:p("planner.issues.col.id")}),(0,n.jsx)("th",{children:p("planner.issues.col.issue")}),(0,n.jsx)("th",{children:p("planner.issues.col.spec")}),(0,n.jsx)("th",{children:p("planner.issues.col.priority")}),(0,n.jsx)("th",{children:p("planner.issues.col.owner")}),(0,n.jsx)("th",{children:p("common.status")}),(0,n.jsx)("th",{children:p("planner.issues.col.updated")})]})}),(0,n.jsx)("tbody",{children:v.map(e=>{let t=e.assigneeId?x[e.assigneeId]:null,r=e.specId?s.find(s=>s.id===e.specId)?.key:null,l=c[e.prio]??"var(--text-dim)",d=o(e);return(0,n.jsxs)("tr",{style:"active"!==e.status?{opacity:.55}:void 0,children:[(0,n.jsx)("td",{children:(0,n.jsx)("span",{className:"chip-sm",children:e.key})}),(0,n.jsx)("td",{children:e.title}),(0,n.jsx)("td",{style:{color:"var(--text-dim)",fontFamily:"var(--mono-font)",fontSize:11.5},children:r??"—"}),(0,n.jsx)("td",{children:(0,n.jsx)("span",{className:"pill",style:{background:l+"22",color:l},children:p(`planner.prio.${e.prio}`)})}),(0,n.jsx)("td",{children:(0,n.jsx)("div",{className:"who",children:t?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.e,{name:t.name,color:t.color,size:18})," ",t.name]}):"—"})}),(0,n.jsx)("td",{children:(0,n.jsx)("span",{className:"pill issue-"+d,children:p(`planner.issueState.${d}`)})}),(0,n.jsx)("td",{style:{color:"var(--text-faint)",fontSize:11},children:(0,i.F)(e.updatedAt)})]},e.id)})})]})})]})}}},e=>{e.O(0,[9219,3219,6836,8370,3775,6646,6834,7358],()=>e(e.s=6153)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[423],{3693:(e,l,n)=>{"use strict";n.d(l,{BacklogRowActions:()=>y,GroomBacklogButton:()=>h,IssueCardActions:()=>S,IssueMoscow:()=>g,NewBacklogButton:()=>j});var s=n(5076),a=n(8488),o=n(8576),i=n(5629),c=n(7814);let r=(0,c.createServerReference)("601e71bc6879f55cdd1a7a2c292464cc6d883568c5",c.callServer,void 0,c.findSourceMapURL,"setIssueMoscow"),t=(0,c.createServerReference)("4088009f0d2cbbba34e0207830000d876ac87be1e4",c.callServer,void 0,c.findSourceMapURL,"createBacklogItem"),d=(0,c.createServerReference)("403eccf6f1b0da0ba79530a70de0d0b185e3b5fb30",c.callServer,void 0,c.findSourceMapURL,"unblockIssue"),m=(0,c.createServerReference)("60556220eab507b346271261c487e26109176abf32",c.callServer,void 0,c.findSourceMapURL,"moveIssue"),u=(0,c.createServerReference)("400fbc4e797a5ff2ca8be3cfceda669990ea3cb583",c.callServer,void 0,c.findSourceMapURL,"blockIssue"),b=(0,c.createServerReference)("4079e5a38d4b908c82b1592ca4145bac75fa9cdddc",c.callServer,void 0,c.findSourceMapURL,"promoteBacklogItem"),p=(0,c.createServerReference)("40b958b631594e5113a81f7b91936c4ac45540972c",c.callServer,void 0,c.findSourceMapURL,"deleteBacklogItem"),f=(0,c.createServerReference)("00dcf7bba8dfe2aea38f8e1a0b604bdf20346de49b",c.callServer,void 0,c.findSourceMapURL,"groomBacklog");function h(){let e=(0,i.k)(),[l,n]=(0,a.useTransition)(),[c,r]=(0,a.useState)(null);return(0,s.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:8},children:[c&&(0,s.jsx)("span",{style:{fontSize:11.5,color:"var(--text-dim)"},children:c}),(0,s.jsxs)("button",{className:"btn-ghost",disabled:l,onClick:function(){r(null),n(async()=>{let l=await f();r(l.ok?e("pm.groomed",{n:l.groomed??0}):l.error??e("pm.groomFailed"))})},title:e("pm.groomDesc"),children:[l?(0,s.jsx)("span",{className:"sync-spin",children:(0,s.jsx)(o.I,{name:"refresh",size:13})}):(0,s.jsx)(o.I,{name:"branch",size:13})," ",l?e("pm.grooming"):e("pm.groom")]})]})}let v=["Must","Should","Could","Won't"],x={Must:"#e8688f",Should:"#e0a44e",Could:"#6cc7e0","Won't":"#6b7390"};function g({id:e,moscow:l}){let n=(0,i.k)(),[o,c]=(0,a.useState)(l??"Should"),[,t]=(0,a.useTransition)(),d=x[o];return(0,s.jsx)("button",{className:"pill",style:{background:d+"22",color:d,cursor:"pointer",border:"none"},title:n("pm.moscow.cycle"),onClick:function(){let l=v[(v.indexOf(o)+1)%v.length];c(l),t(()=>r(e,l))},children:o})}let k={todo:"doing",doing:"review",review:"done"};function j(){let e=(0,i.k)(),[l,n]=(0,a.useState)(!1),[c,r]=(0,a.useState)(""),[d,m]=(0,a.useState)("Should"),[u,b]=(0,a.useState)(3),[p,f]=(0,a.useTransition)();function h(){c.trim()&&f(async()=>{await t({title:c,moscow:d,points:u}),n(!1),r(""),m("Should"),b(3)})}return l?(0,s.jsx)("div",{className:"modal-overlay",onClick:()=>n(!1),children:(0,s.jsxs)("div",{className:"modal",onClick:e=>e.stopPropagation(),children:[(0,s.jsx)("div",{className:"modal-head",children:(0,s.jsxs)("div",{className:"modal-title",children:[(0,s.jsx)(o.I,{name:"goto",size:15})," ",e("pm.backlog.newItem")]})}),(0,s.jsxs)("div",{className:"modal-body",children:[(0,s.jsx)("label",{className:"form-label",children:e("pm.field.title")}),(0,s.jsx)("input",{className:"form-input",autoFocus:!0,placeholder:e("pm.backlog.titlePlaceholder"),value:c,onChange:e=>r(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h()}}),(0,s.jsxs)("div",{style:{display:"flex",gap:12,marginTop:12},children:[(0,s.jsxs)("div",{style:{flex:1},children:[(0,s.jsx)("label",{className:"form-label",children:e("pm.field.priorityMoscow")}),(0,s.jsx)("select",{className:"form-input",value:d,onChange:e=>m(e.target.value),children:v.map(e=>(0,s.jsx)("option",{value:e,children:e},e))})]}),(0,s.jsxs)("div",{style:{width:110},children:[(0,s.jsx)("label",{className:"form-label",children:e("pm.field.points")}),(0,s.jsx)("input",{className:"form-input",type:"number",min:0,value:u,onChange:e=>b(Number(e.target.value)||0)})]})]})]}),(0,s.jsxs)("div",{className:"modal-foot",children:[(0,s.jsx)("button",{className:"btn-ghost",onClick:()=>n(!1),children:e("common.cancel")}),(0,s.jsx)("button",{className:"btn-accent",disabled:p||!c.trim(),onClick:h,children:e(p?"pm.backlog.adding":"common.add")})]})]})}):(0,s.jsxs)("button",{className:"btn-accent",onClick:()=>n(!0),children:[(0,s.jsx)(o.I,{name:"add",size:14})," ",e("pm.backlog.addItem")]})}function S({id:e,col:l}){let n=(0,i.k)(),[c,r]=(0,a.useTransition)(),t=k[l],b=(e,l,n,a)=>(0,s.jsx)("button",{className:"chip-sm",disabled:c,title:e,style:{cursor:"pointer",display:"inline-flex",alignItems:"center",color:a},onClick:()=>r(l),children:(0,s.jsx)(o.I,{name:n,size:12})});return"blocked"===l?(0,s.jsx)("span",{style:{display:"inline-flex",gap:6},children:b(n("pm.action.unblock"),()=>d(e),"play","var(--sx-string)")}):(0,s.jsxs)("span",{style:{display:"inline-flex",gap:6},children:[t&&b(n("pm.action.advanceTo",{col:n(`pm.col.${t}`)}),()=>m(e,t),"chevronRight"),"done"!==l&&b(n("pm.action.block"),()=>u(e),"shield","#e8688f")]})}function y({id:e}){let l=(0,i.k)(),[n,c]=(0,a.useTransition)();return(0,s.jsxs)("span",{style:{display:"inline-flex",gap:6},children:[(0,s.jsx)("button",{className:"chip-sm",disabled:n,title:l("pm.action.promote"),style:{cursor:"pointer",display:"inline-flex",alignItems:"center"},onClick:()=>c(()=>b(e)),children:(0,s.jsx)(o.I,{name:"goto",size:12})}),(0,s.jsx)("button",{className:"chip-sm",disabled:n,title:l("pm.action.deleteBacklog"),style:{cursor:"pointer",display:"inline-flex",alignItems:"center"},onClick:()=>c(()=>p(e)),children:(0,s.jsx)(o.I,{name:"trash",size:12})})]})}},4724:(e,l,n)=>{Promise.resolve().then(n.t.bind(n,3283,23)),Promise.resolve().then(n.bind(n,3775)),Promise.resolve().then(n.bind(n,3693)),Promise.resolve().then(n.bind(n,181)),Promise.resolve().then(n.bind(n,6588)),Promise.resolve().then(n.bind(n,4414)),Promise.resolve().then(n.bind(n,6824)),Promise.resolve().then(n.bind(n,4942)),Promise.resolve().then(n.bind(n,2444)),Promise.resolve().then(n.bind(n,5787))}},e=>{e.O(0,[9219,3219,6836,8370,3775,6646,6834,7358],()=>e(e.s=4724)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1653],{2978:(e,s,a)=>{"use strict";a.d(s,{AgentRunLive:()=>o});var n=a(5076),l=a(8488),i=a(9860),t=a(8576),r=a(3653),d=a(5629);let c=["read","create","edit","run","search","thinking","done","error"];function o({channel:e,resume:s=!1,sinceSeq:a=0,onFinish:p}){let h=(0,d.k)(),m=(0,i.useRouter)(),[x,u]=(0,l.useState)(s),[v,g]=(0,l.useState)([]),[j,f]=(0,l.useState)(0),b=(0,l.useRef)(s?a:0),y=(0,l.useRef)(!1),k=(0,l.useRef)(0);if((0,l.useEffect)(()=>{s&&(b.current=a,y.current=!1,k.current=a>0?a:Date.now(),g([]),f(Math.max(0,Math.floor((Date.now()-k.current)/1e3))),u(!0))},[s,a]),(0,l.useEffect)(()=>{function s(s){let a=s.detail;a?.channel===e&&(b.current=Date.now()-1,y.current=!1,k.current=Date.now(),g([]),f(0),u(!0))}return window.addEventListener("constella:agent-run",s),()=>window.removeEventListener("constella:agent-run",s)},[e]),(0,l.useEffect)(()=>{if(!x)return;k.current||(k.current=Date.now());let e=setInterval(()=>f(Math.floor((Date.now()-k.current)/1e3)),1e3);return()=>clearInterval(e)},[x]),(0,l.useEffect)(()=>{if(!x)return;let s=!0,a=Date.now();async function n(){let n=await (0,r.k)(e,b.current);s&&(n.length&&(b.current=Math.max(b.current,...n.map(e=>e.seq)),g(e=>{let s=new Set(e.map(e=>e.id));return[...e,...n.filter(e=>!s.has(e.id))]}),n.some(e=>"done"===e.kind||"error"===e.kind)&&(y.current||(y.current=!0,m.refresh(),p?.()),setTimeout(()=>{s&&u(!1)},2500))),Date.now()-a>96e4&&u(!1))}n();let l=setInterval(n,700);return()=>{s=!1,clearInterval(l)}},[x,e,m,p]),!x&&0===v.length)return null;let N=function(e){let s=[];for(let a of e)if("text"===a.kind){let e=(a.detail||"").replace(/\s+/g," ").trim();if(!e)continue;let n=s[s.length-1];n&&"text"===n.kind?n.content=(n.content+" "+e).slice(-600):s.push({id:a.id,kind:"text",content:e})}else if("thinking"===a.kind){let e=(a.detail||a.target||"").replace(/\s+/g," ").trim();e&&s.push({id:a.id,kind:"thinking",content:e})}else s.push({id:a.id,kind:a.kind,content:function(e){if(!e)return"";let s=e.split(/[\\/]/);return s.length>1?s.slice(-2).join("/"):e}(a.target)||a.detail||""});return s}(v),w=N.slice(-5),I=N.length-w.length,z=v.some(e=>"done"===e.kind||"error"===e.kind),S=v.some(e=>"error"===e.kind),C=String(Math.floor(j/60)).padStart(2,"0"),R=String(j%60).padStart(2,"0");return(0,n.jsxs)("div",{className:"card live-stream",style:{marginBottom:16,borderColor:S?"var(--sx-keyword)":"var(--accent)"},children:[(0,n.jsxs)("div",{className:"set-desc",style:{marginBottom:8,display:"flex",alignItems:"center",gap:7},children:[x&&!z?(0,n.jsx)("span",{className:"dotpulse"}):(0,n.jsx)(t.I,{name:S?"close":"check",size:13,style:{color:S?"var(--sx-keyword)":"var(--sx-string)"}}),x&&!z?h("agent.run.working"):S?h("agent.run.failed"):h("agent.run.finished"),N.length>0&&(0,n.jsxs)("span",{style:{color:"var(--text-faint)"},children:["\xb7 ",h(1===N.length?"agent.run.steps.one":"agent.run.steps.other",{n:N.length})]}),(0,n.jsxs)("span",{className:"live-elapsed",style:{marginLeft:"auto"},children:[C,":",R]})]}),0===w.length?(0,n.jsxs)("div",{className:"muted",style:{fontSize:12,display:"flex",alignItems:"center",gap:7},children:[(0,n.jsx)("span",{className:"sync-spin",children:(0,n.jsx)(t.I,{name:"refresh",size:12})})," ",h("agent.run.reading")]}):(0,n.jsxs)(n.Fragment,{children:[I>0&&(0,n.jsx)("div",{className:"live-more",children:h(1===I?"agent.run.earlier.one":"agent.run.earlier.other",{n:I})}),(0,n.jsx)("div",{className:"live-stream-lines",children:w.map(e=>(0,n.jsxs)("div",{className:"live-line "+e.kind,children:["text"!==e.kind&&(0,n.jsx)("span",{className:"ll-k",children:c.includes(e.kind)?h(`agent.verb.${e.kind}`):e.kind}),(0,n.jsxs)("span",{className:"ll-c",children:[e.content,!z&&e===w[w.length-1]&&"text"===e.kind&&(0,n.jsx)("span",{className:"ll-caret"})]})]},e.id))})]})]})}},3653:(e,s,a)=>{"use strict";a.d(s,{k:()=>l});var n=a(7814);let l=(0,n.createServerReference)("60dba9908002f3000f3e7e8a0a7750d94f4e462c3d",n.callServer,void 0,n.findSourceMapURL,"getEvents")},3728:(e,s,a)=>{"use strict";a.d(s,{m:()=>d});var n=a(5076),l=a(8488),i=a(8576),t=a(9265),r=a(5629);function d({value:e,options:s,onChange:a,placeholder:c,mono:o,glyph:p,disabled:h,searchable:m}){let x=(0,r.k)(),[u,v]=(0,l.useState)(!1),[g,j]=(0,l.useState)(""),f=(0,l.useRef)(null),b=(0,l.useRef)(null),y=(0,l.useMemo)(()=>(s||[]).map(e=>"string"==typeof e?{value:e,label:e}:e),[s]),k=y.find(s=>s.value===e),N=(m??y.length>8)&&!h,w=g.trim().toLowerCase(),I=N&&w?y.filter(e=>(e.label+" "+e.value+" "+(e.sub||"")).toLowerCase().includes(w)):y;return(0,l.useEffect)(()=>{if(!u)return void j("");function e(e){f.current&&!f.current.contains(e.target)&&v(!1)}function s(e){"Escape"===e.key&&v(!1)}return document.addEventListener("mousedown",e),document.addEventListener("keydown",s),N&&requestAnimationFrame(()=>b.current?.focus()),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",s)}},[u,N]),(0,n.jsxs)("div",{className:"dd"+(u?" open":"")+(h?" disabled":""),ref:f,children:[(0,n.jsxs)("button",{type:"button",className:"dd-btn"+(o?" mono":""),onClick:()=>!h&&v(e=>!e),children:[p&&k&&(0,n.jsx)(t.W,{id:k.glyphId||k.value,size:20}),(0,n.jsx)("span",{className:"dd-val",children:k?k.label:(0,n.jsx)("span",{className:"dd-ph",children:c||x("common.selectEllipsis")})}),(0,n.jsx)(i.I,{name:"chevronDown",size:14})]}),u&&(0,n.jsxs)("div",{className:"dd-menu scroll",children:[N&&(0,n.jsxs)("div",{style:{position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",gap:6,padding:"6px 8px",margin:"-4px -4px 4px",background:"var(--bg-elev, var(--bg-active))",borderBottom:"1px solid var(--border)"},children:[(0,n.jsx)(i.I,{name:"search",size:13}),(0,n.jsx)("input",{ref:b,value:g,placeholder:x("common.searchEllipsis"),onChange:e=>j(e.target.value),onKeyDown:e=>{"Enter"===e.key&&I[0]?(a(I[0].value),v(!1)):"Escape"===e.key&&g&&(e.stopPropagation(),j(""))},className:o?"mono":void 0,style:{flex:1,minWidth:0,background:"transparent",border:"none",outline:"none",color:"var(--text)",fontSize:12.5,fontFamily:o?"var(--mono-font)":"inherit"}}),g&&(0,n.jsx)("button",{type:"button",title:x("common.clear"),onClick:()=>{j(""),b.current?.focus()},style:{background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",display:"flex",padding:0},children:(0,n.jsx)(i.I,{name:"close",size:12})})]}),0===y.length&&(0,n.jsx)("div",{className:"dd-empty",children:x("common.noOptions")}),y.length>0&&0===I.length&&(0,n.jsx)("div",{className:"dd-empty",children:x("dropdown.noMatch",{q:g})}),I.map(s=>(0,n.jsxs)("button",{type:"button",className:"dd-opt"+(s.value===e?" on":""),onClick:()=>{a(s.value),v(!1)},children:[p&&(0,n.jsx)(t.W,{id:s.glyphId||s.value,size:22}),(0,n.jsxs)("span",{className:"dd-opt-main",children:[(0,n.jsx)("span",{className:"dd-opt-label"+(o?" mono":""),children:s.label}),s.sub&&(0,n.jsx)("span",{className:"dd-opt-sub",children:s.sub})]}),s.tag&&(0,n.jsx)("span",{className:"dd-opt-tag",children:s.tag}),s.value===e&&(0,n.jsx)(i.I,{name:"check",size:13})]},s.value))]})]})}},6792:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,9088)),Promise.resolve().then(a.bind(a,181)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,6824)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444)),Promise.resolve().then(a.bind(a,5787))},9088:(e,s,a)=>{"use strict";a.d(s,{PrepareDeploy:()=>I});var n=a(5076),l=a(8488),i=a(3283),t=a.n(i),r=a(8576),d=a(3728),c=a(2978),o=a(5629),p=a(7814);let h=(0,p.createServerReference)("0061123fafa00cf35f376ccd7e9d514448138dbdfd",p.callServer,void 0,p.findSourceMapURL,"getDeployRun"),m=(0,p.createServerReference)("00ca52b13a6ca414ed3d4b6d989660403934f8bfcf",p.callServer,void 0,p.findSourceMapURL,"runDeployPipeline"),x=(0,p.createServerReference)("0072e2e8a8574b859cd4e36a2fcd0ef954e3b7da36",p.callServer,void 0,p.findSourceMapURL,"previewCleanExport"),u=(0,p.createServerReference)("00b863b9f4f6e160a57c4d5966bb6307390ea80e53",p.callServer,void 0,p.findSourceMapURL,"getDeployEnv"),v=(0,p.createServerReference)("4024097bdd06dda61f6cde1a54fc69f6977bae8102",p.callServer,void 0,p.findSourceMapURL,"exportCleanSource"),g=(0,p.createServerReference)("00e825032ee3ad46199f05ebf9c99c7b9be10d16c6",p.callServer,void 0,p.findSourceMapURL,"runBuildOnly"),j=(0,p.createServerReference)("003bee6576188d0c5549e13dbd1ec4707e13a18a41",p.callServer,void 0,p.findSourceMapURL,"runTestsOnly"),f=(0,p.createServerReference)("00fbb2afb29ffabe20e21e0da8227c8878069d3150",p.callServer,void 0,p.findSourceMapURL,"generateReadme"),b=(0,p.createServerReference)("00dfa8bc820edd74e1b585649af203588a440a069a",p.callServer,void 0,p.findSourceMapURL,"generateDeployDocs"),y=["analyze","deps","env","tests","secrets","build","validateBuild","agent","package"],k={idle:{bg:"var(--bg-active)",c:"var(--text-dim)"},running:{bg:"color-mix(in srgb, var(--accent) 18%, transparent)",c:"var(--accent)"},done:{bg:"rgba(179,217,122,.16)",c:"var(--sx-string)"},failed:{bg:"rgba(232,104,143,.16)",c:"#e8688f"},blocked:{bg:"rgba(232,104,143,.16)",c:"#e8688f"}},N={ok:{icon:"check",c:"var(--sx-string)"},warn:{icon:"warn",c:"var(--sx-number)"},fail:{icon:"close",c:"#e8688f"},todo:{icon:"dot",c:"var(--text-faint)"}};function w(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function I({hasToken:e,repos:s,project:a,env:i,run:p,checklist:z}){let S=(0,o.k)(),[,C]=(0,l.useTransition)(),[R,E]=(0,l.useState)(""),[L,M]=(0,l.useState)(p),[_,F]=(0,l.useState)(i),[q,B]=(0,l.useState)(z),[D,P]=(0,l.useState)(null),[$,U]=(0,l.useState)(!1),[A,O]=(0,l.useState)(!e),[T,G]=(0,l.useState)(""),[K,V]=(0,l.useState)(s[0]?.full??""),[W,H]=(0,l.useState)(""),[J,Q]=(0,l.useState)(s[0]?.branch??"main"),[X,Y]=(0,l.useState)(null),Z=(0,l.useRef)("running"===p.status),ee=(0,l.useRef)(p.startedAt??0),es=(0,l.useCallback)(()=>{h().then(e=>{M(e),B(e.checklist)})},[]);function ea(){window.dispatchEvent(new CustomEvent("constella:agent-run",{detail:{channel:"deploy"}}))}function en(e,s){E(e),ea(),C(async()=>{await s(),es(),E("")})}function el(){E("scan"),C(async()=>{P(await x()),E("")})}function ei(){E("env"),C(async()=>{F(await u()),E("")})}(0,l.useEffect)(()=>{if("running"!==L.status)return;let e=!0,s=setInterval(async()=>{let a=await h();e&&(M(a),"running"!==a.status&&(B(a.checklist),clearInterval(s)))},900);return()=>{e=!1,clearInterval(s)}},[L.status]);let et=k[L.status]??k.idle,er=L.steps.length?L.steps:y.map(e=>({key:e,label:e,status:"waiting"})),ed=(s.length&&!A?K:W)||s[0]?.full||S("deploy.notConfigured"),ec=!!D?.blocked,eo=!_.detected,ep=!A&&s.length>0?!K:!W.trim()||!T.trim();return(0,n.jsxs)("div",{className:"pd-page",children:[(0,n.jsxs)("div",{className:"hw-card pd-hero",children:[(0,n.jsx)("span",{className:"hw-ic",children:(0,n.jsx)(r.I,{name:"cpu",size:20})}),(0,n.jsxs)("div",{className:"pd-hero-body",children:[(0,n.jsxs)("div",{className:"pd-hero-top",children:[(0,n.jsx)("div",{className:"hw-t",children:a?a.name:S("deploy.env.noProject")}),(0,n.jsx)("span",{className:"pd-pill",style:{background:et.bg,color:et.c},children:S("deploy.status."+L.status)})]}),(0,n.jsxs)("div",{className:"pd-hero-meta",children:[(0,n.jsxs)("span",{children:[(0,n.jsx)(r.I,{name:"cpu",size:12})," ",_.framework??_.runtime,_.runLabel?` \xb7 ${_.runLabel}`:""]}),(0,n.jsxs)("span",{children:[(0,n.jsx)(r.I,{name:"goto",size:12})," ",ed,J?` \xb7 ${J}`:""]}),(0,n.jsxs)("span",{children:[(0,n.jsx)(r.I,{name:"calendar",size:12})," ",S("deploy.lastPrep"),": ",L.startedAt?`${function(e){if(!e)return"";let s=Math.floor((Date.now()-e)/1e3);return s<60?`${s}s`:s<3600?`${Math.floor(s/60)}m`:s<86400?`${Math.floor(s/3600)}h`:`${Math.floor(s/86400)}d`}(L.startedAt)}`:S("deploy.never")]}),L.lastExport?.ok&&(0,n.jsxs)("span",{children:[(0,n.jsx)(r.I,{name:"check",size:12})," ",L.lastExport.sha]})]})]}),(0,n.jsxs)("div",{className:"pd-hero-actions",children:[(0,n.jsx)("button",{className:"btn-accent",disabled:"prep"===R||"running"===L.status||eo,onClick:function(){E("prep"),U(!0),ea(),M({...L,status:"running",steps:y.map(e=>({key:e,label:e,status:"waiting"}))}),C(async()=>{let e=await m();M(e),B(e.checklist),E("")})},children:"prep"===R||"running"===L.status?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"sync-spin",children:(0,n.jsx)(r.I,{name:"refresh",size:13})})," ",S("deploy.preparing")]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.I,{name:"play",size:13})," ","idle"===L.status?S("deploy.run"):S("deploy.runAgain")]})}),(0,n.jsxs)("button",{className:"btn-ghost",onClick:()=>document.getElementById("pd-export")?.scrollIntoView({behavior:"smooth"}),children:[(0,n.jsx)(r.I,{name:"arrowUp",size:13})," ",S("deploy.export")]}),(0,n.jsxs)("button",{className:"btn-ghost",onClick:()=>{U(e=>!e),document.getElementById("pd-logs")?.scrollIntoView({behavior:"smooth"})},children:[(0,n.jsx)(r.I,{name:"terminal",size:13})," ",S("deploy.logs")]})]})]}),(0,n.jsxs)("div",{className:"pd-cols",style:{alignItems:"stretch"},children:[(0,n.jsxs)("div",{className:"pd-col",children:[(0,n.jsxs)("div",{className:"hw-card",children:[(0,n.jsxs)("div",{className:"hw-head",children:[(0,n.jsx)("span",{className:"hw-ic",children:(0,n.jsx)(r.I,{name:"split",size:18})}),(0,n.jsxs)("div",{style:{flex:1},children:[(0,n.jsx)("div",{className:"hw-t",children:S("deploy.pipeline")}),(0,n.jsxs)("div",{className:"hw-s",children:[_.framework??_.runtime,_.runLabel?` \xb7 ${_.runLabel}`:""]})]})]}),(0,n.jsx)("div",{className:"ceo-pipe",children:er.map((e,s)=>{var a;return(0,n.jsxs)("div",{className:"ceo-stage "+function(e){switch(e){case"done":return"done";case"running":return"active";case"error":case"blocked":return"fail";case"needs-action":return"wait";default:return"todo"}}(e.status),children:[(0,n.jsx)("span",{className:"cs-dot",children:(a=e.status,"done"===a?(0,n.jsx)(r.I,{name:"check",size:13}):"error"===a||"blocked"===a?"!":"running"===a?(0,n.jsx)("span",{className:"sync-spin",children:(0,n.jsx)(r.I,{name:"refresh",size:12})}):"needs-action"===a?"~":s+1)}),(0,n.jsxs)("div",{className:"cs-main",children:[(0,n.jsx)("div",{className:"cs-t",children:S("deploy.step."+e.key)}),e.detail&&(0,n.jsx)("div",{className:"cs-d",children:e.detail}),(0,n.jsx)("div",{className:"cs-meta",children:S("deploy.st."+e.status)})]})]},e.key)})})]}),(0,n.jsxs)("div",{id:"pd-logs",children:[(0,n.jsx)(c.AgentRunLive,{channel:"deploy",resume:Z.current,sinceSeq:ee.current,onFinish:es}),$&&L.buildLog&&(0,n.jsx)("pre",{className:"pd-log",children:L.buildLog})]}),(0,n.jsxs)("div",{className:"hw-card",children:[(0,n.jsxs)("div",{className:"hw-head",children:[(0,n.jsx)("span",{className:"hw-ic",children:(0,n.jsx)(r.I,{name:"grid",size:18})}),(0,n.jsx)("div",{style:{flex:1},children:(0,n.jsx)("div",{className:"hw-t",children:S("deploy.qa.title")})})]}),(0,n.jsxs)("div",{className:"pd-quick",children:[(0,n.jsxs)("button",{className:"btn-ghost",disabled:!!R||eo,onClick:()=>en("build",g),children:[(0,n.jsx)(r.I,{name:"cpu",size:13})," ",S("deploy.qa.build")]}),(0,n.jsxs)("button",{className:"btn-ghost",disabled:!!R||eo,onClick:()=>en("tests",j),children:[(0,n.jsx)(r.I,{name:"check",size:13})," ",S("deploy.qa.tests")]}),(0,n.jsxs)("button",{className:"btn-ghost",disabled:!!R,onClick:el,children:[(0,n.jsx)(r.I,{name:"shield",size:13})," ",S("deploy.qa.scan")]}),(0,n.jsxs)("button",{className:"btn-ghost",disabled:!!R||eo,onClick:()=>en("readme",f),children:[(0,n.jsx)(r.I,{name:"doc",size:13})," ",S("deploy.qa.readme")]}),(0,n.jsxs)("button",{className:"btn-ghost",disabled:!!R||eo,onClick:()=>en("deploydocs",b),children:[(0,n.jsx)(r.I,{name:"doc",size:13})," ",S("deploy.qa.deploydocs")]}),(0,n.jsxs)("button",{className:"btn-ghost",disabled:!!R,onClick:ei,children:[(0,n.jsx)(r.I,{name:"settings",size:13})," ",S("deploy.qa.env")]}),(0,n.jsxs)("button",{className:"btn-ghost",disabled:!!R,onClick:el,children:[(0,n.jsx)(r.I,{name:"files",size:13})," ",S("deploy.qa.review")]}),(0,n.jsxs)(t(),{href:"/inbox",className:"btn-ghost",children:[(0,n.jsx)(r.I,{name:"bell",size:13})," ",S("deploy.qa.inbox")]})]})]}),(0,n.jsxs)("div",{className:"hw-card",children:[(0,n.jsxs)("div",{className:"hw-head",children:[(0,n.jsx)("span",{className:"hw-ic",children:(0,n.jsx)(r.I,{name:"shield",size:18})}),(0,n.jsx)("div",{style:{flex:1},children:(0,n.jsx)("div",{className:"hw-t",children:S("deploy.sec.title")})}),(0,n.jsx)("button",{className:"btn-ghost",disabled:!!R,onClick:el,children:"scan"===R?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"sync-spin",children:(0,n.jsx)(r.I,{name:"refresh",size:12})})," ",S("deploy.sec.scanning")]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.I,{name:"refresh",size:12})," ",S("deploy.sec.rescan")]})})]}),null===D?(0,n.jsx)("div",{className:"home-empty",children:S("deploy.sec.notRun")}):D.secrets.length>0?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"pd-gate",children:[(0,n.jsx)(r.I,{name:"shield",size:14})," ",S("deploy.sec.blocked")]}),(0,n.jsx)("div",{className:"srv-log scroll",style:{maxHeight:150},children:D.secrets.map((e,s)=>(0,n.jsxs)("div",{className:"lg-warn",children:[e.file,":",e.line," \xb7 ",e.kind]},s))}),(0,n.jsxs)(t(),{href:"/inbox",className:"btn-ghost",style:{marginTop:8},children:[(0,n.jsx)(r.I,{name:"bell",size:13})," ",S("deploy.sec.openInbox")]})]}):(0,n.jsxs)("div",{className:"pd-ok",children:[(0,n.jsx)(r.I,{name:"check",size:14,style:{color:"var(--sx-string)"}})," ",S("deploy.sec.clean")]})]})]}),(0,n.jsxs)("div",{className:"pd-col",children:[(0,n.jsxs)("div",{className:"hw-card",children:[(0,n.jsxs)("div",{className:"hw-head",children:[(0,n.jsx)("span",{className:"hw-ic",children:(0,n.jsx)(r.I,{name:"check",size:18})}),(0,n.jsx)("div",{style:{flex:1},children:(0,n.jsx)("div",{className:"hw-t",children:S("deploy.checklist")})})]}),(0,n.jsx)("div",{className:"pd-checklist",children:q.map(e=>{let s=N[e.status]??N.todo;return(0,n.jsxs)("div",{className:"pd-chk-row",children:[(0,n.jsx)(r.I,{name:s.icon,size:14,style:{color:s.c,flex:"0 0 auto"}}),(0,n.jsx)("span",{className:"pd-chk-label",children:S("deploy.chk."+e.key)}),e.detail&&(0,n.jsx)("span",{className:"pd-chk-detail",children:e.detail})]},e.key)})})]}),(0,n.jsxs)("div",{className:"hw-card",style:{flex:1,display:"flex",flexDirection:"column"},children:[(0,n.jsxs)("div",{className:"hw-head",children:[(0,n.jsx)("span",{className:"hw-ic",children:(0,n.jsx)(r.I,{name:"settings",size:18})}),(0,n.jsx)("div",{style:{flex:1},children:(0,n.jsx)("div",{className:"hw-t",children:S("deploy.env.title")})}),(0,n.jsxs)("button",{className:"btn-ghost",disabled:!!R,onClick:ei,children:[(0,n.jsx)(r.I,{name:"refresh",size:12})," ",S("deploy.env.validate")]})]}),eo?(0,n.jsx)("div",{className:"home-empty",children:S("deploy.env.noProject")}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"pd-env-grid",children:[(0,n.jsx)("span",{className:"pd-env-k",children:S("deploy.env.runtime")}),(0,n.jsx)("span",{className:"pd-env-v",children:_.runtime}),_.framework&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"pd-env-k",children:S("deploy.env.framework")}),(0,n.jsx)("span",{className:"pd-env-v",children:_.framework})]}),_.packageManager&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"pd-env-k",children:S("deploy.env.pm")}),(0,n.jsx)("span",{className:"pd-env-v",children:_.packageManager})]}),(0,n.jsx)("span",{className:"pd-env-k",children:S("deploy.env.database")}),(0,n.jsx)("span",{className:"pd-env-v",children:"none"===_.database?S("deploy.env.none"):S("deploy.db."+_.database)}),_.ports.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"pd-env-k",children:S("deploy.env.ports")}),(0,n.jsx)("span",{className:"pd-env-v",children:_.ports.join(", ")})]}),(0,n.jsx)("span",{className:"pd-env-k",children:S("deploy.env.docker")}),(0,n.jsx)("span",{className:"pd-env-v",children:_.hasDockerfile||_.hasCompose?S("deploy.env.yes"):S("deploy.env.no")}),(0,n.jsx)("span",{className:"pd-env-k",children:S("deploy.env.build")}),(0,n.jsx)("span",{className:"pd-env-v mono",children:_.buildScript||"—"}),(0,n.jsx)("span",{className:"pd-env-k",children:S("deploy.env.start")}),(0,n.jsx)("span",{className:"pd-env-v mono",children:_.startScript||"—"}),(0,n.jsx)("span",{className:"pd-env-k",children:S("deploy.env.mode")}),(0,n.jsx)("span",{className:"pd-env-v",children:_.mode})]}),(0,n.jsxs)("div",{className:"pd-env-vars",style:{marginTop:"auto"},children:[(0,n.jsx)("div",{className:"pa-flabel",children:S("deploy.env.requiredVars")}),0===_.requiredEnv.length&&0===_.unsetEnvKeys.length&&(0,n.jsx)("div",{className:"hw-s",children:"—"}),_.requiredEnv.map(e=>(0,n.jsx)("span",{className:"pd-var",children:e.key},e.key)),_.unsetEnvKeys.map(e=>(0,n.jsx)("span",{className:"pd-var warn",title:S("deploy.env.unset"),children:e},e))]})]})]})]})]}),(0,n.jsxs)("div",{className:"hw-card",children:[(0,n.jsxs)("div",{className:"hw-head",children:[(0,n.jsx)("span",{className:"hw-ic",children:(0,n.jsx)(r.I,{name:"files",size:18})}),(0,n.jsx)("div",{style:{flex:1},children:(0,n.jsx)("div",{className:"hw-t",children:S("deploy.pkg.title")})}),(0,n.jsx)("button",{className:"btn-ghost",disabled:!!R,onClick:el,children:"scan"===R?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"sync-spin",children:(0,n.jsx)(r.I,{name:"refresh",size:12})})," ",S("deploy.pkg.loading")]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.I,{name:"files",size:13})," ",S("deploy.pkg.review")]})})]}),null===D?(0,n.jsxs)("div",{className:"home-empty",children:[S("deploy.pkg.review"),"."]}):0===D.includedCount?(0,n.jsx)("div",{className:"home-empty",children:S("deploy.pkg.empty")}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"pd-pkg-meta",children:[(0,n.jsxs)("span",{children:[(0,n.jsx)("b",{children:D.includedCount})," ",S("deploy.pkg.included")]}),(0,n.jsxs)("span",{children:[(0,n.jsx)("b",{children:D.ignoredCount})," ",S("deploy.pkg.ignored")]}),(0,n.jsxs)("span",{children:[(0,n.jsx)("b",{children:w(D.totalBytes)})," ",S("deploy.pkg.size")]}),(0,n.jsxs)("span",{children:[S("deploy.pkg.buildOutput"),": ",(0,n.jsx)("b",{style:{color:D.hasBuild?"var(--sx-string)":"var(--text-dim)"},children:D.hasBuild?S("deploy.pkg.present"):S("deploy.pkg.absent")})]})]}),(0,n.jsx)("div",{className:"folder-grid",style:{marginTop:10},children:D.tree.map(e=>(0,n.jsxs)("div",{className:"folder-item",children:[(0,n.jsx)(r.I,{name:"dir"===e.kind?"files":"doc",size:15}),(0,n.jsx)("span",{className:"fi-name",children:e.name}),(0,n.jsx)("span",{className:"hw-s",style:{marginLeft:"auto"},children:"dir"===e.kind?`${e.childCount} ${S("deploy.pkg.files")}`:w(e.size??0)})]},e.name))}),D.docs.length>0&&(0,n.jsxs)("div",{className:"pd-pkg-docs",children:[S("deploy.pkg.docs"),": ",D.docs.map(e=>(0,n.jsx)("span",{className:"pd-var",children:e},e))]})]})]}),(0,n.jsxs)("div",{className:"hw-card",id:"pd-export",children:[(0,n.jsxs)("div",{className:"hw-head",children:[(0,n.jsx)("span",{className:"hw-ic",children:(0,n.jsx)(r.I,{name:"goto",size:18})}),(0,n.jsxs)("div",{style:{flex:1},children:[(0,n.jsx)("div",{className:"hw-t",children:S("deploy.exp.title")}),(0,n.jsx)("div",{className:"hw-s",children:S("deploy.exp.sub")})]})]}),(0,n.jsxs)("div",{className:"form-hint",style:{marginBottom:10},children:[(0,n.jsx)(r.I,{name:"shield",size:12})," ",S("deploy.exp.diff")]}),ec&&(0,n.jsxs)("div",{className:"pd-gate",style:{marginBottom:10},children:[(0,n.jsx)(r.I,{name:"shield",size:14})," ",S("deploy.exp.gate")]}),s.length>0&&(0,n.jsxs)("div",{className:"seg",style:{marginBottom:10},children:[(0,n.jsx)("button",{className:"seg-opt"+(A?"":" on"),onClick:()=>O(!1),children:S("deploy.exp.connected")}),(0,n.jsx)("button",{className:"seg-opt"+(A?" on":""),onClick:()=>O(!0),children:S("deploy.exp.token")})]}),!A&&s.length>0?(0,n.jsxs)("div",{style:{marginBottom:8},children:[(0,n.jsx)("div",{className:"pa-flabel",style:{marginBottom:4},children:S("deploy.exp.target")}),(0,n.jsx)(d.m,{value:K,options:s.map(e=>({value:e.full,label:e.full,tag:e.private?S("deploy.exp.private"):S("deploy.exp.public")})),onChange:e=>{V(e),Q(s.find(s=>s.full===e)?.branch??"main")}})]}):(0,n.jsxs)("div",{style:{display:"grid",gap:8,marginBottom:8},children:[(0,n.jsx)("input",{className:"form-input mono",type:"password",placeholder:S("deploy.exp.tokenPh"),value:T,onChange:e=>G(e.target.value)}),(0,n.jsx)("input",{className:"form-input mono",placeholder:S("deploy.exp.repoPh"),value:W,onChange:e=>H(e.target.value)})]}),(0,n.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[(0,n.jsx)("input",{className:"form-input mono",style:{maxWidth:160},placeholder:S("deploy.exp.branch"),value:J,onChange:e=>Q(e.target.value)}),(0,n.jsx)("button",{className:"btn-accent",disabled:"export"===R||ec||ep,onClick:function(){E("export"),Y(null);let e=(s.length&&!A?K:W).trim();C(async()=>{let s=await v({repo:e,token:A&&T.trim()||void 0,branch:J.trim()||"main"});Y(s),s.blocked&&s.secrets&&P(e=>e?{...e,secrets:s.secrets,blocked:!0}:e),E("")})},children:"export"===R?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"sync-spin",children:(0,n.jsx)(r.I,{name:"refresh",size:13})})," ",S("deploy.exp.exporting")]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.I,{name:"arrowUp",size:13})," ",S("deploy.exp.title")]})})]}),X&&(0,n.jsx)("div",{className:"pd-result",style:{marginTop:12},children:X.ok?(0,n.jsxs)("div",{style:{fontSize:12.5,color:"var(--sx-string)"},children:[(0,n.jsx)(r.I,{name:"check",size:13})," ",S("deploy.exp.pushedPrefix")," ",X.copied," ",S("deploy.exp.pushedSuffix")," \xb7 ",X.sha]}):X.blocked?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{style:{fontSize:12.5,color:"#e8688f",marginBottom:6},children:[(0,n.jsx)(r.I,{name:"shield",size:13})," ",X.error]}),(0,n.jsx)("div",{className:"srv-log scroll",style:{maxHeight:140},children:(X.secrets??[]).map((e,s)=>(0,n.jsxs)("div",{className:"lg-warn",children:[e.file,":",e.line," \xb7 ",e.kind]},s))}),(0,n.jsx)("div",{className:"form-hint",style:{marginTop:6},children:S("deploy.exp.blockedNote")})]}):(0,n.jsx)("div",{style:{fontSize:12.5,color:"#e8688f"},children:X.error})})]})]})}},9265:(e,s,a)=>{"use strict";a.d(s,{W:()=>r});var n=a(5076),l=a(8488);let i={anthropic:"anthropic",claude_code:"claude",openai:"openai",codex_cli:"openai",google:"google",google_gemini:"gemini",gemini_cli:"gemini",vertex_ai:"vertexai",mistral:"mistral",deepseek:"deepseek",cohere:"cohere",perplexity:"perplexity",xai_grok:"grok",groq:"groq",ai21:"ai21",nvidia_nim:"nvidia",huggingface:"huggingface",replicate:"replicate",azure_openai:"azure",aws_bedrock:"bedrock",cloudflare:"cloudflare",dashscope:"qwen",zhipu:"zhipu",moonshot:"moonshot",minimax:"minimax",together:"together",openrouter:"openrouter",fireworks:"fireworks",cerebras:"cerebras",ollama:"ollama",ollama_cli:"ollama",lmstudio:"lmstudio",vllm:"vllm",localai:"localai",elevenlabs:"elevenlabs",stability:"stability",jina:"jina",voyage:"voyage"},t={anthropic:["#d97757","An"],openai:["#10a37f","AI"],google_gemini:["#4285f4","G"],google:["#4285f4","G"],mistral:["#fa520f","Mi"],xai_grok:["#1a1a1a","X"],deepseek:["#4d6bfe","DS"],cohere:["#39594d","Co"],ai21:["#e8488a","A2"],perplexity:["#20808d","Px"],groq:["#f55036","Gq"],nvidia_nim:["#76b900","NV"],together:["#0f6fff","To"],fireworks:["#5019c5","Fw"],cerebras:["#f25733","Cb"],huggingface:["#ff9d00","HF"],replicate:["#1a1a1a","Rp"],openrouter:["#6566f1","OR"],litellm:["#00b8a3","LL"],portkey:["#3b5bdb","Pk"],azure_openai:["#0078d4","Az"],aws_bedrock:["#ff9900","Br"],vertex_ai:["#4285f4","Vx"],cloudflare:["#f38020","Cf"],dashscope:["#ff6a00","Qw"],zhipu:["#3859ff","GL"],moonshot:["#16162a","Ki"],minimax:["#e1342c","MM"],ollama:["#0c0c0c","Ol"],llamacpp:["#7a4ddb","Lc"],lmstudio:["#4a5cff","LM"],vllm:["#1668dc","vL"],localai:["#2e7d32","La"],gpt4all:["#5b6cff","G4"],jan:["#1a1a1a","Jn"],claude_code:["#d97757","CC"],codex_cli:["#10a37f","Cx"],gemini_cli:["#4285f4","Gc"],aider:["#14b8a6","Ad"],ollama_cli:["#0c0c0c","Oc"],openclaw:["#e8590c","OC"],hermes_cli:["#6d28d9","Hm"],opencode:["#1a1a1a","Oc"],copilot_cli:["#1f2328","Co"],cursor_cli:["#1a1a1a","Cu"],cline_cli:["#2563eb","Cl"],kilo_code:["#7c3aed","Ki"],voyage:["#5b21b6","Vo"],jina:["#ec4899","Ji"],stability:["#a855f7","St"],elevenlabs:["#1a1a1a","El"]};function r({id:e,size:s=34,radius:a}){let d,c=t[e],o=c?c[0]:"#5b6378",p=c?c[1]:(e||"?").slice(0,2).replace(/[^a-z0-9]/gi,"").toUpperCase(),h=(d=i[e])?`https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg/icons/${d}.svg`:null,[m,x]=(0,l.useState)(!1),u=null!=a?a:Math.round(.28*s),v=h&&!m,g=Math.round(.66*s);return(0,n.jsx)("span",{className:"prov-glyph",style:{width:s,height:s,flex:"0 0 "+s+"px",borderRadius:u,background:v?"#fff":"linear-gradient(150deg, "+o+", color-mix(in srgb, "+o+" 70%, #000))",color:"#fff",display:"grid",placeItems:"center",overflow:"hidden",fontSize:Math.round(.4*s),fontWeight:800,letterSpacing:"-.5px",boxShadow:v?"inset 0 0 0 1px rgba(0,0,0,.08)":"inset 0 1px 0 rgba(255,255,255,.18)"},children:v?(0,n.jsx)("img",{src:h,alt:"",width:g,height:g,loading:"lazy",onError:()=>x(!0),style:{width:g,height:g,objectFit:"contain",display:"block"}}):p})}}},e=>{e.O(0,[9219,3219,6836,8370,6646,6834,7358],()=>e(e.s=6792)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[101],{3085:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,9849)),Promise.resolve().then(a.bind(a,181)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,6824)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444)),Promise.resolve().then(a.bind(a,5787))},4055:(e,s,a)=>{"use strict";a.d(s,{Jv:()=>l,yK:()=>n});var i=a(5138),r=a(8618);let n=(0,i.M)({baseURL:window.location.origin,plugins:[(0,r.N)()]}),{signIn:l,signUp:t,signOut:c,useSession:o,twoFactor:d}=n},4276:(e,s,a)=>{"use strict";a.d(s,{K:()=>r});var i=a(7814);let r=(0,i.createServerReference)("00ab9927a86440472b5cf26fdd4def0f285a68079c",i.callServer,void 0,i.findSourceMapURL,"disconnectTelegram")},4552:(e,s,a)=>{"use strict";a.d(s,{e:()=>r});var i=a(5076);function r({name:e,color:s,size:a=24,health:n,image:l}){let t=Math.max(6,Math.round(.3*a)),c=Math.round(.28*a),o=l?/^(data:|https?:|\/)/.test(l)?l:`/api/upload?path=${encodeURIComponent(l)}`:null;return(0,i.jsxs)("span",{style:{position:"relative",width:a,height:a,flex:`0 0 ${a}px`,display:"inline-block"},children:[o?(0,i.jsx)("img",{src:o,alt:e,width:a,height:a,style:{width:a,height:a,borderRadius:c,objectFit:"cover",display:"block"}}):(0,i.jsx)("span",{style:{width:a,height:a,borderRadius:c,background:s,color:"#fff",display:"grid",placeItems:"center",fontSize:Math.round(.42*a),fontWeight:700},children:(e[0]||"?").toUpperCase()}),n&&(0,i.jsx)("span",{style:{position:"absolute",right:-1,bottom:-1,width:t,height:t,borderRadius:"50%",background:"alive"===n?"var(--sx-string)":"stale"===n?"var(--sx-number)":"var(--text-faint)",border:"1.5px solid var(--bg-elevated)"}})]})}},6693:(e,s,a)=>{"use strict";a.d(s,{M:()=>r});var i=a(7814);let r=(0,i.createServerReference)("70c7731b108f014faf75e2ba778682d83c81ad6646",i.callServer,void 0,i.findSourceMapURL,"connectTelegram")},8006:(e,s,a)=>{"use strict";a.d(s,{n:()=>c});var i=a(5076),r=a(8488),n=a(4552),l=a(8576),t=a(5629);function c({name:e,color:s,image:a,size:o=64,onChange:d}){let m=(0,t.k)(),h=(0,r.useRef)(null),[f,p]=(0,r.useState)(!1),[u,x]=(0,r.useState)(""),[,v]=(0,r.useTransition)();async function j(e){if(e){x(""),p(!0);try{let s=await function(e,s=160){return new Promise((a,i)=>{let r=URL.createObjectURL(e),n=new Image;n.onload=()=>{URL.revokeObjectURL(r);let e=Math.min(1,s/Math.max(n.width,n.height)),l=Math.max(1,Math.round(n.width*e)),t=Math.max(1,Math.round(n.height*e)),c=document.createElement("canvas");c.width=l,c.height=t;let o=c.getContext("2d");if(!o)return void i(Error("canvas unavailable"));o.drawImage(n,0,0,l,t);let d=c.toDataURL("image/webp",.85);d.startsWith("data:image/webp")||(d=c.toDataURL("image/jpeg",.85)),d.length>6e5&&(d=c.toDataURL("image/jpeg",.6)),a(d)},n.onerror=()=>{URL.revokeObjectURL(r),i(Error("invalid image"))},n.src=r})}(e);v(()=>d(s))}catch{x(m("chrome.avatar.processError"))}finally{p(!1),h.current&&(h.current.value="")}}}return(0,i.jsxs)("div",{className:"avatar-upload",children:[(0,i.jsx)(n.e,{name:e,color:s,image:a,size:o}),(0,i.jsxs)("div",{className:"avatar-upload-actions",children:[(0,i.jsxs)("button",{className:"btn-ghost",disabled:f,onClick:()=>h.current?.click(),children:[f?(0,i.jsx)("span",{className:"sync-spin",children:(0,i.jsx)(l.I,{name:"refresh",size:12})}):(0,i.jsx)(l.I,{name:"add",size:12})," ",a?m("chrome.avatar.change"):m("chrome.avatar.upload")]}),u&&(0,i.jsx)("span",{style:{fontSize:11,color:"#e8688f"},children:u}),(0,i.jsx)("input",{ref:h,type:"file",accept:".png,.jpg,.jpeg,.gif,.webp",hidden:!0,onChange:e=>j(e.target.files?.[0])})]})]})}},9849:(e,s,a)=>{"use strict";a.d(s,{Profile:()=>R,ProfileSaveButton:()=>L});var i=a(5076),r=a(8488),n=a(9860),l=a(2320),t=a(4055),c=a(8576),o=a(8006),d=a(6824),m=a(5629),h=a(7814);let f=(0,h.createServerReference)("40c85820def5803f3a9d54d933eb918b15d90b838a",h.callServer,void 0,h.findSourceMapURL,"updateProfile"),p=(0,h.createServerReference)("409578e833742438f85eca112f74f4d631356f1cf7",h.callServer,void 0,h.findSourceMapURL,"removePasskey"),u=(0,h.createServerReference)("0030de7d84721074ca2c38fb96d3e99e7adbe2b115",h.callServer,void 0,h.findSourceMapURL,"revokeOtherSessionsAction"),x=(0,h.createServerReference)("00a782e5d3c8dd68f47e067a435acd0c8fe0089219",h.callServer,void 0,h.findSourceMapURL,"deleteAccountAction"),v=(0,h.createServerReference)("604b3f96e4b0483edec3ec9f2f6daeac4fcdc8bbb1",h.callServer,void 0,h.findSourceMapURL,"createPAT"),j=(0,h.createServerReference)("409ea47becd1f3f5c10a03dfe397bddcea7c125f30",h.callServer,void 0,h.findSourceMapURL,"revokePAT"),g=(0,h.createServerReference)("407582551cfcbf2ac958cbe9bb798c5ab9b4596935",h.callServer,void 0,h.findSourceMapURL,"unlinkSocial");var b=a(4276),N=a(6693);let k=(0,h.createServerReference)("602483e14c0bdc4b5eb30468c3ef23b28e28b0df97",h.callServer,void 0,h.findSourceMapURL,"setNotifPref"),y=(0,h.createServerReference)("40bf46adf5ba85892bebf71f92748ed2bcbfecf292",h.callServer,void 0,h.findSourceMapURL,"setMotionPref"),w=(0,h.createServerReference)("4063c93f1ee771828f6137bb585d64b60ae5977ed5",h.callServer,void 0,h.findSourceMapURL,"revokeSessionAction"),S="constella:profile-save",C=[{id:"account",icon:"account"},{id:"security",icon:"shield"},{id:"connections",icon:"git"},{id:"notifications",icon:"bell"},{id:"sessions",icon:"cpu"}];function R(e){let s=(0,m.k)(),[a,n]=(0,r.useState)("account");return(0,i.jsxs)("div",{className:"settings",children:[(0,i.jsx)("div",{className:"settings-nav",children:C.map(e=>(0,i.jsxs)("button",{className:"sn-item"+(a===e.id?" on":""),onClick:()=>n(e.id),children:[(0,i.jsx)(c.I,{name:e.icon,size:15})," ",s(`profile.tab.${e.id}`)]},e.id))}),(0,i.jsxs)("div",{className:"settings-panel",children:["account"===a&&(0,i.jsx)(P,{account:e.account}),"security"===a&&(0,i.jsx)(U,{account:e.account,passkeys:e.passkeys}),"tokens"===a&&(0,i.jsx)(z,{tokens:e.tokens}),"connections"===a&&(0,i.jsx)(I,{connections:e.connections}),"notifications"===a&&(0,i.jsx)(T,{prefs:e.prefs}),"sessions"===a&&(0,i.jsx)(E,{sessions:e.sessions})]})]})}function L(){let e=(0,m.k)(),[s,a]=(0,r.useState)(!1);return((0,r.useEffect)(()=>{function e(){a(!0),setTimeout(()=>a(!1),1600)}return window.addEventListener(S+":done",e),()=>window.removeEventListener(S+":done",e)},[]),s)?(0,i.jsxs)("span",{className:"oauth-ok",style:{padding:"6px 11px"},children:[(0,i.jsx)(c.I,{name:"check",size:13})," ",e("common.saved")]}):(0,i.jsxs)("button",{className:"btn-accent",onClick:()=>window.dispatchEvent(new CustomEvent(S)),children:[(0,i.jsx)(c.I,{name:"check",size:14})," ",e("profile.saveChanges")]})}function P({account:e}){let s=(0,m.k)(),[a,n]=(0,r.useState)(e.name),[l,t]=(0,r.useState)(e.addressAs),[c,h]=(0,r.useState)(e.lang),[p,u]=(0,r.useState)(e.tz),[,x]=(0,r.useTransition)();(0,r.useEffect)(()=>{function e(){x(async()=>{await f({name:a,addressAs:l,lang:c,tz:p}),window.dispatchEvent(new CustomEvent(S+":done"))})}return window.addEventListener(S,e),()=>window.removeEventListener(S,e)},[a,l,c,p,x]);let[v,j]=(0,r.useState)(e.image??null);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"set-card",children:(0,i.jsxs)("div",{className:"set-row",style:{paddingTop:0},children:[(0,i.jsx)(o.n,{name:a||s("profile.operatorFallback"),color:"#9a5cff",image:v,size:64,onChange:e=>{j(e),x(()=>f({image:e}))}}),(0,i.jsxs)("div",{className:"sr-main",children:[(0,i.jsx)("div",{className:"sr-title",style:{fontSize:16,fontWeight:700},children:a}),(0,i.jsxs)("div",{className:"sr-sub",children:[e.email," \xb7 ",s("profile.role.owner")]})]})]})}),(0,i.jsxs)("div",{className:"set-card",children:[(0,i.jsx)("h4",{children:s("profile.account.title")}),(0,i.jsx)("div",{className:"set-desc",children:s("profile.account.desc")}),(0,i.jsxs)("div",{className:"set-grid",children:[(0,i.jsxs)("div",{className:"form-field",children:[(0,i.jsx)("label",{className:"form-label",children:s("common.name")}),(0,i.jsx)("input",{className:"form-input",value:a,onChange:e=>n(e.target.value)})]}),(0,i.jsxs)("div",{className:"form-field",children:[(0,i.jsx)("label",{className:"form-label",children:s("profile.field.email")}),(0,i.jsx)("input",{className:"form-input",value:e.email,readOnly:!0})]})]})]}),(0,i.jsxs)("div",{className:"set-card",children:[(0,i.jsx)("h4",{children:s("profile.operatorContext.title")}),(0,i.jsx)("div",{className:"set-desc",children:s("profile.operatorContext.desc")}),(0,i.jsxs)("div",{className:"set-grid",children:[(0,i.jsxs)("div",{className:"form-field",children:[(0,i.jsx)("label",{className:"form-label",children:s("profile.field.addressAs")}),(0,i.jsx)("input",{className:"form-input",value:l,onChange:e=>t(e.target.value)})]}),(0,i.jsxs)("div",{className:"form-field",children:[(0,i.jsx)("label",{className:"form-label",children:s("profile.field.agentLanguage")}),(0,i.jsxs)("select",{className:"form-input",value:c,onChange:e=>h(e.target.value),children:[(0,i.jsx)("option",{children:"English (US)"}),(0,i.jsx)("option",{children:"Portugu\xeas (BR)"}),(0,i.jsx)("option",{children:"Espa\xf1ol"})]})]}),(0,i.jsxs)("div",{className:"form-field",children:[(0,i.jsx)("label",{className:"form-label",children:s("profile.field.interfaceLanguage")}),(0,i.jsx)("div",{style:{paddingTop:4},children:(0,i.jsx)(d.LangSwitch,{})})]}),(0,i.jsxs)("div",{className:"form-field",children:[(0,i.jsx)("label",{className:"form-label",children:s("profile.field.timezone")}),(0,i.jsxs)("select",{className:"form-input",value:p,onChange:e=>u(e.target.value),children:[(0,i.jsx)("option",{children:"UTC"}),(0,i.jsx)("option",{children:"America/Sao_Paulo"}),(0,i.jsx)("option",{children:"America/New_York"}),(0,i.jsx)("option",{children:"Europe/Lisbon"})]})]})]})]})]})}function U({passkeys:e}){let s=(0,m.k)(),a=(0,n.useRouter)(),[o,d]=(0,r.useState)(""),[h,f]=(0,r.useState)(""),[v,j]=(0,r.useState)(""),[g,b]=(0,r.useState)(!1),[N,k]=(0,r.useTransition)(),y=e.length>0;async function w(){b(!0),j("");let e=await t.yK.changePassword({currentPassword:o,newPassword:h,revokeOtherSessions:!0});b(!1),j(e.error?e.error.message??s("profile.msg.failed"):s("profile.msg.passwordUpdated")),e.error||(d(""),f(""))}async function S(){j("");try{let e=await fetch("/api/passkey/register/options",{method:"POST"}).then(e=>e.json());if(e.error)return void j(e.error);let s=await (0,l.Ct)({optionsJSON:e}),i=await fetch("/api/passkey/register/verify",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({response:s,name:"Passkey"})}).then(e=>e.json());if(i.error)return void j(i.error);a.refresh()}catch(e){j(e instanceof Error?e.message:s("profile.msg.passkeyCancelled"))}}return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"set-card",children:[(0,i.jsx)("h4",{children:s("profile.password.title")}),(0,i.jsx)("div",{className:"set-desc",children:s("profile.password.desc")}),(0,i.jsxs)("div",{className:"set-grid",children:[(0,i.jsxs)("div",{className:"form-field",children:[(0,i.jsx)("label",{className:"form-label",children:s("profile.field.currentPassword")}),(0,i.jsx)("input",{className:"form-input",type:"password",placeholder:"••••••••",value:o,onChange:e=>d(e.target.value)})]}),(0,i.jsxs)("div",{className:"form-field",children:[(0,i.jsx)("label",{className:"form-label",children:s("profile.field.newPassword")}),(0,i.jsx)("input",{className:"form-input",type:"password",placeholder:"••••••••",value:h,onChange:e=>f(e.target.value)})]})]}),(0,i.jsxs)("button",{className:"btn-ghost",style:{marginTop:12},disabled:g||o.length<8||h.length<8,onClick:w,children:[(0,i.jsx)(c.I,{name:"shield",size:13})," ",s("profile.password.update")]}),v&&(0,i.jsx)("div",{className:"sr-sub",style:{marginTop:8},children:v})]}),(0,i.jsxs)("div",{className:"set-card",children:[(0,i.jsx)("h4",{children:s("profile.auth.title")}),(0,i.jsx)("div",{className:"set-desc",children:s("profile.auth.desc")}),(0,i.jsxs)("div",{className:"set-row",children:[(0,i.jsx)("div",{className:"brand-ico",children:(0,i.jsx)(c.I,{name:"account",size:15})}),(0,i.jsxs)("div",{className:"sr-main",children:[(0,i.jsxs)("div",{className:"sr-title",children:[s("profile.passkey.label")," ",y&&(0,i.jsx)("span",{className:"pill",style:{background:"var(--sx-string)22",color:"var(--sx-string)"},children:e.length})]}),(0,i.jsx)("div",{className:"sr-sub",children:s("profile.passkey.desc")})]}),(0,i.jsxs)("button",{className:"btn-ghost",onClick:S,children:[(0,i.jsx)(c.I,{name:"add",size:13})," ",s("profile.passkey.add")]})]}),e.map(e=>(0,i.jsxs)("div",{className:"set-row",children:[(0,i.jsx)("div",{className:"brand-ico",children:(0,i.jsx)(c.I,{name:"shield",size:15})}),(0,i.jsxs)("div",{className:"sr-main",children:[(0,i.jsxs)("div",{className:"sr-title",children:[e.name," ",e.backedUp&&(0,i.jsx)("span",{className:"pill",style:{background:"var(--sx-string)22",color:"var(--sx-string)"},children:s("profile.passkey.synced")})]}),(0,i.jsx)("div",{className:"sr-sub",children:s("profile.passkey.added",{date:new Date(1e3*e.createdAt).toLocaleDateString()})})]}),(0,i.jsx)("button",{className:"link-btn",style:{color:"var(--sx-keyword)"},disabled:N,onClick:()=>k(()=>p(e.id)),children:s("common.remove")})]},e.id)),!y&&(0,i.jsx)("div",{className:"set-row",children:(0,i.jsx)("div",{className:"sr-main",children:(0,i.jsx)("div",{className:"sr-sub",style:{color:"var(--text-faint)"},children:s("profile.passkey.none")})})}),(0,i.jsxs)("div",{className:"set-row",children:[(0,i.jsx)("div",{className:"brand-ico",children:(0,i.jsx)(c.I,{name:"account",size:15})}),(0,i.jsxs)("div",{className:"sr-main",children:[(0,i.jsx)("div",{className:"sr-title",children:s("profile.biometrics.label")}),(0,i.jsx)("div",{className:"sr-sub",children:s("profile.biometrics.desc")})]}),(0,i.jsx)("div",{className:"toggle"+(y?" on":""),style:{opacity:.5,cursor:"default"}})]}),v&&(0,i.jsx)("div",{className:"sr-sub",style:{marginTop:8},children:v})]}),(0,i.jsxs)("div",{className:"set-card danger-card",children:[(0,i.jsx)("h4",{style:{color:"var(--sx-keyword)"},children:s("profile.danger.title")}),(0,i.jsx)("div",{className:"set-desc",children:s("profile.danger.desc")}),(0,i.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,i.jsxs)("button",{className:"btn-danger",disabled:N,onClick:()=>k(()=>u()),children:[(0,i.jsx)(c.I,{name:"close",size:13})," ",s("profile.danger.signOutOthers")]}),(0,i.jsxs)("button",{className:"btn-danger",disabled:N,onClick:()=>{confirm(s("profile.danger.deleteConfirm"))&&k(()=>x())},children:[(0,i.jsx)(c.I,{name:"trash",size:13})," ",s("profile.danger.deleteAccount")]})]})]})]})}function z({tokens:e}){let s=(0,m.k)(),[a,n]=(0,r.useState)(""),[l,t]=(0,r.useState)("read"),[o,d]=(0,r.useState)(null),[h,f]=(0,r.useTransition)();return(0,i.jsxs)("div",{className:"set-card",children:[(0,i.jsx)("div",{style:{display:"flex",alignItems:"center",marginBottom:12},children:(0,i.jsxs)("div",{children:[(0,i.jsx)("h4",{style:{marginBottom:2},children:s("profile.tokens.title")}),(0,i.jsx)("div",{className:"set-desc",style:{margin:0},children:s("profile.tokens.desc")})]})}),(0,i.jsxs)("div",{style:{display:"flex",gap:8,marginBottom:12},children:[(0,i.jsx)("input",{className:"form-input",placeholder:s("profile.tokens.namePlaceholder"),value:a,onChange:e=>n(e.target.value)}),(0,i.jsxs)("select",{className:"form-input",value:l,onChange:e=>t(e.target.value),style:{maxWidth:160},children:[(0,i.jsx)("option",{value:"read",children:"read"}),(0,i.jsx)("option",{value:"repo, deploy",children:"repo, deploy"}),(0,i.jsx)("option",{value:"full",children:"full"})]}),(0,i.jsxs)("button",{className:"btn-accent",disabled:h,onClick:function(){f(async()=>{d((await v(a||"New token",l)).token),n("")})},children:[(0,i.jsx)(c.I,{name:"add",size:13})," ",s("profile.tokens.generate")]})]}),o&&(0,i.jsxs)("div",{className:"set-card",style:{background:"var(--bg-app)",marginBottom:12},children:[(0,i.jsx)("div",{className:"set-desc",style:{margin:0},children:s("profile.tokens.copyNow")}),(0,i.jsx)("span",{className:"token-pill",style:{display:"block",padding:8,marginTop:6,wordBreak:"break-all"},children:o})]}),e.map(e=>(0,i.jsxs)("div",{className:"set-row",children:[(0,i.jsx)("div",{className:"brand-ico",children:(0,i.jsx)(c.I,{name:"skill",size:15})}),(0,i.jsxs)("div",{className:"sr-main",children:[(0,i.jsx)("div",{className:"sr-title",children:e.name}),(0,i.jsxs)("div",{className:"sr-sub",children:[s("profile.tokens.scope",{scope:e.scope}),e.lastUsed?` \xb7 ${s("profile.tokens.used",{date:new Date(1e3*e.lastUsed).toLocaleDateString()})}`:` \xb7 ${s("profile.tokens.neverUsed")}`]})]}),(0,i.jsxs)("span",{className:"token-pill",children:[e.prefix,"••••"]}),(0,i.jsx)(M,{id:e.id})]},e.id)),0===e.length&&(0,i.jsx)("div",{style:{color:"var(--text-faint)",fontSize:12.5,padding:"8px 0"},children:s("profile.tokens.none")})]})}function M({id:e}){let s=(0,m.k)(),[a,n]=(0,r.useTransition)();return(0,i.jsx)("button",{className:"link-btn",style:{color:"var(--sx-keyword)"},disabled:a,onClick:()=>n(()=>j(e)),children:s("common.revoke")})}function I({connections:e}){let s=(0,m.k)(),a=(0,n.useRouter)(),[l,o]=(0,r.useState)(!1),[d,h]=(0,r.useState)(""),[f,p]=(0,r.useState)(""),[u,x]=(0,r.useState)(""),[v,j]=(0,r.useState)(""),[k,y]=(0,r.useTransition)();async function w(e){await t.yK.linkSocial({provider:e,callbackURL:"/profile"})}return(0,i.jsxs)("div",{className:"set-card",children:[(0,i.jsx)("h4",{children:s("profile.connections.title")}),(0,i.jsx)("div",{className:"set-desc",children:s("profile.connections.desc")}),[{k:"github",name:"GitHub",glyph:"git"},{k:"google",name:"Google",glyph:"account"}].map(a=>{let r=e.providers.includes(a.k),n=e.linked.includes(a.k);return(0,i.jsxs)("div",{className:"set-row",children:[(0,i.jsx)("div",{className:"brand-ico",children:(0,i.jsx)(c.I,{name:a.glyph,size:15})}),(0,i.jsxs)("div",{className:"sr-main",children:[(0,i.jsx)("div",{className:"sr-title",children:a.name}),(0,i.jsx)("div",{className:"sr-sub",children:s(`profile.provider.${a.k}.sub`)})]}),r?n?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("span",{className:"oauth-ok",style:{padding:"4px 9px",fontSize:11.5},children:[(0,i.jsx)(c.I,{name:"check",size:12})," ",s("common.connected")]}),(0,i.jsx)("button",{className:"link-btn",style:{color:"var(--sx-keyword)"},disabled:k,onClick:()=>y(()=>g(a.k)),children:s("common.disconnect")})]}):(0,i.jsx)("button",{className:"btn-ghost",onClick:()=>w(a.k),children:s("common.connect")}):(0,i.jsx)("span",{className:"sr-sub",style:{color:"var(--text-faint)"},children:s("profile.connections.configureCredentials")})]},a.k)}),(0,i.jsxs)("div",{className:"set-row",children:[(0,i.jsx)("div",{className:"brand-ico",children:(0,i.jsx)(c.I,{name:"bell",size:15})}),(0,i.jsxs)("div",{className:"sr-main",children:[(0,i.jsx)("div",{className:"sr-title",children:s("profile.telegram.title")}),(0,i.jsx)("div",{className:"sr-sub",children:s("profile.telegram.desc")})]}),e.telegram?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("span",{className:"oauth-ok",style:{padding:"4px 9px",fontSize:11.5},children:[(0,i.jsx)(c.I,{name:"check",size:12})," ",s("common.connected")]}),(0,i.jsx)("button",{className:"link-btn",style:{color:"var(--sx-keyword)"},disabled:k,onClick:()=>y(()=>(0,b.K)()),children:s("common.disconnect")})]}):(0,i.jsx)("button",{className:"btn-ghost",onClick:()=>o(e=>!e),children:s("common.connect")})]}),l&&!e.telegram&&(0,i.jsxs)("div",{className:"set-row",style:{borderBottom:"none",gap:8,flexWrap:"wrap"},children:[(0,i.jsx)("input",{className:"form-input",placeholder:s("profile.telegram.botPlaceholder"),value:d,onChange:e=>h(e.target.value)}),(0,i.jsx)("input",{className:"form-input",placeholder:s("profile.telegram.chatPlaceholder"),value:f,onChange:e=>p(e.target.value),style:{maxWidth:150}}),(0,i.jsx)("input",{className:"form-input",placeholder:s("profile.telegram.namePlaceholder"),value:u,onChange:e=>x(e.target.value),style:{maxWidth:150}}),(0,i.jsx)("button",{className:"btn-accent",disabled:k||!d||!f,onClick:()=>{j(""),y(async()=>{let e=await (0,N.M)(d,f,u);e.ok?(o(!1),h(""),p(""),x(""),a.refresh()):j(e.error??s("profile.msg.failed"))})},children:s("common.save")}),v&&(0,i.jsx)("div",{style:{fontSize:11,color:"#e8688f",width:"100%"},children:v})]})]})}function T({prefs:e}){let s=(0,m.k)(),a=(0,n.useRouter)(),[l,t]=(0,r.useState)(e),[c,o]=(0,r.useTransition)();return(0,i.jsxs)("div",{className:"set-card",children:[(0,i.jsx)("h4",{children:s("profile.notif.title")}),(0,i.jsx)("div",{className:"set-desc",children:s("profile.notif.desc")}),["email","telegram","inapp","weekly"].map(e=>(0,i.jsxs)("div",{className:"set-row",children:[(0,i.jsxs)("div",{className:"sr-main",children:[(0,i.jsx)("div",{className:"sr-title",children:s(`profile.notif.${e}.label`)}),(0,i.jsx)("div",{className:"sr-sub",children:s(`profile.notif.${e}.desc`)})]}),(0,i.jsx)("div",{className:"toggle"+(l[e]?" on":""),onClick:()=>(function(e){if(c)return;let s=!l[e];t(a=>({...a,[e]:s})),o(()=>k(e,s))})(e)})]},e)),(0,i.jsxs)("div",{className:"set-row",children:[(0,i.jsxs)("div",{className:"sr-main",children:[(0,i.jsx)("div",{className:"sr-title",children:s("profile.notif.reducedMotion.label")}),(0,i.jsx)("div",{className:"sr-sub",children:s("profile.notif.reducedMotion.desc")})]}),(0,i.jsx)("div",{className:"toggle"+(l.reducedMotion?" on":""),onClick:function(){if(c)return;let e=!l.reducedMotion;t(s=>({...s,reducedMotion:e})),o(async()=>{await y(e),a.refresh()})}})]})]})}function E({sessions:e}){let s=(0,m.k)(),[a,n]=(0,r.useTransition)();return(0,i.jsx)(i.Fragment,{children:(0,i.jsxs)("div",{className:"set-card",children:[(0,i.jsx)("h4",{children:s("profile.sessions.title")}),(0,i.jsx)("div",{className:"set-desc",children:s("profile.sessions.desc")}),e.map(e=>(0,i.jsxs)("div",{className:"set-row",children:[(0,i.jsx)("div",{className:"brand-ico",children:(0,i.jsx)(c.I,{name:"cpu",size:15})}),(0,i.jsxs)("div",{className:"sr-main",children:[(0,i.jsxs)("div",{className:"sr-title",children:[e.device.slice(0,60)," ",e.current&&(0,i.jsx)("span",{className:"pill",style:{background:"var(--sx-string)22",color:"var(--sx-string)"},children:s("profile.sessions.current")})]}),(0,i.jsxs)("div",{className:"sr-sub",children:[e.ip||s("profile.sessions.local")," \xb7 ",s("profile.sessions.since",{date:new Date(1e3*e.createdAt).toLocaleDateString()})]})]}),!e.current&&(0,i.jsx)("button",{className:"link-btn",style:{color:"var(--sx-keyword)"},disabled:a,onClick:()=>n(()=>w(e.token)),children:s("profile.sessions.end")})]},e.id)),0===e.length&&(0,i.jsx)("div",{style:{color:"var(--text-faint)",fontSize:12.5,padding:"8px 0"},children:s("profile.sessions.none")})]})})}}},e=>{e.O(0,[9219,7555,2320,3219,6836,8370,6646,6834,7358],()=>e(e.s=3085)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5049],{856:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,5865)),Promise.resolve().then(a.bind(a,181)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,6824)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444)),Promise.resolve().then(a.bind(a,5787))},5865:(e,s,a)=>{"use strict";a.d(s,{ValidatePanel:()=>o});var n=a(5076),r=a(8488),i=a(8576),l=a(5629),t=a(7814);let d=(0,t.createServerReference)("40473457a80c07701cd6da1f87de0b24a7eae66c7e",t.callServer,void 0,t.findSourceMapURL,"validateWorkspace");function o(){let e=(0,l.k)(),[s,a]=(0,r.useTransition)(),[t,o]=(0,r.useState)(null);return(0,n.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[t&&(0,n.jsxs)("span",{className:"pill",style:{background:(t.ok?"var(--sx-string)":"var(--sx-number)")+"22",color:t.ok?"var(--sx-string)":"var(--sx-number)"},children:[t.ok?e("planner.validate.valid"):e("planner.validate.issues",{n:t.issues.length}),t.repaired.length?` \xb7 ${e("planner.validate.repaired",{n:t.repaired.length})}`:""]}),(0,n.jsxs)("button",{className:"btn-ghost",disabled:s,onClick:()=>a(async()=>o(await d())),children:[(0,n.jsx)(i.I,{name:"shield",size:13})," ",e("planner.validate.validate")]}),(0,n.jsxs)("button",{className:"btn-accent",disabled:s,onClick:()=>a(async()=>o(await d({repair:!0}))),children:[(0,n.jsx)(i.I,{name:"refresh",size:13,className:s?"sync-spin":""})," ",e("planner.validate.repair")]})]})}}},e=>{e.O(0,[9219,3219,6836,8370,6646,6834,7358],()=>e(e.s=856)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[148,3719],{5403:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,3283,23)),Promise.resolve().then(n.bind(n,181)),Promise.resolve().then(n.bind(n,6588)),Promise.resolve().then(n.bind(n,4414)),Promise.resolve().then(n.bind(n,6824)),Promise.resolve().then(n.bind(n,4942)),Promise.resolve().then(n.bind(n,2444)),Promise.resolve().then(n.bind(n,5787))}},e=>{e.O(0,[9219,3219,6836,8370,6646,6834,7358],()=>e(e.s=5403)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4639],{4596:(e,r,s)=>{"use strict";s.d(r,{GenerateReportButton:()=>d});var n=s(5076),t=s(8488),i=s(9860),o=s(8576),a=s(7814);let c=(0,a.createServerReference)("00053833b69ac3c4e496389cc49196dc28e65b5d5f",a.callServer,void 0,a.findSourceMapURL,"generateReport");var l=s(5629);function d(){let e=(0,l.k)(),[r,s]=(0,t.useTransition)(),a=(0,i.useRouter)();return(0,n.jsxs)("button",{className:"btn-accent",disabled:r,onClick:()=>s(async()=>{let e=await c();e.ok&&e.id?a.push(`/reports/${e.id}`):a.refresh()}),children:[(0,n.jsx)(o.I,{name:"doc",size:14,className:r?"sync-spin":""})," ",e(r?"reports.generating":"reports.generate")]})}},9166:(e,r,s)=>{Promise.resolve().then(s.t.bind(s,3283,23)),Promise.resolve().then(s.bind(s,4596)),Promise.resolve().then(s.bind(s,181)),Promise.resolve().then(s.bind(s,6588)),Promise.resolve().then(s.bind(s,4414)),Promise.resolve().then(s.bind(s,6824)),Promise.resolve().then(s.bind(s,4942)),Promise.resolve().then(s.bind(s,2444)),Promise.resolve().then(s.bind(s,5787))}},e=>{e.O(0,[9219,3219,6836,8370,6646,6834,7358],()=>e(e.s=9166)),_N_E=e.O()}]);