@futdevpro/ccap 1.1.2771 → 1.1.2863

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/client-dist/{agent-instances.module-I4BSGDNA.js → agent-instances.module-SRVXVWB4.js} +2 -2
  2. package/client-dist/{ca.module-4FWP2XY4.js → ca.module-ZAYCRAK6.js} +2 -2
  3. package/client-dist/cc-usage-dashboard.component-TNMEIWMI.js +2 -0
  4. package/client-dist/cc-usage-dashboard.component-TNMEIWMI.js.map +7 -0
  5. package/client-dist/{cc.module-G2GSNVFJ.js → cc.module-BF2AOAIM.js} +2 -2
  6. package/client-dist/{chunk-WBMES66O.js → chunk-23GMPVB5.js} +2 -2
  7. package/client-dist/{chunk-DVGKMXHM.js → chunk-2DJBCAHJ.js} +2 -2
  8. package/client-dist/{chunk-LUIH5IH4.js → chunk-2LOFMRCO.js} +2 -2
  9. package/client-dist/{chunk-6VSHLGVD.js → chunk-2X5MWPDN.js} +2 -2
  10. package/client-dist/{chunk-HDPOKOM5.js → chunk-2Y7GYEOT.js} +2 -2
  11. package/client-dist/{chunk-WYRNU54S.js → chunk-34XFCTVF.js} +2 -2
  12. package/client-dist/{chunk-E6RJBEUN.js → chunk-4RT7LOTQ.js} +2 -2
  13. package/client-dist/{chunk-NWNWKLLW.js → chunk-4TEHGQ5C.js} +2 -2
  14. package/client-dist/{chunk-7DKTD4P6.js → chunk-4XEPGDZH.js} +2 -2
  15. package/client-dist/{chunk-7NPTBX4Y.js → chunk-52JG2IIG.js} +2 -2
  16. package/client-dist/{chunk-JVO3EHGB.js → chunk-77HGZO43.js} +2 -2
  17. package/client-dist/{chunk-YURXOU4U.js → chunk-7JFONJTJ.js} +2 -2
  18. package/client-dist/{chunk-7AQGRHMA.js → chunk-7JW45JC5.js} +2 -2
  19. package/client-dist/{chunk-7V3LRQAZ.js → chunk-7MSQD5HV.js} +2 -2
  20. package/client-dist/{chunk-64BJ5ZPJ.js → chunk-AFF37OKI.js} +2 -2
  21. package/client-dist/{chunk-XT2TWSB3.js → chunk-B7WQ5TK3.js} +2 -2
  22. package/client-dist/{chunk-ZVNHBXJU.js → chunk-CBIUSRE5.js} +2 -2
  23. package/client-dist/{chunk-YJEHCUWB.js → chunk-CUUDVYOC.js} +2 -2
  24. package/client-dist/{chunk-ZQ4GFPEN.js → chunk-DHIVAX2C.js} +2 -2
  25. package/client-dist/{chunk-ASQEQSVO.js → chunk-DU3IYPGM.js} +2 -2
  26. package/client-dist/{chunk-IPOJA4NQ.js → chunk-DUN7ICUI.js} +2 -2
  27. package/client-dist/{chunk-DI7UBKC5.js → chunk-DZ74YN25.js} +2 -2
  28. package/client-dist/{chunk-23UH5S6I.js → chunk-EDQWK2Q5.js} +2 -2
  29. package/client-dist/{chunk-P7FDJL6S.js → chunk-EIT3LSQO.js} +2 -2
  30. package/client-dist/{chunk-CDKFHI2N.js → chunk-ELFCSLIP.js} +2 -2
  31. package/client-dist/{chunk-CDKFHI2N.js.map → chunk-ELFCSLIP.js.map} +1 -1
  32. package/client-dist/{chunk-WE3IF6CE.js → chunk-EMVGFT6L.js} +2 -2
  33. package/client-dist/{chunk-AVBSYCMH.js → chunk-EUY2HZZV.js} +2 -2
  34. package/client-dist/{chunk-MZ3LRP25.js → chunk-EZNIJZBL.js} +2 -2
  35. package/client-dist/{chunk-KCEYLL24.js → chunk-FYXUOXRP.js} +2 -2
  36. package/client-dist/{chunk-X2KATA6U.js → chunk-GODWUWRO.js} +2 -2
  37. package/client-dist/{chunk-WWZOAP46.js → chunk-HSAGX22H.js} +2 -2
  38. package/client-dist/{chunk-WHRKP7CF.js → chunk-I6OBHW45.js} +8 -8
  39. package/client-dist/{chunk-WHRKP7CF.js.map → chunk-I6OBHW45.js.map} +1 -1
  40. package/client-dist/{chunk-6VFHL63I.js → chunk-L7PQ72ZG.js} +2 -2
  41. package/client-dist/{chunk-LYCDXEA4.js → chunk-NI4AZWY2.js} +2 -2
  42. package/client-dist/{chunk-FTVB36SW.js → chunk-O7U4KV25.js} +2 -2
  43. package/client-dist/{chunk-M7S54EWW.js → chunk-OIBDRASW.js} +2 -2
  44. package/client-dist/{chunk-737N2QOC.js → chunk-PZMEVMSF.js} +2 -2
  45. package/client-dist/{chunk-EXE26RV4.js → chunk-Q7GDEJL2.js} +2 -2
  46. package/client-dist/{chunk-T4N37SRP.js → chunk-QHLRSGQG.js} +2 -2
  47. package/client-dist/{chunk-CNZUTJXV.js → chunk-QTRIOR6Z.js} +2 -2
  48. package/client-dist/{chunk-4CUQDHAH.js → chunk-QUEQSNIS.js} +2 -2
  49. package/client-dist/{chunk-PQIHFZG3.js → chunk-SO3QL2U5.js} +2 -2
  50. package/client-dist/{chunk-C43VIJCY.js → chunk-SX22WHCZ.js} +2 -2
  51. package/client-dist/{chunk-2HJ74DSG.js → chunk-TUKCFE3B.js} +2 -2
  52. package/client-dist/{chunk-3FRNDMIC.js → chunk-UI6N7Y2P.js} +2 -2
  53. package/client-dist/{chunk-V42OZMBH.js → chunk-VLMQV3OI.js} +2 -2
  54. package/client-dist/{chunk-AKOD5HPA.js → chunk-VXJF6N32.js} +2 -2
  55. package/client-dist/{chunk-3FRRZGAB.js → chunk-WQIBGXGU.js} +2 -2
  56. package/client-dist/{chunk-7MOSEOQF.js → chunk-WYTT3YHQ.js} +2 -2
  57. package/client-dist/{chunk-5QT5PZ2B.js → chunk-X2FIFUXZ.js} +2 -2
  58. package/client-dist/{chunk-D2TMY72D.js → chunk-XSP7NLZB.js} +2 -2
  59. package/client-dist/{chunk-4HEHXXDL.js → chunk-XXO2YNDP.js} +2 -2
  60. package/client-dist/{chunk-SXP4YJY5.js → chunk-YGTNCGIU.js} +2 -2
  61. package/client-dist/{chunk-KYI7S4JV.js → chunk-YU32GIMP.js} +2 -2
  62. package/client-dist/{chunk-TKE33F7W.js → chunk-ZGWUDLYU.js} +2 -2
  63. package/client-dist/{chunk-BV54ST5B.js → chunk-ZMZ462V7.js} +2 -2
  64. package/client-dist/{consultant.module-ACB352FM.js → consultant.module-3PAIPMAH.js} +2 -2
  65. package/client-dist/{crd.module-XN253YIG.js → crd.module-PJO2UJEG.js} +2 -2
  66. package/client-dist/{dashboard.module-F43GCOJ6.js → dashboard.module-TJMYHTHX.js} +2 -2
  67. package/client-dist/{do.module-OHJBGMDT.js → do.module-SBE6P3B7.js} +2 -2
  68. package/client-dist/{document-library.module-WDOKDFTM.js → document-library.module-YH7IF4EP.js} +2 -2
  69. package/client-dist/{embedding-eval.module-ECD7QXRH.js → embedding-eval.module-STWWCUD7.js} +2 -2
  70. package/client-dist/{embedding-registry.module-764ZU57G.js → embedding-registry.module-XX6725DX.js} +2 -2
  71. package/client-dist/{err.module-R2ATIMSQ.js → err.module-SL2IYMTF.js} +2 -2
  72. package/client-dist/{feedback.module-ALGNJKOG.js → feedback.module-RMRL65YC.js} +2 -2
  73. package/client-dist/{host-runtime-mcp.module-Z3D57LRD.js → host-runtime-mcp.module-OJORUP2R.js} +2 -2
  74. package/client-dist/index.html +1 -1
  75. package/client-dist/{live-dev-pipeline.module-EHZPO24W.js → live-dev-pipeline.module-AMBMFVIH.js} +2 -2
  76. package/client-dist/{logs.module-QNMNIVLO.js → logs.module-3CQ6KLLB.js} +2 -2
  77. package/client-dist/{main-IYPXSS3O.js → main-RCFMPV3V.js} +5 -5
  78. package/client-dist/main-RCFMPV3V.js.map +7 -0
  79. package/client-dist/{master-control-remote-poc.module-BVKFRRZN.js → master-control-remote-poc.module-FD3E5JB7.js} +2 -2
  80. package/client-dist/{mobile-app.module-WUZGYVG6.js → mobile-app.module-LHVADRFV.js} +2 -2
  81. package/client-dist/{model-registry.module-WDC3LG3H.js → model-registry.module-ZTKOWGAN.js} +2 -2
  82. package/client-dist/{oc.module-K5COGX5N.js → oc.module-GLPSVTAT.js} +2 -2
  83. package/client-dist/{orc.module-EA5J6IGA.js → orc.module-BKMJC5YX.js} +2 -2
  84. package/client-dist/{project-management.module-UI36OFRI.js → project-management.module-QEIXJONY.js} +2 -2
  85. package/client-dist/project-source-routed.module-LSFQT5DK.js +2 -0
  86. package/client-dist/{scheduler.module-AOWDLFVH.js → scheduler.module-TD4G2WNF.js} +2 -2
  87. package/client-dist/{session.module-2FLZRRCE.js → session.module-YCITR6BG.js} +2 -2
  88. package/client-dist/{set.module-B7XMMVTO.js → set.module-JIWXIF2C.js} +2 -2
  89. package/client-dist/{setup.module-O26UCVEY.js → setup.module-ZWL33O7N.js} +2 -2
  90. package/client-dist/{terminals.module-LTV6MFUG.js → terminals.module-MKXQLASR.js} +2 -2
  91. package/client-dist/{voice-notes-poc.module-VXD3G3TV.js → voice-notes-poc.module-7LUIU7P5.js} +2 -2
  92. package/client-dist/{wfs.module-B2UGRMKL.js → wfs.module-2BMXPFAL.js} +2 -2
  93. package/package.json +1 -1
  94. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.d.ts +25 -3
  95. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.d.ts.map +1 -1
  96. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.js +23 -0
  97. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.js.map +1 -1
  98. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.spec.js +56 -3
  99. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.spec.js.map +1 -1
  100. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.d.ts +20 -0
  101. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.d.ts.map +1 -1
  102. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.js +98 -0
  103. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.js.map +1 -1
  104. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.d.ts +51 -0
  105. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.d.ts.map +1 -0
  106. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.js +72 -0
  107. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.js.map +1 -0
  108. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.spec.d.ts +2 -0
  109. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.spec.d.ts.map +1 -0
  110. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.spec.js +67 -0
  111. package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account-usage-state.data-model.spec.js.map +1 -0
  112. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.d.ts +33 -0
  113. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.d.ts.map +1 -1
  114. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.js +56 -0
  115. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.js.map +1 -1
  116. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.spec.js +38 -0
  117. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.spec.js.map +1 -1
  118. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.d.ts.map +1 -1
  119. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.js +29 -0
  120. package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.js.map +1 -1
  121. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.d.ts +6 -0
  122. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.d.ts.map +1 -1
  123. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.js +48 -1
  124. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.js.map +1 -1
  125. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.spec.js +55 -0
  126. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.spec.js.map +1 -1
  127. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.d.ts +53 -0
  128. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.d.ts.map +1 -0
  129. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.js +168 -0
  130. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.js.map +1 -0
  131. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.spec.d.ts +2 -0
  132. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.spec.d.ts.map +1 -0
  133. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.spec.js +156 -0
  134. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.spec.js.map +1 -0
  135. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.d.ts.map +1 -1
  136. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.js +9 -0
  137. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.js.map +1 -1
  138. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/claude-code.data-service.d.ts +1 -0
  139. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/claude-code.data-service.d.ts.map +1 -1
  140. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/claude-code.data-service.js +1 -0
  141. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/claude-code.data-service.js.map +1 -1
  142. package/server/build/src/_modules/messaging/_collections/consts/msg.const.d.ts +17 -0
  143. package/server/build/src/_modules/messaging/_collections/consts/msg.const.d.ts.map +1 -1
  144. package/server/build/src/_modules/messaging/_collections/consts/msg.const.js +19 -1
  145. package/server/build/src/_modules/messaging/_collections/consts/msg.const.js.map +1 -1
  146. package/server/build/src/app.server.d.ts +2 -8
  147. package/server/build/src/app.server.d.ts.map +1 -1
  148. package/server/build/src/app.server.js +6 -14
  149. package/server/build/src/app.server.js.map +1 -1
  150. package/client-dist/main-IYPXSS3O.js.map +0 -7
  151. package/client-dist/project-source-routed.module-ADAJCFPE.js +0 -2
  152. /package/client-dist/{agent-instances.module-I4BSGDNA.js.map → agent-instances.module-SRVXVWB4.js.map} +0 -0
  153. /package/client-dist/{ca.module-4FWP2XY4.js.map → ca.module-ZAYCRAK6.js.map} +0 -0
  154. /package/client-dist/{cc.module-G2GSNVFJ.js.map → cc.module-BF2AOAIM.js.map} +0 -0
  155. /package/client-dist/{chunk-WBMES66O.js.map → chunk-23GMPVB5.js.map} +0 -0
  156. /package/client-dist/{chunk-DVGKMXHM.js.map → chunk-2DJBCAHJ.js.map} +0 -0
  157. /package/client-dist/{chunk-LUIH5IH4.js.map → chunk-2LOFMRCO.js.map} +0 -0
  158. /package/client-dist/{chunk-6VSHLGVD.js.map → chunk-2X5MWPDN.js.map} +0 -0
  159. /package/client-dist/{chunk-HDPOKOM5.js.map → chunk-2Y7GYEOT.js.map} +0 -0
  160. /package/client-dist/{chunk-WYRNU54S.js.map → chunk-34XFCTVF.js.map} +0 -0
  161. /package/client-dist/{chunk-E6RJBEUN.js.map → chunk-4RT7LOTQ.js.map} +0 -0
  162. /package/client-dist/{chunk-NWNWKLLW.js.map → chunk-4TEHGQ5C.js.map} +0 -0
  163. /package/client-dist/{chunk-7DKTD4P6.js.map → chunk-4XEPGDZH.js.map} +0 -0
  164. /package/client-dist/{chunk-7NPTBX4Y.js.map → chunk-52JG2IIG.js.map} +0 -0
  165. /package/client-dist/{chunk-JVO3EHGB.js.map → chunk-77HGZO43.js.map} +0 -0
  166. /package/client-dist/{chunk-YURXOU4U.js.map → chunk-7JFONJTJ.js.map} +0 -0
  167. /package/client-dist/{chunk-7AQGRHMA.js.map → chunk-7JW45JC5.js.map} +0 -0
  168. /package/client-dist/{chunk-7V3LRQAZ.js.map → chunk-7MSQD5HV.js.map} +0 -0
  169. /package/client-dist/{chunk-64BJ5ZPJ.js.map → chunk-AFF37OKI.js.map} +0 -0
  170. /package/client-dist/{chunk-XT2TWSB3.js.map → chunk-B7WQ5TK3.js.map} +0 -0
  171. /package/client-dist/{chunk-ZVNHBXJU.js.map → chunk-CBIUSRE5.js.map} +0 -0
  172. /package/client-dist/{chunk-YJEHCUWB.js.map → chunk-CUUDVYOC.js.map} +0 -0
  173. /package/client-dist/{chunk-ZQ4GFPEN.js.map → chunk-DHIVAX2C.js.map} +0 -0
  174. /package/client-dist/{chunk-ASQEQSVO.js.map → chunk-DU3IYPGM.js.map} +0 -0
  175. /package/client-dist/{chunk-IPOJA4NQ.js.map → chunk-DUN7ICUI.js.map} +0 -0
  176. /package/client-dist/{chunk-DI7UBKC5.js.map → chunk-DZ74YN25.js.map} +0 -0
  177. /package/client-dist/{chunk-23UH5S6I.js.map → chunk-EDQWK2Q5.js.map} +0 -0
  178. /package/client-dist/{chunk-P7FDJL6S.js.map → chunk-EIT3LSQO.js.map} +0 -0
  179. /package/client-dist/{chunk-WE3IF6CE.js.map → chunk-EMVGFT6L.js.map} +0 -0
  180. /package/client-dist/{chunk-AVBSYCMH.js.map → chunk-EUY2HZZV.js.map} +0 -0
  181. /package/client-dist/{chunk-MZ3LRP25.js.map → chunk-EZNIJZBL.js.map} +0 -0
  182. /package/client-dist/{chunk-KCEYLL24.js.map → chunk-FYXUOXRP.js.map} +0 -0
  183. /package/client-dist/{chunk-X2KATA6U.js.map → chunk-GODWUWRO.js.map} +0 -0
  184. /package/client-dist/{chunk-WWZOAP46.js.map → chunk-HSAGX22H.js.map} +0 -0
  185. /package/client-dist/{chunk-6VFHL63I.js.map → chunk-L7PQ72ZG.js.map} +0 -0
  186. /package/client-dist/{chunk-LYCDXEA4.js.map → chunk-NI4AZWY2.js.map} +0 -0
  187. /package/client-dist/{chunk-FTVB36SW.js.map → chunk-O7U4KV25.js.map} +0 -0
  188. /package/client-dist/{chunk-M7S54EWW.js.map → chunk-OIBDRASW.js.map} +0 -0
  189. /package/client-dist/{chunk-737N2QOC.js.map → chunk-PZMEVMSF.js.map} +0 -0
  190. /package/client-dist/{chunk-EXE26RV4.js.map → chunk-Q7GDEJL2.js.map} +0 -0
  191. /package/client-dist/{chunk-T4N37SRP.js.map → chunk-QHLRSGQG.js.map} +0 -0
  192. /package/client-dist/{chunk-CNZUTJXV.js.map → chunk-QTRIOR6Z.js.map} +0 -0
  193. /package/client-dist/{chunk-4CUQDHAH.js.map → chunk-QUEQSNIS.js.map} +0 -0
  194. /package/client-dist/{chunk-PQIHFZG3.js.map → chunk-SO3QL2U5.js.map} +0 -0
  195. /package/client-dist/{chunk-C43VIJCY.js.map → chunk-SX22WHCZ.js.map} +0 -0
  196. /package/client-dist/{chunk-2HJ74DSG.js.map → chunk-TUKCFE3B.js.map} +0 -0
  197. /package/client-dist/{chunk-3FRNDMIC.js.map → chunk-UI6N7Y2P.js.map} +0 -0
  198. /package/client-dist/{chunk-V42OZMBH.js.map → chunk-VLMQV3OI.js.map} +0 -0
  199. /package/client-dist/{chunk-AKOD5HPA.js.map → chunk-VXJF6N32.js.map} +0 -0
  200. /package/client-dist/{chunk-3FRRZGAB.js.map → chunk-WQIBGXGU.js.map} +0 -0
  201. /package/client-dist/{chunk-7MOSEOQF.js.map → chunk-WYTT3YHQ.js.map} +0 -0
  202. /package/client-dist/{chunk-5QT5PZ2B.js.map → chunk-X2FIFUXZ.js.map} +0 -0
  203. /package/client-dist/{chunk-D2TMY72D.js.map → chunk-XSP7NLZB.js.map} +0 -0
  204. /package/client-dist/{chunk-4HEHXXDL.js.map → chunk-XXO2YNDP.js.map} +0 -0
  205. /package/client-dist/{chunk-SXP4YJY5.js.map → chunk-YGTNCGIU.js.map} +0 -0
  206. /package/client-dist/{chunk-KYI7S4JV.js.map → chunk-YU32GIMP.js.map} +0 -0
  207. /package/client-dist/{chunk-TKE33F7W.js.map → chunk-ZGWUDLYU.js.map} +0 -0
  208. /package/client-dist/{chunk-BV54ST5B.js.map → chunk-ZMZ462V7.js.map} +0 -0
  209. /package/client-dist/{consultant.module-ACB352FM.js.map → consultant.module-3PAIPMAH.js.map} +0 -0
  210. /package/client-dist/{crd.module-XN253YIG.js.map → crd.module-PJO2UJEG.js.map} +0 -0
  211. /package/client-dist/{dashboard.module-F43GCOJ6.js.map → dashboard.module-TJMYHTHX.js.map} +0 -0
  212. /package/client-dist/{do.module-OHJBGMDT.js.map → do.module-SBE6P3B7.js.map} +0 -0
  213. /package/client-dist/{document-library.module-WDOKDFTM.js.map → document-library.module-YH7IF4EP.js.map} +0 -0
  214. /package/client-dist/{embedding-eval.module-ECD7QXRH.js.map → embedding-eval.module-STWWCUD7.js.map} +0 -0
  215. /package/client-dist/{embedding-registry.module-764ZU57G.js.map → embedding-registry.module-XX6725DX.js.map} +0 -0
  216. /package/client-dist/{err.module-R2ATIMSQ.js.map → err.module-SL2IYMTF.js.map} +0 -0
  217. /package/client-dist/{feedback.module-ALGNJKOG.js.map → feedback.module-RMRL65YC.js.map} +0 -0
  218. /package/client-dist/{host-runtime-mcp.module-Z3D57LRD.js.map → host-runtime-mcp.module-OJORUP2R.js.map} +0 -0
  219. /package/client-dist/{live-dev-pipeline.module-EHZPO24W.js.map → live-dev-pipeline.module-AMBMFVIH.js.map} +0 -0
  220. /package/client-dist/{logs.module-QNMNIVLO.js.map → logs.module-3CQ6KLLB.js.map} +0 -0
  221. /package/client-dist/{master-control-remote-poc.module-BVKFRRZN.js.map → master-control-remote-poc.module-FD3E5JB7.js.map} +0 -0
  222. /package/client-dist/{mobile-app.module-WUZGYVG6.js.map → mobile-app.module-LHVADRFV.js.map} +0 -0
  223. /package/client-dist/{model-registry.module-WDC3LG3H.js.map → model-registry.module-ZTKOWGAN.js.map} +0 -0
  224. /package/client-dist/{oc.module-K5COGX5N.js.map → oc.module-GLPSVTAT.js.map} +0 -0
  225. /package/client-dist/{orc.module-EA5J6IGA.js.map → orc.module-BKMJC5YX.js.map} +0 -0
  226. /package/client-dist/{project-management.module-UI36OFRI.js.map → project-management.module-QEIXJONY.js.map} +0 -0
  227. /package/client-dist/{project-source-routed.module-ADAJCFPE.js.map → project-source-routed.module-LSFQT5DK.js.map} +0 -0
  228. /package/client-dist/{scheduler.module-AOWDLFVH.js.map → scheduler.module-TD4G2WNF.js.map} +0 -0
  229. /package/client-dist/{session.module-2FLZRRCE.js.map → session.module-YCITR6BG.js.map} +0 -0
  230. /package/client-dist/{set.module-B7XMMVTO.js.map → set.module-JIWXIF2C.js.map} +0 -0
  231. /package/client-dist/{setup.module-O26UCVEY.js.map → setup.module-ZWL33O7N.js.map} +0 -0
  232. /package/client-dist/{terminals.module-LTV6MFUG.js.map → terminals.module-MKXQLASR.js.map} +0 -0
  233. /package/client-dist/{voice-notes-poc.module-VXD3G3TV.js.map → voice-notes-poc.module-7LUIU7P5.js.map} +0 -0
  234. /package/client-dist/{wfs.module-B2UGRMKL.js.map → wfs.module-2BMXPFAL.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"cc-account.controller.js","sourceRoot":"","sources":["../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.ts"],"names":[],"mappings":";;;AAEA,sDAA0D;AAC1D,sDAAgF;AAGhF,yFAAoF;AAEpF;;;;;;;;;;;GAWG;AACH,MAAa,qBAAsB,SAAQ,6BAAgB;IAEzD,MAAM,CAAC,WAAW;QAChB,OAAO,qBAAqB,CAAC,oBAAoB,EAAE,CAAC;IACtD,CAAC;IAEgB,eAAe,GAC9B,iEAA8B,CAAC,WAAW,EAAE,CAAC;IAE/C,cAAc;QACZ,IAAI,CAAC,SAAS,GAAG;YAEf,2CAA2C;YAC3C,IAAI,kCAAqB,CAAC;gBACxB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE;oBACL,KAAK,EAAE,IAAa,EAAE,GAAa,EAAiB,EAAE;wBACpD,MAAM,MAAM,GACV,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;wBAClD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;iBACF;aACF,CAAC;YAEF,6DAA6D;YAC7D,IAAI,kCAAqB,CAAC;gBACxB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,8BAAiB,CAAC,IAAI;gBAC5B,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE;oBACL,KAAK,EAAE,IAAa,EAAE,GAAa,EAAiB,EAAE;wBACpD,MAAM,MAAM,GACV,MAAM,IAAI,CAAC,eAAe,CAAC,0BAA0B,EAAE,CAAC;wBAC1D,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;iBACF;aACF,CAAC;YAEF,2CAA2C;YAC3C,IAAI,kCAAqB,CAAC;gBACxB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,cAAc;gBACxB,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;wBACnD,MAAM,MAAM,GAAe,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;4BACrE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;yBAClC,CAAC,CAAC;wBACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;iBACF;aACF,CAAC;YAEF,4CAA4C;YAC5C,IAAI,kCAAqB,CAAC;gBACxB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,8BAAiB,CAAC,KAAK;gBAC7B,QAAQ,EAAE,cAAc;gBACxB,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;wBACnD,MAAM,MAAM,GAAe,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;4BACxE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;4BACjC,IAAI,EAAE,GAAG,CAAC,IAAI;yBACf,CAAC,CAAC;wBACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;iBACF;aACF,CAAC;SACH,CAAC;IACJ,CAAC;CACF;AAxED,sDAwEC"}
