@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
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { DyNTS_DataService } from '@futdevpro/nts-dynamo';
|
|
2
|
+
import { CC_Account } from '../../../_models/data-models/cc-account.data-model';
|
|
3
|
+
/**
|
|
4
|
+
* CC Account data service (REQ-CC-USAGE-DASHBOARD-001 Slice 1).
|
|
5
|
+
*
|
|
6
|
+
* Per-`accountKey` upsert + lekérdezés. A pool control-service hívja a
|
|
7
|
+
* discovery-flow után. Best-effort persistence: ha a DB nem érhető el,
|
|
8
|
+
* a discovery flow nem blokkolódik — warn-log + `/errors` rekord.
|
|
9
|
+
*/
|
|
10
|
+
export declare class CC_Account_DataService extends DyNTS_DataService<CC_Account> {
|
|
11
|
+
constructor(params: {
|
|
12
|
+
issuer: string;
|
|
13
|
+
});
|
|
14
|
+
/**
|
|
15
|
+
* Account upsert `accountKey` kulcs alapján. Ha létezik, csak a
|
|
16
|
+
* frissíthető mezőket írjuk át (lastSeenAt, tokenStatus, scopes,
|
|
17
|
+
* credentialPath ha mozgott a fájl). A `firstSeenAt` és `displayName`
|
|
18
|
+
* megőrződnek (a user által átírt nevet nem írjuk felül discovery-vel).
|
|
19
|
+
*/
|
|
20
|
+
upsertByKey(params: {
|
|
21
|
+
accountKey: string;
|
|
22
|
+
discoveredOnCcapId: string;
|
|
23
|
+
credentialPath: string;
|
|
24
|
+
accountType?: string;
|
|
25
|
+
scopes?: string[];
|
|
26
|
+
tokenStatus?: string;
|
|
27
|
+
/** A discovery által javasolt default név (csak első insert-nél használt). */
|
|
28
|
+
suggestedDisplayName?: string;
|
|
29
|
+
}): Promise<CC_Account | null>;
|
|
30
|
+
/** Egy account lekérdezése a stable kulcs alapján; null ha nincs ilyen. */
|
|
31
|
+
getByKey(accountKey: string): Promise<CC_Account | null>;
|
|
32
|
+
/** Cross-instance account-lista (DB SSOT — nem kell PEI relay). */
|
|
33
|
+
listAll(): Promise<CC_Account[]>;
|
|
34
|
+
/** Egy adott CCAP instance által felfedezett account-ok listája. */
|
|
35
|
+
listByDiscoveredCcap(ccapId: string): Promise<CC_Account[]>;
|
|
36
|
+
/** A user által megjelenített név átírása (csak ezt engedjük szerkeszteni). */
|
|
37
|
+
renameAccount(accountKey: string, displayName: string): Promise<CC_Account | null>;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=cc-account.data-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account.data-service.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAuC,MAAM,uBAAuB,CAAC;AAI/F,OAAO,EACL,UAAU,EAEX,MAAM,oDAAoD,CAAC;AAE5D;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,iBAAiB,CAAC,UAAU,CAAC;gBAE3D,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAQtC;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,8EAA8E;QAC9E,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IA6E9B,2EAA2E;IACrE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAgB9D,mEAAmE;IAC7D,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAYtC,oEAAoE;IAC9D,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAgBjE,+EAA+E;IACzE,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAuBzF"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CC_Account_DataService = void 0;
|
|
4
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
|
+
const nts_dynamo_1 = require("@futdevpro/nts-dynamo");
|
|
6
|
+
const ccap_error_control_model_1 = require("../../../../../../../_collections/core/ccap-error.control-model");
|
|
7
|
+
const eh_record_build_util_1 = require("../../../../../../ccap-agent/_modules/error-handling/_collections/utils/eh-record-build.util");
|
|
8
|
+
const cc_account_data_model_1 = require("../../../_models/data-models/cc-account.data-model");
|
|
9
|
+
/**
|
|
10
|
+
* CC Account data service (REQ-CC-USAGE-DASHBOARD-001 Slice 1).
|
|
11
|
+
*
|
|
12
|
+
* Per-`accountKey` upsert + lekérdezés. A pool control-service hívja a
|
|
13
|
+
* discovery-flow után. Best-effort persistence: ha a DB nem érhető el,
|
|
14
|
+
* a discovery flow nem blokkolódik — warn-log + `/errors` rekord.
|
|
15
|
+
*/
|
|
16
|
+
class CC_Account_DataService extends nts_dynamo_1.DyNTS_DataService {
|
|
17
|
+
constructor(params) {
|
|
18
|
+
super(new cc_account_data_model_1.CC_Account(), cc_account_data_model_1.ccapCcAccount_dataParams, params.issuer);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Account upsert `accountKey` kulcs alapján. Ha létezik, csak a
|
|
22
|
+
* frissíthető mezőket írjuk át (lastSeenAt, tokenStatus, scopes,
|
|
23
|
+
* credentialPath ha mozgott a fájl). A `firstSeenAt` és `displayName`
|
|
24
|
+
* megőrződnek (a user által átírt nevet nem írjuk felül discovery-vel).
|
|
25
|
+
*/
|
|
26
|
+
async upsertByKey(params) {
|
|
27
|
+
try {
|
|
28
|
+
const filter = {
|
|
29
|
+
accountKey: params.accountKey,
|
|
30
|
+
};
|
|
31
|
+
const existing = await this.findData(filter, true);
|
|
32
|
+
const now = new Date();
|
|
33
|
+
if (existing != null && existing._id) {
|
|
34
|
+
// Partial update — discovery-eredetű mezők közül csak a változhatóak.
|
|
35
|
+
// - `discoveredOnCcapId` IMMUTABLE first-insert után: cross-instance refresh
|
|
36
|
+
// esetén nem flip-pelünk ownership-et minden refresh-en (H1 review-fix).
|
|
37
|
+
// A „melyik instance használja most" infót Slice 4 az instance-mapping
|
|
38
|
+
// endpoint-on a CC session DB `accountKey` field-jéből építi (Slice 2 után).
|
|
39
|
+
// - `displayName` sose felülíródik discovery-vel (user-állítható mező).
|
|
40
|
+
// - `credentialPath`, `accountType`, `scopes`, `tokenStatus` discovery-aktualizálható.
|
|
41
|
+
const setFields = {
|
|
42
|
+
credentialPath: params.credentialPath,
|
|
43
|
+
accountType: params.accountType,
|
|
44
|
+
scopes: params.scopes,
|
|
45
|
+
tokenStatus: params.tokenStatus,
|
|
46
|
+
lastSeenAt: now,
|
|
47
|
+
};
|
|
48
|
+
await this.updateData({
|
|
49
|
+
filterBy: { _id: existing._id },
|
|
50
|
+
update: { $set: setFields },
|
|
51
|
+
});
|
|
52
|
+
return { ...existing, ...setFields };
|
|
53
|
+
}
|
|
54
|
+
// Új rekord.
|
|
55
|
+
const record = new cc_account_data_model_1.CC_Account();
|
|
56
|
+
record.accountKey = params.accountKey;
|
|
57
|
+
record.discoveredOnCcapId = params.discoveredOnCcapId;
|
|
58
|
+
record.credentialPath = params.credentialPath;
|
|
59
|
+
record.displayName = params.suggestedDisplayName ?? `account-${params.accountKey.substring(0, 6)}`;
|
|
60
|
+
record.accountType = params.accountType;
|
|
61
|
+
record.scopes = params.scopes;
|
|
62
|
+
record.tokenStatus = params.tokenStatus;
|
|
63
|
+
record.firstSeenAt = now;
|
|
64
|
+
record.lastSeenAt = now;
|
|
65
|
+
this.data = record;
|
|
66
|
+
await this.saveData();
|
|
67
|
+
return record;
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
fsm_dynamo_1.DyFM_Log.warn(`CC_Account_DS | upsertByKey failed (non-blocking)`
|
|
71
|
+
+ ` | accountKey: ${params.accountKey}`
|
|
72
|
+
+ ` | ${err instanceof Error ? err.message : String(err)}`);
|
|
73
|
+
const persistError = new ccap_error_control_model_1.CCAP_Error({
|
|
74
|
+
message: `CC Account record upsert failed — discovery state may not persist`
|
|
75
|
+
+ ` until the next refresh (accountKey: ${params.accountKey}).`,
|
|
76
|
+
errorCode: 'CCAP-CC-ACCOUNT-UPSERT-FAIL',
|
|
77
|
+
status: 500,
|
|
78
|
+
error: err instanceof Error ? err : new Error(String(err)),
|
|
79
|
+
additionalContent: eh_record_build_util_1.Eh_Record_BuildUtil.buildDyFmAdditionalContentForCcapTable({
|
|
80
|
+
additionalContext: {
|
|
81
|
+
source: 'cc-account-ds | upsertByKey',
|
|
82
|
+
accountKey: params.accountKey,
|
|
83
|
+
discoveredOnCcapId: params.discoveredOnCcapId,
|
|
84
|
+
credentialPath: params.credentialPath,
|
|
85
|
+
hint: 'A CC account upsert bukott. A Dashboard-on a felfedezett'
|
|
86
|
+
+ ' account ideiglenesen nem látszik. Megoldás: DB-elérhetőség'
|
|
87
|
+
+ ' ellenőrzése; a /cc-account/refresh endpoint újrahívása.',
|
|
88
|
+
},
|
|
89
|
+
}),
|
|
90
|
+
});
|
|
91
|
+
nts_dynamo_1.DyNTS_GlobalService.globalErrorHandler(persistError);
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/** Egy account lekérdezése a stable kulcs alapján; null ha nincs ilyen. */
|
|
96
|
+
async getByKey(accountKey) {
|
|
97
|
+
try {
|
|
98
|
+
const filter = {
|
|
99
|
+
accountKey: accountKey,
|
|
100
|
+
};
|
|
101
|
+
return await this.findData(filter, true);
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
fsm_dynamo_1.DyFM_Log.warn(`CC_Account_DS | getByKey failed`
|
|
105
|
+
+ ` | accountKey: ${accountKey}`
|
|
106
|
+
+ ` | ${err instanceof Error ? err.message : String(err)}`);
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/** Cross-instance account-lista (DB SSOT — nem kell PEI relay). */
|
|
111
|
+
async listAll() {
|
|
112
|
+
try {
|
|
113
|
+
return await this.findDataList({});
|
|
114
|
+
}
|
|
115
|
+
catch (err) {
|
|
116
|
+
fsm_dynamo_1.DyFM_Log.warn(`CC_Account_DS | listAll failed`
|
|
117
|
+
+ ` | ${err instanceof Error ? err.message : String(err)}`);
|
|
118
|
+
return [];
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/** Egy adott CCAP instance által felfedezett account-ok listája. */
|
|
122
|
+
async listByDiscoveredCcap(ccapId) {
|
|
123
|
+
try {
|
|
124
|
+
const filter = {
|
|
125
|
+
discoveredOnCcapId: ccapId,
|
|
126
|
+
};
|
|
127
|
+
return await this.findDataList(filter);
|
|
128
|
+
}
|
|
129
|
+
catch (err) {
|
|
130
|
+
fsm_dynamo_1.DyFM_Log.warn(`CC_Account_DS | listByDiscoveredCcap failed`
|
|
131
|
+
+ ` | ccapId: ${ccapId}`
|
|
132
|
+
+ ` | ${err instanceof Error ? err.message : String(err)}`);
|
|
133
|
+
return [];
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/** A user által megjelenített név átírása (csak ezt engedjük szerkeszteni). */
|
|
137
|
+
async renameAccount(accountKey, displayName) {
|
|
138
|
+
try {
|
|
139
|
+
const filter = {
|
|
140
|
+
accountKey: accountKey,
|
|
141
|
+
};
|
|
142
|
+
const existing = await this.findData(filter, true);
|
|
143
|
+
if (existing == null || !existing._id) {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
await this.updateData({
|
|
147
|
+
filterBy: { _id: existing._id },
|
|
148
|
+
update: { $set: { displayName: displayName } },
|
|
149
|
+
});
|
|
150
|
+
return { ...existing, displayName: displayName };
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
fsm_dynamo_1.DyFM_Log.warn(`CC_Account_DS | renameAccount failed`
|
|
154
|
+
+ ` | accountKey: ${accountKey}`
|
|
155
|
+
+ ` | ${err instanceof Error ? err.message : String(err)}`);
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
exports.CC_Account_DataService = CC_Account_DataService;
|
|
161
|
+
//# sourceMappingURL=cc-account.data-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account.data-service.js","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account.data-service.spec.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const cc_account_data_model_1 = require("../../../_models/data-models/cc-account.data-model");
|
|
4
|
+
const cc_account_data_service_1 = require("./cc-account.data-service");
|
|
5
|
+
/**
|
|
6
|
+
* CC_Account_DataService spec — REQ-CC-USAGE-DASHBOARD-001 Slice 1.
|
|
7
|
+
* Object.create + findData/findDataList/saveData/updateData stub workaround
|
|
8
|
+
* (mintára `cc-rate-limit-state.data-service.spec.ts` szerint).
|
|
9
|
+
*/
|
|
10
|
+
describe('CC_Account_DataService', () => {
|
|
11
|
+
function buildStub() {
|
|
12
|
+
const ds = Object.create(cc_account_data_service_1.CC_Account_DataService.prototype);
|
|
13
|
+
const findDataSpy = jasmine.createSpy('findData')
|
|
14
|
+
.and.returnValue(Promise.resolve(null));
|
|
15
|
+
const findListSpy = jasmine.createSpy('findDataList')
|
|
16
|
+
.and.returnValue(Promise.resolve([]));
|
|
17
|
+
const saveSpy = jasmine.createSpy('saveData')
|
|
18
|
+
.and.returnValue(Promise.resolve(new cc_account_data_model_1.CC_Account()));
|
|
19
|
+
const updateSpy = jasmine.createSpy('updateData')
|
|
20
|
+
.and.returnValue(Promise.resolve());
|
|
21
|
+
ds.findData = findDataSpy;
|
|
22
|
+
ds.findDataList = findListSpy;
|
|
23
|
+
ds.saveData = saveSpy;
|
|
24
|
+
ds.updateData = updateSpy;
|
|
25
|
+
return { ds: ds, findDataSpy: findDataSpy, findListSpy: findListSpy, saveSpy: saveSpy, updateSpy: updateSpy };
|
|
26
|
+
}
|
|
27
|
+
it('upsertByKey — új rekord → saveData + suggestedDisplayName használt', async () => {
|
|
28
|
+
const { ds, saveSpy, updateSpy } = buildStub();
|
|
29
|
+
const result = await ds.upsertByKey({
|
|
30
|
+
accountKey: 'a1b2c3d4e5f6',
|
|
31
|
+
discoveredOnCcapId: 'ccap-1',
|
|
32
|
+
credentialPath: '/p/.creds.json',
|
|
33
|
+
accountType: 'claude-subscription',
|
|
34
|
+
tokenStatus: 'valid',
|
|
35
|
+
suggestedDisplayName: 'Custom suggested',
|
|
36
|
+
});
|
|
37
|
+
expect(saveSpy).toHaveBeenCalledTimes(1);
|
|
38
|
+
expect(updateSpy).not.toHaveBeenCalled();
|
|
39
|
+
expect(result).not.toBeNull();
|
|
40
|
+
expect(ds.data?.accountKey).toBe('a1b2c3d4e5f6');
|
|
41
|
+
expect(ds.data?.displayName).toBe('Custom suggested');
|
|
42
|
+
expect(ds.data?.firstSeenAt).toBeDefined();
|
|
43
|
+
});
|
|
44
|
+
it('upsertByKey — új rekord suggestedDisplayName nélkül → auto `account-{first6}`', async () => {
|
|
45
|
+
const { ds } = buildStub();
|
|
46
|
+
await ds.upsertByKey({
|
|
47
|
+
accountKey: 'abcdef123456',
|
|
48
|
+
discoveredOnCcapId: 'ccap-1',
|
|
49
|
+
credentialPath: '/p',
|
|
50
|
+
});
|
|
51
|
+
expect(ds.data?.displayName).toBe('account-abcdef');
|
|
52
|
+
});
|
|
53
|
+
it('upsertByKey — létező rekord → updateData $set, displayName NEM íródik felül', async () => {
|
|
54
|
+
const existing = Object.assign(new cc_account_data_model_1.CC_Account(), {
|
|
55
|
+
_id: 'mongo-id-1',
|
|
56
|
+
accountKey: 'k1',
|
|
57
|
+
displayName: 'User-renamed',
|
|
58
|
+
});
|
|
59
|
+
const { ds, findDataSpy, updateSpy, saveSpy } = buildStub();
|
|
60
|
+
findDataSpy.and.returnValue(Promise.resolve(existing));
|
|
61
|
+
await ds.upsertByKey({
|
|
62
|
+
accountKey: 'k1',
|
|
63
|
+
discoveredOnCcapId: 'ccap-2',
|
|
64
|
+
credentialPath: '/new/p',
|
|
65
|
+
tokenStatus: 'expired',
|
|
66
|
+
});
|
|
67
|
+
expect(updateSpy).toHaveBeenCalledTimes(1);
|
|
68
|
+
expect(saveSpy).not.toHaveBeenCalled();
|
|
69
|
+
const arg = updateSpy.calls.mostRecent().args[0];
|
|
70
|
+
expect(arg.filterBy._id).toBe('mongo-id-1');
|
|
71
|
+
expect(arg.update.$set.tokenStatus).toBe('expired');
|
|
72
|
+
expect(arg.update.$set.credentialPath).toBe('/new/p');
|
|
73
|
+
// displayName nincs benne a $set-ben → nem íródik felül (user-állítható).
|
|
74
|
+
expect(arg.update.$set.displayName).toBeUndefined();
|
|
75
|
+
// discoveredOnCcapId NINCS a $set-ben (H1 fix): immutable first-insert után.
|
|
76
|
+
expect(arg.update.$set.discoveredOnCcapId).toBeUndefined();
|
|
77
|
+
});
|
|
78
|
+
it('getByKey — létező rekord visszaadva', async () => {
|
|
79
|
+
const account = Object.assign(new cc_account_data_model_1.CC_Account(), { accountKey: 'k1' });
|
|
80
|
+
const { ds, findDataSpy } = buildStub();
|
|
81
|
+
findDataSpy.and.returnValue(Promise.resolve(account));
|
|
82
|
+
const result = await ds.getByKey('k1');
|
|
83
|
+
expect(result?.accountKey).toBe('k1');
|
|
84
|
+
});
|
|
85
|
+
it('getByKey — null ha nincs ilyen', async () => {
|
|
86
|
+
const { ds } = buildStub();
|
|
87
|
+
const result = await ds.getByKey('nope');
|
|
88
|
+
expect(result).toBeNull();
|
|
89
|
+
});
|
|
90
|
+
it('listAll — empty filter használata', async () => {
|
|
91
|
+
const { ds, findListSpy } = buildStub();
|
|
92
|
+
findListSpy.and.returnValue(Promise.resolve([new cc_account_data_model_1.CC_Account(), new cc_account_data_model_1.CC_Account()]));
|
|
93
|
+
const result = await ds.listAll();
|
|
94
|
+
expect(result.length).toBe(2);
|
|
95
|
+
expect(findListSpy).toHaveBeenCalledWith({});
|
|
96
|
+
});
|
|
97
|
+
it('listByDiscoveredCcap — szűrés ccapId-re', async () => {
|
|
98
|
+
const { ds, findListSpy } = buildStub();
|
|
99
|
+
await ds.listByDiscoveredCcap('ccap-42');
|
|
100
|
+
expect(findListSpy.calls.mostRecent().args[0]).toEqual({ discoveredOnCcapId: 'ccap-42' });
|
|
101
|
+
});
|
|
102
|
+
it('renameAccount — happy path → updateData displayName-mel', async () => {
|
|
103
|
+
const existing = Object.assign(new cc_account_data_model_1.CC_Account(), {
|
|
104
|
+
_id: 'mongo-id-1', accountKey: 'k1', displayName: 'old',
|
|
105
|
+
});
|
|
106
|
+
const { ds, findDataSpy, updateSpy } = buildStub();
|
|
107
|
+
findDataSpy.and.returnValue(Promise.resolve(existing));
|
|
108
|
+
const result = await ds.renameAccount('k1', 'newName');
|
|
109
|
+
expect(updateSpy).toHaveBeenCalledTimes(1);
|
|
110
|
+
expect(result?.displayName).toBe('newName');
|
|
111
|
+
});
|
|
112
|
+
it('renameAccount — null ha nincs ilyen accountKey', async () => {
|
|
113
|
+
const { ds, updateSpy } = buildStub();
|
|
114
|
+
const result = await ds.renameAccount('nope', 'name');
|
|
115
|
+
expect(result).toBeNull();
|
|
116
|
+
expect(updateSpy).not.toHaveBeenCalled();
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
//# sourceMappingURL=cc-account.data-service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-account.data-service.spec.js","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.spec.ts"],"names":[],"mappings":";;AAAA,8FAAgF;AAChF,uEAAmE;AAEnE;;;;GAIG;AACH,QAAQ,CAAC,wBAAwB,EAAE,GAAS,EAAE;IAO5C,SAAS,SAAS;QAOhB,MAAM,EAAE,GAA2B,MAAM,CAAC,MAAM,CAC9C,gDAAsB,CAAC,SAAS,CACP,CAAC;QAC5B,MAAM,WAAW,GAA+B,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;aAC1E,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAA+B,CAAC;QACxE,MAAM,WAAW,GAAmC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC;aAClF,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAmC,CAAC;QAC1E,MAAM,OAAO,GAA+B,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;aACtE,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,kCAAU,EAAE,CAAC,CAA+B,CAAC;QACpF,MAAM,SAAS,GAAiC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;aAC5E,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAiC,CAAC;QACrE,EAAyC,CAAC,QAAQ,GAAG,WAAW,CAAC;QACjE,EAAyC,CAAC,YAAY,GAAG,WAAW,CAAC;QACrE,EAAyC,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC7D,EAAyC,CAAC,UAAU,GAAG,SAAS,CAAC;QAClE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAChH,CAAC;IAED,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAmB,EAAE;QACjG,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAsB,MAAM,EAAE,CAAC,WAAW,CAAC;YACrD,UAAU,EAAE,cAAc;YAC1B,kBAAkB,EAAE,QAAQ;YAC5B,cAAc,EAAE,gBAAgB;YAChC,WAAW,EAAE,qBAAqB;YAClC,WAAW,EAAE,OAAO;YACpB,oBAAoB,EAAE,kBAAkB;SACzC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAmB,EAAE;QAC5G,MAAM,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,EAAE,CAAC,WAAW,CAAC;YACnB,UAAU,EAAE,cAAc;YAC1B,kBAAkB,EAAE,QAAQ;YAC5B,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAmB,EAAE;QAC1G,MAAM,QAAQ,GAAe,MAAM,CAAC,MAAM,CAAC,IAAI,kCAAU,EAAE,EAAE;YAC3D,GAAG,EAAE,YAAY;YACjB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,cAAc;SAC5B,CAAC,CAAC;QACH,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;QAC5D,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEvD,MAAM,EAAE,CAAC,WAAW,CAAC;YACnB,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,QAAQ;YAC5B,cAAc,EAAE,QAAQ;YACxB,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,GAAG,GAGL,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAGtC,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,0EAA0E;QAC1E,MAAM,CAAE,GAAG,CAAC,MAAM,CAAC,IAAgC,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;QACjF,6EAA6E;QAC7E,MAAM,CAAE,GAAG,CAAC,MAAM,CAAC,IAAgC,CAAC,kBAAkB,CAAC,CAAC,aAAa,EAAE,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAmB,EAAE;QAClE,MAAM,OAAO,GAAe,MAAM,CAAC,MAAM,CAAC,IAAI,kCAAU,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,CAAC;QACxC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,MAAM,MAAM,GAAsB,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAmB,EAAE;QAC7D,MAAM,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAsB,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAmB,EAAE;QAChE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,CAAC;QACxC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,kCAAU,EAAE,EAAE,IAAI,kCAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,MAAM,GAAiB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAmB,EAAE;QACtE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,CAAC;QACxC,MAAM,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAmB,EAAE;QACtF,MAAM,QAAQ,GAAe,MAAM,CAAC,MAAM,CAAC,IAAI,kCAAU,EAAE,EAAE;YAC3D,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK;SACxD,CAAC,CAAC;QACH,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAAC;QACnD,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAsB,MAAM,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE1E,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAmB,EAAE;QAC7E,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAAC;QACtC,MAAM,MAAM,GAAsB,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -43,52 +43,38 @@ export declare class CC_AdapterTerminal_ControlService extends DyNTS_SingletonSe
|
|
|
43
43
|
private pendingAckSequence;
|
|
44
44
|
/** Cycle 781: per-session runner version a `cc:register`-ből. */
|
|
45
45
|
private runnerVersions;
|
|
46
|
-
/** Terminal mode enabled
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* aktiválható (a spawnTerminalRunner-ben az emulator-detekció dönt, hogy van-e használható
|
|
50
|
-
* gnome-terminal / konsole / xterm stb. + DISPLAY/WAYLAND). macOS egyelőre nem támogatott. */
|
|
46
|
+
/** Terminal mode enabled (manager settings-ből). win32 default true (cmd.exe detached).
|
|
47
|
+
* Linux: settings-driven, spawnTerminalRunner emulator-detekció (gnome-terminal/konsole/xterm
|
|
48
|
+
* + DISPLAY/WAYLAND). macOS nem támogatott. */
|
|
51
49
|
private isTerminalModeEnabled;
|
|
52
|
-
/** Runner reconnect grace period (
|
|
53
|
-
*
|
|
54
|
-
* a sendInputViaTerminal + spawnSession polling loop-ja ezt az értéket × 2 iterációval
|
|
55
|
-
* hajtja végig (500ms lépések). */
|
|
50
|
+
/** Runner reconnect grace period (sec) — REQ-CCSESS-TR-005, manager push-olja.
|
|
51
|
+
* Default 3600s (REQ-CC-RUNNER-GRACE-LONG-001 cycle 749). Polling × 2 iter (500ms lépések). */
|
|
56
52
|
private runnerGracePeriodSec;
|
|
57
53
|
/** Modul betöltés időpontja — grace period számításhoz (process.uptime() nem használható,
|
|
58
54
|
* mert a pipeline ugyanabban a Node.js process-ben fut a require-on keresztül). */
|
|
59
55
|
private readonly moduleLoadedAt;
|
|
60
56
|
/**
|
|
61
|
-
* BUG-CC-RESTART-RECOVERY-POLL-001: in-flight resumeSession check
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* (NE öljük a friss runner-t, ha resumeSession DB-status reset-en dolgozik).
|
|
65
|
-
* Default `() => false` — manager még nincs készen → konzervatív, nem véd.
|
|
57
|
+
* BUG-CC-RESTART-RECOVERY-POLL-001: in-flight resumeSession check (cyclic-import
|
|
58
|
+
* elkerülésére, manager bootstrap regisztrálja). Default false — `verifyAndKillIfStillClosed`
|
|
59
|
+
* konzervatív, NE öljük a friss runner-t resumeSession DB-status reset alatt.
|
|
66
60
|
*/
|
|
67
61
|
private resumeInFlightChecker;
|
|
68
62
|
/** Manager bootstrap-kor regisztrálja a checker-t. */
|
|
69
63
|
setResumeInFlightChecker(checker: (sessionId: string) => boolean): void;
|
|
70
64
|
/**
|
|
71
65
|
* BUG-CC-TERM-STALE-STARTING-001 (cycle 807): terminal-spawn in-flight tracker.
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
* → tényleges spawn folyik, busy → queue. Add a sendInputViaTerminal status-push
|
|
75
|
-
* előtt (cycle 805); delete try/finally-ben, hibaúton is.
|
|
66
|
+
* `manager.isBusyProcessing`: starting-runtime + NEM-Set → stale-spawn override;
|
|
67
|
+
* Set → tényleges spawn → busy → queue. Add status-push előtt, delete try/finally.
|
|
76
68
|
*/
|
|
77
69
|
private spawnInFlightSessions;
|
|
78
70
|
/** Public: a manager.isBusyProcessing checkje hozzá. */
|
|
79
71
|
isSpawnInFlight(sessionId: string): boolean;
|
|
80
72
|
/**
|
|
81
|
-
* BUG-CC-TERM-DISCONNECT-PREMATURE-WAIT-001 (
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
* sessionnek → direct path → cc:spawn-prompt → runner kill old claude →
|
|
87
|
-
* process-replace (user-tünet: „belehányt nekem egy üzenetet a futó folyamatba").
|
|
88
|
-
*
|
|
89
|
-
* New logika: disconnect-kor 5s-os deferred timer. Ha a runner reconnect-el
|
|
90
|
-
* időben (handleTerminalRegister), a timer cancel-elve, status marad `running`.
|
|
91
|
-
* Ha 5s után még mindig nincs runner, a flip végrehajtódik.
|
|
73
|
+
* BUG-CC-TERM-DISCONNECT-PREMATURE-WAIT-001 (cycle 808): deferred 5s disconnect →
|
|
74
|
+
* waitingInput flip timers. Tranziens Socket.IO blip (~1-3s reconnect) NE flippelje
|
|
75
|
+
* azonnal a sessiont — handleTerminalRegister cancel-eli a timert; 5s után tényleges
|
|
76
|
+
* idle → flip. Megelőzi a "user új üzenetet küld látszólagos idle session-nek →
|
|
77
|
+
* runner kill claude → process-replace" race-t.
|
|
92
78
|
*/
|
|
93
79
|
private deferredDisconnectFlips;
|
|
94
80
|
/** Disconnect-deferred-flip timer cleanup constant. 5s biztos margin tranziens
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cc-adapter-terminal.control-service.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAmBpF,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAE5B,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,qBAAa,iCAAkC,SAAQ,sBAAsB;IAE3E,MAAM,CAAC,WAAW,IAAI,iCAAiC;IAIvD;;;;OAIG;IACH,MAAM,CAAC,mCAAmC,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM;IAQhF,8DAA8D;IAC9D,OAAO,CAAC,eAAe,CAAuD;IAE9E,oDAAoD;IACpD,OAAO,CAAC,WAAW,CAAkC;IAErD,qDAAqD;IACrD,OAAO,CAAC,kBAAkB,CAAa;IAEvC,+EAA+E;IAC/E,OAAO,CAAC,oBAAoB,CAAsC;IAElE,wGAAwG;IACxG,OAAO,CAAC,YAAY,CAA0B;IAE9C,yFAAyF;IACzF,OAAO,CAAC,iBAAiB,CAAoC;IAE7D;;gFAE4E;IAC5E,OAAO,CAAC,sBAAsB,CAA4E;IAE1G;;0GAEsG;IACtG,OAAO,CAAC,2BAA2B,CAAkC;IAErE;;kDAE8C;IAC9C,OAAO,CAAC,iBAAiB,CAAyD;IAElF;2FACuF;IACvF,OAAO,CAAC,kBAAkB,CAAkC;IAE5D,iEAAiE;IACjE,OAAO,CAAC,cAAc,CAAkC;IAExD
|
|
1
|
+
{"version":3,"file":"cc-adapter-terminal.control-service.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,8 @@ const session_queue_control_service_1 = require("../../../../../../session-queue
|
|
|
21
21
|
const claude_code_data_service_1 = require("../claude-code.data-service");
|
|
22
22
|
const cc_terminal_data_service_1 = require("./cc-terminal.data-service");
|
|
23
23
|
const cc_terminal_lifecycle_control_service_1 = require("./cc-terminal-lifecycle.control-service");
|
|
24
|
-
const cc_terminal_runner_spawn_util_1 = require("
|
|
25
|
-
const cc_terminal_runner_control_util_1 = require("
|
|
24
|
+
const cc_terminal_runner_spawn_util_1 = require("../../../_collections/utils/terminal/cc-terminal-runner-spawn.util");
|
|
25
|
+
const cc_terminal_runner_control_util_1 = require("../../../_collections/utils/terminal/cc-terminal-runner-control.util");
|
|
26
26
|
/**
|
|
27
27
|
* CC Session terminal mode adapter (singleton). Socket.IO namespace, runner spawn,
|
|
28
28
|
* output/exit/overflow/disconnect, sequence dedup, ack throttle, flapping detection,
|
|
@@ -73,26 +73,20 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
73
73
|
pendingAckSequence = new Map();
|
|
74
74
|
/** Cycle 781: per-session runner version a `cc:register`-ből. */
|
|
75
75
|
runnerVersions = new Map();
|
|
76
|
-
/** Terminal mode enabled
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
* aktiválható (a spawnTerminalRunner-ben az emulator-detekció dönt, hogy van-e használható
|
|
80
|
-
* gnome-terminal / konsole / xterm stb. + DISPLAY/WAYLAND). macOS egyelőre nem támogatott. */
|
|
76
|
+
/** Terminal mode enabled (manager settings-ből). win32 default true (cmd.exe detached).
|
|
77
|
+
* Linux: settings-driven, spawnTerminalRunner emulator-detekció (gnome-terminal/konsole/xterm
|
|
78
|
+
* + DISPLAY/WAYLAND). macOS nem támogatott. */
|
|
81
79
|
isTerminalModeEnabled = process.platform === 'win32';
|
|
82
|
-
/** Runner reconnect grace period (
|
|
83
|
-
*
|
|
84
|
-
* a sendInputViaTerminal + spawnSession polling loop-ja ezt az értéket × 2 iterációval
|
|
85
|
-
* hajtja végig (500ms lépések). */
|
|
80
|
+
/** Runner reconnect grace period (sec) — REQ-CCSESS-TR-005, manager push-olja.
|
|
81
|
+
* Default 3600s (REQ-CC-RUNNER-GRACE-LONG-001 cycle 749). Polling × 2 iter (500ms lépések). */
|
|
86
82
|
runnerGracePeriodSec = 3600;
|
|
87
83
|
/** Modul betöltés időpontja — grace period számításhoz (process.uptime() nem használható,
|
|
88
84
|
* mert a pipeline ugyanabban a Node.js process-ben fut a require-on keresztül). */
|
|
89
85
|
moduleLoadedAt = Date.now();
|
|
90
86
|
/**
|
|
91
|
-
* BUG-CC-RESTART-RECOVERY-POLL-001: in-flight resumeSession check
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
* (NE öljük a friss runner-t, ha resumeSession DB-status reset-en dolgozik).
|
|
95
|
-
* Default `() => false` — manager még nincs készen → konzervatív, nem véd.
|
|
87
|
+
* BUG-CC-RESTART-RECOVERY-POLL-001: in-flight resumeSession check (cyclic-import
|
|
88
|
+
* elkerülésére, manager bootstrap regisztrálja). Default false — `verifyAndKillIfStillClosed`
|
|
89
|
+
* konzervatív, NE öljük a friss runner-t resumeSession DB-status reset alatt.
|
|
96
90
|
*/
|
|
97
91
|
resumeInFlightChecker = () => false;
|
|
98
92
|
/** Manager bootstrap-kor regisztrálja a checker-t. */
|
|
@@ -101,10 +95,8 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
101
95
|
}
|
|
102
96
|
/**
|
|
103
97
|
* BUG-CC-TERM-STALE-STARTING-001 (cycle 807): terminal-spawn in-flight tracker.
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
* → tényleges spawn folyik, busy → queue. Add a sendInputViaTerminal status-push
|
|
107
|
-
* előtt (cycle 805); delete try/finally-ben, hibaúton is.
|
|
98
|
+
* `manager.isBusyProcessing`: starting-runtime + NEM-Set → stale-spawn override;
|
|
99
|
+
* Set → tényleges spawn → busy → queue. Add status-push előtt, delete try/finally.
|
|
108
100
|
*/
|
|
109
101
|
spawnInFlightSessions = new Set();
|
|
110
102
|
/** Public: a manager.isBusyProcessing checkje hozzá. */
|
|
@@ -112,17 +104,11 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
112
104
|
return this.spawnInFlightSessions.has(sessionId);
|
|
113
105
|
}
|
|
114
106
|
/**
|
|
115
|
-
* BUG-CC-TERM-DISCONNECT-PREMATURE-WAIT-001 (
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
* sessionnek → direct path → cc:spawn-prompt → runner kill old claude →
|
|
121
|
-
* process-replace (user-tünet: „belehányt nekem egy üzenetet a futó folyamatba").
|
|
122
|
-
*
|
|
123
|
-
* New logika: disconnect-kor 5s-os deferred timer. Ha a runner reconnect-el
|
|
124
|
-
* időben (handleTerminalRegister), a timer cancel-elve, status marad `running`.
|
|
125
|
-
* Ha 5s után még mindig nincs runner, a flip végrehajtódik.
|
|
107
|
+
* BUG-CC-TERM-DISCONNECT-PREMATURE-WAIT-001 (cycle 808): deferred 5s disconnect →
|
|
108
|
+
* waitingInput flip timers. Tranziens Socket.IO blip (~1-3s reconnect) NE flippelje
|
|
109
|
+
* azonnal a sessiont — handleTerminalRegister cancel-eli a timert; 5s után tényleges
|
|
110
|
+
* idle → flip. Megelőzi a "user új üzenetet küld látszólagos idle session-nek →
|
|
111
|
+
* runner kill claude → process-replace" race-t.
|
|
126
112
|
*/
|
|
127
113
|
deferredDisconnectFlips = new Map();
|
|
128
114
|
/** Disconnect-deferred-flip timer cleanup constant. 5s biztos margin tranziens
|
|
@@ -334,20 +320,9 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
334
320
|
});
|
|
335
321
|
});
|
|
336
322
|
fsm_dynamo_1.DyFM_Log.info(`CC_AdapterTerminal | terminal namespace /cc-runner registered | port: ${port}`);
|
|
337
|
-
// hadRunnerSet
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
const termDS = new cc_terminal_data_service_1.CC_Terminal_DataService({ issuer: 'cc-adapter-terminal-init' });
|
|
341
|
-
this.hadRunnerSetReady = termDS.findAll().then((records) => {
|
|
342
|
-
for (const rec of records) {
|
|
343
|
-
if (rec.sessionId) {
|
|
344
|
-
this.hadRunnerSet.add(rec.sessionId);
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
fsm_dynamo_1.DyFM_Log.info(`CC_AdapterTerminal | hadRunnerSet loaded from DB | count: ${this.hadRunnerSet.size}`);
|
|
348
|
-
}).catch((err) => {
|
|
349
|
-
fsm_dynamo_1.DyFM_Log.error(`CC_AdapterTerminal | hadRunnerSet DB load failed — grace period decisions may be inaccurate`
|
|
350
|
-
+ ` | error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(err)}`);
|
|
323
|
+
// Cycle 834 Slice 2: hadRunnerSet DB-load extract a runner-control util-ba.
|
|
324
|
+
this.hadRunnerSetReady = cc_terminal_runner_control_util_1.CC_TerminalRunnerControl_Util.loadHadRunnerSetFromDb({
|
|
325
|
+
hadRunnerSet: this.hadRunnerSet,
|
|
351
326
|
});
|
|
352
327
|
}
|
|
353
328
|
/**
|