constellai 0.3.1 → 0.3.3

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/app-path-routes-manifest.json +1 -1
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/server/app/(app)/activity/page.js +2 -2
  6. package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
  7. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/(app)/agents/[handle]/page.js +3 -3
  9. package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -1
  10. package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/(app)/code/page.js +2 -2
  12. package/.next/server/app/(app)/code/page.js.nft.json +1 -1
  13. package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/(app)/config/page.js +2 -2
  15. package/.next/server/app/(app)/config/page.js.nft.json +1 -1
  16. package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/(app)/costs/page.js +2 -2
  18. package/.next/server/app/(app)/costs/page.js.nft.json +1 -1
  19. package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/(app)/cron/page.js +2 -2
  21. package/.next/server/app/(app)/cron/page.js.nft.json +1 -1
  22. package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/(app)/dashboard/page.js +2 -2
  24. package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -1
  25. package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/(app)/design/page.js +3 -3
  27. package/.next/server/app/(app)/design/page.js.nft.json +1 -1
  28. package/.next/server/app/(app)/design/page_client-reference-manifest.js +1 -1
  29. package/.next/server/app/(app)/docs/[id]/page.js +2 -2
  30. package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -1
  31. package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -1
  32. package/.next/server/app/(app)/docs/page.js +2 -2
  33. package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
  34. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/(app)/github/page.js +2 -2
  36. package/.next/server/app/(app)/github/page.js.nft.json +1 -1
  37. package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/(app)/goals/page.js +2 -2
  39. package/.next/server/app/(app)/goals/page.js.nft.json +1 -1
  40. package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -1
  41. package/.next/server/app/(app)/inbox/page.js +2 -2
  42. package/.next/server/app/(app)/inbox/page.js.nft.json +1 -1
  43. package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/(app)/knowledge/page.js +3 -3
  45. package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -1
  46. package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/(app)/models/page.js +2 -2
  48. package/.next/server/app/(app)/models/page.js.nft.json +1 -1
  49. package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app/(app)/notifications/page.js +2 -2
  51. package/.next/server/app/(app)/notifications/page.js.nft.json +1 -1
  52. package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -1
  53. package/.next/server/app/(app)/org/page.js +4 -4
  54. package/.next/server/app/(app)/org/page.js.nft.json +1 -1
  55. package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/(app)/organizations/page.js +2 -2
  57. package/.next/server/app/(app)/organizations/page.js.nft.json +1 -1
  58. package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/(app)/page.js +3 -3
  60. package/.next/server/app/(app)/page.js.nft.json +1 -1
  61. package/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
  62. package/.next/server/app/(app)/planner/page.js +2 -2
  63. package/.next/server/app/(app)/planner/page.js.nft.json +1 -1
  64. package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/(app)/plugins/page.js +2 -2
  66. package/.next/server/app/(app)/plugins/page.js.nft.json +1 -1
  67. package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -1
  68. package/.next/server/app/(app)/pm/page.js +2 -2
  69. package/.next/server/app/(app)/pm/page.js.nft.json +1 -1
  70. package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -1
  71. package/.next/server/app/(app)/prepare-deploy/page.js +2 -2
  72. package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -1
  73. package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/(app)/profile/page.js +2 -2
  75. package/.next/server/app/(app)/profile/page.js.nft.json +1 -1
  76. package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/(app)/pulse/page.js +2 -2
  78. package/.next/server/app/(app)/pulse/page.js.nft.json +1 -1
  79. package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -1
  80. package/.next/server/app/(app)/reports/[id]/page.js +2 -2
  81. package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -1
  82. package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/(app)/reports/page.js +3 -3
  84. package/.next/server/app/(app)/reports/page.js.nft.json +1 -1
  85. package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -1
  86. package/.next/server/app/(app)/routines/page.js +2 -2
  87. package/.next/server/app/(app)/routines/page.js.nft.json +1 -1
  88. package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -1
  89. package/.next/server/app/(app)/search/page.js +2 -2
  90. package/.next/server/app/(app)/search/page.js.nft.json +1 -1
  91. package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -1
  92. package/.next/server/app/(app)/security/page.js +2 -2
  93. package/.next/server/app/(app)/security/page.js.nft.json +1 -1
  94. package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/(app)/skills/page.js +3 -3
  96. package/.next/server/app/(app)/skills/page.js.nft.json +1 -1
  97. package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -1
  98. package/.next/server/app/(app)/tasks/page.js +2 -2
  99. package/.next/server/app/(app)/tasks/page.js.nft.json +1 -1
  100. package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -1
  101. package/.next/server/app/(app)/test-dev/page.js +2 -2
  102. package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -1
  103. package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/(app)/update/page.js +2 -2
  105. package/.next/server/app/(app)/update/page.js.nft.json +1 -1
  106. package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -1
  107. package/.next/server/app/(auth)/login/page.js +2 -2
  108. package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
  109. package/.next/server/app/(auth)/onboarding/page.js +2 -2
  110. package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -1
  111. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  112. package/.next/server/app/_global-error.html +1 -1
  113. package/.next/server/app/_global-error.rsc +1 -1
  114. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  115. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  116. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  117. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  118. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  119. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  120. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/cron/tick/route.js +2 -2
  122. package/.next/server/app/api/sync/file/route.js +2 -2
  123. package/.next/server/app/api/telegram/poll/route.js +2 -2
  124. package/.next/server/app/api/v1/[[...path]]/route.js +1 -1
  125. package/.next/server/app-paths-manifest.json +1 -1
  126. package/.next/server/chunks/1249.js +6 -6
  127. package/.next/server/chunks/259.js +1 -1
  128. package/.next/server/chunks/2867.js +1 -1
  129. package/.next/server/chunks/2960.js +1 -1
  130. package/.next/server/chunks/3174.js +12 -0
  131. package/.next/server/chunks/3234.js +1 -1
  132. package/.next/server/chunks/3334.js +1 -0
  133. package/.next/server/chunks/3439.js +4 -0
  134. package/.next/server/chunks/{896.js → 478.js} +1 -1
  135. package/.next/server/chunks/4979.js +2 -2
  136. package/.next/server/chunks/{6606.js → 5086.js} +13 -13
  137. package/.next/server/chunks/6431.js +1 -1
  138. package/.next/server/chunks/7589.js +1 -1
  139. package/.next/server/chunks/7989.js +1 -1
  140. package/.next/server/chunks/8195.js +21 -0
  141. package/.next/server/chunks/8244.js +1 -0
  142. package/.next/server/chunks/8561.js +1 -1
  143. package/.next/server/chunks/8823.js +1 -1
  144. package/.next/server/chunks/9783.js +1 -1
  145. package/.next/server/middleware-build-manifest.js +1 -1
  146. package/.next/server/pages/500.html +1 -1
  147. package/.next/server/server-reference-manifest.js +1 -1
  148. package/.next/server/server-reference-manifest.json +1 -1
  149. package/.next/static/chunks/386-0f2b8d23016cf4d0.js +1 -0
  150. package/.next/static/chunks/4909-9f16a714c78ed30d.js +4 -0
  151. package/.next/static/chunks/{3448-3ebb2581741d6552.js → 5332-84d9a65aa5d16106.js} +1 -1
  152. package/.next/static/chunks/5664-3cb5735f1b5bbde1.js +1 -0
  153. package/.next/static/chunks/8370-7ec9e9bf414f8f2d.js +12 -0
  154. package/.next/static/chunks/app/(app)/activity/{page-b4f7b6850a427aa9.js → page-0f51a22d4f2207b2.js} +1 -1
  155. package/.next/static/chunks/app/(app)/agents/[handle]/page-14805dd54a1333e8.js +1 -0
  156. package/.next/static/chunks/app/(app)/code/page-7ebd6923ac440103.js +1 -0
  157. package/.next/static/chunks/app/(app)/config/page-47b5b62b73050673.js +1 -0
  158. package/.next/static/chunks/app/(app)/costs/page-969eba498344314d.js +1 -0
  159. package/.next/static/chunks/app/(app)/cron/{page-23924d673b353117.js → page-ab35783e4341f6b7.js} +1 -1
  160. package/.next/static/chunks/app/(app)/dashboard/page-59521ad116c60a88.js +1 -0
  161. package/.next/static/chunks/app/(app)/design/{page-410e5f6f08882c19.js → page-fcee2dfd5c7e3a4b.js} +3 -3
  162. package/.next/static/chunks/app/(app)/docs/[id]/page-b3451b21d7d2127b.js +1 -0
  163. package/.next/static/chunks/app/(app)/docs/page-3a34eec67591ce3e.js +1 -0
  164. package/.next/static/chunks/app/(app)/github/page-a0117637dc143821.js +1 -0
  165. package/.next/static/chunks/app/(app)/goals/page-d1cb2552625ccadb.js +1 -0
  166. package/.next/static/chunks/app/(app)/inbox/{page-57759eb7889a5aa6.js → page-dbfc885cd61f9b9f.js} +2 -2
  167. package/.next/static/chunks/app/(app)/knowledge/page-29df476a9c2f930c.js +1 -0
  168. package/.next/static/chunks/app/(app)/layout-2b6b23e82fbf0211.js +1 -0
  169. package/.next/static/chunks/app/(app)/models/{page-6e3a57c08eca441a.js → page-ea54a5d167cd3cc2.js} +1 -1
  170. package/.next/static/chunks/app/(app)/notifications/page-ef1ac55efadb2a1a.js +12 -0
  171. package/.next/static/chunks/app/(app)/org/page-a7c734b8d86f7641.js +12 -0
  172. package/.next/static/chunks/app/(app)/organizations/page-4bcec3010a9d9119.js +1 -0
  173. package/.next/static/chunks/app/(app)/page-54a99a54295a40be.js +1 -0
  174. package/.next/static/chunks/app/(app)/planner/page-adfd05afc6ddcbef.js +1 -0
  175. package/.next/static/chunks/app/(app)/plugins/{page-2ffa3fd55dbbb32d.js → page-e75d982132825b07.js} +1 -1
  176. package/.next/static/chunks/app/(app)/pm/page-773626398c10fdb7.js +1 -0
  177. package/.next/static/chunks/app/(app)/prepare-deploy/page-01f767248e7fa2a7.js +1 -0
  178. package/.next/static/chunks/app/(app)/profile/page-cb2450679785db1a.js +1 -0
  179. package/.next/static/chunks/app/(app)/pulse/{page-dd0db1606004d1cd.js → page-1a63c4ed76db48f5.js} +1 -1
  180. package/.next/static/chunks/app/(app)/reports/[id]/{page-23924d673b353117.js → page-ab35783e4341f6b7.js} +1 -1
  181. package/.next/static/chunks/app/(app)/reports/page-b0bcc85ad4afecf5.js +1 -0
  182. package/.next/static/chunks/app/(app)/routines/page-c0ce223d128a9010.js +1 -0
  183. package/.next/static/chunks/app/(app)/search/{page-71d3db75f945ae4d.js → page-d30f1c44c95e14a3.js} +1 -1
  184. package/.next/static/chunks/app/(app)/security/page-4640d72a0b360f05.js +1 -0
  185. package/.next/static/chunks/app/(app)/skills/page-87a71bd0a6b0f262.js +1 -0
  186. package/.next/static/chunks/app/(app)/tasks/page-a34a5658aff509ec.js +1 -0
  187. package/.next/static/chunks/app/(app)/test-dev/page-842f8771d36e964b.js +1 -0
  188. package/.next/static/chunks/app/(app)/update/page-64467fa6d8ed737e.js +1 -0
  189. package/.next/static/chunks/app/(auth)/login/page-82964b720ff11bab.js +1 -0
  190. package/.next/static/chunks/app/(auth)/onboarding/{page-fccc9edc6c250f2f.js → page-0cd7cd9fa146a927.js} +1 -1
  191. package/.next/static/chunks/app/_not-found/page-489c316e4356f1b7.js +1 -0
  192. package/.next/trace-build +1 -1
  193. package/CHANGELOG.md +22 -3
  194. package/README.md +1 -1
  195. package/README.pt-BR.md +1 -1
  196. package/docs/UPDATE.md +21 -1
  197. package/docs/en/TROUBLESHOOTING.md +1 -0
  198. package/docs/pt/TROUBLESHOOTING.md +1 -0
  199. package/package.json +1 -1
  200. package/scripts/vps-install.sh +8 -0
  201. package/.next/server/chunks/2873.js +0 -1
  202. package/.next/server/chunks/3076.js +0 -1
  203. package/.next/server/chunks/467.js +0 -21
  204. package/.next/server/chunks/5097.js +0 -4
  205. package/.next/server/chunks/8544.js +0 -12
  206. package/.next/static/chunks/2458-a02b9ba3fbf5a4aa.js +0 -1
  207. package/.next/static/chunks/8370-4306eb227fde422e.js +0 -12
  208. package/.next/static/chunks/8959-2456e03da35f9879.js +0 -1
  209. package/.next/static/chunks/9512-a0f7aae0722248da.js +0 -4
  210. package/.next/static/chunks/app/(app)/agents/[handle]/page-8f3582f06b659fbd.js +0 -1
  211. package/.next/static/chunks/app/(app)/code/page-629706b6872eb74c.js +0 -1
  212. package/.next/static/chunks/app/(app)/config/page-502173fb21b78d88.js +0 -1
  213. package/.next/static/chunks/app/(app)/costs/page-60c884ab3d917cba.js +0 -1
  214. package/.next/static/chunks/app/(app)/dashboard/page-325f833279658e69.js +0 -1
  215. package/.next/static/chunks/app/(app)/docs/[id]/page-d8ef563c662c9c34.js +0 -1
  216. package/.next/static/chunks/app/(app)/docs/page-8cd228461c719430.js +0 -1
  217. package/.next/static/chunks/app/(app)/github/page-9617cd18258e00da.js +0 -1
  218. package/.next/static/chunks/app/(app)/goals/page-e2a13b8a62db3a6c.js +0 -1
  219. package/.next/static/chunks/app/(app)/knowledge/page-1e7da0e09c954bb7.js +0 -1
  220. package/.next/static/chunks/app/(app)/layout-f5678dc87a3ce366.js +0 -1
  221. package/.next/static/chunks/app/(app)/notifications/page-cbb438455126086b.js +0 -12
  222. package/.next/static/chunks/app/(app)/org/page-e8831367a1382eb3.js +0 -12
  223. package/.next/static/chunks/app/(app)/organizations/page-e41ed5fba9cbb700.js +0 -1
  224. package/.next/static/chunks/app/(app)/page-2c4c2724bd2b99b7.js +0 -1
  225. package/.next/static/chunks/app/(app)/planner/page-7c5448444950f6e0.js +0 -1
  226. package/.next/static/chunks/app/(app)/pm/page-ed5ceba076b889f8.js +0 -1
  227. package/.next/static/chunks/app/(app)/prepare-deploy/page-a6ed9a2756c5ed5e.js +0 -1
  228. package/.next/static/chunks/app/(app)/profile/page-43de355af3d9dc28.js +0 -1
  229. package/.next/static/chunks/app/(app)/reports/page-a700f5a3c51fd8b2.js +0 -1
  230. package/.next/static/chunks/app/(app)/routines/page-1a24a2e021239bb1.js +0 -1
  231. package/.next/static/chunks/app/(app)/security/page-bc83e0eeeaa06803.js +0 -1
  232. package/.next/static/chunks/app/(app)/skills/page-7b9d25eefde42c62.js +0 -1
  233. package/.next/static/chunks/app/(app)/tasks/page-49e04347c03ad380.js +0 -1
  234. package/.next/static/chunks/app/(app)/test-dev/page-5a5787dff721c528.js +0 -1
  235. package/.next/static/chunks/app/(app)/update/page-711cca7457171762.js +0 -1
  236. package/.next/static/chunks/app/(auth)/login/page-c4942e3f5c363aee.js +0 -1
  237. package/.next/static/chunks/app/_not-found/page-dc38b02aebeab535.js +0 -1
  238. /package/.next/static/{Ri83ondUvcbIqZUDGJAn8 → Fx06n4huXV42eQUI-Lty0}/_buildManifest.js +0 -0
  239. /package/.next/static/{Ri83ondUvcbIqZUDGJAn8 → Fx06n4huXV42eQUI-Lty0}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[296],{748:(e,s,a)=>{"use strict";a.d(s,{NewGoalButton:()=>r});var l=a(5076),t=a(8488),i=a(7814);let n=(0,i.createServerReference)("403951bde0e6f49ecbb711d8f21a4732157a027e50",i.callServer,void 0,i.findSourceMapURL,"createGoal");var o=a(5629);function r({agents:e}){let s=(0,o.k)(),[a,i]=(0,t.useState)(!1),[c,d]=(0,t.useState)(""),[h,g]=(0,t.useState)(""),[u,m]=(0,t.useState)(e[0]?.id??""),[p,v]=(0,t.useTransition)();return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("button",{className:"btn-accent",onClick:()=>i(!0),children:["+ ",s("goals.new")]}),a&&(0,l.jsx)("div",{className:"modal-overlay",onMouseDown:()=>i(!1),children:(0,l.jsxs)("div",{className:"modal",style:{padding:"20px 22px",width:440,maxWidth:"94vw"},onMouseDown:e=>e.stopPropagation(),children:[(0,l.jsx)("div",{style:{fontSize:15,fontWeight:800,marginBottom:10},children:s("goals.new")}),(0,l.jsx)("label",{className:"form-label",children:s("goals.objective")}),(0,l.jsx)("input",{className:"form-input",autoFocus:!0,value:c,onChange:e=>d(e.target.value),placeholder:s("goals.objectivePlaceholder")}),(0,l.jsx)("label",{className:"form-label",children:s("common.description")}),(0,l.jsx)("textarea",{className:"form-input",rows:3,value:h,onChange:e=>g(e.target.value),placeholder:s("goals.descPlaceholder")}),(0,l.jsx)("label",{className:"form-label",children:s("goals.owner")}),(0,l.jsx)("select",{className:"form-input",value:u,onChange:e=>m(e.target.value),children:e.map(e=>(0,l.jsxs)("option",{value:e.id,children:[e.name," \xb7 ",e.role]},e.id))}),(0,l.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:16},children:[(0,l.jsx)("button",{className:"btn-ghost",onClick:()=>i(!1),children:s("common.cancel")}),(0,l.jsx)("button",{className:"btn-accent",disabled:!c.trim()||p,onClick:function(){v(async()=>{await n({title:c,description:h,ownerId:u}),i(!1),d(""),g("")})},children:s(p?"goals.creating":"goals.create")})]})]})})]})}},891:(e,s,a)=>{"use strict";a.d(s,{m:()=>i});var l=a(5076);let t={working:{c:"var(--sx-string)",pulse:!0,label:"working"},review:{c:"#e0a44e",label:"review"},blocked:{c:"#e8688f",label:"blocked"},idle:{c:"var(--text-faint)",label:"idle"}};function i({status:e,label:s=!1,size:a=8}){let n=t[e]??t.idle;return(0,l.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5},title:n.label,children:[n.pulse?(0,l.jsx)("span",{className:"dotpulse"}):(0,l.jsx)("span",{style:{width:a,height:a,borderRadius:"50%",background:n.c,display:"inline-block",flex:`0 0 ${a}px`}}),s&&(0,l.jsx)("span",{style:{fontSize:11,color:n.c,fontWeight:600},children:n.label})]})}},2710:(e,s,a)=>{"use strict";a.d(s,{GoalTree:()=>b});var l=a(5076),t=a(8488),i=a(9860),n=a(8576),o=a(4552),r=a(891),c=a(7814);let d=(0,c.createServerReference)("40c245b7f6e65fea14ef62d235935b9c63b43cf38a",c.callServer,void 0,c.findSourceMapURL,"cancelGoal"),h=(0,c.createServerReference)("40a25576eb8ad4d51a5709c8ddf1da7351aa20d794",c.callServer,void 0,c.findSourceMapURL,"archiveGoal"),g=(0,c.createServerReference)("4019ddc627aeaa5ed86f310a9f58a619ec985964b3",c.callServer,void 0,c.findSourceMapURL,"reopenGoal"),u=(0,c.createServerReference)("4030540bd1aae9f0677a7dffab57454d3f56de9a71",c.callServer,void 0,c.findSourceMapURL,"restoreGoal");var m=a(5695),p=a(5629);function v({id:e,status:s,progress:a}){let o=(0,p.k)(),[r,c]=(0,t.useTransition)(),m=(0,i.useRouter)(),x=s=>c(async()=>{await s(e),m.refresh()});return(0,l.jsxs)("div",{className:"goal-actions",children:["active"===s&&a<100&&(0,l.jsxs)("button",{className:"goal-act danger",disabled:r,onClick:()=>{confirm(o("goals.cancelConfirm"))&&x(d)},children:[(0,l.jsx)(n.I,{name:"close",size:12})," ",o("common.cancel")]}),("active"===s||"cancelled"===s||"done"===s)&&(0,l.jsxs)("button",{className:"goal-act",disabled:r,onClick:()=>x(h),children:[(0,l.jsx)(n.I,{name:"collapse",size:12})," ",o("goals.archive")]}),"cancelled"===s&&(0,l.jsxs)("button",{className:"goal-act accent",disabled:r,onClick:()=>x(g),children:[(0,l.jsx)(n.I,{name:"refresh",size:12})," ",o("goals.reopen")]}),"archived"===s&&(0,l.jsxs)("button",{className:"goal-act accent",disabled:r,onClick:()=>x(u),children:[(0,l.jsx)(n.I,{name:"refresh",size:12})," ",o("goals.restore")]})]})}let x={active:"active",done:"done",cancelled:"cancelled",archived:"archived"};function b({goals:e}){let s=(0,p.k)(),[a,i]=(0,t.useState)("active"),[c,d]=(0,t.useState)("all"),[h,g]=(0,t.useState)(new Set),u=(0,t.useMemo)(()=>{let s=new Map;for(let a of e)for(let e of a.issues)e.assignee&&s.set(e.assignee.handle,e.assignee.name);return[...s.entries()]},[e]),f=e.filter(e=>"all"===a||e.status===a);return 0===e.length?(0,l.jsx)("div",{className:"muted",style:{padding:30,textAlign:"center"},children:s("goals.empty")}):(0,l.jsxs)("div",{className:"goal-tree",children:[(0,l.jsxs)("div",{className:"goal-filters",children:[(0,l.jsx)("div",{className:"seg",children:["active","done","cancelled","archived","all"].map(e=>(0,l.jsx)("button",{className:"seg-opt"+(a===e?" on":""),onClick:()=>i(e),children:s(`goals.status.${e}`)},e))}),u.length>0&&(0,l.jsxs)("select",{className:"goal-agent-sel",value:c,onChange:e=>d(e.target.value),children:[(0,l.jsx)("option",{value:"all",children:s("goals.allAgents")}),u.map(([e,s])=>(0,l.jsx)("option",{value:e,children:s},e))]})]}),0===f.length&&(0,l.jsx)("div",{className:"muted",style:{padding:24,textAlign:"center"},children:s("goals.emptyFiltered",{status:s(`goals.status.${a}`).toLowerCase()})}),f.map(e=>{let a,t=h.has(e.id),i=e.issues.filter(e=>"all"===c||e.assignee?.handle===c),d=e.issues.filter(e=>e.progress>=100).length;return(0,l.jsx)("div",{className:"goal-node",children:(0,l.jsxs)("div",{className:"goal-card status-"+(x[e.status]??"active"),children:[(0,l.jsxs)("div",{className:"goal-head",children:[(0,l.jsx)("button",{className:"side-act",title:t?s("goals.expand"):s("goals.collapse"),style:{flex:"0 0 auto"},onClick:()=>g(s=>{let a=new Set(s);return a.has(e.id)?a.delete(e.id):a.add(e.id),a}),children:(0,l.jsx)(n.I,{name:t?"chevronRight":"chevronDown",size:13})}),(0,l.jsx)(n.I,{name:"target",size:15,style:{color:"var(--accent)",flex:"0 0 auto"}}),(0,l.jsx)("span",{className:"goal-title",children:e.title}),(0,l.jsx)("span",{className:"goal-status-badge "+(x[e.status]??"active"),children:s(`goals.status.${e.status}`)}),(0,l.jsxs)("span",{className:"chip-sm",children:[e.progress,"%"]})]}),e.description&&(0,l.jsx)("div",{className:"goal-desc",children:e.description}),(0,l.jsx)("div",{className:"pbar",children:(0,l.jsx)("span",{style:{width:e.progress+"%"}})}),(0,l.jsxs)("div",{className:"goal-bottom",children:[(0,l.jsxs)("div",{className:"goal-meta",children:[s("goals.meta.complete",{done:d,total:e.issues.length})," \xb7 ",s(1!==e.issues.length?"goals.meta.childIssues.other":"goals.meta.childIssues.one",{n:e.issues.length}),(a="done"===e.status?[s("goals.stamp.done"),e.doneAt]:"cancelled"===e.status?[s("goals.stamp.cancelled"),e.cancelledAt]:"archived"===e.status?[s("goals.stamp.archived"),e.archivedAt]:[s("goals.stamp.created"),e.createdAt])[1]?(0,l.jsxs)("span",{style:{color:"var(--text-faint)"},children:[" \xb7 ",a[0]," ",(0,m.F)(a[1])]}):null]}),(0,l.jsx)(v,{id:e.id,status:e.status,progress:e.progress})]}),!t&&(0,l.jsxs)("div",{className:"goal-issues",children:[0===i.length&&(0,l.jsx)("div",{className:"goal-issue-empty",children:"all"!==c?s("goals.noIssuesForAgent"):s("goals.noIssuesYet")}),i.map(e=>(0,l.jsxs)("div",{className:"goal-issue",children:[(0,l.jsx)("span",{className:"gi-key",children:e.key}),(0,l.jsxs)("div",{className:"gi-main",children:[(0,l.jsxs)("div",{className:"gi-title-row",children:[(0,l.jsx)("span",{className:"gi-title",children:e.title}),e.assignee&&(0,l.jsx)(o.e,{name:e.assignee.name,color:e.assignee.color,size:18}),(0,l.jsxs)("span",{className:"gi-col col-"+e.col,children:[(0,l.jsx)(r.m,{status:"doing"===e.col?"working":"blocked"===e.col?"blocked":"review"===e.col?"review":"idle"})," ",s(`goals.col.${e.col}`)]})]}),(0,l.jsxs)("div",{className:"gi-prog",children:[(0,l.jsx)("span",{className:"gi-bar",children:(0,l.jsx)("span",{style:{width:e.progress+"%"}})}),(0,l.jsxs)("span",{className:"gi-pct",children:[e.progress,"%",e.steps.total>0?` \xb7 ${s("goals.todos",{done:e.steps.done,total:e.steps.total})}`:""]}),e.updatedAt&&(0,l.jsx)("span",{style:{fontSize:10,color:"var(--text-faint)",marginLeft:"auto"},children:(0,m.F)(e.updatedAt)})]})]})]},e.id))]})]})},e.id)})]})}},4552:(e,s,a)=>{"use strict";a.d(s,{e:()=>t});var l=a(5076);function t({name:e,color:s,size:a=24,health:i,image:n}){let o=Math.max(6,Math.round(.3*a)),r=Math.round(.28*a),c=n?/^(data:|https?:|\/)/.test(n)?n:`/api/upload?path=${encodeURIComponent(n)}`:null;return(0,l.jsxs)("span",{style:{position:"relative",width:a,height:a,flex:`0 0 ${a}px`,display:"inline-block"},children:[c?(0,l.jsx)("img",{src:c,alt:e,width:a,height:a,style:{width:a,height:a,borderRadius:r,objectFit:"cover",display:"block"}}):(0,l.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()}),i&&(0,l.jsx)("span",{style:{position:"absolute",right:-1,bottom:-1,width:o,height:o,borderRadius:"50%",background:"alive"===i?"var(--sx-string)":"stale"===i?"var(--sx-number)":"var(--text-faint)",border:"1.5px solid var(--bg-elevated)"}})]})}},4899:(e,s,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,2710)),Promise.resolve().then(a.bind(a,748)),Promise.resolve().then(a.bind(a,6425)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,4268)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444)),Promise.resolve().then(a.bind(a,5787))},5695:(e,s,a)=>{"use strict";function l(e){if(null==e)return"";let s=e instanceof Date?e:new Date(e);if(isNaN(s.getTime()))return"";let a=s.toLocaleDateString([],{day:"2-digit",month:"short"}),l=s.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return`${a}, ${l}`}a.d(s,{F:()=>l})}},e=>{e.O(0,[9219,3219,5332,8370,6646,6834,7358],()=>e(e.s=4899)),_N_E=e.O()}]);
