openclaw-cortex 1.1.0

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 (463) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +67 -0
  3. package/bin/cortex-ui.mjs +307 -0
  4. package/package.json +35 -0
  5. package/static/_app/env.js +1 -0
  6. package/static/_app/immutable/assets/0.CTZ7R4vC.css +1 -0
  7. package/static/_app/immutable/assets/2.D5MMRphb.css +1 -0
  8. package/static/_app/immutable/assets/4.Cst5sby_.css +1 -0
  9. package/static/_app/immutable/assets/KaTeX_AMS-Regular.BQhdFMY1.woff2 +0 -0
  10. package/static/_app/immutable/assets/KaTeX_AMS-Regular.DMm9YOAa.woff +0 -0
  11. package/static/_app/immutable/assets/KaTeX_AMS-Regular.DRggAlZN.ttf +0 -0
  12. package/static/_app/immutable/assets/KaTeX_Caligraphic-Bold.ATXxdsX0.ttf +0 -0
  13. package/static/_app/immutable/assets/KaTeX_Caligraphic-Bold.BEiXGLvX.woff +0 -0
  14. package/static/_app/immutable/assets/KaTeX_Caligraphic-Bold.Dq_IR9rO.woff2 +0 -0
  15. package/static/_app/immutable/assets/KaTeX_Caligraphic-Regular.CTRA-rTL.woff +0 -0
  16. package/static/_app/immutable/assets/KaTeX_Caligraphic-Regular.Di6jR-x-.woff2 +0 -0
  17. package/static/_app/immutable/assets/KaTeX_Caligraphic-Regular.wX97UBjC.ttf +0 -0
  18. package/static/_app/immutable/assets/KaTeX_Fraktur-Bold.BdnERNNW.ttf +0 -0
  19. package/static/_app/immutable/assets/KaTeX_Fraktur-Bold.BsDP51OF.woff +0 -0
  20. package/static/_app/immutable/assets/KaTeX_Fraktur-Bold.CL6g_b3V.woff2 +0 -0
  21. package/static/_app/immutable/assets/KaTeX_Fraktur-Regular.CB_wures.ttf +0 -0
  22. package/static/_app/immutable/assets/KaTeX_Fraktur-Regular.CTYiF6lA.woff2 +0 -0
  23. package/static/_app/immutable/assets/KaTeX_Fraktur-Regular.Dxdc4cR9.woff +0 -0
  24. package/static/_app/immutable/assets/KaTeX_Main-Bold.Cx986IdX.woff2 +0 -0
  25. package/static/_app/immutable/assets/KaTeX_Main-Bold.Jm3AIy58.woff +0 -0
  26. package/static/_app/immutable/assets/KaTeX_Main-Bold.waoOVXN0.ttf +0 -0
  27. package/static/_app/immutable/assets/KaTeX_Main-BoldItalic.DxDJ3AOS.woff2 +0 -0
  28. package/static/_app/immutable/assets/KaTeX_Main-BoldItalic.DzxPMmG6.ttf +0 -0
  29. package/static/_app/immutable/assets/KaTeX_Main-BoldItalic.SpSLRI95.woff +0 -0
  30. package/static/_app/immutable/assets/KaTeX_Main-Italic.3WenGoN9.ttf +0 -0
  31. package/static/_app/immutable/assets/KaTeX_Main-Italic.BMLOBm91.woff +0 -0
  32. package/static/_app/immutable/assets/KaTeX_Main-Italic.NWA7e6Wa.woff2 +0 -0
  33. package/static/_app/immutable/assets/KaTeX_Main-Regular.B22Nviop.woff2 +0 -0
  34. package/static/_app/immutable/assets/KaTeX_Main-Regular.Dr94JaBh.woff +0 -0
  35. package/static/_app/immutable/assets/KaTeX_Main-Regular.ypZvNtVU.ttf +0 -0
  36. package/static/_app/immutable/assets/KaTeX_Math-BoldItalic.B3XSjfu4.ttf +0 -0
  37. package/static/_app/immutable/assets/KaTeX_Math-BoldItalic.CZnvNsCZ.woff2 +0 -0
  38. package/static/_app/immutable/assets/KaTeX_Math-BoldItalic.iY-2wyZ7.woff +0 -0
  39. package/static/_app/immutable/assets/KaTeX_Math-Italic.DA0__PXp.woff +0 -0
  40. package/static/_app/immutable/assets/KaTeX_Math-Italic.flOr_0UB.ttf +0 -0
  41. package/static/_app/immutable/assets/KaTeX_Math-Italic.t53AETM-.woff2 +0 -0
  42. package/static/_app/immutable/assets/KaTeX_SansSerif-Bold.CFMepnvq.ttf +0 -0
  43. package/static/_app/immutable/assets/KaTeX_SansSerif-Bold.D1sUS0GD.woff2 +0 -0
  44. package/static/_app/immutable/assets/KaTeX_SansSerif-Bold.DbIhKOiC.woff +0 -0
  45. package/static/_app/immutable/assets/KaTeX_SansSerif-Italic.C3H0VqGB.woff2 +0 -0
  46. package/static/_app/immutable/assets/KaTeX_SansSerif-Italic.DN2j7dab.woff +0 -0
  47. package/static/_app/immutable/assets/KaTeX_SansSerif-Italic.YYjJ1zSn.ttf +0 -0
  48. package/static/_app/immutable/assets/KaTeX_SansSerif-Regular.BNo7hRIc.ttf +0 -0
  49. package/static/_app/immutable/assets/KaTeX_SansSerif-Regular.CS6fqUqJ.woff +0 -0
  50. package/static/_app/immutable/assets/KaTeX_SansSerif-Regular.DDBCnlJ7.woff2 +0 -0
  51. package/static/_app/immutable/assets/KaTeX_Script-Regular.C5JkGWo-.ttf +0 -0
  52. package/static/_app/immutable/assets/KaTeX_Script-Regular.D3wIWfF6.woff2 +0 -0
  53. package/static/_app/immutable/assets/KaTeX_Script-Regular.D5yQViql.woff +0 -0
  54. package/static/_app/immutable/assets/KaTeX_Size1-Regular.C195tn64.woff +0 -0
  55. package/static/_app/immutable/assets/KaTeX_Size1-Regular.Dbsnue_I.ttf +0 -0
  56. package/static/_app/immutable/assets/KaTeX_Size1-Regular.mCD8mA8B.woff2 +0 -0
  57. package/static/_app/immutable/assets/KaTeX_Size2-Regular.B7gKUWhC.ttf +0 -0
  58. package/static/_app/immutable/assets/KaTeX_Size2-Regular.Dy4dx90m.woff2 +0 -0
  59. package/static/_app/immutable/assets/KaTeX_Size2-Regular.oD1tc_U0.woff +0 -0
  60. package/static/_app/immutable/assets/KaTeX_Size3-Regular.CTq5MqoE.woff +0 -0
  61. package/static/_app/immutable/assets/KaTeX_Size3-Regular.DgpXs0kz.ttf +0 -0
  62. package/static/_app/immutable/assets/KaTeX_Size4-Regular.BF-4gkZK.woff +0 -0
  63. package/static/_app/immutable/assets/KaTeX_Size4-Regular.DWFBv043.ttf +0 -0
  64. package/static/_app/immutable/assets/KaTeX_Size4-Regular.Dl5lxZxV.woff2 +0 -0
  65. package/static/_app/immutable/assets/KaTeX_Typewriter-Regular.C0xS9mPB.woff +0 -0
  66. package/static/_app/immutable/assets/KaTeX_Typewriter-Regular.CO6r4hn1.woff2 +0 -0
  67. package/static/_app/immutable/assets/KaTeX_Typewriter-Regular.D3Ib7_Hf.ttf +0 -0
  68. package/static/_app/immutable/chunks/-Dz179kp.js +1 -0
  69. package/static/_app/immutable/chunks/0A2p0G4C.js +1 -0
  70. package/static/_app/immutable/chunks/2EtD6e53.js +1 -0
  71. package/static/_app/immutable/chunks/2UxHyX5q.js +1 -0
  72. package/static/_app/immutable/chunks/3e1v2bzS.js +1 -0
  73. package/static/_app/immutable/chunks/4A_iFExJ.js +1 -0
  74. package/static/_app/immutable/chunks/5J0xJHOV.js +321 -0
  75. package/static/_app/immutable/chunks/5i3qLPDT.js +1 -0
  76. package/static/_app/immutable/chunks/83L43bj1.js +1 -0
  77. package/static/_app/immutable/chunks/85-TOEBH.js +1 -0
  78. package/static/_app/immutable/chunks/B-drBnSa.js +1 -0
  79. package/static/_app/immutable/chunks/B0m2ddpp.js +1 -0
  80. package/static/_app/immutable/chunks/B1dDrJ26.js +1 -0
  81. package/static/_app/immutable/chunks/B1yitclQ.js +1 -0
  82. package/static/_app/immutable/chunks/B2A7gHtL.js +2 -0
  83. package/static/_app/immutable/chunks/B3DkuU-J.js +1 -0
  84. package/static/_app/immutable/chunks/B5Fyld5U.js +1 -0
  85. package/static/_app/immutable/chunks/B6aJPvgy.js +1 -0
  86. package/static/_app/immutable/chunks/B7c-h3xW.js +1 -0
  87. package/static/_app/immutable/chunks/B7mTdjB0.js +1 -0
  88. package/static/_app/immutable/chunks/B7xXCP9k.js +65 -0
  89. package/static/_app/immutable/chunks/B93PlW-d.js +1 -0
  90. package/static/_app/immutable/chunks/BBf5iR-q.js +1 -0
  91. package/static/_app/immutable/chunks/BEDo0Tqx.js +1 -0
  92. package/static/_app/immutable/chunks/BERRCDM3.js +1 -0
  93. package/static/_app/immutable/chunks/BETggiCN.js +1 -0
  94. package/static/_app/immutable/chunks/BEwlwnbL.js +1 -0
  95. package/static/_app/immutable/chunks/BFfxhgS-.js +1 -0
  96. package/static/_app/immutable/chunks/BGHnOYBU.js +1 -0
  97. package/static/_app/immutable/chunks/BGJmEYvX.js +1 -0
  98. package/static/_app/immutable/chunks/BH7IYjvW.js +1 -0
  99. package/static/_app/immutable/chunks/BHpy7Gm-.js +7 -0
  100. package/static/_app/immutable/chunks/BIGW1oBm.js +1 -0
  101. package/static/_app/immutable/chunks/BJ7Hojwm.js +165 -0
  102. package/static/_app/immutable/chunks/BJDFO7_C.js +1 -0
  103. package/static/_app/immutable/chunks/BL5jzBAz.js +1 -0
  104. package/static/_app/immutable/chunks/BLmx8bSh.js +1 -0
  105. package/static/_app/immutable/chunks/BLtJtn59.js +1 -0
  106. package/static/_app/immutable/chunks/BM1_JUlF.js +1 -0
  107. package/static/_app/immutable/chunks/BMWR74SV.js +1 -0
  108. package/static/_app/immutable/chunks/BPQ3VLAy.js +1 -0
  109. package/static/_app/immutable/chunks/BQ8w6xss.js +1 -0
  110. package/static/_app/immutable/chunks/BR5kRUq4.js +1 -0
  111. package/static/_app/immutable/chunks/BRHolxvo.js +1 -0
  112. package/static/_app/immutable/chunks/BRZ36xJF.js +1 -0
  113. package/static/_app/immutable/chunks/BTJTHyun.js +1 -0
  114. package/static/_app/immutable/chunks/BTifaqeh.js +1 -0
  115. package/static/_app/immutable/chunks/BUw7H-hv.js +1 -0
  116. package/static/_app/immutable/chunks/BV7otONQ.js +1 -0
  117. package/static/_app/immutable/chunks/BVNfpfKI.js +1 -0
  118. package/static/_app/immutable/chunks/BVQ-GDCI.js +1 -0
  119. package/static/_app/immutable/chunks/BWvSN4gD.js +1 -0
  120. package/static/_app/immutable/chunks/BXkSAIEj.js +1 -0
  121. package/static/_app/immutable/chunks/BYXRTvT-.js +1 -0
  122. package/static/_app/immutable/chunks/BYunw83y.js +1 -0
  123. package/static/_app/immutable/chunks/BZvkOJ9d.js +1 -0
  124. package/static/_app/immutable/chunks/B_m7g4N7.js +1 -0
  125. package/static/_app/immutable/chunks/Ba13S78F.js +1 -0
  126. package/static/_app/immutable/chunks/BaaWV1KV.js +1 -0
  127. package/static/_app/immutable/chunks/BbxtiRj7.js +1 -0
  128. package/static/_app/immutable/chunks/BcOcwvcX.js +1 -0
  129. package/static/_app/immutable/chunks/BcVCzyr7.js +1 -0
  130. package/static/_app/immutable/chunks/BdImnpbu.js +1 -0
  131. package/static/_app/immutable/chunks/BdnUsdx6.js +1 -0
  132. package/static/_app/immutable/chunks/Be_uRYmX.js +1 -0
  133. package/static/_app/immutable/chunks/BfHTSMKl.js +1 -0
  134. package/static/_app/immutable/chunks/BfJx3WfE.js +1 -0
  135. package/static/_app/immutable/chunks/BfQbQz2e.js +1 -0
  136. package/static/_app/immutable/chunks/BfjtVDDH.js +1 -0
  137. package/static/_app/immutable/chunks/BgCckEu3.js +43 -0
  138. package/static/_app/immutable/chunks/BgDCqdQA.js +1 -0
  139. package/static/_app/immutable/chunks/BgIZa_E2.js +1 -0
  140. package/static/_app/immutable/chunks/BhOHFoWU.js +1 -0
  141. package/static/_app/immutable/chunks/BhRPY-oY.js +1 -0
  142. package/static/_app/immutable/chunks/BkioyH1T.js +1 -0
  143. package/static/_app/immutable/chunks/Bkuqu6BP.js +1 -0
  144. package/static/_app/immutable/chunks/BmXAJ9_W.js +1 -0
  145. package/static/_app/immutable/chunks/Bmn6On1c.js +1 -0
  146. package/static/_app/immutable/chunks/Bp6g37R7.js +1 -0
  147. package/static/_app/immutable/chunks/BpQpoErY.js +30 -0
  148. package/static/_app/immutable/chunks/BqTXFGrv.js +1 -0
  149. package/static/_app/immutable/chunks/BqYA7rlc.js +1 -0
  150. package/static/_app/immutable/chunks/Br6cN0cg.js +1 -0
  151. package/static/_app/immutable/chunks/BrzmwbiE.js +1 -0
  152. package/static/_app/immutable/chunks/BsS91CYL.js +1 -0
  153. package/static/_app/immutable/chunks/BspZqrRM.js +1 -0
  154. package/static/_app/immutable/chunks/BtCnVYZw.js +1 -0
  155. package/static/_app/immutable/chunks/BtEQkMu_.js +1 -0
  156. package/static/_app/immutable/chunks/BtOb2qkB.js +1 -0
  157. package/static/_app/immutable/chunks/BthQWCQV.js +1 -0
  158. package/static/_app/immutable/chunks/BtjpZpjN.js +1 -0
  159. package/static/_app/immutable/chunks/BtqSS_iP.js +1 -0
  160. package/static/_app/immutable/chunks/BtvRca6l.js +1 -0
  161. package/static/_app/immutable/chunks/Buea-lGh.js +1 -0
  162. package/static/_app/immutable/chunks/Bv_4Rxtq.js +1 -0
  163. package/static/_app/immutable/chunks/BvzEVeQv.js +1 -0
  164. package/static/_app/immutable/chunks/Bw305WKR.js +1 -0
  165. package/static/_app/immutable/chunks/BxgE0vQu.js +1 -0
  166. package/static/_app/immutable/chunks/ByZADglo.js +7 -0
  167. package/static/_app/immutable/chunks/BzJJZx-M.js +1 -0
  168. package/static/_app/immutable/chunks/BzadFaiy.js +162 -0
  169. package/static/_app/immutable/chunks/C-HG3fhB.js +1 -0
  170. package/static/_app/immutable/chunks/C-SQnVFl.js +1 -0
  171. package/static/_app/immutable/chunks/C-sUppwS.js +1 -0
  172. package/static/_app/immutable/chunks/C0HS_06l.js +1 -0
  173. package/static/_app/immutable/chunks/C0hk2d4L.js +1 -0
  174. package/static/_app/immutable/chunks/C151Ov-r.js +1 -0
  175. package/static/_app/immutable/chunks/C28nlFVT.js +1 -0
  176. package/static/_app/immutable/chunks/C2t-YnRu.js +1 -0
  177. package/static/_app/immutable/chunks/C39BiMTA.js +1 -0
  178. package/static/_app/immutable/chunks/C3B-1QV4.js +1 -0
  179. package/static/_app/immutable/chunks/C3Wv6jpd.js +1 -0
  180. package/static/_app/immutable/chunks/C3mMm8J8.js +1 -0
  181. package/static/_app/immutable/chunks/C47S-Tmv.js +1 -0
  182. package/static/_app/immutable/chunks/C4EeE6gA.js +1 -0
  183. package/static/_app/immutable/chunks/C4IJs8-o.js +1 -0
  184. package/static/_app/immutable/chunks/C4gqWexZ.js +1 -0
  185. package/static/_app/immutable/chunks/C5YyOfLZ.js +1 -0
  186. package/static/_app/immutable/chunks/C7zT0LnQ.js +1 -0
  187. package/static/_app/immutable/chunks/C8M2exoo.js +1 -0
  188. package/static/_app/immutable/chunks/C8SIHLmM.js +1 -0
  189. package/static/_app/immutable/chunks/C8lEn-DE.js +1 -0
  190. package/static/_app/immutable/chunks/C98Dy4si.js +1 -0
  191. package/static/_app/immutable/chunks/C9E63BpL.js +1 -0
  192. package/static/_app/immutable/chunks/C9XAeP06.js +1 -0
  193. package/static/_app/immutable/chunks/C9dUb6Cb.js +1 -0
  194. package/static/_app/immutable/chunks/C9oPPf7i.js +1 -0
  195. package/static/_app/immutable/chunks/C9tS-k6U.js +1 -0
  196. package/static/_app/immutable/chunks/CDVJQ6XC.js +1 -0
  197. package/static/_app/immutable/chunks/CDx5xZoG.js +1 -0
  198. package/static/_app/immutable/chunks/CEL-wOlO.js +1 -0
  199. package/static/_app/immutable/chunks/CEu0bR-o.js +1 -0
  200. package/static/_app/immutable/chunks/CF10PKvl.js +1 -0
  201. package/static/_app/immutable/chunks/CFHQjOhq.js +1 -0
  202. package/static/_app/immutable/chunks/CG6Dc4jp.js +1 -0
  203. package/static/_app/immutable/chunks/CG8Ifv2g.js +1 -0
  204. package/static/_app/immutable/chunks/CH1njM8p.js +1 -0
  205. package/static/_app/immutable/chunks/CHBK5X1w.js +68 -0
  206. package/static/_app/immutable/chunks/CHLpvVh8.js +1 -0
  207. package/static/_app/immutable/chunks/CHM0blh-.js +1 -0
  208. package/static/_app/immutable/chunks/CI2Yzjad.js +64 -0
  209. package/static/_app/immutable/chunks/CIyB7iq8.js +1 -0
  210. package/static/_app/immutable/chunks/CIznanO1.js +1 -0
  211. package/static/_app/immutable/chunks/CJc9bBzg.js +1 -0
  212. package/static/_app/immutable/chunks/CKIfxQSi.js +1 -0
  213. package/static/_app/immutable/chunks/CLxacb5B.js +1 -0
  214. package/static/_app/immutable/chunks/CM4QnuZs.js +4 -0
  215. package/static/_app/immutable/chunks/CMTm3GFP.js +1 -0
  216. package/static/_app/immutable/chunks/CMjwMIkn.js +1 -0
  217. package/static/_app/immutable/chunks/CO1LY3CK.js +1 -0
  218. package/static/_app/immutable/chunks/COcwbKMJ.js +1 -0
  219. package/static/_app/immutable/chunks/COkxafJQ.js +1 -0
  220. package/static/_app/immutable/chunks/COt5Ahok.js +1 -0
  221. package/static/_app/immutable/chunks/CPTuQiBa.js +10 -0
  222. package/static/_app/immutable/chunks/CQ8jqdy-.js +1 -0
  223. package/static/_app/immutable/chunks/CS3Unz2-.js +1 -0
  224. package/static/_app/immutable/chunks/CSXwinHm.js +1 -0
  225. package/static/_app/immutable/chunks/CSt7grsY.js +267 -0
  226. package/static/_app/immutable/chunks/CTLgUaOw.js +15 -0
  227. package/static/_app/immutable/chunks/CTRr51gU.js +1 -0
  228. package/static/_app/immutable/chunks/CVF7vp9Z.js +1 -0
  229. package/static/_app/immutable/chunks/CVO1_9PV.js +1 -0
  230. package/static/_app/immutable/chunks/CVdnzihN.js +1 -0
  231. package/static/_app/immutable/chunks/CW8IKDeL.js +1 -0
  232. package/static/_app/immutable/chunks/CXQ1lKJR.js +1 -0
  233. package/static/_app/immutable/chunks/CXtECtnM.js +1 -0
  234. package/static/_app/immutable/chunks/CXuqG_J2.js +24 -0
  235. package/static/_app/immutable/chunks/CZhp0h8q.js +1 -0
  236. package/static/_app/immutable/chunks/CaGTHgeg.js +1 -0
  237. package/static/_app/immutable/chunks/CaL1vZnA.js +1 -0
  238. package/static/_app/immutable/chunks/CafNBF8u.js +1 -0
  239. package/static/_app/immutable/chunks/CbFg5uaA.js +1 -0
  240. package/static/_app/immutable/chunks/CbWomDEd.js +145 -0
  241. package/static/_app/immutable/chunks/CbfX1IO0.js +1 -0
  242. package/static/_app/immutable/chunks/CckKNcSY.js +1 -0
  243. package/static/_app/immutable/chunks/CeAyd5Ju.js +1 -0
  244. package/static/_app/immutable/chunks/Cehz00B_.js +36 -0
  245. package/static/_app/immutable/chunks/CenWIFCC.js +1 -0
  246. package/static/_app/immutable/chunks/CfMaDYuo.js +1 -0
  247. package/static/_app/immutable/chunks/CfQXZHmo.js +1 -0
  248. package/static/_app/immutable/chunks/Cg-RD9OK.js +1 -0
  249. package/static/_app/immutable/chunks/Ch6_qw5b.js +1 -0
  250. package/static/_app/immutable/chunks/ChMvpjG-.js +1 -0
  251. package/static/_app/immutable/chunks/ChOWTdG8.js +1 -0
  252. package/static/_app/immutable/chunks/Ci3HlJdq.js +1 -0
  253. package/static/_app/immutable/chunks/Cj5Yp3dK.js +1 -0
  254. package/static/_app/immutable/chunks/CjW8XjqM.js +1 -0
  255. package/static/_app/immutable/chunks/CjoLj4QM.js +1 -0
  256. package/static/_app/immutable/chunks/CkAYskLX.js +1 -0
  257. package/static/_app/immutable/chunks/CkByrt1z.js +1 -0
  258. package/static/_app/immutable/chunks/CkXjmgJE.js +1 -0
  259. package/static/_app/immutable/chunks/CklMAg4u.js +1 -0
  260. package/static/_app/immutable/chunks/CktI4lAE.js +1 -0
  261. package/static/_app/immutable/chunks/Cl8IGKIC.js +1 -0
  262. package/static/_app/immutable/chunks/CmIQRyeF.js +1 -0
  263. package/static/_app/immutable/chunks/CmKTTxBW.js +1 -0
  264. package/static/_app/immutable/chunks/Cmh6b_Ma.js +1 -0
  265. package/static/_app/immutable/chunks/CnnebwVN.js +1 -0
  266. package/static/_app/immutable/chunks/CnnmHF94.js +1 -0
  267. package/static/_app/immutable/chunks/CnsnAmq5.js +1 -0
  268. package/static/_app/immutable/chunks/Co6uUVPk.js +1 -0
  269. package/static/_app/immutable/chunks/CoDkCxhg.js +1 -0
  270. package/static/_app/immutable/chunks/CoP9XEcB.js +1 -0
  271. package/static/_app/immutable/chunks/Cp-IABpG.js +1 -0
  272. package/static/_app/immutable/chunks/Cq5zzVJU.js +1 -0
  273. package/static/_app/immutable/chunks/CquLrc37.js +1 -0
  274. package/static/_app/immutable/chunks/CsfeWuGM.js +1 -0
  275. package/static/_app/immutable/chunks/Csfq5Kiy.js +1 -0
  276. package/static/_app/immutable/chunks/CuPHTKiy.js +1 -0
  277. package/static/_app/immutable/chunks/Cuk6v7N8.js +1 -0
  278. package/static/_app/immutable/chunks/CvQeaAIM.js +1 -0
  279. package/static/_app/immutable/chunks/Cvjx9yec.js +1 -0
  280. package/static/_app/immutable/chunks/CwdUHN22.js +10 -0
  281. package/static/_app/immutable/chunks/CwoSXNpI.js +1 -0
  282. package/static/_app/immutable/chunks/CxGSJlkm.js +1 -0
  283. package/static/_app/immutable/chunks/CxLEBnE3.js +1 -0
  284. package/static/_app/immutable/chunks/CxbxFI8M.js +1 -0
  285. package/static/_app/immutable/chunks/CyktbL80.js +1 -0
  286. package/static/_app/immutable/chunks/CylS5w8V.js +1 -0
  287. package/static/_app/immutable/chunks/CzTSHFRz.js +1 -0
  288. package/static/_app/immutable/chunks/D-2ljcwZ.js +1 -0
  289. package/static/_app/immutable/chunks/D0YGMca9.js +1 -0
  290. package/static/_app/immutable/chunks/D0h_xhSm.js +1 -0
  291. package/static/_app/immutable/chunks/D0r3Knsf.js +1 -0
  292. package/static/_app/immutable/chunks/D17OF-Vu.js +1 -0
  293. package/static/_app/immutable/chunks/D1j8_8rp.js +1 -0
  294. package/static/_app/immutable/chunks/D2qRk260.js +1 -0
  295. package/static/_app/immutable/chunks/D3lLCCz7.js +1 -0
  296. package/static/_app/immutable/chunks/D4_iv3hh.js +1 -0
  297. package/static/_app/immutable/chunks/D4h5O-jR.js +1 -0
  298. package/static/_app/immutable/chunks/D5-asLiD.js +1 -0
  299. package/static/_app/immutable/chunks/D53aC0YG.js +1 -0
  300. package/static/_app/immutable/chunks/D5KoaKCx.js +1 -0
  301. package/static/_app/immutable/chunks/D5qUzPtI.js +24 -0
  302. package/static/_app/immutable/chunks/D6tSezzf.js +2 -0
  303. package/static/_app/immutable/chunks/D7o27uSR.js +1 -0
  304. package/static/_app/immutable/chunks/D7oLnXFd.js +1 -0
  305. package/static/_app/immutable/chunks/D82EKSYY.js +1 -0
  306. package/static/_app/immutable/chunks/D87Tk5Gz.js +1 -0
  307. package/static/_app/immutable/chunks/D8_7TLub.js +1 -0
  308. package/static/_app/immutable/chunks/D93ZcfNL.js +1 -0
  309. package/static/_app/immutable/chunks/D97Zzqfu.js +1 -0
  310. package/static/_app/immutable/chunks/DAi9KRSo.js +1 -0
  311. package/static/_app/immutable/chunks/DBpX0yWo.js +1 -0
  312. package/static/_app/immutable/chunks/DDfwx6bG.js +1 -0
  313. package/static/_app/immutable/chunks/DFQXde-d.js +1 -0
  314. package/static/_app/immutable/chunks/DFWUc33u.js +1 -0
  315. package/static/_app/immutable/chunks/DFXneXwc.js +1 -0
  316. package/static/_app/immutable/chunks/DGztddWO.js +1 -0
  317. package/static/_app/immutable/chunks/DH5Ifo-i.js +1 -0
  318. package/static/_app/immutable/chunks/DHCkPAjA.js +1 -0
  319. package/static/_app/immutable/chunks/DHJKELXO.js +1 -0
  320. package/static/_app/immutable/chunks/DHLdr2oY.js +61 -0
  321. package/static/_app/immutable/chunks/DHQR4-dF.js +1 -0
  322. package/static/_app/immutable/chunks/DHfvhpat.js +220 -0
  323. package/static/_app/immutable/chunks/DID_Ax9Y.js +1 -0
  324. package/static/_app/immutable/chunks/DM8c43g1.js +1 -0
  325. package/static/_app/immutable/chunks/DMzUqQB5.js +1 -0
  326. package/static/_app/immutable/chunks/DNstp7By.js +1 -0
  327. package/static/_app/immutable/chunks/DPfMkruS.js +1 -0
  328. package/static/_app/immutable/chunks/DPrxUVm_.js +1 -0
  329. package/static/_app/immutable/chunks/DQyhUUbL.js +1 -0
  330. package/static/_app/immutable/chunks/DR4elm4u.js +1 -0
  331. package/static/_app/immutable/chunks/DRg8JJMk.js +1 -0
  332. package/static/_app/immutable/chunks/DRw_LuNl.js +1 -0
  333. package/static/_app/immutable/chunks/DU1UobuO.js +1 -0
  334. package/static/_app/immutable/chunks/DUszq2jm.js +1 -0
  335. package/static/_app/immutable/chunks/DV7GczEv.js +1 -0
  336. package/static/_app/immutable/chunks/DVFEvuxE.js +1 -0
  337. package/static/_app/immutable/chunks/DVMEJ2y_.js +1 -0
  338. package/static/_app/immutable/chunks/DVP7Iy08.js +1 -0
  339. package/static/_app/immutable/chunks/DVxCFoDh.js +1 -0
  340. package/static/_app/immutable/chunks/DWedfzmr.js +1 -0
  341. package/static/_app/immutable/chunks/DWrx1Km3.js +1 -0
  342. package/static/_app/immutable/chunks/DX6XiGOO.js +1 -0
  343. package/static/_app/immutable/chunks/DXbdFlpD.js +1 -0
  344. package/static/_app/immutable/chunks/DXmwc3jG.js +1 -0
  345. package/static/_app/immutable/chunks/DXvB9xmW.js +1 -0
  346. package/static/_app/immutable/chunks/DYoxhk2S.js +1 -0
  347. package/static/_app/immutable/chunks/DZf3V79B.js +1 -0
  348. package/static/_app/immutable/chunks/DZxFcAj9.js +1 -0
  349. package/static/_app/immutable/chunks/D_Q5rh1f.js +1 -0
  350. package/static/_app/immutable/chunks/Da5cRb03.js +1 -0
  351. package/static/_app/immutable/chunks/DaZJ10kq.js +1 -0
  352. package/static/_app/immutable/chunks/DcOAMOlN.js +13 -0
  353. package/static/_app/immutable/chunks/DcaNXYhu.js +1 -0
  354. package/static/_app/immutable/chunks/DctEUaEs.js +122 -0
  355. package/static/_app/immutable/chunks/Dd19v3D-.js +1 -0
  356. package/static/_app/immutable/chunks/DdkO51Og.js +1 -0
  357. package/static/_app/immutable/chunks/Ddpm2sMN.js +2 -0
  358. package/static/_app/immutable/chunks/Ddv68eIx.js +1 -0
  359. package/static/_app/immutable/chunks/Des-eS-w.js +1 -0
  360. package/static/_app/immutable/chunks/Df6bDoY_.js +1 -0
  361. package/static/_app/immutable/chunks/Dg5xB15N.js +1 -0
  362. package/static/_app/immutable/chunks/DhXJpUyf.js +261 -0
  363. package/static/_app/immutable/chunks/DjeNoAoh.js +1 -0
  364. package/static/_app/immutable/chunks/DkFqJrB1.js +1 -0
  365. package/static/_app/immutable/chunks/DkwncUOv.js +1 -0
  366. package/static/_app/immutable/chunks/DmOB1nMW.js +60 -0
  367. package/static/_app/immutable/chunks/DnULxvSX.js +1 -0
  368. package/static/_app/immutable/chunks/Dntbqd40.js +1 -0
  369. package/static/_app/immutable/chunks/DpBBTLWw.js +1 -0
  370. package/static/_app/immutable/chunks/Dpen1YoG.js +1 -0
  371. package/static/_app/immutable/chunks/DqQDbK_p.js +1 -0
  372. package/static/_app/immutable/chunks/DqwNpetd.js +1 -0
  373. package/static/_app/immutable/chunks/Dr0tKAg9.js +1 -0
  374. package/static/_app/immutable/chunks/DsOJ9woJ.js +1 -0
  375. package/static/_app/immutable/chunks/Dspwwk_N.js +1 -0
  376. package/static/_app/immutable/chunks/DsqENSWP.js +1 -0
  377. package/static/_app/immutable/chunks/Dv7Oe6Be.js +1 -0
  378. package/static/_app/immutable/chunks/DvCA51Ri.js +1 -0
  379. package/static/_app/immutable/chunks/Dx-B1_4e.js +1 -0
  380. package/static/_app/immutable/chunks/DxNHbxmM.js +1 -0
  381. package/static/_app/immutable/chunks/DxSwrfjg.js +1 -0
  382. package/static/_app/immutable/chunks/DyxjwDmM.js +1 -0
  383. package/static/_app/immutable/chunks/E3gJ1_iC.js +1 -0
  384. package/static/_app/immutable/chunks/FixhtMGQ.js +1 -0
  385. package/static/_app/immutable/chunks/Gi6I4Gst.js +1 -0
  386. package/static/_app/immutable/chunks/GsRaNv29.js +1 -0
  387. package/static/_app/immutable/chunks/IF9eRakj.js +1 -0
  388. package/static/_app/immutable/chunks/IeuSbFQv.js +1 -0
  389. package/static/_app/immutable/chunks/JSbxStMO.js +1 -0
  390. package/static/_app/immutable/chunks/KBP0Pl-D.js +1 -0
  391. package/static/_app/immutable/chunks/L9t79GZl.js +1 -0
  392. package/static/_app/immutable/chunks/Lsu8CQWQ.js +1 -0
  393. package/static/_app/immutable/chunks/MzD3tlZU.js +1 -0
  394. package/static/_app/immutable/chunks/P80f7IUj.js +1 -0
  395. package/static/_app/immutable/chunks/Pmp26Uib.js +1 -0
  396. package/static/_app/immutable/chunks/QIJgUcNo.js +1 -0
  397. package/static/_app/immutable/chunks/U2OjavRo.js +160 -0
  398. package/static/_app/immutable/chunks/VCDPK7BO.js +1 -0
  399. package/static/_app/immutable/chunks/VOosw3JB.js +1 -0
  400. package/static/_app/immutable/chunks/YqXBG_HV.js +1 -0
  401. package/static/_app/immutable/chunks/Yzrsuije.js +1 -0
  402. package/static/_app/immutable/chunks/Z4qYLg5o.js +249 -0
  403. package/static/_app/immutable/chunks/_ykCGR6B.js +1 -0
  404. package/static/_app/immutable/chunks/bCR0ucgS.js +1 -0
  405. package/static/_app/immutable/chunks/bN70gL4F.js +1 -0
  406. package/static/_app/immutable/chunks/bWB8K6-D.js +5 -0
  407. package/static/_app/immutable/chunks/brMvHLvt.js +1 -0
  408. package/static/_app/immutable/chunks/d_IM0gte.js +139 -0
  409. package/static/_app/immutable/chunks/dwOrl1Do.js +1 -0
  410. package/static/_app/immutable/chunks/fKv21gyL.js +1 -0
  411. package/static/_app/immutable/chunks/fbvUeNLU.js +1 -0
  412. package/static/_app/immutable/chunks/fuZLfV_i.js +1 -0
  413. package/static/_app/immutable/chunks/g9-lgVsj.js +1 -0
  414. package/static/_app/immutable/chunks/gcz8RCvz.js +1 -0
  415. package/static/_app/immutable/chunks/ghzVJG2J.js +3 -0
  416. package/static/_app/immutable/chunks/hJgmCMqR.js +1 -0
  417. package/static/_app/immutable/chunks/hegEt444.js +1 -0
  418. package/static/_app/immutable/chunks/huq_gnMY.js +1 -0
  419. package/static/_app/immutable/chunks/k_qm7-4y.js +1 -0
  420. package/static/_app/immutable/chunks/lXgVvXCa.js +1 -0
  421. package/static/_app/immutable/chunks/m17aaUwq.js +1 -0
  422. package/static/_app/immutable/chunks/mWjccvbQ.js +1 -0
  423. package/static/_app/immutable/chunks/mjskCLCv.js +1 -0
  424. package/static/_app/immutable/chunks/n2N0HUVH.js +1 -0
  425. package/static/_app/immutable/chunks/nnazh41B.js +1 -0
  426. package/static/_app/immutable/chunks/oC1Mvi0U.js +89 -0
  427. package/static/_app/immutable/chunks/pwnRazgM.js +1 -0
  428. package/static/_app/immutable/chunks/qR_TM3YX.js +1 -0
  429. package/static/_app/immutable/chunks/qdsjHGoJ.js +1 -0
  430. package/static/_app/immutable/chunks/rBDgyNy3.js +1 -0
  431. package/static/_app/immutable/chunks/rGO070M0.js +1 -0
  432. package/static/_app/immutable/chunks/sDksUvMU.js +1 -0
  433. package/static/_app/immutable/chunks/tddw2aQM.js +112 -0
  434. package/static/_app/immutable/chunks/u5AG7uiY.js +1 -0
  435. package/static/_app/immutable/chunks/uYugtg8r.js +1 -0
  436. package/static/_app/immutable/chunks/vGWfd6FD.js +1 -0
  437. package/static/_app/immutable/chunks/wDzz0qaB.js +1 -0
  438. package/static/_app/immutable/entry/app.dIuL6Sx2.js +2 -0
  439. package/static/_app/immutable/entry/start.CPRrpmQQ.js +1 -0
  440. package/static/_app/immutable/nodes/0.C05hyQv4.js +31 -0
  441. package/static/_app/immutable/nodes/1.DNR70oez.js +1 -0
  442. package/static/_app/immutable/nodes/10.B2cLmMC7.js +10 -0
  443. package/static/_app/immutable/nodes/11.DJhRDO9i.js +10 -0
  444. package/static/_app/immutable/nodes/12.EQZXcF2X.js +15 -0
  445. package/static/_app/immutable/nodes/13.Cmr6DJCN.js +10 -0
  446. package/static/_app/immutable/nodes/14.C_0-G1-G.js +30 -0
  447. package/static/_app/immutable/nodes/15.CQpP4DKr.js +27 -0
  448. package/static/_app/immutable/nodes/16.X30_YaDj.js +6 -0
  449. package/static/_app/immutable/nodes/17.CFfybSgG.js +14 -0
  450. package/static/_app/immutable/nodes/2.BAngx7Bz.js +1 -0
  451. package/static/_app/immutable/nodes/3.DXKIOrMy.js +13 -0
  452. package/static/_app/immutable/nodes/4.DbkQP2wh.js +20 -0
  453. package/static/_app/immutable/nodes/5.ITF8-ndt.js +16 -0
  454. package/static/_app/immutable/nodes/6.c4AJxCzT.js +22 -0
  455. package/static/_app/immutable/nodes/7.BIY7aMPw.js +49 -0
  456. package/static/_app/immutable/nodes/8.z-z4LZ_8.js +17 -0
  457. package/static/_app/immutable/nodes/9.CSPrnU3x.js +4 -0
  458. package/static/_app/version.json +1 -0
  459. package/static/config.json +10 -0
  460. package/static/index.html +48 -0
  461. package/static/logo.png +0 -0
  462. package/static/manifest.json +23 -0
  463. package/static/sw.js +80 -0
