constellai 0.3.4 → 0.3.6

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 (268) 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 +5 -5
  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 +6 -6
  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 +3 -3
  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 +16 -16
  122. package/.next/server/app/api/locks/acquire/route.js +1 -1
  123. package/.next/server/app/api/sync/file/route.js +1 -1
  124. package/.next/server/app/api/telegram/poll/route.js +11 -11
  125. package/.next/server/app/api/upload/route.js +1 -1
  126. package/.next/server/app/api/v1/[[...path]]/route.js +1 -1
  127. package/.next/server/app-paths-manifest.json +3 -3
  128. package/.next/server/chunks/1249.js +14 -14
  129. package/.next/server/chunks/158.js +21 -0
  130. package/.next/server/chunks/1765.js +1 -0
  131. package/.next/server/chunks/2495.js +1 -0
  132. package/.next/server/chunks/2517.js +1 -1
  133. package/.next/server/chunks/259.js +9 -9
  134. package/.next/server/chunks/2867.js +2 -2
  135. package/.next/server/chunks/2960.js +1 -1
  136. package/.next/server/chunks/3131.js +1 -1
  137. package/.next/server/chunks/3234.js +4 -4
  138. package/.next/server/chunks/4467.js +12 -0
  139. package/.next/server/chunks/4619.js +1 -1
  140. package/.next/server/chunks/4979.js +12 -12
  141. package/.next/server/chunks/535.js +1 -0
  142. package/.next/server/chunks/6431.js +1 -1
  143. package/.next/server/chunks/7225.js +4 -0
  144. package/.next/server/chunks/7336.js +1 -1
  145. package/.next/server/chunks/7589.js +3 -3
  146. package/.next/server/chunks/7989.js +1 -1
  147. package/.next/server/chunks/850.js +1 -1
  148. package/.next/server/chunks/8561.js +3 -3
  149. package/.next/server/chunks/8623.js +1 -1
  150. package/.next/server/chunks/8719.js +417 -0
  151. package/.next/server/chunks/8823.js +1 -1
  152. package/.next/server/chunks/9783.js +3 -3
  153. package/.next/server/chunks/9969.js +1 -1
  154. package/.next/server/instrumentation.js +1 -1
  155. package/.next/server/middleware-build-manifest.js +1 -1
  156. package/.next/server/pages/500.html +1 -1
  157. package/.next/server/server-reference-manifest.js +1 -1
  158. package/.next/server/server-reference-manifest.json +1 -1
  159. package/.next/static/chunks/2831-d7f6495bf43f4f9d.js +4 -0
  160. package/.next/static/chunks/3219-486bddbf87074d04.js +1 -0
  161. package/.next/static/chunks/3775-82dcdf23109aa5bf.js +1 -0
  162. package/.next/static/chunks/6836-341614c5418e2aa4.js +1 -0
  163. package/.next/static/chunks/8306-7418693cd7fd5861.js +1 -0
  164. package/.next/static/chunks/8370-8b3e7106703024ce.js +12 -0
  165. package/.next/static/chunks/9690-ea874aec65263b9d.js +1 -0
  166. package/.next/static/chunks/app/(app)/activity/{page-09bc1c776962737c.js → page-cf8d67941440bdce.js} +1 -1
  167. package/.next/static/chunks/app/(app)/agents/[handle]/page-7baa24f1ae8bc400.js +1 -0
  168. package/.next/static/chunks/app/(app)/code/page-b342d74807e8b914.js +1 -0
  169. package/.next/static/chunks/app/(app)/config/page-1e68ba8d20215d67.js +1 -0
  170. package/.next/static/chunks/app/(app)/costs/page-a58d759eec6048df.js +1 -0
  171. package/.next/static/chunks/app/(app)/cron/page-cc7f4e3d8ab5618f.js +1 -0
  172. package/.next/static/chunks/app/(app)/dashboard/page-7757c33acf751c4c.js +1 -0
  173. package/.next/static/chunks/app/(app)/design/{page-d457cdfa525acb85.js → page-f48c0487d240248e.js} +3 -3
  174. package/.next/static/chunks/app/(app)/docs/[id]/page-95c52cf457d869ef.js +1 -0
  175. package/.next/static/chunks/app/(app)/docs/page-fbc50cd357d5e2ca.js +1 -0
  176. package/.next/static/chunks/app/(app)/github/page-dac138256ed91e65.js +1 -0
  177. package/.next/static/chunks/app/(app)/goals/page-f87d40f6832d63b3.js +1 -0
  178. package/.next/static/chunks/app/(app)/inbox/page-49c1293e0d98874f.js +12 -0
  179. package/.next/static/chunks/app/(app)/knowledge/page-18fca436883ed5cc.js +1 -0
  180. package/.next/static/chunks/app/(app)/layout-c9778f98c0103f74.js +1 -0
  181. package/.next/static/chunks/app/(app)/models/page-030c085cd7767495.js +1 -0
  182. package/.next/static/chunks/app/(app)/notifications/page-12af3fee8b36a00e.js +12 -0
  183. package/.next/static/chunks/app/(app)/org/page-576001ff4a820744.js +12 -0
  184. package/.next/static/chunks/app/(app)/organizations/page-b973e1eee6e56baf.js +1 -0
  185. package/.next/static/chunks/app/(app)/page-cef52fc5f4fd4418.js +1 -0
  186. package/.next/static/chunks/app/(app)/planner/page-da2db56914346192.js +1 -0
  187. package/.next/static/chunks/app/(app)/plugins/page-3b78b76ecb21d616.js +1 -0
  188. package/.next/static/chunks/app/(app)/pm/page-78303379c1ea5dc5.js +1 -0
  189. package/.next/static/chunks/app/(app)/prepare-deploy/page-98b1bd3bf712bb60.js +1 -0
  190. package/.next/static/chunks/app/(app)/profile/page-de24af53de0ef2b2.js +1 -0
  191. package/.next/static/chunks/app/(app)/pulse/page-db7fd63369c01fa2.js +1 -0
  192. package/.next/static/chunks/app/(app)/reports/[id]/page-cc7f4e3d8ab5618f.js +1 -0
  193. package/.next/static/chunks/app/(app)/reports/page-97ab95e6f8b77b62.js +1 -0
  194. package/.next/static/chunks/app/(app)/routines/{page-cf4e597389865ae8.js → page-cf6a3331775ca11b.js} +1 -1
  195. package/.next/static/chunks/app/(app)/search/page-3960825f66b05606.js +1 -0
  196. package/.next/static/chunks/app/(app)/security/page-53b0770355cf7aa4.js +1 -0
  197. package/.next/static/chunks/app/(app)/skills/page-809a73b94861f8b8.js +1 -0
  198. package/.next/static/chunks/app/(app)/tasks/page-b2497927d127f7aa.js +1 -0
  199. package/.next/static/chunks/app/(app)/test-dev/page-93ec5d89e2afb612.js +1 -0
  200. package/.next/static/chunks/app/(app)/update/page-a23322af4e59a93c.js +1 -0
  201. package/.next/static/chunks/app/(auth)/login/page-446681bfb762cb05.js +1 -0
  202. package/.next/static/chunks/app/(auth)/onboarding/page-2b8cb3e0b024c995.js +1 -0
  203. package/.next/trace-build +1 -1
  204. package/CHANGELOG.md +50 -0
  205. package/README.md +7 -1
  206. package/README.pt-BR.md +7 -1
  207. package/bin/constella-update.mjs +19 -7
  208. package/bin/constella.mjs +1 -1
  209. package/bin/worker.mjs +1 -0
  210. package/docs/UPDATE.md +17 -2
  211. package/docs/roadmap.md +36 -0
  212. package/package.json +1 -1
  213. package/scripts/i18n-parity.mjs +1 -1
  214. package/scripts/install.sh +4 -2
  215. package/scripts/publish-public.mjs +12 -3
  216. package/scripts/vps-clean.sh +1 -1
  217. package/scripts/vps-install.sh +24 -7
  218. package/scripts/vps-update.sh +27 -16
  219. package/.next/server/chunks/319.js +0 -1
  220. package/.next/server/chunks/4828.js +0 -1
  221. package/.next/server/chunks/5697.js +0 -1
  222. package/.next/server/chunks/6151.js +0 -12
  223. package/.next/server/chunks/6798.js +0 -21
  224. package/.next/server/chunks/6903.js +0 -417
  225. package/.next/server/chunks/8486.js +0 -4
  226. package/.next/static/chunks/3219-9684aa1c634212de.js +0 -1
  227. package/.next/static/chunks/4353-12629098ed83e468.js +0 -1
  228. package/.next/static/chunks/4398-e798770ae782576f.js +0 -1
  229. package/.next/static/chunks/4428-09f7d473d9e33d59.js +0 -1
  230. package/.next/static/chunks/7457-c37382c6f4e115f8.js +0 -4
  231. package/.next/static/chunks/8370-6da6aa10d687b8ae.js +0 -12
  232. package/.next/static/chunks/9690-00ad96a74abac075.js +0 -1
  233. package/.next/static/chunks/app/(app)/agents/[handle]/page-b11e5f8f25fb2f88.js +0 -1
  234. package/.next/static/chunks/app/(app)/code/page-ff6925db6e10e3cc.js +0 -1
  235. package/.next/static/chunks/app/(app)/config/page-4df2facd9c81adb5.js +0 -1
  236. package/.next/static/chunks/app/(app)/costs/page-c0a07c0283731a8c.js +0 -1
  237. package/.next/static/chunks/app/(app)/cron/page-662e6e1a25b14025.js +0 -1
  238. package/.next/static/chunks/app/(app)/dashboard/page-e6f62eaecc0f9926.js +0 -1
  239. package/.next/static/chunks/app/(app)/docs/[id]/page-4a1be0c9bd6ca402.js +0 -1
  240. package/.next/static/chunks/app/(app)/docs/page-e6db758a14f57ec8.js +0 -1
  241. package/.next/static/chunks/app/(app)/github/page-57bb812627d083a1.js +0 -1
  242. package/.next/static/chunks/app/(app)/goals/page-81e1af515f78e13b.js +0 -1
  243. package/.next/static/chunks/app/(app)/inbox/page-0baef1b01009c832.js +0 -12
  244. package/.next/static/chunks/app/(app)/knowledge/page-eb1317bf385e31ed.js +0 -1
  245. package/.next/static/chunks/app/(app)/layout-dcd4f30b53cb140f.js +0 -1
  246. package/.next/static/chunks/app/(app)/models/page-d73965ae6ca317e8.js +0 -1
  247. package/.next/static/chunks/app/(app)/notifications/page-b3ff14483cb6694e.js +0 -12
  248. package/.next/static/chunks/app/(app)/org/page-3075b218dbc681ce.js +0 -12
  249. package/.next/static/chunks/app/(app)/organizations/page-a6d35dbb21a61b7c.js +0 -1
  250. package/.next/static/chunks/app/(app)/page-c9e4fc0616a0083e.js +0 -1
  251. package/.next/static/chunks/app/(app)/planner/page-809dd3edda4ada93.js +0 -1
  252. package/.next/static/chunks/app/(app)/plugins/page-7e2aad1b702b5c88.js +0 -1
  253. package/.next/static/chunks/app/(app)/pm/page-709f9ac68ac98693.js +0 -1
  254. package/.next/static/chunks/app/(app)/prepare-deploy/page-f9609626153c2483.js +0 -1
  255. package/.next/static/chunks/app/(app)/profile/page-6d22c7bd0adb7a52.js +0 -1
  256. package/.next/static/chunks/app/(app)/pulse/page-f529917828ff4884.js +0 -1
  257. package/.next/static/chunks/app/(app)/reports/[id]/page-662e6e1a25b14025.js +0 -1
  258. package/.next/static/chunks/app/(app)/reports/page-5248735b18767054.js +0 -1
  259. package/.next/static/chunks/app/(app)/search/page-4d1e07c4c43a7489.js +0 -1
  260. package/.next/static/chunks/app/(app)/security/page-db7b8840d9cc6b72.js +0 -1
  261. package/.next/static/chunks/app/(app)/skills/page-a98da9e415efc310.js +0 -1
  262. package/.next/static/chunks/app/(app)/tasks/page-ab33402626a50c88.js +0 -1
  263. package/.next/static/chunks/app/(app)/test-dev/page-34612a4b47ec9aa2.js +0 -1
  264. package/.next/static/chunks/app/(app)/update/page-99d63495bfdd56a9.js +0 -1
  265. package/.next/static/chunks/app/(auth)/login/page-c7b372a5053512f0.js +0 -1
  266. package/.next/static/chunks/app/(auth)/onboarding/page-450bfc87fb942f9b.js +0 -1
  267. /package/.next/static/{mOVW9EdxrQ1xPT7vDdRdK → fb-rRThu8P8AXEQQBbLgT}/_buildManifest.js +0 -0
  268. /package/.next/static/{mOVW9EdxrQ1xPT7vDdRdK → fb-rRThu8P8AXEQQBbLgT}/_ssgManifest.js +0 -0