@@ -1,4 +1,4 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[576],{2393:(e,t,a)=>{"use strict";a.d(t,{H4:()=>l,Uy:()=>o,st:()=>s});let n=/Failed to find Server Action|older or newer deployment|ChunkLoadError|Loading chunk [\w-]+ failed|error loading dynamically imported module/i,r=/invariant expected layout router to be mounted/i;function i(e){return e?e instanceof Error?`${e.name} ${e.message}`:"string"==typeof e?e:String(e?.message??e):""}function s(e){return n.test(i(e))}function l(e){let t=i(e);return n.test(t)||r.test(t)}function o(){try{let e="cn-skew-reload-at",t=Number(window.sessionStorage.getItem(e)||0);if(Date.now()-t<2e4)return;window.sessionStorage.setItem(e,String(Date.now()))}catch{}try{let e=new URL(window.location.href);e.searchParams.set("_r",String(Date.now())),window.location.replace(e.toString())}catch{window.location.reload()}}},2429:(e,t,a)=>{"use strict";a.d(t,{b:()=>r});var n=a(7814);let r=(0,n.createServerReference)("60015f3c3f1e7e825abbb9f4eb33acb35730a61c17",n.callServer,void 0,n.findSourceMapURL,"resolveInbox")},2444:(e,t,a)=>{"use strict";a.d(t,{UpdateHeaderBadge:()=>p});var n=a(5076),r=a(8488),i=a(9860),s=a(8576),l=a(5629),o=a(8599),d=a(9539),c=a(4482),u=a(2393);function p(){let e=(0,l.k)(),t=(0,i.useRouter)(),[a,p]=(0,r.useState)(null),[h,f]=(0,r.useState)(!1),[b,v]=(0,r.useState)("available"),[m,y]=(0,r.useState)(!1),[x,g]=(0,r.useState)(""),w=(0,r.useRef)(null);async function j(){if(!m){y(!0),g("");try{let t=await (0,o.l)(!0);p(t.info.updateAvailable&&t.info.latest?t.info.latest:null),f(t.busy),t.info.updateAvailable||g(e("chrome.update.upToDate"))}catch{}finally{y(!1)}}}async function S(){if("updating"!==b&&!h){if("done"===b)return void t.refresh();v("updating"),g("");try{let a=await (0,d.P)();if(a.blocked){v("available"),f(!0),g(e("chrome.update.busy"));return}a.started?w.current=setInterval(async()=>{let t=await (0,c.e)().catch(e=>((0,u.st)(e)&&(w.current&&clearInterval(w.current),(0,u.Uy)()),null));t&&("done"===t.status?(w.current&&clearInterval(w.current),window.location.reload()):"error"===t.status&&(w.current&&clearInterval(w.current),v("error"),g(e("chrome.update.failed"))))},3e3):(v("available"),g(a.message||""),t.push("/update"))}catch{v("error"),g(e("chrome.update.failed"))}}}(0,r.useEffect)(()=>{let e=!1,t=async t=>{try{let a=await (0,o.l)(t);if(e)return;p(a.info.updateAvailable&&a.info.latest?a.info.latest:null),f(a.busy)}catch{}};t(!1);let a=setInterval(()=>t(!1),12e3),n=setInterval(()=>t(!0),18e4);return()=>{e=!0,clearInterval(a),clearInterval(n),w.current&&clearInterval(w.current)}},[]);let k=(0,n.jsx)("button",{type:"button",className:"top-btn",onClick:j,disabled:m,title:x||e("chrome.update.check"),children:(0,n.jsx)("span",{className:m?"sync-spin":"",style:{display:"inline-flex"},children:(0,n.jsx)(s.I,{name:"sync",size:17})})});if(!a)return k;let I="updating"===b?e("chrome.update.updating"):"done"===b?e("chrome.update.restart"):"error"===b?e("chrome.update.failed"):h?`v${a}`:`${e("chrome.update.update")} v${a}`,N="updating"===b||h;return(0,n.jsxs)(n.Fragment,{children:[k,(0,n.jsxs)("button",{type:"button",onClick:S,disabled:N,title:h?e("chrome.update.busy"):x||`${e("chrome.update.available")} — v${a}`,style:{display:"inline-flex",alignItems:"center",gap:6,width:"auto",padding:"0 11px",height:30,background:"error"===b?"var(--sx-keyword)":h?"var(--bg-active)":"var(--accent)",color:h?"var(--text-dim)":"var(--accent-fg)",borderRadius:999,fontSize:12,fontWeight:600,border:"none",opacity:"updating"===b?.75:1,cursor:N?"default":"pointer"},children:["updating"===b?(0,n.jsx)("span",{className:"sync-spin",style:{display:"inline-flex"},children:(0,n.jsx)(s.I,{name:"sync",size:14})}):(0,n.jsx)(s.I,{name:"updating"===b?"sync":"done"===b?"refresh":"error"===b?"bell":"arrowUp",size:14}),(0,n.jsx)("span",{children:I})]})]})}},3371:(e,t,a)=>{"use strict";a.d(t,{B:()=>r});var n=a(7814);let r=(0,n.createServerReference)("407d6351a6012a257ba1829e0d378c321607050ac6",n.callServer,void 0,n.findSourceMapURL,"approveSpec")},3820:(e,t,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,5315)),Promise.resolve().then(a.bind(a,6719)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,4226)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444))},4414:(e,t,a)=>{"use strict";a.d(t,{ChatToggle:()=>s});var n=a(5076),r=a(8576),i=a(5629);function s(){let e=(0,i.k)();return(0,n.jsx)("button",{className:"top-btn",title:`${e("chrome.chat.agentRoom")} (⌘J)`,type:"button",onClick:()=>window.dispatchEvent(new CustomEvent("constella:toggle-chat")),children:(0,n.jsx)(r.I,{name:"chat",size:17})})}},4482:(e,t,a)=>{"use strict";a.d(t,{e:()=>r});var n=a(7814);let r=(0,n.createServerReference)("008f544f1c5ba96e40b7ced5e7935184928130ba25",n.callServer,void 0,n.findSourceMapURL,"pollUpdateResult")},4552:(e,t,a)=>{"use strict";a.d(t,{e:()=>r});var n=a(5076);function r({name:e,color:t,size:a=24,health:i,image:s}){let l=Math.max(6,Math.round(.3*a)),o=Math.round(.28*a),d=s?/^(data:|https?:|\/)/.test(s)?s:`/api/upload?path=${encodeURIComponent(s)}`:null;return(0,n.jsxs)("span",{style:{position:"relative",width:a,height:a,flex:`0 0 ${a}px`,display:"inline-block"},children:[d?(0,n.jsx)("img",{src:d,alt:e,width:a,height:a,style:{width:a,height:a,borderRadius:o,objectFit:"cover",display:"block"}}):(0,n.jsx)("span",{style:{width:a,height:a,borderRadius:o,background:t,color:"#fff",display:"grid",placeItems:"center",fontSize:Math.round(.42*a),fontWeight:700},children:(e[0]||"?").toUpperCase()}),i&&(0,n.jsx)("span",{style:{position:"absolute",right:-1,bottom:-1,width:l,height:l,borderRadius:"50%",background:"alive"===i?"var(--sx-string)":"stale"===i?"var(--sx-number)":"var(--text-faint)",border:"1.5px solid var(--bg-elevated)"}})]})}},4942:(e,t,a)=>{"use strict";a.d(t,{SidebarToggle:()=>l});var n=a(5076),r=a(8488),i=a(8576);let s=`
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[576],{827:(e,t,a)=>{"use strict";a.d(t,{e:()=>r});var n=a(7814);let r=(0,n.createServerReference)("0067de168f0f3d5d47da2729379e374260b6f809a6",n.callServer,void 0,n.findSourceMapURL,"pollUpdateResult")},2393:(e,t,a)=>{"use strict";a.d(t,{H4:()=>l,Uy:()=>o,st:()=>s});let n=/Failed to find Server Action|older or newer deployment|ChunkLoadError|Loading chunk [\w-]+ failed|error loading dynamically imported module/i,r=/invariant expected layout router to be mounted/i;function i(e){return e?e instanceof Error?`${e.name} ${e.message}`:"string"==typeof e?e:String(e?.message??e):""}function s(e){return n.test(i(e))}function l(e){let t=i(e);return n.test(t)||r.test(t)}function o(){try{let e="cn-skew-reload-at",t=Number(window.sessionStorage.getItem(e)||0);if(Date.now()-t<2e4)return;window.sessionStorage.setItem(e,String(Date.now()))}catch{}try{let e=new URL(window.location.href);e.searchParams.set("_r",String(Date.now())),window.location.replace(e.toString())}catch{window.location.reload()}}},2444:(e,t,a)=>{"use strict";a.d(t,{UpdateHeaderBadge:()=>p});var n=a(5076),r=a(8488),i=a(9860),s=a(8576),l=a(5629),o=a(8346),d=a(7390),c=a(827),u=a(2393);function p(){let e=(0,l.k)(),t=(0,i.useRouter)(),[a,p]=(0,r.useState)(null),[h,f]=(0,r.useState)(!1),[v,b]=(0,r.useState)("available"),[m,y]=(0,r.useState)(!1),[x,g]=(0,r.useState)(""),w=(0,r.useRef)(null);async function j(){if(!m){y(!0),g("");try{let t=await (0,o.l)(!0);p(t.info.updateAvailable&&t.info.latest?t.info.latest:null),f(t.busy),t.info.updateAvailable||g(e("chrome.update.upToDate"))}catch{}finally{y(!1)}}}async function S(){if("updating"!==v&&!h){if("done"===v)return void t.refresh();b("updating"),g("");try{let a=await (0,d.P)();if(a.blocked){b("available"),f(!0),g(e("chrome.update.busy"));return}a.started?w.current=setInterval(async()=>{let t=await (0,c.e)().catch(e=>((0,u.st)(e)&&(w.current&&clearInterval(w.current),(0,u.Uy)()),null));t&&("done"===t.status?(w.current&&clearInterval(w.current),window.location.reload()):"error"===t.status&&(w.current&&clearInterval(w.current),b("error"),g(e("chrome.update.failed"))))},3e3):(b("available"),g(a.message||""),t.push("/update"))}catch{b("error"),g(e("chrome.update.failed"))}}}(0,r.useEffect)(()=>{let e=!1,t=async t=>{try{let a=await (0,o.l)(t);if(e)return;p(a.info.updateAvailable&&a.info.latest?a.info.latest:null),f(a.busy)}catch{}};t(!1);let a=setInterval(()=>t(!1),12e3),n=setInterval(()=>t(!0),18e4);return()=>{e=!0,clearInterval(a),clearInterval(n),w.current&&clearInterval(w.current)}},[]);let k=(0,n.jsx)("button",{type:"button",className:"top-btn",onClick:j,disabled:m,title:x||e("chrome.update.check"),children:(0,n.jsx)("span",{className:m?"sync-spin":"",style:{display:"inline-flex"},children:(0,n.jsx)(s.I,{name:"sync",size:17})})});if(!a)return k;let I="updating"===v?e("chrome.update.updating"):"done"===v?e("chrome.update.restart"):"error"===v?e("chrome.update.failed"):h?`v${a}`:`${e("chrome.update.update")} v${a}`,N="updating"===v||h;return(0,n.jsxs)(n.Fragment,{children:[k,(0,n.jsxs)("button",{type:"button",onClick:S,disabled:N,title:h?e("chrome.update.busy"):x||`${e("chrome.update.available")} — v${a}`,style:{display:"inline-flex",alignItems:"center",gap:6,width:"auto",padding:"0 11px",height:30,background:"error"===v?"var(--sx-keyword)":h?"var(--bg-active)":"var(--accent)",color:h?"var(--text-dim)":"var(--accent-fg)",borderRadius:999,fontSize:12,fontWeight:600,border:"none",opacity:"updating"===v?.75:1,cursor:N?"default":"pointer"},children:["updating"===v?(0,n.jsx)("span",{className:"sync-spin",style:{display:"inline-flex"},children:(0,n.jsx)(s.I,{name:"sync",size:14})}):(0,n.jsx)(s.I,{name:"updating"===v?"sync":"done"===v?"refresh":"error"===v?"bell":"arrowUp",size:14}),(0,n.jsx)("span",{children:I})]})]})}},2707:(e,t,a)=>{"use strict";a.d(t,{b:()=>r});var n=a(7814);let r=(0,n.createServerReference)("605b2b341e20957e82d0c721cd13cd1b4ca17956f0",n.callServer,void 0,n.findSourceMapURL,"resolveInbox")},2730:(e,t,a)=>{"use strict";a.d(t,{B:()=>r});var n=a(7814);let r=(0,n.createServerReference)("404de78d48c7a08195046dd144742454e2bda67c9c",n.callServer,void 0,n.findSourceMapURL,"approveSpec")},3820:(e,t,a)=>{Promise.resolve().then(a.t.bind(a,3283,23)),Promise.resolve().then(a.bind(a,5315)),Promise.resolve().then(a.bind(a,6425)),Promise.resolve().then(a.bind(a,6588)),Promise.resolve().then(a.bind(a,4414)),Promise.resolve().then(a.bind(a,4268)),Promise.resolve().then(a.bind(a,4942)),Promise.resolve().then(a.bind(a,2444))},4414:(e,t,a)=>{"use strict";a.d(t,{ChatToggle:()=>s});var n=a(5076),r=a(8576),i=a(5629);function s(){let e=(0,i.k)();return(0,n.jsx)("button",{className:"top-btn",title:`${e("chrome.chat.agentRoom")} (⌘J)`,type:"button",onClick:()=>window.dispatchEvent(new CustomEvent("constella:toggle-chat")),children:(0,n.jsx)(r.I,{name:"chat",size:17})})}},4461:(e,t,a)=>{"use strict";a.d(t,{t:()=>r});var n=a(7814);let r=(0,n.createServerReference)("409483dd86b3a500619c574d5486d6fe760b53accd",n.callServer,void 0,n.findSourceMapURL,"approveIssue")},4552:(e,t,a)=>{"use strict";a.d(t,{e:()=>r});var n=a(5076);function r({name:e,color:t,size:a=24,health:i,image:s}){let l=Math.max(6,Math.round(.3*a)),o=Math.round(.28*a),d=s?/^(data:|https?:|\/)/.test(s)?s:`/api/upload?path=${encodeURIComponent(s)}`:null;return(0,n.jsxs)("span",{style:{position:"relative",width:a,height:a,flex:`0 0 ${a}px`,display:"inline-block"},children:[d?(0,n.jsx)("img",{src:d,alt:e,width:a,height:a,style:{width:a,height:a,borderRadius:o,objectFit:"cover",display:"block"}}):(0,n.jsx)("span",{style:{width:a,height:a,borderRadius:o,background:t,color:"#fff",display:"grid",placeItems:"center",fontSize:Math.round(.42*a),fontWeight:700},children:(e[0]||"?").toUpperCase()}),i&&(0,n.jsx)("span",{style:{position:"absolute",right:-1,bottom:-1,width:l,height:l,borderRadius:"50%",background:"alive"===i?"var(--sx-string)":"stale"===i?"var(--sx-number)":"var(--text-faint)",border:"1.5px solid var(--bg-elevated)"}})]})}},4942:(e,t,a)=>{"use strict";a.d(t,{SidebarToggle:()=>l});var n=a(5076),r=a(8488),i=a(8576);let s=`
2
2
  body.side-collapsed .side{width:58px!important;flex:0 0 58px!important;}
3
3
  body.side-collapsed .side .nav-item{justify-content:center;padding-left:0;padding-right:0;position:relative;}
4
4
  body.side-collapsed .side .nav-item>span:not(.nv-badge),
@@ -9,4 +9,4 @@ body.side-collapsed .side .nav-search{justify-content:center;}
9
9
  body.side-collapsed .side .side-brand-wrap{overflow:hidden;}
10
10
  body.side-collapsed .side .side-foot{justify-content:center;flex-wrap:wrap;gap:6px;}
11
11
  body.side-collapsed .side .nv-badge{position:absolute;top:2px;right:6px;}
12
- `;function l(){let[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{if(!document.getElementById("side-rail-style")){let e=document.createElement("style");e.id="side-rail-style",e.textContent=s,document.head.appendChild(e)}let e=!1;try{e="1"===localStorage.getItem("bx.sideCollapsed")}catch{}t(e),document.body.classList.toggle("side-collapsed",e)},[]),(0,n.jsx)("button",{className:"top-btn"+(e?" on":""),onClick:function(){t(e=>{let t=!e;document.body.classList.toggle("side-collapsed",t);try{localStorage.setItem("bx.sideCollapsed",t?"1":"0")}catch{}return t})},title:e?"Expand sidebar":"Collapse sidebar","aria-label":"Toggle sidebar",children:(0,n.jsx)(i.I,{name:"sidebarIcon",size:17})})}},5315:(e,t,a)=>{"use strict";a.d(t,{InboxList:()=>y});var n=a(5076),r=a(8488),i=a(9860),s=a(8576),l=a(4552),o=a(2429),d=a(5993),c=a(3371),u=a(7557),p=a(5695),h=a(5629);let f={approval:"check",budget:"coins",question:"chat",review:"doc",block:"close",validation:"pulse"},b={color:"var(--text-faint)"},v={background:"var(--accent)22",color:"var(--accent)"};function m(e,t){return"plan"===e.refType?{labelKey:"inbox.action.approvePlan",run:()=>(0,d.P)()}:"spec"===e.refType&&e.refId?{labelKey:"inbox.action.approveSpec",run:()=>(0,c.B)(e.refId)}:"issue"===e.refType&&e.refId?{labelKey:"inbox.action.approveIssue",run:()=>(0,u.t)(e.refId)}:"task"===e.refType?{labelKey:"inbox.action.openTasks",run:async()=>{t.push("/tasks")}}:"validation"===e.refType?{labelKey:"inbox.action.openTestDev",run:async()=>{window.location.href="/test-dev"}}:"question"===e.refType?{labelKey:"inbox.action.openChat",run:async()=>{e.channel?.startsWith("dm:")?window.dispatchEvent(new CustomEvent("constella:open-dm",{detail:{handle:e.channel.slice(3)}})):window.dispatchEvent(new Event("constella:toggle-chat"))}}:null}function y({items:e}){let t,a=(0,h.k)(),[d,c]=(0,r.useState)(null),[u,x]=(0,r.useTransition)(),g=(0,i.useRouter)();function w(e,t){x(async()=>{await (0,o.b)(e,t),g.refresh()}),c(null)}return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"view-body scroll",children:[0===e.length&&(0,n.jsxs)("div",{style:{color:"var(--text-faint)",textAlign:"center",padding:40},children:[a("inbox.empty")," \uD83C\uDF89"]}),e.map(e=>(0,n.jsxs)("div",{className:"lrow",style:{cursor:"pointer",opacity:e.resolved?.5:1},onClick:()=>c(e),children:[(0,n.jsx)("div",{className:"vh-icon",style:{width:34,height:34,flex:"0 0 34px"},children:(0,n.jsx)(s.I,{name:f[e.kind],size:15})}),(0,n.jsxs)("div",{className:"lr-main",children:[(0,n.jsx)("div",{className:"lr-title",style:{textDecoration:e.resolved?"line-through":"none"},children:e.title}),(0,n.jsxs)("div",{className:"lr-sub",children:[a(`inbox.kind.${e.kind}`),e.fromName?` \xb7 ${a("inbox.from",{name:e.fromName})}`:"",e.createdAt?` \xb7 ${(0,p.F)(e.createdAt)}`:""]})]}),e.fromName&&(0,n.jsx)(l.e,{name:e.fromName,color:e.fromColor??"#e0a44e",size:22,health:e.fromHealth}),(0,n.jsx)(s.I,{name:"chevronRight",size:14,style:b})]},e.id))]}),d&&(t=m(d,g),(0,n.jsx)("div",{className:"detail-overlay",onMouseDown:()=>c(null),children:(0,n.jsxs)("div",{className:"detail-panel",onMouseDown:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"detail-head",children:[(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between"},children:[(0,n.jsx)("span",{className:"pill",style:v,children:a(`inbox.kind.${d.kind}`)}),(0,n.jsx)("button",{className:"dock-tool",onClick:()=>c(null),children:(0,n.jsx)(s.I,{name:"close",size:15})})]}),(0,n.jsx)("div",{className:"view-title",style:{fontSize:16,marginTop:8},children:d.title}),d.createdAt&&(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-faint)",marginTop:2},children:(0,p.F)(d.createdAt)})]}),(0,n.jsxs)("div",{className:"detail-body",children:[d.fromName&&(0,n.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[(0,n.jsx)(l.e,{name:d.fromName,color:d.fromColor??"#e0a44e",size:24,health:d.fromHealth}),(0,n.jsx)("span",{style:{fontSize:12.5},children:d.fromName})]}),d.detail?(0,n.jsx)("div",{style:{fontSize:13,color:"var(--text-dim)",lineHeight:1.6,whiteSpace:"pre-wrap"},children:d.detail}):(0,n.jsx)("div",{style:{fontSize:13,color:"var(--text-faint)",lineHeight:1.6},children:a("inbox.noDetail")}),(0,n.jsx)("div",{style:{display:"flex",gap:8},children:d.resolved?(0,n.jsx)("button",{className:"btn-ghost",disabled:u,onClick:()=>w(d.id,!1),children:a("inbox.action.reopen")}):(0,n.jsxs)(n.Fragment,{children:[t&&(0,n.jsx)("button",{className:"btn-accent",disabled:u,onClick:()=>{let e;return e=m(d,g),void(x(async()=>{try{e&&await e.run()}finally{await (0,o.b)(d.id,!0),g.refresh()}}),c(null))},children:a(t.labelKey)}),(0,n.jsx)("button",{className:"btn-ghost",disabled:u,onClick:()=>w(d.id,!0),children:a("common.dismiss")})]})})]})]})}))]})}},5695:(e,t,a)=>{"use strict";function n(e){if(null==e)return"";let t=e instanceof Date?e:new Date(e);if(isNaN(t.getTime()))return"";let a=t.toLocaleDateString([],{day:"2-digit",month:"short"}),n=t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return`${a}, ${n}`}a.d(t,{F:()=>n})},5993:(e,t,a)=>{"use strict";a.d(t,{P:()=>r});var n=a(7814);let r=(0,n.createServerReference)("00c99d35945d63e97a89009c09781c5b21b0acc17b",n.callServer,void 0,n.findSourceMapURL,"approvePlan")},6588:(e,t,a)=>{"use strict";a.d(t,{BackButton:()=>l});var n=a(5076),r=a(9860),i=a(8576),s=a(5629);function l(){let e=(0,s.k)(),t=(0,r.useRouter)();return(0,n.jsx)("button",{className:"top-btn",title:e("common.back"),style:{marginRight:2},onClick:()=>{window.history.length>1?t.back():t.push("/")},children:(0,n.jsx)(i.I,{name:"chevronLeft",size:18})})}},7557:(e,t,a)=>{"use strict";a.d(t,{t:()=>r});var n=a(7814);let r=(0,n.createServerReference)("409816fd19642222bf709e2fdc9ce8e9649a51d8d5",n.callServer,void 0,n.findSourceMapURL,"approveIssue")},8599:(e,t,a)=>{"use strict";a.d(t,{l:()=>r});var n=a(7814);let r=(0,n.createServerReference)("4048867b1457458a24940233e9e4bc885697d837fd",n.callServer,void 0,n.findSourceMapURL,"getUpdateState")},9539:(e,t,a)=>{"use strict";a.d(t,{P:()=>r});var n=a(7814);let r=(0,n.createServerReference)("00fc79d0a3ae30563df87a3ab51fa0d39af120e50a",n.callServer,void 0,n.findSourceMapURL,"runUpdate")}},e=>{e.O(0,[9219,3219,3448,6646,6834,7358],()=>e(e.s=3820)),_N_E=e.O()}]);
12
+ `;function l(){let[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{if(!document.getElementById("side-rail-style")){let e=document.createElement("style");e.id="side-rail-style",e.textContent=s,document.head.appendChild(e)}let e=!1;try{e="1"===localStorage.getItem("bx.sideCollapsed")}catch{}t(e),document.body.classList.toggle("side-collapsed",e)},[]),(0,n.jsx)("button",{className:"top-btn"+(e?" on":""),onClick:function(){t(e=>{let t=!e;document.body.classList.toggle("side-collapsed",t);try{localStorage.setItem("bx.sideCollapsed",t?"1":"0")}catch{}return t})},title:e?"Expand sidebar":"Collapse sidebar","aria-label":"Toggle sidebar",children:(0,n.jsx)(i.I,{name:"sidebarIcon",size:17})})}},5315:(e,t,a)=>{"use strict";a.d(t,{InboxList:()=>y});var n=a(5076),r=a(8488),i=a(9860),s=a(8576),l=a(4552),o=a(2707),d=a(5957),c=a(2730),u=a(4461),p=a(5695),h=a(5629);let f={approval:"check",budget:"coins",question:"chat",review:"doc",block:"close",validation:"pulse"},v={color:"var(--text-faint)"},b={background:"var(--accent)22",color:"var(--accent)"};function m(e,t){return"plan"===e.refType?{labelKey:"inbox.action.approvePlan",run:()=>(0,d.P)()}:"spec"===e.refType&&e.refId?{labelKey:"inbox.action.approveSpec",run:()=>(0,c.B)(e.refId)}:"issue"===e.refType&&e.refId?{labelKey:"inbox.action.approveIssue",run:()=>(0,u.t)(e.refId)}:"task"===e.refType?{labelKey:"inbox.action.openTasks",run:async()=>{t.push("/tasks")}}:"validation"===e.refType?{labelKey:"inbox.action.openTestDev",run:async()=>{window.location.href="/test-dev"}}:"question"===e.refType?{labelKey:"inbox.action.openChat",run:async()=>{e.channel?.startsWith("dm:")?window.dispatchEvent(new CustomEvent("constella:open-dm",{detail:{handle:e.channel.slice(3)}})):window.dispatchEvent(new Event("constella:toggle-chat"))}}:null}function y({items:e}){let t,a=(0,h.k)(),[d,c]=(0,r.useState)(null),[u,x]=(0,r.useTransition)(),g=(0,i.useRouter)();function w(e,t){x(async()=>{await (0,o.b)(e,t),g.refresh()}),c(null)}return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"view-body scroll",children:[0===e.length&&(0,n.jsxs)("div",{style:{color:"var(--text-faint)",textAlign:"center",padding:40},children:[a("inbox.empty")," \uD83C\uDF89"]}),e.map(e=>(0,n.jsxs)("div",{className:"lrow",style:{cursor:"pointer",opacity:e.resolved?.5:1},onClick:()=>c(e),children:[(0,n.jsx)("div",{className:"vh-icon",style:{width:34,height:34,flex:"0 0 34px"},children:(0,n.jsx)(s.I,{name:f[e.kind],size:15})}),(0,n.jsxs)("div",{className:"lr-main",children:[(0,n.jsx)("div",{className:"lr-title",style:{textDecoration:e.resolved?"line-through":"none"},children:e.title}),(0,n.jsxs)("div",{className:"lr-sub",children:[a(`inbox.kind.${e.kind}`),e.fromName?` \xb7 ${a("inbox.from",{name:e.fromName})}`:"",e.createdAt?` \xb7 ${(0,p.F)(e.createdAt)}`:""]})]}),e.fromName&&(0,n.jsx)(l.e,{name:e.fromName,color:e.fromColor??"#e0a44e",size:22,health:e.fromHealth}),(0,n.jsx)(s.I,{name:"chevronRight",size:14,style:v})]},e.id))]}),d&&(t=m(d,g),(0,n.jsx)("div",{className:"detail-overlay",onMouseDown:()=>c(null),children:(0,n.jsxs)("div",{className:"detail-panel",onMouseDown:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"detail-head",children:[(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between"},children:[(0,n.jsx)("span",{className:"pill",style:b,children:a(`inbox.kind.${d.kind}`)}),(0,n.jsx)("button",{className:"dock-tool",onClick:()=>c(null),children:(0,n.jsx)(s.I,{name:"close",size:15})})]}),(0,n.jsx)("div",{className:"view-title",style:{fontSize:16,marginTop:8},children:d.title}),d.createdAt&&(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-faint)",marginTop:2},children:(0,p.F)(d.createdAt)})]}),(0,n.jsxs)("div",{className:"detail-body",children:[d.fromName&&(0,n.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[(0,n.jsx)(l.e,{name:d.fromName,color:d.fromColor??"#e0a44e",size:24,health:d.fromHealth}),(0,n.jsx)("span",{style:{fontSize:12.5},children:d.fromName})]}),d.detail?(0,n.jsx)("div",{style:{fontSize:13,color:"var(--text-dim)",lineHeight:1.6,whiteSpace:"pre-wrap"},children:d.detail}):(0,n.jsx)("div",{style:{fontSize:13,color:"var(--text-faint)",lineHeight:1.6},children:a("inbox.noDetail")}),(0,n.jsx)("div",{style:{display:"flex",gap:8},children:d.resolved?(0,n.jsx)("button",{className:"btn-ghost",disabled:u,onClick:()=>w(d.id,!1),children:a("inbox.action.reopen")}):(0,n.jsxs)(n.Fragment,{children:[t&&(0,n.jsx)("button",{className:"btn-accent",disabled:u,onClick:()=>{let e;return e=m(d,g),void(x(async()=>{try{e&&await e.run()}finally{await (0,o.b)(d.id,!0),g.refresh()}}),c(null))},children:a(t.labelKey)}),(0,n.jsx)("button",{className:"btn-ghost",disabled:u,onClick:()=>w(d.id,!0),children:a("common.dismiss")})]})})]})]})}))]})}},5695:(e,t,a)=>{"use strict";function n(e){if(null==e)return"";let t=e instanceof Date?e:new Date(e);if(isNaN(t.getTime()))return"";let a=t.toLocaleDateString([],{day:"2-digit",month:"short"}),n=t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return`${a}, ${n}`}a.d(t,{F:()=>n})},5957:(e,t,a)=>{"use strict";a.d(t,{P:()=>r});var n=a(7814);let r=(0,n.createServerReference)("00e565233acd1b1622979ff2cf891f01f7021a1b7a",n.callServer,void 0,n.findSourceMapURL,"approvePlan")},6588:(e,t,a)=>{"use strict";a.d(t,{BackButton:()=>l});var n=a(5076),r=a(9860),i=a(8576),s=a(5629);function l(){let e=(0,s.k)(),t=(0,r.useRouter)();return(0,n.jsx)("button",{className:"top-btn",title:e("common.back"),style:{marginRight:2},onClick:()=>{window.history.length>1?t.back():t.push("/")},children:(0,n.jsx)(i.I,{name:"chevronLeft",size:18})})}},7390:(e,t,a)=>{"use strict";a.d(t,{P:()=>r});var n=a(7814);let r=(0,n.createServerReference)("009f3ddf3819ad383dee68db2183a1210c5023774a",n.callServer,void 0,n.findSourceMapURL,"runUpdate")},8346:(e,t,a)=>{"use strict";a.d(t,{l:()=>r});var n=a(7814);let r=(0,n.createServerReference)("40d0e07cd481a5d3b711c27030044fd000f063541a",n.callServer,void 0,n.findSourceMapURL,"getUpdateState")}},e=>{e.O(0,[9219,3219,5332,6646,6834,7358],()=>e(e.s=3820)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4644],{6184:(e,s,l)=>{"use strict";l.d(s,{f:()=>n});var a=l(7814);let n=(0,a.createServerReference)("001d11e1ddfafcf521054a33afdc0087b8fc02ca5e",a.callServer,void 0,a.findSourceMapURL,"reindexKbAction")},7423:(e,s,l)=>{Promise.resolve().then(l.t.bind(l,3283,23)),Promise.resolve().then(l.bind(l,9594)),Promise.resolve().then(l.bind(l,8445)),Promise.resolve().then(l.bind(l,6425)),Promise.resolve().then(l.bind(l,6588)),Promise.resolve().then(l.bind(l,4414)),Promise.resolve().then(l.bind(l,4268)),Promise.resolve().then(l.bind(l,4942)),Promise.resolve().then(l.bind(l,2444)),Promise.resolve().then(l.bind(l,5787))},8445:(e,s,l)=>{"use strict";l.d(s,{KbActions:()=>o});var a=l(5076),n=l(8488),t=l(9860),i=l(8576),r=l(5629),c=l(6184),d=l(9365);function o(){let[e,s]=(0,n.useTransition)(),[l,o]=(0,n.useState)(null),m=(0,t.useRouter)(),b=(0,r.k)();return(0,a.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",gap:8},children:[l&&(0,a.jsx)("span",{className:"kb-actions-msg",children:l}),(0,a.jsxs)("button",{className:"btn-accent",disabled:e,onClick:function(){s(async()=>{o(null),o(b("kb.reindexResult",{n:(await (0,c.f)()).chunks})),m.refresh()})},children:[(0,a.jsx)(i.I,{name:"sync",size:14,className:e?"sync-spin":""})," ",b("kb.reindex")]}),(0,a.jsxs)("button",{className:"btn-accent",disabled:e,onClick:function(){s(async()=>{o(null);let e=await (0,d.O)();o(e.merged+e.retired+e.summarized+e.gaps>0?b("kb.curateResult",{m:e.merged,r:e.retired,s:e.summarized,g:e.gaps}):b("kb.curateNone")),m.refresh()})},children:[(0,a.jsx)(i.I,{name:"skill",size:14,className:e?"sync-spin":""})," ",e?b("kb.curating"):b("kb.curate")]})]})}},9365:(e,s,l)=>{"use strict";l.d(s,{O:()=>n});var a=l(7814);let n=(0,a.createServerReference)("00fee93e284b9d3ce4673d4b35a90469df57457050",a.callServer,void 0,a.findSourceMapURL,"curateKbAction")},9594:(e,s,l)=>{"use strict";l.d(s,{BlocksPanel:()=>v});var a=l(5076),n=l(8488),t=l(9860),i=l(4302),r=l(5393),c=l(8576),d=l(5629),o=l(7814);let m=(0,o.createServerReference)("405d7da766ec83b2a7be6e5c1b554e0077d0584ad8",o.callServer,void 0,o.findSourceMapURL,"saveBlockAction"),b=(0,o.createServerReference)("40f5c5f7f97d05cc50aacd64dda0072d6ce1fd937b",o.callServer,void 0,o.findSourceMapURL,"mergeProposalAction"),h=(0,o.createServerReference)("40ed76b2ba0cfbb4589e93ea1063b8cda68094a7f4",o.callServer,void 0,o.findSourceMapURL,"rejectProposalAction"),u=(0,o.createServerReference)("4022dbfbf7ae4d80973913063f180ab793855b0200",o.callServer,void 0,o.findSourceMapURL,"deleteBlockAction");function v({blocks:e,proposals:s}){let l=(0,d.k)(),o=(0,t.useRouter)(),[g,x]=(0,n.useTransition)(),[f,k]=(0,n.useState)(null);return(0,a.jsxs)(a.Fragment,{children:[s.length>0&&(0,a.jsxs)("div",{className:"card",style:{marginTop:12,borderColor:"#e8a14e"},children:[(0,a.jsxs)("div",{className:"lr-title",style:{marginBottom:8},children:[(0,a.jsx)(c.I,{name:"inbox",size:14,style:{color:"#e8a14e"}})," ",l("block.proposals")," (",s.length,")"]}),s.map(e=>(0,a.jsxs)("div",{className:"lrow",style:{alignItems:"flex-start"},children:[(0,a.jsxs)("div",{className:"lr-main",children:[(0,a.jsxs)("div",{className:"lr-title",children:[e.slug," ",(0,a.jsxs)("span",{className:"muted",style:{fontWeight:400},children:["\xb7 @",e.byAgentHandle]})]}),(0,a.jsx)("div",{className:"md",style:{fontSize:12,maxHeight:120,overflow:"hidden"},children:(0,a.jsx)(i.oz,{remarkPlugins:[r.A],children:e.body.slice(0,600)})})]}),(0,a.jsxs)("div",{style:{display:"flex",gap:6,flex:"0 0 auto"},children:[(0,a.jsxs)("button",{className:"btn-accent",disabled:g,onClick:()=>x(async()=>{await b(e.id),o.refresh()}),children:[(0,a.jsx)(c.I,{name:"check",size:12})," ",l("block.merge")]}),(0,a.jsx)("button",{className:"btn-ghost",disabled:g,onClick:()=>x(async()=>{await h(e.id),o.refresh()}),children:l("block.reject")})]})]},e.id))]}),(0,a.jsxs)("div",{className:"card",style:{marginTop:12},children:[(0,a.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:10},children:[(0,a.jsxs)("div",{className:"lr-title",children:[(0,a.jsx)(c.I,{name:"grid",size:14,style:{color:"var(--accent)"}})," ",l("block.title")]}),(0,a.jsxs)("button",{className:"btn-ghost",onClick:()=>k({slug:"",title:"",kind:"note",body:""}),children:[(0,a.jsx)(c.I,{name:"add",size:13})," ",l("block.new")]})]}),f&&(0,a.jsxs)("div",{className:"card",style:{marginBottom:12,background:"var(--bg-panel)"},children:[(0,a.jsxs)("div",{style:{display:"flex",gap:8,marginBottom:8,flexWrap:"wrap"},children:[(0,a.jsx)("input",{className:"form-input",style:{width:200},placeholder:l("block.slugPlaceholder"),value:f.slug,onChange:e=>k({...f,slug:e.target.value})}),(0,a.jsx)("input",{className:"form-input",style:{width:200},placeholder:l("block.titlePlaceholder"),value:f.title,onChange:e=>k({...f,title:e.target.value})}),(0,a.jsx)("input",{className:"form-input",style:{width:160},placeholder:l("block.kindPlaceholder"),value:f.kind,onChange:e=>k({...f,kind:e.target.value})})]}),(0,a.jsx)("textarea",{className:"persona-ta mono",style:{minHeight:200,width:"100%"},placeholder:l("block.bodyPlaceholder"),value:f.body,onChange:e=>k({...f,body:e.target.value})}),(0,a.jsxs)("div",{style:{display:"flex",gap:8,marginTop:8},children:[(0,a.jsxs)("button",{className:"btn-accent",disabled:g||!f.slug.trim()||!f.body.trim(),onClick:()=>{f&&x(async()=>{await m(f),k(null),o.refresh()})},children:[(0,a.jsx)(c.I,{name:"check",size:13})," ",g?l("block.saving"):l("block.save")]}),(0,a.jsx)("button",{className:"btn-ghost",onClick:()=>k(null),children:l("block.cancel")})]})]}),0===e.length&&!f&&(0,a.jsx)("div",{className:"muted",children:l("block.empty")}),e.map(e=>(0,a.jsxs)("div",{className:"lrow",style:{alignItems:"flex-start"},children:[(0,a.jsxs)("div",{className:"lr-main",children:[(0,a.jsxs)("div",{className:"lr-title",children:[e.title||e.slug," ",(0,a.jsxs)("span",{className:"muted",style:{fontWeight:400},children:["\xb7 ",e.slug," \xb7 ",e.kind," \xb7 v",e.version," \xb7 ",e.updatedBy]})]}),(0,a.jsx)("div",{className:"md",style:{fontSize:12.5,maxHeight:100,overflow:"hidden"},children:(0,a.jsx)(i.oz,{remarkPlugins:[r.A],children:e.body.slice(0,400)||`_(${l("block.bodyEmpty")})_`})})]}),(0,a.jsxs)("div",{style:{display:"flex",gap:6,flex:"0 0 auto"},children:[(0,a.jsxs)("button",{className:"btn-ghost",onClick:()=>k({slug:e.slug,title:e.title,kind:e.kind,body:e.body}),children:[(0,a.jsx)(c.I,{name:"command",size:12})," ",l("block.edit")]}),(0,a.jsx)("button",{className:"btn-ghost",disabled:g,title:l("block.delete"),onClick:()=>x(async()=>{await u(e.slug),o.refresh()}),children:(0,a.jsx)(c.I,{name:"trash",size:12})})]})]},e.slug))]})]})}}},e=>{e.O(0,[9219,9690,3219,5332,8370,6646,6834,7358],()=>e(e.s=7423)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4944],{972:(e,t,r)=>{"use strict";r.d(t,{E:()=>i,e:()=>s});let i=["Cockpit","Hierarchy","Execution","Product","Knowledge","Operations","Inbox","System"],s=[{id:"home",title:"Home",href:"/",group:"Cockpit",tile:"Welcome — canonical knowledge & quick navigation",icon:"grid"},{id:"dashboard",title:"Dashboard",href:"/dashboard",group:"Cockpit",tile:"Cockpit hub — status at a glance",icon:"pulse"},{id:"organizations",title:"Organizations",href:"/organizations",group:"Hierarchy",tile:"Manage organizations & workspaces",icon:"grid"},{id:"org",title:"Org Chart",href:"/org",group:"Hierarchy",tile:"Hierarchy & delegation",icon:"agents"},{id:"agents",title:"Agent Studio",href:"/agents/ada",group:"Hierarchy",tile:"Configure each agent",icon:"bot"},{id:"code",title:"Code",href:"/code",group:"Execution",tile:"Code editor & repo files",icon:"terminal"},{id:"tasks",title:"Tasks",href:"/tasks",group:"Execution",tile:"Team kanban board",icon:"files"},{id:"cron",title:"Cron",href:"/cron",group:"Execution",tile:"Scheduled tasks & history",icon:"calendar"},{id:"routines",title:"Routines",href:"/routines",group:"Execution",tile:"Recurring automations",icon:"repeat"},{id:"goals",title:"Goals",href:"/goals",group:"Execution",tile:"Objective tree",icon:"target"},{id:"design",title:"Design",href:"/design",group:"Execution",tile:"Prototype the UI with the frontend agent before the plan",icon:"grid"},{id:"planner",title:"CEO Planner",href:"/planner",group:"Execution",tile:"Specs → issues → approval → 24/7",icon:"command"},{id:"test-dev",title:"Test Dev",href:"/test-dev",group:"Execution",tile:"Boot, navigate + validate the project",icon:"play"},{id:"pm",title:"Product Manager",href:"/pm",group:"Product",tile:"Sprints & backlog (PO)",icon:"goto"},{id:"reports",title:"Reports",href:"/reports",group:"Knowledge",tile:"Plans, reviews, audits",icon:"doc"},{id:"docs",title:"Docs",href:"/docs",group:"Knowledge",tile:"Architecture, API & PO docs",icon:"doc"},{id:"skills",title:"Skills",href:"/skills",group:"Knowledge",tile:"Agent procedure library",icon:"skill"},{id:"activity",title:"Activity",href:"/activity",group:"Knowledge",tile:"Agent action timeline",icon:"pulse"},{id:"knowledge",title:"Knowledge",href:"/knowledge",group:"Knowledge",tile:"KB index, coverage, gaps & agent recall",icon:"branch"},{id:"costs",title:"Costs",href:"/costs",group:"Operations",tile:"Spend by agent/provider",icon:"coins"},{id:"security",title:"Security",href:"/security",group:"Operations",tile:"Findings & security score",icon:"shield"},{id:"pulse",title:"Pulse",href:"/pulse",group:"Operations",tile:"Agent health & validation",icon:"pulse"},{id:"github",title:"Commit GitHub",href:"/github",group:"Operations",tile:"Push workspace to remote",icon:"git"},{id:"prepare-deploy",title:"Prepare Deploy",href:"/prepare-deploy",group:"Operations",tile:"Prod-prep + export clean source to a deploy repo",icon:"goto"},{id:"models",title:"Models",href:"/models",group:"Operations",tile:"Providers & local models",icon:"cpu"},{id:"update",title:"Update",href:"/update",group:"Operations",tile:"Detect & apply new versions",icon:"goto"},{id:"plugins",title:"Plugins",href:"/plugins",group:"Operations",tile:"Extensions & integrations",icon:"ext"},{id:"inbox",title:"Inbox",href:"/inbox",group:"Inbox",tile:"Approvals & escalations",icon:"inbox"},{id:"notifications",title:"Notifications",href:"/notifications",group:"Inbox",tile:"Passive alert feed",icon:"bell"},{id:"config",title:"Config",href:"/config",group:"System",tile:"Platform settings",icon:"settings"},{id:"profile",title:"Profile",href:"/profile",group:"System",tile:"Account & preferences",icon:"account"}]},4446:(e,t,r)=>{"use strict";r.d(t,{Sidebar:()=>j});var i=r(5076),s=r(3283),n=r.n(s),a=r(9860),c=r(972),l=r(8576),o=r(8488),d=r(6816),h=r(5629),x=r(7439);function p({orgs:e,currentId:t,workspaceSlug:r}){let s=(0,h.k)(),n=(0,a.useRouter)(),[c,u]=(0,o.useState)(!1),[g,j]=(0,o.useTransition)(),v=(0,o.useRef)(null),m=e.find(e=>e.id===t)||e[0];return(0,o.useEffect)(()=>{if(c)return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)};function e(e){v.current&&!v.current.contains(e.target)&&u(!1)}function t(e){"Escape"===e.key&&u(!1)}},[c]),(0,i.jsxs)("div",{className:"org-switch",ref:v,children:[(0,i.jsxs)("button",{className:"org-switch-btn"+(c?" open":""),disabled:g,onClick:()=>u(e=>!e),title:m?.name,children:[(0,i.jsx)(d.J,{size:34,rx:10}),(0,i.jsxs)("div",{className:"os-meta",children:[(0,i.jsx)("div",{className:"os-name",children:m?.name??"Constella"}),(0,i.jsx)("div",{className:"os-sub mono",children:r})]}),(0,i.jsx)(l.I,{name:"chevronDown",size:14})]}),c&&(0,i.jsxs)("div",{className:"org-pop",children:[(0,i.jsx)("div",{className:"org-pop-h",children:s("mod.organizations")}),e.map((e,r)=>(0,i.jsxs)("button",{className:"org-pop-item"+(e.id===t?" on":""),onClick:()=>{var r;return r=e.id,void(u(!1),r!==t&&j(async()=>{await (0,x.T)(r),window.location.href="/"}))},children:[(0,i.jsx)("span",{className:"op-badge",children:r+1}),(0,i.jsx)("span",{className:"op-name",children:e.name}),e.id===t&&(0,i.jsx)(l.I,{name:"check",size:14})]},e.id)),(0,i.jsx)("div",{className:"org-pop-sep"}),(0,i.jsxs)("button",{className:"org-pop-create",onClick:()=>{u(!1),n.push("/onboarding")},children:[(0,i.jsx)("span",{className:"opc-ic",children:(0,i.jsx)(l.I,{name:"add",size:13})})," ",s("orgs.createOrganization")]})]})]})}var u=r(7814);let g=(0,u.createServerReference)("009d9820e2f136072e02d1e2ec05cf2e8515dba657",u.callServer,void 0,u.findSourceMapURL,"signOutAction");function j({orgs:e,currentOrgId:t,workspaceSlug:r,userName:s,userEmail:o,userImage:d,inboxCount:x,notifCount:u}){let v=(0,a.usePathname)(),m=(0,h.k)();return(0,i.jsxs)("aside",{className:"side",children:[(0,i.jsx)("div",{className:"side-brand-wrap",children:(0,i.jsx)(p,{orgs:e,currentId:t,workspaceSlug:r})}),(0,i.jsxs)(n(),{href:"/search",className:"nav-search",children:[(0,i.jsx)(l.I,{name:"search",size:13}),(0,i.jsx)("input",{placeholder:m("nav.search"),readOnly:!0,style:{pointerEvents:"none"}})]}),(0,i.jsx)("div",{className:"side-nav scroll",children:c.E.map(e=>{let t=c.e.filter(t=>t.group===e);return t.length?(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"nav-group-label",children:m(`group.${e}`)}),t.map(e=>{let t=e=>"/"+(e.split("/")[1]??""),r="home"===e.id?"/"===v:t(v)===t(e.href),s="inbox"===e.id?x:"notifications"===e.id?u:0;return(0,i.jsxs)(n(),{href:e.href,className:"nav-item"+(r?" active":""),children:[(0,i.jsx)(l.I,{name:e.icon,size:17}),(0,i.jsx)("span",{children:m(`mod.${e.id}`)}),s?(0,i.jsx)("span",{className:"nv-badge",children:s}):null]},e.id)})]},e):null})}),(0,i.jsxs)("div",{className:"side-foot",children:[(0,i.jsx)("div",{className:"top-avatar",style:{margin:0,overflow:"hidden",padding:d?0:void 0},children:d?(0,i.jsx)("img",{src:/^(data:|https?:|\/)/.test(d)?d:`/api/upload?path=${encodeURIComponent(d)}`,alt:s,style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):(s?.[0]||"O").toUpperCase()}),(0,i.jsxs)(n(),{href:"/profile",className:"pf",children:[(0,i.jsx)("div",{className:"pn",children:s||m("nav.operator")}),(0,i.jsx)("div",{className:"pe",children:o||""})]}),(0,i.jsx)("form",{action:g,children:(0,i.jsx)("button",{className:"foot-signout",title:m("nav.signout"),type:"submit",children:(0,i.jsx)(l.I,{name:"close",size:15})})})]})]})}},5048:(e,t,r)=>{"use strict";r.d(t,{Toaster:()=>d});var i=r(5076),s=r(8488),n=r(9860),a=r(8576),c=r(5629),l=r(7814);let o=(0,l.createServerReference)("40854c3b69d8580f508df721657835a17406a94f4e",l.callServer,void 0,l.findSourceMapURL,"recentNotifications");function d(){let e=(0,c.k)(),[t,r]=(0,s.useState)([]),l=(0,s.useRef)(0),d=(0,s.useRef)(new Set),h=(0,n.useRouter)();function x(e){r(t=>t.filter(t=>t.id!==e))}return((0,s.useEffect)(()=>{l.current=Date.now();let e=!0,t=setInterval(async()=>{try{let t=await o(l.current);if(!e||!t.length)return;l.current=Math.max(l.current,...t.map(e=>e.at));let i=t.filter(e=>!d.current.has(e.id));if(!i.length)return;i.forEach(e=>d.current.add(e.id)),r(e=>[...i,...e].slice(0,4))}catch{}},8e3);return()=>{e=!1,clearInterval(t)}},[]),(0,s.useEffect)(()=>{if(!t.length)return;let e=setTimeout(()=>r(e=>e.slice(0,-1)),7e3);return()=>clearTimeout(e)},[t]),t.length)?(0,i.jsx)("div",{className:"toaster",children:t.map(t=>{var r;return(0,i.jsxs)("div",{className:"toast toast-"+t.kind,role:"status",onClick:()=>{var e,r;(x((e=t).id),e.channel&&("room"===(r=e.channel)||"telegram"===r||r.startsWith("dm:")))?window.dispatchEvent(new CustomEvent("constella:open-chat",{detail:{channel:e.channel}})):h.push("/notifications")},children:[(0,i.jsx)("span",{className:"toast-ic",children:(0,i.jsx)(a.I,{name:"approval"===(r=t.kind)||"needs-approval"===r?"inbox":"security"===r||"block"===r||"blocked"===r?"shield":"deploy"===r?"goto":"error"===r||"warn"===r||"warning"===r?"warn":r.startsWith("dm")||"mention"===r||"message"===r?"chat":"bell",size:15})}),(0,i.jsxs)("div",{className:"toast-body",children:[(0,i.jsx)("div",{className:"toast-title",children:t.text}),t.detail&&(0,i.jsx)("div",{className:"toast-detail",children:t.detail})]}),(0,i.jsx)("button",{className:"toast-x",title:e("common.dismiss"),onClick:e=>{e.stopPropagation(),x(t.id)},children:(0,i.jsx)(a.I,{name:"close",size:12})})]},t.id)})}):null}},5629:(e,t,r)=>{"use strict";r.d(t,{LangProvider:()=>c,k:()=>l});var i=r(5076),s=r(8488),n=r(3219);let a=(0,s.createContext)("en");function c({lang:e,children:t}){return(0,i.jsx)(a.Provider,{value:e,children:t})}function l(){let e=(0,s.useContext)(a);return(t,r)=>(0,n.t)(e,t,r)}},5750:(e,t,r)=>{"use strict";r.d(t,{SearchHotkey:()=>n});var i=r(8488),s=r(9860);function n(){let e=(0,s.useRouter)();return(0,i.useEffect)(()=>{function t(t){(t.ctrlKey||t.metaKey)&&("p"===t.key||"k"===t.key||"P"===t.key||"K"===t.key)&&(t.preventDefault(),e.push("/search"))}return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e]),null}},6257:(e,t,r)=>{"use strict";r.d(t,{ChatDockGate:()=>a});var i=r(5076),s=r(9860),n=r(386);function a(e){return"/"===(0,s.usePathname)()?null:(0,i.jsx)(n.uG,{...e})}},6800:(e,t,r)=>{Promise.resolve().then(r.bind(r,6257)),Promise.resolve().then(r.bind(r,8168)),Promise.resolve().then(r.bind(r,5750)),Promise.resolve().then(r.bind(r,4446)),Promise.resolve().then(r.bind(r,5048))},6816:(e,t,r)=>{"use strict";r.d(t,{J:()=>s});var i=r(5076);function s({size:e=34,rx:t=9}){return(0,i.jsxs)("svg",{width:e,height:e,viewBox:"0 0 100 100",style:{display:"block",flex:`0 0 ${e}px`},"aria-label":"Constella",children:[(0,i.jsx)("rect",{x:"1",y:"1",width:"98",height:"98",rx:t,fill:"var(--cs-bg)",stroke:"var(--cs-border)",strokeWidth:"1.5"}),(0,i.jsx)("path",{d:"M66.06 27.06 L42.75 22.95 L24.62 38.17 L24.62 61.83 L42.75 77.05 L66.06 72.94",fill:"none",stroke:"var(--cs-line)",strokeWidth:"2.1",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M48 50 L42.75 22.95 M48 50 L24.62 50 M48 50 L42.75 77.05",fill:"none",stroke:"var(--cs-line)",strokeWidth:"1.2",strokeLinecap:"round",opacity:"0.55"}),[[66.06,27.06],[42.75,22.95],[24.62,38.17],[24.62,61.83],[42.75,77.05],[66.06,72.94]].map((e,t)=>(0,i.jsx)("circle",{cx:e[0],cy:e[1],r:"3.1",fill:"var(--cs-node)"},t)),(0,i.jsx)("circle",{cx:"48",cy:"50",r:"8.5",fill:"var(--cs-glow)",opacity:"0.4"}),(0,i.jsx)("circle",{cx:"48",cy:"50",r:"4.3",fill:"var(--cs-core)"})]})}},7439:(e,t,r)=>{"use strict";r.d(t,{T:()=>s});var i=r(7814);let s=(0,i.createServerReference)("40ad220ad11c5e62121a9df3584f8a27bc67e248d1",i.callServer,void 0,i.findSourceMapURL,"setActiveOrg")},8168:(e,t,r)=>{"use strict";r.d(t,{RunnerHeartbeat:()=>l});var i=r(8488),s=r(9860),n=r(7814);let a=(0,n.createServerReference)("0078c3cfde299e57b61ac68334e3fe978d3fc6cef6",n.callServer,void 0,n.findSourceMapURL,"tick"),c=(0,n.createServerReference)("005cb7cf17a2509d978d131aea927da4e5dfbe7b4d",n.callServer,void 0,n.findSourceMapURL,"autoTick");function l({intervalMs:e=8e3,approved:t=!1,auto247:r=!1}){let n=(0,s.useRouter)(),o=(0,i.useRef)(!1),d=(0,i.useRef)(!1);return(0,i.useEffect)(()=>{let t=!1;async function r(){if(!t&&!o.current&&!document.hidden){o.current=!0;try{let e=await a();!e.paused&&(e.advanced||(e.changed??0)>0)&&n.refresh()}catch{}finally{o.current=!1}}}r();let i=setInterval(r,e),s=()=>{document.hidden||r()};return document.addEventListener("visibilitychange",s),()=>{t=!0,clearInterval(i),document.removeEventListener("visibilitychange",s)}},[e,n]),(0,i.useEffect)(()=>{let e=!1;async function i(){if(!e&&!d.current&&!document.hidden&&t&&r){d.current=!0;try{let t=await c();t.ran&&n.refresh(),e||t.paused||!t.ran||!(t.remaining>0)||document.hidden||setTimeout(i,1200)}catch{}finally{d.current=!1}}}i();let s=()=>{document.hidden||i()};return document.addEventListener("visibilitychange",s),()=>{e=!0,document.removeEventListener("visibilitychange",s)}},[t,r,n]),null}},8576:(e,t,r)=>{"use strict";r.d(t,{I:()=>n});var i=r(5076);let s={files:(0,i.jsx)("path",{d:"M3 3.5h5l1.5 2H13a1 1 0 0 1 1 1V12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4.5a1 1 0 0 1 1-1z"}),search:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("circle",{cx:"7",cy:"7",r:"4.2"}),(0,i.jsx)("path",{d:"M10.2 10.2 14 14"})]}),git:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("circle",{cx:"4",cy:"4",r:"1.8"}),(0,i.jsx)("circle",{cx:"4",cy:"12",r:"1.8"}),(0,i.jsx)("circle",{cx:"12",cy:"9.5",r:"1.8"}),(0,i.jsx)("path",{d:"M4 5.8v4.4M5.8 4H9a2 2 0 0 1 2 2v1.6"})]}),debug:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("circle",{cx:"8",cy:"8.5",r:"3.5"}),(0,i.jsx)("path",{d:"M8 5V3M4.5 8.5H2m12 0h-2.5M4.8 11.8 3.4 13M11.2 11.8l1.4 1.2M5.2 5 3.8 3.6M10.8 5l1.4-1.4"})]}),ext:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("rect",{x:"2.5",y:"2.5",width:"4.5",height:"4.5",rx:"1"}),(0,i.jsx)("rect",{x:"9",y:"2.5",width:"4.5",height:"4.5",rx:"1"}),(0,i.jsx)("rect",{x:"2.5",y:"9",width:"4.5",height:"4.5",rx:"1"}),(0,i.jsx)("path",{d:"M9 11.2h4.5M11.2 9v4.5"})]}),settings:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("circle",{cx:"8",cy:"8",r:"2.2"}),(0,i.jsx)("path",{d:"M8 1.5v2M8 12.5v2M14.5 8h-2M3.5 8h-2M12.6 3.4l-1.4 1.4M4.8 11.2l-1.4 1.4M12.6 12.6l-1.4-1.4M4.8 4.8 3.4 3.4"})]}),account:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("circle",{cx:"8",cy:"5.5",r:"2.8"}),(0,i.jsx)("path",{d:"M2.8 14c0-2.8 2.3-4.5 5.2-4.5s5.2 1.7 5.2 4.5"})]}),chevronRight:(0,i.jsx)("path",{d:"M6 4l4 4-4 4"}),chevronDown:(0,i.jsx)("path",{d:"M4 6l4 4 4-4"}),chevronUp:(0,i.jsx)("path",{d:"M4 10l4-4 4 4"}),close:(0,i.jsx)("path",{d:"M4 4l8 8M12 4l-8 8"}),add:(0,i.jsx)("path",{d:"M8 3v10M3 8h10"}),newFile:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M9 2H4a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V6L9 2z"}),(0,i.jsx)("path",{d:"M9 2v4h4M8 8v4M6 10h4"})]}),newFolder:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M2 5.5a1 1 0 0 1 1-1h3l1.2 1.5H13a1 1 0 0 1 1 1V12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5.5z"}),(0,i.jsx)("path",{d:"M8 8v3M6.5 9.5h3"})]}),refresh:(0,i.jsx)("path",{d:"M13 8a5 5 0 1 1-1.5-3.5M13 2.5V5h-2.5"}),collapse:(0,i.jsx)("path",{d:"M3 5h6M3 8h6M3 11h6M12 6l-1.5 1.5L12 9"}),more:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("circle",{cx:"3.5",cy:"8",r:"1"}),(0,i.jsx)("circle",{cx:"8",cy:"8",r:"1"}),(0,i.jsx)("circle",{cx:"12.5",cy:"8",r:"1"})]}),split:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("rect",{x:"2",y:"3",width:"12",height:"10",rx:"1"}),(0,i.jsx)("path",{d:"M8 3v10"})]}),terminal:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("rect",{x:"2",y:"3",width:"12",height:"10",rx:"1.5"}),(0,i.jsx)("path",{d:"M4.5 6.5 6.5 8l-2 1.5M8 10h3.5"})]}),panelBottom:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("rect",{x:"2",y:"3",width:"12",height:"10",rx:"1.5"}),(0,i.jsx)("path",{d:"M2 10h12"})]}),sidebarIcon:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("rect",{x:"2",y:"3",width:"12",height:"10",rx:"1.5"}),(0,i.jsx)("path",{d:"M6 3v10"})]}),bell:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M8 2a3.5 3.5 0 0 0-3.5 3.5c0 3-1.3 4-1.3 4h9.6s-1.3-1-1.3-4A3.5 3.5 0 0 0 8 2z"}),(0,i.jsx)("path",{d:"M6.7 12a1.4 1.4 0 0 0 2.6 0"})]}),check:(0,i.jsx)("path",{d:"M3 8.5 6.5 12 13 4"}),error:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("circle",{cx:"8",cy:"8",r:"6"}),(0,i.jsx)("path",{d:"M8 5v4M8 11h.01"})]}),warn:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M8 2.5 14.5 13.5h-13z"}),(0,i.jsx)("path",{d:"M8 7v3M8 12h.01"})]}),branch:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("circle",{cx:"4",cy:"4",r:"1.6"}),(0,i.jsx)("circle",{cx:"4",cy:"12",r:"1.6"}),(0,i.jsx)("circle",{cx:"12",cy:"9",r:"1.6"}),(0,i.jsx)("path",{d:"M4 5.6v4.8M5.6 4H9a1.8 1.8 0 0 1 1.8 1.8v1.6"})]}),sync:(0,i.jsx)("path",{d:"M3 6a5 5 0 0 1 8.5-2M13 10a5 5 0 0 1-8.5 2M11.5 2.5V4h-1.5M4.5 13.5V12h1.5"}),command:(0,i.jsx)("path",{d:"M5.5 3.5A1.5 1.5 0 1 1 4 5h8a1.5 1.5 0 1 1-1.5 1.5v3A1.5 1.5 0 1 1 12 11H4a1.5 1.5 0 1 1 1.5-1.5v-3z"}),goto:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M3 8h8M7.5 4.5 11 8l-3.5 3.5"}),(0,i.jsx)("path",{d:"M13 3v10"})]}),sun:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("circle",{cx:"8",cy:"8",r:"3"}),(0,i.jsx)("path",{d:"M8 1.5v1.5M8 13v1.5M14.5 8H13M3 8H1.5M12.6 3.4l-1 1M4.4 11.6l-1 1M12.6 12.6l-1-1M4.4 4.4l-1-1"})]}),moon:(0,i.jsx)("path",{d:"M13 9.2A5.5 5.5 0 0 1 6.8 3 5.5 5.5 0 1 0 13 9.2z"}),play:(0,i.jsx)("path",{d:"M5 3.5v9l7-4.5z"}),trash:(0,i.jsx)("path",{d:"M3.5 4.5h9M6 4.5V3h4v1.5M5 4.5l.5 8.5h5l.5-8.5"}),dot:(0,i.jsx)("circle",{cx:"8",cy:"8",r:"3"}),fileTs:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M9 2H4a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V6L9 2z"}),(0,i.jsx)("path",{d:"M9 2v4h4"})]}),arrowUp:(0,i.jsx)("path",{d:"M8 13V3M4 7l4-4 4 4"}),arrowDown:(0,i.jsx)("path",{d:"M8 3v10M4 9l4 4 4-4"}),agents:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("circle",{cx:"5.5",cy:"6",r:"2.2"}),(0,i.jsx)("circle",{cx:"11",cy:"6.5",r:"1.8"}),(0,i.jsx)("path",{d:"M2 13c0-2 1.6-3.2 3.5-3.2S9 11 9 13M9.5 12.5c.2-1.6 1.3-2.5 2.8-2.5 1.3 0 2.4.8 2.4 2.3"})]}),bot:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("rect",{x:"3",y:"5.5",width:"10",height:"7",rx:"2"}),(0,i.jsx)("path",{d:"M8 3v2.5M5.8 9h.01M10.2 9h.01M6 12h4"}),(0,i.jsx)("circle",{cx:"8",cy:"3",r:"1"})]}),send:(0,i.jsx)("path",{d:"M14 2 7 9M14 2l-4.5 12-2.5-5L2 6.5z"}),at:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("circle",{cx:"8",cy:"8",r:"3"}),(0,i.jsx)("path",{d:"M11 8v1.2a1.8 1.8 0 0 0 3.5.6A6.5 6.5 0 1 0 11 13.2"})]}),chevronLeft:(0,i.jsx)("path",{d:"M10 4 6 8l4 4"}),dockRight:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("rect",{x:"2",y:"3",width:"12",height:"10",rx:"1.5"}),(0,i.jsx)("path",{d:"M10 3v10"}),(0,i.jsx)("rect",{x:"10.5",y:"3.5",width:"3",height:"9",rx:"1",fill:"currentColor",stroke:"none",opacity:"0.25"})]}),dockLeft:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("rect",{x:"2",y:"3",width:"12",height:"10",rx:"1.5"}),(0,i.jsx)("path",{d:"M6 3v10"}),(0,i.jsx)("rect",{x:"2.5",y:"3.5",width:"3",height:"9",rx:"1",fill:"currentColor",stroke:"none",opacity:"0.25"})]}),chat:(0,i.jsx)("path",{d:"M3 4.5h10a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H7l-3 2.5V11.5H3a1 1 0 0 1-1-1v-5a1 1 0 0 1 1-1z"}),grid:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("rect",{x:"2.5",y:"2.5",width:"4.5",height:"4.5",rx:"1"}),(0,i.jsx)("rect",{x:"9",y:"2.5",width:"4.5",height:"4.5",rx:"1"}),(0,i.jsx)("rect",{x:"2.5",y:"9",width:"4.5",height:"4.5",rx:"1"}),(0,i.jsx)("rect",{x:"9",y:"9",width:"4.5",height:"4.5",rx:"1"})]}),inbox:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M2 9h3l1 2h4l1-2h3"}),(0,i.jsx)("path",{d:"M2.5 9 4 3.5h8L13.5 9v3.5a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1z"})]}),calendar:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("rect",{x:"2.5",y:"3.5",width:"11",height:"10",rx:"1.5"}),(0,i.jsx)("path",{d:"M2.5 6.5h11M5.5 2v3M10.5 2v3"})]}),repeat:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M3 6a4 4 0 0 1 7-2.5L12 5M13 10a4 4 0 0 1-7 2.5L4 11"}),(0,i.jsx)("path",{d:"M12 2v3H9M4 14v-3h3"})]}),doc:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M9 2H4.5a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V5.5L9 2z"}),(0,i.jsx)("path",{d:"M9 2v3.5h3.5M6 8.5h4M6 11h4"})]}),skill:(0,i.jsx)("path",{d:"M8 2.5l1.4 3.1 3.4.4-2.5 2.3.7 3.3L8 9.9 5 11.6l.7-3.3L3.2 6l3.4-.4z"}),pulse:(0,i.jsx)("path",{d:"M2 8h3l1.5-4 2.5 8 1.5-4H14"}),coins:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("ellipse",{cx:"6",cy:"4.5",rx:"3.5",ry:"1.8"}),(0,i.jsx)("path",{d:"M2.5 4.5v3c0 1 1.6 1.8 3.5 1.8s3.5-.8 3.5-1.8v-3"}),(0,i.jsx)("ellipse",{cx:"10",cy:"9.5",rx:"3.5",ry:"1.8"}),(0,i.jsx)("path",{d:"M6.5 9.5c.4.9 1.8 1.5 3.5 1.5s3.5-.8 3.5-1.8v-1.2"})]}),cpu:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("rect",{x:"4",y:"4",width:"8",height:"8",rx:"1.5"}),(0,i.jsx)("rect",{x:"6.3",y:"6.3",width:"3.4",height:"3.4",rx:".5"}),(0,i.jsx)("path",{d:"M6 2v2M10 2v2M6 12v2M10 12v2M2 6h2M2 10h2M12 6h2M12 10h2"})]}),shield:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M8 2 3 4v4c0 3 2.2 5 5 6 2.8-1 5-3 5-6V4z"}),(0,i.jsx)("path",{d:"M5.8 8 7.3 9.5 10.4 6.3"})]}),target:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("circle",{cx:"8",cy:"8",r:"5.5"}),(0,i.jsx)("circle",{cx:"8",cy:"8",r:"2.4"})]}),selectParent:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("rect",{x:"2",y:"2.5",width:"12",height:"11",rx:"1.5"}),(0,i.jsx)("path",{d:"M8 11V6.5M5.5 9 8 6.5l2.5 2.5"})]})};function n({name:e,size:t=16,className:r="",strokeWidth:a=1.4,style:c}){let l=s[e];return l?(0,i.jsx)("svg",{width:t,height:t,viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:a,strokeLinecap:"round",strokeLinejoin:"round",className:r,style:c,children:"play"===e||"dot"===e?(0,i.jsx)("g",{fill:"currentColor",stroke:"none",children:l}):l}):null}}},e=>{e.O(0,[9219,9690,3219,4909,386,6646,6834,7358],()=>e(e.s=6800)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9274],{2064:(e,a,s)=>{"use strict";s.d(a,{ModelsScreen:()=>ea,OpenCatalogButton:()=>es});var l=s(5076),n=s(8488),t=s(8576),i=s(4552),r=s(9265);let d=[[/qwen/i,"qwen"],[/(^|[-_ ])(meta-?)?llama/i,"meta"],[/codestral|mixtral|mistral|ministral/i,"mistral"],[/gemma/i,"gemma"],[/phi-?\d/i,"microsoft"],[/deepseek/i,"deepseek"],[/(^|[-_ ])yi-?\d/i,"yi"],[/granite/i,"ibm"],[/smollm/i,"huggingface"],[/aya|command-?r|^c4ai/i,"cohere"],[/falcon/i,"tii"],[/exaone/i,"lg"]];var o=s(3728),c=s(4403),m=s(7814);let p=(0,m.createServerReference)("40c75d7e64d35d6b22bf5e60e70e9b9aed9b24ce58",m.callServer,void 0,m.findSourceMapURL,"testProvider"),h=(0,m.createServerReference)("403ad109e8d6615a62dffde13e96a5423f427ee81c",m.callServer,void 0,m.findSourceMapURL,"syncProvider"),u=(0,m.createServerReference)("40f63c0dc2f9fd454ee734df281916c9c940b514d1",m.callServer,void 0,m.findSourceMapURL,"revokeProviderToken"),x=(0,m.createServerReference)("4052eed2e606ab0578a532cb12936db0e97531636d",m.callServer,void 0,m.findSourceMapURL,"removeProvider");var v=s(3198);let g=(0,m.createServerReference)("40509ca9e2fe321fd3edb90fb87ad7e46c332852e4",m.callServer,void 0,m.findSourceMapURL,"refreshProviderModels");var f=s(9572);let j=(0,m.createServerReference)("60c81d6c7ac6177409b0c685957871669e51003475",m.callServer,void 0,m.findSourceMapURL,"connectProvider");var b=s(8088);let k=(0,m.createServerReference)("00f11fde1abbcb8874ea13874ce5cd569b0e099e97",m.callServer,void 0,m.findSourceMapURL,"downloadLlamaServer"),B=(0,m.createServerReference)("405ad95da49982821a9bc6955eea37f320993596da",m.callServer,void 0,m.findSourceMapURL,"startLlamaServer"),y=(0,m.createServerReference)("00c4f07a1b33f457c1e069803f5268328f26bf2c66",m.callServer,void 0,m.findSourceMapURL,"stopLlamaServer"),N=(0,m.createServerReference)("4035db26c028b512c5850839e8dd26e72cb50c20db",m.callServer,void 0,m.findSourceMapURL,"removeGguf"),w=(0,m.createServerReference)("400193d67a212d1277899fbaf69193bfc45ae25497",m.callServer,void 0,m.findSourceMapURL,"removeModel"),S=(0,m.createServerReference)("4010145133cbbe698a61bc17c3503a1f5cbe19f1d8",m.callServer,void 0,m.findSourceMapURL,"downloadGguf");var C=s(6e3);let I=(0,m.createServerReference)("00facfad17c4ab63ee00b1875339e6f32bbe8fac82",m.callServer,void 0,m.findSourceMapURL,"embedStatus"),M=(0,m.createServerReference)("001603591cd8a9fe0b752862b36f93023d65a6cb39",m.callServer,void 0,m.findSourceMapURL,"startEmbeddings"),z=(0,m.createServerReference)("00c2bc1709b8a20517d7689236a84e8000dfacdc8a",m.callServer,void 0,m.findSourceMapURL,"reindexRag");var _=s(8670);let Q=[{name:"nomic-embed-text",label:"Nomic Embed Text",size:"274 MB",kind:"embed",note:"Powers semantic workspace RAG — pull this to enable embeddings."},{name:"mxbai-embed-large",label:"mxbai Embed Large",size:"670 MB",kind:"embed",note:"Higher-quality embeddings (set CONSTELLA_EMBED_MODEL)."},{name:"llama3.2:3b",label:"Llama 3.2 3B",size:"2.0 GB",kind:"chat"},{name:"qwen2.5:7b",label:"Qwen 2.5 7B",size:"4.7 GB",kind:"chat"},{name:"qwen2.5-coder:7b",label:"Qwen 2.5 Coder 7B",size:"4.7 GB",kind:"code"},{name:"gemma2:2b",label:"Gemma 2 2B",size:"1.6 GB",kind:"chat"},{name:"phi3.5",label:"Phi 3.5",size:"2.2 GB",kind:"chat"}],R=[{repo:"Qwen2.5-0.5B-Instruct",paramsB:.5,kind:"chat"},{repo:"Qwen2.5-1.5B-Instruct",paramsB:1.5,kind:"chat"},{repo:"Qwen2.5-3B-Instruct",paramsB:3,kind:"chat"},{repo:"Qwen2.5-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Qwen2.5-14B-Instruct",paramsB:14,kind:"chat"},{repo:"Qwen2.5-32B-Instruct",paramsB:32,kind:"chat"},{repo:"Qwen2.5-72B-Instruct",paramsB:72,kind:"chat"},{repo:"Qwen2.5-Coder-1.5B-Instruct",paramsB:1.5,kind:"code"},{repo:"Qwen2.5-Coder-3B-Instruct",paramsB:3,kind:"code"},{repo:"Qwen2.5-Coder-7B-Instruct",paramsB:7,kind:"code"},{repo:"Qwen2.5-Coder-14B-Instruct",paramsB:14,kind:"code"},{repo:"Qwen2.5-Coder-32B-Instruct",paramsB:32,kind:"code"},{repo:"Qwen3-0.6B",paramsB:.6,kind:"chat"},{repo:"Qwen3-1.7B",paramsB:1.7,kind:"chat"},{repo:"Qwen3-4B",paramsB:4,kind:"chat"},{repo:"Qwen3-8B",paramsB:8,kind:"chat"},{repo:"Qwen3-14B",paramsB:14,kind:"chat"},{repo:"Qwen3-32B",paramsB:32,kind:"chat"},{repo:"Llama-3.2-1B-Instruct",paramsB:1,kind:"chat"},{repo:"Llama-3.2-3B-Instruct",paramsB:3,kind:"chat"},{repo:"Meta-Llama-3.1-8B-Instruct",paramsB:8,kind:"chat"},{repo:"Meta-Llama-3.1-70B-Instruct",paramsB:70,kind:"chat"},{repo:"Llama-3.3-70B-Instruct",paramsB:70,kind:"chat"},{repo:"gemma-2-2b-it",paramsB:2,kind:"chat"},{repo:"gemma-2-9b-it",paramsB:9,kind:"chat"},{repo:"gemma-2-27b-it",paramsB:27,kind:"chat"},{repo:"gemma-3-1b-it",paramsB:1,kind:"chat"},{repo:"gemma-3-4b-it",paramsB:4,kind:"chat"},{repo:"gemma-3-12b-it",paramsB:12,kind:"chat"},{repo:"gemma-3-27b-it",paramsB:27,kind:"chat"},{repo:"Mistral-7B-Instruct-v0.3",paramsB:7,kind:"chat"},{repo:"Mistral-Nemo-Instruct-2407",paramsB:12,kind:"chat"},{repo:"Mistral-Small-Instruct-2409",paramsB:22,kind:"chat"},{repo:"Mistral-Small-24B-Instruct-2501",paramsB:24,kind:"chat"},{repo:"Codestral-22B-v0.1",paramsB:22,kind:"code"},{repo:"Phi-3.1-mini-4k-instruct",paramsB:3.8,kind:"chat"},{repo:"DeepSeek-R1-Distill-Qwen-1.5B",paramsB:1.5,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-7B",paramsB:7,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-14B",paramsB:14,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-32B",paramsB:32,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Llama-8B",paramsB:8,kind:"reasoning"},{repo:"DeepSeek-Coder-V2-Lite-Instruct",paramsB:16,kind:"code"},{repo:"Yi-1.5-9B-Chat",paramsB:9,kind:"chat"},{repo:"Yi-1.5-34B-Chat",paramsB:34,kind:"chat"},{repo:"granite-3.0-8b-instruct",paramsB:8,kind:"chat"},{repo:"granite-3.1-8b-instruct",paramsB:8,kind:"chat"},{repo:"SmolLM2-360M-Instruct",paramsB:.36,kind:"chat"},{repo:"SmolLM2-1.7B-Instruct",paramsB:1.7,kind:"chat"},{repo:"aya-expanse-8b",paramsB:8,kind:"chat"},{repo:"aya-expanse-32b",paramsB:32,kind:"chat"},{repo:"Falcon3-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Falcon3-10B-Instruct",paramsB:10,kind:"chat"},{repo:"EXAONE-3.5-2.4B-Instruct",paramsB:2.4,kind:"chat"},{repo:"EXAONE-3.5-7.8B-Instruct",paramsB:7.8,kind:"chat"},{repo:"Qwen3.5-0.8B",paramsB:.8,kind:"chat"},{repo:"Qwen3.5-2B",paramsB:2,kind:"chat"},{repo:"Qwen3.5-9B",paramsB:9,kind:"chat"},{repo:"Qwen3.5-27B",paramsB:27,kind:"chat"},{repo:"Qwen3.5-35B-A3B",paramsB:35,kind:"chat"},{repo:"Qwen3.6-27B",paramsB:27,kind:"chat"},{repo:"Qwen3.6-35B-A3B",paramsB:35,kind:"chat"},{repo:"Qwen3-30B-A3B",paramsB:30,kind:"chat"},{repo:"Qwen3-30B-A3B-Instruct-2507",paramsB:30,kind:"chat"},{repo:"Qwen3-Next-80B-A3B-Instruct",paramsB:80,kind:"chat"},{repo:"Qwen3-4B-Thinking-2507",paramsB:4,kind:"reasoning"},{repo:"QwQ-32B",paramsB:32,kind:"reasoning"},{repo:"Qwen2.5-7B-Instruct-1M",paramsB:7,kind:"chat"},{repo:"Qwen2.5-Coder-0.5B-Instruct",paramsB:.5,kind:"code"},{repo:"Qwen2.5-Coder-3B",paramsB:3,kind:"code"},{repo:"Qwen2.5-Coder-32B",paramsB:32,kind:"code"},{repo:"Qwen2.5-Math-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Qwen2-500M-Instruct",paramsB:.5,kind:"chat"},{repo:"Qwen1.5-32B-Chat",paramsB:32,kind:"chat"},{repo:"gemma-4-E2B-it",paramsB:2,kind:"chat"},{repo:"gemma-4-E4B-it",paramsB:4,kind:"chat"},{repo:"gemma-4-12B-it",paramsB:12,kind:"chat"},{repo:"gemma-4-26B-A4B-it",paramsB:26,kind:"chat"},{repo:"gemma-4-31B-it",paramsB:31,kind:"chat"},{repo:"gemma-3-270m-it",paramsB:.27,kind:"chat"},{repo:"gemma-1.1-2b-it",paramsB:2,kind:"chat"},{repo:"codegemma-2b",paramsB:2,kind:"code"},{repo:"codegemma-7b",paramsB:7,kind:"code"},{repo:"codegemma-7b-it",paramsB:7,kind:"code"},{repo:"codegemma-1.1-7b-it",paramsB:7,kind:"code"},{repo:"Ministral-3-3B-Instruct-2512",paramsB:3,kind:"chat"},{repo:"Ministral-3-8B-Instruct-2512",paramsB:8,kind:"chat"},{repo:"Ministral-3-14B-Instruct-2512",paramsB:14,kind:"chat"},{repo:"Ministral-3-3B-Reasoning-2512",paramsB:3,kind:"reasoning"},{repo:"Ministral-3-8B-Reasoning-2512",paramsB:8,kind:"reasoning"},{repo:"Ministral-3-14B-Reasoning-2512",paramsB:14,kind:"reasoning"},{repo:"Mistral-Small-3.1-24B-Instruct-2503",paramsB:24,kind:"chat"},{repo:"Mistral-Small-3.2-24B-Instruct-2506",paramsB:24,kind:"chat"},{repo:"Devstral-Small-2-24B-Instruct-2512",paramsB:24,kind:"code"},{repo:"mathstral-7B-v0.1",paramsB:7,kind:"chat"},{repo:"dolphin-2.8-mistral-7b-v02",paramsB:7,kind:"chat"},{repo:"WizardLM-2-7B",paramsB:7,kind:"chat"},{repo:"DeepSeek-R1-0528-Qwen3-8B",paramsB:8,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Llama-70B",paramsB:70,kind:"reasoning"},{repo:"deepseek-coder-1.3B-kexer",paramsB:1.3,kind:"code"},{repo:"deepseek-coder-6.7B-kexer",paramsB:6.7,kind:"code"},{repo:"granite-3.2-8b-instruct",paramsB:8,kind:"chat"},{repo:"granite-4.1-3b",paramsB:3,kind:"chat"},{repo:"granite-4.1-8b",paramsB:8,kind:"chat"},{repo:"granite-4.1-30b",paramsB:30,kind:"chat"},{repo:"Olmo-3-32B-Think",paramsB:32,kind:"reasoning"},{repo:"Seed-OSS-36B-Instruct",paramsB:36,kind:"chat"},{repo:"ERNIE-4.5-21B-A3B-PT",paramsB:21,kind:"chat"},{repo:"LFM2-24B-A2B",paramsB:24,kind:"chat"},{repo:"LFM2.5-1.2B-Instruct",paramsB:1.2,kind:"chat"},{repo:"LFM2.5-1.2B-Thinking",paramsB:1.2,kind:"reasoning"},{repo:"NVIDIA-Nemotron-3-Nano-4B",paramsB:4,kind:"chat"},{repo:"Hermes-4-70B",paramsB:70,kind:"chat"},{repo:"Llama-3.1-Tulu-3-8B",paramsB:8,kind:"chat"},{repo:"Meta-Llama-3-70B-Instruct",paramsB:70,kind:"chat"},{repo:"Llama3-ChatQA-1.5-70B",paramsB:70,kind:"chat"},{repo:"Llama-3-Groq-8B-Tool-Use",paramsB:8,kind:"chat"},{repo:"aya-23-8B",paramsB:8,kind:"chat"},{repo:"aya-23-35B",paramsB:35,kind:"chat"},{repo:"SmolLM2-135M-Instruct",paramsB:.135,kind:"chat"},{repo:"Yi-Coder-1.5B",paramsB:1.5,kind:"code"},{repo:"Yi-Coder-9B-Chat",paramsB:9,kind:"code"},{repo:"OpenCoder-1.5B-Instruct",paramsB:1.5,kind:"code"},{repo:"stable-code-instruct-3b",paramsB:3,kind:"code"},{repo:"internlm2-math-plus-7b",paramsB:7,kind:"chat"},{repo:"internlm2-math-plus-20b",paramsB:20,kind:"chat"}],L={Q3_K_L:.55,Q4_K_M:.67,Q6_K:.9,Q8_0:1.13},T=[{id:"nomic-embed-q8",name:"nomic-embed-text-v1.5 (Q8_0)",url:"https://huggingface.co/nomic-ai/nomic-embed-text-v1.5-GGUF/resolve/main/nomic-embed-text-v1.5.Q8_0.gguf",params:"137M",quant:"Q8_0",sizeBytes:146e6,kind:"embed",paramsB:.137},...function(){let e=[];for(let l of R){var a,s;let n=l.vendor??"lmstudio-community";for(let t of(a=l.paramsB)<=9?["Q3_K_L","Q4_K_M","Q6_K","Q8_0"]:a<=34?["Q3_K_L","Q4_K_M","Q6_K"]:["Q3_K_L","Q4_K_M"]){let a=`${l.repo}-${t}.gguf`;e.push({id:`${l.repo}-${t}`.toLowerCase().replace(/[^a-z0-9]+/g,"-"),name:`${l.repo} (${t})`,url:`https://huggingface.co/${n}/${l.repo}-GGUF/resolve/main/${a}`,params:(s=l.paramsB)<1?`${Math.round(1e3*s)}M`:`${s}B`,quant:t,sizeBytes:Math.round(1e9*l.paramsB*L[t]),kind:l.kind,paramsB:l.paramsB})}}return e}()];var $=s(6517),A=s(5629);let P={available:"var(--sx-string)",experimental:"#f0a35e",requires_setup:"#6cc7e0",planned:"var(--text-dim)",unsupported:"var(--sx-keyword)"},G={ready:"var(--sx-string)",needs_login:"#f0a35e",needs_key:"#f0a35e",unknown:"var(--text-dim)"},U={cli_claude_code:"sign in to Claude Code",cli_codex:"codex login",cli_openclaw:"openclaw infer model auth login",cli_hermes:"hermes model",cli_aider:"set OPENAI_API_KEY / ANTHROPIC_API_KEY env",cli_opencode:"opencode auth login",cli_copilot:"copilot → /login",cli_cursor:"cursor-agent login",cli_cline:"configure cline providers",cli_kilo:"configure kilocode providers"},F=e=>e>=1e9?(e/1e9).toFixed(1)+" GB":(e/1e6).toFixed(0)+" MB";function E({rows:e,kind:a,onViewModels:s}){let i=(0,A.k)(),[d,o]=(0,n.useState)({}),[c,m]=(0,n.useState)({}),[v,g]=(0,n.useState)({}),[,f]=(0,n.useTransition)(),j=(e,a,s,l)=>f(async()=>{var n;o(s=>({...s,[e]:a}));let t=await s().catch(()=>null);o(a=>{let s={...a};return delete s[e],s}),l&&(n=l(t),m(a=>({...a,[e]:n})),setTimeout(()=>m(a=>{let s={...a};return delete s[e],s}),2200))});return(0,l.jsx)("div",{className:"tbl-wrap",children:(0,l.jsxs)("table",{className:"tbl",style:{marginBottom:20},children:[(0,l.jsx)("thead",{children:(0,l.jsxs)("tr",{children:[(0,l.jsx)("th",{children:i("models.col.provider")}),(0,l.jsx)("th",{children:i("models.col.adapter")}),(0,l.jsx)("th",{children:i("models.col.models")}),(0,l.jsx)("th",{children:"cli"===a?i("models.col.auth"):i("models.col.keyAuth")}),(0,l.jsx)("th",{children:i("models.col.lastSync")}),(0,l.jsx)("th",{children:i("common.status")}),(0,l.jsx)("th",{style:{textAlign:"right"},children:i("common.actions")})]})}),(0,l.jsxs)("tbody",{children:[e.map(e=>{let a="connected"===e.status,o=d[e.id],m="none"!==e.auth&&"local"!==e.auth&&"cli"!==e.auth,f=!!v[e.id],b=e.authState??("cli"===e.kind?"unknown":"none"===e.auth?"needs_key":"ready");return(0,l.jsxs)(n.Fragment,{children:[(0,l.jsxs)("tr",{children:[(0,l.jsx)("td",{children:(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,l.jsx)("button",{className:"iact",title:f?i("models.title.hideStatus"):i("models.title.showStatus"),style:{padding:"0 4px",fontSize:11,color:"var(--text-dim)",lineHeight:1},onClick:()=>g(a=>({...a,[e.id]:!a[e.id]})),children:f?"▾":"▸"}),(0,l.jsx)(r.W,{id:e.catalogId,size:26})," ",e.displayName,"cli"===e.kind&&e.cliVersion&&(0,l.jsxs)("span",{className:"chip-sm",style:{fontSize:9.5,color:"var(--text-dim)"},children:["v",e.cliVersion.replace(/^v/,"")]})]})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"chip-sm",children:e.adapter})}),(0,l.jsx)("td",{children:e.modelCount>0?(0,l.jsx)("button",{className:"link-btn",onClick:a=>s(e,a),children:i("models.modelCount",{n:e.modelCount})}):(0,l.jsx)("span",{style:{color:"var(--text-faint)"},children:i("common.unsynced")})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"pill",style:{background:(G[b]??"var(--text-dim)")+"22",color:G[b]??"var(--text-dim)"},children:i(`models.auth.${b}`)})}),(0,l.jsx)("td",{style:{color:"var(--text-dim)",fontSize:12},children:e.lastSync??i("common.never")}),(0,l.jsx)("td",{children:(0,l.jsxs)("span",{className:"gstat-cell",children:[(0,l.jsx)("span",{className:"status-dot",style:{background:a?"var(--sx-string)":"error"===e.status?"var(--sx-keyword)":"var(--text-dim)"}}),a?i("models.status.connected"):"error"===e.status?i("models.status.error"):i("models.status.needsSync")]})}),(0,l.jsx)("td",{children:(0,l.jsxs)("div",{className:"row-actions",children:[c[e.id]&&(0,l.jsx)("span",{style:{fontSize:10.5,color:"var(--sx-string)",alignSelf:"center"},children:c[e.id]}),(0,l.jsx)("button",{className:"iact",title:i("models.title.testConnection"),disabled:!!o,onClick:()=>j(e.id,"testing",()=>p(e.id),e=>e?.ok?i("models.flash.connectionOk"):i("models.flash.unreachable")),children:"testing"===o?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:15})}):(0,l.jsx)(t.I,{name:"play",size:15})}),(0,l.jsx)("button",{className:"iact",title:i("models.title.syncRefresh"),disabled:!!o,onClick:()=>j(e.id,"syncing",()=>h(e.id),e=>i("models.flash.synced",{n:e?.count??0})),children:"syncing"===o?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:15})}):(0,l.jsx)(t.I,{name:"refresh",size:15})}),e.modelCount>0&&(0,l.jsx)("button",{className:"iact",title:i("models.title.viewModels"),onClick:a=>s(e,a),children:(0,l.jsx)(t.I,{name:"files",size:15})}),m&&(0,l.jsx)("button",{className:"iact",title:i("models.title.revokeToken"),disabled:!!o,onClick:()=>j(e.id,"revoke",()=>u(e.id),()=>i("models.flash.tokenRevoked")),children:(0,l.jsx)(t.I,{name:"shield",size:15})}),(0,l.jsx)("button",{className:"iact danger",title:i("models.title.removeProvider"),disabled:!!o,onClick:()=>j(e.id,"remove",()=>x(e.id)),children:(0,l.jsx)(t.I,{name:"trash",size:15})})]})})]}),f&&(0,l.jsx)("tr",{children:(0,l.jsx)("td",{colSpan:7,style:{padding:0,background:"var(--bg-active)"},children:(0,l.jsx)(O,{row:e})})})]},e.id)}),0===e.length&&(0,l.jsx)("tr",{children:(0,l.jsx)("td",{colSpan:7,style:{textAlign:"center",color:"var(--text-faint)",padding:20},children:"cli"===a?i("models.empty.cli"):i("models.empty.cloud")})})]})]})})}function D({k:e,children:a}){return(0,l.jsxs)("div",{style:{minWidth:0},children:[(0,l.jsx)("div",{style:{fontSize:10,textTransform:"uppercase",letterSpacing:".4px",color:"var(--text-faint)",marginBottom:3},children:e}),(0,l.jsx)("div",{style:{fontSize:12.5,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis"},children:a})]})}function O({row:e}){let a=(0,A.k)(),s=(0,b.kH)(e.catalogId),i=function(e){let a=(0,b.kH)(e);if(!a)return{key:"none",tone:"var(--text-dim)"};if("cli"===a.category)return{key:"cli",tone:"#a78bfa"};if("local_runtime"===a.category)return{key:"local",tone:"#6cc7e0"};let s=a.connectionTypes.includes("local"),l=a.connectionTypes.includes("api_key")||a.connectionTypes.includes("openai_compatible");return s&&l?{key:"hybrid",tone:"#f0a35e"}:{key:"api",tone:"var(--sx-string)"}}(e.catalogId),r=s?.category==="cli",[d,o]=(0,n.useState)(null),[c,m]=(0,n.useState)(!1),[,p]=(0,n.useTransition)();(0,n.useEffect)(()=>{let a=!0;return(0,v.A)(e.id).then(e=>a&&o(e.models)).catch(()=>a&&o([])),()=>{a=!1}},[e.id]);let h=d?.find(e=>e.isDefault)??(e.defaultModel?d?.find(a=>a.id===e.defaultModel):void 0)??d?.[0],u=d?.reduce((e,a)=>Math.max(e,a.context),0)??0,x={vision:!!d?.some(e=>e.caps?.vision),reasoning:!!d?.some(e=>e.caps?.reasoning),tools:!!d?.some(e=>e.caps?.tools)},f=[x.vision&&a("models.cap.vision"),x.reasoning&&a("models.cap.reasoning"),x.tools&&a("models.cap.tools")].filter(Boolean).join(" \xb7 ")||"—",j=e.authState??(r?"unknown":"none"===e.auth?"needs_key":"ready"),k="ready"===j&&"connected"===e.status;return(0,l.jsxs)("div",{style:{padding:"14px 18px 16px 40px",borderTop:"1px solid var(--border)"},children:[(0,l.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))",gap:"12px 18px"},children:[(0,l.jsx)(D,{k:a("models.pd.connection"),children:(0,l.jsx)("span",{className:"pill",style:{background:i.tone+"22",color:i.tone},children:"none"===i.key?"—":a(`models.connType.${i.key}`)})}),(0,l.jsx)(D,{k:a("models.pd.install"),children:r?e.cliVersion?(0,l.jsxs)("span",{style:{color:"var(--sx-string)"},children:[a("models.install.installed")," \xb7 v",e.cliVersion.replace(/^v/,"")]}):(0,l.jsx)("span",{style:{color:"#f0a35e"},children:a("models.install.notDetected")}):a("local"===i.key?"models.install.localRuntime":"models.install.cloudApi")}),(0,l.jsxs)(D,{k:a("models.pd.auth"),children:[(0,l.jsx)("span",{className:"pill",style:{background:(G[j]??"var(--text-dim)")+"22",color:G[j]??"var(--text-dim)"},children:a(`models.auth.${j}`)}),"ready"!==j&&(r?U[e.adapter]:!e.auth||"none"===e.auth)?(0,l.jsx)("span",{style:{fontSize:10.5,color:"var(--text-faint)",marginLeft:6},children:r?U[e.adapter]:a("models.hint.addApiKey")}):null]}),(0,l.jsx)(D,{k:a("models.pd.models"),children:null==d?"…":d.length||e.modelCount}),(0,l.jsx)(D,{k:a("models.pd.defaultModel"),children:h?h.name:e.defaultModel??"—"}),(0,l.jsx)(D,{k:a("models.pd.maxContext"),children:u?a("models.pd.tokens",{ctx:W(u)}):"—"}),(0,l.jsx)(D,{k:a("models.pd.capabilities"),children:f}),(0,l.jsx)(D,{k:a("models.pd.costDefault"),children:h&&(h.inputCost||h.outputCost)?`$${h.inputCost} / $${h.outputCost} ${a("models.pd.per1M")}`:"—"}),(0,l.jsx)(D,{k:a("models.pd.state"),children:(0,l.jsx)("span",{className:"pill",style:{background:(k?"var(--sx-string)":"#f0a35e")+"22",color:k?"var(--sx-string)":"#f0a35e"},children:a(k?"models.state.ready":"models.state.needsConfig")})})]}),(0,l.jsxs)("div",{style:{marginTop:12,display:"flex",alignItems:"center",gap:10},children:[(0,l.jsxs)("button",{className:"btn-ghost",disabled:c,onClick:function(){m(!0),p(async()=>{await g(e.id).catch(()=>{}),o((await (0,v.A)(e.id).catch(()=>({models:[]}))).models),m(!1)})},children:[c?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"refresh",size:13})," ",a(c?"models.btn.refreshing":"models.btn.refreshModels")]}),s?.notes&&(0,l.jsx)("span",{style:{fontSize:11,color:"var(--text-faint)"},children:s.notes})]})]})}let W=e=>e?e>=1e6?`${(e/1e6).toFixed(e%1e6?1:0)}M`:`${Math.round(e/1e3)}K`:"";function K({row:e,pos:a,onClose:s}){let i=(0,A.k)(),r=(0,$.L2)(e.adapter),[d,o]=(0,n.useState)(r?r.map(e=>({id:e.id,label:e.label,version:e.version,note:e.note})):null),[c,m]=(0,n.useState)(""),p=e=>{let a=(0,$.Ov)(e.id);return{id:e.id,label:e.name||a.label,version:a.version,context:e.context,inputCost:e.inputCost,outputCost:e.outputCost,caps:e.caps,isDefault:e.isDefault}};return(0,n.useEffect)(()=>{if(r)return;let a=!0;return(0,v.A)(e.id).then(async({models:s})=>{if(!a)return;if(s.length)return void o(s.map(p));let l=await (0,f.E)(e.id);a&&(o(l.models.map(e=>{let a=(0,$.Ov)(e);return{id:e,label:a.label,version:a.version}})),l.error&&m(l.error))}).catch(()=>{a&&(o([]),m(i("models.pop.loadFailed")))}),()=>{a=!1}},[e.id]),(0,l.jsxs)("div",{className:"models-pop",style:{left:Math.min(a.x,window.innerWidth-380),top:a.y},onMouseLeave:s,children:[(0,l.jsxs)("div",{className:"mp-head",children:[(0,l.jsx)(t.I,{name:"cpu",size:13,style:{color:"var(--accent)"}})," ",e.displayName," \xb7 ",e.kind," \xb7 ",i("models.modelCount",{n:d?.length??e.modelCount})]}),null===d&&(0,l.jsxs)("div",{className:"mp-row",children:[(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:11})})," ",i("common.loading")]}),d&&0===d.length&&(0,l.jsx)("div",{className:"mp-row",style:{color:"var(--text-faint)"},children:c||i("models.pop.noModels")}),d?.map(e=>(0,l.jsxs)("div",{className:"mp-row",children:[(0,l.jsx)(t.I,{name:"dot",size:7}),(0,l.jsxs)("span",{style:{flex:1,minWidth:0},children:[(0,l.jsxs)("span",{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[e.label,e.isDefault?(0,l.jsxs)("span",{style:{color:"var(--accent)"},children:[" \xb7 ",i("models.pop.recommended")]}):null,e.note?(0,l.jsxs)("span",{style:{color:"var(--text-faint)"},children:[" \xb7 ",e.note]}):null]}),e.context||e.inputCost||e.outputCost?(0,l.jsxs)("span",{style:{fontSize:9.5,color:"var(--text-faint)",fontFamily:"var(--mono-font)"},children:[e.context?`${W(e.context)} ${i("models.pop.ctx")}`:"",e.inputCost||e.outputCost?` $${e.inputCost}/${e.outputCost}`:"",e.caps?.vision?` ${i("models.cap.vision")}`:"",e.caps?.reasoning?` ${i("models.cap.reasoning")}`:"",e.caps?.tools?` ${i("models.cap.tools")}`:""]}):null]}),e.version&&(0,l.jsxs)("span",{className:"chip-sm",style:{fontSize:10},children:["v",e.version]})]},e.id))]})}function q({hw:e,ollamaUp:a,ollamaInstalled:s,installed:i,locals:d,llamaUp:c,llamaInstalled:m,llamaModel:p}){let h,u,x=(0,A.k)(),[v,g]=(0,n.useState)(c?"running":m?"stopped":"not-installed"),[f,j]=(0,n.useState)(p),[b,I]=(0,n.useState)([{c:c?"lg-ok":m?"lg-dim":"lg-warn",t:c?x("models.log.serving",{model:p??x("models.log.aModel")}):m?x("models.log.stopped"):x("models.log.notInstalled")}]),[M,z]=(0,n.useState)(d[0]?.id??""),[_,R]=(0,n.useState)(m),[L,$]=(0,n.useState)(""),[P,G]=(0,n.useState)(""),[U,E]=(0,n.useState)(!1),[D,O]=(0,n.useState)("all"),[,W]=(0,n.useTransition)(),K=Y(e.vram),X=Y(e.ram),Z="Metal"===e.backend?"Metal":"GPU",ee=T.map(e=>({g:e,fit:function(e,a,s,l="GPU"){return a>0?1.2*e<=a?{key:"fitsUnit",unit:l,tone:"ok"}:e<=a?{key:"tightUnit",unit:l,tone:"tight"}:e<=2*a?{key:"partialOffload",tone:"tight"}:{key:"cpuOnly",tone:"no"}:s>0?1.1*e<=s?{key:"runsOnCpu",tone:"tight"}:{key:"tooBig",tone:"no"}:{key:"",tone:"tight"}}(e.sizeBytes,K,X,Z)})).filter(({g:e})=>"all"===D||e.kind===D).filter(({g:e})=>!P.trim()||e.name.toLowerCase().includes(P.toLowerCase())).filter(({fit:e})=>!U||"no"!==e.tone),[ea,es]=(0,n.useState)(null);function el(e){W(async()=>{g("booting"),I(e=>[...e,{c:"lg-dim",t:"$ llama-server"}]);let a=await B(e||M||void 0);g(a.up?"running":a.installed?"stopped":"not-installed"),I(e=>[...e,...a.log.map(e=>({c:a.up?"lg-ok":"lg-warn",t:e}))])})}let en="running"===v?x("models.srv.running"):"booting"===v?x("models.srv.working"):"not-installed"===v?x("models.srv.notInstalled"):x("models.srv.stopped");return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"lr-grid",children:[(0,l.jsxs)("div",{className:"hw-card",children:[(0,l.jsxs)("div",{className:"hw-head",children:[(0,l.jsx)("span",{className:"hw-ic",children:(0,l.jsx)(t.I,{name:"cpu",size:19})}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"hw-t",children:x("models.hw.detected")}),(0,l.jsx)("div",{className:"hw-s",children:x("models.hw.autoProbed")})]}),(0,l.jsx)("span",{className:"hw-badge",children:e.backend})]}),(0,l.jsxs)("div",{className:"hw-rows",children:[(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:"CPU"}),(0,l.jsx)("div",{className:"hi-v",children:e.cpu})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:x("models.hw.cores")}),(0,l.jsx)("div",{className:"hi-v",children:e.cores})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:x("models.hw.memory")}),(0,l.jsx)("div",{className:"hi-v",children:e.ram})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:"GPU"}),(0,l.jsx)("div",{className:"hi-v",children:e.gpu})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:"VRAM"}),(0,l.jsx)("div",{className:"hi-v",children:e.vram})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:x("models.hw.diskFree")}),(0,l.jsx)("div",{className:"hi-v",children:e.diskFree})]})]}),(0,l.jsxs)("div",{className:"hw-badges",children:[e.accel.map(e=>(0,l.jsx)("span",{className:"hw-badge",style:{background:"var(--bg-active)",color:"var(--text-dim)"},children:e},e)),(0,l.jsx)("span",{className:"hw-badge",children:x("models.hw.recommended",{quant:e.recommendedQuant})}),(0,l.jsx)("span",{className:"hw-badge",children:x("models.hw.max",{params:e.maxParams})})]})]}),(0,l.jsxs)("div",{className:"hw-card",children:[(0,l.jsxs)("div",{className:"hw-head",children:[(0,l.jsx)("span",{className:"hw-ic",children:(0,l.jsx)(t.I,{name:"terminal",size:19})}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"hw-t",children:x("models.llama.title")}),(0,l.jsx)("div",{className:"hw-s",children:x("models.llama.sub")})]}),(0,l.jsx)(r.W,{id:"llamacpp",size:22})]}),(0,l.jsxs)("div",{className:"srv-status",children:[(0,l.jsx)("span",{className:"srv-dot "+("running"===v?"run":"booting"===v?"boot":"stop")}),(0,l.jsxs)("div",{className:"srv-meta",children:[(0,l.jsx)("div",{className:"sm-t",children:en}),(0,l.jsxs)("div",{className:"sm-s",children:["127.0.0.1:8082 \xb7 ",f||x("models.srv.noModel")]})]}),(0,l.jsxs)("button",{className:"running"===v?"btn-ghost":"btn-accent",onClick:()=>"running"===v?void W(async()=>{g("booting");let e=await y();g("stopped"),j(null),I(a=>[...a,...e.log.map(e=>({c:"lg-warn",t:e}))])}):el(),disabled:"booting"===v||"running"!==v&&0===d.length,children:["booting"===v?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"running"===v?"close":"goto",size:13}),"running"===v?x("models.srv.stopBtn"):"booting"===v?x("models.srv.working"):x("models.srv.startBtn")]})]}),"running"!==v&&d.length>0&&(0,l.jsx)("div",{style:{marginBottom:8},children:(0,l.jsx)(o.m,{value:M,options:d.map(e=>({value:e.id,label:e.name})),onChange:z,mono:!0})}),(0,l.jsxs)("div",{className:"srv-stats",children:[(0,l.jsxs)("div",{className:"srv-stat",children:[(0,l.jsx)("div",{className:"ss-v",children:d.length}),(0,l.jsx)("div",{className:"ss-k",children:x("models.srv.ggufModels")})]}),(0,l.jsxs)("div",{className:"srv-stat",children:[(0,l.jsx)("div",{className:"ss-v",children:"running"===v?x("common.on"):x("common.off")}),(0,l.jsx)("div",{className:"ss-k",children:x("models.srv.serverLabel")})]}),(0,l.jsxs)("div",{className:"srv-stat",children:[(0,l.jsx)("div",{className:"ss-v",children:e.backend}),(0,l.jsx)("div",{className:"ss-k",children:x("models.srv.backendLabel")})]})]}),!_&&(0,l.jsxs)("div",{style:{marginTop:8,display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,l.jsxs)("button",{className:"btn-accent",disabled:"install"===L,onClick:function(){W(async()=>{$("install"),es(null),I(e=>[...e,{c:"lg-dim",t:x("models.log.installing")}]);let e=setInterval(()=>{fetch("/api/models/progress?id=llama-server").then(e=>e.json()).then(e=>{e&&es({received:e.received,total:e.total})}).catch(()=>{})},600);try{let e=await k();$(""),R(e.installed),e.installed&&"not-installed"===v&&g("stopped"),I(a=>[...a,...e.log.map(a=>({c:e.ok?"lg-ok":"lg-warn",t:a})),...e.error?[{c:"lg-warn",t:e.error}]:[]])}finally{clearInterval(e),es(null)}})},children:["install"===L?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"goto",size:13})," ","install"===L?null!==(h=ea&&ea.total>0?Math.round(ea.received/ea.total*100):null)?x("models.install.installingPct",{pct:h}):x("models.install.installingEllipsis"):x("models.install.installLlama")]}),(0,l.jsx)("a",{className:"link-btn",style:{fontSize:11},href:"https://github.com/ggml-org/llama.cpp/releases",target:"_blank",rel:"noreferrer",children:x("models.install.manualInstall")}),"install"===L&&(u=ea&&ea.total>0?Math.min(100,Math.round(ea.received/ea.total*100)):null,(0,l.jsxs)("div",{style:{flex:"1 1 180px",minWidth:150},children:[(0,l.jsx)("div",{style:{height:4,background:"var(--bg-active)",borderRadius:3,overflow:"hidden"},children:(0,l.jsx)("div",{className:null===u?"sync-spin":"",style:{height:"100%",width:(u??12)+"%",background:"var(--accent)",transition:"width .3s"}})}),(0,l.jsx)("div",{style:{fontSize:10,color:"var(--text-faint)",marginTop:3,fontFamily:"var(--mono-font)"},children:null!==u&&ea?`${u}% \xb7 ${F(ea.received)} / ${F(ea.total)}`:ea&&ea.received>0?x("models.dl.downloaded",{size:F(ea.received)}):x("models.dl.startingDownload")})]}))]}),(0,l.jsx)("div",{className:"srv-log scroll",children:b.map((e,a)=>(0,l.jsx)("div",{className:e.c,children:e.t},a))})]}),(0,l.jsx)(V,{})]}),(0,l.jsxs)("div",{className:"view-section-title",children:[x("models.installed.title")," ",(0,l.jsxs)("span",{style:{fontWeight:400,color:"var(--text-faint)"},children:["\xb7 llama.cpp GGUF",s?" + Ollama":""," \xb7 ",x("models.installed.boundTo")," 127.0.0.1"]})]}),(0,l.jsx)("div",{className:"tbl-wrap",children:(0,l.jsxs)("table",{className:"tbl",style:{marginBottom:24},children:[(0,l.jsx)("thead",{children:(0,l.jsxs)("tr",{children:[(0,l.jsx)("th",{children:x("common.name")}),(0,l.jsx)("th",{children:x("models.col.source")}),(0,l.jsx)("th",{children:x("models.col.params")}),(0,l.jsx)("th",{children:x("models.col.size")}),(0,l.jsx)("th",{children:x("models.col.bind")}),(0,l.jsx)("th",{children:x("common.status")}),(0,l.jsx)("th",{style:{textAlign:"right"},children:x("common.actions")})]})}),(0,l.jsxs)("tbody",{children:[d.map(e=>{let a="running"===v&&f&&e.name.includes(f);return(0,l.jsxs)("tr",{children:[(0,l.jsx)("td",{children:(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,l.jsx)(H,{name:e.name,size:24})," ",e.name]})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"chip-sm",children:e.quant||"gguf"})}),(0,l.jsx)("td",{style:{color:"var(--text-dim)",fontSize:12},children:e.params||"—"}),(0,l.jsx)("td",{style:{fontFamily:"var(--mono-font)",fontSize:12,color:"var(--text-dim)"},children:e.sizeBytes?F(e.sizeBytes):"—"}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"lr-mono",children:e.bind})}),(0,l.jsx)("td",{children:a?(0,l.jsx)("span",{className:"pill",style:{background:"var(--sx-string)22",color:"var(--sx-string)"},children:x("models.pill.serving")}):(0,l.jsxs)("span",{className:"pill",style:{background:"var(--sx-string)22",color:"var(--sx-string)"},children:["✓ ",x("models.pill.verified")]})}),(0,l.jsx)("td",{children:(0,l.jsxs)("div",{className:"row-actions",children:[(0,l.jsx)("button",{className:"iact accent",title:x("models.title.serveModel"),disabled:L===e.id,onClick:()=>{$(e.id),z(e.id),j(e.name),el(e.id),setTimeout(()=>$(""),500)},children:L===e.id?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:14})}):(0,l.jsx)(t.I,{name:"goto",size:14})}),(0,l.jsx)("button",{className:"iact danger",title:x("common.uninstall"),onClick:()=>W(()=>N(e.id)),children:(0,l.jsx)(t.I,{name:"trash",size:14})})]})})]},"g-"+e.id)}),i.map(e=>(0,l.jsxs)("tr",{children:[(0,l.jsx)("td",{children:(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,l.jsx)(r.W,{id:"ollama",size:24})," ",e.name]})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"chip-sm",children:"ollama"})}),(0,l.jsx)("td",{style:{color:"var(--text-faint)",fontSize:12},children:"—"}),(0,l.jsx)("td",{style:{fontFamily:"var(--mono-font)",fontSize:12,color:"var(--text-dim)"},children:e.size?F(e.size):"—"}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"lr-mono",children:"127.0.0.1:11434"})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"pill",style:{background:"var(--text-dim)22",color:"var(--text-dim)"},children:x("models.pill.legacy")})}),(0,l.jsx)("td",{children:(0,l.jsx)("div",{className:"row-actions",children:(0,l.jsx)("button",{className:"iact danger",title:x("common.remove"),onClick:()=>W(()=>w(e.name)),children:(0,l.jsx)(t.I,{name:"trash",size:14})})})})]},"o-"+e.name)),0===i.length&&0===d.length&&(0,l.jsx)("tr",{children:(0,l.jsx)("td",{colSpan:7,style:{textAlign:"center",color:"var(--text-faint)",padding:18},children:x("models.empty.local")})})]})]})}),(0,l.jsxs)("div",{className:"view-section-title",style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,l.jsxs)("span",{children:[x("models.available.title")," ",(0,l.jsxs)("span",{style:{fontWeight:400,color:"var(--text-faint)"},children:["\xb7 ",ee.length,"/",T.length," GGUF (HuggingFace) \xb7 ",x("models.available.fitChecked",{target:"—"!==e.gpu&&K?`${e.vram} VRAM`:"CPU"})]})]}),(0,l.jsxs)("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,l.jsxs)("div",{className:"cs-bar",style:{margin:0,padding:"5px 9px",width:200},children:[(0,l.jsx)(t.I,{name:"search",size:12}),(0,l.jsx)("input",{placeholder:x("models.filterModels"),value:P,onChange:e=>G(e.target.value),style:{fontWeight:400}})]}),(0,l.jsx)("div",{className:"seg",style:{width:280},children:["all","chat","code","reasoning","embed"].map(e=>(0,l.jsx)("button",{className:"seg-opt"+(D===e?" on":""),onClick:()=>O(e),style:{fontSize:11},children:x(`models.kind.${e}`)},e))}),(0,l.jsx)("button",{className:"cs-tog"+(U?" on":""),onClick:()=>E(e=>!e),title:x("models.title.hideTooBig"),style:{fontFamily:"inherit",fontWeight:600},children:x("models.fitsOnly")})]})]}),(0,l.jsxs)("div",{className:"cards-grid",style:{gridTemplateColumns:"repeat(auto-fill, minmax(330px, 1fr))",gap:12},children:[ee.map(({g:e,fit:a})=>{let s=d.find(a=>a.name===e.name);return(0,l.jsx)(J,{glyph:"llamacpp",brandFromName:!0,name:e.name,repo:e.url.replace("https://huggingface.co/",""),tags:[e.params,e.quant,F(e.sizeBytes)],fit:a,action:()=>S(e.id),progressId:e.id,installed:!!s,onUninstall:s?()=>N(s.id):void 0},e.id)}),0===ee.length&&(0,l.jsx)("div",{className:"muted",style:{fontSize:12,padding:14},children:x("models.empty.noMatch")}),s&&Q.filter(e=>!i.some(a=>a.name===e.name)).map(e=>(0,l.jsx)(J,{glyph:"ollama",name:e.label,repo:e.name,tags:[e.kind,e.size,x("models.pill.legacy")],note:e.note,action:()=>(0,C.j)(e.name)},e.name))]}),a&&(0,l.jsxs)("div",{className:"muted",style:{fontSize:11.5,marginTop:10},children:[(0,l.jsx)(t.I,{name:"terminal",size:12})," ",x("models.ollamaRunning")]})]})}function H({name:e,size:a=36}){let s=function(e){for(let[a,s]of d)if(a.test(e))return`https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg/icons/${s}.svg`;return null}(e),[t,i]=(0,n.useState)(!1);if(!s||t)return(0,l.jsx)(r.W,{id:"llamacpp",size:a});let o=Math.round(.28*a),c=Math.round(.66*a);return(0,l.jsx)("span",{style:{width:a,height:a,flex:`0 0 ${a}px`,borderRadius:o,background:"#fff",display:"grid",placeItems:"center",overflow:"hidden",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.08)"},children:(0,l.jsx)("img",{src:s,alt:"",width:c,height:c,loading:"lazy",onError:()=>i(!0),style:{width:c,height:c,objectFit:"contain",display:"block"}})})}function V(){let e=(0,A.k)(),[a,s]=(0,n.useState)(null),[i,d]=(0,n.useState)(""),[o,c]=(0,n.useState)(""),[,m]=(0,n.useTransition)();(0,n.useEffect)(()=>{I().then(s).catch(()=>{})},[]);let p=a?.up?"run":(a?.installed,"stop"),h=a?a.up?e("models.embed.live"):a.installed?e("models.embed.installedStopped"):e("models.embed.noModel"):e("models.embed.checking");return(0,l.jsxs)("div",{className:"hw-card",children:[(0,l.jsxs)("div",{className:"hw-head",children:[(0,l.jsx)("span",{className:"hw-ic",children:(0,l.jsx)(t.I,{name:"pulse",size:19})}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"hw-t",children:e("models.embed.title")}),(0,l.jsx)("div",{className:"hw-s",children:e("models.embed.sub")})]}),(0,l.jsx)(r.W,{id:"llamacpp",size:22})]}),(0,l.jsxs)("div",{className:"srv-status",children:[(0,l.jsx)("span",{className:"srv-dot "+p}),(0,l.jsxs)("div",{className:"srv-meta",children:[(0,l.jsx)("div",{className:"sm-t",children:h}),(0,l.jsxs)("div",{className:"sm-s",children:["127.0.0.1:8083 \xb7 ",a?.model??"nomic-embed-text"]})]}),a&&!a.up&&a.installed&&(0,l.jsxs)("button",{className:"btn-accent",disabled:"start"===i,onClick:function(){d("start"),c(e("models.embed.starting")),m(async()=>{let a=await M();d(""),c(a.up?"":a.reason??e("models.embed.startFailed")),s(e=>e?{...e,up:a.up,model:a.model??e.model}:e)})},children:["start"===i?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"goto",size:13})," ",e("common.start")]}),a?.up&&(0,l.jsxs)("button",{className:"btn-ghost",disabled:"reindex"===i,onClick:function(){d("reindex"),c(e("models.embed.indexing")),m(async()=>{let a=await z();d(""),c(a.ok?e(a.embedded?"models.embed.indexedSemantic":"models.embed.indexedKeyword",{n:a.chunks}):e("models.embed.indexFailed")),I().then(s).catch(()=>{})})},children:["reindex"===i?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"refresh",size:13})," ",e("models.embed.reindex")]})]}),a&&!a.installed&&(0,l.jsxs)("div",{className:"form-hint",style:{marginTop:8},children:[(0,l.jsx)(t.I,{name:"add",size:12})," ",e("models.embed.downloadHintBefore")," ",(0,l.jsx)("b",{style:{color:"var(--text)"},children:"nomic-embed-text-v1.5"})," ",e("models.embed.downloadHintAfter")]}),o&&(0,l.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",marginTop:8},children:o})]})}function Y(e){let a=/([\d.]+)\s*(TB|GB|MB|KB|B)?/i.exec(e||"");if(!a)return 0;let s=parseFloat(a[1]),l=(a[2]||"B").toUpperCase();return s*("TB"===l?1e12:"GB"===l?1e9:"MB"===l?1e6:"KB"===l?1e3:1)}let X={ok:"var(--sx-string)",tight:"var(--sx-number)",no:"#e8688f"};function J({glyph:e,name:a,repo:s,tags:i,note:d,action:o,installed:c,onUninstall:m,fit:p,brandFromName:h,progressId:u}){let x=(0,A.k)(),[v,g]=(0,n.useState)("idle"),[f,j]=(0,n.useState)(!1),[b,k]=(0,n.useState)(""),[B,y]=(0,n.useState)(null),[,N]=(0,n.useTransition)(),w=B&&B.total>0?Math.min(100,Math.round(B.received/B.total*100)):null;async function S(){let e;g("working"),k(""),y(null),u&&(e=setInterval(()=>{fetch(`/api/models/progress?id=${encodeURIComponent(u)}`).then(e=>e.json()).then(e=>{e&&y({received:e.received,total:e.total})}).catch(()=>{})},600));try{let e=await o();g(e.ok?"done":"error"),k(e.ok?"":e.error??x("models.dl.failed"))}finally{e&&clearInterval(e),y(null)}}return(0,l.jsxs)("div",{className:"dl-card",children:[h?(0,l.jsx)(H,{name:a,size:36}):(0,l.jsx)(r.W,{id:e,size:36}),(0,l.jsxs)("div",{className:"dl-main",children:[(0,l.jsx)("div",{className:"dl-name",children:a}),(0,l.jsx)("div",{className:"dl-repo",title:s,children:s.length>46?s.slice(0,46)+"…":s}),(0,l.jsxs)("div",{className:"dl-tags",children:[i.map(e=>(0,l.jsx)("span",{className:"dl-tag",children:e},e)),p&&p.key&&(0,l.jsx)("span",{className:"dl-tag",style:{color:X[p.tone],borderColor:X[p.tone]},children:x(`models.fit.${p.key}`,{unit:p.unit??""})})]}),d&&(0,l.jsx)("div",{style:{fontSize:11,color:"var(--text-faint)",marginTop:4},children:d}),b&&(0,l.jsx)("div",{style:{fontSize:11,color:"error"===v?"var(--sx-keyword)":"var(--sx-string)",marginTop:4},children:b}),"working"===v&&u&&(0,l.jsxs)("div",{style:{marginTop:6},children:[(0,l.jsx)("div",{style:{height:4,background:"var(--bg-active)",borderRadius:3,overflow:"hidden"},children:(0,l.jsx)("div",{className:null===w?"sync-spin":"",style:{height:"100%",width:(w??12)+"%",background:"var(--accent)",transition:"width .3s"}})}),(0,l.jsx)("div",{style:{fontSize:10,color:"var(--text-faint)",marginTop:3,fontFamily:"var(--mono-font)"},children:null!==w&&B?`${w}% \xb7 ${F(B.received)} / ${F(B.total)}`:B&&B.received>0?x("models.dl.downloaded",{size:F(B.received)}):x("models.dl.starting")})]})]}),(0,l.jsx)("div",{className:"dl-right",children:c&&!f||"done"===v?m?(0,l.jsxs)("button",{className:"act-btn",disabled:"working"===v,onClick:()=>N(async()=>{g("working"),k(x("models.dl.removing"));let e=await m();e.ok?(j(!0),g("idle"),k("")):(g("error"),k(e.error??x("models.dl.failed")))}),children:["working"===v?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:11})}):(0,l.jsx)(t.I,{name:"trash",size:11})," ","working"===v?x("models.dl.removingBtn"):x("common.uninstall")]}):(0,l.jsxs)("span",{className:"act-btn",style:{color:"var(--sx-string)"},children:[(0,l.jsx)(t.I,{name:"check",size:11})," ",x("models.dl.installed")]}):(0,l.jsxs)("button",{className:"act-btn accent",disabled:"working"===v,onClick:S,children:["working"===v?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:11})}):(0,l.jsx)(t.I,{name:"add",size:11})," ","working"===v?null!==w?w+"%":x("models.dl.pulling"):x("common.download")]})})]})}function Z({agents:e,providers:a}){let s=(0,A.k)(),[r,d]=(0,n.useState)(e),[m,p]=(0,n.useState)(!1),[,h]=(0,n.useTransition)(),u=(0,n.useMemo)(()=>{let e=new Set,s=[];for(let l of a)e.has(l.adapter)||(e.add(l.adapter),s.push({value:l.adapter,label:l.displayName,glyphId:l.catalogId}));return s},[a]);function x(e,a){d(s=>s.map(s=>s.id===e?{...s,...a}:s)),p(!1)}return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16},children:[(0,l.jsx)("div",{className:"view-sub",style:{fontSize:13},children:s("models.perAgent.intro")}),(0,l.jsx)("div",{style:{marginLeft:"auto"},children:m?(0,l.jsxs)("span",{className:"oauth-ok",style:{padding:"6px 11px"},children:[(0,l.jsx)(t.I,{name:"check",size:13})," ",s("common.saved")]}):(0,l.jsxs)("button",{className:"btn-accent",onClick:function(){h(async()=>{for(let e of r)await (0,_.k)(e.id,{adapter:e.adapter,model:e.model});p(!0),setTimeout(()=>p(!1),1600)})},children:[(0,l.jsx)(t.I,{name:"check",size:13})," ",s("models.perAgent.saveAssignments")]})})]}),(0,l.jsx)("div",{className:"pa-grid",children:r.map(e=>{let n;return(0,l.jsxs)("div",{className:"pa-card",children:[(0,l.jsxs)("div",{className:"pa-head",children:[(0,l.jsx)(i.e,{name:e.name,color:e.color,size:36}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"pa-n",children:e.name}),(0,l.jsxs)("div",{className:"pa-r",children:[e.role," \xb7 @",e.handle]})]})]}),(0,l.jsxs)("div",{className:"pa-field",children:[(0,l.jsx)("div",{className:"pa-flabel",children:s("models.field.provider")}),(0,l.jsx)(o.m,{glyph:!0,searchable:!0,value:e.adapter,options:(n=e.adapter,u.some(e=>e.value===n)?u:[{value:n,label:n.replace(/^http_|^local_|^cli_|^sdk_/,"")+" \xb7 "+s("models.notConnected"),glyphId:n},...u]),onChange:a=>x(e.id,{adapter:a})})]}),(0,l.jsxs)("div",{className:"pa-field",children:[(0,l.jsx)("div",{className:"pa-flabel",children:s("models.field.model")}),(0,l.jsx)(c.Y,{adapter:e.adapter,value:e.model,onChange:a=>x(e.id,{model:a}),providers:a})]})]},e.id)})})]})}function ee({connectedIds:e,onClose:a}){let s=(0,A.k)(),[i,d]=(0,n.useState)(""),[o,c]=(0,n.useState)("all"),[m,p]=(0,n.useState)("all"),[h,u]=(0,n.useState)("all"),[x,v]=(0,n.useState)(null),[g,f]=(0,n.useState)(""),[,k]=(0,n.useTransition)(),B=(0,n.useMemo)(()=>Array.from(new Set(b.WQ.map(e=>e.category))),[]),y=(0,n.useMemo)(()=>Array.from(new Set(b.WQ.flatMap(e=>e.connectionTypes))),[]),N=(0,n.useMemo)(()=>Array.from(new Set(b.WQ.map(e=>e.status))),[]),w=i.trim().toLowerCase(),S=b.WQ.filter(e=>("all"===o||e.category===o)&&("all"===m||!!e.connectionTypes.includes(m))&&("all"===h||e.status===h)&&(!w||!!(e.displayName.toLowerCase().includes(w)||e.id.includes(w)||(e.notes??"").toLowerCase().includes(w)||e.defaultAdapter.includes(w))));function C(e,s){k(async()=>{await j(e,s),v(null),f(""),a()})}return(0,l.jsx)("div",{className:"cat-overlay",onMouseDown:a,children:(0,l.jsxs)("div",{className:"cat-modal",onMouseDown:e=>e.stopPropagation(),children:[(0,l.jsxs)("div",{className:"cat-head",children:[(0,l.jsxs)("div",{className:"cat-head-row",children:[(0,l.jsx)("div",{className:"cat-ico",style:{width:40,height:40,flexBasis:40},children:(0,l.jsx)(t.I,{name:"cpu",size:20})}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"cat-title",children:s("models.catalog.title")}),(0,l.jsx)("div",{className:"cat-sub",children:s("models.catalog.sub",{n:b.WQ.length})})]}),(0,l.jsx)("button",{className:"dock-tool",onClick:a,children:(0,l.jsx)(t.I,{name:"close",size:16})})]}),(0,l.jsxs)("div",{className:"cat-search",children:[(0,l.jsx)(t.I,{name:"search",size:15}),(0,l.jsx)("input",{placeholder:s("models.catalog.searchPlaceholder"),value:i,autoFocus:!0,onChange:e=>d(e.target.value)})]})]}),(0,l.jsx)("div",{className:"cat-filters",children:(0,l.jsxs)("div",{className:"cat-fgroup",children:[(0,l.jsx)("span",{className:"fg-label",children:s("models.filter.category")}),(0,l.jsx)("button",{className:"cat-chip"+("all"===o?" on":""),onClick:()=>c("all"),children:s("common.all")}),B.map(e=>(0,l.jsx)("button",{className:"cat-chip"+(o===e?" on":""),onClick:()=>c(e),children:s(`models.cat.${e}`)},e))]})}),(0,l.jsxs)("div",{className:"cat-filters",style:{paddingTop:8,paddingBottom:8},children:[(0,l.jsxs)("div",{className:"cat-fgroup",children:[(0,l.jsx)("span",{className:"fg-label",children:s("models.filter.connection")}),(0,l.jsx)("button",{className:"cat-chip"+("all"===m?" on":""),onClick:()=>p("all"),children:s("common.all")}),y.map(e=>(0,l.jsx)("button",{className:"cat-chip"+(m===e?" on":""),onClick:()=>p(e),children:s(`models.conn.${e}`)},e))]}),(0,l.jsxs)("div",{className:"cat-fgroup",children:[(0,l.jsx)("span",{className:"fg-label",children:s("common.status")}),(0,l.jsx)("button",{className:"cat-chip"+("all"===h?" on":""),onClick:()=>u("all"),children:s("common.all")}),N.map(e=>(0,l.jsx)("button",{className:"cat-chip"+(h===e?" on":""),onClick:()=>u(e),children:s(`models.catStatus.${e}`)},e))]}),(0,l.jsx)("span",{className:"cat-count",children:s("models.catalog.shown",{n:S.length})})]}),(0,l.jsxs)("div",{className:"cat-grid",children:[0===S.length&&(0,l.jsx)("div",{className:"cat-empty",children:s("models.catalog.noMatch")}),S.map(a=>{let n=e.includes(a.id),i="available"===a.status||"experimental"===a.status||"requires_setup"===a.status;return(0,l.jsxs)("div",{className:"cat-card",children:[(0,l.jsxs)("div",{className:"cat-card-top",children:[(0,l.jsx)(r.W,{id:a.id,size:34}),(0,l.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,l.jsx)("div",{className:"cat-name",children:a.displayName}),(0,l.jsxs)("div",{className:"cat-meta",children:[s(`models.cat.${a.category}`)," \xb7 ",(0,l.jsx)("span",{style:{fontFamily:"var(--mono-font)"},children:a.defaultAdapter})]})]}),(0,l.jsx)("span",{className:"cat-stat",style:{background:P[a.status]+"22",color:P[a.status]},children:s(`models.catStatus.${a.status}`)})]}),a.notes&&(0,l.jsx)("div",{className:"cat-notes",children:a.notes}),(0,l.jsxs)("div",{className:"cat-caps",children:[a.supportsModelSync&&(0,l.jsx)("span",{className:"cap-tag sync",children:s("models.cap.sync")}),a.supportsVision&&(0,l.jsx)("span",{className:"cap-tag",children:s("models.cap.vision")}),a.supportsTools&&(0,l.jsx)("span",{className:"cap-tag",children:s("models.cap.tools")})]}),x===a.id?(0,l.jsxs)("div",{className:"cat-card-foot",style:{gap:6},children:[(0,l.jsx)("input",{className:"form-input mono",style:{flex:1,height:30},placeholder:s("models.apiKeyPlaceholder"),value:g,autoFocus:!0,onChange:e=>f(e.target.value),onKeyDown:e=>{"Enter"===e.key&&C(a.id,g)}}),(0,l.jsx)("button",{className:"act-btn accent",onClick:()=>C(a.id,g),children:s("common.save")})]}):(0,l.jsxs)("div",{className:"cat-card-foot",children:[(0,l.jsx)("div",{className:"cat-conn",children:a.connectionTypes.map(e=>(0,l.jsx)("span",{className:"conn-tag",children:s(`models.conn.${e}`)},e))}),n?(0,l.jsxs)("span",{className:"act-btn",style:{color:"var(--sx-string)",borderColor:"color-mix(in srgb, var(--sx-string) 40%, var(--border))"},children:[(0,l.jsx)(t.I,{name:"check",size:11})," ",s("common.connected")]}):i?(0,l.jsxs)("button",{className:"act-btn accent",onClick:()=>!a.supportsApiKey||a.connectionTypes.includes("local")||a.connectionTypes.includes("cli")?C(a.id):v(a.id),children:[(0,l.jsx)(t.I,{name:"add",size:11})," ",s("common.connect")]}):(0,l.jsx)("button",{className:"act-btn",disabled:!0,children:"planned"===a.status?s("models.catStatus.planned"):s("models.catStatus.unsupported")})]})]},a.id)})]})]})})}function ea({providers:e,locals:a,agents:s,hardware:i,ollamaUp:r,ollamaInstalled:d,installed:o,llamaUp:c,llamaInstalled:m,llamaModel:p}){let h=(0,A.k)(),[u,x]=(0,n.useState)("connected"),[v,g]=(0,n.useState)(!1),[f,j]=(0,n.useState)(null),k=e.filter(e=>"cloud"===e.kind),B=e.filter(e=>"cli"===e.kind),y=e.map(e=>e.catalogId),N=(0,n.useMemo)(()=>b.WQ.reduce((e,a)=>(e[a.status]=(e[a.status]??0)+1,e),{}),[]);(0,n.useEffect)(()=>{let e=()=>g(!0);return window.addEventListener("constella:models-catalog",e),()=>window.removeEventListener("constella:models-catalog",e)},[]);let w=[{id:"connected",label:h("models.tab.connected"),icon:"grid",badge:k.length+B.length},{id:"local",label:h("models.tab.local"),icon:"cpu"},{id:"agents",label:h("models.tab.perAgent"),icon:"agents"}];return(0,l.jsxs)("div",{style:{position:"relative"},children:[(0,l.jsxs)("div",{className:"dash-grid",style:{marginBottom:20},children:[(0,l.jsxs)("div",{className:"dash-card",style:{gridColumn:"span 3"},children:[(0,l.jsx)("h3",{children:h("models.kpi.catalog")}),(0,l.jsx)("div",{className:"kpi",children:b.WQ.length}),(0,l.jsx)("div",{className:"kpi-sub",children:h("models.kpi.providers")})]}),(0,l.jsxs)("div",{className:"dash-card",style:{gridColumn:"span 3"},children:[(0,l.jsx)("h3",{children:h("models.kpi.available")}),(0,l.jsx)("div",{className:"kpi",style:{color:"var(--sx-string)"},children:N.available??0}),(0,l.jsx)("div",{className:"kpi-sub",children:h("models.kpi.adaptersReady")})]}),(0,l.jsxs)("div",{className:"dash-card",style:{gridColumn:"span 3"},children:[(0,l.jsx)("h3",{children:h("models.kpi.planned")}),(0,l.jsx)("div",{className:"kpi",style:{color:"#f0a35e"},children:(N.planned??0)+(N.experimental??0)}),(0,l.jsx)("div",{className:"kpi-sub",children:h("models.kpi.plannedExperimental")})]}),(0,l.jsxs)("div",{className:"dash-card",style:{gridColumn:"span 3"},children:[(0,l.jsx)("h3",{children:h("models.kpi.connected")}),(0,l.jsx)("div",{className:"kpi",style:{color:"var(--accent)"},children:e.length}),(0,l.jsx)("div",{className:"kpi-sub",children:h("models.kpi.inWorkspace")})]})]}),(0,l.jsx)("div",{className:"seg-nav",children:w.map(e=>(0,l.jsxs)("button",{className:"seg-nav-btn"+(u===e.id?" on":""),onClick:()=>x(e.id),children:[(0,l.jsx)(t.I,{name:e.icon,size:14})," ",e.label,null!=e.badge&&(0,l.jsx)("span",{className:"sn-badge",children:e.badge})]},e.id))}),"connected"===u&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"view-section-title",children:["☁ ",h("models.section.cloud")]}),(0,l.jsx)(E,{rows:k,kind:"cloud",onViewModels:(e,a)=>{let s=a.currentTarget.getBoundingClientRect();j({row:e,pos:{x:s.left,y:s.bottom+6}})}}),(0,l.jsxs)("div",{className:"view-section-title",children:["⌘ ",h("models.section.cli")]}),(0,l.jsx)(E,{rows:B,kind:"cli",onViewModels:(e,a)=>{let s=a.currentTarget.getBoundingClientRect();j({row:e,pos:{x:s.left,y:s.bottom+6}})}})]}),"local"===u&&(0,l.jsx)(q,{hw:i,ollamaUp:r,ollamaInstalled:d,installed:o,locals:a,llamaUp:c,llamaInstalled:m,llamaModel:p}),"agents"===u&&(0,l.jsx)(Z,{agents:s,providers:e.map(e=>({id:e.id,adapter:e.adapter,catalogId:e.catalogId,displayName:e.displayName,kind:e.kind}))}),v&&(0,l.jsx)(ee,{connectedIds:y,onClose:()=>g(!1)}),f&&(0,l.jsx)(K,{row:f.row,pos:f.pos,onClose:()=>j(null)})]})}function es(){let e=(0,A.k)();return(0,l.jsxs)("button",{className:"btn-accent",onClick:()=>window.dispatchEvent(new CustomEvent("constella:models-catalog")),children:[(0,l.jsx)(t.I,{name:"grid",size:14})," ",e("models.catalog.title")]})}},3198:(e,a,s)=>{"use strict";s.d(a,{A:()=>n});var l=s(7814);let n=(0,l.createServerReference)("40383cad7813d19d1b7fb6247022228ce67cf6dec0",l.callServer,void 0,l.findSourceMapURL,"listCatalogModels")},4403:(e,a,s)=>{"use strict";s.d(a,{Y:()=>m});var l=s(5076),n=s(8488),t=s(3728),i=s(5629);let r={cli_claude_code:[{value:"opus",label:"Claude Opus \xb7 most capable"},{value:"sonnet",label:"Claude Sonnet \xb7 balanced"},{value:"haiku",label:"Claude Haiku \xb7 fast"}],cli_codex:[{value:"gpt-5-codex",label:"GPT-5 Codex"},{value:"o4-mini",label:"o4-mini"}],cli_gemini:[{value:"gemini-2.5-pro",label:"Gemini 2.5 Pro"},{value:"gemini-2.5-flash",label:"Gemini 2.5 Flash"}],cli_openclaw:[{value:"(default)",label:"Configured default"},{value:"openai/gpt-5.4",label:"OpenAI \xb7 GPT-5.4"},{value:"anthropic/claude-sonnet-4",label:"Anthropic \xb7 Claude Sonnet 4"}],cli_hermes:[{value:"(default)",label:"Configured default"},{value:"anthropic/claude-sonnet-4.6",label:"Anthropic \xb7 Claude Sonnet 4.6"},{value:"openai/gpt-5.5",label:"OpenAI \xb7 GPT-5.5"}],cli_aider:[{value:"(default)",label:"Configured default"},{value:"anthropic/claude-sonnet-4-6",label:"Anthropic \xb7 Claude Sonnet 4.6"},{value:"openai/gpt-5.2",label:"OpenAI \xb7 GPT-5.2"},{value:"deepseek/deepseek-chat",label:"DeepSeek \xb7 Chat"}],cli_opencode:[{value:"(default)",label:"Configured default"},{value:"anthropic/claude-sonnet-4-6",label:"Anthropic \xb7 Claude Sonnet 4.6"},{value:"openai/gpt-5.2",label:"OpenAI \xb7 GPT-5.2"}],cli_copilot:[{value:"(default)",label:"Configured default"},{value:"claude-sonnet-4.5",label:"Claude Sonnet 4.5"},{value:"gpt-5",label:"GPT-5"}],cli_cursor:[{value:"(default)",label:"Configured default"},{value:"claude-4.5-sonnet",label:"Claude Sonnet 4.5"},{value:"gpt-5",label:"GPT-5"}],cli_cline:[{value:"(default)",label:"Configured default"}],cli_kilo:[{value:"(default)",label:"Configured default"}]};var d=s(6517),o=s(3198),c=s(9572);function m({adapter:e,value:a,onChange:s,providers:p}){let h=(0,i.k)(),u=function(e){let a=r[e]??null;if(!a)return null;let s=(0,d.L2)(e);return s?a.map(e=>{let a=s.find(a=>a.id===e.value);return a?{value:e.value,label:`${a.label} ${a.version}${a.note?" \xb7 "+a.note:""}`}:e}):a}(e),x=e.startsWith("local_"),[v,g]=(0,n.useState)(null),[f,j]=(0,n.useState)(""),b=p.find(a=>a.adapter===e);(0,n.useEffect)(()=>{if(u||x||!b){g(null),j(u||x?"":h("modelpicker.connectProvider"));return}let e=!0;return j(h("modelpicker.loading")),(0,o.A)(b.id).then(async({models:l})=>{if(!e)return;if(l.length){if(g(l.map(e=>{let a;return{value:e.id,label:e.name+(a=[],e.context&&a.push(e.context>=1e6?`${(e.context/1e6).toFixed(e.context%1e6?1:0)}M ctx`:`${Math.round(e.context/1e3)}K ctx`),(e.inputCost||e.outputCost)&&a.push(`$${e.inputCost}/${e.outputCost}`),a.length?" \xb7 "+a.join(" \xb7 "):"")+(e.isDefault?" \xb7 "+h("modelpicker.recommended"):"")}})),j(""),!a){let e=l.find(e=>e.isDefault)??l[0];e&&s(e.id)}return}let n=await (0,c.E)(b.id);e&&(g(n.models.map(e=>({value:e,label:e}))),j(n.error?n.error:n.models.length?h("modelpicker.syncProvider"):h("modelpicker.noModels")))}).catch(()=>{e&&(g([]),j(h("modelpicker.loadError")))}),()=>{e=!1}},[e,b?.id,!!u,x]);let k=x?[{value:a||"local",label:h("modelpicker.localGguf")}]:null,B=u??k??v??(a?[{value:a,label:a}]:[]),y=a&&!B.some(e=>e.value===a)?[{value:a,label:a},...B]:B;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.m,{mono:!0,value:a,options:y,placeholder:h("modelpicker.placeholder"),onChange:s}),f&&(0,l.jsx)("div",{className:"form-hint",style:{marginTop:4},children:f})]})}},4552:(e,a,s)=>{"use strict";s.d(a,{e:()=>n});var l=s(5076);function n({name:e,color:a,size:s=24,health:t,image:i}){let r=Math.max(6,Math.round(.3*s)),d=Math.round(.28*s),o=i?/^(data:|https?:|\/)/.test(i)?i:`/api/upload?path=${encodeURIComponent(i)}`:null;return(0,l.jsxs)("span",{style:{position:"relative",width:s,height:s,flex:`0 0 ${s}px`,display:"inline-block"},children:[o?(0,l.jsx)("img",{src:o,alt:e,width:s,height:s,style:{width:s,height:s,borderRadius:d,objectFit:"cover",display:"block"}}):(0,l.jsx)("span",{style:{width:s,height:s,borderRadius:d,background:a,color:"#fff",display:"grid",placeItems:"center",fontSize:Math.round(.42*s),fontWeight:700},children:(e[0]||"?").toUpperCase()}),t&&(0,l.jsx)("span",{style:{position:"absolute",right:-1,bottom:-1,width:r,height:r,borderRadius:"50%",background:"alive"===t?"var(--sx-string)":"stale"===t?"var(--sx-number)":"var(--text-faint)",border:"1.5px solid var(--bg-elevated)"}})]})}},4813:(e,a,s)=>{Promise.resolve().then(s.t.bind(s,3283,23)),Promise.resolve().then(s.bind(s,2064)),Promise.resolve().then(s.bind(s,6719)),Promise.resolve().then(s.bind(s,6588)),Promise.resolve().then(s.bind(s,4414)),Promise.resolve().then(s.bind(s,4226)),Promise.resolve().then(s.bind(s,4942)),Promise.resolve().then(s.bind(s,2444)),Promise.resolve().then(s.bind(s,5787))},6e3:(e,a,s)=>{"use strict";s.d(a,{j:()=>n});var l=s(7814);let n=(0,l.createServerReference)("40fcc0e1aa167e9f1f5273fbcfc48ea65c17d142a9",l.callServer,void 0,l.findSourceMapURL,"pullModel")},6517:(e,a,s)=>{"use strict";s.d(a,{L2:()=>n,Ov:()=>t});let l={cli_claude_code:[{id:"opus",label:"Claude Opus",version:"4.8",note:"most capable"},{id:"sonnet",label:"Claude Sonnet",version:"4.6",note:"balanced"},{id:"haiku",label:"Claude Haiku",version:"4.5",note:"fast"}],cli_codex:[{id:"gpt-5-codex",label:"GPT-5 Codex",version:"5"},{id:"o4-mini",label:"o4-mini",version:"o4"}],cli_gemini:[{id:"gemini-2.5-pro",label:"Gemini Pro",version:"2.5"},{id:"gemini-2.5-flash",label:"Gemini Flash",version:"2.5"}],cli_openclaw:[{id:"(default)",label:"OpenClaw",version:"default",note:"configured provider"},{id:"openai/gpt-5.4",label:"GPT",version:"5.4"},{id:"anthropic/claude-sonnet-4",label:"Claude Sonnet",version:"4"}],cli_hermes:[{id:"(default)",label:"Hermes",version:"default",note:"configured provider"},{id:"anthropic/claude-sonnet-4.6",label:"Claude Sonnet",version:"4.6"},{id:"openai/gpt-5.5",label:"GPT",version:"5.5"}],cli_aider:[{id:"(default)",label:"Aider",version:"default",note:"configured provider"},{id:"anthropic/claude-sonnet-4-6",label:"Claude Sonnet",version:"4.6"},{id:"openai/gpt-5.2",label:"GPT",version:"5.2"},{id:"deepseek/deepseek-chat",label:"DeepSeek Chat",version:""}],cli_opencode:[{id:"(default)",label:"OpenCode",version:"default",note:"configured provider"},{id:"anthropic/claude-sonnet-4-6",label:"Claude Sonnet",version:"4.6"},{id:"openai/gpt-5.2",label:"GPT",version:"5.2"}],cli_copilot:[{id:"(default)",label:"Copilot",version:"default",note:"configured provider"},{id:"claude-sonnet-4.5",label:"Claude Sonnet",version:"4.5"},{id:"gpt-5",label:"GPT",version:"5"}],cli_cursor:[{id:"(default)",label:"Cursor",version:"default",note:"configured provider"},{id:"claude-4.5-sonnet",label:"Claude Sonnet",version:"4.5"},{id:"gpt-5",label:"GPT",version:"5"}],cli_cline:[{id:"(default)",label:"Cline",version:"default",note:"configured provider"}],cli_kilo:[{id:"(default)",label:"Kilo Code",version:"default",note:"configured provider"}]};function n(e){return l[e]??null}function t(e){if(!e)return{label:"",version:""};let a=e.match(/(\d+(?:[.\-]\d+){0,2})(?!.*\d)/),s=a?a[1].replace(/-/g,"."):"";return{label:(a?e.slice(0,a.index).replace(/[-_.\s]+$/,""):e).split(/[-_.\s]+/).filter(Boolean).map(e=>/^(gpt|llm|api|ai)$/i.test(e)?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1)).join(" ")||e,version:s}}},8670:(e,a,s)=>{"use strict";s.d(a,{k:()=>n});var l=s(7814);let n=(0,l.createServerReference)("6032fb7d29011580ccf74fba3b59c2dd3e048a4582",l.callServer,void 0,l.findSourceMapURL,"saveAgentModel")},9572:(e,a,s)=>{"use strict";s.d(a,{E:()=>n});var l=s(7814);let n=(0,l.createServerReference)("409fd412f863bec5e83a51573dc91e19aa36f535b0",l.callServer,void 0,l.findSourceMapURL,"listProviderModels")}},e=>{e.O(0,[9219,3219,3448,8370,4263,6646,6834,7358],()=>e(e.s=4813)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9274],{592:(e,a,s)=>{"use strict";s.d(a,{ModelsScreen:()=>ea,OpenCatalogButton:()=>es});var l=s(5076),n=s(8488),t=s(8576),i=s(4552),r=s(9265);let d=[[/qwen/i,"qwen"],[/(^|[-_ ])(meta-?)?llama/i,"meta"],[/codestral|mixtral|mistral|ministral/i,"mistral"],[/gemma/i,"gemma"],[/phi-?\d/i,"microsoft"],[/deepseek/i,"deepseek"],[/(^|[-_ ])yi-?\d/i,"yi"],[/granite/i,"ibm"],[/smollm/i,"huggingface"],[/aya|command-?r|^c4ai/i,"cohere"],[/falcon/i,"tii"],[/exaone/i,"lg"]];var o=s(3728),c=s(4403),m=s(7814);let p=(0,m.createServerReference)("40a7371fe0b2319ab344164d505a275918d2b488ea",m.callServer,void 0,m.findSourceMapURL,"testProvider"),h=(0,m.createServerReference)("409e1308b3400804a39abe1187b45c4216cb1dc1bc",m.callServer,void 0,m.findSourceMapURL,"syncProvider"),u=(0,m.createServerReference)("40046656a90abff559d871d0a93d7c61f8a990b68f",m.callServer,void 0,m.findSourceMapURL,"revokeProviderToken"),x=(0,m.createServerReference)("40b9490d6adb9fbe142e3fd463e09a3820aeafcd14",m.callServer,void 0,m.findSourceMapURL,"removeProvider");var v=s(6355);let g=(0,m.createServerReference)("40d25df2aef03f20f3f6d22911d5e656a18ff3865e",m.callServer,void 0,m.findSourceMapURL,"refreshProviderModels");var f=s(9744);let j=(0,m.createServerReference)("602c37790e97bc1504b991123267e14b6b876d9572",m.callServer,void 0,m.findSourceMapURL,"connectProvider");var b=s(8088);let k=(0,m.createServerReference)("00a1eddd57e3dc09273aacc07984fd7f8a1954e84c",m.callServer,void 0,m.findSourceMapURL,"downloadLlamaServer"),B=(0,m.createServerReference)("40bafadd426209f1065283cb854fdd1f4af1846026",m.callServer,void 0,m.findSourceMapURL,"startLlamaServer"),y=(0,m.createServerReference)("00c51c2b6950ef7f834ba431a695cc3622568d8cd8",m.callServer,void 0,m.findSourceMapURL,"stopLlamaServer"),N=(0,m.createServerReference)("407489fe7f99bc0e499c7f1ab258fc05e4c06bb07b",m.callServer,void 0,m.findSourceMapURL,"removeGguf"),w=(0,m.createServerReference)("406391094e0e56b6206dc31a4e337db67713f221bd",m.callServer,void 0,m.findSourceMapURL,"removeModel"),S=(0,m.createServerReference)("404f3952eaf160e47e56225cc6fcac5bd13eedd1d4",m.callServer,void 0,m.findSourceMapURL,"downloadGguf");var C=s(1252);let I=(0,m.createServerReference)("009cfe5203f9514f533a1534560d1974968a5175a2",m.callServer,void 0,m.findSourceMapURL,"embedStatus"),M=(0,m.createServerReference)("00d19b870af4ff13b735c92d0f9975509d0fe99484",m.callServer,void 0,m.findSourceMapURL,"startEmbeddings"),z=(0,m.createServerReference)("00cdd6efe0d93dce17eb396e9a29c63e22e984e916",m.callServer,void 0,m.findSourceMapURL,"reindexRag");var _=s(1874);let Q=[{name:"nomic-embed-text",label:"Nomic Embed Text",size:"274 MB",kind:"embed",note:"Powers semantic workspace RAG — pull this to enable embeddings."},{name:"mxbai-embed-large",label:"mxbai Embed Large",size:"670 MB",kind:"embed",note:"Higher-quality embeddings (set CONSTELLA_EMBED_MODEL)."},{name:"llama3.2:3b",label:"Llama 3.2 3B",size:"2.0 GB",kind:"chat"},{name:"qwen2.5:7b",label:"Qwen 2.5 7B",size:"4.7 GB",kind:"chat"},{name:"qwen2.5-coder:7b",label:"Qwen 2.5 Coder 7B",size:"4.7 GB",kind:"code"},{name:"gemma2:2b",label:"Gemma 2 2B",size:"1.6 GB",kind:"chat"},{name:"phi3.5",label:"Phi 3.5",size:"2.2 GB",kind:"chat"}],R=[{repo:"Qwen2.5-0.5B-Instruct",paramsB:.5,kind:"chat"},{repo:"Qwen2.5-1.5B-Instruct",paramsB:1.5,kind:"chat"},{repo:"Qwen2.5-3B-Instruct",paramsB:3,kind:"chat"},{repo:"Qwen2.5-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Qwen2.5-14B-Instruct",paramsB:14,kind:"chat"},{repo:"Qwen2.5-32B-Instruct",paramsB:32,kind:"chat"},{repo:"Qwen2.5-72B-Instruct",paramsB:72,kind:"chat"},{repo:"Qwen2.5-Coder-1.5B-Instruct",paramsB:1.5,kind:"code"},{repo:"Qwen2.5-Coder-3B-Instruct",paramsB:3,kind:"code"},{repo:"Qwen2.5-Coder-7B-Instruct",paramsB:7,kind:"code"},{repo:"Qwen2.5-Coder-14B-Instruct",paramsB:14,kind:"code"},{repo:"Qwen2.5-Coder-32B-Instruct",paramsB:32,kind:"code"},{repo:"Qwen3-0.6B",paramsB:.6,kind:"chat"},{repo:"Qwen3-1.7B",paramsB:1.7,kind:"chat"},{repo:"Qwen3-4B",paramsB:4,kind:"chat"},{repo:"Qwen3-8B",paramsB:8,kind:"chat"},{repo:"Qwen3-14B",paramsB:14,kind:"chat"},{repo:"Qwen3-32B",paramsB:32,kind:"chat"},{repo:"Llama-3.2-1B-Instruct",paramsB:1,kind:"chat"},{repo:"Llama-3.2-3B-Instruct",paramsB:3,kind:"chat"},{repo:"Meta-Llama-3.1-8B-Instruct",paramsB:8,kind:"chat"},{repo:"Meta-Llama-3.1-70B-Instruct",paramsB:70,kind:"chat"},{repo:"Llama-3.3-70B-Instruct",paramsB:70,kind:"chat"},{repo:"gemma-2-2b-it",paramsB:2,kind:"chat"},{repo:"gemma-2-9b-it",paramsB:9,kind:"chat"},{repo:"gemma-2-27b-it",paramsB:27,kind:"chat"},{repo:"gemma-3-1b-it",paramsB:1,kind:"chat"},{repo:"gemma-3-4b-it",paramsB:4,kind:"chat"},{repo:"gemma-3-12b-it",paramsB:12,kind:"chat"},{repo:"gemma-3-27b-it",paramsB:27,kind:"chat"},{repo:"Mistral-7B-Instruct-v0.3",paramsB:7,kind:"chat"},{repo:"Mistral-Nemo-Instruct-2407",paramsB:12,kind:"chat"},{repo:"Mistral-Small-Instruct-2409",paramsB:22,kind:"chat"},{repo:"Mistral-Small-24B-Instruct-2501",paramsB:24,kind:"chat"},{repo:"Codestral-22B-v0.1",paramsB:22,kind:"code"},{repo:"Phi-3.1-mini-4k-instruct",paramsB:3.8,kind:"chat"},{repo:"DeepSeek-R1-Distill-Qwen-1.5B",paramsB:1.5,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-7B",paramsB:7,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-14B",paramsB:14,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Qwen-32B",paramsB:32,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Llama-8B",paramsB:8,kind:"reasoning"},{repo:"DeepSeek-Coder-V2-Lite-Instruct",paramsB:16,kind:"code"},{repo:"Yi-1.5-9B-Chat",paramsB:9,kind:"chat"},{repo:"Yi-1.5-34B-Chat",paramsB:34,kind:"chat"},{repo:"granite-3.0-8b-instruct",paramsB:8,kind:"chat"},{repo:"granite-3.1-8b-instruct",paramsB:8,kind:"chat"},{repo:"SmolLM2-360M-Instruct",paramsB:.36,kind:"chat"},{repo:"SmolLM2-1.7B-Instruct",paramsB:1.7,kind:"chat"},{repo:"aya-expanse-8b",paramsB:8,kind:"chat"},{repo:"aya-expanse-32b",paramsB:32,kind:"chat"},{repo:"Falcon3-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Falcon3-10B-Instruct",paramsB:10,kind:"chat"},{repo:"EXAONE-3.5-2.4B-Instruct",paramsB:2.4,kind:"chat"},{repo:"EXAONE-3.5-7.8B-Instruct",paramsB:7.8,kind:"chat"},{repo:"Qwen3.5-0.8B",paramsB:.8,kind:"chat"},{repo:"Qwen3.5-2B",paramsB:2,kind:"chat"},{repo:"Qwen3.5-9B",paramsB:9,kind:"chat"},{repo:"Qwen3.5-27B",paramsB:27,kind:"chat"},{repo:"Qwen3.5-35B-A3B",paramsB:35,kind:"chat"},{repo:"Qwen3.6-27B",paramsB:27,kind:"chat"},{repo:"Qwen3.6-35B-A3B",paramsB:35,kind:"chat"},{repo:"Qwen3-30B-A3B",paramsB:30,kind:"chat"},{repo:"Qwen3-30B-A3B-Instruct-2507",paramsB:30,kind:"chat"},{repo:"Qwen3-Next-80B-A3B-Instruct",paramsB:80,kind:"chat"},{repo:"Qwen3-4B-Thinking-2507",paramsB:4,kind:"reasoning"},{repo:"QwQ-32B",paramsB:32,kind:"reasoning"},{repo:"Qwen2.5-7B-Instruct-1M",paramsB:7,kind:"chat"},{repo:"Qwen2.5-Coder-0.5B-Instruct",paramsB:.5,kind:"code"},{repo:"Qwen2.5-Coder-3B",paramsB:3,kind:"code"},{repo:"Qwen2.5-Coder-32B",paramsB:32,kind:"code"},{repo:"Qwen2.5-Math-7B-Instruct",paramsB:7,kind:"chat"},{repo:"Qwen2-500M-Instruct",paramsB:.5,kind:"chat"},{repo:"Qwen1.5-32B-Chat",paramsB:32,kind:"chat"},{repo:"gemma-4-E2B-it",paramsB:2,kind:"chat"},{repo:"gemma-4-E4B-it",paramsB:4,kind:"chat"},{repo:"gemma-4-12B-it",paramsB:12,kind:"chat"},{repo:"gemma-4-26B-A4B-it",paramsB:26,kind:"chat"},{repo:"gemma-4-31B-it",paramsB:31,kind:"chat"},{repo:"gemma-3-270m-it",paramsB:.27,kind:"chat"},{repo:"gemma-1.1-2b-it",paramsB:2,kind:"chat"},{repo:"codegemma-2b",paramsB:2,kind:"code"},{repo:"codegemma-7b",paramsB:7,kind:"code"},{repo:"codegemma-7b-it",paramsB:7,kind:"code"},{repo:"codegemma-1.1-7b-it",paramsB:7,kind:"code"},{repo:"Ministral-3-3B-Instruct-2512",paramsB:3,kind:"chat"},{repo:"Ministral-3-8B-Instruct-2512",paramsB:8,kind:"chat"},{repo:"Ministral-3-14B-Instruct-2512",paramsB:14,kind:"chat"},{repo:"Ministral-3-3B-Reasoning-2512",paramsB:3,kind:"reasoning"},{repo:"Ministral-3-8B-Reasoning-2512",paramsB:8,kind:"reasoning"},{repo:"Ministral-3-14B-Reasoning-2512",paramsB:14,kind:"reasoning"},{repo:"Mistral-Small-3.1-24B-Instruct-2503",paramsB:24,kind:"chat"},{repo:"Mistral-Small-3.2-24B-Instruct-2506",paramsB:24,kind:"chat"},{repo:"Devstral-Small-2-24B-Instruct-2512",paramsB:24,kind:"code"},{repo:"mathstral-7B-v0.1",paramsB:7,kind:"chat"},{repo:"dolphin-2.8-mistral-7b-v02",paramsB:7,kind:"chat"},{repo:"WizardLM-2-7B",paramsB:7,kind:"chat"},{repo:"DeepSeek-R1-0528-Qwen3-8B",paramsB:8,kind:"reasoning"},{repo:"DeepSeek-R1-Distill-Llama-70B",paramsB:70,kind:"reasoning"},{repo:"deepseek-coder-1.3B-kexer",paramsB:1.3,kind:"code"},{repo:"deepseek-coder-6.7B-kexer",paramsB:6.7,kind:"code"},{repo:"granite-3.2-8b-instruct",paramsB:8,kind:"chat"},{repo:"granite-4.1-3b",paramsB:3,kind:"chat"},{repo:"granite-4.1-8b",paramsB:8,kind:"chat"},{repo:"granite-4.1-30b",paramsB:30,kind:"chat"},{repo:"Olmo-3-32B-Think",paramsB:32,kind:"reasoning"},{repo:"Seed-OSS-36B-Instruct",paramsB:36,kind:"chat"},{repo:"ERNIE-4.5-21B-A3B-PT",paramsB:21,kind:"chat"},{repo:"LFM2-24B-A2B",paramsB:24,kind:"chat"},{repo:"LFM2.5-1.2B-Instruct",paramsB:1.2,kind:"chat"},{repo:"LFM2.5-1.2B-Thinking",paramsB:1.2,kind:"reasoning"},{repo:"NVIDIA-Nemotron-3-Nano-4B",paramsB:4,kind:"chat"},{repo:"Hermes-4-70B",paramsB:70,kind:"chat"},{repo:"Llama-3.1-Tulu-3-8B",paramsB:8,kind:"chat"},{repo:"Meta-Llama-3-70B-Instruct",paramsB:70,kind:"chat"},{repo:"Llama3-ChatQA-1.5-70B",paramsB:70,kind:"chat"},{repo:"Llama-3-Groq-8B-Tool-Use",paramsB:8,kind:"chat"},{repo:"aya-23-8B",paramsB:8,kind:"chat"},{repo:"aya-23-35B",paramsB:35,kind:"chat"},{repo:"SmolLM2-135M-Instruct",paramsB:.135,kind:"chat"},{repo:"Yi-Coder-1.5B",paramsB:1.5,kind:"code"},{repo:"Yi-Coder-9B-Chat",paramsB:9,kind:"code"},{repo:"OpenCoder-1.5B-Instruct",paramsB:1.5,kind:"code"},{repo:"stable-code-instruct-3b",paramsB:3,kind:"code"},{repo:"internlm2-math-plus-7b",paramsB:7,kind:"chat"},{repo:"internlm2-math-plus-20b",paramsB:20,kind:"chat"}],L={Q3_K_L:.55,Q4_K_M:.67,Q6_K:.9,Q8_0:1.13},T=[{id:"nomic-embed-q8",name:"nomic-embed-text-v1.5 (Q8_0)",url:"https://huggingface.co/nomic-ai/nomic-embed-text-v1.5-GGUF/resolve/main/nomic-embed-text-v1.5.Q8_0.gguf",params:"137M",quant:"Q8_0",sizeBytes:146e6,kind:"embed",paramsB:.137},...function(){let e=[];for(let l of R){var a,s;let n=l.vendor??"lmstudio-community";for(let t of(a=l.paramsB)<=9?["Q3_K_L","Q4_K_M","Q6_K","Q8_0"]:a<=34?["Q3_K_L","Q4_K_M","Q6_K"]:["Q3_K_L","Q4_K_M"]){let a=`${l.repo}-${t}.gguf`;e.push({id:`${l.repo}-${t}`.toLowerCase().replace(/[^a-z0-9]+/g,"-"),name:`${l.repo} (${t})`,url:`https://huggingface.co/${n}/${l.repo}-GGUF/resolve/main/${a}`,params:(s=l.paramsB)<1?`${Math.round(1e3*s)}M`:`${s}B`,quant:t,sizeBytes:Math.round(1e9*l.paramsB*L[t]),kind:l.kind,paramsB:l.paramsB})}}return e}()];var $=s(6517),A=s(5629);let P={available:"var(--sx-string)",experimental:"#f0a35e",requires_setup:"#6cc7e0",planned:"var(--text-dim)",unsupported:"var(--sx-keyword)"},G={ready:"var(--sx-string)",needs_login:"#f0a35e",needs_key:"#f0a35e",unknown:"var(--text-dim)"},U={cli_claude_code:"sign in to Claude Code",cli_codex:"codex login",cli_openclaw:"openclaw infer model auth login",cli_hermes:"hermes model",cli_aider:"set OPENAI_API_KEY / ANTHROPIC_API_KEY env",cli_opencode:"opencode auth login",cli_copilot:"copilot → /login",cli_cursor:"cursor-agent login",cli_cline:"configure cline providers",cli_kilo:"configure kilocode providers"},F=e=>e>=1e9?(e/1e9).toFixed(1)+" GB":(e/1e6).toFixed(0)+" MB";function E({rows:e,kind:a,onViewModels:s}){let i=(0,A.k)(),[d,o]=(0,n.useState)({}),[c,m]=(0,n.useState)({}),[v,g]=(0,n.useState)({}),[,f]=(0,n.useTransition)(),j=(e,a,s,l)=>f(async()=>{var n;o(s=>({...s,[e]:a}));let t=await s().catch(()=>null);o(a=>{let s={...a};return delete s[e],s}),l&&(n=l(t),m(a=>({...a,[e]:n})),setTimeout(()=>m(a=>{let s={...a};return delete s[e],s}),2200))});return(0,l.jsx)("div",{className:"tbl-wrap",children:(0,l.jsxs)("table",{className:"tbl",style:{marginBottom:20},children:[(0,l.jsx)("thead",{children:(0,l.jsxs)("tr",{children:[(0,l.jsx)("th",{children:i("models.col.provider")}),(0,l.jsx)("th",{children:i("models.col.adapter")}),(0,l.jsx)("th",{children:i("models.col.models")}),(0,l.jsx)("th",{children:"cli"===a?i("models.col.auth"):i("models.col.keyAuth")}),(0,l.jsx)("th",{children:i("models.col.lastSync")}),(0,l.jsx)("th",{children:i("common.status")}),(0,l.jsx)("th",{style:{textAlign:"right"},children:i("common.actions")})]})}),(0,l.jsxs)("tbody",{children:[e.map(e=>{let a="connected"===e.status,o=d[e.id],m="none"!==e.auth&&"local"!==e.auth&&"cli"!==e.auth,f=!!v[e.id],b=e.authState??("cli"===e.kind?"unknown":"none"===e.auth?"needs_key":"ready");return(0,l.jsxs)(n.Fragment,{children:[(0,l.jsxs)("tr",{children:[(0,l.jsx)("td",{children:(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,l.jsx)("button",{className:"iact",title:f?i("models.title.hideStatus"):i("models.title.showStatus"),style:{padding:"0 4px",fontSize:11,color:"var(--text-dim)",lineHeight:1},onClick:()=>g(a=>({...a,[e.id]:!a[e.id]})),children:f?"▾":"▸"}),(0,l.jsx)(r.W,{id:e.catalogId,size:26})," ",e.displayName,"cli"===e.kind&&e.cliVersion&&(0,l.jsxs)("span",{className:"chip-sm",style:{fontSize:9.5,color:"var(--text-dim)"},children:["v",e.cliVersion.replace(/^v/,"")]})]})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"chip-sm",children:e.adapter})}),(0,l.jsx)("td",{children:e.modelCount>0?(0,l.jsx)("button",{className:"link-btn",onClick:a=>s(e,a),children:i("models.modelCount",{n:e.modelCount})}):(0,l.jsx)("span",{style:{color:"var(--text-faint)"},children:i("common.unsynced")})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"pill",style:{background:(G[b]??"var(--text-dim)")+"22",color:G[b]??"var(--text-dim)"},children:i(`models.auth.${b}`)})}),(0,l.jsx)("td",{style:{color:"var(--text-dim)",fontSize:12},children:e.lastSync??i("common.never")}),(0,l.jsx)("td",{children:(0,l.jsxs)("span",{className:"gstat-cell",children:[(0,l.jsx)("span",{className:"status-dot",style:{background:a?"var(--sx-string)":"error"===e.status?"var(--sx-keyword)":"var(--text-dim)"}}),a?i("models.status.connected"):"error"===e.status?i("models.status.error"):i("models.status.needsSync")]})}),(0,l.jsx)("td",{children:(0,l.jsxs)("div",{className:"row-actions",children:[c[e.id]&&(0,l.jsx)("span",{style:{fontSize:10.5,color:"var(--sx-string)",alignSelf:"center"},children:c[e.id]}),(0,l.jsx)("button",{className:"iact",title:i("models.title.testConnection"),disabled:!!o,onClick:()=>j(e.id,"testing",()=>p(e.id),e=>e?.ok?i("models.flash.connectionOk"):i("models.flash.unreachable")),children:"testing"===o?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:15})}):(0,l.jsx)(t.I,{name:"play",size:15})}),(0,l.jsx)("button",{className:"iact",title:i("models.title.syncRefresh"),disabled:!!o,onClick:()=>j(e.id,"syncing",()=>h(e.id),e=>i("models.flash.synced",{n:e?.count??0})),children:"syncing"===o?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:15})}):(0,l.jsx)(t.I,{name:"refresh",size:15})}),e.modelCount>0&&(0,l.jsx)("button",{className:"iact",title:i("models.title.viewModels"),onClick:a=>s(e,a),children:(0,l.jsx)(t.I,{name:"files",size:15})}),m&&(0,l.jsx)("button",{className:"iact",title:i("models.title.revokeToken"),disabled:!!o,onClick:()=>j(e.id,"revoke",()=>u(e.id),()=>i("models.flash.tokenRevoked")),children:(0,l.jsx)(t.I,{name:"shield",size:15})}),(0,l.jsx)("button",{className:"iact danger",title:i("models.title.removeProvider"),disabled:!!o,onClick:()=>j(e.id,"remove",()=>x(e.id)),children:(0,l.jsx)(t.I,{name:"trash",size:15})})]})})]}),f&&(0,l.jsx)("tr",{children:(0,l.jsx)("td",{colSpan:7,style:{padding:0,background:"var(--bg-active)"},children:(0,l.jsx)(O,{row:e})})})]},e.id)}),0===e.length&&(0,l.jsx)("tr",{children:(0,l.jsx)("td",{colSpan:7,style:{textAlign:"center",color:"var(--text-faint)",padding:20},children:"cli"===a?i("models.empty.cli"):i("models.empty.cloud")})})]})]})})}function D({k:e,children:a}){return(0,l.jsxs)("div",{style:{minWidth:0},children:[(0,l.jsx)("div",{style:{fontSize:10,textTransform:"uppercase",letterSpacing:".4px",color:"var(--text-faint)",marginBottom:3},children:e}),(0,l.jsx)("div",{style:{fontSize:12.5,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis"},children:a})]})}function O({row:e}){let a=(0,A.k)(),s=(0,b.kH)(e.catalogId),i=function(e){let a=(0,b.kH)(e);if(!a)return{key:"none",tone:"var(--text-dim)"};if("cli"===a.category)return{key:"cli",tone:"#a78bfa"};if("local_runtime"===a.category)return{key:"local",tone:"#6cc7e0"};let s=a.connectionTypes.includes("local"),l=a.connectionTypes.includes("api_key")||a.connectionTypes.includes("openai_compatible");return s&&l?{key:"hybrid",tone:"#f0a35e"}:{key:"api",tone:"var(--sx-string)"}}(e.catalogId),r=s?.category==="cli",[d,o]=(0,n.useState)(null),[c,m]=(0,n.useState)(!1),[,p]=(0,n.useTransition)();(0,n.useEffect)(()=>{let a=!0;return(0,v.A)(e.id).then(e=>a&&o(e.models)).catch(()=>a&&o([])),()=>{a=!1}},[e.id]);let h=d?.find(e=>e.isDefault)??(e.defaultModel?d?.find(a=>a.id===e.defaultModel):void 0)??d?.[0],u=d?.reduce((e,a)=>Math.max(e,a.context),0)??0,x={vision:!!d?.some(e=>e.caps?.vision),reasoning:!!d?.some(e=>e.caps?.reasoning),tools:!!d?.some(e=>e.caps?.tools)},f=[x.vision&&a("models.cap.vision"),x.reasoning&&a("models.cap.reasoning"),x.tools&&a("models.cap.tools")].filter(Boolean).join(" \xb7 ")||"—",j=e.authState??(r?"unknown":"none"===e.auth?"needs_key":"ready"),k="ready"===j&&"connected"===e.status;return(0,l.jsxs)("div",{style:{padding:"14px 18px 16px 40px",borderTop:"1px solid var(--border)"},children:[(0,l.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))",gap:"12px 18px"},children:[(0,l.jsx)(D,{k:a("models.pd.connection"),children:(0,l.jsx)("span",{className:"pill",style:{background:i.tone+"22",color:i.tone},children:"none"===i.key?"—":a(`models.connType.${i.key}`)})}),(0,l.jsx)(D,{k:a("models.pd.install"),children:r?e.cliVersion?(0,l.jsxs)("span",{style:{color:"var(--sx-string)"},children:[a("models.install.installed")," \xb7 v",e.cliVersion.replace(/^v/,"")]}):(0,l.jsx)("span",{style:{color:"#f0a35e"},children:a("models.install.notDetected")}):a("local"===i.key?"models.install.localRuntime":"models.install.cloudApi")}),(0,l.jsxs)(D,{k:a("models.pd.auth"),children:[(0,l.jsx)("span",{className:"pill",style:{background:(G[j]??"var(--text-dim)")+"22",color:G[j]??"var(--text-dim)"},children:a(`models.auth.${j}`)}),"ready"!==j&&(r?U[e.adapter]:!e.auth||"none"===e.auth)?(0,l.jsx)("span",{style:{fontSize:10.5,color:"var(--text-faint)",marginLeft:6},children:r?U[e.adapter]:a("models.hint.addApiKey")}):null]}),(0,l.jsx)(D,{k:a("models.pd.models"),children:null==d?"…":d.length||e.modelCount}),(0,l.jsx)(D,{k:a("models.pd.defaultModel"),children:h?h.name:e.defaultModel??"—"}),(0,l.jsx)(D,{k:a("models.pd.maxContext"),children:u?a("models.pd.tokens",{ctx:W(u)}):"—"}),(0,l.jsx)(D,{k:a("models.pd.capabilities"),children:f}),(0,l.jsx)(D,{k:a("models.pd.costDefault"),children:h&&(h.inputCost||h.outputCost)?`$${h.inputCost} / $${h.outputCost} ${a("models.pd.per1M")}`:"—"}),(0,l.jsx)(D,{k:a("models.pd.state"),children:(0,l.jsx)("span",{className:"pill",style:{background:(k?"var(--sx-string)":"#f0a35e")+"22",color:k?"var(--sx-string)":"#f0a35e"},children:a(k?"models.state.ready":"models.state.needsConfig")})})]}),(0,l.jsxs)("div",{style:{marginTop:12,display:"flex",alignItems:"center",gap:10},children:[(0,l.jsxs)("button",{className:"btn-ghost",disabled:c,onClick:function(){m(!0),p(async()=>{await g(e.id).catch(()=>{}),o((await (0,v.A)(e.id).catch(()=>({models:[]}))).models),m(!1)})},children:[c?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"refresh",size:13})," ",a(c?"models.btn.refreshing":"models.btn.refreshModels")]}),s?.notes&&(0,l.jsx)("span",{style:{fontSize:11,color:"var(--text-faint)"},children:s.notes})]})]})}let W=e=>e?e>=1e6?`${(e/1e6).toFixed(e%1e6?1:0)}M`:`${Math.round(e/1e3)}K`:"";function K({row:e,pos:a,onClose:s}){let i=(0,A.k)(),r=(0,$.L2)(e.adapter),[d,o]=(0,n.useState)(r?r.map(e=>({id:e.id,label:e.label,version:e.version,note:e.note})):null),[c,m]=(0,n.useState)(""),p=e=>{let a=(0,$.Ov)(e.id);return{id:e.id,label:e.name||a.label,version:a.version,context:e.context,inputCost:e.inputCost,outputCost:e.outputCost,caps:e.caps,isDefault:e.isDefault}};return(0,n.useEffect)(()=>{if(r)return;let a=!0;return(0,v.A)(e.id).then(async({models:s})=>{if(!a)return;if(s.length)return void o(s.map(p));let l=await (0,f.E)(e.id);a&&(o(l.models.map(e=>{let a=(0,$.Ov)(e);return{id:e,label:a.label,version:a.version}})),l.error&&m(l.error))}).catch(()=>{a&&(o([]),m(i("models.pop.loadFailed")))}),()=>{a=!1}},[e.id]),(0,l.jsxs)("div",{className:"models-pop",style:{left:Math.min(a.x,window.innerWidth-380),top:a.y},onMouseLeave:s,children:[(0,l.jsxs)("div",{className:"mp-head",children:[(0,l.jsx)(t.I,{name:"cpu",size:13,style:{color:"var(--accent)"}})," ",e.displayName," \xb7 ",e.kind," \xb7 ",i("models.modelCount",{n:d?.length??e.modelCount})]}),null===d&&(0,l.jsxs)("div",{className:"mp-row",children:[(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:11})})," ",i("common.loading")]}),d&&0===d.length&&(0,l.jsx)("div",{className:"mp-row",style:{color:"var(--text-faint)"},children:c||i("models.pop.noModels")}),d?.map(e=>(0,l.jsxs)("div",{className:"mp-row",children:[(0,l.jsx)(t.I,{name:"dot",size:7}),(0,l.jsxs)("span",{style:{flex:1,minWidth:0},children:[(0,l.jsxs)("span",{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[e.label,e.isDefault?(0,l.jsxs)("span",{style:{color:"var(--accent)"},children:[" \xb7 ",i("models.pop.recommended")]}):null,e.note?(0,l.jsxs)("span",{style:{color:"var(--text-faint)"},children:[" \xb7 ",e.note]}):null]}),e.context||e.inputCost||e.outputCost?(0,l.jsxs)("span",{style:{fontSize:9.5,color:"var(--text-faint)",fontFamily:"var(--mono-font)"},children:[e.context?`${W(e.context)} ${i("models.pop.ctx")}`:"",e.inputCost||e.outputCost?` $${e.inputCost}/${e.outputCost}`:"",e.caps?.vision?` ${i("models.cap.vision")}`:"",e.caps?.reasoning?` ${i("models.cap.reasoning")}`:"",e.caps?.tools?` ${i("models.cap.tools")}`:""]}):null]}),e.version&&(0,l.jsxs)("span",{className:"chip-sm",style:{fontSize:10},children:["v",e.version]})]},e.id))]})}function q({hw:e,ollamaUp:a,ollamaInstalled:s,installed:i,locals:d,llamaUp:c,llamaInstalled:m,llamaModel:p}){let h,u,x=(0,A.k)(),[v,g]=(0,n.useState)(c?"running":m?"stopped":"not-installed"),[f,j]=(0,n.useState)(p),[b,I]=(0,n.useState)([{c:c?"lg-ok":m?"lg-dim":"lg-warn",t:c?x("models.log.serving",{model:p??x("models.log.aModel")}):m?x("models.log.stopped"):x("models.log.notInstalled")}]),[M,z]=(0,n.useState)(d[0]?.id??""),[_,R]=(0,n.useState)(m),[L,$]=(0,n.useState)(""),[P,G]=(0,n.useState)(""),[U,E]=(0,n.useState)(!1),[D,O]=(0,n.useState)("all"),[,W]=(0,n.useTransition)(),K=Y(e.vram),X=Y(e.ram),Z="Metal"===e.backend?"Metal":"GPU",ee=T.map(e=>({g:e,fit:function(e,a,s,l="GPU"){return a>0?1.2*e<=a?{key:"fitsUnit",unit:l,tone:"ok"}:e<=a?{key:"tightUnit",unit:l,tone:"tight"}:e<=2*a?{key:"partialOffload",tone:"tight"}:{key:"cpuOnly",tone:"no"}:s>0?1.1*e<=s?{key:"runsOnCpu",tone:"tight"}:{key:"tooBig",tone:"no"}:{key:"",tone:"tight"}}(e.sizeBytes,K,X,Z)})).filter(({g:e})=>"all"===D||e.kind===D).filter(({g:e})=>!P.trim()||e.name.toLowerCase().includes(P.toLowerCase())).filter(({fit:e})=>!U||"no"!==e.tone),[ea,es]=(0,n.useState)(null);function el(e){W(async()=>{g("booting"),I(e=>[...e,{c:"lg-dim",t:"$ llama-server"}]);let a=await B(e||M||void 0);g(a.up?"running":a.installed?"stopped":"not-installed"),I(e=>[...e,...a.log.map(e=>({c:a.up?"lg-ok":"lg-warn",t:e}))])})}let en="running"===v?x("models.srv.running"):"booting"===v?x("models.srv.working"):"not-installed"===v?x("models.srv.notInstalled"):x("models.srv.stopped");return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"lr-grid",children:[(0,l.jsxs)("div",{className:"hw-card",children:[(0,l.jsxs)("div",{className:"hw-head",children:[(0,l.jsx)("span",{className:"hw-ic",children:(0,l.jsx)(t.I,{name:"cpu",size:19})}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"hw-t",children:x("models.hw.detected")}),(0,l.jsx)("div",{className:"hw-s",children:x("models.hw.autoProbed")})]}),(0,l.jsx)("span",{className:"hw-badge",children:e.backend})]}),(0,l.jsxs)("div",{className:"hw-rows",children:[(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:"CPU"}),(0,l.jsx)("div",{className:"hi-v",children:e.cpu})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:x("models.hw.cores")}),(0,l.jsx)("div",{className:"hi-v",children:e.cores})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:x("models.hw.memory")}),(0,l.jsx)("div",{className:"hi-v",children:e.ram})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:"GPU"}),(0,l.jsx)("div",{className:"hi-v",children:e.gpu})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:"VRAM"}),(0,l.jsx)("div",{className:"hi-v",children:e.vram})]}),(0,l.jsxs)("div",{className:"hw-item",children:[(0,l.jsx)("div",{className:"hi-k",children:x("models.hw.diskFree")}),(0,l.jsx)("div",{className:"hi-v",children:e.diskFree})]})]}),(0,l.jsxs)("div",{className:"hw-badges",children:[e.accel.map(e=>(0,l.jsx)("span",{className:"hw-badge",style:{background:"var(--bg-active)",color:"var(--text-dim)"},children:e},e)),(0,l.jsx)("span",{className:"hw-badge",children:x("models.hw.recommended",{quant:e.recommendedQuant})}),(0,l.jsx)("span",{className:"hw-badge",children:x("models.hw.max",{params:e.maxParams})})]})]}),(0,l.jsxs)("div",{className:"hw-card",children:[(0,l.jsxs)("div",{className:"hw-head",children:[(0,l.jsx)("span",{className:"hw-ic",children:(0,l.jsx)(t.I,{name:"terminal",size:19})}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"hw-t",children:x("models.llama.title")}),(0,l.jsx)("div",{className:"hw-s",children:x("models.llama.sub")})]}),(0,l.jsx)(r.W,{id:"llamacpp",size:22})]}),(0,l.jsxs)("div",{className:"srv-status",children:[(0,l.jsx)("span",{className:"srv-dot "+("running"===v?"run":"booting"===v?"boot":"stop")}),(0,l.jsxs)("div",{className:"srv-meta",children:[(0,l.jsx)("div",{className:"sm-t",children:en}),(0,l.jsxs)("div",{className:"sm-s",children:["127.0.0.1:8082 \xb7 ",f||x("models.srv.noModel")]})]}),(0,l.jsxs)("button",{className:"running"===v?"btn-ghost":"btn-accent",onClick:()=>"running"===v?void W(async()=>{g("booting");let e=await y();g("stopped"),j(null),I(a=>[...a,...e.log.map(e=>({c:"lg-warn",t:e}))])}):el(),disabled:"booting"===v||"running"!==v&&0===d.length,children:["booting"===v?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"running"===v?"close":"goto",size:13}),"running"===v?x("models.srv.stopBtn"):"booting"===v?x("models.srv.working"):x("models.srv.startBtn")]})]}),"running"!==v&&d.length>0&&(0,l.jsx)("div",{style:{marginBottom:8},children:(0,l.jsx)(o.m,{value:M,options:d.map(e=>({value:e.id,label:e.name})),onChange:z,mono:!0})}),(0,l.jsxs)("div",{className:"srv-stats",children:[(0,l.jsxs)("div",{className:"srv-stat",children:[(0,l.jsx)("div",{className:"ss-v",children:d.length}),(0,l.jsx)("div",{className:"ss-k",children:x("models.srv.ggufModels")})]}),(0,l.jsxs)("div",{className:"srv-stat",children:[(0,l.jsx)("div",{className:"ss-v",children:"running"===v?x("common.on"):x("common.off")}),(0,l.jsx)("div",{className:"ss-k",children:x("models.srv.serverLabel")})]}),(0,l.jsxs)("div",{className:"srv-stat",children:[(0,l.jsx)("div",{className:"ss-v",children:e.backend}),(0,l.jsx)("div",{className:"ss-k",children:x("models.srv.backendLabel")})]})]}),!_&&(0,l.jsxs)("div",{style:{marginTop:8,display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,l.jsxs)("button",{className:"btn-accent",disabled:"install"===L,onClick:function(){W(async()=>{$("install"),es(null),I(e=>[...e,{c:"lg-dim",t:x("models.log.installing")}]);let e=setInterval(()=>{fetch("/api/models/progress?id=llama-server").then(e=>e.json()).then(e=>{e&&es({received:e.received,total:e.total})}).catch(()=>{})},600);try{let e=await k();$(""),R(e.installed),e.installed&&"not-installed"===v&&g("stopped"),I(a=>[...a,...e.log.map(a=>({c:e.ok?"lg-ok":"lg-warn",t:a})),...e.error?[{c:"lg-warn",t:e.error}]:[]])}finally{clearInterval(e),es(null)}})},children:["install"===L?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"goto",size:13})," ","install"===L?null!==(h=ea&&ea.total>0?Math.round(ea.received/ea.total*100):null)?x("models.install.installingPct",{pct:h}):x("models.install.installingEllipsis"):x("models.install.installLlama")]}),(0,l.jsx)("a",{className:"link-btn",style:{fontSize:11},href:"https://github.com/ggml-org/llama.cpp/releases",target:"_blank",rel:"noreferrer",children:x("models.install.manualInstall")}),"install"===L&&(u=ea&&ea.total>0?Math.min(100,Math.round(ea.received/ea.total*100)):null,(0,l.jsxs)("div",{style:{flex:"1 1 180px",minWidth:150},children:[(0,l.jsx)("div",{style:{height:4,background:"var(--bg-active)",borderRadius:3,overflow:"hidden"},children:(0,l.jsx)("div",{className:null===u?"sync-spin":"",style:{height:"100%",width:(u??12)+"%",background:"var(--accent)",transition:"width .3s"}})}),(0,l.jsx)("div",{style:{fontSize:10,color:"var(--text-faint)",marginTop:3,fontFamily:"var(--mono-font)"},children:null!==u&&ea?`${u}% \xb7 ${F(ea.received)} / ${F(ea.total)}`:ea&&ea.received>0?x("models.dl.downloaded",{size:F(ea.received)}):x("models.dl.startingDownload")})]}))]}),(0,l.jsx)("div",{className:"srv-log scroll",children:b.map((e,a)=>(0,l.jsx)("div",{className:e.c,children:e.t},a))})]}),(0,l.jsx)(V,{})]}),(0,l.jsxs)("div",{className:"view-section-title",children:[x("models.installed.title")," ",(0,l.jsxs)("span",{style:{fontWeight:400,color:"var(--text-faint)"},children:["\xb7 llama.cpp GGUF",s?" + Ollama":""," \xb7 ",x("models.installed.boundTo")," 127.0.0.1"]})]}),(0,l.jsx)("div",{className:"tbl-wrap",children:(0,l.jsxs)("table",{className:"tbl",style:{marginBottom:24},children:[(0,l.jsx)("thead",{children:(0,l.jsxs)("tr",{children:[(0,l.jsx)("th",{children:x("common.name")}),(0,l.jsx)("th",{children:x("models.col.source")}),(0,l.jsx)("th",{children:x("models.col.params")}),(0,l.jsx)("th",{children:x("models.col.size")}),(0,l.jsx)("th",{children:x("models.col.bind")}),(0,l.jsx)("th",{children:x("common.status")}),(0,l.jsx)("th",{style:{textAlign:"right"},children:x("common.actions")})]})}),(0,l.jsxs)("tbody",{children:[d.map(e=>{let a="running"===v&&f&&e.name.includes(f);return(0,l.jsxs)("tr",{children:[(0,l.jsx)("td",{children:(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,l.jsx)(H,{name:e.name,size:24})," ",e.name]})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"chip-sm",children:e.quant||"gguf"})}),(0,l.jsx)("td",{style:{color:"var(--text-dim)",fontSize:12},children:e.params||"—"}),(0,l.jsx)("td",{style:{fontFamily:"var(--mono-font)",fontSize:12,color:"var(--text-dim)"},children:e.sizeBytes?F(e.sizeBytes):"—"}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"lr-mono",children:e.bind})}),(0,l.jsx)("td",{children:a?(0,l.jsx)("span",{className:"pill",style:{background:"var(--sx-string)22",color:"var(--sx-string)"},children:x("models.pill.serving")}):(0,l.jsxs)("span",{className:"pill",style:{background:"var(--sx-string)22",color:"var(--sx-string)"},children:["✓ ",x("models.pill.verified")]})}),(0,l.jsx)("td",{children:(0,l.jsxs)("div",{className:"row-actions",children:[(0,l.jsx)("button",{className:"iact accent",title:x("models.title.serveModel"),disabled:L===e.id,onClick:()=>{$(e.id),z(e.id),j(e.name),el(e.id),setTimeout(()=>$(""),500)},children:L===e.id?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:14})}):(0,l.jsx)(t.I,{name:"goto",size:14})}),(0,l.jsx)("button",{className:"iact danger",title:x("common.uninstall"),onClick:()=>W(()=>N(e.id)),children:(0,l.jsx)(t.I,{name:"trash",size:14})})]})})]},"g-"+e.id)}),i.map(e=>(0,l.jsxs)("tr",{children:[(0,l.jsx)("td",{children:(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,l.jsx)(r.W,{id:"ollama",size:24})," ",e.name]})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"chip-sm",children:"ollama"})}),(0,l.jsx)("td",{style:{color:"var(--text-faint)",fontSize:12},children:"—"}),(0,l.jsx)("td",{style:{fontFamily:"var(--mono-font)",fontSize:12,color:"var(--text-dim)"},children:e.size?F(e.size):"—"}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"lr-mono",children:"127.0.0.1:11434"})}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{className:"pill",style:{background:"var(--text-dim)22",color:"var(--text-dim)"},children:x("models.pill.legacy")})}),(0,l.jsx)("td",{children:(0,l.jsx)("div",{className:"row-actions",children:(0,l.jsx)("button",{className:"iact danger",title:x("common.remove"),onClick:()=>W(()=>w(e.name)),children:(0,l.jsx)(t.I,{name:"trash",size:14})})})})]},"o-"+e.name)),0===i.length&&0===d.length&&(0,l.jsx)("tr",{children:(0,l.jsx)("td",{colSpan:7,style:{textAlign:"center",color:"var(--text-faint)",padding:18},children:x("models.empty.local")})})]})]})}),(0,l.jsxs)("div",{className:"view-section-title",style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,l.jsxs)("span",{children:[x("models.available.title")," ",(0,l.jsxs)("span",{style:{fontWeight:400,color:"var(--text-faint)"},children:["\xb7 ",ee.length,"/",T.length," GGUF (HuggingFace) \xb7 ",x("models.available.fitChecked",{target:"—"!==e.gpu&&K?`${e.vram} VRAM`:"CPU"})]})]}),(0,l.jsxs)("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,l.jsxs)("div",{className:"cs-bar",style:{margin:0,padding:"5px 9px",width:200},children:[(0,l.jsx)(t.I,{name:"search",size:12}),(0,l.jsx)("input",{placeholder:x("models.filterModels"),value:P,onChange:e=>G(e.target.value),style:{fontWeight:400}})]}),(0,l.jsx)("div",{className:"seg",style:{width:280},children:["all","chat","code","reasoning","embed"].map(e=>(0,l.jsx)("button",{className:"seg-opt"+(D===e?" on":""),onClick:()=>O(e),style:{fontSize:11},children:x(`models.kind.${e}`)},e))}),(0,l.jsx)("button",{className:"cs-tog"+(U?" on":""),onClick:()=>E(e=>!e),title:x("models.title.hideTooBig"),style:{fontFamily:"inherit",fontWeight:600},children:x("models.fitsOnly")})]})]}),(0,l.jsxs)("div",{className:"cards-grid",style:{gridTemplateColumns:"repeat(auto-fill, minmax(330px, 1fr))",gap:12},children:[ee.map(({g:e,fit:a})=>{let s=d.find(a=>a.name===e.name);return(0,l.jsx)(J,{glyph:"llamacpp",brandFromName:!0,name:e.name,repo:e.url.replace("https://huggingface.co/",""),tags:[e.params,e.quant,F(e.sizeBytes)],fit:a,action:()=>S(e.id),progressId:e.id,installed:!!s,onUninstall:s?()=>N(s.id):void 0},e.id)}),0===ee.length&&(0,l.jsx)("div",{className:"muted",style:{fontSize:12,padding:14},children:x("models.empty.noMatch")}),s&&Q.filter(e=>!i.some(a=>a.name===e.name)).map(e=>(0,l.jsx)(J,{glyph:"ollama",name:e.label,repo:e.name,tags:[e.kind,e.size,x("models.pill.legacy")],note:e.note,action:()=>(0,C.j)(e.name)},e.name))]}),a&&(0,l.jsxs)("div",{className:"muted",style:{fontSize:11.5,marginTop:10},children:[(0,l.jsx)(t.I,{name:"terminal",size:12})," ",x("models.ollamaRunning")]})]})}function H({name:e,size:a=36}){let s=function(e){for(let[a,s]of d)if(a.test(e))return`https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg/icons/${s}.svg`;return null}(e),[t,i]=(0,n.useState)(!1);if(!s||t)return(0,l.jsx)(r.W,{id:"llamacpp",size:a});let o=Math.round(.28*a),c=Math.round(.66*a);return(0,l.jsx)("span",{style:{width:a,height:a,flex:`0 0 ${a}px`,borderRadius:o,background:"#fff",display:"grid",placeItems:"center",overflow:"hidden",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.08)"},children:(0,l.jsx)("img",{src:s,alt:"",width:c,height:c,loading:"lazy",onError:()=>i(!0),style:{width:c,height:c,objectFit:"contain",display:"block"}})})}function V(){let e=(0,A.k)(),[a,s]=(0,n.useState)(null),[i,d]=(0,n.useState)(""),[o,c]=(0,n.useState)(""),[,m]=(0,n.useTransition)();(0,n.useEffect)(()=>{I().then(s).catch(()=>{})},[]);let p=a?.up?"run":(a?.installed,"stop"),h=a?a.up?e("models.embed.live"):a.installed?e("models.embed.installedStopped"):e("models.embed.noModel"):e("models.embed.checking");return(0,l.jsxs)("div",{className:"hw-card",children:[(0,l.jsxs)("div",{className:"hw-head",children:[(0,l.jsx)("span",{className:"hw-ic",children:(0,l.jsx)(t.I,{name:"pulse",size:19})}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"hw-t",children:e("models.embed.title")}),(0,l.jsx)("div",{className:"hw-s",children:e("models.embed.sub")})]}),(0,l.jsx)(r.W,{id:"llamacpp",size:22})]}),(0,l.jsxs)("div",{className:"srv-status",children:[(0,l.jsx)("span",{className:"srv-dot "+p}),(0,l.jsxs)("div",{className:"srv-meta",children:[(0,l.jsx)("div",{className:"sm-t",children:h}),(0,l.jsxs)("div",{className:"sm-s",children:["127.0.0.1:8083 \xb7 ",a?.model??"nomic-embed-text"]})]}),a&&!a.up&&a.installed&&(0,l.jsxs)("button",{className:"btn-accent",disabled:"start"===i,onClick:function(){d("start"),c(e("models.embed.starting")),m(async()=>{let a=await M();d(""),c(a.up?"":a.reason??e("models.embed.startFailed")),s(e=>e?{...e,up:a.up,model:a.model??e.model}:e)})},children:["start"===i?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"goto",size:13})," ",e("common.start")]}),a?.up&&(0,l.jsxs)("button",{className:"btn-ghost",disabled:"reindex"===i,onClick:function(){d("reindex"),c(e("models.embed.indexing")),m(async()=>{let a=await z();d(""),c(a.ok?e(a.embedded?"models.embed.indexedSemantic":"models.embed.indexedKeyword",{n:a.chunks}):e("models.embed.indexFailed")),I().then(s).catch(()=>{})})},children:["reindex"===i?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:13})}):(0,l.jsx)(t.I,{name:"refresh",size:13})," ",e("models.embed.reindex")]})]}),a&&!a.installed&&(0,l.jsxs)("div",{className:"form-hint",style:{marginTop:8},children:[(0,l.jsx)(t.I,{name:"add",size:12})," ",e("models.embed.downloadHintBefore")," ",(0,l.jsx)("b",{style:{color:"var(--text)"},children:"nomic-embed-text-v1.5"})," ",e("models.embed.downloadHintAfter")]}),o&&(0,l.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",marginTop:8},children:o})]})}function Y(e){let a=/([\d.]+)\s*(TB|GB|MB|KB|B)?/i.exec(e||"");if(!a)return 0;let s=parseFloat(a[1]),l=(a[2]||"B").toUpperCase();return s*("TB"===l?1e12:"GB"===l?1e9:"MB"===l?1e6:"KB"===l?1e3:1)}let X={ok:"var(--sx-string)",tight:"var(--sx-number)",no:"#e8688f"};function J({glyph:e,name:a,repo:s,tags:i,note:d,action:o,installed:c,onUninstall:m,fit:p,brandFromName:h,progressId:u}){let x=(0,A.k)(),[v,g]=(0,n.useState)("idle"),[f,j]=(0,n.useState)(!1),[b,k]=(0,n.useState)(""),[B,y]=(0,n.useState)(null),[,N]=(0,n.useTransition)(),w=B&&B.total>0?Math.min(100,Math.round(B.received/B.total*100)):null;async function S(){let e;g("working"),k(""),y(null),u&&(e=setInterval(()=>{fetch(`/api/models/progress?id=${encodeURIComponent(u)}`).then(e=>e.json()).then(e=>{e&&y({received:e.received,total:e.total})}).catch(()=>{})},600));try{let e=await o();g(e.ok?"done":"error"),k(e.ok?"":e.error??x("models.dl.failed"))}finally{e&&clearInterval(e),y(null)}}return(0,l.jsxs)("div",{className:"dl-card",children:[h?(0,l.jsx)(H,{name:a,size:36}):(0,l.jsx)(r.W,{id:e,size:36}),(0,l.jsxs)("div",{className:"dl-main",children:[(0,l.jsx)("div",{className:"dl-name",children:a}),(0,l.jsx)("div",{className:"dl-repo",title:s,children:s.length>46?s.slice(0,46)+"…":s}),(0,l.jsxs)("div",{className:"dl-tags",children:[i.map(e=>(0,l.jsx)("span",{className:"dl-tag",children:e},e)),p&&p.key&&(0,l.jsx)("span",{className:"dl-tag",style:{color:X[p.tone],borderColor:X[p.tone]},children:x(`models.fit.${p.key}`,{unit:p.unit??""})})]}),d&&(0,l.jsx)("div",{style:{fontSize:11,color:"var(--text-faint)",marginTop:4},children:d}),b&&(0,l.jsx)("div",{style:{fontSize:11,color:"error"===v?"var(--sx-keyword)":"var(--sx-string)",marginTop:4},children:b}),"working"===v&&u&&(0,l.jsxs)("div",{style:{marginTop:6},children:[(0,l.jsx)("div",{style:{height:4,background:"var(--bg-active)",borderRadius:3,overflow:"hidden"},children:(0,l.jsx)("div",{className:null===w?"sync-spin":"",style:{height:"100%",width:(w??12)+"%",background:"var(--accent)",transition:"width .3s"}})}),(0,l.jsx)("div",{style:{fontSize:10,color:"var(--text-faint)",marginTop:3,fontFamily:"var(--mono-font)"},children:null!==w&&B?`${w}% \xb7 ${F(B.received)} / ${F(B.total)}`:B&&B.received>0?x("models.dl.downloaded",{size:F(B.received)}):x("models.dl.starting")})]})]}),(0,l.jsx)("div",{className:"dl-right",children:c&&!f||"done"===v?m?(0,l.jsxs)("button",{className:"act-btn",disabled:"working"===v,onClick:()=>N(async()=>{g("working"),k(x("models.dl.removing"));let e=await m();e.ok?(j(!0),g("idle"),k("")):(g("error"),k(e.error??x("models.dl.failed")))}),children:["working"===v?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:11})}):(0,l.jsx)(t.I,{name:"trash",size:11})," ","working"===v?x("models.dl.removingBtn"):x("common.uninstall")]}):(0,l.jsxs)("span",{className:"act-btn",style:{color:"var(--sx-string)"},children:[(0,l.jsx)(t.I,{name:"check",size:11})," ",x("models.dl.installed")]}):(0,l.jsxs)("button",{className:"act-btn accent",disabled:"working"===v,onClick:S,children:["working"===v?(0,l.jsx)("span",{className:"sync-spin",children:(0,l.jsx)(t.I,{name:"refresh",size:11})}):(0,l.jsx)(t.I,{name:"add",size:11})," ","working"===v?null!==w?w+"%":x("models.dl.pulling"):x("common.download")]})})]})}function Z({agents:e,providers:a}){let s=(0,A.k)(),[r,d]=(0,n.useState)(e),[m,p]=(0,n.useState)(!1),[,h]=(0,n.useTransition)(),u=(0,n.useMemo)(()=>{let e=new Set,s=[];for(let l of a)e.has(l.adapter)||(e.add(l.adapter),s.push({value:l.adapter,label:l.displayName,glyphId:l.catalogId}));return s},[a]);function x(e,a){d(s=>s.map(s=>s.id===e?{...s,...a}:s)),p(!1)}return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16},children:[(0,l.jsx)("div",{className:"view-sub",style:{fontSize:13},children:s("models.perAgent.intro")}),(0,l.jsx)("div",{style:{marginLeft:"auto"},children:m?(0,l.jsxs)("span",{className:"oauth-ok",style:{padding:"6px 11px"},children:[(0,l.jsx)(t.I,{name:"check",size:13})," ",s("common.saved")]}):(0,l.jsxs)("button",{className:"btn-accent",onClick:function(){h(async()=>{for(let e of r)await (0,_.k)(e.id,{adapter:e.adapter,model:e.model});p(!0),setTimeout(()=>p(!1),1600)})},children:[(0,l.jsx)(t.I,{name:"check",size:13})," ",s("models.perAgent.saveAssignments")]})})]}),(0,l.jsx)("div",{className:"pa-grid",children:r.map(e=>{let n;return(0,l.jsxs)("div",{className:"pa-card",children:[(0,l.jsxs)("div",{className:"pa-head",children:[(0,l.jsx)(i.e,{name:e.name,color:e.color,size:36}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"pa-n",children:e.name}),(0,l.jsxs)("div",{className:"pa-r",children:[e.role," \xb7 @",e.handle]})]})]}),(0,l.jsxs)("div",{className:"pa-field",children:[(0,l.jsx)("div",{className:"pa-flabel",children:s("models.field.provider")}),(0,l.jsx)(o.m,{glyph:!0,searchable:!0,value:e.adapter,options:(n=e.adapter,u.some(e=>e.value===n)?u:[{value:n,label:n.replace(/^http_|^local_|^cli_|^sdk_/,"")+" \xb7 "+s("models.notConnected"),glyphId:n},...u]),onChange:a=>x(e.id,{adapter:a})})]}),(0,l.jsxs)("div",{className:"pa-field",children:[(0,l.jsx)("div",{className:"pa-flabel",children:s("models.field.model")}),(0,l.jsx)(c.Y,{adapter:e.adapter,value:e.model,onChange:a=>x(e.id,{model:a}),providers:a})]})]},e.id)})})]})}function ee({connectedIds:e,onClose:a}){let s=(0,A.k)(),[i,d]=(0,n.useState)(""),[o,c]=(0,n.useState)("all"),[m,p]=(0,n.useState)("all"),[h,u]=(0,n.useState)("all"),[x,v]=(0,n.useState)(null),[g,f]=(0,n.useState)(""),[,k]=(0,n.useTransition)(),B=(0,n.useMemo)(()=>Array.from(new Set(b.WQ.map(e=>e.category))),[]),y=(0,n.useMemo)(()=>Array.from(new Set(b.WQ.flatMap(e=>e.connectionTypes))),[]),N=(0,n.useMemo)(()=>Array.from(new Set(b.WQ.map(e=>e.status))),[]),w=i.trim().toLowerCase(),S=b.WQ.filter(e=>("all"===o||e.category===o)&&("all"===m||!!e.connectionTypes.includes(m))&&("all"===h||e.status===h)&&(!w||!!(e.displayName.toLowerCase().includes(w)||e.id.includes(w)||(e.notes??"").toLowerCase().includes(w)||e.defaultAdapter.includes(w))));function C(e,s){k(async()=>{await j(e,s),v(null),f(""),a()})}return(0,l.jsx)("div",{className:"cat-overlay",onMouseDown:a,children:(0,l.jsxs)("div",{className:"cat-modal",onMouseDown:e=>e.stopPropagation(),children:[(0,l.jsxs)("div",{className:"cat-head",children:[(0,l.jsxs)("div",{className:"cat-head-row",children:[(0,l.jsx)("div",{className:"cat-ico",style:{width:40,height:40,flexBasis:40},children:(0,l.jsx)(t.I,{name:"cpu",size:20})}),(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsx)("div",{className:"cat-title",children:s("models.catalog.title")}),(0,l.jsx)("div",{className:"cat-sub",children:s("models.catalog.sub",{n:b.WQ.length})})]}),(0,l.jsx)("button",{className:"dock-tool",onClick:a,children:(0,l.jsx)(t.I,{name:"close",size:16})})]}),(0,l.jsxs)("div",{className:"cat-search",children:[(0,l.jsx)(t.I,{name:"search",size:15}),(0,l.jsx)("input",{placeholder:s("models.catalog.searchPlaceholder"),value:i,autoFocus:!0,onChange:e=>d(e.target.value)})]})]}),(0,l.jsx)("div",{className:"cat-filters",children:(0,l.jsxs)("div",{className:"cat-fgroup",children:[(0,l.jsx)("span",{className:"fg-label",children:s("models.filter.category")}),(0,l.jsx)("button",{className:"cat-chip"+("all"===o?" on":""),onClick:()=>c("all"),children:s("common.all")}),B.map(e=>(0,l.jsx)("button",{className:"cat-chip"+(o===e?" on":""),onClick:()=>c(e),children:s(`models.cat.${e}`)},e))]})}),(0,l.jsxs)("div",{className:"cat-filters",style:{paddingTop:8,paddingBottom:8},children:[(0,l.jsxs)("div",{className:"cat-fgroup",children:[(0,l.jsx)("span",{className:"fg-label",children:s("models.filter.connection")}),(0,l.jsx)("button",{className:"cat-chip"+("all"===m?" on":""),onClick:()=>p("all"),children:s("common.all")}),y.map(e=>(0,l.jsx)("button",{className:"cat-chip"+(m===e?" on":""),onClick:()=>p(e),children:s(`models.conn.${e}`)},e))]}),(0,l.jsxs)("div",{className:"cat-fgroup",children:[(0,l.jsx)("span",{className:"fg-label",children:s("common.status")}),(0,l.jsx)("button",{className:"cat-chip"+("all"===h?" on":""),onClick:()=>u("all"),children:s("common.all")}),N.map(e=>(0,l.jsx)("button",{className:"cat-chip"+(h===e?" on":""),onClick:()=>u(e),children:s(`models.catStatus.${e}`)},e))]}),(0,l.jsx)("span",{className:"cat-count",children:s("models.catalog.shown",{n:S.length})})]}),(0,l.jsxs)("div",{className:"cat-grid",children:[0===S.length&&(0,l.jsx)("div",{className:"cat-empty",children:s("models.catalog.noMatch")}),S.map(a=>{let n=e.includes(a.id),i="available"===a.status||"experimental"===a.status||"requires_setup"===a.status;return(0,l.jsxs)("div",{className:"cat-card",children:[(0,l.jsxs)("div",{className:"cat-card-top",children:[(0,l.jsx)(r.W,{id:a.id,size:34}),(0,l.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,l.jsx)("div",{className:"cat-name",children:a.displayName}),(0,l.jsxs)("div",{className:"cat-meta",children:[s(`models.cat.${a.category}`)," \xb7 ",(0,l.jsx)("span",{style:{fontFamily:"var(--mono-font)"},children:a.defaultAdapter})]})]}),(0,l.jsx)("span",{className:"cat-stat",style:{background:P[a.status]+"22",color:P[a.status]},children:s(`models.catStatus.${a.status}`)})]}),a.notes&&(0,l.jsx)("div",{className:"cat-notes",children:a.notes}),(0,l.jsxs)("div",{className:"cat-caps",children:[a.supportsModelSync&&(0,l.jsx)("span",{className:"cap-tag sync",children:s("models.cap.sync")}),a.supportsVision&&(0,l.jsx)("span",{className:"cap-tag",children:s("models.cap.vision")}),a.supportsTools&&(0,l.jsx)("span",{className:"cap-tag",children:s("models.cap.tools")})]}),x===a.id?(0,l.jsxs)("div",{className:"cat-card-foot",style:{gap:6},children:[(0,l.jsx)("input",{className:"form-input mono",style:{flex:1,height:30},placeholder:s("models.apiKeyPlaceholder"),value:g,autoFocus:!0,onChange:e=>f(e.target.value),onKeyDown:e=>{"Enter"===e.key&&C(a.id,g)}}),(0,l.jsx)("button",{className:"act-btn accent",onClick:()=>C(a.id,g),children:s("common.save")})]}):(0,l.jsxs)("div",{className:"cat-card-foot",children:[(0,l.jsx)("div",{className:"cat-conn",children:a.connectionTypes.map(e=>(0,l.jsx)("span",{className:"conn-tag",children:s(`models.conn.${e}`)},e))}),n?(0,l.jsxs)("span",{className:"act-btn",style:{color:"var(--sx-string)",borderColor:"color-mix(in srgb, var(--sx-string) 40%, var(--border))"},children:[(0,l.jsx)(t.I,{name:"check",size:11})," ",s("common.connected")]}):i?(0,l.jsxs)("button",{className:"act-btn accent",onClick:()=>!a.supportsApiKey||a.connectionTypes.includes("local")||a.connectionTypes.includes("cli")?C(a.id):v(a.id),children:[(0,l.jsx)(t.I,{name:"add",size:11})," ",s("common.connect")]}):(0,l.jsx)("button",{className:"act-btn",disabled:!0,children:"planned"===a.status?s("models.catStatus.planned"):s("models.catStatus.unsupported")})]})]},a.id)})]})]})})}function ea({providers:e,locals:a,agents:s,hardware:i,ollamaUp:r,ollamaInstalled:d,installed:o,llamaUp:c,llamaInstalled:m,llamaModel:p}){let h=(0,A.k)(),[u,x]=(0,n.useState)("connected"),[v,g]=(0,n.useState)(!1),[f,j]=(0,n.useState)(null),k=e.filter(e=>"cloud"===e.kind),B=e.filter(e=>"cli"===e.kind),y=e.map(e=>e.catalogId),N=(0,n.useMemo)(()=>b.WQ.reduce((e,a)=>(e[a.status]=(e[a.status]??0)+1,e),{}),[]);(0,n.useEffect)(()=>{let e=()=>g(!0);return window.addEventListener("constella:models-catalog",e),()=>window.removeEventListener("constella:models-catalog",e)},[]);let w=[{id:"connected",label:h("models.tab.connected"),icon:"grid",badge:k.length+B.length},{id:"local",label:h("models.tab.local"),icon:"cpu"},{id:"agents",label:h("models.tab.perAgent"),icon:"agents"}];return(0,l.jsxs)("div",{style:{position:"relative"},children:[(0,l.jsxs)("div",{className:"dash-grid",style:{marginBottom:20},children:[(0,l.jsxs)("div",{className:"dash-card",style:{gridColumn:"span 3"},children:[(0,l.jsx)("h3",{children:h("models.kpi.catalog")}),(0,l.jsx)("div",{className:"kpi",children:b.WQ.length}),(0,l.jsx)("div",{className:"kpi-sub",children:h("models.kpi.providers")})]}),(0,l.jsxs)("div",{className:"dash-card",style:{gridColumn:"span 3"},children:[(0,l.jsx)("h3",{children:h("models.kpi.available")}),(0,l.jsx)("div",{className:"kpi",style:{color:"var(--sx-string)"},children:N.available??0}),(0,l.jsx)("div",{className:"kpi-sub",children:h("models.kpi.adaptersReady")})]}),(0,l.jsxs)("div",{className:"dash-card",style:{gridColumn:"span 3"},children:[(0,l.jsx)("h3",{children:h("models.kpi.planned")}),(0,l.jsx)("div",{className:"kpi",style:{color:"#f0a35e"},children:(N.planned??0)+(N.experimental??0)}),(0,l.jsx)("div",{className:"kpi-sub",children:h("models.kpi.plannedExperimental")})]}),(0,l.jsxs)("div",{className:"dash-card",style:{gridColumn:"span 3"},children:[(0,l.jsx)("h3",{children:h("models.kpi.connected")}),(0,l.jsx)("div",{className:"kpi",style:{color:"var(--accent)"},children:e.length}),(0,l.jsx)("div",{className:"kpi-sub",children:h("models.kpi.inWorkspace")})]})]}),(0,l.jsx)("div",{className:"seg-nav",children:w.map(e=>(0,l.jsxs)("button",{className:"seg-nav-btn"+(u===e.id?" on":""),onClick:()=>x(e.id),children:[(0,l.jsx)(t.I,{name:e.icon,size:14})," ",e.label,null!=e.badge&&(0,l.jsx)("span",{className:"sn-badge",children:e.badge})]},e.id))}),"connected"===u&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"view-section-title",children:["☁ ",h("models.section.cloud")]}),(0,l.jsx)(E,{rows:k,kind:"cloud",onViewModels:(e,a)=>{let s=a.currentTarget.getBoundingClientRect();j({row:e,pos:{x:s.left,y:s.bottom+6}})}}),(0,l.jsxs)("div",{className:"view-section-title",children:["⌘ ",h("models.section.cli")]}),(0,l.jsx)(E,{rows:B,kind:"cli",onViewModels:(e,a)=>{let s=a.currentTarget.getBoundingClientRect();j({row:e,pos:{x:s.left,y:s.bottom+6}})}})]}),"local"===u&&(0,l.jsx)(q,{hw:i,ollamaUp:r,ollamaInstalled:d,installed:o,locals:a,llamaUp:c,llamaInstalled:m,llamaModel:p}),"agents"===u&&(0,l.jsx)(Z,{agents:s,providers:e.map(e=>({id:e.id,adapter:e.adapter,catalogId:e.catalogId,displayName:e.displayName,kind:e.kind}))}),v&&(0,l.jsx)(ee,{connectedIds:y,onClose:()=>g(!1)}),f&&(0,l.jsx)(K,{row:f.row,pos:f.pos,onClose:()=>j(null)})]})}function es(){let e=(0,A.k)();return(0,l.jsxs)("button",{className:"btn-accent",onClick:()=>window.dispatchEvent(new CustomEvent("constella:models-catalog")),children:[(0,l.jsx)(t.I,{name:"grid",size:14})," ",e("models.catalog.title")]})}},1252:(e,a,s)=>{"use strict";s.d(a,{j:()=>n});var l=s(7814);let n=(0,l.createServerReference)("409889669d46218f902094aeecfb2b06fb3b04350b",l.callServer,void 0,l.findSourceMapURL,"pullModel")},1874:(e,a,s)=>{"use strict";s.d(a,{k:()=>n});var l=s(7814);let n=(0,l.createServerReference)("609026c40419ef4761b510ce3fa26fbc5536b4e033",l.callServer,void 0,l.findSourceMapURL,"saveAgentModel")},4403:(e,a,s)=>{"use strict";s.d(a,{Y:()=>m});var l=s(5076),n=s(8488),t=s(3728),i=s(5629);let r={cli_claude_code:[{value:"opus",label:"Claude Opus \xb7 most capable"},{value:"sonnet",label:"Claude Sonnet \xb7 balanced"},{value:"haiku",label:"Claude Haiku \xb7 fast"}],cli_codex:[{value:"gpt-5-codex",label:"GPT-5 Codex"},{value:"o4-mini",label:"o4-mini"}],cli_gemini:[{value:"gemini-2.5-pro",label:"Gemini 2.5 Pro"},{value:"gemini-2.5-flash",label:"Gemini 2.5 Flash"}],cli_openclaw:[{value:"(default)",label:"Configured default"},{value:"openai/gpt-5.4",label:"OpenAI \xb7 GPT-5.4"},{value:"anthropic/claude-sonnet-4",label:"Anthropic \xb7 Claude Sonnet 4"}],cli_hermes:[{value:"(default)",label:"Configured default"},{value:"anthropic/claude-sonnet-4.6",label:"Anthropic \xb7 Claude Sonnet 4.6"},{value:"openai/gpt-5.5",label:"OpenAI \xb7 GPT-5.5"}],cli_aider:[{value:"(default)",label:"Configured default"},{value:"anthropic/claude-sonnet-4-6",label:"Anthropic \xb7 Claude Sonnet 4.6"},{value:"openai/gpt-5.2",label:"OpenAI \xb7 GPT-5.2"},{value:"deepseek/deepseek-chat",label:"DeepSeek \xb7 Chat"}],cli_opencode:[{value:"(default)",label:"Configured default"},{value:"anthropic/claude-sonnet-4-6",label:"Anthropic \xb7 Claude Sonnet 4.6"},{value:"openai/gpt-5.2",label:"OpenAI \xb7 GPT-5.2"}],cli_copilot:[{value:"(default)",label:"Configured default"},{value:"claude-sonnet-4.5",label:"Claude Sonnet 4.5"},{value:"gpt-5",label:"GPT-5"}],cli_cursor:[{value:"(default)",label:"Configured default"},{value:"claude-4.5-sonnet",label:"Claude Sonnet 4.5"},{value:"gpt-5",label:"GPT-5"}],cli_cline:[{value:"(default)",label:"Configured default"}],cli_kilo:[{value:"(default)",label:"Configured default"}]};var d=s(6517),o=s(6355),c=s(9744);function m({adapter:e,value:a,onChange:s,providers:p}){let h=(0,i.k)(),u=function(e){let a=r[e]??null;if(!a)return null;let s=(0,d.L2)(e);return s?a.map(e=>{let a=s.find(a=>a.id===e.value);return a?{value:e.value,label:`${a.label} ${a.version}${a.note?" \xb7 "+a.note:""}`}:e}):a}(e),x=e.startsWith("local_"),[v,g]=(0,n.useState)(null),[f,j]=(0,n.useState)(""),b=p.find(a=>a.adapter===e);(0,n.useEffect)(()=>{if(u||x||!b){g(null),j(u||x?"":h("modelpicker.connectProvider"));return}let e=!0;return j(h("modelpicker.loading")),(0,o.A)(b.id).then(async({models:l})=>{if(!e)return;if(l.length){if(g(l.map(e=>{let a;return{value:e.id,label:e.name+(a=[],e.context&&a.push(e.context>=1e6?`${(e.context/1e6).toFixed(e.context%1e6?1:0)}M ctx`:`${Math.round(e.context/1e3)}K ctx`),(e.inputCost||e.outputCost)&&a.push(`$${e.inputCost}/${e.outputCost}`),a.length?" \xb7 "+a.join(" \xb7 "):"")+(e.isDefault?" \xb7 "+h("modelpicker.recommended"):"")}})),j(""),!a){let e=l.find(e=>e.isDefault)??l[0];e&&s(e.id)}return}let n=await (0,c.E)(b.id);e&&(g(n.models.map(e=>({value:e,label:e}))),j(n.error?n.error:n.models.length?h("modelpicker.syncProvider"):h("modelpicker.noModels")))}).catch(()=>{e&&(g([]),j(h("modelpicker.loadError")))}),()=>{e=!1}},[e,b?.id,!!u,x]);let k=x?[{value:a||"local",label:h("modelpicker.localGguf")}]:null,B=u??k??v??(a?[{value:a,label:a}]:[]),y=a&&!B.some(e=>e.value===a)?[{value:a,label:a},...B]:B;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.m,{mono:!0,value:a,options:y,placeholder:h("modelpicker.placeholder"),onChange:s}),f&&(0,l.jsx)("div",{className:"form-hint",style:{marginTop:4},children:f})]})}},4552:(e,a,s)=>{"use strict";s.d(a,{e:()=>n});var l=s(5076);function n({name:e,color:a,size:s=24,health:t,image:i}){let r=Math.max(6,Math.round(.3*s)),d=Math.round(.28*s),o=i?/^(data:|https?:|\/)/.test(i)?i:`/api/upload?path=${encodeURIComponent(i)}`:null;return(0,l.jsxs)("span",{style:{position:"relative",width:s,height:s,flex:`0 0 ${s}px`,display:"inline-block"},children:[o?(0,l.jsx)("img",{src:o,alt:e,width:s,height:s,style:{width:s,height:s,borderRadius:d,objectFit:"cover",display:"block"}}):(0,l.jsx)("span",{style:{width:s,height:s,borderRadius:d,background:a,color:"#fff",display:"grid",placeItems:"center",fontSize:Math.round(.42*s),fontWeight:700},children:(e[0]||"?").toUpperCase()}),t&&(0,l.jsx)("span",{style:{position:"absolute",right:-1,bottom:-1,width:r,height:r,borderRadius:"50%",background:"alive"===t?"var(--sx-string)":"stale"===t?"var(--sx-number)":"var(--text-faint)",border:"1.5px solid var(--bg-elevated)"}})]})}},4813:(e,a,s)=>{Promise.resolve().then(s.t.bind(s,3283,23)),Promise.resolve().then(s.bind(s,592)),Promise.resolve().then(s.bind(s,6425)),Promise.resolve().then(s.bind(s,6588)),Promise.resolve().then(s.bind(s,4414)),Promise.resolve().then(s.bind(s,4268)),Promise.resolve().then(s.bind(s,4942)),Promise.resolve().then(s.bind(s,2444)),Promise.resolve().then(s.bind(s,5787))},6355:(e,a,s)=>{"use strict";s.d(a,{A:()=>n});var l=s(7814);let n=(0,l.createServerReference)("40cae6ca72d49d4588d84cb2c59de457c7157a788a",l.callServer,void 0,l.findSourceMapURL,"listCatalogModels")},6517:(e,a,s)=>{"use strict";s.d(a,{L2:()=>n,Ov:()=>t});let l={cli_claude_code:[{id:"opus",label:"Claude Opus",version:"4.8",note:"most capable"},{id:"sonnet",label:"Claude Sonnet",version:"4.6",note:"balanced"},{id:"haiku",label:"Claude Haiku",version:"4.5",note:"fast"}],cli_codex:[{id:"gpt-5-codex",label:"GPT-5 Codex",version:"5"},{id:"o4-mini",label:"o4-mini",version:"o4"}],cli_gemini:[{id:"gemini-2.5-pro",label:"Gemini Pro",version:"2.5"},{id:"gemini-2.5-flash",label:"Gemini Flash",version:"2.5"}],cli_openclaw:[{id:"(default)",label:"OpenClaw",version:"default",note:"configured provider"},{id:"openai/gpt-5.4",label:"GPT",version:"5.4"},{id:"anthropic/claude-sonnet-4",label:"Claude Sonnet",version:"4"}],cli_hermes:[{id:"(default)",label:"Hermes",version:"default",note:"configured provider"},{id:"anthropic/claude-sonnet-4.6",label:"Claude Sonnet",version:"4.6"},{id:"openai/gpt-5.5",label:"GPT",version:"5.5"}],cli_aider:[{id:"(default)",label:"Aider",version:"default",note:"configured provider"},{id:"anthropic/claude-sonnet-4-6",label:"Claude Sonnet",version:"4.6"},{id:"openai/gpt-5.2",label:"GPT",version:"5.2"},{id:"deepseek/deepseek-chat",label:"DeepSeek Chat",version:""}],cli_opencode:[{id:"(default)",label:"OpenCode",version:"default",note:"configured provider"},{id:"anthropic/claude-sonnet-4-6",label:"Claude Sonnet",version:"4.6"},{id:"openai/gpt-5.2",label:"GPT",version:"5.2"}],cli_copilot:[{id:"(default)",label:"Copilot",version:"default",note:"configured provider"},{id:"claude-sonnet-4.5",label:"Claude Sonnet",version:"4.5"},{id:"gpt-5",label:"GPT",version:"5"}],cli_cursor:[{id:"(default)",label:"Cursor",version:"default",note:"configured provider"},{id:"claude-4.5-sonnet",label:"Claude Sonnet",version:"4.5"},{id:"gpt-5",label:"GPT",version:"5"}],cli_cline:[{id:"(default)",label:"Cline",version:"default",note:"configured provider"}],cli_kilo:[{id:"(default)",label:"Kilo Code",version:"default",note:"configured provider"}]};function n(e){return l[e]??null}function t(e){if(!e)return{label:"",version:""};let a=e.match(/(\d+(?:[.\-]\d+){0,2})(?!.*\d)/),s=a?a[1].replace(/-/g,"."):"";return{label:(a?e.slice(0,a.index).replace(/[-_.\s]+$/,""):e).split(/[-_.\s]+/).filter(Boolean).map(e=>/^(gpt|llm|api|ai)$/i.test(e)?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1)).join(" ")||e,version:s}}},9744:(e,a,s)=>{"use strict";s.d(a,{E:()=>n});var l=s(7814);let n=(0,l.createServerReference)("405061dc6346f5a7f9985340a32516015cf4963640",l.callServer,void 0,l.findSourceMapURL,"listProviderModels")}},e=>{e.O(0,[9219,3219,5332,8370,4263,6646,6834,7358],()=>e(e.s=4813)),_N_E=e.O()}]);