@futdevpro/ccap 1.1.2744 → 1.1.2753

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 (183) hide show
  1. package/client-dist/{agent-instances.module-FDXSEMTG.js → agent-instances.module-XHV2TP7O.js} +2 -2
  2. package/client-dist/{ca.module-EYBNEJUN.js → ca.module-UYSJWH3C.js} +2 -2
  3. package/client-dist/{cc.module-4QHYXYK3.js → cc.module-44GWX6ZS.js} +2 -2
  4. package/client-dist/{chunk-IIYYQZ5G.js → chunk-2DB3LR7O.js} +2 -2
  5. package/client-dist/{chunk-HLVQVXSH.js → chunk-2DT3DQYP.js} +2 -2
  6. package/client-dist/{chunk-ZPYIQBC2.js → chunk-2EQNUA63.js} +2 -2
  7. package/client-dist/{chunk-KXLJQW7Z.js → chunk-2UXMIPN2.js} +2 -2
  8. package/client-dist/{chunk-4O4EME4N.js → chunk-2WNVREPI.js} +2 -2
  9. package/client-dist/{chunk-MFYGL42T.js → chunk-5SPKC3YD.js} +2 -2
  10. package/client-dist/{chunk-5AOWTCN5.js → chunk-6UEUYDO3.js} +2 -2
  11. package/client-dist/{chunk-C6AON7DW.js → chunk-6UVLEDQ5.js} +2 -2
  12. package/client-dist/{chunk-2DKB45RU.js → chunk-A2LLUPKC.js} +2 -2
  13. package/client-dist/{chunk-WPIDKDJJ.js → chunk-AVAPH2PU.js} +2 -2
  14. package/client-dist/{chunk-GUFEBKFS.js → chunk-B2SWOZ3Y.js} +2 -2
  15. package/client-dist/{chunk-64XBW3PL.js → chunk-B47JDGMP.js} +2 -2
  16. package/client-dist/{chunk-VBPLKVLC.js → chunk-BPYGD4JQ.js} +2 -2
  17. package/client-dist/{chunk-ZSZVSMNC.js → chunk-CRJIE2EH.js} +2 -2
  18. package/client-dist/{chunk-5TLMPEFC.js → chunk-CVWZBWR5.js} +2 -2
  19. package/client-dist/{chunk-PLESPNCS.js → chunk-DFWKG5PG.js} +2 -2
  20. package/client-dist/{chunk-K4FZQ2PV.js → chunk-EBPDLIZX.js} +2 -2
  21. package/client-dist/{chunk-VOHQOBF2.js → chunk-EKJHVEA5.js} +2 -2
  22. package/client-dist/{chunk-XOIUB2XG.js → chunk-FIZNVKIB.js} +2 -2
  23. package/client-dist/{chunk-5ID425QB.js → chunk-FLOT2NPP.js} +2 -2
  24. package/client-dist/{chunk-DT745Z7F.js → chunk-FLV3DZFK.js} +2 -2
  25. package/client-dist/{chunk-DT745Z7F.js.map → chunk-FLV3DZFK.js.map} +1 -1
  26. package/client-dist/{chunk-WBSG4E3K.js → chunk-FSAVUX6K.js} +2 -2
  27. package/client-dist/{chunk-6HUWMPDM.js → chunk-GI5DILVT.js} +2 -2
  28. package/client-dist/{chunk-VYDVZ5UI.js → chunk-GL2VABJP.js} +2 -2
  29. package/client-dist/{chunk-NOIROTD2.js → chunk-H4OQI5J3.js} +2 -2
  30. package/client-dist/{chunk-N5Z4EF3H.js → chunk-HF3XSXX2.js} +2 -2
  31. package/client-dist/{chunk-PLRITPHA.js → chunk-ILJFTJNR.js} +2 -2
  32. package/client-dist/{chunk-EDB52UN2.js → chunk-J7IUX23G.js} +2 -2
  33. package/client-dist/{chunk-MLYIZD3B.js → chunk-JKIF6YFY.js} +2 -2
  34. package/client-dist/{chunk-RSWCAWPN.js → chunk-K63M327A.js} +2 -2
  35. package/client-dist/{chunk-JWJLL7JE.js → chunk-LMEEH4DP.js} +2 -2
  36. package/client-dist/{chunk-74TZUHGL.js → chunk-LOO2HFML.js} +2 -2
  37. package/client-dist/{chunk-FYRG2MNH.js → chunk-MAJ6ZV5G.js} +2 -2
  38. package/client-dist/{chunk-4XASLJP4.js → chunk-MVA4T5TS.js} +2 -2
  39. package/client-dist/{chunk-ZMX3MEAU.js → chunk-NAUSJ6P2.js} +2 -2
  40. package/client-dist/{chunk-JFOZCK2S.js → chunk-NHHSHFA7.js} +2 -2
  41. package/client-dist/{chunk-EHHM3BYW.js → chunk-OVJXBB2W.js} +2 -2
  42. package/client-dist/{chunk-L7AQMTP5.js → chunk-PF4X6EZW.js} +2 -2
  43. package/client-dist/{chunk-CRWBKLSC.js → chunk-R2OAZ7WY.js} +2 -2
  44. package/client-dist/{chunk-TBPYJZEN.js → chunk-SHZBLYY4.js} +2 -2
  45. package/client-dist/{chunk-76D4UA67.js → chunk-SNFKG7OD.js} +2 -2
  46. package/client-dist/{chunk-KMCUFCSO.js → chunk-SYLBNS6X.js} +2 -2
  47. package/client-dist/{chunk-5INYPN2C.js → chunk-T4RST354.js} +2 -2
  48. package/client-dist/{chunk-7YQUK6YP.js → chunk-UIBU3OVP.js} +2 -2
  49. package/client-dist/{chunk-HRNON54R.js → chunk-UOR473MY.js} +2 -2
  50. package/client-dist/{chunk-MHFOCE7C.js → chunk-UQXHY37I.js} +2 -2
  51. package/client-dist/{chunk-3UX26D5B.js → chunk-V2ERRMCF.js} +2 -2
  52. package/client-dist/{chunk-3IZFBAP4.js → chunk-VQMBB25J.js} +2 -2
  53. package/client-dist/{chunk-3RBRW6ND.js → chunk-W2W4RTI2.js} +2 -2
  54. package/client-dist/{chunk-I63FNAQQ.js → chunk-WCWRDALU.js} +2 -2
  55. package/client-dist/{chunk-K6GDVWWX.js → chunk-WCXV5NA2.js} +2 -2
  56. package/client-dist/{chunk-AHWYO7LQ.js → chunk-WMLWXBWW.js} +2 -2
  57. package/client-dist/{chunk-PKH5KDRV.js → chunk-WWJAJOFD.js} +2 -2
  58. package/client-dist/{chunk-R42PAQER.js → chunk-Z5IJ2US2.js} +2 -2
  59. package/client-dist/{chunk-H6UZESYO.js → chunk-Z7MOK6IL.js} +2 -2
  60. package/client-dist/{chunk-Q7DJ35BO.js → chunk-ZYJOLIZR.js} +2 -2
  61. package/client-dist/{consultant.module-HTRBL3JA.js → consultant.module-5QV23GWU.js} +2 -2
  62. package/client-dist/{crd.module-WBU2TQJT.js → crd.module-AX2RY7FA.js} +2 -2
  63. package/client-dist/{dashboard.module-PVARXAWG.js → dashboard.module-BTH5D3RA.js} +2 -2
  64. package/client-dist/{do.module-CN665RIH.js → do.module-GTG4R5I6.js} +2 -2
  65. package/client-dist/{document-library.module-T6LR6LI3.js → document-library.module-UXXJLDVC.js} +2 -2
  66. package/client-dist/{embedding-eval.module-HE4RDD5B.js → embedding-eval.module-T6TJ3SNN.js} +2 -2
  67. package/client-dist/{embedding-registry.module-H22NBAYP.js → embedding-registry.module-VLWPMIEI.js} +2 -2
  68. package/client-dist/{err.module-AS3WPEUF.js → err.module-GORVBBMZ.js} +2 -2
  69. package/client-dist/{feedback.module-XQKR3ZX6.js → feedback.module-TGGSMS23.js} +2 -2
  70. package/client-dist/{host-runtime-mcp.module-WDRNBXKM.js → host-runtime-mcp.module-NOWETOPZ.js} +2 -2
  71. package/client-dist/index.html +1 -1
  72. package/client-dist/{live-dev-pipeline.module-DPGGYS3B.js → live-dev-pipeline.module-63XT5MJP.js} +2 -2
  73. package/client-dist/{logs.module-7JW3DLJ6.js → logs.module-JGIHBHX6.js} +2 -2
  74. package/client-dist/{main-URSHAAUT.js → main-YLGZITQU.js} +3 -3
  75. package/client-dist/{master-control-remote-poc.module-XRUCLOYU.js → master-control-remote-poc.module-IAWFHXRM.js} +2 -2
  76. package/client-dist/{mobile-app.module-US623SVV.js → mobile-app.module-LXUQSWNE.js} +2 -2
  77. package/client-dist/{model-registry.module-326SFWRU.js → model-registry.module-4SWLIY3L.js} +2 -2
  78. package/client-dist/{oc.module-5IUZKRJS.js → oc.module-G3QQWRGY.js} +2 -2
  79. package/client-dist/{orc.module-IEI6JE7F.js → orc.module-4DWUGUCW.js} +2 -2
  80. package/client-dist/{project-management.module-KOFKQNJC.js → project-management.module-CCIEYIWT.js} +2 -2
  81. package/client-dist/project-source-routed.module-YZHGO6CO.js +2 -0
  82. package/client-dist/{scheduler.module-VGCXWSLT.js → scheduler.module-ILUYBQKB.js} +2 -2
  83. package/client-dist/{session.module-CF35HJX4.js → session.module-YF4EX57E.js} +2 -2
  84. package/client-dist/{set.module-IOV5ASV6.js → set.module-CL6ZBFWW.js} +2 -2
  85. package/client-dist/{setup.module-P75LLF5O.js → setup.module-UXU3WS5V.js} +2 -2
  86. package/client-dist/{terminals.module-3XNFE5PV.js → terminals.module-K4NTCGAW.js} +2 -2
  87. package/client-dist/{voice-notes-poc.module-36XHVU4Z.js → voice-notes-poc.module-L5M5NWO2.js} +2 -2
  88. package/client-dist/{wfs.module-ZTPNKLGG.js → wfs.module-UNMMTLJD.js} +2 -2
  89. package/package.json +1 -1
  90. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/terminal/cc-terminal-session-closed-guard.util.d.ts +44 -0
  91. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/terminal/cc-terminal-session-closed-guard.util.d.ts.map +1 -0
  92. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/terminal/cc-terminal-session-closed-guard.util.js +212 -0
  93. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/terminal/cc-terminal-session-closed-guard.util.js.map +1 -0
  94. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.d.ts +13 -44
  95. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.d.ts.map +1 -1
  96. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js +37 -248
  97. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js.map +1 -1
  98. package/client-dist/project-source-routed.module-UMSRDUDQ.js +0 -2
  99. /package/client-dist/{agent-instances.module-FDXSEMTG.js.map → agent-instances.module-XHV2TP7O.js.map} +0 -0
  100. /package/client-dist/{ca.module-EYBNEJUN.js.map → ca.module-UYSJWH3C.js.map} +0 -0
  101. /package/client-dist/{cc.module-4QHYXYK3.js.map → cc.module-44GWX6ZS.js.map} +0 -0
  102. /package/client-dist/{chunk-IIYYQZ5G.js.map → chunk-2DB3LR7O.js.map} +0 -0
  103. /package/client-dist/{chunk-HLVQVXSH.js.map → chunk-2DT3DQYP.js.map} +0 -0
  104. /package/client-dist/{chunk-ZPYIQBC2.js.map → chunk-2EQNUA63.js.map} +0 -0
  105. /package/client-dist/{chunk-KXLJQW7Z.js.map → chunk-2UXMIPN2.js.map} +0 -0
  106. /package/client-dist/{chunk-4O4EME4N.js.map → chunk-2WNVREPI.js.map} +0 -0
  107. /package/client-dist/{chunk-MFYGL42T.js.map → chunk-5SPKC3YD.js.map} +0 -0
  108. /package/client-dist/{chunk-5AOWTCN5.js.map → chunk-6UEUYDO3.js.map} +0 -0
  109. /package/client-dist/{chunk-C6AON7DW.js.map → chunk-6UVLEDQ5.js.map} +0 -0
  110. /package/client-dist/{chunk-2DKB45RU.js.map → chunk-A2LLUPKC.js.map} +0 -0
  111. /package/client-dist/{chunk-WPIDKDJJ.js.map → chunk-AVAPH2PU.js.map} +0 -0
  112. /package/client-dist/{chunk-GUFEBKFS.js.map → chunk-B2SWOZ3Y.js.map} +0 -0
  113. /package/client-dist/{chunk-64XBW3PL.js.map → chunk-B47JDGMP.js.map} +0 -0
  114. /package/client-dist/{chunk-VBPLKVLC.js.map → chunk-BPYGD4JQ.js.map} +0 -0
  115. /package/client-dist/{chunk-ZSZVSMNC.js.map → chunk-CRJIE2EH.js.map} +0 -0
  116. /package/client-dist/{chunk-5TLMPEFC.js.map → chunk-CVWZBWR5.js.map} +0 -0
  117. /package/client-dist/{chunk-PLESPNCS.js.map → chunk-DFWKG5PG.js.map} +0 -0
  118. /package/client-dist/{chunk-K4FZQ2PV.js.map → chunk-EBPDLIZX.js.map} +0 -0
  119. /package/client-dist/{chunk-VOHQOBF2.js.map → chunk-EKJHVEA5.js.map} +0 -0
  120. /package/client-dist/{chunk-XOIUB2XG.js.map → chunk-FIZNVKIB.js.map} +0 -0
  121. /package/client-dist/{chunk-5ID425QB.js.map → chunk-FLOT2NPP.js.map} +0 -0
  122. /package/client-dist/{chunk-WBSG4E3K.js.map → chunk-FSAVUX6K.js.map} +0 -0
  123. /package/client-dist/{chunk-6HUWMPDM.js.map → chunk-GI5DILVT.js.map} +0 -0
  124. /package/client-dist/{chunk-VYDVZ5UI.js.map → chunk-GL2VABJP.js.map} +0 -0
  125. /package/client-dist/{chunk-NOIROTD2.js.map → chunk-H4OQI5J3.js.map} +0 -0
  126. /package/client-dist/{chunk-N5Z4EF3H.js.map → chunk-HF3XSXX2.js.map} +0 -0
  127. /package/client-dist/{chunk-PLRITPHA.js.map → chunk-ILJFTJNR.js.map} +0 -0
  128. /package/client-dist/{chunk-EDB52UN2.js.map → chunk-J7IUX23G.js.map} +0 -0
  129. /package/client-dist/{chunk-MLYIZD3B.js.map → chunk-JKIF6YFY.js.map} +0 -0
  130. /package/client-dist/{chunk-RSWCAWPN.js.map → chunk-K63M327A.js.map} +0 -0
  131. /package/client-dist/{chunk-JWJLL7JE.js.map → chunk-LMEEH4DP.js.map} +0 -0
  132. /package/client-dist/{chunk-74TZUHGL.js.map → chunk-LOO2HFML.js.map} +0 -0
  133. /package/client-dist/{chunk-FYRG2MNH.js.map → chunk-MAJ6ZV5G.js.map} +0 -0
  134. /package/client-dist/{chunk-4XASLJP4.js.map → chunk-MVA4T5TS.js.map} +0 -0
  135. /package/client-dist/{chunk-ZMX3MEAU.js.map → chunk-NAUSJ6P2.js.map} +0 -0
  136. /package/client-dist/{chunk-JFOZCK2S.js.map → chunk-NHHSHFA7.js.map} +0 -0
  137. /package/client-dist/{chunk-EHHM3BYW.js.map → chunk-OVJXBB2W.js.map} +0 -0
  138. /package/client-dist/{chunk-L7AQMTP5.js.map → chunk-PF4X6EZW.js.map} +0 -0
  139. /package/client-dist/{chunk-CRWBKLSC.js.map → chunk-R2OAZ7WY.js.map} +0 -0
  140. /package/client-dist/{chunk-TBPYJZEN.js.map → chunk-SHZBLYY4.js.map} +0 -0
  141. /package/client-dist/{chunk-76D4UA67.js.map → chunk-SNFKG7OD.js.map} +0 -0
  142. /package/client-dist/{chunk-KMCUFCSO.js.map → chunk-SYLBNS6X.js.map} +0 -0
  143. /package/client-dist/{chunk-5INYPN2C.js.map → chunk-T4RST354.js.map} +0 -0
  144. /package/client-dist/{chunk-7YQUK6YP.js.map → chunk-UIBU3OVP.js.map} +0 -0
  145. /package/client-dist/{chunk-HRNON54R.js.map → chunk-UOR473MY.js.map} +0 -0
  146. /package/client-dist/{chunk-MHFOCE7C.js.map → chunk-UQXHY37I.js.map} +0 -0
  147. /package/client-dist/{chunk-3UX26D5B.js.map → chunk-V2ERRMCF.js.map} +0 -0
  148. /package/client-dist/{chunk-3IZFBAP4.js.map → chunk-VQMBB25J.js.map} +0 -0
  149. /package/client-dist/{chunk-3RBRW6ND.js.map → chunk-W2W4RTI2.js.map} +0 -0
  150. /package/client-dist/{chunk-I63FNAQQ.js.map → chunk-WCWRDALU.js.map} +0 -0
  151. /package/client-dist/{chunk-K6GDVWWX.js.map → chunk-WCXV5NA2.js.map} +0 -0
  152. /package/client-dist/{chunk-AHWYO7LQ.js.map → chunk-WMLWXBWW.js.map} +0 -0
  153. /package/client-dist/{chunk-PKH5KDRV.js.map → chunk-WWJAJOFD.js.map} +0 -0
  154. /package/client-dist/{chunk-R42PAQER.js.map → chunk-Z5IJ2US2.js.map} +0 -0
  155. /package/client-dist/{chunk-H6UZESYO.js.map → chunk-Z7MOK6IL.js.map} +0 -0
  156. /package/client-dist/{chunk-Q7DJ35BO.js.map → chunk-ZYJOLIZR.js.map} +0 -0
  157. /package/client-dist/{consultant.module-HTRBL3JA.js.map → consultant.module-5QV23GWU.js.map} +0 -0
  158. /package/client-dist/{crd.module-WBU2TQJT.js.map → crd.module-AX2RY7FA.js.map} +0 -0
  159. /package/client-dist/{dashboard.module-PVARXAWG.js.map → dashboard.module-BTH5D3RA.js.map} +0 -0
  160. /package/client-dist/{do.module-CN665RIH.js.map → do.module-GTG4R5I6.js.map} +0 -0
  161. /package/client-dist/{document-library.module-T6LR6LI3.js.map → document-library.module-UXXJLDVC.js.map} +0 -0
  162. /package/client-dist/{embedding-eval.module-HE4RDD5B.js.map → embedding-eval.module-T6TJ3SNN.js.map} +0 -0
  163. /package/client-dist/{embedding-registry.module-H22NBAYP.js.map → embedding-registry.module-VLWPMIEI.js.map} +0 -0
  164. /package/client-dist/{err.module-AS3WPEUF.js.map → err.module-GORVBBMZ.js.map} +0 -0
  165. /package/client-dist/{feedback.module-XQKR3ZX6.js.map → feedback.module-TGGSMS23.js.map} +0 -0
  166. /package/client-dist/{host-runtime-mcp.module-WDRNBXKM.js.map → host-runtime-mcp.module-NOWETOPZ.js.map} +0 -0
  167. /package/client-dist/{live-dev-pipeline.module-DPGGYS3B.js.map → live-dev-pipeline.module-63XT5MJP.js.map} +0 -0
  168. /package/client-dist/{logs.module-7JW3DLJ6.js.map → logs.module-JGIHBHX6.js.map} +0 -0
  169. /package/client-dist/{main-URSHAAUT.js.map → main-YLGZITQU.js.map} +0 -0
  170. /package/client-dist/{master-control-remote-poc.module-XRUCLOYU.js.map → master-control-remote-poc.module-IAWFHXRM.js.map} +0 -0
  171. /package/client-dist/{mobile-app.module-US623SVV.js.map → mobile-app.module-LXUQSWNE.js.map} +0 -0
  172. /package/client-dist/{model-registry.module-326SFWRU.js.map → model-registry.module-4SWLIY3L.js.map} +0 -0
  173. /package/client-dist/{oc.module-5IUZKRJS.js.map → oc.module-G3QQWRGY.js.map} +0 -0
  174. /package/client-dist/{orc.module-IEI6JE7F.js.map → orc.module-4DWUGUCW.js.map} +0 -0
  175. /package/client-dist/{project-management.module-KOFKQNJC.js.map → project-management.module-CCIEYIWT.js.map} +0 -0
  176. /package/client-dist/{project-source-routed.module-UMSRDUDQ.js.map → project-source-routed.module-YZHGO6CO.js.map} +0 -0
  177. /package/client-dist/{scheduler.module-VGCXWSLT.js.map → scheduler.module-ILUYBQKB.js.map} +0 -0
  178. /package/client-dist/{session.module-CF35HJX4.js.map → session.module-YF4EX57E.js.map} +0 -0
  179. /package/client-dist/{set.module-IOV5ASV6.js.map → set.module-CL6ZBFWW.js.map} +0 -0
  180. /package/client-dist/{setup.module-P75LLF5O.js.map → setup.module-UXU3WS5V.js.map} +0 -0
  181. /package/client-dist/{terminals.module-3XNFE5PV.js.map → terminals.module-K4NTCGAW.js.map} +0 -0
  182. /package/client-dist/{voice-notes-poc.module-36XHVU4Z.js.map → voice-notes-poc.module-L5M5NWO2.js.map} +0 -0
  183. /package/client-dist/{wfs.module-ZTPNKLGG.js.map → wfs.module-UNMMTLJD.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import{a as ge}from"./chunk-H6UZESYO.js";import{a as Se,b as he}from"./chunk-JFOZCK2S.js";import{a as ue,b as me}from"./chunk-AHWYO7LQ.js";import{a as xe,b as J}from"./chunk-L44637OO.js";import{a as pe}from"./chunk-FYRG2MNH.js";import{b as ce}from"./chunk-4O4EME4N.js";import{d as _e}from"./chunk-PKH5KDRV.js";import{d as W,h as fe}from"./chunk-NOIROTD2.js";import{a as de}from"./chunk-FLAJXIYW.js";import{f as ie,i as oe,n as ae,o as re,p as se,v as le}from"./chunk-EO4DNTT4.js";import{p as Te}from"./chunk-DT745Z7F.js";import{$a as V,C as v,D as y,Fa as s,Ga as k,Ha as f,Ia as ee,J as h,K as C,L as I,M as Q,Q as X,T as q,Ta as b,U as O,Ua as T,Va as te,Z as r,aa as $,ab as ne,bb as j,da as m,fa as D,ga as p,h as $e,hb as g,ia as M,k as H,la as u,mb as P,na as Z,oa as R,pa as F,pb as N,qa as a,ra as o,sa as S,ua as E,ub as B,va as _,wa as c,y as U}from"./chunk-TBMJSIBB.js";var ve=$e(Te());var Y=(()=>{class t{static SESSION_LIMIT_TYPE="five_hour";static WEEKLY_LIMIT_TYPE="seven_day";static formatResetText(e){if(!e?.resetsAt)return"";let i=new Date(e.resetsAt*1e3),n=new Date,l=i.getTime()-n.getTime();if(l<=0)return"expired";let x=Math.floor(l/6e4),w=Math.floor(x/60),A=x%60;return w>0?`${w}h ${A}m`:`${A}m`}static formatResetTextPrecise(e){if(!e?.resetsAt)return"";let i=new Date(e.resetsAt*1e3),n=new Date,l=Math.floor((i.getTime()-n.getTime())/1e3);if(l<=0)return"expired";let x=Math.floor(l/86400),w=Math.floor(l%86400/3600),A=Math.floor(l%3600/60),Ie=l%60,G=[];return x&&G.push(`${x}d`),(x||w)&&G.push(`${w}h`),(x||w||A)&&G.push(`${A}m`),G.push(`${Ie}s`),G.join(" ")}static computeUtilizationPercent(e){if(!e)return 0;let i=typeof e.utilization=="number"?e.utilization:0,n=Math.max(0,Math.min(1,i));return Math.round(n*100)}static computeThresholdPercent(e){if(!e)return 0;let i=typeof e.surpassedThreshold=="number"?e.surpassedThreshold:0,n=Math.max(0,Math.min(1,i));return Math.round(n*100)}static isOverThreshold(e){if(!e)return!1;let i=typeof e.utilization=="number"?e.utilization:0,n=typeof e.surpassedThreshold=="number"?e.surpassedThreshold:1;return i>=n&&n>0}static formatLimitScopeLabel(e){return e?.rateLimitType?e.rateLimitType===t.SESSION_LIMIT_TYPE?"Session":e.rateLimitType===t.WEEKLY_LIMIT_TYPE?"Weekly":e.rateLimitType:""}}return t})();function Me(t,d){if(t&1&&(a(0,"div",0)(1,"span",1),s(2," Rate limit "),o(),a(3,"span",2),s(4,"Scope"),o(),a(5,"span",3),s(6),o(),a(7,"span",2),s(8,"St\xE1tusz"),o(),a(9,"span",3),s(10),o(),a(11,"span",2),s(12,"Utilization"),o(),a(13,"span",4),s(14),o(),a(15,"span",2),s(16,"Reset"),o(),a(17,"span",4),s(18),o(),a(19,"span",2),s(20,"Utols\xF3 \xE9szlel\xE9s"),o(),a(21,"span",5),s(22),V(23,"date"),o()()),t&2){let e=d,i=c();r(6),k(i.limitScopeLabel_$()||"\u2014"),r(3),M("text-neonRed",e.status==="limited")("text-yellow-400",e.status==="allowed_warning")("text-neutral-300",e.status==="allowed"),r(),f(" ",e.status||"\u2014"," "),r(4),f("",i.utilizationPercent_$(),"%"),r(4),k(i.resetText_$()||"\u2014"),r(4),f(" ",j(23,11,e.receivedAt,"yyyy-MM-dd HH:mm:ss")||"\u2014"," ")}}var ye=(()=>{class t{claudeCode_AS=v(ue);_ccapId="";set ccapId(e){this._ccapId=e?.trim()??"",this.refreshRateLimitState()}get ccapId(){return this._ccapId}rateLimitInfo_$=$(null);utilizationPercent_$=g(()=>Y.computeUtilizationPercent(this.rateLimitInfo_$()));resetText_$=g(()=>Y.formatResetText(this.rateLimitInfo_$()));limitScopeLabel_$=g(()=>Y.formatLimitScopeLabel(this.rateLimitInfo_$()));refreshRateLimitState(){if(!this._ccapId){this.rateLimitInfo_$.set(null);return}this.claudeCode_AS.getRateLimitState({ccapId:this._ccapId}).then(e=>{let i=me.mapServerItemsToClientInfo(e.items);this.rateLimitInfo_$.set(i)}).catch(e=>{ve.DyFM_Log.warn(`s-cc-rate-limit-info | rate-limit fetch failed | ccapId: ${this._ccapId} | err: ${String(e)}`),this.rateLimitInfo_$.set(null)})}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-s-cc-rate-limit-info"]],inputs:{ccapId:"ccapId"},standalone:!0,features:[b],decls:1,vars:1,consts:[[1,"grid","grid-cols-[minmax(8rem,auto)_1fr]","gap-x-3","gap-y-2","text-xs","text-neutral-200"],[1,"col-span-2","text-[11px]","uppercase","tracking-wider","text-neutral-500"],[1,"text-neutral-500","shrink-0"],[1,"whitespace-nowrap"],[1,"whitespace-nowrap","font-mono"],[1,"font-mono","text-[11px]","whitespace-nowrap"]],template:function(i,n){if(i&1&&m(0,Me,24,14,"div",0),i&2){let l;u((l=n.rateLimitInfo_$())?0:-1,l)}},dependencies:[B,N],encapsulation:2})}return t})();function Oe(t,d){if(t&1&&(a(0,"span",1),s(1,"Instance presence"),o(),a(2,"span",4),S(3,"app-s-instance-presence-badge",8),o()),t&2){let e=d;r(3),p("presence",e.presence)("lastHeartbeatAt",e.lastHeartbeatAt)("wsConnected",e.wsConnected)}}function De(t,d){if(t&1&&(a(0,"span",9),s(1,"Run / tev\xE9kenys\xE9g"),o(),a(2,"span",10)(3,"span",11),s(4),o(),a(5,"span",12),s(6),o()(),a(7,"span",1),s(8,"Utols\xF3 aktivit\xE1s"),o(),a(9,"span",13),s(10),V(11,"date"),o(),a(12,"span",1),s(13,"Utols\xF3 \xFCzenet"),o(),a(14,"span",14),s(15),o()),t&2){let e=d;r(4),k(e.activeRunPhase||"\u2014"),r(2),k(e.activitySummary||"\u2014"),r(4),f(" ",j(11,4,e.lastActivityAt,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),r(5),k(e.lastMessage||"\u2014")}}var be=(()=>{class t{row;presence=void 0;static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-s-instance-detail-view"]],inputs:{row:"row",presence:"presence"},standalone:!0,features:[b],decls:43,vars:18,consts:[[1,"grid","grid-cols-[minmax(8rem,auto)_1fr]","gap-x-3","gap-y-2","text-xs","text-neutral-200"],[1,"text-neutral-500","shrink-0"],[1,"font-mono","break-all"],[1,"break-all"],[1,"whitespace-nowrap"],[1,"font-mono","whitespace-nowrap"],[1,"mt-2","pt-2","border-t","border-neutral-800"],[3,"ccapId"],[3,"presence","lastHeartbeatAt","wsConnected"],[1,"text-neutral-500","shrink-0","self-start","pt-0.5"],[1,"break-words"],[1,"font-mono","text-[11px]","text-neutral-400","block"],[1,"text-neutral-300"],[1,"font-mono","text-[11px]","whitespace-nowrap"],[1,"break-words","text-neutral-300"]],template:function(i,n){if(i&1&&(a(0,"div",0)(1,"span",1),s(2,"instanceKey"),o(),a(3,"span",2),s(4),o(),a(5,"span",1),s(6,"N\xE9v"),o(),a(7,"span",3),s(8),o(),a(9,"span",1),s(10,"St\xE1tusz"),o(),a(11,"span",4),s(12),o(),m(13,Oe,4,3),a(14,"span",1),s(15,"Session presence"),o(),a(16,"span",4),s(17),o(),m(18,De,16,7),a(19,"span",1),s(20,"MAC"),o(),a(21,"span",2),s(22),o(),a(23,"span",1),s(24,"Install path"),o(),a(25,"span",2),s(26),o(),a(27,"span",1),s(28,"hostName"),o(),a(29,"span",3),s(30),o(),a(31,"span",1),s(32,"registry __created"),o(),a(33,"span",5),s(34),V(35,"date"),o(),a(36,"span",1),s(37,"registry __updated"),o(),a(38,"span",5),s(39),V(40,"date"),o()(),a(41,"div",6),S(42,"app-s-cc-rate-limit-info",7),o()),i&2){let l,x;r(4),k(n.row.registry.instanceKey||"\u2014"),r(4),k((n.row.instanceData==null||n.row.instanceData.name==null?null:n.row.instanceData.name.trim())||"\u2014"),r(4),k((n.row.instanceData==null?null:n.row.instanceData.status)||"\u2014"),r(),u((l=n.presence)?13:-1,l),r(4),f(" ",(n.row.instanceData==null||n.row.instanceData.sessionStatuses==null||n.row.instanceData.sessionStatuses[0]==null?null:n.row.instanceData.sessionStatuses[0].presence)||"\u2014"," "),r(),u((x=n.row.instanceData==null||n.row.instanceData.sessionStatuses==null?null:n.row.instanceData.sessionStatuses[0])?18:-1,x),r(4),k(n.row.registry.primaryMacAddress||"\u2014"),r(4),k(n.row.registry.installLocationPath||"\u2014"),r(4),k(n.row.registry.hostName||"\u2014"),r(4),f(" ",j(35,12,n.row.registry.__created,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),r(5),f(" ",j(40,15,n.row.registry.__updated,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),r(3),p("ccapId",n.row.registry.instanceKey||"")}},dependencies:[B,N,ye,J],encapsulation:2})}return t})();var Ae=(t,d)=>d.instanceKey,Re=t=>({"bg-ccapAccent/10":t});function Fe(t,d){if(t&1&&S(0,"app-s-instance-presence-badge",5),t&2){let e=d;p("presence",e.presence)("lastHeartbeatAt",e.lastHeartbeatAt)("wsConnected",e.wsConnected)("showLabel",!1)}}function Ve(t,d){t&1&&(a(0,"span",6),s(1,"(local)"),o())}function Le(t,d){t&1&&S(0,"span",7)}function ze(t,d){if(t&1){let e=E();a(0,"div",2)(1,"button",4),_("click",function(){let n,l=h(e).$implicit,x=c();return C(x.handleSelectInstance((n=l.instanceKey)!==null&&n!==void 0?n:""))}),m(2,Fe,1,4,"app-s-instance-presence-badge",5),s(3),m(4,Ve,2,0,"span",6)(5,Le,1,0,"span",7),o(),a(6,"button",8),_("click",function(){let n,l=h(e).$implicit,x=c();return C(x.handleInfoClick((n=l.instanceKey)!==null&&n!==void 0?n:""))}),s(7," i "),o()()}if(t&2){let e,i=d.$implicit,n=c();r(),M("border-ccapAccent",n.isSelected(i))("text-ccapAccent",n.isSelected(i))("border-neonDefault",!n.isSelected(i))("text-neutral-400",!n.isSelected(i))("hover:text-neutral-200",!n.isSelected(i))("hover:border-neutral-500",!n.isSelected(i)),p("ngClass",te(17,Re,n.isSelected(i))),r(),u((e=n.getPresenceForRow(i))?2:-1,e),r(),f(" ",n.getDisplayLabel(i)," "),r(),u(n.isLocal(i)?4:-1),r(),u(n.getActiveSessionForRow(i)?5:-1)}}function je(t,d){t&1&&(a(0,"span",3),s(1,"loading..."),o())}var we=(()=>{class t{peiContext_DS=v(pe);presenceMap=new Map;activeSessionMap=new Map;infoRequested=new X;instances_$=g(()=>this.peiContext_DS.instanceList_$());selectedCcapId_$=g(()=>this.peiContext_DS.activeCcapId_$());localKey_$=g(()=>this.peiContext_DS.localInstanceKey_$());ngOnInit(){this.peiContext_DS.initialize()}handleSelectInstance(e){this.peiContext_DS.selectInstance(e)}handleInfoClick(e){this.infoRequested.emit({instanceKey:e})}getDisplayLabel(e){let i=e.hostName??"",n=(e.instanceKey??"").slice(-6);return i?`${i} (${n})`:n||"?"}isSelected(e){return(e.instanceKey??"")===this.selectedCcapId_$()}isLocal(e){return(e.instanceKey??"")===this.localKey_$()}getPresenceForRow(e){let i=e.instanceKey??"";return i?this.presenceMap.get(i)??null:null}getActiveSessionForRow(e){let i=e.instanceKey??"";return i?this.activeSessionMap.get(i)===!0:!1}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-s-instance-selector"]],hostAttrs:[1,"block"],inputs:{presenceMap:"presenceMap",activeSessionMap:"activeSessionMap"},outputs:{infoRequested:"infoRequested"},standalone:!0,features:[b],decls:6,vars:1,consts:[[1,"flex","gap-1","flex-wrap","items-center"],[1,"text-[10px]","text-neutral-500","mr-1","uppercase","tracking-wider"],[1,"flex","items-center","gap-0.5","group"],[1,"text-[10px]","text-neutral-600","italic"],[1,"px-2","py-0.5","text-[11px]","rounded-full","border","transition-colors","flex","items-center","gap-1",3,"click","ngClass"],[3,"presence","lastHeartbeatAt","wsConnected","showLabel"],[1,"ml-0.5","text-[9px]","text-neutral-500"],["title","Akt\xEDv session fut ezen az instance-en","aria-label","Akt\xEDv session fut ezen az instance-en","data-testid","s-instance-active-session-dot",1,"inline-block","w-1.5","h-1.5","rounded-full","bg-yellow-400","animate-pulse","shrink-0"],["type","button","title","Instance details","aria-label","Show instance details","data-testid","s-instance-selector-info-btn",1,"text-[11px]","leading-none","w-4","h-4","rounded-full","border","border-neutral-700","text-neutral-500","hover:text-ccapAccent","hover:border-ccapAccent","transition-colors","flex","items-center","justify-center",3,"click"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"span",1),s(2,"Instance:"),o(),R(3,ze,8,19,"div",2,Ae),m(5,je,2,0,"span",3),o()),i&2&&(r(3),F(n.instances_$()),r(2),u(n.instances_$().length?-1:5))},dependencies:[B,P,J],encapsulation:2})}return t})();function Pe(t,d){if(t&1&&S(0,"app-s-instance-detail-view",3),t&2){let e=c(2);p("row",d)("presence",e.getPresenceForSelectedRow())}}function Be(t,d){if(t&1){let e=E();a(0,"app-s-modal",2),_("closed",function(){h(e);let n=c();return C(n.handleModalClosed())}),m(1,Pe,1,2,"app-s-instance-detail-view",3),o()}if(t&2){let e,i=c();p("isOpen",!0)("title",i.modalTitle_$())("maxWidth","lg"),r(),u((e=i.selectedRow_$())?1:-1,e)}}var Ut=(()=>{class t{instanceRegistry_DS=v(ce);runtimeInstances_DS=v(_e);presenceMap=new Map;activeSessionMap=new Map;selectedInstanceKey_$=$(null);viewRows_$=g(()=>xe.buildViewRows(this.instanceRegistry_DS.list_$(),this.runtimeInstances_DS.ccapInstanceList_$()));selectedRow_$=g(()=>{let e=this.selectedInstanceKey_$();return e?this.viewRows_$().find(i=>(i.registry.instanceKey??"")===e)??null:null});isModalOpen_$=g(()=>this.selectedRow_$()!==null);modalTitle_$=g(()=>{let e=this.selectedRow_$();if(!e)return"";let i=e.registry.hostName??"",n=e.registry.instanceKey??"";return i?`Instance \u2014 ${i}`:`Instance \u2014 ${n.slice(-6)||"?"}`});handleInfoRequested(e){this.selectedInstanceKey_$.set(e.instanceKey)}getPresenceForSelectedRow(){let e=this.selectedRow_$();if(!e)return;let i=e.registry.instanceKey??"";if(i)return this.presenceMap.get(i)}handleModalClosed(){this.selectedInstanceKey_$.set(null)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-s-instance-chip-row-with-info"]],hostAttrs:[1,"block"],inputs:{presenceMap:"presenceMap",activeSessionMap:"activeSessionMap"},standalone:!0,features:[b],decls:2,vars:3,consts:[[3,"infoRequested","presenceMap","activeSessionMap"],[3,"isOpen","title","maxWidth"],[3,"closed","isOpen","title","maxWidth"],[3,"row","presence"]],template:function(i,n){i&1&&(a(0,"app-s-instance-selector",0),_("infoRequested",function(x){return n.handleInfoRequested(x)}),o(),m(1,Be,2,4,"app-s-modal",1)),i&2&&(p("presenceMap",n.presenceMap)("activeSessionMap",n.activeSessionMap),r(),u(n.isModalOpen_$()?1:-1))},dependencies:[B,we,de,be],encapsulation:2})}return t})();var K=(()=>{class t{currentlyOpenId_$=$(null);isOpen(e){return g(()=>this.currentlyOpenId_$()===e)}setOpen(e){this.currentlyOpenId_$.set(e)}toggle(e){this.currentlyOpenId_$()===e?this.currentlyOpenId_$.set(null):this.currentlyOpenId_$.set(e)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=U({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var z=function(t){return t.schedule="schedule",t.quickcast="quickcast",t.coordinator="coordinator",t.quickSettings="quick-settings",t}(z||{});var Ee=(t,d)=>d._id,Ke=()=>["border-neonAmber/60","text-neonAmber","shadow-neon-glow-orange","hover:border-neonAmber","hover:bg-neonAmber/10"],Ne=()=>["border-neutral-700","text-neutral-600"];function Ge(t,d){if(t&1&&(a(0,"span",4),s(1),o()),t&2){let e=c();r(),f(" ",e.sessionJobs_$().length>9?"9+":e.sessionJobs_$().length," ")}}function He(t,d){if(t&1&&(a(0,"span",17),s(1),V(2,"date"),o()),t&2){let e=c().$implicit;r(),f(" ",j(2,1,e.nextDueAt,"yyyy-MM-dd HH:mm")," ")}}function Qe(t,d){t&1&&(a(0,"span",18),s(1,"\u2014"),o())}function qe(t,d){if(t&1&&(a(0,"span",21),s(1),o()),t&2){let e=d.$implicit,i=c(5);p("ngClass",i.getExecutionBadgeClass(e.status))("title",i.buildExecutionBadgeTooltip(e)),r(),f(" ",i.getExecutionBadgeLabel(e.status)," ")}}function Je(t,d){if(t&1&&(a(0,"div",19)(1,"span",20),s(2,"Trigger-ek:"),o(),R(3,qe,2,3,"span",21,Ee),o()),t&2){let e=c();r(3),F(e)}}function Ye(t,d){t&1&&m(0,Je,5,0,"div",19),t&2&&u(d.length>0?0:-1)}function We(t,d){if(t&1){let e=E();a(0,"div",9)(1,"div",6)(2,"div",10)(3,"span",11),s(4),o(),a(5,"span",12),s(6),V(7,"schSchedulePresetLabel"),o()(),a(8,"button",13),_("click",function(){let n=h(e).$implicit,l=c(2);return C(l.handleTriggerNow(n))}),I(),a(9,"svg",14),S(10,"path",15),o()()(),Q(),a(11,"div",16)(12,"span"),s(13,"K\xF6vetkez\u0151:"),o(),m(14,He,3,4,"span",17)(15,Qe,2,0,"span",18),o(),m(16,Ye,1,1),o()}if(t&2){let e,i,n,l,x,w=d.$implicit,A=c(2);r(3),p("title",(e=w.name)!==null&&e!==void 0?e:""),r(),f(" ",((i=w.name)!==null&&i!==void 0?i:"").trim()||"Unnamed schedule"," "),r(2),f(" ",ne(7,7,w.schedule)," "),r(2),p("disabled",A.busyJobIds_$().has((n=w._id)!==null&&n!==void 0?n:""))("title",A.busyJobIds_$().has((l=w._id)!==null&&l!==void 0?l:"")?"Ind\xEDt\xE1s folyamatban\u2026":"Most futtatni (Trigger Now)"),r(6),u(w.nextDueAt?14:15),r(2),u((x=A.getRecentExecutions(w))?16:-1,x)}}function Ue(t,d){if(t&1){let e=E();a(0,"div",5)(1,"div",6)(2,"span",7),s(3),o(),a(4,"button",8),_("click",function(){h(e);let n=c();return C(n.handleToggle())}),s(5," \xD7 "),o()(),R(6,We,17,9,"div",9,Ee),o()}if(t&2){let e=c();r(3),f(" Schedule (",e.sessionJobs_$().length,") "),r(3),F(e.sessionJobs_$())}}var pn=(()=>{class t{sessionId=O.required();scheduledJobs_DS=v(Se);overlayCoordinator_CS=v(K);OVERLAY_ID=z.schedule;isOpen_$=this.overlayCoordinator_CS.isOpen(this.OVERLAY_ID);busyJobIds_$=$(new Set);sessionJobs_$=g(()=>{let e=(this.sessionId()??"").trim();return e?this.scheduledJobs_DS.jobs_$().filter(n=>n.enabled===!1?!1:(n.target?.payload?.sessionId??"").trim()===e):[]});hasSchedule_$=g(()=>this.sessionJobs_$().length>0);ngOnInit(){this.scheduledJobs_DS.jobs_$().length===0&&this.scheduledJobs_DS.loadAll()}handleToggle(){this.overlayCoordinator_CS.toggle(this.OVERLAY_ID)}handleTriggerNow(e){return H(this,null,function*(){let i=(e._id??"").trim();if(i&&!this.busyJobIds_$().has(i)){this.busyJobIds_$.update(n=>{let l=new Set(n);return l.add(i),l});try{yield this.scheduledJobs_DS.triggerNow({jobId:i,reason:"session-overlay-manual"})}finally{this.busyJobIds_$.update(n=>{let l=new Set(n);return l.delete(i),l})}}})}getRecentExecutions(e){let i=e._id??"";return i?this.scheduledJobs_DS.recentExecutions_$().get(i)??[]:[]}getExecutionBadgeClass(e){switch(e){case"triggered":return"bg-emerald-500/20 text-emerald-400";case"completed":return"bg-sky-500/20 text-sky-400";case"skipped":return"bg-neutral-600/30 text-neutral-400";case"failed":return"bg-red-500/20 text-red-400";case"cancelled":return"bg-amber-500/20 text-amber-400";case"dry-run":return"bg-purple-500/20 text-purple-400";default:return"bg-neutral-700/40 text-neutral-500"}}getExecutionBadgeLabel(e){switch(e){case"triggered":return"OK";case"completed":return"Done";case"skipped":return"Skip";case"failed":return"Fail";case"cancelled":return"Cancel";case"dry-run":return"Dry";default:return"?"}}buildExecutionBadgeTooltip(e){let i=[];return e.scheduledAt&&(i.push(new Date(e.scheduledAt).toISOString().slice(0,16).replace("T"," ")),i.push(" \u2014 ")),i.push(e.status??"?"),e.skipReason&&i.push(` (${e.skipReason})`),e.status==="failed"&&e.errorDetails?.message&&i.push(`: ${e.errorDetails.message}`),i.join("")}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-s-session-schedule-overlay"]],hostAttrs:[1,"absolute","bottom-4","left-0","z-30","pointer-events-none"],inputs:{sessionId:[1,"sessionId"]},standalone:!0,features:[b],decls:6,vars:12,consts:[[1,"flex","items-end","gap-2","pointer-events-auto"],["type","button","aria-label","Schedule",1,"relative","flex","items-center","justify-center","h-8","w-7","bg-neutral-900","border-2","border-l-0","rounded-r-lg","transition-all","duration-200","ease-out","disabled:cursor-not-allowed",3,"click","disabled","title","ngClass"],["fill","none","stroke","currentColor","viewBox","0 0 24 24","aria-hidden","true",1,"w-4","h-4"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d",`M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5
1
+ import{a as ge}from"./chunk-Z7MOK6IL.js";import{a as Se,b as he}from"./chunk-NHHSHFA7.js";import{a as ue,b as me}from"./chunk-WMLWXBWW.js";import{a as xe,b as J}from"./chunk-L44637OO.js";import{a as pe}from"./chunk-MAJ6ZV5G.js";import{b as ce}from"./chunk-2WNVREPI.js";import{d as _e}from"./chunk-WWJAJOFD.js";import{d as W,h as fe}from"./chunk-H4OQI5J3.js";import{a as de}from"./chunk-FLAJXIYW.js";import{f as ie,i as oe,n as ae,o as re,p as se,v as le}from"./chunk-EO4DNTT4.js";import{p as Te}from"./chunk-FLV3DZFK.js";import{$a as V,C as v,D as y,Fa as s,Ga as k,Ha as f,Ia as ee,J as h,K as C,L as I,M as Q,Q as X,T as q,Ta as b,U as O,Ua as T,Va as te,Z as r,aa as $,ab as ne,bb as j,da as m,fa as D,ga as p,h as $e,hb as g,ia as M,k as H,la as u,mb as P,na as Z,oa as R,pa as F,pb as N,qa as a,ra as o,sa as S,ua as E,ub as B,va as _,wa as c,y as U}from"./chunk-TBMJSIBB.js";var ve=$e(Te());var Y=(()=>{class t{static SESSION_LIMIT_TYPE="five_hour";static WEEKLY_LIMIT_TYPE="seven_day";static formatResetText(e){if(!e?.resetsAt)return"";let i=new Date(e.resetsAt*1e3),n=new Date,l=i.getTime()-n.getTime();if(l<=0)return"expired";let x=Math.floor(l/6e4),w=Math.floor(x/60),A=x%60;return w>0?`${w}h ${A}m`:`${A}m`}static formatResetTextPrecise(e){if(!e?.resetsAt)return"";let i=new Date(e.resetsAt*1e3),n=new Date,l=Math.floor((i.getTime()-n.getTime())/1e3);if(l<=0)return"expired";let x=Math.floor(l/86400),w=Math.floor(l%86400/3600),A=Math.floor(l%3600/60),Ie=l%60,G=[];return x&&G.push(`${x}d`),(x||w)&&G.push(`${w}h`),(x||w||A)&&G.push(`${A}m`),G.push(`${Ie}s`),G.join(" ")}static computeUtilizationPercent(e){if(!e)return 0;let i=typeof e.utilization=="number"?e.utilization:0,n=Math.max(0,Math.min(1,i));return Math.round(n*100)}static computeThresholdPercent(e){if(!e)return 0;let i=typeof e.surpassedThreshold=="number"?e.surpassedThreshold:0,n=Math.max(0,Math.min(1,i));return Math.round(n*100)}static isOverThreshold(e){if(!e)return!1;let i=typeof e.utilization=="number"?e.utilization:0,n=typeof e.surpassedThreshold=="number"?e.surpassedThreshold:1;return i>=n&&n>0}static formatLimitScopeLabel(e){return e?.rateLimitType?e.rateLimitType===t.SESSION_LIMIT_TYPE?"Session":e.rateLimitType===t.WEEKLY_LIMIT_TYPE?"Weekly":e.rateLimitType:""}}return t})();function Me(t,d){if(t&1&&(a(0,"div",0)(1,"span",1),s(2," Rate limit "),o(),a(3,"span",2),s(4,"Scope"),o(),a(5,"span",3),s(6),o(),a(7,"span",2),s(8,"St\xE1tusz"),o(),a(9,"span",3),s(10),o(),a(11,"span",2),s(12,"Utilization"),o(),a(13,"span",4),s(14),o(),a(15,"span",2),s(16,"Reset"),o(),a(17,"span",4),s(18),o(),a(19,"span",2),s(20,"Utols\xF3 \xE9szlel\xE9s"),o(),a(21,"span",5),s(22),V(23,"date"),o()()),t&2){let e=d,i=c();r(6),k(i.limitScopeLabel_$()||"\u2014"),r(3),M("text-neonRed",e.status==="limited")("text-yellow-400",e.status==="allowed_warning")("text-neutral-300",e.status==="allowed"),r(),f(" ",e.status||"\u2014"," "),r(4),f("",i.utilizationPercent_$(),"%"),r(4),k(i.resetText_$()||"\u2014"),r(4),f(" ",j(23,11,e.receivedAt,"yyyy-MM-dd HH:mm:ss")||"\u2014"," ")}}var ye=(()=>{class t{claudeCode_AS=v(ue);_ccapId="";set ccapId(e){this._ccapId=e?.trim()??"",this.refreshRateLimitState()}get ccapId(){return this._ccapId}rateLimitInfo_$=$(null);utilizationPercent_$=g(()=>Y.computeUtilizationPercent(this.rateLimitInfo_$()));resetText_$=g(()=>Y.formatResetText(this.rateLimitInfo_$()));limitScopeLabel_$=g(()=>Y.formatLimitScopeLabel(this.rateLimitInfo_$()));refreshRateLimitState(){if(!this._ccapId){this.rateLimitInfo_$.set(null);return}this.claudeCode_AS.getRateLimitState({ccapId:this._ccapId}).then(e=>{let i=me.mapServerItemsToClientInfo(e.items);this.rateLimitInfo_$.set(i)}).catch(e=>{ve.DyFM_Log.warn(`s-cc-rate-limit-info | rate-limit fetch failed | ccapId: ${this._ccapId} | err: ${String(e)}`),this.rateLimitInfo_$.set(null)})}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-s-cc-rate-limit-info"]],inputs:{ccapId:"ccapId"},standalone:!0,features:[b],decls:1,vars:1,consts:[[1,"grid","grid-cols-[minmax(8rem,auto)_1fr]","gap-x-3","gap-y-2","text-xs","text-neutral-200"],[1,"col-span-2","text-[11px]","uppercase","tracking-wider","text-neutral-500"],[1,"text-neutral-500","shrink-0"],[1,"whitespace-nowrap"],[1,"whitespace-nowrap","font-mono"],[1,"font-mono","text-[11px]","whitespace-nowrap"]],template:function(i,n){if(i&1&&m(0,Me,24,14,"div",0),i&2){let l;u((l=n.rateLimitInfo_$())?0:-1,l)}},dependencies:[B,N],encapsulation:2})}return t})();function Oe(t,d){if(t&1&&(a(0,"span",1),s(1,"Instance presence"),o(),a(2,"span",4),S(3,"app-s-instance-presence-badge",8),o()),t&2){let e=d;r(3),p("presence",e.presence)("lastHeartbeatAt",e.lastHeartbeatAt)("wsConnected",e.wsConnected)}}function De(t,d){if(t&1&&(a(0,"span",9),s(1,"Run / tev\xE9kenys\xE9g"),o(),a(2,"span",10)(3,"span",11),s(4),o(),a(5,"span",12),s(6),o()(),a(7,"span",1),s(8,"Utols\xF3 aktivit\xE1s"),o(),a(9,"span",13),s(10),V(11,"date"),o(),a(12,"span",1),s(13,"Utols\xF3 \xFCzenet"),o(),a(14,"span",14),s(15),o()),t&2){let e=d;r(4),k(e.activeRunPhase||"\u2014"),r(2),k(e.activitySummary||"\u2014"),r(4),f(" ",j(11,4,e.lastActivityAt,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),r(5),k(e.lastMessage||"\u2014")}}var be=(()=>{class t{row;presence=void 0;static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-s-instance-detail-view"]],inputs:{row:"row",presence:"presence"},standalone:!0,features:[b],decls:43,vars:18,consts:[[1,"grid","grid-cols-[minmax(8rem,auto)_1fr]","gap-x-3","gap-y-2","text-xs","text-neutral-200"],[1,"text-neutral-500","shrink-0"],[1,"font-mono","break-all"],[1,"break-all"],[1,"whitespace-nowrap"],[1,"font-mono","whitespace-nowrap"],[1,"mt-2","pt-2","border-t","border-neutral-800"],[3,"ccapId"],[3,"presence","lastHeartbeatAt","wsConnected"],[1,"text-neutral-500","shrink-0","self-start","pt-0.5"],[1,"break-words"],[1,"font-mono","text-[11px]","text-neutral-400","block"],[1,"text-neutral-300"],[1,"font-mono","text-[11px]","whitespace-nowrap"],[1,"break-words","text-neutral-300"]],template:function(i,n){if(i&1&&(a(0,"div",0)(1,"span",1),s(2,"instanceKey"),o(),a(3,"span",2),s(4),o(),a(5,"span",1),s(6,"N\xE9v"),o(),a(7,"span",3),s(8),o(),a(9,"span",1),s(10,"St\xE1tusz"),o(),a(11,"span",4),s(12),o(),m(13,Oe,4,3),a(14,"span",1),s(15,"Session presence"),o(),a(16,"span",4),s(17),o(),m(18,De,16,7),a(19,"span",1),s(20,"MAC"),o(),a(21,"span",2),s(22),o(),a(23,"span",1),s(24,"Install path"),o(),a(25,"span",2),s(26),o(),a(27,"span",1),s(28,"hostName"),o(),a(29,"span",3),s(30),o(),a(31,"span",1),s(32,"registry __created"),o(),a(33,"span",5),s(34),V(35,"date"),o(),a(36,"span",1),s(37,"registry __updated"),o(),a(38,"span",5),s(39),V(40,"date"),o()(),a(41,"div",6),S(42,"app-s-cc-rate-limit-info",7),o()),i&2){let l,x;r(4),k(n.row.registry.instanceKey||"\u2014"),r(4),k((n.row.instanceData==null||n.row.instanceData.name==null?null:n.row.instanceData.name.trim())||"\u2014"),r(4),k((n.row.instanceData==null?null:n.row.instanceData.status)||"\u2014"),r(),u((l=n.presence)?13:-1,l),r(4),f(" ",(n.row.instanceData==null||n.row.instanceData.sessionStatuses==null||n.row.instanceData.sessionStatuses[0]==null?null:n.row.instanceData.sessionStatuses[0].presence)||"\u2014"," "),r(),u((x=n.row.instanceData==null||n.row.instanceData.sessionStatuses==null?null:n.row.instanceData.sessionStatuses[0])?18:-1,x),r(4),k(n.row.registry.primaryMacAddress||"\u2014"),r(4),k(n.row.registry.installLocationPath||"\u2014"),r(4),k(n.row.registry.hostName||"\u2014"),r(4),f(" ",j(35,12,n.row.registry.__created,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),r(5),f(" ",j(40,15,n.row.registry.__updated,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),r(3),p("ccapId",n.row.registry.instanceKey||"")}},dependencies:[B,N,ye,J],encapsulation:2})}return t})();var Ae=(t,d)=>d.instanceKey,Re=t=>({"bg-ccapAccent/10":t});function Fe(t,d){if(t&1&&S(0,"app-s-instance-presence-badge",5),t&2){let e=d;p("presence",e.presence)("lastHeartbeatAt",e.lastHeartbeatAt)("wsConnected",e.wsConnected)("showLabel",!1)}}function Ve(t,d){t&1&&(a(0,"span",6),s(1,"(local)"),o())}function Le(t,d){t&1&&S(0,"span",7)}function ze(t,d){if(t&1){let e=E();a(0,"div",2)(1,"button",4),_("click",function(){let n,l=h(e).$implicit,x=c();return C(x.handleSelectInstance((n=l.instanceKey)!==null&&n!==void 0?n:""))}),m(2,Fe,1,4,"app-s-instance-presence-badge",5),s(3),m(4,Ve,2,0,"span",6)(5,Le,1,0,"span",7),o(),a(6,"button",8),_("click",function(){let n,l=h(e).$implicit,x=c();return C(x.handleInfoClick((n=l.instanceKey)!==null&&n!==void 0?n:""))}),s(7," i "),o()()}if(t&2){let e,i=d.$implicit,n=c();r(),M("border-ccapAccent",n.isSelected(i))("text-ccapAccent",n.isSelected(i))("border-neonDefault",!n.isSelected(i))("text-neutral-400",!n.isSelected(i))("hover:text-neutral-200",!n.isSelected(i))("hover:border-neutral-500",!n.isSelected(i)),p("ngClass",te(17,Re,n.isSelected(i))),r(),u((e=n.getPresenceForRow(i))?2:-1,e),r(),f(" ",n.getDisplayLabel(i)," "),r(),u(n.isLocal(i)?4:-1),r(),u(n.getActiveSessionForRow(i)?5:-1)}}function je(t,d){t&1&&(a(0,"span",3),s(1,"loading..."),o())}var we=(()=>{class t{peiContext_DS=v(pe);presenceMap=new Map;activeSessionMap=new Map;infoRequested=new X;instances_$=g(()=>this.peiContext_DS.instanceList_$());selectedCcapId_$=g(()=>this.peiContext_DS.activeCcapId_$());localKey_$=g(()=>this.peiContext_DS.localInstanceKey_$());ngOnInit(){this.peiContext_DS.initialize()}handleSelectInstance(e){this.peiContext_DS.selectInstance(e)}handleInfoClick(e){this.infoRequested.emit({instanceKey:e})}getDisplayLabel(e){let i=e.hostName??"",n=(e.instanceKey??"").slice(-6);return i?`${i} (${n})`:n||"?"}isSelected(e){return(e.instanceKey??"")===this.selectedCcapId_$()}isLocal(e){return(e.instanceKey??"")===this.localKey_$()}getPresenceForRow(e){let i=e.instanceKey??"";return i?this.presenceMap.get(i)??null:null}getActiveSessionForRow(e){let i=e.instanceKey??"";return i?this.activeSessionMap.get(i)===!0:!1}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-s-instance-selector"]],hostAttrs:[1,"block"],inputs:{presenceMap:"presenceMap",activeSessionMap:"activeSessionMap"},outputs:{infoRequested:"infoRequested"},standalone:!0,features:[b],decls:6,vars:1,consts:[[1,"flex","gap-1","flex-wrap","items-center"],[1,"text-[10px]","text-neutral-500","mr-1","uppercase","tracking-wider"],[1,"flex","items-center","gap-0.5","group"],[1,"text-[10px]","text-neutral-600","italic"],[1,"px-2","py-0.5","text-[11px]","rounded-full","border","transition-colors","flex","items-center","gap-1",3,"click","ngClass"],[3,"presence","lastHeartbeatAt","wsConnected","showLabel"],[1,"ml-0.5","text-[9px]","text-neutral-500"],["title","Akt\xEDv session fut ezen az instance-en","aria-label","Akt\xEDv session fut ezen az instance-en","data-testid","s-instance-active-session-dot",1,"inline-block","w-1.5","h-1.5","rounded-full","bg-yellow-400","animate-pulse","shrink-0"],["type","button","title","Instance details","aria-label","Show instance details","data-testid","s-instance-selector-info-btn",1,"text-[11px]","leading-none","w-4","h-4","rounded-full","border","border-neutral-700","text-neutral-500","hover:text-ccapAccent","hover:border-ccapAccent","transition-colors","flex","items-center","justify-center",3,"click"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"span",1),s(2,"Instance:"),o(),R(3,ze,8,19,"div",2,Ae),m(5,je,2,0,"span",3),o()),i&2&&(r(3),F(n.instances_$()),r(2),u(n.instances_$().length?-1:5))},dependencies:[B,P,J],encapsulation:2})}return t})();function Pe(t,d){if(t&1&&S(0,"app-s-instance-detail-view",3),t&2){let e=c(2);p("row",d)("presence",e.getPresenceForSelectedRow())}}function Be(t,d){if(t&1){let e=E();a(0,"app-s-modal",2),_("closed",function(){h(e);let n=c();return C(n.handleModalClosed())}),m(1,Pe,1,2,"app-s-instance-detail-view",3),o()}if(t&2){let e,i=c();p("isOpen",!0)("title",i.modalTitle_$())("maxWidth","lg"),r(),u((e=i.selectedRow_$())?1:-1,e)}}var Ut=(()=>{class t{instanceRegistry_DS=v(ce);runtimeInstances_DS=v(_e);presenceMap=new Map;activeSessionMap=new Map;selectedInstanceKey_$=$(null);viewRows_$=g(()=>xe.buildViewRows(this.instanceRegistry_DS.list_$(),this.runtimeInstances_DS.ccapInstanceList_$()));selectedRow_$=g(()=>{let e=this.selectedInstanceKey_$();return e?this.viewRows_$().find(i=>(i.registry.instanceKey??"")===e)??null:null});isModalOpen_$=g(()=>this.selectedRow_$()!==null);modalTitle_$=g(()=>{let e=this.selectedRow_$();if(!e)return"";let i=e.registry.hostName??"",n=e.registry.instanceKey??"";return i?`Instance \u2014 ${i}`:`Instance \u2014 ${n.slice(-6)||"?"}`});handleInfoRequested(e){this.selectedInstanceKey_$.set(e.instanceKey)}getPresenceForSelectedRow(){let e=this.selectedRow_$();if(!e)return;let i=e.registry.instanceKey??"";if(i)return this.presenceMap.get(i)}handleModalClosed(){this.selectedInstanceKey_$.set(null)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-s-instance-chip-row-with-info"]],hostAttrs:[1,"block"],inputs:{presenceMap:"presenceMap",activeSessionMap:"activeSessionMap"},standalone:!0,features:[b],decls:2,vars:3,consts:[[3,"infoRequested","presenceMap","activeSessionMap"],[3,"isOpen","title","maxWidth"],[3,"closed","isOpen","title","maxWidth"],[3,"row","presence"]],template:function(i,n){i&1&&(a(0,"app-s-instance-selector",0),_("infoRequested",function(x){return n.handleInfoRequested(x)}),o(),m(1,Be,2,4,"app-s-modal",1)),i&2&&(p("presenceMap",n.presenceMap)("activeSessionMap",n.activeSessionMap),r(),u(n.isModalOpen_$()?1:-1))},dependencies:[B,we,de,be],encapsulation:2})}return t})();var K=(()=>{class t{currentlyOpenId_$=$(null);isOpen(e){return g(()=>this.currentlyOpenId_$()===e)}setOpen(e){this.currentlyOpenId_$.set(e)}toggle(e){this.currentlyOpenId_$()===e?this.currentlyOpenId_$.set(null):this.currentlyOpenId_$.set(e)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=U({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var z=function(t){return t.schedule="schedule",t.quickcast="quickcast",t.coordinator="coordinator",t.quickSettings="quick-settings",t}(z||{});var Ee=(t,d)=>d._id,Ke=()=>["border-neonAmber/60","text-neonAmber","shadow-neon-glow-orange","hover:border-neonAmber","hover:bg-neonAmber/10"],Ne=()=>["border-neutral-700","text-neutral-600"];function Ge(t,d){if(t&1&&(a(0,"span",4),s(1),o()),t&2){let e=c();r(),f(" ",e.sessionJobs_$().length>9?"9+":e.sessionJobs_$().length," ")}}function He(t,d){if(t&1&&(a(0,"span",17),s(1),V(2,"date"),o()),t&2){let e=c().$implicit;r(),f(" ",j(2,1,e.nextDueAt,"yyyy-MM-dd HH:mm")," ")}}function Qe(t,d){t&1&&(a(0,"span",18),s(1,"\u2014"),o())}function qe(t,d){if(t&1&&(a(0,"span",21),s(1),o()),t&2){let e=d.$implicit,i=c(5);p("ngClass",i.getExecutionBadgeClass(e.status))("title",i.buildExecutionBadgeTooltip(e)),r(),f(" ",i.getExecutionBadgeLabel(e.status)," ")}}function Je(t,d){if(t&1&&(a(0,"div",19)(1,"span",20),s(2,"Trigger-ek:"),o(),R(3,qe,2,3,"span",21,Ee),o()),t&2){let e=c();r(3),F(e)}}function Ye(t,d){t&1&&m(0,Je,5,0,"div",19),t&2&&u(d.length>0?0:-1)}function We(t,d){if(t&1){let e=E();a(0,"div",9)(1,"div",6)(2,"div",10)(3,"span",11),s(4),o(),a(5,"span",12),s(6),V(7,"schSchedulePresetLabel"),o()(),a(8,"button",13),_("click",function(){let n=h(e).$implicit,l=c(2);return C(l.handleTriggerNow(n))}),I(),a(9,"svg",14),S(10,"path",15),o()()(),Q(),a(11,"div",16)(12,"span"),s(13,"K\xF6vetkez\u0151:"),o(),m(14,He,3,4,"span",17)(15,Qe,2,0,"span",18),o(),m(16,Ye,1,1),o()}if(t&2){let e,i,n,l,x,w=d.$implicit,A=c(2);r(3),p("title",(e=w.name)!==null&&e!==void 0?e:""),r(),f(" ",((i=w.name)!==null&&i!==void 0?i:"").trim()||"Unnamed schedule"," "),r(2),f(" ",ne(7,7,w.schedule)," "),r(2),p("disabled",A.busyJobIds_$().has((n=w._id)!==null&&n!==void 0?n:""))("title",A.busyJobIds_$().has((l=w._id)!==null&&l!==void 0?l:"")?"Ind\xEDt\xE1s folyamatban\u2026":"Most futtatni (Trigger Now)"),r(6),u(w.nextDueAt?14:15),r(2),u((x=A.getRecentExecutions(w))?16:-1,x)}}function Ue(t,d){if(t&1){let e=E();a(0,"div",5)(1,"div",6)(2,"span",7),s(3),o(),a(4,"button",8),_("click",function(){h(e);let n=c();return C(n.handleToggle())}),s(5," \xD7 "),o()(),R(6,We,17,9,"div",9,Ee),o()}if(t&2){let e=c();r(3),f(" Schedule (",e.sessionJobs_$().length,") "),r(3),F(e.sessionJobs_$())}}var pn=(()=>{class t{sessionId=O.required();scheduledJobs_DS=v(Se);overlayCoordinator_CS=v(K);OVERLAY_ID=z.schedule;isOpen_$=this.overlayCoordinator_CS.isOpen(this.OVERLAY_ID);busyJobIds_$=$(new Set);sessionJobs_$=g(()=>{let e=(this.sessionId()??"").trim();return e?this.scheduledJobs_DS.jobs_$().filter(n=>n.enabled===!1?!1:(n.target?.payload?.sessionId??"").trim()===e):[]});hasSchedule_$=g(()=>this.sessionJobs_$().length>0);ngOnInit(){this.scheduledJobs_DS.jobs_$().length===0&&this.scheduledJobs_DS.loadAll()}handleToggle(){this.overlayCoordinator_CS.toggle(this.OVERLAY_ID)}handleTriggerNow(e){return H(this,null,function*(){let i=(e._id??"").trim();if(i&&!this.busyJobIds_$().has(i)){this.busyJobIds_$.update(n=>{let l=new Set(n);return l.add(i),l});try{yield this.scheduledJobs_DS.triggerNow({jobId:i,reason:"session-overlay-manual"})}finally{this.busyJobIds_$.update(n=>{let l=new Set(n);return l.delete(i),l})}}})}getRecentExecutions(e){let i=e._id??"";return i?this.scheduledJobs_DS.recentExecutions_$().get(i)??[]:[]}getExecutionBadgeClass(e){switch(e){case"triggered":return"bg-emerald-500/20 text-emerald-400";case"completed":return"bg-sky-500/20 text-sky-400";case"skipped":return"bg-neutral-600/30 text-neutral-400";case"failed":return"bg-red-500/20 text-red-400";case"cancelled":return"bg-amber-500/20 text-amber-400";case"dry-run":return"bg-purple-500/20 text-purple-400";default:return"bg-neutral-700/40 text-neutral-500"}}getExecutionBadgeLabel(e){switch(e){case"triggered":return"OK";case"completed":return"Done";case"skipped":return"Skip";case"failed":return"Fail";case"cancelled":return"Cancel";case"dry-run":return"Dry";default:return"?"}}buildExecutionBadgeTooltip(e){let i=[];return e.scheduledAt&&(i.push(new Date(e.scheduledAt).toISOString().slice(0,16).replace("T"," ")),i.push(" \u2014 ")),i.push(e.status??"?"),e.skipReason&&i.push(` (${e.skipReason})`),e.status==="failed"&&e.errorDetails?.message&&i.push(`: ${e.errorDetails.message}`),i.join("")}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-s-session-schedule-overlay"]],hostAttrs:[1,"absolute","bottom-4","left-0","z-30","pointer-events-none"],inputs:{sessionId:[1,"sessionId"]},standalone:!0,features:[b],decls:6,vars:12,consts:[[1,"flex","items-end","gap-2","pointer-events-auto"],["type","button","aria-label","Schedule",1,"relative","flex","items-center","justify-center","h-8","w-7","bg-neutral-900","border-2","border-l-0","rounded-r-lg","transition-all","duration-200","ease-out","disabled:cursor-not-allowed",3,"click","disabled","title","ngClass"],["fill","none","stroke","currentColor","viewBox","0 0 24 24","aria-hidden","true",1,"w-4","h-4"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d",`M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5
2
2
  a2 2 0 00-2 2v12a2 2 0 002 2z`],["aria-hidden","true",1,"absolute","-top-1","-right-1","min-w-[14px]","h-[14px]","px-[2px]","bg-neonCyan","text-neutral-900","rounded-full","text-[9px]","font-mono","font-bold","leading-[14px]","text-center","shadow-neon-glow-cyan"],[1,"bg-neutral-900","border-2","border-neonAmber/60","rounded-lg","p-3","flex","flex-col","gap-2","min-w-[16rem]","max-w-xs","shadow-neon-glow-orange"],[1,"flex","items-center","justify-between","gap-2"],[1,"text-[10px]","uppercase","tracking-wider","text-neonAmber","font-mono"],["type","button","title","Bez\xE1r\xE1s","aria-label","Schedule panel bez\xE1r\xE1sa",1,"text-neutral-400","hover:text-neonAmber","leading-none","px-1","transition-colors",3,"click"],[1,"flex","flex-col","gap-1","border-t","border-neutral-800","pt-2","first:border-t-0","first:pt-0"],[1,"flex","flex-col","min-w-0"],[1,"text-sm","text-neutral-100","truncate",3,"title"],[1,"text-[10px]","text-neutral-500","font-mono"],["type","button","aria-label","Trigger now",1,"shrink-0","flex","items-center","justify-center","w-7","h-7","rounded-full","bg-neutral-900","border-2","border-neonAmber/60","text-neonAmber","hover:border-neonAmber","hover:bg-neonAmber/10","hover:shadow-neon-glow-orange","disabled:opacity-40","disabled:cursor-not-allowed","transition-all",3,"click","disabled","title"],["fill","currentColor","viewBox","0 0 24 24","aria-hidden","true",1,"w-3.5","h-3.5"],["d","M8 5v14l11-7z"],["title","K\xF6vetkez\u0151 \xFCtemezett fut\xE1s id\u0151pontja",1,"text-[10px]","text-neutral-500","flex","items-center","gap-1"],[1,"text-emerald-400","font-medium"],[1,"text-neutral-300"],[1,"flex","items-center","gap-1","flex-wrap"],[1,"text-[10px]","text-neutral-500"],[1,"inline-flex","items-center","px-1.5","py-0.5","text-[10px]","rounded",3,"ngClass","title"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"button",1),_("click",function(){return n.handleToggle()}),I(),a(2,"svg",2),S(3,"path",3),o(),m(4,Ge,2,1,"span",4),o(),m(5,Ue,8,1,"div",5),o()),i&2&&(r(),M("-translate-x-2",!n.isOpen_$())("translate-x-2",n.isOpen_$()),p("disabled",!n.hasSchedule_$())("title",n.hasSchedule_$()?n.isOpen_$()?"Schedule panel bez\xE1r\xE1sa":"Schedule megjelen\xEDt\xE9se ("+n.sessionJobs_$().length+" job)":"Nincs schedule ehhez a sessionh\xF6z")("ngClass",n.hasSchedule_$()?T(10,Ke):T(11,Ne)),D("aria-expanded",n.isOpen_$()),r(3),u(n.hasSchedule_$()&&n.sessionJobs_$().length>1?4:-1),r(),u(n.isOpen_$()?5:-1))},dependencies:[P,N,he],encapsulation:2})}return t})();function Xe(t,d){if(t&1){let e=E();a(0,"button",10),_("click",function(){let n=h(e).$implicit,l=c(2);return C(l.handleAction(n))}),s(1),o()}if(t&2){let e=d.$implicit,i=c(2);p("disabled",i.pendingAction_$()===e),r(),f(" ",i.pendingAction_$()===e?"Sending\u2026":e," ")}}function Ze(t,d){if(t&1){let e=E();a(0,"div",4)(1,"div",5)(2,"span",6),s(3," QuickCast "),o(),a(4,"button",7),_("click",function(){h(e);let n=c();return C(n.handleToggle())}),s(5," \xD7 "),o()(),a(6,"div",8),R(7,Xe,2,2,"button",9,Z),o()()}if(t&2){let e=c();r(7),F(e.actions())}}var gn=(()=>{class t{actions=O(["Go","Continue","OK","Proceed","implement","Review Very Very Carefully","Ensure Documentations","tervezd meg nagyon alaposan \xE9s fejleszd le"]);actionSelected=q();overlayCoordinator_CS=v(K);OVERLAY_ID=z.quickcast;isOpen_$=this.overlayCoordinator_CS.isOpen(this.OVERLAY_ID);pendingAction_$=$(null);handleToggle(){this.overlayCoordinator_CS.toggle(this.OVERLAY_ID)}handleAction(e){this.pendingAction_$()===null&&(this.pendingAction_$.set(e),this.actionSelected.emit(e),setTimeout(()=>{this.pendingAction_$()===e&&this.pendingAction_$.set(null)},800))}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-s-session-quickcast-overlay"]],hostAttrs:[1,"absolute","bottom-16","left-0","z-30","pointer-events-none"],inputs:{actions:[1,"actions"]},outputs:{actionSelected:"actionSelected"},standalone:!0,features:[b],decls:5,vars:7,consts:[[1,"flex","items-end","gap-2","pointer-events-auto"],["type","button","aria-label","QuickCast",1,"flex","items-center","justify-center","h-8","w-7","bg-neutral-900","border-2","border-l-0","border-neonCyan/60","rounded-r-lg","text-neonCyan","shadow-neon-glow-cyan","hover:border-neonCyan","hover:bg-neonCyan/10","transition-all","duration-200","ease-out",3,"click","title"],["fill","none","stroke","currentColor","viewBox","0 0 24 24","aria-hidden","true",1,"w-4","h-4"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M13 10V3L4 14h7v7l9-11h-7z"],[1,"bg-neutral-900","border-2","border-neonCyan/60","rounded-md","p-1.5","flex","flex-col","gap-1","min-w-[8rem]","max-w-[13rem]","shadow-neon-glow-cyan"],[1,"flex","items-center","justify-between","gap-1"],[1,"text-[10px]","uppercase","tracking-wider","text-neonCyan","font-mono","leading-none"],["type","button","title","Bez\xE1r\xE1s","aria-label","QuickCast panel bez\xE1r\xE1sa",1,"text-neutral-400","hover:text-neonCyan","leading-none","text-xs","px-1","transition-colors",3,"click"],[1,"flex","flex-col","gap-1"],["type","button",1,"px-1.5","py-0.5","rounded","border-2","border-neonCyan/60","text-neonCyan","text-[11px]","font-medium","hover:border-neonCyan","hover:bg-neonCyan/10","hover:shadow-neon-glow-cyan","disabled:opacity-40","disabled:cursor-not-allowed","transition-all","leading-tight",3,"disabled"],["type","button",1,"px-1.5","py-0.5","rounded","border-2","border-neonCyan/60","text-neonCyan","text-[11px]","font-medium","hover:border-neonCyan","hover:bg-neonCyan/10","hover:shadow-neon-glow-cyan","disabled:opacity-40","disabled:cursor-not-allowed","transition-all","leading-tight",3,"click","disabled"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"button",1),_("click",function(){return n.handleToggle()}),I(),a(2,"svg",2),S(3,"path",3),o()(),m(4,Ze,9,0,"div",4),o()),i&2&&(r(),M("-translate-x-2",!n.isOpen_$())("translate-x-2",n.isOpen_$()),p("title",n.isOpen_$()?"QuickCast bez\xE1r\xE1sa":"QuickCast megnyit\xE1sa"),D("aria-expanded",n.isOpen_$()),r(3),u(n.isOpen_$()?4:-1))},encapsulation:2})}return t})();var et=(t,d)=>d.provider+":::"+d.modelName,tt=()=>["border-neonPurple/60","text-neonPurple","shadow-[0_0_10px_rgba(168,85,247,0.4)]","hover:border-neonPurple","hover:bg-neonPurple/10"],nt=()=>["border-neutral-700","text-neutral-500","hover:border-neutral-500","hover:bg-neutral-800/50"],it=()=>["border-neonPurple/60","shadow-[0_0_10px_rgba(168,85,247,0.4)]"],ot=()=>["border-neutral-700"],at=()=>["text-neonPurple"],rt=()=>["text-neutral-400"];function st(t,d){if(t&1&&(a(0,"div",10)(1,"span",11),s(2,"provider"),o(),a(3,"span",14),s(4),o()()),t&2){let e=c();r(3),p("title",e.providerName),r(),f(" ",e.providerName," ")}}function lt(t,d){if(t&1&&(a(0,"div",10)(1,"span",11),s(2,"model"),o(),a(3,"span",14),s(4),o()()),t&2){let e=c();r(3),p("title",e.model),r(),k(e.model)}}function dt(t,d){if(t&1&&(a(0,"div",10)(1,"span",11),s(2,"workflow"),o(),a(3,"span",14),s(4),o()()),t&2){let e=c();r(3),p("title",e.workflowId),r(),f(" ",e.workflowId," ")}}function ct(t,d){if(t&1){let e=E();a(0,"div",9)(1,"div",10)(2,"span",11),s(3,"status"),o(),a(4,"span",12),s(5),o()(),m(6,st,5,2,"div",10)(7,lt,5,2,"div",10)(8,dt,5,2,"div",10),o(),a(9,"button",13),_("click",function(){h(e);let n=c(2);return C(n.handleStop())}),s(10),o()}if(t&2){let e=d,i=c(2);r(5),k(e.status),r(),u(e.providerName?6:-1),r(),u(e.model?7:-1),r(),u(e.workflowId?8:-1),r(),p("disabled",i.isBusy_$()),r(),f(" ",i.isBusy_$()?"Stopping\u2026":"Stop"," ")}}function pt(t,d){if(t&1&&(a(0,"option",18),s(1),o()),t&2){let e=d.$implicit;p("value",e.provider+":::"+e.modelName),r(),ee(" ",e.provider," / ",e.modelName," ")}}function ut(t,d){if(t&1){let e=E();a(0,"span",15),s(1," Nincs assigned coordinator \u2014 v\xE1lassz modellt \xE9s kattints az Assign-ra. "),o(),a(2,"select",16),_("ngModelChange",function(n){h(e);let l=c(2);return C(l.selectedModelKey_$.set(n))}),a(3,"option",17),s(4,"\u2014 v\xE1lassz modellt \u2014"),o(),R(5,pt,2,3,"option",18,et),o(),a(7,"button",13),_("click",function(){h(e);let n=c(2);return C(n.handleAssign())}),s(8),o()}if(t&2){let e=c(2);r(2),p("ngModel",e.selectedModelKey_$()),r(3),F(e.modelOptions_$()),r(2),p("disabled",!e.selectedModelKey_$()||e.isBusy_$()),r(),f(" ",e.isBusy_$()?"Assigning\u2026":"Assign"," ")}}function mt(t,d){if(t&1){let e=E();a(0,"div",5)(1,"div",6)(2,"span",7),s(3," Coordinator "),o(),a(4,"button",8),_("click",function(){h(e);let n=c();return C(n.handleToggle())}),s(5," \xD7 "),o()(),m(6,ct,11,6)(7,ut,9,3),o()}if(t&2){let e,i=c();p("ngClass",i.isAssigned_$()?T(3,it):T(4,ot)),r(2),p("ngClass",i.isAssigned_$()?T(5,at):T(6,rt)),r(4),u((e=i.assignedCoordinator_$())?6:7,e)}}var Tn=(()=>{class t{sessionId=O.required();coordinator_DS=v(ge);registrySsot_CS=v(fe);overlayCoordinator_CS=v(K);OVERLAY_ID=z.coordinator;isOpen_$=this.overlayCoordinator_CS.isOpen(this.OVERLAY_ID);isBusy_$=$(!1);selectedModelKey_$=$("");modelOptions_$=g(()=>this.registrySsot_CS.enabledLlmModels_$());assignedCoordinator_$=g(()=>{let e=(this.sessionId()??"").trim();return!e||!this.coordinator_DS.coordinatedSessionIds_$().has(e)?null:this.coordinator_DS.globalCoordinatorsList_$().find(l=>{let x=(l.sessionId??"").trim(),w=(l.status??"").trim().toLowerCase();return x===e&&w!=="stopped"&&w!=="completed"})??null});isAssigned_$=g(()=>this.assignedCoordinator_$()!==null);ngOnInit(){this.coordinator_DS.globalCoordinatorsList_$().length===0&&this.coordinator_DS.loadAllCoordinatorsForManagementPage(),this.registrySsot_CS.ensureLoaded("llm")}handleToggle(){this.overlayCoordinator_CS.toggle(this.OVERLAY_ID)}handleAssign(){return H(this,null,function*(){let e=(this.sessionId()??"").trim(),i=this.selectedModelKey_$().trim();if(!e||!i||this.isBusy_$())return;let n=i.split(":::");if(n.length!==2)return;let l=n[0],x=n[1];if(!(!l||!x)){this.isBusy_$.set(!0);try{yield this.coordinator_DS.startCoordinator({sessionId:e,providerName:l,model:x}),this.coordinator_DS.loadAllCoordinatorsForManagementPage()}finally{this.isBusy_$.set(!1)}}})}handleStop(){return H(this,null,function*(){let e=(this.sessionId()??"").trim();if(!(!e||this.isBusy_$())){this.isBusy_$.set(!0);try{yield this.coordinator_DS.stopCoordinator(e),this.coordinator_DS.loadAllCoordinatorsForManagementPage()}finally{this.isBusy_$.set(!1)}}})}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-s-session-coordinator-overlay"]],hostAttrs:[1,"absolute","bottom-28","left-0","z-30","pointer-events-none"],inputs:{sessionId:[1,"sessionId"]},standalone:!0,features:[b],decls:6,vars:10,consts:[[1,"flex","items-end","gap-2","pointer-events-auto"],["type","button","aria-label","Coordinator",1,"relative","flex","items-center","justify-center","h-8","w-7","bg-neutral-900","border-2","border-l-0","rounded-r-lg","transition-all","duration-200","ease-out",3,"click","title","ngClass"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"w-4","h-4"],["cx","12","cy","12","r","10"],["points","16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76"],[1,"bg-neutral-900","border-2","rounded-lg","p-3","flex","flex-col","gap-2","min-w-[16rem]","max-w-xs",3,"ngClass"],[1,"flex","items-center","justify-between","gap-2"],[1,"text-[10px]","uppercase","tracking-wider","font-mono",3,"ngClass"],["type","button","title","Bez\xE1r\xE1s","aria-label","Coordinator panel bez\xE1r\xE1sa",1,"text-neutral-400","hover:text-neonPurple","leading-none","px-1","transition-colors",3,"click"],[1,"flex","flex-col","gap-1","text-xs"],[1,"flex","justify-between","gap-2"],[1,"text-neutral-500","font-mono","text-[10px]"],[1,"text-neutral-100"],["type","button",1,"self-end","px-2","py-1","rounded","border-2","border-neonPurple/60","text-neonPurple","text-xs","font-medium","hover:bg-neonPurple/10","hover:shadow-[0_0_10px_rgba(168,85,247,0.4)]","disabled:opacity-40","disabled:cursor-not-allowed","transition-all",3,"click","disabled"],[1,"text-neutral-100","truncate",3,"title"],[1,"text-[11px]","text-neutral-400"],[1,"bg-neutral-900","border","border-neutral-700","rounded","px-2","py-1","text-xs","text-neutral-100","focus:outline-none","focus:border-neonPurple/60",3,"ngModelChange","ngModel"],["value","","disabled",""],[3,"value"]],template:function(i,n){if(i&1&&(a(0,"div",0)(1,"button",1),_("click",function(){return n.handleToggle()}),I(),a(2,"svg",2),S(3,"circle",3)(4,"polygon",4),o()(),m(5,mt,8,7,"div",5),o()),i&2){let l;r(),M("-translate-x-2",!n.isOpen_$())("translate-x-2",n.isOpen_$()),p("title",n.isAssigned_$()?n.isOpen_$()?"Coordinator panel bez\xE1r\xE1sa":"Coordinator: "+((l=(l=n.assignedCoordinator_$())==null?null:l.status)!==null&&l!==void 0?l:""):n.isOpen_$()?"Coordinator panel bez\xE1r\xE1sa":"Nincs coordinator \u2014 assign-ol\xE1shoz kattints")("ngClass",n.isAssigned_$()?T(8,tt):T(9,nt)),D("aria-expanded",n.isOpen_$()),r(4),u(n.isOpen_$()?5:-1)}},dependencies:[P,le,re,se,ae,ie,oe],encapsulation:2})}return t})();var _t=()=>["border-neonCyan/60","text-neonCyan","shadow-neon-glow-cyan","hover:border-neonCyan","hover:bg-neonCyan/10"],ft=()=>["border-neutral-700","text-neutral-500","hover:border-neutral-500","hover:text-neutral-300"];function xt(t,d){t&1&&(I(),a(0,"svg",1),S(1,"polygon",2)(2,"path",3)(3,"path",4),o())}function St(t,d){t&1&&(I(),a(0,"svg",1),S(1,"polygon",2)(2,"line",5)(3,"line",6),o())}var ke=(()=>{class t{sessionId=O.required();isEnabled_$=$(!1);ngOnInit(){this.refreshEnabledFromStorage()}refreshEnabledFromStorage(){this.isEnabled_$.set(W.isEnabled(this.sessionId()))}handleToggle(){W.toggle(this.sessionId()),this.refreshEnabledFromStorage()}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-s-auto-read-tts-toggle"]],inputs:{sessionId:[1,"sessionId"]},standalone:!0,features:[b],decls:3,vars:6,consts:[["type","button",1,"relative","flex","items-center","justify-center","h-8","w-8","bg-neutral-900","border-2","rounded-md","transition-all","duration-200","ease-out",3,"click","title","ngClass"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"w-4","h-4"],["points","11 5 6 9 2 9 2 15 6 15 11 19 11 5"],["d","M15.54 8.46a5 5 0 0 1 0 7.07"],["d","M19.07 4.93a10 10 0 0 1 0 14.14"],["x1","23","y1","9","x2","17","y2","15"],["x1","17","y1","9","x2","23","y2","15"]],template:function(i,n){i&1&&(a(0,"button",0),_("click",function(){return n.handleToggle()}),m(1,xt,4,0,":svg:svg",1)(2,St,4,0,":svg:svg",1),o()),i&2&&(p("title",n.isEnabled_$()?"Auto-read assistant: ON (\xFAj asszisztens \xFCzenetek automatikusan felolvas\xE1sra ker\xFClnek). Klikk: kikapcsol\xE1s.":"Auto-read assistant: OFF. Klikk: bekapcsol\xE1s (csak az ezut\xE1n \xE9rkez\u0151 \xFCzenetek olvas\xF3dnak fel).")("ngClass",n.isEnabled_$()?T(4,_t):T(5,ft)),D("aria-pressed",n.isEnabled_$()),r(),u(n.isEnabled_$()?1:2))},dependencies:[P],encapsulation:2})}return t})();function gt(t,d){if(t&1){let e=E();a(0,"button",26),_("click",function(){h(e);let n=c(2);return C(n.handleRestartRunnerClick())}),a(1,"span",13),I(),a(2,"svg",14),S(3,"path",27)(4,"path",28)(5,"path",29)(6,"path",30),o(),s(7," Restart Terminal Runner "),o()()}}function ht(t,d){if(t&1){let e=E();a(0,"div",5)(1,"div",6)(2,"span",7),s(3," Quick Settings "),o(),a(4,"button",8),_("click",function(){h(e);let n=c();return C(n.handleToggle())}),s(5," \xD7 "),o()(),a(6,"p",9),s(7," Plan-state v1 \u2014 minden funkci\xF3 "),a(8,"span",10),s(9,"disabled"),o(),s(10,"; bek\xF6t\xE9s Plans Feature Set keret\xE9ben k\xF6vetkezik (`2026-05-06-session-quick-settings-feature-set-plan.md`). "),o(),m(11,gt,8,0,"button",11),a(12,"div",12)(13,"span",13),I(),a(14,"svg",14),S(15,"path",15)(16,"path",16)(17,"path",17),o(),s(18," Auto-Read Assistant TTS "),o(),Q(),S(19,"app-s-auto-read-tts-toggle",18),o(),a(20,"button",19)(21,"span",13),I(),a(22,"svg",20),S(23,"rect",21)(24,"path",22)(25,"path",23)(26,"path",24),o(),s(27," Always-On Intelligent Voice Input "),o(),Q(),a(28,"span",25),s(29,"soon"),o()()()}if(t&2){let e=c();r(11),u(e.showRestartRunner()?11:-1),r(8),p("sessionId",e.sessionId())}}var Kn=(()=>{class t{sessionId=O.required();showRestartRunner=O(!1);restartRunnerClicked=q();overlayCoordinator_CS=v(K);OVERLAY_ID=z.quickSettings;isOpen_$=this.overlayCoordinator_CS.isOpen(this.OVERLAY_ID);handleToggle(){this.overlayCoordinator_CS.toggle(this.OVERLAY_ID)}handleRestartRunnerClick(){this.restartRunnerClicked.emit(),this.overlayCoordinator_CS.setOpen(null)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-s-session-quick-settings-overlay"]],hostAttrs:[1,"absolute","bottom-40","left-0","z-30","pointer-events-none"],inputs:{sessionId:[1,"sessionId"],showRestartRunner:[1,"showRestartRunner"]},outputs:{restartRunnerClicked:"restartRunnerClicked"},standalone:!0,features:[b],decls:6,vars:7,consts:[[1,"flex","items-end","gap-2","pointer-events-auto"],["type","button","aria-label","Session Quick Settings",1,"relative","flex","items-center","justify-center","h-8","w-7","bg-neutral-900","border-2","border-l-0","border-neonGreen/60","rounded-r-lg","text-neonGreen","shadow-[0_0_10px_rgba(0,255,136,0.35)]","hover:border-neonGreen","hover:bg-neonGreen/10","transition-all","duration-200","ease-out",3,"click","title"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"w-4","h-4"],["cx","12","cy","12","r","3"],["d",`M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0
3
3
  l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2
4
4
  2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06
@@ -15,4 +15,4 @@ auto-send egyetlen \xFCzenetk\xE9nt, opcion\xE1lis chime hangjelz\xE9s a trigger
15
15
  Spec: __specifications/poc/voice-input-continuous-and-mobile.md (REQ-VIM-CONT-002,
16
16
  REQ-VIM-SEND-001). Hi\xE1nyz\xF3 r\xE9szek: per-segment \u2192 cycle-akkumul\xE1ci\xF3, silence-detect
17
17
  \u2192 auto-send, cseng\u0151 hang. Nagyobb implement\xE1ci\xF3s csomag \u2014 Plan dokumentum r\xE9szletez.`,1,"flex","items-center","justify-between","gap-2","px-2","py-1.5","rounded","border-2","border-neutral-700","text-neutral-500","text-xs","bg-neutral-900/50","cursor-not-allowed","transition-colors"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"w-4","h-4","shrink-0"],["x","9","y","3","width","6","height","12","rx","3"],["d","M19 11a7 7 0 0 1-14 0"],["d","M12 18v3"],["d","M8 21h8"],[1,"text-[9px]","uppercase","tracking-wider","text-neutral-600","font-mono"],["type","button","title","Aktu\xE1lis CC session terminal runner kill + respawn. \xDAj termin\xE1l ablak ny\xEDlik a friss npm-build-tel; runner version-mismatch vagy no-ACK-fire hib\xE1k gyors fixje a session-b\u0151l, dashboard-ra navig\xE1l\xE1s n\xE9lk\xFCl.",1,"flex","items-center","justify-between","gap-2","px-2","py-1.5","rounded","border-2","border-neonGreen/40","text-neutral-300","text-xs","bg-neutral-900/50","hover:bg-neonGreen/10","hover:border-neonGreen","cursor-pointer","transition-colors",3,"click"],["d","M3 12a9 9 0 0 1 15.5-6.3L21 8"],["d","M21 3v5h-5"],["d","M21 12a9 9 0 0 1-15.5 6.3L3 16"],["d","M3 21v-5h5"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"button",1),_("click",function(){return n.handleToggle()}),I(),a(2,"svg",2),S(3,"circle",3)(4,"path",4),o()(),m(5,ht,30,2,"div",5),o()),i&2&&(r(),M("-translate-x-2",!n.isOpen_$())("translate-x-2",n.isOpen_$()),p("title",n.isOpen_$()?"Session Quick Settings panel bez\xE1r\xE1sa":"Session Quick Settings \u2014 hamarosan: Restart Runner, Auto-Read TTS, Intelligent Voice Input. Plan dokumentum k\xE9szen, implement\xE1ci\xF3 folyamatban."),D("aria-expanded",n.isOpen_$()),r(4),u(n.isOpen_$()?5:-1))},dependencies:[ke],encapsulation:2})}return t})();export{Y as a,Ut as b,pn as c,gn as d,Tn as e,Kn as f};
18
- //# sourceMappingURL=chunk-KMCUFCSO.js.map
18
+ //# sourceMappingURL=chunk-SYLBNS6X.js.map
@@ -1,2 +1,2 @@
1
- import{a as P}from"./chunk-L7AQMTP5.js";import{a as T}from"./chunk-UFBTR2BG.js";import{a as U}from"./chunk-FYRG2MNH.js";import{e as k}from"./chunk-ZPYIQBC2.js";import{G as C,I as y,p as O}from"./chunk-DT745Z7F.js";import{C as p,a as $,aa as o,b as v,h as N,jb as M,k as l,l as L,p as u,vb as f,xb as w,y as E}from"./chunk-TBMJSIBB.js";var A=class{static computeSocketUrlFromStatus(m,e){return e}};var b=class{static toDisplayString(m){if(m==null)return"";if(typeof m=="string")return m;if(typeof m=="object"&&m!==null){let t=m;if(typeof t.message=="string"&&t.message.trim().length>0)return t.message.trim();if(typeof t.error=="string"&&t.error.trim().length>0)return t.error.trim();if(typeof t.detail=="string"&&t.detail.trim().length>0)return t.detail.trim()}let e=String(m);return e==="[object Object]"?"\u2014":e}};var d=N(O());var R=(()=>{class r{baseUrl=`${y.api.baseUrl}/session`;http=p(w);getMessages(e){return u(this.http.get(`${this.baseUrl}/${e.sessionId}/messages`,{params:{viewMode:e.viewMode}}))}sendMessage(e){return u(this.http.post(`${this.baseUrl}/${e.sessionId}/messages`,{content:e.content,imageAttachments:e.imageAttachments}))}static \u0275fac=function(t){return new(t||r)};static \u0275prov=E({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var K=(()=>{class r{baseUrl=`${y.api.baseUrl}/session`;http=p(w);peiContext_DS=p(U);currentCcapId(){return this.peiContext_DS.activeCcapId_$()}withCcapId(e){let t=this.currentCcapId();return t?e.set("ccapId",t):e}listSessions(){let e=this.withCcapId(new f);return u(this.http.get(this.baseUrl,{params:e}))}listArchivedSessions(){let e=this.withCcapId(new f);return e=e.set("archived","true"),u(this.http.get(this.baseUrl,{params:e}))}createSession(e){let t={},s=e?.name!==void 0?e.name.trim():void 0;s!==void 0&&s.length>0&&(t.name=s);let i=this.withCcapId(new f);return u(this.http.post(this.baseUrl,t,{params:i}))}getSession(e){let t=this.withCcapId(new f);return u(this.http.get(`${this.baseUrl}/${e}`,{params:t}))}updateSession(e){let t=this.withCcapId(new f);return u(this.http.patch(`${this.baseUrl}/${e.sessionId}`,e.updates,{params:t}))}getSessionInfo(e){let t=this.withCcapId(new f);return u(this.http.get(`${this.baseUrl}/${e}/session-info`,{params:t}))}copySession(e){let t={};e.name&&(t.name=e.name),e.forkUntilMessageKey&&(t.forkUntilMessageKey=e.forkUntilMessageKey);let s=this.withCcapId(new f);return u(this.http.post(`${this.baseUrl}/${e.sessionId}/copy`,t,{params:s}))}stopExecution(e){let t=this.withCcapId(new f);return u(this.http.post(`${this.baseUrl}/${e}/stop-execution`,{},{params:t}))}getLlmDebugTrace(e){let t=this.withCcapId(new f);return t=t.set("runId",e.runId),u(this.http.get(`${this.baseUrl}/${e.sessionId}/llm-debug-trace`,{params:t}))}static \u0275fac=function(t){return new(t||r)};static \u0275prov=E({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var j="answer",V="notify-user",B="agent-events",z="context:updated",H="monitoring:event",G="user-interaction:request",q="user-interaction:resolved",W="ccap_notification",Q="notification-sent",X="waiting-for-user",Ce=(()=>{class r{sessionDetailBySessionId=new Map;sessionInfoBySessionId=new Map;activeSessionId_$=o("");requestSidebarCloseOnMobileBump_$=o(0);sessions_$=o([]);sessionsLoadError_$=o(null);sessionsLoading_$=o(!1);archivedSessions_$=o([]);archivedSessionsLoading_$=o(!1);messages_$=o([]);messagesLoading_$=o(!1);messagesLoadError_$=o(null);agentEvents_$=o({});activeRunExecutionMode_$=o("");contextUpdated_$=o(null);monitoringEvent_$=o(null);monitoringEvent_S=new L;pendingInteraction_$=o(null);pendingNotification_$=o(null);sessionDetailMap_$=o(new Map);sessionDetailLoading_$=o(!1);sessionInfoMap_$=o(new Map);sessionInfoLoading_$=o(!1);sessionInfoLoadError_$=o(null);llmDebugTraceEntries_$=o([]);llmDebugTraceLoading_$=o(!1);llmDebugTraceLoadError_$=o(null);eventSubscription=null;connectedEffectRef=null;session_AS=p(K);conversation_AS=p(R);serverStatus_AS=p(P);socket_CS=p(k);get connected_$(){return this.socket_CS.connected_$}get socketStatus_$(){return this.socket_CS.status_$}get lastSocketError_$(){return this.socket_CS.lastError_$}get connectAttemptCount_$(){return this.socket_CS.connectAttemptCount_$}diagnoseConnection(){return this.socket_CS.diagnoseConnection()}constructor(){this.eventSubscription=this.socket_CS.event$.subscribe(e=>{this.handleSocketEvent(e)}),this.connectedEffectRef=M(()=>{this.socket_CS.connected_$()&&this.getActiveSessionId()&&this.socket_CS.emit("session:attach",{sessionId:this.getActiveSessionId()})})}handleSocketEvent(e){let t=e.payload??{},s=this.getActiveSessionId(),i=typeof t.channelId=="string"?t.channelId:void 0,g=typeof t.sessionId=="string"?t.sessionId:void 0,I=!i&&!g||i===s||g===s;if(e.event===j&&I){let n=typeof t.content=="string"?t.content:"",a=typeof t.timestamp=="string"?t.timestamp:new Date().toISOString(),c=typeof t.runId=="string"?t.runId:void 0,S={role:"assistant",content:n,timestamp:new Date(a)},h=c?v($({},S),{runId:c}):S,_=this.ensureClientListKey(h);this.messages_$.set([...this.messages_$(),_]);return}if(e.event===V&&I){let n=typeof t.content=="string"?t.content:"";d.DyFM_Log.info(`CCAP_SessionDS | notify-user received: ${n.substring(0,120)}\u2026`);let a=this.ensureClientListKey({role:"system",content:n,timestamp:new Date});this.messages_$.set([...this.messages_$(),a]);return}if(e.event===B){let n=typeof t.eventData=="object"&&t.eventData!==null?t.eventData:{};this.agentEvents_$.set(n),this.applyAgentEventRunExecutionModeLatch(n);let a=typeof n.toolId=="string"?n.toolId:"",c=typeof n.phase=="string"?n.phase:"";a===W&&(c===Q||c===X)?this.pendingNotification_$.set({phase:c,notificationTitle:typeof n.notificationTitle=="string"?n.notificationTitle:"",notificationType:typeof n.notificationType=="string"?n.notificationType:"",notificationPriority:typeof n.notificationPriority=="string"?n.notificationPriority:"info"}):this.pendingNotification_$()&&this.pendingNotification_$.set(null);let S=n.toolError,h=i??n.channelId,_=!h||h===s,D=b.toDisplayString(S).trim();if(D.length>0&&_){d.DyFM_Log.info(`CCAP_SessionDS | toolError from agent-events, pushing to chat: ${D.substring(0,80)}\u2026`);let F=this.ensureClientListKey({role:"system",content:D,timestamp:new Date});this.messages_$.set([...this.messages_$(),F])}return}if(e.event===z){let n=typeof t.sessionId=="string"?t.sessionId:"",a=typeof t.contextState=="object"&&t.contextState!==null?t.contextState:{};this.contextUpdated_$.set({sessionId:n,contextState:a});return}if(e.event===H){let n=typeof t.sessionId=="string"?t.sessionId:"",a=typeof t.event=="object"&&t.event!==null?t.event:{},c={sessionId:n,event:a};this.monitoringEvent_$.set(c),this.monitoringEvent_S.next(c);return}if(e.event===G&&I){this.pendingInteraction_$.set(t);return}if(e.event===q&&I){let n=typeof t.interactionId=="string"?t.interactionId:void 0;if(!n)return;this.pendingInteraction_$()?.interactionId===n&&this.pendingInteraction_$.set(null);return}}loadSessions(){return l(this,null,function*(){this.sessionsLoading_$.set(!0);try{this.sessionsLoadError_$.set(null);let e=yield this.session_AS.listSessions();return this.sessions_$.set(e.sessions),e.sessions}catch(e){return d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to load sessions",e),this.sessionsLoadError_$.set(e),[]}finally{this.sessionsLoading_$.set(!1)}})}createSession(e){return l(this,null,function*(){let t=yield this.session_AS.createSession(e);return yield this.loadSessions(),t.session})}copySession(e){return l(this,null,function*(){let t=yield this.session_AS.copySession(e);return yield this.loadSessions(),t.session})}forkSession(e){return l(this,null,function*(){let t=yield this.session_AS.copySession({sessionId:e.sessionId,name:e.name,forkUntilMessageKey:e.forkUntilMessageKey});return yield this.loadSessions(),t.session})}loadArchivedSessions(){return l(this,null,function*(){this.archivedSessionsLoading_$.set(!0);try{let e=yield this.session_AS.listArchivedSessions();return this.archivedSessions_$.set(e.sessions),e.sessions}catch(e){return d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to load archived sessions",e),this.archivedSessions_$.set([]),[]}finally{this.archivedSessionsLoading_$.set(!1)}})}setActiveSession(e){this.activeSessionId_$()!==e&&(this.activeSessionId_$.set(e),this.clearMessages(),this.pendingInteraction_$.set(null),this.activeRunExecutionMode_$.set("")),this.socket_CS.emit("session:attach",{sessionId:e})}getActiveSessionId(){return this.activeSessionId_$()}reconnectSocket(){return l(this,null,function*(){try{let e=yield this.serverStatus_AS.getStatus(),t=typeof window<"u"?window.location.origin:"",s=A.computeSocketUrlFromStatus({httpPort:e.httpPort,socketPort:e.socketPort},t),i=y.socketUrl??t;if(s!==i&&typeof window<"u"){y.socketUrl=s,d.DyFM_Log.info("CCAP_SessionDS | socketUrl changed on reconnect, reloading",s),window.location.reload();return}}catch{}this.socket_CS.reconnect()})}stopExecution(e){return l(this,null,function*(){try{return(yield this.session_AS.stopExecution(e)).success}catch(t){return d.DyFM_Error.logSimple("CCAP_Session_DS | stopExecution failed",t),!1}})}sendMessageViaSocket(e,t){return l(this,null,function*(){let s=e.trim();if(s==="/new")return{newSession:yield this.createSession(),sent:!0};let i=this.activeSessionId_$();if(!i)return{sent:!1};let g=(t?.length??0)>0;if(!s.length&&!g)return{sent:!1};let I={role:"user",content:e,timestamp:new Date},n=this.ensureClientListKey(I);this.messages_$.set([...this.messages_$(),n]);try{let c=(yield this.conversation_AS.sendMessage({sessionId:i,content:e,imageAttachments:t})).message,S=this.messages_$().map(h=>{if(h.clientListKey!==n.clientListKey)return h;let _=$({},h);return c.messageKey&&(_.messageKey=c.messageKey),c.hasTtsAudio!==void 0&&(_.hasTtsAudio=c.hasTtsAudio),_});return this.messages_$.set(S),{sent:!0}}catch(a){d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to send message via REST",a);let c=this.messages_$().filter(h=>h.clientListKey!==n.clientListKey);return this.messages_$.set(c),{sent:!1,error:a instanceof Error?a.message:"\xDCzenet k\xFCld\xE9se sikertelen."}}})}sendMessageToSession(e){return l(this,null,function*(){yield this.conversation_AS.sendMessage({sessionId:e.sessionId,content:e.content})})}sendInteractionResponse(e){this.socket_CS.emit("user-interaction:response",e),this.pendingInteraction_$.set(null)}clearMessages(){this.messages_$.set([])}setMessages(e){let s=(e??[]).map(i=>this.ensureClientListKey(i));this.messages_$.set(s)}ensureClientListKey(e){if(e.clientListKey?.trim()?.length)return e;let s=e.messageKey?.trim();return s?.length?v($({},e),{clientListKey:s}):v($({},e),{clientListKey:globalThis.crypto.randomUUID()})}setMessageTtsCached(e){let s=this.messages_$().map(i=>i.messageKey===e?v($({},i),{hasTtsAudio:!0}):i);this.messages_$.set(s)}loadMessagesForView(e){return l(this,null,function*(){this.messagesLoading_$.set(!0),this.messagesLoadError_$.set(null);try{let s=(yield this.conversation_AS.getMessages({sessionId:e,viewMode:"conversationFull"})).messages??[];return e===this.activeSessionId_$()&&this.setMessages(s),s}catch(t){return d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to load messages for view",t),this.messagesLoadError_$.set(t),[]}finally{this.messagesLoading_$.set(!1)}})}loadSessionDetail(e){return l(this,null,function*(){if(!e)return null;this.sessionDetailLoading_$.set(!0);try{let t=yield this.session_AS.getSession(e),s={session:t.session,lastRun:t.lastRun??null};return this.sessionDetailBySessionId.set(e,s),this.sessionDetailMap_$.set(new Map(this.sessionDetailBySessionId)),s}catch(t){return d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to load session detail",t),null}finally{this.sessionDetailLoading_$.set(!1)}})}getCachedSessionDetail(e){return this.sessionDetailBySessionId.get(e)??null}loadSessionInfo(e){return l(this,null,function*(){if(!e)return null;this.sessionInfoLoading_$.set(!0),this.sessionInfoLoadError_$.set(null);try{let t=yield this.session_AS.getSessionInfo(e);return this.sessionInfoBySessionId.set(e,t),this.sessionInfoMap_$.set(new Map(this.sessionInfoBySessionId)),t}catch(t){return d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to load session info",t),this.sessionInfoLoadError_$.set(t),null}finally{this.sessionInfoLoading_$.set(!1)}})}getCachedSessionInfo(e){return this.sessionInfoBySessionId.get(e)??null}fetchLlmDebugTraceEntriesForRun(e){return l(this,null,function*(){let t=e.sessionId?.trim()??"",s=e.runId?.trim()??"";if(!t||!s)return[];try{return(yield this.session_AS.getLlmDebugTrace({sessionId:t,runId:s})).entries??[]}catch{return[]}})}loadLlmDebugTrace(e){return l(this,null,function*(){let t=e.sessionId?.trim()??"",s=e.runId?.trim()??"";if(!t||!s){this.llmDebugTraceEntries_$.set([]);return}this.llmDebugTraceLoading_$.set(!0),this.llmDebugTraceLoadError_$.set(null);try{let i=yield this.session_AS.getLlmDebugTrace({sessionId:t,runId:s});this.llmDebugTraceEntries_$.set(i.entries)}catch(i){d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to load LLM debug trace",i),this.llmDebugTraceLoadError_$.set(i),this.llmDebugTraceEntries_$.set([])}finally{this.llmDebugTraceLoading_$.set(!1)}})}updateSession(e){return l(this,null,function*(){try{let t=yield this.session_AS.updateSession(e),s=e.updates.archived;return s===!0||s===!1?(yield this.loadSessions(),yield this.loadArchivedSessions()):yield this.loadSessions(),t.session}catch(t){return d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to update session",t),null}})}applyAgentEventRunExecutionModeLatch(e){let t=e.phase,s=typeof t=="string"?t.trim():"";if(s===T.analyzeResult){let i=e.runExecutionMode;if(typeof i=="string"&&i.trim()!==""){let g=r.normalizeRunExecutionModeSocketValue(i);g!==void 0&&this.activeRunExecutionMode_$.set(g)}return}(s===T.runFlowComplete||s===T.runInitialization)&&this.activeRunExecutionMode_$.set("")}static normalizeRunExecutionModeSocketValue(e){let t=e.trim(),s=[C.instant,C.agenticAny,C.ask,C.plan];for(let i of s)if(t===i)return i}ngOnDestroy(){this.monitoringEvent_S.complete(),this.eventSubscription&&(this.eventSubscription.unsubscribe(),this.eventSubscription=null),this.connectedEffectRef&&(this.connectedEffectRef.destroy(),this.connectedEffectRef=null)}static \u0275fac=function(t){return new(t||r)};static \u0275prov=E({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();export{A as a,b,Ce as c};
2
- //# sourceMappingURL=chunk-5INYPN2C.js.map
1
+ import{a as P}from"./chunk-PF4X6EZW.js";import{a as T}from"./chunk-UFBTR2BG.js";import{a as U}from"./chunk-MAJ6ZV5G.js";import{e as k}from"./chunk-2EQNUA63.js";import{G as C,I as y,p as O}from"./chunk-FLV3DZFK.js";import{C as p,a as $,aa as o,b as v,h as N,jb as M,k as l,l as L,p as u,vb as f,xb as w,y as E}from"./chunk-TBMJSIBB.js";var A=class{static computeSocketUrlFromStatus(m,e){return e}};var b=class{static toDisplayString(m){if(m==null)return"";if(typeof m=="string")return m;if(typeof m=="object"&&m!==null){let t=m;if(typeof t.message=="string"&&t.message.trim().length>0)return t.message.trim();if(typeof t.error=="string"&&t.error.trim().length>0)return t.error.trim();if(typeof t.detail=="string"&&t.detail.trim().length>0)return t.detail.trim()}let e=String(m);return e==="[object Object]"?"\u2014":e}};var d=N(O());var R=(()=>{class r{baseUrl=`${y.api.baseUrl}/session`;http=p(w);getMessages(e){return u(this.http.get(`${this.baseUrl}/${e.sessionId}/messages`,{params:{viewMode:e.viewMode}}))}sendMessage(e){return u(this.http.post(`${this.baseUrl}/${e.sessionId}/messages`,{content:e.content,imageAttachments:e.imageAttachments}))}static \u0275fac=function(t){return new(t||r)};static \u0275prov=E({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var K=(()=>{class r{baseUrl=`${y.api.baseUrl}/session`;http=p(w);peiContext_DS=p(U);currentCcapId(){return this.peiContext_DS.activeCcapId_$()}withCcapId(e){let t=this.currentCcapId();return t?e.set("ccapId",t):e}listSessions(){let e=this.withCcapId(new f);return u(this.http.get(this.baseUrl,{params:e}))}listArchivedSessions(){let e=this.withCcapId(new f);return e=e.set("archived","true"),u(this.http.get(this.baseUrl,{params:e}))}createSession(e){let t={},s=e?.name!==void 0?e.name.trim():void 0;s!==void 0&&s.length>0&&(t.name=s);let i=this.withCcapId(new f);return u(this.http.post(this.baseUrl,t,{params:i}))}getSession(e){let t=this.withCcapId(new f);return u(this.http.get(`${this.baseUrl}/${e}`,{params:t}))}updateSession(e){let t=this.withCcapId(new f);return u(this.http.patch(`${this.baseUrl}/${e.sessionId}`,e.updates,{params:t}))}getSessionInfo(e){let t=this.withCcapId(new f);return u(this.http.get(`${this.baseUrl}/${e}/session-info`,{params:t}))}copySession(e){let t={};e.name&&(t.name=e.name),e.forkUntilMessageKey&&(t.forkUntilMessageKey=e.forkUntilMessageKey);let s=this.withCcapId(new f);return u(this.http.post(`${this.baseUrl}/${e.sessionId}/copy`,t,{params:s}))}stopExecution(e){let t=this.withCcapId(new f);return u(this.http.post(`${this.baseUrl}/${e}/stop-execution`,{},{params:t}))}getLlmDebugTrace(e){let t=this.withCcapId(new f);return t=t.set("runId",e.runId),u(this.http.get(`${this.baseUrl}/${e.sessionId}/llm-debug-trace`,{params:t}))}static \u0275fac=function(t){return new(t||r)};static \u0275prov=E({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var j="answer",V="notify-user",B="agent-events",z="context:updated",H="monitoring:event",G="user-interaction:request",q="user-interaction:resolved",W="ccap_notification",Q="notification-sent",X="waiting-for-user",Ce=(()=>{class r{sessionDetailBySessionId=new Map;sessionInfoBySessionId=new Map;activeSessionId_$=o("");requestSidebarCloseOnMobileBump_$=o(0);sessions_$=o([]);sessionsLoadError_$=o(null);sessionsLoading_$=o(!1);archivedSessions_$=o([]);archivedSessionsLoading_$=o(!1);messages_$=o([]);messagesLoading_$=o(!1);messagesLoadError_$=o(null);agentEvents_$=o({});activeRunExecutionMode_$=o("");contextUpdated_$=o(null);monitoringEvent_$=o(null);monitoringEvent_S=new L;pendingInteraction_$=o(null);pendingNotification_$=o(null);sessionDetailMap_$=o(new Map);sessionDetailLoading_$=o(!1);sessionInfoMap_$=o(new Map);sessionInfoLoading_$=o(!1);sessionInfoLoadError_$=o(null);llmDebugTraceEntries_$=o([]);llmDebugTraceLoading_$=o(!1);llmDebugTraceLoadError_$=o(null);eventSubscription=null;connectedEffectRef=null;session_AS=p(K);conversation_AS=p(R);serverStatus_AS=p(P);socket_CS=p(k);get connected_$(){return this.socket_CS.connected_$}get socketStatus_$(){return this.socket_CS.status_$}get lastSocketError_$(){return this.socket_CS.lastError_$}get connectAttemptCount_$(){return this.socket_CS.connectAttemptCount_$}diagnoseConnection(){return this.socket_CS.diagnoseConnection()}constructor(){this.eventSubscription=this.socket_CS.event$.subscribe(e=>{this.handleSocketEvent(e)}),this.connectedEffectRef=M(()=>{this.socket_CS.connected_$()&&this.getActiveSessionId()&&this.socket_CS.emit("session:attach",{sessionId:this.getActiveSessionId()})})}handleSocketEvent(e){let t=e.payload??{},s=this.getActiveSessionId(),i=typeof t.channelId=="string"?t.channelId:void 0,g=typeof t.sessionId=="string"?t.sessionId:void 0,I=!i&&!g||i===s||g===s;if(e.event===j&&I){let n=typeof t.content=="string"?t.content:"",a=typeof t.timestamp=="string"?t.timestamp:new Date().toISOString(),c=typeof t.runId=="string"?t.runId:void 0,S={role:"assistant",content:n,timestamp:new Date(a)},h=c?v($({},S),{runId:c}):S,_=this.ensureClientListKey(h);this.messages_$.set([...this.messages_$(),_]);return}if(e.event===V&&I){let n=typeof t.content=="string"?t.content:"";d.DyFM_Log.info(`CCAP_SessionDS | notify-user received: ${n.substring(0,120)}\u2026`);let a=this.ensureClientListKey({role:"system",content:n,timestamp:new Date});this.messages_$.set([...this.messages_$(),a]);return}if(e.event===B){let n=typeof t.eventData=="object"&&t.eventData!==null?t.eventData:{};this.agentEvents_$.set(n),this.applyAgentEventRunExecutionModeLatch(n);let a=typeof n.toolId=="string"?n.toolId:"",c=typeof n.phase=="string"?n.phase:"";a===W&&(c===Q||c===X)?this.pendingNotification_$.set({phase:c,notificationTitle:typeof n.notificationTitle=="string"?n.notificationTitle:"",notificationType:typeof n.notificationType=="string"?n.notificationType:"",notificationPriority:typeof n.notificationPriority=="string"?n.notificationPriority:"info"}):this.pendingNotification_$()&&this.pendingNotification_$.set(null);let S=n.toolError,h=i??n.channelId,_=!h||h===s,D=b.toDisplayString(S).trim();if(D.length>0&&_){d.DyFM_Log.info(`CCAP_SessionDS | toolError from agent-events, pushing to chat: ${D.substring(0,80)}\u2026`);let F=this.ensureClientListKey({role:"system",content:D,timestamp:new Date});this.messages_$.set([...this.messages_$(),F])}return}if(e.event===z){let n=typeof t.sessionId=="string"?t.sessionId:"",a=typeof t.contextState=="object"&&t.contextState!==null?t.contextState:{};this.contextUpdated_$.set({sessionId:n,contextState:a});return}if(e.event===H){let n=typeof t.sessionId=="string"?t.sessionId:"",a=typeof t.event=="object"&&t.event!==null?t.event:{},c={sessionId:n,event:a};this.monitoringEvent_$.set(c),this.monitoringEvent_S.next(c);return}if(e.event===G&&I){this.pendingInteraction_$.set(t);return}if(e.event===q&&I){let n=typeof t.interactionId=="string"?t.interactionId:void 0;if(!n)return;this.pendingInteraction_$()?.interactionId===n&&this.pendingInteraction_$.set(null);return}}loadSessions(){return l(this,null,function*(){this.sessionsLoading_$.set(!0);try{this.sessionsLoadError_$.set(null);let e=yield this.session_AS.listSessions();return this.sessions_$.set(e.sessions),e.sessions}catch(e){return d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to load sessions",e),this.sessionsLoadError_$.set(e),[]}finally{this.sessionsLoading_$.set(!1)}})}createSession(e){return l(this,null,function*(){let t=yield this.session_AS.createSession(e);return yield this.loadSessions(),t.session})}copySession(e){return l(this,null,function*(){let t=yield this.session_AS.copySession(e);return yield this.loadSessions(),t.session})}forkSession(e){return l(this,null,function*(){let t=yield this.session_AS.copySession({sessionId:e.sessionId,name:e.name,forkUntilMessageKey:e.forkUntilMessageKey});return yield this.loadSessions(),t.session})}loadArchivedSessions(){return l(this,null,function*(){this.archivedSessionsLoading_$.set(!0);try{let e=yield this.session_AS.listArchivedSessions();return this.archivedSessions_$.set(e.sessions),e.sessions}catch(e){return d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to load archived sessions",e),this.archivedSessions_$.set([]),[]}finally{this.archivedSessionsLoading_$.set(!1)}})}setActiveSession(e){this.activeSessionId_$()!==e&&(this.activeSessionId_$.set(e),this.clearMessages(),this.pendingInteraction_$.set(null),this.activeRunExecutionMode_$.set("")),this.socket_CS.emit("session:attach",{sessionId:e})}getActiveSessionId(){return this.activeSessionId_$()}reconnectSocket(){return l(this,null,function*(){try{let e=yield this.serverStatus_AS.getStatus(),t=typeof window<"u"?window.location.origin:"",s=A.computeSocketUrlFromStatus({httpPort:e.httpPort,socketPort:e.socketPort},t),i=y.socketUrl??t;if(s!==i&&typeof window<"u"){y.socketUrl=s,d.DyFM_Log.info("CCAP_SessionDS | socketUrl changed on reconnect, reloading",s),window.location.reload();return}}catch{}this.socket_CS.reconnect()})}stopExecution(e){return l(this,null,function*(){try{return(yield this.session_AS.stopExecution(e)).success}catch(t){return d.DyFM_Error.logSimple("CCAP_Session_DS | stopExecution failed",t),!1}})}sendMessageViaSocket(e,t){return l(this,null,function*(){let s=e.trim();if(s==="/new")return{newSession:yield this.createSession(),sent:!0};let i=this.activeSessionId_$();if(!i)return{sent:!1};let g=(t?.length??0)>0;if(!s.length&&!g)return{sent:!1};let I={role:"user",content:e,timestamp:new Date},n=this.ensureClientListKey(I);this.messages_$.set([...this.messages_$(),n]);try{let c=(yield this.conversation_AS.sendMessage({sessionId:i,content:e,imageAttachments:t})).message,S=this.messages_$().map(h=>{if(h.clientListKey!==n.clientListKey)return h;let _=$({},h);return c.messageKey&&(_.messageKey=c.messageKey),c.hasTtsAudio!==void 0&&(_.hasTtsAudio=c.hasTtsAudio),_});return this.messages_$.set(S),{sent:!0}}catch(a){d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to send message via REST",a);let c=this.messages_$().filter(h=>h.clientListKey!==n.clientListKey);return this.messages_$.set(c),{sent:!1,error:a instanceof Error?a.message:"\xDCzenet k\xFCld\xE9se sikertelen."}}})}sendMessageToSession(e){return l(this,null,function*(){yield this.conversation_AS.sendMessage({sessionId:e.sessionId,content:e.content})})}sendInteractionResponse(e){this.socket_CS.emit("user-interaction:response",e),this.pendingInteraction_$.set(null)}clearMessages(){this.messages_$.set([])}setMessages(e){let s=(e??[]).map(i=>this.ensureClientListKey(i));this.messages_$.set(s)}ensureClientListKey(e){if(e.clientListKey?.trim()?.length)return e;let s=e.messageKey?.trim();return s?.length?v($({},e),{clientListKey:s}):v($({},e),{clientListKey:globalThis.crypto.randomUUID()})}setMessageTtsCached(e){let s=this.messages_$().map(i=>i.messageKey===e?v($({},i),{hasTtsAudio:!0}):i);this.messages_$.set(s)}loadMessagesForView(e){return l(this,null,function*(){this.messagesLoading_$.set(!0),this.messagesLoadError_$.set(null);try{let s=(yield this.conversation_AS.getMessages({sessionId:e,viewMode:"conversationFull"})).messages??[];return e===this.activeSessionId_$()&&this.setMessages(s),s}catch(t){return d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to load messages for view",t),this.messagesLoadError_$.set(t),[]}finally{this.messagesLoading_$.set(!1)}})}loadSessionDetail(e){return l(this,null,function*(){if(!e)return null;this.sessionDetailLoading_$.set(!0);try{let t=yield this.session_AS.getSession(e),s={session:t.session,lastRun:t.lastRun??null};return this.sessionDetailBySessionId.set(e,s),this.sessionDetailMap_$.set(new Map(this.sessionDetailBySessionId)),s}catch(t){return d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to load session detail",t),null}finally{this.sessionDetailLoading_$.set(!1)}})}getCachedSessionDetail(e){return this.sessionDetailBySessionId.get(e)??null}loadSessionInfo(e){return l(this,null,function*(){if(!e)return null;this.sessionInfoLoading_$.set(!0),this.sessionInfoLoadError_$.set(null);try{let t=yield this.session_AS.getSessionInfo(e);return this.sessionInfoBySessionId.set(e,t),this.sessionInfoMap_$.set(new Map(this.sessionInfoBySessionId)),t}catch(t){return d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to load session info",t),this.sessionInfoLoadError_$.set(t),null}finally{this.sessionInfoLoading_$.set(!1)}})}getCachedSessionInfo(e){return this.sessionInfoBySessionId.get(e)??null}fetchLlmDebugTraceEntriesForRun(e){return l(this,null,function*(){let t=e.sessionId?.trim()??"",s=e.runId?.trim()??"";if(!t||!s)return[];try{return(yield this.session_AS.getLlmDebugTrace({sessionId:t,runId:s})).entries??[]}catch{return[]}})}loadLlmDebugTrace(e){return l(this,null,function*(){let t=e.sessionId?.trim()??"",s=e.runId?.trim()??"";if(!t||!s){this.llmDebugTraceEntries_$.set([]);return}this.llmDebugTraceLoading_$.set(!0),this.llmDebugTraceLoadError_$.set(null);try{let i=yield this.session_AS.getLlmDebugTrace({sessionId:t,runId:s});this.llmDebugTraceEntries_$.set(i.entries)}catch(i){d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to load LLM debug trace",i),this.llmDebugTraceLoadError_$.set(i),this.llmDebugTraceEntries_$.set([])}finally{this.llmDebugTraceLoading_$.set(!1)}})}updateSession(e){return l(this,null,function*(){try{let t=yield this.session_AS.updateSession(e),s=e.updates.archived;return s===!0||s===!1?(yield this.loadSessions(),yield this.loadArchivedSessions()):yield this.loadSessions(),t.session}catch(t){return d.DyFM_Error.logSimple("CCAP_SessionDS | Failed to update session",t),null}})}applyAgentEventRunExecutionModeLatch(e){let t=e.phase,s=typeof t=="string"?t.trim():"";if(s===T.analyzeResult){let i=e.runExecutionMode;if(typeof i=="string"&&i.trim()!==""){let g=r.normalizeRunExecutionModeSocketValue(i);g!==void 0&&this.activeRunExecutionMode_$.set(g)}return}(s===T.runFlowComplete||s===T.runInitialization)&&this.activeRunExecutionMode_$.set("")}static normalizeRunExecutionModeSocketValue(e){let t=e.trim(),s=[C.instant,C.agenticAny,C.ask,C.plan];for(let i of s)if(t===i)return i}ngOnDestroy(){this.monitoringEvent_S.complete(),this.eventSubscription&&(this.eventSubscription.unsubscribe(),this.eventSubscription=null),this.connectedEffectRef&&(this.connectedEffectRef.destroy(),this.connectedEffectRef=null)}static \u0275fac=function(t){return new(t||r)};static \u0275prov=E({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();export{A as a,b,Ce as c};
2
+ //# sourceMappingURL=chunk-T4RST354.js.map
@@ -1,2 +1,2 @@
1
- import{f as l}from"./chunk-XOIUB2XG.js";import{N as p}from"./chunk-DT745Z7F.js";import{C as i,aa as n,k as o,y as c}from"./chunk-TBMJSIBB.js";var d=(()=>{class a{settingsGeneral_DS=i(p);pm_AS=i(l);workspacePathPickerOptions_$=n([]);refreshWorkspacePathPickerOptions(){return o(this,null,function*(){yield this.settingsGeneral_DS.loadDefaultWorkspacePath();let t=this.settingsGeneral_DS.defaultWorkspacePath_$().trim(),e=[];t&&e.push({label:"Default Workspace",path:t}),this.workspacePathPickerOptions_$.set(e);try{let f=(yield this.pm_AS.listProjects()).projects.filter(s=>!!s.localPath&&!!s.isActive).map(s=>({label:s.name||"Unnamed Project",path:s.localPath??""})),r=[];t&&r.push({label:"Default Workspace",path:t}),r.push(...f),this.workspacePathPickerOptions_$.set(r)}catch{}})}resolveInitialWorkspacePath(t){let e=this.settingsGeneral_DS.defaultWorkspacePath_$().trim();return t.lastWorkspacePath.trim()||e}static \u0275fac=function(e){return new(e||a)};static \u0275prov=c({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();export{d as a};
2
- //# sourceMappingURL=chunk-7YQUK6YP.js.map
1
+ import{f as l}from"./chunk-FIZNVKIB.js";import{N as p}from"./chunk-FLV3DZFK.js";import{C as i,aa as n,k as o,y as c}from"./chunk-TBMJSIBB.js";var d=(()=>{class a{settingsGeneral_DS=i(p);pm_AS=i(l);workspacePathPickerOptions_$=n([]);refreshWorkspacePathPickerOptions(){return o(this,null,function*(){yield this.settingsGeneral_DS.loadDefaultWorkspacePath();let t=this.settingsGeneral_DS.defaultWorkspacePath_$().trim(),e=[];t&&e.push({label:"Default Workspace",path:t}),this.workspacePathPickerOptions_$.set(e);try{let f=(yield this.pm_AS.listProjects()).projects.filter(s=>!!s.localPath&&!!s.isActive).map(s=>({label:s.name||"Unnamed Project",path:s.localPath??""})),r=[];t&&r.push({label:"Default Workspace",path:t}),r.push(...f),this.workspacePathPickerOptions_$.set(r)}catch{}})}resolveInitialWorkspacePath(t){let e=this.settingsGeneral_DS.defaultWorkspacePath_$().trim();return t.lastWorkspacePath.trim()||e}static \u0275fac=function(e){return new(e||a)};static \u0275prov=c({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();export{d as a};
2
+ //# sourceMappingURL=chunk-UIBU3OVP.js.map
@@ -1,2 +1,2 @@
1
- import{I as d}from"./chunk-DT745Z7F.js";import{C as o,p as n,xb as l,y as s}from"./chunk-TBMJSIBB.js";var p=(()=>{class r{baseUrl=`${d.api.baseUrl}/model-registry`;http=o(l);getList(e){let t=new URLSearchParams;e?.provider!==void 0&&e.provider.trim()!==""&&t.set("provider",e.provider.trim()),e?.modelName!==void 0&&e.modelName.trim()!==""&&t.set("modelName",e.modelName.trim()),e?.enabled===!0?t.set("enabled","true"):e?.enabled===!1&&t.set("enabled","false"),e?.inactiveProviderOnly===!0&&t.set("inactiveProviderOnly","true");let i=t.toString(),u=`${this.baseUrl}/list${i!==""?`?${i}`:""}`;return n(this.http.get(u))}sync(){return n(this.http.post(`${this.baseUrl}/sync`,{}))}setEnabled(e,t){return n(this.http.patch(`${this.baseUrl}/patch/${encodeURIComponent(e)}`,{enabled:t}))}patchEntry(e,t){let i={};return t.enabled!==void 0&&(i.enabled=t.enabled),t.reasoningLevelForTest!==void 0&&(i.reasoningLevelForTest=t.reasoningLevelForTest),t.capabilities!==void 0&&(i.capabilities=t.capabilities),n(this.http.patch(`${this.baseUrl}/patch/${encodeURIComponent(e)}`,i))}bulkSetEnabled(e,t){return n(this.http.patch(`${this.baseUrl}/bulk-enabled`,{ids:e,enabled:t}))}deleteEntry(e){return n(this.http.delete(`${this.baseUrl}/entry/${encodeURIComponent(e)}`))}deleteEntries(e){return n(this.http.post(`${this.baseUrl}/delete-entries`,{ids:e}))}getTestResults(e){let t=new URLSearchParams;e.provider&&t.set("provider",e.provider),e.model&&t.set("model",e.model),e.limit!==void 0&&t.set("limit",String(e.limit)),e.reasoningLevel!==void 0&&e.reasoningLevel.trim()!==""&&t.set("reasoningLevel",e.reasoningLevel.trim());let i=t.toString();return n(this.http.get(`${this.baseUrl}/test-results${i?`?${i}`:""}`))}getPrompts(){return n(this.http.get(`${this.baseUrl}/prompts`))}startTestRun(e,t){let i={modelIds:e};return t!==void 0&&t.length>0&&(i.promptIds=t),n(this.http.post(`${this.baseUrl}/test-run`,i))}getTestRunStatus(e){return n(this.http.get(`${this.baseUrl}/test-run/${e}`))}static \u0275fac=function(t){return new(t||r)};static \u0275prov=s({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();export{p as a};
2
- //# sourceMappingURL=chunk-HRNON54R.js.map
1
+ import{I as d}from"./chunk-FLV3DZFK.js";import{C as o,p as n,xb as l,y as s}from"./chunk-TBMJSIBB.js";var p=(()=>{class r{baseUrl=`${d.api.baseUrl}/model-registry`;http=o(l);getList(e){let t=new URLSearchParams;e?.provider!==void 0&&e.provider.trim()!==""&&t.set("provider",e.provider.trim()),e?.modelName!==void 0&&e.modelName.trim()!==""&&t.set("modelName",e.modelName.trim()),e?.enabled===!0?t.set("enabled","true"):e?.enabled===!1&&t.set("enabled","false"),e?.inactiveProviderOnly===!0&&t.set("inactiveProviderOnly","true");let i=t.toString(),u=`${this.baseUrl}/list${i!==""?`?${i}`:""}`;return n(this.http.get(u))}sync(){return n(this.http.post(`${this.baseUrl}/sync`,{}))}setEnabled(e,t){return n(this.http.patch(`${this.baseUrl}/patch/${encodeURIComponent(e)}`,{enabled:t}))}patchEntry(e,t){let i={};return t.enabled!==void 0&&(i.enabled=t.enabled),t.reasoningLevelForTest!==void 0&&(i.reasoningLevelForTest=t.reasoningLevelForTest),t.capabilities!==void 0&&(i.capabilities=t.capabilities),n(this.http.patch(`${this.baseUrl}/patch/${encodeURIComponent(e)}`,i))}bulkSetEnabled(e,t){return n(this.http.patch(`${this.baseUrl}/bulk-enabled`,{ids:e,enabled:t}))}deleteEntry(e){return n(this.http.delete(`${this.baseUrl}/entry/${encodeURIComponent(e)}`))}deleteEntries(e){return n(this.http.post(`${this.baseUrl}/delete-entries`,{ids:e}))}getTestResults(e){let t=new URLSearchParams;e.provider&&t.set("provider",e.provider),e.model&&t.set("model",e.model),e.limit!==void 0&&t.set("limit",String(e.limit)),e.reasoningLevel!==void 0&&e.reasoningLevel.trim()!==""&&t.set("reasoningLevel",e.reasoningLevel.trim());let i=t.toString();return n(this.http.get(`${this.baseUrl}/test-results${i?`?${i}`:""}`))}getPrompts(){return n(this.http.get(`${this.baseUrl}/prompts`))}startTestRun(e,t){let i={modelIds:e};return t!==void 0&&t.length>0&&(i.promptIds=t),n(this.http.post(`${this.baseUrl}/test-run`,i))}getTestRunStatus(e){return n(this.http.get(`${this.baseUrl}/test-run/${e}`))}static \u0275fac=function(t){return new(t||r)};static \u0275prov=s({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();export{p as a};
2
+ //# sourceMappingURL=chunk-UOR473MY.js.map
@@ -1,2 +1,2 @@
1
- import{b as a}from"./chunk-NOIROTD2.js";var f=class{static extract(t){if(t.toolName)return t.toolName;if(t.rawData){let s=t.rawData.name??t.rawData.tool_name??t.rawData.last_tool_name;if(typeof s=="string")return s}let o=t.bodyText.indexOf(":");return o>0?t.bodyText.substring(0,o).trim():t.bodyText.trim()}};var b=class e{static DEFAULT_GROUPABLE_TOOLS=new Set(["Read","Bash","Grep","Glob"]);static DEFAULT_MIN_GROUP_SIZE=2;static groupSubAgentItems(t,o){let s=new Map;for(let r=0;r<t.length;r++){let n=t[r];if(n.kind===a.tool&&n.toolName==="Agent"){let i=e.resolveAgentId(n);i&&s.set(i,{item:n,index:r})}}if(!s.size)return t;let c=new Map,d=new Set;for(let r=0;r<t.length;r++){let n=t[r];if(n.parentAgentId&&s.has(n.parentAgentId)){let i=c.get(n.parentAgentId)??[];i.push(n),c.set(n.parentAgentId,i),d.add(r)}}let l=[];for(let r=0;r<t.length;r++){if(d.has(r))continue;let n=t[r];if(n.kind===a.tool&&n.toolName==="Agent"){let i=e.resolveAgentId(n),p=c.get(i)??[],g=[n,...p],I=e.buildSubAgentLabel(n),A=e.extractSubagentType(n),y=e.groupConsecutiveToolItems(g,o);l.push({listKey:e.newListKey(),kind:a.subAgentGroup,bodyText:I,groupItems:y,groupToolName:A||"Agent",rawData:n.rawData})}else l.push(n)}return l}static groupConsecutiveToolItems(t,o){let s=o?.groupableTools??e.DEFAULT_GROUPABLE_TOOLS,c=o?.minGroupSize??e.DEFAULT_MIN_GROUP_SIZE,d=[],l=[],r="",n=()=>{if(!l.length)return;let i=l.filter(p=>p.kind===a.tool).length;i>=c?d.push({listKey:e.newListKey(),kind:a.toolGroup,bodyText:`${r} \xD7 ${i}`,groupItems:l,groupToolName:r}):d.push(...l),l=[],r=""};for(let i of t){if(i.kind===a.tool){let p=f.extract(i);if(s.has(p)){r&&r!==p&&n(),r=p,l.push(i);continue}}if(i.kind===a.toolResult&&l.length){l.push(i);continue}n(),d.push(i)}return n(),d}static resolveAgentId(t){return t.toolCallId?t.toolCallId:t.rawData&&typeof t.rawData.id=="string"?t.rawData.id:""}static extractSubagentType(t){let o=t.rawData?.input;if(!o||typeof o!="object")return"";let s=o.subagent_type;return typeof s=="string"?s:""}static extractDescription(t){let o=t.rawData?.input;if(!o||typeof o!="object")return"";let s=o.description;return typeof s=="string"?s:""}static buildSubAgentLabel(t){let o=e.extractSubagentType(t),s=e.extractDescription(t);return o?`${o}: ${s||"..."}`:s||"Sub-agent"}static newListKey(){return globalThis.crypto.randomUUID()}};var u=function(e){return e.user="user",e.assistant="assistant",e.tool="tool",e.toolResult="tool-result",e.status="status",e.error="error",e.info="info",e.result="result",e.thinking="thinking",e.statusUpdate="status-update",e}(u||{});var h=class e{static fromAssembledMessage(t,o){let s=e.mapRoleToKind(t.messageRole),c=t.toolResult?{text:t.toolResult.text,expandableContent:t.toolResult.expandableContent,rawData:t.toolResult.rawData,isError:t.toolResult.isError}:void 0,d=t.messageRole===u.tool&&t.toolName==="Edit"&&!!t.expandableContent;return{listKey:t.messageKey,kind:s,bodyText:t.bodyText,timestampIso:t.timestamp,toolName:t.toolName,expandableContent:t.expandableContent,pairedResult:c,rawData:t.rawData,subtype:t.subtype,isUserAligned:t.isUserAligned,headerStatusDot:t.headerStatusDot==="error"?"error":void 0,flags:{showCopy:!0,showRawInfo:!0,useEditDiffForExpandable:d},tts:e.buildTts(t,o),toolCallId:t.toolCallId,parentAgentId:t.parentAgentId}}static buildTts(t,o){if(!(!o||!(t.messageRole===u.user||t.messageRole===u.assistant)||!t.bodyText.trim().length))return{messageKey:t.messageKey,sessionId:o.sessionId,role:t.messageRole,content:t.bodyText,timestampIso:t.timestamp,hasTtsAudio:o.cachedKeys.has(t.messageKey)}}static mapRoleToKind(t){switch(t){case u.user:return a.userPrompt;case u.assistant:return a.assistant;case u.tool:return a.tool;case u.toolResult:return a.toolResult;case u.status:return a.status;case u.error:return a.error;case u.info:return a.info;case u.result:return a.result;case u.thinking:return a.thinking;case u.statusUpdate:return a.statusUpdate;default:return a.info}}};export{b as a,h as b};
2
- //# sourceMappingURL=chunk-MHFOCE7C.js.map
1
+ import{b as a}from"./chunk-H4OQI5J3.js";var f=class{static extract(t){if(t.toolName)return t.toolName;if(t.rawData){let s=t.rawData.name??t.rawData.tool_name??t.rawData.last_tool_name;if(typeof s=="string")return s}let o=t.bodyText.indexOf(":");return o>0?t.bodyText.substring(0,o).trim():t.bodyText.trim()}};var b=class e{static DEFAULT_GROUPABLE_TOOLS=new Set(["Read","Bash","Grep","Glob"]);static DEFAULT_MIN_GROUP_SIZE=2;static groupSubAgentItems(t,o){let s=new Map;for(let r=0;r<t.length;r++){let n=t[r];if(n.kind===a.tool&&n.toolName==="Agent"){let i=e.resolveAgentId(n);i&&s.set(i,{item:n,index:r})}}if(!s.size)return t;let c=new Map,d=new Set;for(let r=0;r<t.length;r++){let n=t[r];if(n.parentAgentId&&s.has(n.parentAgentId)){let i=c.get(n.parentAgentId)??[];i.push(n),c.set(n.parentAgentId,i),d.add(r)}}let l=[];for(let r=0;r<t.length;r++){if(d.has(r))continue;let n=t[r];if(n.kind===a.tool&&n.toolName==="Agent"){let i=e.resolveAgentId(n),p=c.get(i)??[],g=[n,...p],I=e.buildSubAgentLabel(n),A=e.extractSubagentType(n),y=e.groupConsecutiveToolItems(g,o);l.push({listKey:e.newListKey(),kind:a.subAgentGroup,bodyText:I,groupItems:y,groupToolName:A||"Agent",rawData:n.rawData})}else l.push(n)}return l}static groupConsecutiveToolItems(t,o){let s=o?.groupableTools??e.DEFAULT_GROUPABLE_TOOLS,c=o?.minGroupSize??e.DEFAULT_MIN_GROUP_SIZE,d=[],l=[],r="",n=()=>{if(!l.length)return;let i=l.filter(p=>p.kind===a.tool).length;i>=c?d.push({listKey:e.newListKey(),kind:a.toolGroup,bodyText:`${r} \xD7 ${i}`,groupItems:l,groupToolName:r}):d.push(...l),l=[],r=""};for(let i of t){if(i.kind===a.tool){let p=f.extract(i);if(s.has(p)){r&&r!==p&&n(),r=p,l.push(i);continue}}if(i.kind===a.toolResult&&l.length){l.push(i);continue}n(),d.push(i)}return n(),d}static resolveAgentId(t){return t.toolCallId?t.toolCallId:t.rawData&&typeof t.rawData.id=="string"?t.rawData.id:""}static extractSubagentType(t){let o=t.rawData?.input;if(!o||typeof o!="object")return"";let s=o.subagent_type;return typeof s=="string"?s:""}static extractDescription(t){let o=t.rawData?.input;if(!o||typeof o!="object")return"";let s=o.description;return typeof s=="string"?s:""}static buildSubAgentLabel(t){let o=e.extractSubagentType(t),s=e.extractDescription(t);return o?`${o}: ${s||"..."}`:s||"Sub-agent"}static newListKey(){return globalThis.crypto.randomUUID()}};var u=function(e){return e.user="user",e.assistant="assistant",e.tool="tool",e.toolResult="tool-result",e.status="status",e.error="error",e.info="info",e.result="result",e.thinking="thinking",e.statusUpdate="status-update",e}(u||{});var h=class e{static fromAssembledMessage(t,o){let s=e.mapRoleToKind(t.messageRole),c=t.toolResult?{text:t.toolResult.text,expandableContent:t.toolResult.expandableContent,rawData:t.toolResult.rawData,isError:t.toolResult.isError}:void 0,d=t.messageRole===u.tool&&t.toolName==="Edit"&&!!t.expandableContent;return{listKey:t.messageKey,kind:s,bodyText:t.bodyText,timestampIso:t.timestamp,toolName:t.toolName,expandableContent:t.expandableContent,pairedResult:c,rawData:t.rawData,subtype:t.subtype,isUserAligned:t.isUserAligned,headerStatusDot:t.headerStatusDot==="error"?"error":void 0,flags:{showCopy:!0,showRawInfo:!0,useEditDiffForExpandable:d},tts:e.buildTts(t,o),toolCallId:t.toolCallId,parentAgentId:t.parentAgentId}}static buildTts(t,o){if(!(!o||!(t.messageRole===u.user||t.messageRole===u.assistant)||!t.bodyText.trim().length))return{messageKey:t.messageKey,sessionId:o.sessionId,role:t.messageRole,content:t.bodyText,timestampIso:t.timestamp,hasTtsAudio:o.cachedKeys.has(t.messageKey)}}static mapRoleToKind(t){switch(t){case u.user:return a.userPrompt;case u.assistant:return a.assistant;case u.tool:return a.tool;case u.toolResult:return a.toolResult;case u.status:return a.status;case u.error:return a.error;case u.info:return a.info;case u.result:return a.result;case u.thinking:return a.thinking;case u.statusUpdate:return a.statusUpdate;default:return a.info}}};export{b as a,h as b};
2
+ //# sourceMappingURL=chunk-UQXHY37I.js.map
@@ -1,2 +1,2 @@
1
- import{a as E}from"./chunk-HRNON54R.js";import{a as I}from"./chunk-VYDVZ5UI.js";import{e as v}from"./chunk-ZPYIQBC2.js";import{L,p as F,t as k,w as c}from"./chunk-DT745Z7F.js";import{C as $,a as _,aa as i,b as S,h as A,hb as T,k as o,y as P}from"./chunk-TBMJSIBB.js";var a=A(F());var D="model-test-run-progress",w="model-test-result-saved",M=5e3,q=(()=>{class d{runPollingInterval=null;modelTestRunProgressSocketSub=null;modelTestResultSavedSocketSub=null;lastListFilters=void 0;list_$=i([]);listLoading_$=i(!1);listLoadError_$=i(null);registryProviderIds_$=i([]);selectedEntryId_$=i("");entryDetail_$=i(null);entryDetailLoading_$=i(!1);entryDetailNotFound_$=i(!1);entryDetailLoadError_$=i(null);prompts_$=i([]);promptsLoading_$=i(!1);results_$=i([]);testRunId_$=i("");testRunStatus_$=i(null);testRunPollingActive_$=i(!1);testRunError_$=i(null);testRunSelectedModelIds_$=i([]);testRunPanelDismissed_$=i(!1);testRunPanelVisible_$=T(()=>{let t=this.testRunId_$(),e=this.testRunStatus_$();return!(!t||e==null||this.testRunPanelDismissed_$())});setupConfigForRegistry_$=i(null);syncing_$=i(!1);modelTestRunProgressCurrentTask_$=i(null);modelRegistry_AS=$(E);settings_AS=$(L);socket_CS=$(v);ngOnDestroy(){this.stopRunPolling(),this.stopModelTestRunProgressSocket(),this.stopModelTestResultSavedSocket()}loadList(t){return o(this,null,function*(){t!==void 0&&(this.lastListFilters=t),this.listLoading_$.set(!0),this.listLoadError_$.set(null);try{let s=(yield this.modelRegistry_AS.getList(t)).list??[];return this.list_$.set(s),s}catch(e){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | Failed to load list",e),this.listLoadError_$.set(e),[]}finally{this.listLoading_$.set(!1)}})}loadRegistryProviderIdsUnfiltered(){return o(this,null,function*(){try{let e=(yield this.modelRegistry_AS.getList({})).list??[],s=d.collectSortedUniqueProviderIds(e);this.registryProviderIds_$.set(s)}catch(t){a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | Failed to load registry provider ids for filter UI (unfiltered list)",t)}})}deleteRegistryEntry(t){return o(this,null,function*(){this.listLoadError_$.set(null);try{return yield this.modelRegistry_AS.deleteEntry(t),yield this.loadList(this.lastListFilters),yield this.loadRegistryProviderIdsUnfiltered(),!0}catch(e){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | deleteRegistryEntry failed",e),this.listLoadError_$.set(e),!1}})}deleteRegistryEntries(t){return o(this,null,function*(){this.listLoadError_$.set(null);try{let e=yield this.modelRegistry_AS.deleteEntries(t);return yield this.loadList(this.lastListFilters),yield this.loadRegistryProviderIdsUnfiltered(),e}catch(e){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | deleteRegistryEntries failed",e),this.listLoadError_$.set(e),null}})}static collectSortedUniqueProviderIds(t){let e=t.map(s=>s.provider??"").filter(s=>s!=="");return[...new Set(e)].sort()}setSelectedEntryId(t){this.selectedEntryId_$.set(t??"")}loadEntry(t){return o(this,null,function*(){this.entryDetailLoading_$.set(!0),this.entryDetailNotFound_$.set(!1),this.entryDetailLoadError_$.set(null),this.selectedEntryId_$()!==t&&(this.entryDetail_$.set(null),this.results_$.set([]));try{let r=((yield this.modelRegistry_AS.getList(this.lastListFilters)).list??[]).find(f=>f.id===t);if(!r)return this.entryDetail_$.set(null),this.entryDetailNotFound_$.set(!0),null;this.entryDetail_$.set(r);let n=r.reasoningLevelForTest?.trim()||"none",l=yield this.modelRegistry_AS.getTestResults({provider:r.provider,model:r.modelName,limit:200,reasoningLevel:n});return this.results_$.set(l.results??[]),r}catch(e){a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | Failed to load entry",e);let s=e instanceof Error?e.message:String(e);return this.entryDetailLoadError_$.set(s),this.selectedEntryId_$()===t&&this.entryDetail_$.set(null),null}finally{this.entryDetailLoading_$.set(!1)}})}loadPrompts(){return o(this,null,function*(){this.promptsLoading_$.set(!0);try{let e=(yield this.modelRegistry_AS.getPrompts()).prompts??[];return this.prompts_$.set(e),e}catch(t){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | Failed to load prompts",t),this.prompts_$.set([]),[]}finally{this.promptsLoading_$.set(!1)}})}loadResults(t,e,s){return o(this,null,function*(){try{let n=(yield this.modelRegistry_AS.getTestResults({provider:t,model:e,limit:200,reasoningLevel:s})).results??[];return this.results_$.set(n),n}catch(r){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | Failed to load results",r),[]}})}sync(){return o(this,null,function*(){this.syncing_$.set(!0),this.listLoadError_$.set(null);try{let t=yield this.modelRegistry_AS.sync();return yield Promise.all([this.loadSetupConfigForRegistry(),this.loadList(this.lastListFilters),this.loadRegistryProviderIdsUnfiltered()]),t}catch(t){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | Sync failed",t),this.listLoadError_$.set(t),null}finally{this.syncing_$.set(!1)}})}setEnabled(t,e){return o(this,null,function*(){this.listLoadError_$.set(null);try{return yield this.modelRegistry_AS.setEnabled(t,e),yield this.loadList(this.lastListFilters),!0}catch(s){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | setEnabled failed",s),this.listLoadError_$.set(s),!1}})}patchEntry(t,e){return o(this,null,function*(){this.listLoadError_$.set(null);let s=this.selectedEntryId_$()===t,r=this.entryDetail_$();if(s&&r&&e.reasoningLevelForTest!==void 0&&this.entryDetail_$.update(n=>n?S(_({},n),{reasoningLevelForTest:e.reasoningLevelForTest}):null),s&&r&&e.enabled!==void 0){let n=e.enabled;this.entryDetail_$.update(l=>l?S(_({},l),{enabled:n}):null)}s&&r&&e.capabilities!==void 0&&this.entryDetail_$.update(n=>n?S(_({},n),{capabilities:e.capabilities}):null);try{return yield this.modelRegistry_AS.patchEntry(t,e),yield this.loadList(this.lastListFilters),s&&(e.reasoningLevelForTest!==void 0&&e.enabled===void 0&&e.capabilities===void 0||(yield this.loadEntry(t))),!0}catch(n){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | patchEntry failed",n),this.listLoadError_$.set(n),s&&this.entryDetail_$()&&this.loadEntry(t),!1}})}setReasoningLevelForTest(t,e){return o(this,null,function*(){return this.patchEntry(t,{reasoningLevelForTest:e})})}bulkSetEnabled(t,e){return o(this,null,function*(){this.listLoadError_$.set(null);try{let s=yield this.modelRegistry_AS.bulkSetEnabled(t,e);return yield this.loadList(this.lastListFilters),s.updated}catch(s){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | bulkSetEnabled failed",s),this.listLoadError_$.set(s),null}})}startTestRun(t,e){return o(this,null,function*(){this.testRunError_$.set(null);try{let s=yield this.modelRegistry_AS.startTestRun(t,e);return this.testRunPanelDismissed_$.set(!1),this.testRunSelectedModelIds_$.set([...t]),this.testRunId_$.set(s.runId),this.testRunStatus_$.set({runId:s.runId,status:c.pending,results:[]}),this.startModelTestRunProgressSocket(),this.startModelTestResultSavedSocket(),this.startRunPolling(s.runId),s.runId}catch(s){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | startTestRun failed",s),this.testRunError_$.set(s),null}})}startRunPolling(t){this.clearRunPollingIntervalOnly(),this.testRunPollingActive_$.set(!0);let e=M;this.runPollingInterval=setInterval(()=>{this.pollRunStatus(t)},e),this.pollRunStatus(t)}clearRunPollingIntervalOnly(){this.runPollingInterval&&(clearInterval(this.runPollingInterval),this.runPollingInterval=null)}stopRunPolling(){this.clearRunPollingIntervalOnly(),this.testRunPollingActive_$.set(!1),this.testRunId_$.set(""),this.testRunStatus_$.set(null),this.testRunError_$.set(null),this.modelTestRunProgressCurrentTask_$.set(null),this.testRunSelectedModelIds_$.set([]),this.testRunPanelDismissed_$.set(!1)}dismissTestRunPanel(){this.testRunPanelDismissed_$.set(!0)}pollRunStatus(t){return o(this,null,function*(){try{let e=yield this.modelRegistry_AS.getTestRunStatus(t);this.testRunStatus_$.set(e),(e.status==="completed"||e.status==="failed")&&(this.clearRunPollingIntervalOnly(),this.testRunPollingActive_$.set(!1))}catch(e){this.testRunError_$.set(e),this.clearRunPollingIntervalOnly(),this.testRunPollingActive_$.set(!1)}})}startModelTestRunProgressSocket(){this.modelTestRunProgressSocketSub||(this.modelTestRunProgressSocketSub=this.socket_CS.event$.subscribe(t=>{if(t.event!=="user-notification")return;let e=t.payload??{};if(e.type!==D)return;let s=e.runId,r=e.status,n=e.current,l=e.total,f=e.currentTask,m=e.error,u=e.failedTask,g=e.errorDetails;this.setTestRunProgressFromSocket({runId:typeof s=="string"?s:void 0,status:typeof r=="string"?r:void 0,current:typeof n=="number"?n:void 0,total:typeof l=="number"?l:void 0,currentTask:f,error:typeof m=="string"?m:void 0,failedTask:u,errorDetails:g})}))}stopModelTestRunProgressSocket(){this.modelTestRunProgressSocketSub&&(this.modelTestRunProgressSocketSub.unsubscribe(),this.modelTestRunProgressSocketSub=null)}startModelTestResultSavedSocket(){this.modelTestResultSavedSocketSub||(this.modelTestResultSavedSocketSub=this.socket_CS.event$.subscribe(t=>{if(t.event!=="user-notification")return;let e=t.payload??{};e.type===w&&this.mergeResultFromSocket(e)}))}stopModelTestResultSavedSocket(){this.modelTestResultSavedSocketSub&&(this.modelTestResultSavedSocketSub.unsubscribe(),this.modelTestResultSavedSocketSub=null)}mergeResultFromSocket(t){let e=this.testRunId_$();if(!e||t.runId!==e)return;let s=this.testRunStatus_$();if(!s)return;let r=d.parseResultItemFromSocket(t);if(!r)return;let n=R=>`${R.provider}|${R.model}|${R.promptId}|${R.reasoningLevel??"none"}`,l=n(r),m=[...s.results.filter(R=>n(R)!==l),r],u=t.current,g=t.total,h=typeof u=="number"?u:s.progress?.current,y=typeof g=="number"?g:s.progress?.total;this.testRunStatus_$.set(S(_({},s),{results:m,progress:typeof y=="number"&&y>0&&typeof h=="number"?{current:Math.max(h,s.progress?.current??0),total:y}:s.progress}));let p=this.entryDetail_$();if(p&&r.provider===p.provider&&r.model===p.modelName){let b=this.results_$().filter(C=>n(C)!==l);this.results_$.set([r,...b])}}static parseResultItemFromSocket(t){let e=t.provider,s=t.model,r=t.promptId,n=t.score;return typeof e!="string"||typeof s!="string"||typeof r!="string"?null:{provider:e,model:s,promptId:r,reasoningLevel:typeof t.reasoningLevel=="string"?t.reasoningLevel:void 0,score:typeof n=="number"?n:0,analysis:typeof t.analysis=="string"?t.analysis:void 0,promptText:typeof t.promptText=="string"?t.promptText:void 0,modelOutput:typeof t.modelOutput=="string"?t.modelOutput:void 0,thinking:typeof t.thinking=="string"?t.thinking:void 0,generationTimeMs:typeof t.generationTimeMs=="number"?t.generationTimeMs:void 0,analyzerProvider:typeof t.analyzerProvider=="string"?t.analyzerProvider:void 0,analyzerModel:typeof t.analyzerModel=="string"?t.analyzerModel:void 0,inputTokens:typeof t.inputTokens=="number"?t.inputTokens:void 0,outputTokens:typeof t.outputTokens=="number"?t.outputTokens:void 0,thinkingTokens:typeof t.thinkingTokens=="number"?t.thinkingTokens:void 0,createdAt:typeof t.createdAt=="string"?t.createdAt:void 0}}setTestRunProgressFromSocket(t){let e=this.testRunId_$();if(!e||t.runId!==e)return;let s=this.testRunStatus_$();if(!s)return;let r=d.parseRunStatusFromSocket(t.status,s.status),n=d.parseFailedTaskFromSocketPayload(t.failedTask),l=d.parseErrorDetailsFromSocketPayload(t.errorDetails),f=t.error!==void 0?t.error:s.error;this.testRunStatus_$.set(S(_({},s),{status:r,progress:typeof t.total=="number"&&t.total>0?{current:t.current??0,total:t.total}:s.progress,error:f,failedTask:n??s.failedTask,errorDetails:l??s.errorDetails}));let m=typeof t.status=="string"?t.status:"";if(m===c.completed||m===c.failed){this.modelTestRunProgressCurrentTask_$.set(null);return}let u=t.currentTask;if(u&&typeof u=="object"&&u!==null&&"promptId"in u){let g=u,h=g.promptId,y=g.provider,p=g.modelName;this.modelTestRunProgressCurrentTask_$.set({provider:typeof y=="string"?y:"",modelName:typeof p=="string"?p:"",promptId:typeof h=="string"?h:""});return}this.modelTestRunProgressCurrentTask_$.set(null)}static isPlainObjectRecord(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}static parseFailedTaskFromSocketPayload(t){if(!d.isPlainObjectRecord(t))return;let e=t,s=e.provider,r=e.model,n=e.promptId;if(!(typeof s!="string"||typeof r!="string"||typeof n!="string"))return{provider:s,model:r,promptId:n}}static parseErrorDetailsFromSocketPayload(t){if(!d.isPlainObjectRecord(t))return;let e=t,s=e.message;if(typeof s!="string")return;let r=e.errorCode,n=e.stack;return{message:s,errorCode:typeof r=="string"?r:void 0,stack:typeof n=="string"?n:void 0}}static parseRunStatusFromSocket(t,e){return typeof t!="string"?e:t===c.pending?c.pending:t===c.running?c.running:t===c.completed?c.completed:t===c.failed?c.failed:e}loadSetupConfigForRegistry(){return o(this,null,function*(){try{let t=yield this.settings_AS.getSection(k.llmProviders),e=typeof t.defaultLlmProvider=="string"?t.defaultLlmProvider:void 0,s=typeof t.defaultLlmModel=="string"?t.defaultLlmModel:void 0,r={},n=t.localAiSettings;if(Array.isArray(n))for(let f of n){if(f==null||typeof f!="object"||Array.isArray(f))continue;let m=f,u=m.key,g=m.name;if(typeof u!="string"||!u.trim())continue;let h=typeof g=="string"?g.trim():"",y=h.length>0?h:"Local AI",p=I.build({localAiKey:u.trim()});r[p]={label:y}}let l={defaultLlmProvider:e,defaultLlmModel:s,llmProviderConfig:Object.keys(r).length>0?r:void 0};return this.setupConfigForRegistry_$.set(l),l}catch{return this.setupConfigForRegistry_$.set(null),null}})}getCachedList(){return this.list_$()}getCachedEntryDetail(){return this.entryDetail_$()}getCachedPrompts(){return this.prompts_$()}getCachedResults(){return this.results_$()}getCachedSetupConfigForRegistry(){return this.setupConfigForRegistry_$()}static \u0275fac=function(e){return new(e||d)};static \u0275prov=P({token:d,factory:d.\u0275fac,providedIn:"root"})}return d})();export{q as a};
2
- //# sourceMappingURL=chunk-3UX26D5B.js.map
1
+ import{a as E}from"./chunk-UOR473MY.js";import{a as I}from"./chunk-GL2VABJP.js";import{e as v}from"./chunk-2EQNUA63.js";import{L,p as F,t as k,w as c}from"./chunk-FLV3DZFK.js";import{C as $,a as _,aa as i,b as S,h as A,hb as T,k as o,y as P}from"./chunk-TBMJSIBB.js";var a=A(F());var D="model-test-run-progress",w="model-test-result-saved",M=5e3,q=(()=>{class d{runPollingInterval=null;modelTestRunProgressSocketSub=null;modelTestResultSavedSocketSub=null;lastListFilters=void 0;list_$=i([]);listLoading_$=i(!1);listLoadError_$=i(null);registryProviderIds_$=i([]);selectedEntryId_$=i("");entryDetail_$=i(null);entryDetailLoading_$=i(!1);entryDetailNotFound_$=i(!1);entryDetailLoadError_$=i(null);prompts_$=i([]);promptsLoading_$=i(!1);results_$=i([]);testRunId_$=i("");testRunStatus_$=i(null);testRunPollingActive_$=i(!1);testRunError_$=i(null);testRunSelectedModelIds_$=i([]);testRunPanelDismissed_$=i(!1);testRunPanelVisible_$=T(()=>{let t=this.testRunId_$(),e=this.testRunStatus_$();return!(!t||e==null||this.testRunPanelDismissed_$())});setupConfigForRegistry_$=i(null);syncing_$=i(!1);modelTestRunProgressCurrentTask_$=i(null);modelRegistry_AS=$(E);settings_AS=$(L);socket_CS=$(v);ngOnDestroy(){this.stopRunPolling(),this.stopModelTestRunProgressSocket(),this.stopModelTestResultSavedSocket()}loadList(t){return o(this,null,function*(){t!==void 0&&(this.lastListFilters=t),this.listLoading_$.set(!0),this.listLoadError_$.set(null);try{let s=(yield this.modelRegistry_AS.getList(t)).list??[];return this.list_$.set(s),s}catch(e){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | Failed to load list",e),this.listLoadError_$.set(e),[]}finally{this.listLoading_$.set(!1)}})}loadRegistryProviderIdsUnfiltered(){return o(this,null,function*(){try{let e=(yield this.modelRegistry_AS.getList({})).list??[],s=d.collectSortedUniqueProviderIds(e);this.registryProviderIds_$.set(s)}catch(t){a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | Failed to load registry provider ids for filter UI (unfiltered list)",t)}})}deleteRegistryEntry(t){return o(this,null,function*(){this.listLoadError_$.set(null);try{return yield this.modelRegistry_AS.deleteEntry(t),yield this.loadList(this.lastListFilters),yield this.loadRegistryProviderIdsUnfiltered(),!0}catch(e){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | deleteRegistryEntry failed",e),this.listLoadError_$.set(e),!1}})}deleteRegistryEntries(t){return o(this,null,function*(){this.listLoadError_$.set(null);try{let e=yield this.modelRegistry_AS.deleteEntries(t);return yield this.loadList(this.lastListFilters),yield this.loadRegistryProviderIdsUnfiltered(),e}catch(e){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | deleteRegistryEntries failed",e),this.listLoadError_$.set(e),null}})}static collectSortedUniqueProviderIds(t){let e=t.map(s=>s.provider??"").filter(s=>s!=="");return[...new Set(e)].sort()}setSelectedEntryId(t){this.selectedEntryId_$.set(t??"")}loadEntry(t){return o(this,null,function*(){this.entryDetailLoading_$.set(!0),this.entryDetailNotFound_$.set(!1),this.entryDetailLoadError_$.set(null),this.selectedEntryId_$()!==t&&(this.entryDetail_$.set(null),this.results_$.set([]));try{let r=((yield this.modelRegistry_AS.getList(this.lastListFilters)).list??[]).find(f=>f.id===t);if(!r)return this.entryDetail_$.set(null),this.entryDetailNotFound_$.set(!0),null;this.entryDetail_$.set(r);let n=r.reasoningLevelForTest?.trim()||"none",l=yield this.modelRegistry_AS.getTestResults({provider:r.provider,model:r.modelName,limit:200,reasoningLevel:n});return this.results_$.set(l.results??[]),r}catch(e){a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | Failed to load entry",e);let s=e instanceof Error?e.message:String(e);return this.entryDetailLoadError_$.set(s),this.selectedEntryId_$()===t&&this.entryDetail_$.set(null),null}finally{this.entryDetailLoading_$.set(!1)}})}loadPrompts(){return o(this,null,function*(){this.promptsLoading_$.set(!0);try{let e=(yield this.modelRegistry_AS.getPrompts()).prompts??[];return this.prompts_$.set(e),e}catch(t){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | Failed to load prompts",t),this.prompts_$.set([]),[]}finally{this.promptsLoading_$.set(!1)}})}loadResults(t,e,s){return o(this,null,function*(){try{let n=(yield this.modelRegistry_AS.getTestResults({provider:t,model:e,limit:200,reasoningLevel:s})).results??[];return this.results_$.set(n),n}catch(r){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | Failed to load results",r),[]}})}sync(){return o(this,null,function*(){this.syncing_$.set(!0),this.listLoadError_$.set(null);try{let t=yield this.modelRegistry_AS.sync();return yield Promise.all([this.loadSetupConfigForRegistry(),this.loadList(this.lastListFilters),this.loadRegistryProviderIdsUnfiltered()]),t}catch(t){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | Sync failed",t),this.listLoadError_$.set(t),null}finally{this.syncing_$.set(!1)}})}setEnabled(t,e){return o(this,null,function*(){this.listLoadError_$.set(null);try{return yield this.modelRegistry_AS.setEnabled(t,e),yield this.loadList(this.lastListFilters),!0}catch(s){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | setEnabled failed",s),this.listLoadError_$.set(s),!1}})}patchEntry(t,e){return o(this,null,function*(){this.listLoadError_$.set(null);let s=this.selectedEntryId_$()===t,r=this.entryDetail_$();if(s&&r&&e.reasoningLevelForTest!==void 0&&this.entryDetail_$.update(n=>n?S(_({},n),{reasoningLevelForTest:e.reasoningLevelForTest}):null),s&&r&&e.enabled!==void 0){let n=e.enabled;this.entryDetail_$.update(l=>l?S(_({},l),{enabled:n}):null)}s&&r&&e.capabilities!==void 0&&this.entryDetail_$.update(n=>n?S(_({},n),{capabilities:e.capabilities}):null);try{return yield this.modelRegistry_AS.patchEntry(t,e),yield this.loadList(this.lastListFilters),s&&(e.reasoningLevelForTest!==void 0&&e.enabled===void 0&&e.capabilities===void 0||(yield this.loadEntry(t))),!0}catch(n){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | patchEntry failed",n),this.listLoadError_$.set(n),s&&this.entryDetail_$()&&this.loadEntry(t),!1}})}setReasoningLevelForTest(t,e){return o(this,null,function*(){return this.patchEntry(t,{reasoningLevelForTest:e})})}bulkSetEnabled(t,e){return o(this,null,function*(){this.listLoadError_$.set(null);try{let s=yield this.modelRegistry_AS.bulkSetEnabled(t,e);return yield this.loadList(this.lastListFilters),s.updated}catch(s){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | bulkSetEnabled failed",s),this.listLoadError_$.set(s),null}})}startTestRun(t,e){return o(this,null,function*(){this.testRunError_$.set(null);try{let s=yield this.modelRegistry_AS.startTestRun(t,e);return this.testRunPanelDismissed_$.set(!1),this.testRunSelectedModelIds_$.set([...t]),this.testRunId_$.set(s.runId),this.testRunStatus_$.set({runId:s.runId,status:c.pending,results:[]}),this.startModelTestRunProgressSocket(),this.startModelTestResultSavedSocket(),this.startRunPolling(s.runId),s.runId}catch(s){return a.DyFM_Error.logSimple("CCAP_ModelRegistryDS | startTestRun failed",s),this.testRunError_$.set(s),null}})}startRunPolling(t){this.clearRunPollingIntervalOnly(),this.testRunPollingActive_$.set(!0);let e=M;this.runPollingInterval=setInterval(()=>{this.pollRunStatus(t)},e),this.pollRunStatus(t)}clearRunPollingIntervalOnly(){this.runPollingInterval&&(clearInterval(this.runPollingInterval),this.runPollingInterval=null)}stopRunPolling(){this.clearRunPollingIntervalOnly(),this.testRunPollingActive_$.set(!1),this.testRunId_$.set(""),this.testRunStatus_$.set(null),this.testRunError_$.set(null),this.modelTestRunProgressCurrentTask_$.set(null),this.testRunSelectedModelIds_$.set([]),this.testRunPanelDismissed_$.set(!1)}dismissTestRunPanel(){this.testRunPanelDismissed_$.set(!0)}pollRunStatus(t){return o(this,null,function*(){try{let e=yield this.modelRegistry_AS.getTestRunStatus(t);this.testRunStatus_$.set(e),(e.status==="completed"||e.status==="failed")&&(this.clearRunPollingIntervalOnly(),this.testRunPollingActive_$.set(!1))}catch(e){this.testRunError_$.set(e),this.clearRunPollingIntervalOnly(),this.testRunPollingActive_$.set(!1)}})}startModelTestRunProgressSocket(){this.modelTestRunProgressSocketSub||(this.modelTestRunProgressSocketSub=this.socket_CS.event$.subscribe(t=>{if(t.event!=="user-notification")return;let e=t.payload??{};if(e.type!==D)return;let s=e.runId,r=e.status,n=e.current,l=e.total,f=e.currentTask,m=e.error,u=e.failedTask,g=e.errorDetails;this.setTestRunProgressFromSocket({runId:typeof s=="string"?s:void 0,status:typeof r=="string"?r:void 0,current:typeof n=="number"?n:void 0,total:typeof l=="number"?l:void 0,currentTask:f,error:typeof m=="string"?m:void 0,failedTask:u,errorDetails:g})}))}stopModelTestRunProgressSocket(){this.modelTestRunProgressSocketSub&&(this.modelTestRunProgressSocketSub.unsubscribe(),this.modelTestRunProgressSocketSub=null)}startModelTestResultSavedSocket(){this.modelTestResultSavedSocketSub||(this.modelTestResultSavedSocketSub=this.socket_CS.event$.subscribe(t=>{if(t.event!=="user-notification")return;let e=t.payload??{};e.type===w&&this.mergeResultFromSocket(e)}))}stopModelTestResultSavedSocket(){this.modelTestResultSavedSocketSub&&(this.modelTestResultSavedSocketSub.unsubscribe(),this.modelTestResultSavedSocketSub=null)}mergeResultFromSocket(t){let e=this.testRunId_$();if(!e||t.runId!==e)return;let s=this.testRunStatus_$();if(!s)return;let r=d.parseResultItemFromSocket(t);if(!r)return;let n=R=>`${R.provider}|${R.model}|${R.promptId}|${R.reasoningLevel??"none"}`,l=n(r),m=[...s.results.filter(R=>n(R)!==l),r],u=t.current,g=t.total,h=typeof u=="number"?u:s.progress?.current,y=typeof g=="number"?g:s.progress?.total;this.testRunStatus_$.set(S(_({},s),{results:m,progress:typeof y=="number"&&y>0&&typeof h=="number"?{current:Math.max(h,s.progress?.current??0),total:y}:s.progress}));let p=this.entryDetail_$();if(p&&r.provider===p.provider&&r.model===p.modelName){let b=this.results_$().filter(C=>n(C)!==l);this.results_$.set([r,...b])}}static parseResultItemFromSocket(t){let e=t.provider,s=t.model,r=t.promptId,n=t.score;return typeof e!="string"||typeof s!="string"||typeof r!="string"?null:{provider:e,model:s,promptId:r,reasoningLevel:typeof t.reasoningLevel=="string"?t.reasoningLevel:void 0,score:typeof n=="number"?n:0,analysis:typeof t.analysis=="string"?t.analysis:void 0,promptText:typeof t.promptText=="string"?t.promptText:void 0,modelOutput:typeof t.modelOutput=="string"?t.modelOutput:void 0,thinking:typeof t.thinking=="string"?t.thinking:void 0,generationTimeMs:typeof t.generationTimeMs=="number"?t.generationTimeMs:void 0,analyzerProvider:typeof t.analyzerProvider=="string"?t.analyzerProvider:void 0,analyzerModel:typeof t.analyzerModel=="string"?t.analyzerModel:void 0,inputTokens:typeof t.inputTokens=="number"?t.inputTokens:void 0,outputTokens:typeof t.outputTokens=="number"?t.outputTokens:void 0,thinkingTokens:typeof t.thinkingTokens=="number"?t.thinkingTokens:void 0,createdAt:typeof t.createdAt=="string"?t.createdAt:void 0}}setTestRunProgressFromSocket(t){let e=this.testRunId_$();if(!e||t.runId!==e)return;let s=this.testRunStatus_$();if(!s)return;let r=d.parseRunStatusFromSocket(t.status,s.status),n=d.parseFailedTaskFromSocketPayload(t.failedTask),l=d.parseErrorDetailsFromSocketPayload(t.errorDetails),f=t.error!==void 0?t.error:s.error;this.testRunStatus_$.set(S(_({},s),{status:r,progress:typeof t.total=="number"&&t.total>0?{current:t.current??0,total:t.total}:s.progress,error:f,failedTask:n??s.failedTask,errorDetails:l??s.errorDetails}));let m=typeof t.status=="string"?t.status:"";if(m===c.completed||m===c.failed){this.modelTestRunProgressCurrentTask_$.set(null);return}let u=t.currentTask;if(u&&typeof u=="object"&&u!==null&&"promptId"in u){let g=u,h=g.promptId,y=g.provider,p=g.modelName;this.modelTestRunProgressCurrentTask_$.set({provider:typeof y=="string"?y:"",modelName:typeof p=="string"?p:"",promptId:typeof h=="string"?h:""});return}this.modelTestRunProgressCurrentTask_$.set(null)}static isPlainObjectRecord(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}static parseFailedTaskFromSocketPayload(t){if(!d.isPlainObjectRecord(t))return;let e=t,s=e.provider,r=e.model,n=e.promptId;if(!(typeof s!="string"||typeof r!="string"||typeof n!="string"))return{provider:s,model:r,promptId:n}}static parseErrorDetailsFromSocketPayload(t){if(!d.isPlainObjectRecord(t))return;let e=t,s=e.message;if(typeof s!="string")return;let r=e.errorCode,n=e.stack;return{message:s,errorCode:typeof r=="string"?r:void 0,stack:typeof n=="string"?n:void 0}}static parseRunStatusFromSocket(t,e){return typeof t!="string"?e:t===c.pending?c.pending:t===c.running?c.running:t===c.completed?c.completed:t===c.failed?c.failed:e}loadSetupConfigForRegistry(){return o(this,null,function*(){try{let t=yield this.settings_AS.getSection(k.llmProviders),e=typeof t.defaultLlmProvider=="string"?t.defaultLlmProvider:void 0,s=typeof t.defaultLlmModel=="string"?t.defaultLlmModel:void 0,r={},n=t.localAiSettings;if(Array.isArray(n))for(let f of n){if(f==null||typeof f!="object"||Array.isArray(f))continue;let m=f,u=m.key,g=m.name;if(typeof u!="string"||!u.trim())continue;let h=typeof g=="string"?g.trim():"",y=h.length>0?h:"Local AI",p=I.build({localAiKey:u.trim()});r[p]={label:y}}let l={defaultLlmProvider:e,defaultLlmModel:s,llmProviderConfig:Object.keys(r).length>0?r:void 0};return this.setupConfigForRegistry_$.set(l),l}catch{return this.setupConfigForRegistry_$.set(null),null}})}getCachedList(){return this.list_$()}getCachedEntryDetail(){return this.entryDetail_$()}getCachedPrompts(){return this.prompts_$()}getCachedResults(){return this.results_$()}getCachedSetupConfigForRegistry(){return this.setupConfigForRegistry_$()}static \u0275fac=function(e){return new(e||d)};static \u0275prov=P({token:d,factory:d.\u0275fac,providedIn:"root"})}return d})();export{q as a};
2
+ //# sourceMappingURL=chunk-V2ERRMCF.js.map
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-K6GDVWWX.js";import{G as i}from"./chunk-TBMJSIBB.js";var p=(()=>{class e{transform(t){return r.formatRelativeTime(t)}static \u0275fac=function(a){return new(a||e)};static \u0275pipe=i({name:"ccapRelativeTime",type:e,pure:!0,standalone:!0})}return e})();export{p as a};
2
- //# sourceMappingURL=chunk-3IZFBAP4.js.map
1
+ import{a as r}from"./chunk-WCXV5NA2.js";import{G as i}from"./chunk-TBMJSIBB.js";var p=(()=>{class e{transform(t){return r.formatRelativeTime(t)}static \u0275fac=function(a){return new(a||e)};static \u0275pipe=i({name:"ccapRelativeTime",type:e,pure:!0,standalone:!0})}return e})();export{p as a};
2
+ //# sourceMappingURL=chunk-VQMBB25J.js.map
@@ -1,2 +1,2 @@
1
- import{h as f,i as A}from"./chunk-5TLMPEFC.js";import{C as E,a as l,aa as i,b as u,k as d,y as _}from"./chunk-TBMJSIBB.js";var m=class o{static buildAnnotationIndex(e){let r=new Map;for(let t of e)t.errorCode&&t.errorCode.length>0&&r.set(t.errorCode,t);return r}static classify(e,r){let t=e.errorCode;if(!t)return{classification:"UNFIXED"};let s=r.get(t);if(!s||!s.fixedInVersion)return{classification:"UNFIXED"};let a=o.parseVersion(s.fixedInVersion),n=o.extractMaxVersion(e.versions);return!a||!n?{classification:"UNFIXED"}:{classification:o.compareVersions(n,a)<0?"STALE-BUILD":"REGRESSION",fixedInVersion:s.fixedInVersion,fixedInCycle:s.fixedInCycle,summary:s.summary}}static classifyAll(e,r){let t=o.buildAnnotationIndex(r);return e.map(s=>u(l({},s),{fixAnnotation:o.classify(s,t)}))}static parseVersion(e){let r=e.match(/(\d+)\.(\d+)\.(\d+)/);return r?[parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10)]:null}static extractMaxVersion(e){if(!e||!e.length)return null;let r=null;for(let t of e){let s=o.parseVersion(t);s!=null&&(r==null||o.compareVersions(s,r)>0)&&(r=s)}return r}static compareVersions(e,r){for(let t=0;t<3;t++){let s=e[t]??0,a=r[t]??0;if(s!==a)return s<a?-1:1}return 0}};var p=class{static sortCcapErrorListItemsNewestFirst(e){let r=[...e];return r.sort((t,s)=>{let a=$(t),n=$(s);if(n!==a)return n-a;let c=t._id??"";return(s._id??"").localeCompare(c)}),r}};function $(o){let e=o.lastOccurrenceAt??o.timestamp;if(!e||typeof e!="string"||e.trim().length===0)return 0;let r=Date.parse(e);return Number.isFinite(r)?r:0}var S=(()=>{class o{errors_$=i([]);errorsTotalCount_$=i(0);errorsLoading_$=i(!1);errorsLoadError_$=i(null);errorsLoadErrorRaw_$=i(null);lastRefreshedAt_$=i(null);hideStaleBuild_$=i(!0);fixAnnotations_$=i([]);errors_AS=E(A);loadErrors(){return d(this,null,function*(){this.errorsLoading_$.set(!0),this.errorsLoadError_$.set(null),this.errorsLoadErrorRaw_$.set(null);try{let r=yield this.errors_AS.listErrors(),t=r.errors??[],s=[];try{s=yield this.errors_AS.listFixAnnotations()}catch{s=[]}this.fixAnnotations_$.set(s);let a=m.classifyAll(t,s);this.errors_$.set(p.sortCcapErrorListItemsNewestFirst(a)),this.errorsTotalCount_$.set(r.total),this.lastRefreshedAt_$.set(new Date)}catch(r){this.errorsLoadErrorRaw_$.set(r);let t=f.getErrorMessageForDisplay(r);this.errorsLoadError_$.set(t),this.errors_$.set([]),this.errorsTotalCount_$.set(0)}finally{this.errorsLoading_$.set(!1)}})}clearAll(){return d(this,null,function*(){try{yield this.errors_AS.deleteAllErrors(),yield this.loadErrors()}catch(r){this.errorsLoadErrorRaw_$.set(r);let t=f.getErrorMessageForDisplay(r);this.errorsLoadError_$.set(t)}})}clearOne(r){return d(this,null,function*(){try{yield this.errors_AS.deleteError(r),this.errors_$.update(t=>t.filter(s=>s._id!==r)),this.errorsTotalCount_$.update(t=>Math.max(0,t-1))}catch(t){this.errorsLoadErrorRaw_$.set(t);let s=f.getErrorMessageForDisplay(t);this.errorsLoadError_$.set(s)}})}setPmUserMark(r,t){return d(this,null,function*(){try{let s=yield this.errors_AS.setPmUserMark(r,t),a=s.pmUserMarkedAt!=null&&s.pmUserMarkedAt.trim().length>0?s.pmUserMarkedAt.trim():void 0;this.errors_$.update(n=>n.map(c=>{if(c._id!==r)return c;if(a!=null)return u(l({},c),{pmUserMarkedAt:a});let h=l({},c);return delete h.pmUserMarkedAt,h}))}catch(s){this.errorsLoadErrorRaw_$.set(s);let a=f.getErrorMessageForDisplay(s);this.errorsLoadError_$.set(a)}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=_({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();export{S as a};
2
- //# sourceMappingURL=chunk-3RBRW6ND.js.map
1
+ import{h as f,i as A}from"./chunk-CVWZBWR5.js";import{C as E,a as l,aa as i,b as u,k as d,y as _}from"./chunk-TBMJSIBB.js";var m=class o{static buildAnnotationIndex(e){let r=new Map;for(let t of e)t.errorCode&&t.errorCode.length>0&&r.set(t.errorCode,t);return r}static classify(e,r){let t=e.errorCode;if(!t)return{classification:"UNFIXED"};let s=r.get(t);if(!s||!s.fixedInVersion)return{classification:"UNFIXED"};let a=o.parseVersion(s.fixedInVersion),n=o.extractMaxVersion(e.versions);return!a||!n?{classification:"UNFIXED"}:{classification:o.compareVersions(n,a)<0?"STALE-BUILD":"REGRESSION",fixedInVersion:s.fixedInVersion,fixedInCycle:s.fixedInCycle,summary:s.summary}}static classifyAll(e,r){let t=o.buildAnnotationIndex(r);return e.map(s=>u(l({},s),{fixAnnotation:o.classify(s,t)}))}static parseVersion(e){let r=e.match(/(\d+)\.(\d+)\.(\d+)/);return r?[parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10)]:null}static extractMaxVersion(e){if(!e||!e.length)return null;let r=null;for(let t of e){let s=o.parseVersion(t);s!=null&&(r==null||o.compareVersions(s,r)>0)&&(r=s)}return r}static compareVersions(e,r){for(let t=0;t<3;t++){let s=e[t]??0,a=r[t]??0;if(s!==a)return s<a?-1:1}return 0}};var p=class{static sortCcapErrorListItemsNewestFirst(e){let r=[...e];return r.sort((t,s)=>{let a=$(t),n=$(s);if(n!==a)return n-a;let c=t._id??"";return(s._id??"").localeCompare(c)}),r}};function $(o){let e=o.lastOccurrenceAt??o.timestamp;if(!e||typeof e!="string"||e.trim().length===0)return 0;let r=Date.parse(e);return Number.isFinite(r)?r:0}var S=(()=>{class o{errors_$=i([]);errorsTotalCount_$=i(0);errorsLoading_$=i(!1);errorsLoadError_$=i(null);errorsLoadErrorRaw_$=i(null);lastRefreshedAt_$=i(null);hideStaleBuild_$=i(!0);fixAnnotations_$=i([]);errors_AS=E(A);loadErrors(){return d(this,null,function*(){this.errorsLoading_$.set(!0),this.errorsLoadError_$.set(null),this.errorsLoadErrorRaw_$.set(null);try{let r=yield this.errors_AS.listErrors(),t=r.errors??[],s=[];try{s=yield this.errors_AS.listFixAnnotations()}catch{s=[]}this.fixAnnotations_$.set(s);let a=m.classifyAll(t,s);this.errors_$.set(p.sortCcapErrorListItemsNewestFirst(a)),this.errorsTotalCount_$.set(r.total),this.lastRefreshedAt_$.set(new Date)}catch(r){this.errorsLoadErrorRaw_$.set(r);let t=f.getErrorMessageForDisplay(r);this.errorsLoadError_$.set(t),this.errors_$.set([]),this.errorsTotalCount_$.set(0)}finally{this.errorsLoading_$.set(!1)}})}clearAll(){return d(this,null,function*(){try{yield this.errors_AS.deleteAllErrors(),yield this.loadErrors()}catch(r){this.errorsLoadErrorRaw_$.set(r);let t=f.getErrorMessageForDisplay(r);this.errorsLoadError_$.set(t)}})}clearOne(r){return d(this,null,function*(){try{yield this.errors_AS.deleteError(r),this.errors_$.update(t=>t.filter(s=>s._id!==r)),this.errorsTotalCount_$.update(t=>Math.max(0,t-1))}catch(t){this.errorsLoadErrorRaw_$.set(t);let s=f.getErrorMessageForDisplay(t);this.errorsLoadError_$.set(s)}})}setPmUserMark(r,t){return d(this,null,function*(){try{let s=yield this.errors_AS.setPmUserMark(r,t),a=s.pmUserMarkedAt!=null&&s.pmUserMarkedAt.trim().length>0?s.pmUserMarkedAt.trim():void 0;this.errors_$.update(n=>n.map(c=>{if(c._id!==r)return c;if(a!=null)return u(l({},c),{pmUserMarkedAt:a});let h=l({},c);return delete h.pmUserMarkedAt,h}))}catch(s){this.errorsLoadErrorRaw_$.set(s);let a=f.getErrorMessageForDisplay(s);this.errorsLoadError_$.set(a)}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=_({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();export{S as a};
2
+ //# sourceMappingURL=chunk-W2W4RTI2.js.map
@@ -1,4 +1,4 @@
1
- import{a as Ce}from"./chunk-ZSZVSMNC.js";import{a as ve}from"./chunk-7JUIBZEE.js";import{a as we,b as xe,c as ke}from"./chunk-C7XPBJTG.js";import{e as Me,f as Te,g as Pe,i as De}from"./chunk-NOIROTD2.js";import{a as be}from"./chunk-WPHEQXWB.js";import{c as _e}from"./chunk-RSWCAWPN.js";import{a as he}from"./chunk-Q2NVIOCY.js";import{a as ye}from"./chunk-Q7DJ35BO.js";import{a as Se}from"./chunk-ZBTWQZNB.js";import{a as ge}from"./chunk-FLAJXIYW.js";import{a as ue,c as E,e as fe,f as j,i as F,v as H}from"./chunk-EO4DNTT4.js";import{$a as K,C as O,Cb as me,D as g,E as Z,Fa as m,G as ee,Ga as x,Ha as $,J as R,K as B,L as I,M as N,Ma as ie,Na as re,O as te,Oa as ae,Pa as se,Qa as le,Ra as pe,Sa as de,T as y,Ta as _,U as i,W as z,Wa as v,Z as r,_ as ne,aa as X,ab as W,da as b,fa as M,fb as ce,ga as l,ha as oe,hb as d,ia as V,ja as S,la as h,mb as A,qa as a,ra as s,sa as D,ua as L,ub as f,va as C,wa as u,x as U,xa as T,ya as w,z as Q}from"./chunk-TBMJSIBB.js";var Ve=["*"];function Ne(t,p){if(t&1&&(a(0,"div",5),w(1),s()),t&2){let e=u();l("ngClass",e.spacingClassMap_$())}}var Ae=(()=>{class t{expanded=i.required();title=i.required();contentSpacingClass=i("space-y-3");panelClass=i("rounded-lg border border-neonDefault/60 bg-neutral-900/40");titleClass=i("text-base font-semibold text-neutral-200");spacingClassMap_$=d(()=>({[this.contentSpacingClass().trim()]:!0}));toggle=y();handleHeaderClick(){this.toggle.emit()}handleHeaderKeydownEnter(){this.toggle.emit()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-settings-collapsible-panel"]],hostAttrs:[1,"block"],inputs:{expanded:[1,"expanded"],title:[1,"title"],contentSpacingClass:[1,"contentSpacingClass"],panelClass:[1,"panelClass"],titleClass:[1,"titleClass"]},outputs:{toggle:"toggle"},standalone:!0,features:[_],ngContentSelectors:Ve,decls:8,vars:12,consts:[[3,"ngClass"],["role","button","tabindex","0",1,"flex","items-center","gap-2","cursor-pointer","select-none",3,"click","keydown.enter"],["aria-hidden","true",1,"inline-flex","shrink-0","text-neutral-400"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round",1,"w-3.5","h-3.5","transition-transform","duration-150"],["points","6 9 12 15 18 9"],[1,"mt-3",3,"ngClass"]],template:function(o,n){o&1&&(T(),a(0,"div",0)(1,"div",1),C("click",function(){return n.handleHeaderClick()})("keydown.enter",function(){return n.handleHeaderKeydownEnter()}),a(2,"span",2),I(),a(3,"svg",3),D(4,"polyline",4),s()(),N(),a(5,"h3",0),m(6),s()(),b(7,Ne,2,1,"div",5),s()),o&2&&(V("p-4",n.expanded())("px-4",!n.expanded())("py-2",!n.expanded()),l("ngClass",n.panelClass()),r(3),V("-rotate-90",!n.expanded()),r(2),l("ngClass",n.titleClass()),r(),x(n.title()),r(),h(n.expanded()?7:-1))},dependencies:[f,A],encapsulation:2})}return t})();var ze=["*"];function Ke(t,p){if(t&1&&(a(0,"p",1),m(1),s()),t&2){let e=u();r(),x(e.subtitle())}}var Re=(()=>{class t{title=i.required();subtitle=i("");marginBottom=i("mb-6");hasSubtitle_$=d(()=>this.subtitle().trim().length>0);static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-page-header"]],hostAttrs:[1,"block"],inputs:{title:[1,"title"],subtitle:[1,"subtitle"],marginBottom:[1,"marginBottom"]},standalone:!0,features:[_],ngContentSelectors:ze,decls:7,vars:4,consts:[[1,"text-2xl","gt-xs:text-3xl","font-bold","text-neutral-100"],[1,"text-neutral-400","text-sm","gt-xs:text-base","mt-1"],[1,"flex","items-center","gap-2","shrink-0"]],template:function(o,n){o&1&&(T(),a(0,"header")(1,"div")(2,"h1",0),m(3),s(),b(4,Ke,2,1,"p",1),s(),a(5,"div",2),w(6),s()()),o&2&&(S("flex items-center justify-between gap-4 "+n.marginBottom()),r(3),x(n.title()),r(),h(n.hasSubtitle_$()?4:-1))},dependencies:[f],encapsulation:2})}return t})();function We(t,p){t&1&&(I(),a(0,"svg",3),D(1,"path",4),s())}function qe(t,p){t&1&&(I(),a(0,"svg",3),D(1,"path",5)(2,"path",6),s())}var Ie=(()=>{class t{placeholder=i("");disabled=i(!1);disabledByControl_$=X(!1);name=i("");autocomplete=i("off");dataBwignore=i(!1);suppressPasswordManagerAutofill=i(!1);inputClass=i("");blurEvent=y();visible_$=X(!1);inputType_$=d(()=>this.visible_$()?"text":"password");toggleAriaLabel_$=d(()=>this.visible_$()?"Jelsz\xF3 elrejt\xE9se":"Jelsz\xF3 megjelen\xEDt\xE9se");toggleTitle_$=d(()=>this.visible_$()?"Jelsz\xF3 elrejt\xE9se":"Jelsz\xF3 megjelen\xEDt\xE9se");isDisabled_$=d(()=>this.disabled()||this.disabledByControl_$());effectiveAutocomplete_$=d(()=>this.suppressPasswordManagerAutofill()?"new-password":this.autocomplete());effectiveDataBwignore_$=d(()=>this.dataBwignore()||this.suppressPasswordManagerAutofill());value="";onChange=()=>{};onTouched=()=>{};cdr=O(ce);injector=O(te);ngControl=null;ngOnInit(){this.ngControl=this.injector.get(fe,null,{optional:!0,self:!0}),this.ngControl!=null&&(this.ngControl.valueAccessor=this)}toggleVisible(){this.visible_$.update(e=>!e)}get innerValue(){return this.value}set innerValue(e){this.value!==e&&(this.value=e,this.onChange(e))}writeValue(e){this.value=e??"",this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.disabledByControl_$.set(e),this.cdr.markForCheck()}onBlur(){this.onTouched(),this.blurEvent.emit()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-password-input"]],hostAttrs:[1,"block","min-w-0","flex-1"],inputs:{placeholder:[1,"placeholder"],disabled:[1,"disabled"],name:[1,"name"],autocomplete:[1,"autocomplete"],dataBwignore:[1,"dataBwignore"],suppressPasswordManagerAutofill:[1,"suppressPasswordManagerAutofill"],inputClass:[1,"inputClass"]},outputs:{blurEvent:"blurEvent"},standalone:!0,features:[de([{provide:ue,useExisting:U(()=>t),multi:!0}]),_],decls:5,vars:16,consts:[[1,"flex","flex-wrap","gap-2","items-center","min-w-0"],[3,"ngModelChange","blur","type","ngModel","name","placeholder","disabled"],["type","button",1,"shrink-0","w-9","h-9","flex","items-center","justify-center","rounded","border","border-neonDefault","text-neutral-400","hover:text-neonCyan","hover:shadow-neon-glow-cyan","hover:border-neonCyan","disabled:opacity-50","transition-colors",3,"click","disabled"],["xmlns","http://www.w3.org/2000/svg","fill","none","viewBox","0 0 24 24","stroke","currentColor","aria-hidden","true",1,"w-4","h-4"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M15 12a3 3 0 11-6 0 3 3 0 016 0z"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"]],template:function(o,n){o&1&&(a(0,"div",0)(1,"input",1),ae("ngModelChange",function(k){return re(n.innerValue,k)||(n.innerValue=k),k}),C("blur",function(){return n.onBlur()}),s(),a(2,"button",2),C("click",function(){return n.toggleVisible()}),b(3,We,2,0,":svg:svg",3)(4,qe,3,0,":svg:svg",3),s()()),o&2&&(r(),S("flex-1 min-w-0 px-3 py-2 bg-neutral-800 border border-neonDefault rounded text-neutral-100 focus:shadow-neon-glow-cyan disabled:opacity-70 "+n.inputClass()),l("type",n.inputType_$()),ie("ngModel",n.innerValue),l("name",n.name())("placeholder",n.placeholder())("disabled",n.isDisabled_$()),M("autocomplete",n.effectiveAutocomplete_$())("data-bwignore",n.effectiveDataBwignore_$()?"1":null)("data-lpignore",n.suppressPasswordManagerAutofill()?"true":null)("data-1p-ignore",n.suppressPasswordManagerAutofill()?"true":null)("data-form-type",n.suppressPasswordManagerAutofill()?"other":null),r(),l("disabled",n.isDisabled_$()),M("aria-label",n.toggleAriaLabel_$())("title",n.toggleTitle_$()),r(),h(n.visible_$()?3:4))},dependencies:[f,H,E,j,F],encapsulation:2})}return t})();function Ge(t,p){if(t&1&&(a(0,"span",2),m(1," \u26A0\uFE0F "),s()),t&2){let e,o=u();M("title",(e=o.warningTooltip())!==null&&e!==void 0?e:"")}}function Je(t,p){if(t&1){let e=L();a(0,"button",5),C("click",function(){R(e);let n=u();return B(n.emitStartEdit())}),m(1," Szerkeszt\xE9s "),s()}}function Oe(t,p){if(t&1){let e=L();a(0,"button",6),C("click",function(){R(e);let n=u();return B(n.emitSave())}),m(1),s()}if(t&2){let e=u();l("disabled",e.saveDisabled()),r(),$(" ",e.saveButtonLabel_$()," ")}}var Le=(()=>{class t{name=i("");displayValue=i.required();placeholder=i("");editMode=i(!1);saveDisabled=i(!1);savePending=i(!1);saveLabel=i("Ment\xE9s");savePendingLabel=i("Ment\xE9s\u2026");warningTooltip=i(null);inputClass=i("");dataBwignore=i(!0);valueChange=y();startEdit=y();save=y();inputReadonly_$=d(()=>!this.editMode());showWarning_$=d(()=>{let e=this.warningTooltip();return e!=null&&e.trim().length>0});saveButtonLabel_$=d(()=>this.savePending()?this.savePendingLabel():this.saveLabel());inputClassCombined_$=d(()=>{let e="flex-1 min-w-0 px-3 py-2 font-mono text-sm bg-neutral-800 border border-neonDefault rounded text-neutral-100 focus:shadow-neon-glow-cyan",o=this.inputReadonly_$()?" opacity-90":"",n=this.inputClass().trim().length>0?" "+this.inputClass():"";return e+o+n});onDisplayValueChange(e){this.editMode()&&this.valueChange.emit(e)}emitStartEdit(){this.startEdit.emit()}emitSave(){this.save.emit()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-settings-secret-key-row"]],hostAttrs:[1,"block"],inputs:{name:[1,"name"],displayValue:[1,"displayValue"],placeholder:[1,"placeholder"],editMode:[1,"editMode"],saveDisabled:[1,"saveDisabled"],savePending:[1,"savePending"],saveLabel:[1,"saveLabel"],savePendingLabel:[1,"savePendingLabel"],warningTooltip:[1,"warningTooltip"],inputClass:[1,"inputClass"],dataBwignore:[1,"dataBwignore"]},outputs:{valueChange:"valueChange",startEdit:"startEdit",save:"save"},standalone:!0,features:[_],decls:5,vars:9,consts:[[1,"flex","flex-wrap","gap-2","items-center"],["type","text",3,"ngModelChange","name","ngModel","readonly"],[1,"text-amber-300","text-sm"],["type","button",1,"px-4","py-2","border","border-neonCyan","rounded","text-neutral-300","hover:shadow-neon-glow-cyan","whitespace-nowrap"],["type","button",1,"px-4","py-2","bg-ccapAccent","text-white","rounded","whitespace-nowrap","disabled:opacity-50",3,"disabled"],["type","button",1,"px-4","py-2","border","border-neonCyan","rounded","text-neutral-300","hover:shadow-neon-glow-cyan","whitespace-nowrap",3,"click"],["type","button",1,"px-4","py-2","bg-ccapAccent","text-white","rounded","whitespace-nowrap","disabled:opacity-50",3,"click","disabled"]],template:function(o,n){o&1&&(a(0,"div",0)(1,"input",1),C("ngModelChange",function(k){return n.onDisplayValueChange(k)}),s(),b(2,Ge,2,1,"span",2)(3,Je,2,0,"button",3)(4,Oe,2,2,"button",4),s()),o&2&&(r(),S(n.inputClassCombined_$()),l("name",n.name())("ngModel",n.displayValue())("readonly",n.inputReadonly_$()),M("placeholder",n.placeholder())("data-bwignore",n.dataBwignore()?"true":null),r(),h(n.showWarning_$()?2:-1),r(),h(n.editMode()?4:3))},dependencies:[f,H,E,j,F],encapsulation:2})}return t})();var Xe=[[["","sComposerPrefix",""]],[["","sComposerTextareaAccessory",""]],[["","sComposerBelowTextarea",""]],[["","sComposerBeforeSend",""]]],Ye=["[sComposerPrefix]","[sComposerTextareaAccessory]","[sComposerBelowTextarea]","[sComposerBeforeSend]"],$e=(()=>{class t{draftText=i("");draftTextChange=y();isSending=i(!1);isSendDisabled=i(!1);placeholder=i("");textareaRows=i(3);sendButtonLabel=i("Send");sendingButtonLabel=i("\u2026");sendRequested=y();handleKeyDown(e){e.key!=="Enter"||e.shiftKey||(e.preventDefault(),this.emitSendIfAllowed())}handleSendClick(){this.emitSendIfAllowed()}emitSendIfAllowed(){this.isSending()||this.isSendDisabled()||this.sendRequested.emit()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-session-prompt-composer"]],hostAttrs:[1,"block","shrink-0","border-t","border-neonDefault","bg-ccapSurface"],inputs:{draftText:[1,"draftText"],isSending:[1,"isSending"],isSendDisabled:[1,"isSendDisabled"],placeholder:[1,"placeholder"],textareaRows:[1,"textareaRows"],sendButtonLabel:[1,"sendButtonLabel"],sendingButtonLabel:[1,"sendingButtonLabel"]},outputs:{draftTextChange:"draftTextChange",sendRequested:"sendRequested"},standalone:!0,features:[_],ngContentSelectors:Ye,decls:11,vars:5,consts:[[1,"flex","flex-col","gap-2","p-2"],[1,"relative","min-w-0","w-full"],[1,"min-h-[60px]","max-h-[200px]","w-full","resize-none","rounded","border","border-neutral-700","bg-neutral-800","px-2","py-1.5","font-mono","text-xs","text-neutral-200","placeholder-neutral-600","focus:border-ccapAccent","focus:outline-none",3,"ngModelChange","keydown","placeholder","ngModel"],[1,"flex","flex-wrap","items-end","justify-end","gap-2"],["type","button",1,"px-3","py-1.5","text-xs","bg-ccapAccent","text-black","font-medium","rounded","hover:bg-ccapAccent/80","transition-colors","disabled:opacity-50","shrink-0",3,"click","disabled"]],template:function(o,n){o&1&&(T(Xe),a(0,"div",0),w(1),a(2,"div",1)(3,"textarea",2),C("ngModelChange",function(k){return n.draftTextChange.emit(k)})("keydown",function(k){return n.handleKeyDown(k)}),m(4," "),s(),w(5,1),s(),w(6,2),a(7,"div",3),w(8,3),a(9,"button",4),C("click",function(){return n.handleSendClick()}),m(10),s()()()),o&2&&(r(3),l("placeholder",n.placeholder())("ngModel",n.draftText()),M("rows",n.textareaRows()),r(6),l("disabled",n.isSendDisabled()||n.isSending()),r(),$(" ",n.isSending()?n.sendingButtonLabel():n.sendButtonLabel()," "))},dependencies:[f,H,E,j,F],encapsulation:2})}return t})();var Ue=[[["","sDisclosureSummaryTrailing",""]],"*"],Qe=["[sDisclosureSummaryTrailing]","*"],q=(()=>{class t{summaryLabel=i.required();density=i("comfortable");tone=i("changes");summaryRowClass_$=d(()=>{let e=this.density(),o=this.tone(),n="flex items-center gap-1 cursor-pointer select-none transition-colors list-none [&::-webkit-details-marker]:hidden";return o==="changes"?e==="comfortable"?`${n} px-2.5 py-1 bg-neutral-800/20 hover:bg-neutral-800/40`:`${n} px-1.5 py-0.5 bg-neutral-800/15 hover:bg-neutral-800/30`:e==="comfortable"?`${n} px-2.5 py-1 bg-neutral-800/30 hover:bg-neutral-800/50`:`${n} px-1.5 py-0.5 bg-neutral-800/20 hover:bg-neutral-800/40`});summaryLabelClass_$=d(()=>{let e=this.density();return this.tone()==="changes"?e==="comfortable"?"text-[10px] text-orange-300/50":"text-[9px] text-orange-300/40":e==="comfortable"?"text-[10px] text-neutral-400 truncate leading-relaxed":"text-[9px] text-neutral-500 truncate"});chevronSizeClass_$=d(()=>this.density()==="comfortable"?"w-3 h-3":"w-2.5 h-2.5");bodyWrapperClass_$=d(()=>{let e=this.density();return this.tone()==="changes"?e==="comfortable"?"px-2.5 py-1.5 bg-neutral-800/20 border-t border-neutral-700/15":"px-1.5 py-1 bg-neutral-800/15 border-t border-neutral-700/10":e==="comfortable"?"px-2.5 py-1.5 bg-neutral-800/30 border-t border-neutral-700/20":"px-1.5 py-1 bg-neutral-800/20 border-t border-neutral-700/15"});static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-collapsible-disclosure"]],hostAttrs:[1,"block","border-t","border-orange-500/20"],inputs:{summaryLabel:[1,"summaryLabel"],density:[1,"density"],tone:[1,"tone"]},standalone:!0,features:[_],ngContentSelectors:Qe,decls:9,vars:8,consts:[[1,"group/sdisclosure","group/pr"],["viewBox","0 0 12 12","fill","none",1,"text-neutral-500","shrink-0","transition-transform","[[open]>&]:rotate-90",3,"ngClass"],["d","M4.5 2.5l4 3.5-4 3.5","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","stroke-linejoin","round"]],template:function(o,n){o&1&&(T(Ue),a(0,"details",0)(1,"summary"),I(),a(2,"svg",1),D(3,"path",2),s(),N(),a(4,"span"),m(5),s(),w(6),s(),a(7,"div"),w(8,1),s()()),o&2&&(r(),S(n.summaryRowClass_$()),r(),l("ngClass",n.chevronSizeClass_$()),r(2),S(n.summaryLabelClass_$()),r(),x(n.summaryLabel()),r(2),S(n.bodyWrapperClass_$()))},dependencies:[f,A],encapsulation:2})}return t})();var Ze=["*"],G=(()=>{class t{maxHeightPx=i(250);density=i("comfortable");innerClass_$=d(()=>(this.density()==="comfortable","font-mono"));static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-monospace-scroll-block"]],hostAttrs:[1,"block"],inputs:{maxHeightPx:[1,"maxHeightPx"],density:[1,"density"]},standalone:!0,features:[_],ngContentSelectors:Ze,decls:2,vars:4,consts:[[1,"overflow-y-auto","overflow-x-auto","font-mono"]],template:function(o,n){o&1&&(T(),a(0,"div",0),w(1),s()),o&2&&(S(n.innerClass_$()),oe("max-height",n.maxHeightPx(),"px"))},dependencies:[f],encapsulation:2})}return t})();var Ee=(()=>{class t{sanitizer;constructor(e){this.sanitizer=e}transform(e){let o=this.getSvgForTool(e??"");return this.sanitizer.bypassSecurityTrustHtml(o)}getSvgForTool(e){switch(e){case"Read":return`<svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
1
+ import{a as Ce}from"./chunk-CRJIE2EH.js";import{a as ve}from"./chunk-7JUIBZEE.js";import{a as we,b as xe,c as ke}from"./chunk-C7XPBJTG.js";import{e as Me,f as Te,g as Pe,i as De}from"./chunk-H4OQI5J3.js";import{a as be}from"./chunk-WPHEQXWB.js";import{c as _e}from"./chunk-K63M327A.js";import{a as he}from"./chunk-Q2NVIOCY.js";import{a as ye}from"./chunk-ZYJOLIZR.js";import{a as Se}from"./chunk-ZBTWQZNB.js";import{a as ge}from"./chunk-FLAJXIYW.js";import{a as ue,c as E,e as fe,f as j,i as F,v as H}from"./chunk-EO4DNTT4.js";import{$a as K,C as O,Cb as me,D as g,E as Z,Fa as m,G as ee,Ga as x,Ha as $,J as R,K as B,L as I,M as N,Ma as ie,Na as re,O as te,Oa as ae,Pa as se,Qa as le,Ra as pe,Sa as de,T as y,Ta as _,U as i,W as z,Wa as v,Z as r,_ as ne,aa as X,ab as W,da as b,fa as M,fb as ce,ga as l,ha as oe,hb as d,ia as V,ja as S,la as h,mb as A,qa as a,ra as s,sa as D,ua as L,ub as f,va as C,wa as u,x as U,xa as T,ya as w,z as Q}from"./chunk-TBMJSIBB.js";var Ve=["*"];function Ne(t,p){if(t&1&&(a(0,"div",5),w(1),s()),t&2){let e=u();l("ngClass",e.spacingClassMap_$())}}var Ae=(()=>{class t{expanded=i.required();title=i.required();contentSpacingClass=i("space-y-3");panelClass=i("rounded-lg border border-neonDefault/60 bg-neutral-900/40");titleClass=i("text-base font-semibold text-neutral-200");spacingClassMap_$=d(()=>({[this.contentSpacingClass().trim()]:!0}));toggle=y();handleHeaderClick(){this.toggle.emit()}handleHeaderKeydownEnter(){this.toggle.emit()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-settings-collapsible-panel"]],hostAttrs:[1,"block"],inputs:{expanded:[1,"expanded"],title:[1,"title"],contentSpacingClass:[1,"contentSpacingClass"],panelClass:[1,"panelClass"],titleClass:[1,"titleClass"]},outputs:{toggle:"toggle"},standalone:!0,features:[_],ngContentSelectors:Ve,decls:8,vars:12,consts:[[3,"ngClass"],["role","button","tabindex","0",1,"flex","items-center","gap-2","cursor-pointer","select-none",3,"click","keydown.enter"],["aria-hidden","true",1,"inline-flex","shrink-0","text-neutral-400"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round",1,"w-3.5","h-3.5","transition-transform","duration-150"],["points","6 9 12 15 18 9"],[1,"mt-3",3,"ngClass"]],template:function(o,n){o&1&&(T(),a(0,"div",0)(1,"div",1),C("click",function(){return n.handleHeaderClick()})("keydown.enter",function(){return n.handleHeaderKeydownEnter()}),a(2,"span",2),I(),a(3,"svg",3),D(4,"polyline",4),s()(),N(),a(5,"h3",0),m(6),s()(),b(7,Ne,2,1,"div",5),s()),o&2&&(V("p-4",n.expanded())("px-4",!n.expanded())("py-2",!n.expanded()),l("ngClass",n.panelClass()),r(3),V("-rotate-90",!n.expanded()),r(2),l("ngClass",n.titleClass()),r(),x(n.title()),r(),h(n.expanded()?7:-1))},dependencies:[f,A],encapsulation:2})}return t})();var ze=["*"];function Ke(t,p){if(t&1&&(a(0,"p",1),m(1),s()),t&2){let e=u();r(),x(e.subtitle())}}var Re=(()=>{class t{title=i.required();subtitle=i("");marginBottom=i("mb-6");hasSubtitle_$=d(()=>this.subtitle().trim().length>0);static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-page-header"]],hostAttrs:[1,"block"],inputs:{title:[1,"title"],subtitle:[1,"subtitle"],marginBottom:[1,"marginBottom"]},standalone:!0,features:[_],ngContentSelectors:ze,decls:7,vars:4,consts:[[1,"text-2xl","gt-xs:text-3xl","font-bold","text-neutral-100"],[1,"text-neutral-400","text-sm","gt-xs:text-base","mt-1"],[1,"flex","items-center","gap-2","shrink-0"]],template:function(o,n){o&1&&(T(),a(0,"header")(1,"div")(2,"h1",0),m(3),s(),b(4,Ke,2,1,"p",1),s(),a(5,"div",2),w(6),s()()),o&2&&(S("flex items-center justify-between gap-4 "+n.marginBottom()),r(3),x(n.title()),r(),h(n.hasSubtitle_$()?4:-1))},dependencies:[f],encapsulation:2})}return t})();function We(t,p){t&1&&(I(),a(0,"svg",3),D(1,"path",4),s())}function qe(t,p){t&1&&(I(),a(0,"svg",3),D(1,"path",5)(2,"path",6),s())}var Ie=(()=>{class t{placeholder=i("");disabled=i(!1);disabledByControl_$=X(!1);name=i("");autocomplete=i("off");dataBwignore=i(!1);suppressPasswordManagerAutofill=i(!1);inputClass=i("");blurEvent=y();visible_$=X(!1);inputType_$=d(()=>this.visible_$()?"text":"password");toggleAriaLabel_$=d(()=>this.visible_$()?"Jelsz\xF3 elrejt\xE9se":"Jelsz\xF3 megjelen\xEDt\xE9se");toggleTitle_$=d(()=>this.visible_$()?"Jelsz\xF3 elrejt\xE9se":"Jelsz\xF3 megjelen\xEDt\xE9se");isDisabled_$=d(()=>this.disabled()||this.disabledByControl_$());effectiveAutocomplete_$=d(()=>this.suppressPasswordManagerAutofill()?"new-password":this.autocomplete());effectiveDataBwignore_$=d(()=>this.dataBwignore()||this.suppressPasswordManagerAutofill());value="";onChange=()=>{};onTouched=()=>{};cdr=O(ce);injector=O(te);ngControl=null;ngOnInit(){this.ngControl=this.injector.get(fe,null,{optional:!0,self:!0}),this.ngControl!=null&&(this.ngControl.valueAccessor=this)}toggleVisible(){this.visible_$.update(e=>!e)}get innerValue(){return this.value}set innerValue(e){this.value!==e&&(this.value=e,this.onChange(e))}writeValue(e){this.value=e??"",this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.disabledByControl_$.set(e),this.cdr.markForCheck()}onBlur(){this.onTouched(),this.blurEvent.emit()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-password-input"]],hostAttrs:[1,"block","min-w-0","flex-1"],inputs:{placeholder:[1,"placeholder"],disabled:[1,"disabled"],name:[1,"name"],autocomplete:[1,"autocomplete"],dataBwignore:[1,"dataBwignore"],suppressPasswordManagerAutofill:[1,"suppressPasswordManagerAutofill"],inputClass:[1,"inputClass"]},outputs:{blurEvent:"blurEvent"},standalone:!0,features:[de([{provide:ue,useExisting:U(()=>t),multi:!0}]),_],decls:5,vars:16,consts:[[1,"flex","flex-wrap","gap-2","items-center","min-w-0"],[3,"ngModelChange","blur","type","ngModel","name","placeholder","disabled"],["type","button",1,"shrink-0","w-9","h-9","flex","items-center","justify-center","rounded","border","border-neonDefault","text-neutral-400","hover:text-neonCyan","hover:shadow-neon-glow-cyan","hover:border-neonCyan","disabled:opacity-50","transition-colors",3,"click","disabled"],["xmlns","http://www.w3.org/2000/svg","fill","none","viewBox","0 0 24 24","stroke","currentColor","aria-hidden","true",1,"w-4","h-4"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M15 12a3 3 0 11-6 0 3 3 0 016 0z"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"]],template:function(o,n){o&1&&(a(0,"div",0)(1,"input",1),ae("ngModelChange",function(k){return re(n.innerValue,k)||(n.innerValue=k),k}),C("blur",function(){return n.onBlur()}),s(),a(2,"button",2),C("click",function(){return n.toggleVisible()}),b(3,We,2,0,":svg:svg",3)(4,qe,3,0,":svg:svg",3),s()()),o&2&&(r(),S("flex-1 min-w-0 px-3 py-2 bg-neutral-800 border border-neonDefault rounded text-neutral-100 focus:shadow-neon-glow-cyan disabled:opacity-70 "+n.inputClass()),l("type",n.inputType_$()),ie("ngModel",n.innerValue),l("name",n.name())("placeholder",n.placeholder())("disabled",n.isDisabled_$()),M("autocomplete",n.effectiveAutocomplete_$())("data-bwignore",n.effectiveDataBwignore_$()?"1":null)("data-lpignore",n.suppressPasswordManagerAutofill()?"true":null)("data-1p-ignore",n.suppressPasswordManagerAutofill()?"true":null)("data-form-type",n.suppressPasswordManagerAutofill()?"other":null),r(),l("disabled",n.isDisabled_$()),M("aria-label",n.toggleAriaLabel_$())("title",n.toggleTitle_$()),r(),h(n.visible_$()?3:4))},dependencies:[f,H,E,j,F],encapsulation:2})}return t})();function Ge(t,p){if(t&1&&(a(0,"span",2),m(1," \u26A0\uFE0F "),s()),t&2){let e,o=u();M("title",(e=o.warningTooltip())!==null&&e!==void 0?e:"")}}function Je(t,p){if(t&1){let e=L();a(0,"button",5),C("click",function(){R(e);let n=u();return B(n.emitStartEdit())}),m(1," Szerkeszt\xE9s "),s()}}function Oe(t,p){if(t&1){let e=L();a(0,"button",6),C("click",function(){R(e);let n=u();return B(n.emitSave())}),m(1),s()}if(t&2){let e=u();l("disabled",e.saveDisabled()),r(),$(" ",e.saveButtonLabel_$()," ")}}var Le=(()=>{class t{name=i("");displayValue=i.required();placeholder=i("");editMode=i(!1);saveDisabled=i(!1);savePending=i(!1);saveLabel=i("Ment\xE9s");savePendingLabel=i("Ment\xE9s\u2026");warningTooltip=i(null);inputClass=i("");dataBwignore=i(!0);valueChange=y();startEdit=y();save=y();inputReadonly_$=d(()=>!this.editMode());showWarning_$=d(()=>{let e=this.warningTooltip();return e!=null&&e.trim().length>0});saveButtonLabel_$=d(()=>this.savePending()?this.savePendingLabel():this.saveLabel());inputClassCombined_$=d(()=>{let e="flex-1 min-w-0 px-3 py-2 font-mono text-sm bg-neutral-800 border border-neonDefault rounded text-neutral-100 focus:shadow-neon-glow-cyan",o=this.inputReadonly_$()?" opacity-90":"",n=this.inputClass().trim().length>0?" "+this.inputClass():"";return e+o+n});onDisplayValueChange(e){this.editMode()&&this.valueChange.emit(e)}emitStartEdit(){this.startEdit.emit()}emitSave(){this.save.emit()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-settings-secret-key-row"]],hostAttrs:[1,"block"],inputs:{name:[1,"name"],displayValue:[1,"displayValue"],placeholder:[1,"placeholder"],editMode:[1,"editMode"],saveDisabled:[1,"saveDisabled"],savePending:[1,"savePending"],saveLabel:[1,"saveLabel"],savePendingLabel:[1,"savePendingLabel"],warningTooltip:[1,"warningTooltip"],inputClass:[1,"inputClass"],dataBwignore:[1,"dataBwignore"]},outputs:{valueChange:"valueChange",startEdit:"startEdit",save:"save"},standalone:!0,features:[_],decls:5,vars:9,consts:[[1,"flex","flex-wrap","gap-2","items-center"],["type","text",3,"ngModelChange","name","ngModel","readonly"],[1,"text-amber-300","text-sm"],["type","button",1,"px-4","py-2","border","border-neonCyan","rounded","text-neutral-300","hover:shadow-neon-glow-cyan","whitespace-nowrap"],["type","button",1,"px-4","py-2","bg-ccapAccent","text-white","rounded","whitespace-nowrap","disabled:opacity-50",3,"disabled"],["type","button",1,"px-4","py-2","border","border-neonCyan","rounded","text-neutral-300","hover:shadow-neon-glow-cyan","whitespace-nowrap",3,"click"],["type","button",1,"px-4","py-2","bg-ccapAccent","text-white","rounded","whitespace-nowrap","disabled:opacity-50",3,"click","disabled"]],template:function(o,n){o&1&&(a(0,"div",0)(1,"input",1),C("ngModelChange",function(k){return n.onDisplayValueChange(k)}),s(),b(2,Ge,2,1,"span",2)(3,Je,2,0,"button",3)(4,Oe,2,2,"button",4),s()),o&2&&(r(),S(n.inputClassCombined_$()),l("name",n.name())("ngModel",n.displayValue())("readonly",n.inputReadonly_$()),M("placeholder",n.placeholder())("data-bwignore",n.dataBwignore()?"true":null),r(),h(n.showWarning_$()?2:-1),r(),h(n.editMode()?4:3))},dependencies:[f,H,E,j,F],encapsulation:2})}return t})();var Xe=[[["","sComposerPrefix",""]],[["","sComposerTextareaAccessory",""]],[["","sComposerBelowTextarea",""]],[["","sComposerBeforeSend",""]]],Ye=["[sComposerPrefix]","[sComposerTextareaAccessory]","[sComposerBelowTextarea]","[sComposerBeforeSend]"],$e=(()=>{class t{draftText=i("");draftTextChange=y();isSending=i(!1);isSendDisabled=i(!1);placeholder=i("");textareaRows=i(3);sendButtonLabel=i("Send");sendingButtonLabel=i("\u2026");sendRequested=y();handleKeyDown(e){e.key!=="Enter"||e.shiftKey||(e.preventDefault(),this.emitSendIfAllowed())}handleSendClick(){this.emitSendIfAllowed()}emitSendIfAllowed(){this.isSending()||this.isSendDisabled()||this.sendRequested.emit()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-session-prompt-composer"]],hostAttrs:[1,"block","shrink-0","border-t","border-neonDefault","bg-ccapSurface"],inputs:{draftText:[1,"draftText"],isSending:[1,"isSending"],isSendDisabled:[1,"isSendDisabled"],placeholder:[1,"placeholder"],textareaRows:[1,"textareaRows"],sendButtonLabel:[1,"sendButtonLabel"],sendingButtonLabel:[1,"sendingButtonLabel"]},outputs:{draftTextChange:"draftTextChange",sendRequested:"sendRequested"},standalone:!0,features:[_],ngContentSelectors:Ye,decls:11,vars:5,consts:[[1,"flex","flex-col","gap-2","p-2"],[1,"relative","min-w-0","w-full"],[1,"min-h-[60px]","max-h-[200px]","w-full","resize-none","rounded","border","border-neutral-700","bg-neutral-800","px-2","py-1.5","font-mono","text-xs","text-neutral-200","placeholder-neutral-600","focus:border-ccapAccent","focus:outline-none",3,"ngModelChange","keydown","placeholder","ngModel"],[1,"flex","flex-wrap","items-end","justify-end","gap-2"],["type","button",1,"px-3","py-1.5","text-xs","bg-ccapAccent","text-black","font-medium","rounded","hover:bg-ccapAccent/80","transition-colors","disabled:opacity-50","shrink-0",3,"click","disabled"]],template:function(o,n){o&1&&(T(Xe),a(0,"div",0),w(1),a(2,"div",1)(3,"textarea",2),C("ngModelChange",function(k){return n.draftTextChange.emit(k)})("keydown",function(k){return n.handleKeyDown(k)}),m(4," "),s(),w(5,1),s(),w(6,2),a(7,"div",3),w(8,3),a(9,"button",4),C("click",function(){return n.handleSendClick()}),m(10),s()()()),o&2&&(r(3),l("placeholder",n.placeholder())("ngModel",n.draftText()),M("rows",n.textareaRows()),r(6),l("disabled",n.isSendDisabled()||n.isSending()),r(),$(" ",n.isSending()?n.sendingButtonLabel():n.sendButtonLabel()," "))},dependencies:[f,H,E,j,F],encapsulation:2})}return t})();var Ue=[[["","sDisclosureSummaryTrailing",""]],"*"],Qe=["[sDisclosureSummaryTrailing]","*"],q=(()=>{class t{summaryLabel=i.required();density=i("comfortable");tone=i("changes");summaryRowClass_$=d(()=>{let e=this.density(),o=this.tone(),n="flex items-center gap-1 cursor-pointer select-none transition-colors list-none [&::-webkit-details-marker]:hidden";return o==="changes"?e==="comfortable"?`${n} px-2.5 py-1 bg-neutral-800/20 hover:bg-neutral-800/40`:`${n} px-1.5 py-0.5 bg-neutral-800/15 hover:bg-neutral-800/30`:e==="comfortable"?`${n} px-2.5 py-1 bg-neutral-800/30 hover:bg-neutral-800/50`:`${n} px-1.5 py-0.5 bg-neutral-800/20 hover:bg-neutral-800/40`});summaryLabelClass_$=d(()=>{let e=this.density();return this.tone()==="changes"?e==="comfortable"?"text-[10px] text-orange-300/50":"text-[9px] text-orange-300/40":e==="comfortable"?"text-[10px] text-neutral-400 truncate leading-relaxed":"text-[9px] text-neutral-500 truncate"});chevronSizeClass_$=d(()=>this.density()==="comfortable"?"w-3 h-3":"w-2.5 h-2.5");bodyWrapperClass_$=d(()=>{let e=this.density();return this.tone()==="changes"?e==="comfortable"?"px-2.5 py-1.5 bg-neutral-800/20 border-t border-neutral-700/15":"px-1.5 py-1 bg-neutral-800/15 border-t border-neutral-700/10":e==="comfortable"?"px-2.5 py-1.5 bg-neutral-800/30 border-t border-neutral-700/20":"px-1.5 py-1 bg-neutral-800/20 border-t border-neutral-700/15"});static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-collapsible-disclosure"]],hostAttrs:[1,"block","border-t","border-orange-500/20"],inputs:{summaryLabel:[1,"summaryLabel"],density:[1,"density"],tone:[1,"tone"]},standalone:!0,features:[_],ngContentSelectors:Qe,decls:9,vars:8,consts:[[1,"group/sdisclosure","group/pr"],["viewBox","0 0 12 12","fill","none",1,"text-neutral-500","shrink-0","transition-transform","[[open]>&]:rotate-90",3,"ngClass"],["d","M4.5 2.5l4 3.5-4 3.5","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","stroke-linejoin","round"]],template:function(o,n){o&1&&(T(Ue),a(0,"details",0)(1,"summary"),I(),a(2,"svg",1),D(3,"path",2),s(),N(),a(4,"span"),m(5),s(),w(6),s(),a(7,"div"),w(8,1),s()()),o&2&&(r(),S(n.summaryRowClass_$()),r(),l("ngClass",n.chevronSizeClass_$()),r(2),S(n.summaryLabelClass_$()),r(),x(n.summaryLabel()),r(2),S(n.bodyWrapperClass_$()))},dependencies:[f,A],encapsulation:2})}return t})();var Ze=["*"],G=(()=>{class t{maxHeightPx=i(250);density=i("comfortable");innerClass_$=d(()=>(this.density()==="comfortable","font-mono"));static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-monospace-scroll-block"]],hostAttrs:[1,"block"],inputs:{maxHeightPx:[1,"maxHeightPx"],density:[1,"density"]},standalone:!0,features:[_],ngContentSelectors:Ze,decls:2,vars:4,consts:[[1,"overflow-y-auto","overflow-x-auto","font-mono"]],template:function(o,n){o&1&&(T(),a(0,"div",0),w(1),s()),o&2&&(S(n.innerClass_$()),oe("max-height",n.maxHeightPx(),"px"))},dependencies:[f],encapsulation:2})}return t})();var Ee=(()=>{class t{sanitizer;constructor(e){this.sanitizer=e}transform(e){let o=this.getSvgForTool(e??"");return this.sanitizer.bypassSecurityTrustHtml(o)}getSvgForTool(e){switch(e){case"Read":return`<svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
2
2
  <path d="M4 2h6l4 4v8a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z"/>
3
3
  <path d="M10 2v4h4"/>
4
4
  <path d="M6 9h4"/><path d="M6 12h2"/>
@@ -35,4 +35,4 @@ import{a as Ce}from"./chunk-ZSZVSMNC.js";import{a as ve}from"./chunk-7JUIBZEE.js
35
35
  </svg>`;default:return`<svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
36
36
  <path d="M10.5 1.5a4 4 0 0 0-5 5L2 10l-.5 4.5L6 14l3.5-3.5a4 4 0 0 0 5-5l-2.5 2.5-2-2L12.5 3.5z"/>
37
37
  </svg>`}}static \u0275fac=function(o){return new(o||t)(ne(me,16))};static \u0275pipe=ee({name:"sAgentToolIcon",type:t,pure:!0,standalone:!0})}return t})();var et=(t,p)=>({"[&>svg]:w-3":t,"[&>svg]:h-3":p}),je=(t,p)=>({"text-[11px] text-orange-300/90 max-w-[400px]":t,"text-[10px] text-orange-300/70 max-w-[350px]":p}),tt=(t,p)=>({"w-4 h-4 border-orange-500/30 bg-orange-500/20 hover:bg-orange-500/40":t,"w-3.5 h-3.5 bg-orange-500/15 hover:bg-orange-500/30":p}),nt=(t,p)=>({"text-[8px] text-orange-300":t,"text-[7px] text-orange-300/70":p});function ot(t,p){if(t&1&&(a(0,"span",2),m(1),s()),t&2){let e=u();r(),x(e.toolName())}}function it(t,p){if(t&1&&(a(0,"span",3),m(1),s()),t&2){let e=u();l("ngClass",v(2,je,e.density()==="comfortable",e.density()==="compact")),r(),x(e.toolDescription())}}function rt(t,p){if(t&1&&(a(0,"span",3),m(1),s()),t&2){let e=u(),o=pe(4);l("ngClass",v(3,je,e.density()==="comfortable",e.density()==="compact")),M("dir",e.isPathRtl()?"rtl":null),r(),$(" ",o," ")}}function at(t,p){if(t&1){let e=L();a(0,"button",5),C("click",function(n){R(e);let c=u();return B(c.handleRawInfoClick(n))}),a(1,"span",6),m(2,"i"),s()()}if(t&2){let e=u();l("ngClass",v(2,tt,e.density()==="comfortable",e.density()==="compact")),r(),l("ngClass",v(5,nt,e.density()==="comfortable",e.density()==="compact"))}}var J=(()=>{class t{toolName=i("");summaryText=i("");toolDescription=i("");isPathRtl=i(!1);showRawInfoButton=i(!1);density=i("comfortable");static PATH_DISPLAY_MAX_CHARS=80;displaySummary_$=d(()=>{let e=this.summaryText(),o=this.toolName();if(!e||e===o)return null;let n=`${o}: `,c=e.startsWith(n)?e.substring(n.length):e;return c.length===0?null:this.isPathRtl()&&c.length>t.PATH_DISPLAY_MAX_CHARS?`\u2026${c.slice(-(t.PATH_DISPLAY_MAX_CHARS-1))}`:c});rawInfoClick=y();handleRawInfoClick(e){e.stopPropagation(),this.rawInfoClick.emit()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-agent-tool-summary-row"]],hostAttrs:[1,"block"],inputs:{toolName:[1,"toolName"],summaryText:[1,"summaryText"],toolDescription:[1,"toolDescription"],isPathRtl:[1,"isPathRtl"],showRawInfoButton:[1,"showRawInfoButton"],density:[1,"density"]},outputs:{rawInfoClick:"rawInfoClick"},standalone:!0,features:[_],decls:8,vars:19,consts:[[1,"flex","items-center","gap-1.5"],[1,"text-orange-400","shrink-0","flex","items-center",3,"ngClass","innerHTML"],[1,"text-[11px]","text-orange-300/90","font-medium","shrink-0"],[1,"truncate",3,"ngClass"],["type","button",1,"ml-auto","shrink-0","rounded-full","border","flex","items-center","justify-center","cursor-pointer",3,"ngClass"],["type","button",1,"ml-auto","shrink-0","rounded-full","border","flex","items-center","justify-center","cursor-pointer",3,"click","ngClass"],[1,"font-bold","leading-none",3,"ngClass"]],template:function(o,n){if(o&1&&(a(0,"div",0),D(1,"span",1),K(2,"sAgentToolIcon"),b(3,ot,2,1,"span",2),se(4),b(5,it,2,5,"span",3)(6,rt,2,6,"span",3)(7,at,3,8,"button",4),s()),o&2){V("px-2",n.density()==="comfortable")("py-1",n.density()==="comfortable")("px-1",n.density()==="compact")("py-0",n.density()==="compact"),r(),l("ngClass",v(16,et,n.density()==="compact",n.density()==="compact"))("innerHTML",W(2,13,n.toolName()),z),r(2),h(n.density()==="comfortable"?3:-1),r();let c=le(n.displaySummary_$());r(),h(n.toolDescription()?5:c?6:-1),r(2),h(n.showRawInfoButton()?7:-1)}},dependencies:[f,A,Ee],encapsulation:2})}return t})();var Fe=(t,p)=>({"text-[10px]":t,"text-[9px]":p}),st=(t,p)=>({"w-3.5 h-3.5 bg-neutral-700/60":t,"w-3 h-3 bg-neutral-700/60":p}),lt=(t,p)=>({"text-[7px]":t,"text-[6px]":p});function pt(t,p){if(t&1&&(a(0,"app-s-collapsible-disclosure",1)(1,"app-s-monospace-scroll-block",3)(2,"pre",4),K(3,"sEditDiff"),m(4," "),s()()()),t&2){let e=u();l("summaryLabel",e.changesSummaryLabel())("density",e.density()),r(),l("maxHeightPx",e.scrollMaxHeightPx_$())("density",e.density()),r(),l("ngClass",v(8,Fe,e.density()==="comfortable",e.density()==="compact"))("innerHTML",W(3,6,e.expandableContent()),z)}}function dt(t,p){if(t&1){let e=L();a(0,"button",7),C("click",function(n){R(e);let c=u(2);return B(c.handlePairedRawClick(n))}),a(1,"span",8),m(2,"i"),s()()}if(t&2){let e=u(2);l("ngClass",v(2,st,e.density()==="comfortable",e.density()==="compact")),r(),l("ngClass",v(5,lt,e.density()==="comfortable",e.density()==="compact"))}}function ct(t,p){if(t&1&&(a(0,"app-s-collapsible-disclosure",2),b(1,dt,3,8,"button",5),a(2,"app-s-monospace-scroll-block",3)(3,"pre",6),m(4),s()()()),t&2){let e=p,o=u();l("summaryLabel",e.text)("density",o.density()),r(),h(e.rawData?1:-1),r(),l("maxHeightPx",o.scrollMaxHeightPx_$())("density",o.density()),r(),l("ngClass",v(7,Fe,o.density()==="comfortable",o.density()==="compact")),r(),x(e.expandableContent||e.text)}}var He=(()=>{class t{toolName=i("");summaryText=i("");toolDescription=i("");isPathRtl=i(!1);showToolRawInfo=i(!1);expandableContent=i("");pairedResult=i(null);density=i("comfortable");layout=i("full");changesSummaryLabel=i("Changes");toolRawInfoClick=y();pairedRawInfoClick=y();containerClass_$=d(()=>this.layout()==="full"?"overflow-hidden":"overflow-hidden border border-orange-500/10 rounded");scrollMaxHeightPx_$=d(()=>this.density()==="comfortable"?250:150);handlePairedRawClick(e){e.stopPropagation(),this.pairedRawInfoClick.emit()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=g({type:t,selectors:[["app-s-agent-tool-call-card"]],hostAttrs:[1,"block"],inputs:{toolName:[1,"toolName"],summaryText:[1,"summaryText"],toolDescription:[1,"toolDescription"],isPathRtl:[1,"isPathRtl"],showToolRawInfo:[1,"showToolRawInfo"],expandableContent:[1,"expandableContent"],pairedResult:[1,"pairedResult"],density:[1,"density"],layout:[1,"layout"],changesSummaryLabel:[1,"changesSummaryLabel"]},outputs:{toolRawInfoClick:"toolRawInfoClick",pairedRawInfoClick:"pairedRawInfoClick"},standalone:!0,features:[_],decls:4,vars:10,consts:[[3,"rawInfoClick","toolName","summaryText","toolDescription","isPathRtl","showRawInfoButton","density"],["tone","changes",3,"summaryLabel","density"],["tone","result",3,"summaryLabel","density"],[3,"maxHeightPx","density"],[1,"text-neutral-400","whitespace-pre-wrap","break-words","leading-relaxed","m-0","overflow-x-auto",3,"ngClass","innerHTML"],["sDisclosureSummaryTrailing","","type","button",1,"ml-auto","shrink-0","rounded-full","border","border-neutral-600/40","flex","items-center","justify-center","cursor-pointer","hover:bg-neutral-600",3,"ngClass"],[1,"text-neutral-400","whitespace-pre-wrap","break-words","leading-relaxed","m-0","overflow-x-auto",3,"ngClass"],["sDisclosureSummaryTrailing","","type","button",1,"ml-auto","shrink-0","rounded-full","border","border-neutral-600/40","flex","items-center","justify-center","cursor-pointer","hover:bg-neutral-600",3,"click","ngClass"],[1,"font-bold","leading-none","text-neutral-300",3,"ngClass"]],template:function(o,n){if(o&1&&(a(0,"div")(1,"app-s-agent-tool-summary-row",0),C("rawInfoClick",function(){return n.toolRawInfoClick.emit()}),s(),b(2,pt,5,11,"app-s-collapsible-disclosure",1)(3,ct,5,10,"app-s-collapsible-disclosure",2),s()),o&2){let c;S(n.containerClass_$()),r(),l("toolName",n.toolName())("summaryText",n.summaryText())("toolDescription",n.toolDescription())("isPathRtl",n.isPathRtl())("showRawInfoButton",n.showToolRawInfo())("density",n.density()),r(),h(n.expandableContent()?2:-1),r(),h((c=n.pairedResult())?3:-1,c)}},dependencies:[f,A,Me,J,q,G],encapsulation:2})}return t})();var Wn=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275mod=Z({type:t});static \u0275inj=Q({imports:[f,Ie,Le,Ae,Ce,ge,ye,be,he,Re,Se,we,xe,ve,$e,ke,Te,q,G,J,He,Pe,De,_e]})}return t})();export{Ie as a,Le as b,Ae as c,Re as d,Ee as e,He as f,Wn as g};
38
- //# sourceMappingURL=chunk-I63FNAQQ.js.map
38
+ //# sourceMappingURL=chunk-WCWRDALU.js.map
@@ -1,2 +1,2 @@
1
- import{p as h}from"./chunk-DT745Z7F.js";import{h as S}from"./chunk-TBMJSIBB.js";var c=S(h()),f=60,d=60*60,g=60*60*24,M=7,m=class{static formatRelativeTime(t){if(t==null)return"";let n=typeof t=="string"?new Date(t):t;if(Number.isNaN(n.getTime()))return"";let a=new Date,i=a.getTime()-n.getTime(),o=Math.floor(i/c.second);if(o<0)return"";if(o<f)return"just now";let e=Math.floor(o/f);if(e<60)return e===1?"1 minute ago":`${e} minutes ago`;let s=Math.floor(o/d);if(s<24)return s===1?"1 hour ago":`${s} hours ago`;let r=Math.floor(o/g);if(r<=M)return r===1?"1 day ago":`${r} days ago`;let u={month:"short",day:"numeric",year:n.getFullYear()!==a.getFullYear()?"numeric":void 0};return n.toLocaleDateString(void 0,u)}static formatCompactRelativeTime(t){if(t==null)return"";let n=typeof t=="string"?new Date(t):t;if(Number.isNaN(n.getTime()))return"";let i=Date.now()-n.getTime();if(i<0)return"just now";let o=Math.floor(i/c.second),e=Math.floor(o/f),s=Math.floor(o/d),r=Math.floor(o/g);return o<f?"just now":e<60?`${e}m ago`:s<24?`${s}h ago`:r<30?`${r}d ago`:`${Math.floor(r/30)}mo ago`}static formatAbsoluteForTooltip(t){if(t==null)return"";let n=typeof t=="string"?new Date(t):t;if(Number.isNaN(n.getTime()))return"";let a=String(n.getFullYear()),i=String(n.getMonth()+1).padStart(2,"0"),o=String(n.getDate()).padStart(2,"0"),e=String(n.getHours()).padStart(2,"0"),s=String(n.getMinutes()).padStart(2,"0"),r=String(n.getSeconds()).padStart(2,"0");return`${a}-${i}-${o} ${e}:${s}:${r}`}};export{m as a};
2
- //# sourceMappingURL=chunk-K6GDVWWX.js.map
1
+ import{p as h}from"./chunk-FLV3DZFK.js";import{h as S}from"./chunk-TBMJSIBB.js";var c=S(h()),f=60,d=60*60,g=60*60*24,M=7,m=class{static formatRelativeTime(t){if(t==null)return"";let n=typeof t=="string"?new Date(t):t;if(Number.isNaN(n.getTime()))return"";let a=new Date,i=a.getTime()-n.getTime(),o=Math.floor(i/c.second);if(o<0)return"";if(o<f)return"just now";let e=Math.floor(o/f);if(e<60)return e===1?"1 minute ago":`${e} minutes ago`;let s=Math.floor(o/d);if(s<24)return s===1?"1 hour ago":`${s} hours ago`;let r=Math.floor(o/g);if(r<=M)return r===1?"1 day ago":`${r} days ago`;let u={month:"short",day:"numeric",year:n.getFullYear()!==a.getFullYear()?"numeric":void 0};return n.toLocaleDateString(void 0,u)}static formatCompactRelativeTime(t){if(t==null)return"";let n=typeof t=="string"?new Date(t):t;if(Number.isNaN(n.getTime()))return"";let i=Date.now()-n.getTime();if(i<0)return"just now";let o=Math.floor(i/c.second),e=Math.floor(o/f),s=Math.floor(o/d),r=Math.floor(o/g);return o<f?"just now":e<60?`${e}m ago`:s<24?`${s}h ago`:r<30?`${r}d ago`:`${Math.floor(r/30)}mo ago`}static formatAbsoluteForTooltip(t){if(t==null)return"";let n=typeof t=="string"?new Date(t):t;if(Number.isNaN(n.getTime()))return"";let a=String(n.getFullYear()),i=String(n.getMonth()+1).padStart(2,"0"),o=String(n.getDate()).padStart(2,"0"),e=String(n.getHours()).padStart(2,"0"),s=String(n.getMinutes()).padStart(2,"0"),r=String(n.getSeconds()).padStart(2,"0");return`${a}-${i}-${o} ${e}:${s}:${r}`}};export{m as a};
2
+ //# sourceMappingURL=chunk-WCXV5NA2.js.map