1
+ {"version":3,"file":"cc-account.controller.js","sourceRoot":"","sources":["../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.ts"],"names":[],"mappings":";;;AAEA,sDAA0D;AAC1D,sDAAgF;AAIhF,yFAAoF;AAEpF;;;;;;;;;;;GAWG;AACH,MAAa,qBAAsB,SAAQ,6BAAgB;IAEzD,MAAM,CAAC,WAAW;QAChB,OAAO,qBAAqB,CAAC,oBAAoB,EAAE,CAAC;IACtD,CAAC;IAEgB,eAAe,GAC9B,iEAA8B,CAAC,WAAW,EAAE,CAAC;IAE/C,cAAc;QACZ,IAAI,CAAC,SAAS,GAAG;YAEf,2CAA2C;YAC3C,IAAI,kCAAqB,CAAC;gBACxB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE;oBACL,KAAK,EAAE,IAAa,EAAE,GAAa,EAAiB,EAAE;wBACpD,MAAM,MAAM,GACV,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;wBAClD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;iBACF;aACF,CAAC;YAEF,6DAA6D;YAC7D,IAAI,kCAAqB,CAAC;gBACxB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,8BAAiB,CAAC,IAAI;gBAC5B,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE;oBACL,KAAK,EAAE,IAAa,EAAE,GAAa,EAAiB,EAAE;wBACpD,MAAM,MAAM,GACV,MAAM,IAAI,CAAC,eAAe,CAAC,0BAA0B,EAAE,CAAC;wBAC1D,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;iBACF;aACF,CAAC;YAEF,wEAAwE;YACxE,6EAA6E;YAC7E,uEAAuE;YACvE,eAAe;YACf,IAAI,kCAAqB,CAAC;gBACxB,IAAI,EAAE,6BAA6B;gBACnC,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,mBAAmB;gBAC7B,KAAK,EAAE;oBACL,KAAK,EAAE,IAAa,EAAE,GAAa,EAAiB,EAAE;wBACpD,MAAM,MAAM,GACV,MAAM,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAAC;wBACxD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;iBACF;aACF,CAAC;YAEF,2CAA2C;YAC3C,IAAI,kCAAqB,CAAC;gBACxB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,cAAc;gBACxB,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;wBACnD,MAAM,MAAM,GAAe,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;4BACrE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;yBAClC,CAAC,CAAC;wBACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;iBACF;aACF,CAAC;YAEF,0EAA0E;YAC1E,IAAI,kCAAqB,CAAC;gBACxB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,oBAAoB;gBAC9B,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;wBACnD,MAAM,MAAM,GACV,MAAM,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC;4BAC/C,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;yBAClC,CAAC,CAAC;wBACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;iBACF;aACF,CAAC;YAEF,4CAA4C;YAC5C,IAAI,kCAAqB,CAAC;gBACxB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,8BAAiB,CAAC,KAAK;gBAC7B,QAAQ,EAAE,cAAc;gBACxB,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;wBACnD,MAAM,MAAM,GAAe,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;4BACxE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;4BACjC,IAAI,EAAE,GAAG,CAAC,IAAI;yBACf,CAAC,CAAC;wBACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;iBACF;aACF,CAAC;SACH,CAAC;IACJ,CAAC;CACF;AAzGD,sDAyGC"}
@@ -31,5 +31,11 @@ export declare class CC_AccountPool_ControlService extends DyNTS_SingletonServic
31
31
  getAccountByKey(accountKey: string): Promise<CC_Account | null>;
