@futdevpro/ccap 1.1.2773 → 1.1.2863

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 (234) hide show
  1. package/client-dist/{agent-instances.module-FTC6HON6.js → agent-instances.module-SRVXVWB4.js} +2 -2
  2. package/client-dist/{ca.module-T5WQXU2N.js → ca.module-ZAYCRAK6.js} +2 -2
  3. package/client-dist/cc-usage-dashboard.component-TNMEIWMI.js +2 -0
  4. package/client-dist/cc-usage-dashboard.component-TNMEIWMI.js.map +7 -0
  5. package/client-dist/{cc.module-COGVFTKQ.js → cc.module-BF2AOAIM.js} +2 -2
  6. package/client-dist/{chunk-KYPUXJVM.js → chunk-23GMPVB5.js} +2 -2
  7. package/client-dist/{chunk-WDWIPU4X.js → chunk-2DJBCAHJ.js} +2 -2
  8. package/client-dist/{chunk-RO27WG67.js → chunk-2LOFMRCO.js} +2 -2
  9. package/client-dist/{chunk-R335X4JG.js → chunk-2X5MWPDN.js} +2 -2
  10. package/client-dist/{chunk-ANPONVDT.js → chunk-2Y7GYEOT.js} +2 -2
  11. package/client-dist/{chunk-AEBNFYPG.js → chunk-34XFCTVF.js} +2 -2
  12. package/client-dist/{chunk-7KG4F6B6.js → chunk-4RT7LOTQ.js} +2 -2
  13. package/client-dist/{chunk-BIU6SAIV.js → chunk-4TEHGQ5C.js} +2 -2
  14. package/client-dist/{chunk-5JSNSL5M.js → chunk-4XEPGDZH.js} +2 -2
  15. package/client-dist/{chunk-XGUYV7MG.js → chunk-52JG2IIG.js} +2 -2
  16. package/client-dist/{chunk-7NVABR2D.js → chunk-77HGZO43.js} +2 -2
  17. package/client-dist/{chunk-CXVFIY3J.js → chunk-7JFONJTJ.js} +2 -2
  18. package/client-dist/{chunk-5ZCM3XEF.js → chunk-7JW45JC5.js} +2 -2
  19. package/client-dist/{chunk-YZB6VVYX.js → chunk-7MSQD5HV.js} +2 -2
  20. package/client-dist/{chunk-C5D2TV4W.js → chunk-AFF37OKI.js} +2 -2
  21. package/client-dist/{chunk-2SWFCTZE.js → chunk-B7WQ5TK3.js} +2 -2
  22. package/client-dist/{chunk-AB6U56RU.js → chunk-CBIUSRE5.js} +2 -2
  23. package/client-dist/{chunk-JF3NMIQ5.js → chunk-CUUDVYOC.js} +2 -2
  24. package/client-dist/{chunk-KBL4UR3I.js → chunk-DHIVAX2C.js} +2 -2
  25. package/client-dist/{chunk-2CPKEQZB.js → chunk-DU3IYPGM.js} +2 -2
  26. package/client-dist/{chunk-5ICDSTEC.js → chunk-DUN7ICUI.js} +2 -2
  27. package/client-dist/{chunk-VUZZQEX5.js → chunk-DZ74YN25.js} +2 -2
  28. package/client-dist/{chunk-ZYU6XCJH.js → chunk-EDQWK2Q5.js} +2 -2
  29. package/client-dist/{chunk-EKUI3AU2.js → chunk-EIT3LSQO.js} +2 -2
  30. package/client-dist/{chunk-4NFTCNS4.js → chunk-ELFCSLIP.js} +2 -2
  31. package/client-dist/{chunk-4NFTCNS4.js.map → chunk-ELFCSLIP.js.map} +1 -1
  32. package/client-dist/{chunk-JVQJMCUR.js → chunk-EMVGFT6L.js} +2 -2
  33. package/client-dist/{chunk-RKUEOIPO.js → chunk-EUY2HZZV.js} +2 -2
  34. package/client-dist/{chunk-L7NH64XF.js → chunk-EZNIJZBL.js} +2 -2
  35. package/client-dist/{chunk-W3JFG65U.js → chunk-FYXUOXRP.js} +2 -2
  36. package/client-dist/{chunk-XHHM3M6L.js → chunk-GODWUWRO.js} +2 -2
  37. package/client-dist/{chunk-CTMN3S4X.js → chunk-HSAGX22H.js} +2 -2
  38. package/client-dist/{chunk-WH6MQRSN.js → chunk-I6OBHW45.js} +8 -8
  39. package/client-dist/{chunk-WH6MQRSN.js.map → chunk-I6OBHW45.js.map} +1 -1
  40. package/client-dist/{chunk-LLVCGPKC.js → chunk-L7PQ72ZG.js} +2 -2
  41. package/client-dist/{chunk-OUEVGATK.js → chunk-NI4AZWY2.js} +2 -2
  42. package/client-dist/{chunk-UWSC2Y4S.js → chunk-O7U4KV25.js} +2 -2
  43. package/client-dist/{chunk-XS63XY4P.js → chunk-OIBDRASW.js} +2 -2
  44. package/client-dist/{chunk-YOHSTGAK.js → chunk-PZMEVMSF.js} +2 -2
  45. package/client-dist/{chunk-MLKF4HGZ.js → chunk-Q7GDEJL2.js} +2 -2
  46. package/client-dist/{chunk-HWL7Z5ZM.js → chunk-QHLRSGQG.js} +2 -2
  47. package/client-dist/{chunk-NUGU2I5R.js → chunk-QTRIOR6Z.js} +2 -2
  48. package/client-dist/{chunk-K6TH4EG6.js → chunk-QUEQSNIS.js} +2 -2
  49. package/client-dist/{chunk-GZE4ZEPZ.js → chunk-SO3QL2U5.js} +2 -2
  50. package/client-dist/{chunk-J2M6ULUC.js → chunk-SX22WHCZ.js} +2 -2
  51. package/client-dist/{chunk-KWP763XN.js → chunk-TUKCFE3B.js} +2 -2
  52. package/client-dist/{chunk-U4Q4HSQH.js → chunk-UI6N7Y2P.js} +2 -2
  53. package/client-dist/{chunk-HBVKJOYL.js → chunk-VLMQV3OI.js} +2 -2
  54. package/client-dist/{chunk-2T5UNHHM.js → chunk-VXJF6N32.js} +2 -2
  55. package/client-dist/{chunk-XVXIYED3.js → chunk-WQIBGXGU.js} +2 -2
  56. package/client-dist/{chunk-BQPUFLOR.js → chunk-WYTT3YHQ.js} +2 -2
  57. package/client-dist/{chunk-SNIUWGMH.js → chunk-X2FIFUXZ.js} +2 -2
  58. package/client-dist/{chunk-QGEEHCW4.js → chunk-XSP7NLZB.js} +2 -2
  59. package/client-dist/{chunk-WFCWXGNT.js → chunk-XXO2YNDP.js} +2 -2
  60. package/client-dist/{chunk-MXQ5HDEJ.js → chunk-YGTNCGIU.js} +2 -2
  61. package/client-dist/{chunk-X7DX63BR.js → chunk-YU32GIMP.js} +2 -2
  62. package/client-dist/{chunk-XNGKKOKB.js → chunk-ZGWUDLYU.js} +2 -2
  63. package/client-dist/{chunk-UPCMPFI2.js → chunk-ZMZ462V7.js} +2 -2
  64. package/client-dist/{consultant.module-DRXMYTWB.js → consultant.module-3PAIPMAH.js} +2 -2
  65. package/client-dist/{crd.module-ZOMOHE45.js → crd.module-PJO2UJEG.js} +2 -2
  66. package/client-dist/{dashboard.module-BQZIW6GD.js → dashboard.module-TJMYHTHX.js} +2 -2
  67. package/client-dist/{do.module-GVOQTZDO.js → do.module-SBE6P3B7.js} +2 -2
  68. package/client-dist/{document-library.module-TWEYVWUZ.js → document-library.module-YH7IF4EP.js} +2 -2
  69. package/client-dist/{embedding-eval.module-JN54G4E6.js → embedding-eval.module-STWWCUD7.js} +2 -2
  70. package/client-dist/{embedding-registry.module-C667LNNF.js → embedding-registry.module-XX6725DX.js} +2 -2
  71. package/client-dist/{err.module-SX35S7LN.js → err.module-SL2IYMTF.js} +2 -2
  72. package/client-dist/{feedback.module-3JYYFAR5.js → feedback.module-RMRL65YC.js} +2 -2
  73. package/client-dist/{host-runtime-mcp.module-OO343PYS.js → host-runtime-mcp.module-OJORUP2R.js} +2 -2
  74. package/client-dist/index.html +1 -1
  75. package/client-dist/{live-dev-pipeline.module-RXPXBR4I.js → live-dev-pipeline.module-AMBMFVIH.js} +2 -2
  76. package/client-dist/{logs.module-APARL7F5.js → logs.module-3CQ6KLLB.js} +2 -2
  77. package/client-dist/{main-OGTRBQHJ.js → main-RCFMPV3V.js} +5 -5
  78. package/client-dist/main-RCFMPV3V.js.map +7 -0
  79. package/client-dist/{master-control-remote-poc.module-ZIKHL5ZZ.js → master-control-remote-poc.module-FD3E5JB7.js} +2 -2
  80. package/client-dist/{mobile-app.module-7N3BCY3U.js → mobile-app.module-LHVADRFV.js} +2 -2
  81. package/client-dist/{model-registry.module-CIHLPYOY.js → model-registry.module-ZTKOWGAN.js} +2 -2
  82. package/client-dist/{oc.module-XTUTSUFK.js → oc.module-GLPSVTAT.js} +2 -2
  83. package/client-dist/{orc.module-RCCFU7LK.js → orc.module-BKMJC5YX.js} +2 -2
  84. package/client-dist/{project-management.module-B4PTI75N.js → project-management.module-QEIXJONY.js} +2 -2
  85. package/client-dist/project-source-routed.module-LSFQT5DK.js +2 -0
  86. package/client-dist/{scheduler.module-MU5GIH4B.js → scheduler.module-TD4G2WNF.js} +2 -2
  87. package/client-dist/{session.module-Z64V557B.js → session.module-YCITR6BG.js} +2 -2
  88. package/client-dist/{set.module-VMJ6WIDP.js → set.module-JIWXIF2C.js} +2 -2
  89. package/client-dist/{setup.module-V7KNKPJS.js → setup.module-ZWL33O7N.js} +2 -2
  90. package/client-dist/{terminals.module-KHJ7I4TI.js → terminals.module-MKXQLASR.js} +2 -2
  91. package/client-dist/{voice-notes-poc.module-VQH5ZNZK.js → voice-notes-poc.module-7LUIU7P5.js} +2 -2
  92. package/client-dist/{wfs.module-GZDMTIBS.js → wfs.module-2BMXPFAL.js} +2 -2
  93. package/package.json +1 -1
  94. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.d.ts +25 -3
  95. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.d.ts.map +1 -1
  96. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.js +23 -0
  97. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.js.map +1 -1
  98. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.spec.js +56 -3
  99. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.spec.js.map +1 -1
  100. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.d.ts +20 -0
  101. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.d.ts.map +1 -1
  102. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.js +98 -0
  103. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.js.map +1 -1
  104. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.d.ts +51 -0
  105. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.d.ts.map +1 -0
  106. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.js +72 -0
  107. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.js.map +1 -0
  108. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.spec.d.ts +2 -0
  109. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.spec.d.ts.map +1 -0
  110. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.spec.js +67 -0
  111. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.spec.js.map +1 -0
  112. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.d.ts +33 -0
  113. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.d.ts.map +1 -1
  114. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.js +56 -0
  115. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.js.map +1 -1
  116. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.spec.js +38 -0
  117. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.spec.js.map +1 -1
  118. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.d.ts.map +1 -1
  119. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.js +29 -0
  120. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.js.map +1 -1
  121. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.d.ts +6 -0
  122. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.d.ts.map +1 -1
  123. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.js +48 -1
  124. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.js.map +1 -1
  125. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.spec.js +55 -0
  126. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.spec.js.map +1 -1
  127. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.d.ts +53 -0
  128. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.d.ts.map +1 -0
  129. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.js +168 -0
  130. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.js.map +1 -0
  131. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.spec.d.ts +2 -0
  132. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.spec.d.ts.map +1 -0
  133. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.spec.js +156 -0
  134. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.spec.js.map +1 -0
  135. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.d.ts.map +1 -1
  136. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.js +9 -0
  137. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.js.map +1 -1
  138. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/claude-code.data-service.d.ts +1 -0
  139. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/claude-code.data-service.d.ts.map +1 -1
  140. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/claude-code.data-service.js +1 -0
  141. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/claude-code.data-service.js.map +1 -1
  142. package/server/build/src/_modules/messaging/_collections/consts/msg.const.d.ts +17 -0
  143. package/server/build/src/_modules/messaging/_collections/consts/msg.const.d.ts.map +1 -1
  144. package/server/build/src/_modules/messaging/_collections/consts/msg.const.js +19 -1
  145. package/server/build/src/_modules/messaging/_collections/consts/msg.const.js.map +1 -1
  146. package/server/build/src/app.server.d.ts +2 -8
  147. package/server/build/src/app.server.d.ts.map +1 -1
  148. package/server/build/src/app.server.js +6 -14
  149. package/server/build/src/app.server.js.map +1 -1
  150. package/client-dist/main-OGTRBQHJ.js.map +0 -7
  151. package/client-dist/project-source-routed.module-UGGTFFSI.js +0 -2
  152. /package/client-dist/{agent-instances.module-FTC6HON6.js.map → agent-instances.module-SRVXVWB4.js.map} +0 -0
  153. /package/client-dist/{ca.module-T5WQXU2N.js.map → ca.module-ZAYCRAK6.js.map} +0 -0
  154. /package/client-dist/{cc.module-COGVFTKQ.js.map → cc.module-BF2AOAIM.js.map} +0 -0
  155. /package/client-dist/{chunk-KYPUXJVM.js.map → chunk-23GMPVB5.js.map} +0 -0
  156. /package/client-dist/{chunk-WDWIPU4X.js.map → chunk-2DJBCAHJ.js.map} +0 -0
  157. /package/client-dist/{chunk-RO27WG67.js.map → chunk-2LOFMRCO.js.map} +0 -0
  158. /package/client-dist/{chunk-R335X4JG.js.map → chunk-2X5MWPDN.js.map} +0 -0
  159. /package/client-dist/{chunk-ANPONVDT.js.map → chunk-2Y7GYEOT.js.map} +0 -0
  160. /package/client-dist/{chunk-AEBNFYPG.js.map → chunk-34XFCTVF.js.map} +0 -0
  161. /package/client-dist/{chunk-7KG4F6B6.js.map → chunk-4RT7LOTQ.js.map} +0 -0
  162. /package/client-dist/{chunk-BIU6SAIV.js.map → chunk-4TEHGQ5C.js.map} +0 -0
  163. /package/client-dist/{chunk-5JSNSL5M.js.map → chunk-4XEPGDZH.js.map} +0 -0
  164. /package/client-dist/{chunk-XGUYV7MG.js.map → chunk-52JG2IIG.js.map} +0 -0
  165. /package/client-dist/{chunk-7NVABR2D.js.map → chunk-77HGZO43.js.map} +0 -0
  166. /package/client-dist/{chunk-CXVFIY3J.js.map → chunk-7JFONJTJ.js.map} +0 -0
  167. /package/client-dist/{chunk-5ZCM3XEF.js.map → chunk-7JW45JC5.js.map} +0 -0
  168. /package/client-dist/{chunk-YZB6VVYX.js.map → chunk-7MSQD5HV.js.map} +0 -0
  169. /package/client-dist/{chunk-C5D2TV4W.js.map → chunk-AFF37OKI.js.map} +0 -0
  170. /package/client-dist/{chunk-2SWFCTZE.js.map → chunk-B7WQ5TK3.js.map} +0 -0
  171. /package/client-dist/{chunk-AB6U56RU.js.map → chunk-CBIUSRE5.js.map} +0 -0
  172. /package/client-dist/{chunk-JF3NMIQ5.js.map → chunk-CUUDVYOC.js.map} +0 -0
  173. /package/client-dist/{chunk-KBL4UR3I.js.map → chunk-DHIVAX2C.js.map} +0 -0
  174. /package/client-dist/{chunk-2CPKEQZB.js.map → chunk-DU3IYPGM.js.map} +0 -0
  175. /package/client-dist/{chunk-5ICDSTEC.js.map → chunk-DUN7ICUI.js.map} +0 -0
  176. /package/client-dist/{chunk-VUZZQEX5.js.map → chunk-DZ74YN25.js.map} +0 -0
  177. /package/client-dist/{chunk-ZYU6XCJH.js.map → chunk-EDQWK2Q5.js.map} +0 -0
  178. /package/client-dist/{chunk-EKUI3AU2.js.map → chunk-EIT3LSQO.js.map} +0 -0
  179. /package/client-dist/{chunk-JVQJMCUR.js.map → chunk-EMVGFT6L.js.map} +0 -0
  180. /package/client-dist/{chunk-RKUEOIPO.js.map → chunk-EUY2HZZV.js.map} +0 -0
  181. /package/client-dist/{chunk-L7NH64XF.js.map → chunk-EZNIJZBL.js.map} +0 -0
  182. /package/client-dist/{chunk-W3JFG65U.js.map → chunk-FYXUOXRP.js.map} +0 -0
  183. /package/client-dist/{chunk-XHHM3M6L.js.map → chunk-GODWUWRO.js.map} +0 -0
  184. /package/client-dist/{chunk-CTMN3S4X.js.map → chunk-HSAGX22H.js.map} +0 -0
  185. /package/client-dist/{chunk-LLVCGPKC.js.map → chunk-L7PQ72ZG.js.map} +0 -0
  186. /package/client-dist/{chunk-OUEVGATK.js.map → chunk-NI4AZWY2.js.map} +0 -0
  187. /package/client-dist/{chunk-UWSC2Y4S.js.map → chunk-O7U4KV25.js.map} +0 -0
  188. /package/client-dist/{chunk-XS63XY4P.js.map → chunk-OIBDRASW.js.map} +0 -0
  189. /package/client-dist/{chunk-YOHSTGAK.js.map → chunk-PZMEVMSF.js.map} +0 -0
  190. /package/client-dist/{chunk-MLKF4HGZ.js.map → chunk-Q7GDEJL2.js.map} +0 -0
  191. /package/client-dist/{chunk-HWL7Z5ZM.js.map → chunk-QHLRSGQG.js.map} +0 -0
  192. /package/client-dist/{chunk-NUGU2I5R.js.map → chunk-QTRIOR6Z.js.map} +0 -0
  193. /package/client-dist/{chunk-K6TH4EG6.js.map → chunk-QUEQSNIS.js.map} +0 -0
  194. /package/client-dist/{chunk-GZE4ZEPZ.js.map → chunk-SO3QL2U5.js.map} +0 -0
  195. /package/client-dist/{chunk-J2M6ULUC.js.map → chunk-SX22WHCZ.js.map} +0 -0
  196. /package/client-dist/{chunk-KWP763XN.js.map → chunk-TUKCFE3B.js.map} +0 -0
  197. /package/client-dist/{chunk-U4Q4HSQH.js.map → chunk-UI6N7Y2P.js.map} +0 -0
  198. /package/client-dist/{chunk-HBVKJOYL.js.map → chunk-VLMQV3OI.js.map} +0 -0
  199. /package/client-dist/{chunk-2T5UNHHM.js.map → chunk-VXJF6N32.js.map} +0 -0
  200. /package/client-dist/{chunk-XVXIYED3.js.map → chunk-WQIBGXGU.js.map} +0 -0
  201. /package/client-dist/{chunk-BQPUFLOR.js.map → chunk-WYTT3YHQ.js.map} +0 -0
  202. /package/client-dist/{chunk-SNIUWGMH.js.map → chunk-X2FIFUXZ.js.map} +0 -0
  203. /package/client-dist/{chunk-QGEEHCW4.js.map → chunk-XSP7NLZB.js.map} +0 -0
  204. /package/client-dist/{chunk-WFCWXGNT.js.map → chunk-XXO2YNDP.js.map} +0 -0
  205. /package/client-dist/{chunk-MXQ5HDEJ.js.map → chunk-YGTNCGIU.js.map} +0 -0
  206. /package/client-dist/{chunk-X7DX63BR.js.map → chunk-YU32GIMP.js.map} +0 -0
  207. /package/client-dist/{chunk-XNGKKOKB.js.map → chunk-ZGWUDLYU.js.map} +0 -0
  208. /package/client-dist/{chunk-UPCMPFI2.js.map → chunk-ZMZ462V7.js.map} +0 -0
  209. /package/client-dist/{consultant.module-DRXMYTWB.js.map → consultant.module-3PAIPMAH.js.map} +0 -0
  210. /package/client-dist/{crd.module-ZOMOHE45.js.map → crd.module-PJO2UJEG.js.map} +0 -0
  211. /package/client-dist/{dashboard.module-BQZIW6GD.js.map → dashboard.module-TJMYHTHX.js.map} +0 -0
  212. /package/client-dist/{do.module-GVOQTZDO.js.map → do.module-SBE6P3B7.js.map} +0 -0
  213. /package/client-dist/{document-library.module-TWEYVWUZ.js.map → document-library.module-YH7IF4EP.js.map} +0 -0
  214. /package/client-dist/{embedding-eval.module-JN54G4E6.js.map → embedding-eval.module-STWWCUD7.js.map} +0 -0
  215. /package/client-dist/{embedding-registry.module-C667LNNF.js.map → embedding-registry.module-XX6725DX.js.map} +0 -0
  216. /package/client-dist/{err.module-SX35S7LN.js.map → err.module-SL2IYMTF.js.map} +0 -0
  217. /package/client-dist/{feedback.module-3JYYFAR5.js.map → feedback.module-RMRL65YC.js.map} +0 -0
  218. /package/client-dist/{host-runtime-mcp.module-OO343PYS.js.map → host-runtime-mcp.module-OJORUP2R.js.map} +0 -0
  219. /package/client-dist/{live-dev-pipeline.module-RXPXBR4I.js.map → live-dev-pipeline.module-AMBMFVIH.js.map} +0 -0
  220. /package/client-dist/{logs.module-APARL7F5.js.map → logs.module-3CQ6KLLB.js.map} +0 -0
  221. /package/client-dist/{master-control-remote-poc.module-ZIKHL5ZZ.js.map → master-control-remote-poc.module-FD3E5JB7.js.map} +0 -0
  222. /package/client-dist/{mobile-app.module-7N3BCY3U.js.map → mobile-app.module-LHVADRFV.js.map} +0 -0
  223. /package/client-dist/{model-registry.module-CIHLPYOY.js.map → model-registry.module-ZTKOWGAN.js.map} +0 -0
  224. /package/client-dist/{oc.module-XTUTSUFK.js.map → oc.module-GLPSVTAT.js.map} +0 -0
  225. /package/client-dist/{orc.module-RCCFU7LK.js.map → orc.module-BKMJC5YX.js.map} +0 -0
  226. /package/client-dist/{project-management.module-B4PTI75N.js.map → project-management.module-QEIXJONY.js.map} +0 -0
  227. /package/client-dist/{project-source-routed.module-UGGTFFSI.js.map → project-source-routed.module-LSFQT5DK.js.map} +0 -0
  228. /package/client-dist/{scheduler.module-MU5GIH4B.js.map → scheduler.module-TD4G2WNF.js.map} +0 -0
  229. /package/client-dist/{session.module-Z64V557B.js.map → session.module-YCITR6BG.js.map} +0 -0
  230. /package/client-dist/{set.module-VMJ6WIDP.js.map → set.module-JIWXIF2C.js.map} +0 -0
  231. /package/client-dist/{setup.module-V7KNKPJS.js.map → setup.module-ZWL33O7N.js.map} +0 -0
  232. /package/client-dist/{terminals.module-KHJ7I4TI.js.map → terminals.module-MKXQLASR.js.map} +0 -0
  233. /package/client-dist/{voice-notes-poc.module-VQH5ZNZK.js.map → voice-notes-poc.module-7LUIU7P5.js.map} +0 -0
  234. /package/client-dist/{wfs.module-GZDMTIBS.js.map → wfs.module-2BMXPFAL.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{b as M}from"./chunk-W3JFG65U.js";import{d as F}from"./chunk-KYPUXJVM.js";import"./chunk-ZYU6XCJH.js";import{a as f}from"./chunk-WDWIPU4X.js";import{a as E}from"./chunk-WPHEQXWB.js";import"./chunk-MLKF4HGZ.js";import"./chunk-5UPNU54P.js";import"./chunk-RO27WG67.js";import"./chunk-4NFTCNS4.js";import{C as y,D as $,E as A,Fa as s,Ga as c,Ha as S,Kb as T,Z as i,da as u,ga as m,ia as x,k as v,la as _,oa as I,pa as g,qa as a,ra as n,sa as p,ub as w,va as C,wa as d,z as D}from"./chunk-TBMJSIBB.js";var L=(t,r)=>r._id,h=(t,r)=>r.sessionId;function O(t,r){if(t&1&&(a(0,"div",25),p(1,"span",26),a(2,"span",27),s(3),n(),a(4,"span",28),s(5),n()()),t&2){let e=r.$implicit;i(),x("bg-green-500",e.presence==="working")("bg-yellow-500",e.presence==="idle")("bg-neutral-600",e.presence==="offline"),i(2),c(e.sessionName||e.sessionId),i(2),c(e.presence)}}function P(t,r){if(t&1&&(a(0,"div",21)(1,"span",23),s(2),n(),a(3,"div",24),I(4,O,6,8,"div",25,h),n()()),t&2){let e=d().$implicit;i(2),S("Sessions (",e.sessionStatuses.length,")"),i(2),g(e.sessionStatuses)}}function R(t,r){t&1&&(a(0,"span",22),s(1,"Nincs aktiv session."),n())}function j(t,r){if(t&1&&(a(0,"div",14)(1,"div",15)(2,"span",16),s(3),n(),p(4,"app-s-status-badge",17),n(),a(5,"div",18)(6,"div",19)(7,"span"),s(8,"CCAP ID"),n(),a(9,"span",20),s(10),n()(),u(11,P,6,1,"div",21)(12,R,2,0,"span",22),n()()),t&2){let e=r.$implicit,l=d(2);i(3),c(e.name||e.ccapId),i(),m("value",e.status)("colorMap",l.ccapStatusColorMap),i(6),c(e.ccapId),i(),_(e.sessionStatuses&&e.sessionStatuses.length>0?11:12)}}function z(t,r){if(t&1&&(a(0,"div",8),I(1,j,13,5,"div",14,L),n()),t&2){let e=d();i(),g(e.runtimeInstances_DS.ccapInstanceList_$())}}function B(t,r){if(t&1&&(a(0,"div",19)(1,"span"),s(2,"Utolso kapcsolodas"),n(),a(3,"span",29),s(4),n()()),t&2){let e=d().$implicit;i(4),c(e.lastConnectedAt)}}function U(t,r){if(t&1&&(a(0,"div",25),p(1,"span",26),a(2,"span",27),s(3),n(),a(4,"span",28),s(5),n()()),t&2){let e=r.$implicit;i(),x("bg-green-500",e.presence==="working")("bg-yellow-500",e.presence==="idle")("bg-neutral-600",e.presence==="offline"),i(2),c(e.sessionName||e.sessionId),i(2),c(e.presence)}}function G(t,r){if(t&1&&(a(0,"div",21)(1,"span",23),s(2),n(),a(3,"div",24),I(4,U,6,8,"div",25,h),n()()),t&2){let e=d().$implicit;i(2),S("Sessions (",e.sessionStatuses.length,")"),i(2),g(e.sessionStatuses)}}function q(t,r){t&1&&(a(0,"span",22),s(1,"Nincs aktiv session."),n())}function H(t,r){if(t&1&&(a(0,"div",14)(1,"div",15)(2,"span",16),s(3),n(),p(4,"app-s-status-badge",17),n(),a(5,"div",18)(6,"div",19)(7,"span"),s(8,"Gateway"),n(),a(9,"span",20),s(10),n()(),u(11,B,5,1,"div",19)(12,G,6,1,"div",21)(13,q,2,0,"span",22),n()()),t&2){let e=r.$implicit,l=d(2);i(3),c(e.label||e.instanceId),i(),m("value",e.connectionStatus)("colorMap",l.ociConnectionColorMap),i(6),c(e.gatewayUrl),i(),_(e.lastConnectedAt?11:-1),i(),_(e.sessionStatuses&&e.sessionStatuses.length>0?12:13)}}function J(t,r){if(t&1&&(a(0,"div",8),I(1,H,14,6,"div",14,L),n()),t&2){let e=d();i(),g(e.runtimeInstances_DS.ociInstanceList_$())}}function K(t,r){if(t&1&&(a(0,"div",25),p(1,"span",26),a(2,"span",27),s(3),n(),a(4,"span",28),s(5),n()()),t&2){let e=r.$implicit;i(),x("bg-green-500",e.presence==="working")("bg-yellow-500",e.presence==="idle")("bg-neutral-600",e.presence==="offline"),i(2),c(e.sessionName||e.sessionId),i(2),c(e.presence)}}function Q(t,r){if(t&1&&(a(0,"div",21)(1,"span",23),s(2),n(),a(3,"div",24),I(4,K,6,8,"div",25,h),n()()),t&2){let e=d().$implicit;i(2),S("CC Sessions (",e.sessionStatuses.length,")"),i(2),g(e.sessionStatuses)}}function V(t,r){t&1&&(a(0,"span",22),s(1,"Nincs session status sor."),n())}function W(t,r){if(t&1&&(a(0,"div",30)(1,"div",15)(2,"span",16),s(3),n(),p(4,"app-s-status-badge",17),n(),a(5,"div",18)(6,"div",19)(7,"span"),s(8,"ccapId"),n(),a(9,"span",20),s(10),n()(),u(11,Q,6,1,"div",21)(12,V,2,0,"span",22),n()()),t&2){let e=r.$implicit,l=d(2);i(3),c(e.name||e.ccapId),i(),m("value",e.status)("colorMap",l.cciStatusColorMap),i(6),c(e.ccapId),i(),_(e.sessionStatuses&&e.sessionStatuses.length>0?11:12)}}function X(t,r){if(t&1&&(a(0,"div",8),I(1,W,13,5,"div",30,L),n()),t&2){let e=d();i(),g(e.runtimeInstances_DS.cciInstanceList_$())}}var k=(()=>{class t{instanceRegistry_DS=y(M);runtimeInstances_DS=y(F);ngOnInit(){this.instanceRegistry_DS.loadAll(),this.loadCcapInstances(),this.loadOciInstances(),this.loadCciInstances()}loadCcapInstances(){return v(this,null,function*(){yield this.runtimeInstances_DS.loadCcapInstanceList()})}loadOciInstances(){return v(this,null,function*(){yield this.runtimeInstances_DS.loadOciInstanceListStrict()})}loadCciInstances(){return v(this,null,function*(){yield this.runtimeInstances_DS.loadCciInstanceListStrict()})}refresh(){this.instanceRegistry_DS.loadAll(),this.loadCcapInstances(),this.loadOciInstances(),this.loadCciInstances()}ccapStatusColorMap={active:"bg-green-900/40 text-green-200",inactive:"bg-neutral-700/40 text-neutral-400",maintenance:"bg-yellow-900/40 text-yellow-200"};ociConnectionColorMap={connected:"bg-green-900/40 text-green-200",disconnected:"bg-neutral-700/40 text-neutral-400",error:"bg-red-900/40 text-red-200",unreachable:"bg-red-900/40 text-red-200"};cciStatusColorMap=this.ccapStatusColorMap;static \u0275fac=function(l){return new(l||t)};static \u0275cmp=$({type:t,selectors:[["app-ccap-agent-instances"]],decls:24,vars:14,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"],["type","button",1,"px-4","py-2","border","border-neonCyan","rounded","text-neutral-300","hover:bg-neutral-700","disabled:opacity-50","transition-colors","text-sm",3,"click","disabled"],[1,"mb-8"],[1,"text-lg","font-semibold","text-neutral-200","mb-4","flex","items-center","gap-2"],[1,"w-2.5","h-2.5","rounded-full","bg-ccapAccent","shrink-0"],["emptyMessage","Nincs regisztralt CCAP instance.","errorSourceLabel","CCAP instances",3,"retry","isLoading","error","isEmpty"],[1,"grid","grid-cols-1","md:grid-cols-2","gap-3"],[1,"w-2.5","h-2.5","rounded-full","bg-neonCyan","shrink-0"],["emptyMessage","Nincs regisztralt OpenClaw instance.","errorSourceLabel","OpenClaw instances",3,"retry","isLoading","error","isEmpty"],[1,"mt-8"],[1,"w-2.5","h-2.5","rounded-full","bg-violet-500","shrink-0"],["emptyMessage","Nincs CCI instance data sor.","errorSourceLabel","CCI instances",3,"retry","isLoading","error","isEmpty"],[1,"rounded-lg","bg-neutral-800/60","border","border-neonDefault","p-4"],[1,"flex","items-center","justify-between","mb-2"],[1,"font-medium","text-neutral-200"],["size","sm",3,"value","colorMap"],[1,"flex","flex-col","gap-1","text-xs","text-neutral-400"],[1,"flex","justify-between"],[1,"text-neutral-300","font-mono","truncate","max-w-48"],[1,"border-t","border-neutral-700","pt-1.5","mt-1"],[1,"text-neutral-600","text-[10px]","mt-1"],[1,"text-neutral-500"],[1,"flex","flex-col","gap-1","mt-1"],[1,"flex","items-center","gap-2"],[1,"w-1.5","h-1.5","rounded-full","shrink-0"],[1,"text-neutral-300","truncate","flex-1"],[1,"text-neutral-500","text-[10px]"],[1,"text-neutral-300"],[1,"rounded-lg","bg-neutral-800/60","border","border-violet-500/40","p-4"]],template:function(l,o){l&1&&(a(0,"div",0)(1,"div",1)(2,"h1",2),s(3,"Agent Instances"),n(),a(4,"button",3),C("click",function(){return o.refresh()}),s(5),n()(),a(6,"section",4)(7,"h2",5),p(8,"span",6),s(9," CCAP Instances "),n(),a(10,"app-s-content-state",7),C("retry",function(){return o.loadCcapInstances()}),n(),u(11,z,3,0,"div",8),n(),a(12,"section")(13,"h2",5),p(14,"span",9),s(15," OpenClaw Instances "),n(),a(16,"app-s-content-state",10),C("retry",function(){return o.loadOciInstances()}),n(),u(17,J,3,0,"div",8),n(),a(18,"section",11)(19,"h2",5),p(20,"span",12),s(21," CC Session Instances (CCI) "),n(),a(22,"app-s-content-state",13),C("retry",function(){return o.loadCciInstances()}),n(),u(23,X,3,0,"div",8),n()()),l&2&&(i(4),m("disabled",o.runtimeInstances_DS.ccapInstanceListLoading_$()||o.runtimeInstances_DS.ociInstanceListLoading_$()||o.runtimeInstances_DS.cciInstanceListLoading_$()),i(),S(" ",o.runtimeInstances_DS.ccapInstanceListLoading_$()||o.runtimeInstances_DS.ociInstanceListLoading_$()||o.runtimeInstances_DS.cciInstanceListLoading_$()?"Betoltds...":"Frissites"," "),i(5),m("isLoading",o.runtimeInstances_DS.ccapInstanceListLoading_$())("error",o.runtimeInstances_DS.ccapInstanceListError_$())("isEmpty",o.runtimeInstances_DS.ccapInstanceList_$().length===0),i(),_(!o.runtimeInstances_DS.ccapInstanceListLoading_$()&&!o.runtimeInstances_DS.ccapInstanceListError_$()&&o.runtimeInstances_DS.ccapInstanceList_$().length>0?11:-1),i(5),m("isLoading",o.runtimeInstances_DS.ociInstanceListLoading_$())("error",o.runtimeInstances_DS.ociInstanceListError_$())("isEmpty",o.runtimeInstances_DS.ociInstanceList_$().length===0),i(),_(!o.runtimeInstances_DS.ociInstanceListLoading_$()&&!o.runtimeInstances_DS.ociInstanceListError_$()&&o.runtimeInstances_DS.ociInstanceList_$().length>0?17:-1),i(5),m("isLoading",o.runtimeInstances_DS.cciInstanceListLoading_$())("error",o.runtimeInstances_DS.cciInstanceListError_$())("isEmpty",o.runtimeInstances_DS.cciInstanceList_$().length===0),i(),_(!o.runtimeInstances_DS.cciInstanceListLoading_$()&&!o.runtimeInstances_DS.cciInstanceListError_$()&&o.runtimeInstances_DS.cciInstanceList_$().length>0?23:-1))},dependencies:[f,E],encapsulation:2})}return t})();var Y=[{path:"",pathMatch:"full",component:k}],me=(()=>{class t{static \u0275fac=function(l){return new(l||t)};static \u0275mod=A({type:t});static \u0275inj=D({imports:[w,T.forChild(Y),f,E]})}return t})();export{me as AgentInstances_Module};
2
- //# sourceMappingURL=agent-instances.module-FTC6HON6.js.map
1
+ import{b as M}from"./chunk-FYXUOXRP.js";import{d as F}from"./chunk-23GMPVB5.js";import"./chunk-EDQWK2Q5.js";import{a as f}from"./chunk-2DJBCAHJ.js";import{a as E}from"./chunk-WPHEQXWB.js";import"./chunk-Q7GDEJL2.js";import"./chunk-5UPNU54P.js";import"./chunk-2LOFMRCO.js";import"./chunk-ELFCSLIP.js";import{C as y,D as $,E as A,Fa as s,Ga as c,Ha as S,Kb as T,Z as i,da as u,ga as m,ia as x,k as v,la as _,oa as I,pa as g,qa as a,ra as n,sa as p,ub as w,va as C,wa as d,z as D}from"./chunk-TBMJSIBB.js";var L=(t,r)=>r._id,h=(t,r)=>r.sessionId;function O(t,r){if(t&1&&(a(0,"div",25),p(1,"span",26),a(2,"span",27),s(3),n(),a(4,"span",28),s(5),n()()),t&2){let e=r.$implicit;i(),x("bg-green-500",e.presence==="working")("bg-yellow-500",e.presence==="idle")("bg-neutral-600",e.presence==="offline"),i(2),c(e.sessionName||e.sessionId),i(2),c(e.presence)}}function P(t,r){if(t&1&&(a(0,"div",21)(1,"span",23),s(2),n(),a(3,"div",24),I(4,O,6,8,"div",25,h),n()()),t&2){let e=d().$implicit;i(2),S("Sessions (",e.sessionStatuses.length,")"),i(2),g(e.sessionStatuses)}}function R(t,r){t&1&&(a(0,"span",22),s(1,"Nincs aktiv session."),n())}function j(t,r){if(t&1&&(a(0,"div",14)(1,"div",15)(2,"span",16),s(3),n(),p(4,"app-s-status-badge",17),n(),a(5,"div",18)(6,"div",19)(7,"span"),s(8,"CCAP ID"),n(),a(9,"span",20),s(10),n()(),u(11,P,6,1,"div",21)(12,R,2,0,"span",22),n()()),t&2){let e=r.$implicit,l=d(2);i(3),c(e.name||e.ccapId),i(),m("value",e.status)("colorMap",l.ccapStatusColorMap),i(6),c(e.ccapId),i(),_(e.sessionStatuses&&e.sessionStatuses.length>0?11:12)}}function z(t,r){if(t&1&&(a(0,"div",8),I(1,j,13,5,"div",14,L),n()),t&2){let e=d();i(),g(e.runtimeInstances_DS.ccapInstanceList_$())}}function B(t,r){if(t&1&&(a(0,"div",19)(1,"span"),s(2,"Utolso kapcsolodas"),n(),a(3,"span",29),s(4),n()()),t&2){let e=d().$implicit;i(4),c(e.lastConnectedAt)}}function U(t,r){if(t&1&&(a(0,"div",25),p(1,"span",26),a(2,"span",27),s(3),n(),a(4,"span",28),s(5),n()()),t&2){let e=r.$implicit;i(),x("bg-green-500",e.presence==="working")("bg-yellow-500",e.presence==="idle")("bg-neutral-600",e.presence==="offline"),i(2),c(e.sessionName||e.sessionId),i(2),c(e.presence)}}function G(t,r){if(t&1&&(a(0,"div",21)(1,"span",23),s(2),n(),a(3,"div",24),I(4,U,6,8,"div",25,h),n()()),t&2){let e=d().$implicit;i(2),S("Sessions (",e.sessionStatuses.length,")"),i(2),g(e.sessionStatuses)}}function q(t,r){t&1&&(a(0,"span",22),s(1,"Nincs aktiv session."),n())}function H(t,r){if(t&1&&(a(0,"div",14)(1,"div",15)(2,"span",16),s(3),n(),p(4,"app-s-status-badge",17),n(),a(5,"div",18)(6,"div",19)(7,"span"),s(8,"Gateway"),n(),a(9,"span",20),s(10),n()(),u(11,B,5,1,"div",19)(12,G,6,1,"div",21)(13,q,2,0,"span",22),n()()),t&2){let e=r.$implicit,l=d(2);i(3),c(e.label||e.instanceId),i(),m("value",e.connectionStatus)("colorMap",l.ociConnectionColorMap),i(6),c(e.gatewayUrl),i(),_(e.lastConnectedAt?11:-1),i(),_(e.sessionStatuses&&e.sessionStatuses.length>0?12:13)}}function J(t,r){if(t&1&&(a(0,"div",8),I(1,H,14,6,"div",14,L),n()),t&2){let e=d();i(),g(e.runtimeInstances_DS.ociInstanceList_$())}}function K(t,r){if(t&1&&(a(0,"div",25),p(1,"span",26),a(2,"span",27),s(3),n(),a(4,"span",28),s(5),n()()),t&2){let e=r.$implicit;i(),x("bg-green-500",e.presence==="working")("bg-yellow-500",e.presence==="idle")("bg-neutral-600",e.presence==="offline"),i(2),c(e.sessionName||e.sessionId),i(2),c(e.presence)}}function Q(t,r){if(t&1&&(a(0,"div",21)(1,"span",23),s(2),n(),a(3,"div",24),I(4,K,6,8,"div",25,h),n()()),t&2){let e=d().$implicit;i(2),S("CC Sessions (",e.sessionStatuses.length,")"),i(2),g(e.sessionStatuses)}}function V(t,r){t&1&&(a(0,"span",22),s(1,"Nincs session status sor."),n())}function W(t,r){if(t&1&&(a(0,"div",30)(1,"div",15)(2,"span",16),s(3),n(),p(4,"app-s-status-badge",17),n(),a(5,"div",18)(6,"div",19)(7,"span"),s(8,"ccapId"),n(),a(9,"span",20),s(10),n()(),u(11,Q,6,1,"div",21)(12,V,2,0,"span",22),n()()),t&2){let e=r.$implicit,l=d(2);i(3),c(e.name||e.ccapId),i(),m("value",e.status)("colorMap",l.cciStatusColorMap),i(6),c(e.ccapId),i(),_(e.sessionStatuses&&e.sessionStatuses.length>0?11:12)}}function X(t,r){if(t&1&&(a(0,"div",8),I(1,W,13,5,"div",30,L),n()),t&2){let e=d();i(),g(e.runtimeInstances_DS.cciInstanceList_$())}}var k=(()=>{class t{instanceRegistry_DS=y(M);runtimeInstances_DS=y(F);ngOnInit(){this.instanceRegistry_DS.loadAll(),this.loadCcapInstances(),this.loadOciInstances(),this.loadCciInstances()}loadCcapInstances(){return v(this,null,function*(){yield this.runtimeInstances_DS.loadCcapInstanceList()})}loadOciInstances(){return v(this,null,function*(){yield this.runtimeInstances_DS.loadOciInstanceListStrict()})}loadCciInstances(){return v(this,null,function*(){yield this.runtimeInstances_DS.loadCciInstanceListStrict()})}refresh(){this.instanceRegistry_DS.loadAll(),this.loadCcapInstances(),this.loadOciInstances(),this.loadCciInstances()}ccapStatusColorMap={active:"bg-green-900/40 text-green-200",inactive:"bg-neutral-700/40 text-neutral-400",maintenance:"bg-yellow-900/40 text-yellow-200"};ociConnectionColorMap={connected:"bg-green-900/40 text-green-200",disconnected:"bg-neutral-700/40 text-neutral-400",error:"bg-red-900/40 text-red-200",unreachable:"bg-red-900/40 text-red-200"};cciStatusColorMap=this.ccapStatusColorMap;static \u0275fac=function(l){return new(l||t)};static \u0275cmp=$({type:t,selectors:[["app-ccap-agent-instances"]],decls:24,vars:14,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"],["type","button",1,"px-4","py-2","border","border-neonCyan","rounded","text-neutral-300","hover:bg-neutral-700","disabled:opacity-50","transition-colors","text-sm",3,"click","disabled"],[1,"mb-8"],[1,"text-lg","font-semibold","text-neutral-200","mb-4","flex","items-center","gap-2"],[1,"w-2.5","h-2.5","rounded-full","bg-ccapAccent","shrink-0"],["emptyMessage","Nincs regisztralt CCAP instance.","errorSourceLabel","CCAP instances",3,"retry","isLoading","error","isEmpty"],[1,"grid","grid-cols-1","md:grid-cols-2","gap-3"],[1,"w-2.5","h-2.5","rounded-full","bg-neonCyan","shrink-0"],["emptyMessage","Nincs regisztralt OpenClaw instance.","errorSourceLabel","OpenClaw instances",3,"retry","isLoading","error","isEmpty"],[1,"mt-8"],[1,"w-2.5","h-2.5","rounded-full","bg-violet-500","shrink-0"],["emptyMessage","Nincs CCI instance data sor.","errorSourceLabel","CCI instances",3,"retry","isLoading","error","isEmpty"],[1,"rounded-lg","bg-neutral-800/60","border","border-neonDefault","p-4"],[1,"flex","items-center","justify-between","mb-2"],[1,"font-medium","text-neutral-200"],["size","sm",3,"value","colorMap"],[1,"flex","flex-col","gap-1","text-xs","text-neutral-400"],[1,"flex","justify-between"],[1,"text-neutral-300","font-mono","truncate","max-w-48"],[1,"border-t","border-neutral-700","pt-1.5","mt-1"],[1,"text-neutral-600","text-[10px]","mt-1"],[1,"text-neutral-500"],[1,"flex","flex-col","gap-1","mt-1"],[1,"flex","items-center","gap-2"],[1,"w-1.5","h-1.5","rounded-full","shrink-0"],[1,"text-neutral-300","truncate","flex-1"],[1,"text-neutral-500","text-[10px]"],[1,"text-neutral-300"],[1,"rounded-lg","bg-neutral-800/60","border","border-violet-500/40","p-4"]],template:function(l,o){l&1&&(a(0,"div",0)(1,"div",1)(2,"h1",2),s(3,"Agent Instances"),n(),a(4,"button",3),C("click",function(){return o.refresh()}),s(5),n()(),a(6,"section",4)(7,"h2",5),p(8,"span",6),s(9," CCAP Instances "),n(),a(10,"app-s-content-state",7),C("retry",function(){return o.loadCcapInstances()}),n(),u(11,z,3,0,"div",8),n(),a(12,"section")(13,"h2",5),p(14,"span",9),s(15," OpenClaw Instances "),n(),a(16,"app-s-content-state",10),C("retry",function(){return o.loadOciInstances()}),n(),u(17,J,3,0,"div",8),n(),a(18,"section",11)(19,"h2",5),p(20,"span",12),s(21," CC Session Instances (CCI) "),n(),a(22,"app-s-content-state",13),C("retry",function(){return o.loadCciInstances()}),n(),u(23,X,3,0,"div",8),n()()),l&2&&(i(4),m("disabled",o.runtimeInstances_DS.ccapInstanceListLoading_$()||o.runtimeInstances_DS.ociInstanceListLoading_$()||o.runtimeInstances_DS.cciInstanceListLoading_$()),i(),S(" ",o.runtimeInstances_DS.ccapInstanceListLoading_$()||o.runtimeInstances_DS.ociInstanceListLoading_$()||o.runtimeInstances_DS.cciInstanceListLoading_$()?"Betoltds...":"Frissites"," "),i(5),m("isLoading",o.runtimeInstances_DS.ccapInstanceListLoading_$())("error",o.runtimeInstances_DS.ccapInstanceListError_$())("isEmpty",o.runtimeInstances_DS.ccapInstanceList_$().length===0),i(),_(!o.runtimeInstances_DS.ccapInstanceListLoading_$()&&!o.runtimeInstances_DS.ccapInstanceListError_$()&&o.runtimeInstances_DS.ccapInstanceList_$().length>0?11:-1),i(5),m("isLoading",o.runtimeInstances_DS.ociInstanceListLoading_$())("error",o.runtimeInstances_DS.ociInstanceListError_$())("isEmpty",o.runtimeInstances_DS.ociInstanceList_$().length===0),i(),_(!o.runtimeInstances_DS.ociInstanceListLoading_$()&&!o.runtimeInstances_DS.ociInstanceListError_$()&&o.runtimeInstances_DS.ociInstanceList_$().length>0?17:-1),i(5),m("isLoading",o.runtimeInstances_DS.cciInstanceListLoading_$())("error",o.runtimeInstances_DS.cciInstanceListError_$())("isEmpty",o.runtimeInstances_DS.cciInstanceList_$().length===0),i(),_(!o.runtimeInstances_DS.cciInstanceListLoading_$()&&!o.runtimeInstances_DS.cciInstanceListError_$()&&o.runtimeInstances_DS.cciInstanceList_$().length>0?23:-1))},dependencies:[f,E],encapsulation:2})}return t})();var Y=[{path:"",pathMatch:"full",component:k}],me=(()=>{class t{static \u0275fac=function(l){return new(l||t)};static \u0275mod=A({type:t});static \u0275inj=D({imports:[w,T.forChild(Y),f,E]})}return t})();export{me as AgentInstances_Module};
2
+ //# sourceMappingURL=agent-instances.module-SRVXVWB4.js.map
@@ -1,5 +1,5 @@
1
- import{a as De,b as vt}from"./chunk-CTMN3S4X.js";import{a as pe,b as _e,c as xt,d as ue}from"./chunk-XHHM3M6L.js";import"./chunk-EGRHWZRV.js";import{a as Ct}from"./chunk-MXQ5HDEJ.js";import{a as St}from"./chunk-2CPKEQZB.js";import{a as J}from"./chunk-Q2PKIGLB.js";import{a as lt,b as de,c as Ae,d as ce,e as L}from"./chunk-AB6U56RU.js";import{a as ot}from"./chunk-GZE4ZEPZ.js";import{a as ye}from"./chunk-YRVQSWSZ.js";import{a as it}from"./chunk-2T5UNHHM.js";import{a as nt,b as re}from"./chunk-XNGKKOKB.js";import"./chunk-C5D2TV4W.js";import"./chunk-5ICDSTEC.js";import{a as ae}from"./chunk-VUZZQEX5.js";import"./chunk-W3JFG65U.js";import{g as ht}from"./chunk-QGEEHCW4.js";import"./chunk-WDWIPU4X.js";import{a as _t}from"./chunk-7JUIBZEE.js";import{a as ct,b as pt,c as ut}from"./chunk-C7XPBJTG.js";import{b as M,f as mt,g as ft}from"./chunk-X7DX63BR.js";import"./chunk-WPHEQXWB.js";import{c as rt}from"./chunk-UPCMPFI2.js";import{a as le,b as st,c as at,d as we}from"./chunk-7KG4F6B6.js";import"./chunk-U4Q4HSQH.js";import"./chunk-YZB6VVYX.js";import"./chunk-Q2NVIOCY.js";import{a as dt}from"./chunk-BQPUFLOR.js";import"./chunk-HBVKJOYL.js";import"./chunk-KBL4UR3I.js";import"./chunk-V3VQWJQL.js";import"./chunk-HWL7Z5ZM.js";import{a as be}from"./chunk-WH6MQRSN.js";import"./chunk-ZBTWQZNB.js";import{a as se}from"./chunk-FLAJXIYW.js";import{c as Xe,f as Je,i as Ge,n as Ye,o as Ze,p as et,v as tt}from"./chunk-EO4DNTT4.js";import{k as K}from"./chunk-MLKF4HGZ.js";import{a as D}from"./chunk-5UPNU54P.js";import"./chunk-RO27WG67.js";import"./chunk-4NFTCNS4.js";import{$a as k,Aa as Y,Ba as Z,C as v,Cb as Qe,D as O,E as Me,Eb as ne,Fa as d,Fb as je,G as U,Ga as q,Gb as oe,Ha as b,Ia as ee,J as u,K as m,Kb as Ke,L as Le,M as Ve,Pa as te,Qa as ie,Ra as E,T as Oe,Ua as ge,Va as Ne,W as Ue,Z as l,_ as Fe,a as ve,aa as h,ab as P,b as Te,ca as We,da as g,ga as S,ha as qe,hb as R,ia as z,ib as Be,ja as I,jb as ze,k as $,la as x,mb as j,oa as H,pa as Q,q as Ie,qa as a,r as Ee,ra as r,sa as w,ua as y,ub as He,v as ke,va as f,wa as p,y as Pe,z as Re,za as G}from"./chunk-TBMJSIBB.js";var A="ccap-caSession",C=class{static saveStatusFilter(o){D.writeString(`${A}:statusFilter`,o)}static loadStatusFilter(){return D.readString(`${A}:statusFilter`)??""}static saveShowArchived(o){D.writeBoolean(`${A}:showArchived`,o)}static loadShowArchived(){return D.readBoolean(`${A}:showArchived`,!1)}static saveLastWorkspacePath(o){D.writeString(`${A}:lastWorkspacePath`,o)}static loadLastWorkspacePath(){return D.readString(`${A}:lastWorkspacePath`)??""}static saveLastLabel(o){D.writeString(`${A}:lastLabel`,o)}static loadLastLabel(){return D.readString(`${A}:lastLabel`)??""}static savePromptDraft(o,e){ue.saveDraft(A,o,e)}static loadPromptDraft(o){return ue.loadDraft(A,o)}static clearPromptDraft(o){ue.clearDraft(A,o)}static savePanelOpen(o,e){D.writeBoolean(`${A}:panelOpen:${o}`,e)}static loadPanelOpen(o,e){return D.readBoolean(`${A}:panelOpen:${o}`,e)}static savePanelWidth(o,e){D.writeNumber(`${A}:panelWidth:${o}`,e)}static loadPanelWidth(o,e){return D.readNumber(`${A}:panelWidth:${o}`,e)}static saveLastSessionId(o){D.writeString(`${A}:lastSessionId`,o)}static loadLastSessionId(){return D.readString(`${A}:lastSessionId`)??""}static saveShowAgentUpdates(o){D.writeBoolean(`${A}:showAgentUpdates`,o)}static loadShowAgentUpdates(){return D.readBoolean(`${A}:showAgentUpdates`,!0)}static saveShowSessionStatus(o){D.writeBoolean(`${A}:showSessionStatus`,o)}static loadShowSessionStatus(){return D.readBoolean(`${A}:showSessionStatus`,!0)}};var F=(()=>{class n{ca_DS=v(L);isTimelinePanelOpen_$=h(C.loadPanelOpen("timeline",!1));isMetadataPanelOpen_$=h(C.loadPanelOpen("metadata",!1));isTerminating_$=h(!1);isStopping_$=h(!1);isShowSessionStatus_$=h(C.loadShowSessionStatus());isShowAgentUpdates_$=h(C.loadShowAgentUpdates());handleToggleTimeline(){let e=!this.isTimelinePanelOpen_$();this.isTimelinePanelOpen_$.set(e),C.savePanelOpen("timeline",e)}handleToggleMetadata(){let e=!this.isMetadataPanelOpen_$();this.isMetadataPanelOpen_$.set(e),C.savePanelOpen("metadata",e)}handleToggleSessionStatus(){let e=!this.isShowSessionStatus_$();this.isShowSessionStatus_$.set(e),C.saveShowSessionStatus(e)}handleToggleAgentUpdates(){let e=!this.isShowAgentUpdates_$();this.isShowAgentUpdates_$.set(e),C.saveShowAgentUpdates(e)}handleStopExecution(){return $(this,null,function*(){let e=this.ca_DS.selectedSession_$();if(!e||this.isStopping_$())return;let i=e.sessionId??"";if(i){this.isStopping_$.set(!0);try{yield this.ca_DS.stopExecution(i)}catch{}finally{this.isStopping_$.set(!1)}}})}handleTerminate(){return $(this,null,function*(){let e=this.ca_DS.selectedSession_$();if(!e||this.isTerminating_$())return;let i=e.sessionId??"";if(i){this.isTerminating_$.set(!0);try{yield this.ca_DS.terminateSession(i)}catch{}finally{this.isTerminating_$.set(!1)}}})}static \u0275fac=function(i){return new(i||n)};static \u0275prov=Pe({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var Bt=(n,o)=>o.path;function zt(n,o){if(n&1&&(a(0,"div",5)(1,"span",35),d(2),r(),a(3,"span",35),d(4),r()()),n&2){let e=o;l(),z("bg-emerald-950",e.isAcpConnected)("text-emerald-300",e.isAcpConnected)("bg-neutral-800",!e.isAcpConnected)("text-neutral-500",!e.isAcpConnected),l(),b(" ACP ",e.isAcpConnected?"connected":"offline"," "),l(),z("bg-sky-950",e.loadSessionSupported)("text-sky-300",e.loadSessionSupported)("bg-neutral-800",!e.loadSessionSupported)("text-neutral-500",!e.loadSessionSupported),l(),b(" session/load ",e.loadSessionSupported?"yes":"no"," ")}}function Ht(n,o){if(n&1&&(a(0,"div",18),w(1,"app-ccap-error-display",36),r()),n&2){let e=p();l(),S("error",e.ca_DS.sessionsLoadError_$())}}function Qt(n,o){n&1&&(a(0,"div",20),d(1,"Loading\u2026"),r())}function jt(n,o){if(n&1){let e=y();a(0,"div",21)(1,"span",37),d(2,"No sessions"),r(),a(3,"button",38),f("click",function(){u(e);let t=p();return m(t.handleOpenCreateDialog())}),d(4," Create session "),r()()}}function Kt(n,o){if(n&1){let e=y();a(0,"app-s-session-select",39),f("selected",function(t){u(e);let s=p();return m(s.handleSelectSession(t))})("contextMenu",function(t){u(e);let s=p();return m(s.handleRowContextMenu(t))})("scheduleIndicatorClicked",function(t){u(e);let s=p();return m(s.handleScheduleIndicatorClick(t))})("coordinatorIndicatorClicked",function(t){u(e);let s=p();return m(s.handleCoordinatorIndicatorClick(t))}),r()}if(n&2){let e=p();S("rows",e.sessionRowViews_$())("activeId",e.ca_DS.activeSessionId_$())("showWorkspacePath",!0)("showPromptCount",!0)("hideSearch",!0)}}function Xt(n,o){if(n&1&&(a(0,"option",42),d(1),r()),n&2){let e=o.$implicit;S("value",e.path),l(),ee("",e.label," \u2014 ",e.path,"")}}function Jt(n,o){if(n&1){let e=y();a(0,"select",40),f("ngModelChange",function(t){u(e);let s=p();return m(s.handlePathOptionChange(t))}),a(1,"option",41),d(2,"Select a path..."),r(),H(3,Xt,2,3,"option",42,Bt),a(5,"option",43),d(6,"Custom path..."),r()()}if(n&2){let e=p();S("ngModel",e.selectedPathOption_$()),l(3),Q(e.newAgentSessionWorkspace_DS.workspacePathPickerOptions_$())}}function Gt(n,o){if(n&1&&(a(0,"div",30),w(1,"app-ccap-error-display",44),r()),n&2){let e=p();l(),S("error",e.createSessionError_$())}}function Yt(n,o){if(n&1){let e=y();a(0,"div",45),f("click",function(){u(e);let t=p();return m(t.handleCloseCtxMenu())}),r(),a(1,"div",46)(2,"button",47),f("click",function(){u(e);let t=p();return m(t.handleCtxToggleArchive())}),d(3),r()()}if(n&2){let e=p();l(),qe("left",e.ctxMenuPos_$().x,"px")("top",e.ctxMenuPos_$().y,"px"),l(2),b(" ",o.isArchived?"Unarchive":"Archive"," ")}}var gt=(()=>{class n{ca_DS=v(L);newAgentSessionWorkspace_DS=v(ot);peiContext_DS=v(ae);scheduledJobs_DS=v(St);coordinator_DS=v(Ct);router=v(oe);instanceChangeEffect=ze(()=>{let e=this.peiContext_DS.activeCcapId_$(),i=this.showArchived_$();e&&Be(()=>{this.ca_DS.loadSessions({includeArchived:i||void 0})})});statusFilter_$=h("");searchQuery_$=h("");isCreateDialogOpen_$=h(!1);newSessionWorkspacePath_$=h("");newSessionLabel_$=h("");selectedPathOption_$=h("");isCreating_$=h(!1);createSessionError_$=h(null);showArchived_$=h(!1);isSyncing_$=h(!1);sessionSelected=Oe();ngOnInit(){let e=C.loadStatusFilter();e&&this.statusFilter_$.set(e),this.showArchived_$.set(C.loadShowArchived()),this.peiContext_DS.ensureInitialized().then(()=>{this.ca_DS.loadSessions({includeArchived:this.showArchived_$()})}),this.scheduledJobs_DS.loadAll(),this.coordinator_DS.loadAllCoordinatorsForManagementPage()}handleStatusFilterChange(e){this.statusFilter_$.set(e),C.saveStatusFilter(e)}handleToggleShowArchived(){let e=!this.showArchived_$();this.showArchived_$.set(e),C.saveShowArchived(e),this.ca_DS.loadSessions({includeArchived:e})}filteredSessions_$=R(()=>{let e=this.searchQuery_$(),i=this.statusFilter_$().trim();return[...this.ca_DS.sessions_$().filter(s=>!s.sessionId||i&&s.status!==i?!1:le.includesText(s.label,e)||le.includesText(s.workspacePath,e)||le.includesText(s.lastPrompt,e))].sort((s,c)=>n.listFreshnessSortMs(c)-n.listFreshnessSortMs(s))});static listFreshnessSortMs(e){let i=e.lastActivityAt;if(typeof i=="string"&&i.length>0){let t=Date.parse(i);if(!isNaN(t))return t}return 0}sessionRowViews_$=R(()=>{let e=this.scheduledJobs_DS.scheduledSessionIds_$(),i=this.coordinator_DS.coordinatedSessionIds_$();return this.filteredSessions_$().map(t=>({id:t.sessionId??"",label:t.label||t.sessionId||"",status:t.status??"",statusColorClass:ye.resolve(t.status),workspacePath:t.workspacePath,isArchived:!!t.isArchived,lastActivityAt:t.lastActivityAt,promptCount:t.promptCount,isRunning:ye.isRunning(t.status),hasSchedule:e.has(t.sessionId??""),hasCoordinator:i.has(t.sessionId??"")}))});handleSelectSession(e){if(!e)return;let i=this.peiContext_DS.activeCcapId_$(),t=i?["/ca-session",i,e]:["/ca-session",e];this.router.navigate(t),this.sessionSelected.emit()}handleOpenCreateDialog(){return $(this,null,function*(){if(this.createSessionError_$.set(null),this.isCreateDialogOpen_$.set(!0),yield this.newAgentSessionWorkspace_DS.refreshWorkspacePathPickerOptions(),!this.newSessionWorkspacePath_$()){let i=this.newAgentSessionWorkspace_DS.resolveInitialWorkspacePath({lastWorkspacePath:C.loadLastWorkspacePath()});i&&(this.newSessionWorkspacePath_$.set(i),this.selectedPathOption_$.set(i))}let e=C.loadLastLabel();e&&this.newSessionLabel_$.set(e)})}handlePathOptionChange(e){this.selectedPathOption_$.set(e),e&&e!=="custom"&&this.newSessionWorkspacePath_$.set(e)}handleCloseCreateDialog(){this.createSessionError_$.set(null),this.isCreateDialogOpen_$.set(!1),this.newSessionWorkspacePath_$.set(""),this.newSessionLabel_$.set(""),this.selectedPathOption_$.set("")}handleConfirmCreate(){return $(this,null,function*(){let e=this.newSessionWorkspacePath_$().trim();if(e){this.isCreating_$.set(!0);try{C.saveLastWorkspacePath(e),C.saveLastLabel(this.newSessionLabel_$().trim());let i=yield this.ca_DS.createSession({workspacePath:e,label:this.newSessionLabel_$().trim()||void 0});if(this.handleCloseCreateDialog(),i.length>0){let t=this.peiContext_DS.activeCcapId_$(),s=t?["/ca-session",t,i]:["/ca-session",i];this.router.navigate(s)}}catch(i){this.createSessionError_$.set(i)}finally{this.isCreating_$.set(!1)}}})}ctxMenuSession_$=h(null);ctxMenuPos_$=h({x:0,y:0});handleRowContextMenu(e){let i=this.filteredSessions_$().find(t=>t.sessionId===e.id);i&&(this.ctxMenuSession_$.set(i),this.ctxMenuPos_$.set({x:e.event.clientX,y:e.event.clientY}))}handleCloseCtxMenu(){this.ctxMenuSession_$.set(null)}schedulePopupSessionId_$=h(null);handleScheduleIndicatorClick(e){this.schedulePopupSessionId_$.set(e)}handleCloseSchedulePopup(){this.schedulePopupSessionId_$.set(null)}coordinatorPopupSessionId_$=h(null);handleCoordinatorIndicatorClick(e){this.coordinatorPopupSessionId_$.set(e)}handleCloseCoordinatorPopup(){this.coordinatorPopupSessionId_$.set(null)}handleCtxToggleArchive(){return $(this,null,function*(){let e=this.ctxMenuSession_$();if(!e?.sessionId)return;let i=e.sessionId;this.handleCloseCtxMenu(),yield this.handleArchiveRow(i)})}handleSyncFromAgent(){return $(this,null,function*(){this.isSyncing_$.set(!0);try{yield this.ca_DS.syncFromAgent()}finally{this.isSyncing_$.set(!1)}})}handleArchiveRow(e){return $(this,null,function*(){if(!e)return;let i=this.filteredSessions_$().find(c=>c.sessionId===e);if(!i)return;let t=this.ca_DS.activeSessionId_$()===e,s=i.isArchived!==!0;try{yield this.ca_DS.setSessionArchived({sessionId:e,isArchived:s}),t&&s&&!this.showArchived_$()&&this.router.navigate(["/ca-session"])}catch{}})}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=O({type:n,selectors:[["app-ccap-ca-dashboard"]],hostAttrs:[1,"flex","flex-col","flex-1","min-h-0","overflow-hidden"],outputs:{sessionSelected:"sessionSelected"},decls:56,vars:25,consts:[[1,"shrink-0","px-2","py-1.5","border-b","border-neonDefault","flex","flex-col","gap-1"],[1,"flex","items-center","gap-1"],[1,"text-xs","font-semibold","text-neutral-300","flex-1"],["type","button","title","Sync session list from Agent",1,"px-1.5","py-0.5","text-xs","border","border-neutral-600","text-neutral-400","hover:bg-neutral-700","rounded","shrink-0",3,"click","disabled"],["type","button",1,"px-1.5","py-0.5","text-xs","border","border-neonDefault","text-neutral-300","hover:bg-neutral-700","rounded","shrink-0",3,"click"],[1,"flex","flex-wrap","items-center","gap-1","text-[9px]","text-neutral-500"],[1,"shrink-0","px-2","py-1.5","border-b","border-neutral-800","flex","flex-col","gap-1"],["type","text","placeholder","Search\u2026",1,"w-full","px-2","py-1","text-xs","bg-neutral-800","border","border-neutral-700","text-neutral-200","rounded",3,"input","value"],[1,"flex-1","px-1.5","py-0.5","text-xs","bg-neutral-800","border","border-neutral-700","text-neutral-300","rounded",3,"change","value"],["value",""],["value","waiting-input"],["value","running"],["value","connecting"],["value","disconnected"],["value","errored"],["value","completed"],["value","terminated"],["type","button",1,"px-1.5","py-0.5","text-xs","border","rounded","shrink-0",3,"click"],[1,"shrink-0","px-2","py-1.5"],[1,"flex-1","overflow-y-auto"],[1,"flex","items-center","justify-center","py-8","text-xs","text-neutral-500"],[1,"flex","flex-col","items-center","justify-center","py-8","gap-2"],["kind","ca",3,"rows","activeId","showWorkspacePath","showPromptCount","hideSearch"],[3,"closed","isOpen","title","maxWidth","bodyFlexColumn","closeOnBackdropClick"],[1,"flex","flex-col","flex-1","min-h-0","gap-3"],[1,"shrink-0"],[1,"text-xs","text-neutral-400","block","mb-1"],[1,"w-full","bg-neutral-900","text-neutral-300","text-xs","rounded","px-2","py-1.5","border","border-neonDefault","focus:border-neonCyan","focus:outline-none","mb-1.5",3,"ngModel"],["type","text","placeholder","/path/to/workspace",1,"w-full","bg-neutral-900","text-neutral-200","text-sm","rounded","px-2","py-1.5","border","border-neonDefault","focus:border-neonCyan","focus:outline-none",3,"ngModelChange","ngModel"],["type","text","placeholder","My session",1,"w-full","bg-neutral-900","text-neutral-200","text-sm","rounded","px-2","py-1.5","border","border-neonDefault","focus:border-neonCyan","focus:outline-none",3,"ngModelChange","ngModel"],[1,"flex-1","min-h-0","overflow-y-auto","overscroll-contain","rounded-md","border","border-neonRed/30","pr-0.5"],[1,"shrink-0","flex","justify-end","gap-2","pt-2","border-t","border-neutral-700/80"],["type","button",1,"px-3","py-1.5","text-xs","border","border-neonDefault","text-neutral-300","hover:bg-neutral-700","rounded","transition-colors",3,"click","disabled"],["type","button",1,"px-3","py-1.5","text-xs","border","border-ccapAccent","text-ccapAccent","hover:bg-ccapAccent","hover:text-white","disabled:opacity-50","rounded","transition-colors",3,"click","disabled"],[3,"closed","sessionId","isOpen"],[1,"px-1","py-0.5","rounded"],["sourceLabelOverride","CA session list",1,"block",3,"error"],[1,"text-xs","text-neutral-500"],["type","button",1,"px-2","py-1","text-xs","border","border-neonDefault","text-neutral-300","rounded",3,"click"],["kind","ca",3,"selected","contextMenu","scheduleIndicatorClicked","coordinatorIndicatorClicked","rows","activeId","showWorkspacePath","showPromptCount","hideSearch"],[1,"w-full","bg-neutral-900","text-neutral-300","text-xs","rounded","px-2","py-1.5","border","border-neonDefault","focus:border-neonCyan","focus:outline-none","mb-1.5",3,"ngModelChange","ngModel"],["value","","disabled",""],[3,"value"],["value","custom"],["sourceLabelOverride","New CA session",1,"block","min-h-0",3,"error"],[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-neutral-300","hover:bg-neutral-800","transition-colors",3,"click"]],template:function(i,t){if(i&1&&(a(0,"div",0)(1,"div",1)(2,"span",2),d(3,"CA session"),r(),a(4,"button",3),f("click",function(){return t.handleSyncFromAgent()}),d(5," Sync "),r(),a(6,"button",4),f("click",function(){return t.handleOpenCreateDialog()}),d(7," + New "),r()(),g(8,zt,5,18,"div",5),r(),a(9,"div",6)(10,"input",7),f("input",function(c){return t.searchQuery_$.set(c.target.value)}),r(),a(11,"div",1)(12,"select",8),f("change",function(c){return t.handleStatusFilterChange(c.target.value)}),a(13,"option",9),d(14,"All statuses"),r(),a(15,"option",10),d(16,"Waiting"),r(),a(17,"option",11),d(18,"Running"),r(),a(19,"option",12),d(20,"Connecting"),r(),a(21,"option",13),d(22,"Disconnected"),r(),a(23,"option",14),d(24,"Errored"),r(),a(25,"option",15),d(26,"Completed"),r(),a(27,"option",16),d(28,"Terminated"),r()(),a(29,"button",17),f("click",function(){return t.handleToggleShowArchived()}),d(30," Arch "),r()()(),g(31,Ht,2,1,"div",18),a(32,"div",19),g(33,Qt,2,0,"div",20)(34,jt,5,0,"div",21)(35,Kt,1,5,"app-s-session-select",22),r(),a(36,"app-s-modal",23),f("closed",function(){return t.handleCloseCreateDialog()}),a(37,"div",24)(38,"div",25)(39,"label",26),d(40,"Workspace Path *"),r(),g(41,Jt,7,1,"select",27),a(42,"input",28),f("ngModelChange",function(c){return t.newSessionWorkspacePath_$.set(c)}),r()(),a(43,"div",25)(44,"label",26),d(45,"Label (optional)"),r(),a(46,"input",29),f("ngModelChange",function(c){return t.newSessionLabel_$.set(c)}),r()(),g(47,Gt,2,1,"div",30),a(48,"div",31)(49,"button",32),f("click",function(){return t.handleCloseCreateDialog()}),d(50," Cancel "),r(),a(51,"button",33),f("click",function(){return t.handleConfirmCreate()}),d(52),r()()()(),a(53,"app-sch-schedule-popup",34),f("closed",function(){return t.handleCloseSchedulePopup()}),r(),a(54,"app-crd-info-popup",34),f("closed",function(){return t.handleCloseCoordinatorPopup()}),r(),g(55,Yt,4,5)),i&2){let s,c;l(4),S("disabled",t.isSyncing_$()),l(4),x((s=t.ca_DS.mirrorRuntime_$())?8:-1,s),l(2),S("value",t.searchQuery_$()),l(2),S("value",t.statusFilter_$()),l(17),I(t.showArchived_$()?"border-ccapAccent/60 text-ccapAccent/80 bg-ccapAccent/10":"border-neutral-700 text-neutral-500"),l(2),x(t.ca_DS.sessionsLoadError_$()?31:-1),l(2),x(t.ca_DS.sessionsLoading_$()?33:!t.filteredSessions_$().length&&!t.ca_DS.sessionsLoadError_$()?34:35),l(3),S("isOpen",t.isCreateDialogOpen_$())("title","New CA session")("maxWidth","lg")("bodyFlexColumn",!0)("closeOnBackdropClick",!1),l(5),x(t.newAgentSessionWorkspace_DS.workspacePathPickerOptions_$().length?41:-1),l(),S("ngModel",t.newSessionWorkspacePath_$()),l(4),S("ngModel",t.newSessionLabel_$()),l(),x(t.createSessionError_$()?47:-1),l(2),S("disabled",t.isCreating_$()),l(2),S("disabled",t.isCreating_$()||!t.newSessionWorkspacePath_$()),l(),b(" ",t.isCreating_$()?"Creating...":"Create"," "),l(),S("sessionId",t.schedulePopupSessionId_$())("isOpen",t.schedulePopupSessionId_$()!==null),l(),S("sessionId",t.coordinatorPopupSessionId_$())("isOpen",t.coordinatorPopupSessionId_$()!==null),l(),x((c=t.ctxMenuSession_$())?55:-1,c)}},dependencies:[Ze,et,Xe,Ye,Je,Ge,K,se,pe,_e,rt],encapsulation:2})}return n})();var X=(()=>{class n{transform(e){switch(e??""){case"running":return"bg-yellow-500";case"waiting-input":return"bg-green-500";case"connecting":return"bg-yellow-500";case"creating":return"bg-yellow-400";case"completed":return"bg-blue-500";case"errored":return"bg-red-500";case"terminated":return"bg-red-700";case"disconnected":return"bg-amber-700";default:return"bg-neutral-600"}}static \u0275fac=function(i){return new(i||n)};static \u0275pipe=U({name:"caSessionStatusColor",type:n,pure:!0})}return n})();function ti(n,o){n&1&&w(0,"div",5)}function ii(n,o){if(n&1){let e=y();a(0,"button",13),f("click",function(){u(e);let t=p();return m(t.detailUi_DS.handleToggleMetadata())}),d(1," Info "),r()}if(n&2){let e=p();I(e.detailUi_DS.isMetadataPanelOpen_$()?"border-neonCyan/50 text-neonCyan bg-neonCyan/10":"border-neutral-700 text-neutral-500 hover:text-neutral-300")}}function ni(n,o){n&1&&w(0,"span",17)}function oi(n,o){if(n&1&&(w(0,"span",16),k(1,"caSessionStatusColor"),g(2,ni,1,0,"span",17)),n&2){p(2);let e=E(1);S("ngClass",P(1,3,e.session.status))("title",e.session.status),l(2),x(e.isLive?2:-1)}}function si(n,o){n&1&&(a(0,"span",15),d(1,"Loading\u2026"),r())}function ai(n,o){if(n&1&&(a(0,"span",14),d(1),r(),g(2,oi,3,5)(3,si,2,0,"span",15)),n&2){p();let e=E(1);S("title",e.title),l(),b(" ",e.title," "),l(),x(e.session?2:-1),l(),x(e.isLoading&&!e.session?3:-1)}}function ri(n,o){if(n&1){let e=y();w(0,"div",19),a(1,"button",20),f("click",function(){u(e);let t=p(2);return m(t.detailUi_DS.handleStopExecution())}),d(2),r()}if(n&2){let e=p(2);l(),S("disabled",e.detailUi_DS.isStopping_$()),l(),b(" ",e.detailUi_DS.isStopping_$()?"Stopping\u2026":"Stop"," ")}}function li(n,o){if(n&1){let e=y();a(0,"button",18),f("click",function(){u(e);let t=p();return m(t.detailUi_DS.handleToggleTimeline())}),d(1," Timeline "),r(),g(2,ri,3,2)}if(n&2){let e=p(),i=E(1);I(e.detailUi_DS.isTimelinePanelOpen_$()?"border-neonCyan/50 text-neonCyan bg-neonCyan/10":"border-neutral-700 text-neutral-500 hover:text-neutral-300"),l(2),x(i.isLive?2:-1)}}var Dt=(()=>{class n{ca_DS=v(L);detailUi_DS=v(F);caTopBar_$=R(()=>{let e=this.ca_DS.activeSessionId_$();if(!e)return null;let i=this.ca_DS.selectedSessionLoading_$(),t=this.ca_DS.selectedSession_$(),c=this.ca_DS.sessions_$().find(xe=>xe.sessionId===e),_=t?.sessionId===e,T=_?t:c??null,W=T&&(T.label||T.sessionId)||e,B=T?.status??"";return{title:W,session:T,isLoading:i,showActions:_&&!i,isLive:B==="running"||B==="waiting-input"}});sidebarWidth_$=h(320);isSidebarOpen_$=h(!0);isResizing_$=h(!1);ngOnInit(){let e=C.loadPanelWidth("sidebar",320);this.sidebarWidth_$.set(Math.max(200,Math.min(600,e))),this.isSidebarOpen_$.set(C.loadPanelOpen("sidebar",!0))}handleSidebarResizeStart(e){let i=e.clientX,t=this.sidebarWidth_$();this.isResizing_$.set(!0),J.attachUntilPointerUp({startEvent:e,onMove:s=>{let c=s.clientX-i,_=Math.max(200,Math.min(600,t+c));this.sidebarWidth_$.set(_)},onEnd:()=>{this.isResizing_$.set(!1),C.savePanelWidth("sidebar",this.sidebarWidth_$())}})}handleToggleSidebar(){this.isSidebarOpen_$.update(e=>!e),C.savePanelOpen("sidebar",this.isSidebarOpen_$())}handleSessionSelectedFromDashboard(){window.innerWidth<640&&this.isSidebarOpen_$.set(!1)}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=O({type:n,selectors:[["app-ccap-ca-shell"]],hostAttrs:[1,"flex","min-h-0","w-full","flex-1","flex-col","overflow-hidden"],decls:19,vars:14,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","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"],[1,"w-px","h-4","bg-neutral-700","shrink-0","self-center","mx-0.5"],["type","button",1,"px-2","py-1","text-xs","border","rounded","transition-colors","shrink-0",3,"class"],["sSessionToolbarCenter","",1,"flex","items-center","justify-center","gap-2","min-w-0","max-w-[min(100vw-10rem,48rem)]"],["sSessionToolbarRight","",1,"flex","items-center","gap-1","min-w-0","flex-wrap","justify-end"],[3,"sidebarResizeStart","isSidebarOpen","sidebarWidthPx","isResizing"],["sSessionShellSidebar","",1,"flex","flex-col","overflow-hidden","h-full"],[3,"sessionSelected"],["sSessionShellMain","",1,"flex","min-h-0","flex-1","flex-col","overflow-hidden","[&>router-outlet]:contents"],["type","button",1,"px-2","py-1","text-xs","border","rounded","transition-colors","shrink-0",3,"click"],[1,"text-sm","font-semibold","text-neutral-200","truncate","text-center","min-w-0","max-w-[min(240px,35vw)]",3,"title"],[1,"text-[10px]","text-neutral-500","shrink-0"],[1,"w-2","h-2","rounded-full","shrink-0",3,"ngClass","title"],["title","Live",1,"w-2","h-2","rounded-full","bg-green-500","animate-pulse","shrink-0"],["type","button",1,"px-2","py-1","text-xs","border","rounded","transition-colors",3,"click"],[1,"hidden","sm:block","w-px","h-4","bg-neutral-700","shrink-0","self-center"],["type","button",1,"px-2","py-1","text-xs","border","border-neonRed/50","text-red-300","hover:bg-red-950/40","rounded","transition-colors","shrink-0","disabled:opacity-40",3,"click","disabled"]],template:function(i,t){if(i&1){let s=y();a(0,"div",0),te(1),a(2,"app-s-session-shell-toolbar")(3,"div",1)(4,"button",2),f("click",function(){return u(s),m(t.handleToggleSidebar())}),Le(),a(5,"svg",3),w(6,"polyline",4),r(),d(7," CA Sessions "),r(),g(8,ti,1,0,"div",5)(9,ii,2,2,"button",6),r(),Ve(),a(10,"div",7),g(11,ai,4,4),r(),a(12,"div",8),g(13,li,3,3),r()(),a(14,"app-s-resizable-session-shell-layout",9),f("sidebarResizeStart",function(_){return u(s),m(t.handleSidebarResizeStart(_))}),a(15,"div",10)(16,"app-ccap-ca-dashboard",11),f("sessionSelected",function(){return u(s),m(t.handleSessionSelectedFromDashboard())}),r()(),a(17,"div",12),w(18,"router-outlet"),r()()()}if(i&2){z("select-none",t.isResizing_$()),l();let s=ie(t.caTopBar_$());l(4),z("rotate-90",t.isSidebarOpen_$())("-rotate-90",!t.isSidebarOpen_$()),l(3),x(s?8:-1),l(),x(s&&s.showActions?9:-1),l(2),x(s?11:-1),l(2),x(s&&s.showActions?13:-1),l(),S("isSidebarOpen",t.isSidebarOpen_$())("sidebarWidthPx",t.sidebarWidth_$())("isResizing",t.isResizing_$())}},dependencies:[j,je,ct,pt,gt,X],encapsulation:2})}return n})();var me=class{static pickDefaultSessionId(o){let e=o.sessions;if(!e.length)return"";let i=o.lastSavedSessionId.trim();if(i.length>0){let s=e.find(c=>c.sessionId===i);if(s?.sessionId&&(o.includeArchived||s.isArchived!==!0))return s.sessionId}let t=e.find(s=>!!s.sessionId&&s.isArchived!==!0);return t?.sessionId?t.sessionId:o.includeArchived?e.find(c=>!!c.sessionId)?.sessionId??"":""}};var $t=(()=>{class n{static toolCallUpdateBriefSubtype="tool_call_update";static filterForAgentUpdatesVisibility(e){let i=e.messages,t=i.length-1,s=[];for(let c=0;c<i.length;c++){let _=i[c];if(_.type!=="status-update"){s.push(_);continue}!e.isShowAgentUpdates||_.briefSubtype===n.toolCallUpdateBriefSubtype&&c!==t||s.push(_)}return s}}return n})();var fe=class n{static pairToolResultsIntoToolStarts(o){let e=new Map;for(let s=0;s<o.length;s++){let c=o[s];if(c.type!=="tool"||c.briefSubtype!=="tool_call")continue;let _=ce.tryParseStableListKey(c.listKey);_===null||_.role!=="start"||e.set(_.toolCallId,s)}if(!e.size)return o;let i=new Set,t=o.map(s=>ve({},s));for(let s=0;s<t.length;s++){let c=t[s];if(c.briefSubtype!=="tool_call_update")continue;let _=ce.tryParseStableListKey(c.listKey);if(_===null)continue;let T=c.type==="tool-result"&&_.role==="result",W=c.type==="error"&&_.role==="error";if(!T&&!W)continue;let B=e.get(_.toolCallId);if(B===void 0)continue;let Ce=n.buildPairedExpandableRawOutput({rawData:c.rawData,fallbackText:c.text}),xe={text:c.text,expandableContent:Ce.length?Ce:c.text,rawData:c.rawData,isError:W?!0:void 0};t[B]=Te(ve({},t[B]),{pairedResult:xe,isToolCallFailedIndicator:W?!0:t[B].isToolCallFailedIndicator}),i.add(s)}return i.size?t.filter((s,c)=>!i.has(c)):t}static buildPairedExpandableRawOutput(o){let e=o.rawData;if(e===void 0)return o.fallbackText;let i=e.update;if(i===null||typeof i!="object"||Array.isArray(i))return n.stringifyRecordOrFallback({value:e,fallbackText:o.fallbackText});let t=[],s=Reflect.get(i,"content");if(Array.isArray(s)&&s.length){let _=ce.formatContent(s);_.length&&t.push(_)}let c=Reflect.get(i,"rawOutput");if(c!==void 0)try{let _=JSON.stringify(c,null,2);we.looksLikeJson(_)?t.push(we.formatJson(_)):t.push(_)}catch{}return t.length?t.join(`
1
+ import{a as De,b as vt}from"./chunk-HSAGX22H.js";import{a as pe,b as _e,c as xt,d as ue}from"./chunk-GODWUWRO.js";import"./chunk-EGRHWZRV.js";import{a as Ct}from"./chunk-YGTNCGIU.js";import{a as St}from"./chunk-DU3IYPGM.js";import{a as J}from"./chunk-Q2PKIGLB.js";import{a as lt,b as de,c as Ae,d as ce,e as L}from"./chunk-CBIUSRE5.js";import{a as ot}from"./chunk-SO3QL2U5.js";import{a as ye}from"./chunk-YRVQSWSZ.js";import{a as it}from"./chunk-VXJF6N32.js";import{a as nt,b as re}from"./chunk-ZGWUDLYU.js";import"./chunk-AFF37OKI.js";import"./chunk-DUN7ICUI.js";import{a as ae}from"./chunk-DZ74YN25.js";import"./chunk-FYXUOXRP.js";import{g as ht}from"./chunk-XSP7NLZB.js";import"./chunk-2DJBCAHJ.js";import{a as _t}from"./chunk-7JUIBZEE.js";import{a as ct,b as pt,c as ut}from"./chunk-C7XPBJTG.js";import{b as M,f as mt,g as ft}from"./chunk-YU32GIMP.js";import"./chunk-WPHEQXWB.js";import{c as rt}from"./chunk-ZMZ462V7.js";import{a as le,b as st,c as at,d as we}from"./chunk-4RT7LOTQ.js";import"./chunk-UI6N7Y2P.js";import"./chunk-7MSQD5HV.js";import"./chunk-Q2NVIOCY.js";import{a as dt}from"./chunk-WYTT3YHQ.js";import"./chunk-VLMQV3OI.js";import"./chunk-DHIVAX2C.js";import"./chunk-V3VQWJQL.js";import"./chunk-QHLRSGQG.js";import{a as be}from"./chunk-I6OBHW45.js";import"./chunk-ZBTWQZNB.js";import{a as se}from"./chunk-FLAJXIYW.js";import{c as Xe,f as Je,i as Ge,n as Ye,o as Ze,p as et,v as tt}from"./chunk-EO4DNTT4.js";import{k as K}from"./chunk-Q7GDEJL2.js";import{a as D}from"./chunk-5UPNU54P.js";import"./chunk-2LOFMRCO.js";import"./chunk-ELFCSLIP.js";import{$a as k,Aa as Y,Ba as Z,C as v,Cb as Qe,D as O,E as Me,Eb as ne,Fa as d,Fb as je,G as U,Ga as q,Gb as oe,Ha as b,Ia as ee,J as u,K as m,Kb as Ke,L as Le,M as Ve,Pa as te,Qa as ie,Ra as E,T as Oe,Ua as ge,Va as Ne,W as Ue,Z as l,_ as Fe,a as ve,aa as h,ab as P,b as Te,ca as We,da as g,ga as S,ha as qe,hb as R,ia as z,ib as Be,ja as I,jb as ze,k as $,la as x,mb as j,oa as H,pa as Q,q as Ie,qa as a,r as Ee,ra as r,sa as w,ua as y,ub as He,v as ke,va as f,wa as p,y as Pe,z as Re,za as G}from"./chunk-TBMJSIBB.js";var A="ccap-caSession",C=class{static saveStatusFilter(o){D.writeString(`${A}:statusFilter`,o)}static loadStatusFilter(){return D.readString(`${A}:statusFilter`)??""}static saveShowArchived(o){D.writeBoolean(`${A}:showArchived`,o)}static loadShowArchived(){return D.readBoolean(`${A}:showArchived`,!1)}static saveLastWorkspacePath(o){D.writeString(`${A}:lastWorkspacePath`,o)}static loadLastWorkspacePath(){return D.readString(`${A}:lastWorkspacePath`)??""}static saveLastLabel(o){D.writeString(`${A}:lastLabel`,o)}static loadLastLabel(){return D.readString(`${A}:lastLabel`)??""}static savePromptDraft(o,e){ue.saveDraft(A,o,e)}static loadPromptDraft(o){return ue.loadDraft(A,o)}static clearPromptDraft(o){ue.clearDraft(A,o)}static savePanelOpen(o,e){D.writeBoolean(`${A}:panelOpen:${o}`,e)}static loadPanelOpen(o,e){return D.readBoolean(`${A}:panelOpen:${o}`,e)}static savePanelWidth(o,e){D.writeNumber(`${A}:panelWidth:${o}`,e)}static loadPanelWidth(o,e){return D.readNumber(`${A}:panelWidth:${o}`,e)}static saveLastSessionId(o){D.writeString(`${A}:lastSessionId`,o)}static loadLastSessionId(){return D.readString(`${A}:lastSessionId`)??""}static saveShowAgentUpdates(o){D.writeBoolean(`${A}:showAgentUpdates`,o)}static loadShowAgentUpdates(){return D.readBoolean(`${A}:showAgentUpdates`,!0)}static saveShowSessionStatus(o){D.writeBoolean(`${A}:showSessionStatus`,o)}static loadShowSessionStatus(){return D.readBoolean(`${A}:showSessionStatus`,!0)}};var F=(()=>{class n{ca_DS=v(L);isTimelinePanelOpen_$=h(C.loadPanelOpen("timeline",!1));isMetadataPanelOpen_$=h(C.loadPanelOpen("metadata",!1));isTerminating_$=h(!1);isStopping_$=h(!1);isShowSessionStatus_$=h(C.loadShowSessionStatus());isShowAgentUpdates_$=h(C.loadShowAgentUpdates());handleToggleTimeline(){let e=!this.isTimelinePanelOpen_$();this.isTimelinePanelOpen_$.set(e),C.savePanelOpen("timeline",e)}handleToggleMetadata(){let e=!this.isMetadataPanelOpen_$();this.isMetadataPanelOpen_$.set(e),C.savePanelOpen("metadata",e)}handleToggleSessionStatus(){let e=!this.isShowSessionStatus_$();this.isShowSessionStatus_$.set(e),C.saveShowSessionStatus(e)}handleToggleAgentUpdates(){let e=!this.isShowAgentUpdates_$();this.isShowAgentUpdates_$.set(e),C.saveShowAgentUpdates(e)}handleStopExecution(){return $(this,null,function*(){let e=this.ca_DS.selectedSession_$();if(!e||this.isStopping_$())return;let i=e.sessionId??"";if(i){this.isStopping_$.set(!0);try{yield this.ca_DS.stopExecution(i)}catch{}finally{this.isStopping_$.set(!1)}}})}handleTerminate(){return $(this,null,function*(){let e=this.ca_DS.selectedSession_$();if(!e||this.isTerminating_$())return;let i=e.sessionId??"";if(i){this.isTerminating_$.set(!0);try{yield this.ca_DS.terminateSession(i)}catch{}finally{this.isTerminating_$.set(!1)}}})}static \u0275fac=function(i){return new(i||n)};static \u0275prov=Pe({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var Bt=(n,o)=>o.path;function zt(n,o){if(n&1&&(a(0,"div",5)(1,"span",35),d(2),r(),a(3,"span",35),d(4),r()()),n&2){let e=o;l(),z("bg-emerald-950",e.isAcpConnected)("text-emerald-300",e.isAcpConnected)("bg-neutral-800",!e.isAcpConnected)("text-neutral-500",!e.isAcpConnected),l(),b(" ACP ",e.isAcpConnected?"connected":"offline"," "),l(),z("bg-sky-950",e.loadSessionSupported)("text-sky-300",e.loadSessionSupported)("bg-neutral-800",!e.loadSessionSupported)("text-neutral-500",!e.loadSessionSupported),l(),b(" session/load ",e.loadSessionSupported?"yes":"no"," ")}}function Ht(n,o){if(n&1&&(a(0,"div",18),w(1,"app-ccap-error-display",36),r()),n&2){let e=p();l(),S("error",e.ca_DS.sessionsLoadError_$())}}function Qt(n,o){n&1&&(a(0,"div",20),d(1,"Loading\u2026"),r())}function jt(n,o){if(n&1){let e=y();a(0,"div",21)(1,"span",37),d(2,"No sessions"),r(),a(3,"button",38),f("click",function(){u(e);let t=p();return m(t.handleOpenCreateDialog())}),d(4," Create session "),r()()}}function Kt(n,o){if(n&1){let e=y();a(0,"app-s-session-select",39),f("selected",function(t){u(e);let s=p();return m(s.handleSelectSession(t))})("contextMenu",function(t){u(e);let s=p();return m(s.handleRowContextMenu(t))})("scheduleIndicatorClicked",function(t){u(e);let s=p();return m(s.handleScheduleIndicatorClick(t))})("coordinatorIndicatorClicked",function(t){u(e);let s=p();return m(s.handleCoordinatorIndicatorClick(t))}),r()}if(n&2){let e=p();S("rows",e.sessionRowViews_$())("activeId",e.ca_DS.activeSessionId_$())("showWorkspacePath",!0)("showPromptCount",!0)("hideSearch",!0)}}function Xt(n,o){if(n&1&&(a(0,"option",42),d(1),r()),n&2){let e=o.$implicit;S("value",e.path),l(),ee("",e.label," \u2014 ",e.path,"")}}function Jt(n,o){if(n&1){let e=y();a(0,"select",40),f("ngModelChange",function(t){u(e);let s=p();return m(s.handlePathOptionChange(t))}),a(1,"option",41),d(2,"Select a path..."),r(),H(3,Xt,2,3,"option",42,Bt),a(5,"option",43),d(6,"Custom path..."),r()()}if(n&2){let e=p();S("ngModel",e.selectedPathOption_$()),l(3),Q(e.newAgentSessionWorkspace_DS.workspacePathPickerOptions_$())}}function Gt(n,o){if(n&1&&(a(0,"div",30),w(1,"app-ccap-error-display",44),r()),n&2){let e=p();l(),S("error",e.createSessionError_$())}}function Yt(n,o){if(n&1){let e=y();a(0,"div",45),f("click",function(){u(e);let t=p();return m(t.handleCloseCtxMenu())}),r(),a(1,"div",46)(2,"button",47),f("click",function(){u(e);let t=p();return m(t.handleCtxToggleArchive())}),d(3),r()()}if(n&2){let e=p();l(),qe("left",e.ctxMenuPos_$().x,"px")("top",e.ctxMenuPos_$().y,"px"),l(2),b(" ",o.isArchived?"Unarchive":"Archive"," ")}}var gt=(()=>{class n{ca_DS=v(L);newAgentSessionWorkspace_DS=v(ot);peiContext_DS=v(ae);scheduledJobs_DS=v(St);coordinator_DS=v(Ct);router=v(oe);instanceChangeEffect=ze(()=>{let e=this.peiContext_DS.activeCcapId_$(),i=this.showArchived_$();e&&Be(()=>{this.ca_DS.loadSessions({includeArchived:i||void 0})})});statusFilter_$=h("");searchQuery_$=h("");isCreateDialogOpen_$=h(!1);newSessionWorkspacePath_$=h("");newSessionLabel_$=h("");selectedPathOption_$=h("");isCreating_$=h(!1);createSessionError_$=h(null);showArchived_$=h(!1);isSyncing_$=h(!1);sessionSelected=Oe();ngOnInit(){let e=C.loadStatusFilter();e&&this.statusFilter_$.set(e),this.showArchived_$.set(C.loadShowArchived()),this.peiContext_DS.ensureInitialized().then(()=>{this.ca_DS.loadSessions({includeArchived:this.showArchived_$()})}),this.scheduledJobs_DS.loadAll(),this.coordinator_DS.loadAllCoordinatorsForManagementPage()}handleStatusFilterChange(e){this.statusFilter_$.set(e),C.saveStatusFilter(e)}handleToggleShowArchived(){let e=!this.showArchived_$();this.showArchived_$.set(e),C.saveShowArchived(e),this.ca_DS.loadSessions({includeArchived:e})}filteredSessions_$=R(()=>{let e=this.searchQuery_$(),i=this.statusFilter_$().trim();return[...this.ca_DS.sessions_$().filter(s=>!s.sessionId||i&&s.status!==i?!1:le.includesText(s.label,e)||le.includesText(s.workspacePath,e)||le.includesText(s.lastPrompt,e))].sort((s,c)=>n.listFreshnessSortMs(c)-n.listFreshnessSortMs(s))});static listFreshnessSortMs(e){let i=e.lastActivityAt;if(typeof i=="string"&&i.length>0){let t=Date.parse(i);if(!isNaN(t))return t}return 0}sessionRowViews_$=R(()=>{let e=this.scheduledJobs_DS.scheduledSessionIds_$(),i=this.coordinator_DS.coordinatedSessionIds_$();return this.filteredSessions_$().map(t=>({id:t.sessionId??"",label:t.label||t.sessionId||"",status:t.status??"",statusColorClass:ye.resolve(t.status),workspacePath:t.workspacePath,isArchived:!!t.isArchived,lastActivityAt:t.lastActivityAt,promptCount:t.promptCount,isRunning:ye.isRunning(t.status),hasSchedule:e.has(t.sessionId??""),hasCoordinator:i.has(t.sessionId??"")}))});handleSelectSession(e){if(!e)return;let i=this.peiContext_DS.activeCcapId_$(),t=i?["/ca-session",i,e]:["/ca-session",e];this.router.navigate(t),this.sessionSelected.emit()}handleOpenCreateDialog(){return $(this,null,function*(){if(this.createSessionError_$.set(null),this.isCreateDialogOpen_$.set(!0),yield this.newAgentSessionWorkspace_DS.refreshWorkspacePathPickerOptions(),!this.newSessionWorkspacePath_$()){let i=this.newAgentSessionWorkspace_DS.resolveInitialWorkspacePath({lastWorkspacePath:C.loadLastWorkspacePath()});i&&(this.newSessionWorkspacePath_$.set(i),this.selectedPathOption_$.set(i))}let e=C.loadLastLabel();e&&this.newSessionLabel_$.set(e)})}handlePathOptionChange(e){this.selectedPathOption_$.set(e),e&&e!=="custom"&&this.newSessionWorkspacePath_$.set(e)}handleCloseCreateDialog(){this.createSessionError_$.set(null),this.isCreateDialogOpen_$.set(!1),this.newSessionWorkspacePath_$.set(""),this.newSessionLabel_$.set(""),this.selectedPathOption_$.set("")}handleConfirmCreate(){return $(this,null,function*(){let e=this.newSessionWorkspacePath_$().trim();if(e){this.isCreating_$.set(!0);try{C.saveLastWorkspacePath(e),C.saveLastLabel(this.newSessionLabel_$().trim());let i=yield this.ca_DS.createSession({workspacePath:e,label:this.newSessionLabel_$().trim()||void 0});if(this.handleCloseCreateDialog(),i.length>0){let t=this.peiContext_DS.activeCcapId_$(),s=t?["/ca-session",t,i]:["/ca-session",i];this.router.navigate(s)}}catch(i){this.createSessionError_$.set(i)}finally{this.isCreating_$.set(!1)}}})}ctxMenuSession_$=h(null);ctxMenuPos_$=h({x:0,y:0});handleRowContextMenu(e){let i=this.filteredSessions_$().find(t=>t.sessionId===e.id);i&&(this.ctxMenuSession_$.set(i),this.ctxMenuPos_$.set({x:e.event.clientX,y:e.event.clientY}))}handleCloseCtxMenu(){this.ctxMenuSession_$.set(null)}schedulePopupSessionId_$=h(null);handleScheduleIndicatorClick(e){this.schedulePopupSessionId_$.set(e)}handleCloseSchedulePopup(){this.schedulePopupSessionId_$.set(null)}coordinatorPopupSessionId_$=h(null);handleCoordinatorIndicatorClick(e){this.coordinatorPopupSessionId_$.set(e)}handleCloseCoordinatorPopup(){this.coordinatorPopupSessionId_$.set(null)}handleCtxToggleArchive(){return $(this,null,function*(){let e=this.ctxMenuSession_$();if(!e?.sessionId)return;let i=e.sessionId;this.handleCloseCtxMenu(),yield this.handleArchiveRow(i)})}handleSyncFromAgent(){return $(this,null,function*(){this.isSyncing_$.set(!0);try{yield this.ca_DS.syncFromAgent()}finally{this.isSyncing_$.set(!1)}})}handleArchiveRow(e){return $(this,null,function*(){if(!e)return;let i=this.filteredSessions_$().find(c=>c.sessionId===e);if(!i)return;let t=this.ca_DS.activeSessionId_$()===e,s=i.isArchived!==!0;try{yield this.ca_DS.setSessionArchived({sessionId:e,isArchived:s}),t&&s&&!this.showArchived_$()&&this.router.navigate(["/ca-session"])}catch{}})}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=O({type:n,selectors:[["app-ccap-ca-dashboard"]],hostAttrs:[1,"flex","flex-col","flex-1","min-h-0","overflow-hidden"],outputs:{sessionSelected:"sessionSelected"},decls:56,vars:25,consts:[[1,"shrink-0","px-2","py-1.5","border-b","border-neonDefault","flex","flex-col","gap-1"],[1,"flex","items-center","gap-1"],[1,"text-xs","font-semibold","text-neutral-300","flex-1"],["type","button","title","Sync session list from Agent",1,"px-1.5","py-0.5","text-xs","border","border-neutral-600","text-neutral-400","hover:bg-neutral-700","rounded","shrink-0",3,"click","disabled"],["type","button",1,"px-1.5","py-0.5","text-xs","border","border-neonDefault","text-neutral-300","hover:bg-neutral-700","rounded","shrink-0",3,"click"],[1,"flex","flex-wrap","items-center","gap-1","text-[9px]","text-neutral-500"],[1,"shrink-0","px-2","py-1.5","border-b","border-neutral-800","flex","flex-col","gap-1"],["type","text","placeholder","Search\u2026",1,"w-full","px-2","py-1","text-xs","bg-neutral-800","border","border-neutral-700","text-neutral-200","rounded",3,"input","value"],[1,"flex-1","px-1.5","py-0.5","text-xs","bg-neutral-800","border","border-neutral-700","text-neutral-300","rounded",3,"change","value"],["value",""],["value","waiting-input"],["value","running"],["value","connecting"],["value","disconnected"],["value","errored"],["value","completed"],["value","terminated"],["type","button",1,"px-1.5","py-0.5","text-xs","border","rounded","shrink-0",3,"click"],[1,"shrink-0","px-2","py-1.5"],[1,"flex-1","overflow-y-auto"],[1,"flex","items-center","justify-center","py-8","text-xs","text-neutral-500"],[1,"flex","flex-col","items-center","justify-center","py-8","gap-2"],["kind","ca",3,"rows","activeId","showWorkspacePath","showPromptCount","hideSearch"],[3,"closed","isOpen","title","maxWidth","bodyFlexColumn","closeOnBackdropClick"],[1,"flex","flex-col","flex-1","min-h-0","gap-3"],[1,"shrink-0"],[1,"text-xs","text-neutral-400","block","mb-1"],[1,"w-full","bg-neutral-900","text-neutral-300","text-xs","rounded","px-2","py-1.5","border","border-neonDefault","focus:border-neonCyan","focus:outline-none","mb-1.5",3,"ngModel"],["type","text","placeholder","/path/to/workspace",1,"w-full","bg-neutral-900","text-neutral-200","text-sm","rounded","px-2","py-1.5","border","border-neonDefault","focus:border-neonCyan","focus:outline-none",3,"ngModelChange","ngModel"],["type","text","placeholder","My session",1,"w-full","bg-neutral-900","text-neutral-200","text-sm","rounded","px-2","py-1.5","border","border-neonDefault","focus:border-neonCyan","focus:outline-none",3,"ngModelChange","ngModel"],[1,"flex-1","min-h-0","overflow-y-auto","overscroll-contain","rounded-md","border","border-neonRed/30","pr-0.5"],[1,"shrink-0","flex","justify-end","gap-2","pt-2","border-t","border-neutral-700/80"],["type","button",1,"px-3","py-1.5","text-xs","border","border-neonDefault","text-neutral-300","hover:bg-neutral-700","rounded","transition-colors",3,"click","disabled"],["type","button",1,"px-3","py-1.5","text-xs","border","border-ccapAccent","text-ccapAccent","hover:bg-ccapAccent","hover:text-white","disabled:opacity-50","rounded","transition-colors",3,"click","disabled"],[3,"closed","sessionId","isOpen"],[1,"px-1","py-0.5","rounded"],["sourceLabelOverride","CA session list",1,"block",3,"error"],[1,"text-xs","text-neutral-500"],["type","button",1,"px-2","py-1","text-xs","border","border-neonDefault","text-neutral-300","rounded",3,"click"],["kind","ca",3,"selected","contextMenu","scheduleIndicatorClicked","coordinatorIndicatorClicked","rows","activeId","showWorkspacePath","showPromptCount","hideSearch"],[1,"w-full","bg-neutral-900","text-neutral-300","text-xs","rounded","px-2","py-1.5","border","border-neonDefault","focus:border-neonCyan","focus:outline-none","mb-1.5",3,"ngModelChange","ngModel"],["value","","disabled",""],[3,"value"],["value","custom"],["sourceLabelOverride","New CA session",1,"block","min-h-0",3,"error"],[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-neutral-300","hover:bg-neutral-800","transition-colors",3,"click"]],template:function(i,t){if(i&1&&(a(0,"div",0)(1,"div",1)(2,"span",2),d(3,"CA session"),r(),a(4,"button",3),f("click",function(){return t.handleSyncFromAgent()}),d(5," Sync "),r(),a(6,"button",4),f("click",function(){return t.handleOpenCreateDialog()}),d(7," + New "),r()(),g(8,zt,5,18,"div",5),r(),a(9,"div",6)(10,"input",7),f("input",function(c){return t.searchQuery_$.set(c.target.value)}),r(),a(11,"div",1)(12,"select",8),f("change",function(c){return t.handleStatusFilterChange(c.target.value)}),a(13,"option",9),d(14,"All statuses"),r(),a(15,"option",10),d(16,"Waiting"),r(),a(17,"option",11),d(18,"Running"),r(),a(19,"option",12),d(20,"Connecting"),r(),a(21,"option",13),d(22,"Disconnected"),r(),a(23,"option",14),d(24,"Errored"),r(),a(25,"option",15),d(26,"Completed"),r(),a(27,"option",16),d(28,"Terminated"),r()(),a(29,"button",17),f("click",function(){return t.handleToggleShowArchived()}),d(30," Arch "),r()()(),g(31,Ht,2,1,"div",18),a(32,"div",19),g(33,Qt,2,0,"div",20)(34,jt,5,0,"div",21)(35,Kt,1,5,"app-s-session-select",22),r(),a(36,"app-s-modal",23),f("closed",function(){return t.handleCloseCreateDialog()}),a(37,"div",24)(38,"div",25)(39,"label",26),d(40,"Workspace Path *"),r(),g(41,Jt,7,1,"select",27),a(42,"input",28),f("ngModelChange",function(c){return t.newSessionWorkspacePath_$.set(c)}),r()(),a(43,"div",25)(44,"label",26),d(45,"Label (optional)"),r(),a(46,"input",29),f("ngModelChange",function(c){return t.newSessionLabel_$.set(c)}),r()(),g(47,Gt,2,1,"div",30),a(48,"div",31)(49,"button",32),f("click",function(){return t.handleCloseCreateDialog()}),d(50," Cancel "),r(),a(51,"button",33),f("click",function(){return t.handleConfirmCreate()}),d(52),r()()()(),a(53,"app-sch-schedule-popup",34),f("closed",function(){return t.handleCloseSchedulePopup()}),r(),a(54,"app-crd-info-popup",34),f("closed",function(){return t.handleCloseCoordinatorPopup()}),r(),g(55,Yt,4,5)),i&2){let s,c;l(4),S("disabled",t.isSyncing_$()),l(4),x((s=t.ca_DS.mirrorRuntime_$())?8:-1,s),l(2),S("value",t.searchQuery_$()),l(2),S("value",t.statusFilter_$()),l(17),I(t.showArchived_$()?"border-ccapAccent/60 text-ccapAccent/80 bg-ccapAccent/10":"border-neutral-700 text-neutral-500"),l(2),x(t.ca_DS.sessionsLoadError_$()?31:-1),l(2),x(t.ca_DS.sessionsLoading_$()?33:!t.filteredSessions_$().length&&!t.ca_DS.sessionsLoadError_$()?34:35),l(3),S("isOpen",t.isCreateDialogOpen_$())("title","New CA session")("maxWidth","lg")("bodyFlexColumn",!0)("closeOnBackdropClick",!1),l(5),x(t.newAgentSessionWorkspace_DS.workspacePathPickerOptions_$().length?41:-1),l(),S("ngModel",t.newSessionWorkspacePath_$()),l(4),S("ngModel",t.newSessionLabel_$()),l(),x(t.createSessionError_$()?47:-1),l(2),S("disabled",t.isCreating_$()),l(2),S("disabled",t.isCreating_$()||!t.newSessionWorkspacePath_$()),l(),b(" ",t.isCreating_$()?"Creating...":"Create"," "),l(),S("sessionId",t.schedulePopupSessionId_$())("isOpen",t.schedulePopupSessionId_$()!==null),l(),S("sessionId",t.coordinatorPopupSessionId_$())("isOpen",t.coordinatorPopupSessionId_$()!==null),l(),x((c=t.ctxMenuSession_$())?55:-1,c)}},dependencies:[Ze,et,Xe,Ye,Je,Ge,K,se,pe,_e,rt],encapsulation:2})}return n})();var X=(()=>{class n{transform(e){switch(e??""){case"running":return"bg-yellow-500";case"waiting-input":return"bg-green-500";case"connecting":return"bg-yellow-500";case"creating":return"bg-yellow-400";case"completed":return"bg-blue-500";case"errored":return"bg-red-500";case"terminated":return"bg-red-700";case"disconnected":return"bg-amber-700";default:return"bg-neutral-600"}}static \u0275fac=function(i){return new(i||n)};static \u0275pipe=U({name:"caSessionStatusColor",type:n,pure:!0})}return n})();function ti(n,o){n&1&&w(0,"div",5)}function ii(n,o){if(n&1){let e=y();a(0,"button",13),f("click",function(){u(e);let t=p();return m(t.detailUi_DS.handleToggleMetadata())}),d(1," Info "),r()}if(n&2){let e=p();I(e.detailUi_DS.isMetadataPanelOpen_$()?"border-neonCyan/50 text-neonCyan bg-neonCyan/10":"border-neutral-700 text-neutral-500 hover:text-neutral-300")}}function ni(n,o){n&1&&w(0,"span",17)}function oi(n,o){if(n&1&&(w(0,"span",16),k(1,"caSessionStatusColor"),g(2,ni,1,0,"span",17)),n&2){p(2);let e=E(1);S("ngClass",P(1,3,e.session.status))("title",e.session.status),l(2),x(e.isLive?2:-1)}}function si(n,o){n&1&&(a(0,"span",15),d(1,"Loading\u2026"),r())}function ai(n,o){if(n&1&&(a(0,"span",14),d(1),r(),g(2,oi,3,5)(3,si,2,0,"span",15)),n&2){p();let e=E(1);S("title",e.title),l(),b(" ",e.title," "),l(),x(e.session?2:-1),l(),x(e.isLoading&&!e.session?3:-1)}}function ri(n,o){if(n&1){let e=y();w(0,"div",19),a(1,"button",20),f("click",function(){u(e);let t=p(2);return m(t.detailUi_DS.handleStopExecution())}),d(2),r()}if(n&2){let e=p(2);l(),S("disabled",e.detailUi_DS.isStopping_$()),l(),b(" ",e.detailUi_DS.isStopping_$()?"Stopping\u2026":"Stop"," ")}}function li(n,o){if(n&1){let e=y();a(0,"button",18),f("click",function(){u(e);let t=p();return m(t.detailUi_DS.handleToggleTimeline())}),d(1," Timeline "),r(),g(2,ri,3,2)}if(n&2){let e=p(),i=E(1);I(e.detailUi_DS.isTimelinePanelOpen_$()?"border-neonCyan/50 text-neonCyan bg-neonCyan/10":"border-neutral-700 text-neutral-500 hover:text-neutral-300"),l(2),x(i.isLive?2:-1)}}var Dt=(()=>{class n{ca_DS=v(L);detailUi_DS=v(F);caTopBar_$=R(()=>{let e=this.ca_DS.activeSessionId_$();if(!e)return null;let i=this.ca_DS.selectedSessionLoading_$(),t=this.ca_DS.selectedSession_$(),c=this.ca_DS.sessions_$().find(xe=>xe.sessionId===e),_=t?.sessionId===e,T=_?t:c??null,W=T&&(T.label||T.sessionId)||e,B=T?.status??"";return{title:W,session:T,isLoading:i,showActions:_&&!i,isLive:B==="running"||B==="waiting-input"}});sidebarWidth_$=h(320);isSidebarOpen_$=h(!0);isResizing_$=h(!1);ngOnInit(){let e=C.loadPanelWidth("sidebar",320);this.sidebarWidth_$.set(Math.max(200,Math.min(600,e))),this.isSidebarOpen_$.set(C.loadPanelOpen("sidebar",!0))}handleSidebarResizeStart(e){let i=e.clientX,t=this.sidebarWidth_$();this.isResizing_$.set(!0),J.attachUntilPointerUp({startEvent:e,onMove:s=>{let c=s.clientX-i,_=Math.max(200,Math.min(600,t+c));this.sidebarWidth_$.set(_)},onEnd:()=>{this.isResizing_$.set(!1),C.savePanelWidth("sidebar",this.sidebarWidth_$())}})}handleToggleSidebar(){this.isSidebarOpen_$.update(e=>!e),C.savePanelOpen("sidebar",this.isSidebarOpen_$())}handleSessionSelectedFromDashboard(){window.innerWidth<640&&this.isSidebarOpen_$.set(!1)}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=O({type:n,selectors:[["app-ccap-ca-shell"]],hostAttrs:[1,"flex","min-h-0","w-full","flex-1","flex-col","overflow-hidden"],decls:19,vars:14,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","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"],[1,"w-px","h-4","bg-neutral-700","shrink-0","self-center","mx-0.5"],["type","button",1,"px-2","py-1","text-xs","border","rounded","transition-colors","shrink-0",3,"class"],["sSessionToolbarCenter","",1,"flex","items-center","justify-center","gap-2","min-w-0","max-w-[min(100vw-10rem,48rem)]"],["sSessionToolbarRight","",1,"flex","items-center","gap-1","min-w-0","flex-wrap","justify-end"],[3,"sidebarResizeStart","isSidebarOpen","sidebarWidthPx","isResizing"],["sSessionShellSidebar","",1,"flex","flex-col","overflow-hidden","h-full"],[3,"sessionSelected"],["sSessionShellMain","",1,"flex","min-h-0","flex-1","flex-col","overflow-hidden","[&>router-outlet]:contents"],["type","button",1,"px-2","py-1","text-xs","border","rounded","transition-colors","shrink-0",3,"click"],[1,"text-sm","font-semibold","text-neutral-200","truncate","text-center","min-w-0","max-w-[min(240px,35vw)]",3,"title"],[1,"text-[10px]","text-neutral-500","shrink-0"],[1,"w-2","h-2","rounded-full","shrink-0",3,"ngClass","title"],["title","Live",1,"w-2","h-2","rounded-full","bg-green-500","animate-pulse","shrink-0"],["type","button",1,"px-2","py-1","text-xs","border","rounded","transition-colors",3,"click"],[1,"hidden","sm:block","w-px","h-4","bg-neutral-700","shrink-0","self-center"],["type","button",1,"px-2","py-1","text-xs","border","border-neonRed/50","text-red-300","hover:bg-red-950/40","rounded","transition-colors","shrink-0","disabled:opacity-40",3,"click","disabled"]],template:function(i,t){if(i&1){let s=y();a(0,"div",0),te(1),a(2,"app-s-session-shell-toolbar")(3,"div",1)(4,"button",2),f("click",function(){return u(s),m(t.handleToggleSidebar())}),Le(),a(5,"svg",3),w(6,"polyline",4),r(),d(7," CA Sessions "),r(),g(8,ti,1,0,"div",5)(9,ii,2,2,"button",6),r(),Ve(),a(10,"div",7),g(11,ai,4,4),r(),a(12,"div",8),g(13,li,3,3),r()(),a(14,"app-s-resizable-session-shell-layout",9),f("sidebarResizeStart",function(_){return u(s),m(t.handleSidebarResizeStart(_))}),a(15,"div",10)(16,"app-ccap-ca-dashboard",11),f("sessionSelected",function(){return u(s),m(t.handleSessionSelectedFromDashboard())}),r()(),a(17,"div",12),w(18,"router-outlet"),r()()()}if(i&2){z("select-none",t.isResizing_$()),l();let s=ie(t.caTopBar_$());l(4),z("rotate-90",t.isSidebarOpen_$())("-rotate-90",!t.isSidebarOpen_$()),l(3),x(s?8:-1),l(),x(s&&s.showActions?9:-1),l(2),x(s?11:-1),l(2),x(s&&s.showActions?13:-1),l(),S("isSidebarOpen",t.isSidebarOpen_$())("sidebarWidthPx",t.sidebarWidth_$())("isResizing",t.isResizing_$())}},dependencies:[j,je,ct,pt,gt,X],encapsulation:2})}return n})();var me=class{static pickDefaultSessionId(o){let e=o.sessions;if(!e.length)return"";let i=o.lastSavedSessionId.trim();if(i.length>0){let s=e.find(c=>c.sessionId===i);if(s?.sessionId&&(o.includeArchived||s.isArchived!==!0))return s.sessionId}let t=e.find(s=>!!s.sessionId&&s.isArchived!==!0);return t?.sessionId?t.sessionId:o.includeArchived?e.find(c=>!!c.sessionId)?.sessionId??"":""}};var $t=(()=>{class n{static toolCallUpdateBriefSubtype="tool_call_update";static filterForAgentUpdatesVisibility(e){let i=e.messages,t=i.length-1,s=[];for(let c=0;c<i.length;c++){let _=i[c];if(_.type!=="status-update"){s.push(_);continue}!e.isShowAgentUpdates||_.briefSubtype===n.toolCallUpdateBriefSubtype&&c!==t||s.push(_)}return s}}return n})();var fe=class n{static pairToolResultsIntoToolStarts(o){let e=new Map;for(let s=0;s<o.length;s++){let c=o[s];if(c.type!=="tool"||c.briefSubtype!=="tool_call")continue;let _=ce.tryParseStableListKey(c.listKey);_===null||_.role!=="start"||e.set(_.toolCallId,s)}if(!e.size)return o;let i=new Set,t=o.map(s=>ve({},s));for(let s=0;s<t.length;s++){let c=t[s];if(c.briefSubtype!=="tool_call_update")continue;let _=ce.tryParseStableListKey(c.listKey);if(_===null)continue;let T=c.type==="tool-result"&&_.role==="result",W=c.type==="error"&&_.role==="error";if(!T&&!W)continue;let B=e.get(_.toolCallId);if(B===void 0)continue;let Ce=n.buildPairedExpandableRawOutput({rawData:c.rawData,fallbackText:c.text}),xe={text:c.text,expandableContent:Ce.length?Ce:c.text,rawData:c.rawData,isError:W?!0:void 0};t[B]=Te(ve({},t[B]),{pairedResult:xe,isToolCallFailedIndicator:W?!0:t[B].isToolCallFailedIndicator}),i.add(s)}return i.size?t.filter((s,c)=>!i.has(c)):t}static buildPairedExpandableRawOutput(o){let e=o.rawData;if(e===void 0)return o.fallbackText;let i=e.update;if(i===null||typeof i!="object"||Array.isArray(i))return n.stringifyRecordOrFallback({value:e,fallbackText:o.fallbackText});let t=[],s=Reflect.get(i,"content");if(Array.isArray(s)&&s.length){let _=ce.formatContent(s);_.length&&t.push(_)}let c=Reflect.get(i,"rawOutput");if(c!==void 0)try{let _=JSON.stringify(c,null,2);we.looksLikeJson(_)?t.push(we.formatJson(_)):t.push(_)}catch{}return t.length?t.join(`
2
2
 
3
3
  `):n.stringifyRecordOrFallback({value:e,fallbackText:o.fallbackText})}static stringifyRecordOrFallback(o){try{return JSON.stringify(o.value,null,2)}catch{return o.fallbackText}}};var he=class n{static fromConsoleMessage(o){let e=n.mapTypeToKind(o.type);o.useRawBubbleKind===!0&&(e=M.raw),o.streamTextRole==="user"&&o.type==="assistant"&&o.useRawBubbleKind!==!0&&(e=M.userPrompt);let i=o.streamTextRole==="user"||o.type==="prompt"&&o.useRawBubbleKind!==!0,t=o.briefSubtype!==void 0&&o.briefSubtype.length>0?o.briefSubtype:o.mirrorEventType,s=o.type==="tool"&&o.toolDisplayName!==void 0&&o.toolDisplayName.length>0?o.toolDisplayName:void 0,c=o.type==="error"||o.isToolCallFailedIndicator===!0?"error":void 0,_=o.pairedResult!==void 0?{text:o.pairedResult.text,expandableContent:o.pairedResult.expandableContent,rawData:o.pairedResult.rawData,isError:o.pairedResult.isError}:void 0;return{listKey:o.listKey,kind:e,bodyText:o.text,timestampIso:o.timestamp,expandableContent:void 0,rawData:o.rawData,pairedResult:_,isUserAligned:i,subtype:t,toolName:s,headerStatusDot:c,flags:{showCopy:!0,showRawInfo:!0,useEditDiffForExpandable:!1}}}static mapTypeToKind(o){switch(o){case"prompt":return M.userPrompt;case"assistant":return M.assistant;case"thinking":return M.thinking;case"tool":return M.tool;case"tool-result":return M.toolResult;case"error":return M.error;case"info":return M.info;case"status":return M.status;case"status-update":return M.statusUpdate;default:return M.info}}};var di=["messagesEnd"],ci=(n,o)=>o.listKey,pi=()=>({"w-[90%]":!0,"ml-4":!0}),_i=()=>({"w-[85%]":!0});function ui(n,o){if(n&1&&(a(0,"span",11),k(1,"caSessionStatusColor"),d(2),r()),n&2){let e=o;I(P(1,3,e.status)),l(2),b(" ",e.status," ")}}function mi(n,o){n&1&&(a(0,"div",6),d(1," Loading\u2026 "),r())}function fi(n,o){n&1&&(a(0,"div",6),d(1," No messages yet \u2014 send a prompt "),r())}function hi(n,o){if(n&1){let e=y();a(0,"div")(1,"div",12)(2,"app-s-agent-console-message-bubble",13),f("ttsCached",function(t){u(e);let s=p();return m(s.handleTtsCached(t))}),r()()()}if(n&2){let e=o.$implicit,i=p();I(e.isUserAligned?"flex justify-end":"flex justify-start"),l(),S("ngClass",e.kind===i.bubbleKind.tool?ge(4,pi):ge(5,_i)),l(),S("view",e)}}var Tt=(()=>{class n{messagesEndRef;ca_DS=v(L);detailUi_DS=v(F);voiceInputUi_DS=v(nt);sessionQueue_DS=v(xt);route=v(ne);promptInput_$=h("");isSending_$=h(!1);isExecuting_$=R(()=>this.ca_DS.selectedSession_$()?.status==="running");messages_$=R(()=>this.ca_DS.consoleMessages_$());ttsCachedKeys_$=h(new Set);handleTtsCached(e){this.ttsCachedKeys_$.update(i=>new Set([...i,e]))}bubbleViews_$=R(()=>{let e=this.ca_DS.assembledMessages_$();if(e.length>0){let c=this.sessionId,_=this.ttsCachedKeys_$(),T=e.map(W=>vt.fromAssembledMessage(W,{sessionId:c,cachedKeys:_}));return T=De.groupSubAgentItems(T),T=De.groupConsecutiveToolItems(T),T}let i=this.detailUi_DS.isShowAgentUpdates_$(),t=$t.filterForAgentUpdatesVisibility({messages:this.messages_$(),isShowAgentUpdates:i});return fe.pairToolResultsIntoToolStarts(t).map(c=>he.fromConsoleMessage(c))});bubbleKind=M;isComposerSendDisabled_$=R(()=>!this.promptInput_$().trim().length);previousConsoleMessageCount=0;get sessionId(){return this.ca_DS.activeSessionId_$()}ngAfterViewInit(){this.scheduleScrollToBottom()}ngAfterViewChecked(){let e=this.ca_DS.consoleMessages_$().length;e>this.previousConsoleMessageCount&&this.scheduleScrollToBottom(),this.previousConsoleMessageCount=e}ngOnInit(){let e=this.route.snapshot.paramMap.get("sessionId")??"";e&&(this.promptInput_$.set(C.loadPromptDraft(e)),this.sessionQueue_DS.subscribeToSession({sessionId:e,baseRoute:"ca-session"}))}handleSendPrompt(){return $(this,null,function*(){let e=this.promptInput_$().trim();if(!(!e||!this.sessionId||this.isSending_$())){C.clearPromptDraft(this.sessionId),this.promptInput_$.set(""),this.isSending_$.set(!0);try{yield this.ca_DS.sendPrompt({sessionId:this.sessionId,content:e})}catch{}finally{this.isSending_$.set(!1)}}})}handleComposerDraftChange(e){this.promptInput_$.set(e);let i=this.sessionId;i&&C.savePromptDraft(i,e)}handleVoiceSegment(e){let i=e.text.trim();if(!i.length)return;let t=this.promptInput_$().trim(),s=t.length>0?`${t} ${i}`:i;this.handleComposerDraftChange(s),this.voiceInputUi_DS.autoSendAfterVoice_$()&&e.isFinal&&this.handleSendPrompt()}scheduleScrollToBottom(){setTimeout(()=>{let e=this.messagesEndRef?.nativeElement;e&&e.scrollIntoView({block:"end",inline:"nearest"})},0)}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=O({type:n,selectors:[["app-ccap-ca-console"]],viewQuery:function(i,t){if(i&1&&G(di,5),i&2){let s;Y(s=Z())&&(t.messagesEndRef=s.first)}},hostAttrs:[1,"flex","flex-col","flex-1","min-h-0","overflow-hidden","w-full","min-w-0"],decls:16,vars:14,consts:[["messagesEnd",""],["sChatColumnHeader","",1,"flex","shrink-0","flex-col"],[1,"flex","shrink-0","items-center","gap-2","border-b","border-neonDefault","bg-ccapSurface","px-3","py-1.5"],[1,"flex-1","truncate","font-mono","text-xs","text-neutral-400"],[1,"rounded","px-1.5","py-0.5","text-[10px]","font-medium","text-black",3,"class"],["sChatColumnScroll","",1,"space-y-3","px-3","py-3","text-xs"],[1,"flex","h-full","items-center","justify-center","text-xs","text-neutral-600"],[3,"class"],["sChatColumnComposer",""],["placeholder","Send a prompt\u2026",3,"draftTextChange","sendRequested","queueRequested","stopRequested","queueEditStart","queueEditTextChange","queueEditSave","queueEditCancel","queueRemoveItem","queueSendNow","queueMoveUp","queueMoveDown","draftText","isExecuting","isSending","isStopping","enableAttachments","textareaRows","queueItems","isQueueLocked","editingQueueItemId","editingQueueText"],["sInputTextareaAccessory","",3,"transcriptSegmentReady","compactLayout"],[1,"rounded","px-1.5","py-0.5","text-[10px]","font-medium","text-black"],[1,"max-w-full",3,"ngClass"],[3,"ttsCached","view"]],template:function(i,t){if(i&1){let s=y();a(0,"app-s-session-chat-column-layout")(1,"div",1)(2,"div",2)(3,"span",3),d(4),r(),g(5,ui,3,5,"span",4),r()(),a(6,"div",5),g(7,mi,2,0,"div",6)(8,fi,2,0,"div",6),H(9,hi,3,6,"div",7,ci),w(11,"div",null,0),r(),a(13,"div",8)(14,"app-s-session-input",9),f("draftTextChange",function(_){return u(s),m(t.handleComposerDraftChange(_))})("sendRequested",function(){return u(s),m(t.handleSendPrompt())})("queueRequested",function(){return u(s),m(t.handleSendPrompt())})("stopRequested",function(){return u(s),m(t.detailUi_DS.handleStopExecution())})("queueEditStart",function(_){return u(s),m(t.sessionQueue_DS.startEditing(_))})("queueEditTextChange",function(_){return u(s),m(t.sessionQueue_DS.editingText_$.set(_))})("queueEditSave",function(){return u(s),m(t.sessionQueue_DS.saveEdit())})("queueEditCancel",function(){return u(s),m(t.sessionQueue_DS.cancelEdit())})("queueRemoveItem",function(_){return u(s),m(t.sessionQueue_DS.removeItem(_))})("queueSendNow",function(_){return u(s),m(t.sessionQueue_DS.sendNow(_))})("queueMoveUp",function(_){return u(s),m(t.sessionQueue_DS.reorderItem({queueItemId:_,direction:"up"}))})("queueMoveDown",function(_){return u(s),m(t.sessionQueue_DS.reorderItem({queueItemId:_,direction:"down"}))}),a(15,"app-ccap-voice-record-button",10),f("transcriptSegmentReady",function(_){return u(s),m(t.handleVoiceSegment(_))}),r()()()()}if(i&2){let s;l(4),b(" ",t.ca_DS.activeSessionId_$()||"No session"," "),l(),x((s=t.ca_DS.selectedSession_$())?5:-1,s),l(2),x(t.ca_DS.selectedSessionLoading_$()?7:t.bubbleViews_$().length?-1:8),l(2),Q(t.bubbleViews_$()),l(5),S("draftText",t.promptInput_$())("isExecuting",t.isExecuting_$())("isSending",t.isSending_$())("isStopping",t.detailUi_DS.isStopping_$())("enableAttachments",!0)("textareaRows",3)("queueItems",t.sessionQueue_DS.items_$())("isQueueLocked",t.sessionQueue_DS.isLocked_$())("editingQueueItemId",t.sessionQueue_DS.editingItemId_$())("editingQueueText",t.sessionQueue_DS.editingText_$()),l(),S("compactLayout",!0)}},dependencies:[j,re,ut,mt,ft,X],encapsulation:2})}return n})();var It=(()=>{class n{transform(e){switch(e??""){case"lifecycle":return"bg-cyan-600";case"ca-session-update":return"bg-green-600";case"prompt-sent":return"bg-blue-600";case"prompt-completed":return"bg-green-500";case"error":return"bg-red-600";case"sync-list":return"bg-purple-600";case"hydrate-from-agent":return"bg-indigo-600";default:return"bg-neutral-600"}}static \u0275fac=function(i){return new(i||n)};static \u0275pipe=U({name:"caSessionEventTypeColor",type:n,pure:!0})}return n})();var Et=(()=>{class n{sanitizer;constructor(e){this.sanitizer=e}transform(e){if(!e)return this.sanitizer.bypassSecurityTrustHtml('<span class="text-neutral-500">{}</span>');try{let i=JSON.stringify(e,null,2),t=this.highlightJson(i);return this.sanitizer.bypassSecurityTrustHtml(t)}catch{return this.sanitizer.bypassSecurityTrustHtml('<span class="text-neutral-500">{}</span>')}}MULTILINE_THRESHOLD=150;highlightJson(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/("(\\u[\da-fA-F]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)/g,t=>/^"/.test(t)?/:$/.test(t)?`<span style="color:#7dd3fc">${t}</span>`:t.length>this.MULTILINE_THRESHOLD&&t.includes("\\n")?this.formatMultilineString(t):`<span style="color:#86efac">${t}</span>`:/true|false/.test(t)?`<span style="color:#fbbf24">${t}</span>`:/null/.test(t)?`<span style="color:#a78bfa">${t}</span>`:`<span style="color:#fb923c">${t}</span>`)}formatMultilineString(e){return'<span style="color:#86efac">"</span><span style="display:block;margin:2px 0;padding:4px 8px;border-left:2px solid rgba(134,239,172,0.25);background:rgba(134,239,172,0.04);border-radius:0 4px 4px 0;color:#86efac;opacity:0.85;white-space:pre-wrap;word-break:break-word;font-size:0.9em;line-height:1.5">'+e.slice(1,-1).replace(/\\n/g,`
4
4
  `).replace(/\\t/g," ").replace(/\\r/g,"").replace(/\\"/g,'"').replace(/\\\\/g,"\\")+'</span><span style="color:#86efac">"</span>'}static \u0275fac=function(i){return new(i||n)(Fe(Qe,16))};static \u0275pipe=U({name:"caSessionJsonFormat",type:n,pure:!0})}return n})();var N=class n{static eventBrief(o){let e=o.data??{};switch(o.eventType){case"prompt-sent":{let i=e.content;if(typeof i=="string"&&i.length)return`prompt: ${i.length>80?`${i.substring(0,80)}\u2026`:i}`;let t=e.contentLength;return typeof t=="number"?`prompt length ${t}`:"prompt"}case"lifecycle":{let i=e.phase;if(i==="acpSessionRebound"){let t=e.previousAcpSessionId,s=e.newAcpSessionId,c=typeof t=="string"?t.substring(0,8):"?",_=typeof s=="string"?s.substring(0,8):"?";return`ACP rebound ${c}\u2026 \u2192 ${_}\u2026`}return typeof i=="string"?i:"lifecycle"}case"ca-session-update":return"session update";case"hydrate-from-agent":{let i=e.acpLoadFingerprint;return typeof i=="string"&&i.length>12?`session/load \xB7 ${i.substring(0,12)}\u2026`:"session/load snapshot"}default:{let i=JSON.stringify(e);return i.length>60?i.substring(0,60)+"\u2026":i}}}static streamRowBrief(o){if(o.events.length===1)return n.eventBrief(o.events[0]);let e=[];for(let t of o.events){let s=de.parseStreamChunkFromMirrorData(t.data??{});s!==null&&e.push(s.text)}let i=e.join("");return i.length>80?`${i.substring(0,80)}\u2026`:i}static streamRowSequenceLabel(o){if(!o.events.length)return"";if(o.events.length===1)return`#${String(o.events[0].sequence??"")}`;let e=o.events[0].sequence??0,i=o.events[o.events.length-1].sequence??0;return`#${String(e)}\u2013#${String(i)}`}static streamRowClipboardText(o){return Ae.prettyStringifyUnknown({merged:o.events.length>1,events:o.events.map(e=>({eventType:e.eventType,sequence:e.sequence,timestamp:e.timestamp,sessionId:e.sessionId,data:e.data??{}}))})}};var kt=(()=>{class n{transform(e){return e==null?"":N.streamRowBrief(e)}static \u0275fac=function(i){return new(i||n)};static \u0275pipe=U({name:"caSessionTimelineStreamRowBrief",type:n,pure:!0})}return n})();var Pt=(()=>{class n{transform(e){return e==null?"":N.streamRowClipboardText(e)}static \u0275fac=function(i){return new(i||n)};static \u0275pipe=U({name:"caSessionTimelineStreamRowClipboardText",type:n,pure:!0})}return n})();var Rt=(()=>{class n{transform(e){return e==null?"":N.streamRowSequenceLabel(e)}static \u0275fac=function(i){return new(i||n)};static \u0275pipe=U({name:"caSessionTimelineStreamRowSequenceLabel",type:n,pure:!0})}return n})();var yi=["eventList"],wi=(n,o)=>o.rowKey,Ai=n=>({"bg-neutral-800/30":n});function Di(n,o){if(n&1){let e=y();a(0,"div",9)(1,"button",12),f("click",function(){u(e);let t=p();return m(t.handleLoadMoreEvents())}),d(2),r()()}if(n&2){let e=p();l(),S("disabled",e.isLoadingMore_$()),l(),b(" ",e.isLoadingMore_$()?"Loading\u2026":"Load more events"," ")}}function $i(n,o){n&1&&(a(0,"div",11),d(1," No events yet "),r())}function Ti(n,o){if(n&1&&(a(0,"span",17),d(1),r()),n&2){let e=p().$implicit;l(),b(" \xD7",e.events.length,"")}}function Ii(n,o){if(n&1&&(a(0,"div",23)(1,"div",24),d(2,"Event data:"),r(),w(3,"pre",25),k(4,"caSessionJsonFormat"),r()),n&2){let e=p().$implicit;l(3),S("innerHTML",P(4,1,e.events[0].data),Ue)}}function Ei(n,o){if(n&1){let e=y();a(0,"div",14),f("click",function(){let t=u(e).$implicit,s=p(2);return m(s.handleSelectRow(t))}),a(1,"div",15)(2,"span",16),k(3,"caSessionEventTypeColor"),d(4),g(5,Ti,2,1,"span",17),r(),a(6,"span",18),d(7),k(8,"caSessionTimelineStreamRowSequenceLabel"),r(),a(9,"span",19),k(10,"caSessionTimelineStreamRowBrief"),d(11),k(12,"caSessionTimelineStreamRowBrief"),r(),a(13,"span",20),k(14,"sAbsoluteTime"),d(15),k(16,"sTimeAgo"),r(),a(17,"span",21),f("click",function(t){return u(e),m(t.stopPropagation())}),w(18,"app-s-copy-button",22),k(19,"caSessionTimelineStreamRowClipboardText"),r()(),g(20,Ii,5,3,"div",23),r()}if(n&2){let e,i,t=o.$implicit,s=p(2);S("ngClass",Ne(26,Ai,s.selectedRowKey_$()===t.rowKey)),l(2),I(P(3,12,t.events[0].eventType)),l(2),b(" ",t.events[0].eventType," "),l(),x(t.events.length>1?5:-1),l(2),b(" ",P(8,14,t)," "),l(2),S("title",P(10,16,t)),l(2),b(" ",P(12,18,t)," "),l(2),S("title",P(14,20,(e=t.events[0].timestamp)!==null&&e!==void 0?e:"")),l(2),b(" ",P(16,22,(i=t.events[0].timestamp)!==null&&i!==void 0?i:"")," "),l(3),S("content",P(19,24,t)),l(2),x(s.selectedRowKey_$()===t.rowKey?20:-1)}}function ki(n,o){if(n&1&&H(0,Ei,21,28,"div",13,wi),n&2){let e=p();Q(e.displayRows_$())}}var Mt=(()=>{class n{ca_DS=v(L);detailUi_DS=v(F);selectedRowKey_$=h(null);isLoadingMore_$=h(!1);isAutoScroll_$=h(!0);eventListRef;previousRowCount=0;displayRows_$=R(()=>{let e=[...this.ca_DS.selectedSessionEvents_$()].sort(lt.compareMirrorEventsAsc);return[...de.foldEventsToTimelineRows(e)].reverse()});ngAfterViewChecked(){let e=this.displayRows_$().length;this.isAutoScroll_$()&&e>this.previousRowCount&&this.scrollToTop(),this.previousRowCount=e}handleToggleAutoScroll(){this.isAutoScroll_$.update(e=>!e)}handleSelectRow(e){let i=e.rowKey;this.selectedRowKey_$()===i?this.selectedRowKey_$.set(null):this.selectedRowKey_$.set(i)}handleLoadMoreEvents(){return $(this,null,function*(){let e=this.ca_DS.activeSessionId_$();if(e){this.isLoadingMore_$.set(!0);try{yield this.ca_DS.loadMoreSessionEvents({sessionId:e})}finally{this.isLoadingMore_$.set(!1)}}})}scrollToTop(){let e=this.eventListRef?.nativeElement;e&&(e.scrollTop=0)}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=O({type:n,selectors:[["app-ccap-ca-timeline"]],viewQuery:function(i,t){if(i&1&&G(yi,5),i&2){let s;Y(s=Z())&&(t.eventListRef=s.first)}},hostAttrs:[1,"flex","flex-col","h-full","min-h-0","overflow-hidden"],decls:18,vars:9,consts:[["eventList",""],[1,"flex","items-center","justify-between","p-2","border-b","border-neonDefault","shrink-0"],[1,"flex","items-center","gap-1"],[1,"text-xs","text-neutral-400","font-medium"],[1,"text-xs","text-neutral-500"],["type","button",1,"text-[10px]","px-1.5","py-0.5","border","rounded","transition-colors",3,"click"],[1,"flex","items-center","gap-1","px-2","py-1.5","border-b","border-neonDefault","shrink-0"],["type","button","title","Session lifecycle status changes",1,"px-2","py-0.5","text-[10px]","border","rounded","transition-colors",3,"click"],["type","button","title","Tool call progress / agent updates (in_progress)",1,"px-2","py-0.5","text-[10px]","border","rounded","transition-colors",3,"click"],[1,"shrink-0","px-2","py-0.5","border-b","border-neutral-800"],[1,"flex-1","min-h-0","overflow-y-auto"],[1,"flex","items-center","justify-center","py-4","text-[10px]","text-neutral-600"],["type","button",1,"w-full","px-2","py-0.5","text-[9px]","border","border-neutral-600","text-neutral-300","rounded","disabled:opacity-40",3,"click","disabled"],[1,"px-2","py-1","border-b","border-neutral-700/30","cursor-pointer","hover:bg-neutral-800/30","transition-colors",3,"ngClass"],[1,"px-2","py-1","border-b","border-neutral-700/30","cursor-pointer","hover:bg-neutral-800/30","transition-colors",3,"click","ngClass"],[1,"flex","items-center","gap-1.5","min-w-0"],[1,"text-[9px]","px-1","py-0.5","rounded","font-medium","text-black","shrink-0","leading-none","whitespace-nowrap"],[1,"text-neutral-600","font-normal"],[1,"text-[10px]","text-neutral-600","shrink-0","leading-none","font-mono"],[1,"text-[10px]","text-neutral-400","truncate","font-mono","min-w-0","flex-1","leading-none",3,"title"],[1,"text-[10px]","text-neutral-400","shrink-0","leading-none",3,"title"],[1,"inline-flex","shrink-0",3,"click"],["buttonTitle","Copy event (JSON)","size","sm",3,"content"],[1,"mt-1","px-0","pt-1","border-t","border-neutral-800/80"],[1,"text-[10px]","text-neutral-500","mb-1"],[1,"p-2","bg-neutral-900","border","border-neutral-700/50","rounded","text-[10px]","font-mono","text-neonCyan/70","overflow-x-auto","whitespace-pre-wrap","break-words","max-h-60",3,"innerHTML"]],template:function(i,t){if(i&1){let s=y();a(0,"div",1)(1,"div",2)(2,"span",3),d(3,"Event Timeline"),r(),a(4,"span",4),d(5),r()(),a(6,"button",5),f("click",function(){return u(s),m(t.handleToggleAutoScroll())}),d(7," Auto-scroll "),r()(),a(8,"div",6)(9,"button",7),f("click",function(){return u(s),m(t.detailUi_DS.handleToggleSessionStatus())}),d(10," Session status "),r(),a(11,"button",8),f("click",function(){return u(s),m(t.detailUi_DS.handleToggleAgentUpdates())}),d(12," Agent updates "),r()(),g(13,Di,3,2,"div",9),a(14,"div",10,0),g(16,$i,2,0,"div",11)(17,ki,2,0),r()}i&2&&(l(5),b(" (",t.ca_DS.selectedSessionEvents_$().length,") "),l(),I(t.isAutoScroll_$()?"border-neonCyan text-neonCyan shadow-neon-glow-cyan":"border-neonDefault text-neutral-400"),l(3),I(t.detailUi_DS.isShowSessionStatus_$()?"border-purple-500/50 text-purple-400 bg-purple-500/10":"border-neutral-700 text-neutral-500 hover:text-neutral-300"),l(2),I(t.detailUi_DS.isShowAgentUpdates_$()?"border-teal-500/50 text-teal-400 bg-teal-500/10":"border-neutral-700 text-neutral-500 hover:text-neutral-300 hover:border-neutral-600"),l(2),x(t.ca_DS.sessionEventsHasMore_$()?13:-1),l(3),x(t.displayRows_$().length?17:16))},dependencies:[j,dt,st,at,It,Et,kt,Pt,Rt],encapsulation:2})}return n})();function Ri(n,o){n&1&&(a(0,"div",0),d(1,"Loading\u2026"),r())}function Mi(n,o){n&1&&(a(0,"div",0),d(1,"No session"),r())}function Li(n,o){if(n&1&&(a(0,"div",6)(1,"span",7),d(2,"ACP sessionId"),r(),a(3,"span",8),d(4),r()()),n&2){p();let e=E(0);l(4),q(e.acpSessionId)}}function Vi(n,o){if(n&1&&(a(0,"div",6)(1,"span",7),d(2,"Label"),r(),a(3,"span",18),d(4),r()()),n&2){p();let e=E(0);l(4),q(e.label)}}function Oi(n,o){if(n&1&&(a(0,"div",6)(1,"span",7),d(2,"Parent CCAP session"),r(),a(3,"span",8),d(4),r()()),n&2){p();let e=E(0);l(4),q(e.parentSessionId)}}function Ui(n,o){if(n&1&&(a(0,"div",4)(1,"div",5),d(2,"Agent"),r(),a(3,"div",18),d(4),r()()),n&2){p();let e=E(0);l(4),ee("",e.agentInfoName," ",e.agentInfoVersion,"")}}function Fi(n,o){if(n&1&&(a(0,"div",10),d(1),r()),n&2){p();let e=E(0);l(),b(" ACP: ",e.isAcpConnected?"connected":"offline"," ")}}function Wi(n,o){if(n&1&&(a(0,"div",10),d(1),r()),n&2){p();let e=E(0);l(),b(" session/load: ",e.loadSessionSupported?"supported":"not advertised"," ")}}function qi(n,o){if(n&1&&(a(0,"div",10),d(1),r()),n&2){p();let e=E(0);l(),b(" mode: ",e.isTerminalMode?"terminal":"direct"," ")}}function Ni(n,o){if(n&1&&(a(0,"div",19),d(1),r()),n&2){p();let e=E(0);I(e.isTerminalRunnerConnected?"text-green-400":"text-amber-400"),l(),b(" runner: ",e.isTerminalRunnerConnected?"connected":"disconnected"," ")}}function Bi(n,o){if(n&1&&(a(0,"div",6)(1,"span",7),d(2,"lastSyncAt"),r(),a(3,"span",20),d(4),r()()),n&2){p();let e=E(0);l(4),q(e.lastSyncAt)}}function zi(n,o){if(n&1&&(a(0,"div",12),d(1),r()),n&2){p();let e=E(0);l(),b(" ",e.lastSyncError," ")}}function Hi(n,o){if(n&1){let e=y();te(0),a(1,"div",1)(2,"div",2)(3,"span",3),k(4,"caSessionStatusColor"),d(5),r()(),a(6,"div",4)(7,"div",5),d(8,"Session"),r(),a(9,"div",6)(10,"span",7),d(11,"Business ID"),r(),a(12,"span",8),d(13),r()(),g(14,Li,5,1,"div",6)(15,Vi,5,1,"div",6),a(16,"div",6)(17,"span",7),d(18,"Workspace"),r(),a(19,"span",8),d(20),r()(),g(21,Oi,5,1,"div",6),r(),g(22,Ui,5,2,"div",4),a(23,"div",9)(24,"div",5),d(25,"Mirror / ACP"),r(),g(26,Fi,2,1,"div",10)(27,Wi,2,1,"div",10)(28,qi,2,1,"div",10)(29,Ni,2,3,"div",11)(30,Bi,5,1,"div",6)(31,zi,2,1,"div",12),a(32,"button",13),f("click",function(){u(e);let t=p();return m(t.handleHydrate(!1))}),d(33," Hydrate from agent "),r(),a(34,"button",14),f("click",function(){u(e);let t=p();return m(t.handleHydrate(!0))}),d(35," Force re-hydrate "),r()(),a(36,"div",15)(37,"button",16),f("click",function(){u(e);let t=p();return m(t.handleTerminate())}),d(38),r(),a(39,"button",17),f("click",function(){u(e);let t=p();return m(t.handleArchiveToggle())}),d(40),r()()()}if(n&2){let e=p(),i=ie(e.session_$());l(3),I(P(4,22,i.status)),l(2),b(" ",i.status," "),l(8),q(i.sessionId),l(),x(i.acpSessionId?14:-1),l(),x(i.label?15:-1),l(5),q(i.workspacePath),l(),x(i.parentSessionId?21:-1),l(),x(i.agentInfoName||i.agentInfoVersion?22:-1),l(4),x(i.isAcpConnected===!0||i.isAcpConnected===!1?26:-1),l(),x(i.loadSessionSupported===!0||i.loadSessionSupported===!1?27:-1),l(),x(i.isTerminalMode===!0||i.isTerminalMode===!1?28:-1),l(),x(i.isTerminalMode===!0?29:-1),l(),x(i.lastSyncAt?30:-1),l(),x(i.lastSyncError?31:-1),l(),S("disabled",e.isHydrating_$()||i.loadSessionSupported!==!0),l(2),S("disabled",e.isHydrating_$()||i.loadSessionSupported!==!0),l(3),S("disabled",e.detailUi_DS.isTerminating_$()),l(),b(" ",e.detailUi_DS.isTerminating_$()?"Terminating\u2026":"Terminate"," "),l(),S("disabled",e.isArchiving_$()),l(),b(" ",i.isArchived?"Unarchive":"Archive"," ")}}var Lt=(()=>{class n{ca_DS=v(L);detailUi_DS=v(F);session_$=R(()=>this.ca_DS.selectedSession_$());isLoading_$=R(()=>this.ca_DS.selectedSessionLoading_$());isArchiving_$=h(!1);isHydrating_$=h(!1);handleHydrate(e){return $(this,null,function*(){let t=this.session_$()?.sessionId??"";if(t){this.isHydrating_$.set(!0);try{yield this.ca_DS.hydrateFromAgent({sessionId:t,force:e})}catch{}finally{this.isHydrating_$.set(!1)}}})}handleTerminate(){this.detailUi_DS.handleTerminate()}handleArchiveToggle(){return $(this,null,function*(){let e=this.session_$(),i=e?.sessionId??"";if(!(!i||!e)){this.isArchiving_$.set(!0);try{let t=e.isArchived!==!0;yield this.ca_DS.setSessionArchived({sessionId:i,isArchived:t})}catch{}finally{this.isArchiving_$.set(!1)}}})}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=O({type:n,selectors:[["app-ccap-ca-metadata"]],hostAttrs:[1,"flex","flex-col"],decls:3,vars:1,consts:[[1,"flex","items-center","justify-center","py-6","text-[10px]","text-neutral-600"],[1,"p-2","space-y-3","text-xs"],[1,"flex","items-center","gap-2"],[1,"px-2","py-0.5","rounded","text-[10px]","font-medium","text-black"],[1,"space-y-1.5"],[1,"text-[10px]","font-semibold","text-neutral-500","uppercase","tracking-wide"],[1,"flex","flex-col","gap-0.5"],[1,"text-[10px]","text-neutral-600"],[1,"font-mono","text-[10px]","text-neutral-300","break-all"],[1,"space-y-1.5","pt-2","border-t","border-neutral-800"],[1,"text-[10px]","text-neutral-400"],[1,"text-[10px]",3,"class"],[1,"text-[10px]","text-amber-400/90","border","border-amber-600/30","rounded","px-1.5","py-1"],["type","button","title","ACP session/load \u2192 mirror hydrate event",1,"w-full","px-2","py-1","text-[10px]","border","border-sky-700","text-sky-300","rounded","disabled:opacity-40",3,"click","disabled"],["type","button",1,"w-full","px-2","py-1","text-[10px]","border","border-neutral-600","text-neutral-400","rounded","disabled:opacity-40",3,"click","disabled"],[1,"flex","flex-col","gap-2","pt-2","border-t","border-neutral-800"],["type","button",1,"px-2","py-1","text-[10px]","border","border-red-800","text-red-300","rounded","disabled:opacity-40",3,"click","disabled"],["type","button",1,"px-2","py-1","text-[10px]","border","border-neutral-600","text-neutral-300","rounded","disabled:opacity-40",3,"click","disabled"],[1,"text-[10px]","text-neutral-300"],[1,"text-[10px]"],[1,"font-mono","text-[10px]","text-neutral-300"]],template:function(i,t){i&1&&g(0,Ri,2,0,"div",0)(1,Mi,2,0,"div",0)(2,Hi,41,24,"div",1),i&2&&x(t.isLoading_$()?0:t.session_$()?2:1)},dependencies:[X],encapsulation:2})}return n})();function ji(n,o){if(n&1){let e=y();a(0,"div",0)(1,"p",4),d(2,"Could not load this session."),r(),w(3,"app-ccap-error-display",5),a(4,"button",6),f("click",function(){u(e);let t=p();return m(t.handleRetryLoadDetail())}),d(5," Retry "),r()()}if(n&2){let e=p();l(3),S("error",e.ca_DS.sessionDetailError_$())}}function Ki(n,o){if(n&1&&(a(0,"div",1)(1,"span"),d(2,"Loading session\u2026"),r(),a(3,"span",7),d(4),r()()),n&2){let e=p();l(4),q(e.sessionId_$())}}function Xi(n,o){if(n&1){let e=y();a(0,"app-s-session-detail-three-column-layout",8),f("startResizeStart",function(t){u(e);let s=p();return m(s.handleMetadataResizeStart(t))})("endResizeStart",function(t){u(e);let s=p();return m(s.handleTimelineResizeStart(t))}),a(1,"div",9),w(2,"app-ccap-ca-metadata"),r(),a(3,"div",10),w(4,"app-ccap-ca-console"),r(),a(5,"div",11),w(6,"app-ccap-ca-timeline"),r()()}if(n&2){let e=p();S("isStartOpen",e.detailUi_DS.isMetadataPanelOpen_$())("isEndOpen",e.detailUi_DS.isTimelinePanelOpen_$())("startWidthPx",e.metadataWidth_$())("endWidthPx",e.timelineWidth_$())("isResizing",e.isResizing_$())}}function Ji(n,o){if(n&1){let e=y();a(0,"div",0)(1,"p",4),d(2,"Could not load CA session list."),r(),w(3,"app-ccap-error-display",12),a(4,"button",6),f("click",function(){u(e);let t=p();return m(t.handleRetryLoadList())}),d(5," Retry list "),r()()}if(n&2){let e=p();l(3),S("error",e.ca_DS.sessionsLoadError_$())}}function Gi(n,o){n&1&&(a(0,"div",1)(1,"span"),d(2,"Loading sessions\u2026"),r()())}function Yi(n,o){n&1&&(a(0,"div",3)(1,"span"),d(2,"No CA sessions yet."),r(),a(3,"span",13),d(4,"Create one from the sidebar or check the server connection."),r()())}function Zi(n,o){n&1&&(a(0,"div",3)(1,"span"),d(2,"Select a session from the sidebar"),r(),a(3,"span",13),d(4,"Opening the default session\u2026"),r()())}var Se=(()=>{class n extends it{ca_DS=v(L);detailUi_DS=v(F);peiContext_DS=v(ae);route=v(ne);router=v(oe);sessionsListObs$;sessionsLoadingObs$;sessionId_$=h("");metadataWidth_$=h(256);timelineWidth_$=h(288);isResizing_$=h(!1);isEmptyRouteListFetchRequested=!1;constructor(){super(),this.sessionsListObs$=be(this.ca_DS.sessions_$),this.sessionsLoadingObs$=be(this.ca_DS.sessionsLoading_$)}ngOnInit(){this.metadataWidth_$.set(Math.max(160,Math.min(500,C.loadPanelWidth("metadata",256)))),this.timelineWidth_$.set(Math.max(200,Math.min(600,C.loadPanelWidth("timeline",288))));let e=this.route.paramMap.pipe(Ie(i=>({sessionId:i.get("sessionId")??"",ccapId:i.get("ccapId")??""})),ke((i,t)=>i.sessionId===t.sessionId&&i.ccapId===t.ccapId));this.addSubscription(Ee([e,this.sessionsListObs$,this.sessionsLoadingObs$]).subscribe(([i,t,s])=>{let c=i.sessionId;if(i.ccapId&&this.peiContext_DS.activeCcapId_$()!==i.ccapId&&this.peiContext_DS.selectInstance(i.ccapId),c.length>0){this.isEmptyRouteListFetchRequested=!1,c!==this.sessionId_$()&&this.loadSession(c);return}if(s)return;if(!t.length&&!this.isEmptyRouteListFetchRequested){this.isEmptyRouteListFetchRequested=!0,this.ca_DS.loadSessions({includeArchived:C.loadShowArchived()});return}if(!t.length){this.sessionId_$.set(""),this.ca_DS.stopOpenSessionPolling(),this.ca_DS.setActiveSessionId("");return}let _=me.pickDefaultSessionId({sessions:t,lastSavedSessionId:C.loadLastSessionId(),includeArchived:C.loadShowArchived()});if(_.length>0){let T=this.peiContext_DS.activeCcapId_$(),W=T?["/ca-session",T,_]:["/ca-session",_];this.router.navigate(W,{replaceUrl:!0});return}this.sessionId_$.set(""),this.ca_DS.stopOpenSessionPolling(),this.ca_DS.setActiveSessionId("")}))}ngOnDestroy(){super.ngOnDestroy(),this.ca_DS.stopOpenSessionPolling(),this.ca_DS.setActiveSessionId("")}handleRetryLoadDetail(){let e=this.sessionId_$();e.length&&this.loadSession(e)}handleRetryLoadList(){this.ca_DS.loadSessions({includeArchived:C.loadShowArchived()})}handleMetadataResizeStart(e){let i=this.metadataWidth_$(),t=e.clientX;this.isResizing_$.set(!0),J.attachUntilPointerUp({startEvent:e,onMove:s=>{let c=s.clientX-t,_=Math.max(160,Math.min(500,i+c));this.metadataWidth_$.set(_)},onEnd:()=>{this.isResizing_$.set(!1),C.savePanelWidth("metadata",this.metadataWidth_$())}})}handleTimelineResizeStart(e){let i=this.timelineWidth_$(),t=e.clientX;this.isResizing_$.set(!0),J.attachUntilPointerUp({startEvent:e,onMove:s=>{let c=t-s.clientX,_=Math.max(200,Math.min(600,i+c));this.timelineWidth_$.set(_)},onEnd:()=>{this.isResizing_$.set(!1),C.savePanelWidth("timeline",this.timelineWidth_$())}})}loadSession(e){this.sessionId_$.set(e),this.ca_DS.clearLiveOutput(),this.ca_DS.setActiveSessionId(e),C.saveLastSessionId(e),this.peiContext_DS.ensureInitialized().then(()=>{this.runLoadSessionDetailWithPoll(e)})}runLoadSessionDetailWithPoll(e){return $(this,null,function*(){(yield this.ca_DS.loadSessionDetail({sessionId:e}))&&e===this.sessionId_$()&&this.ca_DS.startOpenSessionPolling(e)})}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=O({type:n,selectors:[["app-ccap-ca-detail"]],hostAttrs:[1,"flex","flex-col","flex-1","min-h-0","overflow-hidden"],features:[We],decls:7,vars:1,consts:[[1,"flex","flex-col","items-center","justify-center","h-full","gap-3","px-4","py-6","overflow-y-auto"],[1,"flex","flex-col","items-center","justify-center","h-full","gap-2","text-neutral-500","text-sm"],[3,"isStartOpen","isEndOpen","startWidthPx","endWidthPx","isResizing"],[1,"flex","flex-col","items-center","justify-center","h-full","gap-2","text-neutral-500","text-sm","px-4","text-center"],[1,"text-xs","text-neutral-400","text-center"],["sourceLabelOverride","CA session detail",1,"block","w-full","max-w-lg",3,"error"],["type","button",1,"px-3","py-1.5","text-xs","border","border-neonDefault","text-neutral-300","rounded","hover:bg-neutral-700",3,"click"],[1,"text-xs","text-neutral-600","font-mono","truncate","max-w-[90%]"],[3,"startResizeStart","endResizeStart","isStartOpen","isEndOpen","startWidthPx","endWidthPx","isResizing"],["sDetailColumnStart",""],["sDetailColumnMain",""],["sDetailColumnEnd",""],["sourceLabelOverride","CA session list",1,"block","w-full","max-w-lg",3,"error"],[1,"text-xs","text-neutral-600"]],template:function(i,t){i&1&&g(0,ji,6,1,"div",0)(1,Ki,5,1,"div",1)(2,Xi,7,5,"app-s-session-detail-three-column-layout",2)(3,Ji,6,1,"div",0)(4,Gi,3,0,"div",1)(5,Yi,5,0,"div",3)(6,Zi,5,0,"div",3),i&2&&x(t.sessionId_$()&&t.ca_DS.sessionDetailError_$()?0:t.sessionId_$()&&t.ca_DS.selectedSessionLoading_$()?1:t.sessionId_$()?2:t.ca_DS.sessionsLoadError_$()?3:t.ca_DS.sessionsLoading_$()?4:t.ca_DS.sessions_$().length?6:5)},dependencies:[K,_t,Tt,Mt,Lt],encapsulation:2})}return n})();var en=[{path:"",component:Dt,children:[{path:"",pathMatch:"full",component:Se},{path:":ccapId/:sessionId",component:Se},{path:":sessionId",component:Se}]}],Os=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=Me({type:n});static \u0275inj=Re({imports:[He,tt,Ke.forChild(en),K,re,se,pe,_e,ht]})}return n})();export{Os as CaSession_Module};
5
- //# sourceMappingURL=ca.module-T5WQXU2N.js.map
5
+ //# sourceMappingURL=ca.module-ZAYCRAK6.js.map
@@ -0,0 +1,2 @@
1
+ import{e as L}from"./chunk-I6OBHW45.js";import"./chunk-2LOFMRCO.js";import{I as B}from"./chunk-ELFCSLIP.js";import{C as f,D as A,Fa as a,Ga as M,Ha as d,R as U,Ta as I,Ua as T,Z as r,aa as _,da as x,ga as E,hb as O,ja as w,k as p,la as m,oa as y,p as g,pa as S,qa as o,ra as s,ub as F,va as D,wa as h,xb as k,y as b}from"./chunk-TBMJSIBB.js";var K=(()=>{class n{baseUrl=`${B.api.baseUrl}/cc-account`;http=f(k);listAccounts(){return g(this.http.get(`${this.baseUrl}/list`))}refreshLocalAccounts(){return g(this.http.post(`${this.baseUrl}/refresh`,{}))}getInstanceMapping(){return g(this.http.get(`${this.baseUrl}/instance-mapping`))}getAccount(t){return g(this.http.get(`${this.baseUrl}/${t}`))}getAccountUsage(t){return g(this.http.get(`${this.baseUrl}/${t}/usage`))}renameAccount(t){return g(this.http.patch(`${this.baseUrl}/${t.accountKey}`,{displayName:t.displayName}))}static \u0275fac=function(e){return new(e||n)};static \u0275prov=b({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var z="cc:account-usage-update",j="cc:account-list-update",R=(()=>{class n{accountApi=f(K);socket_CS=f(L);ngZone=f(U);socketSubscription=null;accounts_$=_([]);accountUsageMap_$=_(new Map);instanceMapping_$=_(null);isLoading_$=_(!1);loadError_$=_(null);loadDashboardBootstrap(){return p(this,null,function*(){this.isLoading_$.set(!0),this.loadError_$.set(null);try{let[t,e]=yield Promise.all([this.accountApi.listAccounts(),this.accountApi.getInstanceMapping()]);this.accounts_$.set(t.items),this.instanceMapping_$.set(e)}catch(t){this.loadError_$.set(this.errorMessageOf(t))}finally{this.isLoading_$.set(!1)}})}loadAccounts(){return p(this,null,function*(){try{let t=yield this.accountApi.listAccounts();this.accounts_$.set(t.items)}catch(t){this.loadError_$.set(this.errorMessageOf(t))}})}loadAccountUsage(t){return p(this,null,function*(){try{let e=yield this.accountApi.getAccountUsage(t),i=new Map(this.accountUsageMap_$());i.set(t,e.items),this.accountUsageMap_$.set(i)}catch(e){this.loadError_$.set(this.errorMessageOf(e))}})}loadInstanceMapping(){return p(this,null,function*(){try{let t=yield this.accountApi.getInstanceMapping();this.instanceMapping_$.set(t)}catch(t){this.loadError_$.set(this.errorMessageOf(t))}})}refreshAccounts(){return p(this,null,function*(){this.isLoading_$.set(!0),this.loadError_$.set(null);try{let t=yield this.accountApi.refreshLocalAccounts();return yield this.loadAccounts(),t}catch(t){return this.loadError_$.set(this.errorMessageOf(t)),{refreshedKeys:[],scannedPaths:0}}finally{this.isLoading_$.set(!1)}})}renameAccount(t){return p(this,null,function*(){try{let e=yield this.accountApi.renameAccount(t),i=this.accounts_$().map(u=>u.accountKey===t.accountKey?e:u);this.accounts_$.set(i)}catch(e){this.loadError_$.set(this.errorMessageOf(e))}})}startLiveUpdates(){this.socketSubscription==null&&(this.socketSubscription=this.socket_CS.event$.subscribe(t=>{this.ngZone.run(()=>{t.event===z?this.handleAccountUsageUpdate(t.payload):t.event===j&&this.handleAccountListUpdate(t.payload)})}))}stopLiveUpdates(){this.socketSubscription!=null&&(this.socketSubscription.unsubscribe(),this.socketSubscription=null)}ngOnDestroy(){this.stopLiveUpdates()}handleAccountUsageUpdate(t){let e=t.accountKey,i=t.windowType;if(typeof e!="string"||e===""||typeof i!="string")return;let u={accountKey:e,windowType:i,utilization:typeof t.utilization=="number"?t.utilization:void 0,resetsAtMs:typeof t.resetsAtMs=="number"?t.resetsAtMs:void 0,lastObservedStatus:typeof t.lastObservedStatus=="string"?t.lastObservedStatus:void 0,observedAt:typeof t.observedAt=="string"?t.observedAt:void 0,lastObservedByCcapId:typeof t.lastObservedByCcapId=="string"?t.lastObservedByCcapId:void 0,lastObservedBySessionId:typeof t.lastObservedBySessionId=="string"?t.lastObservedBySessionId:void 0},l=new Map(this.accountUsageMap_$()),$=(l.get(e)??[]).filter(P=>P.windowType!==i);$.push(u),l.set(e,$),this.accountUsageMap_$.set(l)}handleAccountListUpdate(t){this.loadAccounts()}errorMessageOf(t){if(t instanceof Error)return t.message;if(typeof t=="object"&&t!==null){let e=t;if(typeof e.message=="string")return e.message}return String(t)}static \u0275fac=function(e){return new(e||n)};static \u0275prov=b({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var v=(()=>{class n{static WINDOW_SEC_BY_TYPE={five_hour:18e3,seven_day:604800,seven_day_opus:604800,seven_day_sonnet:604800};static computePacingFraction(t){let e=n.WINDOW_SEC_BY_TYPE[t.windowType];if(e===void 0||!t.resetsAtMs||t.resetsAtMs<=0)return null;let i=e*1e3,u=t.resetsAtMs-i,C=Math.max(0,t.nowMs-u)/i;return C<0?0:C>1?1:C}static classifyPacing(t){if(t.utilization==null||t.pacingFraction===null)return null;let e=t.tolerance??.1,i=t.utilization-t.pacingFraction;return i>e?"above":i<-e?"below":"on-pace"}static colorClassForPacing(t){return t==="below"?"text-green-400":t==="on-pace"?"text-yellow-300":t==="above"?"text-red-400":"text-neutral-500"}}return n})();var H=(n,c)=>c.accountKey,W=(n,c)=>c.ccapId,Y=()=>[];function V(n,c){n&1&&(o(0,"div",4),a(1," Loading dashboard\u2026 "),s())}function Z(n,c){n&1&&(o(0,"div",5)(1,"strong"),a(2,"Load error:"),s(),a(3),s()),n&2&&(r(3),d(" ",c," "))}function G(n,c){n&1&&(o(0,"div",9),a(1," No CC accounts discovered yet. Run "),o(2,"code"),a(3,"claude /login"),s(),a(4," on this machine, then click "),o(5,"strong"),a(6,"\u21BB Refresh accounts"),s(),a(7,". "),s())}function Q(n,c){if(n&1&&(o(0,"span",15),a(1),s()),n&2){let t=h().$implicit;r(),d("\xB7 ",t.email,"")}}function q(n,c){if(n&1&&(o(0,"span",15),a(1),s()),n&2){let t=h().$implicit;r(),d("\xB7 token: ",t.tokenStatus,"")}}function J(n,c){if(n&1&&(o(0,"span",17),a(1),s()),n&2){let t=h().$implicit;r(),d(" ",t.planTier," ")}}function X(n,c){if(n&1&&(o(0,"div",10)(1,"div",12)(2,"div",13),a(3),s(),o(4,"div",14),a(5),x(6,Q,2,1,"span",15)(7,q,2,1,"span",15),s()(),o(8,"div",16),x(9,J,2,1,"span",17),s()()),n&2){let t=c.$implicit,e=h();r(3),d(" ",e.displayNameOf(t)," "),r(2),d(" ",t.accountKey," "),r(),m(t.email?6:-1),r(),m(t.tokenStatus?7:-1),r(2),m(t.planTier?9:-1)}}function tt(n,c){n&1&&(o(0,"div",9),a(1," No instance mappings yet. Mappings appear after the first "),o(2,"code"),a(3,"rate_limit_event"),s(),a(4," on a session with a bound account. "),s())}function et(n,c){if(n&1&&(o(0,"span",19),a(1),s(),o(2,"span",20),a(3),s(),o(4,"span",15),a(5,"\xB7"),s(),o(6,"span",21),a(7,"5h: "),o(8,"span"),a(9),s()(),o(10,"span",15),a(11,"\xB7"),s()),n&2){let t=c,e=h().$implicit,i=h();r(),d(" ",i.displayNameByAccountKey(t)," "),r(2),d("(",t.slice(0,6),"\u2026)"),r(5),w(i.pacingColorClassForFiveHour(e.items)),r(),M(i.formatUtilization(i.latestFiveHourUtilOf(e.items)))}}function nt(n,c){if(n&1&&(o(0,"div",11)(1,"div",12)(2,"div",13),a(3),s(),o(4,"div",18),x(5,et,12,5),o(6,"span"),a(7),s()()()()),n&2){let t,e=c.$implicit,i=h();r(3),d(" ",e.ccapId," "),r(2),m((t=i.latestAccountKeyOf(e.items))?5:-1,t),r(2),d("",i.itemsCountOf(e.items)," record(s)")}}var vt=(()=>{class n{accountDS=f(R);isRefreshing_$=_(!1);instanceCount_$=O(()=>this.accountDS.instanceMapping_$()?.instances.length??0);ngOnInit(){this.accountDS.loadDashboardBootstrap(),this.accountDS.startLiveUpdates()}handleRefresh(){return p(this,null,function*(){this.isRefreshing_$.set(!0);try{yield this.accountDS.refreshAccounts()}finally{this.isRefreshing_$.set(!1)}})}displayNameOf(t){return t.displayName!==""?t.displayName:`account-${t.accountKey.slice(0,6)}`}itemsCountOf(t){return t.length}latestFiveHourUtilOf(t){for(let e of t)if(e.windowType==="five_hour"&&typeof e.utilization=="number")return e.utilization;return null}latestAccountKeyOf(t){if(t.length===0)return null;let e=t[0];for(let i of t){let u=i.observedAt?Date.parse(i.observedAt):0,l=e.observedAt?Date.parse(e.observedAt):0;u>l&&(e=i)}return e.accountKey}displayNameByAccountKey(t){let e=this.accountDS.accounts_$().find(i=>i.accountKey===t);return e?this.displayNameOf(e):`account-${t.slice(0,6)}`}formatUtilization(t){return t===null?"\u2014":`${Math.round(t*100)}%`}utilizationColorClass(t){return t===null||t<.5?"text-green-400":t<.85?"text-yellow-300":"text-red-400"}pacingColorClassForFiveHour(t){let e;for(let l of t)if(l.windowType==="five_hour"){e=l;break}if(!e)return"text-neutral-500";let i=v.computePacingFraction({windowType:"five_hour",resetsAtMs:e.resetsAtMs,nowMs:Date.now()});if(i===null){let l=e.utilization??null;return this.utilizationColorClass(l)}let u=v.classifyPacing({utilization:e.utilization,pacingFraction:i});return v.colorClassForPacing(u)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=A({type:n,selectors:[["app-cc-usage-dashboard"]],hostAttrs:[1,"flex","flex-col","flex-1","min-h-0","overflow-auto","p-4"],standalone:!0,features:[I],decls:25,vars:9,consts:[[1,"flex","items-center","justify-between","mb-4","pb-2","border-b","border-neutral-700"],[1,"text-lg","font-semibold","text-neutral-100"],[1,"text-xs","text-neutral-500","font-normal","ml-2"],["type","button",1,"px-3","py-1","text-xs","rounded","border","border-neonDefault","text-neonDefault","hover:bg-neonDefault/10","transition-colors","disabled:opacity-50",3,"click","disabled"],[1,"text-sm","text-neutral-400","italic","py-4"],[1,"text-sm","text-red-400","bg-red-950/30","border","border-red-700","rounded","p-3","mb-4"],[1,"mb-6"],[1,"text-sm","font-semibold","text-neutral-300","mb-2"],[1,"text-xs","text-neutral-500","font-normal","ml-1"],[1,"text-xs","text-neutral-500","italic"],[1,"flex","items-center","gap-3","py-2","px-3","rounded","border","border-neutral-800","mb-2","hover:border-neutral-600","transition-colors"],[1,"flex","items-center","gap-3","py-2","px-3","rounded","border","border-neutral-800","mb-2"],[1,"flex-1","min-w-0"],[1,"text-sm","text-neutral-100","truncate"],[1,"text-[10px]","text-neutral-500","font-mono","truncate"],[1,"ml-2"],[1,"text-[10px]","text-neutral-500","shrink-0"],[1,"px-1.5","py-0.5","rounded","border","border-neutral-700"],[1,"text-[10px]","text-neutral-500"],[1,"text-neutral-300"],[1,"ml-1","font-mono","text-neutral-600"],[1,"ml-1"]],template:function(e,i){if(e&1&&(o(0,"header",0)(1,"h1",1),a(2," CC Usage & Accounts "),o(3,"span",2),a(4," (REQ-CC-USAGE-DASHBOARD-001 Slice 5) "),s()(),o(5,"button",3),D("click",function(){return i.handleRefresh()}),a(6),s()(),x(7,V,2,0,"div",4)(8,Z,4,1,"div",5),o(9,"section",6)(10,"h2",7),a(11," Known CC Accounts "),o(12,"span",8),a(13),s()(),x(14,G,8,0,"div",9),y(15,X,10,5,"div",10,H),s(),o(17,"section")(18,"h2",7),a(19," Instance \u2194 Account Mapping "),o(20,"span",8),a(21),s()(),x(22,tt,5,0,"div",9),y(23,nt,8,3,"div",11,W),s()),e&2){let u,l;r(5),E("disabled",i.isRefreshing_$()||i.accountDS.isLoading_$()),r(),d(" ",i.isRefreshing_$()?"Refreshing\u2026":"\u21BB Refresh accounts"," "),r(),m(i.accountDS.isLoading_$()?7:-1),r(),m((u=i.accountDS.loadError_$())?8:-1,u),r(5),d(" (",i.accountDS.accounts_$().length,") "),r(),m(!i.accountDS.accounts_$().length&&!i.accountDS.isLoading_$()?14:-1),r(),S(i.accountDS.accounts_$()),r(6),d(" (",i.instanceCount_$(),") "),r(),m(!i.instanceCount_$()&&!i.accountDS.isLoading_$()?22:-1),r(),S((l=(l=i.accountDS.instanceMapping_$())==null?null:l.instances)!==null&&l!==void 0?l:T(8,Y))}},dependencies:[F],encapsulation:2})}return n})();export{vt as CC_UsageDashboard_Component};
2
+ //# sourceMappingURL=cc-usage-dashboard.component-TNMEIWMI.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/app/_modules/external-sessions/_modules/claude-code/_services/cc-account.api-service.ts", "src/app/_modules/external-sessions/_modules/claude-code/_services/cc-account.data-service.ts", "src/app/_modules/external-sessions/_modules/claude-code/_collections/cc-account-usage-pacing.util.ts", "src/app/_modules/external-sessions/_modules/claude-code/_components/cc-usage-dashboard/cc-usage-dashboard.component.ts", "src/app/_modules/external-sessions/_modules/claude-code/_components/cc-usage-dashboard/cc-usage-dashboard.component.html"],
4
+ "sourcesContent": ["import { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { firstValueFrom } from 'rxjs';\n\nimport { CC_Account_Response } from '../_models/interfaces/cc-account.interface';\nimport {\n CC_AccountInstanceMapping_Response,\n CC_AccountUsageState_Response,\n} from '../_models/interfaces/cc-account-usage-state.interface';\nimport { environment } from '../../../../../../environments/environment';\n\n/**\n * CC Account REST API service (REQ-CC-USAGE-DASHBOARD-001 Slice 5 cycle 856).\n *\n * HTTP-bridge a server-oldali `CC_Account_Controller` endpoint-jaihoz\n * (`/cc-account/*`). Egyszerű thin api-service mintán a\n * `cc-cci-instance-data.api-service.ts`-hez hasonlóan: minden hívás\n * `firstValueFrom`-mal Promise-ra fordított `HttpClient` get/post/patch.\n *\n * A Slice 5+ Dashboard komponensek és a Slice 6 instance-mapping view\n * data-service-en keresztül használja.\n */\n@Injectable({ providedIn: 'root' })\nexport class CC_Account_ApiService {\n\n private readonly baseUrl: string = `${environment.api.baseUrl}/cc-account`;\n\n private readonly http: HttpClient = inject(HttpClient);\n\n /** GET /cc-account/list — cross-instance account-lista. */\n listAccounts(): Promise<{ items: CC_Account_Response[] }> {\n return firstValueFrom(\n this.http.get<{ items: CC_Account_Response[] }>(`${this.baseUrl}/list`),\n );\n }\n\n /** POST /cc-account/refresh — a hívó CCAP instance-en credential-discovery újrafutás. */\n refreshLocalAccounts(): Promise<{ refreshedKeys: string[]; scannedPaths: number }> {\n return firstValueFrom(\n this.http.post<{ refreshedKeys: string[]; scannedPaths: number }>(\n `${this.baseUrl}/refresh`,\n {},\n ),\n );\n }\n\n /**\n * GET /cc-account/instance-mapping — Slice 4 cross-instance aggregate.\n * Minden ismert CCAP instance group-by lastObservedByCcapId — melyik account-okat\n * látta utoljára.\n */\n getInstanceMapping(): Promise<CC_AccountInstanceMapping_Response> {\n return firstValueFrom(\n this.http.get<CC_AccountInstanceMapping_Response>(`${this.baseUrl}/instance-mapping`),\n );\n }\n\n /** GET /cc-account/:accountKey — egy account részletek. */\n getAccount(accountKey: string): Promise<CC_Account_Response> {\n return firstValueFrom(\n this.http.get<CC_Account_Response>(`${this.baseUrl}/${accountKey}`),\n );\n }\n\n /**\n * GET /cc-account/:accountKey/usage — Slice 3 per-account usage state-ek.\n * 0..5 rekord (egy windowType-onként).\n */\n getAccountUsage(accountKey: string): Promise<{ items: CC_AccountUsageState_Response[] }> {\n return firstValueFrom(\n this.http.get<{ items: CC_AccountUsageState_Response[] }>(\n `${this.baseUrl}/${accountKey}/usage`,\n ),\n );\n }\n\n /** PATCH /cc-account/:accountKey — display-name átírása (user-given). */\n renameAccount(params: {\n accountKey: string;\n displayName: string;\n }): Promise<CC_Account_Response> {\n return firstValueFrom(\n this.http.patch<CC_Account_Response>(\n `${this.baseUrl}/${params.accountKey}`,\n { displayName: params.displayName },\n ),\n );\n }\n}\n", "import { inject, Injectable, NgZone, OnDestroy, signal } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { CCAP_Socket_ControlService } from '../../../../../_services/control-services/ccap-socket.control-service';\nimport { CC_Account_ApiService } from './cc-account.api-service';\nimport { CC_Account_Response } from '../_models/interfaces/cc-account.interface';\nimport {\n CC_AccountInstanceMapping_Response,\n CC_AccountUsageState_Response,\n} from '../_models/interfaces/cc-account-usage-state.interface';\n\n/** Socket envelope shape — `CCAP_Socket_ControlService.event$` Subject közvetíti. */\ninterface SocketEnvelope_Interface {\n event: string;\n payload: Record<string, unknown>;\n}\n\n/** REQ-CC-USAGE-DASHBOARD-001 Slice 6 second-half: socket event nevek. */\nconst SOCKET_EVENT_CC_ACCOUNT_USAGE_UPDATE: string = 'cc:account-usage-update';\nconst SOCKET_EVENT_CC_ACCOUNT_LIST_UPDATE: string = 'cc:account-list-update';\n\n/**\n * CC Account Dashboard data service (REQ-CC-USAGE-DASHBOARD-001 Slice 5 cycle 857).\n *\n * SSOT a Slice 5+ Dashboard kliens-oldali state-jéhez. Signal-ek a komponensek\n * change-detection-jéhez (`accounts_$`, `accountUsageMap_$`, `instanceMapping_$`,\n * `isLoading_$`, `loadError_$`); async metódusok REST hívásokhoz a\n * `CC_Account_ApiService`-en át (cycle 856).\n *\n * NEM perzisztál (a backend DBNT a SSOT) — a kliens csak cache-eli a fetch-eket\n * a komponens élettartam alatt. Refresh: explicit user-action (`refreshAccounts`)\n * vagy szocket-event (Slice 6).\n */\n@Injectable({ providedIn: 'root' })\nexport class CC_Account_DataService implements OnDestroy {\n\n private readonly accountApi: CC_Account_ApiService = inject(CC_Account_ApiService);\n private readonly socket_CS: CCAP_Socket_ControlService = inject(CCAP_Socket_ControlService);\n private readonly ngZone: NgZone = inject(NgZone);\n\n /** Socket envelope subscription élettartam-kezelése. */\n private socketSubscription: Subscription | null = null;\n\n /** Cross-instance account-lista (a `listAccounts` REST eredménye). */\n readonly accounts_$ = signal<CC_Account_Response[]>([]);\n\n /**\n * Per-account usage state cache: `accountKey → usage-state[]` (5 windowType-onként\n * egy rekord max). A Slice 5 Dashboard account-card-ok ebből rendernek.\n */\n readonly accountUsageMap_$ = signal<Map<string, CC_AccountUsageState_Response[]>>(\n new Map(),\n );\n\n /** Cross-instance aggregate (Slice 4 instance-mapping endpoint cache). */\n readonly instanceMapping_$ = signal<CC_AccountInstanceMapping_Response | null>(null);\n\n /** Bármelyik load folyamatban-e (UI spinner-hez). */\n readonly isLoading_$ = signal<boolean>(false);\n\n /** Utolsó load hiba — null ha sikeres vagy nem futott. */\n readonly loadError_$ = signal<string | null>(null);\n\n /** Bootstrap fetch: account-list + instance-mapping párhuzamosan. */\n async loadDashboardBootstrap(): Promise<void> {\n this.isLoading_$.set(true);\n this.loadError_$.set(null);\n try {\n const [accountsResp, mappingResp] = await Promise.all([\n this.accountApi.listAccounts(),\n this.accountApi.getInstanceMapping(),\n ]);\n this.accounts_$.set(accountsResp.items);\n this.instanceMapping_$.set(mappingResp);\n } catch (err: unknown) {\n this.loadError_$.set(this.errorMessageOf(err));\n } finally {\n this.isLoading_$.set(false);\n }\n }\n\n /** Csak az account-listát tölti újra (kis fetch). */\n async loadAccounts(): Promise<void> {\n try {\n const resp = await this.accountApi.listAccounts();\n this.accounts_$.set(resp.items);\n } catch (err: unknown) {\n this.loadError_$.set(this.errorMessageOf(err));\n }\n }\n\n /**\n * Per-account usage-state fetch + cache-be írás. A Slice 5 account-card\n * komponens ezt hívja a saját accountKey-jére.\n */\n async loadAccountUsage(accountKey: string): Promise<void> {\n try {\n const resp = await this.accountApi.getAccountUsage(accountKey);\n const next: Map<string, CC_AccountUsageState_Response[]> = new Map(this.accountUsageMap_$());\n next.set(accountKey, resp.items);\n this.accountUsageMap_$.set(next);\n } catch (err: unknown) {\n this.loadError_$.set(this.errorMessageOf(err));\n }\n }\n\n /** Cross-instance aggregate refetch (Slice 4 — Slice 6 view bootstrap-jánál). */\n async loadInstanceMapping(): Promise<void> {\n try {\n const resp = await this.accountApi.getInstanceMapping();\n this.instanceMapping_$.set(resp);\n } catch (err: unknown) {\n this.loadError_$.set(this.errorMessageOf(err));\n }\n }\n\n /**\n * Explicit user-trigger: a hívó CCAP instance-en credential-discovery újrafutás\n * + account-lista refetch. POST /refresh után automatikusan listAccounts-szal frissít.\n */\n async refreshAccounts(): Promise<{ refreshedKeys: string[]; scannedPaths: number }> {\n this.isLoading_$.set(true);\n this.loadError_$.set(null);\n try {\n const refreshResult = await this.accountApi.refreshLocalAccounts();\n await this.loadAccounts();\n return refreshResult;\n } catch (err: unknown) {\n this.loadError_$.set(this.errorMessageOf(err));\n return { refreshedKeys: [], scannedPaths: 0 };\n } finally {\n this.isLoading_$.set(false);\n }\n }\n\n /**\n * Display-name átírása + a cache-elt account-lista frissítése (a megfelelő\n * elem displayName mezőjének felülírása, signal-update).\n */\n async renameAccount(params: { accountKey: string; displayName: string }): Promise<void> {\n try {\n const updated = await this.accountApi.renameAccount(params);\n const next: CC_Account_Response[] = this.accounts_$().map(\n (a): CC_Account_Response => (a.accountKey === params.accountKey ? updated : a),\n );\n this.accounts_$.set(next);\n } catch (err: unknown) {\n this.loadError_$.set(this.errorMessageOf(err));\n }\n }\n\n /**\n * Socket subscription init (REQ-CC-USAGE-DASHBOARD-001 Slice 6 second-half cycle 871).\n * A `CCAP_Socket_ControlService.event$` Subject minden socket-event-et közvetít\n * envelope-formában (event-name + payload). Mi az `cc:account-usage-update`\n * és `cc:account-list-update` event-ekre szűrünk és a megfelelő signal-eket frissítjük.\n *\n * Late subscription: a Dashboard component `ngOnInit`-jéből hívjuk (vagy explicit\n * service-init-kor), hogy ne legyen subscription-overhead, ha a Dashboard sose\n * nyílik meg.\n */\n startLiveUpdates(): void {\n if (this.socketSubscription != null) {\n return;\n }\n this.socketSubscription = this.socket_CS.event$.subscribe(\n (envelope: SocketEnvelope_Interface): void => {\n this.ngZone.run((): void => {\n if (envelope.event === SOCKET_EVENT_CC_ACCOUNT_USAGE_UPDATE) {\n this.handleAccountUsageUpdate(envelope.payload);\n } else if (envelope.event === SOCKET_EVENT_CC_ACCOUNT_LIST_UPDATE) {\n this.handleAccountListUpdate(envelope.payload);\n }\n });\n },\n );\n }\n\n /** Socket subscription teardown (component destroy / explicit stop). */\n stopLiveUpdates(): void {\n if (this.socketSubscription != null) {\n this.socketSubscription.unsubscribe();\n this.socketSubscription = null;\n }\n }\n\n ngOnDestroy(): void {\n this.stopLiveUpdates();\n }\n\n /**\n * Per-account usage state real-time frissítés. A server `persistAccountUsageState`\n * upsert sikere után emit-elt event-ből építjük újra a `accountUsageMap_$`\n * megfelelő `accountKey` bejegyzését. Ha a windowType már szerepel, lecseréljük;\n * különben hozzáadjuk.\n */\n private handleAccountUsageUpdate(payload: Record<string, unknown>): void {\n const accountKey: unknown = payload.accountKey;\n const windowType: unknown = payload.windowType;\n if (typeof accountKey !== 'string' || accountKey === '' || typeof windowType !== 'string') {\n return;\n }\n const newItem: CC_AccountUsageState_Response = {\n accountKey: accountKey,\n windowType: windowType,\n utilization: typeof payload.utilization === 'number' ? payload.utilization : undefined,\n resetsAtMs: typeof payload.resetsAtMs === 'number' ? payload.resetsAtMs : undefined,\n lastObservedStatus: typeof payload.lastObservedStatus === 'string' ? payload.lastObservedStatus : undefined,\n observedAt: typeof payload.observedAt === 'string' ? payload.observedAt : undefined,\n lastObservedByCcapId: typeof payload.lastObservedByCcapId === 'string' ? payload.lastObservedByCcapId : undefined,\n lastObservedBySessionId: typeof payload.lastObservedBySessionId === 'string' ? payload.lastObservedBySessionId : undefined,\n };\n\n const next: Map<string, CC_AccountUsageState_Response[]> = new Map(this.accountUsageMap_$());\n const existing: CC_AccountUsageState_Response[] = next.get(accountKey) ?? [];\n const replaced: CC_AccountUsageState_Response[] = existing.filter(\n (item: CC_AccountUsageState_Response): boolean => item.windowType !== windowType,\n );\n replaced.push(newItem);\n next.set(accountKey, replaced);\n this.accountUsageMap_$.set(next);\n }\n\n /**\n * Account-pool változás (új account felfedezve, displayName-átírás): a\n * legegyszerűbb és legbiztonságosabb módon `loadAccounts()` re-fetch-csel\n * frissítjük a `accounts_$` signal-t. Cross-instance change-ek esetén is\n * ez a megközelítés robosztus (a DB SSOT-ből minden instance ugyanazt látja).\n */\n private handleAccountListUpdate(_payload: Record<string, unknown>): void {\n void this.loadAccounts();\n }\n\n /** Hibaüzenet kinyerés tipikus shape-ekből (HttpErrorResponse / Error / unknown). */\n private errorMessageOf(err: unknown): string {\n if (err instanceof Error) {\n return err.message;\n }\n if (typeof err === 'object' && err !== null) {\n const rec: Record<string, unknown> = err as Record<string, unknown>;\n if (typeof rec.message === 'string') {\n return rec.message;\n }\n }\n return String(err);\n }\n}\n", "/**\n * CC Account usage pacing util (REQ-CC-USAGE-DASHBOARD-001 Slice 6 cycle 867).\n *\n * Pacing target compute: minden time-windowed utilization-hoz (five_hour /\n * seven_day / seven_day_opus / seven_day_sonnet) ki tudja számolni a\n * jelenlegi időponti pacing-target-et (`elapsed_sec * 100 / window_sec`),\n * és klasszifikálja, hogy a tényleges utilization above / on-pace / below\n * pacing-en van-e. Az `extra_usage` window NEM time-based, ehhez NEM\n * használható (a hívó döntse el melyik window-on alkalmazza).\n *\n * Pure-static, NEM service-injekt. A Slice 6 Dashboard view-frissítés és\n * a későbbi per-window usage-card komponens egyaránt ezt használja.\n */\nexport class CC_AccountUsagePacing_Util {\n\n /** Time-windowed windowType-ok másodpercekben. */\n static readonly WINDOW_SEC_BY_TYPE: Record<string, number> = {\n five_hour: 5 * 3600,\n seven_day: 7 * 24 * 3600,\n seven_day_opus: 7 * 24 * 3600,\n seven_day_sonnet: 7 * 24 * 3600,\n };\n\n /**\n * Pacing fraction (0..1): mennyi telt el a window-ból. NEM utilization-hez\n * köthető. Példa: ha a 5h window 2.5h-nál tart, pacing = 0.5.\n *\n * Compute: `windowStart = resetsAtMs - windowSec*1000`;\n * `elapsed = max(0, now - windowStart)`;\n * `pacing = clamp(elapsed / windowSec*1000, 0, 1)`.\n *\n * Visszaad null-t, ha NEM time-windowed type vagy NEM kalkulálható\n * (windowSec hiányzik a térképen, resetsAtMs negatív/0).\n */\n static computePacingFraction(params: {\n windowType: string;\n resetsAtMs: number | undefined;\n nowMs: number;\n }): number | null {\n const windowSec: number | undefined =\n CC_AccountUsagePacing_Util.WINDOW_SEC_BY_TYPE[params.windowType];\n if (windowSec === undefined) {\n return null;\n }\n if (!params.resetsAtMs || params.resetsAtMs <= 0) {\n return null;\n }\n const windowMs: number = windowSec * 1000;\n const windowStart: number = params.resetsAtMs - windowMs;\n const elapsed: number = Math.max(0, params.nowMs - windowStart);\n const pacing: number = elapsed / windowMs;\n if (pacing < 0) {\n return 0;\n }\n if (pacing > 1) {\n return 1;\n }\n return pacing;\n }\n\n /**\n * Pacing klasszifikáció: utilization vs pacing-target. Tolerancia (default\n * 0.10) belül 'on-pace'; alatta 'below' (egészséges, alulhasználat); fölötte\n * 'above' (gyors égetés).\n *\n * Visszaad null-t, ha bármelyik input hiányzik.\n */\n static classifyPacing(params: {\n utilization: number | undefined;\n pacingFraction: number | null;\n tolerance?: number;\n }): 'below' | 'on-pace' | 'above' | null {\n if (params.utilization == null || params.pacingFraction === null) {\n return null;\n }\n const tolerance: number = params.tolerance ?? 0.10;\n const diff: number = params.utilization - params.pacingFraction;\n if (diff > tolerance) {\n return 'above';\n }\n if (diff < -tolerance) {\n return 'below';\n }\n return 'on-pace';\n }\n\n /**\n * Tailwind text-color class a pacing-klasszifikáció alapján:\n * - 'below' → 'text-green-400' (alulhasználat, egészséges)\n * - 'on-pace' → 'text-yellow-300' (on-target, watch)\n * - 'above' → 'text-red-400' (gyors égetés, közeli rate-limit)\n * - null → 'text-neutral-500' (no-data fallback)\n */\n static colorClassForPacing(classification: 'below' | 'on-pace' | 'above' | null): string {\n if (classification === 'below') {\n return 'text-green-400';\n }\n if (classification === 'on-pace') {\n return 'text-yellow-300';\n }\n if (classification === 'above') {\n return 'text-red-400';\n }\n return 'text-neutral-500';\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { Component, computed, inject, OnInit, Signal, signal } from '@angular/core';\n\nimport { CC_Account_DataService } from '../../_services/cc-account.data-service';\nimport { CC_Account_Response } from '../../_models/interfaces/cc-account.interface';\nimport { CC_AccountUsageState_Response } from '../../_models/interfaces/cc-account-usage-state.interface';\nimport { CC_AccountUsagePacing_Util } from '../../_collections/cc-account-usage-pacing.util';\n\n/**\n * CC Account Usage Dashboard skeleton komponens (REQ-CC-USAGE-DASHBOARD-001\n * Slice 5 cycle 858).\n *\n * Standalone Angular komponens — listázza az ismert CC account-okat + a\n * cross-instance instance-mapping aggregate-et. A skeleton-szint:\n * loading state, error state, üres-lista placeholder, és minimum lista-\n * render. A részletes account-card + per-window usage-render a Slice\n * további szeleteiben (cycle 859+).\n *\n * Data-flow: ngOnInit → CC_Account_DataService.loadDashboardBootstrap\n * (Promise.all listAccounts + getInstanceMapping) → signal-update →\n * template re-render.\n *\n * Refresh-button: explicit user-action → POST /cc-account/refresh +\n * automatikus listAccounts re-fetch (data-service refreshAccounts hívás).\n */\n@Component({\n selector: 'app-cc-usage-dashboard',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './cc-usage-dashboard.component.html',\n host: { class: 'flex flex-col flex-1 min-h-0 overflow-auto p-4' },\n})\n/** CC_UsageDashboard_Component class. */\nexport class CC_UsageDashboard_Component implements OnInit {\n\n readonly accountDS: CC_Account_DataService = inject(CC_Account_DataService);\n\n /** Refresh-button folyamat-jelző (a data-service.isLoading_$ mellett külön ehhez). */\n readonly isRefreshing_$ = signal<boolean>(false);\n\n /**\n * Computed: a cross-instance instance-mapping aggregate `{ instances }`\n * top-level array hossza. A template ezzel dönti el, hogy a \"no instances\"\n * placeholder vagy a lista renderel.\n */\n readonly instanceCount_$: Signal<number> = computed((): number => {\n const mapping = this.accountDS.instanceMapping_$();\n return mapping?.instances.length ?? 0;\n });\n\n ngOnInit(): void {\n // fire-and-forget: a Promise hibái a data-service.loadError_$ signal-ba\n // mennek, NEM throw-olnak — a template loadError_$-rel rendereli.\n void this.accountDS.loadDashboardBootstrap();\n // REQ-CC-USAGE-DASHBOARD-001 Slice 6 second-half (cycle 871): real-time\n // socket subscription a `cc:account-usage-update` és `cc:account-list-update`\n // event-ekre. A subscription a service singleton élettartam alatt él\n // (root-providedIn), így nem teardown-oljuk a komponens destroy-jakor.\n this.accountDS.startLiveUpdates();\n }\n\n /** Refresh-button click — POST /refresh + auto listAccounts. */\n async handleRefresh(): Promise<void> {\n this.isRefreshing_$.set(true);\n try {\n await this.accountDS.refreshAccounts();\n } finally {\n this.isRefreshing_$.set(false);\n }\n }\n\n /**\n * Template helper: account `displayName` vagy fallback (`accountKey első 6 char`).\n * NEM logika — pure mapping, getter-szerű, max-method-params szabályon belül.\n */\n displayNameOf(account: CC_Account_Response): string {\n return account.displayName !== '' ? account.displayName : `account-${account.accountKey.slice(0, 6)}`;\n }\n\n /**\n * Template helper: per-instance items count → mappingéhez render-be ('N usage records').\n * Pure mapping a Slice 6 view részletesebb table-cell-jei előtt.\n */\n itemsCountOf(items: CC_AccountUsageState_Response[]): number {\n return items.length;\n }\n\n /**\n * Slice 6 first-step (cycle 865): latest five_hour utilization egy instance-en.\n * A `five_hour` windowType item utilization-jét adja vissza (0..1 fraction);\n * ha nincs ilyen item → null (template '—'-t renderel).\n */\n latestFiveHourUtilOf(items: CC_AccountUsageState_Response[]): number | null {\n for (const item of items) {\n if (item.windowType === 'five_hour' && typeof item.utilization === 'number') {\n return item.utilization;\n }\n }\n return null;\n }\n\n /**\n * Slice 6 first-step (cycle 865): legutoljára-látott account-kulcs egy instance-en.\n * Az `items` rendszerint egyetlen account-hoz tartozik (per-instance only egy active),\n * de defensive a legutóbbi observedAt szerint választ. Empty → null.\n */\n latestAccountKeyOf(items: CC_AccountUsageState_Response[]): string | null {\n if (items.length === 0) {\n return null;\n }\n let latest: CC_AccountUsageState_Response = items[0];\n for (const item of items) {\n const a: number = item.observedAt ? Date.parse(item.observedAt) : 0;\n const b: number = latest.observedAt ? Date.parse(latest.observedAt) : 0;\n if (a > b) {\n latest = item;\n }\n }\n return latest.accountKey;\n }\n\n /**\n * Slice 6 first-step (cycle 865): account-displayName lookup accountKey alapján\n * az `accounts_$` cache-ből. Fallback `account-{first6}` ha nincs match.\n */\n displayNameByAccountKey(accountKey: string): string {\n const found: CC_Account_Response | undefined = this.accountDS.accounts_$().find(\n (a): boolean => a.accountKey === accountKey,\n );\n if (found) {\n return this.displayNameOf(found);\n }\n return `account-${accountKey.slice(0, 6)}`;\n }\n\n /**\n * Slice 6 first-step (cycle 865): utilization fraction (0..1) → percent string '42%'.\n * NEM logika — pure mapping. null → '—' (no data).\n */\n formatUtilization(utilization: number | null): string {\n if (utilization === null) {\n return '—';\n }\n return `${Math.round(utilization * 100)}%`;\n }\n\n /**\n * Slice 6 second-step (cycle 866): utilization-küszöb-szín a Dashboard 5h\n * percent-jelzéséhez. Egyszerűbb threshold-alapú szín-jelzés (NEM időbeli-\n * adaptív). Megmarad mint fallback / null-data eset, ahol a pacing NEM\n * számolható (resetsAtMs hiányzik). Tartományok REQ-CC-RATE-001 amber/red.\n */\n utilizationColorClass(utilization: number | null): string {\n if (utilization === null || utilization < 0.5) {\n return 'text-green-400';\n }\n if (utilization < 0.85) {\n return 'text-yellow-300';\n }\n return 'text-red-400';\n }\n\n /**\n * Slice 6 fourth-step (cycle 868): pacing-target színkód a Dashboard 5h\n * utilization-jelzéséhez. A cycle 866 sima threshold-küszöb helyett\n * időbeli-adaptív: a window-elapsed alapján a user lássa, hogy a tényleges\n * utilization \"above pacing\" (gyors), \"on-pace\" vagy \"below pacing\"\n * (egészséges). A `CC_AccountUsagePacing_Util` static metódusait láncolja.\n *\n * Fallback `utilizationColorClass`-ra, ha pacing NEM számolható\n * (resetsAtMs hiányzik / extra_usage). Ezzel mindig van valami szín-jelzés.\n */\n pacingColorClassForFiveHour(items: CC_AccountUsageState_Response[]): string {\n let fiveHourItem: CC_AccountUsageState_Response | undefined;\n for (const item of items) {\n if (item.windowType === 'five_hour') {\n fiveHourItem = item;\n break;\n }\n }\n if (!fiveHourItem) {\n return 'text-neutral-500';\n }\n const pacingFraction: number | null = CC_AccountUsagePacing_Util.computePacingFraction({\n windowType: 'five_hour',\n resetsAtMs: fiveHourItem.resetsAtMs,\n nowMs: Date.now(),\n });\n if (pacingFraction === null) {\n // Fallback: time-bázis NEM számolható → sima threshold-color.\n const util: number | null = fiveHourItem.utilization ?? null;\n return this.utilizationColorClass(util);\n }\n const classification: 'below' | 'on-pace' | 'above' | null =\n CC_AccountUsagePacing_Util.classifyPacing({\n utilization: fiveHourItem.utilization,\n pacingFraction: pacingFraction,\n });\n return CC_AccountUsagePacing_Util.colorClassForPacing(classification);\n }\n}\n", "<!-- CC Account Usage Dashboard skeleton (REQ-CC-USAGE-DASHBOARD-001 Slice 5 cycle 858).\n Loading + error + empty placeholders + minimal account-list + instance-mapping render.\n Részletes account-card / per-window usage / pacing-color a Slice következő szeleteiben. -->\n\n<header class=\"flex items-center justify-between mb-4 pb-2 border-b border-neutral-700\">\n <h1 class=\"text-lg font-semibold text-neutral-100\">\n CC Usage &amp; Accounts\n <span class=\"text-xs text-neutral-500 font-normal ml-2\">\n (REQ-CC-USAGE-DASHBOARD-001 Slice 5)\n </span>\n </h1>\n <button\n type=\"button\"\n class=\"px-3 py-1 text-xs rounded border border-neonDefault text-neonDefault hover:bg-neonDefault/10 transition-colors disabled:opacity-50\"\n [disabled]=\"isRefreshing_$() || accountDS.isLoading_$()\"\n (click)=\"handleRefresh()\"\n >\n {{ isRefreshing_$() ? 'Refreshing…' : '↻ Refresh accounts' }}\n </button>\n</header>\n\n@if (accountDS.isLoading_$()) {\n <div class=\"text-sm text-neutral-400 italic py-4\">\n Loading dashboard…\n </div>\n}\n\n@if (accountDS.loadError_$(); as err) {\n <div class=\"text-sm text-red-400 bg-red-950/30 border border-red-700 rounded p-3 mb-4\">\n <strong>Load error:</strong> {{ err }}\n </div>\n}\n\n<section class=\"mb-6\">\n <h2 class=\"text-sm font-semibold text-neutral-300 mb-2\">\n Known CC Accounts\n <span class=\"text-xs text-neutral-500 font-normal ml-1\">\n ({{ accountDS.accounts_$().length }})\n </span>\n </h2>\n\n @if (!accountDS.accounts_$().length && !accountDS.isLoading_$()) {\n <div class=\"text-xs text-neutral-500 italic\">\n No CC accounts discovered yet. Run <code>claude /login</code> on this machine,\n then click <strong>↻ Refresh accounts</strong>.\n </div>\n }\n\n @for (account of accountDS.accounts_$(); track account.accountKey) {\n <div class=\"flex items-center gap-3 py-2 px-3 rounded border border-neutral-800 mb-2 hover:border-neutral-600 transition-colors\">\n <div class=\"flex-1 min-w-0\">\n <div class=\"text-sm text-neutral-100 truncate\">\n {{ displayNameOf(account) }}\n </div>\n <div class=\"text-[10px] text-neutral-500 font-mono truncate\">\n {{ account.accountKey }}\n @if (account.email) {\n <span class=\"ml-2\">· {{ account.email }}</span>\n }\n @if (account.tokenStatus) {\n <span class=\"ml-2\">· token: {{ account.tokenStatus }}</span>\n }\n </div>\n </div>\n <div class=\"text-[10px] text-neutral-500 shrink-0\">\n @if (account.planTier) {\n <span class=\"px-1.5 py-0.5 rounded border border-neutral-700\">\n {{ account.planTier }}\n </span>\n }\n </div>\n </div>\n }\n</section>\n\n<section>\n <h2 class=\"text-sm font-semibold text-neutral-300 mb-2\">\n Instance ↔ Account Mapping\n <span class=\"text-xs text-neutral-500 font-normal ml-1\">\n ({{ instanceCount_$() }})\n </span>\n </h2>\n\n @if (!instanceCount_$() && !accountDS.isLoading_$()) {\n <div class=\"text-xs text-neutral-500 italic\">\n No instance mappings yet. Mappings appear after the first\n <code>rate_limit_event</code> on a session with a bound account.\n </div>\n }\n\n @for (entry of accountDS.instanceMapping_$()?.instances ?? []; track entry.ccapId) {\n <div class=\"flex items-center gap-3 py-2 px-3 rounded border border-neutral-800 mb-2\">\n <div class=\"flex-1 min-w-0\">\n <div class=\"text-sm text-neutral-100 truncate\">\n {{ entry.ccapId }}\n </div>\n <div class=\"text-[10px] text-neutral-500\">\n @if (latestAccountKeyOf(entry.items); as ak) {\n <!-- Slice 6 first-step (865): account-displayName + 5h util.\n Slice 6 second-step (866): utilization-küszöb-szín fallback.\n Slice 6 fourth-step (868): pacing-target szín-bekötés a 5h-on. -->\n <span class=\"text-neutral-300\">\n {{ displayNameByAccountKey(ak) }}\n </span>\n <span class=\"ml-1 font-mono text-neutral-600\">({{ ak.slice(0, 6) }}…)</span>\n <span class=\"ml-2\">·</span>\n <span class=\"ml-1\">5h: <span [class]=\"pacingColorClassForFiveHour(entry.items)\">{{ formatUtilization(latestFiveHourUtilOf(entry.items)) }}</span></span>\n <span class=\"ml-2\">·</span>\n }\n <span>{{ itemsCountOf(entry.items) }} record(s)</span>\n </div>\n </div>\n </div>\n }\n</section>\n"],
5
+ "mappings": "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",
6
+ "names": ["CC_Account_ApiService", "baseUrl", "environment", "api", "http", "inject", "HttpClient", "listAccounts", "firstValueFrom", "get", "refreshLocalAccounts", "post", "getInstanceMapping", "getAccount", "accountKey", "getAccountUsage", "renameAccount", "params", "patch", "displayName", "factory", "\u0275fac", "providedIn", "SOCKET_EVENT_CC_ACCOUNT_USAGE_UPDATE", "SOCKET_EVENT_CC_ACCOUNT_LIST_UPDATE", "CC_Account_DataService", "accountApi", "inject", "CC_Account_ApiService", "socket_CS", "CCAP_Socket_ControlService", "ngZone", "NgZone", "socketSubscription", "accounts_$", "signal", "accountUsageMap_$", "Map", "instanceMapping_$", "isLoading_$", "loadError_$", "loadDashboardBootstrap", "__async", "set", "accountsResp", "mappingResp", "Promise", "all", "listAccounts", "getInstanceMapping", "items", "err", "errorMessageOf", "loadAccounts", "resp", "loadAccountUsage", "accountKey", "getAccountUsage", "next", "loadInstanceMapping", "refreshAccounts", "refreshResult", "refreshLocalAccounts", "refreshedKeys", "scannedPaths", "renameAccount", "params", "updated", "map", "a", "startLiveUpdates", "event$", "subscribe", "envelope", "run", "event", "handleAccountUsageUpdate", "payload", "handleAccountListUpdate", "stopLiveUpdates", "unsubscribe", "ngOnDestroy", "windowType", "newItem", "utilization", "undefined", "resetsAtMs", "lastObservedStatus", "observedAt", "lastObservedByCcapId", "lastObservedBySessionId", "replaced", "get", "filter", "item", "push", "_payload", "Error", "message", "rec", "String", "factory", "\u0275fac", "providedIn", "CC_AccountUsagePacing_Util", "WINDOW_SEC_BY_TYPE", "five_hour", "seven_day", "seven_day_opus", "seven_day_sonnet", "computePacingFraction", "params", "windowSec", "windowType", "undefined", "resetsAtMs", "windowMs", "windowStart", "pacing", "Math", "max", "nowMs", "classifyPacing", "utilization", "pacingFraction", "tolerance", "diff", "colorClassForPacing", "classification", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "ctx", "account_r1", "email", "tokenStatus", "planTier", "\u0275\u0275template", "CC_UsageDashboard_Component_For_16_Conditional_6_Template", "CC_UsageDashboard_Component_For_16_Conditional_7_Template", "CC_UsageDashboard_Component_For_16_Conditional_9_Template", "ctx_r1", "displayNameOf", "accountKey", "\u0275\u0275conditional", "displayNameByAccountKey", "ak_r3", "slice", "\u0275\u0275classMap", "pacingColorClassForFiveHour", "entry_r4", "items", "\u0275\u0275textInterpolate", "formatUtilization", "latestFiveHourUtilOf", "CC_UsageDashboard_Component_For_24_Conditional_5_Template", "ccapId", "tmp_11_0", "latestAccountKeyOf", "itemsCountOf", "CC_UsageDashboard_Component", "accountDS", "inject", "CC_Account_DataService", "isRefreshing_$", "signal", "instanceCount_$", "computed", "instanceMapping_$", "instances", "length", "ngOnInit", "loadDashboardBootstrap", "startLiveUpdates", "handleRefresh", "__async", "set", "refreshAccounts", "account", "displayName", "item", "windowType", "utilization", "latest", "a", "observedAt", "Date", "parse", "b", "found", "accounts_$", "find", "Math", "round", "utilizationColorClass", "fiveHourItem", "pacingFraction", "CC_AccountUsagePacing_Util", "computePacingFraction", "resetsAtMs", "nowMs", "now", "util", "classification", "classifyPacing", "colorClassForPacing", "selectors", "hostAttrs", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "\u0275\u0275listener", "CC_UsageDashboard_Component_Conditional_7_Template", "CC_UsageDashboard_Component_Conditional_8_Template", "CC_UsageDashboard_Component_Conditional_14_Template", "\u0275\u0275repeaterCreate", "CC_UsageDashboard_Component_For_16_Template", "_forTrack0", "CC_UsageDashboard_Component_Conditional_22_Template", "CC_UsageDashboard_Component_For_24_Template", "_forTrack1", "\u0275\u0275property", "isLoading_$", "tmp_3_0", "loadError_$", "\u0275\u0275repeater", "tmp_9_0", "undefined", "\u0275\u0275pureFunction0", "_c0", "CommonModule", "encapsulation"]
7
+ }