@futdevpro/ccap 1.1.3125 → 1.1.3130

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 (177) hide show
  1. package/client-dist/{agent-instances.module-3N6ANN67.js → agent-instances.module-KE64PSK7.js} +2 -2
  2. package/client-dist/{ca.module-VKQKP6JP.js → ca.module-JJZX5YKQ.js} +2 -2
  3. package/client-dist/{cc-usage-dashboard.component-65FF5SWE.js → cc-usage-dashboard.component-ODAXHZHU.js} +2 -2
  4. package/client-dist/{cc.module-BKTAO4S7.js → cc.module-4MS5M5XW.js} +2 -2
  5. package/client-dist/{chunk-OZHMTJQJ.js → chunk-36BCBGXK.js} +2 -2
  6. package/client-dist/{chunk-7UGLDNS5.js → chunk-3HLEHUE4.js} +2 -2
  7. package/client-dist/{chunk-MANX3UTJ.js → chunk-4CLON3UX.js} +2 -2
  8. package/client-dist/{chunk-IA2MKRM5.js → chunk-4O4UDIWG.js} +2 -2
  9. package/client-dist/{chunk-WJTUNKFF.js → chunk-5E5W3DFK.js} +2 -2
  10. package/client-dist/{chunk-34ASVWQQ.js → chunk-5KQZGU6O.js} +2 -2
  11. package/client-dist/{chunk-UOOILECA.js → chunk-5XJR5EAR.js} +2 -2
  12. package/client-dist/{chunk-HTF2IFDS.js → chunk-7TYUDNTP.js} +2 -2
  13. package/client-dist/{chunk-WV4WOPQF.js → chunk-C2ZXKTHA.js} +2 -2
  14. package/client-dist/{chunk-ES7OKROB.js → chunk-CAUXU2ZC.js} +2 -2
  15. package/client-dist/{chunk-Q4Z4WTJ3.js → chunk-CBMKN4SJ.js} +2 -2
  16. package/client-dist/{chunk-C5WLCPTP.js → chunk-CF3BLCVD.js} +2 -2
  17. package/client-dist/{chunk-DBF3SSPS.js → chunk-CIO2T2KX.js} +2 -2
  18. package/client-dist/{chunk-C5SDBZ5G.js → chunk-CUA2OS6E.js} +2 -2
  19. package/client-dist/{chunk-ALT4GOBR.js → chunk-DB33SOJ3.js} +2 -2
  20. package/client-dist/{chunk-FXN33EYC.js → chunk-EC4VBEIV.js} +2 -2
  21. package/client-dist/{chunk-RO7BDRAB.js → chunk-EFH7L2PM.js} +2 -2
  22. package/client-dist/{chunk-EHNLVVAY.js → chunk-EG7MEKVY.js} +2 -2
  23. package/client-dist/{chunk-SC33BNLI.js → chunk-EGWEYXZW.js} +2 -2
  24. package/client-dist/{chunk-VM6JI2LV.js → chunk-EVYE6YII.js} +2 -2
  25. package/client-dist/{chunk-AELBVLTQ.js → chunk-FBF7RSNU.js} +2 -2
  26. package/client-dist/{chunk-UCATC7Y7.js → chunk-FBZDKQ4K.js} +2 -2
  27. package/client-dist/{chunk-ZLSL5N3C.js → chunk-FQL5FQFW.js} +2 -2
  28. package/client-dist/{chunk-BSZUQJTF.js → chunk-GOPRHQFC.js} +2 -2
  29. package/client-dist/{chunk-R5DCGGN5.js → chunk-HK2TYWE7.js} +2 -2
  30. package/client-dist/{chunk-ZGNVQEFP.js → chunk-HSO5WM67.js} +2 -2
  31. package/client-dist/{chunk-PATTK77E.js → chunk-ISPLVKBM.js} +2 -2
  32. package/client-dist/{chunk-WWJB3AHB.js → chunk-JWXM6QMF.js} +2 -2
  33. package/client-dist/{chunk-3EWLYCQY.js → chunk-KC7UN4VT.js} +2 -2
  34. package/client-dist/{chunk-XEGOHOPX.js → chunk-KNTOPF7C.js} +2 -2
  35. package/client-dist/{chunk-A7WV3WRL.js → chunk-L4CLV44N.js} +2 -2
  36. package/client-dist/{chunk-46VCON6Y.js → chunk-LBG3XMYU.js} +2 -2
  37. package/client-dist/{chunk-V46EMM4L.js → chunk-NBH53JWT.js} +2 -2
  38. package/client-dist/{chunk-57RF5FWV.js → chunk-NHKJYR4C.js} +2 -2
  39. package/client-dist/{chunk-TDVYMNCA.js → chunk-NIMLWXGM.js} +2 -2
  40. package/client-dist/{chunk-IRCYROGT.js → chunk-O6KFG5LW.js} +2 -2
  41. package/client-dist/{chunk-7ELFOHXT.js → chunk-PR5VADUQ.js} +2 -2
  42. package/client-dist/{chunk-4EPTK7TX.js → chunk-QHZI4F2F.js} +2 -2
  43. package/client-dist/{chunk-TWWHZRZD.js → chunk-QNLMNKP4.js} +2 -2
  44. package/client-dist/{chunk-45RYGYWU.js → chunk-R2C7U5TP.js} +2 -2
  45. package/client-dist/{chunk-FIPZN6Q5.js → chunk-RLXJG6ZF.js} +2 -2
  46. package/client-dist/{chunk-YPFW4KUX.js → chunk-RNXGBUU3.js} +2 -2
  47. package/client-dist/{chunk-YIVWQSH4.js → chunk-S5PG5OUU.js} +2 -2
  48. package/client-dist/{chunk-RVZXTBBM.js → chunk-SWJLLCFC.js} +2 -2
  49. package/client-dist/{chunk-TU3VH4LZ.js → chunk-TCDXJTTX.js} +2 -2
  50. package/client-dist/{chunk-NJPJYDH6.js → chunk-U6B7OBXY.js} +2 -2
  51. package/client-dist/{chunk-NK4RLW4D.js → chunk-URXIWUNP.js} +2 -2
  52. package/client-dist/{chunk-6NAFJLV5.js → chunk-UTJQVE4E.js} +2 -2
  53. package/client-dist/{chunk-NAHXFBXE.js → chunk-V6QEYU4X.js} +2 -2
  54. package/client-dist/{chunk-EUAB5X46.js → chunk-VL2H6COO.js} +2 -2
  55. package/client-dist/{chunk-XRPVTKIP.js → chunk-VORYOEWH.js} +2 -2
  56. package/client-dist/{chunk-PN5J6JP2.js → chunk-VU76JPZM.js} +2 -2
  57. package/client-dist/{chunk-3BIY7XPG.js → chunk-X4IBG3WG.js} +2 -2
  58. package/client-dist/{chunk-KBLPP6PQ.js → chunk-XZTQ4YC7.js} +2 -2
  59. package/client-dist/{chunk-QXM45TNB.js → chunk-Y3DARUXQ.js} +2 -2
  60. package/client-dist/{chunk-QXM45TNB.js.map → chunk-Y3DARUXQ.js.map} +1 -1
  61. package/client-dist/{chunk-TCJ6WHLQ.js → chunk-ZTB2RW6R.js} +2 -2
  62. package/client-dist/{consultant.module-5G73QF4O.js → consultant.module-S4UQA3UJ.js} +2 -2
  63. package/client-dist/{crd.module-PF5ZYSFN.js → crd.module-XHOTNUXY.js} +2 -2
  64. package/client-dist/{dashboard.module-QIH6EALQ.js → dashboard.module-YZMJUPDH.js} +2 -2
  65. package/client-dist/{do.module-IZT2TG65.js → do.module-ESWOBSRO.js} +2 -2
  66. package/client-dist/{document-library.module-OC3PF44G.js → document-library.module-S2IATB7C.js} +2 -2
  67. package/client-dist/{embedding-eval.module-FXSI4XED.js → embedding-eval.module-OAUL3HRQ.js} +2 -2
  68. package/client-dist/{embedding-registry.module-W65CI3YZ.js → embedding-registry.module-T4Q57QWS.js} +2 -2
  69. package/client-dist/{err.module-34QTGFAO.js → err.module-YM7F2DFM.js} +2 -2
  70. package/client-dist/{feedback.module-LWOMLYP2.js → feedback.module-4ZLA4O5I.js} +2 -2
  71. package/client-dist/{host-runtime-mcp.module-4GXDHVJV.js → host-runtime-mcp.module-OIK42CRE.js} +2 -2
  72. package/client-dist/index.html +1 -1
  73. package/client-dist/{live-dev-pipeline.module-KB44IF3A.js → live-dev-pipeline.module-AFWGOCMO.js} +2 -2
  74. package/client-dist/{logs.module-S6JGYNTG.js → logs.module-OSZVMRRI.js} +2 -2
  75. package/client-dist/{main-KV4C3EP5.js → main-3KSHNVCW.js} +3 -3
  76. package/client-dist/{master-control-remote-poc.module-HSWDJ7AR.js → master-control-remote-poc.module-T5NK5KD7.js} +2 -2
  77. package/client-dist/{mobile-app.module-CPULBFKG.js → mobile-app.module-GPFLEVWR.js} +2 -2
  78. package/client-dist/{model-registry.module-SCIPNUN7.js → model-registry.module-SKRFHTWQ.js} +2 -2
  79. package/client-dist/{oc.module-7SUQHFMM.js → oc.module-562ZP6BM.js} +2 -2
  80. package/client-dist/{orc.module-UOTIRJKH.js → orc.module-SCMVZ535.js} +2 -2
  81. package/client-dist/{project-management.module-SXG557HP.js → project-management.module-LA7M6MXA.js} +2 -2
  82. package/client-dist/project-source-routed.module-QQBPIDUK.js +2 -0
  83. package/client-dist/{scheduler.module-EED4H4OV.js → scheduler.module-QNWITVDV.js} +2 -2
  84. package/client-dist/{session.module-R4NYRIWY.js → session.module-LJNWNXN7.js} +2 -2
  85. package/client-dist/{set.module-ZWXJCTIC.js → set.module-FINVUQYD.js} +2 -2
  86. package/client-dist/{setup.module-STH35LIH.js → setup.module-5FOSEQWI.js} +2 -2
  87. package/client-dist/{terminals.module-SZPN4HFG.js → terminals.module-LMW6DR3T.js} +2 -2
  88. package/client-dist/{voice-notes-poc.module-DSCGKJMG.js → voice-notes-poc.module-R3ECC3V3.js} +2 -2
  89. package/client-dist/{wfs.module-CNAZGEUO.js → wfs.module-TAZFZ2BH.js} +2 -2
  90. package/package.json +1 -1
  91. package/client-dist/project-source-routed.module-JLUP6FXQ.js +0 -2
  92. /package/client-dist/{agent-instances.module-3N6ANN67.js.map → agent-instances.module-KE64PSK7.js.map} +0 -0
  93. /package/client-dist/{ca.module-VKQKP6JP.js.map → ca.module-JJZX5YKQ.js.map} +0 -0
  94. /package/client-dist/{cc-usage-dashboard.component-65FF5SWE.js.map → cc-usage-dashboard.component-ODAXHZHU.js.map} +0 -0
  95. /package/client-dist/{cc.module-BKTAO4S7.js.map → cc.module-4MS5M5XW.js.map} +0 -0
  96. /package/client-dist/{chunk-OZHMTJQJ.js.map → chunk-36BCBGXK.js.map} +0 -0
  97. /package/client-dist/{chunk-7UGLDNS5.js.map → chunk-3HLEHUE4.js.map} +0 -0
  98. /package/client-dist/{chunk-MANX3UTJ.js.map → chunk-4CLON3UX.js.map} +0 -0
  99. /package/client-dist/{chunk-IA2MKRM5.js.map → chunk-4O4UDIWG.js.map} +0 -0
  100. /package/client-dist/{chunk-WJTUNKFF.js.map → chunk-5E5W3DFK.js.map} +0 -0
  101. /package/client-dist/{chunk-34ASVWQQ.js.map → chunk-5KQZGU6O.js.map} +0 -0
  102. /package/client-dist/{chunk-UOOILECA.js.map → chunk-5XJR5EAR.js.map} +0 -0
  103. /package/client-dist/{chunk-HTF2IFDS.js.map → chunk-7TYUDNTP.js.map} +0 -0
  104. /package/client-dist/{chunk-WV4WOPQF.js.map → chunk-C2ZXKTHA.js.map} +0 -0
  105. /package/client-dist/{chunk-ES7OKROB.js.map → chunk-CAUXU2ZC.js.map} +0 -0
  106. /package/client-dist/{chunk-Q4Z4WTJ3.js.map → chunk-CBMKN4SJ.js.map} +0 -0
  107. /package/client-dist/{chunk-C5WLCPTP.js.map → chunk-CF3BLCVD.js.map} +0 -0
  108. /package/client-dist/{chunk-DBF3SSPS.js.map → chunk-CIO2T2KX.js.map} +0 -0
  109. /package/client-dist/{chunk-C5SDBZ5G.js.map → chunk-CUA2OS6E.js.map} +0 -0
  110. /package/client-dist/{chunk-ALT4GOBR.js.map → chunk-DB33SOJ3.js.map} +0 -0
  111. /package/client-dist/{chunk-FXN33EYC.js.map → chunk-EC4VBEIV.js.map} +0 -0
  112. /package/client-dist/{chunk-RO7BDRAB.js.map → chunk-EFH7L2PM.js.map} +0 -0
  113. /package/client-dist/{chunk-EHNLVVAY.js.map → chunk-EG7MEKVY.js.map} +0 -0
  114. /package/client-dist/{chunk-SC33BNLI.js.map → chunk-EGWEYXZW.js.map} +0 -0
  115. /package/client-dist/{chunk-VM6JI2LV.js.map → chunk-EVYE6YII.js.map} +0 -0
  116. /package/client-dist/{chunk-AELBVLTQ.js.map → chunk-FBF7RSNU.js.map} +0 -0
  117. /package/client-dist/{chunk-UCATC7Y7.js.map → chunk-FBZDKQ4K.js.map} +0 -0
  118. /package/client-dist/{chunk-ZLSL5N3C.js.map → chunk-FQL5FQFW.js.map} +0 -0
  119. /package/client-dist/{chunk-BSZUQJTF.js.map → chunk-GOPRHQFC.js.map} +0 -0
  120. /package/client-dist/{chunk-R5DCGGN5.js.map → chunk-HK2TYWE7.js.map} +0 -0
  121. /package/client-dist/{chunk-ZGNVQEFP.js.map → chunk-HSO5WM67.js.map} +0 -0
  122. /package/client-dist/{chunk-PATTK77E.js.map → chunk-ISPLVKBM.js.map} +0 -0
  123. /package/client-dist/{chunk-WWJB3AHB.js.map → chunk-JWXM6QMF.js.map} +0 -0
  124. /package/client-dist/{chunk-3EWLYCQY.js.map → chunk-KC7UN4VT.js.map} +0 -0
  125. /package/client-dist/{chunk-XEGOHOPX.js.map → chunk-KNTOPF7C.js.map} +0 -0
  126. /package/client-dist/{chunk-A7WV3WRL.js.map → chunk-L4CLV44N.js.map} +0 -0
  127. /package/client-dist/{chunk-46VCON6Y.js.map → chunk-LBG3XMYU.js.map} +0 -0
  128. /package/client-dist/{chunk-V46EMM4L.js.map → chunk-NBH53JWT.js.map} +0 -0
  129. /package/client-dist/{chunk-57RF5FWV.js.map → chunk-NHKJYR4C.js.map} +0 -0
  130. /package/client-dist/{chunk-TDVYMNCA.js.map → chunk-NIMLWXGM.js.map} +0 -0
  131. /package/client-dist/{chunk-IRCYROGT.js.map → chunk-O6KFG5LW.js.map} +0 -0
  132. /package/client-dist/{chunk-7ELFOHXT.js.map → chunk-PR5VADUQ.js.map} +0 -0
  133. /package/client-dist/{chunk-4EPTK7TX.js.map → chunk-QHZI4F2F.js.map} +0 -0
  134. /package/client-dist/{chunk-TWWHZRZD.js.map → chunk-QNLMNKP4.js.map} +0 -0
  135. /package/client-dist/{chunk-45RYGYWU.js.map → chunk-R2C7U5TP.js.map} +0 -0
  136. /package/client-dist/{chunk-FIPZN6Q5.js.map → chunk-RLXJG6ZF.js.map} +0 -0
  137. /package/client-dist/{chunk-YPFW4KUX.js.map → chunk-RNXGBUU3.js.map} +0 -0
  138. /package/client-dist/{chunk-YIVWQSH4.js.map → chunk-S5PG5OUU.js.map} +0 -0
  139. /package/client-dist/{chunk-RVZXTBBM.js.map → chunk-SWJLLCFC.js.map} +0 -0
  140. /package/client-dist/{chunk-TU3VH4LZ.js.map → chunk-TCDXJTTX.js.map} +0 -0
  141. /package/client-dist/{chunk-NJPJYDH6.js.map → chunk-U6B7OBXY.js.map} +0 -0
  142. /package/client-dist/{chunk-NK4RLW4D.js.map → chunk-URXIWUNP.js.map} +0 -0
  143. /package/client-dist/{chunk-6NAFJLV5.js.map → chunk-UTJQVE4E.js.map} +0 -0
  144. /package/client-dist/{chunk-NAHXFBXE.js.map → chunk-V6QEYU4X.js.map} +0 -0
  145. /package/client-dist/{chunk-EUAB5X46.js.map → chunk-VL2H6COO.js.map} +0 -0
  146. /package/client-dist/{chunk-XRPVTKIP.js.map → chunk-VORYOEWH.js.map} +0 -0
  147. /package/client-dist/{chunk-PN5J6JP2.js.map → chunk-VU76JPZM.js.map} +0 -0
  148. /package/client-dist/{chunk-3BIY7XPG.js.map → chunk-X4IBG3WG.js.map} +0 -0
  149. /package/client-dist/{chunk-KBLPP6PQ.js.map → chunk-XZTQ4YC7.js.map} +0 -0
  150. /package/client-dist/{chunk-TCJ6WHLQ.js.map → chunk-ZTB2RW6R.js.map} +0 -0
  151. /package/client-dist/{consultant.module-5G73QF4O.js.map → consultant.module-S4UQA3UJ.js.map} +0 -0
  152. /package/client-dist/{crd.module-PF5ZYSFN.js.map → crd.module-XHOTNUXY.js.map} +0 -0
  153. /package/client-dist/{dashboard.module-QIH6EALQ.js.map → dashboard.module-YZMJUPDH.js.map} +0 -0
  154. /package/client-dist/{do.module-IZT2TG65.js.map → do.module-ESWOBSRO.js.map} +0 -0
  155. /package/client-dist/{document-library.module-OC3PF44G.js.map → document-library.module-S2IATB7C.js.map} +0 -0
  156. /package/client-dist/{embedding-eval.module-FXSI4XED.js.map → embedding-eval.module-OAUL3HRQ.js.map} +0 -0
  157. /package/client-dist/{embedding-registry.module-W65CI3YZ.js.map → embedding-registry.module-T4Q57QWS.js.map} +0 -0
  158. /package/client-dist/{err.module-34QTGFAO.js.map → err.module-YM7F2DFM.js.map} +0 -0
  159. /package/client-dist/{feedback.module-LWOMLYP2.js.map → feedback.module-4ZLA4O5I.js.map} +0 -0
  160. /package/client-dist/{host-runtime-mcp.module-4GXDHVJV.js.map → host-runtime-mcp.module-OIK42CRE.js.map} +0 -0
  161. /package/client-dist/{live-dev-pipeline.module-KB44IF3A.js.map → live-dev-pipeline.module-AFWGOCMO.js.map} +0 -0
  162. /package/client-dist/{logs.module-S6JGYNTG.js.map → logs.module-OSZVMRRI.js.map} +0 -0
  163. /package/client-dist/{main-KV4C3EP5.js.map → main-3KSHNVCW.js.map} +0 -0
  164. /package/client-dist/{master-control-remote-poc.module-HSWDJ7AR.js.map → master-control-remote-poc.module-T5NK5KD7.js.map} +0 -0
  165. /package/client-dist/{mobile-app.module-CPULBFKG.js.map → mobile-app.module-GPFLEVWR.js.map} +0 -0
  166. /package/client-dist/{model-registry.module-SCIPNUN7.js.map → model-registry.module-SKRFHTWQ.js.map} +0 -0
  167. /package/client-dist/{oc.module-7SUQHFMM.js.map → oc.module-562ZP6BM.js.map} +0 -0
  168. /package/client-dist/{orc.module-UOTIRJKH.js.map → orc.module-SCMVZ535.js.map} +0 -0
  169. /package/client-dist/{project-management.module-SXG557HP.js.map → project-management.module-LA7M6MXA.js.map} +0 -0
  170. /package/client-dist/{project-source-routed.module-JLUP6FXQ.js.map → project-source-routed.module-QQBPIDUK.js.map} +0 -0
  171. /package/client-dist/{scheduler.module-EED4H4OV.js.map → scheduler.module-QNWITVDV.js.map} +0 -0
  172. /package/client-dist/{session.module-R4NYRIWY.js.map → session.module-LJNWNXN7.js.map} +0 -0
  173. /package/client-dist/{set.module-ZWXJCTIC.js.map → set.module-FINVUQYD.js.map} +0 -0
  174. /package/client-dist/{setup.module-STH35LIH.js.map → setup.module-5FOSEQWI.js.map} +0 -0
  175. /package/client-dist/{terminals.module-SZPN4HFG.js.map → terminals.module-LMW6DR3T.js.map} +0 -0
  176. /package/client-dist/{voice-notes-poc.module-DSCGKJMG.js.map → voice-notes-poc.module-R3ECC3V3.js.map} +0 -0
  177. /package/client-dist/{wfs.module-CNAZGEUO.js.map → wfs.module-TAZFZ2BH.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{p as C}from"./chunk-QXM45TNB.js";import{aa as f,h as p,k as h,y as m}from"./chunk-TBMJSIBB.js";var a=function(o){return o.stopped="stopped",o.standby="standby",o.running="running",o}(a||{});var k={navigator_unavailable:"A hangfelv\xE9tel nem el\xE9rhet\u0151: a b\xF6ng\xE9sz\u0151 k\xF6rnyezet nem t\xE1mogatja a navigator API-t.",media_devices_unavailable:"A hangfelv\xE9tel nem el\xE9rhet\u0151: a b\xF6ng\xE9sz\u0151 ezen az oldalon nem ad hozz\xE1f\xE9r\xE9st a mikrofonhoz.",secure_context_required:"A hangfelv\xE9tel ezen az oldalon nem el\xE9rhet\u0151: a b\xF6ng\xE9sz\u0151 csak biztons\xE1gos kapcsolatban (HTTPS vagy localhost) enged\xE9lyezi a mikrofont."},v={media_devices_unavailable:"A mikrofonhoz haszn\xE1ld az alkalmaz\xE1st HTTPS c\xEDmen (pl. https://localhost:39051) vagy localhost-on.",secure_context_required:"A mikrofonhoz haszn\xE1ld az alkalmaz\xE1st HTTPS c\xEDmen (pl. https://localhost:39051) vagy localhost-on."},d=class{static wrapGetUserMediaError(s){if(s instanceof Error&&"code"in s&&typeof s.code=="string"&&s.code.startsWith("CCAP_"))return s;let e=s instanceof DOMException||s instanceof Error?s.name:"UnknownError",t,i;switch(e){case"NotAllowedError":t="CCAP_MIC_PERMISSION_DENIED",i="Microphone access denied by user or browser policy";break;case"NotFoundError":t="CCAP_MIC_NOT_FOUND",i="No microphone device found on this device";break;case"NotReadableError":t="CCAP_MIC_NOT_READABLE",i="Microphone hardware error or device already in use by another application";break;case"OverconstrainedError":t="CCAP_MIC_OVERCONSTRAINED",i="Microphone does not support the requested audio constraints";break;case"AbortError":t="CCAP_MIC_ABORTED",i="Microphone access request was aborted by the system";break;case"SecurityError":t="CCAP_MIC_SECURITY_ERROR",i="Microphone access blocked by document security policy (Permissions-Policy / iframe)";break;default:t="CCAP_MIC_UNKNOWN_ERROR",i=`getUserMedia failed with ${e}`;break}let n=new Error(i);return n.code=t,n.cause=s,n}static getGetUserMediaErrorMessage(s){switch(s instanceof DOMException||s instanceof Error?s.name:""){case"NotAllowedError":return"A mikrofon haszn\xE1lata nem enged\xE9lyezett: a b\xF6ng\xE9sz\u0151 vagy a felhaszn\xE1l\xF3 megtagadta a hozz\xE1f\xE9r\xE9st.";case"NotFoundError":return"Nem tal\xE1lhat\xF3 mikrofon ezen az eszk\xF6z\xF6n.";case"NotReadableError":return"A mikrofon nem olvashat\xF3: hardverhiba vagy egy m\xE1sik alkalmaz\xE1s haszn\xE1lja.";case"OverconstrainedError":return"A mikrofon nem t\xE1mogatja a k\xE9rt audio be\xE1ll\xEDt\xE1sokat.";case"AbortError":return"A mikrofon-hozz\xE1f\xE9r\xE9si k\xE9r\xE9s megszakadt.";case"SecurityError":return"A mikrofon-hozz\xE1f\xE9r\xE9st a biztons\xE1gi szab\xE1lyzat (Permissions-Policy / iframe) blokkolta.";default:return"A mikrofon el\xE9r\xE9se sikertelen (ismeretlen hiba)."}}static getGetUserMediaErrorHint(s){switch(s instanceof DOMException||s instanceof Error?s.name:""){case"NotAllowedError":return"Enged\xE9lyezd a mikrofont a b\xF6ng\xE9sz\u0151 c\xEDmsor\xE1ban (lakat ikon \u2192 Mikrofon \u2192 Enged\xE9lyez\xE9s), majd pr\xF3b\xE1ld \xFAjra. Androidon: Be\xE1ll\xEDt\xE1sok \u2192 Alkalmaz\xE1sok \u2192 Chrome \u2192 Enged\xE9lyek \u2192 Mikrofon.";case"NotReadableError":return"Z\xE1rd be a mikrofont haszn\xE1l\xF3 m\xE1sik alkalmaz\xE1st (pl. vide\xF3h\xEDv\xE1s, diktafon), majd pr\xF3b\xE1ld \xFAjra.";case"SecurityError":return'Ha az alkalmaz\xE1s iframe-ben fut, az iframe-nek "allow=microphone" attrib\xFAtumra van sz\xFCks\xE9ge.';default:return""}}static getMediaRecordingAvailability(){return typeof navigator>"u"?{supported:!1,reason:"navigator_unavailable"}:typeof window<"u"&&window.isSecureContext===!1?{supported:!1,reason:"secure_context_required"}:navigator.mediaDevices==null?{supported:!1,reason:"media_devices_unavailable"}:{supported:!0}}static getMediaUnavailableReportMessage(s){return`Media recording not available (reason: ${s}). Use HTTPS or localhost for microphone access.`}static getMediaUnavailableHint(s){return v[s]??""}static getMediaUnavailableMessage(s){return k[s]??"A hangfelv\xE9tel nem el\xE9rhet\u0151 ezen az oldalon."}};var r=p(C());var A=["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus","audio/ogg","audio/mp4"],z=(()=>{class o{volumeGate=.05;silenceTimeLimitMs=5*r.second;timesliceMs=5*r.second;segmentMaxChunks=6;segmentSoftFlushMinChunks=4;getUserMediaTimeoutMs=15*r.second;state_$=f(a.stopped);mediaStream=null;mediaRecorder=null;audioContext=null;analyser=null;audioSourceNode=null;volumeAnimationId=null;chunkIndex=0;chunks=[];isRestartingForFlush=!1;selectedMime="";onChunkCb=null;onVolumeCb=null;onErrorCb=null;deviceChangeHandler=null;silenceStartTime=null;setOnChunk(e){this.onChunkCb=e}setOnVolume(e){this.onVolumeCb=e}setOnError(e){this.onErrorCb=e}selectMime(){for(let e of A)if(MediaRecorder.isTypeSupported(e))return e;return"audio/webm"}getExtension(){return this.selectedMime.startsWith("audio/webm")?"webm":this.selectedMime.startsWith("audio/ogg")?"ogg":this.selectedMime.startsWith("audio/mp4")?"mp4":"webm"}startListening(){return h(this,null,function*(){if(this.state_$()===a.stopped)try{let e=d.getMediaRecordingAvailability();if(!e.supported){let n=`Media recording not available (reason: ${e.reason??"unknown"})`,l=new Error(n);throw l.code="CCAP_MEDIA_NOT_AVAILABLE",l}let t=null;try{let n=navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,channelCount:1}}),l=new Promise((c,g)=>{t=setTimeout(()=>{let u=new Error(`getUserMedia timed out after ${this.getUserMediaTimeoutMs}ms`);u.code="CCAP_MIC_TIMEOUT",g(u)},this.getUserMediaTimeoutMs)});this.mediaStream=yield Promise.race([n,l])}catch(n){throw d.wrapGetUserMediaError(n)}finally{t!==null&&clearTimeout(t)}let i=this.mediaStream.getAudioTracks()[0];i&&(r.DyFM_Log.info("[CCAP] mic track settings",i.getSettings()),i.onended=()=>{r.DyFM_Log.info("[CCAP] mic track ended unexpectedly"),this.stopListening(),this.onErrorCb?.(new Error("Microphone track ended unexpectedly (device disconnected?)"))}),this.registerDeviceChangeListener(),this.selectedMime=this.selectMime(),this.startVolumeLoop(),this.state_$.set(a.standby)}catch(e){throw this.state_$.set(a.stopped),e}})}stopListening(){let e=this.state_$()===a.running;e&&this.stopCapture(!0),this.stopVolumeLoop(),e||this.stopMediaRecorder(),this.silenceStartTime=null,this.unregisterDeviceChangeListener(),this.mediaStream&&(this.mediaStream.getTracks().forEach(t=>t.stop()),this.mediaStream=null),this.state_$.set(a.stopped)}startCapture(){return h(this,null,function*(){try{if(this.mediaStream==null&&(yield this.startListening()),this.mediaStream==null)return;this.silenceStartTime=null,this.chunks=[],this.createAndStartRecorder(),this.state_$.set(a.running)}catch(e){this.stopVolumeLoop(),this.state_$.set(a.stopped),this.onErrorCb?.(e)}})}stopCapture(e=!1,t=!1){if(this.isRestartingForFlush=!1,!(this.mediaRecorder==null||this.state_$()!==a.running)){try{this.mediaRecorder.stop()}catch(i){r.DyFM_Log.info("[CCAP] mediaRecorder.stop() failed (likely already inactive)",i),this.mediaRecorder=null,this.flushChunksAsSegment(e),this.state_$.set(this.mediaStream?a.standby:a.stopped);return}if(t){this.mediaRecorder=null,this.flushChunksAsSegment(e),this.state_$.set(this.mediaStream?a.standby:a.stopped);return}this.mediaRecorder.onstop=()=>{this.mediaRecorder=null,this.flushChunksAsSegment(e),this.state_$.set(this.mediaStream?a.standby:a.stopped)}}}createAndStartRecorder(){this.mediaStream&&(this.mediaRecorder=new MediaRecorder(this.mediaStream,{mimeType:this.selectedMime,audioBitsPerSecond:128e3}),this.mediaRecorder.ondataavailable=e=>{if(e.data.size>0&&this.chunks.push(e.data),this.state_$()!==a.running||this.isRestartingForFlush)return;let t=this.chunks.length>=this.segmentMaxChunks,i=this.chunks.length>=this.segmentSoftFlushMinChunks&&this.silenceStartTime!==null;(t||i)&&this.restartRecorderForFlush()},this.mediaRecorder.start(this.timesliceMs))}restartRecorderForFlush(){if(!(!this.mediaRecorder||this.mediaRecorder.state==="inactive")){this.isRestartingForFlush=!0,this.silenceStartTime=null,r.DyFM_Log.info("[CCAP] restartRecorderForFlush: stopping current recorder for mid-recording flush"),this.mediaRecorder.onstop=()=>{this.isRestartingForFlush=!1,this.mediaRecorder=null;let e=this.chunks.length;if(this.flushChunksAsSegment(!1),r.DyFM_Log.info(`[CCAP] restartRecorderForFlush: flushed ${e} chunks as segment`),this.state_$()!==a.running||!this.mediaStream){r.DyFM_Log.info("[CCAP] restartRecorderForFlush: not restarting (state changed or no stream)");return}this.createAndStartRecorder(),r.DyFM_Log.info("[CCAP] restartRecorderForFlush: new recorder started for next segment")};try{this.mediaRecorder.stop()}catch{this.isRestartingForFlush=!1,this.mediaRecorder=null,this.flushChunksAsSegment(!1)}}}flushChunksAsSegment(e){if(this.chunks.length===0)return;let t=new Blob(this.chunks,{type:this.selectedMime}),i={mimeType:this.selectedMime,filename:`audio-${Date.now()}.${this.getExtension()}`,chunkIndex:this.chunkIndex++,isFinal:e};this.chunks=[],this.onChunkCb?.(t,i)}startVolumeLoop(){if(this.mediaStream==null||this.onVolumeCb==null)return;this.audioContext=new AudioContext,this.audioContext.state==="suspended"&&this.audioContext.resume().catch(()=>{}),this.audioContext.onstatechange=()=>{let i=this.audioContext?.state??"unknown";r.DyFM_Log.info("[CCAP] AudioContext state changed:",i),i==="suspended"&&this.state_$()!==a.stopped&&this.audioContext?.resume().catch(()=>{})},this.audioSourceNode=this.audioContext.createMediaStreamSource(this.mediaStream),this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2048,this.analyser.smoothingTimeConstant=.8,this.audioSourceNode.connect(this.analyser);let e=new Float32Array(this.analyser.fftSize),t=()=>{if(this.analyser==null||this.onVolumeCb==null)return;this.analyser.getFloatTimeDomainData(e);let i=0;for(let c=0;c<e.length;c++)i+=Math.abs(e[c]);let n=i/e.length;this.onVolumeCb(n);let l=this.state_$();if(l===a.standby&&n>=this.volumeGate){this.startCapture(),this.volumeAnimationId=requestAnimationFrame(t);return}l===a.running&&!this.isRestartingForFlush&&(n<this.volumeGate?this.silenceStartTime===null?this.silenceStartTime=Date.now():Date.now()-this.silenceStartTime>=this.silenceTimeLimitMs&&(this.stopCapture(),this.silenceStartTime=null):this.silenceStartTime=null),this.volumeAnimationId=requestAnimationFrame(t)};t()}stopVolumeLoop(){this.volumeAnimationId!=null&&(cancelAnimationFrame(this.volumeAnimationId),this.volumeAnimationId=null),this.audioSourceNode=null,this.audioContext!=null&&(this.audioContext.onstatechange=null,this.audioContext.close().catch(()=>{}),this.audioContext=null),this.analyser=null}stopMediaRecorder(){if(this.mediaRecorder!=null&&this.mediaRecorder.state!=="inactive"){try{this.mediaRecorder.stop()}catch{}this.mediaRecorder=null}this.chunks=[],this.isRestartingForFlush=!1}registerDeviceChangeListener(){try{this.deviceChangeHandler=()=>{r.DyFM_Log.info("[CCAP] media device change detected")},navigator.mediaDevices.addEventListener("devicechange",this.deviceChangeHandler)}catch{this.deviceChangeHandler=null}}unregisterDeviceChangeListener(){if(this.deviceChangeHandler){try{navigator.mediaDevices.removeEventListener("devicechange",this.deviceChangeHandler)}catch{}this.deviceChangeHandler=null}}static \u0275fac=function(t){return new(t||o)};static \u0275prov=m({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();export{a,d as b,z as c};
2
- //# sourceMappingURL=chunk-UOOILECA.js.map
1
+ import{p as C}from"./chunk-Y3DARUXQ.js";import{aa as f,h as p,k as h,y as m}from"./chunk-TBMJSIBB.js";var a=function(o){return o.stopped="stopped",o.standby="standby",o.running="running",o}(a||{});var k={navigator_unavailable:"A hangfelv\xE9tel nem el\xE9rhet\u0151: a b\xF6ng\xE9sz\u0151 k\xF6rnyezet nem t\xE1mogatja a navigator API-t.",media_devices_unavailable:"A hangfelv\xE9tel nem el\xE9rhet\u0151: a b\xF6ng\xE9sz\u0151 ezen az oldalon nem ad hozz\xE1f\xE9r\xE9st a mikrofonhoz.",secure_context_required:"A hangfelv\xE9tel ezen az oldalon nem el\xE9rhet\u0151: a b\xF6ng\xE9sz\u0151 csak biztons\xE1gos kapcsolatban (HTTPS vagy localhost) enged\xE9lyezi a mikrofont."},v={media_devices_unavailable:"A mikrofonhoz haszn\xE1ld az alkalmaz\xE1st HTTPS c\xEDmen (pl. https://localhost:39051) vagy localhost-on.",secure_context_required:"A mikrofonhoz haszn\xE1ld az alkalmaz\xE1st HTTPS c\xEDmen (pl. https://localhost:39051) vagy localhost-on."},d=class{static wrapGetUserMediaError(s){if(s instanceof Error&&"code"in s&&typeof s.code=="string"&&s.code.startsWith("CCAP_"))return s;let e=s instanceof DOMException||s instanceof Error?s.name:"UnknownError",t,i;switch(e){case"NotAllowedError":t="CCAP_MIC_PERMISSION_DENIED",i="Microphone access denied by user or browser policy";break;case"NotFoundError":t="CCAP_MIC_NOT_FOUND",i="No microphone device found on this device";break;case"NotReadableError":t="CCAP_MIC_NOT_READABLE",i="Microphone hardware error or device already in use by another application";break;case"OverconstrainedError":t="CCAP_MIC_OVERCONSTRAINED",i="Microphone does not support the requested audio constraints";break;case"AbortError":t="CCAP_MIC_ABORTED",i="Microphone access request was aborted by the system";break;case"SecurityError":t="CCAP_MIC_SECURITY_ERROR",i="Microphone access blocked by document security policy (Permissions-Policy / iframe)";break;default:t="CCAP_MIC_UNKNOWN_ERROR",i=`getUserMedia failed with ${e}`;break}let n=new Error(i);return n.code=t,n.cause=s,n}static getGetUserMediaErrorMessage(s){switch(s instanceof DOMException||s instanceof Error?s.name:""){case"NotAllowedError":return"A mikrofon haszn\xE1lata nem enged\xE9lyezett: a b\xF6ng\xE9sz\u0151 vagy a felhaszn\xE1l\xF3 megtagadta a hozz\xE1f\xE9r\xE9st.";case"NotFoundError":return"Nem tal\xE1lhat\xF3 mikrofon ezen az eszk\xF6z\xF6n.";case"NotReadableError":return"A mikrofon nem olvashat\xF3: hardverhiba vagy egy m\xE1sik alkalmaz\xE1s haszn\xE1lja.";case"OverconstrainedError":return"A mikrofon nem t\xE1mogatja a k\xE9rt audio be\xE1ll\xEDt\xE1sokat.";case"AbortError":return"A mikrofon-hozz\xE1f\xE9r\xE9si k\xE9r\xE9s megszakadt.";case"SecurityError":return"A mikrofon-hozz\xE1f\xE9r\xE9st a biztons\xE1gi szab\xE1lyzat (Permissions-Policy / iframe) blokkolta.";default:return"A mikrofon el\xE9r\xE9se sikertelen (ismeretlen hiba)."}}static getGetUserMediaErrorHint(s){switch(s instanceof DOMException||s instanceof Error?s.name:""){case"NotAllowedError":return"Enged\xE9lyezd a mikrofont a b\xF6ng\xE9sz\u0151 c\xEDmsor\xE1ban (lakat ikon \u2192 Mikrofon \u2192 Enged\xE9lyez\xE9s), majd pr\xF3b\xE1ld \xFAjra. Androidon: Be\xE1ll\xEDt\xE1sok \u2192 Alkalmaz\xE1sok \u2192 Chrome \u2192 Enged\xE9lyek \u2192 Mikrofon.";case"NotReadableError":return"Z\xE1rd be a mikrofont haszn\xE1l\xF3 m\xE1sik alkalmaz\xE1st (pl. vide\xF3h\xEDv\xE1s, diktafon), majd pr\xF3b\xE1ld \xFAjra.";case"SecurityError":return'Ha az alkalmaz\xE1s iframe-ben fut, az iframe-nek "allow=microphone" attrib\xFAtumra van sz\xFCks\xE9ge.';default:return""}}static getMediaRecordingAvailability(){return typeof navigator>"u"?{supported:!1,reason:"navigator_unavailable"}:typeof window<"u"&&window.isSecureContext===!1?{supported:!1,reason:"secure_context_required"}:navigator.mediaDevices==null?{supported:!1,reason:"media_devices_unavailable"}:{supported:!0}}static getMediaUnavailableReportMessage(s){return`Media recording not available (reason: ${s}). Use HTTPS or localhost for microphone access.`}static getMediaUnavailableHint(s){return v[s]??""}static getMediaUnavailableMessage(s){return k[s]??"A hangfelv\xE9tel nem el\xE9rhet\u0151 ezen az oldalon."}};var r=p(C());var A=["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus","audio/ogg","audio/mp4"],z=(()=>{class o{volumeGate=.05;silenceTimeLimitMs=5*r.second;timesliceMs=5*r.second;segmentMaxChunks=6;segmentSoftFlushMinChunks=4;getUserMediaTimeoutMs=15*r.second;state_$=f(a.stopped);mediaStream=null;mediaRecorder=null;audioContext=null;analyser=null;audioSourceNode=null;volumeAnimationId=null;chunkIndex=0;chunks=[];isRestartingForFlush=!1;selectedMime="";onChunkCb=null;onVolumeCb=null;onErrorCb=null;deviceChangeHandler=null;silenceStartTime=null;setOnChunk(e){this.onChunkCb=e}setOnVolume(e){this.onVolumeCb=e}setOnError(e){this.onErrorCb=e}selectMime(){for(let e of A)if(MediaRecorder.isTypeSupported(e))return e;return"audio/webm"}getExtension(){return this.selectedMime.startsWith("audio/webm")?"webm":this.selectedMime.startsWith("audio/ogg")?"ogg":this.selectedMime.startsWith("audio/mp4")?"mp4":"webm"}startListening(){return h(this,null,function*(){if(this.state_$()===a.stopped)try{let e=d.getMediaRecordingAvailability();if(!e.supported){let n=`Media recording not available (reason: ${e.reason??"unknown"})`,l=new Error(n);throw l.code="CCAP_MEDIA_NOT_AVAILABLE",l}let t=null;try{let n=navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,channelCount:1}}),l=new Promise((c,g)=>{t=setTimeout(()=>{let u=new Error(`getUserMedia timed out after ${this.getUserMediaTimeoutMs}ms`);u.code="CCAP_MIC_TIMEOUT",g(u)},this.getUserMediaTimeoutMs)});this.mediaStream=yield Promise.race([n,l])}catch(n){throw d.wrapGetUserMediaError(n)}finally{t!==null&&clearTimeout(t)}let i=this.mediaStream.getAudioTracks()[0];i&&(r.DyFM_Log.info("[CCAP] mic track settings",i.getSettings()),i.onended=()=>{r.DyFM_Log.info("[CCAP] mic track ended unexpectedly"),this.stopListening(),this.onErrorCb?.(new Error("Microphone track ended unexpectedly (device disconnected?)"))}),this.registerDeviceChangeListener(),this.selectedMime=this.selectMime(),this.startVolumeLoop(),this.state_$.set(a.standby)}catch(e){throw this.state_$.set(a.stopped),e}})}stopListening(){let e=this.state_$()===a.running;e&&this.stopCapture(!0),this.stopVolumeLoop(),e||this.stopMediaRecorder(),this.silenceStartTime=null,this.unregisterDeviceChangeListener(),this.mediaStream&&(this.mediaStream.getTracks().forEach(t=>t.stop()),this.mediaStream=null),this.state_$.set(a.stopped)}startCapture(){return h(this,null,function*(){try{if(this.mediaStream==null&&(yield this.startListening()),this.mediaStream==null)return;this.silenceStartTime=null,this.chunks=[],this.createAndStartRecorder(),this.state_$.set(a.running)}catch(e){this.stopVolumeLoop(),this.state_$.set(a.stopped),this.onErrorCb?.(e)}})}stopCapture(e=!1,t=!1){if(this.isRestartingForFlush=!1,!(this.mediaRecorder==null||this.state_$()!==a.running)){try{this.mediaRecorder.stop()}catch(i){r.DyFM_Log.info("[CCAP] mediaRecorder.stop() failed (likely already inactive)",i),this.mediaRecorder=null,this.flushChunksAsSegment(e),this.state_$.set(this.mediaStream?a.standby:a.stopped);return}if(t){this.mediaRecorder=null,this.flushChunksAsSegment(e),this.state_$.set(this.mediaStream?a.standby:a.stopped);return}this.mediaRecorder.onstop=()=>{this.mediaRecorder=null,this.flushChunksAsSegment(e),this.state_$.set(this.mediaStream?a.standby:a.stopped)}}}createAndStartRecorder(){this.mediaStream&&(this.mediaRecorder=new MediaRecorder(this.mediaStream,{mimeType:this.selectedMime,audioBitsPerSecond:128e3}),this.mediaRecorder.ondataavailable=e=>{if(e.data.size>0&&this.chunks.push(e.data),this.state_$()!==a.running||this.isRestartingForFlush)return;let t=this.chunks.length>=this.segmentMaxChunks,i=this.chunks.length>=this.segmentSoftFlushMinChunks&&this.silenceStartTime!==null;(t||i)&&this.restartRecorderForFlush()},this.mediaRecorder.start(this.timesliceMs))}restartRecorderForFlush(){if(!(!this.mediaRecorder||this.mediaRecorder.state==="inactive")){this.isRestartingForFlush=!0,this.silenceStartTime=null,r.DyFM_Log.info("[CCAP] restartRecorderForFlush: stopping current recorder for mid-recording flush"),this.mediaRecorder.onstop=()=>{this.isRestartingForFlush=!1,this.mediaRecorder=null;let e=this.chunks.length;if(this.flushChunksAsSegment(!1),r.DyFM_Log.info(`[CCAP] restartRecorderForFlush: flushed ${e} chunks as segment`),this.state_$()!==a.running||!this.mediaStream){r.DyFM_Log.info("[CCAP] restartRecorderForFlush: not restarting (state changed or no stream)");return}this.createAndStartRecorder(),r.DyFM_Log.info("[CCAP] restartRecorderForFlush: new recorder started for next segment")};try{this.mediaRecorder.stop()}catch{this.isRestartingForFlush=!1,this.mediaRecorder=null,this.flushChunksAsSegment(!1)}}}flushChunksAsSegment(e){if(this.chunks.length===0)return;let t=new Blob(this.chunks,{type:this.selectedMime}),i={mimeType:this.selectedMime,filename:`audio-${Date.now()}.${this.getExtension()}`,chunkIndex:this.chunkIndex++,isFinal:e};this.chunks=[],this.onChunkCb?.(t,i)}startVolumeLoop(){if(this.mediaStream==null||this.onVolumeCb==null)return;this.audioContext=new AudioContext,this.audioContext.state==="suspended"&&this.audioContext.resume().catch(()=>{}),this.audioContext.onstatechange=()=>{let i=this.audioContext?.state??"unknown";r.DyFM_Log.info("[CCAP] AudioContext state changed:",i),i==="suspended"&&this.state_$()!==a.stopped&&this.audioContext?.resume().catch(()=>{})},this.audioSourceNode=this.audioContext.createMediaStreamSource(this.mediaStream),this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2048,this.analyser.smoothingTimeConstant=.8,this.audioSourceNode.connect(this.analyser);let e=new Float32Array(this.analyser.fftSize),t=()=>{if(this.analyser==null||this.onVolumeCb==null)return;this.analyser.getFloatTimeDomainData(e);let i=0;for(let c=0;c<e.length;c++)i+=Math.abs(e[c]);let n=i/e.length;this.onVolumeCb(n);let l=this.state_$();if(l===a.standby&&n>=this.volumeGate){this.startCapture(),this.volumeAnimationId=requestAnimationFrame(t);return}l===a.running&&!this.isRestartingForFlush&&(n<this.volumeGate?this.silenceStartTime===null?this.silenceStartTime=Date.now():Date.now()-this.silenceStartTime>=this.silenceTimeLimitMs&&(this.stopCapture(),this.silenceStartTime=null):this.silenceStartTime=null),this.volumeAnimationId=requestAnimationFrame(t)};t()}stopVolumeLoop(){this.volumeAnimationId!=null&&(cancelAnimationFrame(this.volumeAnimationId),this.volumeAnimationId=null),this.audioSourceNode=null,this.audioContext!=null&&(this.audioContext.onstatechange=null,this.audioContext.close().catch(()=>{}),this.audioContext=null),this.analyser=null}stopMediaRecorder(){if(this.mediaRecorder!=null&&this.mediaRecorder.state!=="inactive"){try{this.mediaRecorder.stop()}catch{}this.mediaRecorder=null}this.chunks=[],this.isRestartingForFlush=!1}registerDeviceChangeListener(){try{this.deviceChangeHandler=()=>{r.DyFM_Log.info("[CCAP] media device change detected")},navigator.mediaDevices.addEventListener("devicechange",this.deviceChangeHandler)}catch{this.deviceChangeHandler=null}}unregisterDeviceChangeListener(){if(this.deviceChangeHandler){try{navigator.mediaDevices.removeEventListener("devicechange",this.deviceChangeHandler)}catch{}this.deviceChangeHandler=null}}static \u0275fac=function(t){return new(t||o)};static \u0275prov=m({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();export{a,d as b,z as c};
2
+ //# sourceMappingURL=chunk-5XJR5EAR.js.map
@@ -1,4 +1,4 @@
1
- import{a as O}from"./chunk-ZGNVQEFP.js";import{a as K}from"./chunk-C5WLCPTP.js";import{e as F}from"./chunk-4EPTK7TX.js";import{h as f,j as U}from"./chunk-XEGOHOPX.js";import{I as D,p as H}from"./chunk-QXM45TNB.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-HSO5WM67.js";import{a as K}from"./chunk-CF3BLCVD.js";import{e as F}from"./chunk-QHZI4F2F.js";import{h as f,j as U}from"./chunk-KNTOPF7C.js";import{I as D,p as H}from"./chunk-Y3DARUXQ.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-HTF2IFDS.js.map
9
+ //# sourceMappingURL=chunk-7TYUDNTP.js.map
@@ -1,2 +1,2 @@
1
- import{j as s}from"./chunk-TCJ6WHLQ.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-WV4WOPQF.js.map
1
+ import{j as s}from"./chunk-ZTB2RW6R.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-C2ZXKTHA.js.map
@@ -1,2 +1,2 @@
1
- import{a as h}from"./chunk-IA2MKRM5.js";import{I as c,p as _}from"./chunk-QXM45TNB.js";import{C as a,aa as r,h as u,k as n,p as o,xb as f,y as l}from"./chunk-TBMJSIBB.js";var p=u(_());var $=6e4,y=(()=>{class i{api_AS=a(h);instancePresenceMap_$=r(new Map);intervalHandle=void 0;lastRefreshAt_$=r(null);startPeriodicRefresh(){this.intervalHandle===void 0&&(this.refreshNow(),this.intervalHandle=setInterval(()=>{this.refreshNow()},$))}stopPeriodicRefresh(){this.intervalHandle!==void 0&&(clearInterval(this.intervalHandle),this.intervalHandle=void 0)}refreshNow(){return n(this,null,function*(){try{let t=yield this.api_AS.getPresence(),e=new Map;for(let s of t.list??[])s.instanceKey&&e.set(s.instanceKey,s);this.instancePresenceMap_$.set(e),this.lastRefreshAt_$.set(new Date().toISOString())}catch(t){p.DyFM_Log.warn(`[CCAP] ExS_InstancePresence_DataService refresh failed (non-fatal): ${t instanceof Error?t.message:String(t)}`)}})}getPresence(t){let e=this.instancePresenceMap_$().get(t);return e||{instanceKey:t,presence:"unknown",wsConnected:!1,reason:"presence map not loaded yet"}}ngOnDestroy(){this.stopPeriodicRefresh()}static \u0275fac=function(e){return new(e||i)};static \u0275prov=l({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var g=5e3,P=18,v=5e3,L=(()=>{class i{versionInfo_$=r(null);loading_$=r(!1);loadError_$=r(null);lastLoadedAt_$=r(null);triggering_$=r(!1);triggerResult_$=r(null);triggerError_$=r(null);pollingPostUpdate_$=r(!1);triggerSucceeded_$=r(null);triggerTimedOut_$=r(!1);http=a(f);pollTimer=null;loadVersionInfo(){return n(this,null,function*(){this.loading_$.set(!0),this.loadError_$.set(null);try{let t=`${c.api.baseUrl}/server/health/version-info`,e=yield o(this.http.get(t));this.versionInfo_$.set(e),this.lastLoadedAt_$.set(new Date)}catch(t){let e=t instanceof Error?t.message:String(t);this.loadError_$.set(e),this.versionInfo_$.set(null)}finally{this.loading_$.set(!1)}})}triggerUpdate(t){return n(this,null,function*(){this.cancelPostUpdatePolling(),this.triggerSucceeded_$.set(null),this.triggerTimedOut_$.set(!1),this.triggering_$.set(!0),this.triggerError_$.set(null),this.triggerResult_$.set(null);try{let e=`${c.api.baseUrl}/server/health/trigger-update`,s=yield o(this.http.post(e,{force:t===!0}));this.triggerResult_$.set(s),s.status==="started"&&s.currentVersion&&this.startPostUpdatePolling(s.currentVersion)}catch(e){let s=e instanceof Error?e.message:String(e);this.triggerError_$.set(s)}finally{this.triggering_$.set(!1)}})}startPostUpdatePolling(t){this.pollingPostUpdate_$.set(!0);let e=0,s=()=>n(this,null,function*(){e+=1;let d=yield this.pollHealthPid();if(d&&d!==t){this.triggerSucceeded_$.set({oldVersion:t,newVersion:d,detectedAtMs:Date.now()}),this.pollingPostUpdate_$.set(!1),this.pollTimer=null,setTimeout(()=>{typeof window<"u"&&window?.location&&window.location.reload()},v);return}if(e>=P){this.triggerTimedOut_$.set(!0),this.pollingPostUpdate_$.set(!1),this.pollTimer=null;return}this.pollTimer=setTimeout(()=>{s()},g)});this.pollTimer=setTimeout(()=>{s()},g)}cancelPostUpdatePolling(){this.pollTimer&&(clearTimeout(this.pollTimer),this.pollTimer=null),this.pollingPostUpdate_$.set(!1)}pollHealthPid(){return n(this,null,function*(){try{let t=`${c.api.baseUrl}/server/health/pid`,e=yield o(this.http.get(t));return typeof e?.ccapVersion=="string"?e.ccapVersion:null}catch{return null}})}static \u0275fac=function(e){return new(e||i)};static \u0275prov=l({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();export{y as a,L as b};
2
- //# sourceMappingURL=chunk-ES7OKROB.js.map
1
+ import{a as h}from"./chunk-4O4UDIWG.js";import{I as c,p as _}from"./chunk-Y3DARUXQ.js";import{C as a,aa as r,h as u,k as n,p as o,xb as f,y as l}from"./chunk-TBMJSIBB.js";var p=u(_());var $=6e4,y=(()=>{class i{api_AS=a(h);instancePresenceMap_$=r(new Map);intervalHandle=void 0;lastRefreshAt_$=r(null);startPeriodicRefresh(){this.intervalHandle===void 0&&(this.refreshNow(),this.intervalHandle=setInterval(()=>{this.refreshNow()},$))}stopPeriodicRefresh(){this.intervalHandle!==void 0&&(clearInterval(this.intervalHandle),this.intervalHandle=void 0)}refreshNow(){return n(this,null,function*(){try{let t=yield this.api_AS.getPresence(),e=new Map;for(let s of t.list??[])s.instanceKey&&e.set(s.instanceKey,s);this.instancePresenceMap_$.set(e),this.lastRefreshAt_$.set(new Date().toISOString())}catch(t){p.DyFM_Log.warn(`[CCAP] ExS_InstancePresence_DataService refresh failed (non-fatal): ${t instanceof Error?t.message:String(t)}`)}})}getPresence(t){let e=this.instancePresenceMap_$().get(t);return e||{instanceKey:t,presence:"unknown",wsConnected:!1,reason:"presence map not loaded yet"}}ngOnDestroy(){this.stopPeriodicRefresh()}static \u0275fac=function(e){return new(e||i)};static \u0275prov=l({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var g=5e3,P=18,v=5e3,L=(()=>{class i{versionInfo_$=r(null);loading_$=r(!1);loadError_$=r(null);lastLoadedAt_$=r(null);triggering_$=r(!1);triggerResult_$=r(null);triggerError_$=r(null);pollingPostUpdate_$=r(!1);triggerSucceeded_$=r(null);triggerTimedOut_$=r(!1);http=a(f);pollTimer=null;loadVersionInfo(){return n(this,null,function*(){this.loading_$.set(!0),this.loadError_$.set(null);try{let t=`${c.api.baseUrl}/server/health/version-info`,e=yield o(this.http.get(t));this.versionInfo_$.set(e),this.lastLoadedAt_$.set(new Date)}catch(t){let e=t instanceof Error?t.message:String(t);this.loadError_$.set(e),this.versionInfo_$.set(null)}finally{this.loading_$.set(!1)}})}triggerUpdate(t){return n(this,null,function*(){this.cancelPostUpdatePolling(),this.triggerSucceeded_$.set(null),this.triggerTimedOut_$.set(!1),this.triggering_$.set(!0),this.triggerError_$.set(null),this.triggerResult_$.set(null);try{let e=`${c.api.baseUrl}/server/health/trigger-update`,s=yield o(this.http.post(e,{force:t===!0}));this.triggerResult_$.set(s),s.status==="started"&&s.currentVersion&&this.startPostUpdatePolling(s.currentVersion)}catch(e){let s=e instanceof Error?e.message:String(e);this.triggerError_$.set(s)}finally{this.triggering_$.set(!1)}})}startPostUpdatePolling(t){this.pollingPostUpdate_$.set(!0);let e=0,s=()=>n(this,null,function*(){e+=1;let d=yield this.pollHealthPid();if(d&&d!==t){this.triggerSucceeded_$.set({oldVersion:t,newVersion:d,detectedAtMs:Date.now()}),this.pollingPostUpdate_$.set(!1),this.pollTimer=null,setTimeout(()=>{typeof window<"u"&&window?.location&&window.location.reload()},v);return}if(e>=P){this.triggerTimedOut_$.set(!0),this.pollingPostUpdate_$.set(!1),this.pollTimer=null;return}this.pollTimer=setTimeout(()=>{s()},g)});this.pollTimer=setTimeout(()=>{s()},g)}cancelPostUpdatePolling(){this.pollTimer&&(clearTimeout(this.pollTimer),this.pollTimer=null),this.pollingPostUpdate_$.set(!1)}pollHealthPid(){return n(this,null,function*(){try{let t=`${c.api.baseUrl}/server/health/pid`,e=yield o(this.http.get(t));return typeof e?.ccapVersion=="string"?e.ccapVersion:null}catch{return null}})}static \u0275fac=function(e){return new(e||i)};static \u0275prov=l({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();export{y as a,L as b};
2
+ //# sourceMappingURL=chunk-CAUXU2ZC.js.map
@@ -1,2 +1,2 @@
1
- import{k as F}from"./chunk-TCJ6WHLQ.js";import{D as h,Fa as _,Ga as C,Ha as T,J as x,K as u,T as E,Ta as L,U as l,Ua as k,Z as a,da as c,ga as S,la as d,ma as f,oa as v,pa as g,qa as o,ra as r,sa as p,ua as y,ub as R,va as b,wa as i,xa as M,ya as w}from"./chunk-TBMJSIBB.js";var I=["*","*"],D=()=>[];function j(t,n){if(t&1){let e=y();o(0,"div",2)(1,"button",3),b("click",function(){x(e);let m=i(3);return u(m.handleRetry())}),_(2," \xDAjrapr\xF3b\xE1l\xE1s "),r()()}}function V(t,n){if(t&1&&(o(0,"div"),p(1,"app-ccap-error-display",1),c(2,j,3,0,"div",2),r()),t&2){let e=i(2);a(),S("error",e.error())("sourceLabelOverride",e.errorSourceLabel()),a(),d(e.showRetry()?2:-1)}}function A(t,n){t&1&&(o(0,"div",6),p(1,"div",9)(2,"div",10),r())}function P(t,n){if(t&1&&(o(0,"div",4),v(1,A,3,0,"div",6,f),o(3,"div",7),p(4,"span",8),_(5),r()()),t&2){let e=i(3);a(),g(k(1,D).constructor(e.skeletonRows())),a(4),T(" ",e.loadingMessage()," ")}}function B(t,n){if(t&1&&(o(0,"p",5),_(1),r()),t&2){let e=i(3);a(),C(e.loadingMessage())}}function O(t,n){if(t&1&&c(0,P,6,2,"div",4)(1,B,2,1,"p",5),t&2){let e=i(2);d(e.showSkeleton()?0:1)}}function N(t,n){if(t&1&&(o(0,"p",0),_(1),r()),t&2){let e=i(2);a(),C(e.emptyMessage())}}function q(t,n){t&1&&w(0)}function z(t,n){if(t&1&&c(0,V,3,3,"div")(1,O,2,1)(2,N,2,1,"p",0)(3,q,1,0),t&2){let e=i();d(e.error()?0:e.isLoading()?1:e.isEmpty()?2:3)}}function G(t,n){t&1&&(o(0,"div",6),p(1,"div",9)(2,"div",10),r())}function H(t,n){if(t&1&&(o(0,"div",4),v(1,G,3,0,"div",6,f),o(3,"div",7),p(4,"span",8),_(5),r()()),t&2){let e=i(3);a(),g(k(1,D).constructor(e.skeletonRows())),a(4),T(" ",e.loadingMessage()," ")}}function J(t,n){if(t&1&&(o(0,"p",5),_(1),r()),t&2){let e=i(3);a(),C(e.loadingMessage())}}function K(t,n){if(t&1&&c(0,H,6,2,"div",4)(1,J,2,1,"p",5),t&2){let e=i(2);d(e.showSkeleton()?0:1)}}function Q(t,n){if(t&1){let e=y();o(0,"div",2)(1,"button",3),b("click",function(){x(e);let m=i(3);return u(m.handleRetry())}),_(2," \xDAjrapr\xF3b\xE1l\xE1s "),r()()}}function U(t,n){if(t&1&&(o(0,"div"),p(1,"app-ccap-error-display",1),c(2,Q,3,0,"div",2),r()),t&2){let e=i(2);a(),S("error",e.error())("sourceLabelOverride",e.errorSourceLabel()),a(),d(e.showRetry()?2:-1)}}function W(t,n){if(t&1&&(o(0,"p",0),_(1),r()),t&2){let e=i(2);a(),C(e.emptyMessage())}}function X(t,n){t&1&&w(0,1)}function Y(t,n){if(t&1&&c(0,K,2,1)(1,U,3,3,"div")(2,W,2,1,"p",0)(3,X,1,0),t&2){let e=i();d(e.isLoading()?0:e.error()?1:e.isEmpty()?2:3)}}var ot=(()=>{class t{isLoading=l(!1);error=l(null);isEmpty=l(!1);errorSourceLabel=l("");emptyMessage=l("Nincs megjelen\xEDthet\u0151 elem.");loadingMessage=l("Bet\xF6lt\xE9s\u2026");skeletonRows=l(2);showSkeleton=l(!1);showRetry=l(!0);errorTakesPrecedence=l(!1);retry=E();handleRetry(){this.retry.emit()}static \u0275fac=function(s){return new(s||t)};static \u0275cmp=h({type:t,selectors:[["app-s-content-state"]],hostAttrs:[1,"block"],inputs:{isLoading:[1,"isLoading"],error:[1,"error"],isEmpty:[1,"isEmpty"],errorSourceLabel:[1,"errorSourceLabel"],emptyMessage:[1,"emptyMessage"],loadingMessage:[1,"loadingMessage"],skeletonRows:[1,"skeletonRows"],showSkeleton:[1,"showSkeleton"],showRetry:[1,"showRetry"],errorTakesPrecedence:[1,"errorTakesPrecedence"]},outputs:{retry:"retry"},standalone:!0,features:[L],ngContentSelectors:I,decls:2,vars:1,consts:[[1,"text-neutral-500","py-4"],[1,"mb-3","block",3,"error","sourceLabelOverride"],[1,"text-center"],["type","button",1,"mt-1","px-3","py-1.5","text-sm","border","border-neonCyan","rounded-md","bg-transparent","text-neutral-200","hover:bg-neutral-800","hover:shadow-neon-glow-cyan","transition-colors",3,"click"],[1,"flex","flex-col","gap-2","py-4"],[1,"text-neutral-400"],[1,"px-4","py-3","border","border-neonDefault","rounded-lg","animate-pulse"],[1,"flex","items-center","gap-2","text-neutral-500","text-sm"],[1,"inline-block","w-2","h-2","rounded-full","bg-ccapAccent","animate-pulse"],[1,"h-4","w-3/4","bg-neutral-600","rounded","mb-2"],[1,"h-3","w-1/2","bg-neutral-700","rounded"]],template:function(s,m){s&1&&(M(I),c(0,z,4,1)(1,Y,4,1)),s&2&&d(m.errorTakesPrecedence()?0:1)},dependencies:[R,F],encapsulation:2})}return t})();export{ot as a};
2
- //# sourceMappingURL=chunk-Q4Z4WTJ3.js.map
1
+ import{k as F}from"./chunk-ZTB2RW6R.js";import{D as h,Fa as _,Ga as C,Ha as T,J as x,K as u,T as E,Ta as L,U as l,Ua as k,Z as a,da as c,ga as S,la as d,ma as f,oa as v,pa as g,qa as o,ra as r,sa as p,ua as y,ub as R,va as b,wa as i,xa as M,ya as w}from"./chunk-TBMJSIBB.js";var I=["*","*"],D=()=>[];function j(t,n){if(t&1){let e=y();o(0,"div",2)(1,"button",3),b("click",function(){x(e);let m=i(3);return u(m.handleRetry())}),_(2," \xDAjrapr\xF3b\xE1l\xE1s "),r()()}}function V(t,n){if(t&1&&(o(0,"div"),p(1,"app-ccap-error-display",1),c(2,j,3,0,"div",2),r()),t&2){let e=i(2);a(),S("error",e.error())("sourceLabelOverride",e.errorSourceLabel()),a(),d(e.showRetry()?2:-1)}}function A(t,n){t&1&&(o(0,"div",6),p(1,"div",9)(2,"div",10),r())}function P(t,n){if(t&1&&(o(0,"div",4),v(1,A,3,0,"div",6,f),o(3,"div",7),p(4,"span",8),_(5),r()()),t&2){let e=i(3);a(),g(k(1,D).constructor(e.skeletonRows())),a(4),T(" ",e.loadingMessage()," ")}}function B(t,n){if(t&1&&(o(0,"p",5),_(1),r()),t&2){let e=i(3);a(),C(e.loadingMessage())}}function O(t,n){if(t&1&&c(0,P,6,2,"div",4)(1,B,2,1,"p",5),t&2){let e=i(2);d(e.showSkeleton()?0:1)}}function N(t,n){if(t&1&&(o(0,"p",0),_(1),r()),t&2){let e=i(2);a(),C(e.emptyMessage())}}function q(t,n){t&1&&w(0)}function z(t,n){if(t&1&&c(0,V,3,3,"div")(1,O,2,1)(2,N,2,1,"p",0)(3,q,1,0),t&2){let e=i();d(e.error()?0:e.isLoading()?1:e.isEmpty()?2:3)}}function G(t,n){t&1&&(o(0,"div",6),p(1,"div",9)(2,"div",10),r())}function H(t,n){if(t&1&&(o(0,"div",4),v(1,G,3,0,"div",6,f),o(3,"div",7),p(4,"span",8),_(5),r()()),t&2){let e=i(3);a(),g(k(1,D).constructor(e.skeletonRows())),a(4),T(" ",e.loadingMessage()," ")}}function J(t,n){if(t&1&&(o(0,"p",5),_(1),r()),t&2){let e=i(3);a(),C(e.loadingMessage())}}function K(t,n){if(t&1&&c(0,H,6,2,"div",4)(1,J,2,1,"p",5),t&2){let e=i(2);d(e.showSkeleton()?0:1)}}function Q(t,n){if(t&1){let e=y();o(0,"div",2)(1,"button",3),b("click",function(){x(e);let m=i(3);return u(m.handleRetry())}),_(2," \xDAjrapr\xF3b\xE1l\xE1s "),r()()}}function U(t,n){if(t&1&&(o(0,"div"),p(1,"app-ccap-error-display",1),c(2,Q,3,0,"div",2),r()),t&2){let e=i(2);a(),S("error",e.error())("sourceLabelOverride",e.errorSourceLabel()),a(),d(e.showRetry()?2:-1)}}function W(t,n){if(t&1&&(o(0,"p",0),_(1),r()),t&2){let e=i(2);a(),C(e.emptyMessage())}}function X(t,n){t&1&&w(0,1)}function Y(t,n){if(t&1&&c(0,K,2,1)(1,U,3,3,"div")(2,W,2,1,"p",0)(3,X,1,0),t&2){let e=i();d(e.isLoading()?0:e.error()?1:e.isEmpty()?2:3)}}var ot=(()=>{class t{isLoading=l(!1);error=l(null);isEmpty=l(!1);errorSourceLabel=l("");emptyMessage=l("Nincs megjelen\xEDthet\u0151 elem.");loadingMessage=l("Bet\xF6lt\xE9s\u2026");skeletonRows=l(2);showSkeleton=l(!1);showRetry=l(!0);errorTakesPrecedence=l(!1);retry=E();handleRetry(){this.retry.emit()}static \u0275fac=function(s){return new(s||t)};static \u0275cmp=h({type:t,selectors:[["app-s-content-state"]],hostAttrs:[1,"block"],inputs:{isLoading:[1,"isLoading"],error:[1,"error"],isEmpty:[1,"isEmpty"],errorSourceLabel:[1,"errorSourceLabel"],emptyMessage:[1,"emptyMessage"],loadingMessage:[1,"loadingMessage"],skeletonRows:[1,"skeletonRows"],showSkeleton:[1,"showSkeleton"],showRetry:[1,"showRetry"],errorTakesPrecedence:[1,"errorTakesPrecedence"]},outputs:{retry:"retry"},standalone:!0,features:[L],ngContentSelectors:I,decls:2,vars:1,consts:[[1,"text-neutral-500","py-4"],[1,"mb-3","block",3,"error","sourceLabelOverride"],[1,"text-center"],["type","button",1,"mt-1","px-3","py-1.5","text-sm","border","border-neonCyan","rounded-md","bg-transparent","text-neutral-200","hover:bg-neutral-800","hover:shadow-neon-glow-cyan","transition-colors",3,"click"],[1,"flex","flex-col","gap-2","py-4"],[1,"text-neutral-400"],[1,"px-4","py-3","border","border-neonDefault","rounded-lg","animate-pulse"],[1,"flex","items-center","gap-2","text-neutral-500","text-sm"],[1,"inline-block","w-2","h-2","rounded-full","bg-ccapAccent","animate-pulse"],[1,"h-4","w-3/4","bg-neutral-600","rounded","mb-2"],[1,"h-3","w-1/2","bg-neutral-700","rounded"]],template:function(s,m){s&1&&(M(I),c(0,z,4,1)(1,Y,4,1)),s&2&&d(m.errorTakesPrecedence()?0:1)},dependencies:[R,F],encapsulation:2})}return t})();export{ot as a};
2
+ //# sourceMappingURL=chunk-CBMKN4SJ.js.map
@@ -1,2 +1,2 @@
1
- import{b as S}from"./chunk-IA2MKRM5.js";import{C as o,aa as l,hb as s,k as a,y as c}from"./chunk-TBMJSIBB.js";var n="pei:selectedCcapId",$=(()=>{class i{instanceRegistry_DS=o(S);selectedCcapId_$=l("");activeCcapId_$=s(()=>{let e=this.selectedCcapId_$();return e||(this.instanceRegistry_DS.current_$()?.instanceKey??"")});isLocalSelected_$=s(()=>{let e=this.instanceRegistry_DS.current_$()?.instanceKey??"",t=this.activeCcapId_$();return!t||!e||t===e});instanceList_$=s(()=>this.instanceRegistry_DS.list_$());localInstanceKey_$=s(()=>this.instanceRegistry_DS.current_$()?.instanceKey??"");initializePromise=null;ensureInitialized(){return this.initializePromise||(this.initializePromise=this.initialize()),this.initializePromise}initialize(){return a(this,null,function*(){!this.instanceRegistry_DS.current_$()&&!this.instanceRegistry_DS.currentLoading_$()&&(yield this.instanceRegistry_DS.loadCurrent()),!this.instanceRegistry_DS.list_$().length&&!this.instanceRegistry_DS.listLoading_$()&&(yield this.instanceRegistry_DS.loadList()),this.restoreFromSessionStorage(),this.validateRestoredSelection()})}selectInstance(e){this.selectedCcapId_$.set(e),this.persistToSessionStorage(e)}restoreFromSessionStorage(){try{let e=sessionStorage.getItem(n);e&&this.selectedCcapId_$.set(e)}catch{}}validateRestoredSelection(){let e=this.selectedCcapId_$();if(!e)return;let t=this.instanceRegistry_DS.current_$()?.instanceKey??"";if(t&&e===t)return;let r=this.instanceRegistry_DS.list_$();r.length&&r.some(_=>_.instanceKey===e)||t&&(this.selectedCcapId_$.set(""),this.clearSessionStorage())}persistToSessionStorage(e){try{sessionStorage.setItem(n,e)}catch{}}clearSessionStorage(){try{sessionStorage.removeItem(n)}catch{}}static \u0275fac=function(t){return new(t||i)};static \u0275prov=c({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();export{$ as a};
2
- //# sourceMappingURL=chunk-C5WLCPTP.js.map
1
+ import{b as S}from"./chunk-4O4UDIWG.js";import{C as o,aa as l,hb as s,k as a,y as c}from"./chunk-TBMJSIBB.js";var n="pei:selectedCcapId",$=(()=>{class i{instanceRegistry_DS=o(S);selectedCcapId_$=l("");activeCcapId_$=s(()=>{let e=this.selectedCcapId_$();return e||(this.instanceRegistry_DS.current_$()?.instanceKey??"")});isLocalSelected_$=s(()=>{let e=this.instanceRegistry_DS.current_$()?.instanceKey??"",t=this.activeCcapId_$();return!t||!e||t===e});instanceList_$=s(()=>this.instanceRegistry_DS.list_$());localInstanceKey_$=s(()=>this.instanceRegistry_DS.current_$()?.instanceKey??"");initializePromise=null;ensureInitialized(){return this.initializePromise||(this.initializePromise=this.initialize()),this.initializePromise}initialize(){return a(this,null,function*(){!this.instanceRegistry_DS.current_$()&&!this.instanceRegistry_DS.currentLoading_$()&&(yield this.instanceRegistry_DS.loadCurrent()),!this.instanceRegistry_DS.list_$().length&&!this.instanceRegistry_DS.listLoading_$()&&(yield this.instanceRegistry_DS.loadList()),this.restoreFromSessionStorage(),this.validateRestoredSelection()})}selectInstance(e){this.selectedCcapId_$.set(e),this.persistToSessionStorage(e)}restoreFromSessionStorage(){try{let e=sessionStorage.getItem(n);e&&this.selectedCcapId_$.set(e)}catch{}}validateRestoredSelection(){let e=this.selectedCcapId_$();if(!e)return;let t=this.instanceRegistry_DS.current_$()?.instanceKey??"";if(t&&e===t)return;let r=this.instanceRegistry_DS.list_$();r.length&&r.some(_=>_.instanceKey===e)||t&&(this.selectedCcapId_$.set(""),this.clearSessionStorage())}persistToSessionStorage(e){try{sessionStorage.setItem(n,e)}catch{}}clearSessionStorage(){try{sessionStorage.removeItem(n)}catch{}}static \u0275fac=function(t){return new(t||i)};static \u0275prov=c({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();export{$ as a};
2
+ //# sourceMappingURL=chunk-CF3BLCVD.js.map
@@ -1,2 +1,2 @@
1
- import{h as f,i as A}from"./chunk-XEGOHOPX.js";import{C as E,a as l,aa as i,b as u,k as d,y as _}from"./chunk-TBMJSIBB.js";var m=class o{static buildAnnotationIndex(e){let r=new Map;for(let t of e)t.errorCode&&t.errorCode.length>0&&r.set(t.errorCode,t);return r}static classify(e,r){let t=e.errorCode;if(!t)return{classification:"UNFIXED"};let s=r.get(t);if(!s||!s.fixedInVersion)return{classification:"UNFIXED"};let a=o.parseVersion(s.fixedInVersion),n=o.extractMaxVersion(e.versions);return!a||!n?{classification:"UNFIXED"}:{classification:o.compareVersions(n,a)<0?"STALE-BUILD":"REGRESSION",fixedInVersion:s.fixedInVersion,fixedInCycle:s.fixedInCycle,summary:s.summary}}static classifyAll(e,r){let t=o.buildAnnotationIndex(r);return e.map(s=>u(l({},s),{fixAnnotation:o.classify(s,t)}))}static parseVersion(e){let r=e.match(/(\d+)\.(\d+)\.(\d+)/);return r?[parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10)]:null}static extractMaxVersion(e){if(!e||!e.length)return null;let r=null;for(let t of e){let s=o.parseVersion(t);s!=null&&(r==null||o.compareVersions(s,r)>0)&&(r=s)}return r}static compareVersions(e,r){for(let t=0;t<3;t++){let s=e[t]??0,a=r[t]??0;if(s!==a)return s<a?-1:1}return 0}};var p=class{static sortCcapErrorListItemsNewestFirst(e){let r=[...e];return r.sort((t,s)=>{let a=$(t),n=$(s);if(n!==a)return n-a;let c=t._id??"";return(s._id??"").localeCompare(c)}),r}};function $(o){let e=o.lastOccurrenceAt??o.timestamp;if(!e||typeof e!="string"||e.trim().length===0)return 0;let r=Date.parse(e);return Number.isFinite(r)?r:0}var S=(()=>{class o{errors_$=i([]);errorsTotalCount_$=i(0);errorsLoading_$=i(!1);errorsLoadError_$=i(null);errorsLoadErrorRaw_$=i(null);lastRefreshedAt_$=i(null);hideStaleBuild_$=i(!0);fixAnnotations_$=i([]);errors_AS=E(A);loadErrors(){return d(this,null,function*(){this.errorsLoading_$.set(!0),this.errorsLoadError_$.set(null),this.errorsLoadErrorRaw_$.set(null);try{let r=yield this.errors_AS.listErrors(),t=r.errors??[],s=[];try{s=yield this.errors_AS.listFixAnnotations()}catch{s=[]}this.fixAnnotations_$.set(s);let a=m.classifyAll(t,s);this.errors_$.set(p.sortCcapErrorListItemsNewestFirst(a)),this.errorsTotalCount_$.set(r.total),this.lastRefreshedAt_$.set(new Date)}catch(r){this.errorsLoadErrorRaw_$.set(r);let t=f.getErrorMessageForDisplay(r);this.errorsLoadError_$.set(t),this.errors_$.set([]),this.errorsTotalCount_$.set(0)}finally{this.errorsLoading_$.set(!1)}})}clearAll(){return d(this,null,function*(){try{yield this.errors_AS.deleteAllErrors(),yield this.loadErrors()}catch(r){this.errorsLoadErrorRaw_$.set(r);let t=f.getErrorMessageForDisplay(r);this.errorsLoadError_$.set(t)}})}clearOne(r){return d(this,null,function*(){try{yield this.errors_AS.deleteError(r),this.errors_$.update(t=>t.filter(s=>s._id!==r)),this.errorsTotalCount_$.update(t=>Math.max(0,t-1))}catch(t){this.errorsLoadErrorRaw_$.set(t);let s=f.getErrorMessageForDisplay(t);this.errorsLoadError_$.set(s)}})}setPmUserMark(r,t){return d(this,null,function*(){try{let s=yield this.errors_AS.setPmUserMark(r,t),a=s.pmUserMarkedAt!=null&&s.pmUserMarkedAt.trim().length>0?s.pmUserMarkedAt.trim():void 0;this.errors_$.update(n=>n.map(c=>{if(c._id!==r)return c;if(a!=null)return u(l({},c),{pmUserMarkedAt:a});let h=l({},c);return delete h.pmUserMarkedAt,h}))}catch(s){this.errorsLoadErrorRaw_$.set(s);let a=f.getErrorMessageForDisplay(s);this.errorsLoadError_$.set(a)}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=_({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();export{S as a};
2
- //# sourceMappingURL=chunk-DBF3SSPS.js.map
1
+ import{h as f,i as A}from"./chunk-KNTOPF7C.js";import{C as E,a as l,aa as i,b as u,k as d,y as _}from"./chunk-TBMJSIBB.js";var m=class o{static buildAnnotationIndex(e){let r=new Map;for(let t of e)t.errorCode&&t.errorCode.length>0&&r.set(t.errorCode,t);return r}static classify(e,r){let t=e.errorCode;if(!t)return{classification:"UNFIXED"};let s=r.get(t);if(!s||!s.fixedInVersion)return{classification:"UNFIXED"};let a=o.parseVersion(s.fixedInVersion),n=o.extractMaxVersion(e.versions);return!a||!n?{classification:"UNFIXED"}:{classification:o.compareVersions(n,a)<0?"STALE-BUILD":"REGRESSION",fixedInVersion:s.fixedInVersion,fixedInCycle:s.fixedInCycle,summary:s.summary}}static classifyAll(e,r){let t=o.buildAnnotationIndex(r);return e.map(s=>u(l({},s),{fixAnnotation:o.classify(s,t)}))}static parseVersion(e){let r=e.match(/(\d+)\.(\d+)\.(\d+)/);return r?[parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10)]:null}static extractMaxVersion(e){if(!e||!e.length)return null;let r=null;for(let t of e){let s=o.parseVersion(t);s!=null&&(r==null||o.compareVersions(s,r)>0)&&(r=s)}return r}static compareVersions(e,r){for(let t=0;t<3;t++){let s=e[t]??0,a=r[t]??0;if(s!==a)return s<a?-1:1}return 0}};var p=class{static sortCcapErrorListItemsNewestFirst(e){let r=[...e];return r.sort((t,s)=>{let a=$(t),n=$(s);if(n!==a)return n-a;let c=t._id??"";return(s._id??"").localeCompare(c)}),r}};function $(o){let e=o.lastOccurrenceAt??o.timestamp;if(!e||typeof e!="string"||e.trim().length===0)return 0;let r=Date.parse(e);return Number.isFinite(r)?r:0}var S=(()=>{class o{errors_$=i([]);errorsTotalCount_$=i(0);errorsLoading_$=i(!1);errorsLoadError_$=i(null);errorsLoadErrorRaw_$=i(null);lastRefreshedAt_$=i(null);hideStaleBuild_$=i(!0);fixAnnotations_$=i([]);errors_AS=E(A);loadErrors(){return d(this,null,function*(){this.errorsLoading_$.set(!0),this.errorsLoadError_$.set(null),this.errorsLoadErrorRaw_$.set(null);try{let r=yield this.errors_AS.listErrors(),t=r.errors??[],s=[];try{s=yield this.errors_AS.listFixAnnotations()}catch{s=[]}this.fixAnnotations_$.set(s);let a=m.classifyAll(t,s);this.errors_$.set(p.sortCcapErrorListItemsNewestFirst(a)),this.errorsTotalCount_$.set(r.total),this.lastRefreshedAt_$.set(new Date)}catch(r){this.errorsLoadErrorRaw_$.set(r);let t=f.getErrorMessageForDisplay(r);this.errorsLoadError_$.set(t),this.errors_$.set([]),this.errorsTotalCount_$.set(0)}finally{this.errorsLoading_$.set(!1)}})}clearAll(){return d(this,null,function*(){try{yield this.errors_AS.deleteAllErrors(),yield this.loadErrors()}catch(r){this.errorsLoadErrorRaw_$.set(r);let t=f.getErrorMessageForDisplay(r);this.errorsLoadError_$.set(t)}})}clearOne(r){return d(this,null,function*(){try{yield this.errors_AS.deleteError(r),this.errors_$.update(t=>t.filter(s=>s._id!==r)),this.errorsTotalCount_$.update(t=>Math.max(0,t-1))}catch(t){this.errorsLoadErrorRaw_$.set(t);let s=f.getErrorMessageForDisplay(t);this.errorsLoadError_$.set(s)}})}setPmUserMark(r,t){return d(this,null,function*(){try{let s=yield this.errors_AS.setPmUserMark(r,t),a=s.pmUserMarkedAt!=null&&s.pmUserMarkedAt.trim().length>0?s.pmUserMarkedAt.trim():void 0;this.errors_$.update(n=>n.map(c=>{if(c._id!==r)return c;if(a!=null)return u(l({},c),{pmUserMarkedAt:a});let h=l({},c);return delete h.pmUserMarkedAt,h}))}catch(s){this.errorsLoadErrorRaw_$.set(s);let a=f.getErrorMessageForDisplay(s);this.errorsLoadError_$.set(a)}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=_({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();export{S as a};
2
+ //# sourceMappingURL=chunk-CIO2T2KX.js.map
@@ -1,2 +1,2 @@
1
- import{e as $}from"./chunk-4EPTK7TX.js";import{I as h,p as S}from"./chunk-QXM45TNB.js";import{C as u,aa as a,h as C,k as m,p as c,xb as y,y as _}from"./chunk-TBMJSIBB.js";var f=C(S());var T=(()=>{class n{baseUrl=`${h.api.baseUrl}/terminals`;http=u(y);getTerminals(){return c(this.http.get(this.baseUrl))}startTerminal(t){return c(this.http.post(`${this.baseUrl}/start`,{path:t.path},{headers:{"Content-Type":"application/json"}}))}runCommand(t,e){return c(this.http.post(`${this.baseUrl}/${encodeURIComponent(t)}/command`,{action:e.action,command:e.command,code:e.code},{headers:{"Content-Type":"application/json"}}))}deleteTerminal(t){return c(this.http.delete(`${this.baseUrl}/${encodeURIComponent(t)}`))}closeTerminal(t){return c(this.http.post(`${this.baseUrl}/${encodeURIComponent(t)}/close`,{},{headers:{"Content-Type":"application/json"}}))}static \u0275fac=function(e){return new(e||n)};static \u0275prov=_({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var R="terminal:list",A="terminal:list:result",q="terminal:start",b="terminal:start:result",p="terminal:attach",N="terminal:command-result",M="terminal:command-output",k="terminal:command-stdin";function E(n){if(n==null||typeof n!="object")return null;let s=n,t=typeof s.terminalId=="string"?s.terminalId:"";if(!t.trim())return null;let e=s.type,r=e==="exec"||e==="cc-runner"||e==="ca-runner"?e:void 0;return{_id:typeof s._id=="string"?s._id:void 0,terminalId:t.trim(),path:typeof s.path=="string"?s.path:void 0,status:typeof s.status=="string"?s.status:void 0,__created:typeof s.__created=="string"?s.__created:void 0,__lastModified:typeof s.__lastModified=="string"?s.__lastModified:void 0,type:r,sessionId:typeof s.sessionId=="string"?s.sessionId:void 0,command:typeof s.command=="string"?s.command:void 0}}var B=(()=>{class n{terminals_$=a([]);terminalsLoading_$=a(!1);terminalsLoadError_$=a(null);selectedTerminalId_$=a("");commandResults_$=a([]);startLoading_$=a(!1);startError_$=a(null);runCommandLoading_$=a(!1);runCommandError_$=a(null);interactiveRequestId_$=a(null);interactiveOutput_$=a("");eventSubscription=null;terminal_AS=u(T);socket_CS=u($);constructor(){this.eventSubscription=this.socket_CS.event$.subscribe(t=>{if(t.event===A){let r=(Array.isArray(t.payload.terminals)?t.payload.terminals:[]).map(i=>E(i)).filter(i=>i!==null);this.terminals_$.set(r),this.terminalsLoading_$.set(!1),t.payload.error!==void 0&&t.payload.error!==null&&this.terminalsLoadError_$.set(t.payload.error)}else if(t.event===b){if(this.startLoading_$.set(!1),t.payload.error!==void 0&&t.payload.error!==null){this.startError_$.set(t.payload.error);return}this.startError_$.set(null);let e=typeof t.payload.terminalId=="string"?t.payload.terminalId:"",r=typeof t.payload.path=="string"?t.payload.path:"";e&&(this.terminals_$.update(i=>i.some(l=>l.terminalId===e)?i:[{terminalId:e,path:r,status:t.payload.status},...i]),this.selectedTerminalId_$.set(e),this.socket_CS.emit(p,{terminalId:e}),this.commandResults_$.set([]),this.clearInteractiveState())}else if(t.event===N){if((typeof t.payload.terminalId=="string"?t.payload.terminalId:"")!==this.selectedTerminalId_$())return;let r=t.payload.interactive===!0,i=t.payload.interactiveEnd===!0,o=typeof t.payload.exitCode=="number"?t.payload.exitCode:void 0;if(r){let d=typeof t.payload.requestId=="string"?t.payload.requestId:"";this.interactiveRequestId_$.set(d||null),this.interactiveOutput_$.set("");return}if(i){let d=this.interactiveOutput_$();this.interactiveRequestId_$.set(null),this.interactiveOutput_$.set("");let g=o!==void 0?`Session ended. Exit code: ${o}`:"Session ended.";this.commandResults_$.update(I=>[...d.trim().length>0?[...I,{output:d.trim(),success:!0}]:I,{output:g,success:!0,interactiveEnd:!0,exitCode:o}]);return}let l={requestId:typeof t.payload.requestId=="string"?t.payload.requestId:void 0,output:typeof t.payload.output=="string"?t.payload.output:"",success:t.payload.success===!0,error:typeof t.payload.error=="string"?t.payload.error:void 0};this.commandResults_$.update(d=>[...d,l])}else if(t.event===M){let e=typeof t.payload.terminalId=="string"?t.payload.terminalId.trim():"",r=typeof t.payload.requestId=="string"?String(t.payload.requestId).trim():"",i=typeof t.payload.chunk=="string"?t.payload.chunk:"",o=(this.interactiveRequestId_$()??"").trim(),l=(this.selectedTerminalId_$()??"").trim();if(o.length===0||r!==o){h.production||f.DyFM_Log.info("CCAP_Terminal | command-output kisz\u0171rve: requestId mismatch",{requestId:r,currentRequestId:o});return}if(e.length>0&&l.length>0&&e!==l){h.production||f.DyFM_Log.info("CCAP_Terminal | command-output kisz\u0171rve: terminalId mismatch",{terminalId:e,selectedId:l});return}this.interactiveOutput_$.update(d=>d+i)}})}requestTerminalListViaSocket(){this.terminalsLoadError_$.set(null),this.terminalsLoading_$.set(!0),this.socket_CS.emit(R,{})}loadTerminalsRest(){return m(this,null,function*(){this.terminalsLoadError_$.set(null),this.terminalsLoading_$.set(!0);try{let t=yield this.terminal_AS.getTerminals(),r=(Array.isArray(t?.terminals)?t.terminals:[]).map(i=>E(i)).filter(i=>i!==null);this.terminals_$.set(r)}catch(t){this.terminalsLoadError_$.set(t)}finally{this.terminalsLoading_$.set(!1)}})}startTerminalRest(t){return m(this,null,function*(){this.startError_$.set(null),this.startLoading_$.set(!0);try{let e=yield this.terminal_AS.startTerminal(t);this.startError_$.set(null),e.terminalId&&(this.terminals_$.update(r=>r.some(o=>o.terminalId===e.terminalId)?r:[{terminalId:e.terminalId,path:e.path,status:e.status},...r]),this.selectedTerminalId_$.set(e.terminalId),this.socket_CS.emit(p,{terminalId:e.terminalId}),this.commandResults_$.set([]),this.clearInteractiveState())}catch(e){this.startError_$.set(e)}finally{this.startLoading_$.set(!1)}})}startTerminalViaSocket(t){this.startError_$.set(null),this.startLoading_$.set(!0),this.socket_CS.emit(q,{path:t.path})}sendStdin(t){let e=this.selectedTerminalId_$(),r=this.interactiveRequestId_$();!e||!r||this.socket_CS.emit(k,{terminalId:e,requestId:r,data:typeof t=="string"?t:""})}clearInteractiveState(){this.interactiveRequestId_$.set(null),this.interactiveOutput_$.set("")}attachToTerminal(t){this.selectedTerminalId_$.set(t),this.socket_CS.emit(p,{terminalId:t}),this.commandResults_$.set([]),this.clearInteractiveState()}deleteTerminal(t){return m(this,null,function*(){let e=(t??"").trim();if(e){this.runCommandError_$.set(null);try{yield this.terminal_AS.deleteTerminal(e),this.terminals_$.update(r=>r.filter(i=>(i.terminalId??"")!==e)),this.selectedTerminalId_$()===e&&(this.selectedTerminalId_$.set(""),this.clearInteractiveState())}catch(r){this.runCommandError_$.set(r)}}})}closeTerminal(t){return m(this,null,function*(){let e=(t??"").trim();if(e){this.runCommandError_$.set(null);try{yield this.terminal_AS.closeTerminal(e),this.selectedTerminalId_$()===e&&this.clearInteractiveState(),yield this.loadTerminalsRest()}catch(r){this.runCommandError_$.set(r)}}})}runCommand(t){return m(this,null,function*(){let e=this.selectedTerminalId_$();if(!e){this.runCommandError_$.set(new Error("No terminal selected"));return}this.runCommandError_$.set(null),this.runCommandLoading_$.set(!0);try{let r=yield this.terminal_AS.runCommand(e,t);this.runCommandError_$.set(null),r.interactive===!0&&typeof r.requestId=="string"?(this.interactiveRequestId_$.set(r.requestId),this.interactiveOutput_$.set("")):this.commandResults_$.update(i=>[...i,{output:r.output,success:r.success,error:r.error}])}catch(r){this.runCommandError_$.set(r)}finally{this.runCommandLoading_$.set(!1)}})}ngOnDestroy(){this.eventSubscription&&(this.eventSubscription.unsubscribe(),this.eventSubscription=null)}static \u0275fac=function(e){return new(e||n)};static \u0275prov=_({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();export{B as a};
2
- //# sourceMappingURL=chunk-C5SDBZ5G.js.map
1
+ import{e as $}from"./chunk-QHZI4F2F.js";import{I as h,p as S}from"./chunk-Y3DARUXQ.js";import{C as u,aa as a,h as C,k as m,p as c,xb as y,y as _}from"./chunk-TBMJSIBB.js";var f=C(S());var T=(()=>{class n{baseUrl=`${h.api.baseUrl}/terminals`;http=u(y);getTerminals(){return c(this.http.get(this.baseUrl))}startTerminal(t){return c(this.http.post(`${this.baseUrl}/start`,{path:t.path},{headers:{"Content-Type":"application/json"}}))}runCommand(t,e){return c(this.http.post(`${this.baseUrl}/${encodeURIComponent(t)}/command`,{action:e.action,command:e.command,code:e.code},{headers:{"Content-Type":"application/json"}}))}deleteTerminal(t){return c(this.http.delete(`${this.baseUrl}/${encodeURIComponent(t)}`))}closeTerminal(t){return c(this.http.post(`${this.baseUrl}/${encodeURIComponent(t)}/close`,{},{headers:{"Content-Type":"application/json"}}))}static \u0275fac=function(e){return new(e||n)};static \u0275prov=_({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var R="terminal:list",A="terminal:list:result",q="terminal:start",b="terminal:start:result",p="terminal:attach",N="terminal:command-result",M="terminal:command-output",k="terminal:command-stdin";function E(n){if(n==null||typeof n!="object")return null;let s=n,t=typeof s.terminalId=="string"?s.terminalId:"";if(!t.trim())return null;let e=s.type,r=e==="exec"||e==="cc-runner"||e==="ca-runner"?e:void 0;return{_id:typeof s._id=="string"?s._id:void 0,terminalId:t.trim(),path:typeof s.path=="string"?s.path:void 0,status:typeof s.status=="string"?s.status:void 0,__created:typeof s.__created=="string"?s.__created:void 0,__lastModified:typeof s.__lastModified=="string"?s.__lastModified:void 0,type:r,sessionId:typeof s.sessionId=="string"?s.sessionId:void 0,command:typeof s.command=="string"?s.command:void 0}}var B=(()=>{class n{terminals_$=a([]);terminalsLoading_$=a(!1);terminalsLoadError_$=a(null);selectedTerminalId_$=a("");commandResults_$=a([]);startLoading_$=a(!1);startError_$=a(null);runCommandLoading_$=a(!1);runCommandError_$=a(null);interactiveRequestId_$=a(null);interactiveOutput_$=a("");eventSubscription=null;terminal_AS=u(T);socket_CS=u($);constructor(){this.eventSubscription=this.socket_CS.event$.subscribe(t=>{if(t.event===A){let r=(Array.isArray(t.payload.terminals)?t.payload.terminals:[]).map(i=>E(i)).filter(i=>i!==null);this.terminals_$.set(r),this.terminalsLoading_$.set(!1),t.payload.error!==void 0&&t.payload.error!==null&&this.terminalsLoadError_$.set(t.payload.error)}else if(t.event===b){if(this.startLoading_$.set(!1),t.payload.error!==void 0&&t.payload.error!==null){this.startError_$.set(t.payload.error);return}this.startError_$.set(null);let e=typeof t.payload.terminalId=="string"?t.payload.terminalId:"",r=typeof t.payload.path=="string"?t.payload.path:"";e&&(this.terminals_$.update(i=>i.some(l=>l.terminalId===e)?i:[{terminalId:e,path:r,status:t.payload.status},...i]),this.selectedTerminalId_$.set(e),this.socket_CS.emit(p,{terminalId:e}),this.commandResults_$.set([]),this.clearInteractiveState())}else if(t.event===N){if((typeof t.payload.terminalId=="string"?t.payload.terminalId:"")!==this.selectedTerminalId_$())return;let r=t.payload.interactive===!0,i=t.payload.interactiveEnd===!0,o=typeof t.payload.exitCode=="number"?t.payload.exitCode:void 0;if(r){let d=typeof t.payload.requestId=="string"?t.payload.requestId:"";this.interactiveRequestId_$.set(d||null),this.interactiveOutput_$.set("");return}if(i){let d=this.interactiveOutput_$();this.interactiveRequestId_$.set(null),this.interactiveOutput_$.set("");let g=o!==void 0?`Session ended. Exit code: ${o}`:"Session ended.";this.commandResults_$.update(I=>[...d.trim().length>0?[...I,{output:d.trim(),success:!0}]:I,{output:g,success:!0,interactiveEnd:!0,exitCode:o}]);return}let l={requestId:typeof t.payload.requestId=="string"?t.payload.requestId:void 0,output:typeof t.payload.output=="string"?t.payload.output:"",success:t.payload.success===!0,error:typeof t.payload.error=="string"?t.payload.error:void 0};this.commandResults_$.update(d=>[...d,l])}else if(t.event===M){let e=typeof t.payload.terminalId=="string"?t.payload.terminalId.trim():"",r=typeof t.payload.requestId=="string"?String(t.payload.requestId).trim():"",i=typeof t.payload.chunk=="string"?t.payload.chunk:"",o=(this.interactiveRequestId_$()??"").trim(),l=(this.selectedTerminalId_$()??"").trim();if(o.length===0||r!==o){h.production||f.DyFM_Log.info("CCAP_Terminal | command-output kisz\u0171rve: requestId mismatch",{requestId:r,currentRequestId:o});return}if(e.length>0&&l.length>0&&e!==l){h.production||f.DyFM_Log.info("CCAP_Terminal | command-output kisz\u0171rve: terminalId mismatch",{terminalId:e,selectedId:l});return}this.interactiveOutput_$.update(d=>d+i)}})}requestTerminalListViaSocket(){this.terminalsLoadError_$.set(null),this.terminalsLoading_$.set(!0),this.socket_CS.emit(R,{})}loadTerminalsRest(){return m(this,null,function*(){this.terminalsLoadError_$.set(null),this.terminalsLoading_$.set(!0);try{let t=yield this.terminal_AS.getTerminals(),r=(Array.isArray(t?.terminals)?t.terminals:[]).map(i=>E(i)).filter(i=>i!==null);this.terminals_$.set(r)}catch(t){this.terminalsLoadError_$.set(t)}finally{this.terminalsLoading_$.set(!1)}})}startTerminalRest(t){return m(this,null,function*(){this.startError_$.set(null),this.startLoading_$.set(!0);try{let e=yield this.terminal_AS.startTerminal(t);this.startError_$.set(null),e.terminalId&&(this.terminals_$.update(r=>r.some(o=>o.terminalId===e.terminalId)?r:[{terminalId:e.terminalId,path:e.path,status:e.status},...r]),this.selectedTerminalId_$.set(e.terminalId),this.socket_CS.emit(p,{terminalId:e.terminalId}),this.commandResults_$.set([]),this.clearInteractiveState())}catch(e){this.startError_$.set(e)}finally{this.startLoading_$.set(!1)}})}startTerminalViaSocket(t){this.startError_$.set(null),this.startLoading_$.set(!0),this.socket_CS.emit(q,{path:t.path})}sendStdin(t){let e=this.selectedTerminalId_$(),r=this.interactiveRequestId_$();!e||!r||this.socket_CS.emit(k,{terminalId:e,requestId:r,data:typeof t=="string"?t:""})}clearInteractiveState(){this.interactiveRequestId_$.set(null),this.interactiveOutput_$.set("")}attachToTerminal(t){this.selectedTerminalId_$.set(t),this.socket_CS.emit(p,{terminalId:t}),this.commandResults_$.set([]),this.clearInteractiveState()}deleteTerminal(t){return m(this,null,function*(){let e=(t??"").trim();if(e){this.runCommandError_$.set(null);try{yield this.terminal_AS.deleteTerminal(e),this.terminals_$.update(r=>r.filter(i=>(i.terminalId??"")!==e)),this.selectedTerminalId_$()===e&&(this.selectedTerminalId_$.set(""),this.clearInteractiveState())}catch(r){this.runCommandError_$.set(r)}}})}closeTerminal(t){return m(this,null,function*(){let e=(t??"").trim();if(e){this.runCommandError_$.set(null);try{yield this.terminal_AS.closeTerminal(e),this.selectedTerminalId_$()===e&&this.clearInteractiveState(),yield this.loadTerminalsRest()}catch(r){this.runCommandError_$.set(r)}}})}runCommand(t){return m(this,null,function*(){let e=this.selectedTerminalId_$();if(!e){this.runCommandError_$.set(new Error("No terminal selected"));return}this.runCommandError_$.set(null),this.runCommandLoading_$.set(!0);try{let r=yield this.terminal_AS.runCommand(e,t);this.runCommandError_$.set(null),r.interactive===!0&&typeof r.requestId=="string"?(this.interactiveRequestId_$.set(r.requestId),this.interactiveOutput_$.set("")):this.commandResults_$.update(i=>[...i,{output:r.output,success:r.success,error:r.error}])}catch(r){this.runCommandError_$.set(r)}finally{this.runCommandLoading_$.set(!1)}})}ngOnDestroy(){this.eventSubscription&&(this.eventSubscription.unsubscribe(),this.eventSubscription=null)}static \u0275fac=function(e){return new(e||n)};static \u0275prov=_({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();export{B as a};
2
+ //# sourceMappingURL=chunk-CUA2OS6E.js.map
@@ -1,2 +1,2 @@
1
- import{b as a}from"./chunk-WJTUNKFF.js";var f=class{static extract(t){if(t.toolName)return t.toolName;if(t.rawData){let s=t.rawData.name??t.rawData.tool_name??t.rawData.last_tool_name;if(typeof s=="string")return s}let o=t.bodyText.indexOf(":");return o>0?t.bodyText.substring(0,o).trim():t.bodyText.trim()}};var b=class e{static DEFAULT_GROUPABLE_TOOLS=new Set(["Read","Bash","Grep","Glob"]);static DEFAULT_MIN_GROUP_SIZE=2;static groupSubAgentItems(t,o){let s=new Map;for(let r=0;r<t.length;r++){let n=t[r];if(n.kind===a.tool&&n.toolName==="Agent"){let i=e.resolveAgentId(n);i&&s.set(i,{item:n,index:r})}}if(!s.size)return t;let c=new Map,d=new Set;for(let r=0;r<t.length;r++){let n=t[r];if(n.parentAgentId&&s.has(n.parentAgentId)){let i=c.get(n.parentAgentId)??[];i.push(n),c.set(n.parentAgentId,i),d.add(r)}}let l=[];for(let r=0;r<t.length;r++){if(d.has(r))continue;let n=t[r];if(n.kind===a.tool&&n.toolName==="Agent"){let i=e.resolveAgentId(n),p=c.get(i)??[],g=[n,...p],I=e.buildSubAgentLabel(n),A=e.extractSubagentType(n),y=e.groupConsecutiveToolItems(g,o);l.push({listKey:e.newListKey(),kind:a.subAgentGroup,bodyText:I,groupItems:y,groupToolName:A||"Agent",rawData:n.rawData})}else l.push(n)}return l}static groupConsecutiveToolItems(t,o){let s=o?.groupableTools??e.DEFAULT_GROUPABLE_TOOLS,c=o?.minGroupSize??e.DEFAULT_MIN_GROUP_SIZE,d=[],l=[],r="",n=()=>{if(!l.length)return;let i=l.filter(p=>p.kind===a.tool).length;i>=c?d.push({listKey:e.newListKey(),kind:a.toolGroup,bodyText:`${r} \xD7 ${i}`,groupItems:l,groupToolName:r}):d.push(...l),l=[],r=""};for(let i of t){if(i.kind===a.tool){let p=f.extract(i);if(s.has(p)){r&&r!==p&&n(),r=p,l.push(i);continue}}if(i.kind===a.toolResult&&l.length){l.push(i);continue}n(),d.push(i)}return n(),d}static resolveAgentId(t){return t.toolCallId?t.toolCallId:t.rawData&&typeof t.rawData.id=="string"?t.rawData.id:""}static extractSubagentType(t){let o=t.rawData?.input;if(!o||typeof o!="object")return"";let s=o.subagent_type;return typeof s=="string"?s:""}static extractDescription(t){let o=t.rawData?.input;if(!o||typeof o!="object")return"";let s=o.description;return typeof s=="string"?s:""}static buildSubAgentLabel(t){let o=e.extractSubagentType(t),s=e.extractDescription(t);return o?`${o}: ${s||"..."}`:s||"Sub-agent"}static newListKey(){return globalThis.crypto.randomUUID()}};var u=function(e){return e.user="user",e.assistant="assistant",e.tool="tool",e.toolResult="tool-result",e.status="status",e.error="error",e.info="info",e.result="result",e.thinking="thinking",e.statusUpdate="status-update",e}(u||{});var h=class e{static fromAssembledMessage(t,o){let s=e.mapRoleToKind(t.messageRole),c=t.toolResult?{text:t.toolResult.text,expandableContent:t.toolResult.expandableContent,rawData:t.toolResult.rawData,isError:t.toolResult.isError}:void 0,d=t.messageRole===u.tool&&t.toolName==="Edit"&&!!t.expandableContent;return{listKey:t.messageKey,kind:s,bodyText:t.bodyText,timestampIso:t.timestamp,toolName:t.toolName,expandableContent:t.expandableContent,pairedResult:c,rawData:t.rawData,subtype:t.subtype,isUserAligned:t.isUserAligned,headerStatusDot:t.headerStatusDot==="error"?"error":void 0,flags:{showCopy:!0,showRawInfo:!0,useEditDiffForExpandable:d},tts:e.buildTts(t,o),toolCallId:t.toolCallId,parentAgentId:t.parentAgentId}}static buildTts(t,o){if(!(!o||!(t.messageRole===u.user||t.messageRole===u.assistant)||!t.bodyText.trim().length))return{messageKey:t.messageKey,sessionId:o.sessionId,role:t.messageRole,content:t.bodyText,timestampIso:t.timestamp,hasTtsAudio:o.cachedKeys.has(t.messageKey)}}static mapRoleToKind(t){switch(t){case u.user:return a.userPrompt;case u.assistant:return a.assistant;case u.tool:return a.tool;case u.toolResult:return a.toolResult;case u.status:return a.status;case u.error:return a.error;case u.info:return a.info;case u.result:return a.result;case u.thinking:return a.thinking;case u.statusUpdate:return a.statusUpdate;default:return a.info}}};export{b as a,h as b};
2
- //# sourceMappingURL=chunk-ALT4GOBR.js.map
1
+ import{b as a}from"./chunk-5E5W3DFK.js";var f=class{static extract(t){if(t.toolName)return t.toolName;if(t.rawData){let s=t.rawData.name??t.rawData.tool_name??t.rawData.last_tool_name;if(typeof s=="string")return s}let o=t.bodyText.indexOf(":");return o>0?t.bodyText.substring(0,o).trim():t.bodyText.trim()}};var b=class e{static DEFAULT_GROUPABLE_TOOLS=new Set(["Read","Bash","Grep","Glob"]);static DEFAULT_MIN_GROUP_SIZE=2;static groupSubAgentItems(t,o){let s=new Map;for(let r=0;r<t.length;r++){let n=t[r];if(n.kind===a.tool&&n.toolName==="Agent"){let i=e.resolveAgentId(n);i&&s.set(i,{item:n,index:r})}}if(!s.size)return t;let c=new Map,d=new Set;for(let r=0;r<t.length;r++){let n=t[r];if(n.parentAgentId&&s.has(n.parentAgentId)){let i=c.get(n.parentAgentId)??[];i.push(n),c.set(n.parentAgentId,i),d.add(r)}}let l=[];for(let r=0;r<t.length;r++){if(d.has(r))continue;let n=t[r];if(n.kind===a.tool&&n.toolName==="Agent"){let i=e.resolveAgentId(n),p=c.get(i)??[],g=[n,...p],I=e.buildSubAgentLabel(n),A=e.extractSubagentType(n),y=e.groupConsecutiveToolItems(g,o);l.push({listKey:e.newListKey(),kind:a.subAgentGroup,bodyText:I,groupItems:y,groupToolName:A||"Agent",rawData:n.rawData})}else l.push(n)}return l}static groupConsecutiveToolItems(t,o){let s=o?.groupableTools??e.DEFAULT_GROUPABLE_TOOLS,c=o?.minGroupSize??e.DEFAULT_MIN_GROUP_SIZE,d=[],l=[],r="",n=()=>{if(!l.length)return;let i=l.filter(p=>p.kind===a.tool).length;i>=c?d.push({listKey:e.newListKey(),kind:a.toolGroup,bodyText:`${r} \xD7 ${i}`,groupItems:l,groupToolName:r}):d.push(...l),l=[],r=""};for(let i of t){if(i.kind===a.tool){let p=f.extract(i);if(s.has(p)){r&&r!==p&&n(),r=p,l.push(i);continue}}if(i.kind===a.toolResult&&l.length){l.push(i);continue}n(),d.push(i)}return n(),d}static resolveAgentId(t){return t.toolCallId?t.toolCallId:t.rawData&&typeof t.rawData.id=="string"?t.rawData.id:""}static extractSubagentType(t){let o=t.rawData?.input;if(!o||typeof o!="object")return"";let s=o.subagent_type;return typeof s=="string"?s:""}static extractDescription(t){let o=t.rawData?.input;if(!o||typeof o!="object")return"";let s=o.description;return typeof s=="string"?s:""}static buildSubAgentLabel(t){let o=e.extractSubagentType(t),s=e.extractDescription(t);return o?`${o}: ${s||"..."}`:s||"Sub-agent"}static newListKey(){return globalThis.crypto.randomUUID()}};var u=function(e){return e.user="user",e.assistant="assistant",e.tool="tool",e.toolResult="tool-result",e.status="status",e.error="error",e.info="info",e.result="result",e.thinking="thinking",e.statusUpdate="status-update",e}(u||{});var h=class e{static fromAssembledMessage(t,o){let s=e.mapRoleToKind(t.messageRole),c=t.toolResult?{text:t.toolResult.text,expandableContent:t.toolResult.expandableContent,rawData:t.toolResult.rawData,isError:t.toolResult.isError}:void 0,d=t.messageRole===u.tool&&t.toolName==="Edit"&&!!t.expandableContent;return{listKey:t.messageKey,kind:s,bodyText:t.bodyText,timestampIso:t.timestamp,toolName:t.toolName,expandableContent:t.expandableContent,pairedResult:c,rawData:t.rawData,subtype:t.subtype,isUserAligned:t.isUserAligned,headerStatusDot:t.headerStatusDot==="error"?"error":void 0,flags:{showCopy:!0,showRawInfo:!0,useEditDiffForExpandable:d},tts:e.buildTts(t,o),toolCallId:t.toolCallId,parentAgentId:t.parentAgentId}}static buildTts(t,o){if(!(!o||!(t.messageRole===u.user||t.messageRole===u.assistant)||!t.bodyText.trim().length))return{messageKey:t.messageKey,sessionId:o.sessionId,role:t.messageRole,content:t.bodyText,timestampIso:t.timestamp,hasTtsAudio:o.cachedKeys.has(t.messageKey)}}static mapRoleToKind(t){switch(t){case u.user:return a.userPrompt;case u.assistant:return a.assistant;case u.tool:return a.tool;case u.toolResult:return a.toolResult;case u.status:return a.status;case u.error:return a.error;case u.info:return a.info;case u.result:return a.result;case u.thinking:return a.thinking;case u.statusUpdate:return a.statusUpdate;default:return a.info}}};export{b as a,h as b};
2
+ //# sourceMappingURL=chunk-DB33SOJ3.js.map
@@ -1,2 +1,2 @@
1
- import{p as o}from"./chunk-QXM45TNB.js";import{h as r}from"./chunk-TBMJSIBB.js";var a=function(t){return t.created="created",t.alreadyLinked="already-linked",t.userMarked="user-marked",t.errorNotFound="error-not-found",t}(a||{});var m=function(t){return t.confirm="confirm",t.optionSelect="option-select",t.question="question",t}(m||{});var e=r(o());var d=new e.DyFM_DataModel_Params({dataName:"ccap_setting",properties:{ccapId:{type:"string"},sectionId:{type:"string",required:!0,index:!0},sectionProtectionFlag:{type:"string",required:!0,unique:!0},payload:{type:"object",required:!0}}});var p=r(o());var S=new p.DyFM_DataModel_Params({dataName:"pm_project",properties:{ccapId:{type:"string",index:!0},name:{type:"string",required:!0,index:!0},githubRepoUrl:{type:"string"},description:{type:"string"},localPath:{type:"string"},isActive:{type:"boolean"},preferredBugsMdRelativePath:{type:"string"},gitBranch:{type:"string"},gitStatus:{type:"string"},gitAheadBehind:{type:"string"},gitLastCommitDate:{type:"string"},gitLastCommitMessage:{type:"string"},gitLastCommitAuthor:{type:"string"},gitRemoteUrl:{type:"string"},gitInfo:{type:"object"},packageVersion:{type:"string"},packageScripts:{type:"array"},packageDependencyCount:{type:"number"},packageDevDependencyCount:{type:"number"},packageInfo:{type:"object"},artifacts:{type:"object"},lastSyncAt:{type:"string"},lastSyncStatus:{type:"string"},lastSyncSummary:{type:"string"},lastSyncDurationMs:{type:"number"},lastSyncErrors:{type:"array"},githubOwner:{type:"string"},githubRepo:{type:"string"},githubIssueSyncEnabled:{type:"boolean"},githubIssueSyncAt:{type:"string"},githubIssueSyncStatus:{type:"string"},githubIssueSyncSummary:{type:"string"},githubIssueSyncConfig:{type:"object"},githubPrSyncEnabled:{type:"boolean"},githubPrSyncAt:{type:"string"}}});var n=r(o());var P=new n.DyFM_DataModel_Params({dataName:"pm_user_request",properties:{projectId:{type:"string",required:!0,index:!0},content:{type:"string",required:!0},title:{type:"string"},type:{type:"string"},code:{type:"string"},priority:{type:"string"},area:{type:"string"},phase:{type:"string"},status:{type:"string"},specStatus:{type:"string"},implStatus:{type:"string"},testStatus:{type:"string"},completeStatus:{type:"string"},githubIssueNumber:{type:"number",index:!0},githubIssueUrl:{type:"string"},githubIssueId:{type:"number"},githubSyncedAt:{type:"string"},githubSyncDirection:{type:"string"}}});var s=r(o());var k=new s.DyFM_DataModel_Params({dataName:"ccap_quick_input",properties:{projectId:{type:"string",required:!0,index:!0},rawContent:{type:"string",required:!0},title:{type:"string"},status:{type:"string",required:!0,index:!0},promotedUserRequestId:{type:"string"},promotedBugCode:{type:"string"},predictedProjectId:{type:"string",index:!0},predictedType:{type:"string"},predictedCleanDescription:{type:"string"},taskDifficulty:{type:"string"},priority:{type:"string"},area:{type:"string"},createdAtVersion:{type:"string"}}});var x=r(o());var q=new x.DyFM_DataModel_Params({dataName:"pm_project_group",properties:{ccapId:{type:"string",index:!0},name:{type:"string",required:!0,index:!0},scanPath:{type:"string",required:!0},description:{type:"string"}}});var i=r(o());var A=new i.DyFM_DataModel_Params({dataName:"pm_project_group_file",properties:{groupId:{type:"string",required:!0,index:!0},ccapId:{type:"string",index:!0},relativePath:{type:"string",required:!0},sizeBytes:{type:"number"},lastModifiedAt:{type:"string"},fileHash:{type:"string"},isDirectory:{type:"boolean"}}});export{a,m as b};
2
- //# sourceMappingURL=chunk-FXN33EYC.js.map
1
+ import{p as o}from"./chunk-Y3DARUXQ.js";import{h as r}from"./chunk-TBMJSIBB.js";var a=function(t){return t.created="created",t.alreadyLinked="already-linked",t.userMarked="user-marked",t.errorNotFound="error-not-found",t}(a||{});var m=function(t){return t.confirm="confirm",t.optionSelect="option-select",t.question="question",t}(m||{});var e=r(o());var d=new e.DyFM_DataModel_Params({dataName:"ccap_setting",properties:{ccapId:{type:"string"},sectionId:{type:"string",required:!0,index:!0},sectionProtectionFlag:{type:"string",required:!0,unique:!0},payload:{type:"object",required:!0}}});var p=r(o());var S=new p.DyFM_DataModel_Params({dataName:"pm_project",properties:{ccapId:{type:"string",index:!0},name:{type:"string",required:!0,index:!0},githubRepoUrl:{type:"string"},description:{type:"string"},localPath:{type:"string"},isActive:{type:"boolean"},preferredBugsMdRelativePath:{type:"string"},gitBranch:{type:"string"},gitStatus:{type:"string"},gitAheadBehind:{type:"string"},gitLastCommitDate:{type:"string"},gitLastCommitMessage:{type:"string"},gitLastCommitAuthor:{type:"string"},gitRemoteUrl:{type:"string"},gitInfo:{type:"object"},packageVersion:{type:"string"},packageScripts:{type:"array"},packageDependencyCount:{type:"number"},packageDevDependencyCount:{type:"number"},packageInfo:{type:"object"},artifacts:{type:"object"},lastSyncAt:{type:"string"},lastSyncStatus:{type:"string"},lastSyncSummary:{type:"string"},lastSyncDurationMs:{type:"number"},lastSyncErrors:{type:"array"},githubOwner:{type:"string"},githubRepo:{type:"string"},githubIssueSyncEnabled:{type:"boolean"},githubIssueSyncAt:{type:"string"},githubIssueSyncStatus:{type:"string"},githubIssueSyncSummary:{type:"string"},githubIssueSyncConfig:{type:"object"},githubPrSyncEnabled:{type:"boolean"},githubPrSyncAt:{type:"string"}}});var n=r(o());var P=new n.DyFM_DataModel_Params({dataName:"pm_user_request",properties:{projectId:{type:"string",required:!0,index:!0},content:{type:"string",required:!0},title:{type:"string"},type:{type:"string"},code:{type:"string"},priority:{type:"string"},area:{type:"string"},phase:{type:"string"},status:{type:"string"},specStatus:{type:"string"},implStatus:{type:"string"},testStatus:{type:"string"},completeStatus:{type:"string"},githubIssueNumber:{type:"number",index:!0},githubIssueUrl:{type:"string"},githubIssueId:{type:"number"},githubSyncedAt:{type:"string"},githubSyncDirection:{type:"string"}}});var s=r(o());var k=new s.DyFM_DataModel_Params({dataName:"ccap_quick_input",properties:{projectId:{type:"string",required:!0,index:!0},rawContent:{type:"string",required:!0},title:{type:"string"},status:{type:"string",required:!0,index:!0},promotedUserRequestId:{type:"string"},promotedBugCode:{type:"string"},predictedProjectId:{type:"string",index:!0},predictedType:{type:"string"},predictedCleanDescription:{type:"string"},taskDifficulty:{type:"string"},priority:{type:"string"},area:{type:"string"},createdAtVersion:{type:"string"}}});var x=r(o());var q=new x.DyFM_DataModel_Params({dataName:"pm_project_group",properties:{ccapId:{type:"string",index:!0},name:{type:"string",required:!0,index:!0},scanPath:{type:"string",required:!0},description:{type:"string"}}});var i=r(o());var A=new i.DyFM_DataModel_Params({dataName:"pm_project_group_file",properties:{groupId:{type:"string",required:!0,index:!0},ccapId:{type:"string",index:!0},relativePath:{type:"string",required:!0},sizeBytes:{type:"number"},lastModifiedAt:{type:"string"},fileHash:{type:"string"},isDirectory:{type:"boolean"}}});export{a,m as b};
2
+ //# sourceMappingURL=chunk-EC4VBEIV.js.map
@@ -1,3 +1,3 @@
1
- import{b as Y}from"./chunk-NAHXFBXE.js";import{a as ee}from"./chunk-WWJB3AHB.js";import{a as X}from"./chunk-FLAJXIYW.js";import{b as G,c as k,f as V,i as W,n as A,o as U,p as B,v as R}from"./chunk-EO4DNTT4.js";import{d as J,i as Q}from"./chunk-TCJ6WHLQ.js";import{a as F}from"./chunk-5UPNU54P.js";import{c as q}from"./chunk-XEGOHOPX.js";import{C as f}from"./chunk-QXM45TNB.js";import{C as E,D as v,Fa as d,Ga as y,Ha as $,I as K,J as m,K as g,Q as j,T as O,Ta as z,U as C,Z as s,aa as c,da as M,fa as H,ga as _,hb as L,jb as N,k as b,la as x,na as I,oa as T,pa as P,qa as r,ra as o,ua as S,ub as D,va as p,wa as u,wb as Z}from"./chunk-TBMJSIBB.js";var te="ccap-pm-user-input-wizard-draft:",w=class a{static storageKey(l,e){let i=`${te}${l}`,t=e?.trim();return t!==void 0&&t.length>0?`${i}:qi:${t}`:i}static load(l,e){let i=a.storageKey(l,e),t=F.readJson(i,null);if(!a.isDraftShape(t))return null;let n=t;return typeof n.previewMarkdown!="string"&&(n.previewMarkdown=""),n}static save(l,e,i){let t=a.storageKey(l,i),n={rawText:e.rawText,refinementDraft:e.refinementDraft,wizardStep:e.wizardStep,suggestionJson:e.suggestionJson,previewMarkdown:e.previewMarkdown,updatedAt:e.updatedAt};F.writeJson(t,n)}static clear(l,e){let i=a.storageKey(l,e);F.remove(i)}static isDraftShape(l){if(typeof l!="object"||l===null||Array.isArray(l))return!1;let e=Reflect.get(l,"previewMarkdown"),i=typeof e=="string"||e===void 0,t=Reflect.get(l,"suggestionJson");return typeof Reflect.get(l,"rawText")=="string"&&typeof Reflect.get(l,"refinementDraft")=="string"&&typeof Reflect.get(l,"wizardStep")=="number"&&(t===null||typeof t=="string")&&i&&typeof Reflect.get(l,"updatedAt")=="string"}};function re(a,l){if(a&1){let e=S();r(0,"div",0)(1,"h3",11),d(2,"New USER-INPUT (wizard)"),o(),r(3,"button",12),p("click",function(){m(e);let t=u();return g(t.handleDiscardDraft())}),d(4," Clear draft "),o()()}}function oe(a,l){if(a&1){let e=S();r(0,"div",1)(1,"button",12),p("click",function(){m(e);let t=u();return g(t.handleDiscardDraft())}),d(2," Clear draft "),o()()}}function ae(a,l){if(a&1&&(r(0,"div",3),d(1),o()),a&2){let e=u();s(),$(" ",e.suggestErrorText_$()," ")}}function se(a,l){if(a&1&&(r(0,"div",3),d(1),o()),a&2){let e=u();s(),$(" ",e.finalizeErrorText_$()," ")}}function de(a,l){if(a&1&&(r(0,"div",4)(1,"span",13),d(2,"LLM system prompt (last suggest / refine)"),o(),r(3,"pre",14),d(4),o()()),a&2){let e=u();s(4),y(e.pm_DS.userInputWizardLastLlmSystemPrompt_$())}}function le(a,l){if(a&1&&(r(0,"div",4)(1,"span",13),d(2,"LLM user message (last suggest / refine)"),o(),r(3,"pre",15),d(4),o()()),a&2){let e=u();s(4),y(e.pm_DS.userInputWizardLastLlmUserMessage_$())}}function pe(a,l){a&1&&d(0," Formatting\u2026 ")}function _e(a,l){a&1&&d(0," Format with AI ")}function ue(a,l){if(a&1){let e=S();r(0,"div",9)(1,"button",16),p("click",function(){m(e);let t=u();return g(t.handleFormatWithAi())}),M(2,pe,1,0)(3,_e,1,0),o()()}if(a&2){let e=u();s(),_("disabled",e.pm_DS.userInputWizardSuggestLoading_$()||!e.rawText_$().trim()),s(),x(e.pm_DS.userInputWizardSuggestLoading_$()?2:3)}}function ce(a,l){if(a&1&&(r(0,"option",24),d(1),o()),a&2){let e=l.$implicit;_("value",e),s(),y(e)}}function me(a,l){if(a&1){let e=S();r(0,"div",28)(1,"label",20),d(2,"Refine instruction (optional)"),o(),r(3,"textarea",30),p("ngModelChange",function(t){m(e);let n=u(2);return g(n.handleRefinementInput(t))}),d(4," "),o(),r(5,"button",31),p("click",function(){m(e);let t=u(2);return g(t.handleRefine())}),d(6," Refine with AI "),o()()}if(a&2){let e=u(2);s(3),_("ngModel",e.refinement_$()),s(2),_("disabled",e.pm_DS.userInputWizardSuggestLoading_$()||!e.refinement_$().trim())}}function ge(a,l){a&1&&d(0," Saving\u2026 ")}function he(a,l){a&1&&d(0," Finalize (USER-INPUT.md + database) ")}function fe(a,l){if(a&1){let e=S();r(0,"div",10)(1,"h4",17),d(2,"Preview (last server response)"),o(),r(3,"pre",18),d(4),o(),r(5,"div",19)(6,"div",4)(7,"label",20),d(8,"Type"),o(),r(9,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editType_$.set(t),g(n.handleEditorChange())}),o()(),r(10,"div",4)(11,"label",20),d(12,"Code"),o(),r(13,"input",22),p("ngModelChange",function(t){m(e);let n=u();return n.editCode_$.set(t),g(n.handleEditorChange())}),o()(),r(14,"div",4)(15,"label",20),d(16,"Priority"),o(),r(17,"select",23),p("ngModelChange",function(t){m(e);let n=u();return n.editPriority_$.set(t),g(n.handleEditorChange())}),T(18,ce,2,2,"option",24,I),o()(),r(20,"div",4)(21,"label",20),d(22,"Phase"),o(),r(23,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editPhase_$.set(t),g(n.handleEditorChange())}),o()(),r(24,"div",25)(25,"label",20),d(26,"Area"),o(),r(27,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editArea_$.set(t),g(n.handleEditorChange())}),o()(),r(28,"div",25)(29,"label",20),d(30,"Title (DB)"),o(),r(31,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editTitle_$.set(t),g(n.handleEditorChange())}),o()(),r(32,"div",25)(33,"label",20),d(34,"Details (one line)"),o(),r(35,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editDetails_$.set(t),g(n.handleEditorChange())}),o()(),r(36,"div",4)(37,"label",20),d(38,"E1"),o(),r(39,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editE1_$.set(t),g(n.handleEditorChange())}),o()(),r(40,"div",4)(41,"label",20),d(42,"E2"),o(),r(43,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editE2_$.set(t),g(n.handleEditorChange())}),o()(),r(44,"div",4)(45,"label",20),d(46,"E3"),o(),r(47,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editE3_$.set(t),g(n.handleEditorChange())}),o()(),r(48,"div",4)(49,"label",20),d(50,"E4"),o(),r(51,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editE4_$.set(t),g(n.handleEditorChange())}),o()()(),r(52,"label",26)(53,"input",27),p("ngModelChange",function(t){m(e);let n=u();return g(n.addToBacklog_$.set(t))}),o(),d(54," Also append matching line to BACKLOG.md "),o(),M(55,me,7,2,"div",28),r(56,"button",29),p("click",function(){m(e);let t=u();return g(t.handleFinalize())}),M(57,ge,1,0)(58,he,1,0),o()()}if(a&2){let e=u();s(4),y(e.previewMarkdown_$()),s(5),_("ngModel",e.editType_$()),s(4),_("ngModel",e.editCode_$()),s(4),_("ngModel",e.editPriority_$()),s(),P(e.priorities),s(5),_("ngModel",e.editPhase_$()),s(4),_("ngModel",e.editArea_$()),s(4),_("ngModel",e.editTitle_$()),s(4),_("ngModel",e.editDetails_$()),s(4),_("ngModel",e.editE1_$()),s(4),_("ngModel",e.editE2_$()),s(4),_("ngModel",e.editE3_$()),s(4),_("ngModel",e.editE4_$()),s(2),_("ngModel",e.addToBacklog_$()),s(2),x(e.skipSuggestMode?-1:55),s(),_("disabled",e.pm_DS.userInputWizardFinalizeLoading_$()||!e.rawText_$().trim()),s(),x(e.pm_DS.userInputWizardFinalizeLoading_$()?57:58)}}var xe=400,Ve=(()=>{class a{projectId="";isEmbeddedInModal=!1;wizardCompleted=new j;wizardFinalizeSuccess=new j;quickInputDraftId=null;initialRawContent="";skipSuggestMode=!1;initialStagingPriority=void 0;pm_DS=E(ee);suggestErrorText_$=L(()=>{let e=this.pm_DS.userInputWizardSuggestError_$();return e?a.formatHttpError(e):null});finalizeErrorText_$=L(()=>{let e=this.pm_DS.userInputWizardFinalizeError_$();return e?a.formatHttpError(e):null});rawText_$=c("");refinement_$=c("");wizardStep_$=c(0);previewMarkdown_$=c("");addToBacklog_$=c(!1);editType_$=c("");editCode_$=c("");editPriority_$=c(f.medium);editArea_$=c("");editPhase_$=c("MVP1");editDetails_$=c("");editTitle_$=c("");editE1_$=c("\u274C");editE2_$=c("\u274C");editE3_$=c("\u274C");editE4_$=c("\u274C");priorities=Object.values(f);draftTimer;ngOnChanges(e){(e.projectId!==void 0&&e.projectId.currentValue||e.quickInputDraftId!==void 0||e.initialRawContent!==void 0||e.skipSuggestMode!==void 0||e.initialStagingPriority!==void 0)&&this.projectId&&this.applyWizardBootstrapFromInputs()}ngOnDestroy(){this.draftTimer!==void 0&&clearTimeout(this.draftTimer)}handleVoiceTranscript(e){let i=e?.trim()??"";i.length&&(this.rawText_$.update(t=>t?`${t}
1
+ import{b as Y}from"./chunk-V6QEYU4X.js";import{a as ee}from"./chunk-JWXM6QMF.js";import{a as X}from"./chunk-FLAJXIYW.js";import{b as G,c as k,f as V,i as W,n as A,o as U,p as B,v as R}from"./chunk-EO4DNTT4.js";import{d as J,i as Q}from"./chunk-ZTB2RW6R.js";import{a as F}from"./chunk-5UPNU54P.js";import{c as q}from"./chunk-KNTOPF7C.js";import{C as f}from"./chunk-Y3DARUXQ.js";import{C as E,D as v,Fa as d,Ga as y,Ha as $,I as K,J as m,K as g,Q as j,T as O,Ta as z,U as C,Z as s,aa as c,da as M,fa as H,ga as _,hb as L,jb as N,k as b,la as x,na as I,oa as T,pa as P,qa as r,ra as o,ua as S,ub as D,va as p,wa as u,wb as Z}from"./chunk-TBMJSIBB.js";var te="ccap-pm-user-input-wizard-draft:",w=class a{static storageKey(l,e){let i=`${te}${l}`,t=e?.trim();return t!==void 0&&t.length>0?`${i}:qi:${t}`:i}static load(l,e){let i=a.storageKey(l,e),t=F.readJson(i,null);if(!a.isDraftShape(t))return null;let n=t;return typeof n.previewMarkdown!="string"&&(n.previewMarkdown=""),n}static save(l,e,i){let t=a.storageKey(l,i),n={rawText:e.rawText,refinementDraft:e.refinementDraft,wizardStep:e.wizardStep,suggestionJson:e.suggestionJson,previewMarkdown:e.previewMarkdown,updatedAt:e.updatedAt};F.writeJson(t,n)}static clear(l,e){let i=a.storageKey(l,e);F.remove(i)}static isDraftShape(l){if(typeof l!="object"||l===null||Array.isArray(l))return!1;let e=Reflect.get(l,"previewMarkdown"),i=typeof e=="string"||e===void 0,t=Reflect.get(l,"suggestionJson");return typeof Reflect.get(l,"rawText")=="string"&&typeof Reflect.get(l,"refinementDraft")=="string"&&typeof Reflect.get(l,"wizardStep")=="number"&&(t===null||typeof t=="string")&&i&&typeof Reflect.get(l,"updatedAt")=="string"}};function re(a,l){if(a&1){let e=S();r(0,"div",0)(1,"h3",11),d(2,"New USER-INPUT (wizard)"),o(),r(3,"button",12),p("click",function(){m(e);let t=u();return g(t.handleDiscardDraft())}),d(4," Clear draft "),o()()}}function oe(a,l){if(a&1){let e=S();r(0,"div",1)(1,"button",12),p("click",function(){m(e);let t=u();return g(t.handleDiscardDraft())}),d(2," Clear draft "),o()()}}function ae(a,l){if(a&1&&(r(0,"div",3),d(1),o()),a&2){let e=u();s(),$(" ",e.suggestErrorText_$()," ")}}function se(a,l){if(a&1&&(r(0,"div",3),d(1),o()),a&2){let e=u();s(),$(" ",e.finalizeErrorText_$()," ")}}function de(a,l){if(a&1&&(r(0,"div",4)(1,"span",13),d(2,"LLM system prompt (last suggest / refine)"),o(),r(3,"pre",14),d(4),o()()),a&2){let e=u();s(4),y(e.pm_DS.userInputWizardLastLlmSystemPrompt_$())}}function le(a,l){if(a&1&&(r(0,"div",4)(1,"span",13),d(2,"LLM user message (last suggest / refine)"),o(),r(3,"pre",15),d(4),o()()),a&2){let e=u();s(4),y(e.pm_DS.userInputWizardLastLlmUserMessage_$())}}function pe(a,l){a&1&&d(0," Formatting\u2026 ")}function _e(a,l){a&1&&d(0," Format with AI ")}function ue(a,l){if(a&1){let e=S();r(0,"div",9)(1,"button",16),p("click",function(){m(e);let t=u();return g(t.handleFormatWithAi())}),M(2,pe,1,0)(3,_e,1,0),o()()}if(a&2){let e=u();s(),_("disabled",e.pm_DS.userInputWizardSuggestLoading_$()||!e.rawText_$().trim()),s(),x(e.pm_DS.userInputWizardSuggestLoading_$()?2:3)}}function ce(a,l){if(a&1&&(r(0,"option",24),d(1),o()),a&2){let e=l.$implicit;_("value",e),s(),y(e)}}function me(a,l){if(a&1){let e=S();r(0,"div",28)(1,"label",20),d(2,"Refine instruction (optional)"),o(),r(3,"textarea",30),p("ngModelChange",function(t){m(e);let n=u(2);return g(n.handleRefinementInput(t))}),d(4," "),o(),r(5,"button",31),p("click",function(){m(e);let t=u(2);return g(t.handleRefine())}),d(6," Refine with AI "),o()()}if(a&2){let e=u(2);s(3),_("ngModel",e.refinement_$()),s(2),_("disabled",e.pm_DS.userInputWizardSuggestLoading_$()||!e.refinement_$().trim())}}function ge(a,l){a&1&&d(0," Saving\u2026 ")}function he(a,l){a&1&&d(0," Finalize (USER-INPUT.md + database) ")}function fe(a,l){if(a&1){let e=S();r(0,"div",10)(1,"h4",17),d(2,"Preview (last server response)"),o(),r(3,"pre",18),d(4),o(),r(5,"div",19)(6,"div",4)(7,"label",20),d(8,"Type"),o(),r(9,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editType_$.set(t),g(n.handleEditorChange())}),o()(),r(10,"div",4)(11,"label",20),d(12,"Code"),o(),r(13,"input",22),p("ngModelChange",function(t){m(e);let n=u();return n.editCode_$.set(t),g(n.handleEditorChange())}),o()(),r(14,"div",4)(15,"label",20),d(16,"Priority"),o(),r(17,"select",23),p("ngModelChange",function(t){m(e);let n=u();return n.editPriority_$.set(t),g(n.handleEditorChange())}),T(18,ce,2,2,"option",24,I),o()(),r(20,"div",4)(21,"label",20),d(22,"Phase"),o(),r(23,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editPhase_$.set(t),g(n.handleEditorChange())}),o()(),r(24,"div",25)(25,"label",20),d(26,"Area"),o(),r(27,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editArea_$.set(t),g(n.handleEditorChange())}),o()(),r(28,"div",25)(29,"label",20),d(30,"Title (DB)"),o(),r(31,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editTitle_$.set(t),g(n.handleEditorChange())}),o()(),r(32,"div",25)(33,"label",20),d(34,"Details (one line)"),o(),r(35,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editDetails_$.set(t),g(n.handleEditorChange())}),o()(),r(36,"div",4)(37,"label",20),d(38,"E1"),o(),r(39,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editE1_$.set(t),g(n.handleEditorChange())}),o()(),r(40,"div",4)(41,"label",20),d(42,"E2"),o(),r(43,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editE2_$.set(t),g(n.handleEditorChange())}),o()(),r(44,"div",4)(45,"label",20),d(46,"E3"),o(),r(47,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editE3_$.set(t),g(n.handleEditorChange())}),o()(),r(48,"div",4)(49,"label",20),d(50,"E4"),o(),r(51,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editE4_$.set(t),g(n.handleEditorChange())}),o()()(),r(52,"label",26)(53,"input",27),p("ngModelChange",function(t){m(e);let n=u();return g(n.addToBacklog_$.set(t))}),o(),d(54," Also append matching line to BACKLOG.md "),o(),M(55,me,7,2,"div",28),r(56,"button",29),p("click",function(){m(e);let t=u();return g(t.handleFinalize())}),M(57,ge,1,0)(58,he,1,0),o()()}if(a&2){let e=u();s(4),y(e.previewMarkdown_$()),s(5),_("ngModel",e.editType_$()),s(4),_("ngModel",e.editCode_$()),s(4),_("ngModel",e.editPriority_$()),s(),P(e.priorities),s(5),_("ngModel",e.editPhase_$()),s(4),_("ngModel",e.editArea_$()),s(4),_("ngModel",e.editTitle_$()),s(4),_("ngModel",e.editDetails_$()),s(4),_("ngModel",e.editE1_$()),s(4),_("ngModel",e.editE2_$()),s(4),_("ngModel",e.editE3_$()),s(4),_("ngModel",e.editE4_$()),s(2),_("ngModel",e.addToBacklog_$()),s(2),x(e.skipSuggestMode?-1:55),s(),_("disabled",e.pm_DS.userInputWizardFinalizeLoading_$()||!e.rawText_$().trim()),s(),x(e.pm_DS.userInputWizardFinalizeLoading_$()?57:58)}}var xe=400,Ve=(()=>{class a{projectId="";isEmbeddedInModal=!1;wizardCompleted=new j;wizardFinalizeSuccess=new j;quickInputDraftId=null;initialRawContent="";skipSuggestMode=!1;initialStagingPriority=void 0;pm_DS=E(ee);suggestErrorText_$=L(()=>{let e=this.pm_DS.userInputWizardSuggestError_$();return e?a.formatHttpError(e):null});finalizeErrorText_$=L(()=>{let e=this.pm_DS.userInputWizardFinalizeError_$();return e?a.formatHttpError(e):null});rawText_$=c("");refinement_$=c("");wizardStep_$=c(0);previewMarkdown_$=c("");addToBacklog_$=c(!1);editType_$=c("");editCode_$=c("");editPriority_$=c(f.medium);editArea_$=c("");editPhase_$=c("MVP1");editDetails_$=c("");editTitle_$=c("");editE1_$=c("\u274C");editE2_$=c("\u274C");editE3_$=c("\u274C");editE4_$=c("\u274C");priorities=Object.values(f);draftTimer;ngOnChanges(e){(e.projectId!==void 0&&e.projectId.currentValue||e.quickInputDraftId!==void 0||e.initialRawContent!==void 0||e.skipSuggestMode!==void 0||e.initialStagingPriority!==void 0)&&this.projectId&&this.applyWizardBootstrapFromInputs()}ngOnDestroy(){this.draftTimer!==void 0&&clearTimeout(this.draftTimer)}handleVoiceTranscript(e){let i=e?.trim()??"";i.length&&(this.rawText_$.update(t=>t?`${t}
2
2
  ${i}`:i),this.scheduleDraftSave())}handleFormatWithAi(){return b(this,null,function*(){let e=this.rawText_$().trim();if(!(!e.length||!this.projectId))try{let i=yield this.pm_DS.suggestUserInputFormat(this.projectId,{rawText:e});this.previewMarkdown_$.set(i.previewMarkdown),this.applySuggestionToEditors(i.suggestion),this.wizardStep_$.set(1),this.scheduleDraftSave()}catch{}})}handleRefine(){return b(this,null,function*(){let e=this.rawText_$().trim(),i=this.refinement_$().trim();if(!e.length||!i.length||!this.projectId)return;let t=this.buildSuggestionFromEditors();if(t)try{let n=yield this.pm_DS.suggestUserInputFormat(this.projectId,{rawText:e,refinementInstruction:i,previousSuggestion:t});this.previewMarkdown_$.set(n.previewMarkdown),this.applySuggestionToEditors(n.suggestion),this.scheduleDraftSave()}catch{}})}handleFinalize(){return b(this,null,function*(){let e=this.rawText_$().trim();if(!(!e.length||!this.projectId))try{let i=yield this.pm_DS.finalizeUserInputWizard(this.projectId,{rawContent:e,type:this.editType_$().trim(),code:this.editCode_$().trim(),priority:this.editPriority_$().trim(),phase:this.editPhase_$().trim(),details:this.editDetails_$().trim(),area:this.editArea_$().trim()||void 0,title:this.editTitle_$().trim()||void 0,e1:this.editE1_$().trim(),e2:this.editE2_$().trim(),e3:this.editE3_$().trim(),e4:this.editE4_$().trim(),addToBacklog:this.addToBacklog_$()});w.clear(this.projectId,this.quickInputDraftId),this.resetWizardState(),this.wizardFinalizeSuccess.emit(i),this.wizardCompleted.emit()}catch{}})}handleDiscardDraft(){this.projectId&&w.clear(this.projectId,this.quickInputDraftId),this.resetWizardState(),this.skipSuggestMode&&this.wizardStep_$.set(1)}handleRawTextInput(e){this.rawText_$.set(e),this.scheduleDraftSave()}handleRefinementInput(e){this.refinement_$.set(e),this.scheduleDraftSave()}handleEditorChange(){this.scheduleDraftSave()}resetWizardState(){this.rawText_$.set(""),this.refinement_$.set(""),this.wizardStep_$.set(0),this.previewMarkdown_$.set(""),this.addToBacklog_$.set(!1),this.editType_$.set(""),this.editCode_$.set(""),this.editPriority_$.set(f.medium),this.editArea_$.set(""),this.editPhase_$.set("MVP1"),this.editDetails_$.set(""),this.editTitle_$.set(""),this.editE1_$.set("\u274C"),this.editE2_$.set("\u274C"),this.editE3_$.set("\u274C"),this.editE4_$.set("\u274C")}applySuggestionToEditors(e){this.editType_$.set(e.type.trim()),this.editCode_$.set(e.code.trim()),this.editPriority_$.set(e.priority.trim().toLowerCase()),this.editArea_$.set(e.area?.trim()??""),this.editPhase_$.set(e.phase.trim()),this.editDetails_$.set(e.details.trim()),this.editTitle_$.set(e.title?.trim()??""),this.editE1_$.set(e.e1.trim()),this.editE2_$.set(e.e2.trim()),this.editE3_$.set(e.e3.trim()),this.editE4_$.set(e.e4.trim())}buildSuggestionFromEditors(){let e=this.editType_$().trim(),i=this.editCode_$().trim();return!e.length||!i.length?null:{type:e,code:i,priority:this.editPriority_$().trim(),phase:this.editPhase_$().trim(),details:this.editDetails_$().trim(),e1:this.editE1_$().trim(),e2:this.editE2_$().trim(),e3:this.editE3_$().trim(),e4:this.editE4_$().trim(),area:this.editArea_$().trim()||void 0,title:this.editTitle_$().trim()||void 0}}applyWizardBootstrapFromInputs(){if(!this.projectId)return;let e=w.load(this.projectId,this.quickInputDraftId);if(e){this.rawText_$.set(e.rawText),this.refinement_$.set(e.refinementDraft);let t=e.wizardStep;if(this.skipSuggestMode&&(t=t<1?1:t),this.wizardStep_$.set(t),e.suggestionJson)try{let n=JSON.parse(e.suggestionJson);a.isSuggestionShape(n)&&this.applySuggestionToEditors(n)}catch{}this.previewMarkdown_$.set(e.previewMarkdown??""),this.scheduleDraftSave();return}this.resetWizardState();let i=this.initialRawContent?.trim()??"";i.length>0&&this.rawText_$.set(i),this.skipSuggestMode&&this.wizardStep_$.set(1),this.initialStagingPriority!==void 0&&this.editPriority_$.set(this.initialStagingPriority),this.scheduleDraftSave()}static formatHttpError(e){if(e instanceof Z){let i=a.readNestedErrorString(e.error);return i||e.message}return e instanceof Error?e.message:String(e)}static readNestedErrorString(e){if(!q.isRecord(e))return null;let i=e.error;return typeof i=="string"?i:null}static isSuggestionShape(e){return q.isRecord(e)?typeof e.type=="string"&&typeof e.code=="string"&&typeof e.priority=="string"&&typeof e.phase=="string"&&typeof e.details=="string"&&typeof e.e1=="string"&&typeof e.e2=="string"&&typeof e.e3=="string"&&typeof e.e4=="string":!1}scheduleDraftSave(){this.projectId&&(this.draftTimer!==void 0&&clearTimeout(this.draftTimer),this.draftTimer=setTimeout(()=>{this.persistDraft()},xe))}persistDraft(){if(!this.projectId)return;let e=this.buildSuggestionFromEditors(),i={rawText:this.rawText_$(),refinementDraft:this.refinement_$(),wizardStep:this.wizardStep_$(),suggestionJson:e?JSON.stringify(e):null,previewMarkdown:this.previewMarkdown_$(),updatedAt:new Date().toISOString()};w.save(this.projectId,i,this.quickInputDraftId)}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=v({type:a,selectors:[["app-pm-user-input-wizard"]],inputs:{projectId:"projectId",isEmbeddedInModal:"isEmbeddedInModal",quickInputDraftId:"quickInputDraftId",initialRawContent:"initialRawContent",skipSuggestMode:"skipSuggestMode",initialStagingPriority:"initialStagingPriority"},outputs:{wizardCompleted:"wizardCompleted",wizardFinalizeSuccess:"wizardFinalizeSuccess"},standalone:!0,features:[K,z],decls:17,vars:9,consts:[[1,"flex","items-center","justify-between","gap-2","flex-wrap"],[1,"flex","justify-end"],[1,"text-xs","text-neutral-500"],[1,"rounded","border","border-red-800/50","bg-red-950/30","px-3","py-2","text-xs","text-red-300","whitespace-pre-wrap"],[1,"flex","flex-col","gap-1"],[1,"relative","pt-5"],[1,"text-xs","text-neutral-400","block","mb-1"],["rows","6",1,"w-full","bg-neutral-900","border","border-neutral-600","rounded","px-3","py-2","text-sm","text-neutral-100","placeholder:text-neutral-600","focus:outline-none","focus:border-ccapAccent","resize-y","min-h-[120px]",3,"ngModelChange","ngModel"],[1,"absolute","left-1/2","top-6","z-10","-translate-x-1/2","-translate-y-1/2",3,"transcriptReady"],[1,"flex","flex-wrap","gap-2"],[1,"border-t","border-neutral-700","pt-4","flex","flex-col","gap-3"],[1,"text-sm","font-semibold","text-neutral-200"],["type","button",1,"px-2","py-1","text-xs","text-neutral-500","hover:text-red-400","border","border-transparent","hover:border-red-900/50","rounded",3,"click"],[1,"text-xs","font-semibold","text-neutral-400"],[1,"text-[11px]","text-neutral-300","bg-neutral-950/80","border","border-neutral-700","rounded","p-2","max-h-32","overflow-auto","whitespace-pre-wrap","font-mono"],[1,"text-[11px]","text-neutral-300","bg-neutral-950/80","border","border-neutral-700","rounded","p-2","max-h-48","overflow-auto","whitespace-pre-wrap","font-mono"],["type","button",1,"px-4","py-2","border","border-ccapAccent","rounded","text-ccapAccent","text-sm","font-semibold","hover:bg-ccapAccent","hover:text-white","transition-colors","disabled:opacity-40",3,"click","disabled"],[1,"text-xs","font-semibold","text-neutral-400","uppercase","tracking-wide"],[1,"text-xs","text-neutral-300","bg-neutral-950/80","border","border-neutral-700","rounded","p-3","max-h-48","overflow-auto","whitespace-pre-wrap","font-mono"],[1,"grid","grid-cols-1","sm:grid-cols-2","gap-3"],[1,"text-xs","text-neutral-400"],["type","text",1,"bg-neutral-900","border","border-neutral-600","rounded","px-2","py-1.5","text-sm","text-neutral-100",3,"ngModelChange","ngModel"],["type","text",1,"bg-neutral-900","border","border-neutral-600","rounded","px-2","py-1.5","text-sm","font-mono","text-neonCyan",3,"ngModelChange","ngModel"],[1,"bg-neutral-900","border","border-neutral-600","rounded","px-2","py-1.5","text-sm","text-neutral-100",3,"ngModelChange","ngModel"],[3,"value"],[1,"flex","flex-col","gap-1","sm:col-span-2"],[1,"flex","items-center","gap-2","text-xs","text-neutral-400","cursor-pointer"],["type","checkbox",3,"ngModelChange","ngModel"],[1,"flex","flex-col","gap-2","border","border-neutral-700","rounded","p-3","bg-neutral-900/40"],["type","button",1,"px-4","py-2","bg-ccapAccent/20","border","border-ccapAccent","text-ccapAccent","text-sm","font-semibold","rounded","hover:bg-ccapAccent","hover:text-white","transition-colors","disabled:opacity-40",3,"click","disabled"],["rows","2",1,"bg-neutral-900","border","border-neutral-600","rounded","px-2","py-1.5","text-sm","text-neutral-100","resize-y",3,"ngModelChange","ngModel"],["type","button",1,"self-start","px-3","py-1.5","border","border-neutral-500","rounded","text-neutral-300","text-xs","font-semibold","hover:border-ccapAccent","hover:text-ccapAccent","disabled:opacity-40",3,"click","disabled"]],template:function(i,t){i&1&&(r(0,"div"),M(1,re,5,0,"div",0)(2,oe,3,0,"div",1),r(3,"p",2),d(4," Raw text is never rewritten by the model. AI suggests metadata only. Drafts are saved in this browser (localStorage). "),o(),M(5,ae,2,1,"div",3)(6,se,2,1,"div",3)(7,de,5,1,"div",4)(8,le,5,1,"div",4),r(9,"div",5)(10,"label",6),d(11,"Raw user input"),o(),r(12,"textarea",7),p("ngModelChange",function(h){return t.handleRawTextInput(h)}),d(13," "),o(),r(14,"app-ccap-voice-record-button",8),p("transcriptReady",function(h){return t.handleVoiceTranscript(h)}),o()(),M(15,ue,4,2,"div",9)(16,fe,59,16,"div",10),o()),i&2&&(H("class","flex flex-col gap-4"+(t.isEmbeddedInModal?"":" rounded-lg bg-neutral-800/50 border border-ccapAccent/30 p-4")),s(),x(t.isEmbeddedInModal?2:1),s(4),x(t.suggestErrorText_$()?5:-1),s(),x(t.finalizeErrorText_$()?6:-1),s(),x(t.pm_DS.userInputWizardLastLlmSystemPrompt_$()?7:-1),s(),x(t.pm_DS.userInputWizardLastLlmUserMessage_$()?8:-1),s(4),_("ngModel",t.rawText_$()),s(3),x(t.skipSuggestMode?-1:15),s(),x(t.wizardStep_$()>=1||t.skipSuggestMode?16:-1))},dependencies:[D,R,U,B,k,G,A,V,W,Y],encapsulation:2})}return a})();function Ce(a,l){if(a&1&&(r(0,"option",8),d(1),o()),a&2){let e=l.$implicit;_("ngValue",e),s(),y(e)}}var Je=(()=>{class a{userInput_DS=E(Q);isOpen=C(!1);isBusy=C(!1);modalZIndex=C("50");prefillTitle=C("");prefillDetails=C("");prefillPriority=C(void 0);closed=O();submitted=O();title_$=c("");details_$=c("");area_$=c("");phase_$=c("MVP1");priority_$=c(f.medium);priorityChoices=[f.low,f.medium,f.high,f.urgent];constructor(){N(()=>{if(this.isOpen()){let e=this.prefillTitle().trim(),i=this.prefillDetails().trim();this.title_$.set(e),this.details_$.set(i),this.area_$.set(""),this.phase_$.set("MVP1");let t=this.prefillPriority();this.priority_$.set(t!==void 0?t:f.medium)}}),N(()=>{this.isOpen()?this.userInput_DS.pushQuickInputOverlayAreaContextByOverlayId(J.pmManualBugModal):this.userInput_DS.popQuickInputOverlayAreaContext(J.pmManualBugModal)},{allowSignalWrites:!0})}handleClose(){this.closed.emit()}handleSubmit(){let e=this.title_$().trim(),i=this.details_$().trim();if(!e.length||!i.length)return;let t=this.area_$().trim(),n=this.phase_$().trim(),h={title:e,details:i,priority:this.priority_$(),phase:n.length>0?n:"MVP1"};t.length>0&&(h.area=t),this.submitted.emit(h)}handleTitleInput(e){this.title_$.set(e)}handleDetailsInput(e){this.details_$.set(e)}handleAreaInput(e){this.area_$.set(e)}handlePhaseInput(e){this.phase_$.set(e)}handlePriorityChange(e){if(typeof e=="string"){let i=a.parsePriority(e);i&&this.priority_$.set(i);return}this.priority_$.set(e)}static parsePriority(e){let i=e.trim().toLowerCase(),t=Object.values(f);for(let n of t)if(n===i)return n}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=v({type:a,selectors:[["app-pm-manual-bug-modal"]],inputs:{isOpen:[1,"isOpen"],isBusy:[1,"isBusy"],modalZIndex:[1,"modalZIndex"],prefillTitle:[1,"prefillTitle"],prefillDetails:[1,"prefillDetails"],prefillPriority:[1,"prefillPriority"]},outputs:{closed:"closed",submitted:"submitted"},standalone:!0,features:[z],decls:30,vars:12,consts:[["title","New bug (manual)",3,"closed","isOpen","maxWidth","zIndex","headerBorderClass"],[1,"flex","flex-col","gap-3","text-sm","text-neutral-200"],[1,"flex","flex-col","gap-1"],[1,"text-xs","text-neutral-500"],["type","text",1,"w-full","rounded","border","border-neutral-600","bg-neutral-900","px-2","py-1.5","text-neutral-100",3,"ngModelChange","ngModel"],["rows","6",1,"w-full","rounded","border","border-neutral-600","bg-neutral-900","px-2","py-1.5","text-neutral-100","font-mono","text-xs",3,"ngModelChange","ngModel"],[1,"grid","grid-cols-1","sm:grid-cols-2","gap-3"],[1,"rounded","border","border-neutral-600","bg-neutral-900","px-2","py-1.5","text-neutral-100",3,"ngModelChange","ngModel"],[3,"ngValue"],["modal-footer","",1,"flex","justify-end","gap-2","px-4","py-3","border-t","border-neutral-800","shrink-0"],["type","button",1,"px-3","py-1.5","text-xs","font-semibold","rounded","border","border-neutral-600","text-neutral-300","hover:border-neutral-500","disabled:opacity-40","disabled:pointer-events-none",3,"click","disabled"],["type","button",1,"px-3","py-1.5","text-xs","font-semibold","rounded","border","border-ccapAccent","text-ccapAccent","hover:bg-ccapAccent/10","disabled:opacity-40","disabled:pointer-events-none",3,"click","disabled"]],template:function(i,t){i&1&&(r(0,"app-s-modal",0),p("closed",function(){return t.handleClose()}),r(1,"div",1)(2,"label",2)(3,"span",3),d(4,"Title"),o(),r(5,"input",4),p("ngModelChange",function(h){return t.handleTitleInput(h)}),o()(),r(6,"label",2)(7,"span",3),d(8,"Details (raw \u2014 stored verbatim)"),o(),r(9,"textarea",5),p("ngModelChange",function(h){return t.handleDetailsInput(h)}),o()(),r(10,"div",6)(11,"label",2)(12,"span",3),d(13,"Priority"),o(),r(14,"select",7),p("ngModelChange",function(h){return t.handlePriorityChange(h)}),T(15,Ce,2,2,"option",8,I),o()(),r(17,"label",2)(18,"span",3),d(19,"Phase"),o(),r(20,"input",4),p("ngModelChange",function(h){return t.handlePhaseInput(h)}),o()()(),r(21,"label",2)(22,"span",3),d(23,"Area (optional)"),o(),r(24,"input",4),p("ngModelChange",function(h){return t.handleAreaInput(h)}),o()()(),r(25,"div",9)(26,"button",10),p("click",function(){return t.handleClose()}),d(27," Cancel "),o(),r(28,"button",11),p("click",function(){return t.handleSubmit()}),d(29),o()()()),i&2&&(_("isOpen",t.isOpen())("maxWidth","lg")("zIndex",t.modalZIndex())("headerBorderClass","border-neonRed/40"),s(5),_("ngModel",t.title_$()),s(4),_("ngModel",t.details_$()),s(5),_("ngModel",t.priority_$()),s(),P(t.priorityChoices),s(5),_("ngModel",t.phase_$()),s(4),_("ngModel",t.area_$()),s(2),_("disabled",t.isBusy()),s(2),_("disabled",t.isBusy()||!t.title_$().trim().length||!t.details_$().trim().length),s(),$(" ",t.isBusy()?"Creating\u2026":"Create bug"," "))},dependencies:[D,R,U,B,k,A,V,W,X],encapsulation:2})}return a})();export{Je as a,Ve as b};
3
- //# sourceMappingURL=chunk-RO7BDRAB.js.map
3
+ //# sourceMappingURL=chunk-EFH7L2PM.js.map
@@ -1,2 +1,2 @@
1
- import{I as a}from"./chunk-QXM45TNB.js";import{C as n,p as t,xb as o,y as i}from"./chunk-TBMJSIBB.js";var m=(()=>{class r{baseUrl=`${a.api.baseUrl}/setup`;http=n(o);getSetupStatus(){return t(this.http.get(`${this.baseUrl}/status`))}getVaultStatus(){return t(this.http.get(`${this.baseUrl}/vault-status`))}getVaultKeyGenerate(){return t(this.http.get(`${this.baseUrl}/vault-key/generate`))}postVaultKey(e){return t(this.http.post(`${this.baseUrl}/vault-key`,{vaultKey:e}))}postSetup(e){return t(this.http.post(this.baseUrl,e))}putSetupConfig(e){let s=`${a.api.baseUrl}/settings`;return t(this.http.put(`${s}/config`,e))}static \u0275fac=function(s){return new(s||r)};static \u0275prov=i({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();export{m as a};
2
- //# sourceMappingURL=chunk-EHNLVVAY.js.map
1
+ import{I as a}from"./chunk-Y3DARUXQ.js";import{C as n,p as t,xb as o,y as i}from"./chunk-TBMJSIBB.js";var m=(()=>{class r{baseUrl=`${a.api.baseUrl}/setup`;http=n(o);getSetupStatus(){return t(this.http.get(`${this.baseUrl}/status`))}getVaultStatus(){return t(this.http.get(`${this.baseUrl}/vault-status`))}getVaultKeyGenerate(){return t(this.http.get(`${this.baseUrl}/vault-key/generate`))}postVaultKey(e){return t(this.http.post(`${this.baseUrl}/vault-key`,{vaultKey:e}))}postSetup(e){return t(this.http.post(this.baseUrl,e))}putSetupConfig(e){let s=`${a.api.baseUrl}/settings`;return t(this.http.put(`${s}/config`,e))}static \u0275fac=function(s){return new(s||r)};static \u0275prov=i({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();export{m as a};
2
+ //# sourceMappingURL=chunk-EG7MEKVY.js.map
@@ -1,2 +1,2 @@
1
- import{h as d,j as M}from"./chunk-XEGOHOPX.js";import{p as F}from"./chunk-QXM45TNB.js";import{C as u,D as f,Fa as y,Ga as w,L as h,Ta as S,U as o,Z as r,aa as l,da as b,fa as k,ga as x,h as E,hb as a,ia as _,ja as c,k as m,la as C,qa as s,ra as p,sa as g,ub as $,va as T,wa as v}from"./chunk-TBMJSIBB.js";var z=E(F());function O(i,B){if(i&1&&(s(0,"span",4),y(1),p()),i&2){let e=v();_("text-green-400",e.feedbackOk_$())("text-red-400",!e.feedbackOk_$()),r(),w(e.feedbackText_$())}}var q=(()=>{class i{content=o.required();buttonTitle=o("M\xE1sol\xE1s v\xE1g\xF3lapra");size=o("sm");feedbackText_$=l("");feedbackOk_$=l(!0);hasFeedback_$=a(()=>this.feedbackText_$().length>0);sizeClass_$=a(()=>this.size()==="md"?"p-2 min-h-[44px] min-w-[44px]":"p-1.5 gt-xs:p-2 min-h-[32px] min-w-[32px] gt-xs:min-h-[36px] gt-xs:min-w-[36px]");iconSizeClass_$=a(()=>this.size()==="md"?"h-5 w-5":"h-4 w-4");globalError_CS=u(M);static feedbackResetMs=2*z.second;feedbackTimer=null;handleCopy(){return m(this,null,function*(){let e=this.content();if(!e)return;let t=yield this.globalError_CS.copyToClipboard(e);t.ok?this.showFeedback("M\xE1solva!",!0):(this.showFeedback("Sikertelen",!1),this.globalError_CS.reportErrorOnly({message:d.getErrorMessageForDisplay(t.error),source:"copy-button",stack:d.getStackForReport(t.error)}))})}showFeedback(e,t){this.feedbackTimer!==null&&clearTimeout(this.feedbackTimer),this.feedbackText_$.set(e),this.feedbackOk_$.set(t),this.feedbackTimer=setTimeout(()=>{this.feedbackText_$.set(""),this.feedbackTimer=null},i.feedbackResetMs)}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=f({type:i,selectors:[["app-s-copy-button"]],hostAttrs:[1,"inline-flex","items-center","gap-1.5"],inputs:{content:[1,"content"],buttonTitle:[1,"buttonTitle"],size:[1,"size"]},standalone:!0,features:[S],decls:4,vars:7,consts:[["type","button",3,"click","title"],["xmlns","http://www.w3.org/2000/svg","fill","none","viewBox","0 0 24 24","stroke","currentColor","aria-hidden","true"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"],[1,"text-[11px]","gt-xs:text-xs","shrink-0",3,"text-green-400","text-red-400"],[1,"text-[11px]","gt-xs:text-xs","shrink-0"]],template:function(t,n){t&1&&(s(0,"button",0),T("click",function(){return n.handleCopy()}),h(),s(1,"svg",1),g(2,"path",2),p()(),b(3,O,2,5,"span",3)),t&2&&(c(n.sizeClass_$()+" flex items-center justify-center rounded text-neutral-400 hover:text-neutral-200 hover:bg-neutral-700 transition-colors shrink-0"),x("title",n.buttonTitle()),k("aria-label",n.buttonTitle()),r(),c(n.iconSizeClass_$()),r(2),C(n.hasFeedback_$()?3:-1))},dependencies:[$],encapsulation:2})}return i})();export{q as a};
2
- //# sourceMappingURL=chunk-SC33BNLI.js.map
1
+ import{h as d,j as M}from"./chunk-KNTOPF7C.js";import{p as F}from"./chunk-Y3DARUXQ.js";import{C as u,D as f,Fa as y,Ga as w,L as h,Ta as S,U as o,Z as r,aa as l,da as b,fa as k,ga as x,h as E,hb as a,ia as _,ja as c,k as m,la as C,qa as s,ra as p,sa as g,ub as $,va as T,wa as v}from"./chunk-TBMJSIBB.js";var z=E(F());function O(i,B){if(i&1&&(s(0,"span",4),y(1),p()),i&2){let e=v();_("text-green-400",e.feedbackOk_$())("text-red-400",!e.feedbackOk_$()),r(),w(e.feedbackText_$())}}var q=(()=>{class i{content=o.required();buttonTitle=o("M\xE1sol\xE1s v\xE1g\xF3lapra");size=o("sm");feedbackText_$=l("");feedbackOk_$=l(!0);hasFeedback_$=a(()=>this.feedbackText_$().length>0);sizeClass_$=a(()=>this.size()==="md"?"p-2 min-h-[44px] min-w-[44px]":"p-1.5 gt-xs:p-2 min-h-[32px] min-w-[32px] gt-xs:min-h-[36px] gt-xs:min-w-[36px]");iconSizeClass_$=a(()=>this.size()==="md"?"h-5 w-5":"h-4 w-4");globalError_CS=u(M);static feedbackResetMs=2*z.second;feedbackTimer=null;handleCopy(){return m(this,null,function*(){let e=this.content();if(!e)return;let t=yield this.globalError_CS.copyToClipboard(e);t.ok?this.showFeedback("M\xE1solva!",!0):(this.showFeedback("Sikertelen",!1),this.globalError_CS.reportErrorOnly({message:d.getErrorMessageForDisplay(t.error),source:"copy-button",stack:d.getStackForReport(t.error)}))})}showFeedback(e,t){this.feedbackTimer!==null&&clearTimeout(this.feedbackTimer),this.feedbackText_$.set(e),this.feedbackOk_$.set(t),this.feedbackTimer=setTimeout(()=>{this.feedbackText_$.set(""),this.feedbackTimer=null},i.feedbackResetMs)}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=f({type:i,selectors:[["app-s-copy-button"]],hostAttrs:[1,"inline-flex","items-center","gap-1.5"],inputs:{content:[1,"content"],buttonTitle:[1,"buttonTitle"],size:[1,"size"]},standalone:!0,features:[S],decls:4,vars:7,consts:[["type","button",3,"click","title"],["xmlns","http://www.w3.org/2000/svg","fill","none","viewBox","0 0 24 24","stroke","currentColor","aria-hidden","true"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"],[1,"text-[11px]","gt-xs:text-xs","shrink-0",3,"text-green-400","text-red-400"],[1,"text-[11px]","gt-xs:text-xs","shrink-0"]],template:function(t,n){t&1&&(s(0,"button",0),T("click",function(){return n.handleCopy()}),h(),s(1,"svg",1),g(2,"path",2),p()(),b(3,O,2,5,"span",3)),t&2&&(c(n.sizeClass_$()+" flex items-center justify-center rounded text-neutral-400 hover:text-neutral-200 hover:bg-neutral-700 transition-colors shrink-0"),x("title",n.buttonTitle()),k("aria-label",n.buttonTitle()),r(),c(n.iconSizeClass_$()),r(2),C(n.hasFeedback_$()?3:-1))},dependencies:[$],encapsulation:2})}return i})();export{q as a};
2
+ //# sourceMappingURL=chunk-EGWEYXZW.js.map