@futdevpro/ccap 1.1.2708 → 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-5I2JQOB4.js → agent-instances.module-IIWTPW4O.js} +2 -2
- package/client-dist/{ca.module-Y4XFBZF3.js → ca.module-LWRIBCUU.js} +2 -2
- package/client-dist/{cc.module-4ZYTENOM.js → cc.module-6YJTSCAC.js} +2 -2
- package/client-dist/{chunk-WDFC2URD.js → chunk-3AHNPY2X.js} +2 -2
- package/client-dist/{chunk-SE4EX326.js → chunk-3BT3IMYD.js} +2 -2
- package/client-dist/{chunk-OADK2TAI.js → chunk-3BUEPMT6.js} +2 -2
- package/client-dist/{chunk-FLQ25T7E.js → chunk-3QLEX2NT.js} +2 -2
- package/client-dist/{chunk-AWC26AEO.js → chunk-5C6MAP7W.js} +2 -2
- package/client-dist/{chunk-SC3EDLDM.js → chunk-5K6VN44P.js} +2 -2
- package/client-dist/{chunk-EF4DKB54.js → chunk-5YM2RZWN.js} +2 -2
- package/client-dist/{chunk-WEOQNQXM.js → chunk-63EKRGNW.js} +2 -2
- package/client-dist/{chunk-4RZKLDHX.js → chunk-63VBJAEW.js} +2 -2
- package/client-dist/{chunk-C4SEHRPW.js → chunk-6454AQZI.js} +2 -2
- package/client-dist/{chunk-NY5NHH2W.js → chunk-6C5KJNDU.js} +2 -2
- package/client-dist/{chunk-O2K7V3O7.js → chunk-6MS4GHDI.js} +2 -2
- package/client-dist/{chunk-55E6FEXV.js → chunk-AC26JISD.js} +2 -2
- package/client-dist/{chunk-34RL56SQ.js → chunk-AOHIUL3Q.js} +2 -2
- package/client-dist/{chunk-GV7XIXZD.js → chunk-AQCUVNQI.js} +2 -2
- package/client-dist/{chunk-IWJZVSX7.js → chunk-DQKU2LY3.js} +2 -2
- package/client-dist/{chunk-B3QX4FRG.js → chunk-DU23SLBW.js} +2 -2
- package/client-dist/{chunk-UGAYSZSJ.js → chunk-DXLFM7Q4.js} +2 -2
- package/client-dist/{chunk-PDQTQDO7.js → chunk-EP2L5MMG.js} +2 -2
- package/client-dist/{chunk-6FBLAQYQ.js → chunk-F5R42IJ2.js} +2 -2
- package/client-dist/{chunk-4Z6CMCAJ.js → chunk-FBGZAXUP.js} +2 -2
- package/client-dist/{chunk-PSLCSDUQ.js → chunk-FSSZAXEP.js} +2 -2
- package/client-dist/{chunk-Q3S4JCID.js → chunk-FZ43K4CA.js} +2 -2
- package/client-dist/{chunk-YRW2CGFQ.js → chunk-GVZABJSS.js} +2 -2
- package/client-dist/{chunk-HJCGBMED.js → chunk-H35PNXSP.js} +2 -2
- package/client-dist/{chunk-2CY52GUU.js → chunk-H3U7XTKH.js} +2 -2
- package/client-dist/{chunk-NSEU33WQ.js → chunk-HBFH3SIK.js} +2 -2
- package/client-dist/{chunk-K537RNNV.js → chunk-IW5XTVSP.js} +2 -2
- package/client-dist/{chunk-DQWPAUP2.js → chunk-JK4S3AXO.js} +2 -2
- package/client-dist/{chunk-FXS3CVOQ.js → chunk-JOJMPCQG.js} +2 -2
- package/client-dist/{chunk-KLD3S45X.js → chunk-K4PMLSYM.js} +2 -2
- package/client-dist/{chunk-6QEZNRIX.js → chunk-K4S55QIE.js} +2 -2
- package/client-dist/{chunk-2OGDJZ65.js → chunk-LEMSEJOC.js} +2 -2
- package/client-dist/{chunk-VEB3M4ME.js → chunk-LP2FFZC5.js} +2 -2
- package/client-dist/{chunk-KGAODLBE.js → chunk-MG6CV3Y5.js} +2 -2
- package/client-dist/{chunk-55CUQXOV.js → chunk-NTLKUZAF.js} +2 -2
- package/client-dist/{chunk-AQ4XSEWB.js → chunk-NVSGBXMD.js} +2 -2
- package/client-dist/{chunk-AQ4XSEWB.js.map → chunk-NVSGBXMD.js.map} +1 -1
- package/client-dist/{chunk-ADIUWP43.js → chunk-NWZRCNKP.js} +2 -2
- package/client-dist/{chunk-Y3R3G4XV.js → chunk-O6PFIEPO.js} +2 -2
- package/client-dist/{chunk-XSLQL6CA.js → chunk-OUM7QH3O.js} +2 -2
- package/client-dist/{chunk-DMIZXRG2.js → chunk-QP5RTV4R.js} +2 -2
- package/client-dist/{chunk-5P3IBTUL.js → chunk-R26G2XMB.js} +2 -2
- package/client-dist/{chunk-ICNXP6C4.js → chunk-RYHFLYDS.js} +2 -2
- package/client-dist/{chunk-GQT4NRX2.js → chunk-S5TWQ53O.js} +2 -2
- package/client-dist/{chunk-4Y4UXTDH.js → chunk-S75AE6UP.js} +2 -2
- package/client-dist/{chunk-TNJSVQJ7.js → chunk-SLIWPSFP.js} +2 -2
- package/client-dist/{chunk-XYFXAO2V.js → chunk-SSMQG7T3.js} +2 -2
- package/client-dist/{chunk-YC43QGTZ.js → chunk-THUA7SW2.js} +2 -2
- package/client-dist/{chunk-LR5WKEQ6.js → chunk-TMXG7RHS.js} +2 -2
- package/client-dist/{chunk-KBUDHY4P.js → chunk-U3UHKPNK.js} +2 -2
- package/client-dist/{chunk-YVBHDGUT.js → chunk-USNT5XKJ.js} +2 -2
- package/client-dist/{chunk-RWDGJAQV.js → chunk-XC57ZZSB.js} +2 -2
- package/client-dist/{chunk-HT3NJ4CA.js → chunk-XTJ63H3O.js} +2 -2
- package/client-dist/{chunk-NFUXNV46.js → chunk-YV2UEV2Q.js} +2 -2
- package/client-dist/{chunk-FRREH3UN.js → chunk-YVE7TPMW.js} +2 -2
- package/client-dist/{chunk-FBHMKOQ3.js → chunk-YVN3KWT7.js} +2 -2
- package/client-dist/{consultant.module-JKB3HIL6.js → consultant.module-YUJFXRDH.js} +2 -2
- package/client-dist/{crd.module-SYUTDHJR.js → crd.module-D7KTQGQ4.js} +2 -2
- package/client-dist/{dashboard.module-YFNP7KDV.js → dashboard.module-XKKHP5S6.js} +2 -2
- package/client-dist/{do.module-SMJALYGZ.js → do.module-PAINTIOK.js} +2 -2
- package/client-dist/{document-library.module-6JB7CZSC.js → document-library.module-XHTVQ4RU.js} +2 -2
- package/client-dist/{embedding-eval.module-KEKW3D6L.js → embedding-eval.module-2XU6ZQ5K.js} +2 -2
- package/client-dist/{embedding-registry.module-RKLN2G7V.js → embedding-registry.module-WWIMXCOI.js} +2 -2
- package/client-dist/{err.module-YD6YVAGP.js → err.module-W23TJZYC.js} +2 -2
- package/client-dist/{feedback.module-3IDR6BNR.js → feedback.module-XD4GWPEY.js} +2 -2
- package/client-dist/{host-runtime-mcp.module-TRDRJUCA.js → host-runtime-mcp.module-LLI4OQ2C.js} +2 -2
- package/client-dist/index.html +1 -1
- package/client-dist/{live-dev-pipeline.module-PYDFJTFN.js → live-dev-pipeline.module-LSDBWWIM.js} +2 -2
- package/client-dist/{logs.module-QULHNNUN.js → logs.module-ANWE4KDF.js} +2 -2
- package/client-dist/{main-PDNM63U5.js → main-BFY5RGUS.js} +3 -3
- package/client-dist/{master-control-remote-poc.module-7WXMK5QZ.js → master-control-remote-poc.module-PVRUD7IM.js} +2 -2
- package/client-dist/{mobile-app.module-MUPO62K6.js → mobile-app.module-QOG42QCA.js} +2 -2
- package/client-dist/{model-registry.module-RL6O4T32.js → model-registry.module-CKTDRM54.js} +2 -2
- package/client-dist/{oc.module-Q4DDC35Q.js → oc.module-BWDU2WQQ.js} +2 -2
- package/client-dist/{orc.module-7QOWPXKI.js → orc.module-S365TUGD.js} +2 -2
- package/client-dist/{project-management.module-GW76HRCR.js → project-management.module-N26UAZWL.js} +2 -2
- package/client-dist/project-source-routed.module-LACAWUTI.js +2 -0
- package/client-dist/{scheduler.module-25WKPF5M.js → scheduler.module-UEQBHIBM.js} +2 -2
- package/client-dist/{session.module-K52QKMD7.js → session.module-3YT4GI7B.js} +2 -2
- package/client-dist/{set.module-3APVCYZI.js → set.module-RLYKVPBJ.js} +2 -2
- package/client-dist/{setup.module-TJAHHSXH.js → setup.module-JLBSWNKP.js} +2 -2
- package/client-dist/{terminals.module-N4U3XW2G.js → terminals.module-KT5GHGKP.js} +2 -2
- package/client-dist/{voice-notes-poc.module-CC7MPTCY.js → voice-notes-poc.module-TGZUYUB6.js} +2 -2
- package/client-dist/{wfs.module-E2X3L6BK.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/{_services/core → _collections/utils}/terminal/cc-terminal-runner-control.util.d.ts +12 -1
- 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/{_services/core → _collections/utils}/terminal/cc-terminal-runner-control.util.js +24 -1
- 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 +15 -29
- 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 +20 -45
- 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-WH5GPRQR.js +0 -2
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-terminal-runner-control.util.d.ts.map +0 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-terminal-runner-control.util.js.map +0 -1
- 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-5I2JQOB4.js.map → agent-instances.module-IIWTPW4O.js.map} +0 -0
- /package/client-dist/{ca.module-Y4XFBZF3.js.map → ca.module-LWRIBCUU.js.map} +0 -0
- /package/client-dist/{cc.module-4ZYTENOM.js.map → cc.module-6YJTSCAC.js.map} +0 -0
- /package/client-dist/{chunk-WDFC2URD.js.map → chunk-3AHNPY2X.js.map} +0 -0
- /package/client-dist/{chunk-SE4EX326.js.map → chunk-3BT3IMYD.js.map} +0 -0
- /package/client-dist/{chunk-OADK2TAI.js.map → chunk-3BUEPMT6.js.map} +0 -0
- /package/client-dist/{chunk-FLQ25T7E.js.map → chunk-3QLEX2NT.js.map} +0 -0
- /package/client-dist/{chunk-AWC26AEO.js.map → chunk-5C6MAP7W.js.map} +0 -0
- /package/client-dist/{chunk-SC3EDLDM.js.map → chunk-5K6VN44P.js.map} +0 -0
- /package/client-dist/{chunk-EF4DKB54.js.map → chunk-5YM2RZWN.js.map} +0 -0
- /package/client-dist/{chunk-WEOQNQXM.js.map → chunk-63EKRGNW.js.map} +0 -0
- /package/client-dist/{chunk-4RZKLDHX.js.map → chunk-63VBJAEW.js.map} +0 -0
- /package/client-dist/{chunk-C4SEHRPW.js.map → chunk-6454AQZI.js.map} +0 -0
- /package/client-dist/{chunk-NY5NHH2W.js.map → chunk-6C5KJNDU.js.map} +0 -0
- /package/client-dist/{chunk-O2K7V3O7.js.map → chunk-6MS4GHDI.js.map} +0 -0
- /package/client-dist/{chunk-55E6FEXV.js.map → chunk-AC26JISD.js.map} +0 -0
- /package/client-dist/{chunk-34RL56SQ.js.map → chunk-AOHIUL3Q.js.map} +0 -0
- /package/client-dist/{chunk-GV7XIXZD.js.map → chunk-AQCUVNQI.js.map} +0 -0
- /package/client-dist/{chunk-IWJZVSX7.js.map → chunk-DQKU2LY3.js.map} +0 -0
- /package/client-dist/{chunk-B3QX4FRG.js.map → chunk-DU23SLBW.js.map} +0 -0
- /package/client-dist/{chunk-UGAYSZSJ.js.map → chunk-DXLFM7Q4.js.map} +0 -0
- /package/client-dist/{chunk-PDQTQDO7.js.map → chunk-EP2L5MMG.js.map} +0 -0
- /package/client-dist/{chunk-6FBLAQYQ.js.map → chunk-F5R42IJ2.js.map} +0 -0
- /package/client-dist/{chunk-4Z6CMCAJ.js.map → chunk-FBGZAXUP.js.map} +0 -0
- /package/client-dist/{chunk-PSLCSDUQ.js.map → chunk-FSSZAXEP.js.map} +0 -0
- /package/client-dist/{chunk-Q3S4JCID.js.map → chunk-FZ43K4CA.js.map} +0 -0
- /package/client-dist/{chunk-YRW2CGFQ.js.map → chunk-GVZABJSS.js.map} +0 -0
- /package/client-dist/{chunk-HJCGBMED.js.map → chunk-H35PNXSP.js.map} +0 -0
- /package/client-dist/{chunk-2CY52GUU.js.map → chunk-H3U7XTKH.js.map} +0 -0
- /package/client-dist/{chunk-NSEU33WQ.js.map → chunk-HBFH3SIK.js.map} +0 -0
- /package/client-dist/{chunk-K537RNNV.js.map → chunk-IW5XTVSP.js.map} +0 -0
- /package/client-dist/{chunk-DQWPAUP2.js.map → chunk-JK4S3AXO.js.map} +0 -0
- /package/client-dist/{chunk-FXS3CVOQ.js.map → chunk-JOJMPCQG.js.map} +0 -0
- /package/client-dist/{chunk-KLD3S45X.js.map → chunk-K4PMLSYM.js.map} +0 -0
- /package/client-dist/{chunk-6QEZNRIX.js.map → chunk-K4S55QIE.js.map} +0 -0
- /package/client-dist/{chunk-2OGDJZ65.js.map → chunk-LEMSEJOC.js.map} +0 -0
- /package/client-dist/{chunk-VEB3M4ME.js.map → chunk-LP2FFZC5.js.map} +0 -0
- /package/client-dist/{chunk-KGAODLBE.js.map → chunk-MG6CV3Y5.js.map} +0 -0
- /package/client-dist/{chunk-55CUQXOV.js.map → chunk-NTLKUZAF.js.map} +0 -0
- /package/client-dist/{chunk-ADIUWP43.js.map → chunk-NWZRCNKP.js.map} +0 -0
- /package/client-dist/{chunk-Y3R3G4XV.js.map → chunk-O6PFIEPO.js.map} +0 -0
- /package/client-dist/{chunk-XSLQL6CA.js.map → chunk-OUM7QH3O.js.map} +0 -0
- /package/client-dist/{chunk-DMIZXRG2.js.map → chunk-QP5RTV4R.js.map} +0 -0
- /package/client-dist/{chunk-5P3IBTUL.js.map → chunk-R26G2XMB.js.map} +0 -0
- /package/client-dist/{chunk-ICNXP6C4.js.map → chunk-RYHFLYDS.js.map} +0 -0
- /package/client-dist/{chunk-GQT4NRX2.js.map → chunk-S5TWQ53O.js.map} +0 -0
- /package/client-dist/{chunk-4Y4UXTDH.js.map → chunk-S75AE6UP.js.map} +0 -0
- /package/client-dist/{chunk-TNJSVQJ7.js.map → chunk-SLIWPSFP.js.map} +0 -0
- /package/client-dist/{chunk-XYFXAO2V.js.map → chunk-SSMQG7T3.js.map} +0 -0
- /package/client-dist/{chunk-YC43QGTZ.js.map → chunk-THUA7SW2.js.map} +0 -0
- /package/client-dist/{chunk-LR5WKEQ6.js.map → chunk-TMXG7RHS.js.map} +0 -0
- /package/client-dist/{chunk-KBUDHY4P.js.map → chunk-U3UHKPNK.js.map} +0 -0
- /package/client-dist/{chunk-YVBHDGUT.js.map → chunk-USNT5XKJ.js.map} +0 -0
- /package/client-dist/{chunk-RWDGJAQV.js.map → chunk-XC57ZZSB.js.map} +0 -0
- /package/client-dist/{chunk-HT3NJ4CA.js.map → chunk-XTJ63H3O.js.map} +0 -0
- /package/client-dist/{chunk-NFUXNV46.js.map → chunk-YV2UEV2Q.js.map} +0 -0
- /package/client-dist/{chunk-FRREH3UN.js.map → chunk-YVE7TPMW.js.map} +0 -0
- /package/client-dist/{chunk-FBHMKOQ3.js.map → chunk-YVN3KWT7.js.map} +0 -0
- /package/client-dist/{consultant.module-JKB3HIL6.js.map → consultant.module-YUJFXRDH.js.map} +0 -0
- /package/client-dist/{crd.module-SYUTDHJR.js.map → crd.module-D7KTQGQ4.js.map} +0 -0
- /package/client-dist/{dashboard.module-YFNP7KDV.js.map → dashboard.module-XKKHP5S6.js.map} +0 -0
- /package/client-dist/{do.module-SMJALYGZ.js.map → do.module-PAINTIOK.js.map} +0 -0
- /package/client-dist/{document-library.module-6JB7CZSC.js.map → document-library.module-XHTVQ4RU.js.map} +0 -0
- /package/client-dist/{embedding-eval.module-KEKW3D6L.js.map → embedding-eval.module-2XU6ZQ5K.js.map} +0 -0
- /package/client-dist/{embedding-registry.module-RKLN2G7V.js.map → embedding-registry.module-WWIMXCOI.js.map} +0 -0
- /package/client-dist/{err.module-YD6YVAGP.js.map → err.module-W23TJZYC.js.map} +0 -0
- /package/client-dist/{feedback.module-3IDR6BNR.js.map → feedback.module-XD4GWPEY.js.map} +0 -0
- /package/client-dist/{host-runtime-mcp.module-TRDRJUCA.js.map → host-runtime-mcp.module-LLI4OQ2C.js.map} +0 -0
- /package/client-dist/{live-dev-pipeline.module-PYDFJTFN.js.map → live-dev-pipeline.module-LSDBWWIM.js.map} +0 -0
- /package/client-dist/{logs.module-QULHNNUN.js.map → logs.module-ANWE4KDF.js.map} +0 -0
- /package/client-dist/{main-PDNM63U5.js.map → main-BFY5RGUS.js.map} +0 -0
- /package/client-dist/{master-control-remote-poc.module-7WXMK5QZ.js.map → master-control-remote-poc.module-PVRUD7IM.js.map} +0 -0
- /package/client-dist/{mobile-app.module-MUPO62K6.js.map → mobile-app.module-QOG42QCA.js.map} +0 -0
- /package/client-dist/{model-registry.module-RL6O4T32.js.map → model-registry.module-CKTDRM54.js.map} +0 -0
- /package/client-dist/{oc.module-Q4DDC35Q.js.map → oc.module-BWDU2WQQ.js.map} +0 -0
- /package/client-dist/{orc.module-7QOWPXKI.js.map → orc.module-S365TUGD.js.map} +0 -0
- /package/client-dist/{project-management.module-GW76HRCR.js.map → project-management.module-N26UAZWL.js.map} +0 -0
- /package/client-dist/{project-source-routed.module-WH5GPRQR.js.map → project-source-routed.module-LACAWUTI.js.map} +0 -0
- /package/client-dist/{scheduler.module-25WKPF5M.js.map → scheduler.module-UEQBHIBM.js.map} +0 -0
- /package/client-dist/{session.module-K52QKMD7.js.map → session.module-3YT4GI7B.js.map} +0 -0
- /package/client-dist/{set.module-3APVCYZI.js.map → set.module-RLYKVPBJ.js.map} +0 -0
- /package/client-dist/{setup.module-TJAHHSXH.js.map → setup.module-JLBSWNKP.js.map} +0 -0
- /package/client-dist/{terminals.module-N4U3XW2G.js.map → terminals.module-KT5GHGKP.js.map} +0 -0
- /package/client-dist/{voice-notes-poc.module-CC7MPTCY.js.map → voice-notes-poc.module-TGZUYUB6.js.map} +0 -0
- /package/client-dist/{wfs.module-E2X3L6BK.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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CC_TerminalSocket_Interface } from '
|
|
1
|
+
import { CC_TerminalSocket_Interface } from '../../../_services/core/cc-adapter.interface';
|
|
2
2
|
/**
|
|
3
3
|
* Cycle 834 (REQ-CC-ADAPTER-TERMINAL-REFACTOR-001 Slice 1) — extract a
|
|
4
4
|
* `cc-adapter-terminal.control-service.ts`-ből (plan-méretű master-slave
|
|
@@ -46,5 +46,16 @@ export declare class CC_TerminalRunnerControl_Util {
|
|
|
46
46
|
sessionId: string;
|
|
47
47
|
runnerVersion: string;
|
|
48
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>;
|
|
49
60
|
}
|
|
50
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"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CC_TerminalRunnerControl_Util = void 0;
|
|
4
4
|
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
|
-
const cc_kill_reasons_const_1 = require("
|
|
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");
|
|
6
7
|
/**
|
|
7
8
|
* Cycle 834 (REQ-CC-ADAPTER-TERMINAL-REFACTOR-001 Slice 1) — extract a
|
|
8
9
|
* `cc-adapter-terminal.control-service.ts`-ből (plan-méretű master-slave
|
|
@@ -86,6 +87,28 @@ class CC_TerminalRunnerControl_Util {
|
|
|
86
87
|
}
|
|
87
88
|
return out;
|
|
88
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
|
+
}
|
|
89
112
|
}
|
|
90
113
|
exports.CC_TerminalRunnerControl_Util = CC_TerminalRunnerControl_Util;
|
|
91
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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CC_AccountRoute_ControlService = void 0;
|
|
4
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
|
+
const nts_dynamo_1 = require("@futdevpro/nts-dynamo");
|
|
6
|
+
const cc_account_pool_control_service_1 = require("../../_services/core/account/cc-account-pool.control-service");
|
|
7
|
+
/**
|
|
8
|
+
* REST handler delegáció a CC Account endpoint-okhoz
|
|
9
|
+
* (REQ-CC-USAGE-DASHBOARD-001 Slice 1).
|
|
10
|
+
*
|
|
11
|
+
* REQ-SYS-CONTROLLER-THIN: a controller csak endpoint-regisztráció és
|
|
12
|
+
* delegáció — a logika itt él (input parsing + pool control-service hívás).
|
|
13
|
+
*
|
|
14
|
+
* Validation review-fixek (cycle 836):
|
|
15
|
+
* - 3.4 security: `accountKey` URL-param 12-hex regex (DoS-vector + Mongo-filter clean).
|
|
16
|
+
* - M3: `displayName` max-length cap (200 char).
|
|
17
|
+
* - 6.1 security: `displayName` kontroll-karakter szuro (range U+0000..U+001F + U+007F).
|
|
18
|
+
*/
|
|
19
|
+
class CC_AccountRoute_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
20
|
+
/** Stable account-key 12-hex char (a `CC_AccountDiscovery_Util.computeAccountKey` output-ja). */
|
|
21
|
+
static ACCOUNT_KEY_PATTERN = /^[a-f0-9]{12}$/;
|
|
22
|
+
/** displayName max hossz — limit a `/list` response méretére (Dashboard pollolható). */
|
|
23
|
+
static DISPLAY_NAME_MAX_LENGTH = 200;
|
|
24
|
+
/** Kontroll-karakter regex — sose engedjük be DB-be (későbbi UI-render zavart okozna). */
|
|
25
|
+
static CONTROL_CHAR_PATTERN = /[\u0000-\u001F\u007F]/;
|
|
26
|
+
static getInstance() {
|
|
27
|
+
return CC_AccountRoute_ControlService.getSingletonInstance();
|
|
28
|
+
}
|
|
29
|
+
accountPool_CS = cc_account_pool_control_service_1.CC_AccountPool_ControlService.getInstance();
|
|
30
|
+
/** GET /cc-account/list — cross-instance account-lista. */
|
|
31
|
+
async handleListAccounts() {
|
|
32
|
+
const items = await this.accountPool_CS.listAccounts();
|
|
33
|
+
return { items: items };
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* POST /cc-account/refresh — a hívó CCAP instance-en újrafelfedezi a
|
|
37
|
+
* lokálisan elérhető credential-fájlokat.
|
|
38
|
+
*/
|
|
39
|
+
async handleRefreshLocalAccounts() {
|
|
40
|
+
return await this.accountPool_CS.refreshLocalAccounts();
|
|
41
|
+
}
|
|
42
|
+
/** GET /cc-account/:accountKey — egy account részletek. */
|
|
43
|
+
async handleGetAccount(params) {
|
|
44
|
+
this.validateAccountKeyFormat(params.accountKey);
|
|
45
|
+
const account = await this.accountPool_CS.getAccountByKey(params.accountKey);
|
|
46
|
+
if (account == null) {
|
|
47
|
+
throw new fsm_dynamo_1.DyFM_Error({
|
|
48
|
+
message: `CC Account not found by key: ${params.accountKey}`,
|
|
49
|
+
errorCode: 'CCAP-CC-ACCOUNT-NOT-FOUND',
|
|
50
|
+
status: 404,
|
|
51
|
+
error: new Error(`CC Account not found by key: ${params.accountKey}`),
|
|
52
|
+
additionalContent: { accountKey: params.accountKey },
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return account;
|
|
56
|
+
}
|
|
57
|
+
/** PATCH /cc-account/:accountKey — user-readable display-name átírása. */
|
|
58
|
+
async handleRenameAccount(params) {
|
|
59
|
+
this.validateAccountKeyFormat(params.accountKey);
|
|
60
|
+
const displayNameRaw = params.body?.displayName;
|
|
61
|
+
if (typeof displayNameRaw !== 'string') {
|
|
62
|
+
throw new fsm_dynamo_1.DyFM_Error({
|
|
63
|
+
message: 'CC Account rename: displayName is required and must be a string.',
|
|
64
|
+
errorCode: 'CCAP-CC-ACCOUNT-RENAME-INVALID',
|
|
65
|
+
status: 400,
|
|
66
|
+
error: new Error('Invalid displayName: not a string'),
|
|
67
|
+
additionalContent: { accountKey: params.accountKey, providedDisplayNameType: typeof displayNameRaw },
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
const trimmed = displayNameRaw.trim();
|
|
71
|
+
if (trimmed === '') {
|
|
72
|
+
throw new fsm_dynamo_1.DyFM_Error({
|
|
73
|
+
message: 'CC Account rename: displayName must be non-empty after trim.',
|
|
74
|
+
errorCode: 'CCAP-CC-ACCOUNT-RENAME-INVALID',
|
|
75
|
+
status: 400,
|
|
76
|
+
error: new Error('Invalid displayName: empty'),
|
|
77
|
+
additionalContent: { accountKey: params.accountKey, rawLength: displayNameRaw.length },
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
if (trimmed.length > CC_AccountRoute_ControlService.DISPLAY_NAME_MAX_LENGTH) {
|
|
81
|
+
throw new fsm_dynamo_1.DyFM_Error({
|
|
82
|
+
message: `CC Account rename: displayName exceeds max length`
|
|
83
|
+
+ ` (${CC_AccountRoute_ControlService.DISPLAY_NAME_MAX_LENGTH} chars).`,
|
|
84
|
+
errorCode: 'CCAP-CC-ACCOUNT-RENAME-INVALID',
|
|
85
|
+
status: 400,
|
|
86
|
+
error: new Error(`Invalid displayName: too long (${trimmed.length} chars)`),
|
|
87
|
+
additionalContent: {
|
|
88
|
+
accountKey: params.accountKey,
|
|
89
|
+
providedLength: trimmed.length,
|
|
90
|
+
maxLength: CC_AccountRoute_ControlService.DISPLAY_NAME_MAX_LENGTH,
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
if (CC_AccountRoute_ControlService.CONTROL_CHAR_PATTERN.test(trimmed)) {
|
|
95
|
+
throw new fsm_dynamo_1.DyFM_Error({
|
|
96
|
+
message: 'CC Account rename: displayName must not contain control characters.',
|
|
97
|
+
errorCode: 'CCAP-CC-ACCOUNT-RENAME-INVALID',
|
|
98
|
+
status: 400,
|
|
99
|
+
error: new Error('Invalid displayName: contains control characters'),
|
|
100
|
+
additionalContent: { accountKey: params.accountKey },
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
const updated = await this.accountPool_CS.renameAccount(params.accountKey, trimmed);
|
|
104
|
+
if (updated == null) {
|
|
105
|
+
throw new fsm_dynamo_1.DyFM_Error({
|
|
106
|
+
message: `CC Account not found for rename: ${params.accountKey}`,
|
|
107
|
+
errorCode: 'CCAP-CC-ACCOUNT-NOT-FOUND',
|
|
108
|
+
status: 404,
|
|
109
|
+
error: new Error(`CC Account not found for rename: ${params.accountKey}`),
|
|
110
|
+
additionalContent: { accountKey: params.accountKey },
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
return updated;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* `accountKey` URL-param formátum-validáció (3.4 security review-fix):
|
|
117
|
+
* - 12 hex char a `computeAccountKey` output-ja.
|
|
118
|
+
* - Bármi más → 400 (DoS / Mongo-filter clean / félrevezetett kérés-elutasítás).
|
|
119
|
+
*/
|
|
120
|
+
validateAccountKeyFormat(accountKey) {
|
|
121
|
+
if (!CC_AccountRoute_ControlService.ACCOUNT_KEY_PATTERN.test(accountKey)) {
|
|
122
|
+
throw new fsm_dynamo_1.DyFM_Error({
|
|
123
|
+
message: `CC Account key has invalid format`
|
|
124
|
+
+ ` (expected 12-hex, got ${accountKey.length} chars).`,
|
|
125
|
+
errorCode: 'CCAP-CC-ACCOUNT-KEY-INVALID',
|
|
126
|
+
status: 400,
|
|
127
|
+
error: new Error(`Invalid accountKey format: ${accountKey.length} chars`),
|
|
128
|
+
additionalContent: {
|
|
129
|
+
providedLength: accountKey.length,
|
|
130
|
+
expectedPattern: '^[a-f0-9]{12}$',
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.CC_AccountRoute_ControlService = CC_AccountRoute_ControlService;
|
|
137
|
+
//# sourceMappingURL=cc-account-route.control-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account-route.control-service.js","sourceRoot":"","sources":["../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account-route.control-service.spec.d.ts","sourceRoot":"","sources":["../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.spec.ts"],"names":[],"mappings":""}
|