@futdevpro/ccap 1.1.3371 → 1.1.3447

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 (279) hide show
  1. package/client-dist/{agent-instances.module-TPKOBI3N.js → agent-instances.module-W3REXD56.js} +2 -2
  2. package/client-dist/{ca.module-I5N6QWSU.js → ca.module-TQ4WHOMF.js} +2 -2
  3. package/client-dist/{cc-usage-dashboard.component-7SPVADUQ.js → cc-usage-dashboard.component-TGLYNCLF.js} +2 -2
  4. package/client-dist/{cc.module-7IL3QO5Q.js → cc.module-YMTBVD35.js} +2 -2
  5. package/client-dist/{chunk-XWYXBY7S.js → chunk-2EBLV6GJ.js} +2 -2
  6. package/client-dist/{chunk-7VY64KMU.js → chunk-4GTK6NMH.js} +2 -2
  7. package/client-dist/{chunk-44TWBJUK.js → chunk-5HNAJSRW.js} +2 -2
  8. package/client-dist/{chunk-77YTUUCR.js → chunk-6AFPKEHZ.js} +2 -2
  9. package/client-dist/{chunk-RUSAMFGS.js → chunk-6TE4LLRT.js} +2 -2
  10. package/client-dist/{chunk-RUSAMFGS.js.map → chunk-6TE4LLRT.js.map} +1 -1
  11. package/client-dist/{chunk-OKUYYDGV.js → chunk-6XSACJBG.js} +2 -2
  12. package/client-dist/{chunk-UM7AS2IW.js → chunk-77JJATPE.js} +2 -2
  13. package/client-dist/{chunk-RYD462IO.js → chunk-7GEAKPVD.js} +2 -2
  14. package/client-dist/{chunk-4FK2D2PX.js → chunk-A3CDBCDP.js} +2 -2
  15. package/client-dist/{chunk-3G2ZGV66.js → chunk-ACWNNQIT.js} +2 -2
  16. package/client-dist/{chunk-J5INQQ5M.js → chunk-AGMHTMQA.js} +2 -2
  17. package/client-dist/{chunk-U3Y5GO6O.js → chunk-BFYF3IU4.js} +2 -2
  18. package/client-dist/{chunk-U64N3LCA.js → chunk-BNU5THES.js} +2 -2
  19. package/client-dist/{chunk-4PBNHSRW.js → chunk-BQAILW64.js} +2 -2
  20. package/client-dist/{chunk-TFB7ULAV.js → chunk-C6J25IMQ.js} +2 -2
  21. package/client-dist/{chunk-PW5BAINL.js → chunk-CZLRKXDU.js} +2 -2
  22. package/client-dist/{chunk-CU5YQ2M4.js → chunk-DEAFTFFH.js} +2 -2
  23. package/client-dist/{chunk-PMJP2N4K.js → chunk-E6C6MLAE.js} +2 -2
  24. package/client-dist/{chunk-6BYNIFJY.js → chunk-F455BZKF.js} +2 -2
  25. package/client-dist/chunk-FOLWKVUD.js +2 -0
  26. package/client-dist/chunk-FOLWKVUD.js.map +7 -0
  27. package/client-dist/{chunk-CAMM4S7P.js → chunk-GIEG6TTL.js} +3 -3
  28. package/client-dist/chunk-GIEG6TTL.js.map +1 -0
  29. package/client-dist/{chunk-4JL2Q6FO.js → chunk-GYSREL5Z.js} +2 -2
  30. package/client-dist/{chunk-IHNAAEA2.js → chunk-HFDLUJ4U.js} +2 -2
  31. package/client-dist/{chunk-XFXMWTQS.js → chunk-HS5KMAZC.js} +2 -2
  32. package/client-dist/{chunk-C2BQQRVH.js → chunk-HZ3SDWNT.js} +2 -2
  33. package/client-dist/{chunk-5RLDT3NY.js → chunk-I7XAQJ7K.js} +2 -2
  34. package/client-dist/{chunk-SK3XGSYF.js → chunk-ITSH6RYG.js} +2 -2
  35. package/client-dist/{chunk-BJ4I73WC.js → chunk-K3UWZKRD.js} +2 -2
  36. package/client-dist/{chunk-25KTNALK.js → chunk-KDPOJH6B.js} +2 -2
  37. package/client-dist/{chunk-OS5KCUZD.js → chunk-KKDWUDRS.js} +2 -2
  38. package/client-dist/{chunk-LIGODF4I.js → chunk-LUV3FOSG.js} +2 -2
  39. package/client-dist/{chunk-26YUXPZI.js → chunk-MY244SUO.js} +2 -2
  40. package/client-dist/{chunk-QQ2GRU2N.js → chunk-O3CN5GI3.js} +2 -2
  41. package/client-dist/{chunk-UVVGFHUG.js → chunk-O4EWDG7M.js} +2 -2
  42. package/client-dist/{chunk-LMK3IOKN.js → chunk-P7TYGGJE.js} +2 -2
  43. package/client-dist/{chunk-VOFDBT5T.js → chunk-PG4M4ZHN.js} +2 -2
  44. package/client-dist/{chunk-EDMLVG72.js → chunk-PIQK6O5O.js} +2 -2
  45. package/client-dist/{chunk-LCKABD2M.js → chunk-PQEIFO6Y.js} +2 -2
  46. package/client-dist/{chunk-7CMPZXAO.js → chunk-QSN7KY5M.js} +2 -2
  47. package/client-dist/{chunk-GG2WP2KM.js → chunk-QTOWXHVD.js} +2 -2
  48. package/client-dist/{chunk-BH3GMEZZ.js → chunk-ROLHXND4.js} +2 -2
  49. package/client-dist/{chunk-A33MCHYC.js → chunk-RPTXBYC4.js} +14 -14
  50. package/client-dist/{chunk-A33MCHYC.js.map → chunk-RPTXBYC4.js.map} +3 -3
  51. package/client-dist/{chunk-KX2KGHQZ.js → chunk-RZBXT5HF.js} +2 -2
  52. package/client-dist/{chunk-657E66YR.js → chunk-SDRBFR4F.js} +2 -2
  53. package/client-dist/{chunk-W7HIS2QA.js → chunk-T4OXQXNG.js} +2 -2
  54. package/client-dist/{chunk-C4FOSX27.js → chunk-UFASD7B2.js} +2 -2
  55. package/client-dist/{chunk-E6WOJOGT.js → chunk-UKRECFE4.js} +2 -2
  56. package/client-dist/{chunk-VRG74DKK.js → chunk-VJ343CWZ.js} +2 -2
  57. package/client-dist/{chunk-5YDHEFSD.js → chunk-VOEXOXIB.js} +2 -2
  58. package/client-dist/{chunk-L42Z7YNK.js → chunk-VPHQR3SZ.js} +2 -2
  59. package/client-dist/{chunk-DXF2FJLD.js → chunk-WDUO4IJE.js} +2 -2
  60. package/client-dist/chunk-WJCSS2XZ.js +2 -0
  61. package/client-dist/chunk-WJCSS2XZ.js.map +7 -0
  62. package/client-dist/{chunk-OLLHHMTV.js → chunk-WW4VCBEU.js} +2 -2
  63. package/client-dist/{chunk-L2XJGYW4.js → chunk-XLKBCO5O.js} +2 -2
  64. package/client-dist/{chunk-UD4PV7CD.js → chunk-XZRD3UM5.js} +2 -2
  65. package/client-dist/{chunk-4EOSKDXN.js → chunk-YWVKQVNA.js} +2 -2
  66. package/client-dist/{chunk-OCNDLQG5.js → chunk-Z3OBNB3J.js} +2 -2
  67. package/client-dist/{consultant.module-HHTHUWRL.js → consultant.module-2SDJBVP3.js} +2 -2
  68. package/client-dist/{crd.module-ER6AHSX5.js → crd.module-IWMW2SSQ.js} +2 -2
  69. package/client-dist/{dashboard.module-TSNGGBCI.js → dashboard.module-AIDMW46S.js} +2 -2
  70. package/client-dist/{do.module-NMZD5VSM.js → do.module-X7OAX4DD.js} +2 -2
  71. package/client-dist/{document-library.module-GHDNXP3T.js → document-library.module-IOCM265I.js} +2 -2
  72. package/client-dist/{embedding-eval.module-XPXBOIP5.js → embedding-eval.module-KCJREZY3.js} +2 -2
  73. package/client-dist/{embedding-registry.module-45TQGZI2.js → embedding-registry.module-XQXYNVGG.js} +2 -2
  74. package/client-dist/err.module-VWGZT7Z4.js +6 -0
  75. package/client-dist/err.module-VWGZT7Z4.js.map +7 -0
  76. package/client-dist/{feedback.module-TLKZ4B4N.js → feedback.module-P4XLXCPD.js} +2 -2
  77. package/client-dist/{host-runtime-mcp.module-HVJZN5R5.js → host-runtime-mcp.module-JBSXKARK.js} +2 -2
  78. package/client-dist/index.html +2 -2
  79. package/client-dist/{live-dev-pipeline.module-5PE4ZFFW.js → live-dev-pipeline.module-B66G4DQO.js} +2 -2
  80. package/client-dist/{logs.module-335EXKCD.js → logs.module-F7SAEBD3.js} +2 -2
  81. package/client-dist/{main-FRD6VXVH.js → main-FD4U5Q57.js} +3 -3
  82. package/client-dist/{master-control-remote-poc.module-ORHRUCZH.js → master-control-remote-poc.module-M66UBNEO.js} +2 -2
  83. package/client-dist/{mobile-app.module-BYYNVKQR.js → mobile-app.module-Z22J4W6C.js} +2 -2
  84. package/client-dist/{model-registry.module-KIHIJ2Z6.js → model-registry.module-CWMA4CT5.js} +2 -2
  85. package/client-dist/{oc.module-DAGIRW3Z.js → oc.module-HIXCQOOF.js} +2 -2
  86. package/client-dist/orc.module-YEZN4Q7U.js +2 -0
  87. package/client-dist/orc.module-YEZN4Q7U.js.map +7 -0
  88. package/client-dist/{project-management.module-IJNPSUQZ.js → project-management.module-CB6D2EUD.js} +2 -2
  89. package/client-dist/project-source-routed.module-CYG342BA.js +2 -0
  90. package/client-dist/{scheduler.module-S3IKZCLL.js → scheduler.module-V5JCK6QF.js} +2 -2
  91. package/client-dist/{session.module-FZC22UUN.js → session.module-QZLOBMOL.js} +9 -9
  92. package/client-dist/{session.module-FZC22UUN.js.map → session.module-QZLOBMOL.js.map} +3 -3
  93. package/client-dist/{set.module-Y2RHKW7A.js → set.module-EVAQ6TXH.js} +2 -2
  94. package/client-dist/{setup.module-VTI5EZ3Q.js → setup.module-D2TCNKBN.js} +2 -2
  95. package/client-dist/styles-CTUT42AQ.css +2 -0
  96. package/client-dist/{styles-MX7ZZMTH.css.map → styles-CTUT42AQ.css.map} +1 -1
  97. package/client-dist/{terminals.module-KHEDY6QN.js → terminals.module-LABJDNT5.js} +2 -2
  98. package/client-dist/{voice-notes-poc.module-EMDLJJIT.js → voice-notes-poc.module-IST3HNZW.js} +2 -2
  99. package/client-dist/{wfs.module-LUTFNQG5.js → wfs.module-ETTOPBME.js} +2 -2
  100. package/package.json +1 -1
  101. package/server/build/src/_modules/ccap-agent/_modules/agent-core/_modules/run/_services/control-services/run-flow.control-service.d.ts.map +1 -1
  102. package/server/build/src/_modules/ccap-agent/_modules/agent-core/_modules/run/_services/control-services/run-flow.control-service.js +8 -1
  103. package/server/build/src/_modules/ccap-agent/_modules/agent-core/_modules/run/_services/control-services/run-flow.control-service.js.map +1 -1
  104. package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.d.ts +47 -0
  105. package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.d.ts.map +1 -0
  106. package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.js +100 -0
  107. package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.js.map +1 -0
  108. package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.spec.d.ts +2 -0
  109. package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.spec.d.ts.map +1 -0
  110. package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.spec.js +162 -0
  111. package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.spec.js.map +1 -0
  112. package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_services/control-services/tts/voc-tts.control-service.d.ts.map +1 -1
  113. package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_services/control-services/tts/voc-tts.control-service.js +22 -4
  114. package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_services/control-services/tts/voc-tts.control-service.js.map +1 -1
  115. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.d.ts +40 -0
  116. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.d.ts.map +1 -1
  117. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.js +174 -8
  118. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.js.map +1 -1
  119. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.spec.d.ts +9 -0
  120. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.spec.d.ts.map +1 -0
  121. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.spec.js +213 -0
  122. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.spec.js.map +1 -0
  123. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.d.ts.map +1 -1
  124. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.js +8 -0
  125. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.js.map +1 -1
  126. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.interface.d.ts +10 -0
  127. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.interface.d.ts.map +1 -1
  128. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.d.ts +22 -42
  129. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.d.ts.map +1 -1
  130. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.js +75 -58
  131. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.js.map +1 -1
  132. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.d.ts +13 -0
  133. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.d.ts.map +1 -1
  134. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.js +39 -0
  135. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.js.map +1 -1
  136. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.d.ts.map +1 -1
  137. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js +9 -0
  138. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js.map +1 -1
  139. package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.d.ts +10 -0
  140. package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.d.ts.map +1 -1
  141. package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.js +18 -0
  142. package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.js.map +1 -1
  143. package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.spec.js +32 -3
  144. package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.spec.js.map +1 -1
  145. package/server/build/src/_modules/peer-instance/_services/pei-event-relay.control-service.spec.d.ts +15 -0
  146. package/server/build/src/_modules/peer-instance/_services/pei-event-relay.control-service.spec.d.ts.map +1 -0
  147. package/server/build/src/_modules/peer-instance/_services/pei-event-relay.control-service.spec.js +122 -0
  148. package/server/build/src/_modules/peer-instance/_services/pei-event-relay.control-service.spec.js.map +1 -0
  149. package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.d.ts.map +1 -1
  150. package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.js +19 -32
  151. package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.js.map +1 -1
  152. package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.spec.js +32 -79
  153. package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.spec.js.map +1 -1
  154. package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache-entry.interface.d.ts +14 -0
  155. package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache-entry.interface.d.ts.map +1 -0
  156. package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache-entry.interface.js +3 -0
  157. package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache-entry.interface.js.map +1 -0
  158. package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.d.ts +59 -0
  159. package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.d.ts.map +1 -0
  160. package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.js +166 -0
  161. package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.js.map +1 -0
  162. package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.spec.d.ts +6 -0
  163. package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.spec.d.ts.map +1 -0
  164. package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.spec.js +135 -0
  165. package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.spec.js.map +1 -0
  166. package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update-result.interface.d.ts +18 -0
  167. package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update-result.interface.d.ts.map +1 -0
  168. package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update-result.interface.js +3 -0
  169. package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update-result.interface.js.map +1 -0
  170. package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.d.ts +37 -0
  171. package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.d.ts.map +1 -0
  172. package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.js +135 -0
  173. package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.js.map +1 -0
  174. package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.spec.d.ts +8 -0
  175. package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.spec.d.ts.map +1 -0
  176. package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.spec.js +109 -0
  177. package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.spec.js.map +1 -0
  178. package/server/build/src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.d.ts +6 -0
  179. package/server/build/src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.d.ts.map +1 -1
  180. package/server/build/src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.js +12 -0
  181. package/server/build/src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.js.map +1 -1
  182. package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.d.ts +13 -17
  183. package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.d.ts.map +1 -1
  184. package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.js +44 -50
  185. package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.js.map +1 -1
  186. package/server/build/src/app.server.d.ts.map +1 -1
  187. package/server/build/src/app.server.js +4 -9
  188. package/server/build/src/app.server.js.map +1 -1
  189. package/client-dist/chunk-3AG5X2MY.js +0 -2
  190. package/client-dist/chunk-3AG5X2MY.js.map +0 -7
  191. package/client-dist/chunk-CAMM4S7P.js.map +0 -1
  192. package/client-dist/chunk-CDNAFC73.js +0 -2
  193. package/client-dist/chunk-CDNAFC73.js.map +0 -7
  194. package/client-dist/err.module-GCKYDYCK.js +0 -6
  195. package/client-dist/err.module-GCKYDYCK.js.map +0 -7
  196. package/client-dist/orc.module-KZELL6XR.js +0 -2
  197. package/client-dist/orc.module-KZELL6XR.js.map +0 -7
  198. package/client-dist/project-source-routed.module-DP3RD454.js +0 -2
  199. package/client-dist/styles-MX7ZZMTH.css +0 -2
  200. /package/client-dist/{agent-instances.module-TPKOBI3N.js.map → agent-instances.module-W3REXD56.js.map} +0 -0
  201. /package/client-dist/{ca.module-I5N6QWSU.js.map → ca.module-TQ4WHOMF.js.map} +0 -0
  202. /package/client-dist/{cc-usage-dashboard.component-7SPVADUQ.js.map → cc-usage-dashboard.component-TGLYNCLF.js.map} +0 -0
  203. /package/client-dist/{cc.module-7IL3QO5Q.js.map → cc.module-YMTBVD35.js.map} +0 -0
  204. /package/client-dist/{chunk-XWYXBY7S.js.map → chunk-2EBLV6GJ.js.map} +0 -0
  205. /package/client-dist/{chunk-7VY64KMU.js.map → chunk-4GTK6NMH.js.map} +0 -0
  206. /package/client-dist/{chunk-44TWBJUK.js.map → chunk-5HNAJSRW.js.map} +0 -0
  207. /package/client-dist/{chunk-77YTUUCR.js.map → chunk-6AFPKEHZ.js.map} +0 -0
  208. /package/client-dist/{chunk-OKUYYDGV.js.map → chunk-6XSACJBG.js.map} +0 -0
  209. /package/client-dist/{chunk-UM7AS2IW.js.map → chunk-77JJATPE.js.map} +0 -0
  210. /package/client-dist/{chunk-RYD462IO.js.map → chunk-7GEAKPVD.js.map} +0 -0
  211. /package/client-dist/{chunk-4FK2D2PX.js.map → chunk-A3CDBCDP.js.map} +0 -0
  212. /package/client-dist/{chunk-3G2ZGV66.js.map → chunk-ACWNNQIT.js.map} +0 -0
  213. /package/client-dist/{chunk-J5INQQ5M.js.map → chunk-AGMHTMQA.js.map} +0 -0
  214. /package/client-dist/{chunk-U3Y5GO6O.js.map → chunk-BFYF3IU4.js.map} +0 -0
  215. /package/client-dist/{chunk-U64N3LCA.js.map → chunk-BNU5THES.js.map} +0 -0
  216. /package/client-dist/{chunk-4PBNHSRW.js.map → chunk-BQAILW64.js.map} +0 -0
  217. /package/client-dist/{chunk-TFB7ULAV.js.map → chunk-C6J25IMQ.js.map} +0 -0
  218. /package/client-dist/{chunk-PW5BAINL.js.map → chunk-CZLRKXDU.js.map} +0 -0
  219. /package/client-dist/{chunk-CU5YQ2M4.js.map → chunk-DEAFTFFH.js.map} +0 -0
  220. /package/client-dist/{chunk-PMJP2N4K.js.map → chunk-E6C6MLAE.js.map} +0 -0
  221. /package/client-dist/{chunk-6BYNIFJY.js.map → chunk-F455BZKF.js.map} +0 -0
  222. /package/client-dist/{chunk-4JL2Q6FO.js.map → chunk-GYSREL5Z.js.map} +0 -0
  223. /package/client-dist/{chunk-IHNAAEA2.js.map → chunk-HFDLUJ4U.js.map} +0 -0
  224. /package/client-dist/{chunk-XFXMWTQS.js.map → chunk-HS5KMAZC.js.map} +0 -0
  225. /package/client-dist/{chunk-C2BQQRVH.js.map → chunk-HZ3SDWNT.js.map} +0 -0
  226. /package/client-dist/{chunk-5RLDT3NY.js.map → chunk-I7XAQJ7K.js.map} +0 -0
  227. /package/client-dist/{chunk-SK3XGSYF.js.map → chunk-ITSH6RYG.js.map} +0 -0
  228. /package/client-dist/{chunk-BJ4I73WC.js.map → chunk-K3UWZKRD.js.map} +0 -0
  229. /package/client-dist/{chunk-25KTNALK.js.map → chunk-KDPOJH6B.js.map} +0 -0
  230. /package/client-dist/{chunk-OS5KCUZD.js.map → chunk-KKDWUDRS.js.map} +0 -0
  231. /package/client-dist/{chunk-LIGODF4I.js.map → chunk-LUV3FOSG.js.map} +0 -0
  232. /package/client-dist/{chunk-26YUXPZI.js.map → chunk-MY244SUO.js.map} +0 -0
  233. /package/client-dist/{chunk-QQ2GRU2N.js.map → chunk-O3CN5GI3.js.map} +0 -0
  234. /package/client-dist/{chunk-UVVGFHUG.js.map → chunk-O4EWDG7M.js.map} +0 -0
  235. /package/client-dist/{chunk-LMK3IOKN.js.map → chunk-P7TYGGJE.js.map} +0 -0
  236. /package/client-dist/{chunk-VOFDBT5T.js.map → chunk-PG4M4ZHN.js.map} +0 -0
  237. /package/client-dist/{chunk-EDMLVG72.js.map → chunk-PIQK6O5O.js.map} +0 -0
  238. /package/client-dist/{chunk-LCKABD2M.js.map → chunk-PQEIFO6Y.js.map} +0 -0
  239. /package/client-dist/{chunk-7CMPZXAO.js.map → chunk-QSN7KY5M.js.map} +0 -0
  240. /package/client-dist/{chunk-GG2WP2KM.js.map → chunk-QTOWXHVD.js.map} +0 -0
  241. /package/client-dist/{chunk-BH3GMEZZ.js.map → chunk-ROLHXND4.js.map} +0 -0
  242. /package/client-dist/{chunk-KX2KGHQZ.js.map → chunk-RZBXT5HF.js.map} +0 -0
  243. /package/client-dist/{chunk-657E66YR.js.map → chunk-SDRBFR4F.js.map} +0 -0
  244. /package/client-dist/{chunk-W7HIS2QA.js.map → chunk-T4OXQXNG.js.map} +0 -0
  245. /package/client-dist/{chunk-C4FOSX27.js.map → chunk-UFASD7B2.js.map} +0 -0
  246. /package/client-dist/{chunk-E6WOJOGT.js.map → chunk-UKRECFE4.js.map} +0 -0
  247. /package/client-dist/{chunk-VRG74DKK.js.map → chunk-VJ343CWZ.js.map} +0 -0
  248. /package/client-dist/{chunk-5YDHEFSD.js.map → chunk-VOEXOXIB.js.map} +0 -0
  249. /package/client-dist/{chunk-L42Z7YNK.js.map → chunk-VPHQR3SZ.js.map} +0 -0
  250. /package/client-dist/{chunk-DXF2FJLD.js.map → chunk-WDUO4IJE.js.map} +0 -0
  251. /package/client-dist/{chunk-OLLHHMTV.js.map → chunk-WW4VCBEU.js.map} +0 -0
  252. /package/client-dist/{chunk-L2XJGYW4.js.map → chunk-XLKBCO5O.js.map} +0 -0
  253. /package/client-dist/{chunk-UD4PV7CD.js.map → chunk-XZRD3UM5.js.map} +0 -0
  254. /package/client-dist/{chunk-4EOSKDXN.js.map → chunk-YWVKQVNA.js.map} +0 -0
  255. /package/client-dist/{chunk-OCNDLQG5.js.map → chunk-Z3OBNB3J.js.map} +0 -0
  256. /package/client-dist/{consultant.module-HHTHUWRL.js.map → consultant.module-2SDJBVP3.js.map} +0 -0
  257. /package/client-dist/{crd.module-ER6AHSX5.js.map → crd.module-IWMW2SSQ.js.map} +0 -0
  258. /package/client-dist/{dashboard.module-TSNGGBCI.js.map → dashboard.module-AIDMW46S.js.map} +0 -0
  259. /package/client-dist/{do.module-NMZD5VSM.js.map → do.module-X7OAX4DD.js.map} +0 -0
  260. /package/client-dist/{document-library.module-GHDNXP3T.js.map → document-library.module-IOCM265I.js.map} +0 -0
  261. /package/client-dist/{embedding-eval.module-XPXBOIP5.js.map → embedding-eval.module-KCJREZY3.js.map} +0 -0
  262. /package/client-dist/{embedding-registry.module-45TQGZI2.js.map → embedding-registry.module-XQXYNVGG.js.map} +0 -0
  263. /package/client-dist/{feedback.module-TLKZ4B4N.js.map → feedback.module-P4XLXCPD.js.map} +0 -0
  264. /package/client-dist/{host-runtime-mcp.module-HVJZN5R5.js.map → host-runtime-mcp.module-JBSXKARK.js.map} +0 -0
  265. /package/client-dist/{live-dev-pipeline.module-5PE4ZFFW.js.map → live-dev-pipeline.module-B66G4DQO.js.map} +0 -0
  266. /package/client-dist/{logs.module-335EXKCD.js.map → logs.module-F7SAEBD3.js.map} +0 -0
  267. /package/client-dist/{main-FRD6VXVH.js.map → main-FD4U5Q57.js.map} +0 -0
  268. /package/client-dist/{master-control-remote-poc.module-ORHRUCZH.js.map → master-control-remote-poc.module-M66UBNEO.js.map} +0 -0
  269. /package/client-dist/{mobile-app.module-BYYNVKQR.js.map → mobile-app.module-Z22J4W6C.js.map} +0 -0
  270. /package/client-dist/{model-registry.module-KIHIJ2Z6.js.map → model-registry.module-CWMA4CT5.js.map} +0 -0
  271. /package/client-dist/{oc.module-DAGIRW3Z.js.map → oc.module-HIXCQOOF.js.map} +0 -0
  272. /package/client-dist/{project-management.module-IJNPSUQZ.js.map → project-management.module-CB6D2EUD.js.map} +0 -0
  273. /package/client-dist/{project-source-routed.module-DP3RD454.js.map → project-source-routed.module-CYG342BA.js.map} +0 -0
  274. /package/client-dist/{scheduler.module-S3IKZCLL.js.map → scheduler.module-V5JCK6QF.js.map} +0 -0
  275. /package/client-dist/{set.module-Y2RHKW7A.js.map → set.module-EVAQ6TXH.js.map} +0 -0
  276. /package/client-dist/{setup.module-VTI5EZ3Q.js.map → setup.module-D2TCNKBN.js.map} +0 -0
  277. /package/client-dist/{terminals.module-KHEDY6QN.js.map → terminals.module-LABJDNT5.js.map} +0 -0
  278. /package/client-dist/{voice-notes-poc.module-EMDLJJIT.js.map → voice-notes-poc.module-IST3HNZW.js.map} +0 -0
  279. /package/client-dist/{wfs.module-LUTFNQG5.js.map → wfs.module-ETTOPBME.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import{a as he}from"./chunk-7VY64KMU.js";import{a as ge,b as Ce}from"./chunk-OKUYYDGV.js";import{a as me,b as _e}from"./chunk-UM7AS2IW.js";import{a as Se,b as Y}from"./chunk-L44637OO.js";import{a as ue}from"./chunk-7CMPZXAO.js";import{b as pe}from"./chunk-U64N3LCA.js";import{d as fe}from"./chunk-DXF2FJLD.js";import{d as U,h as xe}from"./chunk-CAMM4S7P.js";import{a as ce}from"./chunk-FLAJXIYW.js";import{f as oe,i as ae,n as re,o as se,p as le,v as de}from"./chunk-EO4DNTT4.js";import{p as Te}from"./chunk-RUSAMFGS.js";import{$a as z,C as y,D as b,Fa as s,Ga as I,Ha as S,Ia as te,J as C,K as v,L as E,M as Q,Q as Z,T as q,Ta as w,U as A,Ua as O,Va as ne,Z as r,aa as $,ab as ie,bb as B,da as _,fa as R,ga as p,h as $e,hb as h,ia as M,k as H,la as u,mb as K,na as ee,oa as F,pa as V,pb as J,qa as a,ra as o,sa as x,ua as k,ub as N,va as f,wa as c,y as X}from"./chunk-TBMJSIBB.js";var ye=$e(Te());var W=(()=>{class t{static SESSION_LIMIT_TYPE="five_hour";static WEEKLY_LIMIT_TYPE="seven_day";static formatResetText(e){if(!e?.resetsAt)return"";let n=new Date(e.resetsAt*1e3),i=new Date,l=n.getTime()-i.getTime();if(l<=0)return"expired";let m=Math.floor(l/6e4),T=Math.floor(m/60),j=m%60;return T>0?`${T}h ${j}m`:`${j}m`}static formatResetTextPrecise(e){if(!e?.resetsAt)return"";let n=new Date(e.resetsAt*1e3),i=new Date,l=Math.floor((n.getTime()-i.getTime())/1e3);if(l<=0)return"expired";let m=Math.floor(l/86400),T=Math.floor(l%86400/3600),j=Math.floor(l%3600/60),g=l%60,D=[];return m&&D.push(`${m}d`),(m||T)&&D.push(`${T}h`),(m||T||j)&&D.push(`${j}m`),D.push(`${g}s`),D.join(" ")}static computeUtilizationPercent(e){if(!e)return 0;let n=typeof e.utilization=="number"?e.utilization:0,i=Math.max(0,Math.min(1,n));return Math.round(i*100)}static computeThresholdPercent(e){if(!e)return 0;let n=typeof e.surpassedThreshold=="number"?e.surpassedThreshold:0,i=Math.max(0,Math.min(1,n));return Math.round(i*100)}static isOverThreshold(e){if(!e)return!1;let n=typeof e.utilization=="number"?e.utilization:0,i=typeof e.surpassedThreshold=="number"?e.surpassedThreshold:1;return n>=i&&i>0}static formatLimitScopeLabel(e){return e?.rateLimitType?e.rateLimitType===t.SESSION_LIMIT_TYPE?"Session":e.rateLimitType===t.WEEKLY_LIMIT_TYPE?"Weekly":e.rateLimitType:""}}return t})();function Me(t,d){if(t&1&&(a(0,"div",0)(1,"span",1),s(2," Rate limit "),o(),a(3,"span",2),s(4,"Scope"),o(),a(5,"span",3),s(6),o(),a(7,"span",2),s(8,"St\xE1tusz"),o(),a(9,"span",3),s(10),o(),a(11,"span",2),s(12,"Utilization"),o(),a(13,"span",4),s(14),o(),a(15,"span",2),s(16,"Reset"),o(),a(17,"span",4),s(18),o(),a(19,"span",2),s(20,"Utols\xF3 \xE9szlel\xE9s"),o(),a(21,"span",5),s(22),z(23,"date"),o()()),t&2){let e=d,n=c();r(6),I(n.limitScopeLabel_$()||"\u2014"),r(3),M("text-neonRed",e.status==="limited")("text-yellow-400",e.status==="allowed_warning")("text-neutral-300",e.status==="allowed"),r(),S(" ",e.status||"\u2014"," "),r(4),S("",n.utilizationPercent_$(),"%"),r(4),I(n.resetText_$()||"\u2014"),r(4),S(" ",B(23,11,e.receivedAt,"yyyy-MM-dd HH:mm:ss")||"\u2014"," ")}}var be=(()=>{class t{claudeCode_AS=y(me);_ccapId="";set ccapId(e){this._ccapId=e?.trim()??"",this.refreshRateLimitState()}get ccapId(){return this._ccapId}rateLimitInfo_$=$(null);utilizationPercent_$=h(()=>W.computeUtilizationPercent(this.rateLimitInfo_$()));resetText_$=h(()=>W.formatResetText(this.rateLimitInfo_$()));limitScopeLabel_$=h(()=>W.formatLimitScopeLabel(this.rateLimitInfo_$()));refreshRateLimitState(){if(!this._ccapId){this.rateLimitInfo_$.set(null);return}this.claudeCode_AS.getRateLimitState({ccapId:this._ccapId}).then(e=>{let n=_e.mapServerItemsToClientInfo(e.items);this.rateLimitInfo_$.set(n)}).catch(e=>{ye.DyFM_Log.warn(`s-cc-rate-limit-info | rate-limit fetch failed | ccapId: ${this._ccapId} | err: ${String(e)}`),this.rateLimitInfo_$.set(null)})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["app-s-cc-rate-limit-info"]],inputs:{ccapId:"ccapId"},standalone:!0,features:[w],decls:1,vars:1,consts:[[1,"grid","grid-cols-[minmax(8rem,auto)_1fr]","gap-x-3","gap-y-2","text-xs","text-neutral-200"],[1,"col-span-2","text-[11px]","uppercase","tracking-wider","text-neutral-500"],[1,"text-neutral-500","shrink-0"],[1,"whitespace-nowrap"],[1,"whitespace-nowrap","font-mono"],[1,"font-mono","text-[11px]","whitespace-nowrap"]],template:function(n,i){if(n&1&&_(0,Me,24,14,"div",0),n&2){let l;u((l=i.rateLimitInfo_$())?0:-1,l)}},dependencies:[N,J],encapsulation:2})}return t})();function Oe(t,d){if(t&1&&(a(0,"span",1),s(1,"Instance presence"),o(),a(2,"span",4),x(3,"app-s-instance-presence-badge",8),o()),t&2){let e=d;r(3),p("presence",e.presence)("lastHeartbeatAt",e.lastHeartbeatAt)("wsConnected",e.wsConnected)}}function De(t,d){if(t&1&&(a(0,"span",9),s(1,"Run / tev\xE9kenys\xE9g"),o(),a(2,"span",10)(3,"span",11),s(4),o(),a(5,"span",12),s(6),o()(),a(7,"span",1),s(8,"Utols\xF3 aktivit\xE1s"),o(),a(9,"span",13),s(10),z(11,"date"),o(),a(12,"span",1),s(13,"Utols\xF3 \xFCzenet"),o(),a(14,"span",14),s(15),o()),t&2){let e=d;r(4),I(e.activeRunPhase||"\u2014"),r(2),I(e.activitySummary||"\u2014"),r(4),S(" ",B(11,4,e.lastActivityAt,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),r(5),I(e.lastMessage||"\u2014")}}var we=(()=>{class t{row;presence=void 0;static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["app-s-instance-detail-view"]],inputs:{row:"row",presence:"presence"},standalone:!0,features:[w],decls:43,vars:18,consts:[[1,"grid","grid-cols-[minmax(8rem,auto)_1fr]","gap-x-3","gap-y-2","text-xs","text-neutral-200"],[1,"text-neutral-500","shrink-0"],[1,"font-mono","break-all"],[1,"break-all"],[1,"whitespace-nowrap"],[1,"font-mono","whitespace-nowrap"],[1,"mt-2","pt-2","border-t","border-neutral-800"],[3,"ccapId"],[3,"presence","lastHeartbeatAt","wsConnected"],[1,"text-neutral-500","shrink-0","self-start","pt-0.5"],[1,"break-words"],[1,"font-mono","text-[11px]","text-neutral-400","block"],[1,"text-neutral-300"],[1,"font-mono","text-[11px]","whitespace-nowrap"],[1,"break-words","text-neutral-300"]],template:function(n,i){if(n&1&&(a(0,"div",0)(1,"span",1),s(2,"instanceKey"),o(),a(3,"span",2),s(4),o(),a(5,"span",1),s(6,"N\xE9v"),o(),a(7,"span",3),s(8),o(),a(9,"span",1),s(10,"St\xE1tusz"),o(),a(11,"span",4),s(12),o(),_(13,Oe,4,3),a(14,"span",1),s(15,"Session presence"),o(),a(16,"span",4),s(17),o(),_(18,De,16,7),a(19,"span",1),s(20,"MAC"),o(),a(21,"span",2),s(22),o(),a(23,"span",1),s(24,"Install path"),o(),a(25,"span",2),s(26),o(),a(27,"span",1),s(28,"hostName"),o(),a(29,"span",3),s(30),o(),a(31,"span",1),s(32,"registry __created"),o(),a(33,"span",5),s(34),z(35,"date"),o(),a(36,"span",1),s(37,"registry __updated"),o(),a(38,"span",5),s(39),z(40,"date"),o()(),a(41,"div",6),x(42,"app-s-cc-rate-limit-info",7),o()),n&2){let l,m;r(4),I(i.row.registry.instanceKey||"\u2014"),r(4),I((i.row.instanceData==null||i.row.instanceData.name==null?null:i.row.instanceData.name.trim())||"\u2014"),r(4),I((i.row.instanceData==null?null:i.row.instanceData.status)||"\u2014"),r(),u((l=i.presence)?13:-1,l),r(4),S(" ",(i.row.instanceData==null||i.row.instanceData.sessionStatuses==null||i.row.instanceData.sessionStatuses[0]==null?null:i.row.instanceData.sessionStatuses[0].presence)||"\u2014"," "),r(),u((m=i.row.instanceData==null||i.row.instanceData.sessionStatuses==null?null:i.row.instanceData.sessionStatuses[0])?18:-1,m),r(4),I(i.row.registry.primaryMacAddress||"\u2014"),r(4),I(i.row.registry.installLocationPath||"\u2014"),r(4),I(i.row.registry.hostName||"\u2014"),r(4),S(" ",B(35,12,i.row.registry.__created,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),r(5),S(" ",B(40,15,i.row.registry.__updated,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),r(3),p("ccapId",i.row.registry.instanceKey||"")}},dependencies:[N,J,be,Y],encapsulation:2})}return t})();var Ae=(t,d)=>d.instanceKey,Re=t=>({"bg-ccapAccent/10":t});function Fe(t,d){if(t&1&&x(0,"app-s-instance-presence-badge",5),t&2){let e=d;p("presence",e.presence)("lastHeartbeatAt",e.lastHeartbeatAt)("wsConnected",e.wsConnected)("showLabel",!1)}}function Ve(t,d){t&1&&(a(0,"span",6),s(1,"(local)"),o())}function ze(t,d){t&1&&x(0,"span",7)}function Le(t,d){if(t&1){let e=k();a(0,"div",2)(1,"button",4),f("click",function(){let i,l=C(e).$implicit,m=c();return v(m.handleSelectInstance((i=l.instanceKey)!==null&&i!==void 0?i:""))}),_(2,Fe,1,4,"app-s-instance-presence-badge",5),s(3),_(4,Ve,2,0,"span",6)(5,ze,1,0,"span",7),o(),a(6,"button",8),f("click",function(){let i,l=C(e).$implicit,m=c();return v(m.handleInfoClick((i=l.instanceKey)!==null&&i!==void 0?i:""))}),s(7," i "),o()()}if(t&2){let e,n=d.$implicit,i=c();r(),M("border-ccapAccent",i.isSelected(n))("text-ccapAccent",i.isSelected(n))("border-neonDefault",!i.isSelected(n))("text-neutral-400",!i.isSelected(n))("hover:text-neutral-200",!i.isSelected(n))("hover:border-neutral-500",!i.isSelected(n)),p("ngClass",ne(17,Re,i.isSelected(n))),r(),u((e=i.getPresenceForRow(n))?2:-1,e),r(),S(" ",i.getDisplayLabel(n)," "),r(),u(i.isLocal(n)?4:-1),r(),u(i.getActiveSessionForRow(n)?5:-1)}}function Pe(t,d){t&1&&(a(0,"span",3),s(1,"loading..."),o())}var Ee=(()=>{class t{peiContext_DS=y(ue);presenceMap=new Map;activeSessionMap=new Map;infoRequested=new Z;instances_$=h(()=>this.peiContext_DS.instanceList_$());selectedCcapId_$=h(()=>this.peiContext_DS.activeCcapId_$());localKey_$=h(()=>this.peiContext_DS.localInstanceKey_$());ngOnInit(){this.peiContext_DS.initialize()}handleSelectInstance(e){this.peiContext_DS.selectInstance(e)}handleInfoClick(e){this.infoRequested.emit({instanceKey:e})}getDisplayLabel(e){let n=e.hostName??"",i=(e.instanceKey??"").slice(-6);return n?`${n} (${i})`:i||"?"}isSelected(e){return(e.instanceKey??"")===this.selectedCcapId_$()}isLocal(e){return(e.instanceKey??"")===this.localKey_$()}getPresenceForRow(e){let n=e.instanceKey??"";return n?this.presenceMap.get(n)??null:null}getActiveSessionForRow(e){let n=e.instanceKey??"";return n?this.activeSessionMap.get(n)===!0:!1}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["app-s-instance-selector"]],hostAttrs:[1,"block"],inputs:{presenceMap:"presenceMap",activeSessionMap:"activeSessionMap"},outputs:{infoRequested:"infoRequested"},standalone:!0,features:[w],decls:6,vars:1,consts:[[1,"flex","gap-1","flex-wrap","items-center"],[1,"text-[10px]","text-neutral-500","mr-1","uppercase","tracking-wider"],[1,"flex","items-center","gap-0.5","group"],[1,"text-[10px]","text-neutral-600","italic"],[1,"px-2","py-0.5","text-[11px]","rounded-full","border","transition-colors","flex","items-center","gap-1",3,"click","ngClass"],[3,"presence","lastHeartbeatAt","wsConnected","showLabel"],[1,"ml-0.5","text-[9px]","text-neutral-500"],["title","Akt\xEDv session fut ezen az instance-en","aria-label","Akt\xEDv session fut ezen az instance-en","data-testid","s-instance-active-session-dot",1,"inline-block","w-1.5","h-1.5","rounded-full","bg-yellow-400","animate-pulse","shrink-0"],["type","button","title","Instance details","aria-label","Show instance details","data-testid","s-instance-selector-info-btn",1,"text-[11px]","leading-none","w-4","h-4","rounded-full","border","border-neutral-700","text-neutral-500","hover:text-ccapAccent","hover:border-ccapAccent","transition-colors","flex","items-center","justify-center",3,"click"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"span",1),s(2,"Instance:"),o(),F(3,Le,8,19,"div",2,Ae),_(5,Pe,2,0,"span",3),o()),n&2&&(r(3),V(i.instances_$()),r(2),u(i.instances_$().length?-1:5))},dependencies:[N,K,Y],encapsulation:2})}return t})();function je(t,d){if(t&1&&x(0,"app-s-instance-detail-view",3),t&2){let e=c(2);p("row",d)("presence",e.getPresenceForSelectedRow())}}function Be(t,d){if(t&1){let e=k();a(0,"app-s-modal",2),f("closed",function(){C(e);let i=c();return v(i.handleModalClosed())}),_(1,je,1,2,"app-s-instance-detail-view",3),o()}if(t&2){let e,n=c();p("isOpen",!0)("title",n.modalTitle_$())("maxWidth","lg"),r(),u((e=n.selectedRow_$())?1:-1,e)}}var en=(()=>{class t{instanceRegistry_DS=y(pe);runtimeInstances_DS=y(fe);presenceMap=new Map;activeSessionMap=new Map;selectedInstanceKey_$=$(null);viewRows_$=h(()=>Se.buildViewRows(this.instanceRegistry_DS.list_$(),this.runtimeInstances_DS.ccapInstanceList_$()));selectedRow_$=h(()=>{let e=this.selectedInstanceKey_$();return e?this.viewRows_$().find(n=>(n.registry.instanceKey??"")===e)??null:null});isModalOpen_$=h(()=>this.selectedRow_$()!==null);modalTitle_$=h(()=>{let e=this.selectedRow_$();if(!e)return"";let n=e.registry.hostName??"",i=e.registry.instanceKey??"";return n?`Instance \u2014 ${n}`:`Instance \u2014 ${i.slice(-6)||"?"}`});handleInfoRequested(e){this.selectedInstanceKey_$.set(e.instanceKey)}getPresenceForSelectedRow(){let e=this.selectedRow_$();if(!e)return;let n=e.registry.instanceKey??"";if(n)return this.presenceMap.get(n)}handleModalClosed(){this.selectedInstanceKey_$.set(null)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["app-s-instance-chip-row-with-info"]],hostAttrs:[1,"block"],inputs:{presenceMap:"presenceMap",activeSessionMap:"activeSessionMap"},standalone:!0,features:[w],decls:2,vars:3,consts:[[3,"infoRequested","presenceMap","activeSessionMap"],[3,"isOpen","title","maxWidth"],[3,"closed","isOpen","title","maxWidth"],[3,"row","presence"]],template:function(n,i){n&1&&(a(0,"app-s-instance-selector",0),f("infoRequested",function(m){return i.handleInfoRequested(m)}),o(),_(1,Be,2,4,"app-s-modal",1)),n&2&&(p("presenceMap",i.presenceMap)("activeSessionMap",i.activeSessionMap),r(),u(i.isModalOpen_$()?1:-1))},dependencies:[N,Ee,ce,we],encapsulation:2})}return t})();var G=(()=>{class t{currentlyOpenId_$=$(null);isOpen(e){return h(()=>this.currentlyOpenId_$()===e)}setOpen(e){this.currentlyOpenId_$.set(e)}toggle(e){this.currentlyOpenId_$()===e?this.currentlyOpenId_$.set(null):this.currentlyOpenId_$.set(e)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=X({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var P=function(t){return t.schedule="schedule",t.quickcast="quickcast",t.coordinator="coordinator",t.quickSettings="quick-settings",t}(P||{});var ke=(t,d)=>d._id,Ke=()=>["border-neonAmber/60","text-neonAmber","shadow-neon-glow-orange","hover:border-neonAmber","hover:bg-neonAmber/10"],Ne=()=>["border-neutral-700","text-neutral-600"];function Ge(t,d){if(t&1&&(a(0,"span",4),s(1),o()),t&2){let e=c();r(),S(" ",e.sessionJobs_$().length>9?"9+":e.sessionJobs_$().length," ")}}function He(t,d){t&1&&(E(),a(0,"svg",15),x(1,"path",22),o())}function Je(t,d){t&1&&(E(),a(0,"svg",15),x(1,"rect",23)(2,"rect",24),o())}function Qe(t,d){t&1&&(a(0,"span",18),s(1," \u23F8 paused "),o())}function qe(t,d){if(t&1&&(a(0,"span",20),s(1),z(2,"date"),o()),t&2){let e=c().$implicit;r(),S(" ",B(2,1,e.nextDueAt,"yyyy-MM-dd HH:mm")," ")}}function Ye(t,d){t&1&&(a(0,"span",21),s(1,"\u2014"),o())}function We(t,d){if(t&1&&(a(0,"span",27),s(1),o()),t&2){let e=d.$implicit,n=c(5);p("ngClass",n.getExecutionBadgeClass(e.status))("title",n.buildExecutionBadgeTooltip(e)),r(),S(" ",n.getExecutionBadgeLabel(e.status)," ")}}function Ue(t,d){if(t&1&&(a(0,"div",25)(1,"span",26),s(2,"Trigger-ek:"),o(),F(3,We,2,3,"span",27,ke),o()),t&2){let e=c();r(3),V(e)}}function Xe(t,d){t&1&&_(0,Ue,5,0,"div",25),t&2&&u(d.length>0?0:-1)}function Ze(t,d){if(t&1){let e=k();a(0,"div",9)(1,"div",6)(2,"div",10)(3,"span",11),s(4),o(),a(5,"span",12),s(6),z(7,"schSchedulePresetLabel"),o()(),a(8,"div",13)(9,"button",14),f("click",function(){let i=C(e).$implicit,l=c(2);return v(l.handleTogglePaused(i))}),_(10,He,2,0,":svg:svg",15)(11,Je,3,0,":svg:svg",15),o(),a(12,"button",16),f("click",function(){let i=C(e).$implicit,l=c(2);return v(l.handleTriggerNow(i))}),E(),a(13,"svg",15),x(14,"path",17),o()()()(),_(15,Qe,2,0,"span",18),Q(),a(16,"div",19)(17,"span"),s(18,"K\xF6vetkez\u0151:"),o(),_(19,qe,3,4,"span",20)(20,Ye,2,0,"span",21),o(),_(21,Xe,1,1),o()}if(t&2){let e,n,i,l,m,T,j,g=d.$implicit,D=c(2);r(3),p("title",(e=g.name)!==null&&e!==void 0?e:""),r(),S(" ",((n=g.name)!==null&&n!==void 0?n:"").trim()||"Unnamed schedule"," "),r(2),S(" ",ie(7,28,g.schedule)," "),r(3),M("border-neonCyan",g.paused)("text-neonCyan",g.paused)("hover:bg-neonCyan",g.paused)("hover:bg-opacity-10",g.paused)("border-neutral-500",!g.paused)("text-neutral-400",!g.paused)("hover:border-neutral-300",!g.paused)("hover:text-neutral-200",!g.paused),p("disabled",D.busyJobIds_$().has((i=g._id)!==null&&i!==void 0?i:""))("title",D.busyJobIds_$().has((l=g._id)!==null&&l!==void 0?l:"")?"Folyamatban\u2026":g.paused?"Folytat\xE1s (Resume)":"Sz\xFCneteltet\xE9s (Pause)"),R("aria-label",g.paused?"Resume schedule":"Pause schedule"),r(),u(g.paused?10:11),r(2),p("disabled",D.busyJobIds_$().has((m=g._id)!==null&&m!==void 0?m:""))("title",D.busyJobIds_$().has((T=g._id)!==null&&T!==void 0?T:"")?"Ind\xEDt\xE1s folyamatban\u2026":"Most futtatni (Trigger Now)"),r(3),u(g.paused?15:-1),r(4),u(g.nextDueAt?19:20),r(2),u((j=D.getRecentExecutions(g))?21:-1,j)}}function et(t,d){if(t&1){let e=k();a(0,"div",5)(1,"div",6)(2,"span",7),s(3),o(),a(4,"button",8),f("click",function(){C(e);let i=c();return v(i.handleToggle())}),s(5," \xD7 "),o()(),F(6,Ze,22,30,"div",9,ke),o()}if(t&2){let e=c();r(3),S(" Schedule (",e.sessionJobs_$().length,") "),r(3),V(e.sessionJobs_$())}}var _n=(()=>{class t{sessionId=A.required();scheduledJobs_DS=y(ge);overlayCoordinator_CS=y(G);OVERLAY_ID=P.schedule;isOpen_$=this.overlayCoordinator_CS.isOpen(this.OVERLAY_ID);busyJobIds_$=$(new Set);sessionJobs_$=h(()=>{let e=(this.sessionId()??"").trim();return e?this.scheduledJobs_DS.jobs_$().filter(i=>i.enabled===!1?!1:(i.target?.payload?.sessionId??"").trim()===e):[]});hasSchedule_$=h(()=>this.sessionJobs_$().length>0);ngOnInit(){this.scheduledJobs_DS.jobs_$().length===0&&this.scheduledJobs_DS.loadAll()}handleToggle(){this.overlayCoordinator_CS.toggle(this.OVERLAY_ID)}handleTriggerNow(e){return H(this,null,function*(){let n=(e._id??"").trim();if(n&&!this.busyJobIds_$().has(n)){this.busyJobIds_$.update(i=>{let l=new Set(i);return l.add(n),l});try{yield this.scheduledJobs_DS.triggerNow({jobId:n,reason:"session-overlay-manual"})}finally{this.busyJobIds_$.update(i=>{let l=new Set(i);return l.delete(n),l})}}})}handleTogglePaused(e){return H(this,null,function*(){let n=(e._id??"").trim();if(!n||this.busyJobIds_$().has(n))return;let i=!e.paused;this.busyJobIds_$.update(l=>{let m=new Set(l);return m.add(n),m});try{yield this.scheduledJobs_DS.togglePaused(n,i)}finally{this.busyJobIds_$.update(l=>{let m=new Set(l);return m.delete(n),m})}})}getRecentExecutions(e){let n=e._id??"";return n?this.scheduledJobs_DS.recentExecutions_$().get(n)??[]:[]}getExecutionBadgeClass(e){switch(e){case"triggered":return"bg-emerald-500/20 text-emerald-400";case"completed":return"bg-sky-500/20 text-sky-400";case"skipped":return"bg-neutral-600/30 text-neutral-400";case"failed":return"bg-red-500/20 text-red-400";case"cancelled":return"bg-amber-500/20 text-amber-400";case"dry-run":return"bg-purple-500/20 text-purple-400";default:return"bg-neutral-700/40 text-neutral-500"}}getExecutionBadgeLabel(e){switch(e){case"triggered":return"OK";case"completed":return"Done";case"skipped":return"Skip";case"failed":return"Fail";case"cancelled":return"Cancel";case"dry-run":return"Dry";default:return"?"}}buildExecutionBadgeTooltip(e){let n=[];return e.scheduledAt&&(n.push(new Date(e.scheduledAt).toISOString().slice(0,16).replace("T"," ")),n.push(" \u2014 ")),n.push(e.status??"?"),e.skipReason&&n.push(` (${e.skipReason})`),e.status==="failed"&&e.errorDetails?.message&&n.push(`: ${e.errorDetails.message}`),n.join("")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["app-s-session-schedule-overlay"]],hostAttrs:[1,"absolute","bottom-4","left-0","z-30","pointer-events-none"],inputs:{sessionId:[1,"sessionId"]},standalone:!0,features:[w],decls:6,vars:12,consts:[[1,"flex","items-end","gap-2","pointer-events-auto"],["type","button","aria-label","Schedule",1,"relative","flex","items-center","justify-center","h-8","w-7","bg-neutral-900","border-2","border-l-0","rounded-r-lg","transition-all","duration-200","ease-out","disabled:cursor-not-allowed",3,"click","disabled","title","ngClass"],["fill","none","stroke","currentColor","viewBox","0 0 24 24","aria-hidden","true",1,"w-4","h-4"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d",`M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5
1
+ import{a as he}from"./chunk-4GTK6NMH.js";import{a as ge,b as Ce}from"./chunk-6XSACJBG.js";import{a as me,b as _e}from"./chunk-77JJATPE.js";import{a as Se,b as Y}from"./chunk-L44637OO.js";import{a as ue}from"./chunk-QSN7KY5M.js";import{b as pe}from"./chunk-BNU5THES.js";import{d as fe}from"./chunk-WDUO4IJE.js";import{d as U,h as xe}from"./chunk-GIEG6TTL.js";import{a as ce}from"./chunk-FLAJXIYW.js";import{f as oe,i as ae,n as re,o as se,p as le,v as de}from"./chunk-EO4DNTT4.js";import{p as Te}from"./chunk-6TE4LLRT.js";import{$a as z,C as y,D as b,Fa as s,Ga as I,Ha as S,Ia as te,J as C,K as v,L as E,M as Q,Q as Z,T as q,Ta as w,U as A,Ua as O,Va as ne,Z as r,aa as $,ab as ie,bb as B,da as _,fa as R,ga as p,h as $e,hb as h,ia as M,k as H,la as u,mb as K,na as ee,oa as F,pa as V,pb as J,qa as a,ra as o,sa as x,ua as k,ub as N,va as f,wa as c,y as X}from"./chunk-TBMJSIBB.js";var ye=$e(Te());var W=(()=>{class t{static SESSION_LIMIT_TYPE="five_hour";static WEEKLY_LIMIT_TYPE="seven_day";static formatResetText(e){if(!e?.resetsAt)return"";let n=new Date(e.resetsAt*1e3),i=new Date,l=n.getTime()-i.getTime();if(l<=0)return"expired";let m=Math.floor(l/6e4),T=Math.floor(m/60),j=m%60;return T>0?`${T}h ${j}m`:`${j}m`}static formatResetTextPrecise(e){if(!e?.resetsAt)return"";let n=new Date(e.resetsAt*1e3),i=new Date,l=Math.floor((n.getTime()-i.getTime())/1e3);if(l<=0)return"expired";let m=Math.floor(l/86400),T=Math.floor(l%86400/3600),j=Math.floor(l%3600/60),g=l%60,D=[];return m&&D.push(`${m}d`),(m||T)&&D.push(`${T}h`),(m||T||j)&&D.push(`${j}m`),D.push(`${g}s`),D.join(" ")}static computeUtilizationPercent(e){if(!e)return 0;let n=typeof e.utilization=="number"?e.utilization:0,i=Math.max(0,Math.min(1,n));return Math.round(i*100)}static computeThresholdPercent(e){if(!e)return 0;let n=typeof e.surpassedThreshold=="number"?e.surpassedThreshold:0,i=Math.max(0,Math.min(1,n));return Math.round(i*100)}static isOverThreshold(e){if(!e)return!1;let n=typeof e.utilization=="number"?e.utilization:0,i=typeof e.surpassedThreshold=="number"?e.surpassedThreshold:1;return n>=i&&i>0}static formatLimitScopeLabel(e){return e?.rateLimitType?e.rateLimitType===t.SESSION_LIMIT_TYPE?"Session":e.rateLimitType===t.WEEKLY_LIMIT_TYPE?"Weekly":e.rateLimitType:""}}return t})();function Me(t,d){if(t&1&&(a(0,"div",0)(1,"span",1),s(2," Rate limit "),o(),a(3,"span",2),s(4,"Scope"),o(),a(5,"span",3),s(6),o(),a(7,"span",2),s(8,"St\xE1tusz"),o(),a(9,"span",3),s(10),o(),a(11,"span",2),s(12,"Utilization"),o(),a(13,"span",4),s(14),o(),a(15,"span",2),s(16,"Reset"),o(),a(17,"span",4),s(18),o(),a(19,"span",2),s(20,"Utols\xF3 \xE9szlel\xE9s"),o(),a(21,"span",5),s(22),z(23,"date"),o()()),t&2){let e=d,n=c();r(6),I(n.limitScopeLabel_$()||"\u2014"),r(3),M("text-neonRed",e.status==="limited")("text-yellow-400",e.status==="allowed_warning")("text-neutral-300",e.status==="allowed"),r(),S(" ",e.status||"\u2014"," "),r(4),S("",n.utilizationPercent_$(),"%"),r(4),I(n.resetText_$()||"\u2014"),r(4),S(" ",B(23,11,e.receivedAt,"yyyy-MM-dd HH:mm:ss")||"\u2014"," ")}}var be=(()=>{class t{claudeCode_AS=y(me);_ccapId="";set ccapId(e){this._ccapId=e?.trim()??"",this.refreshRateLimitState()}get ccapId(){return this._ccapId}rateLimitInfo_$=$(null);utilizationPercent_$=h(()=>W.computeUtilizationPercent(this.rateLimitInfo_$()));resetText_$=h(()=>W.formatResetText(this.rateLimitInfo_$()));limitScopeLabel_$=h(()=>W.formatLimitScopeLabel(this.rateLimitInfo_$()));refreshRateLimitState(){if(!this._ccapId){this.rateLimitInfo_$.set(null);return}this.claudeCode_AS.getRateLimitState({ccapId:this._ccapId}).then(e=>{let n=_e.mapServerItemsToClientInfo(e.items);this.rateLimitInfo_$.set(n)}).catch(e=>{ye.DyFM_Log.warn(`s-cc-rate-limit-info | rate-limit fetch failed | ccapId: ${this._ccapId} | err: ${String(e)}`),this.rateLimitInfo_$.set(null)})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["app-s-cc-rate-limit-info"]],inputs:{ccapId:"ccapId"},standalone:!0,features:[w],decls:1,vars:1,consts:[[1,"grid","grid-cols-[minmax(8rem,auto)_1fr]","gap-x-3","gap-y-2","text-xs","text-neutral-200"],[1,"col-span-2","text-[11px]","uppercase","tracking-wider","text-neutral-500"],[1,"text-neutral-500","shrink-0"],[1,"whitespace-nowrap"],[1,"whitespace-nowrap","font-mono"],[1,"font-mono","text-[11px]","whitespace-nowrap"]],template:function(n,i){if(n&1&&_(0,Me,24,14,"div",0),n&2){let l;u((l=i.rateLimitInfo_$())?0:-1,l)}},dependencies:[N,J],encapsulation:2})}return t})();function Oe(t,d){if(t&1&&(a(0,"span",1),s(1,"Instance presence"),o(),a(2,"span",4),x(3,"app-s-instance-presence-badge",8),o()),t&2){let e=d;r(3),p("presence",e.presence)("lastHeartbeatAt",e.lastHeartbeatAt)("wsConnected",e.wsConnected)}}function De(t,d){if(t&1&&(a(0,"span",9),s(1,"Run / tev\xE9kenys\xE9g"),o(),a(2,"span",10)(3,"span",11),s(4),o(),a(5,"span",12),s(6),o()(),a(7,"span",1),s(8,"Utols\xF3 aktivit\xE1s"),o(),a(9,"span",13),s(10),z(11,"date"),o(),a(12,"span",1),s(13,"Utols\xF3 \xFCzenet"),o(),a(14,"span",14),s(15),o()),t&2){let e=d;r(4),I(e.activeRunPhase||"\u2014"),r(2),I(e.activitySummary||"\u2014"),r(4),S(" ",B(11,4,e.lastActivityAt,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),r(5),I(e.lastMessage||"\u2014")}}var we=(()=>{class t{row;presence=void 0;static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["app-s-instance-detail-view"]],inputs:{row:"row",presence:"presence"},standalone:!0,features:[w],decls:43,vars:18,consts:[[1,"grid","grid-cols-[minmax(8rem,auto)_1fr]","gap-x-3","gap-y-2","text-xs","text-neutral-200"],[1,"text-neutral-500","shrink-0"],[1,"font-mono","break-all"],[1,"break-all"],[1,"whitespace-nowrap"],[1,"font-mono","whitespace-nowrap"],[1,"mt-2","pt-2","border-t","border-neutral-800"],[3,"ccapId"],[3,"presence","lastHeartbeatAt","wsConnected"],[1,"text-neutral-500","shrink-0","self-start","pt-0.5"],[1,"break-words"],[1,"font-mono","text-[11px]","text-neutral-400","block"],[1,"text-neutral-300"],[1,"font-mono","text-[11px]","whitespace-nowrap"],[1,"break-words","text-neutral-300"]],template:function(n,i){if(n&1&&(a(0,"div",0)(1,"span",1),s(2,"instanceKey"),o(),a(3,"span",2),s(4),o(),a(5,"span",1),s(6,"N\xE9v"),o(),a(7,"span",3),s(8),o(),a(9,"span",1),s(10,"St\xE1tusz"),o(),a(11,"span",4),s(12),o(),_(13,Oe,4,3),a(14,"span",1),s(15,"Session presence"),o(),a(16,"span",4),s(17),o(),_(18,De,16,7),a(19,"span",1),s(20,"MAC"),o(),a(21,"span",2),s(22),o(),a(23,"span",1),s(24,"Install path"),o(),a(25,"span",2),s(26),o(),a(27,"span",1),s(28,"hostName"),o(),a(29,"span",3),s(30),o(),a(31,"span",1),s(32,"registry __created"),o(),a(33,"span",5),s(34),z(35,"date"),o(),a(36,"span",1),s(37,"registry __updated"),o(),a(38,"span",5),s(39),z(40,"date"),o()(),a(41,"div",6),x(42,"app-s-cc-rate-limit-info",7),o()),n&2){let l,m;r(4),I(i.row.registry.instanceKey||"\u2014"),r(4),I((i.row.instanceData==null||i.row.instanceData.name==null?null:i.row.instanceData.name.trim())||"\u2014"),r(4),I((i.row.instanceData==null?null:i.row.instanceData.status)||"\u2014"),r(),u((l=i.presence)?13:-1,l),r(4),S(" ",(i.row.instanceData==null||i.row.instanceData.sessionStatuses==null||i.row.instanceData.sessionStatuses[0]==null?null:i.row.instanceData.sessionStatuses[0].presence)||"\u2014"," "),r(),u((m=i.row.instanceData==null||i.row.instanceData.sessionStatuses==null?null:i.row.instanceData.sessionStatuses[0])?18:-1,m),r(4),I(i.row.registry.primaryMacAddress||"\u2014"),r(4),I(i.row.registry.installLocationPath||"\u2014"),r(4),I(i.row.registry.hostName||"\u2014"),r(4),S(" ",B(35,12,i.row.registry.__created,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),r(5),S(" ",B(40,15,i.row.registry.__updated,"yyyy-MM-dd HH:mm:ss")||"\u2014"," "),r(3),p("ccapId",i.row.registry.instanceKey||"")}},dependencies:[N,J,be,Y],encapsulation:2})}return t})();var Ae=(t,d)=>d.instanceKey,Re=t=>({"bg-ccapAccent/10":t});function Fe(t,d){if(t&1&&x(0,"app-s-instance-presence-badge",5),t&2){let e=d;p("presence",e.presence)("lastHeartbeatAt",e.lastHeartbeatAt)("wsConnected",e.wsConnected)("showLabel",!1)}}function Ve(t,d){t&1&&(a(0,"span",6),s(1,"(local)"),o())}function ze(t,d){t&1&&x(0,"span",7)}function Le(t,d){if(t&1){let e=k();a(0,"div",2)(1,"button",4),f("click",function(){let i,l=C(e).$implicit,m=c();return v(m.handleSelectInstance((i=l.instanceKey)!==null&&i!==void 0?i:""))}),_(2,Fe,1,4,"app-s-instance-presence-badge",5),s(3),_(4,Ve,2,0,"span",6)(5,ze,1,0,"span",7),o(),a(6,"button",8),f("click",function(){let i,l=C(e).$implicit,m=c();return v(m.handleInfoClick((i=l.instanceKey)!==null&&i!==void 0?i:""))}),s(7," i "),o()()}if(t&2){let e,n=d.$implicit,i=c();r(),M("border-ccapAccent",i.isSelected(n))("text-ccapAccent",i.isSelected(n))("border-neonDefault",!i.isSelected(n))("text-neutral-400",!i.isSelected(n))("hover:text-neutral-200",!i.isSelected(n))("hover:border-neutral-500",!i.isSelected(n)),p("ngClass",ne(17,Re,i.isSelected(n))),r(),u((e=i.getPresenceForRow(n))?2:-1,e),r(),S(" ",i.getDisplayLabel(n)," "),r(),u(i.isLocal(n)?4:-1),r(),u(i.getActiveSessionForRow(n)?5:-1)}}function Pe(t,d){t&1&&(a(0,"span",3),s(1,"loading..."),o())}var Ee=(()=>{class t{peiContext_DS=y(ue);presenceMap=new Map;activeSessionMap=new Map;infoRequested=new Z;instances_$=h(()=>this.peiContext_DS.instanceList_$());selectedCcapId_$=h(()=>this.peiContext_DS.activeCcapId_$());localKey_$=h(()=>this.peiContext_DS.localInstanceKey_$());ngOnInit(){this.peiContext_DS.initialize()}handleSelectInstance(e){this.peiContext_DS.selectInstance(e)}handleInfoClick(e){this.infoRequested.emit({instanceKey:e})}getDisplayLabel(e){let n=e.hostName??"",i=(e.instanceKey??"").slice(-6);return n?`${n} (${i})`:i||"?"}isSelected(e){return(e.instanceKey??"")===this.selectedCcapId_$()}isLocal(e){return(e.instanceKey??"")===this.localKey_$()}getPresenceForRow(e){let n=e.instanceKey??"";return n?this.presenceMap.get(n)??null:null}getActiveSessionForRow(e){let n=e.instanceKey??"";return n?this.activeSessionMap.get(n)===!0:!1}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["app-s-instance-selector"]],hostAttrs:[1,"block"],inputs:{presenceMap:"presenceMap",activeSessionMap:"activeSessionMap"},outputs:{infoRequested:"infoRequested"},standalone:!0,features:[w],decls:6,vars:1,consts:[[1,"flex","gap-1","flex-wrap","items-center"],[1,"text-[10px]","text-neutral-500","mr-1","uppercase","tracking-wider"],[1,"flex","items-center","gap-0.5","group"],[1,"text-[10px]","text-neutral-600","italic"],[1,"px-2","py-0.5","text-[11px]","rounded-full","border","transition-colors","flex","items-center","gap-1",3,"click","ngClass"],[3,"presence","lastHeartbeatAt","wsConnected","showLabel"],[1,"ml-0.5","text-[9px]","text-neutral-500"],["title","Akt\xEDv session fut ezen az instance-en","aria-label","Akt\xEDv session fut ezen az instance-en","data-testid","s-instance-active-session-dot",1,"inline-block","w-1.5","h-1.5","rounded-full","bg-yellow-400","animate-pulse","shrink-0"],["type","button","title","Instance details","aria-label","Show instance details","data-testid","s-instance-selector-info-btn",1,"text-[11px]","leading-none","w-4","h-4","rounded-full","border","border-neutral-700","text-neutral-500","hover:text-ccapAccent","hover:border-ccapAccent","transition-colors","flex","items-center","justify-center",3,"click"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"span",1),s(2,"Instance:"),o(),F(3,Le,8,19,"div",2,Ae),_(5,Pe,2,0,"span",3),o()),n&2&&(r(3),V(i.instances_$()),r(2),u(i.instances_$().length?-1:5))},dependencies:[N,K,Y],encapsulation:2})}return t})();function je(t,d){if(t&1&&x(0,"app-s-instance-detail-view",3),t&2){let e=c(2);p("row",d)("presence",e.getPresenceForSelectedRow())}}function Be(t,d){if(t&1){let e=k();a(0,"app-s-modal",2),f("closed",function(){C(e);let i=c();return v(i.handleModalClosed())}),_(1,je,1,2,"app-s-instance-detail-view",3),o()}if(t&2){let e,n=c();p("isOpen",!0)("title",n.modalTitle_$())("maxWidth","lg"),r(),u((e=n.selectedRow_$())?1:-1,e)}}var en=(()=>{class t{instanceRegistry_DS=y(pe);runtimeInstances_DS=y(fe);presenceMap=new Map;activeSessionMap=new Map;selectedInstanceKey_$=$(null);viewRows_$=h(()=>Se.buildViewRows(this.instanceRegistry_DS.list_$(),this.runtimeInstances_DS.ccapInstanceList_$()));selectedRow_$=h(()=>{let e=this.selectedInstanceKey_$();return e?this.viewRows_$().find(n=>(n.registry.instanceKey??"")===e)??null:null});isModalOpen_$=h(()=>this.selectedRow_$()!==null);modalTitle_$=h(()=>{let e=this.selectedRow_$();if(!e)return"";let n=e.registry.hostName??"",i=e.registry.instanceKey??"";return n?`Instance \u2014 ${n}`:`Instance \u2014 ${i.slice(-6)||"?"}`});handleInfoRequested(e){this.selectedInstanceKey_$.set(e.instanceKey)}getPresenceForSelectedRow(){let e=this.selectedRow_$();if(!e)return;let n=e.registry.instanceKey??"";if(n)return this.presenceMap.get(n)}handleModalClosed(){this.selectedInstanceKey_$.set(null)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["app-s-instance-chip-row-with-info"]],hostAttrs:[1,"block"],inputs:{presenceMap:"presenceMap",activeSessionMap:"activeSessionMap"},standalone:!0,features:[w],decls:2,vars:3,consts:[[3,"infoRequested","presenceMap","activeSessionMap"],[3,"isOpen","title","maxWidth"],[3,"closed","isOpen","title","maxWidth"],[3,"row","presence"]],template:function(n,i){n&1&&(a(0,"app-s-instance-selector",0),f("infoRequested",function(m){return i.handleInfoRequested(m)}),o(),_(1,Be,2,4,"app-s-modal",1)),n&2&&(p("presenceMap",i.presenceMap)("activeSessionMap",i.activeSessionMap),r(),u(i.isModalOpen_$()?1:-1))},dependencies:[N,Ee,ce,we],encapsulation:2})}return t})();var G=(()=>{class t{currentlyOpenId_$=$(null);isOpen(e){return h(()=>this.currentlyOpenId_$()===e)}setOpen(e){this.currentlyOpenId_$.set(e)}toggle(e){this.currentlyOpenId_$()===e?this.currentlyOpenId_$.set(null):this.currentlyOpenId_$.set(e)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=X({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var P=function(t){return t.schedule="schedule",t.quickcast="quickcast",t.coordinator="coordinator",t.quickSettings="quick-settings",t}(P||{});var ke=(t,d)=>d._id,Ke=()=>["border-neonAmber/60","text-neonAmber","shadow-neon-glow-orange","hover:border-neonAmber","hover:bg-neonAmber/10"],Ne=()=>["border-neutral-700","text-neutral-600"];function Ge(t,d){if(t&1&&(a(0,"span",4),s(1),o()),t&2){let e=c();r(),S(" ",e.sessionJobs_$().length>9?"9+":e.sessionJobs_$().length," ")}}function He(t,d){t&1&&(E(),a(0,"svg",15),x(1,"path",22),o())}function Je(t,d){t&1&&(E(),a(0,"svg",15),x(1,"rect",23)(2,"rect",24),o())}function Qe(t,d){t&1&&(a(0,"span",18),s(1," \u23F8 paused "),o())}function qe(t,d){if(t&1&&(a(0,"span",20),s(1),z(2,"date"),o()),t&2){let e=c().$implicit;r(),S(" ",B(2,1,e.nextDueAt,"yyyy-MM-dd HH:mm")," ")}}function Ye(t,d){t&1&&(a(0,"span",21),s(1,"\u2014"),o())}function We(t,d){if(t&1&&(a(0,"span",27),s(1),o()),t&2){let e=d.$implicit,n=c(5);p("ngClass",n.getExecutionBadgeClass(e.status))("title",n.buildExecutionBadgeTooltip(e)),r(),S(" ",n.getExecutionBadgeLabel(e.status)," ")}}function Ue(t,d){if(t&1&&(a(0,"div",25)(1,"span",26),s(2,"Trigger-ek:"),o(),F(3,We,2,3,"span",27,ke),o()),t&2){let e=c();r(3),V(e)}}function Xe(t,d){t&1&&_(0,Ue,5,0,"div",25),t&2&&u(d.length>0?0:-1)}function Ze(t,d){if(t&1){let e=k();a(0,"div",9)(1,"div",6)(2,"div",10)(3,"span",11),s(4),o(),a(5,"span",12),s(6),z(7,"schSchedulePresetLabel"),o()(),a(8,"div",13)(9,"button",14),f("click",function(){let i=C(e).$implicit,l=c(2);return v(l.handleTogglePaused(i))}),_(10,He,2,0,":svg:svg",15)(11,Je,3,0,":svg:svg",15),o(),a(12,"button",16),f("click",function(){let i=C(e).$implicit,l=c(2);return v(l.handleTriggerNow(i))}),E(),a(13,"svg",15),x(14,"path",17),o()()()(),_(15,Qe,2,0,"span",18),Q(),a(16,"div",19)(17,"span"),s(18,"K\xF6vetkez\u0151:"),o(),_(19,qe,3,4,"span",20)(20,Ye,2,0,"span",21),o(),_(21,Xe,1,1),o()}if(t&2){let e,n,i,l,m,T,j,g=d.$implicit,D=c(2);r(3),p("title",(e=g.name)!==null&&e!==void 0?e:""),r(),S(" ",((n=g.name)!==null&&n!==void 0?n:"").trim()||"Unnamed schedule"," "),r(2),S(" ",ie(7,28,g.schedule)," "),r(3),M("border-neonCyan",g.paused)("text-neonCyan",g.paused)("hover:bg-neonCyan",g.paused)("hover:bg-opacity-10",g.paused)("border-neutral-500",!g.paused)("text-neutral-400",!g.paused)("hover:border-neutral-300",!g.paused)("hover:text-neutral-200",!g.paused),p("disabled",D.busyJobIds_$().has((i=g._id)!==null&&i!==void 0?i:""))("title",D.busyJobIds_$().has((l=g._id)!==null&&l!==void 0?l:"")?"Folyamatban\u2026":g.paused?"Folytat\xE1s (Resume)":"Sz\xFCneteltet\xE9s (Pause)"),R("aria-label",g.paused?"Resume schedule":"Pause schedule"),r(),u(g.paused?10:11),r(2),p("disabled",D.busyJobIds_$().has((m=g._id)!==null&&m!==void 0?m:""))("title",D.busyJobIds_$().has((T=g._id)!==null&&T!==void 0?T:"")?"Ind\xEDt\xE1s folyamatban\u2026":"Most futtatni (Trigger Now)"),r(3),u(g.paused?15:-1),r(4),u(g.nextDueAt?19:20),r(2),u((j=D.getRecentExecutions(g))?21:-1,j)}}function et(t,d){if(t&1){let e=k();a(0,"div",5)(1,"div",6)(2,"span",7),s(3),o(),a(4,"button",8),f("click",function(){C(e);let i=c();return v(i.handleToggle())}),s(5," \xD7 "),o()(),F(6,Ze,22,30,"div",9,ke),o()}if(t&2){let e=c();r(3),S(" Schedule (",e.sessionJobs_$().length,") "),r(3),V(e.sessionJobs_$())}}var _n=(()=>{class t{sessionId=A.required();scheduledJobs_DS=y(ge);overlayCoordinator_CS=y(G);OVERLAY_ID=P.schedule;isOpen_$=this.overlayCoordinator_CS.isOpen(this.OVERLAY_ID);busyJobIds_$=$(new Set);sessionJobs_$=h(()=>{let e=(this.sessionId()??"").trim();return e?this.scheduledJobs_DS.jobs_$().filter(i=>i.enabled===!1?!1:(i.target?.payload?.sessionId??"").trim()===e):[]});hasSchedule_$=h(()=>this.sessionJobs_$().length>0);ngOnInit(){this.scheduledJobs_DS.jobs_$().length===0&&this.scheduledJobs_DS.loadAll()}handleToggle(){this.overlayCoordinator_CS.toggle(this.OVERLAY_ID)}handleTriggerNow(e){return H(this,null,function*(){let n=(e._id??"").trim();if(n&&!this.busyJobIds_$().has(n)){this.busyJobIds_$.update(i=>{let l=new Set(i);return l.add(n),l});try{yield this.scheduledJobs_DS.triggerNow({jobId:n,reason:"session-overlay-manual"})}finally{this.busyJobIds_$.update(i=>{let l=new Set(i);return l.delete(n),l})}}})}handleTogglePaused(e){return H(this,null,function*(){let n=(e._id??"").trim();if(!n||this.busyJobIds_$().has(n))return;let i=!e.paused;this.busyJobIds_$.update(l=>{let m=new Set(l);return m.add(n),m});try{yield this.scheduledJobs_DS.togglePaused(n,i)}finally{this.busyJobIds_$.update(l=>{let m=new Set(l);return m.delete(n),m})}})}getRecentExecutions(e){let n=e._id??"";return n?this.scheduledJobs_DS.recentExecutions_$().get(n)??[]:[]}getExecutionBadgeClass(e){switch(e){case"triggered":return"bg-emerald-500/20 text-emerald-400";case"completed":return"bg-sky-500/20 text-sky-400";case"skipped":return"bg-neutral-600/30 text-neutral-400";case"failed":return"bg-red-500/20 text-red-400";case"cancelled":return"bg-amber-500/20 text-amber-400";case"dry-run":return"bg-purple-500/20 text-purple-400";default:return"bg-neutral-700/40 text-neutral-500"}}getExecutionBadgeLabel(e){switch(e){case"triggered":return"OK";case"completed":return"Done";case"skipped":return"Skip";case"failed":return"Fail";case"cancelled":return"Cancel";case"dry-run":return"Dry";default:return"?"}}buildExecutionBadgeTooltip(e){let n=[];return e.scheduledAt&&(n.push(new Date(e.scheduledAt).toISOString().slice(0,16).replace("T"," ")),n.push(" \u2014 ")),n.push(e.status??"?"),e.skipReason&&n.push(` (${e.skipReason})`),e.status==="failed"&&e.errorDetails?.message&&n.push(`: ${e.errorDetails.message}`),n.join("")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["app-s-session-schedule-overlay"]],hostAttrs:[1,"absolute","bottom-4","left-0","z-30","pointer-events-none"],inputs:{sessionId:[1,"sessionId"]},standalone:!0,features:[w],decls:6,vars:12,consts:[[1,"flex","items-end","gap-2","pointer-events-auto"],["type","button","aria-label","Schedule",1,"relative","flex","items-center","justify-center","h-8","w-7","bg-neutral-900","border-2","border-l-0","rounded-r-lg","transition-all","duration-200","ease-out","disabled:cursor-not-allowed",3,"click","disabled","title","ngClass"],["fill","none","stroke","currentColor","viewBox","0 0 24 24","aria-hidden","true",1,"w-4","h-4"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d",`M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5
2
2
  a2 2 0 00-2 2v12a2 2 0 002 2z`],["aria-hidden","true",1,"absolute","-top-1","-right-1","min-w-[14px]","h-[14px]","px-[2px]","bg-neonCyan","text-neutral-900","rounded-full","text-[9px]","font-mono","font-bold","leading-[14px]","text-center","shadow-neon-glow-cyan"],[1,"bg-neutral-900","border-2","border-neonAmber/60","rounded-lg","p-3","flex","flex-col","gap-2","min-w-[16rem]","max-w-xs","shadow-neon-glow-orange"],[1,"flex","items-center","justify-between","gap-2"],[1,"text-[10px]","uppercase","tracking-wider","text-neonAmber","font-mono"],["type","button","title","Bez\xE1r\xE1s","aria-label","Schedule panel bez\xE1r\xE1sa",1,"text-neutral-400","hover:text-neonAmber","leading-none","px-1","transition-colors",3,"click"],[1,"flex","flex-col","gap-1","border-t","border-neutral-800","pt-2","first:border-t-0","first:pt-0"],[1,"flex","flex-col","min-w-0"],[1,"text-sm","text-neutral-100","truncate",3,"title"],[1,"text-[10px]","text-neutral-500","font-mono"],[1,"flex","items-center","gap-1.5","shrink-0"],["type","button",1,"flex","items-center","justify-center","w-7","h-7","rounded-full","bg-neutral-900","border-2","transition-all","disabled:opacity-40","disabled:cursor-not-allowed",3,"click","disabled","title"],["fill","currentColor","viewBox","0 0 24 24","aria-hidden","true",1,"w-3.5","h-3.5"],["type","button","aria-label","Trigger now",1,"flex","items-center","justify-center","w-7","h-7","rounded-full","bg-neutral-900","border-2","border-neonAmber/60","text-neonAmber","hover:border-neonAmber","hover:bg-neonAmber/10","hover:shadow-neon-glow-orange","disabled:opacity-40","disabled:cursor-not-allowed","transition-all",3,"click","disabled","title"],["d","M8 5v14l11-7z"],[1,"inline-flex","items-center","gap-1","self-start","text-[9px]","uppercase","tracking-wider","px-1.5","py-0.5","rounded","border","border-neonCyan/50","bg-neonCyan/10","text-neonCyan","font-mono"],["title","K\xF6vetkez\u0151 \xFCtemezett fut\xE1s id\u0151pontja",1,"text-[10px]","text-neutral-500","flex","items-center","gap-1"],[1,"text-emerald-400","font-medium"],[1,"text-neutral-300"],["d","M5 5v14h2V5H5zm5 0v14l11-7z"],["x","6","y","5","width","4","height","14"],["x","14","y","5","width","4","height","14"],[1,"flex","items-center","gap-1","flex-wrap"],[1,"text-[10px]","text-neutral-500"],[1,"inline-flex","items-center","px-1.5","py-0.5","text-[10px]","rounded",3,"ngClass","title"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"button",1),f("click",function(){return i.handleToggle()}),E(),a(2,"svg",2),x(3,"path",3),o(),_(4,Ge,2,1,"span",4),o(),_(5,et,8,1,"div",5),o()),n&2&&(r(),M("-translate-x-2",!i.isOpen_$())("translate-x-2",i.isOpen_$()),p("disabled",!i.hasSchedule_$())("title",i.hasSchedule_$()?i.isOpen_$()?"Schedule panel bez\xE1r\xE1sa":"Schedule megjelen\xEDt\xE9se ("+i.sessionJobs_$().length+" job)":"Nincs schedule ehhez a sessionh\xF6z")("ngClass",i.hasSchedule_$()?O(10,Ke):O(11,Ne)),R("aria-expanded",i.isOpen_$()),r(3),u(i.hasSchedule_$()&&i.sessionJobs_$().length>1?4:-1),r(),u(i.isOpen_$()?5:-1))},dependencies:[K,J,Ce],encapsulation:2})}return t})();function tt(t,d){if(t&1){let e=k();a(0,"button",10),f("click",function(){let i=C(e).$implicit,l=c(2);return v(l.handleAction(i))}),s(1),o()}if(t&2){let e=d.$implicit,n=c(2);p("disabled",n.pendingAction_$()===e),r(),S(" ",n.pendingAction_$()===e?"Sending\u2026":e," ")}}function nt(t,d){if(t&1){let e=k();a(0,"div",4)(1,"div",5)(2,"span",6),s(3," QuickCast "),o(),a(4,"button",7),f("click",function(){C(e);let i=c();return v(i.handleToggle())}),s(5," \xD7 "),o()(),a(6,"div",8),F(7,tt,2,2,"button",9,ee),o()()}if(t&2){let e=c();r(7),V(e.actions())}}var vn=(()=>{class t{actions=A(["Go","Continue","OK","Proceed","implement","Review Very Very Carefully","Ensure Documentations","tervezd meg nagyon alaposan \xE9s fejleszd le","Hogy \xE1llunk most?","itt vagy?"]);actionSelected=q();overlayCoordinator_CS=y(G);OVERLAY_ID=P.quickcast;isOpen_$=this.overlayCoordinator_CS.isOpen(this.OVERLAY_ID);pendingAction_$=$(null);handleToggle(){this.overlayCoordinator_CS.toggle(this.OVERLAY_ID)}handleAction(e){this.pendingAction_$()===null&&(this.pendingAction_$.set(e),this.actionSelected.emit(e),setTimeout(()=>{this.pendingAction_$()===e&&this.pendingAction_$.set(null)},800))}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["app-s-session-quickcast-overlay"]],hostAttrs:[1,"absolute","bottom-16","left-0","z-30","pointer-events-none"],inputs:{actions:[1,"actions"]},outputs:{actionSelected:"actionSelected"},standalone:!0,features:[w],decls:5,vars:7,consts:[[1,"flex","items-end","gap-2","pointer-events-auto"],["type","button","aria-label","QuickCast",1,"flex","items-center","justify-center","h-8","w-7","bg-neutral-900","border-2","border-l-0","border-neonCyan/60","rounded-r-lg","text-neonCyan","shadow-neon-glow-cyan","hover:border-neonCyan","hover:bg-neonCyan/10","transition-all","duration-200","ease-out",3,"click","title"],["fill","none","stroke","currentColor","viewBox","0 0 24 24","aria-hidden","true",1,"w-4","h-4"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M13 10V3L4 14h7v7l9-11h-7z"],[1,"bg-neutral-900","border-2","border-neonCyan/60","rounded-md","p-1.5","flex","flex-col","gap-1","min-w-[8rem]","max-w-[13rem]","shadow-neon-glow-cyan"],[1,"flex","items-center","justify-between","gap-1"],[1,"text-[10px]","uppercase","tracking-wider","text-neonCyan","font-mono","leading-none"],["type","button","title","Bez\xE1r\xE1s","aria-label","QuickCast panel bez\xE1r\xE1sa",1,"text-neutral-400","hover:text-neonCyan","leading-none","text-xs","px-1","transition-colors",3,"click"],[1,"flex","flex-col","gap-1"],["type","button",1,"px-1.5","py-0.5","rounded","border-2","border-neonCyan/60","text-neonCyan","text-[11px]","font-medium","hover:border-neonCyan","hover:bg-neonCyan/10","hover:shadow-neon-glow-cyan","disabled:opacity-40","disabled:cursor-not-allowed","transition-all","leading-tight",3,"disabled"],["type","button",1,"px-1.5","py-0.5","rounded","border-2","border-neonCyan/60","text-neonCyan","text-[11px]","font-medium","hover:border-neonCyan","hover:bg-neonCyan/10","hover:shadow-neon-glow-cyan","disabled:opacity-40","disabled:cursor-not-allowed","transition-all","leading-tight",3,"click","disabled"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"button",1),f("click",function(){return i.handleToggle()}),E(),a(2,"svg",2),x(3,"path",3),o()(),_(4,nt,9,0,"div",4),o()),n&2&&(r(),M("-translate-x-2",!i.isOpen_$())("translate-x-2",i.isOpen_$()),p("title",i.isOpen_$()?"QuickCast bez\xE1r\xE1sa":"QuickCast megnyit\xE1sa"),R("aria-expanded",i.isOpen_$()),r(3),u(i.isOpen_$()?4:-1))},encapsulation:2})}return t})();var it=(t,d)=>d.provider+":::"+d.modelName,ot=()=>["border-neonPurple/60","text-neonPurple","shadow-[0_0_10px_rgba(168,85,247,0.4)]","hover:border-neonPurple","hover:bg-neonPurple/10"],at=()=>["border-neutral-700","text-neutral-500","hover:border-neutral-500","hover:bg-neutral-800/50"],rt=()=>["border-neonPurple/60","shadow-[0_0_10px_rgba(168,85,247,0.4)]"],st=()=>["border-neutral-700"],lt=()=>["text-neonPurple"],dt=()=>["text-neutral-400"];function ct(t,d){if(t&1&&(a(0,"div",10)(1,"span",11),s(2,"provider"),o(),a(3,"span",14),s(4),o()()),t&2){let e=c();r(3),p("title",e.providerName),r(),S(" ",e.providerName," ")}}function pt(t,d){if(t&1&&(a(0,"div",10)(1,"span",11),s(2,"model"),o(),a(3,"span",14),s(4),o()()),t&2){let e=c();r(3),p("title",e.model),r(),I(e.model)}}function ut(t,d){if(t&1&&(a(0,"div",10)(1,"span",11),s(2,"workflow"),o(),a(3,"span",14),s(4),o()()),t&2){let e=c();r(3),p("title",e.workflowId),r(),S(" ",e.workflowId," ")}}function mt(t,d){if(t&1){let e=k();a(0,"div",9)(1,"div",10)(2,"span",11),s(3,"status"),o(),a(4,"span",12),s(5),o()(),_(6,ct,5,2,"div",10)(7,pt,5,2,"div",10)(8,ut,5,2,"div",10),o(),a(9,"button",13),f("click",function(){C(e);let i=c(2);return v(i.handleStop())}),s(10),o()}if(t&2){let e=d,n=c(2);r(5),I(e.status),r(),u(e.providerName?6:-1),r(),u(e.model?7:-1),r(),u(e.workflowId?8:-1),r(),p("disabled",n.isBusy_$()),r(),S(" ",n.isBusy_$()?"Stopping\u2026":"Stop"," ")}}function _t(t,d){if(t&1&&(a(0,"option",18),s(1),o()),t&2){let e=d.$implicit;p("value",e.provider+":::"+e.modelName),r(),te(" ",e.provider," / ",e.modelName," ")}}function ft(t,d){if(t&1){let e=k();a(0,"span",15),s(1," Nincs assigned coordinator \u2014 v\xE1lassz modellt \xE9s kattints az Assign-ra. "),o(),a(2,"select",16),f("ngModelChange",function(i){C(e);let l=c(2);return v(l.selectedModelKey_$.set(i))}),a(3,"option",17),s(4,"\u2014 v\xE1lassz modellt \u2014"),o(),F(5,_t,2,3,"option",18,it),o(),a(7,"button",13),f("click",function(){C(e);let i=c(2);return v(i.handleAssign())}),s(8),o()}if(t&2){let e=c(2);r(2),p("ngModel",e.selectedModelKey_$()),r(3),V(e.modelOptions_$()),r(2),p("disabled",!e.selectedModelKey_$()||e.isBusy_$()),r(),S(" ",e.isBusy_$()?"Assigning\u2026":"Assign"," ")}}function xt(t,d){if(t&1){let e=k();a(0,"div",5)(1,"div",6)(2,"span",7),s(3," Coordinator "),o(),a(4,"button",8),f("click",function(){C(e);let i=c();return v(i.handleToggle())}),s(5," \xD7 "),o()(),_(6,mt,11,6)(7,ft,9,3),o()}if(t&2){let e,n=c();p("ngClass",n.isAssigned_$()?O(3,rt):O(4,st)),r(2),p("ngClass",n.isAssigned_$()?O(5,lt):O(6,dt)),r(4),u((e=n.assignedCoordinator_$())?6:7,e)}}var Dn=(()=>{class t{sessionId=A.required();coordinator_DS=y(he);registrySsot_CS=y(xe);overlayCoordinator_CS=y(G);OVERLAY_ID=P.coordinator;isOpen_$=this.overlayCoordinator_CS.isOpen(this.OVERLAY_ID);isBusy_$=$(!1);selectedModelKey_$=$("");modelOptions_$=h(()=>this.registrySsot_CS.enabledLlmModels_$());assignedCoordinator_$=h(()=>{let e=(this.sessionId()??"").trim();return!e||!this.coordinator_DS.coordinatedSessionIds_$().has(e)?null:this.coordinator_DS.globalCoordinatorsList_$().find(l=>{let m=(l.sessionId??"").trim(),T=(l.status??"").trim().toLowerCase();return m===e&&T!=="stopped"&&T!=="completed"})??null});isAssigned_$=h(()=>this.assignedCoordinator_$()!==null);ngOnInit(){this.coordinator_DS.globalCoordinatorsList_$().length===0&&this.coordinator_DS.loadAllCoordinatorsForManagementPage(),this.registrySsot_CS.ensureLoaded("llm")}handleToggle(){this.overlayCoordinator_CS.toggle(this.OVERLAY_ID)}handleAssign(){return H(this,null,function*(){let e=(this.sessionId()??"").trim(),n=this.selectedModelKey_$().trim();if(!e||!n||this.isBusy_$())return;let i=n.split(":::");if(i.length!==2)return;let l=i[0],m=i[1];if(!(!l||!m)){this.isBusy_$.set(!0);try{yield this.coordinator_DS.startCoordinator({sessionId:e,providerName:l,model:m}),this.coordinator_DS.loadAllCoordinatorsForManagementPage()}finally{this.isBusy_$.set(!1)}}})}handleStop(){return H(this,null,function*(){let e=(this.sessionId()??"").trim();if(!(!e||this.isBusy_$())){this.isBusy_$.set(!0);try{yield this.coordinator_DS.stopCoordinator(e),this.coordinator_DS.loadAllCoordinatorsForManagementPage()}finally{this.isBusy_$.set(!1)}}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["app-s-session-coordinator-overlay"]],hostAttrs:[1,"absolute","bottom-28","left-0","z-30","pointer-events-none"],inputs:{sessionId:[1,"sessionId"]},standalone:!0,features:[w],decls:6,vars:10,consts:[[1,"flex","items-end","gap-2","pointer-events-auto"],["type","button","aria-label","Coordinator",1,"relative","flex","items-center","justify-center","h-8","w-7","bg-neutral-900","border-2","border-l-0","rounded-r-lg","transition-all","duration-200","ease-out",3,"click","title","ngClass"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"w-4","h-4"],["cx","12","cy","12","r","10"],["points","16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76"],[1,"bg-neutral-900","border-2","rounded-lg","p-3","flex","flex-col","gap-2","min-w-[16rem]","max-w-xs",3,"ngClass"],[1,"flex","items-center","justify-between","gap-2"],[1,"text-[10px]","uppercase","tracking-wider","font-mono",3,"ngClass"],["type","button","title","Bez\xE1r\xE1s","aria-label","Coordinator panel bez\xE1r\xE1sa",1,"text-neutral-400","hover:text-neonPurple","leading-none","px-1","transition-colors",3,"click"],[1,"flex","flex-col","gap-1","text-xs"],[1,"flex","justify-between","gap-2"],[1,"text-neutral-500","font-mono","text-[10px]"],[1,"text-neutral-100"],["type","button",1,"self-end","px-2","py-1","rounded","border-2","border-neonPurple/60","text-neonPurple","text-xs","font-medium","hover:bg-neonPurple/10","hover:shadow-[0_0_10px_rgba(168,85,247,0.4)]","disabled:opacity-40","disabled:cursor-not-allowed","transition-all",3,"click","disabled"],[1,"text-neutral-100","truncate",3,"title"],[1,"text-[11px]","text-neutral-400"],[1,"bg-neutral-900","border","border-neutral-700","rounded","px-2","py-1","text-xs","text-neutral-100","focus:outline-none","focus:border-neonPurple/60",3,"ngModelChange","ngModel"],["value","","disabled",""],[3,"value"]],template:function(n,i){if(n&1&&(a(0,"div",0)(1,"button",1),f("click",function(){return i.handleToggle()}),E(),a(2,"svg",2),x(3,"circle",3)(4,"polygon",4),o()(),_(5,xt,8,7,"div",5),o()),n&2){let l;r(),M("-translate-x-2",!i.isOpen_$())("translate-x-2",i.isOpen_$()),p("title",i.isAssigned_$()?i.isOpen_$()?"Coordinator panel bez\xE1r\xE1sa":"Coordinator: "+((l=(l=i.assignedCoordinator_$())==null?null:l.status)!==null&&l!==void 0?l:""):i.isOpen_$()?"Coordinator panel bez\xE1r\xE1sa":"Nincs coordinator \u2014 assign-ol\xE1shoz kattints")("ngClass",i.isAssigned_$()?O(8,ot):O(9,at)),R("aria-expanded",i.isOpen_$()),r(4),u(i.isOpen_$()?5:-1)}},dependencies:[K,de,se,le,re,oe,ae],encapsulation:2})}return t})();var St=()=>["border-neonCyan/60","text-neonCyan","shadow-neon-glow-cyan","hover:border-neonCyan","hover:bg-neonCyan/10"],gt=()=>["border-neutral-700","text-neutral-500","hover:border-neutral-500","hover:text-neutral-300"];function ht(t,d){t&1&&(E(),a(0,"svg",1),x(1,"polygon",2)(2,"path",3)(3,"path",4),o())}function Ct(t,d){t&1&&(E(),a(0,"svg",1),x(1,"polygon",2)(2,"line",5)(3,"line",6),o())}var Ie=(()=>{class t{sessionId=A.required();isEnabled_$=$(!1);ngOnInit(){this.refreshEnabledFromStorage()}refreshEnabledFromStorage(){this.isEnabled_$.set(U.isEnabled(this.sessionId()))}handleToggle(){U.toggle(this.sessionId()),this.refreshEnabledFromStorage()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["app-s-auto-read-tts-toggle"]],inputs:{sessionId:[1,"sessionId"]},standalone:!0,features:[w],decls:3,vars:6,consts:[["type","button",1,"relative","flex","items-center","justify-center","h-8","w-8","bg-neutral-900","border-2","rounded-md","transition-all","duration-200","ease-out",3,"click","title","ngClass"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"w-4","h-4"],["points","11 5 6 9 2 9 2 15 6 15 11 19 11 5"],["d","M15.54 8.46a5 5 0 0 1 0 7.07"],["d","M19.07 4.93a10 10 0 0 1 0 14.14"],["x1","23","y1","9","x2","17","y2","15"],["x1","17","y1","9","x2","23","y2","15"]],template:function(n,i){n&1&&(a(0,"button",0),f("click",function(){return i.handleToggle()}),_(1,ht,4,0,":svg:svg",1)(2,Ct,4,0,":svg:svg",1),o()),n&2&&(p("title",i.isEnabled_$()?"Auto-read assistant: ON (\xFAj asszisztens \xFCzenetek automatikusan felolvas\xE1sra ker\xFClnek). Klikk: kikapcsol\xE1s.":"Auto-read assistant: OFF. Klikk: bekapcsol\xE1s (csak az ezut\xE1n \xE9rkez\u0151 \xFCzenetek olvas\xF3dnak fel).")("ngClass",i.isEnabled_$()?O(4,St):O(5,gt)),R("aria-pressed",i.isEnabled_$()),r(),u(i.isEnabled_$()?1:2))},dependencies:[K],encapsulation:2})}return t})();function vt(t,d){if(t&1){let e=k();a(0,"button",26),f("click",function(){C(e);let i=c(2);return v(i.handleRestartRunnerClick())}),a(1,"span",13),E(),a(2,"svg",14),x(3,"path",27)(4,"path",28)(5,"path",29)(6,"path",30),o(),s(7," Restart Terminal Runner "),o()()}}function yt(t,d){if(t&1){let e=k();a(0,"div",5)(1,"div",6)(2,"span",7),s(3," Quick Settings "),o(),a(4,"button",8),f("click",function(){C(e);let i=c();return v(i.handleToggle())}),s(5," \xD7 "),o()(),a(6,"p",9),s(7," Plan-state v1 \u2014 minden funkci\xF3 "),a(8,"span",10),s(9,"disabled"),o(),s(10,"; bek\xF6t\xE9s Plans Feature Set keret\xE9ben k\xF6vetkezik (`2026-05-06-session-quick-settings-feature-set-plan.md`). "),o(),_(11,vt,8,0,"button",11),a(12,"div",12)(13,"span",13),E(),a(14,"svg",14),x(15,"path",15)(16,"path",16)(17,"path",17),o(),s(18," Auto-Read Assistant TTS "),o(),Q(),x(19,"app-s-auto-read-tts-toggle",18),o(),a(20,"button",19)(21,"span",13),E(),a(22,"svg",20),x(23,"rect",21)(24,"path",22)(25,"path",23)(26,"path",24),o(),s(27," Always-On Intelligent Voice Input "),o(),Q(),a(28,"span",25),s(29,"soon"),o()()()}if(t&2){let e=c();r(11),u(e.showRestartRunner()?11:-1),r(8),p("sessionId",e.sessionId())}}var Hn=(()=>{class t{sessionId=A.required();showRestartRunner=A(!1);restartRunnerClicked=q();overlayCoordinator_CS=y(G);OVERLAY_ID=P.quickSettings;isOpen_$=this.overlayCoordinator_CS.isOpen(this.OVERLAY_ID);handleToggle(){this.overlayCoordinator_CS.toggle(this.OVERLAY_ID)}handleRestartRunnerClick(){this.restartRunnerClicked.emit(),this.overlayCoordinator_CS.setOpen(null)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["app-s-session-quick-settings-overlay"]],hostAttrs:[1,"absolute","bottom-40","left-0","z-30","pointer-events-none"],inputs:{sessionId:[1,"sessionId"],showRestartRunner:[1,"showRestartRunner"]},outputs:{restartRunnerClicked:"restartRunnerClicked"},standalone:!0,features:[w],decls:6,vars:7,consts:[[1,"flex","items-end","gap-2","pointer-events-auto"],["type","button","aria-label","Session Quick Settings",1,"relative","flex","items-center","justify-center","h-8","w-7","bg-neutral-900","border-2","border-l-0","border-neonGreen/60","rounded-r-lg","text-neonGreen","shadow-[0_0_10px_rgba(0,255,136,0.35)]","hover:border-neonGreen","hover:bg-neonGreen/10","transition-all","duration-200","ease-out",3,"click","title"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"w-4","h-4"],["cx","12","cy","12","r","3"],["d",`M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0
3
3
  l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2
4
4
  2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06
@@ -15,4 +15,4 @@ auto-send egyetlen \xFCzenetk\xE9nt, opcion\xE1lis chime hangjelz\xE9s a trigger
15
15
  Spec: __specifications/poc/voice-input-continuous-and-mobile.md (REQ-VIM-CONT-002,
16
16
  REQ-VIM-SEND-001). Hi\xE1nyz\xF3 r\xE9szek: per-segment \u2192 cycle-akkumul\xE1ci\xF3, silence-detect
17
17
  \u2192 auto-send, cseng\u0151 hang. Nagyobb implement\xE1ci\xF3s csomag \u2014 Plan dokumentum r\xE9szletez.`,1,"flex","items-center","justify-between","gap-2","px-2","py-1.5","rounded","border-2","border-neutral-700","text-neutral-500","text-xs","bg-neutral-900/50","cursor-not-allowed","transition-colors"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"w-4","h-4","shrink-0"],["x","9","y","3","width","6","height","12","rx","3"],["d","M19 11a7 7 0 0 1-14 0"],["d","M12 18v3"],["d","M8 21h8"],[1,"text-[9px]","uppercase","tracking-wider","text-neutral-600","font-mono"],["type","button","title","Aktu\xE1lis CC session terminal runner kill + respawn. \xDAj termin\xE1l ablak ny\xEDlik a friss npm-build-tel; runner version-mismatch vagy no-ACK-fire hib\xE1k gyors fixje a session-b\u0151l, dashboard-ra navig\xE1l\xE1s n\xE9lk\xFCl.",1,"flex","items-center","justify-between","gap-2","px-2","py-1.5","rounded","border-2","border-neonGreen/40","text-neutral-300","text-xs","bg-neutral-900/50","hover:bg-neonGreen/10","hover:border-neonGreen","cursor-pointer","transition-colors",3,"click"],["d","M3 12a9 9 0 0 1 15.5-6.3L21 8"],["d","M21 3v5h-5"],["d","M21 12a9 9 0 0 1-15.5 6.3L3 16"],["d","M3 21v-5h5"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"button",1),f("click",function(){return i.handleToggle()}),E(),a(2,"svg",2),x(3,"circle",3)(4,"path",4),o()(),_(5,yt,30,2,"div",5),o()),n&2&&(r(),M("-translate-x-2",!i.isOpen_$())("translate-x-2",i.isOpen_$()),p("title",i.isOpen_$()?"Session Quick Settings panel bez\xE1r\xE1sa":"Session Quick Settings \u2014 hamarosan: Restart Runner, Auto-Read TTS, Intelligent Voice Input. Plan dokumentum k\xE9szen, implement\xE1ci\xF3 folyamatban."),R("aria-expanded",i.isOpen_$()),r(4),u(i.isOpen_$()?5:-1))},dependencies:[Ie],encapsulation:2})}return t})();export{W as a,en as b,_n as c,vn as d,Dn as e,Hn as f};
18
- //# sourceMappingURL=chunk-PW5BAINL.js.map
18
+ //# sourceMappingURL=chunk-CZLRKXDU.js.map
@@ -1,4 +1,4 @@
1
- import{a as O}from"./chunk-L2XJGYW4.js";import{a as K}from"./chunk-7CMPZXAO.js";import{e as F}from"./chunk-25KTNALK.js";import{h as f,j as U}from"./chunk-A33MCHYC.js";import{I as D,p as H}from"./chunk-RUSAMFGS.js";import{C as _,R as k,a as I,aa as u,b as C,d as L,h as N,k as d,p as h,vb as g,xb as P,y as v}from"./chunk-TBMJSIBB.js";var A=N(H());var w=(()=>{class l{static GATEWAY_CHAT_MESSAGE_TIMESTAMP_FIELD_NAMES=["timestamp","createdAt","updatedAt","ts","time","sentAt","messageTimestamp","created_at","updated_at","lastMessageAt","last_message_at","startedAt","started_at","lastActivityAt","last_activity_at"];static GATEWAY_SESSION_LAST_ACTIVITY_FIELD_NAMES=["lastActivityAt","updatedAt","lastMessageAt","updated_at","last_activity_at","last_message_at","startedAt","started_at","createdAt","created_at"];static GATEWAY_SESSION_STARTED_FIELD_NAMES=["startedAt","started_at","createdAt","created_at"];static GATEWAY_OUTPUT_ONLY_TIMESTAMP_FIELD_NAMES=["lastMessageAt","last_message_at","lastOutputAt","last_output_at"];static extractTimestamp(s,t){for(let e of t){let n=s[e];if(typeof n=="string"&&n)return n;if(typeof n=="number"&&n>0){let o=n<1e12?n*1e3:n;return new Date(o).toISOString()}}}}return l})();var E=class l{static buildGatewaySessionsFetch(y){let s=y.response._firstSessionKeys,t=Array.isArray(s)?s:[],e=Array.isArray(y.response.sessions)?y.response.sessions:[],n=e.map(i=>l.mapRawSessionToListItem({raw:i,gatewayUrl:y.response.gatewayUrl}));return{listItems:l.sortListItemsByLastActivityDesc({items:n}),rawSessions:e,gatewayUrl:y.response.gatewayUrl,source:y.response.source,instanceId:y.response.instanceId,firstSessionKeys:t}}static mapRawSessionToListItem(y){let s=y.raw;return{sessionId:typeof s.key=="string"?s.key:typeof s.sessionId=="string"?s.sessionId:typeof s.id=="string"?s.id:String(s.key??s.sessionId??s.id??""),label:typeof s.label=="string"?s.label:typeof s.name=="string"?s.name:typeof s.title=="string"?s.title:void 0,workspacePath:typeof s.workspacePath=="string"?s.workspacePath:typeof s.cwd=="string"?s.cwd:"",status:typeof s.status=="string"?s.status:"unknown",statusMessage:typeof s.statusMessage=="string"?s.statusMessage:void 0,gatewayUrl:y.gatewayUrl,openclawAgentName:typeof s.agentName=="string"?s.agentName:typeof s.agent=="string"?s.agent:void 0,promptCount:typeof s.promptCount=="number"?s.promptCount:typeof s.messageCount=="number"?s.messageCount:0,toolCallCount:typeof s.toolCallCount=="number"?s.toolCallCount:0,lastActivityAt:w.extractTimestamp(s,w.GATEWAY_SESSION_LAST_ACTIVITY_FIELD_NAMES),startedAt:w.extractTimestamp(s,w.GATEWAY_SESSION_STARTED_FIELD_NAMES),lastPrompt:typeof s.lastPrompt=="string"?s.lastPrompt:void 0,mode:typeof s.mode=="string"?s.mode:void 0,reasoningEffort:typeof s.reasoningEffort=="string"?s.reasoningEffort:typeof s.thinking=="string"?s.thinking:void 0,isArchived:typeof s.isArchived=="boolean"?s.isArchived:!1}}static sortListItemsByLastActivityDesc(y){return[...y.items].sort((s,t)=>{let e=s.lastActivityAt?new Date(s.lastActivityAt).getTime():0;return(t.lastActivityAt?new Date(t.lastActivityAt).getTime():0)-e})}};var G=(()=>{class l{baseUrl=`${D.api.baseUrl}/oc-session`;http=_(P);peiContext_DS=_(K);withCcapId(s){let t=this.peiContext_DS.activeCcapId_$();return t?s.set("ccapId",t):s}createSession(s){let t=this.withCcapId(new g);return h(this.http.post(this.baseUrl,s,{params:t}))}listSessions(s){let t=this.withCcapId(new g);return s?.status&&(t=t.set("status",s.status)),s?.workspacePath&&(t=t.set("workspacePath",s.workspacePath)),s?.gatewayUrl&&(t=t.set("gatewayUrl",s.gatewayUrl)),s?.includeArchived&&(t=t.set("includeArchived","1")),s?.limit!=null&&(t=t.set("limit",String(s.limit))),s?.offset!=null&&(t=t.set("offset",String(s.offset))),h(this.http.get(this.baseUrl,{params:t}))}listGatewaySessions(s){let t=new g().set("instanceId",s.instanceId);return h(this.http.get(`${this.baseUrl}/gateway-sessions`,{params:t}))}getGatewaySessionHistory(s){let t=new g().set("instanceId",s.instanceId);return h(this.http.get(`${this.baseUrl}/gateway-sessions/${s.sessionId}/history`,{params:t}))}sendGatewayPrompt(s){return h(this.http.post(`${this.baseUrl}/gateway-sessions/${s.sessionId}/send`,{instanceId:s.instanceId,content:s.content,agentName:s.agentName}))}abortGatewaySession(s){return h(this.http.post(`${this.baseUrl}/gateway-sessions/${s.sessionId}/abort`,{instanceId:s.instanceId}))}deleteGatewaySession(s){let t=new g().set("instanceId",s.instanceId);return h(this.http.delete(`${this.baseUrl}/gateway-sessions/${s.sessionId}`,{params:t}))}getSession(s){let t=this.withCcapId(new g);return h(this.http.get(`${this.baseUrl}/${s.sessionId}`,{params:t}))}sendPrompt(s){let t=this.withCcapId(new g);return h(this.http.post(`${this.baseUrl}/${s.sessionId}/prompt`,{content:s.content},{params:t}))}reconnectSession(s){let t=this.withCcapId(new g);return h(this.http.post(`${this.baseUrl}/${s.sessionId}/reconnect`,{},{params:t}))}stopExecution(s){let t=this.withCcapId(new g);return h(this.http.post(`${this.baseUrl}/${s.sessionId}/stop-execution`,{},{params:t}))}terminateSession(s){let t=this.withCcapId(new g);return h(this.http.post(`${this.baseUrl}/${s.sessionId}/terminate`,{},{params:t}))}updateSessionConfig(s){let o=s,{sessionId:t}=o,e=L(o,["sessionId"]),n=this.withCcapId(new g);return h(this.http.patch(`${this.baseUrl}/${t}/config`,e,{params:n}))}setSessionArchived(s){let t=this.withCcapId(new g);return h(this.http.patch(`${this.baseUrl}/${s.sessionId}/archive`,{isArchived:s.isArchived},{params:t}))}getSessionEvents(s){let t=this.withCcapId(new g);return s.eventType&&(t=t.set("eventType",s.eventType)),s.since&&(t=t.set("since",s.since)),s.sinceSequence!=null&&(t=t.set("sinceSequence",String(s.sinceSequence))),s.limit!=null&&(t=t.set("limit",String(s.limit))),s.offset!=null&&(t=t.set("offset",String(s.offset))),s.latest&&(t=t.set("latest","1")),h(this.http.get(`${this.baseUrl}/${s.sessionId}/events`,{params:t}))}getSessionEventStreamUrl(s){let t=`${this.baseUrl}/${s.sessionId}/events/stream`,e=this.peiContext_DS.activeCcapId_$();return e?`${t}?ccapId=${encodeURIComponent(e)}`:t}static \u0275fac=function(t){return new(t||l)};static \u0275prov=v({token:l,factory:l.\u0275fac,providedIn:"root"})}return l})();var ls=(()=>{class l{sessions_$=u([]);sessionsLoading_$=u(!1);sessionsLoadError_$=u(null);selectedSession_$=u(null);selectedSessionLoading_$=u(!1);selectedSessionEvents_$=u([]);consoleMessages_$=u([]);assembledMessages_$=u([]);assembledMessagesHasMore_$=u(!1);isLoadingOlderMessages_$=u(!1);lastStatusUpdate_$=u(null);sessionUsage_$=u({inputTokens:0,outputTokens:0,costUsd:0});activeSessionId_$=u("");activeInstanceId_$=u("");gatewayFilter_$=u(null);extSessionMsg_AS=_(O);ocSession_AS=_(G);globalError_CS=_(U);socket_CS=_(F);ngZone=_(k);eventSubscription=null;reconnectSubscription=null;lastKnownEventSequence=-1;chatPollHandle=null;detailPollHandle=null;lastPolledHistoryFingerprint="";constructor(){this.eventSubscription=this.socket_CS.event$.subscribe(s=>{this.handleSocketEvent(s)}),this.reconnectSubscription=this.socket_CS.connected$.subscribe(s=>{if(s){let t=this.activeSessionId_$();t&&(this.socket_CS.emit("oc-session:subscribe",{sessionId:t}),this.loadAssembledMessages({sessionId:t}).catch(()=>{})),this.backfillMissedEvents()}})}ngOnDestroy(){this.stopChatPolling(),this.eventSubscription&&(this.eventSubscription.unsubscribe(),this.eventSubscription=null),this.reconnectSubscription&&(this.reconnectSubscription.unsubscribe(),this.reconnectSubscription=null)}setGatewayFilter(s){this.gatewayFilter_$.set(s),this.loadSessions().catch(()=>{})}setGatewayFilterOnly(s){this.gatewayFilter_$.set(s)}loadSessions(s){return d(this,null,function*(){this.sessionsLoading_$.set(!0),this.sessionsLoadError_$.set(null);try{let e=[...(yield this.ocSession_AS.listSessions({status:s?.status,workspacePath:s?.workspacePath,gatewayUrl:this.gatewayFilter_$()??void 0,includeArchived:s?.includeArchived})).sessions].sort((n,o)=>{let i=n.lastActivityAt?new Date(n.lastActivityAt).getTime():0;return(o.lastActivityAt?new Date(o.lastActivityAt).getTime():0)-i});this.sessions_$.set(e)}catch(t){this.sessionsLoadError_$.set(t),this.pushConsoleMessage({type:"error",text:`Load sessions failed: ${f.getErrorMessageForDisplay(t)}`})}finally{this.sessionsLoading_$.set(!1)}})}fetchGatewaySessionsForInstance(s){return d(this,null,function*(){let t=yield this.ocSession_AS.listGatewaySessions({instanceId:s.instanceId});return E.buildGatewaySessionsFetch({response:t})})}loadGatewaySessions(s){return d(this,null,function*(){this.sessionsLoading_$.set(!0),this.sessionsLoadError_$.set(null);try{let t=yield this.fetchGatewaySessionsForInstance({instanceId:s.instanceId});!t.listItems.length&&t.rawSessions.length>0&&this.pushConsoleMessage({type:"error",text:`Gateway returned ${t.rawSessions.length} sessions but mapping produced 0.
1
+ import{a as O}from"./chunk-XLKBCO5O.js";import{a as K}from"./chunk-QSN7KY5M.js";import{e as F}from"./chunk-KDPOJH6B.js";import{h as f,j as U}from"./chunk-RPTXBYC4.js";import{I as D,p as H}from"./chunk-6TE4LLRT.js";import{C as _,R as k,a as I,aa as u,b as C,d as L,h as N,k as d,p as h,vb as g,xb as P,y as v}from"./chunk-TBMJSIBB.js";var A=N(H());var w=(()=>{class l{static GATEWAY_CHAT_MESSAGE_TIMESTAMP_FIELD_NAMES=["timestamp","createdAt","updatedAt","ts","time","sentAt","messageTimestamp","created_at","updated_at","lastMessageAt","last_message_at","startedAt","started_at","lastActivityAt","last_activity_at"];static GATEWAY_SESSION_LAST_ACTIVITY_FIELD_NAMES=["lastActivityAt","updatedAt","lastMessageAt","updated_at","last_activity_at","last_message_at","startedAt","started_at","createdAt","created_at"];static GATEWAY_SESSION_STARTED_FIELD_NAMES=["startedAt","started_at","createdAt","created_at"];static GATEWAY_OUTPUT_ONLY_TIMESTAMP_FIELD_NAMES=["lastMessageAt","last_message_at","lastOutputAt","last_output_at"];static extractTimestamp(s,t){for(let e of t){let n=s[e];if(typeof n=="string"&&n)return n;if(typeof n=="number"&&n>0){let o=n<1e12?n*1e3:n;return new Date(o).toISOString()}}}}return l})();var E=class l{static buildGatewaySessionsFetch(y){let s=y.response._firstSessionKeys,t=Array.isArray(s)?s:[],e=Array.isArray(y.response.sessions)?y.response.sessions:[],n=e.map(i=>l.mapRawSessionToListItem({raw:i,gatewayUrl:y.response.gatewayUrl}));return{listItems:l.sortListItemsByLastActivityDesc({items:n}),rawSessions:e,gatewayUrl:y.response.gatewayUrl,source:y.response.source,instanceId:y.response.instanceId,firstSessionKeys:t}}static mapRawSessionToListItem(y){let s=y.raw;return{sessionId:typeof s.key=="string"?s.key:typeof s.sessionId=="string"?s.sessionId:typeof s.id=="string"?s.id:String(s.key??s.sessionId??s.id??""),label:typeof s.label=="string"?s.label:typeof s.name=="string"?s.name:typeof s.title=="string"?s.title:void 0,workspacePath:typeof s.workspacePath=="string"?s.workspacePath:typeof s.cwd=="string"?s.cwd:"",status:typeof s.status=="string"?s.status:"unknown",statusMessage:typeof s.statusMessage=="string"?s.statusMessage:void 0,gatewayUrl:y.gatewayUrl,openclawAgentName:typeof s.agentName=="string"?s.agentName:typeof s.agent=="string"?s.agent:void 0,promptCount:typeof s.promptCount=="number"?s.promptCount:typeof s.messageCount=="number"?s.messageCount:0,toolCallCount:typeof s.toolCallCount=="number"?s.toolCallCount:0,lastActivityAt:w.extractTimestamp(s,w.GATEWAY_SESSION_LAST_ACTIVITY_FIELD_NAMES),startedAt:w.extractTimestamp(s,w.GATEWAY_SESSION_STARTED_FIELD_NAMES),lastPrompt:typeof s.lastPrompt=="string"?s.lastPrompt:void 0,mode:typeof s.mode=="string"?s.mode:void 0,reasoningEffort:typeof s.reasoningEffort=="string"?s.reasoningEffort:typeof s.thinking=="string"?s.thinking:void 0,isArchived:typeof s.isArchived=="boolean"?s.isArchived:!1}}static sortListItemsByLastActivityDesc(y){return[...y.items].sort((s,t)=>{let e=s.lastActivityAt?new Date(s.lastActivityAt).getTime():0;return(t.lastActivityAt?new Date(t.lastActivityAt).getTime():0)-e})}};var G=(()=>{class l{baseUrl=`${D.api.baseUrl}/oc-session`;http=_(P);peiContext_DS=_(K);withCcapId(s){let t=this.peiContext_DS.activeCcapId_$();return t?s.set("ccapId",t):s}createSession(s){let t=this.withCcapId(new g);return h(this.http.post(this.baseUrl,s,{params:t}))}listSessions(s){let t=this.withCcapId(new g);return s?.status&&(t=t.set("status",s.status)),s?.workspacePath&&(t=t.set("workspacePath",s.workspacePath)),s?.gatewayUrl&&(t=t.set("gatewayUrl",s.gatewayUrl)),s?.includeArchived&&(t=t.set("includeArchived","1")),s?.limit!=null&&(t=t.set("limit",String(s.limit))),s?.offset!=null&&(t=t.set("offset",String(s.offset))),h(this.http.get(this.baseUrl,{params:t}))}listGatewaySessions(s){let t=new g().set("instanceId",s.instanceId);return h(this.http.get(`${this.baseUrl}/gateway-sessions`,{params:t}))}getGatewaySessionHistory(s){let t=new g().set("instanceId",s.instanceId);return h(this.http.get(`${this.baseUrl}/gateway-sessions/${s.sessionId}/history`,{params:t}))}sendGatewayPrompt(s){return h(this.http.post(`${this.baseUrl}/gateway-sessions/${s.sessionId}/send`,{instanceId:s.instanceId,content:s.content,agentName:s.agentName}))}abortGatewaySession(s){return h(this.http.post(`${this.baseUrl}/gateway-sessions/${s.sessionId}/abort`,{instanceId:s.instanceId}))}deleteGatewaySession(s){let t=new g().set("instanceId",s.instanceId);return h(this.http.delete(`${this.baseUrl}/gateway-sessions/${s.sessionId}`,{params:t}))}getSession(s){let t=this.withCcapId(new g);return h(this.http.get(`${this.baseUrl}/${s.sessionId}`,{params:t}))}sendPrompt(s){let t=this.withCcapId(new g);return h(this.http.post(`${this.baseUrl}/${s.sessionId}/prompt`,{content:s.content},{params:t}))}reconnectSession(s){let t=this.withCcapId(new g);return h(this.http.post(`${this.baseUrl}/${s.sessionId}/reconnect`,{},{params:t}))}stopExecution(s){let t=this.withCcapId(new g);return h(this.http.post(`${this.baseUrl}/${s.sessionId}/stop-execution`,{},{params:t}))}terminateSession(s){let t=this.withCcapId(new g);return h(this.http.post(`${this.baseUrl}/${s.sessionId}/terminate`,{},{params:t}))}updateSessionConfig(s){let o=s,{sessionId:t}=o,e=L(o,["sessionId"]),n=this.withCcapId(new g);return h(this.http.patch(`${this.baseUrl}/${t}/config`,e,{params:n}))}setSessionArchived(s){let t=this.withCcapId(new g);return h(this.http.patch(`${this.baseUrl}/${s.sessionId}/archive`,{isArchived:s.isArchived},{params:t}))}getSessionEvents(s){let t=this.withCcapId(new g);return s.eventType&&(t=t.set("eventType",s.eventType)),s.since&&(t=t.set("since",s.since)),s.sinceSequence!=null&&(t=t.set("sinceSequence",String(s.sinceSequence))),s.limit!=null&&(t=t.set("limit",String(s.limit))),s.offset!=null&&(t=t.set("offset",String(s.offset))),s.latest&&(t=t.set("latest","1")),h(this.http.get(`${this.baseUrl}/${s.sessionId}/events`,{params:t}))}getSessionEventStreamUrl(s){let t=`${this.baseUrl}/${s.sessionId}/events/stream`,e=this.peiContext_DS.activeCcapId_$();return e?`${t}?ccapId=${encodeURIComponent(e)}`:t}static \u0275fac=function(t){return new(t||l)};static \u0275prov=v({token:l,factory:l.\u0275fac,providedIn:"root"})}return l})();var ls=(()=>{class l{sessions_$=u([]);sessionsLoading_$=u(!1);sessionsLoadError_$=u(null);selectedSession_$=u(null);selectedSessionLoading_$=u(!1);selectedSessionEvents_$=u([]);consoleMessages_$=u([]);assembledMessages_$=u([]);assembledMessagesHasMore_$=u(!1);isLoadingOlderMessages_$=u(!1);lastStatusUpdate_$=u(null);sessionUsage_$=u({inputTokens:0,outputTokens:0,costUsd:0});activeSessionId_$=u("");activeInstanceId_$=u("");gatewayFilter_$=u(null);extSessionMsg_AS=_(O);ocSession_AS=_(G);globalError_CS=_(U);socket_CS=_(F);ngZone=_(k);eventSubscription=null;reconnectSubscription=null;lastKnownEventSequence=-1;chatPollHandle=null;detailPollHandle=null;lastPolledHistoryFingerprint="";constructor(){this.eventSubscription=this.socket_CS.event$.subscribe(s=>{this.handleSocketEvent(s)}),this.reconnectSubscription=this.socket_CS.connected$.subscribe(s=>{if(s){let t=this.activeSessionId_$();t&&(this.socket_CS.emit("oc-session:subscribe",{sessionId:t}),this.loadAssembledMessages({sessionId:t}).catch(()=>{})),this.backfillMissedEvents()}})}ngOnDestroy(){this.stopChatPolling(),this.eventSubscription&&(this.eventSubscription.unsubscribe(),this.eventSubscription=null),this.reconnectSubscription&&(this.reconnectSubscription.unsubscribe(),this.reconnectSubscription=null)}setGatewayFilter(s){this.gatewayFilter_$.set(s),this.loadSessions().catch(()=>{})}setGatewayFilterOnly(s){this.gatewayFilter_$.set(s)}loadSessions(s){return d(this,null,function*(){this.sessionsLoading_$.set(!0),this.sessionsLoadError_$.set(null);try{let e=[...(yield this.ocSession_AS.listSessions({status:s?.status,workspacePath:s?.workspacePath,gatewayUrl:this.gatewayFilter_$()??void 0,includeArchived:s?.includeArchived})).sessions].sort((n,o)=>{let i=n.lastActivityAt?new Date(n.lastActivityAt).getTime():0;return(o.lastActivityAt?new Date(o.lastActivityAt).getTime():0)-i});this.sessions_$.set(e)}catch(t){this.sessionsLoadError_$.set(t),this.pushConsoleMessage({type:"error",text:`Load sessions failed: ${f.getErrorMessageForDisplay(t)}`})}finally{this.sessionsLoading_$.set(!1)}})}fetchGatewaySessionsForInstance(s){return d(this,null,function*(){let t=yield this.ocSession_AS.listGatewaySessions({instanceId:s.instanceId});return E.buildGatewaySessionsFetch({response:t})})}loadGatewaySessions(s){return d(this,null,function*(){this.sessionsLoading_$.set(!0),this.sessionsLoadError_$.set(null);try{let t=yield this.fetchGatewaySessionsForInstance({instanceId:s.instanceId});!t.listItems.length&&t.rawSessions.length>0&&this.pushConsoleMessage({type:"error",text:`Gateway returned ${t.rawSessions.length} sessions but mapping produced 0.
2
2
  First session keys: ${t.firstSessionKeys.join(", ")}`}),this.sessions_$.set(t.listItems)}catch(t){this.sessionsLoadError_$.set(t),this.pushConsoleMessage({type:"error",text:`Load gateway sessions failed: ${f.getErrorMessageForDisplay(t)}`})}finally{this.sessionsLoading_$.set(!1)}})}loadSessionDetail(s){return d(this,null,function*(){let t=s.isSilent===!0;t||this.selectedSessionLoading_$.set(!0);try{let e=yield this.ocSession_AS.getSession({sessionId:s.sessionId});this.selectedSession_$.set(e),this.loadAssembledMessages({sessionId:s.sessionId}).catch(()=>{})}catch(e){if(!t){this.selectedSession_$.set(null);let n=e instanceof Error?e.message:"Failed to load session details";this.pushConsoleMessage({type:"error",text:`Load session failed: ${n}`})}}finally{t||this.selectedSessionLoading_$.set(!1)}})}loadGatewaySessionHistory(s){return d(this,null,function*(){this.selectedSessionLoading_$.set(!0),this.consoleMessages_$.set([]);try{let t=yield this.ocSession_AS.getGatewaySessionHistory({sessionId:s.sessionId,instanceId:s.instanceId}),e=t,n=Array.isArray(e._rawKeys)?e._rawKeys:[],o=Array.isArray(t.history)?t.history:[],i=this.parseGatewayHistory(o),a=typeof e.messageCount=="number"?e.messageCount:0,r=Array.isArray(e._firstMessageKeys)?e._firstMessageKeys:[];i.length?this.consoleMessages_$.set(i):a>0?this.consoleMessages_$.set([{listKey:this.allocateConsoleListKey(),type:"error",text:`Gateway session has ${a} messages, but mapping failed.
3
3
  Message keys: ${r.join(", ")||"unknown"}
4
4
  Gateway response keys: ${n.join(", ")||"none"}`,timestamp:new Date().toISOString()}]):this.consoleMessages_$.set([{listKey:this.allocateConsoleListKey(),type:"info",text:"Gateway session loaded \u2014 session has no messages yet.",timestamp:new Date().toISOString()}]),this.selectedSession_$.set({session:{sessionId:s.sessionId,workspacePath:"",status:"unknown",promptCount:0,toolCallCount:0,isArchived:!1},runtime:{isLive:!1,runtimeStatus:null,outputBufferLength:0}}),this.lastPolledHistoryFingerprint=this.computeGatewayHistoryFingerprint(o),this.startChatPolling()}catch(t){this.selectedSession_$.set(null),this.pushConsoleMessage({type:"error",text:`Load gateway session history failed: ${f.getErrorMessageForDisplay(t)}`})}finally{this.selectedSessionLoading_$.set(!1)}})}loadSessionEvents(s){return d(this,null,function*(){try{let t=yield this.ocSession_AS.getSessionEvents({sessionId:s.sessionId,eventType:s.eventType,limit:s.limit??500,latest:!0});this.selectedSessionEvents_$.set(t.events),this.updateLastKnownSequence(t.events);for(let e of t.events)this.pushConsoleMessageFromEvent(e)}catch(t){this.selectedSessionEvents_$.set([]),this.pushConsoleMessage({type:"error",text:`Load events failed: ${f.getErrorMessageForDisplay(t)}`})}})}createSession(s){return d(this,null,function*(){try{let t=yield this.ocSession_AS.createSession(s),e=String(t.session.sessionId||"");return yield this.loadSessions(),e}catch(t){throw this.pushConsoleMessage({type:"error",text:`Create session failed: ${f.getErrorMessageForDisplay(t)}`}),t}})}sendPrompt(s){return d(this,null,function*(){this.pushConsoleMessage({type:"prompt",text:s.content});try{let t=this.activeInstanceId_$();t?yield this.ocSession_AS.sendGatewayPrompt({sessionId:s.sessionId,instanceId:t,content:s.content}):yield this.ocSession_AS.sendPrompt(s)}catch(t){throw this.pushConsoleMessage({type:"error",text:`Send failed: ${f.getErrorMessageForDisplay(t)}`}),t}})}reconnectSession(s){return d(this,null,function*(){try{yield this.ocSession_AS.reconnectSession(s),yield this.loadSessions()}catch(t){throw this.pushConsoleMessage({type:"error",text:`Reconnect failed: ${f.getErrorMessageForDisplay(t)}`}),t}})}stopExecution(s){return d(this,null,function*(){try{yield this.ocSession_AS.stopExecution(s)}catch(t){throw this.pushConsoleMessage({type:"error",text:`Stop execution failed: ${f.getErrorMessageForDisplay(t)}`}),t}})}terminateSession(s){return d(this,null,function*(){try{yield this.ocSession_AS.terminateSession(s),yield this.loadSessions()}catch(t){throw this.pushConsoleMessage({type:"error",text:`Terminate failed: ${f.getErrorMessageForDisplay(t)}`}),t}})}setSessionArchived(s){return d(this,null,function*(){try{yield this.ocSession_AS.setSessionArchived(s),yield this.loadSessions()}catch(t){throw this.pushConsoleMessage({type:"error",text:`Archive failed: ${f.getErrorMessageForDisplay(t)}`}),t}})}updateSessionConfig(s){return d(this,null,function*(){try{yield this.ocSession_AS.updateSessionConfig(s);let t=this.selectedSession_$();if(t?.session.sessionId===s.sessionId){let e=I({},t.session);s.mode!=null&&(e.mode=s.mode),s.reasoningEffort!=null&&(e.reasoningEffort=s.reasoningEffort),s.openclawAgentName!=null&&(e.openclawAgentName=s.openclawAgentName),this.selectedSession_$.set(C(I({},t),{session:e}))}}catch(t){throw this.pushConsoleMessage({type:"error",text:`Config update failed: ${f.getErrorMessageForDisplay(t)}`}),t}})}setActiveSessionId(s){let t=this.activeSessionId_$();t&&t!==s&&this.socket_CS.emit("oc-session:unsubscribe",{sessionId:t}),this.activeSessionId_$.set(s),s&&this.socket_CS.emit("oc-session:subscribe",{sessionId:s})}clearLiveOutput(){this.stopChatPolling(),this.consoleMessages_$.set([]),this.sessionUsage_$.set({inputTokens:0,outputTokens:0,costUsd:0}),this.lastKnownEventSequence=-1}allocateConsoleListKey(){return globalThis.crypto.randomUUID()}pushConsoleMessage(s){let t=s.type==="assistant"||s.type==="prompt"?s.text.trim():s.text,e={listKey:s.listKey??this.allocateConsoleListKey(),type:s.type,text:t,timestamp:s.timestamp??new Date().toISOString(),expandableContent:s.expandableContent,rawData:s.rawData},n=this.consoleMessages_$();this.consoleMessages_$.set([...n,e])}static CHAT_POLL_INTERVAL_MS=5*A.second;static DETAIL_POLL_INTERVAL_MS=10*A.second;startChatPolling(){this.stopChatPolling(),this.chatPollHandle=setInterval(()=>{this.pollChatHistory()},l.CHAT_POLL_INTERVAL_MS),this.detailPollHandle=setInterval(()=>{let s=this.activeSessionId_$();s&&this.loadSessionDetail({sessionId:s,isSilent:!0})},l.DETAIL_POLL_INTERVAL_MS)}stopChatPolling(){this.chatPollHandle&&(clearInterval(this.chatPollHandle),this.chatPollHandle=null),this.detailPollHandle&&(clearInterval(this.detailPollHandle),this.detailPollHandle=null),this.lastPolledHistoryFingerprint=""}computeGatewayHistoryFingerprint(s){let t=s.length;if(!t)return"0";let e=s[t-1],n=typeof e.id=="string"?e.id:typeof e.messageId=="string"?e.messageId:"",o=l.extractGatewayChatMessageTimestamp(e),i=this.extractTextFromMessage(e),a=400,r=i.length>a?i.slice(0,a):i;return`${t}${n}${o}${r}`}pollChatHistory(){return d(this,null,function*(){let s=this.activeSessionId_$(),t=this.activeInstanceId_$();if(!(!s||!t))try{let e=yield this.ocSession_AS.getGatewaySessionHistory({sessionId:s,instanceId:t}),n=Array.isArray(e.history)?e.history:[],o=this.computeGatewayHistoryFingerprint(n);if(o===this.lastPolledHistoryFingerprint)return;this.lastPolledHistoryFingerprint=o;let i=this.parseGatewayHistory(n);this.ngZone.run(()=>{this.consoleMessages_$.set(i)})}catch{}})}parseGatewayHistory(s){let t=[],e=new Map,n=[];for(let i of s){let a=i.content;if(Array.isArray(a))for(let r of a){let p=typeof r.type=="string"?r.type:"";if(p==="tool_use"||p==="toolCall"){let S=typeof r.id=="string"?r.id:"";S&&n.push(S)}if(p==="tool_result"){let S=typeof r.tool_use_id=="string"?r.tool_use_id:"";S&&e.set(S,this.extractTextFromContentBlock(r))}}}let o=0;for(let i of s){let a=typeof i.role=="string"?i.role:"";if(a==="toolResult"||a==="tool_result"){let r=this.extractTextFromMessage(i);o<n.length&&(e.set(n[o],r),o++)}}for(let i of s){let a=typeof i.role=="string"?i.role:"unknown",r=i.content,p=l.extractGatewayChatMessageTimestamp(i);if(a==="toolResult"||a==="tool_result")continue;if(typeof r=="string"){t.push({listKey:this.allocateConsoleListKey(),type:a==="user"||a==="human"?"prompt":a==="assistant"?"assistant":"info",text:r,timestamp:p,rawData:i});continue}if(Array.isArray(r)){for(let c of r){let M=typeof c.type=="string"?c.type:"";if(M==="text")t.push({listKey:this.allocateConsoleListKey(),type:a==="user"||a==="human"?"prompt":"assistant",text:typeof c.text=="string"?c.text:"",timestamp:p,rawData:{_block:c,_message:{role:a,timestamp:p,contentBlockCount:r.length}}});else if(M==="tool_use"||M==="toolCall"){let b=typeof c.name=="string"?c.name:"unknown tool",T=typeof c.id=="string"?c.id:"",m=c.input??c.arguments,$=e.get(T);t.push({listKey:this.allocateConsoleListKey(),type:"tool",text:`${b}
@@ -6,4 +6,4 @@ ${JSON.stringify(m,null,2)}`,timestamp:p,expandableContent:$,rawData:{_block:c,_
6
6
  `):$=JSON.stringify(c,null,2),t.push({listKey:this.allocateConsoleListKey(),type:"tool-result",text:$,timestamp:p,rawData:{_block:c}})}}else M==="thinking"?t.push({listKey:this.allocateConsoleListKey(),type:"info",text:typeof c.thinking=="string"?c.thinking:JSON.stringify(c,null,2),timestamp:p,rawData:{_block:c}}):t.push({listKey:this.allocateConsoleListKey(),type:"info",text:JSON.stringify(c,null,2),timestamp:p,rawData:{_block:c}})}continue}let S=typeof i.text=="string"?i.text:typeof i.message=="string"?i.message:JSON.stringify(i,null,2);t.push({listKey:this.allocateConsoleListKey(),type:a==="user"||a==="human"?"prompt":a==="assistant"?"assistant":a==="tool"||a==="tool_result"||a==="tool_use"?"tool":"info",text:S,timestamp:p,rawData:i})}return t}backfillMissedEvents(){return d(this,null,function*(){let s=this.activeSessionId_$();if(!(!s||this.lastKnownEventSequence<0))try{let e=(yield this.ocSession_AS.getSessionEvents({sessionId:s,sinceSequence:this.lastKnownEventSequence})).events;if(!e.length)return;this.ngZone.run(()=>{let n=this.selectedSessionEvents_$();this.selectedSessionEvents_$.set([...n,...e]);for(let o of e)this.pushConsoleMessageFromEvent(o);this.updateLastKnownSequence(e)})}catch(t){A.DyFM_Log.warn("CCAP_OcSession_DS | backfill failed",t)}})}updateLastKnownSequence(s){for(let t of s)t.sequence>this.lastKnownEventSequence&&(this.lastKnownEventSequence=t.sequence)}handleSocketEvent(s){let t=s.event,e=s.payload;try{this.ngZone.run(()=>{switch(t){case"oc-session:status":this.handleStatusUpdate(e);break;case"oc-session:output":this.handleOutputChunk(e);break;case"oc-session:event":this.handleSessionEvent(e);break;case"oc-session:list-update":this.handleListUpdate(e);break;case"ext-session-msg:message":this.handleAssembledMessage(e);break;case"ext-session-msg:update":this.handleAssembledMessageUpdate(e);break}})}catch(n){A.DyFM_Log.error(`CCAP_OcSession_DS | socket event error | event: ${t}`,n)}}handleStatusUpdate(s){let t=s.sessionId??"",e=s.status??"",n=s.statusMessage;this.lastStatusUpdate_$.set({sessionId:t,status:e,statusMessage:n});let i=this.sessions_$().map(r=>r.sessionId===t?C(I({},r),{status:e,statusMessage:n}):r);this.sessions_$.set(i);let a=this.selectedSession_$();if(a?.session.sessionId===t){let r=e==="running"||e==="waiting-input";this.selectedSession_$.set(C(I({},a),{session:C(I({},a.session),{status:e,statusMessage:n}),runtime:C(I({},a.runtime),{isLive:r,runtimeStatus:e})}))}if(e==="errored"){let r=n?`OC Session error (${t}): ${n}`:`OC Session error (${t}): session entered errored state`;this.globalError_CS.showError(new Error(r),"oc-session-status")}}handleOutputChunk(s){let t=s.sessionId??"";if(t&&t!==this.activeSessionId_$())return;let e=s.content??"",n=s.type??"response";e&&this.pushConsoleMessage({type:n==="error"?"error":"assistant",text:e})}handleSessionEvent(s){let t=s.sessionId??"";if(t&&t!==this.activeSessionId_$())return;let e=s.event??{},n={sessionId:t,eventType:e.eventType??"",timestamp:e.timestamp??"",data:e.data??{},sequence:e.sequence??0};if(n.sequence<=this.lastKnownEventSequence)return;this.lastKnownEventSequence=n.sequence;let o=this.selectedSessionEvents_$();this.selectedSessionEvents_$.set([...o,n]),this.pushConsoleMessageFromEvent(n)}handleListUpdate(s){this.loadSessions().catch(()=>{})}extractTextFromContentBlock(s){let t=s.content;return typeof t=="string"?t:Array.isArray(t)?t.map(e=>typeof e.text=="string"?e.text:JSON.stringify(e,null,2)).join(`
7
7
  `):typeof s.text=="string"?s.text:JSON.stringify(s,null,2)}extractTextFromMessage(s){let t=s.content;return typeof t=="string"?t:Array.isArray(t)?t.map(e=>typeof e.text=="string"?e.text:JSON.stringify(e,null,2)).join(`
8
8
  `):JSON.stringify(s,null,2)}pushConsoleMessageFromEvent(s){let t=s.data;switch(s.eventType){case"response-chunk":{let e=typeof t.content=="string"?t.content:"";e&&this.pushConsoleMessage({type:"assistant",text:e});break}case"response-complete":{let e=t.usage;if(e&&typeof e=="object"){let n=e,o=this.sessionUsage_$();this.sessionUsage_$.set({inputTokens:o.inputTokens+(typeof n.inputTokens=="number"?n.inputTokens:0),outputTokens:o.outputTokens+(typeof n.outputTokens=="number"?n.outputTokens:0),costUsd:o.costUsd+(typeof n.costUsd=="number"?n.costUsd:0)})}break}case"tool-call-start":{let e=typeof t.name=="string"?t.name:"unknown",n=t.input,o=n?this.summarizeToolInput(n):"",i=o?`${e}: ${o}`:e;this.pushConsoleMessage({type:"tool",text:i,rawData:t});break}case"tool-call-end":{let e=t.content??t.output,n=typeof e=="string"?e:JSON.stringify(e??{});this.pushConsoleMessage({type:"tool-result",text:n.length>200?n.substring(0,200)+"\u2026":n,expandableContent:n.length>200?n:void 0,rawData:t});break}case"error":{let e=t.message??t.content;typeof e=="string"&&e&&this.pushConsoleMessage({type:"error",text:e});break}case"connection-change":{let e=typeof t.state=="string"?t.state:"";e&&this.pushConsoleMessage({type:"info",text:`Gateway connection: ${e}`,rawData:t});break}default:break}}summarizeToolInput(s){if(typeof s=="string")return s.length>80?s.substring(0,80)+"\u2026":s;if(typeof s=="object"&&s!==null){let t=JSON.stringify(s);return t.length>80?t.substring(0,80)+"\u2026":t}return""}static extractGatewayChatMessageTimestamp(s){return w.extractTimestamp(s,w.GATEWAY_CHAT_MESSAGE_TIMESTAMP_FIELD_NAMES)??""}loadAssembledMessages(s){return d(this,null,function*(){try{let t=yield this.extSessionMsg_AS.getMessages({sessionId:s.sessionId,latest:!0});this.assembledMessages_$.set(t.messages),this.assembledMessagesHasMore_$.set(t.hasMore===!0)}catch(t){A.DyFM_Log.error(`CCAP_OcSession_DS | loadAssembledMessages failed | sessionId: ${s.sessionId}`,t)}})}loadOlderAssembledMessages(s){return d(this,null,function*(){if(this.isLoadingOlderMessages_$()||!this.assembledMessagesHasMore_$())return;let t=this.assembledMessages_$();if(!t.length)return;let e=t.reduce((n,o)=>(o.sequence??0)<n?o.sequence??0:n,t[0].sequence??0);this.isLoadingOlderMessages_$.set(!0);try{let n=yield this.extSessionMsg_AS.getMessages({sessionId:s.sessionId,beforeSequence:e,limit:s.limit??50});n.messages.length&&this.assembledMessages_$.set([...n.messages,...t]),this.assembledMessagesHasMore_$.set(n.hasMore===!0)}catch(n){A.DyFM_Log.error(`CCAP_OcSession_DS | loadOlderAssembledMessages failed | sessionId: ${s.sessionId}`,n)}finally{this.isLoadingOlderMessages_$.set(!1)}})}handleAssembledMessage(s){let t=typeof s.sessionId=="string"?s.sessionId:"";if(!t||t!==this.activeSessionId_$())return;let e=s.message;if(!e||typeof e!="object")return;let n=e,o=this.assembledMessages_$();this.assembledMessages_$.set([...o,n])}handleAssembledMessageUpdate(s){let t=typeof s.sessionId=="string"?s.sessionId:"";if(!t||t!==this.activeSessionId_$())return;let e=typeof s.messageKey=="string"?s.messageKey:"";if(!e)return;let n=s.update;if(!n||typeof n!="object")return;let o=n,i=this.assembledMessages_$(),a=i.findIndex(S=>S.messageKey===e);if(a<0)return;let r=I({},i[a]);typeof o.bodyText=="string"&&(r.bodyText=o.bodyText),o.toolResult!==void 0&&(r.toolResult=o.toolResult),typeof o.toolStatus=="string"&&(r.toolStatus=o.toolStatus),o.headerStatusDot!==void 0&&(r.headerStatusDot=typeof o.headerStatusDot=="string"?o.headerStatusDot:void 0);let p=[...i];p[a]=r,this.assembledMessages_$.set(p)}static \u0275fac=function(t){return new(t||l)};static \u0275prov=v({token:l,factory:l.\u0275fac,providedIn:"root"})}return l})();export{w as a,ls as b};
9
- //# sourceMappingURL=chunk-CU5YQ2M4.js.map
9
+ //# sourceMappingURL=chunk-DEAFTFFH.js.map
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-EDMLVG72.js";import{G as i}from"./chunk-TBMJSIBB.js";var p=(()=>{class e{transform(t){return r.formatRelativeTime(t)}static \u0275fac=function(a){return new(a||e)};static \u0275pipe=i({name:"ccapRelativeTime",type:e,pure:!0,standalone:!0})}return e})();export{p as a};
2
- //# sourceMappingURL=chunk-PMJP2N4K.js.map
1
+ import{a as r}from"./chunk-PIQK6O5O.js";import{G as i}from"./chunk-TBMJSIBB.js";var p=(()=>{class e{transform(t){return r.formatRelativeTime(t)}static \u0275fac=function(a){return new(a||e)};static \u0275pipe=i({name:"ccapRelativeTime",type:e,pure:!0,standalone:!0})}return e})();export{p as a};
2
+ //# sourceMappingURL=chunk-E6C6MLAE.js.map
@@ -1,2 +1,2 @@
1
- import{j as s}from"./chunk-BH3GMEZZ.js";var r="ccap-personaSoulDraft";function p(){try{let o=localStorage.getItem(r);if(!o)return null;let n=s.tryParseStrict({text:o,contextLabel:"CCAP_PersonaDraft_localStorage"});if(!n.ok)return null;let e=n.value;if(typeof e!="object"||e===null)return null;let t=Object.fromEntries(Object.entries(e)),a=typeof t.name=="string"?t.name:"",c=typeof t.personality=="string"?t.personality:"",i=typeof t.conversation_style=="string"?t.conversation_style:"",l=typeof t.work_style=="string"?t.work_style:"",f=typeof t.mission=="string"?t.mission:"",y=typeof t.avoid=="string"?t.avoid:"";return{name:a,personality:c,conversation_style:i,work_style:l,mission:f,avoid:y}}catch{return null}}function g(o){try{localStorage.setItem(r,JSON.stringify(o))}catch{}}function u(){try{localStorage.removeItem(r)}catch{}}var m={get:p,save:g,clear:u};export{m as a};
2
- //# sourceMappingURL=chunk-6BYNIFJY.js.map
1
+ import{j as s}from"./chunk-ROLHXND4.js";var r="ccap-personaSoulDraft";function p(){try{let o=localStorage.getItem(r);if(!o)return null;let n=s.tryParseStrict({text:o,contextLabel:"CCAP_PersonaDraft_localStorage"});if(!n.ok)return null;let e=n.value;if(typeof e!="object"||e===null)return null;let t=Object.fromEntries(Object.entries(e)),a=typeof t.name=="string"?t.name:"",c=typeof t.personality=="string"?t.personality:"",i=typeof t.conversation_style=="string"?t.conversation_style:"",l=typeof t.work_style=="string"?t.work_style:"",f=typeof t.mission=="string"?t.mission:"",y=typeof t.avoid=="string"?t.avoid:"";return{name:a,personality:c,conversation_style:i,work_style:l,mission:f,avoid:y}}catch{return null}}function g(o){try{localStorage.setItem(r,JSON.stringify(o))}catch{}}function u(){try{localStorage.removeItem(r)}catch{}}var m={get:p,save:g,clear:u};export{m as a};
2
+ //# sourceMappingURL=chunk-F455BZKF.js.map
@@ -0,0 +1,2 @@
1
+ import{h as d,i as E}from"./chunk-RPTXBYC4.js";import{C as $,a as u,aa as i,b as f,k as c,y as p}from"./chunk-TBMJSIBB.js";var h=class o{static buildAnnotationIndex(e){let r=new Map;for(let t of e)t.errorCode&&t.errorCode.length>0&&r.set(t.errorCode,t);return r}static classify(e,r){let t=e.errorCode;if(!t)return{classification:"UNFIXED"};let s=r.get(t);if(!s||!s.fixedInVersion)return{classification:"UNFIXED"};let a=o.parseVersion(s.fixedInVersion),n=o.extractMaxVersion(e.versions);return!a||!n?{classification:"UNFIXED"}:{classification:o.compareVersions(n,a)<0?"STALE-BUILD":"REGRESSION",fixedInVersion:s.fixedInVersion,fixedInCycle:s.fixedInCycle,summary:s.summary}}static classifyAll(e,r){let t=o.buildAnnotationIndex(r);return e.map(s=>f(u({},s),{fixAnnotation:o.classify(s,t)}))}static parseVersion(e){let r=e.match(/(\d+)\.(\d+)\.(\d+)/);return r?[parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10)]:null}static extractMaxVersion(e){if(!e||!e.length)return null;let r=null;for(let t of e){let s=o.parseVersion(t);s!=null&&(r==null||o.compareVersions(s,r)>0)&&(r=s)}return r}static compareVersions(e,r){for(let t=0;t<3;t++){let s=e[t]??0,a=r[t]??0;if(s!==a)return s<a?-1:1}return 0}};var _=class{static sortCcapErrorListItemsNewestFirst(e){let r=[...e];return r.sort((t,s)=>{let a=L(t),n=L(s);if(n!==a)return n-a;let l=t._id??"";return(s._id??"").localeCompare(l)}),r}};function L(o){let e=o.lastOccurrenceAt??o.timestamp;if(!e||typeof e!="string"||e.trim().length===0)return 0;let r=Date.parse(e);return Number.isFinite(r)?r:0}var R=(()=>{class o{errors_$=i([]);errorsTotalCount_$=i(0);errorsLoading_$=i(!1);errorsLoadError_$=i(null);errorsLoadErrorRaw_$=i(null);lastRefreshedAt_$=i(null);hideStaleBuild_$=i(!0);fixAnnotations_$=i([]);selectedRange_$=i("24h");errorStats_$=i(null);errorStatsLoading_$=i(!1);errorStatsLoadError_$=i(null);errorStatsLoadErrorRaw_$=i(null);errorListFilter_$=i("");errors_AS=$(E);setListFilter(r){this.errorListFilter_$.set(r.trim())}clearListFilter(){this.errorListFilter_$.set("")}loadErrors(){return c(this,null,function*(){this.errorsLoading_$.set(!0),this.errorsLoadError_$.set(null),this.errorsLoadErrorRaw_$.set(null);try{let r=yield this.errors_AS.listErrors(),t=r.errors??[],s=[];try{s=yield this.errors_AS.listFixAnnotations()}catch{s=[]}this.fixAnnotations_$.set(s);let a=h.classifyAll(t,s);this.errors_$.set(_.sortCcapErrorListItemsNewestFirst(a)),this.errorsTotalCount_$.set(r.total),this.lastRefreshedAt_$.set(new Date)}catch(r){this.errorsLoadErrorRaw_$.set(r);let t=d.getErrorMessageForDisplay(r);this.errorsLoadError_$.set(t),this.errors_$.set([]),this.errorsTotalCount_$.set(0)}finally{this.errorsLoading_$.set(!1)}})}loadStats(r){return c(this,null,function*(){this.selectedRange_$.set(r),this.errorStatsLoading_$.set(!0),this.errorStatsLoadError_$.set(null),this.errorStatsLoadErrorRaw_$.set(null);try{let t=yield this.errors_AS.getErrorStatistics(r);this.errorStats_$.set(t)}catch(t){this.errorStatsLoadErrorRaw_$.set(t);let s=d.getErrorMessageForDisplay(t);this.errorStatsLoadError_$.set(s),this.errorStats_$.set(null)}finally{this.errorStatsLoading_$.set(!1)}})}clearAll(){return c(this,null,function*(){try{yield this.errors_AS.deleteAllErrors(),yield this.loadErrors()}catch(r){this.errorsLoadErrorRaw_$.set(r);let t=d.getErrorMessageForDisplay(r);this.errorsLoadError_$.set(t)}})}clearOne(r){return c(this,null,function*(){try{yield this.errors_AS.deleteError(r),this.errors_$.update(t=>t.filter(s=>s._id!==r)),this.errorsTotalCount_$.update(t=>Math.max(0,t-1))}catch(t){this.errorsLoadErrorRaw_$.set(t);let s=d.getErrorMessageForDisplay(t);this.errorsLoadError_$.set(s)}})}setPmUserMark(r,t){return c(this,null,function*(){try{let s=yield this.errors_AS.setPmUserMark(r,t),a=s.pmUserMarkedAt!=null&&s.pmUserMarkedAt.trim().length>0?s.pmUserMarkedAt.trim():void 0;this.errors_$.update(n=>n.map(l=>{if(l._id!==r)return l;if(a!=null)return f(u({},l),{pmUserMarkedAt:a});let m=u({},l);return delete m.pmUserMarkedAt,m}))}catch(s){this.errorsLoadErrorRaw_$.set(s);let a=d.getErrorMessageForDisplay(s);this.errorsLoadError_$.set(a)}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=p({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();export{R as a};
2
+ //# sourceMappingURL=chunk-FOLWKVUD.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/app/_collections/error/fix-annotation/ccap-error-fix-classifier.util.ts", "src/app/_collections/error/sort-ccap-error-list-items-newest-first.util.ts", "src/app/_modules/system/_modules/errors/_services/errors.data-service.ts"],
4
+ "sourcesContent": ["import {\n CCAP_ErrorListItem_Response,\n CCAP_ErrorFixClassification_Type,\n CCAP_ErrorFixAnnotation_Response,\n} from '../../../_models/interfaces/feedback-errors/ccap-error-list-item.interface';\nimport { CCAP_FixAnnotation_Response } from '../../../_models/interfaces/feedback-errors/ccap-fix-annotation.interface';\n\n/**\n * Cycle 780 (REQ-SYS-EH-FIX-ANNOTATION-001) — kliens-oldali klasszifikáló util.\n *\n * Egy lekért fix-annotation lista + egy error-rekord versions tömb alapján\n * eldönti, hogy az error STALE-BUILD (régi build, már fixelt), REGRESSION\n * (fix utáni új keletkezés) vagy UNFIXED (nincs annotation az errorCode-ra).\n *\n * Spec: `__specifications/system/runtime-error-fix-annotation.md`.\n */\nexport class CCAP_ErrorFixClassifier_Util {\n\n /**\n * Egy fix-annotation lista (server-side response) → errorCode-indexelt Map.\n */\n static buildAnnotationIndex(\n annotations: CCAP_FixAnnotation_Response[],\n ): Map<string, CCAP_FixAnnotation_Response> {\n const out: Map<string, CCAP_FixAnnotation_Response> = new Map();\n for (const a of annotations) {\n if (a.errorCode && a.errorCode.length > 0) {\n out.set(a.errorCode, a);\n }\n }\n return out;\n }\n\n /**\n * Egy error-rekord klasszifikálása. Az item.fixAnnotation-t adja vissza\n * (a hívó set-eli az item-re vagy egy mapped másolatra).\n */\n static classify(\n item: CCAP_ErrorListItem_Response,\n index: Map<string, CCAP_FixAnnotation_Response>,\n ): CCAP_ErrorFixAnnotation_Response {\n const errorCode: string | undefined = item.errorCode;\n if (!errorCode) {\n return { classification: 'UNFIXED' };\n }\n const ann: CCAP_FixAnnotation_Response | undefined = index.get(errorCode);\n if (!ann || !ann.fixedInVersion) {\n return { classification: 'UNFIXED' };\n }\n const fixV: number[] | null = CCAP_ErrorFixClassifier_Util.parseVersion(ann.fixedInVersion);\n const itemV: number[] | null = CCAP_ErrorFixClassifier_Util.extractMaxVersion(item.versions);\n if (!fixV || !itemV) {\n return { classification: 'UNFIXED' };\n }\n const cls: CCAP_ErrorFixClassification_Type =\n CCAP_ErrorFixClassifier_Util.compareVersions(itemV, fixV) < 0\n ? 'STALE-BUILD'\n : 'REGRESSION';\n return {\n classification: cls,\n fixedInVersion: ann.fixedInVersion,\n fixedInCycle: ann.fixedInCycle,\n summary: ann.summary,\n };\n }\n\n /**\n * Klasszifikáció a teljes listára (új tömb, az eredeti item-ek + fixAnnotation\n * mező).\n */\n static classifyAll(\n items: CCAP_ErrorListItem_Response[],\n annotations: CCAP_FixAnnotation_Response[],\n ): CCAP_ErrorListItem_Response[] {\n const index: Map<string, CCAP_FixAnnotation_Response> =\n CCAP_ErrorFixClassifier_Util.buildAnnotationIndex(annotations);\n return items.map((it: CCAP_ErrorListItem_Response): CCAP_ErrorListItem_Response => ({\n ...it,\n fixAnnotation: CCAP_ErrorFixClassifier_Util.classify(it, index),\n }));\n }\n\n /**\n * Verzió-string parse (`1.1.2473` → `[1, 1, 2473]`). null ha nem semver-szerű.\n * `SERVER-1.1.2469` prefix is elfogadott.\n */\n static parseVersion(v: string): number[] | null {\n const match: RegExpMatchArray | null = v.match(/(\\d+)\\.(\\d+)\\.(\\d+)/);\n if (!match) {\n return null;\n }\n return [\n parseInt(match[1], 10),\n parseInt(match[2], 10),\n parseInt(match[3], 10),\n ];\n }\n\n /**\n * Egy versions tömbből a legmagasabb verziót adja vissza.\n */\n static extractMaxVersion(versions: string[] | undefined): number[] | null {\n if (!versions || !versions.length) {\n return null;\n }\n let best: number[] | null = null;\n for (const v of versions) {\n const parsed: number[] | null = CCAP_ErrorFixClassifier_Util.parseVersion(v);\n if (parsed != null && (best == null || CCAP_ErrorFixClassifier_Util.compareVersions(parsed, best) > 0)) {\n best = parsed;\n }\n }\n return best;\n }\n\n /**\n * Két parse-elt verzió összehasonlítása. -1 / 0 / 1.\n */\n static compareVersions(a: number[], b: number[]): number {\n for (let i: number = 0; i < 3; i++) {\n const av: number = a[i] ?? 0;\n const bv: number = b[i] ?? 0;\n if (av !== bv) {\n return av < bv ? -1 : 1;\n }\n }\n return 0;\n }\n}\n", "import { CCAP_ErrorListItem_Response } from '../../_models/interfaces/feedback-errors/ccap-error-list-item.interface';\n\n/**\n * Hibalista rendezési util – statikus metódusokkal.\n */\nexport class SortCcapErrorListItemsNewestFirst_Util {\n /**\n * Hibalista másolatának rendezése: legfrissebb utolsó előfordulás (vagy első rögzítés) felülre.\n * Nem módosítja az input tömböt.\n */\n static sortCcapErrorListItemsNewestFirst(\n items: CCAP_ErrorListItem_Response[],\n ): CCAP_ErrorListItem_Response[] {\n const copy: CCAP_ErrorListItem_Response[] = [...items];\n copy.sort((a: CCAP_ErrorListItem_Response, b: CCAP_ErrorListItem_Response): number => {\n const msA: number = getErrorListItemSortTimeMs(a);\n const msB: number = getErrorListItemSortTimeMs(b);\n if (msB !== msA) {\n return msB - msA;\n }\n const idA: string = a._id ?? '';\n const idB: string = b._id ?? '';\n return idB.localeCompare(idA);\n });\n return copy;\n }\n}\n\n/**\n * Egy hibalista-elem időbélyege ms-ban a rendezéshez: először lastOccurrenceAt, különben timestamp.\n * Hiányos / érvénytelen dátum → 0 (a lista alja, egymás között _id tie-break).\n */\nfunction getErrorListItemSortTimeMs(item: CCAP_ErrorListItem_Response): number {\n const raw: string | undefined = item.lastOccurrenceAt ?? item.timestamp;\n if (!raw || typeof raw !== 'string' || raw.trim().length === 0) {\n return 0;\n }\n const ms: number = Date.parse(raw);\n return Number.isFinite(ms) ? ms : 0;\n}\n", "import { inject, Injectable, signal } from '@angular/core';\n\nimport { CCAP_ErrorDisplay_Util } from '../../../../../_collections/error/error-display.util';\nimport { CCAP_ErrorFixClassifier_Util } from '../../../../../_collections/error/fix-annotation/ccap-error-fix-classifier.util';\nimport { SortCcapErrorListItemsNewestFirst_Util } from '../../../../../_collections/error/sort-ccap-error-list-items-newest-first.util';\nimport { CCAP_ErrorListItem_Response } from '../../../../../_models/interfaces/feedback-errors/ccap-error-list-item.interface';\nimport {\n CCAP_ErrorStats_Response,\n CCAP_ErrorStatsRangeKey_Type,\n} from '../../../../../_models/interfaces/feedback-errors/ccap-error-stats.interface';\nimport { CCAP_FixAnnotation_Response } from '../../../../../_models/interfaces/feedback-errors/ccap-fix-annotation.interface';\nimport { Errors_ApiService } from './errors.api-service';\n\n/**\n * Errors data-service.\n * Egyetlen forrás a hibák listájához: loadErrors, clearAll, clearOne.\n */\n@Injectable({ providedIn: 'root' })\nexport class Errors_DataService {\n\n /** Hibák listája (lastOccurrenceAt DESC). */\n readonly errors_$ = signal<CCAP_ErrorListItem_Response[]>([]);\n\n /**\n * BUG-ERR-COUNT-CAP-001 (cycle 436): teljes szerveroldali error-szám,\n * NEM csak a lekért lap mérete (`errors_$.length` 100/30 cap).\n * A main-menu badge a tényleges szám megjelenítésére használja.\n */\n readonly errorsTotalCount_$ = signal<number>(0);\n\n /** Lista betöltés folyamatban. */\n readonly errorsLoading_$ = signal<boolean>(false);\n\n /** Lista betöltési hiba (null = nincs hiba); rövid szöveg (összefoglaló megjelenítéshez). */\n readonly errorsLoadError_$ = signal<string | null>(null);\n\n /**\n * Lista / törlés művelet nyers hibája (null = nincs hiba); Shared Error komponens input (HttpErrorResponse is).\n */\n readonly errorsLoadErrorRaw_$ = signal<unknown | null>(null);\n\n /** Utolsó sikeres frissítés időpontja (null = még nem volt betöltés). */\n readonly lastRefreshedAt_$ = signal<Date | null>(null);\n\n /**\n * Cycle 780 (REQ-SYS-EH-FIX-ANNOTATION-001) — a /errors UI default szűrője:\n * `STALE-BUILD` items elrejtve. A user toggle-vel kapcsolhatja vissza.\n */\n readonly hideStaleBuild_$ = signal<boolean>(true);\n\n /**\n * Cycle 780 — fix-annotation registry (errorCode → annotation), az utolsó load\n * eredménye. A `/errors` UI a klasszifikáció + summary megjelenítéséhez\n * használja. Üres tömb ha a server nem támogatja még az endpoint-ot.\n */\n readonly fixAnnotations_$ = signal<CCAP_FixAnnotation_Response[]>([]);\n\n /**\n * REQ-UI-ERR-STATISTICS-001 Slice 2 (cycle 969) — aktuálisan kiválasztott\n * időablak a stats-panel-en. Default 24h (egyezik a szerver default-tal).\n * UI: range-selector vezérli; `loadStats(range)` ezt írja a kérés előtt.\n */\n readonly selectedRange_$ = signal<CCAP_ErrorStatsRangeKey_Type>('24h');\n\n /** Utolsó stats-load eredménye; `null` = még nem volt sikeres load. */\n readonly errorStats_$ = signal<CCAP_ErrorStats_Response | null>(null);\n\n /** Stats betöltés folyamatban (spinner / disable refresh-button). */\n readonly errorStatsLoading_$ = signal<boolean>(false);\n\n /** Stats betöltési hiba rövid szövege (null = nincs hiba). */\n readonly errorStatsLoadError_$ = signal<string | null>(null);\n\n /** Stats betöltési nyers hiba (shared error component input). */\n readonly errorStatsLoadErrorRaw_$ = signal<unknown | null>(null);\n\n /**\n * REQ-UI-ERR-STATISTICS-001 Slice 5 (cycle 973) — kliens-oldali szöveg-szűrő\n * a fő error-listán. A stats-panel kattintható elemei ezt írják:\n * errorCode click → errorCode-ra szűr; source click → source-ra szűr. A\n * `visibleErrors_$` computed substring-match-et alkalmaz a `_errorCode`\n * és `source` mezőkre (case-insensitive). Üres string = nincs szűrés.\n */\n readonly errorListFilter_$ = signal<string>('');\n\n private readonly errors_AS: Errors_ApiService = inject(Errors_ApiService);\n\n /** Slice 5: filter beállítása stats-panel callback-ből vagy clear-ből. */\n setListFilter(filter: string): void {\n this.errorListFilter_$.set(filter.trim());\n }\n\n /** Slice 5: filter törlése (clear-button). */\n clearListFilter(): void {\n this.errorListFilter_$.set('');\n }\n\n /**\n * Hibák listájának betöltése a szerverről.\n */\n async loadErrors(): Promise<void> {\n this.errorsLoading_$.set(true);\n this.errorsLoadError_$.set(null);\n this.errorsLoadErrorRaw_$.set(null);\n try {\n const result = await this.errors_AS.listErrors();\n const raw: CCAP_ErrorListItem_Response[] = result.errors ?? [];\n\n // Cycle 780: fix-annotations lekérése + per-item klasszifikáció. Best-effort\n // — ha az endpoint hiányzik (pl. régebbi server build), üres lista mellett\n // minden item UNFIXED-ként klasszifikálódik (default).\n let annotations: CCAP_FixAnnotation_Response[] = [];\n try {\n annotations = await this.errors_AS.listFixAnnotations();\n } catch {\n annotations = [];\n }\n this.fixAnnotations_$.set(annotations);\n const classified: CCAP_ErrorListItem_Response[] =\n CCAP_ErrorFixClassifier_Util.classifyAll(raw, annotations);\n\n this.errors_$.set(SortCcapErrorListItemsNewestFirst_Util.sortCcapErrorListItemsNewestFirst(classified));\n // BUG-ERR-COUNT-CAP-001 (cycle 436): a paged.total a teljes szervert szám\n // (nem a lekért lap mérete) — a main-menu badge ezt használja.\n this.errorsTotalCount_$.set(result.total);\n this.lastRefreshedAt_$.set(new Date());\n } catch (err: unknown) {\n this.errorsLoadErrorRaw_$.set(err);\n const message: string = CCAP_ErrorDisplay_Util.getErrorMessageForDisplay(err);\n this.errorsLoadError_$.set(message);\n this.errors_$.set([]);\n this.errorsTotalCount_$.set(0);\n } finally {\n this.errorsLoading_$.set(false);\n }\n }\n\n /**\n * REQ-UI-ERR-STATISTICS-001 Slice 2 (cycle 969) — aggregált stats betöltés.\n * A megadott range-key-t signal-ba írja, majd az API-tól lekér; sikerre az\n * `errorStats_$` signal frissül. Hiba esetén üresre nullázza a signal-t,\n * és a `errorStatsLoadError_$` / `*Raw_$` mezőkbe ír.\n */\n async loadStats(rangeKey: CCAP_ErrorStatsRangeKey_Type): Promise<void> {\n this.selectedRange_$.set(rangeKey);\n this.errorStatsLoading_$.set(true);\n this.errorStatsLoadError_$.set(null);\n this.errorStatsLoadErrorRaw_$.set(null);\n try {\n const stats: CCAP_ErrorStats_Response = await this.errors_AS.getErrorStatistics(rangeKey);\n this.errorStats_$.set(stats);\n } catch (err: unknown) {\n this.errorStatsLoadErrorRaw_$.set(err);\n const message: string = CCAP_ErrorDisplay_Util.getErrorMessageForDisplay(err);\n this.errorStatsLoadError_$.set(message);\n this.errorStats_$.set(null);\n } finally {\n this.errorStatsLoading_$.set(false);\n }\n }\n\n /**\n * Összes hiba törlése, majd lista frissítése.\n */\n async clearAll(): Promise<void> {\n try {\n await this.errors_AS.deleteAllErrors();\n await this.loadErrors();\n } catch (err: unknown) {\n this.errorsLoadErrorRaw_$.set(err);\n const message: string = CCAP_ErrorDisplay_Util.getErrorMessageForDisplay(err);\n this.errorsLoadError_$.set(message);\n }\n }\n\n /**\n * Egy hiba törlése id alapján, majd lista frissítése (vagy elem eltávolítása a signal-ból).\n */\n async clearOne(id: string): Promise<void> {\n try {\n await this.errors_AS.deleteError(id);\n this.errors_$.update((list: CCAP_ErrorListItem_Response[]) =>\n list.filter((e: CCAP_ErrorListItem_Response) => e._id !== id),\n );\n // BUG-ERR-COUNT-CAP-001 (cycle 436): a teljes szám is dekrementálódik —\n // különben a badge stale számot mutatna a következő loadErrors-ig.\n this.errorsTotalCount_$.update((count: number): number => Math.max(0, count - 1));\n } catch (err: unknown) {\n this.errorsLoadErrorRaw_$.set(err);\n const message: string = CCAP_ErrorDisplay_Util.getErrorMessageForDisplay(err);\n this.errorsLoadError_$.set(message);\n }\n }\n\n /**\n * PM / user manuális megjelölés; siker esetén a lista signal-ban frissíti az adott sor `pmUserMarkedAt` mezőjét.\n */\n async setPmUserMark(id: string, marked: boolean): Promise<void> {\n try {\n const result: { pmUserMarkedAt: string | null } =\n await this.errors_AS.setPmUserMark(id, marked);\n const nextAt: string | undefined =\n result.pmUserMarkedAt != null && result.pmUserMarkedAt.trim().length > 0\n ? result.pmUserMarkedAt.trim()\n : undefined;\n this.errors_$.update((list: CCAP_ErrorListItem_Response[]) =>\n list.map((e: CCAP_ErrorListItem_Response): CCAP_ErrorListItem_Response => {\n if (e._id !== id) {\n return e;\n }\n // Cycle 780: object-spread, hogy a versions / errorCode / fixAnnotation\n // mezők ne vesszenek el (eddig a kézi tér-a-tér mapping tisztára felülírta).\n if (nextAt != null) {\n return { ...e, pmUserMarkedAt: nextAt };\n }\n const next: CCAP_ErrorListItem_Response = { ...e };\n delete next.pmUserMarkedAt;\n return next;\n }),\n );\n } catch (err: unknown) {\n this.errorsLoadErrorRaw_$.set(err);\n const message: string = CCAP_ErrorDisplay_Util.getErrorMessageForDisplay(err);\n this.errorsLoadError_$.set(message);\n }\n }\n}\n"],
5
+ "mappings": "2HAgBM,IAAOA,EAAP,MAAOA,CAA4B,CAKvC,OAAOC,qBACLC,EAA0C,CAE1C,IAAMC,EAAgD,IAAIC,IAC1D,QAAWC,KAAKH,EACVG,EAAEC,WAAaD,EAAEC,UAAUC,OAAS,GACtCJ,EAAIK,IAAIH,EAAEC,UAAWD,CAAC,EAG1B,OAAOF,CACT,CAMA,OAAOM,SACLC,EACAC,EAA+C,CAE/C,IAAML,EAAgCI,EAAKJ,UAC3C,GAAI,CAACA,EACH,MAAO,CAAEM,eAAgB,SAAS,EAEpC,IAAMC,EAA+CF,EAAMG,IAAIR,CAAS,EACxE,GAAI,CAACO,GAAO,CAACA,EAAIE,eACf,MAAO,CAAEH,eAAgB,SAAS,EAEpC,IAAMI,EAAwBhB,EAA6BiB,aAAaJ,EAAIE,cAAc,EACpFG,EAAyBlB,EAA6BmB,kBAAkBT,EAAKU,QAAQ,EAC3F,MAAI,CAACJ,GAAQ,CAACE,EACL,CAAEN,eAAgB,SAAS,EAM7B,CACLA,eAJAZ,EAA6BqB,gBAAgBH,EAAOF,CAAI,EAAI,EACxD,cACA,aAGJD,eAAgBF,EAAIE,eACpBO,aAAcT,EAAIS,aAClBC,QAASV,EAAIU,QAEjB,CAMA,OAAOC,YACLC,EACAvB,EAA0C,CAE1C,IAAMS,EACJX,EAA6BC,qBAAqBC,CAAW,EAC/D,OAAOuB,EAAMC,IAAKC,GAAkEC,EAAAC,EAAA,GAC/EF,GAD+E,CAElFG,cAAe9B,EAA6BS,SAASkB,EAAIhB,CAAK,GAC9D,CACJ,CAMA,OAAOM,aAAac,EAAS,CAC3B,IAAMC,EAAiCD,EAAEC,MAAM,qBAAqB,EACpE,OAAKA,EAGE,CACLC,SAASD,EAAM,CAAC,EAAG,EAAE,EACrBC,SAASD,EAAM,CAAC,EAAG,EAAE,EACrBC,SAASD,EAAM,CAAC,EAAG,EAAE,CAAC,EALf,IAOX,CAKA,OAAOb,kBAAkBC,EAA8B,CACrD,GAAI,CAACA,GAAY,CAACA,EAASb,OACzB,OAAO,KAET,IAAI2B,EAAwB,KAC5B,QAAWH,KAAKX,EAAU,CACxB,IAAMe,EAA0BnC,EAA6BiB,aAAac,CAAC,EACvEI,GAAU,OAASD,GAAQ,MAAQlC,EAA6BqB,gBAAgBc,EAAQD,CAAI,EAAI,KAClGA,EAAOC,EAEX,CACA,OAAOD,CACT,CAKA,OAAOb,gBAAgBhB,EAAa+B,EAAW,CAC7C,QAASC,EAAY,EAAGA,EAAI,EAAGA,IAAK,CAClC,IAAMC,EAAajC,EAAEgC,CAAC,GAAK,EACrBE,EAAaH,EAAEC,CAAC,GAAK,EAC3B,GAAIC,IAAOC,EACT,OAAOD,EAAKC,EAAK,GAAK,CAE1B,CACA,MAAO,EACT,GC1HI,IAAOC,EAAP,KAA6C,CAKjD,OAAOC,kCACLC,EAAoC,CAEpC,IAAMC,EAAsC,CAAC,GAAGD,CAAK,EACrDC,OAAAA,EAAKC,KAAK,CAACC,EAAgCC,IAA0C,CACnF,IAAMC,EAAcC,EAA2BH,CAAC,EAC1CI,EAAcD,EAA2BF,CAAC,EAChD,GAAIG,IAAQF,EACV,OAAOE,EAAMF,EAEf,IAAMG,EAAcL,EAAEM,KAAO,GAE7B,OADoBL,EAAEK,KAAO,IAClBC,cAAcF,CAAG,CAC9B,CAAC,EACMP,CACT,GAOF,SAASK,EAA2BK,EAAiC,CACnE,IAAMC,EAA0BD,EAAKE,kBAAoBF,EAAKG,UAC9D,GAAI,CAACF,GAAO,OAAOA,GAAQ,UAAYA,EAAIG,KAAI,EAAGC,SAAW,EAC3D,MAAO,GAET,IAAMC,EAAaC,KAAKC,MAAMP,CAAG,EACjC,OAAOQ,OAAOC,SAASJ,CAAE,EAAIA,EAAK,CACpC,CCrBA,IAAaK,GAAkB,IAAA,CAAzB,MAAOA,CAAkB,CAGpBC,SAAWC,EAAsC,CAAA,CAAE,EAOnDC,mBAAqBD,EAAe,CAAC,EAGrCE,gBAAkBF,EAAgB,EAAK,EAGvCG,kBAAoBH,EAAsB,IAAI,EAK9CI,qBAAuBJ,EAAuB,IAAI,EAGlDK,kBAAoBL,EAAoB,IAAI,EAM5CM,iBAAmBN,EAAgB,EAAI,EAOvCO,iBAAmBP,EAAsC,CAAA,CAAE,EAO3DQ,gBAAkBR,EAAqC,KAAK,EAG5DS,aAAeT,EAAwC,IAAI,EAG3DU,oBAAsBV,EAAgB,EAAK,EAG3CW,sBAAwBX,EAAsB,IAAI,EAGlDY,yBAA2BZ,EAAuB,IAAI,EAStDa,kBAAoBb,EAAe,EAAE,EAE7Bc,UAA+BC,EAAOC,CAAiB,EAGxEC,cAAcC,EAAc,CAC1B,KAAKL,kBAAkBM,IAAID,EAAOE,KAAI,CAAE,CAC1C,CAGAC,iBAAe,CACb,KAAKR,kBAAkBM,IAAI,EAAE,CAC/B,CAKMG,YAAU,QAAAC,EAAA,sBACd,KAAKrB,gBAAgBiB,IAAI,EAAI,EAC7B,KAAKhB,kBAAkBgB,IAAI,IAAI,EAC/B,KAAKf,qBAAqBe,IAAI,IAAI,EAClC,GAAI,CACF,IAAMK,EAAS,MAAM,KAAKV,UAAUW,WAAU,EACxCC,EAAqCF,EAAOG,QAAU,CAAA,EAKxDC,EAA6C,CAAA,EACjD,GAAI,CACFA,EAAc,MAAM,KAAKd,UAAUe,mBAAkB,CACvD,MAAQ,CACND,EAAc,CAAA,CAChB,CACA,KAAKrB,iBAAiBY,IAAIS,CAAW,EACrC,IAAME,EACJC,EAA6BC,YAAYN,EAAKE,CAAW,EAE3D,KAAK7B,SAASoB,IAAIc,EAAuCC,kCAAkCJ,CAAU,CAAC,EAGtG,KAAK7B,mBAAmBkB,IAAIK,EAAOW,KAAK,EACxC,KAAK9B,kBAAkBc,IAAI,IAAIiB,IAAM,CACvC,OAASC,EAAc,CACrB,KAAKjC,qBAAqBe,IAAIkB,CAAG,EACjC,IAAMC,EAAkBC,EAAuBC,0BAA0BH,CAAG,EAC5E,KAAKlC,kBAAkBgB,IAAImB,CAAO,EAClC,KAAKvC,SAASoB,IAAI,CAAA,CAAE,EACpB,KAAKlB,mBAAmBkB,IAAI,CAAC,CAC/B,QAAC,CACC,KAAKjB,gBAAgBiB,IAAI,EAAK,CAChC,CACF,GAQMsB,UAAUC,EAAsC,QAAAnB,EAAA,sBACpD,KAAKf,gBAAgBW,IAAIuB,CAAQ,EACjC,KAAKhC,oBAAoBS,IAAI,EAAI,EACjC,KAAKR,sBAAsBQ,IAAI,IAAI,EACnC,KAAKP,yBAAyBO,IAAI,IAAI,EACtC,GAAI,CACF,IAAMwB,EAAkC,MAAM,KAAK7B,UAAU8B,mBAAmBF,CAAQ,EACxF,KAAKjC,aAAaU,IAAIwB,CAAK,CAC7B,OAASN,EAAc,CACrB,KAAKzB,yBAAyBO,IAAIkB,CAAG,EACrC,IAAMC,EAAkBC,EAAuBC,0BAA0BH,CAAG,EAC5E,KAAK1B,sBAAsBQ,IAAImB,CAAO,EACtC,KAAK7B,aAAaU,IAAI,IAAI,CAC5B,QAAC,CACC,KAAKT,oBAAoBS,IAAI,EAAK,CACpC,CACF,GAKM0B,UAAQ,QAAAtB,EAAA,sBACZ,GAAI,CACF,MAAM,KAAKT,UAAUgC,gBAAe,EACpC,MAAM,KAAKxB,WAAU,CACvB,OAASe,EAAc,CACrB,KAAKjC,qBAAqBe,IAAIkB,CAAG,EACjC,IAAMC,EAAkBC,EAAuBC,0BAA0BH,CAAG,EAC5E,KAAKlC,kBAAkBgB,IAAImB,CAAO,CACpC,CACF,GAKMS,SAASC,EAAU,QAAAzB,EAAA,sBACvB,GAAI,CACF,MAAM,KAAKT,UAAUmC,YAAYD,CAAE,EACnC,KAAKjD,SAASmD,OAAQC,GACpBA,EAAKjC,OAAQkC,GAAmCA,EAAEC,MAAQL,CAAE,CAAC,EAI/D,KAAK/C,mBAAmBiD,OAAQI,GAA0BC,KAAKC,IAAI,EAAGF,EAAQ,CAAC,CAAC,CAClF,OAASjB,EAAc,CACrB,KAAKjC,qBAAqBe,IAAIkB,CAAG,EACjC,IAAMC,EAAkBC,EAAuBC,0BAA0BH,CAAG,EAC5E,KAAKlC,kBAAkBgB,IAAImB,CAAO,CACpC,CACF,GAKMmB,cAAcT,EAAYU,EAAe,QAAAnC,EAAA,sBAC7C,GAAI,CACF,IAAMC,EACJ,MAAM,KAAKV,UAAU2C,cAAcT,EAAIU,CAAM,EACzCC,EACJnC,EAAOoC,gBAAkB,MAAQpC,EAAOoC,eAAexC,KAAI,EAAGyC,OAAS,EACnErC,EAAOoC,eAAexC,KAAI,EAC1B0C,OACN,KAAK/D,SAASmD,OAAQC,GACpBA,EAAKY,IAAKX,GAA+D,CACvE,GAAIA,EAAEC,MAAQL,EACZ,OAAOI,EAIT,GAAIO,GAAU,KACZ,OAAOK,EAAAC,EAAA,GAAKb,GAAL,CAAQQ,eAAgBD,CAAM,GAEvC,IAAMO,EAAoCD,EAAA,GAAKb,GAC/C,cAAOc,EAAKN,eACLM,CACT,CAAC,CAAC,CAEN,OAAS7B,EAAc,CACrB,KAAKjC,qBAAqBe,IAAIkB,CAAG,EACjC,IAAMC,EAAkBC,EAAuBC,0BAA0BH,CAAG,EAC5E,KAAKlC,kBAAkBgB,IAAImB,CAAO,CACpC,CACF,8CA/MWxC,EAAkB,6BAAlBA,EAAkBqE,QAAlBrE,EAAkBsE,UAAAC,WADL,MAAM,CAAA,SACnBvE,CAAkB,GAAA",
6
+ "names": ["CCAP_ErrorFixClassifier_Util", "buildAnnotationIndex", "annotations", "out", "Map", "a", "errorCode", "length", "set", "classify", "item", "index", "classification", "ann", "get", "fixedInVersion", "fixV", "parseVersion", "itemV", "extractMaxVersion", "versions", "compareVersions", "fixedInCycle", "summary", "classifyAll", "items", "map", "it", "__spreadProps", "__spreadValues", "fixAnnotation", "v", "match", "parseInt", "best", "parsed", "b", "i", "av", "bv", "SortCcapErrorListItemsNewestFirst_Util", "sortCcapErrorListItemsNewestFirst", "items", "copy", "sort", "a", "b", "msA", "getErrorListItemSortTimeMs", "msB", "idA", "_id", "localeCompare", "item", "raw", "lastOccurrenceAt", "timestamp", "trim", "length", "ms", "Date", "parse", "Number", "isFinite", "Errors_DataService", "errors_$", "signal", "errorsTotalCount_$", "errorsLoading_$", "errorsLoadError_$", "errorsLoadErrorRaw_$", "lastRefreshedAt_$", "hideStaleBuild_$", "fixAnnotations_$", "selectedRange_$", "errorStats_$", "errorStatsLoading_$", "errorStatsLoadError_$", "errorStatsLoadErrorRaw_$", "errorListFilter_$", "errors_AS", "inject", "Errors_ApiService", "setListFilter", "filter", "set", "trim", "clearListFilter", "loadErrors", "__async", "result", "listErrors", "raw", "errors", "annotations", "listFixAnnotations", "classified", "CCAP_ErrorFixClassifier_Util", "classifyAll", "SortCcapErrorListItemsNewestFirst_Util", "sortCcapErrorListItemsNewestFirst", "total", "Date", "err", "message", "CCAP_ErrorDisplay_Util", "getErrorMessageForDisplay", "loadStats", "rangeKey", "stats", "getErrorStatistics", "clearAll", "deleteAllErrors", "clearOne", "id", "deleteError", "update", "list", "e", "_id", "count", "Math", "max", "setPmUserMark", "marked", "nextAt", "pmUserMarkedAt", "length", "undefined", "map", "__spreadProps", "__spreadValues", "next", "factory", "\u0275fac", "providedIn"]
7
+ }