@@ -1,12 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1308],{1959:(e,t,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,4277)),Promise.resolve().then(a.bind(a,8669)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,1344)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444))},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(5259),d=a(4303),c=a(8837),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})},4277:(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)("40fb5f4dc3e4c036d8084a7d25bd7ebd5e480b4b5f",o.callServer,void 0,o.findSourceMapURL,"markRead"),c=(0,o.createServerReference)("00d0d8c2060b458db3d3c037286fcd30c8d2422096",o.callServer,void 0,o.findSourceMapURL,"markAllRead"),u=(0,o.createServerReference)("00080c403fe7d4e9839ab4a541777a25b6ec1c42b5",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")})]})]})})]})}},4303:(e,t,a)=>{"use strict";a.d(t,{P:()=>i});var n=a(7814);let i=(0,n.createServerReference)("00448c48579abd11cee040b8b9ddca4e41be6f184e",n.callServer,void 0,n.findSourceMapURL,"runUpdate")},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})})}},5259:(e,t,a)=>{"use strict";a.d(t,{l:()=>i});var n=a(7814);let i=(0,n.createServerReference)("405ee9cc58fe89e8c6f9f1f265a850575a129a7936",n.callServer,void 0,n.findSourceMapURL,"getUpdateState")},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})})}},8837:(e,t,a)=>{"use strict";a.d(t,{e:()=>i});var n=a(7814);let i=(0,n.createServerReference)("0083096d6b88e89fee2e833270be160a64f9948543",n.callServer,void 0,n.findSourceMapURL,"pollUpdateResult")}},e=>{e.O(0,[9219,3219,4428,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})]})}},1538:(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)("607077c747dea92453c1597f6f5f8b5e9dccd715f8",r.callServer,void 0,r.findSourceMapURL,"setReportsToByHandle"),i=(0,r.createServerReference)("70469a7ce41796c080aa3cee61681835af00072d3a",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)})]})]})]})}},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(5259),d=a(4303),c=a(8837),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})]})]})}},4303:(e,t,a)=>{"use strict";a.d(t,{P:()=>l});var n=a(7814);let l=(0,n.createServerReference)("00448c48579abd11cee040b8b9ddca4e41be6f184e",n.callServer,void 0,n.findSourceMapURL,"runUpdate")},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})})}},5259:(e,t,a)=>{"use strict";a.d(t,{l:()=>l});var n=a(7814);let l=(0,n.createServerReference)("405ee9cc58fe89e8c6f9f1f265a850575a129a7936",n.callServer,void 0,n.findSourceMapURL,"getUpdateState")},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})})}},8837:(e,t,a)=>{"use strict";a.d(t,{e:()=>l});var n=a(7814);let l=(0,n.createServerReference)("0083096d6b88e89fee2e833270be160a64f9948543",n.callServer,void 0,n.findSourceMapURL,"pollUpdateResult")},9706:(e,t,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,1538)),Promise.resolve().then(a.bind(a,8669)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,1344)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444))}},e=>{e.O(0,[9219,3219,4428,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],{1595:(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)("60ebcc6da0ab0e901014ce384cb554138b17e7a52a",i.callServer,void 0,i.findSourceMapURL,"renameOrg");var o=a(2088);let d=(0,i.createServerReference)("602b26646ec90ca51fda510271d274904b830577d5",i.callServer,void 0,i.findSourceMapURL,"archiveOrg"),m=(0,i.createServerReference)("40e6f8258f8df805f6fcd2e91a396cd355b0751db3",i.callServer,void 0,i.findSourceMapURL,"deleteOrg"),b=(0,i.createServerReference)("609bdc02d3153f832541f2c952a5e7cb917a504f2c",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,g]=(0,n.useTransition)(),[x,f]=(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:x?(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:()=>g(async()=>{await l(e,j),f(!1)}),children:[(0,r.jsx)(c.I,{name:"check",size:11})," ",b("common.save")]}),(0,r.jsx)("button",{className:"sc2-btn",onClick:()=>{p(s),f(!1)},children:b("common.cancel")})]}):(0,r.jsxs)(r.Fragment,{children:[!i&&(0,r.jsxs)("button",{className:"btn-accent",disabled:h,onClick:()=>g(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:()=>f(!0),children:[(0,r.jsx)(c.I,{name:"command",size:11})," ",b("org.rename")]}),(0,r.jsxs)("button",{className:"sc2-btn",disabled:h,onClick:()=>g(()=>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:()=>g(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,g]=(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:()=>g(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")})]})]})}},2088:(e,s,a)=>{"use strict";a.d(s,{T:()=>n});var r=a(7814);let n=(0,r.createServerReference)("403972c138470189ab9c965aa2785e0f74d37a5ec3",r.callServer,void 0,r.findSourceMapURL,"setActiveOrg")},4774:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,1595)),Promise.resolve().then(a.bind(a,8669)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,1344)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444)),Promise.resolve().then(a.bind(a,5787))}},e=>{e.O(0,[9219,3219,4428,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],{204:(e,t,s)=>{"use strict";s.d(t,{b:()=>n});var a=s(7814);let n=(0,a.createServerReference)("60a890a7d999e8da95c8647d8d41ec6ea1e549b0a4",a.callServer,void 0,a.findSourceMapURL,"resolveInbox")},370:(e,t,s)=>{"use strict";s.d(t,{d:()=>n});var a=s(7814);let n=(0,a.createServerReference)("4088847163a13dc2e80c3095763da6ac497a5b9e37",a.callServer,void 0,a.findSourceMapURL,"rejectIssue")},640:(e,t,s)=>{"use strict";s.d(t,{HomeSeedBlocks:()=>m});var a=s(5076),n=s(8488),r=s(9860),i=s(3283),c=s.n(i),l=s(5629),o=s(8576),d=s(8566);function m(){let e=(0,l.k)(),t=(0,r.useRouter)(),[s,i]=(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:()=>i(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)(c(),{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,8669)),Promise.resolve().then(s.bind(s,6588)),Promise.resolve().then(s.bind(s,4414)),Promise.resolve().then(s.bind(s,1344)),Promise.resolve().then(s.bind(s,4942)),Promise.resolve().then(s.bind(s,2444)),Promise.resolve().then(s.bind(s,5787))},2626:(e,t,s)=>{"use strict";s.d(t,{B:()=>n});var a=s(7814);let n=(0,a.createServerReference)("4019def9d61c1f2ae2b3ef51af11efa0f5c439d65d",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})},4329:(e,t,s)=>{"use strict";s.d(t,{HomeActivity:()=>c});var a=s(5076),n=s(5629),r=s(4552),i=s(2799);function c({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,i.f)(new Date(e.at)):""})]},e.id))]},s))})}},4796:(e,t,s)=>{"use strict";s.d(t,{D:()=>n});var a=s(7814);let n=(0,a.createServerReference)("401b43fc7b171ab4f339d8b50f0126ae09197482ce",a.callServer,void 0,a.findSourceMapURL,"setRunMode")},5183:(e,t,s)=>{"use strict";s.d(t,{WelcomeChat:()=>w});var a=s(5076),n=s(8488),r=s(9860),i=s(7799),c=s(5415),l=s(6196),o=s(7832),d=s(5651),m=s(4327),h=s(5300),u=s(3368),f=s(7063),p=s(5629),v=s(8576),x=s(4552),b=s(8163),j=s(4353),g=s(8894);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,i.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,c.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 ei=new Set(S.map(e=>e.id)),ec=Object.entries(er).filter(([e])=>!ei.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,c.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:ec,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:ec,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:ec,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")})]})]})})]})}},7768:(e,t,s)=>{"use strict";s.d(t,{G:()=>n});var a=s(7814);let n=(0,a.createServerReference)("402bb61d0ec0ca426f1594c554cd83c9d2f55e4e2a",a.callServer,void 0,a.findSourceMapURL,"startNewWork")},8036:(e,t,s)=>{"use strict";s.d(t,{HomeHeroActions:()=>o});var a=s(5076),n=s(8488),r=s(9860),i=s(5629),c=s(8576),l=s(7768);function o({adaHandle:e,continueHref:t}){let s=(0,i.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)(c.I,{name:"branch",size:15})," ",s("home.act.askKb")]}),e&&(0,a.jsxs)("button",{className:"ha-ghost",onClick:()=>h(!0),children:[(0,a.jsx)(c.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)(c.I,{name:"goto",size:15})," ",s("home.act.continue")]}),(0,a.jsxs)("button",{className:"ha-ghost",onClick:()=>d.push("/inbox"),children:[(0,a.jsx)(c.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),i=s(5629),c=s(8576),l=s(204),o=s(9739),d=s(2626),m=s(8517),h=s(8538),u=s(370),f=s(2799);let p={approval:"check",budget:"coins",question:"chat",review:"doc",block:"close",validation:"pulse"};function v({items:e}){let t=(0,i.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)(c.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)(c.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)(c.I,{name:"branch",size:13})})]})]},e.id)})})}},8517:(e,t,s)=>{"use strict";s.d(t,{t:()=>n});var a=s(7814);let n=(0,a.createServerReference)("40aed83757bf4e7d35906a784d6f38596d11a37abf",a.callServer,void 0,a.findSourceMapURL,"approveIssue")},8538:(e,t,s)=>{"use strict";s.d(t,{J:()=>n});var a=s(7814);let n=(0,a.createServerReference)("4096c37c3555263308f9a36206eaf746d0defe25ad",a.callServer,void 0,a.findSourceMapURL,"rejectSpec")},8679:(e,t,s)=>{"use strict";s.d(t,{HomeStatusChip:()=>o});var a=s(5076),n=s(8488),r=s(9860),i=s(5629),c=s(4796),l=s(8576);function o({running:e,activeAgents:t}){let s=(0,i.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,c.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")]})}},9739:(e,t,s)=>{"use strict";s.d(t,{P:()=>n});var a=s(7814);let n=(0,a.createServerReference)("00417fb0c5992b5d8c9bf7bfdb20091c0b75f967d3",a.callServer,void 0,a.findSourceMapURL,"approvePlan")}},e=>{e.O(0,[9219,9690,3219,4428,8370,7457,4353,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:()=>d});var n=t(5076),r=t(8488),a=t(4552),l=t(4398),i=t(5629),c=t(5695);let o=["active","approved","draft","cancelled","archived","all"];function d({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:o.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??"—",o="active"!==e.status;return(0,n.jsxs)("div",{className:"card",style:o?{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}),o&&(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)]})]}),!o&&(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:()=>o});var n=t(5076),r=t(8488),a=t(9860),l=t(8576),i=t(5629),c=t(7768);function o(){let e=(0,i.k)(),[s,t]=(0,r.useState)(!1),[o,d]=(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:o,onChange:e=>d(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:o.trim()||void 0,brief:h});s.ok?(t(!1),d(""),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),o=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:[o?(0,n.jsx)("img",{src:o,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})},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,4398)),Promise.resolve().then(t.bind(t,1690)),Promise.resolve().then(t.bind(t,8669)),Promise.resolve().then(t.bind(t,6588)),Promise.resolve().then(t.bind(t,4414)),Promise.resolve().then(t.bind(t,1344)),Promise.resolve().then(t.bind(t,4942)),Promise.resolve().then(t.bind(t,2444)),Promise.resolve().then(t.bind(t,5787))},7768:(e,s,t)=>{"use strict";t.d(s,{G:()=>r});var n=t(7814);let r=(0,n.createServerReference)("402bb61d0ec0ca426f1594c554cd83c9d2f55e4e2a",n.callServer,void 0,n.findSourceMapURL,"startNewWork")},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)"},o=["active","awaiting","doing","review","blocked","done","cancelled","archived","all"];function d(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=d(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:o.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)",o=d(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-"+o,children:p(`planner.issueState.${o}`)})}),(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,4428,8370,4398,6646,6834,7358],()=>e(e.s=6153)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3472],{5151:(e,n,i)=>{"use strict";i.d(n,{InstallPlugin:()=>m,PluginGrid:()=>v});var s=i(5076),r=i(8488),l=i(7814);let a=(0,l.createServerReference)("607952c69fe98214acb4c1114357116e73a723e517",l.callServer,void 0,l.findSourceMapURL,"installPlugin"),t=(0,l.createServerReference)("40a46e6fc61c833191725de337b098c2e7b9971ce2",l.callServer,void 0,l.findSourceMapURL,"removePlugin"),c=(0,l.createServerReference)("60348413b5227197f872ad56faaf033637a112e8a9",l.callServer,void 0,l.findSourceMapURL,"togglePlugin");var o=i(8576),d=i(5629);function m(){let e=(0,d.k)(),[n,i]=(0,r.useTransition)();return(0,s.jsxs)("button",{className:"btn-accent",disabled:n,onClick:function(){let n=window.prompt(e("plugins.installPrompt"));n&&n.trim()&&i(async()=>{await a(n.trim())})},children:[(0,s.jsx)(o.I,{name:"add",size:14})," ",e("plugins.installFromUrl")]})}function v({plugins:e}){return(0,s.jsx)(s.Fragment,{children:e.map(e=>(0,s.jsx)(u,{plugin:e},e.id))})}function u({plugin:e}){let n=(0,d.k)(),[i,l]=(0,r.useTransition)();return(0,s.jsxs)("div",{className:"lrow",children:[(0,s.jsx)("div",{className:"vh-icon",style:{width:34,height:34,flex:"0 0 34px"},children:(0,s.jsx)(o.I,{name:"ext",size:16})}),(0,s.jsxs)("div",{className:"lr-main",children:[(0,s.jsxs)("div",{className:"lr-title",children:[e.name," ",e.native&&(0,s.jsx)("span",{className:"pill",style:{background:"var(--accent)22",color:"var(--accent)"},children:n("plugins.native")})]}),(0,s.jsx)("div",{className:"lr-sub",children:e.description})]}),!e.native&&(0,s.jsxs)("button",{className:"btn-ghost",disabled:i,onClick:()=>l(()=>{t(e.id)}),children:[(0,s.jsx)(o.I,{name:"trash",size:13})," ",n("common.remove")]}),(0,s.jsx)("div",{className:"toggle"+(e.enabled?" on":""),role:"switch","aria-checked":e.enabled,"aria-disabled":i,onClick:()=>!i&&l(()=>{c(e.id,!e.enabled)})})]})}},8854:(e,n,i)=>{Promise.resolve().then(i.t.bind(i,3283,23)),Promise.resolve().then(i.bind(i,5151)),Promise.resolve().then(i.bind(i,8669)),Promise.resolve().then(i.bind(i,6588)),Promise.resolve().then(i.bind(i,4414)),Promise.resolve().then(i.bind(i,1344)),Promise.resolve().then(i.bind(i,4942)),Promise.resolve().then(i.bind(i,2444)),Promise.resolve().then(i.bind(i,5787))}},e=>{e.O(0,[9219,3219,4428,8370,6646,6834,7358],()=>e(e.s=8854)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[423],{4724:(e,l,n)=>{Promise.resolve().then(n.t.bind(n,3283,23)),Promise.resolve().then(n.bind(n,4398)),Promise.resolve().then(n.bind(n,6065)),Promise.resolve().then(n.bind(n,8669)),Promise.resolve().then(n.bind(n,6588)),Promise.resolve().then(n.bind(n,4414)),Promise.resolve().then(n.bind(n,1344)),Promise.resolve().then(n.bind(n,4942)),Promise.resolve().then(n.bind(n,2444)),Promise.resolve().then(n.bind(n,5787))},6065:(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)("6089d6aaa835232f3a6208cc6b6f427bcc18268e18",c.callServer,void 0,c.findSourceMapURL,"setIssueMoscow"),t=(0,c.createServerReference)("4044e3371aee6680e5960d4a9fd95b3e19b475350d",c.callServer,void 0,c.findSourceMapURL,"createBacklogItem"),d=(0,c.createServerReference)("40c8d60e90b031b659da84714901c5ed6c474eb568",c.callServer,void 0,c.findSourceMapURL,"unblockIssue"),m=(0,c.createServerReference)("6018c2668b84963092bf36ecc34fc4e5ec7029ec34",c.callServer,void 0,c.findSourceMapURL,"moveIssue"),u=(0,c.createServerReference)("4007f25a036675d56b9af474a2ba3beb9e624e9b4a",c.callServer,void 0,c.findSourceMapURL,"blockIssue"),p=(0,c.createServerReference)("400aa27cae50f18adce211fdcd97ddd0394158be56",c.callServer,void 0,c.findSourceMapURL,"promoteBacklogItem"),b=(0,c.createServerReference)("40fb535cc4b0dbbdd83c6144a0f5a245bf09cc32fc",c.callServer,void 0,c.findSourceMapURL,"deleteBacklogItem"),f=(0,c.createServerReference)("004b14ab45f1d73caf1fa096fd428f0885213bc9dd",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,p]=(0,a.useState)(3),[b,f]=(0,a.useTransition)();function h(){c.trim()&&f(async()=>{await t({title:c,moscow:d,points:u}),n(!1),r(""),m("Should"),p(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=>p(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:b||!c.trim(),onClick:h,children:e(b?"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],p=(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:p(n("pm.action.unblock"),()=>d(e),"play","var(--sx-string)")}):(0,s.jsxs)("span",{style:{display:"inline-flex",gap:6},children:[t&&p(n("pm.action.advanceTo",{col:n(`pm.col.${t}`)}),()=>m(e,t),"chevronRight"),"done"!==l&&p(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(()=>p(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(()=>b(e)),children:(0,s.jsx)(o.I,{name:"trash",size:12})})]})}}},e=>{e.O(0,[9219,3219,4428,8370,4398,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(4327),c=a(5629);let d=["read","create","edit","run","search","thinking","done","error"];function o({channel:e,resume:s=!1,sinceSeq:a=0,onFinish:p}){let h=(0,c.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:d.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))})]})]})}},3728:(e,s,a)=>{"use strict";a.d(s,{m:()=>c});var n=a(5076),l=a(8488),i=a(8576),t=a(9265),r=a(5629);function c({value:e,options:s,onChange:a,placeholder:d,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:d||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))]})]})}},3749:(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),c=a(3728),d=a(2978),o=a(5629),p=a(7814);let h=(0,p.createServerReference)("00e10e8b7160bb39da2f74d67be22fe6f199ecb1a6",p.callServer,void 0,p.findSourceMapURL,"getDeployRun"),m=(0,p.createServerReference)("00ba8ac9b30e0eea4fd2178739230dcd711384d2dd",p.callServer,void 0,p.findSourceMapURL,"runDeployPipeline"),x=(0,p.createServerReference)("00cbcf3cb253edc08b998a7cdfa4a09986f67090f0",p.callServer,void 0,p.findSourceMapURL,"previewCleanExport"),u=(0,p.createServerReference)("009ea35792299846a23ec7dd93784412b1815df727",p.callServer,void 0,p.findSourceMapURL,"getDeployEnv"),v=(0,p.createServerReference)("40e9abb3b09bf0e1bbb5c9f3b5b190fd1416234997",p.callServer,void 0,p.findSourceMapURL,"exportCleanSource"),g=(0,p.createServerReference)("0010c86f47894b9cd630d2ae9923ffbd6725b5d9cf",p.callServer,void 0,p.findSourceMapURL,"runBuildOnly"),j=(0,p.createServerReference)("00f69d2062cb491b060c5dbe43653e6787e1fed42a",p.callServer,void 0,p.findSourceMapURL,"runTestsOnly"),f=(0,p.createServerReference)("0039e392ec73bc503bf5985ef767723016751b54c3",p.callServer,void 0,p.findSourceMapURL,"generateReadme"),b=(0,p.createServerReference)("009fd34640dcb023967251ea2bba9f95e746801bbb",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"})),ec=(s.length&&!A?K:W)||s[0]?.full||S("deploy.notConfigured"),ed=!!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})," ",ec,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)(d.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")]}),ed&&(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)(c.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||ed||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})})]})]})}},4327:(e,s,a)=>{"use strict";a.d(s,{k:()=>l});var n=a(7814);let l=(0,n.createServerReference)("60274f514b61483b6e070a65f4817ee1ad9fe43504",n.callServer,void 0,n.findSourceMapURL,"getEvents")},6792:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,3749)),Promise.resolve().then(a.bind(a,8669)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,1344)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444)),Promise.resolve().then(a.bind(a,5787))},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 c,d=t[e],o=d?d[0]:"#5b6378",p=d?d[1]:(e||"?").slice(0,2).replace(/[^a-z0-9]/gi,"").toUpperCase(),h=(c=i[e])?`https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg/icons/${c}.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,4428,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],{1973:(e,s,a)=>{"use strict";a.d(s,{M:()=>r});var i=a(7814);let r=(0,i.createServerReference)("70134ed93c744753cbd112c32720864d9c20816aac",i.callServer,void 0,i.findSourceMapURL,"connectTelegram")},3085:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,7464)),Promise.resolve().then(a.bind(a,8669)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,1344)),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},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)"}})]})}},7464:(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(1344),m=a(5629),h=a(7814);let p=(0,h.createServerReference)("40fe7401f127a1c1cc7a0858efa9433492cd7b6733",h.callServer,void 0,h.findSourceMapURL,"updateProfile"),u=(0,h.createServerReference)("40d9ef0b5544036e6021cca383858b56347d4c5411",h.callServer,void 0,h.findSourceMapURL,"removePasskey"),f=(0,h.createServerReference)("006bc3f553199954dcf2c1a667ea89a5b6afe55440",h.callServer,void 0,h.findSourceMapURL,"revokeOtherSessionsAction"),x=(0,h.createServerReference)("002dfa6e2da323d4372c36e94679624da8728b1435",h.callServer,void 0,h.findSourceMapURL,"deleteAccountAction"),v=(0,h.createServerReference)("60e445cd55fb14a068d8f02683ec15e66fd3ae9758",h.callServer,void 0,h.findSourceMapURL,"createPAT"),j=(0,h.createServerReference)("40703e1390372ba8fd666366ceb11519e934daad10",h.callServer,void 0,h.findSourceMapURL,"revokePAT"),g=(0,h.createServerReference)("402a68b40ff3fcd1dda4de0258b9204475d0ee7d46",h.callServer,void 0,h.findSourceMapURL,"unlinkSocial");var b=a(7868),N=a(1973);let k=(0,h.createServerReference)("603d5aa97fbe0bbf3427d3ee472365f0b23650bcda",h.callServer,void 0,h.findSourceMapURL,"setNotifPref"),y=(0,h.createServerReference)("407c0cb497cd58cede6444312d86a0897e484fcbf4",h.callServer,void 0,h.findSourceMapURL,"setMotionPref"),w=(0,h.createServerReference)("40bc3f927e0fe8d759dd0dea9050858496659453f6",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),[u,f]=(0,r.useState)(e.tz),[,x]=(0,r.useTransition)();(0,r.useEffect)(()=>{function e(){x(async()=>{await p({name:a,addressAs:l,lang:c,tz:u}),window.dispatchEvent(new CustomEvent(S+":done"))})}return window.addEventListener(S,e),()=>window.removeEventListener(S,e)},[a,l,c,u,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(()=>p({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:u,onChange:e=>f(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,p]=(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(""),p(""))}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=>p(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(()=>u(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(()=>f()),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,p]=(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(){p(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)(""),[p,u]=(0,r.useState)(""),[f,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:p,onChange:e=>u(e.target.value),style:{maxWidth:150}}),(0,i.jsx)("input",{className:"form-input",placeholder:s("profile.telegram.namePlaceholder"),value:f,onChange:e=>x(e.target.value),style:{maxWidth:150}}),(0,i.jsx)("button",{className:"btn-accent",disabled:k||!d||!p,onClick:()=>{j(""),y(async()=>{let e=await (0,N.M)(d,p,f);e.ok?(o(!1),h(""),u(""),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")})]})})}},7868:(e,s,a)=>{"use strict";a.d(s,{K:()=>r});var i=a(7814);let r=(0,i.createServerReference)("00d896599aa05f6b9b14826b3e2ffa5b7a98370f22",i.callServer,void 0,i.findSourceMapURL,"disconnectTelegram")},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),[p,u]=(0,r.useState)(!1),[f,x]=(0,r.useState)(""),[,v]=(0,r.useTransition)();async function j(e){if(e){x(""),u(!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{u(!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:p,onClick:()=>h.current?.click(),children:[p?(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")]}),f&&(0,i.jsx)("span",{style:{fontSize:11,color:"#e8688f"},children:f}),(0,i.jsx)("input",{ref:h,type:"file",accept:".png,.jpg,.jpeg,.gif,.webp",hidden:!0,onChange:e=>j(e.target.files?.[0])})]})]})}}},e=>{e.O(0,[9219,7555,2320,3219,4428,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,n)=>{Promise.resolve().then(n.t.bind(n,3283,23)),Promise.resolve().then(n.bind(n,1113)),Promise.resolve().then(n.bind(n,8669)),Promise.resolve().then(n.bind(n,6588)),Promise.resolve().then(n.bind(n,4414)),Promise.resolve().then(n.bind(n,1344)),Promise.resolve().then(n.bind(n,4942)),Promise.resolve().then(n.bind(n,2444)),Promise.resolve().then(n.bind(n,5787))},1113:(e,s,n)=>{"use strict";n.d(s,{ValidatePanel:()=>o});var a=n(5076),r=n(8488),i=n(8576),l=n(5629),t=n(7814);let d=(0,t.createServerReference)("404dcd5200300b108c9ebdadc7ba822eedc5616806",t.callServer,void 0,t.findSourceMapURL,"validateWorkspace");function o(){let e=(0,l.k)(),[s,n]=(0,r.useTransition)(),[t,o]=(0,r.useState)(null);return(0,a.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[t&&(0,a.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,a.jsxs)("button",{className:"btn-ghost",disabled:s,onClick:()=>n(async()=>o(await d())),children:[(0,a.jsx)(i.I,{name:"shield",size:13})," ",e("planner.validate.validate")]}),(0,a.jsxs)("button",{className:"btn-accent",disabled:s,onClick:()=>n(async()=>o(await d({repair:!0}))),children:[(0,a.jsx)(i.I,{name:"refresh",size:13,className:s?"sync-spin":""})," ",e("planner.validate.repair")]})]})}}},e=>{e.O(0,[9219,3219,4428,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,8669)),Promise.resolve().then(n.bind(n,6588)),Promise.resolve().then(n.bind(n,4414)),Promise.resolve().then(n.bind(n,1344)),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,4428,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],{9166:(e,r,s)=>{Promise.resolve().then(s.t.bind(s,3283,23)),Promise.resolve().then(s.bind(s,9221)),Promise.resolve().then(s.bind(s,8669)),Promise.resolve().then(s.bind(s,6588)),Promise.resolve().then(s.bind(s,4414)),Promise.resolve().then(s.bind(s,1344)),Promise.resolve().then(s.bind(s,4942)),Promise.resolve().then(s.bind(s,2444)),Promise.resolve().then(s.bind(s,5787))},9221:(e,r,s)=>{"use strict";s.d(r,{GenerateReportButton:()=>c});var n=s(5076),t=s(8488),i=s(9860),o=s(8576),a=s(7814);let l=(0,a.createServerReference)("00807c96aa06c18aba78bf49db2187e03123bf56b3",a.callServer,void 0,a.findSourceMapURL,"generateReport");var b=s(5629);function c(){let e=(0,b.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 l();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")]})}}},e=>{e.O(0,[9219,3219,4428,8370,6646,6834,7358],()=>e(e.s=9166)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7712],{1716:(e,s,t)=>{"use strict";t.d(s,{R:()=>a});var r=t(5076);function a({name:e}){let s={ts:{t:"TS",c:"#3178c6"},tsx:{t:"TS",c:"#3178c6"},js:{t:"JS",c:"#f0c000"},jsx:{t:"JS",c:"#f0c000"},json:{t:"{}",c:"#cbab35"},md:{t:"M↓",c:"#7d8590"},css:{t:"#",c:"#42a5f5"}}[e.split(".").pop()??""]||{t:"\xb7",c:"#7d8590"};return(0,r.jsx)("span",{style:{fontSize:9,fontWeight:700,fontFamily:"var(--mono-font, monospace)",color:s.c,lineHeight:1,letterSpacing:"-.5px"},children:s.t})}},7646:(e,s,t)=>{Promise.resolve().then(t.t.bind(t,3283,23)),Promise.resolve().then(t.bind(t,8526)),Promise.resolve().then(t.bind(t,8669)),Promise.resolve().then(t.bind(t,6588)),Promise.resolve().then(t.bind(t,4414)),Promise.resolve().then(t.bind(t,1344)),Promise.resolve().then(t.bind(t,4942)),Promise.resolve().then(t.bind(t,2444)),Promise.resolve().then(t.bind(t,5787))},8526:(e,s,t)=>{"use strict";t.d(s,{SearchPalette:()=>i});var r=t(5076),a=t(8488),l=t(9860),c=t(1716),n=t(5629);function i({index:e,empty:s}){let t=(0,l.useRouter)(),h=(0,n.k)(),[o,d]=(0,a.useState)(""),[m,u]=(0,a.useState)(!1),[x,p]=(0,a.useState)(!1),[v,g]=(0,a.useState)(!1),j=(0,a.useMemo)(()=>{if(!o.trim())return[];let s=null;try{let e=v?o:o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");x&&(e=`\\b(?:${e})\\b`),s=new RegExp(e,m?"g":"gi")}catch{s=null}if(!s)return[];let t=[];for(let r of e){let e=[];r.lines.forEach((t,r)=>{s.lastIndex=0;let a=s.exec(t);a&&a[0].length>0&&e.push({line:r,text:t,idx:a.index,len:a[0].length})}),e.length&&t.push({...r,matches:e})}return t},[o,m,x,v,e]),f=j.reduce((e,s)=>e+s.matches.length,0),b=v&&""!==o.trim()&&(()=>{try{return new RegExp(o),!1}catch{return!0}})();return(0,r.jsxs)("div",{className:"search-panel",children:[(0,r.jsx)("div",{className:"search-input-wrap",children:(0,r.jsx)("input",{className:"search-input",placeholder:h("common.search"),value:o,autoFocus:!0,onChange:e=>d(e.target.value)})}),(0,r.jsx)("input",{className:"replace-input",placeholder:h("search.replace"),disabled:!0}),(0,r.jsxs)("div",{className:"search-toolbar",children:[(0,r.jsx)("button",{className:"search-toggle"+(m?" on":""),title:h("search.matchCase"),onClick:()=>u(e=>!e),children:"Aa"}),(0,r.jsx)("button",{className:"search-toggle"+(x?" on":""),title:h("search.matchWholeWord"),onClick:()=>p(e=>!e),children:"ab"}),(0,r.jsx)("button",{className:"search-toggle"+(v?" on":""),title:h("search.useRegex"),onClick:()=>g(e=>!e),children:".*"})]}),o.trim()&&!b&&(0,r.jsx)("div",{className:"search-summary",children:h("search.summary",{results:f,files:j.length})}),o.trim()&&b&&(0,r.jsx)("div",{className:"search-summary",children:h("search.invalidRegex")}),!o.trim()&&s&&(0,r.jsx)("div",{className:"search-summary",children:h("search.emptyWorkspace")}),o.trim()&&!b&&0===j.length&&(0,r.jsx)("div",{className:"search-summary",children:h("search.noResultsFor",{q:o})}),(0,r.jsx)("div",{children:j.map(e=>(0,r.jsxs)("div",{className:"search-result-file",children:[(0,r.jsxs)("div",{className:"search-file-row",onClick:()=>{var s;return s=e.href,void t.push(s)},children:[(0,r.jsx)(c.R,{name:`x.${e.ext}`}),(0,r.jsx)("span",{children:e.name}),(0,r.jsx)("span",{style:{color:"var(--text-faint)",fontSize:11},children:e.path}),(0,r.jsx)("span",{className:"count",children:e.matches.length})]}),e.matches.slice(0,6).map((s,a)=>{let l,c,n;return(0,r.jsx)("div",{className:"search-match",onClick:()=>{var s;return s=e.href,void t.push(s)},children:(l=s.text.slice(0,s.idx),c=s.text.slice(s.idx,s.idx+s.len),n=s.text.slice(s.idx+s.len),(0,r.jsxs)(r.Fragment,{children:[l,(0,r.jsx)("mark",{children:c}),n]}))},a)})]},e.group+"/"+e.path))})]})}}},e=>{e.O(0,[9219,3219,4428,8370,6646,6834,7358],()=>e(e.s=7646)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3746],{2003:(e,n,t)=>{Promise.resolve().then(t.t.bind(t,3283,23)),Promise.resolve().then(t.bind(t,2978)),Promise.resolve().then(t.bind(t,8670)),Promise.resolve().then(t.bind(t,8669)),Promise.resolve().then(t.bind(t,6588)),Promise.resolve().then(t.bind(t,4414)),Promise.resolve().then(t.bind(t,1344)),Promise.resolve().then(t.bind(t,4942)),Promise.resolve().then(t.bind(t,2444)),Promise.resolve().then(t.bind(t,5787))},2978:(e,n,t)=>{"use strict";t.d(n,{AgentRunLive:()=>o});var r=t(5076),s=t(8488),i=t(9860),a=t(8576),l=t(4327),c=t(5629);let d=["read","create","edit","run","search","thinking","done","error"];function o({channel:e,resume:n=!1,sinceSeq:t=0,onFinish:u}){let f=(0,c.k)(),h=(0,i.useRouter)(),[v,g]=(0,s.useState)(n),[m,k]=(0,s.useState)([]),[p,x]=(0,s.useState)(0),b=(0,s.useRef)(n?t:0),w=(0,s.useRef)(!1),S=(0,s.useRef)(0);if((0,s.useEffect)(()=>{n&&(b.current=t,w.current=!1,S.current=t>0?t:Date.now(),k([]),x(Math.max(0,Math.floor((Date.now()-S.current)/1e3))),g(!0))},[n,t]),(0,s.useEffect)(()=>{function n(n){let t=n.detail;t?.channel===e&&(b.current=Date.now()-1,w.current=!1,S.current=Date.now(),k([]),x(0),g(!0))}return window.addEventListener("constella:agent-run",n),()=>window.removeEventListener("constella:agent-run",n)},[e]),(0,s.useEffect)(()=>{if(!v)return;S.current||(S.current=Date.now());let e=setInterval(()=>x(Math.floor((Date.now()-S.current)/1e3)),1e3);return()=>clearInterval(e)},[v]),(0,s.useEffect)(()=>{if(!v)return;let n=!0,t=Date.now();async function r(){let r=await (0,l.k)(e,b.current);n&&(r.length&&(b.current=Math.max(b.current,...r.map(e=>e.seq)),k(e=>{let n=new Set(e.map(e=>e.id));return[...e,...r.filter(e=>!n.has(e.id))]}),r.some(e=>"done"===e.kind||"error"===e.kind)&&(w.current||(w.current=!0,h.refresh(),u?.()),setTimeout(()=>{n&&g(!1)},2500))),Date.now()-t>96e4&&g(!1))}r();let s=setInterval(r,700);return()=>{n=!1,clearInterval(s)}},[v,e,h,u]),!v&&0===m.length)return null;let j=function(e){let n=[];for(let t of e)if("text"===t.kind){let e=(t.detail||"").replace(/\s+/g," ").trim();if(!e)continue;let r=n[n.length-1];r&&"text"===r.kind?r.content=(r.content+" "+e).slice(-600):n.push({id:t.id,kind:"text",content:e})}else if("thinking"===t.kind){let e=(t.detail||t.target||"").replace(/\s+/g," ").trim();e&&n.push({id:t.id,kind:"thinking",content:e})}else n.push({id:t.id,kind:t.kind,content:function(e){if(!e)return"";let n=e.split(/[\\/]/);return n.length>1?n.slice(-2).join("/"):e}(t.target)||t.detail||""});return n}(m),R=j.slice(-5),N=j.length-R.length,y=m.some(e=>"done"===e.kind||"error"===e.kind),E=m.some(e=>"error"===e.kind),P=String(Math.floor(p/60)).padStart(2,"0"),I=String(p%60).padStart(2,"0");return(0,r.jsxs)("div",{className:"card live-stream",style:{marginBottom:16,borderColor:E?"var(--sx-keyword)":"var(--accent)"},children:[(0,r.jsxs)("div",{className:"set-desc",style:{marginBottom:8,display:"flex",alignItems:"center",gap:7},children:[v&&!y?(0,r.jsx)("span",{className:"dotpulse"}):(0,r.jsx)(a.I,{name:E?"close":"check",size:13,style:{color:E?"var(--sx-keyword)":"var(--sx-string)"}}),v&&!y?f("agent.run.working"):E?f("agent.run.failed"):f("agent.run.finished"),j.length>0&&(0,r.jsxs)("span",{style:{color:"var(--text-faint)"},children:["\xb7 ",f(1===j.length?"agent.run.steps.one":"agent.run.steps.other",{n:j.length})]}),(0,r.jsxs)("span",{className:"live-elapsed",style:{marginLeft:"auto"},children:[P,":",I]})]}),0===R.length?(0,r.jsxs)("div",{className:"muted",style:{fontSize:12,display:"flex",alignItems:"center",gap:7},children:[(0,r.jsx)("span",{className:"sync-spin",children:(0,r.jsx)(a.I,{name:"refresh",size:12})})," ",f("agent.run.reading")]}):(0,r.jsxs)(r.Fragment,{children:[N>0&&(0,r.jsx)("div",{className:"live-more",children:f(1===N?"agent.run.earlier.one":"agent.run.earlier.other",{n:N})}),(0,r.jsx)("div",{className:"live-stream-lines",children:R.map(e=>(0,r.jsxs)("div",{className:"live-line "+e.kind,children:["text"!==e.kind&&(0,r.jsx)("span",{className:"ll-k",children:d.includes(e.kind)?f(`agent.verb.${e.kind}`):e.kind}),(0,r.jsxs)("span",{className:"ll-c",children:[e.content,!y&&e===R[R.length-1]&&"text"===e.kind&&(0,r.jsx)("span",{className:"ll-caret"})]})]},e.id))})]})]})}},4327:(e,n,t)=>{"use strict";t.d(n,{k:()=>s});var r=t(7814);let s=(0,r.createServerReference)("60274f514b61483b6e070a65f4817ee1ad9fe43504",r.callServer,void 0,r.findSourceMapURL,"getEvents")},8670:(e,n,t)=>{"use strict";t.d(n,{FixButton:()=>h,RunReviewButton:()=>v,Toggle:()=>f});var r=t(5076),s=t(8488),i=t(7814);let a=(0,i.createServerReference)("60161a7ce4205a4dfc2110860057bd8a6b5bfa79a6",i.callServer,void 0,i.findSourceMapURL,"toggleRoutine"),l=(0,i.createServerReference)("6095919e7645e5157a5018dc8231ed407b42b8fd14",i.callServer,void 0,i.findSourceMapURL,"togglePlugin"),c=(0,i.createServerReference)("40c33c80e6fb2e7ccf46054b250a693ed4f1d17cb9",i.callServer,void 0,i.findSourceMapURL,"fixFinding"),d=(0,i.createServerReference)("00129bdf84309d37c69af57dcdc7e6d074fd3bbea5",i.callServer,void 0,i.findSourceMapURL,"runReview");var o=t(8576),u=t(5629);function f({kind:e,id:n,on:t}){let[i,c]=(0,s.useTransition)(),d="routine"===e?a:l;return(0,r.jsx)("div",{className:"toggle"+(t?" on":""),"aria-disabled":i,role:"switch","aria-checked":t,onClick:()=>!i&&c(()=>d(n,!t))})}function h({id:e}){let n=(0,u.k)(),[t,i]=(0,s.useTransition)();return(0,r.jsxs)("button",{className:"sc2-btn",disabled:t,onClick:()=>i(()=>c(e)),children:[(0,r.jsx)(o.I,{name:"bot",size:12})," ",n("security.letAgentFix")]})}function v(){let e=(0,u.k)(),[n,t]=(0,s.useTransition)();return(0,r.jsxs)("button",{className:"btn-accent",disabled:n,onClick:()=>{window.dispatchEvent(new CustomEvent("constella:agent-run",{detail:{channel:"security"}})),t(async()=>{await d()})},children:[(0,r.jsx)(o.I,{name:"refresh",size:14,className:n?"sync-spin":""})," ",e(n?"security.reviewing":"security.runReview")]})}}},e=>{e.O(0,[9219,3219,4428,8370,6646,6834,7358],()=>e(e.s=2003)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4262],{963:(e,s,a)=>{"use strict";a.d(s,{SkillsClient:()=>b});var l=a(5076),i=a(8488),n=a(5787),t=a(8576),r=a(4552),c=a(3728),o=a(5629),d=a(7814);let m=(0,d.createServerReference)("6065cfa4b3e455453a103f3aee47b5604b5fa70bbb",d.callServer,void 0,d.findSourceMapURL,"saveSkillInstructions"),u=(0,d.createServerReference)("40c25e50eb845f969cbb200d77aaaacef85972264a",d.callServer,void 0,d.findSourceMapURL,"approveProvisional"),h=(0,d.createServerReference)("00bcb9ac0bf42bfd50ec7c42746f74c690a9fcd48b",d.callServer,void 0,d.findSourceMapURL,"suggestSkillsFromLearnings"),p=(0,d.createServerReference)("400c5f253ef5d7f0061a4a8efb133e3945137d61bc",d.callServer,void 0,d.findSourceMapURL,"deleteSkill"),x=(0,d.createServerReference)("40cff01d056db9e35454b214c82be7f5fa8be18998",d.callServer,void 0,d.findSourceMapURL,"createSkill"),g=(0,d.createServerReference)("4025bb7bf342d7d9ac908829485ef5e94d243841c4",d.callServer,void 0,d.findSourceMapURL,"generateSkill");function b({skills:e,agents:s}){let a=(0,o.k)(),[c,d]=(0,i.useState)(null),[h,p]=(0,i.useState)(!1),[x,g]=(0,i.useState)(""),[y,N]=(0,i.useState)(null),[C,S]=(0,i.useTransition)(),[w,z]=(0,i.useState)(""),[I,_]=(0,i.useState)("all"),L=["all",...Array.from(new Set(e.map(e=>e.category))).sort()],M=w.trim().toLowerCase(),P=e.filter(e=>("all"===I||e.category===I)&&(!M||e.name.toLowerCase().includes(M)||e.summary.toLowerCase().includes(M)));function R(e,s){d(e),p(s),g(e.instructions)}if(c){let e=(c.instructions||"").split("\n").map(e=>e.replace(/^\d+[.)]\s*/,"").trim()).filter(Boolean),s=e.length?e:[a("skills.detail.followInstructions",{file:c.file})];return(0,l.jsxs)(n.ViewChrome,{title:c.name,sub:`${c.file} \xb7 ${a("skills.detail.triggered")}: ${c.trigger}`,right:h?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("button",{className:"btn-ghost",onClick:()=>p(!1),children:[(0,l.jsx)(t.I,{name:"close",size:13})," ",a("common.cancel")]}),(0,l.jsxs)("button",{className:"btn-accent",disabled:C,onClick:function(){c&&S(async()=>{await m(c.id,x),p(!1)})},children:[(0,l.jsx)(t.I,{name:"check",size:13})," ",C?a("common.saving"):a("skills.detail.saveMd")]})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("button",{className:"btn-ghost",onClick:()=>R(c,!0),children:[(0,l.jsx)(t.I,{name:"command",size:13})," ",a("skills.detail.editMd")]}),(0,l.jsxs)("button",{className:"btn-ghost",onClick:()=>{d(null),p(!1)},children:[(0,l.jsx)(t.I,{name:"chevronLeft",size:14})," ",a("common.back")]})]}),children:[c.provisional&&(0,l.jsxs)("div",{className:"card",style:{marginBottom:14,borderColor:"var(--sx-number)",background:"var(--sx-number)14",display:"flex",alignItems:"center",gap:12},children:[(0,l.jsxs)("span",{style:{color:"var(--sx-number)",fontSize:12.5,flex:1},children:["⚠ ",a("skills.detail.provisionalWarn")]}),(0,l.jsxs)("button",{className:"btn-accent",disabled:C,onClick:()=>S(async()=>{await u(c.id),d({...c,provisional:!1})}),children:[(0,l.jsx)(t.I,{name:"check",size:13})," ",a("skills.detail.approve")]})]}),h?(0,l.jsx)("textarea",{className:"persona-ta mono",style:{minHeight:360,maxWidth:820},value:x,onChange:e=>g(e.target.value)}):(0,l.jsxs)("div",{className:"card",style:{maxWidth:820},children:[(0,l.jsx)("div",{className:"detail-label",children:a("skills.detail.procedure")}),s.map((e,s)=>(0,l.jsxs)("div",{className:"live-step",children:[(0,l.jsx)("span",{className:"ls-ico",style:{color:"var(--accent)",fontFamily:"var(--mono-font)"},children:s+1}),e]},s)),c.users.length>0&&(0,l.jsxs)("div",{style:{fontSize:11.5,color:"var(--text-faint)",marginTop:12},children:[a("skills.detail.usedBy"),": ",c.users.map(e=>e.name).join(", ")]})]})]})}return(0,l.jsxs)(n.ViewChrome,{title:"Skills",sub:a("skills.list.sub"),right:(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{}),(0,l.jsxs)("button",{className:"btn-ghost",onClick:()=>N("ai"),children:[(0,l.jsx)(t.I,{name:"bot",size:14})," ",a("skills.list.generateAi")]}),(0,l.jsxs)("button",{className:"btn-accent",onClick:()=>N("manual"),children:[(0,l.jsx)(t.I,{name:"add",size:14})," ",a("skills.list.addSkill")]})]}),children:[0===e.length&&(0,l.jsx)("div",{className:"card",children:(0,l.jsx)("div",{className:"muted",children:a("skills.list.empty")})}),e.length>0&&(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",marginBottom:12},children:[(0,l.jsxs)("div",{className:"stack-search",style:{flex:"0 0 240px",maxWidth:240},children:[(0,l.jsx)(t.I,{name:"search",size:14}),(0,l.jsx)("input",{placeholder:"Filter skills…",value:w,onChange:e=>z(e.target.value)}),w&&(0,l.jsx)("button",{className:"ss-clear",onClick:()=>z(""),children:(0,l.jsx)(t.I,{name:"close",size:12})})]}),(0,l.jsx)("div",{style:{display:"flex",gap:5,flexWrap:"wrap"},children:L.map(e=>(0,l.jsx)("button",{className:"chip-sm",style:I===e?{background:"var(--accent)",color:"var(--accent-fg)"}:void 0,onClick:()=>_(e),children:"all"===e?"All":e[0].toUpperCase()+e.slice(1)},e))})]}),e.length>0&&0===P.length&&(0,l.jsx)("div",{className:"card",children:(0,l.jsx)("div",{className:"muted",children:"No skills match this filter."})}),(0,l.jsx)("div",{className:"skill-grid",children:P.map(e=>{let s=e.users;return(0,l.jsxs)("div",{className:"skill-card2",children:[(0,l.jsxs)("div",{className:"sc2-top",children:[(0,l.jsx)("span",{className:"sc2-ico",children:(0,l.jsx)(t.I,{name:"skill",size:15})}),(0,l.jsxs)("span",{className:"sc2-name",children:[e.name,(0,l.jsx)("span",{className:"sc2-ext",children:".md"})]}),(0,l.jsxs)("span",{className:"sc2-index "+("indexed"===e.indexed?"ok":"pending"),children:[(0,l.jsx)(t.I,{name:"indexed"===e.indexed?"check":"refresh",size:10})," ","indexed"===e.indexed?a("skills.card.indexed"):a("skills.card.indexing")]})]}),(0,l.jsx)("div",{className:"sc2-summary",children:e.summary}),(0,l.jsxs)("div",{className:"sc2-meta",children:[(0,l.jsx)("span",{className:"sc2-kind",children:a("skills.card.kind")}),e.native&&(0,l.jsx)("span",{className:"pill",style:{background:"var(--bg-active)",color:"var(--text-dim)"},children:a("skills.card.native")}),e.provisional&&(0,l.jsx)("span",{className:"pill",style:{background:"var(--sx-number)22",color:"var(--sx-number)"},children:a("skills.card.provisional")}),e.usedCount>0&&(0,l.jsxs)("span",{className:"pill",style:{background:"var(--accent)1f",color:"var(--accent)",display:"inline-flex",alignItems:"center",gap:4},title:e.lastBy?`An agent read this skill during a task — last: ${e.lastBy}`:"Consulted by an agent during a task",children:[(0,l.jsx)(t.I,{name:"pulse",size:10})," Consulted ",e.usedCount,"\xd7"]}),(0,l.jsxs)("span",{className:"sc2-trigger",children:["\xb7 ",e.trigger]})]}),(0,l.jsxs)("div",{className:"sc2-actions",children:[(0,l.jsxs)("button",{className:"sc2-btn",onClick:()=>R(e,!1),children:[(0,l.jsx)(t.I,{name:"goto",size:12})," ",a("skills.card.open")]}),(0,l.jsxs)("button",{className:"sc2-btn",onClick:()=>R(e,!0),children:[(0,l.jsx)(t.I,{name:"command",size:12})," ",a("common.edit")]}),!e.native&&(0,l.jsx)(f,{id:e.id}),(0,l.jsxs)("div",{className:"sc2-users",title:s.length?a("skills.card.usedByTip",{names:s.map(e=>e.name).join(", ")}):a("skills.card.unusedTip"),children:[s.slice(0,4).map(e=>(0,l.jsx)("span",{className:"sc2-user",children:(0,l.jsx)(r.e,{name:e.name,color:e.color,size:20})},e.id)),s.length>4&&(0,l.jsxs)("span",{className:"sc2-user-more",children:["+",s.length-4]}),0===s.length&&(0,l.jsx)("span",{className:"sc2-nouser",children:a("skills.card.unused")})]})]})]},e.id)})}),"manual"===y&&(0,l.jsx)(j,{agents:s,onClose:()=>N(null)}),"ai"===y&&(0,l.jsx)(k,{onClose:()=>N(null)})]})}function v(){let e=(0,o.k)(),[s,a]=(0,i.useTransition)(),[n,r]=(0,i.useState)(null);return(0,l.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:8},children:[n&&(0,l.jsx)("span",{style:{fontSize:11.5,color:"var(--text-dim)"},children:n}),(0,l.jsxs)("button",{className:"btn-ghost",disabled:s,onClick:function(){r(null),a(async()=>{let s=await h();r(s.ok&&s.proposed>0?e("skills.list.suggested",{n:s.proposed}):e("skills.list.suggestNone"))})},title:e("skills.list.suggestDesc"),children:[s?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"branch",size:14})," ",s?e("skills.list.suggesting"):e("skills.list.suggest")]})]})}function f({id:e}){let s=(0,o.k)(),[a,n]=(0,i.useTransition)();return(0,l.jsxs)("button",{className:"sc2-btn danger",disabled:a,onClick:()=>n(()=>p(e)),children:[(0,l.jsx)(t.I,{name:"trash",size:12})," ",s("common.delete")]})}function j({agents:e,onClose:s}){let a=(0,o.k)(),[n,r]=(0,i.useState)(""),[d,m]=(0,i.useState)(""),[u,h]=(0,i.useState)(""),[p,g]=(0,i.useState)(e[0]?.id??""),[b,v]=(0,i.useTransition)(),f=(n||"name").toLowerCase().replace(/\s+/g,"-");return(0,l.jsx)("div",{className:"modal-overlay",onClick:s,children:(0,l.jsxs)("div",{className:"modal",onClick:e=>e.stopPropagation(),children:[(0,l.jsx)("div",{className:"modal-head",children:(0,l.jsxs)("div",{className:"modal-title",children:[(0,l.jsx)(t.I,{name:"add",size:15})," ",a("skills.manual.title")]})}),(0,l.jsxs)("div",{className:"modal-body",children:[(0,l.jsx)("label",{className:"form-label",children:a("skills.manual.nameLabel")}),(0,l.jsx)("input",{className:"form-input mono",autoFocus:!0,placeholder:a("skills.manual.namePlaceholder"),value:n,onChange:e=>r(e.target.value)}),(0,l.jsx)("label",{className:"form-label",style:{marginTop:10},children:a("common.description")}),(0,l.jsx)("textarea",{className:"persona-ta",placeholder:a("skills.manual.descPlaceholder"),value:d,onChange:e=>m(e.target.value)}),(0,l.jsx)("label",{className:"form-label",style:{marginTop:10},children:a("skills.manual.instructionsLabel")}),(0,l.jsx)("textarea",{className:"persona-ta mono",style:{minHeight:120},placeholder:a("skills.manual.instructionsPlaceholder"),value:u,onChange:e=>h(e.target.value)}),(0,l.jsx)("label",{className:"form-label",style:{marginTop:10},children:a("skills.manual.usedByAgent")}),(0,l.jsx)(c.m,{value:p,options:e.map(e=>({value:e.id,label:e.name+" \xb7 "+e.role})),onChange:g}),(0,l.jsxs)("div",{className:"modal-hint",children:[a("skills.manual.hintPrefix")," ",(0,l.jsxs)("b",{children:["skills/",f,".md"]}),a("skills.manual.hintSuffix")]})]}),(0,l.jsxs)("div",{className:"modal-foot",children:[(0,l.jsx)("button",{className:"btn-ghost",onClick:s,children:a("common.cancel")}),(0,l.jsx)("button",{className:"btn-accent",disabled:!n.trim()||b,onClick:function(){n.trim()&&v(async()=>{await x({name:n,summary:d,instructions:u,agentId:p}),s()})},children:a(b?"skills.manual.creating":"skills.manual.create")})]})]})})}function k({onClose:e}){let s=(0,o.k)(),[a,n]=(0,i.useState)(""),[r,c]=(0,i.useTransition)();return(0,l.jsx)("div",{className:"modal-overlay",onClick:e,children:(0,l.jsxs)("div",{className:"modal",onClick:e=>e.stopPropagation(),children:[(0,l.jsx)("div",{className:"modal-head",children:(0,l.jsxs)("div",{className:"modal-title",children:[(0,l.jsx)(t.I,{name:"bot",size:15})," ",s("skills.ai.title")]})}),(0,l.jsxs)("div",{className:"modal-body",children:[(0,l.jsx)("label",{className:"form-label",children:s("skills.ai.describeLabel")}),(0,l.jsx)("textarea",{className:"persona-ta",autoFocus:!0,placeholder:s("skills.ai.describePlaceholder"),value:a,onChange:e=>n(e.target.value)}),(0,l.jsxs)("div",{className:"modal-hint",children:[(0,l.jsx)(t.I,{name:"bot",size:12})," ",s("skills.ai.hintPrefix")," ",(0,l.jsx)("b",{children:s("skills.ai.hintProvisional")})," ",s("skills.ai.hintSuffix")]})]}),(0,l.jsxs)("div",{className:"modal-foot",children:[(0,l.jsx)("button",{className:"btn-ghost",onClick:e,children:s("common.cancel")}),(0,l.jsx)("button",{className:"btn-accent",disabled:!a.trim()||r,onClick:function(){a.trim()&&c(async()=>{await g(a),e()})},children:s(r?"skills.ai.drafting":"common.generate")})]})]})})}},3728:(e,s,a)=>{"use strict";a.d(s,{m:()=>c});var l=a(5076),i=a(8488),n=a(8576),t=a(9265),r=a(5629);function c({value:e,options:s,onChange:a,placeholder:o,mono:d,glyph:m,disabled:u,searchable:h}){let p=(0,r.k)(),[x,g]=(0,i.useState)(!1),[b,v]=(0,i.useState)(""),f=(0,i.useRef)(null),j=(0,i.useRef)(null),k=(0,i.useMemo)(()=>(s||[]).map(e=>"string"==typeof e?{value:e,label:e}:e),[s]),y=k.find(s=>s.value===e),N=(h??k.length>8)&&!u,C=b.trim().toLowerCase(),S=N&&C?k.filter(e=>(e.label+" "+e.value+" "+(e.sub||"")).toLowerCase().includes(C)):k;return(0,i.useEffect)(()=>{if(!x)return void v("");function e(e){f.current&&!f.current.contains(e.target)&&g(!1)}function s(e){"Escape"===e.key&&g(!1)}return document.addEventListener("mousedown",e),document.addEventListener("keydown",s),N&&requestAnimationFrame(()=>j.current?.focus()),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",s)}},[x,N]),(0,l.jsxs)("div",{className:"dd"+(x?" open":"")+(u?" disabled":""),ref:f,children:[(0,l.jsxs)("button",{type:"button",className:"dd-btn"+(d?" mono":""),onClick:()=>!u&&g(e=>!e),children:[m&&y&&(0,l.jsx)(t.W,{id:y.glyphId||y.value,size:20}),(0,l.jsx)("span",{className:"dd-val",children:y?y.label:(0,l.jsx)("span",{className:"dd-ph",children:o||p("common.selectEllipsis")})}),(0,l.jsx)(n.I,{name:"chevronDown",size:14})]}),x&&(0,l.jsxs)("div",{className:"dd-menu scroll",children:[N&&(0,l.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,l.jsx)(n.I,{name:"search",size:13}),(0,l.jsx)("input",{ref:j,value:b,placeholder:p("common.searchEllipsis"),onChange:e=>v(e.target.value),onKeyDown:e=>{"Enter"===e.key&&S[0]?(a(S[0].value),g(!1)):"Escape"===e.key&&b&&(e.stopPropagation(),v(""))},className:d?"mono":void 0,style:{flex:1,minWidth:0,background:"transparent",border:"none",outline:"none",color:"var(--text)",fontSize:12.5,fontFamily:d?"var(--mono-font)":"inherit"}}),b&&(0,l.jsx)("button",{type:"button",title:p("common.clear"),onClick:()=>{v(""),j.current?.focus()},style:{background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",display:"flex",padding:0},children:(0,l.jsx)(n.I,{name:"close",size:12})})]}),0===k.length&&(0,l.jsx)("div",{className:"dd-empty",children:p("common.noOptions")}),k.length>0&&0===S.length&&(0,l.jsx)("div",{className:"dd-empty",children:p("dropdown.noMatch",{q:b})}),S.map(s=>(0,l.jsxs)("button",{type:"button",className:"dd-opt"+(s.value===e?" on":""),onClick:()=>{a(s.value),g(!1)},children:[m&&(0,l.jsx)(t.W,{id:s.glyphId||s.value,size:22}),(0,l.jsxs)("span",{className:"dd-opt-main",children:[(0,l.jsx)("span",{className:"dd-opt-label"+(d?" mono":""),children:s.label}),s.sub&&(0,l.jsx)("span",{className:"dd-opt-sub",children:s.sub})]}),s.tag&&(0,l.jsx)("span",{className:"dd-opt-tag",children:s.tag}),s.value===e&&(0,l.jsx)(n.I,{name:"check",size:13})]},s.value))]})]})}},4552:(e,s,a)=>{"use strict";a.d(s,{e:()=>i});var l=a(5076);function i({name:e,color:s,size:a=24,health:n,image:t}){let r=Math.max(6,Math.round(.3*a)),c=Math.round(.28*a),o=t?/^(data:|https?:|\/)/.test(t)?t:`/api/upload?path=${encodeURIComponent(t)}`:null;return(0,l.jsxs)("span",{style:{position:"relative",width:a,height:a,flex:`0 0 ${a}px`,display:"inline-block"},children:[o?(0,l.jsx)("img",{src:o,alt:e,width:a,height:a,style:{width:a,height:a,borderRadius:c,objectFit:"cover",display:"block"}}):(0,l.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,l.jsx)("span",{style:{position:"absolute",right:-1,bottom:-1,width:r,height:r,borderRadius:"50%",background:"alive"===n?"var(--sx-string)":"stale"===n?"var(--sx-number)":"var(--text-faint)",border:"1.5px solid var(--bg-elevated)"}})]})}},7928:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,963)),Promise.resolve().then(a.bind(a,8669)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,1344)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444))},9265:(e,s,a)=>{"use strict";a.d(s,{W:()=>r});var l=a(5076),i=a(8488);let n={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 c,o=t[e],d=o?o[0]:"#5b6378",m=o?o[1]:(e||"?").slice(0,2).replace(/[^a-z0-9]/gi,"").toUpperCase(),u=(c=n[e])?`https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg/icons/${c}.svg`:null,[h,p]=(0,i.useState)(!1),x=null!=a?a:Math.round(.28*s),g=u&&!h,b=Math.round(.66*s);return(0,l.jsx)("span",{className:"prov-glyph",style:{width:s,height:s,flex:"0 0 "+s+"px",borderRadius:x,background:g?"#fff":"linear-gradient(150deg, "+d+", color-mix(in srgb, "+d+" 70%, #000))",color:"#fff",display:"grid",placeItems:"center",overflow:"hidden",fontSize:Math.round(.4*s),fontWeight:800,letterSpacing:"-.5px",boxShadow:g?"inset 0 0 0 1px rgba(0,0,0,.08)":"inset 0 1px 0 rgba(255,255,255,.18)"},children:g?(0,l.jsx)("img",{src:u,alt:"",width:b,height:b,loading:"lazy",onError:()=>p(!0),style:{width:b,height:b,objectFit:"contain",display:"block"}}):m})}}},e=>{e.O(0,[9219,3219,4428,8370,6646,6834,7358],()=>e(e.s=7928)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2738],{1582:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,9125)),Promise.resolve().then(a.bind(a,2757)),Promise.resolve().then(a.bind(a,8669)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,1344)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444)),Promise.resolve().then(a.bind(a,5787))},2757:(e,s,a)=>{"use strict";a.d(s,{TaskBoard:()=>k});var i=a(5076),l=a(8488),n=a(8576),t=a(4552),d=a(5629),c=a(9125),r=a(7814);let o=(0,r.createServerReference)("601592630e967a71b0dd71ad2c5a68cdd98ab0e355",r.callServer,void 0,r.findSourceMapURL,"updateTaskDescription"),h=(0,r.createServerReference)("60ea3d0febf7b52e4e2b05c34317846d4e4aca2ba2",r.callServer,void 0,r.findSourceMapURL,"toggleTaskStep"),m=(0,r.createServerReference)("407ce0a2a0c3d8bac8fa658b5007dfc30098c30597",r.callServer,void 0,r.findSourceMapURL,"deleteTaskStep"),p=(0,r.createServerReference)("6016001a5b737cb3cf60a353c69b9cba8e39937df1",r.callServer,void 0,r.findSourceMapURL,"addTaskStep"),u=[{id:"triage",c:"#6cc7e0"},{id:"todo",c:"#84aef5"},{id:"doing",c:"#e0a44e"},{id:"blocked",c:"#e8688f"},{id:"review",c:"#c4a0ff"},{id:"done",c:"#b3d97a"}],v={high:"#e8688f",med:"#f0a35e",low:"#6cc7e0"};function x({task:e,agent:s,onClose:a}){let c=(0,d.k)(),[r,k]=(0,l.useState)(e.description),[f,b]=(0,l.useState)(""),[,j]=(0,l.useTransition)(),g=u.find(s=>s.id===e.col);return(0,i.jsx)("div",{className:"detail-overlay",onMouseDown:a,children:(0,i.jsxs)("div",{className:"detail-panel",onMouseDown:e=>e.stopPropagation(),children:[(0,i.jsxs)("div",{className:"detail-head",children:[(0,i.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,i.jsx)("span",{className:"kk-id",style:{fontSize:12},children:e.key}),(0,i.jsx)("button",{className:"dock-tool",onClick:a,children:(0,i.jsx)(n.I,{name:"close",size:15})})]}),(0,i.jsx)("div",{className:"view-title",style:{fontSize:17,marginTop:6},children:e.title}),(0,i.jsxs)("div",{style:{display:"flex",gap:8,marginTop:10,alignItems:"center"},children:[s&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.e,{name:s.name,color:s.color,size:22}),(0,i.jsx)("span",{style:{fontSize:12.5,color:"var(--text)"},children:s.name})]}),(0,i.jsx)("span",{className:"pill",style:{marginLeft:6,background:v[e.prio]+"22",color:v[e.prio]},children:c(`tasks.prio.${e.prio}`)}),g&&(0,i.jsx)("span",{className:"chip-sm",children:c(`tasks.col.${g.id}`)})]})]}),(0,i.jsxs)("div",{className:"detail-body",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"detail-label",children:c("common.description")}),(0,i.jsx)("textarea",{className:"persona-ta",value:r,onChange:e=>k(e.target.value),onBlur:()=>{r!==e.description&&j(()=>o(e.id,r))},placeholder:c("tasks.descPlaceholder")})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"detail-label",children:c("tasks.liveProgress")}),0===e.steps.length&&(0,i.jsx)("div",{style:{fontSize:12,color:"var(--text-faint)"},children:c("tasks.noSteps",{who:s?s.name:c("tasks.theAgent")})}),e.steps.map(e=>(0,i.jsxs)("div",{className:"live-step "+(e.done?"done":e.active?"active":""),children:[(0,i.jsx)("span",{className:"ls-ico",style:{cursor:"pointer"},onClick:()=>j(()=>h(e.id,!e.done)),children:e.done?(0,i.jsx)(n.I,{name:"check",size:14}):e.active?(0,i.jsx)("span",{className:"spin",children:(0,i.jsx)(n.I,{name:"refresh",size:13})}):(0,i.jsx)(n.I,{name:"dot",size:8})}),(0,i.jsx)("span",{style:{flex:1},children:e.text}),(0,i.jsx)("button",{className:"iact danger",title:c("tasks.removeStep"),onClick:()=>j(()=>m(e.id)),children:(0,i.jsx)(n.I,{name:"close",size:12})})]},e.id)),(0,i.jsxs)("div",{style:{display:"flex",gap:6,marginTop:8},children:[(0,i.jsx)("input",{className:"form-input",style:{height:30,fontSize:12},placeholder:c("tasks.addStepPlaceholder"),value:f,onChange:e=>b(e.target.value),onKeyDown:s=>{"Enter"===s.key&&f.trim()&&(j(()=>p(e.id,f)),b(""))}}),(0,i.jsx)("button",{className:"btn-ghost",style:{padding:"4px 10px"},disabled:!f.trim(),onClick:()=>{j(()=>p(e.id,f)),b("")},children:(0,i.jsx)(n.I,{name:"add",size:12})})]})]})]})]})})}function k({tasks:e,agents:s}){let a=(0,d.k)(),n=Object.fromEntries(s.map(e=>[e.id,e])),[r,o]=(0,l.useState)(null),h=r?e.find(e=>e.id===r)??null:null;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"kanban",children:u.map(s=>{let l=e.filter(e=>e.col===s.id);return(0,i.jsxs)("div",{className:"kan-col",children:[(0,i.jsxs)("div",{className:"kan-col-head",children:[(0,i.jsx)("span",{className:"kc-dot",style:{background:s.c}}),a(`tasks.col.${s.id}`),(0,i.jsx)("span",{className:"kc-count",children:l.length})]}),(0,i.jsxs)("div",{className:"kan-cards scroll",children:[l.map(e=>{let s=e.assigneeId?n[e.assigneeId]:null,l=e.steps.filter(e=>e.done).length;return(0,i.jsxs)("div",{className:"kan-card",style:{cursor:"pointer"},onClick:()=>o(e.id),children:[(0,i.jsx)("div",{className:"kk-id",children:e.key}),(0,i.jsx)("div",{className:"kk-title",children:e.title}),(0,i.jsxs)("div",{className:"kk-foot",children:[(0,i.jsx)("span",{className:"kk-prio",style:{background:v[e.prio]},title:a(`tasks.prio.${e.prio}`)}),e.steps.length>0&&(0,i.jsxs)("span",{className:"chip-sm",title:a("tasks.stepsDone"),children:[l,"/",e.steps.length]}),s&&(0,i.jsx)(t.e,{name:s.name,color:s.color,size:20}),(0,i.jsx)("span",{style:{marginLeft:"auto"},onClick:e=>e.stopPropagation(),children:(0,i.jsx)(c.X,{id:e.id,col:e.col})})]})]},e.id)}),0===l.length&&(0,i.jsx)("div",{className:"muted",style:{fontSize:11.5,padding:"2px 1px"},children:a("tasks.noCards")})]})]},s.id)})}),h&&(0,i.jsx)(x,{task:h,agent:h.assigneeId?n[h.assigneeId]:null,onClose:()=>o(null)})]})}},4552:(e,s,a)=>{"use strict";a.d(s,{e:()=>l});var i=a(5076);function l({name:e,color:s,size:a=24,health:n,image:t}){let d=Math.max(6,Math.round(.3*a)),c=Math.round(.28*a),r=t?/^(data:|https?:|\/)/.test(t)?t:`/api/upload?path=${encodeURIComponent(t)}`:null;return(0,i.jsxs)("span",{style:{position:"relative",width:a,height:a,flex:`0 0 ${a}px`,display:"inline-block"},children:[r?(0,i.jsx)("img",{src:r,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:d,height:d,borderRadius:"50%",background:"alive"===n?"var(--sx-string)":"stale"===n?"var(--sx-number)":"var(--text-faint)",border:"1.5px solid var(--bg-elevated)"}})]})}},9125:(e,s,a)=>{"use strict";a.d(s,{NewTaskButton:()=>m,X:()=>u});var i=a(5076),l=a(8488),n=a(5629),t=a(7814);let d=(0,t.createServerReference)("400f410919890d168712ca6314ad66aec1672b063f",t.callServer,void 0,t.findSourceMapURL,"createTask"),c=(0,t.createServerReference)("4018aca2dc574221d389206948ac01209258cdc3b4",t.callServer,void 0,t.findSourceMapURL,"unblockTask"),r=(0,t.createServerReference)("60ae9bd5492ed3926ef64850be13568ea416a235b2",t.callServer,void 0,t.findSourceMapURL,"moveTask"),o=(0,t.createServerReference)("40eef2c3c1d28a075d1f59d4807f972204c0148a34",t.callServer,void 0,t.findSourceMapURL,"blockTask"),h=(0,t.createServerReference)("404fc92e5cfed90e3ac162dfdb5340d7ef6443517d",t.callServer,void 0,t.findSourceMapURL,"deleteTask");function m({agents:e}){let s=(0,n.k)(),[a,t]=(0,l.useState)(!1),[c,r]=(0,l.useState)(""),[o,h]=(0,l.useState)(e[0]?.id??""),[p,u]=(0,l.useState)("med"),[v,x]=(0,l.useTransition)();return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("button",{className:"btn-accent",onClick:()=>t(!0),children:["+ ",s("tasks.newCard")]}),a&&(0,i.jsx)("div",{className:"modal-overlay",onMouseDown:()=>t(!1),children:(0,i.jsxs)("div",{className:"modal",style:{padding:"20px 22px",width:440,maxWidth:"94vw"},onMouseDown:e=>e.stopPropagation(),children:[(0,i.jsx)("div",{style:{fontSize:15,fontWeight:800,marginBottom:10},children:s("tasks.newTask")}),(0,i.jsx)("label",{className:"form-label",children:s("pm.field.title")}),(0,i.jsx)("input",{className:"form-input",autoFocus:!0,value:c,onChange:e=>r(e.target.value),placeholder:s("tasks.descPlaceholder")}),(0,i.jsx)("label",{className:"form-label",children:s("tasks.assignee")}),(0,i.jsx)("select",{className:"form-input",value:o,onChange:e=>h(e.target.value),children:e.map(e=>(0,i.jsx)("option",{value:e.id,children:e.name},e.id))}),(0,i.jsx)("label",{className:"form-label",children:s("tasks.priority")}),(0,i.jsxs)("select",{className:"form-input",value:p,onChange:e=>u(e.target.value),children:[(0,i.jsx)("option",{value:"low",children:s("tasks.prio.low")}),(0,i.jsx)("option",{value:"med",children:s("tasks.prio.med")}),(0,i.jsx)("option",{value:"high",children:s("tasks.prio.high")})]}),(0,i.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:16},children:[(0,i.jsx)("button",{className:"btn-ghost",onClick:()=>t(!1),children:s("common.cancel")}),(0,i.jsx)("button",{className:"btn-accent",disabled:!c.trim()||v,onClick:function(){x(async()=>{await d({title:c,assigneeId:o,prio:p}),t(!1),r("")})},children:s(v?"tasks.creating":"common.create")})]})]})})]})}let p={triage:"todo",todo:"doing",doing:"review",blocked:"doing",review:"done",done:"done"};function u({id:e,col:s}){let a=(0,n.k)(),[t,d]=(0,l.useTransition)();return(0,i.jsxs)("span",{style:{display:"inline-flex",gap:4},children:["blocked"===s?(0,i.jsx)("button",{className:"mini",disabled:t,title:a("pm.action.unblock"),style:{color:"var(--sx-string)"},onClick:()=>d(()=>c(e)),children:"▶"}):"done"!==s&&(0,i.jsx)("button",{className:"mini",disabled:t,title:a("tasks.advance"),onClick:()=>d(()=>r(e,p[s])),children:"→"}),"done"!==s&&"blocked"!==s&&(0,i.jsx)("button",{className:"mini",disabled:t,title:a("pm.action.block"),style:{color:"#e8688f"},onClick:()=>d(()=>o(e)),children:"⊘"}),(0,i.jsx)("button",{className:"mini",disabled:t,title:a("common.delete"),onClick:()=>d(()=>h(e)),children:"✕"})]})}}},e=>{e.O(0,[9219,3219,4428,8370,6646,6834,7358],()=>e(e.s=1582)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5210],{502:(e,s,t)=>{"use strict";t.d(s,{j:()=>i});var a=t(7814);let i=(0,a.createServerReference)("001f7b38a3f729f9228f00bee7e2a5304a041ae35b",a.callServer,void 0,a.findSourceMapURL,"devServerStatusAction")},2814:(e,s,t)=>{"use strict";t.d(s,{K:()=>i});var a=t(7814);let i=(0,a.createServerReference)("40a38caeec3ba27df94e136db8976ff46f62348474",a.callServer,void 0,a.findSourceMapURL,"previewFrameableAction")},3728:(e,s,t)=>{"use strict";t.d(s,{m:()=>d});var a=t(5076),i=t(8488),r=t(8576),n=t(9265),l=t(5629);function d({value:e,options:s,onChange:t,placeholder:c,mono:o,glyph:m,disabled:v,searchable:h}){let p=(0,l.k)(),[u,x]=(0,i.useState)(!1),[f,g]=(0,i.useState)(""),b=(0,i.useRef)(null),j=(0,i.useRef)(null),y=(0,i.useMemo)(()=>(s||[]).map(e=>"string"==typeof e?{value:e,label:e}:e),[s]),w=y.find(s=>s.value===e),N=(h??y.length>8)&&!v,k=f.trim().toLowerCase(),S=N&&k?y.filter(e=>(e.label+" "+e.value+" "+(e.sub||"")).toLowerCase().includes(k)):y;return(0,i.useEffect)(()=>{if(!u)return void g("");function e(e){b.current&&!b.current.contains(e.target)&&x(!1)}function s(e){"Escape"===e.key&&x(!1)}return document.addEventListener("mousedown",e),document.addEventListener("keydown",s),N&&requestAnimationFrame(()=>j.current?.focus()),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",s)}},[u,N]),(0,a.jsxs)("div",{className:"dd"+(u?" open":"")+(v?" disabled":""),ref:b,children:[(0,a.jsxs)("button",{type:"button",className:"dd-btn"+(o?" mono":""),onClick:()=>!v&&x(e=>!e),children:[m&&w&&(0,a.jsx)(n.W,{id:w.glyphId||w.value,size:20}),(0,a.jsx)("span",{className:"dd-val",children:w?w.label:(0,a.jsx)("span",{className:"dd-ph",children:c||p("common.selectEllipsis")})}),(0,a.jsx)(r.I,{name:"chevronDown",size:14})]}),u&&(0,a.jsxs)("div",{className:"dd-menu scroll",children:[N&&(0,a.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,a.jsx)(r.I,{name:"search",size:13}),(0,a.jsx)("input",{ref:j,value:f,placeholder:p("common.searchEllipsis"),onChange:e=>g(e.target.value),onKeyDown:e=>{"Enter"===e.key&&S[0]?(t(S[0].value),x(!1)):"Escape"===e.key&&f&&(e.stopPropagation(),g(""))},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"}}),f&&(0,a.jsx)("button",{type:"button",title:p("common.clear"),onClick:()=>{g(""),j.current?.focus()},style:{background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",display:"flex",padding:0},children:(0,a.jsx)(r.I,{name:"close",size:12})})]}),0===y.length&&(0,a.jsx)("div",{className:"dd-empty",children:p("common.noOptions")}),y.length>0&&0===S.length&&(0,a.jsx)("div",{className:"dd-empty",children:p("dropdown.noMatch",{q:f})}),S.map(s=>(0,a.jsxs)("button",{type:"button",className:"dd-opt"+(s.value===e?" on":""),onClick:()=>{t(s.value),x(!1)},children:[m&&(0,a.jsx)(n.W,{id:s.glyphId||s.value,size:22}),(0,a.jsxs)("span",{className:"dd-opt-main",children:[(0,a.jsx)("span",{className:"dd-opt-label"+(o?" mono":""),children:s.label}),s.sub&&(0,a.jsx)("span",{className:"dd-opt-sub",children:s.sub})]}),s.tag&&(0,a.jsx)("span",{className:"dd-opt-tag",children:s.tag}),s.value===e&&(0,a.jsx)(r.I,{name:"check",size:13})]},s.value))]})]})}},4472:(e,s,t)=>{"use strict";t.d(s,{TestDevScreen:()=>b});var a=t(5076),i=t(8488),r=t(8576),n=t(3728),l=t(5695),d=t(5629),c=t(2814),o=t(7814);let m=(0,o.createServerReference)("00f45798ef0b92ff36e203fd85a965da22d38dad47",o.callServer,void 0,o.findSourceMapURL,"stopDevServerAction");var v=t(6974),h=t(502);let p=(0,o.createServerReference)("4097bf88873bcc36e56b144ef77ec8cea15fa3de24",o.callServer,void 0,o.findSourceMapURL,"runTestDevAction"),u={pass:"var(--sx-string)",fail:"#e8688f",inconclusive:"#d98a2b",running:"var(--accent)"},x={high:"#e8688f",med:"#d98a2b",low:"var(--text-dim)"},f=[{id:"desktop",w:"100%"},{id:"tablet",w:"768px"},{id:"mobile",w:"390px"}];function g({status:e,onStart:s,starting:t}){let n=(0,d.k)(),l=e.url??"",o="running"===e.status&&!!l,[m,v]=(0,i.useState)(l),[h,p]=(0,i.useState)(l),[u,x]=(0,i.useState)(0),[b,j]=(0,i.useState)("desktop"),[y,w]=(0,i.useState)(!0),N=f.find(e=>e.id===b)?.w??"100%";return(0,i.useEffect)(()=>{l?(v(e=>e||l),p(e=>e||l)):(v(""),p(""))},[l]),(0,i.useEffect)(()=>{if(!o||!h)return void w(!0);let e=!0;return(0,c.K)(h).then(s=>{e&&w(s.frameable)}).catch(()=>{}),()=>{e=!1}},[o,h,u]),(0,a.jsxs)("div",{className:"hw-card tdb-card",children:[(0,a.jsxs)("div",{className:"hw-head",children:[(0,a.jsx)("span",{className:"hw-ic",children:(0,a.jsx)(r.I,{name:"goto",size:19})}),(0,a.jsxs)("div",{style:{flex:1},children:[(0,a.jsx)("div",{className:"hw-t",children:n("testdev.preview.title")}),(0,a.jsx)("div",{className:"hw-s",children:n("testdev.preview.sub")})]}),(0,a.jsx)("div",{className:"tdb-vp",children:f.map(e=>(0,a.jsx)("button",{className:"tdb-vp-btn"+(b===e.id?" on":""),disabled:!o,onClick:()=>j(e.id),children:n(`testdev.viewport.${e.id}`)},e.id))})]}),(0,a.jsxs)("div",{className:"tdb-bar",children:[(0,a.jsxs)("div",{className:"tdb-dots",children:[(0,a.jsx)("span",{}),(0,a.jsx)("span",{}),(0,a.jsx)("span",{})]}),(0,a.jsx)("button",{className:"tdb-ico",title:n("testdev.preview.reload"),disabled:!o,onClick:function(){x(e=>e+1)},children:(0,a.jsx)(r.I,{name:"refresh",size:14})}),(0,a.jsxs)("form",{className:"tdb-addr",onSubmit:function(e){let s;e?.preventDefault();let t=(s=m.trim())?/^https?:\/\//i.test(s)?s:l.replace(/\/$/,"")+(s.startsWith("/")?s:"/"+s):l;p(t),v(t),x(e=>e+1)},children:[(0,a.jsx)(r.I,{name:o?"shield":"goto",size:12}),(0,a.jsx)("input",{value:m,placeholder:l||n("testdev.preview.addrPlaceholder"),disabled:!o,onChange:e=>v(e.target.value),spellCheck:!1})]}),o?(0,a.jsx)("a",{className:"tdb-ico",title:n("testdev.preview.openNewTab"),href:h,target:"_blank",rel:"noreferrer",children:(0,a.jsx)(r.I,{name:"goto",size:14})}):(0,a.jsx)("span",{className:"tdb-ico off",children:(0,a.jsx)(r.I,{name:"goto",size:14})})]}),(0,a.jsx)("div",{className:"tdb-stage",children:o&&!y?(0,a.jsxs)("div",{className:"tdb-empty",children:[(0,a.jsx)("span",{className:"tdb-empty-ic",children:(0,a.jsx)(r.I,{name:"shield",size:26})}),(0,a.jsx)("div",{className:"tdb-empty-t",children:n("testdev.preview.blocked.title")}),(0,a.jsx)("div",{className:"tdb-empty-s",children:n("testdev.preview.blocked.sub")}),(0,a.jsxs)("a",{className:"btn-accent",style:{marginTop:10},href:h,target:"_blank",rel:"noreferrer",children:[(0,a.jsx)(r.I,{name:"goto",size:13})," ",n("testdev.preview.openNewTabBtn")]})]}):o?(0,a.jsx)("iframe",{className:"tdb-frame",src:h,style:{width:N,maxWidth:"100%"},title:n("testdev.preview.frameTitle"),sandbox:"allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-downloads"},u):(0,a.jsxs)("div",{className:"tdb-empty",children:[(0,a.jsx)("span",{className:"tdb-empty-ic"+(t||"starting"===e.status?" spin":""),children:(0,a.jsx)(r.I,{name:t||"starting"===e.status?"refresh":"goto",size:26})}),(0,a.jsx)("div",{className:"tdb-empty-t",children:"error"===e.status?n("testdev.preview.empty.errorTitle"):t||"starting"===e.status?n("testdev.preview.empty.startingTitle"):n("testdev.preview.empty.idleTitle")}),(0,a.jsx)("div",{className:"tdb-empty-s",children:"error"===e.status?n("testdev.preview.empty.errorSub"):n("testdev.preview.empty.idleSub")}),"running"!==e.status&&"starting"!==e.status&&!t&&(0,a.jsxs)("button",{className:"btn-accent",style:{marginTop:10},onClick:s,children:[(0,a.jsx)(r.I,{name:"goto",size:13})," ",n("testdev.server.start")]})]})})]})}function b({status:e,runs:s,goals:t}){let c=(0,d.k)(),[o,f]=(0,i.useState)(e),[j,y]=(0,i.useState)(""),[w,N]=(0,i.useState)(null),[k,S]=(0,i.useState)(""),[,z]=(0,i.useTransition)();function _(){S("server"),z(async()=>{f(o.running?await m():await (0,v.R)()),S("")})}let C="running"===o.status?"run":"starting"===o.status?"boot":"stop",I="running"===o.status?c("testdev.state.running"):"starting"===o.status?c("testdev.state.starting"):"error"===o.status?c("testdev.state.error"):"none"===o.status?c("testdev.state.notStarted"):c("testdev.state.stopped");return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"lr-grid",children:[(0,a.jsxs)("div",{className:"hw-card",children:[(0,a.jsxs)("div",{className:"hw-head",children:[(0,a.jsx)("span",{className:"hw-ic",children:(0,a.jsx)(r.I,{name:"terminal",size:19})}),(0,a.jsxs)("div",{style:{flex:1},children:[(0,a.jsx)("div",{className:"hw-t",children:c("testdev.server.title")}),(0,a.jsx)("div",{className:"hw-s",children:o.project??c("testdev.server.defaultProject")})]}),(0,a.jsx)("button",{className:"iact",title:c("common.refresh"),onClick:function(){z(async()=>{f(await (0,h.j)())})},children:(0,a.jsx)(r.I,{name:"refresh",size:15})})]}),(0,a.jsxs)("div",{className:"srv-status",children:[(0,a.jsx)("span",{className:"srv-dot "+C}),(0,a.jsxs)("div",{className:"srv-meta",children:[(0,a.jsx)("div",{className:"sm-t",children:I}),(0,a.jsx)("div",{className:"sm-s",children:o.url??c("testdev.server.noServer")})]}),(0,a.jsxs)("button",{className:o.running?"btn-ghost":"btn-accent",onClick:_,disabled:"server"===k,children:["server"===k?(0,a.jsx)("span",{className:"sync-spin",children:(0,a.jsx)(r.I,{name:"refresh",size:13})}):(0,a.jsx)(r.I,{name:o.running?"close":"goto",size:13}),o.running?c("testdev.server.stop"):"server"===k?c("testdev.server.working"):c("testdev.server.start")]})]}),(0,a.jsxs)("div",{className:"srv-log scroll",style:{maxHeight:220},children:[0===o.logs.length&&(0,a.jsx)("div",{className:"lg-dim",children:c("testdev.server.noOutput")}),o.logs.map((e,s)=>(0,a.jsx)("div",{className:"err"===e.c?"lg-warn":"info"===e.c?"lg-dim":"lg-ok",children:e.t},s))]})]}),(0,a.jsxs)("div",{className:"hw-card",children:[(0,a.jsxs)("div",{className:"hw-head",children:[(0,a.jsx)("span",{className:"hw-ic",children:(0,a.jsx)(r.I,{name:"pulse",size:19})}),(0,a.jsxs)("div",{style:{flex:1},children:[(0,a.jsx)("div",{className:"hw-t",children:c("testdev.tests.title")}),(0,a.jsx)("div",{className:"hw-s",children:c("testdev.tests.sub")})]})]}),(0,a.jsxs)("div",{style:{marginBottom:10},children:[(0,a.jsx)("div",{className:"pa-flabel",style:{marginBottom:4},children:c("testdev.tests.scope")}),(0,a.jsx)(n.m,{value:j,placeholder:c("testdev.tests.wholeApp"),options:[{value:"",label:c("testdev.tests.wholeApp")},...t.map(e=>({value:e.id,label:e.title.slice(0,40)}))],onChange:y})]}),(0,a.jsx)("button",{className:"btn-accent",style:{width:"100%",justifyContent:"center"},onClick:function(){S("test"),N(null),z(async()=>{let e=await p(j?{goalId:j}:void 0);N({status:e.status,summary:e.summary,findings:e.findings}),f(await (0,h.j)()),S("")})},disabled:"test"===k,children:"test"===k?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"sync-spin",children:(0,a.jsx)(r.I,{name:"refresh",size:13})})," ",c("testdev.tests.testing")]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.I,{name:"play",size:13})," ",c("testdev.tests.run")]})}),w&&(0,a.jsxs)("div",{style:{marginTop:12},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[(0,a.jsx)("span",{className:"pill",style:{background:u[w.status]+"22",color:u[w.status]},children:c(`testdev.verdict.${w.status}`)}),(0,a.jsx)("span",{style:{fontSize:12.5,color:"var(--text-dim)"},children:w.summary})]}),w.findings.length>0&&(0,a.jsx)("div",{className:"srv-log scroll",style:{maxHeight:160},children:w.findings.map((e,s)=>(0,a.jsxs)("div",{style:{display:"flex",gap:6,padding:"2px 0"},children:[(0,a.jsx)("span",{style:{color:x[e.severity],fontWeight:700,fontSize:10},children:c(`testdev.severity.${e.severity}`).toUpperCase()}),(0,a.jsxs)("span",{style:{color:"var(--text-faint)",fontSize:11},children:[e.kind,"@",e.route]}),(0,a.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",flex:1},children:e.message})]},s))})]})]})]}),(0,a.jsx)(g,{status:o,onStart:_,starting:"server"===k}),(0,a.jsx)("div",{className:"view-section-title",children:c("testdev.recent.title")}),(0,a.jsx)("div",{className:"tbl-wrap",children:(0,a.jsxs)("table",{className:"tbl",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{children:c("testdev.col.verdict")}),(0,a.jsx)("th",{children:c("testdev.col.summary")}),(0,a.jsx)("th",{children:c("testdev.col.findings")}),(0,a.jsx)("th",{children:c("testdev.col.by")}),(0,a.jsx)("th",{children:c("testdev.col.when")})]})}),(0,a.jsxs)("tbody",{children:[0===s.length&&(0,a.jsx)("tr",{children:(0,a.jsx)("td",{colSpan:5,style:{textAlign:"center",color:"var(--text-faint)",padding:18},children:c("testdev.recent.empty")})}),s.map(e=>{let s=0;try{s=JSON.parse(e.findings).length}catch{}return(0,a.jsxs)("tr",{children:[(0,a.jsx)("td",{children:(0,a.jsx)("span",{className:"pill",style:{background:u[e.status]+"22",color:u[e.status]},children:c(`testdev.verdict.${e.status}`)})}),(0,a.jsx)("td",{style:{fontSize:12.5},children:e.summary||"—"}),(0,a.jsx)("td",{style:{color:"var(--text-dim)"},children:s}),(0,a.jsx)("td",{style:{color:"var(--text-dim)"},children:e.by}),(0,a.jsx)("td",{style:{color:"var(--text-faint)",fontSize:11},children:e.startedAt?(0,l.F)(e.startedAt):"—"})]},e.id)})]})]})})]})}},5695:(e,s,t)=>{"use strict";function a(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"}),a=s.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return`${t}, ${a}`}t.d(s,{F:()=>a})},6974:(e,s,t)=>{"use strict";t.d(s,{R:()=>i});var a=t(7814);let i=(0,a.createServerReference)("0052f8e2104f8633ca5df1d85c292d80b538d270cc",a.callServer,void 0,a.findSourceMapURL,"startDevServerAction")},8771:(e,s,t)=>{Promise.resolve().then(t.t.bind(t,3283,23)),Promise.resolve().then(t.bind(t,4472)),Promise.resolve().then(t.bind(t,8669)),Promise.resolve().then(t.bind(t,6588)),Promise.resolve().then(t.bind(t,4414)),Promise.resolve().then(t.bind(t,1344)),Promise.resolve().then(t.bind(t,4942)),Promise.resolve().then(t.bind(t,2444)),Promise.resolve().then(t.bind(t,5787))},9265:(e,s,t)=>{"use strict";t.d(s,{W:()=>l});var a=t(5076),i=t(8488);let r={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"},n={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 l({id:e,size:s=34,radius:t}){let d,c=n[e],o=c?c[0]:"#5b6378",m=c?c[1]:(e||"?").slice(0,2).replace(/[^a-z0-9]/gi,"").toUpperCase(),v=(d=r[e])?`https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg/icons/${d}.svg`:null,[h,p]=(0,i.useState)(!1),u=null!=t?t:Math.round(.28*s),x=v&&!h,f=Math.round(.66*s);return(0,a.jsx)("span",{className:"prov-glyph",style:{width:s,height:s,flex:"0 0 "+s+"px",borderRadius:u,background:x?"#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:x?"inset 0 0 0 1px rgba(0,0,0,.08)":"inset 0 1px 0 rgba(255,255,255,.18)"},children:x?(0,a.jsx)("img",{src:v,alt:"",width:f,height:f,loading:"lazy",onError:()=>p(!0),style:{width:f,height:f,objectFit:"contain",display:"block"}}):m})}}},e=>{e.O(0,[9219,3219,4428,8370,6646,6834,7358],()=>e(e.s=8771)),_N_E=e.O()}]);