constellai 0.3.8 → 0.3.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +2 -2
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/app/(app)/activity/page.js +2 -2
  5. package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
  6. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  7. package/.next/server/app/(app)/agents/[handle]/page.js +3 -3
  8. package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -1
  9. package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/(app)/code/page.js +2 -2
  11. package/.next/server/app/(app)/code/page.js.nft.json +1 -1
  12. package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/(app)/config/page.js +2 -2
  14. package/.next/server/app/(app)/config/page.js.nft.json +1 -1
  15. package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -1
  16. package/.next/server/app/(app)/costs/page.js +2 -2
  17. package/.next/server/app/(app)/costs/page.js.nft.json +1 -1
  18. package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/(app)/cron/page.js +2 -2
  20. package/.next/server/app/(app)/cron/page.js.nft.json +1 -1
  21. package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/(app)/dashboard/page.js +2 -2
  23. package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -1
  24. package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -1
  25. package/.next/server/app/(app)/design/page.js +3 -3
  26. package/.next/server/app/(app)/design/page.js.nft.json +1 -1
  27. package/.next/server/app/(app)/design/page_client-reference-manifest.js +1 -1
  28. package/.next/server/app/(app)/docs/[id]/page.js +2 -2
  29. package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -1
  30. package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -1
  31. package/.next/server/app/(app)/docs/page.js +2 -2
  32. package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
  33. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
  34. package/.next/server/app/(app)/github/page.js +2 -2
  35. package/.next/server/app/(app)/github/page.js.nft.json +1 -1
  36. package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -1
  37. package/.next/server/app/(app)/goals/page.js +2 -2
  38. package/.next/server/app/(app)/goals/page.js.nft.json +1 -1
  39. package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -1
  40. package/.next/server/app/(app)/inbox/page.js +2 -2
  41. package/.next/server/app/(app)/inbox/page.js.nft.json +1 -1
  42. package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -1
  43. package/.next/server/app/(app)/knowledge/page.js +3 -3
  44. package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -1
  45. package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -1
  46. package/.next/server/app/(app)/models/page.js +2 -2
  47. package/.next/server/app/(app)/models/page.js.nft.json +1 -1
  48. package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -1
  49. package/.next/server/app/(app)/notifications/page.js +2 -2
  50. package/.next/server/app/(app)/notifications/page.js.nft.json +1 -1
  51. package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -1
  52. package/.next/server/app/(app)/org/page.js +4 -4
  53. package/.next/server/app/(app)/org/page.js.nft.json +1 -1
  54. package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/(app)/organizations/page.js +1 -1
  56. package/.next/server/app/(app)/organizations/page.js.nft.json +1 -1
  57. package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -1
  58. package/.next/server/app/(app)/page.js +3 -3
  59. package/.next/server/app/(app)/page.js.nft.json +1 -1
  60. package/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
  61. package/.next/server/app/(app)/planner/page.js +2 -2
  62. package/.next/server/app/(app)/planner/page.js.nft.json +1 -1
  63. package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -1
  64. package/.next/server/app/(app)/plugins/page.js +2 -2
  65. package/.next/server/app/(app)/plugins/page.js.nft.json +1 -1
  66. package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -1
  67. package/.next/server/app/(app)/pm/page.js +2 -2
  68. package/.next/server/app/(app)/pm/page.js.nft.json +1 -1
  69. package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -1
  70. package/.next/server/app/(app)/prepare-deploy/page.js +3 -3
  71. package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -1
  72. package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -1
  73. package/.next/server/app/(app)/profile/page.js +2 -2
  74. package/.next/server/app/(app)/profile/page.js.nft.json +1 -1
  75. package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -1
  76. package/.next/server/app/(app)/pulse/page.js +2 -2
  77. package/.next/server/app/(app)/pulse/page.js.nft.json +1 -1
  78. package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -1
  79. package/.next/server/app/(app)/reports/[id]/page.js +2 -2
  80. package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -1
  81. package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -1
  82. package/.next/server/app/(app)/reports/page.js +3 -3
  83. package/.next/server/app/(app)/reports/page.js.nft.json +1 -1
  84. package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -1
  85. package/.next/server/app/(app)/routines/page.js +2 -2
  86. package/.next/server/app/(app)/routines/page.js.nft.json +1 -1
  87. package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -1
  88. package/.next/server/app/(app)/search/page.js +2 -2
  89. package/.next/server/app/(app)/search/page.js.nft.json +1 -1
  90. package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -1
  91. package/.next/server/app/(app)/security/page.js +2 -2
  92. package/.next/server/app/(app)/security/page.js.nft.json +1 -1
  93. package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
  94. package/.next/server/app/(app)/skills/page.js +3 -3
  95. package/.next/server/app/(app)/skills/page.js.nft.json +1 -1
  96. package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -1
  97. package/.next/server/app/(app)/tasks/page.js +2 -2
  98. package/.next/server/app/(app)/tasks/page.js.nft.json +1 -1
  99. package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -1
  100. package/.next/server/app/(app)/test-dev/page.js +1 -1
  101. package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -1
  102. package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -1
  103. package/.next/server/app/(app)/update/page.js +2 -2
  104. package/.next/server/app/(app)/update/page.js.nft.json +1 -1
  105. package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -1
  106. package/.next/server/app/(auth)/login/page.js +2 -2
  107. package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
  108. package/.next/server/app/(auth)/onboarding/page.js +1 -1
  109. package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -1
  110. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  111. package/.next/server/app/_global-error.html +1 -1
  112. package/.next/server/app/_global-error.rsc +1 -1
  113. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  114. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  115. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  116. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  117. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  118. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  119. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/cron/tick/route.js +2 -2
  121. package/.next/server/app/api/passkey/authenticate/verify/route.js +1 -1
  122. package/.next/server/app/api/passkey/register/verify/route.js +1 -1
  123. package/.next/server/app/api/sync/file/route.js +1 -1
  124. package/.next/server/app/api/telegram/poll/route.js +3 -3
  125. package/.next/server/app/api/v1/[[...path]]/route.js +1 -1
  126. package/.next/server/chunks/1033.js +1 -1
  127. package/.next/server/chunks/1881.js +1 -0
  128. package/.next/server/chunks/1986.js +1 -1
  129. package/.next/server/chunks/2118.js +1 -1
  130. package/.next/server/chunks/2170.js +1 -0
  131. package/.next/server/chunks/{1678.js → 2718.js} +16 -16
  132. package/.next/server/chunks/3987.js +3 -3
  133. package/.next/server/chunks/4288.js +1 -1
  134. package/.next/server/chunks/5580.js +12 -0
  135. package/.next/server/chunks/5878.js +1 -1
  136. package/.next/server/chunks/6296.js +4 -0
  137. package/.next/server/chunks/7867.js +1 -1
  138. package/.next/server/chunks/7905.js +1 -1
  139. package/.next/server/chunks/8013.js +1 -0
  140. package/.next/server/chunks/8134.js +1 -1
  141. package/.next/server/chunks/8211.js +1 -1
  142. package/.next/server/chunks/8236.js +21 -0
  143. package/.next/server/chunks/907.js +1 -1
  144. package/.next/server/chunks/9344.js +3 -3
  145. package/.next/server/middleware-build-manifest.js +1 -1
  146. package/.next/server/middleware.js +1 -1
  147. package/.next/server/pages/500.html +1 -1
  148. package/.next/server/server-reference-manifest.js +1 -1
  149. package/.next/server/server-reference-manifest.json +1 -1
  150. package/.next/static/chunks/1352-1e5e6e2ea57a0821.js +4 -0
  151. package/.next/static/chunks/2171-7d8bf2df1d540a82.js +1 -0
  152. package/.next/static/chunks/2636-13f5de5bc9726cc3.js +1 -0
  153. package/.next/static/chunks/{7218-21f40f9caef5d658.js → 7218-9fbc00e6cec34afa.js} +2 -2
  154. package/.next/static/chunks/8834-3c7f77ceebbeb079.js +1 -0
  155. package/.next/static/chunks/app/(app)/activity/{page-ce3fc6003368f592.js → page-c6f3b54a1401c391.js} +1 -1
  156. package/.next/static/chunks/app/(app)/agents/[handle]/page-38922257bbd82998.js +1 -0
  157. package/.next/static/chunks/app/(app)/code/page-51869dcdc0b0a50f.js +1 -0
  158. package/.next/static/chunks/app/(app)/config/page-ccaa231f4f64912a.js +1 -0
  159. package/.next/static/chunks/app/(app)/costs/page-864fe3407d0dc6c0.js +1 -0
  160. package/.next/static/chunks/app/(app)/cron/page-7be322a05e559da8.js +1 -0
  161. package/.next/static/chunks/app/(app)/dashboard/page-f181d957748f8f27.js +1 -0
  162. package/.next/static/chunks/app/(app)/design/{page-5997054187e59e74.js → page-dac84fe4a5e31454.js} +3 -3
  163. package/.next/static/chunks/app/(app)/docs/[id]/page-74da9f8a13f14a07.js +1 -0
  164. package/.next/static/chunks/app/(app)/docs/page-689045673b039708.js +1 -0
  165. package/.next/static/chunks/app/(app)/github/page-7b8ae16a0cd14bd3.js +1 -0
  166. package/.next/static/chunks/app/(app)/goals/page-49682d30eb297a16.js +1 -0
  167. package/.next/static/chunks/app/(app)/inbox/{page-474c3f0a181bbbd3.js → page-000769b0e849a435.js} +2 -2
  168. package/.next/static/chunks/app/(app)/knowledge/page-c329694479ee85cb.js +1 -0
  169. package/.next/static/chunks/app/(app)/{layout-720a1171f7152d86.js → layout-21e16931eac987ab.js} +1 -1
  170. package/.next/static/chunks/app/(app)/models/page-3e92db0acfbf844b.js +1 -0
  171. package/.next/static/chunks/app/(app)/notifications/page-646bdc5a20cac43b.js +12 -0
  172. package/.next/static/chunks/app/(app)/org/page-08141e549fea39ad.js +12 -0
  173. package/.next/static/chunks/app/(app)/organizations/{page-0de7da829c9b2249.js → page-b5617487ef2255ce.js} +1 -1
  174. package/.next/static/chunks/app/(app)/page-f2a05b3f92886a0c.js +1 -0
  175. package/.next/static/chunks/app/(app)/planner/{page-0fc0ebe2d338769a.js → page-4241aa863f23a96d.js} +1 -1
  176. package/.next/static/chunks/app/(app)/plugins/page-2e96b6b32d288dca.js +1 -0
  177. package/.next/static/chunks/app/(app)/pm/page-182d8faa90ed2643.js +1 -0
  178. package/.next/static/chunks/app/(app)/prepare-deploy/page-15ba476bf716d7e2.js +1 -0
  179. package/.next/static/chunks/app/(app)/profile/page-e18ad0668e7e7305.js +1 -0
  180. package/.next/static/chunks/app/(app)/pulse/page-d528de016fb3ec49.js +1 -0
  181. package/.next/static/chunks/app/(app)/reports/[id]/page-7be322a05e559da8.js +1 -0
  182. package/.next/static/chunks/app/(app)/reports/page-67f64d0e809c2bca.js +1 -0
  183. package/.next/static/chunks/app/(app)/routines/page-cdb5f6e2ca82640b.js +1 -0
  184. package/.next/static/chunks/app/(app)/search/page-a91bfaab25cd6aff.js +1 -0
  185. package/.next/static/chunks/app/(app)/security/page-79d44198dd58f2dd.js +1 -0
  186. package/.next/static/chunks/app/(app)/skills/page-2af4de1e97575285.js +1 -0
  187. package/.next/static/chunks/app/(app)/tasks/{page-4d535f34ae9c44ca.js → page-c975303be89aaee5.js} +1 -1
  188. package/.next/static/chunks/app/(app)/test-dev/page-2e0b655d1a79a326.js +1 -0
  189. package/.next/static/chunks/app/(app)/update/{page-decdb0ece526b50f.js → page-a1f8b007304e9bdc.js} +1 -1
  190. package/.next/static/chunks/app/(auth)/login/page-a8d0d8f09f9794ef.js +1 -0
  191. package/.next/static/chunks/app/(auth)/onboarding/page-7ce367a9bc0bcbeb.js +1 -0
  192. package/.next/trace-build +1 -1
  193. package/CHANGELOG.md +27 -0
  194. package/README.md +1 -1
  195. package/README.pt-BR.md +1 -1
  196. package/bin/constella.mjs +22 -0
  197. package/docs/UPDATE.md +15 -3
  198. package/package.json +1 -1
  199. package/.next/server/chunks/3392.js +0 -1
  200. package/.next/server/chunks/6538.js +0 -4
  201. package/.next/server/chunks/7727.js +0 -1
  202. package/.next/server/chunks/8237.js +0 -12
  203. package/.next/server/chunks/939.js +0 -1
  204. package/.next/server/chunks/9795.js +0 -21
  205. package/.next/static/chunks/3556-dbb9200143640484.js +0 -1
  206. package/.next/static/chunks/5523-9c369c915ee6d9c9.js +0 -1
  207. package/.next/static/chunks/7363-b9ebe28fed23b997.js +0 -1
  208. package/.next/static/chunks/7621-87d8d0d0568de3ca.js +0 -4
  209. package/.next/static/chunks/app/(app)/agents/[handle]/page-236e13b8edadd480.js +0 -1
  210. package/.next/static/chunks/app/(app)/code/page-18ae765c81a2c709.js +0 -1
  211. package/.next/static/chunks/app/(app)/config/page-8a6fcf6c04337210.js +0 -1
  212. package/.next/static/chunks/app/(app)/costs/page-230b0ef03a2024b0.js +0 -1
  213. package/.next/static/chunks/app/(app)/cron/page-ca89769e2522191d.js +0 -1
  214. package/.next/static/chunks/app/(app)/dashboard/page-6237c3a35cce55ce.js +0 -1
  215. package/.next/static/chunks/app/(app)/docs/[id]/page-3362d323e0f4dada.js +0 -1
  216. package/.next/static/chunks/app/(app)/docs/page-d7d8018a7884a4b4.js +0 -1
  217. package/.next/static/chunks/app/(app)/github/page-f5c1cae725d080fb.js +0 -1
  218. package/.next/static/chunks/app/(app)/goals/page-95e85ce115ed9ff3.js +0 -1
  219. package/.next/static/chunks/app/(app)/knowledge/page-08596428ca34b620.js +0 -1
  220. package/.next/static/chunks/app/(app)/models/page-fa1eb257e6911c9a.js +0 -1
  221. package/.next/static/chunks/app/(app)/notifications/page-31f2a041bdb497b9.js +0 -12
  222. package/.next/static/chunks/app/(app)/org/page-666438930ddc4639.js +0 -12
  223. package/.next/static/chunks/app/(app)/page-bfcf3d25f468240f.js +0 -1
  224. package/.next/static/chunks/app/(app)/plugins/page-ad369fbfec6f3d1c.js +0 -1
  225. package/.next/static/chunks/app/(app)/pm/page-bb39c9d9a4f0d597.js +0 -1
  226. package/.next/static/chunks/app/(app)/prepare-deploy/page-f182991e68b159c1.js +0 -1
  227. package/.next/static/chunks/app/(app)/profile/page-cf5fe16bfad2a7ba.js +0 -1
  228. package/.next/static/chunks/app/(app)/pulse/page-03877c467c491e8a.js +0 -1
  229. package/.next/static/chunks/app/(app)/reports/[id]/page-ca89769e2522191d.js +0 -1
  230. package/.next/static/chunks/app/(app)/reports/page-7741b6a25e582791.js +0 -1
  231. package/.next/static/chunks/app/(app)/routines/page-ea83e6337e7502c2.js +0 -1
  232. package/.next/static/chunks/app/(app)/search/page-5e7f7cf0cc51b76f.js +0 -1
  233. package/.next/static/chunks/app/(app)/security/page-410144cdc35e19cc.js +0 -1
  234. package/.next/static/chunks/app/(app)/skills/page-90e5d8a24920c275.js +0 -1
  235. package/.next/static/chunks/app/(app)/test-dev/page-782c8cadd8a10feb.js +0 -1
  236. package/.next/static/chunks/app/(auth)/login/page-147a9be880c44d42.js +0 -1
  237. package/.next/static/chunks/app/(auth)/onboarding/page-8548be7e3ab3659e.js +0 -1
  238. /package/.next/static/{ehoxBsPzAtE_FyZ2VpMF0 → PjU7M0g-BKQT9AfTuZvgl}/_buildManifest.js +0 -0
  239. /package/.next/static/{ehoxBsPzAtE_FyZ2VpMF0 → PjU7M0g-BKQT9AfTuZvgl}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9415],{1029:(e,t,s)=>{"use strict";s.d(t,{J:()=>n});var a=s(7797);let n=(0,a.createServerReference)("406ba323fdd094cd6be0fe6a52da6e5a82ed902480",a.callServer,void 0,a.findSourceMapURL,"rejectSpec")},1291:(e,t,s)=>{"use strict";s.d(t,{P:()=>n});var a=s(7797);let n=(0,a.createServerReference)("006910fc45d9bd87178dc83b87fb23580d680f1b14",a.callServer,void 0,a.findSourceMapURL,"approvePlan")},1476:(e,t,s)=>{"use strict";s.d(t,{t:()=>n});var a=s(7797);let n=(0,a.createServerReference)("4033e7726f1645fd69f4a34fdb34b307c97d034641",a.callServer,void 0,a.findSourceMapURL,"approveIssue")},2209:(e,t,s)=>{"use strict";s.d(t,{D:()=>n});var a=s(7797);let n=(0,a.createServerReference)("40f95e0db5e9b267d12150b25b4ec0751b2d6eddb2",a.callServer,void 0,a.findSourceMapURL,"setRunMode")},3804:(e,t,s)=>{"use strict";s.d(t,{HomeHeroActions:()=>o});var a=s(4275),n=s(2899),r=s(6295),i=s(869),c=s(888),l=s(6886);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")})]})]})})]})}},4036:(e,t,s)=>{"use strict";s.d(t,{b:()=>n});var a=s(7797);let n=(0,a.createServerReference)("602100fce20a104360066edb353471dc0d591fb990",a.callServer,void 0,a.findSourceMapURL,"resolveInbox")},4374:(e,t,s)=>{"use strict";s.d(t,{HomeInbox:()=>v});var a=s(4275),n=s(2899),r=s(6295),i=s(869),c=s(888),l=s(4036),o=s(1291),d=s(9865),m=s(1476),h=s(1029),u=s(5335),f=s(4375);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)})})}},4375:(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})},5105:(e,t,s)=>{"use strict";s.d(t,{HomeActivity:()=>c});var a=s(4275),n=s(869),r=s(5904),i=s(4375);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))})}},5176:(e,t,s)=>{"use strict";s.d(t,{HomeSeedBlocks:()=>m});var a=s(4275),n=s(2899),r=s(6295),i=s(9746),c=s.n(i),l=s(869),o=s(888),d=s(1417);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")," →"]})]})]})}},5335:(e,t,s)=>{"use strict";s.d(t,{d:()=>n});var a=s(7797);let n=(0,a.createServerReference)("40fbd1fb24c8548e39971f010ae94d301e3ef53fde",a.callServer,void 0,a.findSourceMapURL,"rejectIssue")},5623:(e,t,s)=>{"use strict";s.d(t,{WelcomeChat:()=>w});var a=s(4275),n=s(2899),r=s(6295),i=s(7674),c=s(231),l=s(8861),o=s(2773),d=s(661),m=s(3090),h=s(3602),u=s(6268),f=s(953),p=s(869),v=s(888),x=s(5904),b=s(379),j=s(2636),g=s(1995);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")})]})]})})]})}},6644:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,9746,23)),Promise.resolve().then(s.bind(s,5105)),Promise.resolve().then(s.bind(s,3804)),Promise.resolve().then(s.bind(s,4374)),Promise.resolve().then(s.bind(s,5176)),Promise.resolve().then(s.bind(s,7583)),Promise.resolve().then(s.bind(s,5623)),Promise.resolve().then(s.bind(s,8171)),Promise.resolve().then(s.bind(s,8183)),Promise.resolve().then(s.bind(s,4822)),Promise.resolve().then(s.bind(s,576)),Promise.resolve().then(s.bind(s,2454)),Promise.resolve().then(s.bind(s,9508)),Promise.resolve().then(s.bind(s,3891))},6886:(e,t,s)=>{"use strict";s.d(t,{G:()=>n});var a=s(7797);let n=(0,a.createServerReference)("40ea3f661c11a6f8ef2358ad921d6bde489350ce2a",a.callServer,void 0,a.findSourceMapURL,"startNewWork")},7583:(e,t,s)=>{"use strict";s.d(t,{HomeStatusChip:()=>o});var a=s(4275),n=s(2899),r=s(6295),i=s(869),c=s(2209),l=s(888);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")]})}},9865:(e,t,s)=>{"use strict";s.d(t,{B:()=>n});var a=s(7797);let n=(0,a.createServerReference)("4060d874ebb500e0e00ccb4b93d6305ec6dc34ba0c",a.callServer,void 0,a.findSourceMapURL,"approveSpec")}},e=>{e.O(0,[928,5452,171,8834,7218,1352,2636,2235,7066,7358],()=>e(e.s=6644)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1172],{1416:(e,s,t)=>{"use strict";t.d(s,{NewWorkButton:()=>d});var n=t(4275),r=t(2899),a=t(6295),l=t(888),i=t(869),c=t(2422);function d(){let e=(0,i.k)(),[s,t]=(0,r.useState)(!1),[d,o]=(0,r.useState)(""),[h,p]=(0,r.useState)(""),[u,m]=(0,r.useState)(""),[x,v]=(0,r.useTransition)(),f=(0,a.useRouter)();return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{className:"btn-ghost",onClick:()=>t(!0),children:[(0,n.jsx)(l.I,{name:"add",size:14})," ",e("planner.newWork.button")]}),s&&(0,n.jsx)("div",{className:"modal-overlay",onMouseDown:()=>!x&&t(!1),children:(0,n.jsxs)("div",{className:"modal",style:{padding:"20px 22px",width:480,maxWidth:"94vw"},onMouseDown:e=>e.stopPropagation(),children:[(0,n.jsx)("div",{style:{fontSize:15,fontWeight:800,marginBottom:4},children:e("planner.newWork.title")}),(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)",marginBottom:12},children:e("planner.newWork.desc")}),(0,n.jsx)("label",{className:"form-label",children:e("planner.newWork.titleLabel")}),(0,n.jsx)("input",{className:"form-input",autoFocus:!0,value:d,onChange:e=>o(e.target.value),placeholder:e("planner.newWork.titlePh")}),(0,n.jsx)("label",{className:"form-label",children:e("planner.newWork.briefLabel")}),(0,n.jsx)("textarea",{className:"form-input",rows:5,value:h,onChange:e=>p(e.target.value),placeholder:e("planner.newWork.briefPh")}),u&&(0,n.jsx)("div",{style:{color:"#e8688f",fontSize:12,marginTop:8},children:u}),(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:16},children:[(0,n.jsx)("button",{className:"btn-ghost",disabled:x,onClick:()=>t(!1),children:e("common.cancel")}),(0,n.jsx)("button",{className:"btn-accent",disabled:x||!h.trim(),onClick:function(){m(""),v(async()=>{let s=await (0,c.G)({title:d.trim()||void 0,brief:h});s.ok?(t(!1),o(""),p(""),f.refresh()):m(s.error??e("planner.newWork.failed"))})},children:x?e("planner.newWork.planning"):e("planner.newWork.create")})]})]})})]})}},2118:(e,s,t)=>{"use strict";t.d(s,{IssuesSection:()=>h});var n=t(4275),r=t(2899),a=t(5904),l=t(869),i=t(3063);let c={high:"var(--sx-keyword)",med:"#d98a2b",low:"var(--cyan,#6cc7e0)"},d=["active","awaiting","doing","review","blocked","done","cancelled","archived","all"];function o(e){return"cancelled"===e.status?"cancelled":"archived"===e.status?"archived":e.col}function h({issues:e,specs:s,agents:t}){let p=(0,l.k)(),[u,m]=(0,r.useState)("active"),x=Object.fromEntries(t.map(e=>[e.id,e])),v=e.filter(e=>(function(e,s){let t=o(e);switch(s){case"all":return!0;case"active":return"active"===e.status;case"awaiting":return"active"===e.status&&"todo"===e.col;case"cancelled":return"cancelled"===t;case"archived":return"archived"===t;default:return"active"===e.status&&e.col===s}})(e,u));return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"view-section-title",style:{marginTop:22,display:"flex",alignItems:"center",gap:12,flexWrap:"wrap"},children:[(0,n.jsxs)("span",{children:[p("planner.issues.title")," ",(0,n.jsxs)("span",{style:{fontWeight:400,color:"var(--text-faint)"},children:["\xb7 ",p("planner.issues.brokenFromSpecs",{n:e.length})]})]}),(0,n.jsx)("div",{className:"seg",style:{marginLeft:"auto"},children:d.map(e=>(0,n.jsx)("button",{className:"seg-opt"+(u===e?" on":""),onClick:()=>m(e),children:p(`planner.issueFilter.${e}`)},e))})]}),0===v.length?(0,n.jsx)("div",{className:"card",children:(0,n.jsx)("div",{className:"muted",children:"all"===u?p("planner.issues.emptyAll"):p("planner.issues.emptyFiltered",{filter:p(`planner.issueFilter.${u}`).toLowerCase()})})}):(0,n.jsx)("div",{className:"tbl-wrap",children:(0,n.jsxs)("table",{className:"tbl",children:[(0,n.jsx)("thead",{children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:p("planner.issues.col.id")}),(0,n.jsx)("th",{children:p("planner.issues.col.issue")}),(0,n.jsx)("th",{children:p("planner.issues.col.spec")}),(0,n.jsx)("th",{children:p("planner.issues.col.priority")}),(0,n.jsx)("th",{children:p("planner.issues.col.owner")}),(0,n.jsx)("th",{children:p("common.status")}),(0,n.jsx)("th",{children:p("planner.issues.col.updated")})]})}),(0,n.jsx)("tbody",{children:v.map(e=>{let t=e.assigneeId?x[e.assigneeId]:null,r=e.specId?s.find(s=>s.id===e.specId)?.key:null,l=c[e.prio]??"var(--text-dim)",d=o(e);return(0,n.jsxs)("tr",{style:"active"!==e.status?{opacity:.55}:void 0,children:[(0,n.jsx)("td",{children:(0,n.jsx)("span",{className:"chip-sm",children:e.key})}),(0,n.jsx)("td",{children:e.title}),(0,n.jsx)("td",{style:{color:"var(--text-dim)",fontFamily:"var(--mono-font)",fontSize:11.5},children:r??"—"}),(0,n.jsx)("td",{children:(0,n.jsx)("span",{className:"pill",style:{background:l+"22",color:l},children:p(`planner.prio.${e.prio}`)})}),(0,n.jsx)("td",{children:(0,n.jsx)("div",{className:"who",children:t?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.e,{name:t.name,color:t.color,size:18})," ",t.name]}):"—"})}),(0,n.jsx)("td",{children:(0,n.jsx)("span",{className:"pill issue-"+d,children:p(`planner.issueState.${d}`)})}),(0,n.jsx)("td",{style:{color:"var(--text-faint)",fontSize:11},children:(0,i.F)(e.updatedAt)})]},e.id)})})]})})]})}},2386:(e,s,t)=>{"use strict";t.d(s,{SpecsSection:()=>o});var n=t(4275),r=t(2899),a=t(5904),l=t(3556),i=t(869),c=t(3063);let d=["active","approved","draft","cancelled","archived","all"];function o({specs:e,issues:s,agents:t}){let h=(0,i.k)(),[p,u]=(0,r.useState)("active"),m=Object.fromEntries(t.map(e=>[e.id,e])),x=e.filter(e=>(function(e,s){switch(s){case"all":return!0;case"approved":return"active"===e.status&&e.approved;case"draft":return"active"===e.status&&!e.approved;case"cancelled":return"cancelled"===e.status;case"archived":return"archived"===e.status;default:return"active"===e.status}})(e,p));return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"view-section-title",style:{marginTop:22,display:"flex",alignItems:"center",gap:12,flexWrap:"wrap"},children:[(0,n.jsxs)("span",{children:[h("planner.specs.title")," ",(0,n.jsxs)("span",{style:{fontWeight:400,color:"var(--text-faint)"},children:["\xb7 ",h("planner.specs.from")]})]}),(0,n.jsx)("div",{className:"seg",style:{marginLeft:"auto"},children:d.map(e=>(0,n.jsx)("button",{className:"seg-opt"+(p===e?" on":""),onClick:()=>u(e),children:h(`planner.specFilter.${e}`)},e))})]}),0===x.length?(0,n.jsx)("div",{className:"card",children:(0,n.jsx)("div",{className:"muted",children:"all"===p?h("planner.specs.emptyAll"):h("planner.specs.emptyFiltered",{filter:h(`planner.specFilter.${p}`)})})}):(0,n.jsx)("div",{className:"cards-grid",style:{gridTemplateColumns:"1fr 1fr"},children:x.map(e=>{let t=e.authorId?m[e.authorId]:null,r=s.filter(s=>s.specId===e.id).length,i=t?.role??"—",d="active"!==e.status;return(0,n.jsxs)("div",{className:"card",style:d?{opacity:.6}:void 0,children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[(0,n.jsx)("span",{className:"chip-sm",children:e.key}),(0,n.jsx)("span",{style:{fontWeight:700,fontSize:13.5,color:"var(--text)",flex:1},children:e.title}),d&&(0,n.jsx)("span",{className:"pill",style:{fontSize:10},children:h(`planner.specFilter.${e.status}`)}),t&&(0,n.jsx)(a.e,{name:t.name,color:t.color,size:20})]}),(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)",marginBottom:8},children:e.summary}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsxs)("div",{style:{fontSize:11,color:"var(--text-faint)",flex:1},children:[i," \xb7 ",h("planner.specs.issueCount",{n:r})," \xb7 ",(0,n.jsxs)("span",{style:{color:"var(--accent)"},children:["specs/",e.key,".md"]}),e.createdAt&&(0,n.jsxs)(n.Fragment,{children:[" \xb7 ",(0,c.F)(e.createdAt)]})]}),!d&&(0,n.jsx)(l.p,{specId:e.id,specKey:e.key,approved:e.approved})]})]},e.id)})})]})}},2422:(e,s,t)=>{"use strict";t.d(s,{G:()=>r});var n=t(7797);let r=(0,n.createServerReference)("40204beb18ac2a6dd649bd6bac3cd3824475e9bf62",n.callServer,void 0,n.findSourceMapURL,"startNewWork")},3063:(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})},5904:(e,s,t)=>{"use strict";t.d(s,{e:()=>r});var n=t(4275);function r({name:e,color:s,size:t=24,health:a,image:l}){let i=Math.max(6,Math.round(.3*t)),c=Math.round(.28*t),d=l?/^(data:|https?:|\/)/.test(l)?l:`/api/upload?path=${encodeURIComponent(l)}`:null;return(0,n.jsxs)("span",{style:{position:"relative",width:t,height:t,flex:`0 0 ${t}px`,display:"inline-block"},children:[d?(0,n.jsx)("img",{src:d,alt:e,width:t,height:t,style:{width:t,height:t,borderRadius:c,objectFit:"cover",display:"block"}}):(0,n.jsx)("span",{style:{width:t,height:t,borderRadius:c,background:s,color:"#fff",display:"grid",placeItems:"center",fontSize:Math.round(.42*t),fontWeight:700},children:(e[0]||"?").toUpperCase()}),a&&(0,n.jsx)("span",{style:{position:"absolute",right:-1,bottom:-1,width:i,height:i,borderRadius:"50%",background:"alive"===a?"var(--sx-string)":"stale"===a?"var(--sx-number)":"var(--text-faint)",border:"1.5px solid var(--bg-elevated)"}})]})}},8467:(e,s,t)=>{Promise.resolve().then(t.t.bind(t,9746,23)),Promise.resolve().then(t.bind(t,4906)),Promise.resolve().then(t.bind(t,2118)),Promise.resolve().then(t.bind(t,1416)),Promise.resolve().then(t.bind(t,3556)),Promise.resolve().then(t.bind(t,2386)),Promise.resolve().then(t.bind(t,6032)),Promise.resolve().then(t.bind(t,8183)),Promise.resolve().then(t.bind(t,4822)),Promise.resolve().then(t.bind(t,24)),Promise.resolve().then(t.bind(t,2454)),Promise.resolve().then(t.bind(t,9508)),Promise.resolve().then(t.bind(t,3891))}},e=>{e.O(0,[928,171,5523,7218,3556,2235,7066,7358],()=>e(e.s=8467)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1172],{1416:(e,s,t)=>{"use strict";t.d(s,{NewWorkButton:()=>o});var n=t(4275),r=t(2899),a=t(6295),l=t(888),i=t(869),c=t(6886);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")})]})]})})]})}},2118:(e,s,t)=>{"use strict";t.d(s,{IssuesSection:()=>h});var n=t(4275),r=t(2899),a=t(5904),l=t(869),i=t(3063);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)})})]})})]})}},2386:(e,s,t)=>{"use strict";t.d(s,{SpecsSection:()=>d});var n=t(4275),r=t(2899),a=t(5904),l=t(2171),i=t(869),c=t(3063);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)})})]})}},3063:(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})},5904:(e,s,t)=>{"use strict";t.d(s,{e:()=>r});var n=t(4275);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)"}})]})}},6886:(e,s,t)=>{"use strict";t.d(s,{G:()=>r});var n=t(7797);let r=(0,n.createServerReference)("40ea3f661c11a6f8ef2358ad921d6bde489350ce2a",n.callServer,void 0,n.findSourceMapURL,"startNewWork")},8467:(e,s,t)=>{Promise.resolve().then(t.t.bind(t,9746,23)),Promise.resolve().then(t.bind(t,4906)),Promise.resolve().then(t.bind(t,2118)),Promise.resolve().then(t.bind(t,1416)),Promise.resolve().then(t.bind(t,2171)),Promise.resolve().then(t.bind(t,2386)),Promise.resolve().then(t.bind(t,8171)),Promise.resolve().then(t.bind(t,8183)),Promise.resolve().then(t.bind(t,4822)),Promise.resolve().then(t.bind(t,576)),Promise.resolve().then(t.bind(t,2454)),Promise.resolve().then(t.bind(t,9508)),Promise.resolve().then(t.bind(t,3891))}},e=>{e.O(0,[928,171,8834,7218,2171,2235,7066,7358],()=>e(e.s=8467)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3472],{2048:(e,n,i)=>{Promise.resolve().then(i.t.bind(i,9746,23)),Promise.resolve().then(i.bind(i,5351)),Promise.resolve().then(i.bind(i,8171)),Promise.resolve().then(i.bind(i,8183)),Promise.resolve().then(i.bind(i,4822)),Promise.resolve().then(i.bind(i,576)),Promise.resolve().then(i.bind(i,2454)),Promise.resolve().then(i.bind(i,9508)),Promise.resolve().then(i.bind(i,3891))},5351:(e,n,i)=>{"use strict";i.d(n,{InstallPlugin:()=>m,PluginGrid:()=>v});var s=i(4275),r=i(2899),l=i(7797);let a=(0,l.createServerReference)("60ce8a8d478a1952b6d97d086164d069b9ee07cced",l.callServer,void 0,l.findSourceMapURL,"installPlugin"),c=(0,l.createServerReference)("40372752843fdecbca79c3fb1d653bd2d6bec2c76a",l.callServer,void 0,l.findSourceMapURL,"removePlugin"),d=(0,l.createServerReference)("60790dd545151de569c1f702d633d56f403cf92c69",l.callServer,void 0,l.findSourceMapURL,"togglePlugin");var t=i(888),o=i(869);function m(){let e=(0,o.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)(t.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,o.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)(t.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(()=>{c(e.id)}),children:[(0,s.jsx)(t.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(()=>{d(e.id,!e.enabled)})})]})}}},e=>{e.O(0,[928,171,8834,7218,2235,7066,7358],()=>e(e.s=2048)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[423],{1962:(e,l,n)=>{Promise.resolve().then(n.t.bind(n,9746,23)),Promise.resolve().then(n.bind(n,2171)),Promise.resolve().then(n.bind(n,4142)),Promise.resolve().then(n.bind(n,8171)),Promise.resolve().then(n.bind(n,8183)),Promise.resolve().then(n.bind(n,4822)),Promise.resolve().then(n.bind(n,576)),Promise.resolve().then(n.bind(n,2454)),Promise.resolve().then(n.bind(n,9508)),Promise.resolve().then(n.bind(n,3891))},4142:(e,l,n)=>{"use strict";n.d(l,{BacklogRowActions:()=>y,GroomBacklogButton:()=>f,IssueCardActions:()=>S,IssueMoscow:()=>g,NewBacklogButton:()=>j});var s=n(4275),a=n(2899),o=n(888),i=n(869),c=n(7797);let r=(0,c.createServerReference)("60c4e87b1acb296199cd26f7db68ccf2c6439c0db6",c.callServer,void 0,c.findSourceMapURL,"setIssueMoscow"),t=(0,c.createServerReference)("40662be0344ed8920913609a278901fee959e357f7",c.callServer,void 0,c.findSourceMapURL,"createBacklogItem"),d=(0,c.createServerReference)("4009ece43b5a311c7d1f24a7a8833818ecdb67f420",c.callServer,void 0,c.findSourceMapURL,"unblockIssue"),m=(0,c.createServerReference)("607065c06ecc81a34e475a4e886dd4d9cd3c905b4e",c.callServer,void 0,c.findSourceMapURL,"moveIssue"),u=(0,c.createServerReference)("4025e2e54b8f609f5dd72c4bbcb0ecf2097a2fb2af",c.callServer,void 0,c.findSourceMapURL,"blockIssue"),p=(0,c.createServerReference)("40d7864e2ee02da5e231f4662c53d32d6bd47b8079",c.callServer,void 0,c.findSourceMapURL,"promoteBacklogItem"),b=(0,c.createServerReference)("40e9b385005dd3de1284a4ea8e3a9da59b68fd227c",c.callServer,void 0,c.findSourceMapURL,"deleteBacklogItem"),h=(0,c.createServerReference)("009751d8c00d5cce30bea74b7324f874e344d82c42",c.callServer,void 0,c.findSourceMapURL,"groomBacklog");function f(){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 h();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,h]=(0,a.useTransition)();function f(){c.trim()&&h(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&&f()}}),(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:f,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,[928,171,8834,7218,2171,2235,7066,7358],()=>e(e.s=1962)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1653],{3090:(e,s,a)=>{"use strict";a.d(s,{k:()=>l});var n=a(7797);let l=(0,n.createServerReference)("60687b23eb88a4b6d050ea1eff119a716ca285d2f1",n.callServer,void 0,n.findSourceMapURL,"getEvents")},4906:(e,s,a)=>{"use strict";a.d(s,{AgentRunLive:()=>o});var n=a(4275),l=a(2899),i=a(6295),t=a(888),r=a(3090),c=a(869);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),y=(0,l.useRef)(s?a:0),b=(0,l.useRef)(!1),k=(0,l.useRef)(0);if((0,l.useEffect)(()=>{s&&(y.current=a,b.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&&(y.current=Date.now()-1,b.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,y.current);s&&(n.length&&(y.current=Math.max(y.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)&&(b.current||(b.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))})]})]})}},4952:(e,s,a)=>{"use strict";a.d(s,{m:()=>c});var n=a(4275),l=a(2899),i=a(888),t=a(9156),r=a(869);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),y=(0,l.useRef)(null),b=(0,l.useMemo)(()=>(s||[]).map(e=>"string"==typeof e?{value:e,label:e}:e),[s]),k=b.find(s=>s.value===e),N=(m??b.length>8)&&!h,w=g.trim().toLowerCase(),I=N&&w?b.filter(e=>(e.label+" "+e.value+" "+(e.sub||"")).toLowerCase().includes(w)):b;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(()=>y.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:y,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(""),y.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===b.length&&(0,n.jsx)("div",{className:"dd-empty",children:x("common.noOptions")}),b.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))]})]})}},7170:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,9746,23)),Promise.resolve().then(a.bind(a,7794)),Promise.resolve().then(a.bind(a,8171)),Promise.resolve().then(a.bind(a,8183)),Promise.resolve().then(a.bind(a,4822)),Promise.resolve().then(a.bind(a,576)),Promise.resolve().then(a.bind(a,2454)),Promise.resolve().then(a.bind(a,9508)),Promise.resolve().then(a.bind(a,3891))},7794:(e,s,a)=>{"use strict";a.d(s,{PrepareDeploy:()=>I});var n=a(4275),l=a(2899),i=a(9746),t=a.n(i),r=a(888),c=a(4952),d=a(4906),o=a(869),p=a(7797);let h=(0,p.createServerReference)("002090974cff90d326ee009e08dfc7e1a3d40cc60e",p.callServer,void 0,p.findSourceMapURL,"getDeployRun"),m=(0,p.createServerReference)("005cb4e8adb0b7986519564b1d104f6e15584dc380",p.callServer,void 0,p.findSourceMapURL,"runDeployPipeline"),x=(0,p.createServerReference)("0004a0cdc0eba187b20f075d2b77cb082a4ed30297",p.callServer,void 0,p.findSourceMapURL,"previewCleanExport"),u=(0,p.createServerReference)("00e0fed3af173168401388e99210e79384779a9cdd",p.callServer,void 0,p.findSourceMapURL,"getDeployEnv"),v=(0,p.createServerReference)("406bd7a91052efdaac401a3d12537004a07349817c",p.callServer,void 0,p.findSourceMapURL,"exportCleanSource"),g=(0,p.createServerReference)("001cefd26a5ef534f2f2101c9a598c8ad06f3f859d",p.callServer,void 0,p.findSourceMapURL,"runBuildOnly"),j=(0,p.createServerReference)("00e152774180b180f8eb05e2d73e531209e847f25d",p.callServer,void 0,p.findSourceMapURL,"runTestsOnly"),f=(0,p.createServerReference)("00466562a7c6fdc47d17e08089e0d1391ced01e884",p.callServer,void 0,p.findSourceMapURL,"generateReadme"),y=(0,p.createServerReference)("0020e9ca8d8a05eebcd0f27f0179a81c037575c307",p.callServer,void 0,p.findSourceMapURL,"generateDeployDocs"),b=["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:b.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:b.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",y),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})})]})]})}},9156:(e,s,a)=>{"use strict";a.d(s,{W:()=>r});var n=a(4275),l=a(2899);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,[928,171,8834,7218,2235,7066,7358],()=>e(e.s=7170)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[101],{220:(e,s,a)=>{"use strict";a.d(s,{M:()=>r});var i=a(7797);let r=(0,i.createServerReference)("702407577e954ae5e1358c72dcfba53d656fff783e",i.callServer,void 0,i.findSourceMapURL,"connectTelegram")},1465:(e,s,a)=>{"use strict";a.d(s,{Profile:()=>R,ProfileSaveButton:()=>L});var i=a(4275),r=a(2899),n=a(6295),l=a(3703),t=a(2943),c=a(888),o=a(3758),d=a(576),m=a(869),h=a(7797);let p=(0,h.createServerReference)("40ddcb3ade0787a2037bdf513d2e0e2c32c0098173",h.callServer,void 0,h.findSourceMapURL,"updateProfile"),u=(0,h.createServerReference)("404cfe0365356f68d9ab8cc0460ce0038113a3d3b7",h.callServer,void 0,h.findSourceMapURL,"removePasskey"),f=(0,h.createServerReference)("003ae871834a9af5eb24abfdfe21f3064c90e62de2",h.callServer,void 0,h.findSourceMapURL,"revokeOtherSessionsAction"),x=(0,h.createServerReference)("0093cdb3723759f8b886121f7b3645c05b0ada7266",h.callServer,void 0,h.findSourceMapURL,"deleteAccountAction"),v=(0,h.createServerReference)("60553f6dbe343d8b101946e5db9ff495afb68a9e43",h.callServer,void 0,h.findSourceMapURL,"createPAT"),j=(0,h.createServerReference)("4032e516c941a709ed429b1b33031dbe93cba24473",h.callServer,void 0,h.findSourceMapURL,"revokePAT"),g=(0,h.createServerReference)("405bf50b285cb36f1c7d322eabd52fce61258b81b4",h.callServer,void 0,h.findSourceMapURL,"unlinkSocial");var b=a(5067),N=a(220);let k=(0,h.createServerReference)("607f771aba769575c8218d60f1a0437f7dfc84de80",h.callServer,void 0,h.findSourceMapURL,"setNotifPref"),y=(0,h.createServerReference)("401dcf593491c959aa2941197e9844da28852318de",h.callServer,void 0,h.findSourceMapURL,"setMotionPref"),w=(0,h.createServerReference)("4074b44a5cb46ad2bdf5bcb2edd58f00358bc2068b",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")})]})})}},2943:(e,s,a)=>{"use strict";a.d(s,{Jv:()=>l,yK:()=>n});var i=a(3571),r=a(4071);let n=(0,i.M)({baseURL:window.location.origin,plugins:[(0,r.N)()]}),{signIn:l,signUp:t,signOut:c,useSession:o,twoFactor:d}=n},3758:(e,s,a)=>{"use strict";a.d(s,{n:()=>c});var i=a(4275),r=a(2899),n=a(5904),l=a(888),t=a(869);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])})]})]})}},5067:(e,s,a)=>{"use strict";a.d(s,{K:()=>r});var i=a(7797);let r=(0,i.createServerReference)("00a201ea9d490512db00e808a0522d59e16f95e635",i.callServer,void 0,i.findSourceMapURL,"disconnectTelegram")},5904:(e,s,a)=>{"use strict";a.d(s,{e:()=>r});var i=a(4275);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)"}})]})}},9179:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,9746,23)),Promise.resolve().then(a.bind(a,1465)),Promise.resolve().then(a.bind(a,8171)),Promise.resolve().then(a.bind(a,8183)),Promise.resolve().then(a.bind(a,4822)),Promise.resolve().then(a.bind(a,576)),Promise.resolve().then(a.bind(a,2454)),Promise.resolve().then(a.bind(a,9508)),Promise.resolve().then(a.bind(a,3891))}},e=>{e.O(0,[928,717,3703,171,8834,7218,2235,7066,7358],()=>e(e.s=9179)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5049],{2770:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,9746,23)),Promise.resolve().then(n.bind(n,5932)),Promise.resolve().then(n.bind(n,8171)),Promise.resolve().then(n.bind(n,8183)),Promise.resolve().then(n.bind(n,4822)),Promise.resolve().then(n.bind(n,576)),Promise.resolve().then(n.bind(n,2454)),Promise.resolve().then(n.bind(n,9508)),Promise.resolve().then(n.bind(n,3891))},5932:(e,s,n)=>{"use strict";n.d(s,{ValidatePanel:()=>o});var a=n(4275),r=n(2899),i=n(888),l=n(869),t=n(7797);let d=(0,t.createServerReference)("40cf3d6f4d8e5bb0dfbfea089bc40182bd834f2155",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,[928,171,8834,7218,2235,7066,7358],()=>e(e.s=2770)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[148,3719],{701:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,9746,23)),Promise.resolve().then(n.bind(n,8171)),Promise.resolve().then(n.bind(n,8183)),Promise.resolve().then(n.bind(n,4822)),Promise.resolve().then(n.bind(n,576)),Promise.resolve().then(n.bind(n,2454)),Promise.resolve().then(n.bind(n,9508)),Promise.resolve().then(n.bind(n,3891))}},e=>{e.O(0,[928,171,8834,7218,2235,7066,7358],()=>e(e.s=701)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4639],{2356:(e,r,s)=>{"use strict";s.d(r,{GenerateReportButton:()=>c});var n=s(4275),t=s(2899),i=s(6295),o=s(888),a=s(7797);let d=(0,a.createServerReference)("001cab44efa51667a41de478d378395ddabcfb4223",a.callServer,void 0,a.findSourceMapURL,"generateReport");var l=s(869);function c(){let e=(0,l.k)(),[r,s]=(0,t.useTransition)(),a=(0,i.useRouter)();return(0,n.jsxs)("button",{className:"btn-accent",disabled:r,onClick:()=>s(async()=>{let e=await d();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")]})}},3012:(e,r,s)=>{Promise.resolve().then(s.t.bind(s,9746,23)),Promise.resolve().then(s.bind(s,2356)),Promise.resolve().then(s.bind(s,8171)),Promise.resolve().then(s.bind(s,8183)),Promise.resolve().then(s.bind(s,4822)),Promise.resolve().then(s.bind(s,576)),Promise.resolve().then(s.bind(s,2454)),Promise.resolve().then(s.bind(s,9508)),Promise.resolve().then(s.bind(s,3891))}},e=>{e.O(0,[928,171,8834,7218,2235,7066,7358],()=>e(e.s=3012)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3785],{2405:(e,a,n)=>{Promise.resolve().then(n.t.bind(n,9746,23)),Promise.resolve().then(n.bind(n,5944)),Promise.resolve().then(n.bind(n,6783)),Promise.resolve().then(n.bind(n,8171)),Promise.resolve().then(n.bind(n,8183)),Promise.resolve().then(n.bind(n,4822)),Promise.resolve().then(n.bind(n,576)),Promise.resolve().then(n.bind(n,2454)),Promise.resolve().then(n.bind(n,9508)),Promise.resolve().then(n.bind(n,3891))},4952:(e,a,n)=>{"use strict";n.d(a,{m:()=>r});var i=n(4275),o=n(2899),t=n(888),l=n(9156),s=n(869);function r({value:e,options:a,onChange:n,placeholder:c,mono:d,glyph:u,disabled:m,searchable:p}){let f=(0,s.k)(),[h,b]=(0,o.useState)(!1),[v,g]=(0,o.useState)(""),x=(0,o.useRef)(null),y=(0,o.useRef)(null),j=(0,o.useMemo)(()=>(a||[]).map(e=>"string"==typeof e?{value:e,label:e}:e),[a]),w=j.find(a=>a.value===e),k=(p??j.length>8)&&!m,N=v.trim().toLowerCase(),S=k&&N?j.filter(e=>(e.label+" "+e.value+" "+(e.sub||"")).toLowerCase().includes(N)):j;return(0,o.useEffect)(()=>{if(!h)return void g("");function e(e){x.current&&!x.current.contains(e.target)&&b(!1)}function a(e){"Escape"===e.key&&b(!1)}return document.addEventListener("mousedown",e),document.addEventListener("keydown",a),k&&requestAnimationFrame(()=>y.current?.focus()),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",a)}},[h,k]),(0,i.jsxs)("div",{className:"dd"+(h?" open":"")+(m?" disabled":""),ref:x,children:[(0,i.jsxs)("button",{type:"button",className:"dd-btn"+(d?" mono":""),onClick:()=>!m&&b(e=>!e),children:[u&&w&&(0,i.jsx)(l.W,{id:w.glyphId||w.value,size:20}),(0,i.jsx)("span",{className:"dd-val",children:w?w.label:(0,i.jsx)("span",{className:"dd-ph",children:c||f("common.selectEllipsis")})}),(0,i.jsx)(t.I,{name:"chevronDown",size:14})]}),h&&(0,i.jsxs)("div",{className:"dd-menu scroll",children:[k&&(0,i.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,i.jsx)(t.I,{name:"search",size:13}),(0,i.jsx)("input",{ref:y,value:v,placeholder:f("common.searchEllipsis"),onChange:e=>g(e.target.value),onKeyDown:e=>{"Enter"===e.key&&S[0]?(n(S[0].value),b(!1)):"Escape"===e.key&&v&&(e.stopPropagation(),g(""))},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"}}),v&&(0,i.jsx)("button",{type:"button",title:f("common.clear"),onClick:()=>{g(""),y.current?.focus()},style:{background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",display:"flex",padding:0},children:(0,i.jsx)(t.I,{name:"close",size:12})})]}),0===j.length&&(0,i.jsx)("div",{className:"dd-empty",children:f("common.noOptions")}),j.length>0&&0===S.length&&(0,i.jsx)("div",{className:"dd-empty",children:f("dropdown.noMatch",{q:v})}),S.map(a=>(0,i.jsxs)("button",{type:"button",className:"dd-opt"+(a.value===e?" on":""),onClick:()=>{n(a.value),b(!1)},children:[u&&(0,i.jsx)(l.W,{id:a.glyphId||a.value,size:22}),(0,i.jsxs)("span",{className:"dd-opt-main",children:[(0,i.jsx)("span",{className:"dd-opt-label"+(d?" mono":""),children:a.label}),a.sub&&(0,i.jsx)("span",{className:"dd-opt-sub",children:a.sub})]}),a.tag&&(0,i.jsx)("span",{className:"dd-opt-tag",children:a.tag}),a.value===e&&(0,i.jsx)(t.I,{name:"check",size:13})]},a.value))]})]})}},5944:(e,a,n)=>{"use strict";n.d(a,{FixButton:()=>p,RunReviewButton:()=>f,Toggle:()=>m});var i=n(4275),o=n(2899),t=n(7797);let l=(0,t.createServerReference)("6045d6793cdfc6938e51321051cd18e17cb0facfbb",t.callServer,void 0,t.findSourceMapURL,"toggleRoutine"),s=(0,t.createServerReference)("60e4a48144ad4db162bbf71f9ea2f2db47c39eac92",t.callServer,void 0,t.findSourceMapURL,"togglePlugin"),r=(0,t.createServerReference)("40110d61fae7e010a834a17c368dcb779bad2b8360",t.callServer,void 0,t.findSourceMapURL,"fixFinding"),c=(0,t.createServerReference)("0027f6d0771434b98c70943839f14e3f014b39f095",t.callServer,void 0,t.findSourceMapURL,"runReview");var d=n(888),u=n(869);function m({kind:e,id:a,on:n}){let[t,r]=(0,o.useTransition)(),c="routine"===e?l:s;return(0,i.jsx)("div",{className:"toggle"+(n?" on":""),"aria-disabled":t,role:"switch","aria-checked":n,onClick:()=>!t&&r(()=>c(a,!n))})}function p({id:e}){let a=(0,u.k)(),[n,t]=(0,o.useTransition)();return(0,i.jsxs)("button",{className:"sc2-btn",disabled:n,onClick:()=>t(()=>r(e)),children:[(0,i.jsx)(d.I,{name:"bot",size:12})," ",a("security.letAgentFix")]})}function f(){let e=(0,u.k)(),[a,n]=(0,o.useTransition)();return(0,i.jsxs)("button",{className:"btn-accent",disabled:a,onClick:()=>{window.dispatchEvent(new CustomEvent("constella:agent-run",{detail:{channel:"security"}})),n(async()=>{await c()})},children:[(0,i.jsx)(d.I,{name:"refresh",size:14,className:a?"sync-spin":""})," ",e(a?"security.reviewing":"security.runReview")]})}},6783:(e,a,n)=>{"use strict";n.d(a,{DeleteRoutineButton:()=>f,NewRoutineButton:()=>p});var i=n(4275),o=n(2899),t=n(6295),l=n(888),s=n(4952),r=n(869),c=n(7797);let d=(0,c.createServerReference)("407e6f719ec3ce48780979b3a1575186eebeae002e",c.callServer,void 0,c.findSourceMapURL,"createRoutine"),u=(0,c.createServerReference)("40a58c58aa5a2dea1241d7c96702c841101894f751",c.callServer,void 0,c.findSourceMapURL,"deleteRoutine"),m=["Hourly","Daily","Weekly","Monthly"];function p({agents:e}){let a=(0,r.k)(),[n,c]=(0,o.useState)(!1),[u,f]=(0,o.useState)(""),[h,b]=(0,o.useState)(""),[v,g]=(0,o.useState)("Daily"),[x,y]=(0,o.useState)(""),[j,w]=(0,o.useState)(""),[k,N]=(0,o.useTransition)(),S=(0,t.useRouter)();return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("button",{className:"btn-accent",onClick:()=>c(!0),children:[(0,i.jsx)(l.I,{name:"add",size:14})," ",a("routines.new.button")]}),n&&(0,i.jsx)("div",{className:"modal-overlay",onMouseDown:()=>!k&&c(!1),children:(0,i.jsxs)("div",{className:"modal",style:{padding:"20px 22px",width:460,maxWidth:"94vw"},onMouseDown:e=>e.stopPropagation(),children:[(0,i.jsx)("div",{style:{fontSize:15,fontWeight:800,marginBottom:4},children:a("routines.new.title")}),(0,i.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)",marginBottom:12},children:a("routines.new.desc")}),(0,i.jsxs)("label",{className:"form-label",children:[a("common.name")," ",(0,i.jsx)("span",{className:"req",children:"*"})]}),(0,i.jsx)("input",{className:"form-input",autoFocus:!0,value:u,onChange:e=>f(e.target.value),placeholder:a("routines.new.namePh")}),(0,i.jsx)("label",{className:"form-label",children:a("routines.new.command")}),(0,i.jsx)("input",{className:"form-input mono",value:h,onChange:e=>b(e.target.value),placeholder:a("routines.new.commandPh")}),(0,i.jsxs)("div",{style:{display:"flex",gap:10},children:[(0,i.jsxs)("div",{style:{flex:1},children:[(0,i.jsx)("label",{className:"form-label",children:a("routines.new.frequency")}),(0,i.jsx)(s.m,{value:v,options:m.map(e=>({value:e,label:a(`routines.freq.${e}`)})),onChange:g})]}),(0,i.jsxs)("div",{style:{flex:1},children:[(0,i.jsx)("label",{className:"form-label",children:a("routines.new.ownerAgent")}),(0,i.jsx)(s.m,{value:x,placeholder:a("routines.new.unassigned"),options:[{value:"",label:a("routines.new.unassigned")},...e.map(e=>({value:e.id,label:e.name}))],onChange:y})]})]}),j&&(0,i.jsx)("div",{style:{color:"#e8688f",fontSize:12,marginTop:8},children:j}),(0,i.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:16},children:[(0,i.jsx)("button",{className:"btn-ghost",disabled:k,onClick:()=>c(!1),children:a("common.cancel")}),(0,i.jsx)("button",{className:"btn-accent",disabled:k||!u.trim(),onClick:function(){w(""),N(async()=>{let e=await d({name:u,cmd:h,freq:v,agentId:x||void 0});e.ok?(c(!1),f(""),b(""),g("Daily"),y(""),S.refresh()):w(e.error??a("routines.new.failed"))})},children:k?a("routines.new.creating"):a("routines.new.create")})]})]})})]})}function f({id:e}){let a=(0,r.k)(),[n,s]=(0,o.useTransition)(),c=(0,t.useRouter)();return(0,i.jsx)("button",{className:"iact danger",title:a("routines.delete.title"),disabled:n,onClick:()=>{confirm(a("routines.delete.confirm"))&&s(async()=>{await u(e),c.refresh()})},children:(0,i.jsx)(l.I,{name:"trash",size:14})})}},9156:(e,a,n)=>{"use strict";n.d(a,{W:()=>s});var i=n(4275),o=n(2899);let t={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"},l={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 s({id:e,size:a=34,radius:n}){let r,c=l[e],d=c?c[0]:"#5b6378",u=c?c[1]:(e||"?").slice(0,2).replace(/[^a-z0-9]/gi,"").toUpperCase(),m=(r=t[e])?`https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg/icons/${r}.svg`:null,[p,f]=(0,o.useState)(!1),h=null!=n?n:Math.round(.28*a),b=m&&!p,v=Math.round(.66*a);return(0,i.jsx)("span",{className:"prov-glyph",style:{width:a,height:a,flex:"0 0 "+a+"px",borderRadius:h,background:b?"#fff":"linear-gradient(150deg, "+d+", color-mix(in srgb, "+d+" 70%, #000))",color:"#fff",display:"grid",placeItems:"center",overflow:"hidden",fontSize:Math.round(.4*a),fontWeight:800,letterSpacing:"-.5px",boxShadow:b?"inset 0 0 0 1px rgba(0,0,0,.08)":"inset 0 1px 0 rgba(255,255,255,.18)"},children:b?(0,i.jsx)("img",{src:m,alt:"",width:v,height:v,loading:"lazy",onError:()=>f(!0),style:{width:v,height:v,objectFit:"contain",display:"block"}}):u})}}},e=>{e.O(0,[928,171,8834,7218,2235,7066,7358],()=>e(e.s=2405)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7712],{1260:(e,s,t)=>{"use strict";t.d(s,{R:()=>a});var r=t(4275);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})}},1648:(e,s,t)=>{Promise.resolve().then(t.t.bind(t,9746,23)),Promise.resolve().then(t.bind(t,4838)),Promise.resolve().then(t.bind(t,8171)),Promise.resolve().then(t.bind(t,8183)),Promise.resolve().then(t.bind(t,4822)),Promise.resolve().then(t.bind(t,576)),Promise.resolve().then(t.bind(t,2454)),Promise.resolve().then(t.bind(t,9508)),Promise.resolve().then(t.bind(t,3891))},4838:(e,s,t)=>{"use strict";t.d(s,{SearchPalette:()=>i});var r=t(4275),a=t(2899),l=t(6295),c=t(1260),n=t(869);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,[928,171,8834,7218,2235,7066,7358],()=>e(e.s=1648)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3746],{3090:(e,n,t)=>{"use strict";t.d(n,{k:()=>s});var r=t(7797);let s=(0,r.createServerReference)("60687b23eb88a4b6d050ea1eff119a716ca285d2f1",r.callServer,void 0,r.findSourceMapURL,"getEvents")},4906:(e,n,t)=>{"use strict";t.d(n,{AgentRunLive:()=>d});var r=t(4275),s=t(2899),i=t(6295),a=t(888),l=t(3090),c=t(869);let o=["read","create","edit","run","search","thinking","done","error"];function d({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)([]),[b,p]=(0,s.useState)(0),x=(0,s.useRef)(n?t:0),w=(0,s.useRef)(!1),S=(0,s.useRef)(0);if((0,s.useEffect)(()=>{n&&(x.current=t,w.current=!1,S.current=t>0?t:Date.now(),k([]),p(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&&(x.current=Date.now()-1,w.current=!1,S.current=Date.now(),k([]),p(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(()=>p(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,x.current);n&&(r.length&&(x.current=Math.max(x.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(b/60)).padStart(2,"0"),I=String(b%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:o.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))})]})]})}},5944:(e,n,t)=>{"use strict";t.d(n,{FixButton:()=>h,RunReviewButton:()=>v,Toggle:()=>f});var r=t(4275),s=t(2899),i=t(7797);let a=(0,i.createServerReference)("6045d6793cdfc6938e51321051cd18e17cb0facfbb",i.callServer,void 0,i.findSourceMapURL,"toggleRoutine"),l=(0,i.createServerReference)("60e4a48144ad4db162bbf71f9ea2f2db47c39eac92",i.callServer,void 0,i.findSourceMapURL,"togglePlugin"),c=(0,i.createServerReference)("40110d61fae7e010a834a17c368dcb779bad2b8360",i.callServer,void 0,i.findSourceMapURL,"fixFinding"),o=(0,i.createServerReference)("0027f6d0771434b98c70943839f14e3f014b39f095",i.callServer,void 0,i.findSourceMapURL,"runReview");var d=t(888),u=t(869);function f({kind:e,id:n,on:t}){let[i,c]=(0,s.useTransition)(),o="routine"===e?a:l;return(0,r.jsx)("div",{className:"toggle"+(t?" on":""),"aria-disabled":i,role:"switch","aria-checked":t,onClick:()=>!i&&c(()=>o(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)(d.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 o()})},children:[(0,r.jsx)(d.I,{name:"refresh",size:14,className:n?"sync-spin":""})," ",e(n?"security.reviewing":"security.runReview")]})}},7357:(e,n,t)=>{Promise.resolve().then(t.t.bind(t,9746,23)),Promise.resolve().then(t.bind(t,4906)),Promise.resolve().then(t.bind(t,5944)),Promise.resolve().then(t.bind(t,8171)),Promise.resolve().then(t.bind(t,8183)),Promise.resolve().then(t.bind(t,4822)),Promise.resolve().then(t.bind(t,576)),Promise.resolve().then(t.bind(t,2454)),Promise.resolve().then(t.bind(t,9508)),Promise.resolve().then(t.bind(t,3891))}},e=>{e.O(0,[928,171,8834,7218,2235,7066,7358],()=>e(e.s=7357)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4262],{1700:(e,s,a)=>{"use strict";a.d(s,{SkillsClient:()=>v});var l=a(4275),i=a(2899),n=a(3891),t=a(888),r=a(5904),c=a(4952),o=a(869),d=a(7797);let m=(0,d.createServerReference)("6049b93d2a6597717383007f69139c855e84e01f7e",d.callServer,void 0,d.findSourceMapURL,"saveSkillInstructions"),u=(0,d.createServerReference)("40b0638694cfe343d98c2fc12a93e53926884c2324",d.callServer,void 0,d.findSourceMapURL,"approveProvisional"),h=(0,d.createServerReference)("00910e945704d7d4ad28aa43c3876d97bf0a53c859",d.callServer,void 0,d.findSourceMapURL,"suggestSkillsFromLearnings"),p=(0,d.createServerReference)("40a4797791a189086448213ac31e6ebac2dd991aff",d.callServer,void 0,d.findSourceMapURL,"deleteSkill"),x=(0,d.createServerReference)("403a9bf9c4904e857957f1e48db8ee02ebfccce861",d.callServer,void 0,d.findSourceMapURL,"createSkill"),g=(0,d.createServerReference)("40612b701c9ca475df7d1d267eb0792006fbc8d312",d.callServer,void 0,d.findSourceMapURL,"generateSkill");function v({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)(b,{}),(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 b(){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??""),[v,b]=(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()||v,onClick:function(){n.trim()&&b(async()=>{await x({name:n,summary:d,instructions:u,agentId:p}),s()})},children:a(v?"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")})]})]})})}},4952:(e,s,a)=>{"use strict";a.d(s,{m:()=>c});var l=a(4275),i=a(2899),n=a(888),t=a(9156),r=a(869);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),[v,b]=(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=v.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 b("");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:v,placeholder:p("common.searchEllipsis"),onChange:e=>b(e.target.value),onKeyDown:e=>{"Enter"===e.key&&S[0]?(a(S[0].value),g(!1)):"Escape"===e.key&&v&&(e.stopPropagation(),b(""))},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"}}),v&&(0,l.jsx)("button",{type:"button",title:p("common.clear"),onClick:()=>{b(""),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:v})}),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))]})]})}},5794:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,9746,23)),Promise.resolve().then(a.bind(a,1700)),Promise.resolve().then(a.bind(a,8171)),Promise.resolve().then(a.bind(a,8183)),Promise.resolve().then(a.bind(a,4822)),Promise.resolve().then(a.bind(a,576)),Promise.resolve().then(a.bind(a,2454)),Promise.resolve().then(a.bind(a,9508))},5904:(e,s,a)=>{"use strict";a.d(s,{e:()=>i});var l=a(4275);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)"}})]})}},9156:(e,s,a)=>{"use strict";a.d(s,{W:()=>r});var l=a(4275),i=a(2899);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,v=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:v,height:v,loading:"lazy",onError:()=>p(!0),style:{width:v,height:v,objectFit:"contain",display:"block"}}):m})}}},e=>{e.O(0,[928,171,8834,7218,2235,7066,7358],()=>e(e.s=5794)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2738],{1527:(e,s,a)=>{"use strict";a.d(s,{TaskBoard:()=>k});var i=a(4275),l=a(2899),n=a(888),t=a(5904),d=a(869),r=a(3540),c=a(7797);let o=(0,c.createServerReference)("60efe2c88ae01c09237a24a481571df0cbad4fca4d",c.callServer,void 0,c.findSourceMapURL,"updateTaskDescription"),h=(0,c.createServerReference)("60d885ab412f211c3f4564e6c0f3672b2e821be990",c.callServer,void 0,c.findSourceMapURL,"toggleTaskStep"),m=(0,c.createServerReference)("40fc1d0418209dccfeb1ab3612e35ad8b5d92004fa",c.callServer,void 0,c.findSourceMapURL,"deleteTaskStep"),p=(0,c.createServerReference)("606246313f55db9d637653621989a85394f74d7667",c.callServer,void 0,c.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 r=(0,d.k)(),[c,k]=(0,l.useState)(e.description),[b,f]=(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:r(`tasks.prio.${e.prio}`)}),g&&(0,i.jsx)("span",{className:"chip-sm",children:r(`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:r("common.description")}),(0,i.jsx)("textarea",{className:"persona-ta",value:c,onChange:e=>k(e.target.value),onBlur:()=>{c!==e.description&&j(()=>o(e.id,c))},placeholder:r("tasks.descPlaceholder")})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"detail-label",children:r("tasks.liveProgress")}),0===e.steps.length&&(0,i.jsx)("div",{style:{fontSize:12,color:"var(--text-faint)"},children:r("tasks.noSteps",{who:s?s.name:r("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:r("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:r("tasks.addStepPlaceholder"),value:b,onChange:e=>f(e.target.value),onKeyDown:s=>{"Enter"===s.key&&b.trim()&&(j(()=>p(e.id,b)),f(""))}}),(0,i.jsx)("button",{className:"btn-ghost",style:{padding:"4px 10px"},disabled:!b.trim(),onClick:()=>{j(()=>p(e.id,b)),f("")},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])),[c,o]=(0,l.useState)(null),h=c?e.find(e=>e.id===c)??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)(r.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)})]})}},3540:(e,s,a)=>{"use strict";a.d(s,{NewTaskButton:()=>m,X:()=>u});var i=a(4275),l=a(2899),n=a(869),t=a(7797);let d=(0,t.createServerReference)("40719173fae4079736b541866f993e89daac738cfe",t.callServer,void 0,t.findSourceMapURL,"createTask"),r=(0,t.createServerReference)("407a849d9e03a68a3b8ac5df32b026bd596796708e",t.callServer,void 0,t.findSourceMapURL,"unblockTask"),c=(0,t.createServerReference)("60b134a0492cbb2574ee8ea01d51be12efd59b4f3a",t.callServer,void 0,t.findSourceMapURL,"moveTask"),o=(0,t.createServerReference)("401ed1e0187bc0898d1d0811d4b4b00916db49d810",t.callServer,void 0,t.findSourceMapURL,"blockTask"),h=(0,t.createServerReference)("404c65174c144722505b46e82e7c4a467e6cee2b0d",t.callServer,void 0,t.findSourceMapURL,"deleteTask");function m({agents:e}){let s=(0,n.k)(),[a,t]=(0,l.useState)(!1),[r,c]=(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:r,onChange:e=>c(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:!r.trim()||v,onClick:function(){x(async()=>{await d({title:r,assigneeId:o,prio:p}),t(!1),c("")})},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(()=>r(e)),children:"▶"}):"done"!==s&&(0,i.jsx)("button",{className:"mini",disabled:t,title:a("tasks.advance"),onClick:()=>d(()=>c(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:"✕"})]})}},4276:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,9746,23)),Promise.resolve().then(a.bind(a,3540)),Promise.resolve().then(a.bind(a,1527)),Promise.resolve().then(a.bind(a,6032)),Promise.resolve().then(a.bind(a,8183)),Promise.resolve().then(a.bind(a,4822)),Promise.resolve().then(a.bind(a,24)),Promise.resolve().then(a.bind(a,2454)),Promise.resolve().then(a.bind(a,9508)),Promise.resolve().then(a.bind(a,3891))},5904:(e,s,a)=>{"use strict";a.d(s,{e:()=>l});var i=a(4275);function l({name:e,color:s,size:a=24,health:n,image:t}){let d=Math.max(6,Math.round(.3*a)),r=Math.round(.28*a),c=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:[c?(0,i.jsx)("img",{src:c,alt:e,width:a,height:a,style:{width:a,height:a,borderRadius:r,objectFit:"cover",display:"block"}}):(0,i.jsx)("span",{style:{width:a,height:a,borderRadius:r,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)"}})]})}}},e=>{e.O(0,[928,171,5523,7218,2235,7066,7358],()=>e(e.s=4276)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2738],{1255:(e,s,a)=>{"use strict";a.d(s,{TaskBoard:()=>f});var i=a(4275),l=a(2899),n=a(888),t=a(5904),r=a(869),d=a(2255),o=a(7797);let c=(0,o.createServerReference)("604f36d8755a1a2789e18aff38a842c8b2ea5cadff",o.callServer,void 0,o.findSourceMapURL,"updateTaskDescription"),h=(0,o.createServerReference)("6001c4024a9261e4389f02a1645166ea0bf0919bd4",o.callServer,void 0,o.findSourceMapURL,"toggleTaskStep"),m=(0,o.createServerReference)("40863248456a82499700bec69074062aa7417b1f3b",o.callServer,void 0,o.findSourceMapURL,"deleteTaskStep"),p=(0,o.createServerReference)("60bc795c1bf20101c8779c2879ce2f92644c560a9d",o.callServer,void 0,o.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 d=(0,r.k)(),[o,f]=(0,l.useState)(e.description),[k,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:d(`tasks.prio.${e.prio}`)}),g&&(0,i.jsx)("span",{className:"chip-sm",children:d(`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:d("common.description")}),(0,i.jsx)("textarea",{className:"persona-ta",value:o,onChange:e=>f(e.target.value),onBlur:()=>{o!==e.description&&j(()=>c(e.id,o))},placeholder:d("tasks.descPlaceholder")})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"detail-label",children:d("tasks.liveProgress")}),0===e.steps.length&&(0,i.jsx)("div",{style:{fontSize:12,color:"var(--text-faint)"},children:d("tasks.noSteps",{who:s?s.name:d("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:d("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:d("tasks.addStepPlaceholder"),value:k,onChange:e=>b(e.target.value),onKeyDown:s=>{"Enter"===s.key&&k.trim()&&(j(()=>p(e.id,k)),b(""))}}),(0,i.jsx)("button",{className:"btn-ghost",style:{padding:"4px 10px"},disabled:!k.trim(),onClick:()=>{j(()=>p(e.id,k)),b("")},children:(0,i.jsx)(n.I,{name:"add",size:12})})]})]})]})]})})}function f({tasks:e,agents:s}){let a=(0,r.k)(),n=Object.fromEntries(s.map(e=>[e.id,e])),[o,c]=(0,l.useState)(null),h=o?e.find(e=>e.id===o)??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:()=>c(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)(d.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:()=>c(null)})]})}},2255:(e,s,a)=>{"use strict";a.d(s,{NewTaskButton:()=>m,X:()=>u});var i=a(4275),l=a(2899),n=a(869),t=a(7797);let r=(0,t.createServerReference)("40411f3766c271799b2a21d0b504e2a2ed182cd051",t.callServer,void 0,t.findSourceMapURL,"createTask"),d=(0,t.createServerReference)("40df26a69a2a6012a602b5efae77a24383886b2429",t.callServer,void 0,t.findSourceMapURL,"unblockTask"),o=(0,t.createServerReference)("60ee6774040b86e634a4b8aa09ae989ed8808f951c",t.callServer,void 0,t.findSourceMapURL,"moveTask"),c=(0,t.createServerReference)("4081a80ea212072b5e1164d67b9fce8f349d41b05c",t.callServer,void 0,t.findSourceMapURL,"blockTask"),h=(0,t.createServerReference)("40a0034c2dfb39aaee511656b829dff3cfd4e1384b",t.callServer,void 0,t.findSourceMapURL,"deleteTask");function m({agents:e}){let s=(0,n.k)(),[a,t]=(0,l.useState)(!1),[d,o]=(0,l.useState)(""),[c,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:d,onChange:e=>o(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:c,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:!d.trim()||v,onClick:function(){x(async()=>{await r({title:d,assigneeId:c,prio:p}),t(!1),o("")})},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,r]=(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:()=>r(()=>d(e)),children:"▶"}):"done"!==s&&(0,i.jsx)("button",{className:"mini",disabled:t,title:a("tasks.advance"),onClick:()=>r(()=>o(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:()=>r(()=>c(e)),children:"⊘"}),(0,i.jsx)("button",{className:"mini",disabled:t,title:a("common.delete"),onClick:()=>r(()=>h(e)),children:"✕"})]})}},4276:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,9746,23)),Promise.resolve().then(a.bind(a,2255)),Promise.resolve().then(a.bind(a,1255)),Promise.resolve().then(a.bind(a,8171)),Promise.resolve().then(a.bind(a,8183)),Promise.resolve().then(a.bind(a,4822)),Promise.resolve().then(a.bind(a,576)),Promise.resolve().then(a.bind(a,2454)),Promise.resolve().then(a.bind(a,9508)),Promise.resolve().then(a.bind(a,3891))},5904:(e,s,a)=>{"use strict";a.d(s,{e:()=>l});var i=a(4275);function l({name:e,color:s,size:a=24,health:n,image:t}){let r=Math.max(6,Math.round(.3*a)),d=Math.round(.28*a),o=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:[o?(0,i.jsx)("img",{src:o,alt:e,width:a,height:a,style:{width:a,height:a,borderRadius:d,objectFit:"cover",display:"block"}}):(0,i.jsx)("span",{style:{width:a,height:a,borderRadius:d,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: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)"}})]})}}},e=>{e.O(0,[928,171,8834,7218,2235,7066,7358],()=>e(e.s=4276)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5210],{358:(e,s,t)=>{"use strict";t.d(s,{j:()=>i});var a=t(7797);let i=(0,a.createServerReference)("00b498e03039c3b92608017ce7cca973d20d814eb9",a.callServer,void 0,a.findSourceMapURL,"devServerStatusAction")},1059:(e,s,t)=>{"use strict";t.d(s,{K:()=>i});var a=t(7797);let i=(0,a.createServerReference)("40e1d428a35224b686669e65eb8c74dc34e5ce1d04",a.callServer,void 0,a.findSourceMapURL,"previewFrameableAction")},3063:(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})},3220:(e,s,t)=>{"use strict";t.d(s,{TestDevScreen:()=>b});var a=t(4275),i=t(2899),r=t(888),n=t(4952),l=t(3063),d=t(869),c=t(1059),o=t(7797);let m=(0,o.createServerReference)("00d1bff8cab30eda9c022a4bf2bf5b522c0b9c9f87",o.callServer,void 0,o.findSourceMapURL,"stopDevServerAction");var v=t(6206),h=t(358);let p=(0,o.createServerReference)("40c3b9140f05ada027c6e018f19b0cd88916d79baa",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)"},g=[{id:"desktop",w:"100%"},{id:"tablet",w:"768px"},{id:"mobile",w:"390px"}];function f({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=g.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:g.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,g]=(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()=>{g(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()=>{g(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}),g(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)(f,{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)})]})]})})]})}},4952:(e,s,t)=>{"use strict";t.d(s,{m:()=>d});var a=t(4275),i=t(2899),r=t(888),n=t(9156),l=t(869);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),[g,f]=(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=g.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 f("");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:g,placeholder:p("common.searchEllipsis"),onChange:e=>f(e.target.value),onKeyDown:e=>{"Enter"===e.key&&S[0]?(t(S[0].value),x(!1)):"Escape"===e.key&&g&&(e.stopPropagation(),f(""))},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,a.jsx)("button",{type:"button",title:p("common.clear"),onClick:()=>{f(""),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:g})}),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))]})]})}},6206:(e,s,t)=>{"use strict";t.d(s,{R:()=>i});var a=t(7797);let i=(0,a.createServerReference)("001c80e5c76a900238fcefc34ad7fb27d2674c43b3",a.callServer,void 0,a.findSourceMapURL,"startDevServerAction")},7217:(e,s,t)=>{Promise.resolve().then(t.t.bind(t,9746,23)),Promise.resolve().then(t.bind(t,3220)),Promise.resolve().then(t.bind(t,8171)),Promise.resolve().then(t.bind(t,8183)),Promise.resolve().then(t.bind(t,4822)),Promise.resolve().then(t.bind(t,576)),Promise.resolve().then(t.bind(t,2454)),Promise.resolve().then(t.bind(t,9508)),Promise.resolve().then(t.bind(t,3891))},9156:(e,s,t)=>{"use strict";t.d(s,{W:()=>l});var a=t(4275),i=t(2899);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,g=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:g,height:g,loading:"lazy",onError:()=>p(!0),style:{width:g,height:g,objectFit:"contain",display:"block"}}):m})}}},e=>{e.O(0,[928,171,8834,7218,2235,7066,7358],()=>e(e.s=7217)),_N_E=e.O()}]);