@futdevpro/ccap 1.1.2600 → 1.1.2617

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 (185) hide show
  1. package/client-dist/{agent-instances.module-RAV7HHF2.js → agent-instances.module-EN3TUWCP.js} +2 -2
  2. package/client-dist/{ca.module-7OCRG3HP.js → ca.module-GORAHZS3.js} +2 -2
  3. package/client-dist/{cc.module-JINX77QE.js → cc.module-V7UUWHNN.js} +2 -2
  4. package/client-dist/{chunk-AYJCM63I.js → chunk-3YVLAGRH.js} +2 -2
  5. package/client-dist/{chunk-XOJZHSXQ.js → chunk-4QEHZHVD.js} +2 -2
  6. package/client-dist/{chunk-MPWLBWFV.js → chunk-5M33R74G.js} +2 -2
  7. package/client-dist/{chunk-KOHEHAJH.js → chunk-5MXK7YEG.js} +2 -2
  8. package/client-dist/{chunk-YFAUBVLW.js → chunk-6J4SX5W3.js} +2 -2
  9. package/client-dist/{chunk-BCWV6FDW.js → chunk-6R36KJBX.js} +2 -2
  10. package/client-dist/{chunk-EQXFFAQB.js → chunk-6UEKWFBY.js} +2 -2
  11. package/client-dist/{chunk-6HOIO6YB.js → chunk-ABFHBZMB.js} +2 -2
  12. package/client-dist/{chunk-ZXN6ZMCA.js → chunk-BCGCVDWE.js} +2 -2
  13. package/client-dist/{chunk-WAIUTAFO.js → chunk-BI53K7S7.js} +2 -2
  14. package/client-dist/{chunk-6H2D56OQ.js → chunk-BMPC7YQQ.js} +2 -2
  15. package/client-dist/{chunk-6CCPAVH4.js → chunk-BT66EBDO.js} +2 -2
  16. package/client-dist/{chunk-7N2AB3X3.js → chunk-C233ZHXW.js} +2 -2
  17. package/client-dist/{chunk-XTGZETS4.js → chunk-D7OQ7EDV.js} +2 -2
  18. package/client-dist/{chunk-52QWZSHN.js → chunk-DEIALVMK.js} +2 -2
  19. package/client-dist/{chunk-HZGBIPFR.js → chunk-DQRYQQIF.js} +2 -2
  20. package/client-dist/{chunk-NA5B7LHT.js → chunk-FQGFAUMM.js} +2 -2
  21. package/client-dist/{chunk-2IF7VGCW.js → chunk-GV7SWYVG.js} +2 -2
  22. package/client-dist/{chunk-RYSU27AU.js → chunk-IE4EXO7F.js} +2 -2
  23. package/client-dist/{chunk-35XN6UG7.js → chunk-IVJK5V3T.js} +2 -2
  24. package/client-dist/{chunk-MF7J3KTS.js → chunk-IXD22FGA.js} +2 -2
  25. package/client-dist/{chunk-LH3G7VRR.js → chunk-JA6NJ3HY.js} +2 -2
  26. package/client-dist/{chunk-UTGTPXUZ.js → chunk-JB7S5KFM.js} +2 -2
  27. package/client-dist/{chunk-WWQPVR74.js → chunk-JYN4W4IW.js} +2 -2
  28. package/client-dist/{chunk-P34E64AS.js → chunk-K3ABKMDH.js} +2 -2
  29. package/client-dist/{chunk-TQ5MHLKT.js → chunk-KU3NFCE3.js} +2 -2
  30. package/client-dist/{chunk-TQXB5XON.js → chunk-L65JUKSC.js} +2 -2
  31. package/client-dist/{chunk-5XMZU36W.js → chunk-LVVC3ZN5.js} +2 -2
  32. package/client-dist/{chunk-VUAHZ4CQ.js → chunk-MUROLI6H.js} +2 -2
  33. package/client-dist/{chunk-J7FLPQED.js → chunk-N347O4ZR.js} +2 -2
  34. package/client-dist/{chunk-VOHSYLUS.js → chunk-NMGB6Q45.js} +2 -2
  35. package/client-dist/{chunk-EUZ6PRKT.js → chunk-OLBAIJHY.js} +2 -2
  36. package/client-dist/{chunk-4DJ575JY.js → chunk-OMGAJHQQ.js} +2 -2
  37. package/client-dist/{chunk-ODFFLETA.js → chunk-PEHTATOM.js} +2 -2
  38. package/client-dist/{chunk-OAFJGVTH.js → chunk-PGMQ56NB.js} +2 -2
  39. package/client-dist/{chunk-HEYL5ZQD.js → chunk-PMLUJE5N.js} +2 -2
  40. package/client-dist/{chunk-CTDX27O6.js → chunk-PP73DOUH.js} +2 -2
  41. package/client-dist/{chunk-YE2HQ4TA.js → chunk-QBRWMKSU.js} +2 -2
  42. package/client-dist/{chunk-XFOT5KWF.js → chunk-QDW4DDEH.js} +2 -2
  43. package/client-dist/{chunk-PFPOKH5W.js → chunk-R7CNI5LG.js} +2 -2
  44. package/client-dist/{chunk-E76GC2YK.js → chunk-RG4B2EC4.js} +2 -2
  45. package/client-dist/{chunk-4VXIIEH5.js → chunk-RHEQKQT3.js} +2 -2
  46. package/client-dist/{chunk-Y5FLAZ3X.js → chunk-S6GMI7R3.js} +2 -2
  47. package/client-dist/{chunk-CBQEBM6O.js → chunk-SNA7RAMU.js} +2 -2
  48. package/client-dist/{chunk-VOLZTHRV.js → chunk-SSPO3S2C.js} +2 -2
  49. package/client-dist/{chunk-KKPFIOF2.js → chunk-SUOO3ZQQ.js} +2 -2
  50. package/client-dist/{chunk-FPFVIPAH.js → chunk-TBE7X4MG.js} +2 -2
  51. package/client-dist/{chunk-D5S6KJPQ.js → chunk-TOU2FRKB.js} +2 -2
  52. package/client-dist/{chunk-2R7Z6ZYN.js → chunk-URBFZBHB.js} +2 -2
  53. package/client-dist/{chunk-PL2FCBAF.js → chunk-UWC76UG2.js} +2 -2
  54. package/client-dist/{chunk-GAST5KXQ.js → chunk-WH2RXTQX.js} +2 -2
  55. package/client-dist/{chunk-GAST5KXQ.js.map → chunk-WH2RXTQX.js.map} +1 -1
  56. package/client-dist/{chunk-FYF4IYIU.js → chunk-XWRXJ2PQ.js} +2 -2
  57. package/client-dist/{chunk-5HH23IFL.js → chunk-XWWVDCIV.js} +2 -2
  58. package/client-dist/{chunk-VV2I3CSM.js → chunk-Y7KI3XKP.js} +2 -2
  59. package/client-dist/{chunk-JHDCUB45.js → chunk-YASHJ2WC.js} +2 -2
  60. package/client-dist/{chunk-NW3JFOV4.js → chunk-YSPF4PQW.js} +2 -2
  61. package/client-dist/{consultant.module-I3ENZNQC.js → consultant.module-YXJGRCVB.js} +2 -2
  62. package/client-dist/{crd.module-7JS3KWTM.js → crd.module-K5IU7FAD.js} +2 -2
  63. package/client-dist/{dashboard.module-XXMAQBNJ.js → dashboard.module-JZHORI36.js} +2 -2
  64. package/client-dist/{do.module-CXG2HUAX.js → do.module-VJDE653T.js} +2 -2
  65. package/client-dist/{document-library.module-ZL5ODHCY.js → document-library.module-S7H4MOVL.js} +2 -2
  66. package/client-dist/{embedding-eval.module-6DW7HZTN.js → embedding-eval.module-XEHPYHRV.js} +2 -2
  67. package/client-dist/{embedding-registry.module-Z2SVB3TY.js → embedding-registry.module-RYDZNKNT.js} +2 -2
  68. package/client-dist/{err.module-RYMZGRVL.js → err.module-PGJZBINE.js} +2 -2
  69. package/client-dist/{feedback.module-SZVELT76.js → feedback.module-LL2MRM2Q.js} +2 -2
  70. package/client-dist/{host-runtime-mcp.module-CYUUXZKE.js → host-runtime-mcp.module-6CUKTPUO.js} +2 -2
  71. package/client-dist/index.html +1 -1
  72. package/client-dist/{live-dev-pipeline.module-PMZ3UUY5.js → live-dev-pipeline.module-HFCGROXH.js} +2 -2
  73. package/client-dist/{logs.module-NDMVSHOA.js → logs.module-DHBSE2KE.js} +2 -2
  74. package/client-dist/{main-SZ7ZEVCX.js → main-XCMYEZXM.js} +3 -3
  75. package/client-dist/{master-control-remote-poc.module-XLUIZVSA.js → master-control-remote-poc.module-SXSUM2KX.js} +2 -2
  76. package/client-dist/{mobile-app.module-FWPSMIZB.js → mobile-app.module-VTEZJSGQ.js} +2 -2
  77. package/client-dist/{model-registry.module-UW37TGEW.js → model-registry.module-AFGLVYHQ.js} +2 -2
  78. package/client-dist/{oc.module-L4H3XRWP.js → oc.module-46CPQK5Q.js} +2 -2
  79. package/client-dist/{orc.module-CKK5KQJF.js → orc.module-AHFLHGAC.js} +2 -2
  80. package/client-dist/{project-management.module-6TY6LEDU.js → project-management.module-IO2GKZSD.js} +2 -2
  81. package/client-dist/project-source-routed.module-2NWLCLTD.js +2 -0
  82. package/client-dist/{scheduler.module-CMFNIFE4.js → scheduler.module-SSRON4PT.js} +2 -2
  83. package/client-dist/{session.module-R23E4LTV.js → session.module-LTJ4UVWH.js} +2 -2
  84. package/client-dist/{set.module-TXWTLSYZ.js → set.module-PVV66J2Z.js} +2 -2
  85. package/client-dist/{setup.module-WMR5PXNH.js → setup.module-RNGQCVLV.js} +2 -2
  86. package/client-dist/{terminals.module-TZGNNPYN.js → terminals.module-73MWV7AD.js} +2 -2
  87. package/client-dist/{voice-notes-poc.module-SI7RL4BC.js → voice-notes-poc.module-AQVKDVVI.js} +2 -2
  88. package/client-dist/{wfs.module-ECFJOJKY.js → wfs.module-2QEI4QBQ.js} +2 -2
  89. package/package.json +1 -1
  90. package/server/build/src/_modules/ccap-agent/_modules/tools/_services/tls-execution.control-service.d.ts +14 -0
  91. package/server/build/src/_modules/ccap-agent/_modules/tools/_services/tls-execution.control-service.d.ts.map +1 -1
  92. package/server/build/src/_modules/ccap-agent/_modules/tools/_services/tls-execution.control-service.js +36 -8
  93. package/server/build/src/_modules/ccap-agent/_modules/tools/_services/tls-execution.control-service.js.map +1 -1
  94. package/server/build/src/_modules/ccap-agent/_modules/tools/_services/tls-execution.control-service.spec.js +46 -0
  95. package/server/build/src/_modules/ccap-agent/_modules/tools/_services/tls-execution.control-service.spec.js.map +1 -1
  96. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.d.ts +20 -43
  97. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.d.ts.map +1 -1
  98. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js +43 -43
  99. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js.map +1 -1
  100. package/client-dist/project-source-routed.module-UBW7TDSM.js +0 -2
  101. /package/client-dist/{agent-instances.module-RAV7HHF2.js.map → agent-instances.module-EN3TUWCP.js.map} +0 -0
  102. /package/client-dist/{ca.module-7OCRG3HP.js.map → ca.module-GORAHZS3.js.map} +0 -0
  103. /package/client-dist/{cc.module-JINX77QE.js.map → cc.module-V7UUWHNN.js.map} +0 -0
  104. /package/client-dist/{chunk-AYJCM63I.js.map → chunk-3YVLAGRH.js.map} +0 -0
  105. /package/client-dist/{chunk-XOJZHSXQ.js.map → chunk-4QEHZHVD.js.map} +0 -0
  106. /package/client-dist/{chunk-MPWLBWFV.js.map → chunk-5M33R74G.js.map} +0 -0
  107. /package/client-dist/{chunk-KOHEHAJH.js.map → chunk-5MXK7YEG.js.map} +0 -0
  108. /package/client-dist/{chunk-YFAUBVLW.js.map → chunk-6J4SX5W3.js.map} +0 -0
  109. /package/client-dist/{chunk-BCWV6FDW.js.map → chunk-6R36KJBX.js.map} +0 -0
  110. /package/client-dist/{chunk-EQXFFAQB.js.map → chunk-6UEKWFBY.js.map} +0 -0
  111. /package/client-dist/{chunk-6HOIO6YB.js.map → chunk-ABFHBZMB.js.map} +0 -0
  112. /package/client-dist/{chunk-ZXN6ZMCA.js.map → chunk-BCGCVDWE.js.map} +0 -0
  113. /package/client-dist/{chunk-WAIUTAFO.js.map → chunk-BI53K7S7.js.map} +0 -0
  114. /package/client-dist/{chunk-6H2D56OQ.js.map → chunk-BMPC7YQQ.js.map} +0 -0
  115. /package/client-dist/{chunk-6CCPAVH4.js.map → chunk-BT66EBDO.js.map} +0 -0
  116. /package/client-dist/{chunk-7N2AB3X3.js.map → chunk-C233ZHXW.js.map} +0 -0
  117. /package/client-dist/{chunk-XTGZETS4.js.map → chunk-D7OQ7EDV.js.map} +0 -0
  118. /package/client-dist/{chunk-52QWZSHN.js.map → chunk-DEIALVMK.js.map} +0 -0
  119. /package/client-dist/{chunk-HZGBIPFR.js.map → chunk-DQRYQQIF.js.map} +0 -0
  120. /package/client-dist/{chunk-NA5B7LHT.js.map → chunk-FQGFAUMM.js.map} +0 -0
  121. /package/client-dist/{chunk-2IF7VGCW.js.map → chunk-GV7SWYVG.js.map} +0 -0
  122. /package/client-dist/{chunk-RYSU27AU.js.map → chunk-IE4EXO7F.js.map} +0 -0
  123. /package/client-dist/{chunk-35XN6UG7.js.map → chunk-IVJK5V3T.js.map} +0 -0
  124. /package/client-dist/{chunk-MF7J3KTS.js.map → chunk-IXD22FGA.js.map} +0 -0
  125. /package/client-dist/{chunk-LH3G7VRR.js.map → chunk-JA6NJ3HY.js.map} +0 -0
  126. /package/client-dist/{chunk-UTGTPXUZ.js.map → chunk-JB7S5KFM.js.map} +0 -0
  127. /package/client-dist/{chunk-WWQPVR74.js.map → chunk-JYN4W4IW.js.map} +0 -0
  128. /package/client-dist/{chunk-P34E64AS.js.map → chunk-K3ABKMDH.js.map} +0 -0
  129. /package/client-dist/{chunk-TQ5MHLKT.js.map → chunk-KU3NFCE3.js.map} +0 -0
  130. /package/client-dist/{chunk-TQXB5XON.js.map → chunk-L65JUKSC.js.map} +0 -0
  131. /package/client-dist/{chunk-5XMZU36W.js.map → chunk-LVVC3ZN5.js.map} +0 -0
  132. /package/client-dist/{chunk-VUAHZ4CQ.js.map → chunk-MUROLI6H.js.map} +0 -0
  133. /package/client-dist/{chunk-J7FLPQED.js.map → chunk-N347O4ZR.js.map} +0 -0
  134. /package/client-dist/{chunk-VOHSYLUS.js.map → chunk-NMGB6Q45.js.map} +0 -0
  135. /package/client-dist/{chunk-EUZ6PRKT.js.map → chunk-OLBAIJHY.js.map} +0 -0
  136. /package/client-dist/{chunk-4DJ575JY.js.map → chunk-OMGAJHQQ.js.map} +0 -0
  137. /package/client-dist/{chunk-ODFFLETA.js.map → chunk-PEHTATOM.js.map} +0 -0
  138. /package/client-dist/{chunk-OAFJGVTH.js.map → chunk-PGMQ56NB.js.map} +0 -0
  139. /package/client-dist/{chunk-HEYL5ZQD.js.map → chunk-PMLUJE5N.js.map} +0 -0
  140. /package/client-dist/{chunk-CTDX27O6.js.map → chunk-PP73DOUH.js.map} +0 -0
  141. /package/client-dist/{chunk-YE2HQ4TA.js.map → chunk-QBRWMKSU.js.map} +0 -0
  142. /package/client-dist/{chunk-XFOT5KWF.js.map → chunk-QDW4DDEH.js.map} +0 -0
  143. /package/client-dist/{chunk-PFPOKH5W.js.map → chunk-R7CNI5LG.js.map} +0 -0
  144. /package/client-dist/{chunk-E76GC2YK.js.map → chunk-RG4B2EC4.js.map} +0 -0
  145. /package/client-dist/{chunk-4VXIIEH5.js.map → chunk-RHEQKQT3.js.map} +0 -0
  146. /package/client-dist/{chunk-Y5FLAZ3X.js.map → chunk-S6GMI7R3.js.map} +0 -0
  147. /package/client-dist/{chunk-CBQEBM6O.js.map → chunk-SNA7RAMU.js.map} +0 -0
  148. /package/client-dist/{chunk-VOLZTHRV.js.map → chunk-SSPO3S2C.js.map} +0 -0
  149. /package/client-dist/{chunk-KKPFIOF2.js.map → chunk-SUOO3ZQQ.js.map} +0 -0
  150. /package/client-dist/{chunk-FPFVIPAH.js.map → chunk-TBE7X4MG.js.map} +0 -0
  151. /package/client-dist/{chunk-D5S6KJPQ.js.map → chunk-TOU2FRKB.js.map} +0 -0
  152. /package/client-dist/{chunk-2R7Z6ZYN.js.map → chunk-URBFZBHB.js.map} +0 -0
  153. /package/client-dist/{chunk-PL2FCBAF.js.map → chunk-UWC76UG2.js.map} +0 -0
  154. /package/client-dist/{chunk-FYF4IYIU.js.map → chunk-XWRXJ2PQ.js.map} +0 -0
  155. /package/client-dist/{chunk-5HH23IFL.js.map → chunk-XWWVDCIV.js.map} +0 -0
  156. /package/client-dist/{chunk-VV2I3CSM.js.map → chunk-Y7KI3XKP.js.map} +0 -0
  157. /package/client-dist/{chunk-JHDCUB45.js.map → chunk-YASHJ2WC.js.map} +0 -0
  158. /package/client-dist/{chunk-NW3JFOV4.js.map → chunk-YSPF4PQW.js.map} +0 -0
  159. /package/client-dist/{consultant.module-I3ENZNQC.js.map → consultant.module-YXJGRCVB.js.map} +0 -0
  160. /package/client-dist/{crd.module-7JS3KWTM.js.map → crd.module-K5IU7FAD.js.map} +0 -0
  161. /package/client-dist/{dashboard.module-XXMAQBNJ.js.map → dashboard.module-JZHORI36.js.map} +0 -0
  162. /package/client-dist/{do.module-CXG2HUAX.js.map → do.module-VJDE653T.js.map} +0 -0
  163. /package/client-dist/{document-library.module-ZL5ODHCY.js.map → document-library.module-S7H4MOVL.js.map} +0 -0
  164. /package/client-dist/{embedding-eval.module-6DW7HZTN.js.map → embedding-eval.module-XEHPYHRV.js.map} +0 -0
  165. /package/client-dist/{embedding-registry.module-Z2SVB3TY.js.map → embedding-registry.module-RYDZNKNT.js.map} +0 -0
  166. /package/client-dist/{err.module-RYMZGRVL.js.map → err.module-PGJZBINE.js.map} +0 -0
  167. /package/client-dist/{feedback.module-SZVELT76.js.map → feedback.module-LL2MRM2Q.js.map} +0 -0
  168. /package/client-dist/{host-runtime-mcp.module-CYUUXZKE.js.map → host-runtime-mcp.module-6CUKTPUO.js.map} +0 -0
  169. /package/client-dist/{live-dev-pipeline.module-PMZ3UUY5.js.map → live-dev-pipeline.module-HFCGROXH.js.map} +0 -0
  170. /package/client-dist/{logs.module-NDMVSHOA.js.map → logs.module-DHBSE2KE.js.map} +0 -0
  171. /package/client-dist/{main-SZ7ZEVCX.js.map → main-XCMYEZXM.js.map} +0 -0
  172. /package/client-dist/{master-control-remote-poc.module-XLUIZVSA.js.map → master-control-remote-poc.module-SXSUM2KX.js.map} +0 -0
  173. /package/client-dist/{mobile-app.module-FWPSMIZB.js.map → mobile-app.module-VTEZJSGQ.js.map} +0 -0
  174. /package/client-dist/{model-registry.module-UW37TGEW.js.map → model-registry.module-AFGLVYHQ.js.map} +0 -0
  175. /package/client-dist/{oc.module-L4H3XRWP.js.map → oc.module-46CPQK5Q.js.map} +0 -0
  176. /package/client-dist/{orc.module-CKK5KQJF.js.map → orc.module-AHFLHGAC.js.map} +0 -0
  177. /package/client-dist/{project-management.module-6TY6LEDU.js.map → project-management.module-IO2GKZSD.js.map} +0 -0
  178. /package/client-dist/{project-source-routed.module-UBW7TDSM.js.map → project-source-routed.module-2NWLCLTD.js.map} +0 -0
  179. /package/client-dist/{scheduler.module-CMFNIFE4.js.map → scheduler.module-SSRON4PT.js.map} +0 -0
  180. /package/client-dist/{session.module-R23E4LTV.js.map → session.module-LTJ4UVWH.js.map} +0 -0
  181. /package/client-dist/{set.module-TXWTLSYZ.js.map → set.module-PVV66J2Z.js.map} +0 -0
  182. /package/client-dist/{setup.module-WMR5PXNH.js.map → setup.module-RNGQCVLV.js.map} +0 -0
  183. /package/client-dist/{terminals.module-TZGNNPYN.js.map → terminals.module-73MWV7AD.js.map} +0 -0
  184. /package/client-dist/{voice-notes-poc.module-SI7RL4BC.js.map → voice-notes-poc.module-AQVKDVVI.js.map} +0 -0
  185. /package/client-dist/{wfs.module-ECFJOJKY.js.map → wfs.module-2QEI4QBQ.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import{j as ks}from"./chunk-5HH23IFL.js";import{I as $,N as Es,a as _s,b as gs,c as ys,d as cr,e as yt,f as ms,g as ar,i as ur,l as bs,n as lr,p as hr}from"./chunk-GAST5KXQ.js";import{C as oe,H as _t,O as fs,P as De,a as as,aa as z,e as ir,f,g as or,h as us,hb as ps,i as K,ib as gt,jb as Fe,k as u,l as ls,m as hs,w as pt,y as ds}from"./chunk-TBMJSIBB.js";var qe=f(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.DyFM_SocketEvent_Key=void 0;var vs=function(s){return s.incomingNewConnection="connection",s.outgoingNewConnection="connect",s.subscribe="subscribe",s.subscriptionSuccessful="subscriptionSuccessful",s.unsubscribe="unsubscribe",s.unsubscribeSuccessful="unsubscribeSuccessful",s.disconnect="disconnect",s.ping="ping",s.event="event",s.error="error",s}(vs||(Me.DyFM_SocketEvent_Key=vs={}))});var Ss=f(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.DyFM_SocketClient_Params=void 0;var pr=cr(),_r=yt(),bt=class{name;service;address;port;reconnectDelay=pr.second*30;reconnect=!0;socketOptions;constructor(e){Object.assign(this,e),this.reconnect=!!this.reconnectDelay,(this.socketOptions?.autoConnect||this.socketOptions?.reconnection||this.socketOptions?.reconnectionDelay)&&(_r.DyFM_Log.warn("autoConnect or reconnection is set to true in socketOptions, so reconnect is set to false",`
1
+ import{j as ks}from"./chunk-XWWVDCIV.js";import{I as $,N as Es,a as _s,b as gs,c as ys,d as cr,e as yt,f as ms,g as ar,i as ur,l as bs,n as lr,p as hr}from"./chunk-WH2RXTQX.js";import{C as oe,H as _t,O as fs,P as De,a as as,aa as z,e as ir,f,g as or,h as us,hb as ps,i as K,ib as gt,jb as Fe,k as u,l as ls,m as hs,w as pt,y as ds}from"./chunk-TBMJSIBB.js";var qe=f(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.DyFM_SocketEvent_Key=void 0;var vs=function(s){return s.incomingNewConnection="connection",s.outgoingNewConnection="connect",s.subscribe="subscribe",s.subscriptionSuccessful="subscriptionSuccessful",s.unsubscribe="unsubscribe",s.unsubscribeSuccessful="unsubscribeSuccessful",s.disconnect="disconnect",s.ping="ping",s.event="event",s.error="error",s}(vs||(Me.DyFM_SocketEvent_Key=vs={}))});var Ss=f(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.DyFM_SocketClient_Params=void 0;var pr=cr(),_r=yt(),bt=class{name;service;address;port;reconnectDelay=pr.second*30;reconnect=!0;socketOptions;constructor(e){Object.assign(this,e),this.reconnect=!!this.reconnectDelay,(this.socketOptions?.autoConnect||this.socketOptions?.reconnection||this.socketOptions?.reconnectionDelay)&&(_r.DyFM_Log.warn("autoConnect or reconnection is set to true in socketOptions, so reconnect is set to false",`
2
2
  This means that the reconnection will use the socket.io reconnection logic, `,"not the Dynamo implementations."),this.reconnect=!1)}};xe.DyFM_SocketClient_Params=bt});var kt=f(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.DyFM_SocketEvent=void 0;var Ie=ys(),ws=ms(),Ee=yt(),gr=ur(),yr=bs(),ke=qe(),Et=class{name;eventKey;serviceName;preProcesses;tasks;logEvent;logEventContent;stackLocation;constructor(e){try{this.name=e.name??e.eventKey,this.eventKey=e.eventKey,this.serviceName=e.serviceName??"UnknownSocketService",this.preProcesses=e.preProcesses??[],this.tasks=e.tasks??[],this.stackLocation=(0,gr.DyFM_getConstructionStackLocation)(),e.logEvent!==void 0?this.logEvent=e.logEvent:this.eventKey===ke.DyFM_SocketEvent_Key.subscribe?this.logEvent=!1:[ke.DyFM_SocketEvent_Key.incomingNewConnection,ke.DyFM_SocketEvent_Key.outgoingNewConnection,ke.DyFM_SocketEvent_Key.disconnect].includes(this.eventKey)?this.logEvent=Ie.DyFM_global_settings.log_settings.socket_allEvents||Ie.DyFM_global_settings.log_settings.socket_mainEvents:this.logEvent=Ie.DyFM_global_settings.log_settings.socket_allEvents,this.logEventContent=e.logEventContent??Ie.DyFM_global_settings.log_settings.socket_eventContent}catch(t){throw Ee.DyFM_Log.error(`
3
3
  Socket Event params setup failed (${this.serviceName}): ${e.eventKey}`,t),t}}getPreLog(e){return u(this,null,function*(){try{this.logEventContent&&this.eventKey!==ke.DyFM_SocketEvent_Key.incomingNewConnection?Ee.DyFM_Log.log(`---> incoming socket(${this.serviceName}) event: ${this.eventKey};
4
4
 
@@ -8,4 +8,4 @@ socket-client(${this.params?.name}) Service setup finished`),yield this.connectS
8
8
  Fn:. setupDefaultEvents`),this.defaultEvents.forEach(e=>{e.serviceName=this.params.name;let t=this.incomingEvents.find(n=>n.eventKey===e.eventKey);t?t.tasks.unshift(...e.tasks):this.incomingEvents.push(e)})}catch(e){throw k.DyFM_Log.error(`socket-client(${this.params.name}) Service Setup Default Events failed, ERROR:`,e),e}})}setupSocketEvents(){return u(this,null,function*(){try{this.debugLog&&console.log(`Setup socket-client(${this.params.name}) Events...`),yield Io.DyFM_Array.asyncForEach(this.incomingEvents,e=>u(this,null,function*(){e.serviceName=this.params.name,this.socket.on(e.eventKey,t=>u(this,null,function*(){try{yield e.executeEventTasks(t,this.params.service)}catch(n){k.DyFM_Log.error(`socket-client(${this.params.name}) Event failed, ERROR:`,n),yield this.emitEvent(X.DyFM_SocketEvent_Key.error,n)}}))}))}catch(e){throw k.DyFM_Log.error(`socket-client(${this.params.name}) Service Setup Socket Events failed, ERROR:`,e),e}})}connectSocket(){return u(this,null,function*(){try{k.DyFM_Log.info(`< .. > socket-client(${this.params.name}) connecting to ${this.params.address}:${this.params.port} ...`),this.socket.connect(),this.params.reconnect&&(yield this.tryReconnectIfNeeded())}catch(e){throw k.DyFM_Log.error(`socket-client(${this.params.name}) Service Connect Socket failed, ERROR:`,e),e}})}tryingToReconnect=!1;tryReconnectIfNeeded(){return u(this,null,function*(){try{if(console.log("tryReconnectIfNeeded",this._params.reconnectDelay),this.tryingToReconnect){k.DyFM_Log.warn(`socket-client(${this.params.name}) already trying to reconnect!`);return}if(!this.params.reconnect){k.DyFM_Log.warn(`socket-client(${this.params.name}) Dynamo reconnection is disabled!`);return}this.tryingToReconnect=!0,this.logFn&&console.log(`
9
9
  Fn:. tryReconnectIfNeeded`),yield vn.DyFM_Async.delay(this._params.reconnectDelay),this.connected||(this.tryingToReconnect=!1,yield this.connectSocket())}catch(e){throw k.DyFM_Log.error(`socket-client(${this.params.name}) Service Try Reconnect failed, ERROR:`,e),this.tryingToReconnect=!1,e}})}reconnect(){this.tryingToReconnect=!1,this.socket&&this.socket.disconnect(),this.connectSocket()}};lt.DyFM_SocketClient_ServiceBase=os});var wn=f(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});var ht=(gs(),K(_s));ht.__exportStar(qe(),be);ht.__exportStar(Ss(),be);ht.__exportStar(kt(),be);ht.__exportStar(Sn(),be)});function dr(s,e){!e?.injector&&_t(dr);let t=e?.injector??oe(fs),n=new hs(1),r=Fe(()=>{let i;try{i=s()}catch(o){gt(()=>n.error(o));return}gt(()=>n.next(i))},{injector:t,manualCleanup:!0});return t.get(De).onDestroy(()=>{r.destroy(),n.complete()}),n.asObservable()}function mt(s,e){let t=!e?.manualCleanup;t&&!e?.injector&&_t(mt);let n=t?e?.injector?.get(De)??oe(De):null,r=fr(e?.equal),i;e?.requireSync?i=z({kind:0},{equal:r}):i=z({kind:1,value:e?.initialValue},{equal:r});let o=s.subscribe({next:c=>i.set({kind:1,value:c}),error:c=>{if(e?.rejectErrors)throw c;i.set({kind:2,error:c})}});if(e?.requireSync&&i().kind===0)throw new pt(601,!1);return n?.onDestroy(o.unsubscribe.bind(o)),ps(()=>{let c=i();switch(c.kind){case 1:return c.value;case 2:throw c.error;case 0:throw new pt(601,!1)}},{equal:e?.equal})}function fr(s=Object.is){return(e,t)=>e.kind===1&&t.kind===1&&s(e.value,t.value)}var j=function(s){return s.connecting="connecting",s.connected="connected",s.error="error",s}(j||{});var C=us(hr()),d=us(wn());function dt(){if($.socketUrl!==void 0&&$.socketUrl.trim()!=="")return $.socketUrl.trim();if(typeof window<"u"){let s=new URL(window.location.href).origin;return C.DyFM_Log.warn("CCAP_Socket | socketUrl not set, using same-origin fallback:",s),s}return""}function U(s){return s!=null&&typeof s=="object"&&!(s instanceof Error)}function Cn(){return typeof globalThis>"u"?!1:globalThis.jasmine!==void 0}var Tn="answer",On="notify-user",Rn="agent-events",Pn="context:updated",An="monitoring:event",Nn="user-notification",Dn="cc-session:status",Fn="cc-session:output",Mn="cc-session:event",qn="cc-session:list-update",xn="cc-session:session-update",In="ca-session:status",jn="ca-session:output",Ln="ca-session:event",Bn="ca-session:list-update",Un="ext-session-msg:message",Kn="ext-session-msg:update",$n="user-interaction:request",Vn="instance-data:session-status-updated",Wn="instance:presence-update",Hn="openclaw-instance-data:status-updated",Yn="cci-instance-data:status-updated",Xn="cai-instance-data:status-updated",Jn="terminal:list:result",zn="terminal:start:result",Gn="terminal:command-result",Qn="terminal:command-output",Zn="cc:rate-limit-update",er="session-queue:updated",tr="session-queue:lock-changed",Lo="system-error",Bo="terminal-error",Uo="server:start-id",Ko="connect_error",$o=8*C.second,Wc=(()=>{class s extends d.DyFM_SocketClient_ServiceBase{status_$=z(j.connecting);lastError_$=z(null);connectAttemptCount_$=z(0);hasEverConnected=!1;connectionTimeoutId=null;knownServerStartId=null;eventSubject_S=new ls;event$=this.eventSubject_S.asObservable();connected_$=mt(this.connected$,{initialValue:!1});get socketAddress(){return dt()||(this.params?.address??"")}globalError_CS=oe(ks);settingsGeneral_DS=oe(Es);constructor(){super(),Cn()||this.startConnectionTimeout(),Fe(()=>{this.connected&&!this.subscribed&&this.subscribe()})}startConnectionTimeout(){this.clearConnectionTimeout(),this.connectionTimeoutId=setTimeout(()=>{if(this.connectionTimeoutId=null,this.status_$()===j.connecting){let t=new Error("Socket connection timeout \u2013 server unreachable or setup failed. Click to reconnect.");this.status_$.set(j.error),this.lastError_$.set(t),C.DyFM_Log.warn("CCAP_Socket | Connection timeout")}},$o)}clearConnectionTimeout(){this.connectionTimeoutId!==null&&(clearTimeout(this.connectionTimeoutId),this.connectionTimeoutId=null)}getParams(){let t=dt(),n=Cn(),r={path:"/socket",transports:["polling","websocket"],reconnectionDelay:1e3};return n&&(r.reconnection=!1),new d.DyFM_SocketClient_Params({name:"CCAP Client",address:t,reconnect:!n,reconnectDelay:C.minute,socketOptions:r})}getIncomingEvents(){let t=this,n=(r,i)=>{try{let o=U(i)?i:{};if(!t.eventSubject_S){let c=`Socket event dropped: eventSubject not initialized | event: ${r} | This means the socket event system is not functional \u2014 no live updates will arrive.`;C.DyFM_Log.error(`[CCAP_Socket] ${c}`),t.globalError_CS.showError(new Error(c),"client-socket-event-subject");return}t.eventSubject_S.next({event:r,payload:o})}catch(o){let c=o instanceof Error?o.message:String(o);C.DyFM_Log.error(`[CCAP_Socket] pushEnvelope failed | event: ${r} | ${c}`),t.globalError_CS.showError(o instanceof Error?o:new Error(`Socket event processing failed: ${r} \u2014 ${c}`),"client-socket-push-envelope")}};return[new d.DyFM_SocketEvent({eventKey:d.DyFM_SocketEvent_Key.outgoingNewConnection,tasks:[()=>u(this,null,function*(){t.clearConnectionTimeout(),t.hasEverConnected=!0,t.status_$.set(j.connected),t.lastError_$.set(null),t.connectAttemptCount_$.set(0),C.DyFM_Log.info("CCAP_Socket | Connected")})]}),new d.DyFM_SocketEvent({eventKey:d.DyFM_SocketEvent_Key.disconnect,tasks:[()=>u(this,null,function*(){t.hasEverConnected&&t.status_$.set(j.error),C.DyFM_Log.info("CCAP_Socket | Disconnected")})]}),new d.DyFM_SocketEvent({eventKey:Ko,tasks:[r=>u(this,null,function*(){t.clearConnectionTimeout(),t.connectAttemptCount_$.update(a=>a+1);let i=r instanceof Error?r:new Error(String(r)),o=U(r)?r.description:void 0,c=U(r)?r.type:void 0;C.DyFM_Log.info("CCAP_Socket | connect_error",`attempt #${t.connectAttemptCount_$()}`,i?.message??String(r),o!==void 0?String(o):"",c!==void 0?String(c):""),t.status_$.set(j.error);let h=t.params?.address??"",_=t.buildSocketErrorDisplay({err:i,socketUrl:h,eventType:"connect_error",raw:r});t.lastError_$.set(_),t.shouldReportSocketConnectionErrorsToErrorList()&&t.globalError_CS.reportErrorOnly({message:String(_.fullMessage??_.message??i.message),stack:typeof _.stack=="string"?_.stack:void 0,source:"client-socket"})})]}),new d.DyFM_SocketEvent({eventKey:d.DyFM_SocketEvent_Key.error,tasks:[r=>u(this,null,function*(){t.clearConnectionTimeout(),t.status_$.set(j.error);let i=r instanceof Error?r:new Error(String(r)),o=t.params?.address??"",c=t.buildSocketErrorDisplay({err:i,socketUrl:o,eventType:"error",raw:r});t.lastError_$.set(c),t.shouldReportSocketConnectionErrorsToErrorList()&&t.globalError_CS.reportErrorOnly({message:String(c.fullMessage??c.message??i.message),stack:typeof c.stack=="string"?c.stack:void 0,source:"client-socket"})})]}),new d.DyFM_SocketEvent({eventKey:Tn,tasks:[r=>u(this,null,function*(){n(Tn,r)})]}),new d.DyFM_SocketEvent({eventKey:On,tasks:[r=>u(this,null,function*(){n(On,r)})]}),new d.DyFM_SocketEvent({eventKey:Rn,tasks:[r=>u(this,null,function*(){n(Rn,r)})]}),new d.DyFM_SocketEvent({eventKey:Pn,tasks:[r=>u(this,null,function*(){n(Pn,r)})]}),new d.DyFM_SocketEvent({eventKey:An,tasks:[r=>u(this,null,function*(){n(An,r)})]}),new d.DyFM_SocketEvent({eventKey:Nn,tasks:[r=>u(this,null,function*(){let i=U(r)?r:{};if(n(Nn,r),i.type===Lo){let o=t.buildServerErrorDisplay(i);t.globalError_CS.showError(o,"client-socket")}else if(i.type===Bo){let o=t.buildTerminalErrorDisplay(i);t.globalError_CS.showError(o,"client-socket")}})]}),new d.DyFM_SocketEvent({eventKey:Uo,tasks:[r=>u(this,null,function*(){let i=U(r)?r:{},o=typeof i.serverStartId=="number"?i.serverStartId:void 0;o!==void 0&&(t.knownServerStartId===null?(t.knownServerStartId=o,C.DyFM_Log.info("CCAP_Socket | Server start ID stored:",o)):t.knownServerStartId!==o&&(C.DyFM_Log.warn("CCAP_Socket | Server restarted (start ID changed), reloading page"),window.location.reload()))})]}),new d.DyFM_SocketEvent({eventKey:Dn,tasks:[r=>u(this,null,function*(){n(Dn,r)})]}),new d.DyFM_SocketEvent({eventKey:Fn,tasks:[r=>u(this,null,function*(){n(Fn,r)})]}),new d.DyFM_SocketEvent({eventKey:Mn,tasks:[r=>u(this,null,function*(){n(Mn,r)})]}),new d.DyFM_SocketEvent({eventKey:qn,tasks:[r=>u(this,null,function*(){n(qn,r)})]}),new d.DyFM_SocketEvent({eventKey:xn,tasks:[r=>u(this,null,function*(){n(xn,r)})]}),new d.DyFM_SocketEvent({eventKey:In,tasks:[r=>u(this,null,function*(){n(In,r)})]}),new d.DyFM_SocketEvent({eventKey:jn,tasks:[r=>u(this,null,function*(){n(jn,r)})]}),new d.DyFM_SocketEvent({eventKey:Ln,tasks:[r=>u(this,null,function*(){n(Ln,r)})]}),new d.DyFM_SocketEvent({eventKey:Bn,tasks:[r=>u(this,null,function*(){n(Bn,r)})]}),new d.DyFM_SocketEvent({eventKey:Un,tasks:[r=>u(this,null,function*(){n(Un,r)})]}),new d.DyFM_SocketEvent({eventKey:Kn,tasks:[r=>u(this,null,function*(){n(Kn,r)})]}),new d.DyFM_SocketEvent({eventKey:$n,tasks:[r=>u(this,null,function*(){n($n,r)})]}),new d.DyFM_SocketEvent({eventKey:Vn,tasks:[r=>u(this,null,function*(){n(Vn,r)})]}),new d.DyFM_SocketEvent({eventKey:Wn,tasks:[r=>u(this,null,function*(){n(Wn,r)})]}),new d.DyFM_SocketEvent({eventKey:Hn,tasks:[r=>u(this,null,function*(){n(Hn,r)})]}),new d.DyFM_SocketEvent({eventKey:Yn,tasks:[r=>u(this,null,function*(){n(Yn,r)})]}),new d.DyFM_SocketEvent({eventKey:Xn,tasks:[r=>u(this,null,function*(){n(Xn,r)})]}),new d.DyFM_SocketEvent({eventKey:Jn,tasks:[r=>u(this,null,function*(){n(Jn,r)})]}),new d.DyFM_SocketEvent({eventKey:zn,tasks:[r=>u(this,null,function*(){n(zn,r)})]}),new d.DyFM_SocketEvent({eventKey:Gn,tasks:[r=>u(this,null,function*(){n(Gn,r)})]}),new d.DyFM_SocketEvent({eventKey:Qn,tasks:[r=>u(this,null,function*(){n(Qn,r)})]}),new d.DyFM_SocketEvent({eventKey:er,tasks:[r=>u(this,null,function*(){n(er,r)})]}),new d.DyFM_SocketEvent({eventKey:tr,tasks:[r=>u(this,null,function*(){n(tr,r)})]}),new d.DyFM_SocketEvent({eventKey:Zn,tasks:[r=>u(this,null,function*(){n(Zn,r)})]})]}getSubscriptionContent(){return u(this,null,function*(){let t=this.socket?.id;return Promise.resolve({clientId:t})})}shouldReportSocketConnectionErrorsToErrorList(){return this.settingsGeneral_DS.section_$().form.reportSocketConnectionErrorsToErrorList===!0}buildSocketErrorDisplay(t){let n=t.err.message?.trim()?t.err.message:"WebSocket connection failed",r=t.socketUrl.trim()?`WebSocket: ${n} \u2014 ${t.socketUrl}`:`WebSocket: ${n}`,i={message:r,fullMessage:r,name:t.err.name,stack:t.err.stack??null,socketUrl:t.socketUrl,transport:"websocket",eventType:t.eventType,attemptedAt:new Date().toISOString(),connectAttempt:this.connectAttemptCount_$()},o=$.socketUrl!==void 0&&$.socketUrl.trim()!=="";i.socketUrlSource=o?"environment.socketUrl":"same-origin fallback";let c=this.params?.socketOptions?.transports??[];if(c.length>0&&(i.configuredTransports=c.join(", ")),typeof window<"u"&&(i.pageOrigin=window.location.origin),U(t.raw)){let _=t.raw,a=_.description;if(typeof a=="string"&&a.trim())i.description=a.trim();else if(a instanceof Error)i.description=a.message,a.stack&&(i.descriptionStack=a.stack);else if(a instanceof Event)i.description=this.extractDomEventInfo(a);else if(U(a)){let l=a,g=[];typeof l.message=="string"&&l.message.trim()&&g.push(l.message.trim()),typeof l.status=="number"&&(i.httpStatus=l.status,g.push(`HTTP ${l.status}`)),typeof l.statusText=="string"&&l.statusText.trim()&&(i.httpStatusText=l.statusText.trim(),g.push(l.statusText.trim())),typeof l.responseURL=="string"&&l.responseURL.trim()&&(i.responseUrl=l.responseURL.trim()),g.length>0&&(i.description=g.join(" \u2013 "))}typeof _.type=="string"&&_.type.trim()&&(i.type=_.type.trim()),U(_.context)&&(i.errorContext=_.context)}t.raw instanceof Event&&!i.description&&(i.description=this.extractDomEventInfo(t.raw));let h=[r];if(typeof i.description=="string"&&h.push(`Cause: ${i.description}`),typeof i.httpStatus=="number"){let _=typeof i.httpStatusText=="string"?` ${i.httpStatusText}`:"";h.push(`HTTP: ${i.httpStatus}${_}`)}return typeof i.responseUrl=="string"&&h.push(`Response URL: ${i.responseUrl}`),h.push(`Attempt: #${i.connectAttempt}`),h.push(`Source: ${i.socketUrlSource}`),i.fullMessage=h.join(" | "),i}extractDomEventInfo(t){let n=[];n.push(`type=${t.type}`);let r=t.target;return U(r)&&(typeof r.readyState=="number"&&n.push(`readyState=${r.readyState}`),typeof r.url=="string"&&r.url&&n.push(`url=${r.url}`),typeof r.responseURL=="string"&&r.responseURL&&n.push(`responseURL=${r.responseURL}`),typeof r.status=="number"&&n.push(`status=${r.status}`)),n.push("(DOM Event - tipikusan SSL cert reject, CORS, vagy network unreachable)"),n.join(", ")}buildTerminalErrorDisplay(t){let n=typeof t.message=="string"?t.message:String(t.message??""),r=typeof t.code=="string"?t.code:String(t.code??""),i=[n];r&&i.push(`K\xF3d: ${r}`),typeof t.terminalId=="string"&&t.terminalId.trim()&&i.push(`Termin\xE1l ID: ${t.terminalId.trim()}`),typeof t.path=="string"&&t.path.trim()&&i.push(`Path: ${t.path.trim()}`);let o=i.join(`
10
10
  `),c=typeof t.timestamp=="number"?t.timestamp:Date.now();return{source:"server",message:n,stack:null,detailsText:o,timestamp:c}}buildServerErrorDisplay(t){let n=typeof t.message=="string"?t.message:String(t.message??""),r=t.stack,i=typeof r=="string"?r:r!=null?String(r):null,o=typeof t.detailsText=="string"?t.detailsText:JSON.stringify(t,null,2),c=typeof t.timestamp=="number"?t.timestamp:Date.now();return{source:"server",message:n,stack:i,detailsText:o,timestamp:c}}reconnect(){if(this.socket){this.clearConnectionTimeout(),this.status_$.set(j.connecting),this.lastError_$.set(null),this.connectAttemptCount_$.set(0),this.startConnectionTimeout();let t=this.params?.address??dt();C.DyFM_Log.info("CCAP_Socket | Reconnecting to",t),this.socket.disconnect(),this.socket.connect()}}emit(t,n){this.socket?.connected&&this.socket.emit(t,n)}diagnoseConnection(){return u(this,null,function*(){let t=this.params?.address??dt(),n={timestamp:new Date().toISOString(),socketUrl:t,socketUrlSource:$.socketUrl!==void 0&&$.socketUrl.trim()!==""?"environment.socketUrl":"same-origin fallback",pageOrigin:typeof window<"u"?window.location.origin:"",socketConnected:this.socket?.connected??!1,socketId:this.socket?.id??null,connectAttemptCount:this.connectAttemptCount_$(),currentStatus:this.status_$()},r=yield s.probeEndpoint("/api/server/status","serverStatusApi");if(n.serverStatusApi=r,r.ok===!0&&r.body!==void 0){let _=r.body;if(_!==null&&typeof _=="object"){let a=_;n.serverReportedHttpPort=a.httpPort??null,n.serverReportedSocketPort=a.socketPort??null}}let i=this.params?.socketOptions?.path??"/socket",o=`${t}${i}/?EIO=4&transport=polling&t=${Date.now()}`,c=yield s.probeEndpoint(o,"socketIoPolling");n.socketIoPolling=c;let h=n.serverReportedSocketPort;if(typeof h=="number"&&h>0){let _=`http://localhost:${h}${i}/?EIO=4&transport=polling&t=${Date.now()}`,a=yield s.probeEndpoint(_,"socketIoDirectPort");n.socketIoDirectPort=a}return n})}static probeEndpoint(t,n){return u(this,null,function*(){let r={url:t,label:n},i=performance.now();try{let o=yield fetch(t,{method:"GET",cache:"no-store"}),c=Math.round(performance.now()-i);r.ok=o.ok,r.httpStatus=o.status,r.httpStatusText=o.statusText,r.elapsedMs=c;try{let h=yield o.text();try{r.body=JSON.parse(h)}catch{r.bodyPreview=h.substring(0,300)}}catch{r.bodyReadError="Failed to read response body"}}catch(o){let c=Math.round(performance.now()-i);r.elapsedMs=c,r.ok=!1,r.fetchError=o instanceof Error?o.message:String(o),o instanceof TypeError&&(r.fetchErrorType="TypeError (network/CORS/SSL)")}return r})}ngOnDestroy(){this.clearConnectionTimeout(),this.socket&&this.socket.disconnect()}static \u0275fac=function(n){return new(n||s)};static \u0275prov=ds({token:s,factory:s.\u0275fac,providedIn:"root"})}return s})();export{dr as a,mt as b,wn as c,j as d,Wc as e};