32
32
  /** Egy account user-readable nevének átírása. */
33
33
  renameAccount(accountKey: string, displayName: string): Promise<CC_Account | null>;
34
+ /**
35
+ * Account-list-update broadcast (Slice 6 second-half cycle 871). Best-effort,
36
+ * NEM dob — a payload tartalmazza a change-típust és az érintett accountKey-eket,
37
+ * a kliens ebből döntheti el, refetch-eljen-e listAccounts-ot vagy csak diff-eljen.
38
+ */
39
+ private emitAccountListUpdate;
34
40
  }
35
41
  //# sourceMappingURL=cc-account-pool.control-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cc-account-pool.control-service.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAIhF;;;;;;;;;;GAUG;AACH,qBAAa,6BAA8B,SAAQ,sBAAsB;IAEvE,MAAM,CAAC,WAAW,IAAI,6BAA6B;IAInD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAC4B;IAE/D;;;;;;OAMG;IACG,oBAAoB,IAAI,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IA+DxF,kDAAkD;IAC5C,YAAY,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAI3C,sDAAsD;IAChD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIrE,iDAAiD;IAC3C,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAGzF"}
1
+ {"version":3,"file":"cc-account-pool.control-service.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAQhF;;;;;;;;;;GAUG;AACH,qBAAa,6BAA8B,SAAQ,sBAAsB;IAEvE,MAAM,CAAC,WAAW,IAAI,6BAA6B;IAInD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAC4B;IAE/D;;;;;;OAMG;IACG,oBAAoB,IAAI,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IA4ExF,kDAAkD;IAC5C,YAAY,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAI3C,sDAAsD;IAChD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIrE,iDAAiD;IAC3C,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAcxF;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;CAuB9B"}
@@ -6,6 +6,8 @@ const nts_dynamo_1 = require("@futdevpro/nts-dynamo");
6
6
  const cc_account_discovery_util_1 = require("../../../_collections/utils/account/cc-account-discovery.util");
