@futdevpro/ccap 1.1.2704 → 1.1.2740
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.
- package/client-dist/{agent-instances.module-LAAZ3DCN.js → agent-instances.module-IIWTPW4O.js} +2 -2
- package/client-dist/{ca.module-KJ3HMVQS.js → ca.module-LWRIBCUU.js} +2 -2
- package/client-dist/{cc.module-R3XR774M.js → cc.module-6YJTSCAC.js} +2 -2
- package/client-dist/{chunk-UEKEYKYQ.js → chunk-3AHNPY2X.js} +2 -2
- package/client-dist/{chunk-PRJAMBXR.js → chunk-3BT3IMYD.js} +2 -2
- package/client-dist/{chunk-ZPENXS5V.js → chunk-3BUEPMT6.js} +2 -2
- package/client-dist/{chunk-GZCIND56.js → chunk-3QLEX2NT.js} +2 -2
- package/client-dist/{chunk-CGMVTKY2.js → chunk-5C6MAP7W.js} +2 -2
- package/client-dist/{chunk-JIJ7AJ2M.js → chunk-5K6VN44P.js} +2 -2
- package/client-dist/{chunk-Q2OT2QHT.js → chunk-5YM2RZWN.js} +2 -2
- package/client-dist/{chunk-OI7T7XSB.js → chunk-63EKRGNW.js} +2 -2
- package/client-dist/{chunk-O7GPLAYH.js → chunk-63VBJAEW.js} +2 -2
- package/client-dist/{chunk-23VFZSJY.js → chunk-6454AQZI.js} +2 -2
- package/client-dist/{chunk-OVLLCTU6.js → chunk-6C5KJNDU.js} +2 -2
- package/client-dist/{chunk-UJSPO372.js → chunk-6MS4GHDI.js} +2 -2
- package/client-dist/{chunk-C3VSCOG5.js → chunk-AC26JISD.js} +2 -2
- package/client-dist/{chunk-DFQTZTHH.js → chunk-AOHIUL3Q.js} +2 -2
- package/client-dist/{chunk-VOLGLPD4.js → chunk-AQCUVNQI.js} +2 -2
- package/client-dist/{chunk-PTB2WMG4.js → chunk-DQKU2LY3.js} +2 -2
- package/client-dist/{chunk-A4VKLUNV.js → chunk-DU23SLBW.js} +2 -2
- package/client-dist/{chunk-4VQCWOKK.js → chunk-DXLFM7Q4.js} +2 -2
- package/client-dist/{chunk-LXQXCCPD.js → chunk-EP2L5MMG.js} +2 -2
- package/client-dist/{chunk-S4OXJMBZ.js → chunk-F5R42IJ2.js} +2 -2
- package/client-dist/{chunk-ZLUBPQF4.js → chunk-FBGZAXUP.js} +2 -2
- package/client-dist/{chunk-GMWBFGET.js → chunk-FSSZAXEP.js} +2 -2
- package/client-dist/{chunk-34EXATDF.js → chunk-FZ43K4CA.js} +2 -2
- package/client-dist/{chunk-OSVQTRBX.js → chunk-GVZABJSS.js} +2 -2
- package/client-dist/{chunk-EHVMKTXY.js → chunk-H35PNXSP.js} +2 -2
- package/client-dist/{chunk-UF5GFNKA.js → chunk-H3U7XTKH.js} +2 -2
- package/client-dist/{chunk-AKYBH2CZ.js → chunk-HBFH3SIK.js} +2 -2
- package/client-dist/{chunk-ISHXGODD.js → chunk-IW5XTVSP.js} +2 -2
- package/client-dist/{chunk-B7HVGHKQ.js → chunk-JK4S3AXO.js} +2 -2
- package/client-dist/{chunk-HU4Z3PXD.js → chunk-JOJMPCQG.js} +2 -2
- package/client-dist/{chunk-V7VGFFUL.js → chunk-K4PMLSYM.js} +2 -2
- package/client-dist/{chunk-2RSAHUCJ.js → chunk-K4S55QIE.js} +2 -2
- package/client-dist/{chunk-73KFZET5.js → chunk-LEMSEJOC.js} +2 -2
- package/client-dist/{chunk-Y6C2Y6D3.js → chunk-LP2FFZC5.js} +2 -2
- package/client-dist/{chunk-4KHQD4F5.js → chunk-MG6CV3Y5.js} +2 -2
- package/client-dist/{chunk-GNT26I3L.js → chunk-NTLKUZAF.js} +2 -2
- package/client-dist/{chunk-QTXGAORV.js → chunk-NVSGBXMD.js} +2 -2
- package/client-dist/{chunk-QTXGAORV.js.map → chunk-NVSGBXMD.js.map} +1 -1
- package/client-dist/{chunk-4GDSWQOC.js → chunk-NWZRCNKP.js} +2 -2
- package/client-dist/{chunk-7LV7MODT.js → chunk-O6PFIEPO.js} +2 -2
- package/client-dist/{chunk-URFXKX63.js → chunk-OUM7QH3O.js} +2 -2
- package/client-dist/{chunk-RZTPIE3G.js → chunk-QP5RTV4R.js} +2 -2
- package/client-dist/{chunk-W7CDUK6U.js → chunk-R26G2XMB.js} +2 -2
- package/client-dist/{chunk-MSGYW52X.js → chunk-RYHFLYDS.js} +2 -2
- package/client-dist/{chunk-CHJARZ4T.js → chunk-S5TWQ53O.js} +2 -2
- package/client-dist/{chunk-27MRXFCH.js → chunk-S75AE6UP.js} +2 -2
- package/client-dist/{chunk-DVXDSOX7.js → chunk-SLIWPSFP.js} +2 -2
- package/client-dist/{chunk-WCF4WZ2W.js → chunk-SSMQG7T3.js} +2 -2
- package/client-dist/{chunk-N72P5JS2.js → chunk-THUA7SW2.js} +2 -2
- package/client-dist/{chunk-C3C6M5O2.js → chunk-TMXG7RHS.js} +2 -2
- package/client-dist/{chunk-GS6LMK5O.js → chunk-U3UHKPNK.js} +2 -2
- package/client-dist/{chunk-XFRFKRY2.js → chunk-USNT5XKJ.js} +2 -2
- package/client-dist/{chunk-XYC6XMFP.js → chunk-XC57ZZSB.js} +2 -2
- package/client-dist/{chunk-OSR5TMMM.js → chunk-XTJ63H3O.js} +2 -2
- package/client-dist/{chunk-HNBLIGHL.js → chunk-YV2UEV2Q.js} +2 -2
- package/client-dist/{chunk-YKYAPYHF.js → chunk-YVE7TPMW.js} +2 -2
- package/client-dist/{chunk-SLHYH5BE.js → chunk-YVN3KWT7.js} +2 -2
- package/client-dist/{consultant.module-ZXEIKZLL.js → consultant.module-YUJFXRDH.js} +2 -2
- package/client-dist/{crd.module-3F4G7NI4.js → crd.module-D7KTQGQ4.js} +2 -2
- package/client-dist/{dashboard.module-CLXEVYJW.js → dashboard.module-XKKHP5S6.js} +2 -2
- package/client-dist/{do.module-S6G3OBZR.js → do.module-PAINTIOK.js} +2 -2
- package/client-dist/{document-library.module-EQM4645W.js → document-library.module-XHTVQ4RU.js} +2 -2
- package/client-dist/{embedding-eval.module-NBFQH4BY.js → embedding-eval.module-2XU6ZQ5K.js} +2 -2
- package/client-dist/{embedding-registry.module-SDLK2TMJ.js → embedding-registry.module-WWIMXCOI.js} +2 -2
- package/client-dist/{err.module-AFMM2VG6.js → err.module-W23TJZYC.js} +2 -2
- package/client-dist/{feedback.module-WGC6H5T5.js → feedback.module-XD4GWPEY.js} +2 -2
- package/client-dist/{host-runtime-mcp.module-L7KZFRVE.js → host-runtime-mcp.module-LLI4OQ2C.js} +2 -2
- package/client-dist/index.html +1 -1
- package/client-dist/{live-dev-pipeline.module-Q3EZQPBS.js → live-dev-pipeline.module-LSDBWWIM.js} +2 -2
- package/client-dist/{logs.module-S7W3VMCQ.js → logs.module-ANWE4KDF.js} +2 -2
- package/client-dist/{main-TLWUGQY4.js → main-BFY5RGUS.js} +3 -3
- package/client-dist/{master-control-remote-poc.module-4D6ROEMZ.js → master-control-remote-poc.module-PVRUD7IM.js} +2 -2
- package/client-dist/{mobile-app.module-6IN7OYMR.js → mobile-app.module-QOG42QCA.js} +2 -2
- package/client-dist/{model-registry.module-2VRFFXEM.js → model-registry.module-CKTDRM54.js} +2 -2
- package/client-dist/{oc.module-O5QZSJXQ.js → oc.module-BWDU2WQQ.js} +2 -2
- package/client-dist/{orc.module-YMIUO4EB.js → orc.module-S365TUGD.js} +2 -2
- package/client-dist/{project-management.module-OT6QPOS3.js → project-management.module-N26UAZWL.js} +2 -2
- package/client-dist/project-source-routed.module-LACAWUTI.js +2 -0
- package/client-dist/{scheduler.module-PBVPHM6D.js → scheduler.module-UEQBHIBM.js} +2 -2
- package/client-dist/{session.module-PZUIXALN.js → session.module-3YT4GI7B.js} +2 -2
- package/client-dist/{set.module-KHH6ZADO.js → set.module-RLYKVPBJ.js} +2 -2
- package/client-dist/{setup.module-U5HIBAD6.js → setup.module-JLBSWNKP.js} +2 -2
- package/client-dist/{terminals.module-YUSYVMKW.js → terminals.module-KT5GHGKP.js} +2 -2
- package/client-dist/{voice-notes-poc.module-PR6GYMNC.js → voice-notes-poc.module-TGZUYUB6.js} +2 -2
- package/client-dist/{wfs.module-VCNIMOC4.js → wfs.module-PWX57GZB.js} +2 -2
- package/package.json +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.d.ts +77 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.js +182 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.spec.d.ts +2 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.spec.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.spec.js +167 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-discovery.util.spec.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/terminal/cc-terminal-runner-control.util.d.ts +61 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/terminal/cc-terminal-runner-control.util.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/terminal/cc-terminal-runner-control.util.js +114 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/terminal/cc-terminal-runner-control.util.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/terminal/cc-terminal-runner-spawn.util.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/terminal/cc-terminal-runner-spawn.util.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account.data-model.d.ts +75 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account.data-model.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account.data-model.js +103 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account.data-model.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account.data-model.spec.d.ts +2 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account.data-model.spec.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account.data-model.spec.js +78 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account.data-model.spec.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.d.ts +52 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.js +137 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.spec.d.ts +2 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.spec.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.spec.js +192 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.spec.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.d.ts +19 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.js +83 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.d.ts +35 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.js +94 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.spec.d.ts +2 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.spec.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.spec.js +126 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.spec.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.d.ts +39 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.js +161 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.spec.d.ts +2 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.spec.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.spec.js +119 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.spec.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.d.ts +21 -31
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js +45 -102
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js.map +1 -1
- package/server/build/src/app.server.d.ts.map +1 -1
- package/server/build/src/app.server.js +7 -0
- package/server/build/src/app.server.js.map +1 -1
- package/client-dist/project-source-routed.module-WSZ6PTH7.js +0 -2
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-terminal-runner-spawn.util.d.ts.map +0 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-terminal-runner-spawn.util.js.map +0 -1
- /package/client-dist/{agent-instances.module-LAAZ3DCN.js.map → agent-instances.module-IIWTPW4O.js.map} +0 -0
- /package/client-dist/{ca.module-KJ3HMVQS.js.map → ca.module-LWRIBCUU.js.map} +0 -0
- /package/client-dist/{cc.module-R3XR774M.js.map → cc.module-6YJTSCAC.js.map} +0 -0
- /package/client-dist/{chunk-UEKEYKYQ.js.map → chunk-3AHNPY2X.js.map} +0 -0
- /package/client-dist/{chunk-PRJAMBXR.js.map → chunk-3BT3IMYD.js.map} +0 -0
- /package/client-dist/{chunk-ZPENXS5V.js.map → chunk-3BUEPMT6.js.map} +0 -0
- /package/client-dist/{chunk-GZCIND56.js.map → chunk-3QLEX2NT.js.map} +0 -0
- /package/client-dist/{chunk-CGMVTKY2.js.map → chunk-5C6MAP7W.js.map} +0 -0
- /package/client-dist/{chunk-JIJ7AJ2M.js.map → chunk-5K6VN44P.js.map} +0 -0
- /package/client-dist/{chunk-Q2OT2QHT.js.map → chunk-5YM2RZWN.js.map} +0 -0
- /package/client-dist/{chunk-OI7T7XSB.js.map → chunk-63EKRGNW.js.map} +0 -0
- /package/client-dist/{chunk-O7GPLAYH.js.map → chunk-63VBJAEW.js.map} +0 -0
- /package/client-dist/{chunk-23VFZSJY.js.map → chunk-6454AQZI.js.map} +0 -0
- /package/client-dist/{chunk-OVLLCTU6.js.map → chunk-6C5KJNDU.js.map} +0 -0
- /package/client-dist/{chunk-UJSPO372.js.map → chunk-6MS4GHDI.js.map} +0 -0
- /package/client-dist/{chunk-C3VSCOG5.js.map → chunk-AC26JISD.js.map} +0 -0
- /package/client-dist/{chunk-DFQTZTHH.js.map → chunk-AOHIUL3Q.js.map} +0 -0
- /package/client-dist/{chunk-VOLGLPD4.js.map → chunk-AQCUVNQI.js.map} +0 -0
- /package/client-dist/{chunk-PTB2WMG4.js.map → chunk-DQKU2LY3.js.map} +0 -0
- /package/client-dist/{chunk-A4VKLUNV.js.map → chunk-DU23SLBW.js.map} +0 -0
- /package/client-dist/{chunk-4VQCWOKK.js.map → chunk-DXLFM7Q4.js.map} +0 -0
- /package/client-dist/{chunk-LXQXCCPD.js.map → chunk-EP2L5MMG.js.map} +0 -0
- /package/client-dist/{chunk-S4OXJMBZ.js.map → chunk-F5R42IJ2.js.map} +0 -0
- /package/client-dist/{chunk-ZLUBPQF4.js.map → chunk-FBGZAXUP.js.map} +0 -0
- /package/client-dist/{chunk-GMWBFGET.js.map → chunk-FSSZAXEP.js.map} +0 -0
- /package/client-dist/{chunk-34EXATDF.js.map → chunk-FZ43K4CA.js.map} +0 -0
- /package/client-dist/{chunk-OSVQTRBX.js.map → chunk-GVZABJSS.js.map} +0 -0
- /package/client-dist/{chunk-EHVMKTXY.js.map → chunk-H35PNXSP.js.map} +0 -0
- /package/client-dist/{chunk-UF5GFNKA.js.map → chunk-H3U7XTKH.js.map} +0 -0
- /package/client-dist/{chunk-AKYBH2CZ.js.map → chunk-HBFH3SIK.js.map} +0 -0
- /package/client-dist/{chunk-ISHXGODD.js.map → chunk-IW5XTVSP.js.map} +0 -0
- /package/client-dist/{chunk-B7HVGHKQ.js.map → chunk-JK4S3AXO.js.map} +0 -0
- /package/client-dist/{chunk-HU4Z3PXD.js.map → chunk-JOJMPCQG.js.map} +0 -0
- /package/client-dist/{chunk-V7VGFFUL.js.map → chunk-K4PMLSYM.js.map} +0 -0
- /package/client-dist/{chunk-2RSAHUCJ.js.map → chunk-K4S55QIE.js.map} +0 -0
- /package/client-dist/{chunk-73KFZET5.js.map → chunk-LEMSEJOC.js.map} +0 -0
- /package/client-dist/{chunk-Y6C2Y6D3.js.map → chunk-LP2FFZC5.js.map} +0 -0
- /package/client-dist/{chunk-4KHQD4F5.js.map → chunk-MG6CV3Y5.js.map} +0 -0
- /package/client-dist/{chunk-GNT26I3L.js.map → chunk-NTLKUZAF.js.map} +0 -0
- /package/client-dist/{chunk-4GDSWQOC.js.map → chunk-NWZRCNKP.js.map} +0 -0
- /package/client-dist/{chunk-7LV7MODT.js.map → chunk-O6PFIEPO.js.map} +0 -0
- /package/client-dist/{chunk-URFXKX63.js.map → chunk-OUM7QH3O.js.map} +0 -0
- /package/client-dist/{chunk-RZTPIE3G.js.map → chunk-QP5RTV4R.js.map} +0 -0
- /package/client-dist/{chunk-W7CDUK6U.js.map → chunk-R26G2XMB.js.map} +0 -0
- /package/client-dist/{chunk-MSGYW52X.js.map → chunk-RYHFLYDS.js.map} +0 -0
- /package/client-dist/{chunk-CHJARZ4T.js.map → chunk-S5TWQ53O.js.map} +0 -0
- /package/client-dist/{chunk-27MRXFCH.js.map → chunk-S75AE6UP.js.map} +0 -0
- /package/client-dist/{chunk-DVXDSOX7.js.map → chunk-SLIWPSFP.js.map} +0 -0
- /package/client-dist/{chunk-WCF4WZ2W.js.map → chunk-SSMQG7T3.js.map} +0 -0
- /package/client-dist/{chunk-N72P5JS2.js.map → chunk-THUA7SW2.js.map} +0 -0
- /package/client-dist/{chunk-C3C6M5O2.js.map → chunk-TMXG7RHS.js.map} +0 -0
- /package/client-dist/{chunk-GS6LMK5O.js.map → chunk-U3UHKPNK.js.map} +0 -0
- /package/client-dist/{chunk-XFRFKRY2.js.map → chunk-USNT5XKJ.js.map} +0 -0
- /package/client-dist/{chunk-XYC6XMFP.js.map → chunk-XC57ZZSB.js.map} +0 -0
- /package/client-dist/{chunk-OSR5TMMM.js.map → chunk-XTJ63H3O.js.map} +0 -0
- /package/client-dist/{chunk-HNBLIGHL.js.map → chunk-YV2UEV2Q.js.map} +0 -0
- /package/client-dist/{chunk-YKYAPYHF.js.map → chunk-YVE7TPMW.js.map} +0 -0
- /package/client-dist/{chunk-SLHYH5BE.js.map → chunk-YVN3KWT7.js.map} +0 -0
- /package/client-dist/{consultant.module-ZXEIKZLL.js.map → consultant.module-YUJFXRDH.js.map} +0 -0
- /package/client-dist/{crd.module-3F4G7NI4.js.map → crd.module-D7KTQGQ4.js.map} +0 -0
- /package/client-dist/{dashboard.module-CLXEVYJW.js.map → dashboard.module-XKKHP5S6.js.map} +0 -0
- /package/client-dist/{do.module-S6G3OBZR.js.map → do.module-PAINTIOK.js.map} +0 -0
- /package/client-dist/{document-library.module-EQM4645W.js.map → document-library.module-XHTVQ4RU.js.map} +0 -0
- /package/client-dist/{embedding-eval.module-NBFQH4BY.js.map → embedding-eval.module-2XU6ZQ5K.js.map} +0 -0
- /package/client-dist/{embedding-registry.module-SDLK2TMJ.js.map → embedding-registry.module-WWIMXCOI.js.map} +0 -0
- /package/client-dist/{err.module-AFMM2VG6.js.map → err.module-W23TJZYC.js.map} +0 -0
- /package/client-dist/{feedback.module-WGC6H5T5.js.map → feedback.module-XD4GWPEY.js.map} +0 -0
- /package/client-dist/{host-runtime-mcp.module-L7KZFRVE.js.map → host-runtime-mcp.module-LLI4OQ2C.js.map} +0 -0
- /package/client-dist/{live-dev-pipeline.module-Q3EZQPBS.js.map → live-dev-pipeline.module-LSDBWWIM.js.map} +0 -0
- /package/client-dist/{logs.module-S7W3VMCQ.js.map → logs.module-ANWE4KDF.js.map} +0 -0
- /package/client-dist/{main-TLWUGQY4.js.map → main-BFY5RGUS.js.map} +0 -0
- /package/client-dist/{master-control-remote-poc.module-4D6ROEMZ.js.map → master-control-remote-poc.module-PVRUD7IM.js.map} +0 -0
- /package/client-dist/{mobile-app.module-6IN7OYMR.js.map → mobile-app.module-QOG42QCA.js.map} +0 -0
- /package/client-dist/{model-registry.module-2VRFFXEM.js.map → model-registry.module-CKTDRM54.js.map} +0 -0
- /package/client-dist/{oc.module-O5QZSJXQ.js.map → oc.module-BWDU2WQQ.js.map} +0 -0
- /package/client-dist/{orc.module-YMIUO4EB.js.map → orc.module-S365TUGD.js.map} +0 -0
- /package/client-dist/{project-management.module-OT6QPOS3.js.map → project-management.module-N26UAZWL.js.map} +0 -0
- /package/client-dist/{project-source-routed.module-WSZ6PTH7.js.map → project-source-routed.module-LACAWUTI.js.map} +0 -0
- /package/client-dist/{scheduler.module-PBVPHM6D.js.map → scheduler.module-UEQBHIBM.js.map} +0 -0
- /package/client-dist/{session.module-PZUIXALN.js.map → session.module-3YT4GI7B.js.map} +0 -0
- /package/client-dist/{set.module-KHH6ZADO.js.map → set.module-RLYKVPBJ.js.map} +0 -0
- /package/client-dist/{setup.module-U5HIBAD6.js.map → setup.module-JLBSWNKP.js.map} +0 -0
- /package/client-dist/{terminals.module-YUSYVMKW.js.map → terminals.module-KT5GHGKP.js.map} +0 -0
- /package/client-dist/{voice-notes-poc.module-PR6GYMNC.js.map → voice-notes-poc.module-TGZUYUB6.js.map} +0 -0
- /package/client-dist/{wfs.module-VCNIMOC4.js.map → wfs.module-PWX57GZB.js.map} +0 -0
- /package/server/build/src/_modules/external-sessions/_modules/claude-code/{_services/core → _collections/utils}/terminal/cc-terminal-runner-spawn.util.d.ts +0 -0
- /package/server/build/src/_modules/external-sessions/_modules/claude-code/{_services/core → _collections/utils}/terminal/cc-terminal-runner-spawn.util.js +0 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const fs_1 = require("fs");
|
|
4
|
+
const os_1 = require("os");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const cc_account_discovery_util_1 = require("../../../_collections/utils/account/cc-account-discovery.util");
|
|
7
|
+
const cc_account_data_model_1 = require("../../../_models/data-models/cc-account.data-model");
|
|
8
|
+
const cc_account_pool_control_service_1 = require("./cc-account-pool.control-service");
|
|
9
|
+
const instance_id_service_1 = require("../../../../../_services/instance-id.service");
|
|
10
|
+
/**
|
|
11
|
+
* CC_AccountPool_ControlService spec — REQ-CC-USAGE-DASHBOARD-001 Slice 1.
|
|
12
|
+
* Object.create + property-stub workaround a singleton wiring elkerülésére.
|
|
13
|
+
*/
|
|
14
|
+
describe('CC_AccountPool_ControlService', () => {
|
|
15
|
+
let tmpDir;
|
|
16
|
+
let credPath;
|
|
17
|
+
function buildStub() {
|
|
18
|
+
const cs = Object.create(cc_account_pool_control_service_1.CC_AccountPool_ControlService.prototype);
|
|
19
|
+
const upsertSpy = jasmine.createSpy('upsertByKey')
|
|
20
|
+
.and.callFake((params) => {
|
|
21
|
+
const acc = new cc_account_data_model_1.CC_Account();
|
|
22
|
+
acc.accountKey = params.accountKey;
|
|
23
|
+
return Promise.resolve(acc);
|
|
24
|
+
});
|
|
25
|
+
const listAllSpy = jasmine.createSpy('listAll')
|
|
26
|
+
.and.returnValue(Promise.resolve([]));
|
|
27
|
+
const getByKeySpy = jasmine.createSpy('getByKey')
|
|
28
|
+
.and.returnValue(Promise.resolve(null));
|
|
29
|
+
const renameSpy = jasmine.createSpy('renameAccount')
|
|
30
|
+
.and.returnValue(Promise.resolve(null));
|
|
31
|
+
const fakeDS = {
|
|
32
|
+
upsertByKey: upsertSpy,
|
|
33
|
+
listAll: listAllSpy,
|
|
34
|
+
getByKey: getByKeySpy,
|
|
35
|
+
renameAccount: renameSpy,
|
|
36
|
+
};
|
|
37
|
+
cs.accountDataService = fakeDS;
|
|
38
|
+
return { cs: cs, upsertSpy: upsertSpy, listAllSpy: listAllSpy, getByKeySpy: getByKeySpy, renameSpy: renameSpy };
|
|
39
|
+
}
|
|
40
|
+
beforeEach(() => {
|
|
41
|
+
tmpDir = (0, fs_1.mkdtempSync)((0, path_1.join)((0, os_1.tmpdir)(), 'cc-account-pool-cs-spec-'));
|
|
42
|
+
credPath = (0, path_1.join)(tmpDir, '.credentials.json');
|
|
43
|
+
spyOn(instance_id_service_1.ExS_InstanceId_Service, 'getInstance').and.returnValue({
|
|
44
|
+
getInstanceId: () => 'ccap-test-instance',
|
|
45
|
+
});
|
|
46
|
+
spyOn(cc_account_discovery_util_1.CC_AccountDiscovery_Util, 'getDefaultCredentialPaths').and.returnValue([credPath]);
|
|
47
|
+
});
|
|
48
|
+
afterEach(() => {
|
|
49
|
+
(0, fs_1.rmSync)(tmpDir, { recursive: true, force: true });
|
|
50
|
+
});
|
|
51
|
+
it('refreshLocalAccounts — happy path: 1 fájl → 1 upsert hívás', async () => {
|
|
52
|
+
(0, fs_1.writeFileSync)(credPath, JSON.stringify({
|
|
53
|
+
claudeAiOauth: {
|
|
54
|
+
accessToken: 'at-1',
|
|
55
|
+
refreshToken: 'rt-stable-1',
|
|
56
|
+
scopes: ['user:inference', 'user:profile'],
|
|
57
|
+
expiresAt: Date.now() + 3_600_000,
|
|
58
|
+
},
|
|
59
|
+
}), 'utf8');
|
|
60
|
+
const { cs, upsertSpy } = buildStub();
|
|
61
|
+
const result = await cs.refreshLocalAccounts();
|
|
62
|
+
expect(result.scannedPaths).toBe(1);
|
|
63
|
+
expect(result.refreshedKeys.length).toBe(1);
|
|
64
|
+
expect(upsertSpy).toHaveBeenCalledTimes(1);
|
|
65
|
+
const arg = upsertSpy.calls.mostRecent().args[0];
|
|
66
|
+
expect(arg.discoveredOnCcapId).toBe('ccap-test-instance');
|
|
67
|
+
expect(arg.credentialPath).toBe(credPath);
|
|
68
|
+
expect(arg.accountType).toBe('claude-subscription');
|
|
69
|
+
expect(arg.tokenStatus).toBe('valid');
|
|
70
|
+
expect(arg.scopes).toEqual(['user:inference', 'user:profile']);
|
|
71
|
+
});
|
|
72
|
+
it('refreshLocalAccounts — graceful: nem létező fájl (missing) → 0 upsert, csendes', async () => {
|
|
73
|
+
// a credPath-ot szándékosan nem hozzuk létre — kind=missing, NINCS warn (csendes).
|
|
74
|
+
const { cs, upsertSpy } = buildStub();
|
|
75
|
+
const result = await cs.refreshLocalAccounts();
|
|
76
|
+
expect(result.scannedPaths).toBe(1);
|
|
77
|
+
expect(result.refreshedKeys.length).toBe(0);
|
|
78
|
+
expect(upsertSpy).not.toHaveBeenCalled();
|
|
79
|
+
});
|
|
80
|
+
it('refreshLocalAccounts — érvénytelen JSON → 0 upsert (kind=invalid-json)', async () => {
|
|
81
|
+
(0, fs_1.writeFileSync)(credPath, '{ not valid json', 'utf8');
|
|
82
|
+
const { cs, upsertSpy } = buildStub();
|
|
83
|
+
const result = await cs.refreshLocalAccounts();
|
|
84
|
+
expect(result.refreshedKeys.length).toBe(0);
|
|
85
|
+
expect(upsertSpy).not.toHaveBeenCalled();
|
|
86
|
+
});
|
|
87
|
+
it('refreshLocalAccounts — empty {} payload → 0 upsert (M4 ghost-account fix)', async () => {
|
|
88
|
+
(0, fs_1.writeFileSync)(credPath, JSON.stringify({}), 'utf8');
|
|
89
|
+
const { cs, upsertSpy } = buildStub();
|
|
90
|
+
const result = await cs.refreshLocalAccounts();
|
|
91
|
+
expect(result.refreshedKeys.length).toBe(0);
|
|
92
|
+
expect(upsertSpy).not.toHaveBeenCalled();
|
|
93
|
+
});
|
|
94
|
+
it('refreshLocalAccounts — scope-incomplete token → tokenStatus jelölt', async () => {
|
|
95
|
+
(0, fs_1.writeFileSync)(credPath, JSON.stringify({
|
|
96
|
+
claudeAiOauth: {
|
|
97
|
+
accessToken: 'at-1',
|
|
98
|
+
refreshToken: 'rt-1',
|
|
99
|
+
scopes: ['user:inference'],
|
|
100
|
+
expiresAt: Date.now() + 3_600_000,
|
|
101
|
+
},
|
|
102
|
+
}), 'utf8');
|
|
103
|
+
const { cs, upsertSpy } = buildStub();
|
|
104
|
+
await cs.refreshLocalAccounts();
|
|
105
|
+
const arg = upsertSpy.calls.mostRecent().args[0];
|
|
106
|
+
expect(arg.tokenStatus).toBe('scope-incomplete');
|
|
107
|
+
});
|
|
108
|
+
it('listAccounts — delegál a data-service-re', async () => {
|
|
109
|
+
const { cs, listAllSpy } = buildStub();
|
|
110
|
+
listAllSpy.and.returnValue(Promise.resolve([new cc_account_data_model_1.CC_Account(), new cc_account_data_model_1.CC_Account()]));
|
|
111
|
+
const result = await cs.listAccounts();
|
|
112
|
+
expect(result.length).toBe(2);
|
|
113
|
+
expect(listAllSpy).toHaveBeenCalledTimes(1);
|
|
114
|
+
});
|
|
115
|
+
it('getAccountByKey — delegál a data-service-re', async () => {
|
|
116
|
+
const { cs, getByKeySpy } = buildStub();
|
|
117
|
+
await cs.getAccountByKey('k1');
|
|
118
|
+
expect(getByKeySpy).toHaveBeenCalledWith('k1');
|
|
119
|
+
});
|
|
120
|
+
it('renameAccount — delegál a data-service-re', async () => {
|
|
121
|
+
const { cs, renameSpy } = buildStub();
|
|
122
|
+
await cs.renameAccount('k1', 'newName');
|
|
123
|
+
expect(renameSpy).toHaveBeenCalledWith('k1', 'newName');
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
//# sourceMappingURL=cc-account-pool.control-service.spec.js.map
|
|
@@ -0,0 +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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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { DyNTS_DataService } from '@futdevpro/nts-dynamo';
|
|
2
|
+
import { CC_Account } from '../../../_models/data-models/cc-account.data-model';
|
|
3
|
+
/**
|
|
4
|
+
* CC Account data service (REQ-CC-USAGE-DASHBOARD-001 Slice 1).
|
|
5
|
+
*
|
|
6
|
+
* Per-`accountKey` upsert + lekérdezés. A pool control-service hívja a
|
|
7
|
+
* discovery-flow után. Best-effort persistence: ha a DB nem érhető el,
|
|
8
|
+
* a discovery flow nem blokkolódik — warn-log + `/errors` rekord.
|
|
9
|
+
*/
|
|
10
|
+
export declare class CC_Account_DataService extends DyNTS_DataService<CC_Account> {
|
|
11
|
+
constructor(params: {
|
|
12
|
+
issuer: string;
|
|
13
|
+
});
|
|
14
|
+
/**
|
|
15
|
+
* Account upsert `accountKey` kulcs alapján. Ha létezik, csak a
|
|
16
|
+
* frissíthető mezőket írjuk át (lastSeenAt, tokenStatus, scopes,
|
|
17
|
+
* credentialPath ha mozgott a fájl). A `firstSeenAt` és `displayName`
|
|
18
|
+
* megőrződnek (a user által átírt nevet nem írjuk felül discovery-vel).
|
|
19
|
+
*/
|
|
20
|
+
upsertByKey(params: {
|
|
21
|
+
accountKey: string;
|
|
22
|
+
discoveredOnCcapId: string;
|
|
23
|
+
credentialPath: string;
|
|
24
|
+
accountType?: string;
|
|
25
|
+
scopes?: string[];
|
|
26
|
+
tokenStatus?: string;
|
|
27
|
+
/** A discovery által javasolt default név (csak első insert-nél használt). */
|
|
28
|
+
suggestedDisplayName?: string;
|
|
29
|
+
}): Promise<CC_Account | null>;
|
|
30
|
+
/** Egy account lekérdezése a stable kulcs alapján; null ha nincs ilyen. */
|
|
31
|
+
getByKey(accountKey: string): Promise<CC_Account | null>;
|
|
32
|
+
/** Cross-instance account-lista (DB SSOT — nem kell PEI relay). */
|
|
33
|
+
listAll(): Promise<CC_Account[]>;
|
|
34
|
+
/** Egy adott CCAP instance által felfedezett account-ok listája. */
|
|
35
|
+
listByDiscoveredCcap(ccapId: string): Promise<CC_Account[]>;
|
|
36
|
+
/** A user által megjelenített név átírása (csak ezt engedjük szerkeszteni). */
|
|
37
|
+
renameAccount(accountKey: string, displayName: string): Promise<CC_Account | null>;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=cc-account.data-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account.data-service.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAuC,MAAM,uBAAuB,CAAC;AAI/F,OAAO,EACL,UAAU,EAEX,MAAM,oDAAoD,CAAC;AAE5D;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,iBAAiB,CAAC,UAAU,CAAC;gBAE3D,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAQtC;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,8EAA8E;QAC9E,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IA6E9B,2EAA2E;IACrE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAgB9D,mEAAmE;IAC7D,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAYtC,oEAAoE;IAC9D,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAgBjE,+EAA+E;IACzE,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAuBzF"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CC_Account_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_data_model_1 = require("../../../_models/data-models/cc-account.data-model");
|
|
9
|
+
/**
|
|
10
|
+
* CC Account data service (REQ-CC-USAGE-DASHBOARD-001 Slice 1).
|
|
11
|
+
*
|
|
12
|
+
* Per-`accountKey` upsert + lekérdezés. A pool control-service hívja a
|
|
13
|
+
* discovery-flow után. Best-effort persistence: ha a DB nem érhető el,
|
|
14
|
+
* a discovery flow nem blokkolódik — warn-log + `/errors` rekord.
|
|
15
|
+
*/
|
|
16
|
+
class CC_Account_DataService extends nts_dynamo_1.DyNTS_DataService {
|
|
17
|
+
constructor(params) {
|
|
18
|
+
super(new cc_account_data_model_1.CC_Account(), cc_account_data_model_1.ccapCcAccount_dataParams, params.issuer);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Account upsert `accountKey` kulcs alapján. Ha létezik, csak a
|
|
22
|
+
* frissíthető mezőket írjuk át (lastSeenAt, tokenStatus, scopes,
|
|
23
|
+
* credentialPath ha mozgott a fájl). A `firstSeenAt` és `displayName`
|
|
24
|
+
* megőrződnek (a user által átírt nevet nem írjuk felül discovery-vel).
|
|
25
|
+
*/
|
|
26
|
+
async upsertByKey(params) {
|
|
27
|
+
try {
|
|
28
|
+
const filter = {
|
|
29
|
+
accountKey: params.accountKey,
|
|
30
|
+
};
|
|
31
|
+
const existing = await this.findData(filter, true);
|
|
32
|
+
const now = new Date();
|
|
33
|
+
if (existing != null && existing._id) {
|
|
34
|
+
// Partial update — discovery-eredetű mezők közül csak a változhatóak.
|
|
35
|
+
// - `discoveredOnCcapId` IMMUTABLE first-insert után: cross-instance refresh
|
|
36
|
+
// esetén nem flip-pelünk ownership-et minden refresh-en (H1 review-fix).
|
|
37
|
+
// A „melyik instance használja most" infót Slice 4 az instance-mapping
|
|
38
|
+
// endpoint-on a CC session DB `accountKey` field-jéből építi (Slice 2 után).
|
|
39
|
+
// - `displayName` sose felülíródik discovery-vel (user-állítható mező).
|
|
40
|
+
// - `credentialPath`, `accountType`, `scopes`, `tokenStatus` discovery-aktualizálható.
|
|
41
|
+
const setFields = {
|
|
42
|
+
credentialPath: params.credentialPath,
|
|
43
|
+
accountType: params.accountType,
|
|
44
|
+
scopes: params.scopes,
|
|
45
|
+
tokenStatus: params.tokenStatus,
|
|
46
|
+
lastSeenAt: now,
|
|
47
|
+
};
|
|
48
|
+
await this.updateData({
|
|
49
|
+
filterBy: { _id: existing._id },
|
|
50
|
+
update: { $set: setFields },
|
|
51
|
+
});
|
|
52
|
+
return { ...existing, ...setFields };
|
|
53
|
+
}
|
|
54
|
+
// Új rekord.
|
|
55
|
+
const record = new cc_account_data_model_1.CC_Account();
|
|
56
|
+
record.accountKey = params.accountKey;
|
|
57
|
+
record.discoveredOnCcapId = params.discoveredOnCcapId;
|
|
58
|
+
record.credentialPath = params.credentialPath;
|
|
59
|
+
record.displayName = params.suggestedDisplayName ?? `account-${params.accountKey.substring(0, 6)}`;
|
|
60
|
+
record.accountType = params.accountType;
|
|
61
|
+
record.scopes = params.scopes;
|
|
62
|
+
record.tokenStatus = params.tokenStatus;
|
|
63
|
+
record.firstSeenAt = now;
|
|
64
|
+
record.lastSeenAt = now;
|
|
65
|
+
this.data = record;
|
|
66
|
+
await this.saveData();
|
|
67
|
+
return record;
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
fsm_dynamo_1.DyFM_Log.warn(`CC_Account_DS | upsertByKey failed (non-blocking)`
|
|
71
|
+
+ ` | accountKey: ${params.accountKey}`
|
|
72
|
+
+ ` | ${err instanceof Error ? err.message : String(err)}`);
|
|
73
|
+
const persistError = new ccap_error_control_model_1.CCAP_Error({
|
|
74
|
+
message: `CC Account record upsert failed — discovery state may not persist`
|
|
75
|
+
+ ` until the next refresh (accountKey: ${params.accountKey}).`,
|
|
76
|
+
errorCode: 'CCAP-CC-ACCOUNT-UPSERT-FAIL',
|
|
77
|
+
status: 500,
|
|
78
|
+
error: err instanceof Error ? err : new Error(String(err)),
|
|
79
|
+
additionalContent: eh_record_build_util_1.Eh_Record_BuildUtil.buildDyFmAdditionalContentForCcapTable({
|
|
80
|
+
additionalContext: {
|
|
81
|
+
source: 'cc-account-ds | upsertByKey',
|
|
82
|
+
accountKey: params.accountKey,
|
|
83
|
+
discoveredOnCcapId: params.discoveredOnCcapId,
|
|
84
|
+
credentialPath: params.credentialPath,
|
|
85
|
+
hint: 'A CC account upsert bukott. A Dashboard-on a felfedezett'
|
|
86
|
+
+ ' account ideiglenesen nem látszik. Megoldás: DB-elérhetőség'
|
|
87
|
+
+ ' ellenőrzése; a /cc-account/refresh endpoint újrahívása.',
|
|
88
|
+
},
|
|
89
|
+
}),
|
|
90
|
+
});
|
|
91
|
+
nts_dynamo_1.DyNTS_GlobalService.globalErrorHandler(persistError);
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/** Egy account lekérdezése a stable kulcs alapján; null ha nincs ilyen. */
|
|
96
|
+
async getByKey(accountKey) {
|
|
97
|
+
try {
|
|
98
|
+
const filter = {
|
|
99
|
+
accountKey: accountKey,
|
|
100
|
+
};
|
|
101
|
+
return await this.findData(filter, true);
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
fsm_dynamo_1.DyFM_Log.warn(`CC_Account_DS | getByKey failed`
|
|
105
|
+
+ ` | accountKey: ${accountKey}`
|
|
106
|
+
+ ` | ${err instanceof Error ? err.message : String(err)}`);
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/** Cross-instance account-lista (DB SSOT — nem kell PEI relay). */
|
|
111
|
+
async listAll() {
|
|
112
|
+
try {
|
|
113
|
+
return await this.findDataList({});
|
|
114
|
+
}
|
|
115
|
+
catch (err) {
|
|
116
|
+
fsm_dynamo_1.DyFM_Log.warn(`CC_Account_DS | listAll failed`
|
|
117
|
+
+ ` | ${err instanceof Error ? err.message : String(err)}`);
|
|
118
|
+
return [];
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/** Egy adott CCAP instance által felfedezett account-ok listája. */
|
|
122
|
+
async listByDiscoveredCcap(ccapId) {
|
|
123
|
+
try {
|
|
124
|
+
const filter = {
|
|
125
|
+
discoveredOnCcapId: ccapId,
|
|
126
|
+
};
|
|
127
|
+
return await this.findDataList(filter);
|
|
128
|
+
}
|
|
129
|
+
catch (err) {
|
|
130
|
+
fsm_dynamo_1.DyFM_Log.warn(`CC_Account_DS | listByDiscoveredCcap failed`
|
|
131
|
+
+ ` | ccapId: ${ccapId}`
|
|
132
|
+
+ ` | ${err instanceof Error ? err.message : String(err)}`);
|
|
133
|
+
return [];
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/** A user által megjelenített név átírása (csak ezt engedjük szerkeszteni). */
|
|
137
|
+
async renameAccount(accountKey, displayName) {
|
|
138
|
+
try {
|
|
139
|
+
const filter = {
|
|
140
|
+
accountKey: accountKey,
|
|
141
|
+
};
|
|
142
|
+
const existing = await this.findData(filter, true);
|
|
143
|
+
if (existing == null || !existing._id) {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
await this.updateData({
|
|
147
|
+
filterBy: { _id: existing._id },
|
|
148
|
+
update: { $set: { displayName: displayName } },
|
|
149
|
+
});
|
|
150
|
+
return { ...existing, displayName: displayName };
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
fsm_dynamo_1.DyFM_Log.warn(`CC_Account_DS | renameAccount failed`
|
|
154
|
+
+ ` | accountKey: ${accountKey}`
|
|
155
|
+
+ ` | ${err instanceof Error ? err.message : String(err)}`);
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
exports.CC_Account_DataService = CC_Account_DataService;
|
|
161
|
+
//# sourceMappingURL=cc-account.data-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account.data-service.js","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account.data-service.spec.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const cc_account_data_model_1 = require("../../../_models/data-models/cc-account.data-model");
|
|
4
|
+
const cc_account_data_service_1 = require("./cc-account.data-service");
|
|
5
|
+
/**
|
|
6
|
+
* CC_Account_DataService spec — REQ-CC-USAGE-DASHBOARD-001 Slice 1.
|
|
7
|
+
* Object.create + findData/findDataList/saveData/updateData stub workaround
|
|
8
|
+
* (mintára `cc-rate-limit-state.data-service.spec.ts` szerint).
|
|
9
|
+
*/
|
|
10
|
+
describe('CC_Account_DataService', () => {
|
|
11
|
+
function buildStub() {
|
|
12
|
+
const ds = Object.create(cc_account_data_service_1.CC_Account_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_data_model_1.CC_Account()));
|
|
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('upsertByKey — új rekord → saveData + suggestedDisplayName használt', async () => {
|
|
28
|
+
const { ds, saveSpy, updateSpy } = buildStub();
|
|
29
|
+
const result = await ds.upsertByKey({
|
|
30
|
+
accountKey: 'a1b2c3d4e5f6',
|
|
31
|
+
discoveredOnCcapId: 'ccap-1',
|
|
32
|
+
credentialPath: '/p/.creds.json',
|
|
33
|
+
accountType: 'claude-subscription',
|
|
34
|
+
tokenStatus: 'valid',
|
|
35
|
+
suggestedDisplayName: 'Custom suggested',
|
|
36
|
+
});
|
|
37
|
+
expect(saveSpy).toHaveBeenCalledTimes(1);
|
|
38
|
+
expect(updateSpy).not.toHaveBeenCalled();
|
|
39
|
+
expect(result).not.toBeNull();
|
|
40
|
+
expect(ds.data?.accountKey).toBe('a1b2c3d4e5f6');
|
|
41
|
+
expect(ds.data?.displayName).toBe('Custom suggested');
|
|
42
|
+
expect(ds.data?.firstSeenAt).toBeDefined();
|
|
43
|
+
});
|
|
44
|
+
it('upsertByKey — új rekord suggestedDisplayName nélkül → auto `account-{first6}`', async () => {
|
|
45
|
+
const { ds } = buildStub();
|
|
46
|
+
await ds.upsertByKey({
|
|
47
|
+
accountKey: 'abcdef123456',
|
|
48
|
+
discoveredOnCcapId: 'ccap-1',
|
|
49
|
+
credentialPath: '/p',
|
|
50
|
+
});
|
|
51
|
+
expect(ds.data?.displayName).toBe('account-abcdef');
|
|
52
|
+
});
|
|
53
|
+
it('upsertByKey — létező rekord → updateData $set, displayName NEM íródik felül', async () => {
|
|
54
|
+
const existing = Object.assign(new cc_account_data_model_1.CC_Account(), {
|
|
55
|
+
_id: 'mongo-id-1',
|
|
56
|
+
accountKey: 'k1',
|
|
57
|
+
displayName: 'User-renamed',
|
|
58
|
+
});
|
|
59
|
+
const { ds, findDataSpy, updateSpy, saveSpy } = buildStub();
|
|
60
|
+
findDataSpy.and.returnValue(Promise.resolve(existing));
|
|
61
|
+
await ds.upsertByKey({
|
|
62
|
+
accountKey: 'k1',
|
|
63
|
+
discoveredOnCcapId: 'ccap-2',
|
|
64
|
+
credentialPath: '/new/p',
|
|
65
|
+
tokenStatus: 'expired',
|
|
66
|
+
});
|
|
67
|
+
expect(updateSpy).toHaveBeenCalledTimes(1);
|
|
68
|
+
expect(saveSpy).not.toHaveBeenCalled();
|
|
69
|
+
const arg = updateSpy.calls.mostRecent().args[0];
|
|
70
|
+
expect(arg.filterBy._id).toBe('mongo-id-1');
|
|
71
|
+
expect(arg.update.$set.tokenStatus).toBe('expired');
|
|
72
|
+
expect(arg.update.$set.credentialPath).toBe('/new/p');
|
|
73
|
+
// displayName nincs benne a $set-ben → nem íródik felül (user-állítható).
|
|
74
|
+
expect(arg.update.$set.displayName).toBeUndefined();
|
|
75
|
+
// discoveredOnCcapId NINCS a $set-ben (H1 fix): immutable first-insert után.
|
|
76
|
+
expect(arg.update.$set.discoveredOnCcapId).toBeUndefined();
|
|
77
|
+
});
|
|
78
|
+
it('getByKey — létező rekord visszaadva', async () => {
|
|
79
|
+
const account = Object.assign(new cc_account_data_model_1.CC_Account(), { accountKey: 'k1' });
|
|
80
|
+
const { ds, findDataSpy } = buildStub();
|
|
81
|
+
findDataSpy.and.returnValue(Promise.resolve(account));
|
|
82
|
+
const result = await ds.getByKey('k1');
|
|
83
|
+
expect(result?.accountKey).toBe('k1');
|
|
84
|
+
});
|
|
85
|
+
it('getByKey — null ha nincs ilyen', async () => {
|
|
86
|
+
const { ds } = buildStub();
|
|
87
|
+
const result = await ds.getByKey('nope');
|
|
88
|
+
expect(result).toBeNull();
|
|
89
|
+
});
|
|
90
|
+
it('listAll — empty filter használata', async () => {
|
|
91
|
+
const { ds, findListSpy } = buildStub();
|
|
92
|
+
findListSpy.and.returnValue(Promise.resolve([new cc_account_data_model_1.CC_Account(), new cc_account_data_model_1.CC_Account()]));
|
|
93
|
+
const result = await ds.listAll();
|
|
94
|
+
expect(result.length).toBe(2);
|
|
95
|
+
expect(findListSpy).toHaveBeenCalledWith({});
|
|
96
|
+
});
|
|
97
|
+
it('listByDiscoveredCcap — szűrés ccapId-re', async () => {
|
|
98
|
+
const { ds, findListSpy } = buildStub();
|
|
99
|
+
await ds.listByDiscoveredCcap('ccap-42');
|
|
100
|
+
expect(findListSpy.calls.mostRecent().args[0]).toEqual({ discoveredOnCcapId: 'ccap-42' });
|
|
101
|
+
});
|
|
102
|
+
it('renameAccount — happy path → updateData displayName-mel', async () => {
|
|
103
|
+
const existing = Object.assign(new cc_account_data_model_1.CC_Account(), {
|
|
104
|
+
_id: 'mongo-id-1', accountKey: 'k1', displayName: 'old',
|
|
105
|
+
});
|
|
106
|
+
const { ds, findDataSpy, updateSpy } = buildStub();
|
|
107
|
+
findDataSpy.and.returnValue(Promise.resolve(existing));
|
|
108
|
+
const result = await ds.renameAccount('k1', 'newName');
|
|
109
|
+
expect(updateSpy).toHaveBeenCalledTimes(1);
|
|
110
|
+
expect(result?.displayName).toBe('newName');
|
|
111
|
+
});
|
|
112
|
+
it('renameAccount — null ha nincs ilyen accountKey', async () => {
|
|
113
|
+
const { ds, updateSpy } = buildStub();
|
|
114
|
+
const result = await ds.renameAccount('nope', 'name');
|
|
115
|
+
expect(result).toBeNull();
|
|
116
|
+
expect(updateSpy).not.toHaveBeenCalled();
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
//# sourceMappingURL=cc-account.data-service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account.data-service.spec.js","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,52 +43,38 @@ export declare class CC_AdapterTerminal_ControlService extends DyNTS_SingletonSe
|
|
|
43
43
|
private pendingAckSequence;
|
|
44
44
|
/** Cycle 781: per-session runner version a `cc:register`-ből. */
|
|
45
45
|
private runnerVersions;
|
|
46
|
-
/** Terminal mode enabled
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* aktiválható (a spawnTerminalRunner-ben az emulator-detekció dönt, hogy van-e használható
|
|
50
|
-
* gnome-terminal / konsole / xterm stb. + DISPLAY/WAYLAND). macOS egyelőre nem támogatott. */
|
|
46
|
+
/** Terminal mode enabled (manager settings-ből). win32 default true (cmd.exe detached).
|
|
47
|
+
* Linux: settings-driven, spawnTerminalRunner emulator-detekció (gnome-terminal/konsole/xterm
|
|
48
|
+
* + DISPLAY/WAYLAND). macOS nem támogatott. */
|
|
51
49
|
private isTerminalModeEnabled;
|
|
52
|
-
/** Runner reconnect grace period (
|
|
53
|
-
*
|
|
54
|
-
* a sendInputViaTerminal + spawnSession polling loop-ja ezt az értéket × 2 iterációval
|
|
55
|
-
* hajtja végig (500ms lépések). */
|
|
50
|
+
/** Runner reconnect grace period (sec) — REQ-CCSESS-TR-005, manager push-olja.
|
|
51
|
+
* Default 3600s (REQ-CC-RUNNER-GRACE-LONG-001 cycle 749). Polling × 2 iter (500ms lépések). */
|
|
56
52
|
private runnerGracePeriodSec;
|
|
57
53
|
/** Modul betöltés időpontja — grace period számításhoz (process.uptime() nem használható,
|
|
58
54
|
* mert a pipeline ugyanabban a Node.js process-ben fut a require-on keresztül). */
|
|
59
55
|
private readonly moduleLoadedAt;
|
|
60
56
|
/**
|
|
61
|
-
* BUG-CC-RESTART-RECOVERY-POLL-001: in-flight resumeSession check
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* (NE öljük a friss runner-t, ha resumeSession DB-status reset-en dolgozik).
|
|
65
|
-
* Default `() => false` — manager még nincs készen → konzervatív, nem véd.
|
|
57
|
+
* BUG-CC-RESTART-RECOVERY-POLL-001: in-flight resumeSession check (cyclic-import
|
|
58
|
+
* elkerülésére, manager bootstrap regisztrálja). Default false — `verifyAndKillIfStillClosed`
|
|
59
|
+
* konzervatív, NE öljük a friss runner-t resumeSession DB-status reset alatt.
|
|
66
60
|
*/
|
|
67
61
|
private resumeInFlightChecker;
|
|
68
62
|
/** Manager bootstrap-kor regisztrálja a checker-t. */
|
|
69
63
|
setResumeInFlightChecker(checker: (sessionId: string) => boolean): void;
|
|
70
64
|
/**
|
|
71
65
|
* BUG-CC-TERM-STALE-STARTING-001 (cycle 807): terminal-spawn in-flight tracker.
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
* → tényleges spawn folyik, busy → queue. Add a sendInputViaTerminal status-push
|
|
75
|
-
* előtt (cycle 805); delete try/finally-ben, hibaúton is.
|
|
66
|
+
* `manager.isBusyProcessing`: starting-runtime + NEM-Set → stale-spawn override;
|
|
67
|
+
* Set → tényleges spawn → busy → queue. Add status-push előtt, delete try/finally.
|
|
76
68
|
*/
|
|
77
69
|
private spawnInFlightSessions;
|
|
78
70
|
/** Public: a manager.isBusyProcessing checkje hozzá. */
|
|
79
71
|
isSpawnInFlight(sessionId: string): boolean;
|
|
80
72
|
/**
|
|
81
|
-
* BUG-CC-TERM-DISCONNECT-PREMATURE-WAIT-001 (
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
* sessionnek → direct path → cc:spawn-prompt → runner kill old claude →
|
|
87
|
-
* process-replace (user-tünet: „belehányt nekem egy üzenetet a futó folyamatba").
|
|
88
|
-
*
|
|
89
|
-
* New logika: disconnect-kor 5s-os deferred timer. Ha a runner reconnect-el
|
|
90
|
-
* időben (handleTerminalRegister), a timer cancel-elve, status marad `running`.
|
|
91
|
-
* Ha 5s után még mindig nincs runner, a flip végrehajtódik.
|
|
73
|
+
* BUG-CC-TERM-DISCONNECT-PREMATURE-WAIT-001 (cycle 808): deferred 5s disconnect →
|
|
74
|
+
* waitingInput flip timers. Tranziens Socket.IO blip (~1-3s reconnect) NE flippelje
|
|
75
|
+
* azonnal a sessiont — handleTerminalRegister cancel-eli a timert; 5s után tényleges
|
|
76
|
+
* idle → flip. Megelőzi a "user új üzenetet küld látszólagos idle session-nek →
|
|
77
|
+
* runner kill claude → process-replace" race-t.
|
|
92
78
|
*/
|
|
93
79
|
private deferredDisconnectFlips;
|
|
94
80
|
/** Disconnect-deferred-flip timer cleanup constant. 5s biztos margin tranziens
|
|
@@ -195,17 +181,21 @@ export declare class CC_AdapterTerminal_ControlService extends DyNTS_SingletonSe
|
|
|
195
181
|
* disconnect minden csatlakozott runner-nek. Szélesebb halmazt fed le mint a manager
|
|
196
182
|
* sessionConfigs alapú iterációja (lecsatlakozott / reconnect-re váró runner-ek is).
|
|
197
183
|
*/
|
|
184
|
+
/** Cycle 834: extract → CC_TerminalRunnerControl_Util.disconnectAllRunners. */
|
|
198
185
|
disconnectAllRunners(): void;
|
|
199
186
|
/** Cycle 781: runner version sessionId-hez (undefined ha pre-781 / nincs registration). */
|
|
200
187
|
getRunnerVersion(sessionId: string): string | undefined;
|
|
201
|
-
/**
|
|
188
|
+
/**
|
|
189
|
+
* Cycle 781e: runner kill + respawn egy hívásban (UI-button trigger).
|
|
190
|
+
* Cycle 834: kill+cleanup → CC_TerminalRunnerControl_Util.killSocketAndCleanState.
|
|
191
|
+
*/
|
|
202
192
|
restartRunner(params: {
|
|
203
193
|
sessionId: string;
|
|
204
194
|
workspacePath: string;
|
|
205
195
|
}): Promise<{
|
|
206
196
|
terminalId: string;
|
|
207
197
|
}>;
|
|
208
|
-
/** Cycle 781:
|
|
198
|
+
/** Cycle 781 + 834 extract: runnerVersions Map → tömb (version-info endpoint). */
|
|
209
199
|
listAllRunnerVersions(): {
|
|
210
200
|
sessionId: string;
|
|
211
201
|
runnerVersion: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cc-adapter-terminal.control-service.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"cc-adapter-terminal.control-service.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.ts"],"names":[],"mappings":"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"}
|