11
- //# sourceMappingURL=chunk-FYF4IYIU.js.map
11
+ //# sourceMappingURL=chunk-XWRXJ2PQ.js.map
@@ -1,4 +1,4 @@
1
- import{I as _,K as T,N as D,p as U}from"./chunk-GAST5KXQ.js";import{C,Gb as H,a as b,aa as I,b as j,h as w,k as L,p as g,q as h,wb as d,xb as M,y as F}from"./chunk-TBMJSIBB.js";var y=[{prefix:"/setup",hint:"Setup \u2014 client/src/app/_modules/config/_modules/setup/"},{prefix:"/settings",hint:"Settings \u2014 client/src/app/_modules/config/_modules/settings/"},{prefix:"/model-registry",hint:"Model registry \u2014 client/src/app/_modules/model-registry/"},{prefix:"/embedding-registry",hint:"Embedding registry \u2014 client/src/app/_modules/ai-systems/_modules/embedding-registry/"},{prefix:"/embedding-eval",hint:"Embedding eval \u2014 client/src/app/_modules/embedding-eval/"},{prefix:"/session",hint:"CCAP Session UI \u2014 client/src/app/_modules/session/"},{prefix:"/errors",hint:"Errors list \u2014 client/src/app/_modules/system/_modules/errors/"},{prefix:"/feedback",hint:"Feedback \u2014 client/src/app/_modules/feedback/"},{prefix:"/logs",hint:"Logs \u2014 client/src/app/_modules/dev/_modules/devtools/_modules/logs/"},{prefix:"/host-runtime-mcp",hint:"Host runtime MCP \u2014 client/src/app/_modules/dev/_modules/host-runtime-mcp/"},{prefix:"/voice-notes-poc",hint:"Voice notes POC \u2014 client/src/app/_modules/dev/_modules/poc/voice-notes-poc/"},{prefix:"/master-control-remote-poc",hint:"Master control remote POC \u2014 client/src/app/_modules/dev/_modules/poc/master-control-remote-poc/"},{prefix:"/workflow-settings",hint:"Workflow settings \u2014 client/src/app/_modules/config/_modules/workflow-settings/"},{prefix:"/coordinator",hint:"Coordinator \u2014 client/src/app/_modules/coordinator/"},{prefix:"/dark-office",hint:"Dark Office \u2014 client/src/app/_modules/dark-office/"},{prefix:"/project-management",hint:"Project management \u2014 client/src/app/_modules/project-management/"},{prefix:"/cc-session",hint:"CC Session UI \u2014 client/src/app/_modules/cc-session/"},{prefix:"/mobile-app",hint:"Mobile app \u2014 client/src/app/_modules/dev/_modules/poc/mobile-app/"},{prefix:"/oc-session",hint:"OC Session \u2014 client/src/app/_modules/oc/"},{prefix:"/ca-session",hint:"CA Session \u2014 client/src/app/_modules/ca-session/"},{prefix:"/consultant",hint:"Consultant \u2014 client/src/app/_modules/consultant/"},{prefix:"/agent-instances",hint:"Agent instances \u2014 client/src/app/_modules/agent-instances/"},{prefix:"/terminals",hint:"Terminals \u2014 client/src/app/_modules/dev/_modules/devtools/_modules/terminals/"},{prefix:"/live-development-pipeline",hint:"Live Development Pipeline \u2014 client/src/app/_modules/dev/_modules/devtools/_modules/live-dev-pipeline/"},{prefix:"/system-status",hint:"Legacy route \u2192 redirects to /live-development-pipeline \u2014 client/src/app/_modules/dev/_modules/devtools/_modules/live-dev-pipeline/"},{prefix:"/",hint:"Dashboard (root) \u2014 client/src/app/_modules/dashboard/"}];var q="NG0203",S=class r{static isNg0203Message(n){return n.trim()===q}static buildDiagnostics(n){let t={route:n.context.route,url:n.context.url,userAgent:n.context.userAgent,timestamp:n.context.timestamp},e=r.parseStackFrames(n.stack),i=typeof n.context.route=="string"?n.context.route:"",o=r.resolveRouteFeatureHints(i),s=r.buildStaticGuidance(),l=r.buildToolSteps({clientSnapshot:t,clientSource:n.clientSource,stackFrames:e,routeFeatureHints:o});return{summary:"Angular NG0203: inject() was called outside an injection context (constructor, field initializer, factory, or runInInjectionContext).",clientSource:n.clientSource,clientSnapshot:t,stackFrames:e,routeFeatureHints:o,staticGuidance:s,toolSteps:l}}static formatDiagnosticsAppendix(n){let t;try{t=JSON.stringify(n,null,2)}catch{t='{"ng0203Diagnostics":"JSON stringify failed"}'}return`
1
+ import{I as _,K as T,N as D,p as U}from"./chunk-WH2RXTQX.js";import{C,Gb as H,a as b,aa as I,b as j,h as w,k as L,p as g,q as h,wb as d,xb as M,y as F}from"./chunk-TBMJSIBB.js";var y=[{prefix:"/setup",hint:"Setup \u2014 client/src/app/_modules/config/_modules/setup/"},{prefix:"/settings",hint:"Settings \u2014 client/src/app/_modules/config/_modules/settings/"},{prefix:"/model-registry",hint:"Model registry \u2014 client/src/app/_modules/model-registry/"},{prefix:"/embedding-registry",hint:"Embedding registry \u2014 client/src/app/_modules/ai-systems/_modules/embedding-registry/"},{prefix:"/embedding-eval",hint:"Embedding eval \u2014 client/src/app/_modules/embedding-eval/"},{prefix:"/session",hint:"CCAP Session UI \u2014 client/src/app/_modules/session/"},{prefix:"/errors",hint:"Errors list \u2014 client/src/app/_modules/system/_modules/errors/"},{prefix:"/feedback",hint:"Feedback \u2014 client/src/app/_modules/feedback/"},{prefix:"/logs",hint:"Logs \u2014 client/src/app/_modules/dev/_modules/devtools/_modules/logs/"},{prefix:"/host-runtime-mcp",hint:"Host runtime MCP \u2014 client/src/app/_modules/dev/_modules/host-runtime-mcp/"},{prefix:"/voice-notes-poc",hint:"Voice notes POC \u2014 client/src/app/_modules/dev/_modules/poc/voice-notes-poc/"},{prefix:"/master-control-remote-poc",hint:"Master control remote POC \u2014 client/src/app/_modules/dev/_modules/poc/master-control-remote-poc/"},{prefix:"/workflow-settings",hint:"Workflow settings \u2014 client/src/app/_modules/config/_modules/workflow-settings/"},{prefix:"/coordinator",hint:"Coordinator \u2014 client/src/app/_modules/coordinator/"},{prefix:"/dark-office",hint:"Dark Office \u2014 client/src/app/_modules/dark-office/"},{prefix:"/project-management",hint:"Project management \u2014 client/src/app/_modules/project-management/"},{prefix:"/cc-session",hint:"CC Session UI \u2014 client/src/app/_modules/cc-session/"},{prefix:"/mobile-app",hint:"Mobile app \u2014 client/src/app/_modules/dev/_modules/poc/mobile-app/"},{prefix:"/oc-session",hint:"OC Session \u2014 client/src/app/_modules/oc/"},{prefix:"/ca-session",hint:"CA Session \u2014 client/src/app/_modules/ca-session/"},{prefix:"/consultant",hint:"Consultant \u2014 client/src/app/_modules/consultant/"},{prefix:"/agent-instances",hint:"Agent instances \u2014 client/src/app/_modules/agent-instances/"},{prefix:"/terminals",hint:"Terminals \u2014 client/src/app/_modules/dev/_modules/devtools/_modules/terminals/"},{prefix:"/live-development-pipeline",hint:"Live Development Pipeline \u2014 client/src/app/_modules/dev/_modules/devtools/_modules/live-dev-pipeline/"},{prefix:"/system-status",hint:"Legacy route \u2192 redirects to /live-development-pipeline \u2014 client/src/app/_modules/dev/_modules/devtools/_modules/live-dev-pipeline/"},{prefix:"/",hint:"Dashboard (root) \u2014 client/src/app/_modules/dashboard/"}];var q="NG0203",S=class r{static isNg0203Message(n){return n.trim()===q}static buildDiagnostics(n){let t={route:n.context.route,url:n.context.url,userAgent:n.context.userAgent,timestamp:n.context.timestamp},e=r.parseStackFrames(n.stack),i=typeof n.context.route=="string"?n.context.route:"",o=r.resolveRouteFeatureHints(i),s=r.buildStaticGuidance(),l=r.buildToolSteps({clientSnapshot:t,clientSource:n.clientSource,stackFrames:e,routeFeatureHints:o});return{summary:"Angular NG0203: inject() was called outside an injection context (constructor, field initializer, factory, or runInInjectionContext).",clientSource:n.clientSource,clientSnapshot:t,stackFrames:e,routeFeatureHints:o,staticGuidance:s,toolSteps:l}}static formatDiagnosticsAppendix(n){let t;try{t=JSON.stringify(n,null,2)}catch{t='{"ng0203Diagnostics":"JSON stringify failed"}'}return`
2
2
 
3
3
  [NG0203 diagnostics]
4
4
  ${t}`}static parseStackFrames(n){if(n==null||!n.trim())return[];let t=n.split(`
@@ -24,4 +24,4 @@ ${String(n)}`}function nt(r){if(r instanceof Error&&typeof r.stack=="string"&&r.
24
24
  `),s=t!=null&&t.trim().length>0?t.trim():"(no stack)";return`${o}
25
25
 
26
26
  ${s}`}buildReportPayloadFromError(t,e){let i=this.getCurrentContext(),o=f.getErrorMessageForDisplay(t),s=r.enrichMessageForReport(t,o),l=f.getStackForReport(t),m=this.buildStackWithContext(l,i),R=r.extractErrorCode(t),E=r.extractAdditionalContent(t);return{message:s,stack:m,source:e??"client-app",errorCode:R,errorAdditionalContent:E,clientContext:i}}static enrichMessageForReport(t,e){if(!(t instanceof d))return e;let i=t.url?`URL: ${t.url}`:"URL: (?)",o=`status: ${t.status}`;return`${e} | ${i} | ${o}`}static extractErrorCode(t){if(t==null||typeof t!="object")return;let e=t;if(typeof e.errorCode=="string"&&e.errorCode.length>0)return e.errorCode;if(typeof e._errorCode=="string"&&e._errorCode.length>0)return e._errorCode}static extractAdditionalContent(t){if(t==null||typeof t!="object")return;let e=t;if(e.additionalContent!=null&&typeof e.additionalContent=="object")return e.additionalContent}buildReportPayloadFromParams(t){let e=this.getCurrentContext(),i=this.buildStackWithContext(t.stack,e);return{message:t.message,stack:i,source:t.source,clientContext:e}}showError(t,e){setTimeout(()=>{try{let i=f.getErrorMessageForDisplay(t),o=N.tryGetShortNotificationAffix({error:t});if(o.length>0&&(i=i+o),!(t instanceof d)&&!(this.settingsGeneral_DS.section_$().form.reportSocketConnectionErrorsToErrorList===!0)&&x.matchesDisplayMessage(i)){t instanceof Error&&p.DyFM_Log.error("[CCAP]",e??"client-app",t);return}let s=this.getCurrentContext(),l;if(k.isNg0600Message(i))try{l=k.buildDiagnostics({stack:f.getStackForReport(t),context:{route:s.route,url:s.url,userAgent:s.userAgent,timestamp:s.timestamp},clientSource:e})}catch(a){p.DyFM_Log.error("CCAP NG0600 diagnostics failed",a)}let m;if(S.isNg0203Message(i))try{m=S.buildDiagnostics({stack:f.getStackForReport(t),context:{route:s.route,url:s.url,userAgent:s.userAgent,timestamp:s.timestamp},clientSource:e})}catch(a){p.DyFM_Log.error("CCAP NG0203 diagnostics failed",a)}let R=e!=null&&e.trim().length>0?e.trim():void 0,E={id:this.nextNotificationId++,error:t,displayMessage:i,timestamp:Date.now(),isDismissing:!1,clientSource:R,ng0600Diagnostics:l,ng0203Diagnostics:m};if(this.errors_$.update(a=>{let u=[...a,E];return u.length>r.maxNotifications?u.slice(u.length-r.maxNotifications):u}),setTimeout(()=>{this.dismissNotification(E.id)},r.autoDismissMs),t instanceof Error&&p.DyFM_Log.error("[CCAP]",e??"client-app",t),!(t instanceof d)){let a=this.buildReportPayloadFromError(t,e??"client-app"),u="";l!=null?u=k.formatDiagnosticsAppendix(l):m!=null&&(u=S.formatDiagnosticsAppendix(m));let X=u.length>0?`${a.stack??""}${u}`:a.stack??"",Y={message:a.message,stack:X,source:a.source,sessionId:a.sessionId,runId:a.runId,errorCode:a.errorCode,errorAdditionalContent:a.errorAdditionalContent,clientContext:a.clientContext};this.errors_AS.reportError(Y).catch(()=>{})}}catch(i){p.DyFM_Log.error("CCAP showError set failed",i)}},0)}selectError(t){let e=this.errors_$().find(i=>i.id===t);e!=null&&this.selectedNotificationForModal_$.set(e)}dismissNotification(t){let i=this.errors_$().find(o=>o.id===t);i==null||i.isDismissing||(this.errors_$.update(o=>o.map(s=>s.id===t?j(b({},s),{isDismissing:!0}):s)),setTimeout(()=>{this.errors_$.update(o=>o.filter(s=>s.id!==t))},r.exitAnimationMs))}dismissSelected(){this.selectedNotificationForModal_$.set(null)}dismissAll(){this.errors_$.set([]),this.selectedNotificationForModal_$.set(null)}copyToClipboard(t){return L(this,null,function*(){return(yield this.tryWriteTextWithNavigatorClipboard(t))?{ok:!0}:this.copyTextWithExecCommand(t)?{ok:!0}:{ok:!1,error:new Error("Clipboard copy failed (secure Clipboard API unavailable or denied, and legacy execCommand copy failed)")}})}tryWriteTextWithNavigatorClipboard(t){return L(this,null,function*(){let e=typeof navigator<"u"?navigator.clipboard:void 0;if(e==null||typeof e.writeText!="function")return!1;try{return yield e.writeText(t),!0}catch{return!1}})}copyTextWithExecCommand(t){if(typeof document>"u"||typeof document.execCommand!="function")return!1;let e=document.createElement("textarea");e.value=t,e.setAttribute("readonly",""),e.setAttribute("aria-hidden","true"),e.style.position="fixed",e.style.top="0",e.style.left="0",e.style.width="1px",e.style.height="1px",e.style.padding="0",e.style.margin="0",e.style.border="none",e.style.outline="none",e.style.opacity="0",e.style.pointerEvents="none",document.body.appendChild(e),e.focus(),e.select();let i=t.length;e.setSelectionRange(0,i);let o=!1;try{o=document.execCommand("copy")}catch{o=!1}return e.remove(),o}reportErrorOnly(t){if(!(this.settingsGeneral_DS.section_$().form.reportSocketConnectionErrorsToErrorList===!0)&&(t.source==="client-socket"||x.matchesDisplayMessage(t.message)))return;let i=this.buildReportPayloadFromParams(t);this.errors_AS.reportError(i).catch(()=>{})}static \u0275fac=function(e){return new(e||r)};static \u0275prov=F({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();export{S as a,k as b,c,$ as d,v as e,z as f,N as g,f as h,V as i,Ot as j};
27
- //# sourceMappingURL=chunk-5HH23IFL.js.map
27
+ //# sourceMappingURL=chunk-XWWVDCIV.js.map
@@ -1,2 +1,2 @@
1
- import{I as s}from"./chunk-GAST5KXQ.js";import{C as o,xb as i,y as n}from"./chunk-TBMJSIBB.js";var p=(()=>{class e{baseUrl=`${s.api.baseUrl}/document-library`;http=o(i);listDocuments(){return this.http.get(this.baseUrl)}getDocument(t){return this.http.get(`${this.baseUrl}/${encodeURIComponent(t.documentId)}`)}uploadDocument(t){return this.http.post(`${this.baseUrl}/upload`,t.formData)}deleteDocument(t){return this.http.delete(`${this.baseUrl}/${encodeURIComponent(t.documentId)}`)}startIndexing(t){return this.http.post(`${this.baseUrl}/${encodeURIComponent(t.documentId)}/index`,{registryEntryId:t.registryEntryId})}getIndexingStatus(t){let r=new URLSearchParams({registryEntryId:t.registryEntryId}).toString();return this.http.get(`${this.baseUrl}/${encodeURIComponent(t.documentId)}/indexing-status?${r}`)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=n({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();export{p as a};
2
- //# sourceMappingURL=chunk-VV2I3CSM.js.map
1
+ import{I as s}from"./chunk-WH2RXTQX.js";import{C as o,xb as i,y as n}from"./chunk-TBMJSIBB.js";var p=(()=>{class e{baseUrl=`${s.api.baseUrl}/document-library`;http=o(i);listDocuments(){return this.http.get(this.baseUrl)}getDocument(t){return this.http.get(`${this.baseUrl}/${encodeURIComponent(t.documentId)}`)}uploadDocument(t){return this.http.post(`${this.baseUrl}/upload`,t.formData)}deleteDocument(t){return this.http.delete(`${this.baseUrl}/${encodeURIComponent(t.documentId)}`)}startIndexing(t){return this.http.post(`${this.baseUrl}/${encodeURIComponent(t.documentId)}/index`,{registryEntryId:t.registryEntryId})}getIndexingStatus(t){let r=new URLSearchParams({registryEntryId:t.registryEntryId}).toString();return this.http.get(`${this.baseUrl}/${encodeURIComponent(t.documentId)}/indexing-status?${r}`)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=n({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();export{p as a};
2
+ //# sourceMappingURL=chunk-Y7KI3XKP.js.map
@@ -1,4 +1,4 @@
1
- import{a as Ce}from"./chunk-HZGBIPFR.js";import{a as ve}from"./chunk-7JUIBZEE.js";import{a as we,b as xe,c as ke}from"./chunk-C7XPBJTG.js";import{d as Me,e as Te,f as Pe,h as De}from"./chunk-VOHSYLUS.js";import{a as be}from"./chunk-WPHEQXWB.js";import{c as _e}from"./chunk-XOJZHSXQ.js";import{a as he}from"./chunk-Q2NVIOCY.js";import{a as ye}from"./chunk-P34E64AS.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-DQRYQQIF.js";import{a as ve}from"./chunk-7JUIBZEE.js";import{a as we,b as xe,c as ke}from"./chunk-C7XPBJTG.js";import{d as Me,e as Te,f as Pe,h as De}from"./chunk-NMGB6Q45.js";import{a as be}from"./chunk-WPHEQXWB.js";import{c as _e}from"./chunk-4QEHZHVD.js";import{a as he}from"./chunk-Q2NVIOCY.js";import{a as ye}from"./chunk-K3ABKMDH.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-HZGBIPFR.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-JHDCUB45.js.map
38
+ //# sourceMappingURL=chunk-YASHJ2WC.js.map
@@ -1,3 +1,3 @@
1
- import{a as ue}from"./chunk-CTDX27O6.js";import{a as pe}from"./chunk-J7FLPQED.js";import{a as se,b as re}from"./chunk-Y5FLAZ3X.js";import{a as ce,b as J}from"./chunk-L44637OO.js";import{a as ae}from"./chunk-MF7J3KTS.js";import{b as oe}from"./chunk-CBQEBM6O.js";import{d as le}from"./chunk-EQXFFAQB.js";import{g as de}from"./chunk-VOHSYLUS.js";import{a as ie}from"./chunk-FLAJXIYW.js";import{f as G,i as X,n as Z,o as ee,p as te,v as ne}from"./chunk-EO4DNTT4.js";import{p as ye}from"./chunk-GAST5KXQ.js";import{$a as L,C as E,D as v,Fa as r,Ga as y,Ha as _,Ia as U,J as h,K as C,L as O,Q as q,T as Q,Ta as I,U as R,Ua as M,Va as Y,Z as s,aa as b,bb as V,da as f,fa as F,ga as u,h as Ce,hb as S,ia as k,k as P,la as m,mb as z,na as W,oa as T,pa as D,pb as B,qa as a,ra as o,sa as g,ua as w,ub as A,va as x,wa as c}from"./chunk-TBMJSIBB.js";var _e=Ce(ye());var H=(()=>{class i{static SESSION_LIMIT_TYPE="five_hour";static WEEKLY_LIMIT_TYPE="seven_day";static formatResetText(e){if(!e?.resetsAt)return"";let n=new Date(e.resetsAt*1e3),t=new Date,l=n.getTime()-t.getTime();if(l<=0)return"expired";let p=Math.floor(l/6e4),$=Math.floor(p/60),j=p%60;return $>0?`${$}h ${j}m`:`${j}m`}static formatResetTextPrecise(e){if(!e?.resetsAt)return"";let n=new Date(e.resetsAt*1e3),t=new Date,l=Math.floor((n.getTime()-t.getTime())/1e3);if(l<=0)return"expired";let p=Math.floor(l/86400),$=Math.floor(l%86400/3600),j=Math.floor(l%3600/60),he=l%60,N=[];return p&&N.push(`${p}d`),(p||$)&&N.push(`${$}h`),(p||$||j)&&N.push(`${j}m`),N.push(`${he}s`),N.join(" ")}static computeUtilizationPercent(e){if(!e)return 0;let n=typeof e.utilization=="number"?e.utilization:0,t=Math.max(0,Math.min(1,n));return Math.round(t*100)}static computeThresholdPercent(e){if(!e)return 0;let n=typeof e.surpassedThreshold=="number"?e.surpassedThreshold:0,t=Math.max(0,Math.min(1,n));return Math.round(t*100)}static isOverThreshold(e){if(!e)return!1;let n=typeof e.utilization=="number"?e.utilization:0,t=typeof e.surpassedThreshold=="number"?e.surpassedThreshold:1;return n>=t&&t>0}static formatLimitScopeLabel(e){return e?.rateLimitType?e.rateLimitType===i.SESSION_LIMIT_TYPE?"Session":e.rateLimitType===i.WEEKLY_LIMIT_TYPE?"Weekly":e.rateLimitType:""}}return i})();function ge(i,d){if(i&1&&(a(0,"div",0)(1,"span",1),r(2," Rate limit "),o(),a(3,"span",2),r(4,"Scope"),o(),a(5,"span",3),r(6),o(),a(7,"span",2),r(8,"St\xE1tusz"),o(),a(9,"span",3),r(10),o(),a(11,"span",2),r(12,"Utilization"),o(),a(13,"span",4),r(14),o(),a(15,"span",2),r(16,"Reset"),o(),a(17,"span",4),r(18),o(),a(19,"span",2),r(20,"Utols\xF3 \xE9szlel\xE9s"),o(),a(21,"span",5),r(22),L(23,"date"),o()()),i&2){let e=d,n=c();s(6),y(n.limitScopeLabel_$()||"\u2014"),s(3),k("text-neonRed",e.status==="limited")("text-yellow-400",e.status==="allowed_warning")("text-neutral-300",e.status==="allowed"),s(),_(" ",e.status||"\u2014"," "),s(4),_("",n.utilizationPercent_$(),"%"),s(4),y(n.resetText_$()||"\u2014"),s(4),_(" ",V(23,11,e.receivedAt,"yyyy-MM-dd HH:mm:ss")||"\u2014"," ")}}var fe=(()=>{class i{claudeCode_AS=E(se);_ccapId="";set ccapId(e){this._ccapId=e?.trim()??"",this.refreshRateLimitState()}get ccapId(){return this._ccapId}rateLimitInfo_$=b(null);utilizationPercent_$=S(()=>H.computeUtilizationPercent(this.rateLimitInfo_$()));resetText_$=S(()=>H.formatResetText(this.rateLimitInfo_$()));limitScopeLabel_$=S(()=>H.formatLimitScopeLabel(this.rateLimitInfo_$()));refreshRateLimitState(){if(!this._ccapId){this.rateLimitInfo_$.set(null);return}this.claudeCode_AS.getRateLimitState({ccapId:this._ccapId}).then(e=>{let n=re.mapServerItemsToClientInfo(e.items);this.rateLimitInfo_$.set(n)}).catch(e=>{_e.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(n){return new(n||i)};static \u0275cmp=v({type:i,selectors:[["app-s-cc-rate-limit-info"]],inputs:{ccapId:"ccapId"},standalone:!0,features:[I],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(n,t){if(n&1&&f(0,ge,24,14,"div",0),n&2){let l;m((l=t.rateLimitInfo_$())?0:-1,l)}},dependencies:[A,B],encapsulation:2})}return i})();function ve(i,d){if(i&1&&(a(0,"span",1),r(1,"Instance presence"),o(),a(2,"span",4),g(3,"app-s-instance-presence-badge",8),o()),i&2){let e=d;s(3),u("presence",e.presence)("lastHeartbeatAt",e.lastHeartbeatAt)("wsConnected",e.wsConnected)}}function be(i,d){if(i&1&&(a(0,"span",9),r(1,"Run / tev\xE9kenys\xE9g"),o(),a(2,"span",10)(3,"span",11),r(4),o(),a(5,"span",12),r(6),o()(),a(7,"span",1),r(8,"Utols\xF3 aktivit\xE1s"),o(),a(9,"span",13),r(10),L(11,"date"),o(),a(12,"span",1),r(13,"Utols\xF3 \xFCzenet"),o(),a(14,"span",14),r(15),o()),i&2){let e=d;s(4),y(e.activeRunPhase||"\u2014"),s(2),y(e.activitySummary||"\u2014"),s(4),_(" ",V(11,4,e.lastActivityAt,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),s(5),y(e.lastMessage||"\u2014")}}var xe=(()=>{class i{row;presence=void 0;static \u0275fac=function(n){return new(n||i)};static \u0275cmp=v({type:i,selectors:[["app-s-instance-detail-view"]],inputs:{row:"row",presence:"presence"},standalone:!0,features:[I],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(n,t){if(n&1&&(a(0,"div",0)(1,"span",1),r(2,"instanceKey"),o(),a(3,"span",2),r(4),o(),a(5,"span",1),r(6,"N\xE9v"),o(),a(7,"span",3),r(8),o(),a(9,"span",1),r(10,"St\xE1tusz"),o(),a(11,"span",4),r(12),o(),f(13,ve,4,3),a(14,"span",1),r(15,"Session presence"),o(),a(16,"span",4),r(17),o(),f(18,be,16,7),a(19,"span",1),r(20,"MAC"),o(),a(21,"span",2),r(22),o(),a(23,"span",1),r(24,"Install path"),o(),a(25,"span",2),r(26),o(),a(27,"span",1),r(28,"hostName"),o(),a(29,"span",3),r(30),o(),a(31,"span",1),r(32,"registry __created"),o(),a(33,"span",5),r(34),L(35,"date"),o(),a(36,"span",1),r(37,"registry __updated"),o(),a(38,"span",5),r(39),L(40,"date"),o()(),a(41,"div",6),g(42,"app-s-cc-rate-limit-info",7),o()),n&2){let l,p;s(4),y(t.row.registry.instanceKey||"\u2014"),s(4),y((t.row.instanceData==null||t.row.instanceData.name==null?null:t.row.instanceData.name.trim())||"\u2014"),s(4),y((t.row.instanceData==null?null:t.row.instanceData.status)||"\u2014"),s(),m((l=t.presence)?13:-1,l),s(4),_(" ",(t.row.instanceData==null||t.row.instanceData.sessionStatuses==null||t.row.instanceData.sessionStatuses[0]==null?null:t.row.instanceData.sessionStatuses[0].presence)||"\u2014"," "),s(),m((p=t.row.instanceData==null||t.row.instanceData.sessionStatuses==null?null:t.row.instanceData.sessionStatuses[0])?18:-1,p),s(4),y(t.row.registry.primaryMacAddress||"\u2014"),s(4),y(t.row.registry.installLocationPath||"\u2014"),s(4),y(t.row.registry.hostName||"\u2014"),s(4),_(" ",V(35,12,t.row.registry.__created,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),s(5),_(" ",V(40,15,t.row.registry.__updated,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),s(3),u("ccapId",t.row.registry.instanceKey||"")}},dependencies:[A,B,fe,J],encapsulation:2})}return i})();var we=(i,d)=>d.instanceKey,Ie=i=>({"bg-ccapAccent/10":i});function $e(i,d){if(i&1&&g(0,"app-s-instance-presence-badge",5),i&2){let e=d;u("presence",e.presence)("lastHeartbeatAt",e.lastHeartbeatAt)("wsConnected",e.wsConnected)("showLabel",!1)}}function Ee(i,d){i&1&&(a(0,"span",6),r(1,"(local)"),o())}function ke(i,d){i&1&&g(0,"span",7)}function Me(i,d){if(i&1){let e=w();a(0,"div",2)(1,"button",4),x("click",function(){let t,l=h(e).$implicit,p=c();return C(p.handleSelectInstance((t=l.instanceKey)!==null&&t!==void 0?t:""))}),f(2,$e,1,4,"app-s-instance-presence-badge",5),r(3),f(4,Ee,2,0,"span",6)(5,ke,1,0,"span",7),o(),a(6,"button",8),x("click",function(){let t,l=h(e).$implicit,p=c();return C(p.handleInfoClick((t=l.instanceKey)!==null&&t!==void 0?t:""))}),r(7," i "),o()()}if(i&2){let e,n=d.$implicit,t=c();s(),k("border-ccapAccent",t.isSelected(n))("text-ccapAccent",t.isSelected(n))("border-neonDefault",!t.isSelected(n))("text-neutral-400",!t.isSelected(n))("hover:text-neutral-200",!t.isSelected(n))("hover:border-neutral-500",!t.isSelected(n)),u("ngClass",Y(17,Ie,t.isSelected(n))),s(),m((e=t.getPresenceForRow(n))?2:-1,e),s(),_(" ",t.getDisplayLabel(n)," "),s(),m(t.isLocal(n)?4:-1),s(),m(t.getActiveSessionForRow(n)?5:-1)}}function Te(i,d){i&1&&(a(0,"span",3),r(1,"loading..."),o())}var Se=(()=>{class i{peiContext_DS=E(ae);presenceMap=new Map;activeSessionMap=new Map;infoRequested=new q;instances_$=S(()=>this.peiContext_DS.instanceList_$());selectedCcapId_$=S(()=>this.peiContext_DS.activeCcapId_$());localKey_$=S(()=>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 n=e.hostName??"",t=(e.instanceKey??"").slice(-6);return n?`${n} (${t})`:t||"?"}isSelected(e){return(e.instanceKey??"")===this.selectedCcapId_$()}isLocal(e){return(e.instanceKey??"")===this.localKey_$()}getPresenceForRow(e){let n=e.instanceKey??"";return n?this.presenceMap.get(n)??null:null}getActiveSessionForRow(e){let n=e.instanceKey??"";return n?this.activeSessionMap.get(n)===!0:!1}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=v({type:i,selectors:[["app-s-instance-selector"]],hostAttrs:[1,"block"],inputs:{presenceMap:"presenceMap",activeSessionMap:"activeSessionMap"},outputs:{infoRequested:"infoRequested"},standalone:!0,features:[I],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(n,t){n&1&&(a(0,"div",0)(1,"span",1),r(2,"Instance:"),o(),T(3,Me,8,19,"div",2,we),f(5,Te,2,0,"span",3),o()),n&2&&(s(3),D(t.instances_$()),s(2),m(t.instances_$().length?-1:5))},dependencies:[A,z,J],encapsulation:2})}return i})();function De(i,d){if(i&1&&g(0,"app-s-instance-detail-view",3),i&2){let e=c(2);u("row",d)("presence",e.getPresenceForSelectedRow())}}function Ae(i,d){if(i&1){let e=w();a(0,"app-s-modal",2),x("closed",function(){h(e);let t=c();return C(t.handleModalClosed())}),f(1,De,1,2,"app-s-instance-detail-view",3),o()}if(i&2){let e,n=c();u("isOpen",!0)("title",n.modalTitle_$())("maxWidth","lg"),s(),m((e=n.selectedRow_$())?1:-1,e)}}var Ot=(()=>{class i{instanceRegistry_DS=E(oe);runtimeInstances_DS=E(le);presenceMap=new Map;activeSessionMap=new Map;selectedInstanceKey_$=b(null);viewRows_$=S(()=>ce.buildViewRows(this.instanceRegistry_DS.list_$(),this.runtimeInstances_DS.ccapInstanceList_$()));selectedRow_$=S(()=>{let e=this.selectedInstanceKey_$();return e?this.viewRows_$().find(n=>(n.registry.instanceKey??"")===e)??null:null});isModalOpen_$=S(()=>this.selectedRow_$()!==null);modalTitle_$=S(()=>{let e=this.selectedRow_$();if(!e)return"";let n=e.registry.hostName??"",t=e.registry.instanceKey??"";return n?`Instance \u2014 ${n}`:`Instance \u2014 ${t.slice(-6)||"?"}`});handleInfoRequested(e){this.selectedInstanceKey_$.set(e.instanceKey)}getPresenceForSelectedRow(){let e=this.selectedRow_$();if(!e)return;let n=e.registry.instanceKey??"";if(n)return this.presenceMap.get(n)}handleModalClosed(){this.selectedInstanceKey_$.set(null)}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=v({type:i,selectors:[["app-s-instance-chip-row-with-info"]],hostAttrs:[1,"block"],inputs:{presenceMap:"presenceMap",activeSessionMap:"activeSessionMap"},standalone:!0,features:[I],decls:2,vars:3,consts:[[3,"infoRequested","presenceMap","activeSessionMap"],[3,"isOpen","title","maxWidth"],[3,"closed","isOpen","title","maxWidth"],[3,"row","presence"]],template:function(n,t){n&1&&(a(0,"app-s-instance-selector",0),x("infoRequested",function(p){return t.handleInfoRequested(p)}),o(),f(1,Ae,2,4,"app-s-modal",1)),n&2&&(u("presenceMap",t.presenceMap)("activeSessionMap",t.activeSessionMap),s(),m(t.isModalOpen_$()?1:-1))},dependencies:[A,Se,ie,xe],encapsulation:2})}return i})();var Oe=(i,d)=>d._id,Re=()=>["border-neonCyan/60","text-neonCyan","shadow-neon-glow-cyan","hover:border-neonCyan","hover:bg-neonCyan/10"],Fe=()=>["border-neutral-700","text-neutral-600"];function Le(i,d){if(i&1&&(a(0,"span",4),r(1),o()),i&2){let e=c();s(),_(" ",e.sessionJobs_$().length>9?"9+":e.sessionJobs_$().length," ")}}function Ve(i,d){if(i&1&&(a(0,"span",12),r(1),o()),i&2){let e=c().$implicit;s(),_(" ",e.schedule==null?null:e.schedule.preset," ")}}function ze(i,d){if(i&1){let e=w();a(0,"div",9)(1,"div",10)(2,"span",11),r(3),o(),f(4,Ve,2,1,"span",12),o(),a(5,"button",13),x("click",function(){let t=h(e).$implicit,l=c(2);return C(l.handleTriggerNow(t))}),O(),a(6,"svg",14),g(7,"path",15),o()()()}if(i&2){let e,n,t,l,p=d.$implicit,$=c(2);s(2),u("title",(e=p.name)!==null&&e!==void 0?e:""),s(),_(" ",((n=p.name)!==null&&n!==void 0?n:"").trim()||"Unnamed schedule"," "),s(),m(p.schedule!=null&&p.schedule.preset?4:-1),s(),u("disabled",$.busyJobIds_$().has((t=p._id)!==null&&t!==void 0?t:""))("title",$.busyJobIds_$().has((l=p._id)!==null&&l!==void 0?l:"")?"Ind\xEDt\xE1s folyamatban\u2026":"Most futtatni (Trigger Now)")}}function Ke(i,d){if(i&1){let e=w();a(0,"div",5)(1,"div",6)(2,"span",7),r(3),o(),a(4,"button",8),x("click",function(){h(e);let t=c();return C(t.handleToggle())}),r(5," \xD7 "),o()(),T(6,ze,8,5,"div",9,Oe),o()}if(i&2){let e=c();s(3),_(" Schedule (",e.sessionJobs_$().length,") "),s(3),D(e.sessionJobs_$())}}var Kt=(()=>{class i{sessionId=R.required();scheduledJobs_DS=E(pe);isOpen_$=b(!1);busyJobIds_$=b(new Set);sessionJobs_$=S(()=>{let e=(this.sessionId()??"").trim();return e?this.scheduledJobs_DS.jobs_$().filter(t=>t.enabled===!1?!1:(t.target?.payload?.sessionId??"").trim()===e):[]});hasSchedule_$=S(()=>this.sessionJobs_$().length>0);ngOnInit(){this.scheduledJobs_DS.jobs_$().length===0&&this.scheduledJobs_DS.loadAll()}handleToggle(){this.isOpen_$.update(e=>!e)}handleTriggerNow(e){return P(this,null,function*(){let n=(e._id??"").trim();if(n&&!this.busyJobIds_$().has(n)){this.busyJobIds_$.update(t=>{let l=new Set(t);return l.add(n),l});try{yield this.scheduledJobs_DS.triggerNow({jobId:n,reason:"session-overlay-manual"})}finally{this.busyJobIds_$.update(t=>{let l=new Set(t);return l.delete(n),l})}}})}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=v({type:i,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:[I],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 ue}from"./chunk-PP73DOUH.js";import{a as pe}from"./chunk-N347O4ZR.js";import{a as se,b as re}from"./chunk-S6GMI7R3.js";import{a as ce,b as J}from"./chunk-L44637OO.js";import{a as ae}from"./chunk-IXD22FGA.js";import{b as oe}from"./chunk-SNA7RAMU.js";import{d as le}from"./chunk-6UEKWFBY.js";import{g as de}from"./chunk-NMGB6Q45.js";import{a as ie}from"./chunk-FLAJXIYW.js";import{f as G,i as X,n as Z,o as ee,p as te,v as ne}from"./chunk-EO4DNTT4.js";import{p as ye}from"./chunk-WH2RXTQX.js";import{$a as L,C as E,D as v,Fa as r,Ga as y,Ha as _,Ia as U,J as h,K as C,L as O,Q as q,T as Q,Ta as I,U as R,Ua as M,Va as Y,Z as s,aa as b,bb as V,da as f,fa as F,ga as u,h as Ce,hb as S,ia as k,k as P,la as m,mb as z,na as W,oa as T,pa as D,pb as B,qa as a,ra as o,sa as g,ua as w,ub as A,va as x,wa as c}from"./chunk-TBMJSIBB.js";var _e=Ce(ye());var H=(()=>{class i{static SESSION_LIMIT_TYPE="five_hour";static WEEKLY_LIMIT_TYPE="seven_day";static formatResetText(e){if(!e?.resetsAt)return"";let n=new Date(e.resetsAt*1e3),t=new Date,l=n.getTime()-t.getTime();if(l<=0)return"expired";let p=Math.floor(l/6e4),$=Math.floor(p/60),j=p%60;return $>0?`${$}h ${j}m`:`${j}m`}static formatResetTextPrecise(e){if(!e?.resetsAt)return"";let n=new Date(e.resetsAt*1e3),t=new Date,l=Math.floor((n.getTime()-t.getTime())/1e3);if(l<=0)return"expired";let p=Math.floor(l/86400),$=Math.floor(l%86400/3600),j=Math.floor(l%3600/60),he=l%60,N=[];return p&&N.push(`${p}d`),(p||$)&&N.push(`${$}h`),(p||$||j)&&N.push(`${j}m`),N.push(`${he}s`),N.join(" ")}static computeUtilizationPercent(e){if(!e)return 0;let n=typeof e.utilization=="number"?e.utilization:0,t=Math.max(0,Math.min(1,n));return Math.round(t*100)}static computeThresholdPercent(e){if(!e)return 0;let n=typeof e.surpassedThreshold=="number"?e.surpassedThreshold:0,t=Math.max(0,Math.min(1,n));return Math.round(t*100)}static isOverThreshold(e){if(!e)return!1;let n=typeof e.utilization=="number"?e.utilization:0,t=typeof e.surpassedThreshold=="number"?e.surpassedThreshold:1;return n>=t&&t>0}static formatLimitScopeLabel(e){return e?.rateLimitType?e.rateLimitType===i.SESSION_LIMIT_TYPE?"Session":e.rateLimitType===i.WEEKLY_LIMIT_TYPE?"Weekly":e.rateLimitType:""}}return i})();function ge(i,d){if(i&1&&(a(0,"div",0)(1,"span",1),r(2," Rate limit "),o(),a(3,"span",2),r(4,"Scope"),o(),a(5,"span",3),r(6),o(),a(7,"span",2),r(8,"St\xE1tusz"),o(),a(9,"span",3),r(10),o(),a(11,"span",2),r(12,"Utilization"),o(),a(13,"span",4),r(14),o(),a(15,"span",2),r(16,"Reset"),o(),a(17,"span",4),r(18),o(),a(19,"span",2),r(20,"Utols\xF3 \xE9szlel\xE9s"),o(),a(21,"span",5),r(22),L(23,"date"),o()()),i&2){let e=d,n=c();s(6),y(n.limitScopeLabel_$()||"\u2014"),s(3),k("text-neonRed",e.status==="limited")("text-yellow-400",e.status==="allowed_warning")("text-neutral-300",e.status==="allowed"),s(),_(" ",e.status||"\u2014"," "),s(4),_("",n.utilizationPercent_$(),"%"),s(4),y(n.resetText_$()||"\u2014"),s(4),_(" ",V(23,11,e.receivedAt,"yyyy-MM-dd HH:mm:ss")||"\u2014"," ")}}var fe=(()=>{class i{claudeCode_AS=E(se);_ccapId="";set ccapId(e){this._ccapId=e?.trim()??"",this.refreshRateLimitState()}get ccapId(){return this._ccapId}rateLimitInfo_$=b(null);utilizationPercent_$=S(()=>H.computeUtilizationPercent(this.rateLimitInfo_$()));resetText_$=S(()=>H.formatResetText(this.rateLimitInfo_$()));limitScopeLabel_$=S(()=>H.formatLimitScopeLabel(this.rateLimitInfo_$()));refreshRateLimitState(){if(!this._ccapId){this.rateLimitInfo_$.set(null);return}this.claudeCode_AS.getRateLimitState({ccapId:this._ccapId}).then(e=>{let n=re.mapServerItemsToClientInfo(e.items);this.rateLimitInfo_$.set(n)}).catch(e=>{_e.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(n){return new(n||i)};static \u0275cmp=v({type:i,selectors:[["app-s-cc-rate-limit-info"]],inputs:{ccapId:"ccapId"},standalone:!0,features:[I],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(n,t){if(n&1&&f(0,ge,24,14,"div",0),n&2){let l;m((l=t.rateLimitInfo_$())?0:-1,l)}},dependencies:[A,B],encapsulation:2})}return i})();function ve(i,d){if(i&1&&(a(0,"span",1),r(1,"Instance presence"),o(),a(2,"span",4),g(3,"app-s-instance-presence-badge",8),o()),i&2){let e=d;s(3),u("presence",e.presence)("lastHeartbeatAt",e.lastHeartbeatAt)("wsConnected",e.wsConnected)}}function be(i,d){if(i&1&&(a(0,"span",9),r(1,"Run / tev\xE9kenys\xE9g"),o(),a(2,"span",10)(3,"span",11),r(4),o(),a(5,"span",12),r(6),o()(),a(7,"span",1),r(8,"Utols\xF3 aktivit\xE1s"),o(),a(9,"span",13),r(10),L(11,"date"),o(),a(12,"span",1),r(13,"Utols\xF3 \xFCzenet"),o(),a(14,"span",14),r(15),o()),i&2){let e=d;s(4),y(e.activeRunPhase||"\u2014"),s(2),y(e.activitySummary||"\u2014"),s(4),_(" ",V(11,4,e.lastActivityAt,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),s(5),y(e.lastMessage||"\u2014")}}var xe=(()=>{class i{row;presence=void 0;static \u0275fac=function(n){return new(n||i)};static \u0275cmp=v({type:i,selectors:[["app-s-instance-detail-view"]],inputs:{row:"row",presence:"presence"},standalone:!0,features:[I],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(n,t){if(n&1&&(a(0,"div",0)(1,"span",1),r(2,"instanceKey"),o(),a(3,"span",2),r(4),o(),a(5,"span",1),r(6,"N\xE9v"),o(),a(7,"span",3),r(8),o(),a(9,"span",1),r(10,"St\xE1tusz"),o(),a(11,"span",4),r(12),o(),f(13,ve,4,3),a(14,"span",1),r(15,"Session presence"),o(),a(16,"span",4),r(17),o(),f(18,be,16,7),a(19,"span",1),r(20,"MAC"),o(),a(21,"span",2),r(22),o(),a(23,"span",1),r(24,"Install path"),o(),a(25,"span",2),r(26),o(),a(27,"span",1),r(28,"hostName"),o(),a(29,"span",3),r(30),o(),a(31,"span",1),r(32,"registry __created"),o(),a(33,"span",5),r(34),L(35,"date"),o(),a(36,"span",1),r(37,"registry __updated"),o(),a(38,"span",5),r(39),L(40,"date"),o()(),a(41,"div",6),g(42,"app-s-cc-rate-limit-info",7),o()),n&2){let l,p;s(4),y(t.row.registry.instanceKey||"\u2014"),s(4),y((t.row.instanceData==null||t.row.instanceData.name==null?null:t.row.instanceData.name.trim())||"\u2014"),s(4),y((t.row.instanceData==null?null:t.row.instanceData.status)||"\u2014"),s(),m((l=t.presence)?13:-1,l),s(4),_(" ",(t.row.instanceData==null||t.row.instanceData.sessionStatuses==null||t.row.instanceData.sessionStatuses[0]==null?null:t.row.instanceData.sessionStatuses[0].presence)||"\u2014"," "),s(),m((p=t.row.instanceData==null||t.row.instanceData.sessionStatuses==null?null:t.row.instanceData.sessionStatuses[0])?18:-1,p),s(4),y(t.row.registry.primaryMacAddress||"\u2014"),s(4),y(t.row.registry.installLocationPath||"\u2014"),s(4),y(t.row.registry.hostName||"\u2014"),s(4),_(" ",V(35,12,t.row.registry.__created,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),s(5),_(" ",V(40,15,t.row.registry.__updated,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),s(3),u("ccapId",t.row.registry.instanceKey||"")}},dependencies:[A,B,fe,J],encapsulation:2})}return i})();var we=(i,d)=>d.instanceKey,Ie=i=>({"bg-ccapAccent/10":i});function $e(i,d){if(i&1&&g(0,"app-s-instance-presence-badge",5),i&2){let e=d;u("presence",e.presence)("lastHeartbeatAt",e.lastHeartbeatAt)("wsConnected",e.wsConnected)("showLabel",!1)}}function Ee(i,d){i&1&&(a(0,"span",6),r(1,"(local)"),o())}function ke(i,d){i&1&&g(0,"span",7)}function Me(i,d){if(i&1){let e=w();a(0,"div",2)(1,"button",4),x("click",function(){let t,l=h(e).$implicit,p=c();return C(p.handleSelectInstance((t=l.instanceKey)!==null&&t!==void 0?t:""))}),f(2,$e,1,4,"app-s-instance-presence-badge",5),r(3),f(4,Ee,2,0,"span",6)(5,ke,1,0,"span",7),o(),a(6,"button",8),x("click",function(){let t,l=h(e).$implicit,p=c();return C(p.handleInfoClick((t=l.instanceKey)!==null&&t!==void 0?t:""))}),r(7," i "),o()()}if(i&2){let e,n=d.$implicit,t=c();s(),k("border-ccapAccent",t.isSelected(n))("text-ccapAccent",t.isSelected(n))("border-neonDefault",!t.isSelected(n))("text-neutral-400",!t.isSelected(n))("hover:text-neutral-200",!t.isSelected(n))("hover:border-neutral-500",!t.isSelected(n)),u("ngClass",Y(17,Ie,t.isSelected(n))),s(),m((e=t.getPresenceForRow(n))?2:-1,e),s(),_(" ",t.getDisplayLabel(n)," "),s(),m(t.isLocal(n)?4:-1),s(),m(t.getActiveSessionForRow(n)?5:-1)}}function Te(i,d){i&1&&(a(0,"span",3),r(1,"loading..."),o())}var Se=(()=>{class i{peiContext_DS=E(ae);presenceMap=new Map;activeSessionMap=new Map;infoRequested=new q;instances_$=S(()=>this.peiContext_DS.instanceList_$());selectedCcapId_$=S(()=>this.peiContext_DS.activeCcapId_$());localKey_$=S(()=>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 n=e.hostName??"",t=(e.instanceKey??"").slice(-6);return n?`${n} (${t})`:t||"?"}isSelected(e){return(e.instanceKey??"")===this.selectedCcapId_$()}isLocal(e){return(e.instanceKey??"")===this.localKey_$()}getPresenceForRow(e){let n=e.instanceKey??"";return n?this.presenceMap.get(n)??null:null}getActiveSessionForRow(e){let n=e.instanceKey??"";return n?this.activeSessionMap.get(n)===!0:!1}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=v({type:i,selectors:[["app-s-instance-selector"]],hostAttrs:[1,"block"],inputs:{presenceMap:"presenceMap",activeSessionMap:"activeSessionMap"},outputs:{infoRequested:"infoRequested"},standalone:!0,features:[I],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(n,t){n&1&&(a(0,"div",0)(1,"span",1),r(2,"Instance:"),o(),T(3,Me,8,19,"div",2,we),f(5,Te,2,0,"span",3),o()),n&2&&(s(3),D(t.instances_$()),s(2),m(t.instances_$().length?-1:5))},dependencies:[A,z,J],encapsulation:2})}return i})();function De(i,d){if(i&1&&g(0,"app-s-instance-detail-view",3),i&2){let e=c(2);u("row",d)("presence",e.getPresenceForSelectedRow())}}function Ae(i,d){if(i&1){let e=w();a(0,"app-s-modal",2),x("closed",function(){h(e);let t=c();return C(t.handleModalClosed())}),f(1,De,1,2,"app-s-instance-detail-view",3),o()}if(i&2){let e,n=c();u("isOpen",!0)("title",n.modalTitle_$())("maxWidth","lg"),s(),m((e=n.selectedRow_$())?1:-1,e)}}var Ot=(()=>{class i{instanceRegistry_DS=E(oe);runtimeInstances_DS=E(le);presenceMap=new Map;activeSessionMap=new Map;selectedInstanceKey_$=b(null);viewRows_$=S(()=>ce.buildViewRows(this.instanceRegistry_DS.list_$(),this.runtimeInstances_DS.ccapInstanceList_$()));selectedRow_$=S(()=>{let e=this.selectedInstanceKey_$();return e?this.viewRows_$().find(n=>(n.registry.instanceKey??"")===e)??null:null});isModalOpen_$=S(()=>this.selectedRow_$()!==null);modalTitle_$=S(()=>{let e=this.selectedRow_$();if(!e)return"";let n=e.registry.hostName??"",t=e.registry.instanceKey??"";return n?`Instance \u2014 ${n}`:`Instance \u2014 ${t.slice(-6)||"?"}`});handleInfoRequested(e){this.selectedInstanceKey_$.set(e.instanceKey)}getPresenceForSelectedRow(){let e=this.selectedRow_$();if(!e)return;let n=e.registry.instanceKey??"";if(n)return this.presenceMap.get(n)}handleModalClosed(){this.selectedInstanceKey_$.set(null)}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=v({type:i,selectors:[["app-s-instance-chip-row-with-info"]],hostAttrs:[1,"block"],inputs:{presenceMap:"presenceMap",activeSessionMap:"activeSessionMap"},standalone:!0,features:[I],decls:2,vars:3,consts:[[3,"infoRequested","presenceMap","activeSessionMap"],[3,"isOpen","title","maxWidth"],[3,"closed","isOpen","title","maxWidth"],[3,"row","presence"]],template:function(n,t){n&1&&(a(0,"app-s-instance-selector",0),x("infoRequested",function(p){return t.handleInfoRequested(p)}),o(),f(1,Ae,2,4,"app-s-modal",1)),n&2&&(u("presenceMap",t.presenceMap)("activeSessionMap",t.activeSessionMap),s(),m(t.isModalOpen_$()?1:-1))},dependencies:[A,Se,ie,xe],encapsulation:2})}return i})();var Oe=(i,d)=>d._id,Re=()=>["border-neonCyan/60","text-neonCyan","shadow-neon-glow-cyan","hover:border-neonCyan","hover:bg-neonCyan/10"],Fe=()=>["border-neutral-700","text-neutral-600"];function Le(i,d){if(i&1&&(a(0,"span",4),r(1),o()),i&2){let e=c();s(),_(" ",e.sessionJobs_$().length>9?"9+":e.sessionJobs_$().length," ")}}function Ve(i,d){if(i&1&&(a(0,"span",12),r(1),o()),i&2){let e=c().$implicit;s(),_(" ",e.schedule==null?null:e.schedule.preset," ")}}function ze(i,d){if(i&1){let e=w();a(0,"div",9)(1,"div",10)(2,"span",11),r(3),o(),f(4,Ve,2,1,"span",12),o(),a(5,"button",13),x("click",function(){let t=h(e).$implicit,l=c(2);return C(l.handleTriggerNow(t))}),O(),a(6,"svg",14),g(7,"path",15),o()()()}if(i&2){let e,n,t,l,p=d.$implicit,$=c(2);s(2),u("title",(e=p.name)!==null&&e!==void 0?e:""),s(),_(" ",((n=p.name)!==null&&n!==void 0?n:"").trim()||"Unnamed schedule"," "),s(),m(p.schedule!=null&&p.schedule.preset?4:-1),s(),u("disabled",$.busyJobIds_$().has((t=p._id)!==null&&t!==void 0?t:""))("title",$.busyJobIds_$().has((l=p._id)!==null&&l!==void 0?l:"")?"Ind\xEDt\xE1s folyamatban\u2026":"Most futtatni (Trigger Now)")}}function Ke(i,d){if(i&1){let e=w();a(0,"div",5)(1,"div",6)(2,"span",7),r(3),o(),a(4,"button",8),x("click",function(){h(e);let t=c();return C(t.handleToggle())}),r(5," \xD7 "),o()(),T(6,ze,8,5,"div",9,Oe),o()}if(i&2){let e=c();s(3),_(" Schedule (",e.sessionJobs_$().length,") "),s(3),D(e.sessionJobs_$())}}var Kt=(()=>{class i{sessionId=R.required();scheduledJobs_DS=E(pe);isOpen_$=b(!1);busyJobIds_$=b(new Set);sessionJobs_$=S(()=>{let e=(this.sessionId()??"").trim();return e?this.scheduledJobs_DS.jobs_$().filter(t=>t.enabled===!1?!1:(t.target?.payload?.sessionId??"").trim()===e):[]});hasSchedule_$=S(()=>this.sessionJobs_$().length>0);ngOnInit(){this.scheduledJobs_DS.jobs_$().length===0&&this.scheduledJobs_DS.loadAll()}handleToggle(){this.isOpen_$.update(e=>!e)}handleTriggerNow(e){return P(this,null,function*(){let n=(e._id??"").trim();if(n&&!this.busyJobIds_$().has(n)){this.busyJobIds_$.update(t=>{let l=new Set(t);return l.add(n),l});try{yield this.scheduledJobs_DS.triggerNow({jobId:n,reason:"session-overlay-manual"})}finally{this.busyJobIds_$.update(t=>{let l=new Set(t);return l.delete(n),l})}}})}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=v({type:i,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:[I],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-neonAmber","text-neutral-900","rounded-full","text-[9px]","font-mono","font-bold","leading-[14px]","text-center","shadow-neon-glow-orange"],[1,"bg-neutral-900","border-2","border-neonCyan/60","rounded-lg","p-3","flex","flex-col","gap-2","min-w-[16rem]","max-w-xs","shadow-neon-glow-cyan"],[1,"flex","items-center","justify-between","gap-2"],[1,"text-[10px]","uppercase","tracking-wider","text-neonCyan","font-mono"],["type","button","title","Bez\xE1r\xE1s","aria-label","Schedule panel bez\xE1r\xE1sa",1,"text-neutral-400","hover:text-neonCyan","leading-none","px-1","transition-colors",3,"click"],[1,"flex","items-center","justify-between","gap-2","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-neonCyan/60","text-neonCyan","hover:border-neonCyan","hover:bg-neonCyan/10","hover:shadow-neon-glow-cyan","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"]],template:function(n,t){n&1&&(a(0,"div",0)(1,"button",1),x("click",function(){return t.handleToggle()}),O(),a(2,"svg",2),g(3,"path",3),o(),f(4,Le,2,1,"span",4),o(),f(5,Ke,8,1,"div",5),o()),n&2&&(s(),k("-translate-x-2",!t.isOpen_$())("translate-x-2",t.isOpen_$()),u("disabled",!t.hasSchedule_$())("title",t.hasSchedule_$()?t.isOpen_$()?"Schedule panel bez\xE1r\xE1sa":"Schedule megjelen\xEDt\xE9se ("+t.sessionJobs_$().length+" job)":"Nincs schedule ehhez a sessionh\xF6z")("ngClass",t.hasSchedule_$()?M(10,Re):M(11,Fe)),F("aria-expanded",t.isOpen_$()),s(3),m(t.hasSchedule_$()&&t.sessionJobs_$().length>1?4:-1),s(),m(t.isOpen_$()?5:-1))},dependencies:[z],encapsulation:2})}return i})();function je(i,d){if(i&1){let e=w();a(0,"button",10),x("click",function(){let t=h(e).$implicit,l=c(2);return C(l.handleAction(t))}),r(1),o()}if(i&2){let e=d.$implicit,n=c(2);u("disabled",n.pendingAction_$()===e),s(),_(" ",n.pendingAction_$()===e?"Sending\u2026":e," ")}}function Ne(i,d){if(i&1){let e=w();a(0,"div",4)(1,"div",5)(2,"span",6),r(3," QuickCast "),o(),a(4,"button",7),x("click",function(){h(e);let t=c();return C(t.handleToggle())}),r(5," \xD7 "),o()(),a(6,"div",8),T(7,je,2,2,"button",9,W),o()()}if(i&2){let e=c();s(7),D(e.actions())}}var Jt=(()=>{class i{actions=R(["Go","Continue","OK","Proceed","implement","Review Very Very Carefully","Ensure Documentations","tervezd meg nagyon alaposan \xE9s fejleszd le"]);actionSelected=Q();isOpen_$=b(!1);pendingAction_$=b(null);handleToggle(){this.isOpen_$.update(e=>!e)}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(n){return new(n||i)};static \u0275cmp=v({type:i,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:[I],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(n,t){n&1&&(a(0,"div",0)(1,"button",1),x("click",function(){return t.handleToggle()}),O(),a(2,"svg",2),g(3,"path",3),o()(),f(4,Ne,9,0,"div",4),o()),n&2&&(s(),k("-translate-x-2",!t.isOpen_$())("translate-x-2",t.isOpen_$()),u("title",t.isOpen_$()?"QuickCast bez\xE1r\xE1sa":"QuickCast megnyit\xE1sa"),F("aria-expanded",t.isOpen_$()),s(3),m(t.isOpen_$()?4:-1))},encapsulation:2})}return i})();var Pe=(i,d)=>d.provider+":::"+d.modelName,Be=()=>["border-neonAmber/60","text-neonAmber","shadow-neon-glow-orange","hover:border-neonAmber","hover:bg-neonAmber/10"],Je=()=>["border-neutral-700","text-neutral-500","hover:border-neutral-500","hover:bg-neutral-800/50"],He=()=>["border-neonAmber/60","shadow-neon-glow-orange"],qe=()=>["border-neutral-700"],Qe=()=>["text-neonAmber"],We=()=>["text-neutral-400"];function Ue(i,d){if(i&1&&(a(0,"div",10)(1,"span",11),r(2,"provider"),o(),a(3,"span",14),r(4),o()()),i&2){let e=c();s(3),u("title",e.providerName),s(),_(" ",e.providerName," ")}}function Ye(i,d){if(i&1&&(a(0,"div",10)(1,"span",11),r(2,"model"),o(),a(3,"span",14),r(4),o()()),i&2){let e=c();s(3),u("title",e.model),s(),y(e.model)}}function Ge(i,d){if(i&1&&(a(0,"div",10)(1,"span",11),r(2,"workflow"),o(),a(3,"span",14),r(4),o()()),i&2){let e=c();s(3),u("title",e.workflowId),s(),_(" ",e.workflowId," ")}}function Xe(i,d){if(i&1){let e=w();a(0,"div",9)(1,"div",10)(2,"span",11),r(3,"status"),o(),a(4,"span",12),r(5),o()(),f(6,Ue,5,2,"div",10)(7,Ye,5,2,"div",10)(8,Ge,5,2,"div",10),o(),a(9,"button",13),x("click",function(){h(e);let t=c(2);return C(t.handleStop())}),r(10),o()}if(i&2){let e=d,n=c(2);s(5),y(e.status),s(),m(e.providerName?6:-1),s(),m(e.model?7:-1),s(),m(e.workflowId?8:-1),s(),u("disabled",n.isBusy_$()),s(),_(" ",n.isBusy_$()?"Stopping\u2026":"Stop"," ")}}function Ze(i,d){if(i&1&&(a(0,"option",18),r(1),o()),i&2){let e=d.$implicit;u("value",e.provider+":::"+e.modelName),s(),U(" ",e.provider," / ",e.modelName," ")}}function et(i,d){if(i&1){let e=w();a(0,"span",15),r(1," Nincs assigned coordinator \u2014 v\xE1lassz modellt \xE9s kattints az Assign-ra. "),o(),a(2,"select",16),x("ngModelChange",function(t){h(e);let l=c(2);return C(l.selectedModelKey_$.set(t))}),a(3,"option",17),r(4,"\u2014 v\xE1lassz modellt \u2014"),o(),T(5,Ze,2,3,"option",18,Pe),o(),a(7,"button",13),x("click",function(){h(e);let t=c(2);return C(t.handleAssign())}),r(8),o()}if(i&2){let e=c(2);s(2),u("ngModel",e.selectedModelKey_$()),s(3),D(e.modelOptions_$()),s(2),u("disabled",!e.selectedModelKey_$()||e.isBusy_$()),s(),_(" ",e.isBusy_$()?"Assigning\u2026":"Assign"," ")}}function tt(i,d){if(i&1){let e=w();a(0,"div",5)(1,"div",6)(2,"span",7),r(3," Coordinator "),o(),a(4,"button",8),x("click",function(){h(e);let t=c();return C(t.handleToggle())}),r(5," \xD7 "),o()(),f(6,Xe,11,6)(7,et,9,3),o()}if(i&2){let e,n=c();u("ngClass",n.isAssigned_$()?M(3,He):M(4,qe)),s(2),u("ngClass",n.isAssigned_$()?M(5,Qe):M(6,We)),s(4),m((e=n.assignedCoordinator_$())?6:7,e)}}var Zt=(()=>{class i{sessionId=R.required();coordinator_DS=E(ue);registrySsot_CS=E(de);isOpen_$=b(!1);isBusy_$=b(!1);selectedModelKey_$=b("");modelOptions_$=S(()=>this.registrySsot_CS.enabledLlmModels_$());assignedCoordinator_$=S(()=>{let e=(this.sessionId()??"").trim();return!e||!this.coordinator_DS.coordinatedSessionIds_$().has(e)?null:this.coordinator_DS.globalCoordinatorsList_$().find(l=>{let p=(l.sessionId??"").trim(),$=(l.status??"").trim().toLowerCase();return p===e&&$!=="stopped"&&$!=="completed"})??null});isAssigned_$=S(()=>this.assignedCoordinator_$()!==null);ngOnInit(){this.coordinator_DS.globalCoordinatorsList_$().length===0&&this.coordinator_DS.loadAllCoordinatorsForManagementPage(),this.registrySsot_CS.ensureLoaded("llm")}handleToggle(){this.isOpen_$.update(e=>!e)}handleAssign(){return P(this,null,function*(){let e=(this.sessionId()??"").trim(),n=this.selectedModelKey_$().trim();if(!e||!n||this.isBusy_$())return;let t=n.split(":::");if(t.length!==2)return;let l=t[0],p=t[1];if(!(!l||!p)){this.isBusy_$.set(!0);try{yield this.coordinator_DS.startCoordinator({sessionId:e,providerName:l,model:p}),this.coordinator_DS.loadAllCoordinatorsForManagementPage()}finally{this.isBusy_$.set(!1)}}})}handleStop(){return P(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(n){return new(n||i)};static \u0275cmp=v({type:i,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:[I],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-neonAmber","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-neonAmber/60","text-neonAmber","text-xs","font-medium","hover:bg-neonAmber/10","hover:shadow-neon-glow-orange","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-neonAmber/60",3,"ngModelChange","ngModel"],["value","","disabled",""],[3,"value"]],template:function(n,t){if(n&1&&(a(0,"div",0)(1,"button",1),x("click",function(){return t.handleToggle()}),O(),a(2,"svg",2),g(3,"circle",3)(4,"polygon",4),o()(),f(5,tt,8,7,"div",5),o()),n&2){let l;s(),k("-translate-x-2",!t.isOpen_$())("translate-x-2",t.isOpen_$()),u("title",t.isAssigned_$()?t.isOpen_$()?"Coordinator panel bez\xE1r\xE1sa":"Coordinator: "+((l=(l=t.assignedCoordinator_$())==null?null:l.status)!==null&&l!==void 0?l:""):t.isOpen_$()?"Coordinator panel bez\xE1r\xE1sa":"Nincs coordinator \u2014 assign-ol\xE1shoz kattints")("ngClass",t.isAssigned_$()?M(8,Be):M(9,Je)),F("aria-expanded",t.isOpen_$()),s(4),m(t.isOpen_$()?5:-1)}},dependencies:[z,ne,ee,te,Z,G,X],encapsulation:2})}return i})();export{H as a,Ot as b,Kt as c,Jt as d,Zt as e};
3
- //# sourceMappingURL=chunk-NW3JFOV4.js.map
3
+ //# sourceMappingURL=chunk-YSPF4PQW.js.map
@@ -1,3 +1,3 @@
1
- import"./chunk-EGRHWZRV.js";import{a as Ve}from"./chunk-Q2PKIGLB.js";import{a as we}from"./chunk-ZXN6ZMCA.js";import{a as Ie,b as X}from"./chunk-2IF7VGCW.js";import"./chunk-XTGZETS4.js";import{g as Re}from"./chunk-JHDCUB45.js";import"./chunk-HZGBIPFR.js";import"./chunk-7JUIBZEE.js";import{a as Pe,b as Ee,c as q}from"./chunk-C7XPBJTG.js";import{b as te,e as ke,f as Ae}from"./chunk-VOHSYLUS.js";import"./chunk-WPHEQXWB.js";import{b as Me}from"./chunk-XOJZHSXQ.js";import"./chunk-E76GC2YK.js";import"./chunk-XFOT5KWF.js";import"./chunk-FPFVIPAH.js";import"./chunk-Q2NVIOCY.js";import{a as De}from"./chunk-AYJCM63I.js";import{a as ee}from"./chunk-J32YRK3S.js";import"./chunk-P34E64AS.js";import"./chunk-4VXIIEH5.js";import"./chunk-TQXB5XON.js";import"./chunk-V3VQWJQL.js";import"./chunk-ODFFLETA.js";import"./chunk-FYF4IYIU.js";import"./chunk-ZBTWQZNB.js";import"./chunk-FLAJXIYW.js";import{b as ve,c as N,f as W,i as B,n as z,o as j,p as H,v as Se}from"./chunk-EO4DNTT4.js";import{k as Te}from"./chunk-TQ5MHLKT.js";import{a as V}from"./chunk-5UPNU54P.js";import{j as ye}from"./chunk-5HH23IFL.js";import{I as $e}from"./chunk-GAST5KXQ.js";import{Aa as he,Ba as me,C as x,D as I,E as se,Eb as xe,Fa as _,Fb as ge,Ga as k,Gb as U,J as m,K as u,Kb as be,L as le,M as de,Z as d,aa as l,ca as ce,da as M,ga as f,ha as _e,hb as b,ia as R,jb as ue,k as C,la as y,na as P,oa as S,p as v,pa as $,q as re,qa as r,ra as s,sa as w,ua as E,ub as fe,va as h,wa as c,xb as Ce,y as F,z as ae,za as pe}from"./chunk-TBMJSIBB.js";var Q="ccap-consultant",T=class{static savePanelOpen(a,e){V.writeBoolean(`${Q}:panelOpen:${a}`,e)}static loadPanelOpen(a,e){return V.readBoolean(`${Q}:panelOpen:${a}`,e)}static savePanelWidth(a,e){V.writeNumber(`${Q}:panelWidth:${a}`,e)}static loadPanelWidth(a,e){return V.readNumber(`${Q}:panelWidth:${a}`,e)}};var Oe=(()=>{class i{baseUrl=`${$e.api.baseUrl}/consultant`;http=x(Ce);listThreads(){return v(this.http.get(this.baseUrl))}getPickerOptions(){return v(this.http.get(`${this.baseUrl}/picker-options`))}createThread(e){return v(this.http.post(this.baseUrl,e))}getThread(e){return v(this.http.get(`${this.baseUrl}/${encodeURIComponent(e)}`))}patchThread(e){let t={};return e.label!=null&&(t.label=e.label),e.providerInstanceId!=null&&(t.providerInstanceId=e.providerInstanceId),e.model!=null&&(t.model=e.model),v(this.http.patch(`${this.baseUrl}/${encodeURIComponent(e.threadId)}`,t))}deleteThread(e){return v(this.http.delete(`${this.baseUrl}/${encodeURIComponent(e)}`))}postMessage(e){return v(this.http.post(`${this.baseUrl}/${encodeURIComponent(e.threadId)}/messages`,{text:e.text,allowWebSearch:e.allowWebSearch,attachments:e.attachments}))}static \u0275fac=function(t){return new(t||i)};static \u0275prov=F({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var G=(()=>{class i{consultant_AS=x(Oe);globalError_CS=x(ye);threads_$=l([]);threadsLoading_$=l(!1);threadsError_$=l(null);selectedThread_$=l(null);selectedThreadLoading_$=l(!1);selectedThreadError_$=l(null);sending_$=l(!1);activeThreadId_$=l("");defaults_$=l({providerInstanceId:"",model:""});pickerOptions_$=l([]);pickerOptionsLoading_$=l(!1);loadPickerOptions(){return C(this,null,function*(){this.pickerOptionsLoading_$.set(!0);try{let e=yield this.consultant_AS.getPickerOptions(),t=Array.isArray(e.entries)?e.entries.map(i.parseRegistryEntry).filter(n=>n!==null):[];this.pickerOptions_$.set(t),this.defaults_$.set({providerInstanceId:typeof e.defaults?.providerInstanceId=="string"?e.defaults.providerInstanceId:"",model:typeof e.defaults?.model=="string"?e.defaults.model:""})}catch(e){this.globalError_CS.showError(e,"Consultant_DataService.loadPickerOptions")}finally{this.pickerOptionsLoading_$.set(!1)}})}loadThreads(){return C(this,null,function*(){this.threadsLoading_$.set(!0),this.threadsError_$.set(null);try{let e=yield this.consultant_AS.listThreads(),n=(Array.isArray(e.threads)?e.threads:[]).map(o=>({threadId:typeof o.threadId=="string"?o.threadId:"",label:typeof o.label=="string"?o.label:"",providerInstanceId:typeof o.providerInstanceId=="string"?o.providerInstanceId:"",model:typeof o.model=="string"?o.model:"",messageCount:typeof o.messageCount=="number"?o.messageCount:0,updatedAt:typeof o.updatedAt=="string"?o.updatedAt:""}));this.threads_$.set(n)}catch(e){this.threadsError_$.set(e),this.globalError_CS.showError(e,"Consultant_DataService.loadThreads")}finally{this.threadsLoading_$.set(!1)}})}loadThreadDetail(e){return C(this,null,function*(){this.activeThreadId_$.set(e),this.selectedThreadLoading_$.set(!0),this.selectedThreadError_$.set(null);try{let t=yield this.consultant_AS.getThread(e),n=i.parseThreadDetail(t.thread);this.selectedThread_$.set(n)}catch(t){this.selectedThreadError_$.set(t),this.globalError_CS.showError(t,"Consultant_DataService.loadThreadDetail")}finally{this.selectedThreadLoading_$.set(!1)}})}sendMessage(e){return C(this,null,function*(){this.sending_$.set(!0);try{let n=(yield this.consultant_AS.postMessage(e)).thread;if(i.isPlainRecord(n)){let o=i.parseThreadDetail(n);this.selectedThread_$.set(o)}yield this.loadThreads()}catch(t){throw this.globalError_CS.showError(t,"Consultant_DataService.sendMessage"),t}finally{this.sending_$.set(!1)}})}updateThreadConfig(e){return C(this,null,function*(){try{let t=yield this.consultant_AS.patchThread(e),n=i.parseThreadDetail(t.thread);this.selectedThread_$.set(n),yield this.loadThreads()}catch(t){throw this.globalError_CS.showError(t,"Consultant_DataService.updateThreadConfig"),t}})}createThread(e){return C(this,null,function*(){try{let n=(yield this.consultant_AS.createThread(e)).thread.threadId,o=typeof n=="string"?n:"";return yield this.loadThreads(),o}catch(t){throw this.globalError_CS.showError(t,"Consultant_DataService.createThread"),t}})}deleteThread(e){return C(this,null,function*(){try{yield this.consultant_AS.deleteThread(e),this.activeThreadId_$()===e&&(this.selectedThread_$.set(null),this.activeThreadId_$.set("")),yield this.loadThreads()}catch(t){throw this.globalError_CS.showError(t,"Consultant_DataService.deleteThread"),t}})}static parseThreadDetail(e){let t=typeof e.threadId=="string"?e.threadId:"";if(!t.length)return null;let n=e.messages,o=[];if(Array.isArray(n))for(let p of n){if(!i.isPlainRecord(p))continue;let A=typeof p.id=="string"?p.id:"",Y=p.role;if(Y!=="user"&&Y!=="assistant")continue;let L={id:A,role:Y};typeof p.rawUserText=="string"&&(L.rawUserText=p.rawUserText),typeof p.content=="string"&&(L.content=p.content);let ie=p.userParts;if(Array.isArray(ie)){let oe=[];for(let D of ie){if(!i.isPlainRecord(D))continue;let J=D.type;if(J!=="text"&&J!=="image_url")continue;let Z={type:J};typeof D.text=="string"&&(Z.text=D.text),typeof D.imageUrl=="string"&&(Z.imageUrl=D.imageUrl),oe.push(Z)}L.userParts=oe}o.push(L)}return{threadId:t,label:typeof e.label=="string"?e.label:"",providerInstanceId:typeof e.providerInstanceId=="string"?e.providerInstanceId:"",model:typeof e.model=="string"?e.model:"",messages:o,updatedAt:typeof e.updatedAt=="string"?e.updatedAt:""}}static isPlainRecord(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}static parseRegistryEntry(e){if(!i.isPlainRecord(e))return null;let t=typeof e.provider=="string"?e.provider:"",n=typeof e.modelName=="string"?e.modelName:"";if(!t.length||!n.length)return null;let o=e.capabilities,p=Array.isArray(o)?o.filter(A=>typeof A=="string"):void 0;return{id:typeof e.id=="string"?e.id:"",provider:t,modelName:n,enabled:e.enabled===!0,capabilities:p}}static \u0275fac=function(t){return new(t||i)};static \u0275prov=F({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var g=class{static collectSortedProviders(a){let e=new Set;for(let t of a){let n=t.provider.trim();n.length>0&&e.add(n)}return[...e].sort()}static collectSortedModelsForProvider(a,e){let t=e.trim();if(!t.length)return[];let n=[];for(let o of a){let p=o.modelName.trim();o.provider===t&&p.length>0&&n.push(p)}return[...new Set(n)].sort()}};var ze=(i,a)=>a.id;function je(i,a){i&1&&(r(0,"div",5),_(1,"Loading..."),s())}function He(i,a){if(i&1){let e=E();r(0,"app-s-session-list-row",9),h("selected",function(n){m(e);let o=c(2);return u(o.handleSelectThread(n))})("contextMenu",function(n){m(e);let o=c(2);return u(o.handleRowContextMenu(n))}),s()}if(i&2){let e=a.$implicit,t=c(2);f("view",e)("isActive",t.consultant_DS.activeThreadId_$()===e.id)}}function Xe(i,a){if(i&1&&S(0,He,1,2,"app-s-session-list-row",8,ze),i&2){let e=c();$(e.threadRowViews_$())}}function qe(i,a){i&1&&(r(0,"div",6),_(1,"No threads"),s())}function Qe(i,a){if(i&1&&(r(0,"option",16),_(1),s()),i&2){let e=a.$implicit,t=c(2);f("value",e),d(),k(t.providerDisplayLabelsMap_$()[e]||e)}}function Ge(i,a){if(i&1&&(r(0,"option",16),_(1),s()),i&2){let e=a.$implicit;f("value",e),d(),k(e)}}function Ke(i,a){if(i&1){let e=E();r(0,"div",10),h("click",function(){m(e);let n=c();return u(n.handleCloseCreate())}),r(1,"div",11),h("click",function(n){return m(e),u(n.stopPropagation())}),r(2,"h3",12),_(3,"New consultant thread"),s(),r(4,"div",13)(5,"label",14),_(6,"Label (optional)"),s(),r(7,"input",15),h("ngModelChange",function(n){m(e);let o=c();return u(o.newLabel_$.set(n))}),s(),r(8,"label",14),_(9,"Provider"),s(),r(10,"select",15),h("ngModelChange",function(n){m(e);let o=c();return u(o.handleProviderChange(n))}),S(11,Qe,2,2,"option",16,P),s(),r(13,"label",14),_(14,"Model"),s(),r(15,"select",15),h("ngModelChange",function(n){m(e);let o=c();return u(o.newModel_$.set(n))}),S(16,Ge,2,2,"option",16,P),s()(),r(18,"div",17)(19,"button",18),h("click",function(){m(e);let n=c();return u(n.handleCloseCreate())}),_(20," Cancel "),s(),r(21,"button",19),h("click",function(){m(e);let n=c();return u(n.handleCreateThread())}),_(22," Create "),s()()()()}if(i&2){let e=c();d(7),f("ngModel",e.newLabel_$()),d(3),f("ngModel",e.newProvider_$()),d(),$(e.providerOptions_$()),d(4),f("ngModel",e.newModel_$()),d(),$(e.modelsForNewProvider_$()),d(5),f("disabled",e.isCreating_$()||!e.newProvider_$().trim()||!e.newModel_$().trim())}}function Ye(i,a){if(i&1){let e=E();r(0,"div",20),h("click",function(){m(e);let n=c();return u(n.handleCloseCtxMenu())}),s(),r(1,"div",21)(2,"button",22),h("click",function(){m(e);let n=c();return u(n.handleCtxDelete())}),_(3," Delete "),s()()}if(i&2){let e=c();d(),_e("left",e.ctxMenuPos_$().x,"px")("top",e.ctxMenuPos_$().y,"px")}}var Le=(()=>{class i{consultant_DS=x(G);router=x(U);modelRegistry_DS=x(De);isCreateOpen_$=l(!1);newLabel_$=l("");newProvider_$=l("");newModel_$=l("");isCreating_$=l(!1);providerOptions_$=b(()=>g.collectSortedProviders(this.consultant_DS.pickerOptions_$()));modelsForNewProvider_$=b(()=>g.collectSortedModelsForProvider(this.consultant_DS.pickerOptions_$(),this.newProvider_$()));providerDisplayLabelsMap_$=b(()=>{let e=this.modelRegistry_DS.setupConfigForRegistry_$(),t=this.providerOptions_$(),n={};for(let o of t)n[o]==null&&(n[o]=ee.getProviderDisplayLabel(o,e));return n});threadProviderDisplayLabels_$=b(()=>{let e=this.modelRegistry_DS.setupConfigForRegistry_$(),t=new Set;for(let o of this.consultant_DS.threads_$()){let p=o.providerInstanceId.trim();p.length>0&&t.add(p)}for(let o of this.providerOptions_$())t.add(o);let n={};for(let o of t)n[o]=ee.getProviderDisplayLabel(o,e);return n});threadRowViews_$=b(()=>this.consultant_DS.threads_$().map(e=>({id:e.threadId,label:e.label||e.threadId,status:"",statusColorClass:"bg-neutral-600",isArchived:!1,lastActivityAt:e.updatedAt,isRunning:!1})));ctxMenuThread_$=l(null);ctxMenuPos_$=l({x:0,y:0});ngOnInit(){this.consultant_DS.loadThreads(),this.consultant_DS.loadPickerOptions(),this.modelRegistry_DS.loadSetupConfigForRegistry()}handleSelectThread(e){this.router.navigate(["/consultant",e])}handleOpenCreate(){return C(this,null,function*(){yield this.consultant_DS.loadPickerOptions();let e=this.consultant_DS.defaults_$(),t=this.providerOptions_$();if(e.providerInstanceId.length>0&&t.includes(e.providerInstanceId)){let n=g.collectSortedModelsForProvider(this.consultant_DS.pickerOptions_$(),e.providerInstanceId);e.model.length>0&&n.includes(e.model)?(this.newProvider_$.set(e.providerInstanceId),this.newModel_$.set(e.model)):(this.newProvider_$.set(e.providerInstanceId),this.newModel_$.set(n[0]??""))}else{let n=t[0]??"";this.newProvider_$.set(n);let o=g.collectSortedModelsForProvider(this.consultant_DS.pickerOptions_$(),n);this.newModel_$.set(o[0]??"")}this.newLabel_$.set(""),this.isCreateOpen_$.set(!0)})}handleCloseCreate(){this.isCreateOpen_$.set(!1)}handleProviderChange(e){this.newProvider_$.set(e);let t=g.collectSortedModelsForProvider(this.consultant_DS.pickerOptions_$(),e);this.newModel_$.set(t[0]??"")}handleCreateThread(){return C(this,null,function*(){let e=this.newProvider_$().trim(),t=this.newModel_$().trim();if(!(!e.length||!t.length)){this.isCreating_$.set(!0);try{let n=this.newLabel_$().trim(),o=yield this.consultant_DS.createThread({label:n.length>0?n:void 0,providerInstanceId:e,model:t});this.isCreateOpen_$.set(!1),o.length>0&&this.router.navigate(["/consultant",o])}finally{this.isCreating_$.set(!1)}}})}handleRowContextMenu(e){let t=this.consultant_DS.threads_$().find(n=>n.threadId===e.id);t&&(this.ctxMenuThread_$.set(t),this.ctxMenuPos_$.set({x:e.event.clientX,y:e.event.clientY}))}handleCloseCtxMenu(){this.ctxMenuThread_$.set(null)}handleCtxDelete(){return C(this,null,function*(){let e=this.ctxMenuThread_$();if(e){this.handleCloseCtxMenu();try{yield this.consultant_DS.deleteThread(e.threadId),this.router.navigate(["/consultant"])}catch{}}})}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=I({type:i,selectors:[["app-ccap-consultant-dashboard"]],hostAttrs:[1,"flex","flex-col","flex-1","min-h-0","overflow-hidden"],decls:12,vars:3,consts:[[1,"flex","flex-col","flex-1","min-h-0"],[1,"shrink-0","p-2","border-b","border-neonDefault","flex","items-center","gap-2"],[1,"text-xs","font-semibold","text-neutral-300","flex-1","truncate"],["type","button",1,"px-2","py-1","text-xs","border","border-neonDefault","text-neutral-300","hover:bg-neutral-700","rounded","transition-colors",3,"click"],[1,"flex-1","overflow-y-auto"],[1,"p-3","text-xs","text-neutral-500"],[1,"p-4","text-center","text-neutral-500","text-xs"],[1,"fixed","inset-0","z-40","flex","items-center","justify-center","bg-black/60","p-4"],[3,"view","isActive"],[3,"selected","contextMenu","view","isActive"],[1,"fixed","inset-0","z-40","flex","items-center","justify-center","bg-black/60","p-4",3,"click"],[1,"w-full","max-w-md","rounded-lg","border","border-neonDefault","bg-neutral-900","p-4","shadow-xl",3,"click"],[1,"text-sm","font-semibold","text-neutral-200","mb-3"],[1,"flex","flex-col","gap-2","text-xs"],[1,"text-neutral-400"],[1,"w-full","px-2","py-1","rounded","bg-neutral-800","border","border-neutral-600","text-neutral-200",3,"ngModelChange","ngModel"],[3,"value"],[1,"flex","justify-end","gap-2","mt-4"],["type","button",1,"px-2","py-1","text-xs","border","border-neutral-600","text-neutral-400","rounded",3,"click"],["type","button",1,"px-2","py-1","text-xs","border","border-neonDefault","text-neutral-200","rounded","disabled:opacity-40",3,"click","disabled"],[1,"fixed","inset-0","z-40",3,"click"],[1,"fixed","z-50","min-w-[140px]","bg-neutral-900","border","border-neutral-700","rounded-lg","shadow-xl","py-1","text-xs"],[1,"w-full","text-left","px-3","py-1.5","text-red-400","hover:bg-red-500/10","transition-colors",3,"click"]],template:function(t,n){if(t&1&&(r(0,"div",0)(1,"div",1)(2,"span",2),_(3,"Consultant"),s(),r(4,"button",3),h("click",function(){return n.handleOpenCreate()}),_(5," + New "),s()(),r(6,"div",4),M(7,je,2,0,"div",5)(8,Xe,2,0)(9,qe,2,0,"div",6),s()(),M(10,Ke,23,4,"div",7)(11,Ye,4,4)),t&2){let o;d(7),y(n.consultant_DS.threadsLoading_$()?7:n.threadRowViews_$().length?8:9),d(3),y(n.isCreateOpen_$()?10:-1),d(),y((o=n.ctxMenuThread_$())?11:-1,o)}},dependencies:[j,H,N,z,W,B,Me],encapsulation:2})}return i})();var We=(()=>{class i{sidebarWidth_$=l(320);isSidebarOpen_$=l(!0);isResizing_$=l(!1);ngOnInit(){let e=T.loadPanelWidth("sidebar",320);this.sidebarWidth_$.set(Math.max(200,Math.min(600,e))),this.isSidebarOpen_$.set(T.loadPanelOpen("sidebar",!0))}handleSidebarResizeStart(e){let t=e.clientX,n=this.sidebarWidth_$();this.isResizing_$.set(!0),Ve.attachUntilPointerUp({startEvent:e,onMove:o=>{let p=o.clientX-t,A=Math.max(200,Math.min(600,n+p));this.sidebarWidth_$.set(A)},onEnd:()=>{this.isResizing_$.set(!1),T.savePanelWidth("sidebar",this.sidebarWidth_$())}})}handleToggleSidebar(){this.isSidebarOpen_$.update(e=>!e),T.savePanelOpen("sidebar",this.isSidebarOpen_$())}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=I({type:i,selectors:[["app-ccap-consultant-shell"]],hostAttrs:[1,"flex","min-h-0","w-full","flex-1","flex-col","overflow-hidden"],decls:14,vars:9,consts:[[1,"flex","min-h-0","w-full","flex-1","flex-col","overflow-hidden"],["sSessionToolbarLeft","",1,"flex","items-center","gap-1","min-w-0"],["type","button",1,"px-2","py-1","text-xs","border","border-neonDefault","text-neutral-300","hover:bg-neutral-700","rounded","transition-colors","flex","items-center","gap-1","shrink-0",3,"click"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round",1,"w-3","h-3","shrink-0","transition-transform","duration-150"],["points","6 9 12 15 18 9"],["sSessionToolbarCenter","",1,"min-w-0"],["sSessionToolbarRight","",1,"min-w-0"],[3,"sidebarResizeStart","isSidebarOpen","sidebarWidthPx","isResizing"],["sSessionShellSidebar","",1,"flex","flex-col","overflow-hidden","h-full"],["sSessionShellMain","",1,"flex","min-h-0","flex-1","flex-col","overflow-hidden","[&>router-outlet]:contents"]],template:function(t,n){t&1&&(r(0,"div",0)(1,"app-s-session-shell-toolbar")(2,"div",1)(3,"button",2),h("click",function(){return n.handleToggleSidebar()}),le(),r(4,"svg",3),w(5,"polyline",4),s(),_(6," Consultant "),s()(),de(),w(7,"div",5)(8,"div",6),s(),r(9,"app-s-resizable-session-shell-layout",7),h("sidebarResizeStart",function(p){return n.handleSidebarResizeStart(p)}),r(10,"div",8),w(11,"app-ccap-consultant-dashboard"),s(),r(12,"div",9),w(13,"router-outlet"),s()()()),t&2&&(R("select-none",n.isResizing_$()),d(4),R("rotate-90",n.isSidebarOpen_$())("-rotate-90",!n.isSidebarOpen_$()),d(5),f("isSidebarOpen",n.isSidebarOpen_$())("sidebarWidthPx",n.sidebarWidth_$())("isResizing",n.isResizing_$()))},dependencies:[ge,Pe,Ee,Le],encapsulation:2})}return i})();var K=class i{static fromMessage(a){let e=a.role==="user",t=e?i.buildUserBodyText(a):a.content??"";return{listKey:a.id,kind:e?te.userPrompt:te.assistant,bodyText:t,isUserAligned:e,flags:{showCopy:!0,showRawInfo:!1,useEditDiffForExpandable:!1}}}static buildUserBodyText(a){let e=(a.rawUserText??"").trim();return(a.userParts?.length??0)>1?e.length>0?`${e}
1
+ import"./chunk-EGRHWZRV.js";import{a as Ve}from"./chunk-Q2PKIGLB.js";import{a as we}from"./chunk-BCGCVDWE.js";import{a as Ie,b as X}from"./chunk-GV7SWYVG.js";import"./chunk-D7OQ7EDV.js";import{g as Re}from"./chunk-YASHJ2WC.js";import"./chunk-DQRYQQIF.js";import"./chunk-7JUIBZEE.js";import{a as Pe,b as Ee,c as q}from"./chunk-C7XPBJTG.js";import{b as te,e as ke,f as Ae}from"./chunk-NMGB6Q45.js";import"./chunk-WPHEQXWB.js";import{b as Me}from"./chunk-4QEHZHVD.js";import"./chunk-RG4B2EC4.js";import"./chunk-QDW4DDEH.js";import"./chunk-TBE7X4MG.js";import"./chunk-Q2NVIOCY.js";import{a as De}from"./chunk-3YVLAGRH.js";import{a as ee}from"./chunk-J32YRK3S.js";import"./chunk-K3ABKMDH.js";import"./chunk-RHEQKQT3.js";import"./chunk-L65JUKSC.js";import"./chunk-V3VQWJQL.js";import"./chunk-PEHTATOM.js";import"./chunk-XWRXJ2PQ.js";import"./chunk-ZBTWQZNB.js";import"./chunk-FLAJXIYW.js";import{b as ve,c as N,f as W,i as B,n as z,o as j,p as H,v as Se}from"./chunk-EO4DNTT4.js";import{k as Te}from"./chunk-KU3NFCE3.js";import{a as V}from"./chunk-5UPNU54P.js";import{j as ye}from"./chunk-XWWVDCIV.js";import{I as $e}from"./chunk-WH2RXTQX.js";import{Aa as he,Ba as me,C as x,D as I,E as se,Eb as xe,Fa as _,Fb as ge,Ga as k,Gb as U,J as m,K as u,Kb as be,L as le,M as de,Z as d,aa as l,ca as ce,da as M,ga as f,ha as _e,hb as b,ia as R,jb as ue,k as C,la as y,na as P,oa as S,p as v,pa as $,q as re,qa as r,ra as s,sa as w,ua as E,ub as fe,va as h,wa as c,xb as Ce,y as F,z as ae,za as pe}from"./chunk-TBMJSIBB.js";var Q="ccap-consultant",T=class{static savePanelOpen(a,e){V.writeBoolean(`${Q}:panelOpen:${a}`,e)}static loadPanelOpen(a,e){return V.readBoolean(`${Q}:panelOpen:${a}`,e)}static savePanelWidth(a,e){V.writeNumber(`${Q}:panelWidth:${a}`,e)}static loadPanelWidth(a,e){return V.readNumber(`${Q}:panelWidth:${a}`,e)}};var Oe=(()=>{class i{baseUrl=`${$e.api.baseUrl}/consultant`;http=x(Ce);listThreads(){return v(this.http.get(this.baseUrl))}getPickerOptions(){return v(this.http.get(`${this.baseUrl}/picker-options`))}createThread(e){return v(this.http.post(this.baseUrl,e))}getThread(e){return v(this.http.get(`${this.baseUrl}/${encodeURIComponent(e)}`))}patchThread(e){let t={};return e.label!=null&&(t.label=e.label),e.providerInstanceId!=null&&(t.providerInstanceId=e.providerInstanceId),e.model!=null&&(t.model=e.model),v(this.http.patch(`${this.baseUrl}/${encodeURIComponent(e.threadId)}`,t))}deleteThread(e){return v(this.http.delete(`${this.baseUrl}/${encodeURIComponent(e)}`))}postMessage(e){return v(this.http.post(`${this.baseUrl}/${encodeURIComponent(e.threadId)}/messages`,{text:e.text,allowWebSearch:e.allowWebSearch,attachments:e.attachments}))}static \u0275fac=function(t){return new(t||i)};static \u0275prov=F({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var G=(()=>{class i{consultant_AS=x(Oe);globalError_CS=x(ye);threads_$=l([]);threadsLoading_$=l(!1);threadsError_$=l(null);selectedThread_$=l(null);selectedThreadLoading_$=l(!1);selectedThreadError_$=l(null);sending_$=l(!1);activeThreadId_$=l("");defaults_$=l({providerInstanceId:"",model:""});pickerOptions_$=l([]);pickerOptionsLoading_$=l(!1);loadPickerOptions(){return C(this,null,function*(){this.pickerOptionsLoading_$.set(!0);try{let e=yield this.consultant_AS.getPickerOptions(),t=Array.isArray(e.entries)?e.entries.map(i.parseRegistryEntry).filter(n=>n!==null):[];this.pickerOptions_$.set(t),this.defaults_$.set({providerInstanceId:typeof e.defaults?.providerInstanceId=="string"?e.defaults.providerInstanceId:"",model:typeof e.defaults?.model=="string"?e.defaults.model:""})}catch(e){this.globalError_CS.showError(e,"Consultant_DataService.loadPickerOptions")}finally{this.pickerOptionsLoading_$.set(!1)}})}loadThreads(){return C(this,null,function*(){this.threadsLoading_$.set(!0),this.threadsError_$.set(null);try{let e=yield this.consultant_AS.listThreads(),n=(Array.isArray(e.threads)?e.threads:[]).map(o=>({threadId:typeof o.threadId=="string"?o.threadId:"",label:typeof o.label=="string"?o.label:"",providerInstanceId:typeof o.providerInstanceId=="string"?o.providerInstanceId:"",model:typeof o.model=="string"?o.model:"",messageCount:typeof o.messageCount=="number"?o.messageCount:0,updatedAt:typeof o.updatedAt=="string"?o.updatedAt:""}));this.threads_$.set(n)}catch(e){this.threadsError_$.set(e),this.globalError_CS.showError(e,"Consultant_DataService.loadThreads")}finally{this.threadsLoading_$.set(!1)}})}loadThreadDetail(e){return C(this,null,function*(){this.activeThreadId_$.set(e),this.selectedThreadLoading_$.set(!0),this.selectedThreadError_$.set(null);try{let t=yield this.consultant_AS.getThread(e),n=i.parseThreadDetail(t.thread);this.selectedThread_$.set(n)}catch(t){this.selectedThreadError_$.set(t),this.globalError_CS.showError(t,"Consultant_DataService.loadThreadDetail")}finally{this.selectedThreadLoading_$.set(!1)}})}sendMessage(e){return C(this,null,function*(){this.sending_$.set(!0);try{let n=(yield this.consultant_AS.postMessage(e)).thread;if(i.isPlainRecord(n)){let o=i.parseThreadDetail(n);this.selectedThread_$.set(o)}yield this.loadThreads()}catch(t){throw this.globalError_CS.showError(t,"Consultant_DataService.sendMessage"),t}finally{this.sending_$.set(!1)}})}updateThreadConfig(e){return C(this,null,function*(){try{let t=yield this.consultant_AS.patchThread(e),n=i.parseThreadDetail(t.thread);this.selectedThread_$.set(n),yield this.loadThreads()}catch(t){throw this.globalError_CS.showError(t,"Consultant_DataService.updateThreadConfig"),t}})}createThread(e){return C(this,null,function*(){try{let n=(yield this.consultant_AS.createThread(e)).thread.threadId,o=typeof n=="string"?n:"";return yield this.loadThreads(),o}catch(t){throw this.globalError_CS.showError(t,"Consultant_DataService.createThread"),t}})}deleteThread(e){return C(this,null,function*(){try{yield this.consultant_AS.deleteThread(e),this.activeThreadId_$()===e&&(this.selectedThread_$.set(null),this.activeThreadId_$.set("")),yield this.loadThreads()}catch(t){throw this.globalError_CS.showError(t,"Consultant_DataService.deleteThread"),t}})}static parseThreadDetail(e){let t=typeof e.threadId=="string"?e.threadId:"";if(!t.length)return null;let n=e.messages,o=[];if(Array.isArray(n))for(let p of n){if(!i.isPlainRecord(p))continue;let A=typeof p.id=="string"?p.id:"",Y=p.role;if(Y!=="user"&&Y!=="assistant")continue;let L={id:A,role:Y};typeof p.rawUserText=="string"&&(L.rawUserText=p.rawUserText),typeof p.content=="string"&&(L.content=p.content);let ie=p.userParts;if(Array.isArray(ie)){let oe=[];for(let D of ie){if(!i.isPlainRecord(D))continue;let J=D.type;if(J!=="text"&&J!=="image_url")continue;let Z={type:J};typeof D.text=="string"&&(Z.text=D.text),typeof D.imageUrl=="string"&&(Z.imageUrl=D.imageUrl),oe.push(Z)}L.userParts=oe}o.push(L)}return{threadId:t,label:typeof e.label=="string"?e.label:"",providerInstanceId:typeof e.providerInstanceId=="string"?e.providerInstanceId:"",model:typeof e.model=="string"?e.model:"",messages:o,updatedAt:typeof e.updatedAt=="string"?e.updatedAt:""}}static isPlainRecord(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}static parseRegistryEntry(e){if(!i.isPlainRecord(e))return null;let t=typeof e.provider=="string"?e.provider:"",n=typeof e.modelName=="string"?e.modelName:"";if(!t.length||!n.length)return null;let o=e.capabilities,p=Array.isArray(o)?o.filter(A=>typeof A=="string"):void 0;return{id:typeof e.id=="string"?e.id:"",provider:t,modelName:n,enabled:e.enabled===!0,capabilities:p}}static \u0275fac=function(t){return new(t||i)};static \u0275prov=F({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var g=class{static collectSortedProviders(a){let e=new Set;for(let t of a){let n=t.provider.trim();n.length>0&&e.add(n)}return[...e].sort()}static collectSortedModelsForProvider(a,e){let t=e.trim();if(!t.length)return[];let n=[];for(let o of a){let p=o.modelName.trim();o.provider===t&&p.length>0&&n.push(p)}return[...new Set(n)].sort()}};var ze=(i,a)=>a.id;function je(i,a){i&1&&(r(0,"div",5),_(1,"Loading..."),s())}function He(i,a){if(i&1){let e=E();r(0,"app-s-session-list-row",9),h("selected",function(n){m(e);let o=c(2);return u(o.handleSelectThread(n))})("contextMenu",function(n){m(e);let o=c(2);return u(o.handleRowContextMenu(n))}),s()}if(i&2){let e=a.$implicit,t=c(2);f("view",e)("isActive",t.consultant_DS.activeThreadId_$()===e.id)}}function Xe(i,a){if(i&1&&S(0,He,1,2,"app-s-session-list-row",8,ze),i&2){let e=c();$(e.threadRowViews_$())}}function qe(i,a){i&1&&(r(0,"div",6),_(1,"No threads"),s())}function Qe(i,a){if(i&1&&(r(0,"option",16),_(1),s()),i&2){let e=a.$implicit,t=c(2);f("value",e),d(),k(t.providerDisplayLabelsMap_$()[e]||e)}}function Ge(i,a){if(i&1&&(r(0,"option",16),_(1),s()),i&2){let e=a.$implicit;f("value",e),d(),k(e)}}function Ke(i,a){if(i&1){let e=E();r(0,"div",10),h("click",function(){m(e);let n=c();return u(n.handleCloseCreate())}),r(1,"div",11),h("click",function(n){return m(e),u(n.stopPropagation())}),r(2,"h3",12),_(3,"New consultant thread"),s(),r(4,"div",13)(5,"label",14),_(6,"Label (optional)"),s(),r(7,"input",15),h("ngModelChange",function(n){m(e);let o=c();return u(o.newLabel_$.set(n))}),s(),r(8,"label",14),_(9,"Provider"),s(),r(10,"select",15),h("ngModelChange",function(n){m(e);let o=c();return u(o.handleProviderChange(n))}),S(11,Qe,2,2,"option",16,P),s(),r(13,"label",14),_(14,"Model"),s(),r(15,"select",15),h("ngModelChange",function(n){m(e);let o=c();return u(o.newModel_$.set(n))}),S(16,Ge,2,2,"option",16,P),s()(),r(18,"div",17)(19,"button",18),h("click",function(){m(e);let n=c();return u(n.handleCloseCreate())}),_(20," Cancel "),s(),r(21,"button",19),h("click",function(){m(e);let n=c();return u(n.handleCreateThread())}),_(22," Create "),s()()()()}if(i&2){let e=c();d(7),f("ngModel",e.newLabel_$()),d(3),f("ngModel",e.newProvider_$()),d(),$(e.providerOptions_$()),d(4),f("ngModel",e.newModel_$()),d(),$(e.modelsForNewProvider_$()),d(5),f("disabled",e.isCreating_$()||!e.newProvider_$().trim()||!e.newModel_$().trim())}}function Ye(i,a){if(i&1){let e=E();r(0,"div",20),h("click",function(){m(e);let n=c();return u(n.handleCloseCtxMenu())}),s(),r(1,"div",21)(2,"button",22),h("click",function(){m(e);let n=c();return u(n.handleCtxDelete())}),_(3," Delete "),s()()}if(i&2){let e=c();d(),_e("left",e.ctxMenuPos_$().x,"px")("top",e.ctxMenuPos_$().y,"px")}}var Le=(()=>{class i{consultant_DS=x(G);router=x(U);modelRegistry_DS=x(De);isCreateOpen_$=l(!1);newLabel_$=l("");newProvider_$=l("");newModel_$=l("");isCreating_$=l(!1);providerOptions_$=b(()=>g.collectSortedProviders(this.consultant_DS.pickerOptions_$()));modelsForNewProvider_$=b(()=>g.collectSortedModelsForProvider(this.consultant_DS.pickerOptions_$(),this.newProvider_$()));providerDisplayLabelsMap_$=b(()=>{let e=this.modelRegistry_DS.setupConfigForRegistry_$(),t=this.providerOptions_$(),n={};for(let o of t)n[o]==null&&(n[o]=ee.getProviderDisplayLabel(o,e));return n});threadProviderDisplayLabels_$=b(()=>{let e=this.modelRegistry_DS.setupConfigForRegistry_$(),t=new Set;for(let o of this.consultant_DS.threads_$()){let p=o.providerInstanceId.trim();p.length>0&&t.add(p)}for(let o of this.providerOptions_$())t.add(o);let n={};for(let o of t)n[o]=ee.getProviderDisplayLabel(o,e);return n});threadRowViews_$=b(()=>this.consultant_DS.threads_$().map(e=>({id:e.threadId,label:e.label||e.threadId,status:"",statusColorClass:"bg-neutral-600",isArchived:!1,lastActivityAt:e.updatedAt,isRunning:!1})));ctxMenuThread_$=l(null);ctxMenuPos_$=l({x:0,y:0});ngOnInit(){this.consultant_DS.loadThreads(),this.consultant_DS.loadPickerOptions(),this.modelRegistry_DS.loadSetupConfigForRegistry()}handleSelectThread(e){this.router.navigate(["/consultant",e])}handleOpenCreate(){return C(this,null,function*(){yield this.consultant_DS.loadPickerOptions();let e=this.consultant_DS.defaults_$(),t=this.providerOptions_$();if(e.providerInstanceId.length>0&&t.includes(e.providerInstanceId)){let n=g.collectSortedModelsForProvider(this.consultant_DS.pickerOptions_$(),e.providerInstanceId);e.model.length>0&&n.includes(e.model)?(this.newProvider_$.set(e.providerInstanceId),this.newModel_$.set(e.model)):(this.newProvider_$.set(e.providerInstanceId),this.newModel_$.set(n[0]??""))}else{let n=t[0]??"";this.newProvider_$.set(n);let o=g.collectSortedModelsForProvider(this.consultant_DS.pickerOptions_$(),n);this.newModel_$.set(o[0]??"")}this.newLabel_$.set(""),this.isCreateOpen_$.set(!0)})}handleCloseCreate(){this.isCreateOpen_$.set(!1)}handleProviderChange(e){this.newProvider_$.set(e);let t=g.collectSortedModelsForProvider(this.consultant_DS.pickerOptions_$(),e);this.newModel_$.set(t[0]??"")}handleCreateThread(){return C(this,null,function*(){let e=this.newProvider_$().trim(),t=this.newModel_$().trim();if(!(!e.length||!t.length)){this.isCreating_$.set(!0);try{let n=this.newLabel_$().trim(),o=yield this.consultant_DS.createThread({label:n.length>0?n:void 0,providerInstanceId:e,model:t});this.isCreateOpen_$.set(!1),o.length>0&&this.router.navigate(["/consultant",o])}finally{this.isCreating_$.set(!1)}}})}handleRowContextMenu(e){let t=this.consultant_DS.threads_$().find(n=>n.threadId===e.id);t&&(this.ctxMenuThread_$.set(t),this.ctxMenuPos_$.set({x:e.event.clientX,y:e.event.clientY}))}handleCloseCtxMenu(){this.ctxMenuThread_$.set(null)}handleCtxDelete(){return C(this,null,function*(){let e=this.ctxMenuThread_$();if(e){this.handleCloseCtxMenu();try{yield this.consultant_DS.deleteThread(e.threadId),this.router.navigate(["/consultant"])}catch{}}})}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=I({type:i,selectors:[["app-ccap-consultant-dashboard"]],hostAttrs:[1,"flex","flex-col","flex-1","min-h-0","overflow-hidden"],decls:12,vars:3,consts:[[1,"flex","flex-col","flex-1","min-h-0"],[1,"shrink-0","p-2","border-b","border-neonDefault","flex","items-center","gap-2"],[1,"text-xs","font-semibold","text-neutral-300","flex-1","truncate"],["type","button",1,"px-2","py-1","text-xs","border","border-neonDefault","text-neutral-300","hover:bg-neutral-700","rounded","transition-colors",3,"click"],[1,"flex-1","overflow-y-auto"],[1,"p-3","text-xs","text-neutral-500"],[1,"p-4","text-center","text-neutral-500","text-xs"],[1,"fixed","inset-0","z-40","flex","items-center","justify-center","bg-black/60","p-4"],[3,"view","isActive"],[3,"selected","contextMenu","view","isActive"],[1,"fixed","inset-0","z-40","flex","items-center","justify-center","bg-black/60","p-4",3,"click"],[1,"w-full","max-w-md","rounded-lg","border","border-neonDefault","bg-neutral-900","p-4","shadow-xl",3,"click"],[1,"text-sm","font-semibold","text-neutral-200","mb-3"],[1,"flex","flex-col","gap-2","text-xs"],[1,"text-neutral-400"],[1,"w-full","px-2","py-1","rounded","bg-neutral-800","border","border-neutral-600","text-neutral-200",3,"ngModelChange","ngModel"],[3,"value"],[1,"flex","justify-end","gap-2","mt-4"],["type","button",1,"px-2","py-1","text-xs","border","border-neutral-600","text-neutral-400","rounded",3,"click"],["type","button",1,"px-2","py-1","text-xs","border","border-neonDefault","text-neutral-200","rounded","disabled:opacity-40",3,"click","disabled"],[1,"fixed","inset-0","z-40",3,"click"],[1,"fixed","z-50","min-w-[140px]","bg-neutral-900","border","border-neutral-700","rounded-lg","shadow-xl","py-1","text-xs"],[1,"w-full","text-left","px-3","py-1.5","text-red-400","hover:bg-red-500/10","transition-colors",3,"click"]],template:function(t,n){if(t&1&&(r(0,"div",0)(1,"div",1)(2,"span",2),_(3,"Consultant"),s(),r(4,"button",3),h("click",function(){return n.handleOpenCreate()}),_(5," + New "),s()(),r(6,"div",4),M(7,je,2,0,"div",5)(8,Xe,2,0)(9,qe,2,0,"div",6),s()(),M(10,Ke,23,4,"div",7)(11,Ye,4,4)),t&2){let o;d(7),y(n.consultant_DS.threadsLoading_$()?7:n.threadRowViews_$().length?8:9),d(3),y(n.isCreateOpen_$()?10:-1),d(),y((o=n.ctxMenuThread_$())?11:-1,o)}},dependencies:[j,H,N,z,W,B,Me],encapsulation:2})}return i})();var We=(()=>{class i{sidebarWidth_$=l(320);isSidebarOpen_$=l(!0);isResizing_$=l(!1);ngOnInit(){let e=T.loadPanelWidth("sidebar",320);this.sidebarWidth_$.set(Math.max(200,Math.min(600,e))),this.isSidebarOpen_$.set(T.loadPanelOpen("sidebar",!0))}handleSidebarResizeStart(e){let t=e.clientX,n=this.sidebarWidth_$();this.isResizing_$.set(!0),Ve.attachUntilPointerUp({startEvent:e,onMove:o=>{let p=o.clientX-t,A=Math.max(200,Math.min(600,n+p));this.sidebarWidth_$.set(A)},onEnd:()=>{this.isResizing_$.set(!1),T.savePanelWidth("sidebar",this.sidebarWidth_$())}})}handleToggleSidebar(){this.isSidebarOpen_$.update(e=>!e),T.savePanelOpen("sidebar",this.isSidebarOpen_$())}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=I({type:i,selectors:[["app-ccap-consultant-shell"]],hostAttrs:[1,"flex","min-h-0","w-full","flex-1","flex-col","overflow-hidden"],decls:14,vars:9,consts:[[1,"flex","min-h-0","w-full","flex-1","flex-col","overflow-hidden"],["sSessionToolbarLeft","",1,"flex","items-center","gap-1","min-w-0"],["type","button",1,"px-2","py-1","text-xs","border","border-neonDefault","text-neutral-300","hover:bg-neutral-700","rounded","transition-colors","flex","items-center","gap-1","shrink-0",3,"click"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round",1,"w-3","h-3","shrink-0","transition-transform","duration-150"],["points","6 9 12 15 18 9"],["sSessionToolbarCenter","",1,"min-w-0"],["sSessionToolbarRight","",1,"min-w-0"],[3,"sidebarResizeStart","isSidebarOpen","sidebarWidthPx","isResizing"],["sSessionShellSidebar","",1,"flex","flex-col","overflow-hidden","h-full"],["sSessionShellMain","",1,"flex","min-h-0","flex-1","flex-col","overflow-hidden","[&>router-outlet]:contents"]],template:function(t,n){t&1&&(r(0,"div",0)(1,"app-s-session-shell-toolbar")(2,"div",1)(3,"button",2),h("click",function(){return n.handleToggleSidebar()}),le(),r(4,"svg",3),w(5,"polyline",4),s(),_(6," Consultant "),s()(),de(),w(7,"div",5)(8,"div",6),s(),r(9,"app-s-resizable-session-shell-layout",7),h("sidebarResizeStart",function(p){return n.handleSidebarResizeStart(p)}),r(10,"div",8),w(11,"app-ccap-consultant-dashboard"),s(),r(12,"div",9),w(13,"router-outlet"),s()()()),t&2&&(R("select-none",n.isResizing_$()),d(4),R("rotate-90",n.isSidebarOpen_$())("-rotate-90",!n.isSidebarOpen_$()),d(5),f("isSidebarOpen",n.isSidebarOpen_$())("sidebarWidthPx",n.sidebarWidth_$())("isResizing",n.isResizing_$()))},dependencies:[ge,Pe,Ee,Le],encapsulation:2})}return i})();var K=class i{static fromMessage(a){let e=a.role==="user",t=e?i.buildUserBodyText(a):a.content??"";return{listKey:a.id,kind:e?te.userPrompt:te.assistant,bodyText:t,isUserAligned:e,flags:{showCopy:!0,showRawInfo:!1,useEditDiffForExpandable:!1}}}static buildUserBodyText(a){let e=(a.rawUserText??"").trim();return(a.userParts?.length??0)>1?e.length>0?`${e}
2
2
  [attachments]`:"[attachments]":e.length>0?e:a.content??""}};var Ze=(i,a)=>a.listKey;function et(i,a){i&1&&(r(0,"div",0),_(1," Select a thread or create a new consultant chat. "),s())}function tt(i,a){i&1&&(r(0,"div",1),_(1,"Loading\u2026"),s())}function nt(i,a){if(i&1&&(r(0,"option",8),_(1),s()),i&2){let e=a.$implicit;f("value",e),d(),k(e)}}function it(i,a){if(i&1&&(r(0,"option",8),_(1),s()),i&2){let e=a.$implicit;f("value",e),d(),k(e)}}function ot(i,a){if(i&1&&(r(0,"div",18),w(1,"app-s-agent-console-message-bubble",19),s()),i&2){let e=a.$implicit;R("self-end",e.isUserAligned===!0)("self-start",e.isUserAligned!==!0),d(),f("view",e)}}function rt(i,a){if(i&1){let e=E();r(0,"app-s-session-chat-column-layout")(1,"div",2)(2,"div",3)(3,"div",4)(4,"span",5),_(5,"Label"),s(),r(6,"input",6),h("ngModelChange",function(n){m(e);let o=c(2);return u(o.localLabel_$.set(n))}),s()(),r(7,"div",4)(8,"span",5),_(9,"Provider"),s(),r(10,"select",7),h("ngModelChange",function(n){m(e);let o=c(2);return u(o.handleProviderChange(n))}),S(11,nt,2,2,"option",8,P),s()(),r(13,"div",4)(14,"span",5),_(15,"Model"),s(),r(16,"select",6),h("ngModelChange",function(n){m(e);let o=c(2);return u(o.localModel_$.set(n))}),S(17,it,2,2,"option",8,P),s()(),r(19,"button",9),h("click",function(){m(e);let n=c(2);return u(n.handleApplyConfig())}),_(20," Apply "),s(),r(21,"button",10),h("click",function(){m(e);let n=c(2);return u(n.handleDeleteThread())}),_(22," Delete "),s()()(),r(23,"div",11),S(24,ot,2,5,"div",12,Ze),s(),r(26,"div",13)(27,"label",14)(28,"input",15),h("ngModelChange",function(n){m(e);let o=c(2);return u(o.allowWebSearch_$.set(n))}),s(),_(29," Allow web search (Brave) "),s(),r(30,"app-s-session-input",16),h("draftTextChange",function(n){m(e);let o=c(2);return u(o.composerText_$.set(n))})("sendRequested",function(){m(e);let n=c(2);return u(n.handleSend())})("attachmentsChanged",function(n){m(e);let o=c(2);return u(o.handleAttachmentsChanged(n))}),r(31,"app-ccap-voice-record-button",17),h("transcriptSegmentReady",function(n){m(e);let o=c(2);return u(o.handleVoiceSegment(n))}),s()()()()}if(i&2){let e=c(2);d(6),f("ngModel",e.localLabel_$()),d(4),f("ngModel",e.localProvider_$()),d(),$(e.providerOptions_$()),d(5),f("ngModel",e.localModel_$()),d(),$(e.modelsForSelectedProvider_$()),d(7),$(e.consultantBubbleViews_$()),d(4),f("ngModel",e.allowWebSearch_$()),d(2),f("draftText",e.composerText_$())("isSending",e.consultant_DS.sending_$())("enableAttachments",!0)("textareaRows",3),d(),f("compactLayout",!0)}}function at(i,a){i&1&&(r(0,"div",0),_(1," Thread not loaded. "),s())}function st(i,a){if(i&1&&M(0,rt,32,9,"app-s-session-chat-column-layout")(1,at,2,0,"div",0),i&2){let e=c();y(e.consultant_DS.selectedThread_$()?0:1)}}var ne=(()=>{class i extends we{consultant_DS=x(G);route=x(xe);router=x(U);voiceInputUi_DS=x(Ie);sessionInputRef;composerText_$=l("");allowWebSearch_$=l(!1);localLabel_$=l("");localProvider_$=l("");localModel_$=l("");providerOptions_$=b(()=>g.collectSortedProviders(this.consultant_DS.pickerOptions_$()));modelsForSelectedProvider_$=b(()=>g.collectSortedModelsForProvider(this.consultant_DS.pickerOptions_$(),this.localProvider_$()));consultantBubbleViews_$=b(()=>{let e=this.consultant_DS.selectedThread_$();return e?e.messages.map(t=>K.fromMessage(t)):[]});pendingAttachments=[];constructor(){super(),this.addSubscription(this.route.paramMap.pipe(re(e=>e.get("threadId")??"")).subscribe(e=>{e.length>0?this.consultant_DS.loadThreadDetail(e):(this.consultant_DS.selectedThread_$.set(null),this.consultant_DS.activeThreadId_$.set(""))})),ue(()=>{let e=this.consultant_DS.selectedThread_$();e!=null&&(this.localLabel_$.set(e.label),this.localProvider_$.set(e.providerInstanceId),this.localModel_$.set(e.model))},{allowSignalWrites:!0}),this.consultant_DS.loadPickerOptions()}ngOnDestroy(){super.ngOnDestroy()}handleProviderChange(e){this.localProvider_$.set(e);let t=g.collectSortedModelsForProvider(this.consultant_DS.pickerOptions_$(),e),n=this.localModel_$();t.includes(n)||this.localModel_$.set(t[0]??"")}handleApplyConfig(){return C(this,null,function*(){let e=this.consultant_DS.activeThreadId_$();e.length&&(yield this.consultant_DS.updateThreadConfig({threadId:e,label:this.localLabel_$(),providerInstanceId:this.localProvider_$(),model:this.localModel_$()}))})}handleDeleteThread(){return C(this,null,function*(){let e=this.consultant_DS.activeThreadId_$();e.length&&(yield this.consultant_DS.deleteThread(e),this.router.navigate(["/consultant"]))})}handleAttachmentsChanged(e){this.pendingAttachments=e}handleVoiceSegment(e){let t=e.text.trim();if(!t.length)return;let n=this.composerText_$().trim();this.composerText_$.set(n.length>0?`${n} ${t}`:t),this.voiceInputUi_DS.autoSendAfterVoice_$()&&e.isFinal&&this.handleSend()}handleSend(){return C(this,null,function*(){let e=this.consultant_DS.activeThreadId_$();if(!e.length)return;let t=this.composerText_$().trim(),n=[...this.pendingAttachments];if(!t.length&&!n.length)return;let o=n.map(p=>({kind:p.isImage?"image":"textDocument",mimeType:p.mimeType,fileName:p.fileName,dataBase64:p.base64}));yield this.consultant_DS.sendMessage({threadId:e,text:t,allowWebSearch:this.allowWebSearch_$(),attachments:o}),this.composerText_$.set(""),this.pendingAttachments=[],this.sessionInputRef?.clearAttachments()})}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=I({type:i,selectors:[["app-ccap-consultant-detail"]],viewQuery:function(t,n){if(t&1&&pe(q,5),t&2){let o;he(o=me())&&(n.sessionInputRef=o.first)}},hostAttrs:[1,"flex","flex-col","flex-1","min-h-0","overflow-hidden"],features:[ce],decls:3,vars:1,consts:[[1,"flex","flex-1","items-center","justify-center","p-4","text-xs","text-neutral-500"],[1,"flex","flex-1","items-center","justify-center","text-xs","text-neutral-500"],["sChatColumnHeader","",1,"flex","shrink-0","flex-col","gap-2","border-b","border-neonDefault","bg-ccapSurface","p-2"],[1,"flex","flex-wrap","items-end","gap-2"],[1,"flex","flex-col","gap-0.5"],[1,"text-[10px]","text-neutral-500"],[1,"w-40","rounded","border","border-neutral-600","bg-neutral-800","px-2","py-1","text-xs","text-neutral-200",3,"ngModelChange","ngModel"],[1,"w-36","rounded","border","border-neutral-600","bg-neutral-800","px-2","py-1","text-xs","text-neutral-200",3,"ngModelChange","ngModel"],[3,"value"],["type","button",1,"rounded","border","border-neonDefault","px-2","py-1","text-xs","text-neutral-300",3,"click"],["type","button",1,"ml-auto","rounded","border","border-red-900","px-2","py-1","text-xs","text-red-300",3,"click"],["sChatColumnScroll","",1,"flex","flex-col","gap-3","p-3"],[1,"max-w-[85%]",3,"self-end","self-start"],["sChatColumnComposer","",1,"flex","flex-col"],[1,"flex","cursor-pointer","items-center","gap-2","px-2","pt-1","text-[10px]","text-neutral-400"],["type","checkbox",3,"ngModelChange","ngModel"],["acceptedFileTypes","image/png,image/jpeg,image/webp,image/gif,.txt,.md,text/plain,text/markdown","placeholder","Message\u2026",3,"draftTextChange","sendRequested","attachmentsChanged","draftText","isSending","enableAttachments","textareaRows"],["sInputTextareaAccessory","",3,"transcriptSegmentReady","compactLayout"],[1,"max-w-[85%]"],[3,"view"]],template:function(t,n){t&1&&M(0,et,2,0,"div",0)(1,tt,2,0,"div",1)(2,st,2,1),t&2&&y(n.consultant_DS.activeThreadId_$()?n.consultant_DS.selectedThreadLoading_$()?1:2:0)},dependencies:[j,H,N,ve,z,W,B,X,q,ke,Ae],encapsulation:2})}return i})();var lt=[{path:"",component:We,children:[{path:"",component:ne},{path:":threadId",component:ne}]}],xn=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=se({type:i});static \u0275inj=ae({imports:[fe,Se,be.forChild(lt),Te,X,Re]})}return i})();export{xn as Consultant_Module};
3
- //# sourceMappingURL=consultant.module-I3ENZNQC.js.map
3
+ //# sourceMappingURL=consultant.module-YXJGRCVB.js.map
@@ -1,2 +1,2 @@
1
- import{a as B}from"./chunk-CTDX27O6.js";import"./chunk-FYF4IYIU.js";import"./chunk-5HH23IFL.js";import"./chunk-GAST5KXQ.js";import{$a as A,C as v,D as b,E as S,Fa as i,G as E,Ha as c,Ia as w,Kb as D,Ta as $,Z as r,aa as h,ab as I,da as p,ga as _,hb as T,k as f,la as s,mb as k,oa as y,pa as F,qa as o,ra as n,ub as u,va as x,wa as m,z as g}from"./chunk-TBMJSIBB.js";var R={respond:"bg-green-500/20 text-green-400","status-update":"bg-blue-500/20 text-blue-400",stop:"bg-neutral-500/20 text-neutral-400","request-user-interaction":"bg-yellow-500/20 text-yellow-400"},M="bg-neutral-700/20 text-neutral-500",P=(()=>{class e{transform(t){return t?R[t]??M:M}static \u0275fac=function(a){return new(a||e)};static \u0275pipe=E({name:"ccapCoordinatorActionBadge",type:e,pure:!0,standalone:!0})}return e})();var K=(e,l)=>l._id;function O(e,l){e&1&&(o(0,"div",13),i(1," Loading coordinators... "),n())}function z(e,l){e&1&&(o(0,"div",14),i(1," Nincs koordin\xE1tor session. "),n())}function G(e,l){if(e&1&&i(0),e&2){let t=m(2).$implicit;c(" \xB7 WF: ",t.workflowId," ")}}function q(e,l){if(e&1&&(o(0,"div",22),i(1),p(2,G,1,1),n()),e&2){let t=m().$implicit;r(),w(" ",t.providerName,":",t.model," "),r(),s(t.workflowId?2:-1)}}function V(e,l){if(e&1&&(o(0,"span",24),A(1,"ccapCoordinatorActionBadge"),i(2),n()),e&2){let t=m().$implicit;_("ngClass",I(1,2,t.decisions[t.decisions.length-1].action)),r(2),c(" ",t.decisions[t.decisions.length-1].action," ")}}function W(e,l){if(e&1&&(o(0,"div",25),i(1),n()),e&2){let t=m().$implicit;r(),c(" ",t.decisions[t.decisions.length-1].reasoning," ")}}function H(e,l){if(e&1&&(o(0,"div",26),i(1),n()),e&2){let t=m().$implicit;r(),c(" Pause reason: ",t.pauseReason," ")}}function J(e,l){if(e&1&&(o(0,"div",16)(1,"div",17)(2,"div",18)(3,"span",19),i(4),n(),o(5,"div",20)(6,"div",21),i(7),n(),p(8,q,3,3,"div",22),n()(),o(9,"div",23)(10,"span",6),i(11),n(),p(12,V,3,4,"span",24),n()(),p(13,W,2,1,"div",25)(14,H,2,1,"div",26),n()),e&2){let t=l.$implicit,a=m(2);r(3),_("ngClass",a.getStatusBadgeClass(t.status)),r(),c(" ",t.status," "),r(3),c(" Session: ",t.sessionId," "),r(),s(t.providerName||t.model?8:-1),r(3),c(" ",t.totalStepCount," steps "),r(),s(t.decisions&&t.decisions.length>0?12:-1),r(),s(t.decisions&&t.decisions.length>0?13:-1),r(),s(t.pauseReason?14:-1)}}function Q(e,l){if(e&1&&(o(0,"div",15),y(1,J,15,8,"div",16,K),n()),e&2){let t=m();r(),F(t.filteredCoordinators_$())}}var C=(()=>{class e{coordinator_DS=v(B);statusFilter_$=h("");filteredCoordinators_$=T(()=>{let t=this.statusFilter_$(),a=this.coordinator_DS.globalCoordinatorsList_$();return t?a.filter(d=>d.status===t):a});ngOnInit(){this.loadCoordinators()}loadCoordinators(){return f(this,null,function*(){yield this.coordinator_DS.loadAllCoordinatorsForManagementPage()})}handleFilterChange(t){let a=t.target;!a||!("value"in a)||this.statusFilter_$.set(String(a.value))}getStatusBadgeClass(t){switch(t){case"active":return"bg-green-500/20 text-green-400";case"paused":return"bg-yellow-500/20 text-yellow-400";case"completed":return"bg-neutral-500/20 text-neutral-400";case"failed":return"bg-red-500/20 text-red-400";default:return"bg-neutral-700/20 text-neutral-500"}}static \u0275fac=function(a){return new(a||e)};static \u0275cmp=b({type:e,selectors:[["app-ccap-coordinator"]],standalone:!0,features:[$],decls:28,vars:4,consts:[[1,"max-w-5xl","mx-auto","p-4","gt-xs:p-6","text-neutral-100"],[1,"flex","items-center","justify-between","mb-6"],[1,"text-2xl","font-bold"],[1,"text-neutral-400","text-sm","mt-1"],[1,"px-3","py-1.5","text-xs","border","border-neutral-600","text-neutral-300","rounded","hover:bg-neutral-800","transition-colors",3,"click"],[1,"flex","items-center","gap-3","mb-4"],[1,"text-xs","text-neutral-500"],[1,"bg-neutral-800","border","border-neutral-600","rounded","px-2","py-1","text-xs","text-neutral-200","outline-none","focus:border-neonDefault",3,"change"],["value",""],["value","active"],["value","paused"],["value","completed"],["value","failed"],[1,"text-center","py-8","text-neutral-500","text-sm"],[1,"rounded-lg","border","border-neutral-700","bg-ccapSurface/50","p-8","text-center","text-neutral-500","text-sm"],[1,"space-y-2"],[1,"rounded-lg","border","border-neutral-700","bg-ccapSurface/50","p-4","hover:border-neutral-600","transition-colors"],[1,"flex","items-center","justify-between","gap-4"],[1,"flex","items-center","gap-3","min-w-0"],[1,"text-xs","px-2","py-0.5","rounded","shrink-0",3,"ngClass"],[1,"min-w-0"],[1,"text-sm","text-neutral-200","truncate"],[1,"text-xs","text-neutral-500","mt-0.5"],[1,"flex","items-center","gap-3","shrink-0"],[1,"text-xs","px-1.5","py-0.5","rounded",3,"ngClass"],[1,"text-xs","text-neutral-400","mt-2","truncate"],[1,"text-xs","text-yellow-400/80","mt-1"]],template:function(a,d){a&1&&(o(0,"div",0)(1,"div",1)(2,"div")(3,"h1",2),i(4,"Koordin\xE1tor"),n(),o(5,"p",3),i(6," Koordin\xE1tor session-\xF6k kezel\xE9se \u2014 workflow-alap\xFA agent vez\xE9rl\xE9s. "),n()(),o(7,"button",4),x("click",function(){return d.loadCoordinators()}),i(8," Refresh "),n()(),o(9,"div",5)(10,"span",6),i(11,"Filter:"),n(),o(12,"select",7),x("change",function(j){return d.handleFilterChange(j)}),o(13,"option",8),i(14,"All"),n(),o(15,"option",9),i(16,"Active"),n(),o(17,"option",10),i(18,"Paused"),n(),o(19,"option",11),i(20,"Completed"),n(),o(21,"option",12),i(22,"Failed"),n()(),o(23,"span",6),i(24),n()(),p(25,O,2,0,"div",13)(26,z,2,0,"div",14)(27,Q,3,0,"div",15),n()),a&2&&(r(24),c(" ",d.filteredCoordinators_$().length," coordinator(s) "),r(),s(d.coordinator_DS.globalCoordinatorsListLoading_$()?25:-1),r(),s(!d.coordinator_DS.globalCoordinatorsListLoading_$()&&d.filteredCoordinators_$().length===0?26:-1),r(),s(!d.coordinator_DS.globalCoordinatorsListLoading_$()&&d.filteredCoordinators_$().length>0?27:-1))},dependencies:[u,k,P],encapsulation:2})}return e})();var U=[{path:"",pathMatch:"full",component:C}],st=(()=>{class e{static \u0275fac=function(a){return new(a||e)};static \u0275mod=S({type:e});static \u0275inj=g({imports:[u,D.forChild(U),C]})}return e})();export{st as Coordinator_Module};
2
- //# sourceMappingURL=crd.module-7JS3KWTM.js.map
1
+ import{a as B}from"./chunk-PP73DOUH.js";import"./chunk-XWRXJ2PQ.js";import"./chunk-XWWVDCIV.js";import"./chunk-WH2RXTQX.js";import{$a as A,C as v,D as b,E as S,Fa as i,G as E,Ha as c,Ia as w,Kb as D,Ta as $,Z as r,aa as h,ab as I,da as p,ga as _,hb as T,k as f,la as s,mb as k,oa as y,pa as F,qa as o,ra as n,ub as u,va as x,wa as m,z as g}from"./chunk-TBMJSIBB.js";var R={respond:"bg-green-500/20 text-green-400","status-update":"bg-blue-500/20 text-blue-400",stop:"bg-neutral-500/20 text-neutral-400","request-user-interaction":"bg-yellow-500/20 text-yellow-400"},M="bg-neutral-700/20 text-neutral-500",P=(()=>{class e{transform(t){return t?R[t]??M:M}static \u0275fac=function(a){return new(a||e)};static \u0275pipe=E({name:"ccapCoordinatorActionBadge",type:e,pure:!0,standalone:!0})}return e})();var K=(e,l)=>l._id;function O(e,l){e&1&&(o(0,"div",13),i(1," Loading coordinators... "),n())}function z(e,l){e&1&&(o(0,"div",14),i(1," Nincs koordin\xE1tor session. "),n())}function G(e,l){if(e&1&&i(0),e&2){let t=m(2).$implicit;c(" \xB7 WF: ",t.workflowId," ")}}function q(e,l){if(e&1&&(o(0,"div",22),i(1),p(2,G,1,1),n()),e&2){let t=m().$implicit;r(),w(" ",t.providerName,":",t.model," "),r(),s(t.workflowId?2:-1)}}function V(e,l){if(e&1&&(o(0,"span",24),A(1,"ccapCoordinatorActionBadge"),i(2),n()),e&2){let t=m().$implicit;_("ngClass",I(1,2,t.decisions[t.decisions.length-1].action)),r(2),c(" ",t.decisions[t.decisions.length-1].action," ")}}function W(e,l){if(e&1&&(o(0,"div",25),i(1),n()),e&2){let t=m().$implicit;r(),c(" ",t.decisions[t.decisions.length-1].reasoning," ")}}function H(e,l){if(e&1&&(o(0,"div",26),i(1),n()),e&2){let t=m().$implicit;r(),c(" Pause reason: ",t.pauseReason," ")}}function J(e,l){if(e&1&&(o(0,"div",16)(1,"div",17)(2,"div",18)(3,"span",19),i(4),n(),o(5,"div",20)(6,"div",21),i(7),n(),p(8,q,3,3,"div",22),n()(),o(9,"div",23)(10,"span",6),i(11),n(),p(12,V,3,4,"span",24),n()(),p(13,W,2,1,"div",25)(14,H,2,1,"div",26),n()),e&2){let t=l.$implicit,a=m(2);r(3),_("ngClass",a.getStatusBadgeClass(t.status)),r(),c(" ",t.status," "),r(3),c(" Session: ",t.sessionId," "),r(),s(t.providerName||t.model?8:-1),r(3),c(" ",t.totalStepCount," steps "),r(),s(t.decisions&&t.decisions.length>0?12:-1),r(),s(t.decisions&&t.decisions.length>0?13:-1),r(),s(t.pauseReason?14:-1)}}function Q(e,l){if(e&1&&(o(0,"div",15),y(1,J,15,8,"div",16,K),n()),e&2){let t=m();r(),F(t.filteredCoordinators_$())}}var C=(()=>{class e{coordinator_DS=v(B);statusFilter_$=h("");filteredCoordinators_$=T(()=>{let t=this.statusFilter_$(),a=this.coordinator_DS.globalCoordinatorsList_$();return t?a.filter(d=>d.status===t):a});ngOnInit(){this.loadCoordinators()}loadCoordinators(){return f(this,null,function*(){yield this.coordinator_DS.loadAllCoordinatorsForManagementPage()})}handleFilterChange(t){let a=t.target;!a||!("value"in a)||this.statusFilter_$.set(String(a.value))}getStatusBadgeClass(t){switch(t){case"active":return"bg-green-500/20 text-green-400";case"paused":return"bg-yellow-500/20 text-yellow-400";case"completed":return"bg-neutral-500/20 text-neutral-400";case"failed":return"bg-red-500/20 text-red-400";default:return"bg-neutral-700/20 text-neutral-500"}}static \u0275fac=function(a){return new(a||e)};static \u0275cmp=b({type:e,selectors:[["app-ccap-coordinator"]],standalone:!0,features:[$],decls:28,vars:4,consts:[[1,"max-w-5xl","mx-auto","p-4","gt-xs:p-6","text-neutral-100"],[1,"flex","items-center","justify-between","mb-6"],[1,"text-2xl","font-bold"],[1,"text-neutral-400","text-sm","mt-1"],[1,"px-3","py-1.5","text-xs","border","border-neutral-600","text-neutral-300","rounded","hover:bg-neutral-800","transition-colors",3,"click"],[1,"flex","items-center","gap-3","mb-4"],[1,"text-xs","text-neutral-500"],[1,"bg-neutral-800","border","border-neutral-600","rounded","px-2","py-1","text-xs","text-neutral-200","outline-none","focus:border-neonDefault",3,"change"],["value",""],["value","active"],["value","paused"],["value","completed"],["value","failed"],[1,"text-center","py-8","text-neutral-500","text-sm"],[1,"rounded-lg","border","border-neutral-700","bg-ccapSurface/50","p-8","text-center","text-neutral-500","text-sm"],[1,"space-y-2"],[1,"rounded-lg","border","border-neutral-700","bg-ccapSurface/50","p-4","hover:border-neutral-600","transition-colors"],[1,"flex","items-center","justify-between","gap-4"],[1,"flex","items-center","gap-3","min-w-0"],[1,"text-xs","px-2","py-0.5","rounded","shrink-0",3,"ngClass"],[1,"min-w-0"],[1,"text-sm","text-neutral-200","truncate"],[1,"text-xs","text-neutral-500","mt-0.5"],[1,"flex","items-center","gap-3","shrink-0"],[1,"text-xs","px-1.5","py-0.5","rounded",3,"ngClass"],[1,"text-xs","text-neutral-400","mt-2","truncate"],[1,"text-xs","text-yellow-400/80","mt-1"]],template:function(a,d){a&1&&(o(0,"div",0)(1,"div",1)(2,"div")(3,"h1",2),i(4,"Koordin\xE1tor"),n(),o(5,"p",3),i(6," Koordin\xE1tor session-\xF6k kezel\xE9se \u2014 workflow-alap\xFA agent vez\xE9rl\xE9s. "),n()(),o(7,"button",4),x("click",function(){return d.loadCoordinators()}),i(8," Refresh "),n()(),o(9,"div",5)(10,"span",6),i(11,"Filter:"),n(),o(12,"select",7),x("change",function(j){return d.handleFilterChange(j)}),o(13,"option",8),i(14,"All"),n(),o(15,"option",9),i(16,"Active"),n(),o(17,"option",10),i(18,"Paused"),n(),o(19,"option",11),i(20,"Completed"),n(),o(21,"option",12),i(22,"Failed"),n()(),o(23,"span",6),i(24),n()(),p(25,O,2,0,"div",13)(26,z,2,0,"div",14)(27,Q,3,0,"div",15),n()),a&2&&(r(24),c(" ",d.filteredCoordinators_$().length," coordinator(s) "),r(),s(d.coordinator_DS.globalCoordinatorsListLoading_$()?25:-1),r(),s(!d.coordinator_DS.globalCoordinatorsListLoading_$()&&d.filteredCoordinators_$().length===0?26:-1),r(),s(!d.coordinator_DS.globalCoordinatorsListLoading_$()&&d.filteredCoordinators_$().length>0?27:-1))},dependencies:[u,k,P],encapsulation:2})}return e})();var U=[{path:"",pathMatch:"full",component:C}],st=(()=>{class e{static \u0275fac=function(a){return new(a||e)};static \u0275mod=S({type:e});static \u0275inj=g({imports:[u,D.forChild(U),C]})}return e})();export{st as Coordinator_Module};
2
+ //# sourceMappingURL=crd.module-K5IU7FAD.js.map