@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,61 @@
|
|
|
1
|
+
import { CC_TerminalSocket_Interface } from '../../../_services/core/cc-adapter.interface';
|
|
2
|
+
/**
|
|
3
|
+
* Cycle 834 (REQ-CC-ADAPTER-TERMINAL-REFACTOR-001 Slice 1) — extract a
|
|
4
|
+
* `cc-adapter-terminal.control-service.ts`-ből (plan-méretű master-slave
|
|
5
|
+
* refaktor első szelete; cycle 825 commit-note óta deferred). A három
|
|
6
|
+
* egyszerű, shared-state-paramétert kapó runner-control műveletet (kill +
|
|
7
|
+
* cleanup, disconnect-all, list-versions) ide hozzuk.
|
|
8
|
+
*
|
|
9
|
+
* A státus map-ek (`terminalSockets`, `terminalIds`, `runnerVersions`,
|
|
10
|
+
* `pendingKillReasons`) továbbra is a control-service tulajdonai —
|
|
11
|
+
* paraméterként megyünk át rajtuk, hogy a fájl-token-length küszöb alá
|
|
12
|
+
* vihessük a control-service-t. A util pure-static, könnyen tesztelhető.
|
|
13
|
+
*/
|
|
14
|
+
export declare class CC_TerminalRunnerControl_Util {
|
|
15
|
+
/**
|
|
16
|
+
* Egy adott socket SIGTERM kill-je + in-memory cleanup (terminalSockets /
|
|
17
|
+
* terminalIds / runnerVersions delete). A `pendingKillReasons`-t a hívó-által
|
|
18
|
+
* adott kategória-stringgel tölti fel, hogy a process-exit-handler a kill
|
|
19
|
+
* indokot lássa. Best-effort emit + disconnect (try/catch elnyel).
|
|
20
|
+
*/
|
|
21
|
+
static killSocketAndCleanState(params: {
|
|
22
|
+
sessionId: string;
|
|
23
|
+
socket: CC_TerminalSocket_Interface;
|
|
24
|
+
killReason: string;
|
|
25
|
+
terminalSockets: Map<string, CC_TerminalSocket_Interface>;
|
|
26
|
+
terminalIds: Map<string, string>;
|
|
27
|
+
runnerVersions: Map<string, string>;
|
|
28
|
+
pendingKillReasons: Map<string, string>;
|
|
29
|
+
logContextLabel: string;
|
|
30
|
+
}): void;
|
|
31
|
+
/**
|
|
32
|
+
* Server graceful shutdown ágon: minden élő terminal-runner socket-re
|
|
33
|
+
* SIGTERM + disconnect, plusz a Map-ek teljes ürítése. `pendingKillReasons`-t
|
|
34
|
+
* `serverShutdown`-ra állítja. Üres Map → no-op.
|
|
35
|
+
*/
|
|
36
|
+
static disconnectAllRunners(params: {
|
|
37
|
+
terminalSockets: Map<string, CC_TerminalSocket_Interface>;
|
|
38
|
+
terminalIds: Map<string, string>;
|
|
39
|
+
pendingKillReasons: Map<string, string>;
|
|
40
|
+
}): void;
|
|
41
|
+
/**
|
|
42
|
+
* Cycle 781 (REQ-SYS-INSTALL-VERSION-CHECK-001) — runnerVersions Map →
|
|
43
|
+
* { sessionId, runnerVersion }[] tömb a version-info REST endpoint-hoz.
|
|
44
|
+
*/
|
|
45
|
+
static listAllRunnerVersions(runnerVersions: Map<string, string>): {
|
|
46
|
+
sessionId: string;
|
|
47
|
+
runnerVersion: string;
|
|
48
|
+
}[];
|
|
49
|
+
/**
|
|
50
|
+
* Cycle 834 Slice 2 — `hadRunnerSet` feltöltése a `cc_terminal` DB-ből: azok
|
|
51
|
+
* a session-ök, amelyekhez korábban volt runner rekord. A grace-period
|
|
52
|
+
* döntésekhez kell, hogy server-restart után a visszacsatlakozó runner-re
|
|
53
|
+
* a türelmi idő bekapcsoljon. A control-service ezt a Promise-t a
|
|
54
|
+
* `hadRunnerSetReady`-be teszi, és a recovery (recoverOrphanedSessions)
|
|
55
|
+
* az await-tel megvárja.
|
|
56
|
+
*/
|
|
57
|
+
static loadHadRunnerSetFromDb(params: {
|
|
58
|
+
hadRunnerSet: Set<string>;
|
|
59
|
+
}): Promise<void>;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=cc-terminal-runner-control.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-terminal-runner-control.util.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_collections/utils/terminal/cc-terminal-runner-control.util.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAG3F;;;;;;;;;;;GAWG;AACH,qBAAa,6BAA6B;IAExC;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE;QACrC,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,2BAA2B,CAAC;QACpC,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;QAC1D,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,IAAI;IAsBR;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE;QAClC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;QAC1D,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC,GAAG,IAAI;IA4BR;;;OAGG;IACH,MAAM,CAAC,qBAAqB,CAC1B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,EAAE;IAQjD;;;;;;;OAOG;IACH,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE;QACpC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;KAC3B,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBlB"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CC_TerminalRunnerControl_Util = void 0;
|
|
4
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
|
+
const cc_kill_reasons_const_1 = require("../../consts/cc-kill-reasons.const");
|
|
6
|
+
const cc_terminal_data_service_1 = require("../../../_services/core/terminal/cc-terminal.data-service");
|
|
7
|
+
/**
|
|
8
|
+
* Cycle 834 (REQ-CC-ADAPTER-TERMINAL-REFACTOR-001 Slice 1) — extract a
|
|
9
|
+
* `cc-adapter-terminal.control-service.ts`-ből (plan-méretű master-slave
|
|
10
|
+
* refaktor első szelete; cycle 825 commit-note óta deferred). A három
|
|
11
|
+
* egyszerű, shared-state-paramétert kapó runner-control műveletet (kill +
|
|
12
|
+
* cleanup, disconnect-all, list-versions) ide hozzuk.
|
|
13
|
+
*
|
|
14
|
+
* A státus map-ek (`terminalSockets`, `terminalIds`, `runnerVersions`,
|
|
15
|
+
* `pendingKillReasons`) továbbra is a control-service tulajdonai —
|
|
16
|
+
* paraméterként megyünk át rajtuk, hogy a fájl-token-length küszöb alá
|
|
17
|
+
* vihessük a control-service-t. A util pure-static, könnyen tesztelhető.
|
|
18
|
+
*/
|
|
19
|
+
class CC_TerminalRunnerControl_Util {
|
|
20
|
+
/**
|
|
21
|
+
* Egy adott socket SIGTERM kill-je + in-memory cleanup (terminalSockets /
|
|
22
|
+
* terminalIds / runnerVersions delete). A `pendingKillReasons`-t a hívó-által
|
|
23
|
+
* adott kategória-stringgel tölti fel, hogy a process-exit-handler a kill
|
|
24
|
+
* indokot lássa. Best-effort emit + disconnect (try/catch elnyel).
|
|
25
|
+
*/
|
|
26
|
+
static killSocketAndCleanState(params) {
|
|
27
|
+
params.pendingKillReasons.set(params.sessionId, params.killReason);
|
|
28
|
+
try {
|
|
29
|
+
params.socket.emit('cc:kill', { signal: 'SIGTERM' });
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
// Best-effort — a socket lehet már elesett.
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
params.socket.disconnect(true);
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
// Best-effort.
|
|
39
|
+
}
|
|
40
|
+
fsm_dynamo_1.DyFM_Log.info(`${params.logContextLabel} | killed`
|
|
41
|
+
+ ` | session: ${params.sessionId}`
|
|
42
|
+
+ ` | terminalId: ${params.terminalIds.get(params.sessionId) ?? 'unknown'}`);
|
|
43
|
+
params.terminalSockets.delete(params.sessionId);
|
|
44
|
+
params.terminalIds.delete(params.sessionId);
|
|
45
|
+
params.runnerVersions.delete(params.sessionId);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Server graceful shutdown ágon: minden élő terminal-runner socket-re
|
|
49
|
+
* SIGTERM + disconnect, plusz a Map-ek teljes ürítése. `pendingKillReasons`-t
|
|
50
|
+
* `serverShutdown`-ra állítja. Üres Map → no-op.
|
|
51
|
+
*/
|
|
52
|
+
static disconnectAllRunners(params) {
|
|
53
|
+
const count = params.terminalSockets.size;
|
|
54
|
+
if (!count) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
fsm_dynamo_1.DyFM_Log.info(`CC_AdapterTerminal | disconnectAllRunners | count: ${count}`);
|
|
58
|
+
for (const [sessionId, socket] of params.terminalSockets.entries()) {
|
|
59
|
+
params.pendingKillReasons.set(sessionId, cc_kill_reasons_const_1.CC_KILL_REASONS.serverShutdown);
|
|
60
|
+
try {
|
|
61
|
+
socket.emit('cc:kill', { signal: 'SIGTERM' });
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
// Best-effort — a socket lehet már elesett.
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
socket.disconnect(true);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// Best-effort.
|
|
71
|
+
}
|
|
72
|
+
fsm_dynamo_1.DyFM_Log.info(`CC_AdapterTerminal | disconnectAllRunners | killed`
|
|
73
|
+
+ ` | session: ${sessionId}`
|
|
74
|
+
+ ` | terminalId: ${params.terminalIds.get(sessionId) ?? 'unknown'}`);
|
|
75
|
+
}
|
|
76
|
+
params.terminalSockets.clear();
|
|
77
|
+
params.terminalIds.clear();
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Cycle 781 (REQ-SYS-INSTALL-VERSION-CHECK-001) — runnerVersions Map →
|
|
81
|
+
* { sessionId, runnerVersion }[] tömb a version-info REST endpoint-hoz.
|
|
82
|
+
*/
|
|
83
|
+
static listAllRunnerVersions(runnerVersions) {
|
|
84
|
+
const out = [];
|
|
85
|
+
for (const [sessionId, runnerVersion] of runnerVersions.entries()) {
|
|
86
|
+
out.push({ sessionId: sessionId, runnerVersion: runnerVersion });
|
|
87
|
+
}
|
|
88
|
+
return out;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Cycle 834 Slice 2 — `hadRunnerSet` feltöltése a `cc_terminal` DB-ből: azok
|
|
92
|
+
* a session-ök, amelyekhez korábban volt runner rekord. A grace-period
|
|
93
|
+
* döntésekhez kell, hogy server-restart után a visszacsatlakozó runner-re
|
|
94
|
+
* a türelmi idő bekapcsoljon. A control-service ezt a Promise-t a
|
|
95
|
+
* `hadRunnerSetReady`-be teszi, és a recovery (recoverOrphanedSessions)
|
|
96
|
+
* az await-tel megvárja.
|
|
97
|
+
*/
|
|
98
|
+
static loadHadRunnerSetFromDb(params) {
|
|
99
|
+
const termDS = new cc_terminal_data_service_1.CC_Terminal_DataService({ issuer: 'cc-adapter-terminal-init' });
|
|
100
|
+
return termDS.findAll().then((records) => {
|
|
101
|
+
for (const rec of records) {
|
|
102
|
+
if (rec.sessionId) {
|
|
103
|
+
params.hadRunnerSet.add(rec.sessionId);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
fsm_dynamo_1.DyFM_Log.info(`CC_AdapterTerminal | hadRunnerSet loaded from DB | count: ${params.hadRunnerSet.size}`);
|
|
107
|
+
}).catch((err) => {
|
|
108
|
+
fsm_dynamo_1.DyFM_Log.error(`CC_AdapterTerminal | hadRunnerSet DB load failed — grace period decisions may be inaccurate`
|
|
109
|
+
+ ` | error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(err)}`);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.CC_TerminalRunnerControl_Util = CC_TerminalRunnerControl_Util;
|
|
114
|
+
//# sourceMappingURL=cc-terminal-runner-control.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-terminal-runner-control.util.js","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_collections/utils/terminal/cc-terminal-runner-control.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-terminal-runner-spawn.util.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_collections/utils/terminal/cc-terminal-runner-spawn.util.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,sCAAsC,EAAE,MAAM,uEAAuE,CAAC;AAE/H;;;;;;;;;;;;;;GAcG;AAEH,qDAAqD;AACrD,qBAAa,2BAA2B;IAEtC;;;;;OAKG;WACU,0BAA0B,CAAC,MAAM,EAAE;QAC9C,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,sCAAsC,CAAC;IAOnD,gFAAgF;mBAC3D,cAAc;IA0DnC,iGAAiG;mBAC5E,YAAY;CA+DlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-terminal-runner-spawn.util.js","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_collections/utils/terminal/cc-terminal-runner-spawn.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { DyFM_DataModel_Params, DyFM_Metadata } from '@futdevpro/fsm-dynamo';
|
|
2
|
+
/**
|
|
3
|
+
* CC Account data model (REQ-CC-USAGE-DASHBOARD-001 Slice 1).
|
|
4
|
+
*
|
|
5
|
+
* Egy CC „account" = a Claude Code CLI subprocess által használt
|
|
6
|
+
* Anthropic OAuth-credential set (`~/.claude/.credentials.json`-szerű fájl).
|
|
7
|
+
* SCOPE: kizárólag a CC tool-modulon belül; nem rendszer-szintű
|
|
8
|
+
* user/auth entitás. A user egyetlen gépen több credential-fájlt is
|
|
9
|
+
* felfedezhet (default + alternatív path-ok), és a Dashboard mind a
|
|
10
|
+
* felfedezetteket egységesen mutatja.
|
|
11
|
+
*
|
|
12
|
+
* Natural unique key: `accountKey` (a credential-payload SHA-256-jából
|
|
13
|
+
* derivált 12-hex char). A user ugyanazt a credential-fájlt új path-on
|
|
14
|
+
* is regisztrálhatja — ha ugyanaz a refreshToken, ugyanaz az accountKey,
|
|
15
|
+
* tehát nem lesz duplikátum. Két különböző credential-set sose ütközik.
|
|
16
|
+
*/
|
|
17
|
+
export declare class CC_Account extends DyFM_Metadata {
|
|
18
|
+
/** Stable id a credential-payload SHA-256-jából (12 hex char). Natural unique key. */
|
|
19
|
+
accountKey: string;
|
|
20
|
+
/** Mely CCAP instance fedezte fel ezt a credential-fájlt (lokális gép). */
|
|
21
|
+
discoveredOnCcapId: string;
|
|
22
|
+
/** Credential fájl-elérési út (pl. `/home/user/.claude/.credentials.json`). */
|
|
23
|
+
credentialPath: string;
|
|
24
|
+
/** User-given megjelenített név; alapértelmezett: `account-{accountKey első 6 char}`. */
|
|
25
|
+
displayName: string;
|
|
26
|
+
/**
|
|
27
|
+
* Auth-típus klasszifikáció:
|
|
28
|
+
* `claude-subscription` | `console-api` | `bedrock` | `vertex` | `foundry` | `unknown`.
|
|
29
|
+
* MVP-ben főleg `claude-subscription`-t várunk (ez a `~/.claude/.credentials.json`).
|
|
30
|
+
*/
|
|
31
|
+
accountType?: string;
|
|
32
|
+
/** OAuth profile-ből, ha lekérdezhető (`user:profile` scope szükséges). */
|
|
33
|
+
email?: string;
|
|
34
|
+
/** OAuth profile-ből, ha lekérdezhető. */
|
|
35
|
+
organizationId?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Auto-detected plan tier:
|
|
38
|
+
* `pro` | `max-5x` | `max-20x` | `team` | `enterprise` | `console` | `unknown`.
|
|
39
|
+
*/
|
|
40
|
+
planTier?: string;
|
|
41
|
+
/** OAuth scopes a credential payload-ból. */
|
|
42
|
+
scopes?: string[];
|
|
43
|
+
/**
|
|
44
|
+
* Token-státusz klasszifikáció:
|
|
45
|
+
* `valid` | `expired` | `revoked` | `scope-incomplete` | `unknown`.
|
|
46
|
+
* Az `expired` az `expiresAt` timestamp alapján; `revoked`-ot csak
|
|
47
|
+
* a `/api/oauth/usage` 401-es válasz után tudjuk biztosan, MVP-ben az
|
|
48
|
+
* `unknown` lehet ennek a placeholder-je.
|
|
49
|
+
*/
|
|
50
|
+
tokenStatus?: string;
|
|
51
|
+
/** Első felfedezés időpontja (a `__created` mellett külön bélyeg, mert a __created az insert-időt jelöli). */
|
|
52
|
+
firstSeenAt?: Date;
|
|
53
|
+
/** Legutóbbi sikeres discovery / refresh időpontja. */
|
|
54
|
+
lastSeenAt?: Date;
|
|
55
|
+
/** Legutóbbi CC subprocess spawn ezzel a credential-szettel. */
|
|
56
|
+
lastUsedAt?: Date;
|
|
57
|
+
/** Mely CCAP instance használta utoljára. */
|
|
58
|
+
lastUsedByCcapId?: string;
|
|
59
|
+
/** Melyik CC session futott utoljára ezen az account-on. */
|
|
60
|
+
lastUsedBySessionId?: string;
|
|
61
|
+
constructor(set?: CC_Account);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* MongoDB dataParams: `ccap_cc_account` collection.
|
|
65
|
+
* `accountKey` a logikai natural unique key (`unique: true`) — az upsert
|
|
66
|
+
* pattern erre szűr; race-condition ablakot a Mongo-szintű unique constraint
|
|
67
|
+
* zárja be (cycle 836 review-fix).
|
|
68
|
+
* `discoveredOnCcapId` indexelt single-field — az instance-szintű listázás
|
|
69
|
+
* kis adatmennyiségen ezzel hatékony; compound index nincs (a Slice 1
|
|
70
|
+
* lekérdezések ezen tovább szűrnek a memóriában). Ha Slice 4-ben a
|
|
71
|
+
* cross-instance aggregáció nagyobb DB-méreten lassú lesz, akkor ott
|
|
72
|
+
* mérlegeljük a compound `(discoveredOnCcapId, lastSeenAt)` indexet.
|
|
73
|
+
*/
|
|
74
|
+
export declare const ccapCcAccount_dataParams: DyFM_DataModel_Params<CC_Account>;
|
|
75
|
+
//# sourceMappingURL=cc-account.data-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account.data-model.d.ts","sourceRoot":"","sources":["../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account.data-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAe,MAAM,uBAAuB,CAAC;AAE1F;;;;;;;;;;;;;;GAcG;AACH,qBAAa,UAAW,SAAQ,aAAa;IAC3C,sFAAsF;IACtF,UAAU,EAAE,MAAM,CAAM;IAExB,2EAA2E;IAC3E,kBAAkB,EAAE,MAAM,CAAM;IAEhC,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAM;IAE5B,yFAAyF;IACzF,WAAW,EAAE,MAAM,CAAM;IAEzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,8GAA8G;IAC9G,WAAW,CAAC,EAAE,IAAI,CAAC;IAEnB,uDAAuD;IACvD,UAAU,CAAC,EAAE,IAAI,CAAC;IAElB,gEAAgE;IAChE,UAAU,CAAC,EAAE,IAAI,CAAC;IAElB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;gBAEjB,GAAG,CAAC,EAAE,UAAU;CAO7B;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,EAAE,qBAAqB,CAAC,UAAU,CAoBnE,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ccapCcAccount_dataParams = exports.CC_Account = void 0;
|
|
4
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
|
+
/**
|
|
6
|
+
* CC Account data model (REQ-CC-USAGE-DASHBOARD-001 Slice 1).
|
|
7
|
+
*
|
|
8
|
+
* Egy CC „account" = a Claude Code CLI subprocess által használt
|
|
9
|
+
* Anthropic OAuth-credential set (`~/.claude/.credentials.json`-szerű fájl).
|
|
10
|
+
* SCOPE: kizárólag a CC tool-modulon belül; nem rendszer-szintű
|
|
11
|
+
* user/auth entitás. A user egyetlen gépen több credential-fájlt is
|
|
12
|
+
* felfedezhet (default + alternatív path-ok), és a Dashboard mind a
|
|
13
|
+
* felfedezetteket egységesen mutatja.
|
|
14
|
+
*
|
|
15
|
+
* Natural unique key: `accountKey` (a credential-payload SHA-256-jából
|
|
16
|
+
* derivált 12-hex char). A user ugyanazt a credential-fájlt új path-on
|
|
17
|
+
* is regisztrálhatja — ha ugyanaz a refreshToken, ugyanaz az accountKey,
|
|
18
|
+
* tehát nem lesz duplikátum. Két különböző credential-set sose ütközik.
|
|
19
|
+
*/
|
|
20
|
+
class CC_Account extends fsm_dynamo_1.DyFM_Metadata {
|
|
21
|
+
/** Stable id a credential-payload SHA-256-jából (12 hex char). Natural unique key. */
|
|
22
|
+
accountKey = '';
|
|
23
|
+
/** Mely CCAP instance fedezte fel ezt a credential-fájlt (lokális gép). */
|
|
24
|
+
discoveredOnCcapId = '';
|
|
25
|
+
/** Credential fájl-elérési út (pl. `/home/user/.claude/.credentials.json`). */
|
|
26
|
+
credentialPath = '';
|
|
27
|
+
/** User-given megjelenített név; alapértelmezett: `account-{accountKey első 6 char}`. */
|
|
28
|
+
displayName = '';
|
|
29
|
+
/**
|
|
30
|
+
* Auth-típus klasszifikáció:
|
|
31
|
+
* `claude-subscription` | `console-api` | `bedrock` | `vertex` | `foundry` | `unknown`.
|
|
32
|
+
* MVP-ben főleg `claude-subscription`-t várunk (ez a `~/.claude/.credentials.json`).
|
|
33
|
+
*/
|
|
34
|
+
accountType;
|
|
35
|
+
/** OAuth profile-ből, ha lekérdezhető (`user:profile` scope szükséges). */
|
|
36
|
+
email;
|
|
37
|
+
/** OAuth profile-ből, ha lekérdezhető. */
|
|
38
|
+
organizationId;
|
|
39
|
+
/**
|
|
40
|
+
* Auto-detected plan tier:
|
|
41
|
+
* `pro` | `max-5x` | `max-20x` | `team` | `enterprise` | `console` | `unknown`.
|
|
42
|
+
*/
|
|
43
|
+
planTier;
|
|
44
|
+
/** OAuth scopes a credential payload-ból. */
|
|
45
|
+
scopes;
|
|
46
|
+
/**
|
|
47
|
+
* Token-státusz klasszifikáció:
|
|
48
|
+
* `valid` | `expired` | `revoked` | `scope-incomplete` | `unknown`.
|
|
49
|
+
* Az `expired` az `expiresAt` timestamp alapján; `revoked`-ot csak
|
|
50
|
+
* a `/api/oauth/usage` 401-es válasz után tudjuk biztosan, MVP-ben az
|
|
51
|
+
* `unknown` lehet ennek a placeholder-je.
|
|
52
|
+
*/
|
|
53
|
+
tokenStatus;
|
|
54
|
+
/** Első felfedezés időpontja (a `__created` mellett külön bélyeg, mert a __created az insert-időt jelöli). */
|
|
55
|
+
firstSeenAt;
|
|
56
|
+
/** Legutóbbi sikeres discovery / refresh időpontja. */
|
|
57
|
+
lastSeenAt;
|
|
58
|
+
/** Legutóbbi CC subprocess spawn ezzel a credential-szettel. */
|
|
59
|
+
lastUsedAt;
|
|
60
|
+
/** Mely CCAP instance használta utoljára. */
|
|
61
|
+
lastUsedByCcapId;
|
|
62
|
+
/** Melyik CC session futott utoljára ezen az account-on. */
|
|
63
|
+
lastUsedBySessionId;
|
|
64
|
+
constructor(set) {
|
|
65
|
+
super(set);
|
|
66
|
+
if (set) {
|
|
67
|
+
fsm_dynamo_1.DyFM_Object.cleanAssign(this, set);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.CC_Account = CC_Account;
|
|
72
|
+
/**
|
|
73
|
+
* MongoDB dataParams: `ccap_cc_account` collection.
|
|
74
|
+
* `accountKey` a logikai natural unique key (`unique: true`) — az upsert
|
|
75
|
+
* pattern erre szűr; race-condition ablakot a Mongo-szintű unique constraint
|
|
76
|
+
* zárja be (cycle 836 review-fix).
|
|
77
|
+
* `discoveredOnCcapId` indexelt single-field — az instance-szintű listázás
|
|
78
|
+
* kis adatmennyiségen ezzel hatékony; compound index nincs (a Slice 1
|
|
79
|
+
* lekérdezések ezen tovább szűrnek a memóriában). Ha Slice 4-ben a
|
|
80
|
+
* cross-instance aggregáció nagyobb DB-méreten lassú lesz, akkor ott
|
|
81
|
+
* mérlegeljük a compound `(discoveredOnCcapId, lastSeenAt)` indexet.
|
|
82
|
+
*/
|
|
83
|
+
exports.ccapCcAccount_dataParams = new fsm_dynamo_1.DyFM_DataModel_Params({
|
|
84
|
+
dataName: 'ccap_cc_account',
|
|
85
|
+
properties: {
|
|
86
|
+
accountKey: { type: 'string', required: true, index: true, unique: true },
|
|
87
|
+
discoveredOnCcapId: { type: 'string', required: true, index: true },
|
|
88
|
+
credentialPath: { type: 'string', required: true },
|
|
89
|
+
displayName: { type: 'string', required: true },
|
|
90
|
+
accountType: { type: 'string' },
|
|
91
|
+
email: { type: 'string' },
|
|
92
|
+
organizationId: { type: 'string' },
|
|
93
|
+
planTier: { type: 'string' },
|
|
94
|
+
scopes: { type: 'array' },
|
|
95
|
+
tokenStatus: { type: 'string' },
|
|
96
|
+
firstSeenAt: { type: 'date' },
|
|
97
|
+
lastSeenAt: { type: 'date' },
|
|
98
|
+
lastUsedAt: { type: 'date' },
|
|
99
|
+
lastUsedByCcapId: { type: 'string' },
|
|
100
|
+
lastUsedBySessionId: { type: 'string' },
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=cc-account.data-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account.data-model.js","sourceRoot":"","sources":["../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account.data-model.ts"],"names":[],"mappings":";;;AAAA,sDAA0F;AAE1F;;;;;;;;;;;;;;GAcG;AACH,MAAa,UAAW,SAAQ,0BAAa;IAC3C,sFAAsF;IACtF,UAAU,GAAW,EAAE,CAAC;IAExB,2EAA2E;IAC3E,kBAAkB,GAAW,EAAE,CAAC;IAEhC,+EAA+E;IAC/E,cAAc,GAAW,EAAE,CAAC;IAE5B,yFAAyF;IACzF,WAAW,GAAW,EAAE,CAAC;IAEzB;;;;OAIG;IACH,WAAW,CAAU;IAErB,2EAA2E;IAC3E,KAAK,CAAU;IAEf,0CAA0C;IAC1C,cAAc,CAAU;IAExB;;;OAGG;IACH,QAAQ,CAAU;IAElB,6CAA6C;IAC7C,MAAM,CAAY;IAElB;;;;;;OAMG;IACH,WAAW,CAAU;IAErB,8GAA8G;IAC9G,WAAW,CAAQ;IAEnB,uDAAuD;IACvD,UAAU,CAAQ;IAElB,gEAAgE;IAChE,UAAU,CAAQ;IAElB,6CAA6C;IAC7C,gBAAgB,CAAU;IAE1B,4DAA4D;IAC5D,mBAAmB,CAAU;IAE7B,YAAY,GAAgB;QAC1B,KAAK,CAAC,GAAG,CAAC,CAAC;QAEX,IAAI,GAAG,EAAE,CAAC;YACR,wBAAW,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;CACF;AAlED,gCAkEC;AAED;;;;;;;;;;GAUG;AACU,QAAA,wBAAwB,GACnC,IAAI,kCAAqB,CAAa;IACpC,QAAQ,EAAE,iBAAiB;IAC3B,UAAU,EAAE;QACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACzE,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QACnE,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC/C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC7B,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC5B,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACxC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account.data-model.spec.d.ts","sourceRoot":"","sources":["../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account.data-model.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const cc_account_data_model_1 = require("./cc-account.data-model");
|
|
4
|
+
describe('CC_Account data model', () => {
|
|
5
|
+
it('üres konstruktorral létrehozható', () => {
|
|
6
|
+
const model = new cc_account_data_model_1.CC_Account();
|
|
7
|
+
expect(model).toBeDefined();
|
|
8
|
+
expect(model.accountKey).toBe('');
|
|
9
|
+
expect(model.discoveredOnCcapId).toBe('');
|
|
10
|
+
expect(model.credentialPath).toBe('');
|
|
11
|
+
expect(model.displayName).toBe('');
|
|
12
|
+
});
|
|
13
|
+
it('set paraméterrel inicializálja a mezőket', () => {
|
|
14
|
+
const set = {
|
|
15
|
+
accountKey: 'a1b2c3d4e5f6',
|
|
16
|
+
discoveredOnCcapId: 'ccap-instance-42',
|
|
17
|
+
credentialPath: '/home/user/.claude/.credentials.json',
|
|
18
|
+
displayName: 'My Pro account',
|
|
19
|
+
accountType: 'claude-subscription',
|
|
20
|
+
email: 'user@example.com',
|
|
21
|
+
planTier: 'pro',
|
|
22
|
+
scopes: ['user:inference', 'user:profile'],
|
|
23
|
+
tokenStatus: 'valid',
|
|
24
|
+
firstSeenAt: new Date('2026-05-08T10:00:00.000Z'),
|
|
25
|
+
lastSeenAt: new Date('2026-05-08T11:00:00.000Z'),
|
|
26
|
+
lastUsedAt: new Date('2026-05-08T11:30:00.000Z'),
|
|
27
|
+
lastUsedByCcapId: 'ccap-instance-42',
|
|
28
|
+
lastUsedBySessionId: 'ccs-abc',
|
|
29
|
+
};
|
|
30
|
+
const model = new cc_account_data_model_1.CC_Account(set);
|
|
31
|
+
expect(model.accountKey).toBe('a1b2c3d4e5f6');
|
|
32
|
+
expect(model.discoveredOnCcapId).toBe('ccap-instance-42');
|
|
33
|
+
expect(model.credentialPath).toBe('/home/user/.claude/.credentials.json');
|
|
34
|
+
expect(model.displayName).toBe('My Pro account');
|
|
35
|
+
expect(model.accountType).toBe('claude-subscription');
|
|
36
|
+
expect(model.email).toBe('user@example.com');
|
|
37
|
+
expect(model.planTier).toBe('pro');
|
|
38
|
+
expect(model.scopes).toEqual(['user:inference', 'user:profile']);
|
|
39
|
+
expect(model.tokenStatus).toBe('valid');
|
|
40
|
+
expect(model.firstSeenAt?.toISOString()).toBe('2026-05-08T10:00:00.000Z');
|
|
41
|
+
expect(model.lastUsedBySessionId).toBe('ccs-abc');
|
|
42
|
+
});
|
|
43
|
+
it('opcionális mezők undefined-ok maradnak ha nincsenek megadva', () => {
|
|
44
|
+
const set = {
|
|
45
|
+
accountKey: 'minimal01',
|
|
46
|
+
discoveredOnCcapId: 'ccap-1',
|
|
47
|
+
credentialPath: '/p',
|
|
48
|
+
displayName: 'minimal',
|
|
49
|
+
};
|
|
50
|
+
const model = new cc_account_data_model_1.CC_Account(set);
|
|
51
|
+
expect(model.accountKey).toBe('minimal01');
|
|
52
|
+
expect(model.email).toBeUndefined();
|
|
53
|
+
expect(model.planTier).toBeUndefined();
|
|
54
|
+
expect(model.scopes).toBeUndefined();
|
|
55
|
+
expect(model.lastUsedAt).toBeUndefined();
|
|
56
|
+
});
|
|
57
|
+
it('dataParams dataName `ccap_cc_account`', () => {
|
|
58
|
+
expect(cc_account_data_model_1.ccapCcAccount_dataParams.dataName).toBe('ccap_cc_account');
|
|
59
|
+
});
|
|
60
|
+
it('dataParams properties tartalmazza a kötelező mezőket', () => {
|
|
61
|
+
const props = cc_account_data_model_1.ccapCcAccount_dataParams.properties;
|
|
62
|
+
expect(props.accountKey).toEqual(jasmine.objectContaining({ type: 'string', required: true }));
|
|
63
|
+
expect(props.discoveredOnCcapId).toEqual(jasmine.objectContaining({ type: 'string', required: true }));
|
|
64
|
+
expect(props.credentialPath).toEqual(jasmine.objectContaining({ type: 'string', required: true }));
|
|
65
|
+
expect(props.displayName).toEqual(jasmine.objectContaining({ type: 'string', required: true }));
|
|
66
|
+
});
|
|
67
|
+
it('dataParams properties indexelt: accountKey (unique), discoveredOnCcapId', () => {
|
|
68
|
+
const props = cc_account_data_model_1.ccapCcAccount_dataParams.properties;
|
|
69
|
+
expect(props.accountKey.index).toBe(true);
|
|
70
|
+
expect(props.accountKey.unique).toBe(true);
|
|
71
|
+
expect(props.discoveredOnCcapId.index).toBe(true);
|
|
72
|
+
});
|
|
73
|
+
it('scopes mező array típusú', () => {
|
|
74
|
+
const props = cc_account_data_model_1.ccapCcAccount_dataParams.properties;
|
|
75
|
+
expect(props.scopes.type).toBe('array');
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=cc-account.data-model.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account.data-model.spec.js","sourceRoot":"","sources":["../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc-account.data-model.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { DyNTS_SingletonService } from '@futdevpro/nts-dynamo';
|
|
2
|
+
import { CC_Account } from '../../_models/data-models/cc-account.data-model';
|
|
3
|
+
/**
|
|
4
|
+
* REST handler delegáció a CC Account endpoint-okhoz
|
|
5
|
+
* (REQ-CC-USAGE-DASHBOARD-001 Slice 1).
|
|
6
|
+
*
|
|
7
|
+
* REQ-SYS-CONTROLLER-THIN: a controller csak endpoint-regisztráció és
|
|
8
|
+
* delegáció — a logika itt él (input parsing + pool control-service hívás).
|
|
9
|
+
*
|
|
10
|
+
* Validation review-fixek (cycle 836):
|
|
11
|
+
* - 3.4 security: `accountKey` URL-param 12-hex regex (DoS-vector + Mongo-filter clean).
|
|
12
|
+
* - M3: `displayName` max-length cap (200 char).
|
|
13
|
+
* - 6.1 security: `displayName` kontroll-karakter szuro (range U+0000..U+001F + U+007F).
|
|
14
|
+
*/
|
|
15
|
+
export declare class CC_AccountRoute_ControlService extends DyNTS_SingletonService {
|
|
16
|
+
/** Stable account-key 12-hex char (a `CC_AccountDiscovery_Util.computeAccountKey` output-ja). */
|
|
17
|
+
static readonly ACCOUNT_KEY_PATTERN: RegExp;
|
|
18
|
+
/** displayName max hossz — limit a `/list` response méretére (Dashboard pollolható). */
|
|
19
|
+
static readonly DISPLAY_NAME_MAX_LENGTH: number;
|
|
20
|
+
/** Kontroll-karakter regex — sose engedjük be DB-be (későbbi UI-render zavart okozna). */
|
|
21
|
+
static readonly CONTROL_CHAR_PATTERN: RegExp;
|
|
22
|
+
static getInstance(): CC_AccountRoute_ControlService;
|
|
23
|
+
private readonly accountPool_CS;
|
|
24
|
+
/** GET /cc-account/list — cross-instance account-lista. */
|
|
25
|
+
handleListAccounts(): Promise<{
|
|
26
|
+
items: CC_Account[];
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* POST /cc-account/refresh — a hívó CCAP instance-en újrafelfedezi a
|
|
30
|
+
* lokálisan elérhető credential-fájlokat.
|
|
31
|
+
*/
|
|
32
|
+
handleRefreshLocalAccounts(): Promise<{
|
|
33
|
+
refreshedKeys: string[];
|
|
34
|
+
scannedPaths: number;
|
|
35
|
+
}>;
|
|
36
|
+
/** GET /cc-account/:accountKey — egy account részletek. */
|
|
37
|
+
handleGetAccount(params: {
|
|
38
|
+
accountKey: string;
|
|
39
|
+
}): Promise<CC_Account>;
|
|
40
|
+
/** PATCH /cc-account/:accountKey — user-readable display-name átírása. */
|
|
41
|
+
handleRenameAccount(params: {
|
|
42
|
+
accountKey: string;
|
|
43
|
+
body: Record<string, unknown>;
|
|
44
|
+
}): Promise<CC_Account>;
|
|
45
|
+
/**
|
|
46
|
+
* `accountKey` URL-param formátum-validáció (3.4 security review-fix):
|
|
47
|
+
* - 12 hex char a `computeAccountKey` output-ja.
|
|
48
|
+
* - Bármi más → 400 (DoS / Mongo-filter clean / félrevezetett kérés-elutasítás).
|
|
49
|
+
*/
|
|
50
|
+
private validateAccountKeyFormat;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=cc-account-route.control-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account-route.control-service.d.ts","sourceRoot":"","sources":["../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAG7E;;;;;;;;;;;GAWG;AACH,qBAAa,8BAA+B,SAAQ,sBAAsB;IAExE,iGAAiG;IACjG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAoB;IAE/D,wFAAwF;IACxF,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAO;IAEtD,0FAA0F;IAC1F,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAA2B;IAEvE,MAAM,CAAC,WAAW,IAAI,8BAA8B;IAIpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CACe;IAE9C,2DAA2D;IACrD,kBAAkB,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAK5D;;;OAGG;IACG,0BAA0B,IAAI,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAI9F,2DAA2D;IACrD,gBAAgB,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAe3E,0EAA0E;IACpE,mBAAmB,CAAC,MAAM,EAAE;QAChC,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,CAAC;IAiEvB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAgBjC"}
|