7
7
  const cc_account_data_service_1 = require("./cc-account.data-service");
8
8
  const instance_id_service_1 = require("../../../../../_services/instance-id.service");
9
+ const msg_const_1 = require("../../../../../../messaging/_collections/consts/msg.const");
10
+ const msg_ccap_client_control_service_1 = require("../../../../../../messaging/_services/control-services/providers/msg-ccap-client.control-service");
9
11
  /**
10
12
  * CC Account Pool control-service (REQ-CC-USAGE-DASHBOARD-001 Slice 1).
11
13
  *
@@ -75,6 +77,18 @@ class CC_AccountPool_ControlService extends nts_dynamo_1.DyNTS_SingletonService
75
77
  + ` | ccapId: ${ccapId}`
76
78
  + ` | paths-scanned: ${paths.length}`
77
79
  + ` | accounts-refreshed: ${refreshedKeys.length}`);
80
+ // REQ-CC-USAGE-DASHBOARD-001 Slice 6 second-half (cycle 871): live updates
81
+ // socket emit ha legalább egy account felfedezve / frissítve. A Dashboard
82
+ // kliens-oldali subscriber a cc:account-list-update-ra a saját accounts_$
83
+ // signal-jét frissíti. Best-effort: broadcastSocketEvent hibát warn-szinten
84
+ // elnyel, NEM dob (a refresh user-action eredményét nem blokkolja).
85
+ if (refreshedKeys.length > 0) {
86
+ this.emitAccountListUpdate({
87
+ change: 'refreshed',
88
+ accountKeys: refreshedKeys,
89
+ ccapId: ccapId,
90
+ });
91
+ }
78
92
  return { refreshedKeys: refreshedKeys, scannedPaths: paths.length };
79
93
  }
80
94
  /** Cross-instance account-lista (DB SSOT-ből). */