@@ -0,0 +1,22 @@
1
+ import{d as zr,a as k,b as c,f as v,s as S,c as qe,e as Lr}from"../chunks/B2A7gHtL.js";import{p as $r,s as C,a as Se,u as Fr,b as Rr,t as m,c as Tr,e as qr,d as l,g as e,h as o,f as p,$ as Er,r as n,n as Fe,k as de,j as Lt,i as _,l as Ur}from"../chunks/qR_TM3YX.js";import{i as y}from"../chunks/DpBBTLWw.js";import{g as Br,a as D,s as $,e as ue,i as ve,r as Re,c as pe,d as Hr,b as Te}from"../chunks/D6tSezzf.js";import{h as Ir}from"../chunks/CXQ1lKJR.js";import{b as lt}from"../chunks/nnazh41B.js";import{i as Dr,s as Pr}from"../chunks/DVP7Iy08.js";import{g as Gr}from"../chunks/Be_uRYmX.js";var Kr=v('<span class="text-xs text-text-muted ml-2"> </span>'),Qr=qe('<svg class="w-4 h-4 animate-spin inline mr-1" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"></path></svg>'),Zr=v('<p class="text-xs text-status-error/80 font-mono"> </p>'),Wr=v('<div class="rounded-xl border border-status-error/30 bg-status-error/10 p-4"><p class="text-sm font-medium text-status-error mb-2">⚠️ Configuration Issues</p> <!></div>'),Xr=v('<div class="rounded-xl border border-status-error/30 bg-status-error/10 p-4"><p class="text-sm text-status-error"> </p></div>'),Yr=v('<div class="text-center py-16"><div class="w-16 h-16 rounded-2xl bg-bg-tertiary border border-border-default flex items-center justify-center mx-auto mb-4"><svg class="w-8 h-8 text-text-muted" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"></path><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path></svg></div> <p class="text-text-muted text-sm">Connect to the gateway to edit configuration.</p></div>'),ea=v('<div class="rounded-xl border border-border-default bg-bg-secondary/50 p-4 animate-pulse"><div class="h-4 w-32 bg-bg-tertiary rounded mb-3"></div> <div class="h-3 w-full bg-bg-tertiary rounded mb-2"></div> <div class="h-3 w-3/4 bg-bg-tertiary rounded"></div></div>'),ta=v('<div class="space-y-4"></div>'),ra=v(`<div class="rounded-xl border border-border-default bg-bg-secondary/50 overflow-hidden"><div class="px-4 py-3 border-b border-border-default flex items-center justify-between"><span class="text-sm font-medium text-text-primary">Raw Configuration (JSON)</span> <span class="text-xs text-text-muted font-mono"> </span></div> <textarea class="w-full h-[600px] p-4 bg-bg-primary text-text-primary font-mono text-sm
2
+ resize-none focus:outline-none border-none" spellcheck="false"></textarea></div>`),aa=v("<button> </button>"),na=v('<span class="text-xs text-text-muted hidden md:inline"> </span>'),oa=v('<span class="text-xs text-accent-green">configured</span>'),sa=v('<span class="text-text-primary"> </span>'),ia=v('<span class="text-text-primary"> </span>'),la=v('<span class="text-red-400 ml-0.5 text-xs">*</span>'),ca=v('<p class="text-xs text-text-muted mb-2"> </p>'),da=v('<label class="inline-flex items-center gap-2 cursor-pointer"><input type="checkbox" class="w-4 h-4 rounded border-border-default bg-bg-tertiary accent-accent-cyan"/> <span class="text-sm text-text-secondary"> </span></label>'),ua=v("<option> </option>"),va=v("<select><option>— not set —</option><!></select>"),pa=v('<input type="number"/>'),fa=v('<textarea spellcheck="false"></textarea>'),xa=v('<div class="mt-1"><button class="text-xs text-accent-cyan hover:underline"> </button> <!></div>'),ba=v('<textarea spellcheck="false"></textarea>'),ma=v("<textarea></textarea>"),ga=v("<input/>"),ya=v('<p class="mt-1 text-xs text-red-400 bg-red-500/5 border border-red-500/30 rounded px-2 py-1"> </p>'),_a=v('<span class="text-[10px] text-text-muted"> </span>'),ha=v('<span class="text-[10px] text-accent-amber">nullable</span>'),wa=v('<div class="group"><div class="flex items-start gap-3"><div class="flex-1 min-w-0"><label class="block text-sm font-medium text-text-secondary mb-1"><span class="font-mono text-xs text-accent-purple mr-1"> </span> <!> <!></label> <!> <!> <!> <div class="mt-1 flex items-center gap-2"><span class="text-[10px] text-text-muted font-mono"> </span> <!> <!></div></div></div></div>'),ka=v(`<textarea class="w-full h-32 px-3 py-2 rounded-lg border border-border-default bg-bg-primary
3
+ text-xs text-text-primary font-mono resize-y focus:outline-none focus:border-accent-cyan" spellcheck="false"></textarea>`),Sa=v('<div class="border-t border-border-default px-4 py-3 space-y-4"><!></div>'),Ca=v('<div class="rounded-xl border border-border-default bg-bg-secondary/50 overflow-hidden"><button class="w-full px-4 py-3 flex items-center justify-between hover:bg-bg-tertiary/50 transition-all"><div class="flex items-center gap-3"><span class="text-sm font-mono text-accent-cyan"> </span> <span class="text-sm text-text-primary font-medium"> </span> <!></div> <div class="flex items-center gap-2"><!> <svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path></svg></div></button> <!></div>'),ja=v(`<div class="flex items-center gap-3 flex-wrap"><input type="text" placeholder="Search config keys..." class="flex-1 min-w-[200px] px-4 py-2 rounded-lg border border-border-default bg-bg-tertiary
4
+ text-sm text-text-primary placeholder:text-text-muted
5
+ focus:outline-none focus:border-accent-cyan transition-all"/> <div class="flex items-center gap-1 flex-wrap"><button>All</button> <!></div></div> <div class="space-y-4"></div>`,1),Oa=v(`<div class="rounded-xl border border-border-default bg-bg-secondary/50 p-4"><p class="text-sm text-text-muted mb-3">Schema not available. Showing raw JSON editor.</p> <textarea class="w-full h-[500px] p-4 bg-bg-primary text-text-primary font-mono text-sm
6
+ resize-none focus:outline-none rounded-lg border border-border-default" spellcheck="false"></textarea></div>`),Na=v('<span class="text-xs text-accent-amber">● Unsaved changes</span>'),Ja=v('<span class="text-xs text-red-400"> </span>'),Aa=v('<span class="text-xs text-text-muted font-mono"> </span>'),Ma=qe('<svg class="w-4 h-4 animate-spin inline mr-1" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"></path></svg>'),Va=qe('<svg class="w-4 h-4 animate-spin inline mr-1" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"></path></svg>'),za=qe('<svg class="w-4 h-4 animate-spin inline mr-1" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"></path></svg>'),La=v(`<div class="sticky bottom-0 -mx-6 px-6 py-4 bg-bg-primary/90 backdrop-blur-sm border-t border-border-default"><div class="flex items-center justify-between gap-4 max-w-5xl mx-auto"><div class="flex items-center gap-2"><!> <!> <!></div> <div class="flex items-center gap-2"><button><!> Save</button> <button class="px-4 py-2 rounded-lg text-sm font-medium border transition-all
7
+ bg-accent-purple/20 border-accent-purple/30 text-accent-purple hover:bg-accent-purple/30 glow-purple
8
+ disabled:opacity-50"><!> Apply &amp; Restart</button> <button class="px-4 py-2 rounded-lg text-sm font-medium border transition-all
9
+ bg-accent-green/20 border-accent-green/30 text-accent-green hover:bg-accent-green/30
10
+ disabled:opacity-50"><!> Update Gateway</button></div></div></div>`),$a=v(`<div class="h-full overflow-y-auto"><div class="max-w-5xl mx-auto p-4 md:p-6 space-y-6"><div class="flex items-center justify-between flex-wrap gap-4"><div><h1 class="text-2xl font-bold text-text-primary">Gateway Configuration</h1> <p class="text-sm text-text-muted mt-1">Edit your OpenClaw gateway settings <!></p></div> <div class="flex items-center gap-2"><div class="flex rounded-lg border border-border-default overflow-hidden"><button>Form</button> <button>Raw JSON</button></div> <button class="px-3 py-2 rounded-lg text-sm border border-border-default hover:border-accent-cyan
11
+ text-text-secondary hover:text-accent-cyan transition-all disabled:opacity-50"><!> Refresh</button></div></div> <!> <!> <!> <!></div></div>`);function Ia($t,Ft){$r(Ft,!0);const Ce=Br(),P=Gr();let te=C(!1),fe=C(!1),xe=C(!1),R=C(null),h=C(null),q=C(null),ct=C(null),Ee=C(Se([])),re=C(null),je=C(Se({})),Ue=C(null),E=C("form"),U=C(""),ae=C(!1),be=C(!1),Oe=C(""),W=C(null),ne=C(Se(new Set));Se({});let G=C(Se({})),Be={};function dt(t,r,s,f){const u=De(s),x=r!=null?String(r):"";if(f&&(r==null||x.trim()===""))return"This field is required";if(r==null||x==="")return null;switch(u){case"string":{const b=x.trim();if(s.minLength!==void 0&&b.length<s.minLength)return`Minimum length is ${s.minLength} characters`;if(s.maxLength!==void 0&&b.length>s.maxLength)return`Maximum length is ${s.maxLength} characters`;break}case"number":case"integer":{const b=Number(r);if(isNaN(b))return"Must be a valid number";if(u==="integer"&&!Number.isInteger(b))return"Must be a whole number";if(s.minimum!==void 0&&b<s.minimum)return`Minimum value is ${s.minimum}`;if(s.maximum!==void 0&&b>s.maximum)return`Maximum value is ${s.maximum}`;break}case"array":{if(typeof r=="string")try{const b=JSON.parse(r);if(!Array.isArray(b))return"Must be a valid JSON array"}catch{return"Invalid JSON — must be a valid array"}else if(!Array.isArray(r))return"Must be an array";break}case"object":{if(typeof r=="string")try{const b=JSON.parse(r);if(typeof b!="object"||b===null||Array.isArray(b))return"Must be a valid JSON object"}catch{return"Invalid JSON — must be a valid object"}else if(typeof r!="object"||r===null||Array.isArray(r))return"Must be an object";break}}return null}function ut(t,r,s,f){const u=t.join("."),x=dt(t,r,s,f);if(x)l(G,{...e(G),[u]:x},!0);else{const b={...e(G)};delete b[u],l(G,b,!0)}}function me(t,r,s,f){const u=t.join(".");Be[u]&&clearTimeout(Be[u]),Be[u]=setTimeout(()=>{ut(t,r,s,f)},300)}function Rt(){if(!e(h)||!e(re)?.properties)return!0;const t={};for(const[r,s]of Object.entries(e(re).properties)){const f=s,u=e(h)[r],x=f.required??[];if(f.properties)for(const[b,oe]of Object.entries(f.properties)){const T=[r,b],w=u?u[b]:void 0,J=x.includes(b),M=dt(T,w,oe,J);M&&(t[T.join(".")]=M)}}return l(G,t,!0),Object.keys(t).length===0}let He=_(()=>Object.keys(e(G)).length),Ie=_(()=>e(He)>0),ge=C(!1);function De(t){if(t)return Array.isArray(t.type)?t.type.filter(s=>s!=="null")[0]??t.type[0]:t.type}function vt(t){return t.replace(/_/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/\s+/g," ").replace(/^./,r=>r.toUpperCase())}function Tt(t,r,s){const f=structuredClone(t);let u=f;for(let x=0;x<r.length-1;x++)(!(r[x]in u)||typeof u[r[x]]!="object"||u[r[x]]===null)&&(u[r[x]]={}),u=u[r[x]];return u[r[r.length-1]]=s,f}function qt(t){const r=t.join(".");if(e(je)[r]?.secret)return!0;const f=t[t.length-1]?.toLowerCase()??"";return["token","secret","password","apikey","api_key","apiToken"].some(u=>f.includes(u.toLowerCase()))}function Et(t){const r=t.join(".");return!!e(je)[r]?.multiline}function Ut(t){const r=t.join(".");return e(je)[r]}let Pe=_(()=>e(re)?.properties?Object.entries(e(re).properties).map(([t,r])=>({key:t,label:r.title||vt(t),description:r.description,schema:r,hasValue:e(h)?t in e(h):!1})).filter(t=>{if(!e(Oe))return!0;const r=e(Oe).toLowerCase();return t.key.toLowerCase().includes(r)||t.label.toLowerCase().includes(r)||(t.description?.toLowerCase().includes(r)??!1)}):[]),Bt=_(()=>e(W)?e(Pe).filter(t=>t.key===e(W)):e(Pe));async function Ge(){if(!(!D.connected||e(te))){l(te,!0),l(R,null);try{const[t,r]=await Promise.all([D.call("config.get",{}),D.call("config.schema",{})]);t&&(l(h,t.config??{},!0),l(q,t.hash??null,!0),l(ct,t.valid??null,!0),l(Ee,Array.isArray(t.issues)?t.issues:[],!0),l(U,t.raw??JSON.stringify(t.config,null,2),!0),l(ae,!1),l(be,!1)),r&&(l(re,r.schema??null,!0),l(je,r.uiHints??{},!0),l(Ue,r.version??null,!0))}catch(t){l(R,String(t),!0),P.error("Config Load Failed",String(t))}finally{l(te,!1)}}}async function Ht(){if(!(!D.connected||e(fe)||!e(q))){if(e(E)==="form"&&!Rt()){const r=Object.keys(e(G)).length;P.error("Validation Failed",`${r} validation error${r!==1?"s":""} — fix them before saving`);return}l(fe,!0),l(R,null);try{const t=e(E)==="raw"?e(U):JSON.stringify(e(h),null,2);await D.call("config.set",{raw:t,baseHash:e(q)}),P.success("Config Saved","Configuration saved successfully"),l(be,!1),l(ae,!1),await Ge()}catch(t){l(R,String(t),!0),P.error("Save Failed",String(t))}finally{l(fe,!1)}}}async function It(){if(!(!D.connected||e(xe)||!e(q))){l(xe,!0),l(R,null);try{const t=e(E)==="raw"?e(U):JSON.stringify(e(h),null,2);await D.call("config.apply",{raw:t,baseHash:e(q)}),P.success("Config Applied","Configuration applied — gateway will restart"),l(be,!1),l(ae,!1)}catch(t){l(R,String(t),!0),P.error("Apply Failed",String(t))}finally{l(xe,!1)}}}async function Dt(){if(!(!D.connected||e(ge))){l(ge,!0),l(R,null);try{await D.call("update.run",{}),P.success("Update Started","Gateway update initiated — may restart")}catch(t){l(R,String(t),!0),P.error("Update Failed",String(t))}finally{l(ge,!1)}}}function X(t,r){e(h)&&(l(h,Tt(e(h),t,r),!0),l(be,!0))}function pt(t,r,s){const f=De(s);let u=r;if(f==="number"||f==="integer"){const x=Number(r);isNaN(x)||(u=x)}else f==="boolean"&&(u=r==="true");X(t,u)}function ft(t){const r=new Set(e(ne));r.has(t)?r.delete(t):r.add(t),l(ne,r,!0)}Fr(()=>{Ce.state.status==="connected"&&Rr(()=>Ge())});let Ke=_(()=>e(E)==="raw"?e(ae):e(be));var Qe=$a();Ir("1gp6n77",t=>{qr(()=>{Er.title="Config — Cortex"})});var xt=o(Qe),Ze=o(xt),We=o(Ze),bt=p(o(We),2),Pt=p(o(bt));{var Gt=t=>{var r=Kr(),s=o(r);n(r),m(()=>S(s,`· schema ${e(Ue)??""}`)),c(t,r)};y(Pt,t=>{e(Ue)&&t(Gt)})}n(bt),n(We);var mt=p(We,2),Xe=o(mt),Ye=o(Xe),gt=p(Ye,2);n(Xe);var Ne=p(Xe,2),Kt=o(Ne);{var Qt=t=>{var r=Qr();c(t,r)};y(Kt,t=>{e(te)&&t(Qt)})}Fe(),n(Ne),n(mt),n(Ze);var yt=p(Ze,2);{var Zt=t=>{var r=Wr(),s=p(o(r),2);ue(s,17,()=>e(Ee),ve,(f,u)=>{var x=Zr(),b=o(x);n(x),m(()=>S(b,`${e(u).path?`[${e(u).path}] `:""}${e(u).message??""}`)),c(f,x)}),n(r),c(t,r)};y(yt,t=>{(e(ct)===!1||e(Ee).length>0)&&t(Zt)})}var _t=p(yt,2);{var Wt=t=>{var r=Xr(),s=o(r),f=o(s,!0);n(s),n(r),m(()=>S(f,e(R))),c(t,r)};y(_t,t=>{e(R)&&t(Wt)})}var ht=p(_t,2);{var Xt=t=>{var r=Yr();c(t,r)},Yt=t=>{var r=ta();ue(r,20,()=>Array(4),ve,(s,f)=>{var u=ea();c(s,u)}),n(r),c(t,r)},er=t=>{var r=ra(),s=o(r),f=p(o(s),2),u=o(f,!0);n(f),n(s);var x=p(s,2);de(x),n(r),m(b=>S(u,b),[()=>e(q)?`hash: ${e(q).slice(0,12)}...`:""]),k("input",x,()=>l(ae,!0)),lt(x,()=>e(U),b=>l(U,b)),c(t,r)},tr=t=>{var r=ja(),s=Lt(r),f=o(s);Re(f);var u=p(f,2),x=o(u),b=p(x,2);ue(b,17,()=>e(Pe),ve,(T,w)=>{var J=aa(),M=o(J,!0);n(J),m(()=>{$(J,1,`px-2.5 py-1 rounded-md text-xs transition-all
12
+ ${e(W)===e(w).key?"bg-accent-cyan/20 text-accent-cyan border border-accent-cyan/30":"text-text-muted hover:text-text-secondary border border-border-default"}`),S(M,e(w).label)}),k("click",J,()=>l(W,e(W)===e(w).key?null:e(w).key,!0)),c(T,J)}),n(u),n(s);var oe=p(s,2);ue(oe,21,()=>e(Bt),ve,(T,w)=>{const J=_(()=>e(h)?e(h)[e(w).key]:void 0),M=_(()=>e(w).schema),Je=_(()=>e(M).properties??{}),et=_(()=>e(M).required??[]);var B=Ca(),se=o(B),ye=o(se),K=o(ye),tt=o(K,!0);n(K);var _e=p(K,2),g=o(_e,!0);n(_e);var O=p(_e,2);{var he=V=>{var H=na(),rt=o(H,!0);n(H),m(()=>S(rt,e(w).description)),c(V,H)};y(O,V=>{e(w).description&&V(he)})}n(ye);var Ae=p(ye,2),wt=o(Ae);{var or=V=>{var H=oa();c(V,H)};y(wt,V=>{e(J)!==void 0&&V(or)})}var sr=p(wt,2);n(Ae),n(se);var ir=p(se,2);{var lr=V=>{var H=Sa(),rt=o(H);{var dr=ie=>{var Y=Lr(),we=Lt(Y);ue(we,17,()=>Object.entries(e(Je)),ve,(at,pr)=>{var kt=_(()=>Ur(e(pr),2));let ke=()=>e(kt)[0],St=()=>e(kt)[1];const N=_(()=>[e(w).key,ke()]),A=_(()=>e(J)?e(J)[ke()]:void 0),le=_(()=>De(St())),Me=_(()=>Ut(e(N))),Ct=_(()=>qt(e(N))),fr=_(()=>Et(e(N))),j=_(St),Ve=_(()=>e(N).join(".")),ee=_(()=>e(et).includes(ke())),Q=_(()=>e(G)[e(Ve)]);var nt=wa(),jt=o(nt),Ot=o(jt),ot=o(Ot),st=o(ot),xr=o(st,!0);n(st);var Nt=p(st,2);{var br=i=>{var a=sa(),d=o(a,!0);n(a),m(()=>S(d,e(Me).label)),c(i,a)},mr=i=>{var a=ia(),d=o(a,!0);n(a),m(z=>S(d,z),[()=>vt(ke())]),c(i,a)};y(Nt,i=>{e(Me)?.label?i(br):i(mr,!1)})}var gr=p(Nt,2);{var yr=i=>{var a=la();c(i,a)};y(gr,i=>{e(ee)&&i(yr)})}n(ot);var Jt=p(ot,2);{var _r=i=>{var a=ca(),d=o(a,!0);n(a),m(()=>S(d,e(Me)?.description??e(j).description)),c(i,a)};y(Jt,i=>{(e(j).description||e(Me)?.description)&&i(_r)})}var At=p(Jt,2);{var hr=i=>{var a=da(),d=o(a);Re(d);var z=p(d,2),Z=o(z,!0);n(z),n(a),m(()=>{Hr(d,e(A)===!0),S(Z,e(A)?"Enabled":"Disabled")}),k("change",d,L=>X(e(N),L.target.checked)),c(i,a)},wr=i=>{var a=va(),d=o(a);d.value=d.__value="";var z=p(d);ue(z,17,()=>e(j).enum,ve,(L,ze)=>{var F=ua(),I=o(F,!0);n(F);var ce={};m((Le,$e)=>{S(I,Le),ce!==(ce=$e)&&(F.value=(F.__value=$e)??"")},[()=>String(e(ze)),()=>String(e(ze))]),c(L,F)}),n(a);var Z;Dr(a),m(L=>{$(a,1,`px-3 py-2 rounded-lg border ${e(Q)?"border-red-500/50":"border-border-default"} bg-bg-tertiary
13
+ text-sm text-text-primary focus:outline-none focus:border-accent-cyan transition-all`),Z!==(Z=L)&&(a.value=(a.__value=L)??"",Pr(a,L))},[()=>String(e(A)??"")]),k("change",a,L=>{pt(e(N),L.target.value,e(j)),ut(e(N),L.target.value,e(j),e(ee))}),c(i,a)},kr=i=>{var a=pa();Re(a),m(d=>{pe(a,d),Te(a,"min",e(j).minimum),Te(a,"max",e(j).maximum),$(a,1,`w-48 px-3 py-2 rounded-lg border ${e(Q)?"border-red-500/50":"border-border-default"} bg-bg-tertiary
14
+ text-sm text-text-primary font-mono focus:outline-none focus:border-accent-cyan transition-all`)},[()=>e(A)!==void 0?String(e(A)):""]),k("input",a,d=>{pt(e(N),d.target.value,e(j)),me(e(N),d.target.value,e(j),e(ee))}),c(i,a)},Sr=i=>{var a=xa(),d=o(a),z=o(d);n(d);var Z=p(d,2);{var L=F=>{var I=fa();de(I),m(ce=>{pe(I,ce),$(I,1,`w-full mt-2 h-32 px-3 py-2 rounded-lg border ${e(Q)?"border-red-500/50":"border-border-default"} bg-bg-primary
15
+ text-xs text-text-primary font-mono resize-y focus:outline-none focus:border-accent-cyan`)},[()=>JSON.stringify(e(A),null,2)]),k("input",I,ce=>{const Le=ce.target.value;try{const $e=JSON.parse(Le);X(e(N),$e)}catch{}me(e(N),Le,e(j),e(ee))}),c(F,I)},ze=_(()=>e(ne).has(e(Ve))&&e(A)&&typeof e(A)=="object");y(Z,F=>{e(ze)&&F(L)})}n(a),m((F,I)=>S(z,`${F??""} (${I??""} keys)`),[()=>e(ne).has(e(Ve))?"▼ Collapse":"▶ Expand",()=>e(A)?Object.keys(e(A)).length:0]),k("click",d,()=>ft(e(Ve))),c(i,a)},Cr=i=>{var a=ba();de(a),m(d=>{pe(a,d),$(a,1,`w-full h-24 px-3 py-2 rounded-lg border ${e(Q)?"border-red-500/50":"border-border-default"} bg-bg-primary
16
+ text-xs text-text-primary font-mono resize-y focus:outline-none focus:border-accent-cyan`)},[()=>e(A)?JSON.stringify(e(A),null,2):"[]"]),k("input",a,d=>{const z=d.target.value;try{const Z=JSON.parse(z);X(e(N),Z)}catch{}me(e(N),z,e(j),e(ee))}),c(i,a)},jr=i=>{var a=ma();de(a),m(d=>{pe(a,d),$(a,1,`w-full h-24 px-3 py-2 rounded-lg border ${e(Q)?"border-red-500/50":"border-border-default"} bg-bg-tertiary
17
+ text-sm text-text-primary font-mono resize-y focus:outline-none focus:border-accent-cyan`)},[()=>e(A)!==void 0?String(e(A)):""]),k("input",a,d=>{X(e(N),d.target.value),me(e(N),d.target.value,e(j),e(ee))}),c(i,a)},Or=i=>{var a=ga();Re(a),m(d=>{Te(a,"type",e(Ct)?"password":"text"),pe(a,d),Te(a,"placeholder",e(j).default!==void 0?`default: ${e(j).default}`:""),$(a,1,`w-full px-3 py-2 rounded-lg border ${e(Q)?"border-red-500/50":"border-border-default"} bg-bg-tertiary
18
+ text-sm text-text-primary ${e(Ct)?"font-mono":""} focus:outline-none focus:border-accent-cyan transition-all`)},[()=>e(A)!==void 0?String(e(A)):""]),k("input",a,d=>{X(e(N),d.target.value),me(e(N),d.target.value,e(j),e(ee))}),c(i,a)};y(At,i=>{e(le)==="boolean"?i(hr):e(j).enum?i(wr,1):e(le)==="number"||e(le)==="integer"?i(kr,2):e(le)==="object"?i(Sr,3):e(le)==="array"?i(Cr,4):e(fr)?i(jr,5):i(Or,!1)})}var Mt=p(At,2);{var Nr=i=>{var a=ya(),d=o(a,!0);n(a),m(()=>S(d,e(Q))),c(i,a)};y(Mt,i=>{e(Q)&&i(Nr)})}var Vt=p(Mt,2),it=o(Vt),Jr=o(it,!0);n(it);var zt=p(it,2);{var Ar=i=>{var a=_a(),d=o(a);n(a),m(z=>S(d,`default: ${z??""}`),[()=>JSON.stringify(e(j).default)]),c(i,a)};y(zt,i=>{e(j).default!==void 0&&i(Ar)})}var Mr=p(zt,2);{var Vr=i=>{var a=ha();c(i,a)};y(Mr,i=>{e(j).nullable&&i(Vr)})}n(Vt),n(Ot),n(jt),n(nt),m(()=>{S(xr,ke()),S(Jr,e(le)??"any")}),c(at,nt)}),c(ie,Y)},ur=_(()=>Object.keys(e(Je)).length>0),vr=ie=>{var Y=ka();de(Y),m(we=>pe(Y,we),[()=>e(J)?JSON.stringify(e(J),null,2):"{}"]),k("input",Y,we=>{try{const at=JSON.parse(we.target.value);X([e(w).key],at)}catch{}}),c(ie,Y)};y(rt,ie=>{e(ur)?ie(dr):ie(vr,!1)})}n(H),c(V,H)},cr=_(()=>e(ne).has(e(w).key));y(ir,V=>{e(cr)&&V(lr)})}n(B),m(V=>{S(tt,e(w).key),S(g,e(w).label),$(sr,0,`w-4 h-4 text-text-muted transition-transform ${V??""}`)},[()=>e(ne).has(e(w).key)?"rotate-180":""]),k("click",se,()=>ft(e(w).key)),c(T,B)}),n(oe),m(()=>$(x,1,`px-2.5 py-1 rounded-md text-xs transition-all
19
+ ${e(W)===null?"bg-accent-cyan/20 text-accent-cyan border border-accent-cyan/30":"text-text-muted hover:text-text-secondary border border-border-default"}`)),lt(f,()=>e(Oe),T=>l(Oe,T)),k("click",x,()=>l(W,null)),c(t,r)},rr=t=>{var r=Oa(),s=p(o(r),2);de(s),n(r),k("input",s,()=>l(ae,!0)),lt(s,()=>e(U),f=>l(U,f)),c(t,r)};y(ht,t=>{Ce.state.status!=="connected"?t(Xt):e(te)&&!e(h)?t(Yt,1):e(E)==="raw"?t(er,2):e(h)&&e(re)?t(tr,3):e(h)&&t(rr,4)})}var ar=p(ht,2);{var nr=t=>{var r=La(),s=o(r),f=o(s),u=o(f);{var x=g=>{var O=Na();c(g,O)};y(u,g=>{e(Ke)&&g(x)})}var b=p(u,2);{var oe=g=>{var O=Ja(),he=o(O);n(O),m(()=>S(he,`⚠ ${e(He)??""} validation error${e(He)!==1?"s":""}`)),c(g,O)};y(b,g=>{e(Ie)&&g(oe)})}var T=p(b,2);{var w=g=>{var O=Aa(),he=o(O);n(O),m(Ae=>S(he,`hash: ${Ae??""}`),[()=>e(q).slice(0,12)]),c(g,O)};y(T,g=>{e(q)&&g(w)})}n(f);var J=p(f,2),M=o(J),Je=o(M);{var et=g=>{var O=Ma();c(g,O)};y(Je,g=>{e(fe)&&g(et)})}Fe(),n(M);var B=p(M,2),se=o(B);{var ye=g=>{var O=Va();c(g,O)};y(se,g=>{e(xe)&&g(ye)})}Fe(),n(B);var K=p(B,2),tt=o(K);{var _e=g=>{var O=za();c(g,O)};y(tt,g=>{e(ge)&&g(_e)})}Fe(),n(K),n(J),n(s),n(r),m(()=>{M.disabled=e(fe)||!e(Ke)||e(Ie),$(M,1,`px-4 py-2 rounded-lg text-sm font-medium border transition-all
20
+ ${e(Ke)&&!e(Ie)?"bg-accent-cyan/20 border-accent-cyan/30 text-accent-cyan hover:bg-accent-cyan/30 glow-cyan":"bg-bg-tertiary border-border-default text-text-muted cursor-not-allowed opacity-50"}`),B.disabled=e(xe),K.disabled=e(ge)}),k("click",M,Ht),k("click",B,It),k("click",K,Dt),c(t,r)};y(ar,t=>{e(h)&&Ce.state.status==="connected"&&t(nr)})}n(xt),n(Qe),m(()=>{$(Ye,1,`px-3 py-1.5 text-xs font-medium transition-all
21
+ ${e(E)==="form"?"bg-accent-cyan/20 text-accent-cyan":"text-text-muted hover:text-text-secondary"}`),$(gt,1,`px-3 py-1.5 text-xs font-medium transition-all
22
+ ${e(E)==="raw"?"bg-accent-purple/20 text-accent-purple":"text-text-muted hover:text-text-secondary"}`),Ne.disabled=e(te)||Ce.state.status!=="connected"}),k("click",Ye,()=>{l(E,"form"),e(h)&&l(U,JSON.stringify(e(h),null,2),!0)}),k("click",gt,()=>{l(E,"raw"),e(h)&&l(U,JSON.stringify(e(h),null,2),!0)}),k("click",Ne,()=>Ge()),c($t,Qe),Tr()}zr(["click","input","change"]);export{Ia as component};
@@ -0,0 +1,49 @@
1
+ import{d as nr,a as D,b as c,s as v,f as x,t as ct}from"../chunks/B2A7gHtL.js";import{p as or,s as m,a as $t,u as sr,b as lr,t as h,c as dr,d as o,e as ir,g as e,f as n,h as a,$ as cr,r,n as St,i as ye,l as ut,k as Mt}from"../chunks/qR_TM3YX.js";import{i as M}from"../chunks/DpBBTLWw.js";import{g as ur,a as ce,s as H,r as Z,e as ne,i as ge,b as vt}from"../chunks/D6tSezzf.js";import{h as vr}from"../chunks/CXQ1lKJR.js";import{b as j,a as Tt}from"../chunks/nnazh41B.js";import{b as Et}from"../chunks/DVP7Iy08.js";import{g as xr}from"../chunks/Be_uRYmX.js";var pr=x("<span> </span>"),br=x('<div class="p-3 rounded-lg bg-red-500/10 border border-red-500/30 text-red-400 text-sm"> </div>'),mr=x("<button> </button>"),fr=x(`<div><label class="block text-xs text-text-muted mb-1">Date & Time</label> <input type="datetime-local" class="px-3 py-2 rounded-lg bg-bg-tertiary border border-border-default
2
+ text-text-primary text-sm focus:outline-none focus:border-accent-purple/60 transition-all"/></div>`),yr=x("<button> </button>"),gr=x(`<div><label class="block text-xs text-text-muted mb-1.5">Interval</label> <div class="flex flex-wrap gap-1.5 mb-2"></div> <div class="flex items-center gap-2"><input type="number" min="1000" step="1000" class="w-40 px-3 py-2 rounded-lg bg-bg-tertiary border border-border-default
3
+ text-text-primary text-sm focus:outline-none focus:border-accent-purple/60 transition-all"/> <span class="text-xs text-text-muted"> </span></div></div>`),_r=x('<p class="mt-1 text-xs text-accent-cyan"> </p>'),hr=x("<button> </button>"),kr=x("<option> </option>"),wr=x(`<div class="space-y-3"><div><label class="block text-xs text-text-muted mb-1.5">Cron Expression</label> <input type="text" placeholder="*/5 * * * *" class="w-full px-3 py-2 rounded-lg bg-bg-tertiary border border-border-default
4
+ text-text-primary font-mono text-sm placeholder:text-text-muted/50
5
+ focus:outline-none focus:border-accent-purple/60 transition-all"/> <!></div> <div><label class="block text-xs text-text-muted mb-1.5">Presets</label> <div class="flex flex-wrap gap-1.5"></div></div> <div><label class="block text-xs text-text-muted mb-1">Timezone</label> <select class="px-3 py-2 rounded-lg bg-bg-tertiary border border-border-default
6
+ text-text-primary text-sm focus:outline-none focus:border-accent-purple/60 transition-all"></select></div></div>`),$r=x('<button><div> </div> <div class="text-xs text-text-muted mt-0.5"> </div></button>'),Sr=x(`<textarea placeholder="System event text to send to main session..." class="w-full px-3 py-2 rounded-lg bg-bg-tertiary border border-border-default
7
+ text-text-primary text-sm placeholder:text-text-muted/50
8
+ focus:outline-none focus:border-accent-purple/60 transition-all resize-y"></textarea>`),Mr=x(`<div class="space-y-3"><textarea placeholder="Message for the agent turn..." class="w-full px-3 py-2 rounded-lg bg-bg-tertiary border border-border-default
9
+ text-text-primary text-sm placeholder:text-text-muted/50
10
+ focus:outline-none focus:border-accent-purple/60 transition-all resize-y"></textarea> <div class="grid grid-cols-1 md:grid-cols-3 gap-3"><div><label class="block text-xs text-text-muted mb-1">Model <span class="text-text-muted/60">(optional)</span></label> <input type="text" placeholder="e.g. claude-sonnet-4-20250514" class="w-full px-3 py-2 rounded-lg bg-bg-tertiary border border-border-default
11
+ text-text-primary text-sm placeholder:text-text-muted/50
12
+ focus:outline-none focus:border-accent-purple/60 transition-all"/></div> <div><label class="block text-xs text-text-muted mb-1">Thinking</label> <select class="w-full px-3 py-2 rounded-lg bg-bg-tertiary border border-border-default
13
+ text-text-primary text-sm focus:outline-none focus:border-accent-purple/60 transition-all"><option>Off</option><option>On</option><option>Stream</option></select></div> <div><label class="block text-xs text-text-muted mb-1">Timeout <span class="text-text-muted/60">(seconds)</span></label> <input type="number" min="0" placeholder="300" class="w-full px-3 py-2 rounded-lg bg-bg-tertiary border border-border-default
14
+ text-text-primary text-sm placeholder:text-text-muted/50
15
+ focus:outline-none focus:border-accent-purple/60 transition-all"/></div></div></div>`),Tr=x("<button> </button>"),Er=x(`<div class="grid grid-cols-1 md:grid-cols-2 gap-3"><div><label class="block text-xs text-text-muted mb-1">Channel <span class="text-text-muted/60">(optional)</span></label> <input type="text" placeholder="e.g. discord, telegram" class="w-full px-3 py-2 rounded-lg bg-bg-tertiary border border-border-default
16
+ text-text-primary text-sm placeholder:text-text-muted/50
17
+ focus:outline-none focus:border-accent-purple/60 transition-all"/></div> <div><label class="block text-xs text-text-muted mb-1">To <span class="text-text-muted/60">(optional)</span></label> <input type="text" placeholder="Channel ID or user" class="w-full px-3 py-2 rounded-lg bg-bg-tertiary border border-border-default
18
+ text-text-primary text-sm placeholder:text-text-muted/50
19
+ focus:outline-none focus:border-accent-purple/60 transition-all"/></div></div>`),Cr=x('<div><label class="block text-xs font-medium text-text-muted mb-2">Delivery</label> <div class="flex gap-3 mb-3"></div> <!></div>'),Dr=x(`<div class="rounded-xl border border-accent-purple/40 bg-bg-secondary/80 backdrop-blur-sm
20
+ shadow-[0_0_20px_rgba(124,77,255,0.15)]"><div class="flex items-center justify-between px-5 py-3 border-b border-border-default"><h2 class="text-lg font-semibold text-accent-purple"> </h2> <button class="text-text-muted hover:text-text-primary text-lg transition-colors">✕</button></div> <div class="p-5 space-y-5"><div><label class="block text-xs font-medium text-text-muted mb-1.5">Job Name</label> <input type="text" placeholder="e.g. daily-digest, heartbeat-check" class="w-full px-3 py-2 rounded-lg bg-bg-tertiary border border-border-default
21
+ text-text-primary placeholder:text-text-muted/50 text-sm
22
+ focus:outline-none focus:border-accent-purple/60 focus:shadow-[0_0_8px_rgba(124,77,255,0.2)]
23
+ transition-all"/></div> <div><label class="block text-xs font-medium text-text-muted mb-2">Schedule Type</label> <div class="flex gap-1 p-1 bg-bg-tertiary rounded-lg w-fit mb-3"></div> <!> <!> <!></div> <div><label class="block text-xs font-medium text-text-muted mb-2">Session Target</label> <div class="flex gap-3"></div></div> <div><label class="block text-xs font-medium text-text-muted mb-2">Payload — <span class="text-accent-cyan"> </span></label> <!></div> <!> <div class="flex items-center gap-6"><label class="flex items-center gap-2 cursor-pointer"><input type="checkbox" class="w-4 h-4 rounded border-border-default bg-bg-tertiary text-accent-cyan
24
+ focus:ring-accent-purple/50 focus:ring-offset-0"/> <span class="text-sm text-text-secondary">Enabled</span></label> <label class="flex items-center gap-2 cursor-pointer"><input type="checkbox" class="w-4 h-4 rounded border-border-default bg-bg-tertiary text-accent-cyan
25
+ focus:ring-accent-purple/50 focus:ring-offset-0"/> <span class="text-sm text-text-secondary">Notify on run</span></label></div> <div class="flex items-center justify-between pt-2 border-t border-border-default/50"><button class="px-4 py-2 rounded-lg text-sm text-text-muted hover:text-text-secondary transition-colors">Cancel</button> <button><!></button></div></div></div>`),Ar=x('<div class="rounded-xl border border-border-default bg-bg-secondary/50 p-4 animate-pulse"><div class="h-5 w-48 bg-bg-tertiary rounded mb-2"></div> <div class="h-4 w-32 bg-bg-tertiary rounded"></div></div>'),Jr=x('<div class="space-y-3"></div>'),Nr=x(`<div class="text-center py-16 text-text-muted"><div class="text-4xl mb-3">⏰</div> <p class="text-lg mb-1">No cron jobs configured</p> <p class="text-sm mb-4">Create your first scheduled job to get started.</p> <button class="px-4 py-2 rounded-lg text-sm font-medium bg-accent-purple/20 text-accent-purple
26
+ border border-accent-purple/40 hover:bg-accent-purple/30 transition-all">+ Create Job</button></div>`),Rr=x('<span class="text-accent-cyan/70"> </span>'),Lr=x("<span> </span>"),zr=x("<span> </span>"),Fr=x('<div><span class="text-text-muted text-xs">Description</span> <p class="text-text-secondary"> </p></div>'),Pr=x('<div><span class="text-text-muted text-xs block mb-1">Delivery</span> <pre class="p-2 rounded bg-bg-tertiary text-text-secondary font-mono text-xs"> </pre></div>'),Ir=x('<div class="p-2 rounded bg-red-500/10 border border-red-500/30 text-red-400 text-xs"> </div>'),Or=x('<div class="border-t border-border-default p-4 space-y-3 text-sm"><!> <div class="grid grid-cols-2 md:grid-cols-4 gap-3"><div><span class="text-text-muted text-xs block">Schedule</span> <span class="text-text-secondary font-mono text-xs"> </span></div> <div><span class="text-text-muted text-xs block">Target</span> <span class="text-text-secondary"> </span></div> <div><span class="text-text-muted text-xs block">Notify</span> <span class="text-text-secondary"> </span></div> <div><span class="text-text-muted text-xs block">ID</span> <span class="text-text-secondary font-mono text-xs break-all"> </span></div></div> <div><span class="text-text-muted text-xs block mb-1">Payload</span> <pre class="p-2 rounded bg-bg-tertiary text-text-secondary font-mono text-xs overflow-x-auto"> </pre></div> <!> <!></div>'),Hr=x(`<div><div class="flex items-center gap-3 p-4"><button><div></div></button> <button class="flex-1 text-left min-w-0"><div class="flex items-center gap-2 flex-wrap"><span class="font-medium text-text-primary truncate"> </span> <span> </span> <span class="px-2 py-0.5 rounded text-xs bg-bg-tertiary text-text-muted"> </span></div> <div class="text-xs text-text-muted mt-1 flex items-center gap-3 flex-wrap"><span> </span> <!> <!> <!></div></button> <div class="flex items-center gap-1 flex-shrink-0"><button class="p-2 rounded-lg hover:bg-bg-hover text-text-muted hover:text-accent-purple transition-colors
27
+ disabled:opacity-50" title="Edit job"><svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"></path></svg></button> <button class="p-2 rounded-lg hover:bg-bg-hover text-text-muted hover:text-accent-green transition-colors
28
+ disabled:opacity-50" title="Run now"><svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24"><path d="M8 5v14l11-7z"></path></svg></button> <button class="p-2 rounded-lg hover:bg-bg-hover text-text-muted hover:text-accent-cyan transition-colors
29
+ disabled:opacity-50" title="View run history"><svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg></button> <button class="p-2 rounded-lg hover:bg-bg-hover text-text-muted hover:text-red-400 transition-colors
30
+ disabled:opacity-50" title="Delete job"><svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"></path></svg></button></div></div> <!></div>`),Ur=x('<div class="space-y-3"></div>'),Br=x('<div class="text-text-muted text-sm py-4 text-center">Loading runs...</div>'),Wr=x('<div class="text-text-muted text-sm py-4 text-center">No run history available.</div>'),Vr=x('<div class="flex items-center gap-3 px-3 py-2 rounded-lg bg-bg-tertiary/50 text-xs"><span></span> <span class="text-text-muted w-28 flex-shrink-0"> </span> <span class="text-text-secondary flex-shrink-0 w-16"> </span> <span class="text-text-secondary flex-1 truncate font-mono"> </span></div>'),Yr=x('<div class="space-y-2 max-h-80 overflow-y-auto"></div>'),Kr=x(`<div class="rounded-xl border border-accent-cyan/30 bg-bg-secondary/50 p-4
31
+ shadow-[0_0_12px_rgba(0,229,255,0.08)]"><div class="flex items-center justify-between mb-3"><h2 class="text-sm font-semibold text-accent-cyan"> </h2> <div class="flex items-center gap-2"><button class="text-text-muted hover:text-accent-cyan text-xs transition-colors disabled:opacity-50">↻ Refresh</button> <button class="text-text-muted hover:text-text-primary text-xs transition-colors">✕ Close</button></div></div> <!></div>`),qr=x(`<div class="h-full overflow-y-auto"><div class="max-w-6xl mx-auto p-4 md:p-6 space-y-6"><div class="flex items-center justify-between flex-wrap gap-3"><div><h1 class="text-2xl font-bold text-text-primary">Cron Jobs</h1> <p class="text-sm text-text-muted mt-1">Schedule wakeups and recurring agent runs.</p></div> <div class="flex items-center gap-3"><!> <button class="px-4 py-2 rounded-lg text-sm font-medium bg-accent-cyan/20 text-accent-cyan
32
+ border border-accent-cyan/40 hover:bg-accent-cyan/30 hover:shadow-[0_0_12px_rgba(0,229,255,0.25)]
33
+ transition-all disabled:opacity-50 disabled:cursor-not-allowed">+ Create Job</button> <button class="px-3 py-2 rounded-lg text-sm border border-border-default hover:border-accent-cyan
34
+ text-text-secondary hover:text-accent-cyan transition-all
35
+ disabled:opacity-50 disabled:cursor-not-allowed">↻ Refresh</button></div></div> <!> <div class="text-xs text-text-muted"> <!></div> <!> <!> <!></div></div>`);function aa(Ct,Dt){or(Dt,!0);const tt=ur(),K=xr();let ue=m($t([])),Ve=m(!1),z=m(!1),Ye=m(null),_e=m(null),oe=m(null),Re=m($t([])),Ke=m(!1),qe=m(null),Ge=m(!1),se=m(null),Le=m(!1),le=m(""),F=m("every"),he=m(""),q=m(3e5),G=m(""),ke=m(""),ee=m("main"),we=m(""),$e=m(""),Se=m(""),Me=m(""),ve=m(void 0),Te=m("none"),Ee=m(""),Ce=m(""),ze=m(!0),Fe=m(!1),Pe=ye(()=>e(ee)==="main"?"systemEvent":"agentTurn"),xt=ye(()=>e(G).trim()?Wt(e(G).trim()):""),rt=ye(()=>!(e(F)==="at"&&!e(he)||e(F)==="every"&&(!e(q)||e(q)<1e3)||e(F)==="cron"&&!e(G).trim()||e(Pe)==="systemEvent"&&!e(we).trim()||e(Pe)==="agentTurn"&&!e($e).trim()));const At=[{label:"Every minute",expr:"* * * * *"},{label:"Every 5 minutes",expr:"*/5 * * * *"},{label:"Every 15 minutes",expr:"*/15 * * * *"},{label:"Every hour",expr:"0 * * * *"},{label:"Daily at midnight",expr:"0 0 * * *"},{label:"Daily at 9am",expr:"0 9 * * *"},{label:"Weekly Mon 9am",expr:"0 9 * * 1"},{label:"Monthly 1st midnight",expr:"0 0 1 * *"}],Jt=[{label:"1m",ms:6e4},{label:"5m",ms:3e5},{label:"15m",ms:9e5},{label:"30m",ms:18e5},{label:"1h",ms:36e5},{label:"6h",ms:216e5},{label:"12h",ms:432e5},{label:"24h",ms:864e5}],Nt=["","UTC","America/New_York","America/Chicago","America/Denver","America/Los_Angeles","Europe/London","Europe/Paris","Europe/Berlin","Asia/Tokyo","Asia/Shanghai","Australia/Sydney","Pacific/Auckland"];sr(()=>{tt.state.status==="connected"&&lr(()=>Ie())});async function Ie(){o(Ve,!0),o(Ye,null);try{const[t,l]=await Promise.all([ce.call("cron.status",{}).catch(()=>null),ce.call("cron.list",{includeDisabled:!0}).catch(()=>({jobs:[]}))]);o(_e,t,!0),o(ue,Array.isArray(l?.jobs)?l.jobs:[],!0)}catch(t){o(Ye,String(t),!0)}finally{o(Ve,!1)}}async function Rt(t){if(!e(z)){o(z,!0);try{await ce.call("cron.update",{id:t.id,patch:{enabled:!t.enabled}}),K.success("Updated",`${t.name||t.id} ${t.enabled?"disabled":"enabled"}`),await Ie()}catch(l){K.error("Failed",String(l))}finally{o(z,!1)}}}async function Lt(t){if(!e(z)){o(z,!0);try{await ce.call("cron.run",{id:t.id,mode:"force"}),K.success("Triggered",`${t.name||t.id} running now`),await at(t.id)}catch(l){K.error("Failed",String(l))}finally{o(z,!1)}}}async function zt(t){if(!e(z)&&confirm(`Delete "${t.name||t.id}"? This cannot be undone.`)){o(z,!0);try{await ce.call("cron.remove",{id:t.id}),K.success("Deleted",`${t.name||t.id} removed`),e(oe)===t.id&&(o(oe,null),o(Re,[],!0)),await Ie()}catch(l){K.error("Failed",String(l))}finally{o(z,!1)}}}async function at(t){o(Ke,!0),o(oe,t,!0);try{const l=await ce.call("cron.runs",{id:t,limit:20});o(Re,Array.isArray(l?.entries)?l.entries:[],!0)}catch(l){K.error("Failed",String(l))}finally{o(Ke,!1)}}function pt(){o(se,null),Pt(),o(Ge,!0)}function Ft(t){o(se,t.id,!0),o(le,t.name||"",!0),o(F,t.schedule.kind,!0),o(he,t.schedule.at?Bt(t.schedule.at):"",!0),o(q,t.schedule.everyMs??3e5,!0),o(G,t.schedule.expr??"",!0),o(ke,t.schedule.tz??"",!0),o(ee,t.sessionTarget||"main",!0),o(we,t.payload.text??"",!0),o($e,t.payload.message??"",!0),o(Se,t.payload.model??"",!0),o(Me,t.payload.thinking||"",!0),o(ve,t.payload.timeoutSeconds,!0),o(Te,t.delivery?.mode||"none",!0),o(Ee,t.delivery?.channel??"",!0),o(Ce,t.delivery?.to??"",!0),o(ze,t.enabled??!0,!0),o(Fe,t.notify??!1,!0),o(Ge,!0)}function Pt(){o(le,""),o(F,"every"),o(he,""),o(q,3e5),o(G,""),o(ke,""),o(ee,"main"),o(we,""),o($e,""),o(Se,""),o(Me,""),o(ve,void 0),o(Te,"none"),o(Ee,""),o(Ce,""),o(ze,!0),o(Fe,!1)}function nt(){o(Ge,!1),o(se,null)}function It(){let t={kind:e(F)};e(F)==="at"?t.at=new Date(e(he)).toISOString():e(F)==="every"?t.everyMs=e(q):e(F)==="cron"&&(t.expr=e(G).trim(),e(ke)&&(t.tz=e(ke)));let l={};e(Pe)==="systemEvent"?l={kind:"systemEvent",text:e(we).trim()}:(l={kind:"agentTurn",message:e($e).trim()},e(Se).trim()&&(l.model=e(Se).trim()),e(Me)&&(l.thinking=e(Me)),e(ve)&&e(ve)>0&&(l.timeoutSeconds=e(ve)));let d;e(ee)==="isolated"&&(d={mode:e(Te)},e(Ee).trim()&&(d.channel=e(Ee).trim()),e(Ce).trim()&&(d.to=e(Ce).trim()));const s={schedule:t,payload:l,sessionTarget:e(ee),enabled:e(ze),notify:e(Fe)};return e(le).trim()&&(s.name=e(le).trim()),d&&(s.delivery=d),s}async function Ot(){if(!(!e(rt)||e(Le))){o(Le,!0);try{const t=It();e(se)?(await ce.call("cron.update",{id:e(se),patch:t}),K.success("Updated",`Job "${e(le)||e(se)}" updated`)):(await ce.call("cron.add",{job:t}),K.success("Created",`Job "${e(le)||"new job"}" created`)),nt(),await Ie()}catch(t){K.error("Save failed",String(t))}finally{o(Le,!1)}}}function bt(t){if(t.kind==="cron")return`cron: ${t.expr}${t.tz?` (${t.tz})`:""}`;if(t.kind==="every"){const l=t.everyMs??0;return l>=864e5?`every ${Math.round(l/864e5)}d`:l>=36e5?`every ${Math.round(l/36e5)}h`:l>=6e4?`every ${Math.round(l/6e4)}m`:`every ${Math.round(l/1e3)}s`}return t.kind==="at"?`at: ${t.at?new Date(t.at).toLocaleString():"n/a"}`:t.kind}function Qe(t){if(!t)return"never";const l=new Date(t),s=Date.now()-t;if(Math.abs(s)<6e4)return"just now";if(s>0&&s<36e5)return`${Math.floor(s/6e4)}m ago`;if(s>0&&s<864e5)return`${Math.floor(s/36e5)}h ago`;if(s<0){const y=Math.abs(s);if(y<36e5)return`in ${Math.floor(y/6e4)}m`;if(y<864e5)return`in ${Math.floor(y/36e5)}h`}return l.toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function Ht(t){return t?t<1e3?`${t}ms`:t<6e4?`${(t/1e3).toFixed(1)}s`:`${Math.floor(t/6e4)}m ${Math.round(t%6e4/1e3)}s`:"n/a"}function Ut(t){return t>=864e5?`${t/864e5}d`:t>=36e5?`${t/36e5}h`:t>=6e4?`${t/6e4}m`:`${t/1e3}s`}function Bt(t){try{const l=new Date(t),d=s=>s.toString().padStart(2,"0");return`${l.getFullYear()}-${d(l.getMonth()+1)}-${d(l.getDate())}T${d(l.getHours())}:${d(l.getMinutes())}`}catch{return""}}function Wt(t){const l=t.split(/\s+/);if(l.length<5)return"Invalid cron expression";const[d,s,y,R,k]=l;return t==="* * * * *"?"Every minute":d.startsWith("*/")&&s==="*"&&y==="*"&&R==="*"&&k==="*"?`Every ${d.slice(2)} minutes`:d==="0"&&s.startsWith("*/")&&y==="*"&&R==="*"&&k==="*"?`Every ${s.slice(2)} hours`:d==="0"&&s==="*"&&y==="*"&&R==="*"&&k==="*"?"Every hour at :00":y==="*"&&R==="*"&&k==="*"?`Daily at ${s==="*"?"every hour":`${s}:${d.padStart(2,"0")}`}`:y==="*"&&R==="*"&&k!=="*"?`Weekly on ${["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][Number(k)]??k} at ${s}:${d.padStart(2,"0")}`:R==="*"&&k==="*"&&y!=="*"?`Monthly on day ${y} at ${s}:${d.padStart(2,"0")}`:`min:${d} hour:${s} dom:${y} mon:${R} dow:${k}`}var ot=qr();vr("up3gvt",t=>{ir(()=>{cr.title="Cron Jobs — Cortex"})});var mt=a(ot),st=a(mt),ft=n(a(st),2),yt=a(ft);{var Vt=t=>{var l=pr(),d=a(l,!0);r(l),h(()=>{H(l,1,`px-3 py-1 rounded-full text-xs font-medium
36
+ ${e(_e).enabled?"bg-accent-green/20 text-accent-green border border-accent-green/30":"bg-red-500/20 text-red-400 border border-red-500/30"}`),v(d,e(_e).enabled?"● Active":"○ Disabled")}),c(t,l)};M(yt,t=>{e(_e)&&t(Vt)})}var lt=n(yt,2),gt=n(lt,2);r(ft),r(st);var _t=n(st,2);{var Yt=t=>{var l=br(),d=a(l,!0);r(l),h(()=>v(d,e(Ye))),c(t,l)};M(_t,t=>{e(Ye)&&t(Yt)})}var dt=n(_t,2),ht=a(dt),Kt=n(ht);{var qt=t=>{var l=ct();h(d=>v(l,`· next tick ${d??""}`),[()=>Qe(Date.now()+e(_e).nextRunMs)]),c(t,l)};M(Kt,t=>{e(_e)?.nextRunMs&&t(qt)})}r(dt);var kt=n(dt,2);{var Gt=t=>{var l=Dr(),d=a(l),s=a(d),y=a(s,!0);r(s);var R=n(s,2);r(d);var k=n(d,2),B=a(k),Q=n(a(B),2);Z(Q),r(B);var te=n(B,2),re=n(a(te),2);ne(re,20,()=>[["at","📅 One-shot"],["every","🔄 Recurring"],["cron","⏱ Cron"]],ge,(i,u)=>{var p=ye(()=>ut(u,2));let S=()=>e(p)[0],C=()=>e(p)[1];var _=mr(),g=a(_,!0);r(_),h(()=>{H(_,1,`px-3 py-1.5 rounded-md text-sm transition-all
37
+ ${e(F)===S()?"bg-accent-purple/30 text-accent-purple shadow-sm":"text-text-muted hover:text-text-secondary"}`),v(g,C())}),D("click",_,()=>o(F,S(),!0)),c(i,_)}),r(re);var De=n(re,2);{var de=i=>{var u=fr(),p=n(a(u),2);Z(p),r(u),j(p,()=>e(he),S=>o(he,S)),c(i,u)};M(De,i=>{e(F)==="at"&&i(de)})}var N=n(De,2);{var U=i=>{var u=gr(),p=n(a(u),2);ne(p,21,()=>Jt,ge,(f,T)=>{var w=yr(),b=a(w,!0);r(w),h(()=>{H(w,1,`px-3 py-1 rounded-md text-xs border transition-all
38
+ ${e(q)===e(T).ms?"border-accent-cyan/50 bg-accent-cyan/20 text-accent-cyan":"border-border-default text-text-muted hover:border-accent-cyan/30 hover:text-text-secondary"}`),v(b,e(T).label)}),D("click",w,()=>o(q,e(T).ms,!0)),c(f,w)}),r(p);var S=n(p,2),C=a(S);Z(C);var _=n(C,2),g=a(_);r(_),r(S),r(u),h(f=>v(g,`ms (${f??""})`),[()=>Ut(e(q))]),j(C,()=>e(q),f=>o(q,f)),c(i,u)};M(N,i=>{e(F)==="every"&&i(U)})}var xe=n(N,2);{var L=i=>{var u=wr(),p=a(u),S=n(a(p),2);Z(S);var C=n(S,2);{var _=b=>{var $=_r(),J=a($);r($),h(()=>v(J,`→ ${e(xt)??""}`)),c(b,$)};M(C,b=>{e(xt)&&b(_)})}r(p);var g=n(p,2),f=n(a(g),2);ne(f,21,()=>At,ge,(b,$)=>{var J=hr(),P=a(J,!0);r(J),h(()=>{H(J,1,`px-2.5 py-1 rounded-md text-xs border transition-all
39
+ ${e(G)===e($).expr?"border-accent-cyan/50 bg-accent-cyan/20 text-accent-cyan":"border-border-default text-text-muted hover:border-accent-cyan/30 hover:text-text-secondary"}`),v(P,e($).label)}),D("click",J,()=>o(G,e($).expr,!0)),c(b,J)}),r(f),r(g);var T=n(g,2),w=n(a(T),2);ne(w,21,()=>Nt,ge,(b,$)=>{var J=kr(),P=a(J,!0);r(J);var et={};h(()=>{v(P,e($)||"(default / UTC)"),et!==(et=e($))&&(J.value=(J.__value=e($))??"")}),c(b,J)}),r(w),r(T),r(u),j(S,()=>e(G),b=>o(G,b)),Et(w,()=>e(ke),b=>o(ke,b)),c(i,u)};M(xe,i=>{e(F)==="cron"&&i(L)})}r(te);var W=n(te,2),pe=n(a(W),2);ne(pe,20,()=>[["main","🏠 Main Session","System event in main context"],["isolated","🔒 Isolated","Separate agent turn with its own session"]],ge,(i,u)=>{var p=ye(()=>ut(u,3));let S=()=>e(p)[0],C=()=>e(p)[1],_=()=>e(p)[2];var g=$r(),f=a(g),T=a(f,!0);r(f);var w=n(f,2),b=a(w,!0);r(w),r(g),h(()=>{H(g,1,`flex-1 p-3 rounded-lg border text-left transition-all
40
+ ${e(ee)===S()?"border-accent-purple/50 bg-accent-purple/10":"border-border-default hover:border-border-default/80"}`),H(f,1,`text-sm font-medium ${e(ee)===S()?"text-accent-purple":"text-text-secondary"}`),v(T,C()),v(b,_())}),D("click",g,()=>o(ee,S(),!0)),c(i,g)}),r(pe),r(W);var X=n(W,2),be=a(X),ae=n(a(be)),Oe=a(ae,!0);r(ae),r(be);var Ae=n(be,2);{var He=i=>{var u=Sr();Mt(u),vt(u,"rows",3),j(u,()=>e(we),p=>o(we,p)),c(i,u)},Je=i=>{var u=Mr(),p=a(u);Mt(p),vt(p,"rows",3);var S=n(p,2),C=a(S),_=n(a(C),2);Z(_),r(C);var g=n(C,2),f=n(a(g),2),T=a(f);T.value=T.__value="";var w=n(T);w.value=w.__value="on";var b=n(w);b.value=b.__value="stream",r(f),r(g);var $=n(g,2),J=n(a($),2);Z(J),r($),r(S),r(u),j(p,()=>e($e),P=>o($e,P)),j(_,()=>e(Se),P=>o(Se,P)),Et(f,()=>e(Me),P=>o(Me,P)),j(J,()=>e(ve),P=>o(ve,P)),c(i,u)};M(Ae,i=>{e(Pe)==="systemEvent"?i(He):i(Je,!1)})}r(X);var ie=n(X,2);{var Ue=i=>{var u=Cr(),p=n(a(u),2);ne(p,20,()=>[["none","None"],["announce","📢 Announce"]],ge,(_,g)=>{var f=ye(()=>ut(g,2));let T=()=>e(f)[0],w=()=>e(f)[1];var b=Tr(),$=a(b,!0);r(b),h(()=>{H(b,1,`px-4 py-1.5 rounded-lg text-sm border transition-all
41
+ ${e(Te)===T()?"border-accent-cyan/50 bg-accent-cyan/15 text-accent-cyan":"border-border-default text-text-muted hover:text-text-secondary"}`),v($,w())}),D("click",b,()=>o(Te,T(),!0)),c(_,b)}),r(p);var S=n(p,2);{var C=_=>{var g=Er(),f=a(g),T=n(a(f),2);Z(T),r(f);var w=n(f,2),b=n(a(w),2);Z(b),r(w),r(g),j(T,()=>e(Ee),$=>o(Ee,$)),j(b,()=>e(Ce),$=>o(Ce,$)),c(_,g)};M(S,_=>{e(Te)==="announce"&&_(C)})}r(u),c(i,u)};M(ie,i=>{e(ee)==="isolated"&&i(Ue)})}var me=n(ie,2),Ne=a(me),Xe=a(Ne);Z(Xe),St(2),r(Ne);var Ze=n(Ne,2),E=a(Ze);Z(E),St(2),r(Ze),r(me);var A=n(me,2),V=a(A),Y=n(V,2),Be=a(Y);{var We=i=>{var u=ct("Saving...");c(i,u)},je=i=>{var u=ct();h(()=>v(u,e(se)?"💾 Update Job":"✨ Create Job")),c(i,u)};M(Be,i=>{e(Le)?i(We):i(je,!1)})}r(Y),r(A),r(k),r(l),h(()=>{v(y,e(se)?"✏️ Edit Job":"✨ Create Job"),v(Oe,e(Pe)),Y.disabled=!e(rt)||e(Le),H(Y,1,`px-6 py-2 rounded-lg text-sm font-medium transition-all
42
+ disabled:opacity-40 disabled:cursor-not-allowed
43
+ ${e(rt)?"bg-accent-purple/25 text-accent-purple border border-accent-purple/50 hover:bg-accent-purple/35 hover:shadow-[0_0_16px_rgba(124,77,255,0.3)]":"bg-bg-tertiary text-text-muted border border-border-default"}`)}),D("click",R,nt),j(Q,()=>e(le),i=>o(le,i)),Tt(Xe,()=>e(ze),i=>o(ze,i)),Tt(E,()=>e(Fe),i=>o(Fe,i)),D("click",V,nt),D("click",Y,Ot),c(t,l)};M(kt,t=>{e(Ge)&&t(Gt)})}var wt=n(kt,2);{var Qt=t=>{var l=Jr();ne(l,20,()=>Array(3),ge,(d,s)=>{var y=Ar();c(d,y)}),r(l),c(t,l)},Xt=t=>{var l=Nr(),d=n(a(l),6);r(l),D("click",d,pt),c(t,l)},Zt=t=>{var l=Ur();ne(l,21,()=>e(ue),d=>d.id,(d,s)=>{var y=Hr(),R=a(y),k=a(R),B=a(k);r(k);var Q=n(k,2),te=a(Q),re=a(te),De=a(re,!0);r(re);var de=n(re,2),N=a(de,!0);r(de);var U=n(de,2),xe=a(U,!0);r(U),r(te);var L=n(te,2),W=a(L),pe=a(W,!0);r(W);var X=n(W,2);{var be=E=>{var A=Rr(),V=a(A);r(A),h(Y=>v(V,`Next: ${Y??""}`),[()=>Qe(e(s).nextRunAt)]),c(E,A)};M(X,E=>{e(s).nextRunAt&&E(be)})}var ae=n(X,2);{var Oe=E=>{var A=Lr(),V=a(A);r(A),h(Y=>v(V,`Last: ${Y??""}`),[()=>Qe(e(s).lastRunAt)]),c(E,A)};M(ae,E=>{e(s).lastRunAt&&E(Oe)})}var Ae=n(ae,2);{var He=E=>{var A=zr(),V=a(A);r(A),h(()=>v(V,`${e(s).runCount??""} runs`)),c(E,A)};M(Ae,E=>{e(s).runCount&&E(He)})}r(L),r(Q);var Je=n(Q,2),ie=a(Je),Ue=n(ie,2),me=n(Ue,2),Ne=n(me,2);r(Je),r(R);var Xe=n(R,2);{var Ze=E=>{var A=Or(),V=a(A);{var Y=I=>{var O=Fr(),fe=n(a(O),2),it=a(fe,!0);r(fe),r(O),h(()=>v(it,e(s).description)),c(I,O)};M(V,I=>{e(s).description&&I(Y)})}var Be=n(V,2),We=a(Be),je=n(a(We),2),i=a(je,!0);r(je),r(We);var u=n(We,2),p=n(a(u),2),S=a(p,!0);r(p),r(u);var C=n(u,2),_=n(a(C),2),g=a(_,!0);r(_),r(C);var f=n(C,2),T=n(a(f),2),w=a(T,!0);r(T),r(f),r(Be);var b=n(Be,2),$=n(a(b),2),J=a($,!0);r($),r(b);var P=n(b,2);{var et=I=>{var O=Pr(),fe=n(a(O),2),it=a(fe,!0);r(fe),r(O),h(ar=>v(it,ar),[()=>JSON.stringify(e(s).delivery,null,2)]),c(I,O)};M(P,I=>{e(s).delivery&&I(et)})}var tr=n(P,2);{var rr=I=>{var O=Ir(),fe=a(O);r(O),h(()=>v(fe,`Last error: ${e(s).lastError??""}`)),c(I,O)};M(tr,I=>{e(s).lastError&&I(rr)})}r(A),h((I,O)=>{v(i,I),v(S,e(s).sessionTarget),v(g,e(s).notify?"Yes":"No"),v(w,e(s).id),v(J,O)},[()=>bt(e(s).schedule),()=>JSON.stringify(e(s).payload,null,2)]),c(E,A)};M(Xe,E=>{e(qe)===e(s).id&&E(Ze)})}r(y),h(E=>{H(y,1,`rounded-xl border bg-bg-secondary/50 transition-all duration-200
44
+ ${e(s).enabled?"border-border-default hover:border-border-default/80":"border-border-default/50 opacity-60"}
45
+ ${e(qe)===e(s).id?"shadow-[0_0_12px_rgba(0,229,255,0.1)]":""}`),k.disabled=e(z),H(k,1,`w-10 h-6 rounded-full transition-colors relative flex-shrink-0 cursor-pointer
46
+ ${e(s).enabled?"bg-accent-green/30":"bg-bg-tertiary"}`),vt(k,"title",`${e(s).enabled?"Disable":"Enable"} job`),H(B,1,`absolute top-1 w-4 h-4 rounded-full transition-all duration-200
47
+ ${e(s).enabled?"left-5 bg-accent-green":"left-1 bg-text-muted"}`),v(De,e(s).name||e(s).id),H(de,1,`px-2 py-0.5 rounded text-xs
48
+ ${e(s).payload.kind==="agentTurn"?"bg-accent-purple/20 text-accent-purple":"bg-accent-cyan/20 text-accent-cyan"}`),v(N,e(s).payload.kind==="agentTurn"?"agent":"event"),v(xe,e(s).sessionTarget),v(pe,E),ie.disabled=e(z),Ue.disabled=e(z),me.disabled=e(z),Ne.disabled=e(z)},[()=>bt(e(s).schedule)]),D("click",k,()=>Rt(e(s))),D("click",Q,()=>o(qe,e(qe)===e(s).id?null:e(s).id,!0)),D("click",ie,()=>Ft(e(s))),D("click",Ue,()=>Lt(e(s))),D("click",me,()=>at(e(s).id)),D("click",Ne,()=>zt(e(s))),c(d,y)}),r(l),c(t,l)};M(wt,t=>{e(Ve)?t(Qt):e(ue).length===0?t(Xt,1):t(Zt,!1)})}var jt=n(wt,2);{var er=t=>{const l=ye(()=>e(ue).find(N=>N.id===e(oe)));var d=Kr(),s=a(d),y=a(s),R=a(y);r(y);var k=n(y,2),B=a(k),Q=n(B,2);r(k),r(s);var te=n(s,2);{var re=N=>{var U=Br();c(N,U)},De=N=>{var U=Wr();c(N,U)},de=N=>{var U=Yr();ne(U,21,()=>e(Re),xe=>xe.id,(xe,L)=>{var W=Vr(),pe=a(W),X=n(pe,2),be=a(X,!0);r(X);var ae=n(X,2),Oe=a(ae,!0);r(ae);var Ae=n(ae,2),He=a(Ae);r(Ae),r(W),h((Je,ie)=>{H(pe,1,`w-2 h-2 rounded-full flex-shrink-0
49
+ ${e(L).status==="ok"||e(L).status==="success"?"bg-accent-green":e(L).status==="error"||e(L).status==="failed"?"bg-red-500":e(L).status==="running"?"bg-accent-cyan animate-pulse":"bg-text-muted"}`),v(be,Je),v(Oe,ie),v(He,`${e(L).status??""}${e(L).error?`: ${e(L).error}`:""}`)},[()=>Qe(e(L).startedAt),()=>Ht(e(L).durationMs)]),c(xe,W)}),r(U),c(N,U)};M(te,N=>{e(Ke)?N(re):e(Re).length===0?N(De,1):N(de,!1)})}r(d),h(()=>{v(R,`📋 Run History: ${e(l)?.name??e(oe)??""}`),B.disabled=e(Ke)}),D("click",B,()=>at(e(oe))),D("click",Q,()=>{o(oe,null),o(Re,[],!0)}),c(t,d)};M(jt,t=>{e(oe)&&t(er)})}r(mt),r(ot),h(t=>{lt.disabled=tt.state.status!=="connected",gt.disabled=e(Ve)||tt.state.status!=="connected",v(ht,`${e(ue).length??""} job${e(ue).length!==1?"s":""} · ${t??""} enabled `)},[()=>e(ue).filter(t=>t.enabled).length]),D("click",lt,pt),D("click",gt,Ie),c(Ct,ot),dr()}nr(["click"]);export{aa as component};
@@ -0,0 +1,17 @@
1
+ import{d as ve,a as z,b as i,f as c,s as b,c as Mt,t as ue}from"../chunks/B2A7gHtL.js";import{p as xe,s as y,a as Ct,u as pe,b as me,t as _,c as fe,g as t,d as v,e as be,f as l,$ as ge,h as s,n as Nt,r as a,j as K,k as _e,i as R,l as Ot}from"../chunks/qR_TM3YX.js";import{i as h}from"../chunks/DpBBTLWw.js";import{g as he,a as M,r as ye,b as Y,e as Z,s as Jt,i as $}from"../chunks/D6tSezzf.js";import{h as we}from"../chunks/CXQ1lKJR.js";import{b as jt}from"../chunks/nnazh41B.js";var ke=Mt('<svg class="w-4 h-4 animate-spin" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"></path></svg>'),Se=c('<div class="rounded-xl border border-border-default bg-bg-secondary/50 p-8 text-center"><div class="text-text-muted text-sm">Connect to the gateway to use debug tools.</div></div>'),Ce=Mt('<svg class="w-4 h-4 animate-spin" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"></path></svg> Executing…',1),Ne=c('<div class="absolute top-2 right-2 px-2 py-0.5 rounded text-[10px] font-bold bg-red-500/20 text-red-400 uppercase tracking-wider">Error</div> <pre class="p-3 text-sm font-mono text-red-400 overflow-auto max-h-[280px] whitespace-pre-wrap"> </pre>',1),Oe=c('<div class="absolute top-2 right-2 px-2 py-0.5 rounded text-[10px] font-bold bg-accent-green/20 text-accent-green uppercase tracking-wider">OK</div> <pre class="p-3 text-sm font-mono text-accent-green/90 overflow-auto max-h-[280px] whitespace-pre-wrap"> </pre>',1),Je=c('<div class="h-full flex items-center justify-center text-text-muted/40 text-sm">Response will appear here</div>'),je=c("<button> </button>"),Me=c('<div class="mt-4 pt-3 border-t border-border-default"><div class="text-xs font-medium text-text-muted mb-2">Recent Calls</div> <div class="flex flex-wrap gap-2"></div></div>'),Ee=c('<div class="rounded-xl border border-red-500/30 bg-red-500/5 p-4 text-red-400 text-sm"> </div>'),He=c("<span> </span>"),We=c('<div><div class="text-[11px] text-text-muted uppercase tracking-wider"> </div> <div class="text-sm text-text-secondary font-mono truncate"> </div></div>'),De=c('<div class="mt-4 pt-3 border-t border-border-default"><details><summary class="text-xs text-text-muted cursor-pointer hover:text-text-secondary transition-colors">Full JSON</summary> <pre class="mt-2 p-3 bg-bg-input rounded-lg text-xs font-mono text-text-secondary overflow-auto max-h-48"> </pre></details></div>'),Re=c('<div class="grid grid-cols-2 gap-3"></div> <!>',1),Ae=c('<div class="text-sm text-text-muted">No data loaded</div>'),Pe=c('<div><div class="text-[11px] text-text-muted uppercase tracking-wider"> </div> <div class="text-sm text-text-secondary font-mono truncate"> </div></div>'),ze=c('<div class="mt-4 pt-3 border-t border-border-default"><details><summary class="text-xs text-text-muted cursor-pointer hover:text-text-secondary transition-colors">Full JSON</summary> <pre class="mt-2 p-3 bg-bg-input rounded-lg text-xs font-mono text-text-secondary overflow-auto max-h-48"> </pre></details></div>'),Ke=c('<div class="grid grid-cols-2 gap-3"></div> <!>',1),Be=c('<div class="text-sm text-text-muted">No data loaded</div>'),Le=c(`<div class="flex items-center gap-2 px-3 py-1.5 rounded-lg bg-bg-input/50 border border-border-default/50
2
+ hover:border-accent-amber/30 transition-colors group"><span class="text-[10px] text-text-muted font-mono w-5 text-right"></span> <span class="text-sm font-mono text-text-secondary group-hover:text-accent-amber transition-colors truncate"> </span></div>`),Ve=c('<div class="space-y-1.5 max-h-64 overflow-y-auto"></div>'),Fe=c('<div class="text-sm text-text-muted">No models available</div>'),Te=c('<pre class="p-3 bg-bg-input rounded-lg text-xs font-mono text-text-secondary overflow-auto max-h-64 whitespace-pre-wrap"> </pre>'),Ge=c('<div class="text-sm text-text-muted">No heartbeat data</div>'),qe=c(`<div class="rounded-xl border border-accent-cyan/30 bg-bg-secondary/60 p-5
3
+ shadow-[0_0_30px_rgba(0,229,255,0.06)]"><div class="flex items-center justify-between mb-4"><div><h2 class="text-lg font-semibold text-accent-cyan flex items-center gap-2"><svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path></svg> Manual RPC Console</h2> <p class="text-xs text-text-muted mt-0.5">Send raw gateway methods with JSON params. <kbd class="text-accent-cyan/70">Ctrl+Enter</kbd> to execute.</p></div></div> <div class="grid grid-cols-1 lg:grid-cols-2 gap-4"><div class="space-y-3"><div><label for="rpc-method" class="block text-xs font-medium text-text-muted mb-1.5">Method</label> <input id="rpc-method" placeholder="e.g. status, health, models.list" class="w-full bg-bg-input border border-border-default rounded-lg px-3 py-2.5
4
+ font-mono text-sm text-text-primary placeholder:text-text-muted/50
5
+ focus:outline-none focus:border-accent-cyan focus:shadow-[0_0_8px_rgba(0,229,255,0.15)]
6
+ transition-all"/></div> <div><label for="rpc-params" class="block text-xs font-medium text-text-muted mb-1.5">Params (JSON)</label> <textarea id="rpc-params" rows="6" class="w-full bg-bg-input border border-border-default rounded-lg px-3 py-2.5
7
+ font-mono text-sm text-text-primary placeholder:text-text-muted/50
8
+ focus:outline-none focus:border-accent-cyan focus:shadow-[0_0_8px_rgba(0,229,255,0.15)]
9
+ transition-all resize-y"></textarea></div> <button class="w-full py-2.5 rounded-lg text-sm font-medium transition-all
10
+ bg-accent-cyan/10 border border-accent-cyan/40 text-accent-cyan
11
+ hover:bg-accent-cyan/20 hover:border-accent-cyan hover:shadow-[0_0_15px_rgba(0,229,255,0.2)]
12
+ disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2"><!></button></div> <div class="flex flex-col"><div class="text-xs font-medium text-text-muted mb-1.5">Result</div> <div class="flex-1 bg-bg-input border border-border-default rounded-lg overflow-hidden relative"><!></div></div></div> <!></div> <!> <div class="grid grid-cols-1 lg:grid-cols-2 gap-5"><div class="rounded-xl border border-border-default bg-bg-secondary/50 p-5"><div class="flex items-center justify-between mb-4"><h2 class="text-sm font-semibold text-text-primary flex items-center gap-2"><span class="w-2 h-2 rounded-full bg-accent-green animate-pulse"></span> Status</h2> <!></div> <!></div> <div class="rounded-xl border border-border-default bg-bg-secondary/50 p-5"><div class="flex items-center gap-2 mb-4"><span class="w-2 h-2 rounded-full bg-accent-purple"></span> <h2 class="text-sm font-semibold text-text-primary">Health</h2></div> <!></div></div> <div class="grid grid-cols-1 lg:grid-cols-2 gap-5"><div class="rounded-xl border border-border-default bg-bg-secondary/50 p-5"><div class="flex items-center gap-2 mb-4"><span class="w-2 h-2 rounded-full bg-accent-amber"></span> <h2 class="text-sm font-semibold text-text-primary">Models</h2> <span class="ml-auto text-xs text-text-muted font-mono"> </span></div> <!></div> <div class="rounded-xl border border-border-default bg-bg-secondary/50 p-5"><div class="flex items-center gap-2 mb-4"><span class="w-2 h-2 rounded-full bg-accent-pink animate-pulse"></span> <h2 class="text-sm font-semibold text-text-primary">Last Heartbeat</h2></div> <!></div></div>`,1),Ie=c(`<div class="h-full overflow-y-auto"><div class="max-w-7xl mx-auto p-4 md:p-6 space-y-6"><div class="flex items-center justify-between flex-wrap gap-3"><div><h1 class="text-2xl font-bold text-text-primary flex items-center gap-3"><span class="text-accent-cyan">⚡</span> Debug Console</h1> <p class="text-sm text-text-muted mt-1">Gateway diagnostics, snapshots, and raw RPC access.</p></div> <button class="px-4 py-2 rounded-lg text-sm border border-border-default hover:border-accent-cyan
13
+ text-text-secondary hover:text-accent-cyan transition-all
14
+ disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2"><!> Refresh All</button></div> <!></div></div>`);function tr(Et,Ht){xe(Ht,!0);const tt=he();let A=y(!1),N=y(null),P=y(null),B=y(Ct([])),et=y(null),L=y(null),E=y("status"),V=y("{}"),F=y(null),T=y(null),G=y(!1),H=y(Ct([]));pe(()=>{tt.state.status==="connected"&&me(()=>{!t(A)&&!t(N)&&pt()})});async function pt(){if(M.connected){v(A,!0),v(L,null);try{const[o,x,m,C]=await Promise.all([M.call("status",{}).catch(()=>null),M.call("health",{}).catch(()=>null),M.call("models.list",{}).catch(()=>null),M.call("last-heartbeat",{}).catch(()=>null)]);v(N,o,!0),v(P,x,!0),v(B,Array.isArray(m?.models)?m.models:[],!0),v(et,C,!0)}catch(o){v(L,String(o),!0)}finally{v(A,!1)}}}async function mt(){if(!M.connected||!t(E).trim())return;v(G,!0),v(T,null),v(F,null);const o=t(E).trim(),x=t(V).trim();try{const m=x?JSON.parse(x):{},C=await M.call(o,m),D=JSON.stringify(C,null,2);v(F,D,!0),v(H,[{method:o,params:x,result:D,ts:Date.now()},...t(H)].slice(0,20),!0)}catch(m){const C=String(m);v(T,C,!0),v(H,[{method:o,params:x,error:C,ts:Date.now()},...t(H)].slice(0,20),!0)}finally{v(G,!1)}}function q(o){return o?Object.entries(o).map(([x,m])=>[x,typeof m=="object"?JSON.stringify(m,null,2):String(m)]):[]}function Wt(o){return o?JSON.stringify(o,null,2):"No heartbeat data"}function ft(o){(o.ctrlKey||o.metaKey)&&o.key==="Enter"&&(o.preventDefault(),mt())}function Dt(o){v(E,o.method,!0),v(V,o.params,!0)}let W=R(()=>!t(N)||typeof t(N)!="object"?null:t(N).securityAudit?.summary??null),I=R(()=>{if(!t(W))return"";const o=t(W).critical??0,x=t(W).warn??0;return o>0?"error":x>0?"warn":"ok"});var rt=Ie();we("1cmtigg",o=>{be(()=>{ge.title="Debug — Cortex"})});var bt=s(rt),at=s(bt),Q=l(s(at),2),Rt=s(Q);{var At=o=>{var x=ke();i(o,x)};h(Rt,o=>{t(A)&&o(At)})}Nt(),a(Q),a(at);var Pt=l(at,2);{var zt=o=>{var x=Se();i(o,x)},Kt=o=>{var x=qe(),m=K(x),C=l(s(m),2),D=s(C),st=s(D),ot=l(s(st),2);ye(ot),a(st);var lt=l(st,2),U=l(s(lt),2);_e(U),Y(U,"placeholder","{ }"),a(lt);var X=l(lt,2),Bt=s(X);{var Lt=e=>{var r=Ce();Nt(),i(e,r)},Vt=e=>{var r=ue("Execute");i(e,r)};h(Bt,e=>{t(G)?e(Lt):e(Vt,!1)})}a(X),a(D);var gt=l(D,2),_t=l(s(gt),2),Ft=s(_t);{var Tt=e=>{var r=Ne(),n=l(K(r),2),u=s(n,!0);a(n),_(()=>b(u,t(T))),i(e,r)},Gt=e=>{var r=Oe(),n=l(K(r),2),u=s(n,!0);a(n),_(()=>b(u,t(F))),i(e,r)},qt=e=>{var r=Je();i(e,r)};h(Ft,e=>{t(T)?e(Tt):t(F)?e(Gt,1):e(qt,!1)})}a(_t),a(gt),a(C);var It=l(C,2);{var Qt=e=>{var r=Me(),n=l(s(r),2);Z(n,21,()=>t(H).slice(0,8),$,(u,w)=>{var f=je(),d=s(f,!0);a(f),_(p=>{Jt(f,1,`px-2.5 py-1 rounded text-xs font-mono border transition-all
15
+ ${t(w).error?"border-red-500/30 text-red-400/70 hover:border-red-500/60 hover:text-red-400":"border-accent-green/30 text-accent-green/70 hover:border-accent-green/60 hover:text-accent-green"}
16
+ bg-bg-input hover:bg-bg-hover`),Y(f,"title",`${t(w).method??""} @ ${p??""}`),b(d,t(w).method)},[()=>new Date(t(w).ts).toLocaleTimeString()]),z("click",f,()=>Dt(t(w))),i(u,f)}),a(n),a(r),i(e,r)};h(It,e=>{t(H).length>0&&e(Qt)})}a(m);var ht=l(m,2);{var Ut=e=>{var r=Ee(),n=s(r,!0);a(r),_(()=>b(n,t(L))),i(e,r)};h(ht,e=>{t(L)&&e(Ut)})}var dt=l(ht,2),it=s(dt),nt=s(it),Xt=l(s(nt),2);{var Yt=e=>{var r=He(),n=s(r,!0);a(r),_(()=>{Jt(r,1,`px-2 py-0.5 rounded text-xs font-medium
17
+ ${t(I)==="error"?"bg-red-500/20 text-red-400":t(I)==="warn"?"bg-amber-500/20 text-amber-400":"bg-accent-green/20 text-accent-green"}`),b(n,t(I)==="error"?`${t(W).critical} critical`:t(I)==="warn"?`${t(W).warn} warnings`:"Clean")}),i(e,r)};h(Xt,e=>{t(W)&&e(Yt)})}a(nt);var Zt=l(nt,2);{var $t=e=>{var r=Re(),n=K(r);Z(n,21,()=>q(t(N)).filter(([,d])=>!d.startsWith("{")&&!d.startsWith("[")),$,(d,p)=>{var g=R(()=>Ot(t(p),2));let k=()=>t(g)[0],O=()=>t(g)[1];var S=We(),J=s(S),ut=s(J,!0);a(J);var j=l(J,2),xt=s(j,!0);a(j),a(S),_(()=>{b(ut,k()),Y(j,"title",O()),b(xt,O())}),i(d,S)}),a(n);var u=l(n,2);{var w=d=>{var p=De(),g=s(p),k=l(s(g),2),O=s(k,!0);a(k),a(g),a(p),_(S=>b(O,S),[()=>JSON.stringify(t(N),null,2)]),i(d,p)},f=R(()=>q(t(N)).some(([,d])=>d.startsWith("{")||d.startsWith("[")));h(u,d=>{t(f)&&d(w)})}i(e,r)},te=e=>{var r=Ae();i(e,r)};h(Zt,e=>{t(N)?e($t):e(te,!1)})}a(it);var yt=l(it,2),ee=l(s(yt),2);{var re=e=>{var r=Ke(),n=K(r);Z(n,21,()=>q(t(P)).filter(([,d])=>!d.startsWith("{")&&!d.startsWith("[")),$,(d,p)=>{var g=R(()=>Ot(t(p),2));let k=()=>t(g)[0],O=()=>t(g)[1];var S=Pe(),J=s(S),ut=s(J,!0);a(J);var j=l(J,2),xt=s(j,!0);a(j),a(S),_(()=>{b(ut,k()),Y(j,"title",O()),b(xt,O())}),i(d,S)}),a(n);var u=l(n,2);{var w=d=>{var p=ze(),g=s(p),k=l(s(g),2),O=s(k,!0);a(k),a(g),a(p),_(S=>b(O,S),[()=>JSON.stringify(t(P),null,2)]),i(d,p)},f=R(()=>q(t(P)).some(([,d])=>d.startsWith("{")||d.startsWith("[")));h(u,d=>{t(f)&&d(w)})}i(e,r)},ae=e=>{var r=Be();i(e,r)};h(ee,e=>{t(P)?e(re):e(ae,!1)})}a(yt),a(dt);var wt=l(dt,2),ct=s(wt),vt=s(ct),kt=l(s(vt),4),se=s(kt);a(kt),a(vt);var oe=l(vt,2);{var le=e=>{var r=Ve();Z(r,21,()=>t(B),$,(n,u,w)=>{var f=Le(),d=s(f);d.textContent=w+1;var p=l(d,2),g=s(p,!0);a(p),a(f),_(k=>b(g,k),[()=>typeof t(u)=="object"&&t(u)!==null?t(u).id??t(u).name??JSON.stringify(t(u)):String(t(u))]),i(n,f)}),a(r),i(e,r)},de=e=>{var r=Fe();i(e,r)};h(oe,e=>{t(B).length>0?e(le):e(de,!1)})}a(ct);var St=l(ct,2),ie=l(s(St),2);{var ne=e=>{var r=Te(),n=s(r,!0);a(r),_(u=>b(n,u),[()=>Wt(t(et))]),i(e,r)},ce=e=>{var r=Ge();i(e,r)};h(ie,e=>{t(et)?e(ne):e(ce,!1)})}a(St),a(wt),_(e=>{X.disabled=e,b(se,`${t(B).length??""} registered`)},[()=>t(G)||!t(E).trim()]),z("keydown",ot,ft),jt(ot,()=>t(E),e=>v(E,e)),z("keydown",U,ft),jt(U,()=>t(V),e=>v(V,e)),z("click",X,mt),i(o,x)};h(Pt,o=>{tt.state.status!=="connected"?o(zt):o(Kt,!1)})}a(bt),a(rt),_(()=>Q.disabled=t(A)||tt.state.status!=="connected"),z("click",Q,pt),i(Et,rt),fe()}ve(["click","keydown"]);export{tr as component};
@@ -0,0 +1,4 @@
1
+ import{d as Nt,a as D,b as v,f as p,s as c,t as ie,e as Tt}from"../chunks/B2A7gHtL.js";import{p as zt,s as A,a as Dt,u as ze,b as Ft,d as w,t as x,c as Ht,e as Pt,g as e,f as i,$ as Et,h as n,r,i as F,j as Ut}from"../chunks/qR_TM3YX.js";import{i as f}from"../chunks/DpBBTLWw.js";import{g as Ot,a as H,s as V,e as C,i as L,b as De}from"../chunks/D6tSezzf.js";import{h as Rt}from"../chunks/CXQ1lKJR.js";import{s as qt}from"../chunks/rBDgyNy3.js";import{g as Gt}from"../chunks/Be_uRYmX.js";var Jt=p('<div class="flex items-center gap-1.5 mt-3 text-xs"><span class="w-2 h-2 rounded-full bg-accent-green glow-pulse"></span> <span class="text-text-muted">Active instances:</span> <span class="text-accent-green font-mono font-semibold"> </span></div>'),Qt=p('<div class="flex flex-col items-center justify-center h-full text-center"><div class="w-16 h-16 rounded-2xl bg-bg-tertiary border border-border-default flex items-center justify-center mb-4"><svg class="w-8 h-8 text-text-muted" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18.364 5.636a9 9 0 010 12.728m-2.829-2.829a5 5 0 000-7.07"></path></svg></div> <p class="text-text-muted text-sm">Connect to the gateway to view instances.</p></div>'),Wt=p('<div class="glass rounded-xl p-4 border border-accent-pink/30 mb-4"><div class="flex items-center gap-2 text-accent-pink text-sm"><svg class="w-4 h-4 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg> <span> </span></div></div>'),Xt=p('<div class="glass rounded-xl p-5 border border-border-default animate-pulse"><div class="h-4 w-40 bg-bg-tertiary rounded mb-2"></div> <div class="h-3 w-64 bg-bg-tertiary rounded mb-3"></div> <div class="flex gap-2"><div class="h-5 w-14 bg-bg-tertiary rounded-full"></div> <div class="h-5 w-14 bg-bg-tertiary rounded-full"></div></div></div>'),Yt=p('<div class="flex flex-col gap-3"></div>'),Zt=p('<div class="flex flex-col items-center justify-center h-64 text-center"><p class="text-text-muted text-sm">No instances reported yet.</p></div>'),ea=p('<span class="text-xs text-text-muted"> </span>'),ta=p('<span class="text-text-muted/50"> </span>'),aa=p('<span class="px-2 py-0.5 rounded-full text-[10px] font-medium bg-accent-cyan/10 text-accent-cyan border border-accent-cyan/20"> </span>'),ra=p('<span class="px-2 py-0.5 rounded-full text-[10px] font-medium bg-accent-purple/10 text-accent-purple border border-accent-purple/20"> </span>'),sa=p('<span class="px-2 py-0.5 rounded-full text-[10px] font-medium bg-bg-tertiary text-text-muted border border-border-default"> </span>'),oa=p('<span class="px-2 py-0.5 rounded-full text-[10px] font-medium bg-accent-green/10 text-accent-green border border-accent-green/10"> </span>'),na=p('<span class="px-2 py-0.5 rounded-full text-[10px] font-medium bg-bg-tertiary text-text-muted border border-border-default"> </span>'),ia=p('<span class="px-2 py-0.5 rounded-full text-[10px] font-medium bg-accent-purple/10 text-purple-300 border border-accent-purple/10"> </span>'),da=p('<span class="px-2 py-0.5 rounded-full text-[10px] font-medium bg-accent-amber/10 text-accent-amber border border-accent-amber/10"> </span>'),la=p('<div class="flex items-center gap-1 justify-end"><svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg> </div>'),va=p("<div> </div>"),ca=p('<div class="text-text-muted/60"> </div>'),pa=p('<div class="flex items-center gap-1"><button><svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"></path></svg> </button> <button><svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path></svg> </button></div>'),xa=p('<div class="col-span-2 md:col-span-3"><span class="text-text-muted block mb-0.5">Session Key</span> <span class="text-text-primary font-mono text-[10px] break-all"> </span></div>'),ua=p('<div><span class="text-text-muted block mb-0.5">Model</span> <span class="text-accent-purple font-mono"> </span></div>'),fa=p('<span class="px-1.5 py-0.5 rounded text-[10px] bg-bg-tertiary text-text-muted border border-border-default font-mono"> </span>'),ma=p('<div class="col-span-2 md:col-span-3"><span class="text-text-muted block mb-0.5">Scopes</span> <div class="flex flex-wrap gap-1 mt-1"></div></div>'),ba=p('<span class="px-1.5 py-0.5 rounded text-[10px] bg-accent-green/10 text-accent-green border border-accent-green/10 font-mono"> </span>'),_a=p('<div class="col-span-2 md:col-span-3"><span class="text-text-muted block mb-0.5">Capabilities</span> <div class="flex flex-wrap gap-1 mt-1"></div></div>'),ga=p('<div class="px-4 pb-4 border-t border-border-default/50 pt-3 animate-fade-in"><div class="grid grid-cols-2 md:grid-cols-3 gap-3 text-xs"><div><span class="text-text-muted block mb-0.5">Mode</span> <span class="text-text-primary font-mono"> </span></div> <div><span class="text-text-muted block mb-0.5">Platform</span> <span class="text-text-primary font-mono"> </span></div> <div><span class="text-text-muted block mb-0.5">Device</span> <span class="text-text-primary font-mono"> </span></div> <div><span class="text-text-muted block mb-0.5">Model ID</span> <span class="text-text-primary font-mono"> </span></div> <div><span class="text-text-muted block mb-0.5">Client Version</span> <span class="text-text-primary font-mono"> </span></div> <div><span class="text-text-muted block mb-0.5">Client ID</span> <span class="text-text-primary font-mono"> </span></div> <!> <!> <!> <!></div></div>'),ha=p('<div class="rounded-xl border border-border-default bg-bg-secondary/50 hover:border-accent-cyan/20 transition-all animate-fade-in"><div class="p-4"><div class="flex items-start justify-between gap-4"><div class="min-w-0 flex-1"><div class="flex items-center gap-2 mb-1.5"><span></span> <h3 class="text-sm font-semibold text-text-primary truncate"> </h3> <!></div> <p class="text-xs text-text-muted mb-2"><!> <!> <!> <!></p> <div class="flex flex-wrap gap-1.5"><!> <!> <!> <!> <!> <!></div></div> <div class="flex flex-col items-end gap-2 flex-shrink-0"><div class="text-right text-xs text-text-muted space-y-0.5"><!> <!> <!></div> <!> <button class="flex items-center gap-1 text-[10px] text-text-muted hover:text-accent-cyan transition-colors"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path></svg> </button></div></div></div> <!></div>'),ka=p('<div class="flex flex-col gap-3"></div>'),wa=p('<div class="h-full flex flex-col overflow-hidden"><div class="flex-shrink-0 p-4 md:p-6 pb-4 border-b border-border-default"><div class="flex items-start justify-between gap-4 flex-wrap"><div class="flex items-center gap-3"><div class="w-10 h-10 rounded-xl gradient-bg border border-border-glow flex items-center justify-center"><svg class="w-5 h-5 text-accent-cyan" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5.636 18.364a9 9 0 010-12.728m12.728 0a9 9 0 010 12.728M12 12h.01"></path></svg></div> <div><h1 class="text-xl font-bold text-text-primary glow-text-cyan">Connected Instances</h1> <p class="text-sm text-text-muted">Presence beacons from the gateway and clients</p></div></div> <button class="flex items-center gap-1.5 px-3 py-1.5 text-sm bg-bg-tertiary border border-border-default rounded-lg text-text-secondary hover:text-accent-cyan hover:border-accent-cyan/30 transition-all disabled:opacity-40 disabled:cursor-not-allowed"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"></path></svg> </button></div> <!></div> <div class="flex-1 overflow-y-auto p-4 md:p-6"><!></div></div>');function Sa(Fe,He){zt(He,!0);const P=Ot(),E=Gt();let y=A(Dt([])),M=A(!1),B=A(null),de=A(null),U=A(null);async function O(){if(!(!H.connected||e(M))){w(M,!0),w(B,null);try{const o=await H.call("system-presence",{});Array.isArray(o)?w(y,o,!0):o&&Array.isArray(o.entries)?w(y,o.entries,!0):w(y,[],!0)}catch(o){w(B,String(o),!0)}finally{w(M,!1)}}}async function le(o,l,u){if(!o.sessionKey){E.error("No Session","This instance has no active session to patch");return}w(U,l,!0);try{await H.call("sessions.patch",{key:o.sessionKey,...u}),E.success("Updated","Session settings saved"),await O()}catch(t){E.error("Failed",String(t))}finally{w(U,null)}}async function Pe(o,l){const u=["off","on","stream"],t=o.thinkingLevel??"off",m=u.indexOf(t),N=u[(m+1)%u.length];await le(o,l,{thinkingLevel:N})}async function Ee(o,l){const t=(o.verboseLevel??"off")==="off"?"on":"off";await le(o,l,{verboseLevel:t})}function Ue(o){if(typeof o!="number"||o<=0)return"—";const l=Math.floor(o/1e3),u=Math.floor(l/60),t=Math.floor(u/60),m=Math.floor(t/24);return m>0?`${m}d ${t%24}h`:t>0?`${t}h ${u%60}m`:u>0?`${u}m`:`${l}s`}function Oe(o){return o==null?"—":o<60?`${o}s ago`:o<3600?`${Math.floor(o/60)}m ago`:o<86400?`${Math.floor(o/3600)}h ago`:`${Math.floor(o/86400)}d ago`}function Re(o){return o.lastInputSeconds!=null?o.lastInputSeconds<300?"online":o.lastInputSeconds<3600?"idle":"stale":"online"}let qe=F(()=>[...e(y)].sort((o,l)=>{const u=o.mode==="gateway"?0:1,t=l.mode==="gateway"?0:1;return u!==t?u-t:(l.uptimeMs??0)-(o.uptimeMs??0)}));ze(()=>{P.state.status==="connected"&&Ft(()=>O())}),ze(()=>H.on("system-presence",l=>{Array.isArray(l)&&w(y,l,!0)}));var R=wa();Rt("aye7dn",o=>{Pt(()=>{Et.title="Instances — Cortex"})});var q=n(R),G=n(q),K=i(n(G),2),ve=n(K),Ge=i(ve);r(K),r(G);var Je=i(G,2);{var Qe=o=>{var l=Jt(),u=i(n(l),4),t=n(u,!0);r(u),r(l),x(()=>c(t,e(y).length)),v(o,l)};f(Je,o=>{e(y).length>0&&o(Qe)})}r(q);var ce=i(q,2),We=n(ce);{var Xe=o=>{var l=Qt();v(o,l)},Ye=o=>{var l=Wt(),u=n(l),t=i(n(u),2),m=n(t,!0);r(t),r(u),r(l),x(()=>c(m,e(B))),v(o,l)},Ze=o=>{var l=Yt();C(l,20,()=>Array(3),L,(u,t)=>{var m=Xt();v(u,m)}),r(l),v(o,l)},et=o=>{var l=Zt();v(o,l)},tt=o=>{var l=ka();C(l,21,()=>e(qe),L,(u,t,m)=>{const N=F(()=>Re(e(t))),T=F(()=>e(de)===m),pe=F(()=>e(U)===m);var z=ha();qt(z,`animation-delay: ${m*50}ms`);var J=n(z),xe=n(J),Q=n(xe),W=n(Q),ue=n(W),X=i(ue,2),at=n(X,!0);r(X);var rt=i(X,2);{var st=a=>{var s=ea(),d=n(s);r(s),x(()=>c(d,`(${e(t).host??""})`)),v(a,s)};f(rt,a=>{e(t).displayName&&e(t).host&&e(t).displayName!==e(t).host&&a(st)})}r(W);var Y=i(W,2),fe=n(Y);{var ot=a=>{var s=ie();x(()=>c(s,e(t).platform)),v(a,s)};f(fe,a=>{e(t).platform&&a(ot)})}var me=i(fe,2);{var nt=a=>{var s=ie();x(()=>c(s,`· ${e(t).deviceFamily??""}`)),v(a,s)};f(me,a=>{e(t).deviceFamily&&a(nt)})}var be=i(me,2);{var it=a=>{var s=ie();x(()=>c(s,`· ${e(t).modelIdentifier??""}`)),v(a,s)};f(be,a=>{e(t).modelIdentifier&&a(it)})}var dt=i(be,2);{var lt=a=>{var s=ta(),d=n(s);r(s),x(()=>c(d,`· ${e(t).clientId??""}`)),v(a,s)};f(dt,a=>{e(t).clientId&&e(t).clientId!==e(t).host&&a(lt)})}r(Y);var _e=i(Y,2),ge=n(_e);{var vt=a=>{var s=aa(),d=n(s,!0);r(s),x(()=>c(d,e(t).mode)),v(a,s)};f(ge,a=>{e(t).mode&&a(vt)})}var he=i(ge,2);C(he,17,()=>e(t).roles??[],L,(a,s)=>{var d=ra(),g=n(d,!0);r(d),x(()=>c(g,e(s))),v(a,d)});var ke=i(he,2);{var ct=a=>{var s=sa(),d=n(s);r(s),x(()=>c(d,`v${e(t).clientVersion??e(t).version??""}`)),v(a,s)};f(ke,a=>{(e(t).version||e(t).clientVersion)&&a(ct)})}var we=i(ke,2);{var pt=a=>{var s=Tt(),d=Ut(s);C(d,17,()=>e(t).capabilities??[],L,(g,h)=>{var $=oa(),S=n($,!0);r($),x(()=>c(S,e(h))),v(g,$)}),v(a,s)},xt=a=>{var s=na(),d=n(s);r(s),x(()=>c(d,`${(e(t).scopes??[]).length??""} scopes`)),v(a,s)};f(we,a=>{(e(t).capabilities??[]).length>0?a(pt):(e(t).scopes??[]).length>0&&a(xt,1)})}var ye=i(we,2);{var ut=a=>{var s=ia(),d=n(s,!0);r(s),x(()=>c(d,e(t).model)),v(a,s)};f(ye,a=>{e(t).model&&a(ut)})}var ft=i(ye,2);{var mt=a=>{var s=da(),d=n(s,!0);r(s),x(()=>c(d,e(t).agentId)),v(a,s)};f(ft,a=>{e(t).agentId&&a(mt)})}r(_e),r(Q);var Me=i(Q,2),Z=n(Me),$e=n(Z);{var bt=a=>{var s=la(),d=i(n(s));r(s),x(g=>c(d,` Up ${g??""}`),[()=>Ue(e(t).uptimeMs)]),v(a,s)};f($e,a=>{e(t).uptimeMs&&a(bt)})}var Ie=i($e,2);{var _t=a=>{var s=va(),d=n(s);r(s),x(g=>c(d,`Input ${g??""}`),[()=>Oe(e(t).lastInputSeconds)]),v(a,s)};f(Ie,a=>{e(t).lastInputSeconds!=null&&a(_t)})}var gt=i(Ie,2);{var ht=a=>{var s=ca(),d=n(s,!0);r(s),x(()=>c(d,e(t).reason)),v(a,s)};f(gt,a=>{e(t).reason&&a(ht)})}r(Z);var je=i(Z,2);{var kt=a=>{var s=pa(),d=n(s),g=i(n(d));r(d);var h=i(d,2),$=i(n(h));r(h),r(s),x(()=>{d.disabled=e(pe),V(d,1,`flex items-center gap-1 px-2 py-1 rounded-lg text-[10px] font-medium border transition-all disabled:opacity-50
2
+ ${e(t).thinkingLevel==="stream"?"bg-accent-cyan/15 text-accent-cyan border-accent-cyan/30":e(t).thinkingLevel==="on"?"bg-accent-purple/15 text-accent-purple border-accent-purple/30":"bg-bg-tertiary text-text-muted border-border-default hover:border-accent-cyan/30"}`),De(d,"title",`Thinking: ${e(t).thinkingLevel??"off"??""}`),c(g,` T:${e(t).thinkingLevel??"off"??""}`),h.disabled=e(pe),V(h,1,`flex items-center gap-1 px-2 py-1 rounded-lg text-[10px] font-medium border transition-all disabled:opacity-50
3
+ ${e(t).verboseLevel==="on"?"bg-accent-green/15 text-accent-green border-accent-green/30":"bg-bg-tertiary text-text-muted border-border-default hover:border-accent-green/30"}`),De(h,"title",`Verbose: ${e(t).verboseLevel??"off"??""}`),c($,` V:${e(t).verboseLevel??"off"??""}`)}),D("click",d,()=>Pe(e(t),m)),D("click",h,()=>Ee(e(t),m)),v(a,s)};f(je,a=>{e(t).sessionKey&&a(kt)})}var ee=i(je,2),Ce=n(ee),wt=i(Ce);r(ee),r(Me),r(xe),r(J);var yt=i(J,2);{var Mt=a=>{var s=ga(),d=n(s),g=n(d),h=i(n(g),2),$=n(h,!0);r(h),r(g);var S=i(g,2),Le=i(n(S),2),$t=n(Le,!0);r(Le),r(S);var te=i(S,2),Se=i(n(te),2),It=n(Se,!0);r(Se),r(te);var ae=i(te,2),Ae=i(n(ae),2),jt=n(Ae,!0);r(Ae),r(ae);var re=i(ae,2),Ve=i(n(re),2),Ct=n(Ve,!0);r(Ve),r(re);var se=i(re,2),Be=i(n(se),2),Lt=n(Be,!0);r(Be),r(se);var Ke=i(se,2);{var St=b=>{var _=xa(),k=i(n(_),2),I=n(k,!0);r(k),r(_),x(()=>c(I,e(t).sessionKey)),v(b,_)};f(Ke,b=>{e(t).sessionKey&&b(St)})}var Ne=i(Ke,2);{var At=b=>{var _=ua(),k=i(n(_),2),I=n(k,!0);r(k),r(_),x(()=>c(I,e(t).model)),v(b,_)};f(Ne,b=>{e(t).model&&b(At)})}var Te=i(Ne,2);{var Vt=b=>{var _=ma(),k=i(n(_),2);C(k,21,()=>e(t).scopes??[],L,(I,oe)=>{var j=fa(),ne=n(j,!0);r(j),x(()=>c(ne,e(oe))),v(I,j)}),r(k),r(_),v(b,_)};f(Te,b=>{(e(t).scopes??[]).length>0&&b(Vt)})}var Bt=i(Te,2);{var Kt=b=>{var _=_a(),k=i(n(_),2);C(k,21,()=>e(t).capabilities??[],L,(I,oe)=>{var j=ba(),ne=n(j,!0);r(j),x(()=>c(ne,e(oe))),v(I,j)}),r(k),r(_),v(b,_)};f(Bt,b=>{(e(t).capabilities??[]).length>0&&b(Kt)})}r(d),r(s),x(()=>{c($,e(t).mode??"—"),c($t,e(t).platform??"—"),c(It,e(t).deviceFamily??"—"),c(jt,e(t).modelIdentifier??"—"),c(Ct,e(t).clientVersion??e(t).version??"—"),c(Lt,e(t).clientId??"—")}),v(a,s)};f(yt,a=>{e(T)&&a(Mt)})}r(z),x(()=>{V(ue,1,`w-2 h-2 rounded-full flex-shrink-0
4
+ ${e(N)==="online"?"bg-accent-green glow-pulse":e(N)==="idle"?"bg-accent-amber":"bg-text-muted"}`),c(at,e(t).displayName??e(t).host??"unknown host"),V(Ce,0,`w-3.5 h-3.5 transition-transform ${e(T)?"rotate-180":""}`),c(wt,` ${e(T)?"Less":"Details"}`)}),D("click",ee,()=>w(de,e(T)?null:m,!0)),v(u,z)}),r(l),v(o,l)};f(We,o=>{P.state.status!=="connected"?o(Xe):e(B)?o(Ye,1):e(M)&&e(y).length===0?o(Ze,2):e(y).length===0?o(et,3):o(tt,!1)})}r(ce),r(R),x(()=>{K.disabled=e(M)||P.state.status!=="connected",V(ve,0,`w-4 h-4 ${e(M)?"animate-spin":""}`),c(Ge,` ${e(M)?"Loading…":"Refresh"}`)}),D("click",K,O),v(Fe,R),Ht()}Nt(["click"]);export{Sa as component};
@@ -0,0 +1 @@
1
+ {"version":"1771624293947"}
@@ -0,0 +1,10 @@
1
+ {
2
+ "gateway": {
3
+ "url": "",
4
+ "ws": ""
5
+ },
6
+ "branding": {
7
+ "title": "Cortex",
8
+ "subtitle": "OpenClaw Command Center"
9
+ }
10
+ }
@@ -0,0 +1,48 @@
1
+ <!doctype html>
2
+ <html lang="en" class="dark">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
6
+ <meta name="theme-color" content="#0a0e1a" />
7
+ <meta name="apple-mobile-web-app-capable" content="yes" />
8
+ <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
9
+ <link rel="icon" type="image/png" href="/logo.png" />
10
+ <link rel="manifest" href="/manifest.json" />
11
+ <link rel="apple-touch-icon" href="/logo.png" />
12
+ <link rel="preconnect" href="https://fonts.googleapis.com">
13
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
14
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
15
+ <link rel="preconnect" href="wss://openclaw.honercloud.com" />
16
+ <link href="/_app/immutable/entry/start.CPRrpmQQ.js" rel="modulepreload">
17
+ <link href="/_app/immutable/chunks/C8SIHLmM.js" rel="modulepreload">
18
+ <link href="/_app/immutable/chunks/qR_TM3YX.js" rel="modulepreload">
19
+ <link href="/_app/immutable/chunks/B3DkuU-J.js" rel="modulepreload">
20
+ <link href="/_app/immutable/chunks/B-drBnSa.js" rel="modulepreload">
21
+ <link href="/_app/immutable/entry/app.dIuL6Sx2.js" rel="modulepreload">
22
+ <link href="/_app/immutable/chunks/DpBBTLWw.js" rel="modulepreload">
23
+ <link href="/_app/immutable/chunks/B2A7gHtL.js" rel="modulepreload">
24
+ <link href="/_app/immutable/chunks/BYXRTvT-.js" rel="modulepreload">
25
+ <link href="/_app/immutable/chunks/CkAYskLX.js" rel="modulepreload">
26
+
27
+ </head>
28
+ <body data-sveltekit-preload-data="hover">
29
+ <div style="display: contents">
30
+ <script>
31
+ {
32
+ __sveltekit_12y5qev = {
33
+ base: ""
34
+ };
35
+
36
+ const element = document.currentScript.parentElement;
37
+
38
+ Promise.all([
39
+ import("/_app/immutable/entry/start.CPRrpmQQ.js"),
40
+ import("/_app/immutable/entry/app.dIuL6Sx2.js")
41
+ ]).then(([kit, app]) => {
42
+ kit.start(app, element);
43
+ });
44
+ }
45
+ </script>
46
+ </div>
47
+ </body>
48
+ </html>
Binary file
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "Cortex",
3
+ "short_name": "Cortex",
4
+ "description": "Cyberpunk command center for OpenClaw",
5
+ "start_url": "/",
6
+ "display": "standalone",
7
+ "theme_color": "#0a0e1a",
8
+ "background_color": "#0a0e1a",
9
+ "icons": [
10
+ {
11
+ "src": "/logo.png",
12
+ "sizes": "192x192",
13
+ "type": "image/png",
14
+ "purpose": "any maskable"
15
+ },
16
+ {
17
+ "src": "/logo.png",
18
+ "sizes": "512x512",
19
+ "type": "image/png",
20
+ "purpose": "any maskable"
21
+ }
22
+ ]
23
+ }
package/static/sw.js ADDED
@@ -0,0 +1,80 @@
1
+ const CACHE_NAME = 'cortex-v1';
2
+ const SHELL_ASSETS = [
3
+ '/',
4
+ '/index.html',
5
+ '/logo.png'
6
+ ];
7
+
8
+ // Install: pre-cache the app shell
9
+ self.addEventListener('install', (event) => {
10
+ event.waitUntil(
11
+ caches.open(CACHE_NAME).then((cache) => cache.addAll(SHELL_ASSETS))
12
+ );
13
+ self.skipWaiting();
14
+ });
15
+
16
+ // Activate: clean up old caches
17
+ self.addEventListener('activate', (event) => {
18
+ event.waitUntil(
19
+ caches.keys().then((keys) =>
20
+ Promise.all(keys.filter((k) => k !== CACHE_NAME).map((k) => caches.delete(k)))
21
+ )
22
+ );
23
+ self.clients.claim();
24
+ });
25
+
26
+ // Fetch strategies
27
+ self.addEventListener('fetch', (event) => {
28
+ const { request } = event;
29
+ const url = new URL(request.url);
30
+
31
+ // Skip non-GET requests and WebSocket/API calls
32
+ if (request.method !== 'GET') return;
33
+ if (url.protocol === 'ws:' || url.protocol === 'wss:') return;
34
+
35
+ // Network-first for API calls
36
+ if (url.pathname.startsWith('/api/') || url.pathname.startsWith('/ws')) {
37
+ event.respondWith(
38
+ fetch(request).catch(() => caches.match(request))
39
+ );
40
+ return;
41
+ }
42
+
43
+ // Cache-first for hashed static assets (contain content hashes like .abc123.)
44
+ if (url.pathname.match(/\.[a-f0-9]{8,}\.(js|css|woff2?|png|jpg|svg)$/)) {
45
+ event.respondWith(
46
+ caches.match(request).then((cached) => {
47
+ if (cached) return cached;
48
+ return fetch(request).then((response) => {
49
+ if (response.ok) {
50
+ const clone = response.clone();
51
+ caches.open(CACHE_NAME).then((cache) => cache.put(request, clone));
52
+ }
53
+ return response;
54
+ });
55
+ })
56
+ );
57
+ return;
58
+ }
59
+
60
+ // Navigation requests: network-first, fallback to cached index.html
61
+ if (request.mode === 'navigate') {
62
+ event.respondWith(
63
+ fetch(request).catch(() => caches.match('/index.html'))
64
+ );
65
+ return;
66
+ }
67
+
68
+ // Default: network-first with cache fallback
69
+ event.respondWith(
70
+ fetch(request)
71
+ .then((response) => {
72
+ if (response.ok) {
73
+ const clone = response.clone();
74
+ caches.open(CACHE_NAME).then((cache) => cache.put(request, clone));
75
+ }
76
+ return response;
77
+ })
78
+ .catch(() => caches.match(request))
79
+ );
80
+ });