@@ -87,7 +101,40 @@ class CC_AccountPool_ControlService extends nts_dynamo_1.DyNTS_SingletonService
87
101
  }
88
102
  /** Egy account user-readable nevének átírása. */
89
103
  async renameAccount(accountKey, displayName) {
90
- return await this.accountDataService.renameAccount(accountKey, displayName);
104
+ const updated = await this.accountDataService.renameAccount(accountKey, displayName);
105
+ if (updated != null) {
106
+ // REQ-CC-USAGE-DASHBOARD-001 Slice 6 second-half (cycle 871): a rename
107
+ // user-action minden Dashboard-ot frissítenie kell — broadcast.
108
+ this.emitAccountListUpdate({
109
+ change: 'renamed',
110
+ accountKeys: [accountKey],
111
+ ccapId: instance_id_service_1.ExS_InstanceId_Service.getInstance().getInstanceId(),
112
+ });
113
+ }
114
+ return updated;
115
+ }
116
+ /**
117
+ * Account-list-update broadcast (Slice 6 second-half cycle 871). Best-effort,
118
+ * NEM dob — a payload tartalmazza a change-típust és az érintett accountKey-eket,
119
+ * a kliens ebből döntheti el, refetch-eljen-e listAccounts-ot vagy csak diff-eljen.
120
+ */
121
+ emitAccountListUpdate(params) {
122
+ try {
123
+ msg_ccap_client_control_service_1.Msg_CcapClient_ControlService.getInstance().broadcastSocketEvent({
124
+ eventName: msg_const_1.SOCKET_EVENT_CC_ACCOUNT_LIST_UPDATE,
125
+ payload: {
126
+ change: params.change,
127
+ accountKeys: params.accountKeys,
128
+ ccapId: params.ccapId,
129
+ observedAt: new Date().toISOString(),
130
+ },
131
+ });
132
+ }
133
+ catch (broadcastErr) {
134
+ fsm_dynamo_1.DyFM_Log.warn(`CC_AccountPool_CS | account-list broadcast failed (non-blocking)`
135
+ + ` | change: ${params.change}`
136
+ + ` | ${broadcastErr instanceof Error ? broadcastErr.message : String(broadcastErr)}`);
137
+ }
91
138
  }
92
139
  }
93
140
  exports.CC_AccountPool_ControlService = CC_AccountPool_ControlService;
@@ -1 +1 @@
1
- {"version":3,"file":"cc-account-pool.control-service.js","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cc-account-pool.control-service.js","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ const cc_account_discovery_util_1 = require("../../../_collections/utils/account
7
7
  const cc_account_data_model_1 = require("../../../_models/data-models/cc-account.data-model");
8
8
  const cc_account_pool_control_service_1 = require("./cc-account-pool.control-service");
9
9
  const instance_id_service_1 = require("../../../../../_services/instance-id.service");
10
+ const msg_ccap_client_control_service_1 = require("../../../../../../messaging/_services/control-services/providers/msg-ccap-client.control-service");
10
11
  /**
11
12
  * CC_AccountPool_ControlService spec — REQ-CC-USAGE-DASHBOARD-001 Slice 1.
12
13
  * Object.create + property-stub workaround a singleton wiring elkerülésére.
@@ -37,6 +38,7 @@ describe('CC_AccountPool_ControlService', () => {
37
38
  cs.accountDataService = fakeDS;
38
39
  return { cs: cs, upsertSpy: upsertSpy, listAllSpy: listAllSpy, getByKeySpy: getByKeySpy, renameSpy: renameSpy };
39
40
  }
41
+ let broadcastSpy;
40
42
  beforeEach(() => {
41
43
  tmpDir = (0, fs_1.mkdtempSync)((0, path_1.join)((0, os_1.tmpdir)(), 'cc-account-pool-cs-spec-'));
42
44
  credPath = (0, path_1.join)(tmpDir, '.credentials.json');
@@ -44,6 +46,13 @@ describe('CC_AccountPool_ControlService', () => {
44
46
  getInstanceId: () => 'ccap-test-instance',
45
47
  });
46
48
  spyOn(cc_account_discovery_util_1.CC_AccountDiscovery_Util, 'getDefaultCredentialPaths').and.returnValue([credPath]);
49
+ // REQ-CC-USAGE-DASHBOARD-001 Slice 6 second-half (cycle 871):
50
+ // a Msg_CcapClient broadcastSocketEvent-jét spyolva ellenőrizzük az
51
+ // emit-pontokat (account-list-update a refresh + rename után).
52
+ broadcastSpy = jasmine.createSpy('broadcastSocketEvent');
53
+ spyOn(msg_ccap_client_control_service_1.Msg_CcapClient_ControlService, 'getInstance').and.returnValue({
54
+ broadcastSocketEvent: broadcastSpy,
55
+ });
47
56
  });
48
57
  afterEach(() => {
49
58
  (0, fs_1.rmSync)(tmpDir, { recursive: true, force: true });
@@ -122,5 +131,51 @@ describe('CC_AccountPool_ControlService', () => {
122
131
  await cs.renameAccount('k1', 'newName');
123
132
  expect(renameSpy).toHaveBeenCalledWith('k1', 'newName');
124
133
  });
134
+ // REQ-CC-USAGE-DASHBOARD-001 Slice 6 second-half (cycle 871):
135
+ // server-oldali socket emit pontok az account-list-update event-re.
136
+ it('refreshLocalAccounts — emit cc:account-list-update sikeres upsert után', async () => {
137
+ (0, fs_1.writeFileSync)(credPath, JSON.stringify({
138
+ claudeAiOauth: {
139
+ accessToken: 'at-1',
140
+ refreshToken: 'rt-stable-1',
141
+ scopes: ['user:profile'],
142
+ expiresAt: Date.now() + 3_600_000,
143
+ },
144
+ }), 'utf8');
145
+ const { cs } = buildStub();
146
+ await cs.refreshLocalAccounts();
147
+ expect(broadcastSpy).toHaveBeenCalledTimes(1);
148
+ const arg = broadcastSpy.calls.mostRecent().args[0];
149
+ expect(arg.eventName).toBe('cc:account-list-update');
150
+ expect(arg.payload.change).toBe('refreshed');
151
+ expect(arg.payload.accountKeys.length).toBe(1);
152
+ expect(arg.payload.ccapId).toBe('ccap-test-instance');
153
+ });
154
+ it('refreshLocalAccounts — NEM emit ha 0 account refresh-elve', async () => {
155
+ // credPath nem létezik → 0 upsert → 0 emit
156
+ const { cs } = buildStub();
157
+ await cs.refreshLocalAccounts();
158
+ expect(broadcastSpy).not.toHaveBeenCalled();
159
+ });
160
+ it('renameAccount — emit cc:account-list-update sikeres rename után', async () => {
161
+ const updated = Object.assign(new cc_account_data_model_1.CC_Account(), {
162
+ accountKey: 'k1',
163
+ displayName: 'NewName',
164
+ });
165
+ const { cs, renameSpy } = buildStub();
166
+ renameSpy.and.returnValue(Promise.resolve(updated));
167
+ await cs.renameAccount('k1', 'NewName');
168
+ expect(broadcastSpy).toHaveBeenCalledTimes(1);
169
+ const arg = broadcastSpy.calls.mostRecent().args[0];
170
+ expect(arg.eventName).toBe('cc:account-list-update');
171
+ expect(arg.payload.change).toBe('renamed');
172
+ expect(arg.payload.accountKeys).toEqual(['k1']);
173
+ });
174
+ it('renameAccount — NEM emit ha az account nem létezik (null return)', async () => {
175
+ const { cs, renameSpy } = buildStub();
176
+ renameSpy.and.returnValue(Promise.resolve(null));
177
+ await cs.renameAccount('nope', 'x');
178
+ expect(broadcastSpy).not.toHaveBeenCalled();
179
+ });
125
180
  });
126
181
  //# sourceMappingURL=cc-account-pool.control-service.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cc-account-pool.control-service.spec.js","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cc-account-pool.control-service.spec.js","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { DyNTS_DataService } from '@futdevpro/nts-dynamo';
2
+ import { CC_AccountUsageState } from '../../../_models/data-models/cc-account-usage-state.data-model';
3
+ /**
4
+ * CC Account usage state data service (REQ-CC-USAGE-DASHBOARD-001 Slice 3, cycle 852).
5
+ * Per-account + per-window-type (`five_hour` / `seven_day` / `seven_day_opus` /
6
+ * `seven_day_sonnet` / `extra_usage`) state upsert + lekérdezés. Az
7
+ * `(accountKey, windowType)` páros a natural key; a stream-parser bridge minden
8
+ * `rate_limit_event`-re ezt hívja a meglévő `CC_RateLimitState_DataService`
9
+ * upsert MELLÉ — a két data-service független, párhuzamosan írja a saját state-jét.
10
+ */
11
+ export declare class CC_AccountUsageState_DataService extends DyNTS_DataService<CC_AccountUsageState> {
12
+ constructor(params: {
13
+ issuer: string;
14
+ });
15
+ /**
16
+ * Account usage state upsert `(accountKey, windowType)` kulcs alapján.
17
+ * Best-effort (no-silent-failure): hibát `DyFM_Log.warn`-be logol +
18
+ * `CCAP_Error` rekord a /errors-be. NEM dob — a stream-parser flow-t
19
+ * nem blokkolja egy monitoring-perzisztálási hiba.
20
+ */
21
+ upsertAccountUsageState(params: {
22
+ accountKey: string;
23
+ windowType: string;
24
+ utilization?: number;
25
+ resetsAtMs?: number;
26
+ lastObservedStatus?: string;
27
+ lastObservedByCcapId?: string;
28
+ lastObservedBySessionId?: string;
29
+ }): Promise<void>;
30
+ /**
31
+ * Account-szintű usage state-ek listázása (0..5 rekord — egy per windowType).
32
+ * A REST `GET /cc-account/:accountKey/usage` endpoint hívja, plus a Dashboard
33
+ * (Slice 5+) bootstrap-jánál.
34
+ */
35
+ listByAccountKey(accountKey: string): Promise<CC_AccountUsageState[]>;
36
+ /**
37
+ * Slice 4 instance-mapping (cycle 855): teljes account-usage-state lista
38
+ * cross-instance aggregate-hez. A REST `GET /cc-account/instance-mapping`
39
+ * endpoint hívja, és az ott történő group-by (lastObservedByCcapId)
40
+ * adja össze a `(ccapId → [account-usage-state-ek])` map-et.
41
+ *
42
+ * Skálázódás: 5 windowType × N account = max ~50-100 rekord tipikus
43
+ * deployment-en. Throw-on → [] (silent fallback).
44
+ */
45
+ listAll(): Promise<CC_AccountUsageState[]>;
46
+ /**
47
+ * Cross-instance: per-CCAP listázás (Slice 4 instance-mapping endpoint —
48
+ * "melyik instance-ek használnak account-okat"). `lastObservedByCcapId`
49
+ * indexen szűr.
50
+ */
51
+ listByLastObservedCcap(ccapId: string): Promise<CC_AccountUsageState[]>;
52
+ }
53
+ //# sourceMappingURL=cc-account-usage-state.data-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cc-account-usage-state.data-service.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAuC,MAAM,uBAAuB,CAAC;AAI/F,OAAO,EACL,oBAAoB,EAErB,MAAM,gEAAgE,CAAC;AAExE;;;;;;;GAOG;AACH,qBAAa,gCAAiC,SAAQ,iBAAiB,CAAC,oBAAoB,CAAC;gBAE/E,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAQtC;;;;;OAKG;IACG,uBAAuB,CAAC,MAAM,EAAE;QACpC,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,GAAG,OAAO,CAAC,IAAI,CAAC;IAwEjB;;;;OAIG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAmC3E;;;;;;;;OAQG;IACG,OAAO,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAahD;;;;OAIG;IACG,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;CAe9E"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CC_AccountUsageState_DataService = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const nts_dynamo_1 = require("@futdevpro/nts-dynamo");
6
+ const ccap_error_control_model_1 = require("../../../../../../../_collections/core/ccap-error.control-model");
7
+ const eh_record_build_util_1 = require("../../../../../../ccap-agent/_modules/error-handling/_collections/utils/eh-record-build.util");
8
+ const cc_account_usage_state_data_model_1 = require("../../../_models/data-models/cc-account-usage-state.data-model");
9
+ /**
10
+ * CC Account usage state data service (REQ-CC-USAGE-DASHBOARD-001 Slice 3, cycle 852).
11
+ * Per-account + per-window-type (`five_hour` / `seven_day` / `seven_day_opus` /
12
+ * `seven_day_sonnet` / `extra_usage`) state upsert + lekérdezés. Az
13
+ * `(accountKey, windowType)` páros a natural key; a stream-parser bridge minden
14
+ * `rate_limit_event`-re ezt hívja a meglévő `CC_RateLimitState_DataService`
15
+ * upsert MELLÉ — a két data-service független, párhuzamosan írja a saját state-jét.
16
+ */
17
+ class CC_AccountUsageState_DataService extends nts_dynamo_1.DyNTS_DataService {
18
+ constructor(params) {
19
+ super(new cc_account_usage_state_data_model_1.CC_AccountUsageState(), cc_account_usage_state_data_model_1.ccapCcAccountUsageState_dataParams, params.issuer);
20
+ }
21
+ /**
22
+ * Account usage state upsert `(accountKey, windowType)` kulcs alapján.
23
+ * Best-effort (no-silent-failure): hibát `DyFM_Log.warn`-be logol +
24
+ * `CCAP_Error` rekord a /errors-be. NEM dob — a stream-parser flow-t
25
+ * nem blokkolja egy monitoring-perzisztálási hiba.
26
+ */
27
+ async upsertAccountUsageState(params) {
28
+ try {
29
+ const filter = {
30
+ accountKey: params.accountKey,
31
+ windowType: params.windowType,
32
+ };
33
+ const existing = await this.findData(filter, true);
34
+ const observedAt = new Date();
35
+ if (existing != null && existing._id) {
36
+ const setFields = {
37
+ utilization: params.utilization,
38
+ resetsAtMs: params.resetsAtMs,
39
+ lastObservedStatus: params.lastObservedStatus,
40
+ lastObservedByCcapId: params.lastObservedByCcapId,
41
+ lastObservedBySessionId: params.lastObservedBySessionId,
42
+ observedAt: observedAt,
43
+ };
44
+ await this.updateData({
45
+ filterBy: { _id: existing._id },
46
+ update: { $set: setFields },
47
+ });
48
+ return;
49
+ }
50
+ const record = new cc_account_usage_state_data_model_1.CC_AccountUsageState();
51
+ record.accountKey = params.accountKey;
52
+ record.windowType = params.windowType;
53
+ record.utilization = params.utilization;
54
+ record.resetsAtMs = params.resetsAtMs;
55
+ record.lastObservedStatus = params.lastObservedStatus;
56
+ record.lastObservedByCcapId = params.lastObservedByCcapId;
57
+ record.lastObservedBySessionId = params.lastObservedBySessionId;
58
+ record.observedAt = observedAt;
59
+ this.data = record;
60
+ await this.saveData();
61
+ }
62
+ catch (err) {
63
+ fsm_dynamo_1.DyFM_Log.warn(`CC_AccountUsageState_DS | upsertAccountUsageState failed (non-blocking)`
64
+ + ` | accountKey: ${params.accountKey}`
65
+ + ` | windowType: ${params.windowType}`
66
+ + ` | ${err instanceof Error ? err.message : String(err)}`);
67
+ const persistError = new ccap_error_control_model_1.CCAP_Error({
68
+ message: `CC Account usage state persistence failed — Dashboard quota tracking may`
69
+ + ` use stale data after server restart (windowType: ${params.windowType}).`,
70
+ errorCode: 'CCAP-CC-ACCOUNT-USAGE-PERSIST-FAIL',
71
+ status: 500,
72
+ error: err instanceof Error ? err : new Error(String(err)),
73
+ additionalContent: eh_record_build_util_1.Eh_Record_BuildUtil.buildDyFmAdditionalContentForCcapTable({
74
+ additionalContext: {
75
+ source: 'cc-account-usage-state-ds | upsertAccountUsageState',
76
+ accountKey: params.accountKey,
77
+ windowType: params.windowType,
78
+ utilization: params.utilization,
79
+ lastObservedStatus: params.lastObservedStatus,
80
+ lastObservedByCcapId: params.lastObservedByCcapId,
81
+ lastObservedBySessionId: params.lastObservedBySessionId,
82
+ hint: 'A per-account usage state DB-be írás bukott. A Dashboard a következő'
83
+ + ' stream-event-ig stale-t mutat. DB-elérhetőség ellenőrzése (mongo'
84
+ + ' replica lag); ha repeated → séma- vagy index-probléma.',
85
+ },
86
+ }),
87
+ });
88
+ nts_dynamo_1.DyNTS_GlobalService.globalErrorHandler(persistError);
89
+ }
90
+ }
91
+ /**
92
+ * Account-szintű usage state-ek listázása (0..5 rekord — egy per windowType).
93
+ * A REST `GET /cc-account/:accountKey/usage` endpoint hívja, plus a Dashboard
94
+ * (Slice 5+) bootstrap-jánál.
95
+ */
96
+ async listByAccountKey(accountKey) {
97
+ try {
98
+ const filter = {
99
+ accountKey: accountKey,
100
+ };
101
+ return await this.findDataList(filter);
102
+ }
103
+ catch (err) {
104
+ fsm_dynamo_1.DyFM_Log.warn(`CC_AccountUsageState_DS | listByAccountKey failed (non-blocking)`
105
+ + ` | accountKey: ${accountKey}`
106
+ + ` | ${err instanceof Error ? err.message : String(err)}`);
107
+ const fetchError = new ccap_error_control_model_1.CCAP_Error({
108
+ message: `CC Account usage state fetch failed — Dashboard bootstrap will show no`
109
+ + ` per-account utilization until next stream event.`,
110
+ errorCode: 'CCAP-CC-ACCOUNT-USAGE-FETCH-FAIL',
111
+ status: 500,
112
+ error: err instanceof Error ? err : new Error(String(err)),
113
+ additionalContent: eh_record_build_util_1.Eh_Record_BuildUtil.buildDyFmAdditionalContentForCcapTable({
114
+ additionalContext: {
115
+ source: 'cc-account-usage-state-ds | listByAccountKey',
116
+ accountKey: accountKey,
117
+ hint: 'Per-account usage state DB-fetch bukott. Dashboard bootstrap-kor'
118
+ + ' nem látja az utilization-t — csak a friss stream-event érkezésekor'
119
+ + ' tölti fel. DB-elérhetőség ellenőrzése.',
120
+ },
121
+ }),
122
+ });
123
+ nts_dynamo_1.DyNTS_GlobalService.globalErrorHandler(fetchError);
124
+ return [];
125
+ }
126
+ }
127
+ /**
128
+ * Slice 4 instance-mapping (cycle 855): teljes account-usage-state lista
129
+ * cross-instance aggregate-hez. A REST `GET /cc-account/instance-mapping`
130
+ * endpoint hívja, és az ott történő group-by (lastObservedByCcapId)
131
+ * adja össze a `(ccapId → [account-usage-state-ek])` map-et.
132
+ *
133
+ * Skálázódás: 5 windowType × N account = max ~50-100 rekord tipikus
134
+ * deployment-en. Throw-on → [] (silent fallback).
135
+ */
136
+ async listAll() {
137
+ try {
138
+ const filter = {};
139
+ return await this.findDataList(filter);
140
+ }
141
+ catch (err) {
142
+ fsm_dynamo_1.DyFM_Log.warn(`CC_AccountUsageState_DS | listAll failed (non-blocking)`
143
+ + ` | ${err instanceof Error ? err.message : String(err)}`);
144
+ return [];
145
+ }
146
+ }
147
+ /**
148
+ * Cross-instance: per-CCAP listázás (Slice 4 instance-mapping endpoint —
149
+ * "melyik instance-ek használnak account-okat"). `lastObservedByCcapId`
150
+ * indexen szűr.
151
+ */
152
+ async listByLastObservedCcap(ccapId) {
153
+ try {
154
+ const filter = {
155
+ lastObservedByCcapId: ccapId,
156
+ };
157
+ return await this.findDataList(filter);
158
+ }
159
+ catch (err) {
160
+ fsm_dynamo_1.DyFM_Log.warn(`CC_AccountUsageState_DS | listByLastObservedCcap failed (non-blocking)`
161
+ + ` | ccapId: ${ccapId}`
162
+ + ` | ${err instanceof Error ? err.message : String(err)}`);
163
+ return [];
164
+ }
165
+ }
166
+ }
167
+ exports.CC_AccountUsageState_DataService = CC_AccountUsageState_DataService;
168
+ //# sourceMappingURL=cc-account-usage-state.data-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cc-account-usage-state.data-service.js","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cc-account-usage-state.data-service.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cc-account-usage-state.data-service.spec.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-usage-state.data-service.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const cc_account_usage_state_data_model_1 = require("../../../_models/data-models/cc-account-usage-state.data-model");
4
+ const cc_account_usage_state_data_service_1 = require("./cc-account-usage-state.data-service");
5
+ /**
6
+ * CC_AccountUsageState_DataService spec — REQ-CC-USAGE-DASHBOARD-001 Slice 3 cycle 852.
7
+ * Object.create + spy stub workaround mintán (cycle 187 + cc-rate-limit-state.data-service.spec).
8
+ * Best-effort no-silent-failure: errors logged + globalErrorHandler, NEM thrown.
9
+ */
10
+ describe('CC_AccountUsageState_DataService', () => {
11
+ function buildStub() {
12
+ const ds = Object.create(cc_account_usage_state_data_service_1.CC_AccountUsageState_DataService.prototype);
13
+ const findDataSpy = jasmine.createSpy('findData')
14
+ .and.returnValue(Promise.resolve(null));
15
+ const findListSpy = jasmine.createSpy('findDataList')
16
+ .and.returnValue(Promise.resolve([]));
17
+ const saveSpy = jasmine.createSpy('saveData')
18
+ .and.returnValue(Promise.resolve(new cc_account_usage_state_data_model_1.CC_AccountUsageState()));
19
+ const updateSpy = jasmine.createSpy('updateData')
20
+ .and.returnValue(Promise.resolve());
21
+ ds.findData = findDataSpy;
22
+ ds.findDataList = findListSpy;
23
+ ds.saveData = saveSpy;
24
+ ds.updateData = updateSpy;
25
+ return { ds: ds, findDataSpy: findDataSpy, findListSpy: findListSpy, saveSpy: saveSpy, updateSpy: updateSpy };
26
+ }
27
+ it('upsertAccountUsageState — új rekord (existing nem található) → saveData', async () => {
28
+ const { ds, saveSpy, updateSpy } = buildStub();
29
+ await ds.upsertAccountUsageState({
30
+ accountKey: 'a1b2c3d4e5f6',
31
+ windowType: 'five_hour',
32
+ utilization: 0.42,
33
+ resetsAtMs: 1714694400000,
34
+ lastObservedStatus: 'info',
35
+ lastObservedByCcapId: 'ccap-1',
36
+ lastObservedBySessionId: 'ccs-x',
37
+ });
38
+ expect(saveSpy).toHaveBeenCalledTimes(1);
39
+ expect(updateSpy).not.toHaveBeenCalled();
40
+ expect(ds.data?.accountKey).toBe('a1b2c3d4e5f6');
41
+ expect(ds.data?.windowType).toBe('five_hour');
42
+ expect(ds.data?.utilization).toBe(0.42);
43
+ expect(ds.data?.lastObservedByCcapId).toBe('ccap-1');
44
+ });
45
+ it('upsertAccountUsageState — létező rekord → updateData $set partial', async () => {
46
+ const existing = Object.assign(new cc_account_usage_state_data_model_1.CC_AccountUsageState(), {
47
+ _id: 'mongo-id-au',
48
+ accountKey: 'a1b2c3d4e5f6',
49
+ windowType: 'seven_day',
50
+ });
51
+ const { ds, findDataSpy, updateSpy, saveSpy } = buildStub();
52
+ findDataSpy.and.returnValue(Promise.resolve(existing));
53
+ await ds.upsertAccountUsageState({
54
+ accountKey: 'a1b2c3d4e5f6',
55
+ windowType: 'seven_day',
56
+ utilization: 0.93,
57
+ });
58
+ expect(updateSpy).toHaveBeenCalledTimes(1);
59
+ expect(saveSpy).not.toHaveBeenCalled();
60
+ const arg = updateSpy.calls.mostRecent().args[0];
61
+ expect(arg.filterBy._id).toBe('mongo-id-au');
62
+ expect(arg.update.$set.utilization).toBe(0.93);
63
+ });
64
+ it('upsertAccountUsageState — létező rekord _id nélkül → új rekord (saveData)', async () => {
65
+ const existingNoId = Object.assign(new cc_account_usage_state_data_model_1.CC_AccountUsageState(), {
66
+ accountKey: 'aabb', windowType: 'extra_usage',
67
+ });
68
+ const { ds, findDataSpy, saveSpy, updateSpy } = buildStub();
69
+ findDataSpy.and.returnValue(Promise.resolve(existingNoId));
70
+ await ds.upsertAccountUsageState({
71
+ accountKey: 'aabb',
72
+ windowType: 'extra_usage',
73
+ });
74
+ expect(saveSpy).toHaveBeenCalledTimes(1);
75
+ expect(updateSpy).not.toHaveBeenCalled();
76
+ });
77
+ it('upsertAccountUsageState — findData throw → silent (NEM dob)', async () => {
78
+ const { ds, findDataSpy } = buildStub();
79
+ findDataSpy.and.returnValue(Promise.reject(new Error('db-down')));
80
+ await expectAsync(ds.upsertAccountUsageState({
81
+ accountKey: 'a', windowType: 'five_hour',
82
+ })).toBeResolved();
83
+ });
84
+ it('upsertAccountUsageState — saveData throw → silent (NEM dob)', async () => {
85
+ const ds = Object.create(cc_account_usage_state_data_service_1.CC_AccountUsageState_DataService.prototype);
86
+ ds.findData = () => Promise.resolve(null);
87
+ ds.saveData = () => Promise.reject(new Error('save-fail'));
88
+ await expectAsync(ds.upsertAccountUsageState({
89
+ accountKey: 'a', windowType: 'five_hour',
90
+ })).toBeResolved();
91
+ });
92
+ it('upsertAccountUsageState — observedAt mindig friss Date', async () => {
93
+ const { ds } = buildStub();
94
+ const before = Date.now();
95
+ await ds.upsertAccountUsageState({ accountKey: 'a', windowType: 'five_hour' });
96
+ const after = Date.now();
97
+ expect(ds.data?.observedAt).toBeDefined();
98
+ const observedTime = ds.data.observedAt.getTime();
99
+ expect(observedTime).toBeGreaterThanOrEqual(before);
100
+ expect(observedTime).toBeLessThanOrEqual(after);
101
+ });
102
+ it('listByAccountKey — happy path: findDataList accountKey-vel', async () => {
103
+ const list = [
104
+ Object.assign(new cc_account_usage_state_data_model_1.CC_AccountUsageState(), { accountKey: 'a1', windowType: 'five_hour' }),
105
+ Object.assign(new cc_account_usage_state_data_model_1.CC_AccountUsageState(), { accountKey: 'a1', windowType: 'seven_day' }),
106
+ Object.assign(new cc_account_usage_state_data_model_1.CC_AccountUsageState(), { accountKey: 'a1', windowType: 'extra_usage' }),
107
+ ];
108
+ const { ds, findListSpy } = buildStub();
109
+ findListSpy.and.returnValue(Promise.resolve(list));
110
+ const r = await ds.listByAccountKey('a1');
111
+ expect(r.length).toBe(3);
112
+ expect(findListSpy).toHaveBeenCalledWith({ accountKey: 'a1' });
113
+ });
114
+ it('listByAccountKey — findDataList throw → [] (silent)', async () => {
115
+ const ds = Object.create(cc_account_usage_state_data_service_1.CC_AccountUsageState_DataService.prototype);
116
+ ds.findDataList = () => Promise.reject(new Error('db-down'));
117
+ const r = await ds.listByAccountKey('a-x');
118
+ expect(r).toEqual([]);
119
+ });
120
+ it('listByLastObservedCcap — happy path: findDataList lastObservedByCcapId-vel', async () => {
121
+ const list = [
122
+ Object.assign(new cc_account_usage_state_data_model_1.CC_AccountUsageState(), {
123
+ accountKey: 'a1', windowType: 'five_hour', lastObservedByCcapId: 'cc-1',
124
+ }),
125
+ ];
126
+ const { ds, findListSpy } = buildStub();
127
+ findListSpy.and.returnValue(Promise.resolve(list));
128
+ const r = await ds.listByLastObservedCcap('cc-1');
129
+ expect(r.length).toBe(1);
130
+ expect(findListSpy).toHaveBeenCalledWith({ lastObservedByCcapId: 'cc-1' });
131
+ });
132
+ it('listAll — happy path: findDataList üres filter-rel (Slice 4 cycle 855)', async () => {
133
+ const list = [
134
+ Object.assign(new cc_account_usage_state_data_model_1.CC_AccountUsageState(), { accountKey: 'a1', windowType: 'five_hour' }),
135
+ Object.assign(new cc_account_usage_state_data_model_1.CC_AccountUsageState(), { accountKey: 'a2', windowType: 'seven_day' }),
136
+ ];
137
+ const { ds, findListSpy } = buildStub();
138
+ findListSpy.and.returnValue(Promise.resolve(list));
139
+ const r = await ds.listAll();
140
+ expect(r.length).toBe(2);
141
+ expect(findListSpy).toHaveBeenCalledWith({});
142
+ });
143
+ it('listAll — findDataList throw → [] (silent)', async () => {
144
+ const ds = Object.create(cc_account_usage_state_data_service_1.CC_AccountUsageState_DataService.prototype);
145
+ ds.findDataList = () => Promise.reject(new Error('db-down'));
146
+ const r = await ds.listAll();
147
+ expect(r).toEqual([]);
148
+ });
149
+ it('listByLastObservedCcap — findDataList throw → [] (silent)', async () => {
150
+ const ds = Object.create(cc_account_usage_state_data_service_1.CC_AccountUsageState_DataService.prototype);
151
+ ds.findDataList = () => Promise.reject(new Error('db-down'));
152
+ const r = await ds.listByLastObservedCcap('cc-1');
153
+ expect(r).toEqual([]);
154
+ });
155
+ });
156
+ //# sourceMappingURL=cc-account-usage-state.data-service.spec.js.map