@futdevpro/ccap 1.1.2509 → 1.1.2582
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-QQHSIHVZ.js → agent-instances.module-7VEBBM5Y.js} +2 -2
- package/client-dist/ca.module-ZFHRCLF7.js +5 -0
- package/client-dist/ca.module-ZFHRCLF7.js.map +7 -0
- package/client-dist/cc.module-JZX6WYEJ.js +4 -0
- package/client-dist/cc.module-JZX6WYEJ.js.map +7 -0
- package/client-dist/{chunk-SQDIXJP2.js → chunk-25EU3GLD.js} +2 -2
- package/client-dist/{chunk-JAUNNZJN.js → chunk-2O52ESML.js} +2 -2
- package/client-dist/{chunk-APXVQISJ.js → chunk-2SPJ3JFQ.js} +2 -2
- package/client-dist/{chunk-KFS5VDDV.js → chunk-3FTM2EWS.js} +2 -2
- package/client-dist/{chunk-JUWOVLJL.js → chunk-3SNKGBZL.js} +2 -2
- package/client-dist/{chunk-ZQCAHEXF.js → chunk-3TXLV3DA.js} +2 -2
- package/client-dist/{chunk-TJENOBO6.js → chunk-53QIVVCG.js} +2 -2
- package/client-dist/{chunk-G7FLLFQV.js → chunk-6BANNHB6.js} +2 -2
- package/client-dist/{chunk-XNHRRX4L.js → chunk-AHZ2P3Z3.js} +2 -2
- package/client-dist/{chunk-Q4YAQFNP.js → chunk-AYBZUIVP.js} +2 -2
- package/client-dist/{chunk-2HIXFHTS.js → chunk-BC56SIVJ.js} +3 -3
- package/client-dist/chunk-BC56SIVJ.js.map +1 -0
- package/client-dist/{chunk-PUFVETM4.js → chunk-BDL5F3DK.js} +2 -2
- package/client-dist/{chunk-KTAWOOUI.js → chunk-CN2EISGD.js} +2 -2
- package/client-dist/{chunk-FVJHSIII.js → chunk-CTB35A3I.js} +2 -2
- package/client-dist/{chunk-KZUKSPQS.js → chunk-CXE46KLX.js} +2 -2
- package/client-dist/{chunk-V4X7URSF.js → chunk-CZEGJES4.js} +2 -2
- package/client-dist/{chunk-NJUY7I3Y.js → chunk-D4YCGDYF.js} +2 -2
- package/client-dist/{chunk-72FQNGJO.js → chunk-D5YBMGLK.js} +2 -2
- package/client-dist/{chunk-CKR2NA35.js → chunk-DR5CW2Q5.js} +2 -2
- package/client-dist/{chunk-JIZE3HXP.js → chunk-DTMD64OK.js} +2 -2
- package/client-dist/{chunk-H7BIO73O.js → chunk-ERTQ57LC.js} +2 -2
- package/client-dist/{chunk-5L4G3C5C.js → chunk-F763HXOW.js} +2 -2
- package/client-dist/{chunk-AY3XK6RS.js → chunk-FH7BZ5KC.js} +2 -2
- package/client-dist/{chunk-QHUBJGWS.js → chunk-FKFHKEJ6.js} +2 -2
- package/client-dist/{chunk-TM2SED26.js → chunk-GH6753SA.js} +2 -2
- package/client-dist/{chunk-XQKHUGZW.js → chunk-GYAPUB7L.js} +2 -2
- package/client-dist/{chunk-CJVTAHYF.js → chunk-IX66ULOP.js} +2 -2
- package/client-dist/{chunk-4FSRDTZN.js → chunk-KNCYCQVI.js} +2 -2
- package/client-dist/{chunk-5MNGROTB.js → chunk-M4TYKIMG.js} +2 -2
- package/client-dist/{chunk-AM2JGX23.js → chunk-NJZZZGTL.js} +2 -2
- package/client-dist/{chunk-F46E5KZ3.js → chunk-OVYV3NO4.js} +2 -2
- package/client-dist/{chunk-AQ72GJMX.js → chunk-OZ2XX74S.js} +2 -2
- package/client-dist/{chunk-Y6PUQHIU.js → chunk-PWFZ6PI4.js} +2 -2
- package/client-dist/{chunk-OQ24BGZJ.js → chunk-RIPG5ILJ.js} +2 -2
- package/client-dist/{chunk-4RFLGW5L.js → chunk-T3KV2MBE.js} +2 -2
- package/client-dist/{chunk-O65C5CZH.js → chunk-T7O5N6F5.js} +2 -2
- package/client-dist/{chunk-MSY74RUJ.js → chunk-TYFIVDHM.js} +2 -2
- package/client-dist/{chunk-U5VAWMNB.js → chunk-U4EZD6B3.js} +2 -2
- package/client-dist/chunk-U7PPOB3Z.js +3 -0
- package/client-dist/{chunk-6XRGBDSK.js.map → chunk-U7PPOB3Z.js.map} +4 -4
- package/client-dist/{chunk-G44KM4TW.js → chunk-UDXUA4QP.js} +2 -2
- package/client-dist/{chunk-PYVQEDEW.js → chunk-UKMTMXFC.js} +2 -2
- package/client-dist/{chunk-NTUVOM4B.js → chunk-UKTCBZ23.js} +2 -2
- package/client-dist/{chunk-YWWHFCS3.js → chunk-USYW262H.js} +2 -2
- package/client-dist/{chunk-GNW4X5RC.js → chunk-UXQXE4O4.js} +2 -2
- package/client-dist/{chunk-2E6OA2KT.js → chunk-VA5ORQEA.js} +2 -2
- package/client-dist/{chunk-WX6TVKDG.js → chunk-VD2IXKGO.js} +2 -2
- package/client-dist/{chunk-LTRCLVM3.js → chunk-W3N4KJQU.js} +2 -2
- package/client-dist/{chunk-RRV4AJML.js → chunk-WKKV76Y4.js} +2 -2
- package/client-dist/{chunk-EMTKUTBC.js → chunk-WRTBJFYJ.js} +2 -2
- package/client-dist/{chunk-FOUQZW4D.js → chunk-WTKKMZP3.js} +2 -2
- package/client-dist/{chunk-OG33J4ZD.js → chunk-XZ6U37UV.js} +2 -2
- package/client-dist/{chunk-VW3WQQBF.js → chunk-YKPMO3C3.js} +2 -2
- package/client-dist/{chunk-M7Z2O4RG.js → chunk-ZIAX3RD5.js} +2 -2
- package/client-dist/{chunk-3R7FDMZ3.js → chunk-ZPHUSRQ2.js} +2 -2
- package/client-dist/chunk-ZR3JTDG2.js +2 -0
- package/client-dist/chunk-ZR3JTDG2.js.map +7 -0
- package/client-dist/{chunk-VM45PE3J.js → chunk-ZVEM6BEV.js} +2 -2
- package/client-dist/{consultant.module-HFZCP4N4.js → consultant.module-355QJ5VP.js} +2 -2
- package/client-dist/{crd.module-6R37JW4V.js → crd.module-23O7HPSP.js} +2 -2
- package/client-dist/{dashboard.module-YAZCCU26.js → dashboard.module-B3DBG7VA.js} +2 -2
- package/client-dist/do-chat-popup.component-3NJKFEEW.css.map +7 -0
- package/client-dist/{do-instance-panel.component-K5IGXVCT.css.map → do-instance-panel.component-MDYTDDAF.css.map} +2 -2
- package/client-dist/do-office-scene.component-Z3ULZ7BC.css.map +7 -0
- package/client-dist/do.module-T3T4EI72.js +18 -0
- package/client-dist/do.module-T3T4EI72.js.map +7 -0
- package/client-dist/{document-library.module-EFTFUIXJ.js → document-library.module-HCB3IBFU.js} +2 -2
- package/client-dist/{embedding-eval.module-NIPCFFWB.js → embedding-eval.module-Y4S72P6L.js} +2 -2
- package/client-dist/{embedding-registry.module-4GLSQNAT.js → embedding-registry.module-WRLE4M2R.js} +2 -2
- package/client-dist/{err.module-2RPVCWXD.js → err.module-NEHVNIDC.js} +2 -2
- package/client-dist/{feedback.module-WVLKZ533.js → feedback.module-M22IIOC3.js} +2 -2
- package/client-dist/{host-runtime-mcp.module-GRW6RSCA.js → host-runtime-mcp.module-BTQGLDN3.js} +2 -2
- package/client-dist/index.html +2 -2
- package/client-dist/{live-dev-pipeline.module-P3DEM6CE.js → live-dev-pipeline.module-TBWOJ2K7.js} +2 -2
- package/client-dist/{logs.module-U6KCQYDU.js → logs.module-WLXYHRBN.js} +2 -2
- package/client-dist/main-CPF6CLMC.js +7 -0
- package/client-dist/main-CPF6CLMC.js.map +7 -0
- package/client-dist/{master-control-remote-poc.module-RYSKRGXU.js → master-control-remote-poc.module-NZ4AZJHI.js} +2 -2
- package/client-dist/{mobile-app.module-EBMTWXS2.js → mobile-app.module-JUBFTHW3.js} +2 -2
- package/client-dist/{model-registry.module-F6R5MSBB.js → model-registry.module-AIAGFPNO.js} +2 -2
- package/client-dist/oc.module-KYUWTHHM.js +3 -0
- package/client-dist/oc.module-KYUWTHHM.js.map +7 -0
- package/client-dist/{orc.module-NJQ6XGPN.js → orc.module-BMV7EOI7.js} +2 -2
- package/client-dist/{project-management.module-JQEQIHL2.js → project-management.module-X5VO2F54.js} +11 -11
- package/client-dist/project-management.module-X5VO2F54.js.map +7 -0
- package/client-dist/project-source-routed.module-CTOB53C7.js +2 -0
- package/client-dist/{scheduler.module-WWPV25AU.js → scheduler.module-IKACZ62P.js} +2 -2
- package/client-dist/session.module-GLASF7US.js +12 -0
- package/client-dist/session.module-GLASF7US.js.map +7 -0
- package/client-dist/set.module-COGQHP7X.js +11 -0
- package/client-dist/{set.module-IKSASSWS.js.map → set.module-COGQHP7X.js.map} +3 -3
- package/client-dist/{setup.module-RVTO6I3R.js → setup.module-CWFUSK2V.js} +2 -2
- package/client-dist/styles-JBAOFG2I.css +2 -0
- package/client-dist/styles-JBAOFG2I.css.map +7 -0
- package/client-dist/{terminals.module-AZEN47GZ.js → terminals.module-FIV7G4Y6.js} +2 -2
- package/client-dist/{voice-notes-poc.module-5JUTNIBP.js → voice-notes-poc.module-HWX6J3HW.js} +2 -2
- package/client-dist/{wfs.module-5MMNXIRW.js → wfs.module-AF5XUOHR.js} +2 -2
- package/package.json +1 -1
- package/server/build/src/_collections/core/ccap-post-services-bootstrap.util.js +1 -1
- package/server/build/src/_collections/core/ccap-post-services-bootstrap.util.js.map +1 -1
- package/server/build/src/_modules/ai-systems/_modules/model-registry/_models/data-models/mrg-instance-registry.data-model.d.ts +7 -0
- package/server/build/src/_modules/ai-systems/_modules/model-registry/_models/data-models/mrg-instance-registry.data-model.d.ts.map +1 -1
- package/server/build/src/_modules/ai-systems/_modules/model-registry/_models/data-models/mrg-instance-registry.data-model.js +8 -0
- package/server/build/src/_modules/ai-systems/_modules/model-registry/_models/data-models/mrg-instance-registry.data-model.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.d.ts +5 -0
- package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.d.ts.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.js +19 -2
- package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.spec.js +12 -0
- package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.spec.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/utils/self.util.spec.js +37 -0
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/utils/self.util.spec.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/consts/cc-kill-reasons.const.d.ts +31 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/consts/cc-kill-reasons.const.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/consts/cc-kill-reasons.const.js +29 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/consts/cc-kill-reasons.const.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.d.ts +28 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.js +40 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.spec.d.ts +6 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.spec.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.spec.js +39 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.spec.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.d.ts +13 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.js +13 -3
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.spec.js +40 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.spec.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.d.ts +21 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.js +45 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.js +48 -11
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-route.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-route.control-service.js +35 -7
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-route.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal-grace-period.control-service.spec.js +41 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal-grace-period.control-service.spec.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal-runner-versions.control-service.spec.d.ts +12 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal-runner-versions.control-service.spec.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal-runner-versions.control-service.spec.js +62 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal-runner-versions.control-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 +26 -31
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js +91 -68
- 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/_modules/external-sessions/_services/exs-instance-registry.data-service.d.ts +1 -0
- package/server/build/src/_modules/external-sessions/_services/exs-instance-registry.data-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_services/exs-instance-registry.data-service.js +6 -0
- package/server/build/src/_modules/external-sessions/_services/exs-instance-registry.data-service.js.map +1 -1
- package/server/build/src/_modules/peer-instance/_models/interfaces/pei-bootstrap-attempt.interface.d.ts +33 -0
- package/server/build/src/_modules/peer-instance/_models/interfaces/pei-bootstrap-attempt.interface.d.ts.map +1 -0
- package/server/build/src/_modules/peer-instance/_models/interfaces/pei-bootstrap-attempt.interface.js +3 -0
- package/server/build/src/_modules/peer-instance/_models/interfaces/pei-bootstrap-attempt.interface.js.map +1 -0
- package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.d.ts +33 -0
- package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.js +78 -1
- package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.js.map +1 -1
- package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.spec.js +60 -0
- package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.spec.js.map +1 -1
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.js +3 -0
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.js.map +1 -1
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.d.ts +9 -0
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.d.ts.map +1 -0
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.js +43 -0
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.js.map +1 -0
- package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.d.ts +44 -0
- package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.js +94 -0
- package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.js.map +1 -1
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-diagnostics-result.interface.d.ts +39 -2
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-diagnostics-result.interface.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-diagnostics-result.interface.js +0 -7
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-diagnostics-result.interface.js.map +1 -1
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-peer-result.interface.d.ts +13 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-peer-result.interface.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-peer-result.interface.js +3 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-peer-result.interface.js.map +1 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-ws-result.interface.d.ts +23 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-ws-result.interface.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-ws-result.interface.js +3 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-ws-result.interface.js.map +1 -0
- package/server/build/src/_modules/setup-config/_routes/setup-config.controller.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_routes/setup-config.controller.js +24 -0
- package/server/build/src/_modules/setup-config/_routes/setup-config.controller.js.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.d.ts +43 -5
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.js +156 -7
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.js.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.spec.d.ts +4 -3
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.spec.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.spec.js +91 -3
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.spec.js.map +1 -1
- package/server/build/src/_modules/setup-config/_services/setup-config.control-service.js +1 -1
- package/server/build/src/_modules/setup-config/_services/setup-config.control-service.js.map +1 -1
- package/client-dist/ca.module-FTQALPNM.js +0 -5
- package/client-dist/ca.module-FTQALPNM.js.map +0 -7
- package/client-dist/cc.module-UPCFEGEY.js +0 -4
- package/client-dist/cc.module-UPCFEGEY.js.map +0 -7
- package/client-dist/chunk-2HIXFHTS.js.map +0 -1
- package/client-dist/chunk-3UDLOQR2.js +0 -2
- package/client-dist/chunk-3UDLOQR2.js.map +0 -7
- package/client-dist/chunk-6XRGBDSK.js +0 -3
- package/client-dist/do-character.component-PZHI3KZL.css.map +0 -7
- package/client-dist/do-chat-popup.component-FXZ46EHV.css.map +0 -7
- package/client-dist/do-office-scene.component-ILYUPFGH.css.map +0 -7
- package/client-dist/do.module-QV56KZQO.js +0 -18
- package/client-dist/do.module-QV56KZQO.js.map +0 -7
- package/client-dist/main-F4G6PI7V.js +0 -7
- package/client-dist/main-F4G6PI7V.js.map +0 -7
- package/client-dist/oc.module-VIBOASVG.js +0 -3
- package/client-dist/oc.module-VIBOASVG.js.map +0 -7
- package/client-dist/project-management.module-JQEQIHL2.js.map +0 -7
- package/client-dist/project-source-routed.module-LZCPWG6J.js +0 -2
- package/client-dist/session.module-YYFJ6B5X.js +0 -12
- package/client-dist/session.module-YYFJ6B5X.js.map +0 -7
- package/client-dist/set.module-IKSASSWS.js +0 -11
- package/client-dist/styles-ILB5HBSL.css +0 -2
- package/client-dist/styles-ILB5HBSL.css.map +0 -7
- /package/client-dist/{agent-instances.module-QQHSIHVZ.js.map → agent-instances.module-7VEBBM5Y.js.map} +0 -0
- /package/client-dist/{chunk-SQDIXJP2.js.map → chunk-25EU3GLD.js.map} +0 -0
- /package/client-dist/{chunk-JAUNNZJN.js.map → chunk-2O52ESML.js.map} +0 -0
- /package/client-dist/{chunk-APXVQISJ.js.map → chunk-2SPJ3JFQ.js.map} +0 -0
- /package/client-dist/{chunk-KFS5VDDV.js.map → chunk-3FTM2EWS.js.map} +0 -0
- /package/client-dist/{chunk-JUWOVLJL.js.map → chunk-3SNKGBZL.js.map} +0 -0
- /package/client-dist/{chunk-ZQCAHEXF.js.map → chunk-3TXLV3DA.js.map} +0 -0
- /package/client-dist/{chunk-TJENOBO6.js.map → chunk-53QIVVCG.js.map} +0 -0
- /package/client-dist/{chunk-G7FLLFQV.js.map → chunk-6BANNHB6.js.map} +0 -0
- /package/client-dist/{chunk-XNHRRX4L.js.map → chunk-AHZ2P3Z3.js.map} +0 -0
- /package/client-dist/{chunk-Q4YAQFNP.js.map → chunk-AYBZUIVP.js.map} +0 -0
- /package/client-dist/{chunk-PUFVETM4.js.map → chunk-BDL5F3DK.js.map} +0 -0
- /package/client-dist/{chunk-KTAWOOUI.js.map → chunk-CN2EISGD.js.map} +0 -0
- /package/client-dist/{chunk-FVJHSIII.js.map → chunk-CTB35A3I.js.map} +0 -0
- /package/client-dist/{chunk-KZUKSPQS.js.map → chunk-CXE46KLX.js.map} +0 -0
- /package/client-dist/{chunk-V4X7URSF.js.map → chunk-CZEGJES4.js.map} +0 -0
- /package/client-dist/{chunk-NJUY7I3Y.js.map → chunk-D4YCGDYF.js.map} +0 -0
- /package/client-dist/{chunk-72FQNGJO.js.map → chunk-D5YBMGLK.js.map} +0 -0
- /package/client-dist/{chunk-CKR2NA35.js.map → chunk-DR5CW2Q5.js.map} +0 -0
- /package/client-dist/{chunk-JIZE3HXP.js.map → chunk-DTMD64OK.js.map} +0 -0
- /package/client-dist/{chunk-H7BIO73O.js.map → chunk-ERTQ57LC.js.map} +0 -0
- /package/client-dist/{chunk-5L4G3C5C.js.map → chunk-F763HXOW.js.map} +0 -0
- /package/client-dist/{chunk-AY3XK6RS.js.map → chunk-FH7BZ5KC.js.map} +0 -0
- /package/client-dist/{chunk-QHUBJGWS.js.map → chunk-FKFHKEJ6.js.map} +0 -0
- /package/client-dist/{chunk-TM2SED26.js.map → chunk-GH6753SA.js.map} +0 -0
- /package/client-dist/{chunk-XQKHUGZW.js.map → chunk-GYAPUB7L.js.map} +0 -0
- /package/client-dist/{chunk-CJVTAHYF.js.map → chunk-IX66ULOP.js.map} +0 -0
- /package/client-dist/{chunk-4FSRDTZN.js.map → chunk-KNCYCQVI.js.map} +0 -0
- /package/client-dist/{chunk-5MNGROTB.js.map → chunk-M4TYKIMG.js.map} +0 -0
- /package/client-dist/{chunk-AM2JGX23.js.map → chunk-NJZZZGTL.js.map} +0 -0
- /package/client-dist/{chunk-F46E5KZ3.js.map → chunk-OVYV3NO4.js.map} +0 -0
- /package/client-dist/{chunk-AQ72GJMX.js.map → chunk-OZ2XX74S.js.map} +0 -0
- /package/client-dist/{chunk-Y6PUQHIU.js.map → chunk-PWFZ6PI4.js.map} +0 -0
- /package/client-dist/{chunk-OQ24BGZJ.js.map → chunk-RIPG5ILJ.js.map} +0 -0
- /package/client-dist/{chunk-4RFLGW5L.js.map → chunk-T3KV2MBE.js.map} +0 -0
- /package/client-dist/{chunk-O65C5CZH.js.map → chunk-T7O5N6F5.js.map} +0 -0
- /package/client-dist/{chunk-MSY74RUJ.js.map → chunk-TYFIVDHM.js.map} +0 -0
- /package/client-dist/{chunk-U5VAWMNB.js.map → chunk-U4EZD6B3.js.map} +0 -0
- /package/client-dist/{chunk-G44KM4TW.js.map → chunk-UDXUA4QP.js.map} +0 -0
- /package/client-dist/{chunk-PYVQEDEW.js.map → chunk-UKMTMXFC.js.map} +0 -0
- /package/client-dist/{chunk-NTUVOM4B.js.map → chunk-UKTCBZ23.js.map} +0 -0
- /package/client-dist/{chunk-YWWHFCS3.js.map → chunk-USYW262H.js.map} +0 -0
- /package/client-dist/{chunk-GNW4X5RC.js.map → chunk-UXQXE4O4.js.map} +0 -0
- /package/client-dist/{chunk-2E6OA2KT.js.map → chunk-VA5ORQEA.js.map} +0 -0
- /package/client-dist/{chunk-WX6TVKDG.js.map → chunk-VD2IXKGO.js.map} +0 -0
- /package/client-dist/{chunk-LTRCLVM3.js.map → chunk-W3N4KJQU.js.map} +0 -0
- /package/client-dist/{chunk-RRV4AJML.js.map → chunk-WKKV76Y4.js.map} +0 -0
- /package/client-dist/{chunk-EMTKUTBC.js.map → chunk-WRTBJFYJ.js.map} +0 -0
- /package/client-dist/{chunk-FOUQZW4D.js.map → chunk-WTKKMZP3.js.map} +0 -0
- /package/client-dist/{chunk-OG33J4ZD.js.map → chunk-XZ6U37UV.js.map} +0 -0
- /package/client-dist/{chunk-VW3WQQBF.js.map → chunk-YKPMO3C3.js.map} +0 -0
- /package/client-dist/{chunk-M7Z2O4RG.js.map → chunk-ZIAX3RD5.js.map} +0 -0
- /package/client-dist/{chunk-3R7FDMZ3.js.map → chunk-ZPHUSRQ2.js.map} +0 -0
- /package/client-dist/{chunk-VM45PE3J.js.map → chunk-ZVEM6BEV.js.map} +0 -0
- /package/client-dist/{consultant.module-HFZCP4N4.js.map → consultant.module-355QJ5VP.js.map} +0 -0
- /package/client-dist/{crd.module-6R37JW4V.js.map → crd.module-23O7HPSP.js.map} +0 -0
- /package/client-dist/{dashboard.module-YAZCCU26.js.map → dashboard.module-B3DBG7VA.js.map} +0 -0
- /package/client-dist/{document-library.module-EFTFUIXJ.js.map → document-library.module-HCB3IBFU.js.map} +0 -0
- /package/client-dist/{embedding-eval.module-NIPCFFWB.js.map → embedding-eval.module-Y4S72P6L.js.map} +0 -0
- /package/client-dist/{embedding-registry.module-4GLSQNAT.js.map → embedding-registry.module-WRLE4M2R.js.map} +0 -0
- /package/client-dist/{err.module-2RPVCWXD.js.map → err.module-NEHVNIDC.js.map} +0 -0
- /package/client-dist/{feedback.module-WVLKZ533.js.map → feedback.module-M22IIOC3.js.map} +0 -0
- /package/client-dist/{host-runtime-mcp.module-GRW6RSCA.js.map → host-runtime-mcp.module-BTQGLDN3.js.map} +0 -0
- /package/client-dist/{live-dev-pipeline.module-P3DEM6CE.js.map → live-dev-pipeline.module-TBWOJ2K7.js.map} +0 -0
- /package/client-dist/{logs.module-U6KCQYDU.js.map → logs.module-WLXYHRBN.js.map} +0 -0
- /package/client-dist/{master-control-remote-poc.module-RYSKRGXU.js.map → master-control-remote-poc.module-NZ4AZJHI.js.map} +0 -0
- /package/client-dist/{mobile-app.module-EBMTWXS2.js.map → mobile-app.module-JUBFTHW3.js.map} +0 -0
- /package/client-dist/{model-registry.module-F6R5MSBB.js.map → model-registry.module-AIAGFPNO.js.map} +0 -0
- /package/client-dist/{orc.module-NJQ6XGPN.js.map → orc.module-BMV7EOI7.js.map} +0 -0
- /package/client-dist/{project-source-routed.module-LZCPWG6J.js.map → project-source-routed.module-CTOB53C7.js.map} +0 -0
- /package/client-dist/{scheduler.module-WWPV25AU.js.map → scheduler.module-IKACZ62P.js.map} +0 -0
- /package/client-dist/{setup.module-RVTO6I3R.js.map → setup.module-CWFUSK2V.js.map} +0 -0
- /package/client-dist/{terminals.module-AZEN47GZ.js.map → terminals.module-FIV7G4Y6.js.map} +0 -0
- /package/client-dist/{voice-notes-poc.module-5JUTNIBP.js.map → voice-notes-poc.module-HWX6J3HW.js.map} +0 -0
- /package/client-dist/{wfs.module-5MMNXIRW.js.map → wfs.module-AF5XUOHR.js.map} +0 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* REQ-SYS-INSTALL-VERSION-CHECK-001 (cycle 781a): per-session runner version
|
|
4
|
+
* tracking a `cc:register` payload-ból (`runnerVersion` mező). A
|
|
5
|
+
* `CC_AdapterTerminal_ControlService.runnerVersions` Map ad data-source-ot
|
|
6
|
+
* a no-ACK error-context-hez (versionStatus: matches-server / mismatch /
|
|
7
|
+
* unknown-pre-cycle-781) és a `/api/cc-session/version-info` endpointnak
|
|
8
|
+
* (Settings → Version-info szekció táblázata).
|
|
9
|
+
*
|
|
10
|
+
* Pattern: Object.create + privát mezők kézi init (cycle 187 minta).
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
const cc_adapter_terminal_control_service_1 = require("./cc-adapter-terminal.control-service");
|
|
14
|
+
describe('CC_AdapterTerminal_ControlService runner-versions (cycle 781a REQ-SYS-INSTALL-VERSION-CHECK-001 Slice A)', () => {
|
|
15
|
+
/** Object.create-vel létrehozott instance + üres `runnerVersions` Map. */
|
|
16
|
+
function buildSvc() {
|
|
17
|
+
const svc = Object.create(cc_adapter_terminal_control_service_1.CC_AdapterTerminal_ControlService.prototype);
|
|
18
|
+
svc.runnerVersions =
|
|
19
|
+
new Map();
|
|
20
|
+
return svc;
|
|
21
|
+
}
|
|
22
|
+
/** Privát Map elérés reflektíven (csak teszthez). */
|
|
23
|
+
function readVersionsMap(svc) {
|
|
24
|
+
return svc.runnerVersions;
|
|
25
|
+
}
|
|
26
|
+
describe('getRunnerVersion', () => {
|
|
27
|
+
it('| ismeretlen sessionId → undefined', () => {
|
|
28
|
+
const svc = buildSvc();
|
|
29
|
+
expect(svc.getRunnerVersion('ccs-not-registered')).toBeUndefined();
|
|
30
|
+
});
|
|
31
|
+
it('| ismert sessionId → eltárolt verzió-string', () => {
|
|
32
|
+
const svc = buildSvc();
|
|
33
|
+
readVersionsMap(svc).set('ccs-known', '1.1.2500');
|
|
34
|
+
expect(svc.getRunnerVersion('ccs-known')).toBe('1.1.2500');
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
describe('listAllRunnerVersions', () => {
|
|
38
|
+
it('| üres Map → üres tömb', () => {
|
|
39
|
+
const svc = buildSvc();
|
|
40
|
+
expect(svc.listAllRunnerVersions()).toEqual([]);
|
|
41
|
+
});
|
|
42
|
+
it('| egy regisztrált runner → 1-elemű tömb sessionId+runnerVersion mezőkkel', () => {
|
|
43
|
+
const svc = buildSvc();
|
|
44
|
+
readVersionsMap(svc).set('ccs-A', '1.1.2400');
|
|
45
|
+
const result = svc.listAllRunnerVersions();
|
|
46
|
+
expect(result).toEqual([{ sessionId: 'ccs-A', runnerVersion: '1.1.2400' }]);
|
|
47
|
+
});
|
|
48
|
+
it('| több regisztrált runner → minden entry külön tuple-ként', () => {
|
|
49
|
+
const svc = buildSvc();
|
|
50
|
+
readVersionsMap(svc).set('ccs-A', '1.1.2400');
|
|
51
|
+
readVersionsMap(svc).set('ccs-B', '1.1.2500');
|
|
52
|
+
readVersionsMap(svc).set('ccs-C', '1.1.2562');
|
|
53
|
+
const result = svc.listAllRunnerVersions();
|
|
54
|
+
expect(result.length).toBe(3);
|
|
55
|
+
// Map-iteration insertion-order garantált (Map spec) → stabil tömb.
|
|
56
|
+
expect(result).toContain({ sessionId: 'ccs-A', runnerVersion: '1.1.2400' });
|
|
57
|
+
expect(result).toContain({ sessionId: 'ccs-B', runnerVersion: '1.1.2500' });
|
|
58
|
+
expect(result).toContain({ sessionId: 'ccs-C', runnerVersion: '1.1.2562' });
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=cc-adapter-terminal-runner-versions.control-service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-adapter-terminal-runner-versions.control-service.spec.js","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal-runner-versions.control-service.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,16 @@ import { CC_OutputCallback_Type, CC_ProcessStateCallback_Type, CC_SessionConfig_
|
|
|
12
12
|
*/
|
|
13
13
|
export declare class CC_AdapterTerminal_ControlService extends DyNTS_SingletonService {
|
|
14
14
|
static getInstance(): CC_AdapterTerminal_ControlService;
|
|
15
|
+
/**
|
|
16
|
+
* BUG-CC-TERM-HANG-001 (2026-05-07): server-restart grace iteráció-szám felső
|
|
17
|
+
* korlátja. A `runnerGracePeriodSec` (default 3600s = 1h) lifecycle-célra van
|
|
18
|
+
* (idle-timeout); a `sendInputViaTerminal` HTTP-blokkoló polling-jában a
|
|
19
|
+
* `runnerGracePeriodSec * 2` formula 7200 × 500ms = 60min hang-ot okozott.
|
|
20
|
+
* 30s (60 iter × 500ms) elég ahhoz, hogy egy érvényesen reconnect-elő runner
|
|
21
|
+
* befigyeljen — utána fail-fast → spawn új terminált / queue-fallback (a
|
|
22
|
+
* route-on a transient-failure ág enqueue-olja a prompt-ot).
|
|
23
|
+
*/
|
|
24
|
+
static computeServerRestartGraceIterations(runnerGracePeriodSec: number): number;
|
|
15
25
|
/** Terminal mode: sessionId → runner Socket.IO connection. */
|
|
16
26
|
private terminalSockets;
|
|
17
27
|
/** Terminal mode: sessionId → terminalId (UUID). */
|
|
@@ -39,12 +49,7 @@ export declare class CC_AdapterTerminal_ControlService extends DyNTS_SingletonSe
|
|
|
39
49
|
/** Terminal mode: pending ack sequence per session — a throttle timer fire-kor ezt küldi.
|
|
40
50
|
* Minden új output frissíti a legmagasabbra; a timer nem nulláza újra a throttle-t. */
|
|
41
51
|
private pendingAckSequence;
|
|
42
|
-
/**
|
|
43
|
-
* Cycle 781 (REQ-SYS-INSTALL-VERSION-CHECK-001): per-session runner version
|
|
44
|
-
* a `cc:register` payload-ből. Ha a runner pre-cycle-781 build-ből van
|
|
45
|
-
* (nincs `runnerVersion` mező), a Map-ben nem szerepel a session.
|
|
46
|
-
* A verzió-info endpoint + no-ACK error context használja.
|
|
47
|
-
*/
|
|
52
|
+
/** Cycle 781: per-session runner version a `cc:register`-ből. */
|
|
48
53
|
private runnerVersions;
|
|
49
54
|
/** Terminal mode enabled flag (settings alapján, a manager állítja be).
|
|
50
55
|
* Default: true Windows-on (cmd.exe detached) — ha a settings lekérdezés sikertelen, is nyíljon
|
|
@@ -82,6 +87,12 @@ export declare class CC_AdapterTerminal_ControlService extends DyNTS_SingletonSe
|
|
|
82
87
|
/** Stop execution flag: session-ek amelyeknél a kill után waitingInput-ra váltunk (nem terminated).
|
|
83
88
|
* A handleTerminalProcessExit-ben használjuk, az adapter stoppedSessions referencia-ját tükrözi. */
|
|
84
89
|
private stoppedSessions;
|
|
90
|
+
/**
|
|
91
|
+
* REQ-CC-EXIT-REASON-001 — shared kill-ok map (az adapter pendingKillReasons referencia).
|
|
92
|
+
* A kill site-ok (terminal mode disconnect-all, restart, runner-evict) markPendingKill-szerűen
|
|
93
|
+
* írják, a handleTerminalProcessExit kiolvassa és törli, és átadja a classifyExitStatus-nak.
|
|
94
|
+
*/
|
|
95
|
+
private pendingKillReasons;
|
|
85
96
|
/**
|
|
86
97
|
* Output callback beállítása (az adapter hívja bootstrap-kor).
|
|
87
98
|
*/
|
|
@@ -114,6 +125,12 @@ export declare class CC_AdapterTerminal_ControlService extends DyNTS_SingletonSe
|
|
|
114
125
|
* A handleTerminalProcessExit használja, hogy stop execution után waitingInput-ra váltson.
|
|
115
126
|
*/
|
|
116
127
|
setStoppedSessions(stoppedSessions: Set<string>): void;
|
|
128
|
+
/**
|
|
129
|
+
* REQ-CC-EXIT-REASON-001 — pendingKillReasons map referencia beállítása (az adapter hívja
|
|
130
|
+
* bootstrap-kor). Shared map: ugyanaz az instance, amibe az adapter `markPendingKill`
|
|
131
|
+
* is ír. A handleTerminalProcessExit használja a kill ok kiolvasásához.
|
|
132
|
+
*/
|
|
133
|
+
setPendingKillReasons(map: Map<string, string>): void;
|
|
117
134
|
/**
|
|
118
135
|
* Terminal mode bekapcsolt állapot lekérdezése.
|
|
119
136
|
*/
|
|
@@ -168,38 +185,16 @@ export declare class CC_AdapterTerminal_ControlService extends DyNTS_SingletonSe
|
|
|
168
185
|
* feltétlenül szerepelnek. Ez a metódus szélesebb halmazt fed le.
|
|
169
186
|
*/
|
|
170
187
|
disconnectAllRunners(): void;
|
|
171
|
-
/**
|
|
172
|
-
* Cycle 781 (REQ-SYS-INSTALL-VERSION-CHECK-001): runner verzió lekérdezése
|
|
173
|
-
* a sessionId-hez. Undefined ha:
|
|
174
|
-
* - a session-nek nincs aktív runner (nem regisztrált a futás során), VAGY
|
|
175
|
-
* - a runner pre-cycle-781 build-ből, ami nem küldte a verzióját.
|
|
176
|
-
* Ezek megkülönböztetését a `hasActiveRunner` (terminalSockets-ben szerepel)
|
|
177
|
-
* + a Map jelenléte adja vissza.
|
|
178
|
-
*/
|
|
188
|
+
/** Cycle 781: runner version sessionId-hez (undefined ha pre-781 / nincs registration). */
|
|
179
189
|
getRunnerVersion(sessionId: string): string | undefined;
|
|
180
|
-
/**
|
|
181
|
-
* Cycle 781e (REQ-SYS-INSTALL-VERSION-CHECK-001 Slice E): runner kill +
|
|
182
|
-
* respawn egy hívásban. A user UI-ról triggereli, ha verzió-mismatch van
|
|
183
|
-
* vagy a runner nem reagál (pl. konzisztens no-ACK fire-pattern).
|
|
184
|
-
*
|
|
185
|
-
* Lépések:
|
|
186
|
-
* 1. Ha van aktív socket: `cc:kill` SIGTERM + disconnect → a runner
|
|
187
|
-
* process.exit(0)-tal kilép, a CMD/terminál ablak bezárul.
|
|
188
|
-
* 2. In-memory state cleanup (sockets, terminalIds, runnerVersions).
|
|
189
|
-
* 3. `spawnTerminalRunner` új ablakot nyit a friss npm-installed
|
|
190
|
-
* runner-rel — az új cycle 769+ ACK protokoll-tudó verzióval, ha a
|
|
191
|
-
* user közben `npm i -g @futdevpro/ccap@latest`-tel frissítette.
|
|
192
|
-
*/
|
|
190
|
+
/** Cycle 781e: runner kill + respawn egy hívásban (UI-button trigger). */
|
|
193
191
|
restartRunner(params: {
|
|
194
192
|
sessionId: string;
|
|
195
193
|
workspacePath: string;
|
|
196
194
|
}): Promise<{
|
|
197
195
|
terminalId: string;
|
|
198
196
|
}>;
|
|
199
|
-
/**
|
|
200
|
-
* Cycle 781: az összes ismert (sessionId → runnerVersion) párt listázza.
|
|
201
|
-
* A version-info endpoint használja a /errors page UI-on / Settings-ben.
|
|
202
|
-
*/
|
|
197
|
+
/** Cycle 781: összes (sessionId → runnerVersion) pair (version-info endpoint). */
|
|
203
198
|
listAllRunnerVersions(): {
|
|
204
199
|
sessionId: string;
|
|
205
200
|
runnerVersion: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cc-adapter-terminal.control-service.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"cc-adapter-terminal.control-service.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,10 @@ const instance_id_service_1 = require("../../../../../_services/instance-id.serv
|
|
|
17
17
|
const cc_status_enum_1 = require("../../../_enums/cc-status.enum");
|
|
18
18
|
const cc_cli_args_util_1 = require("../../../_collections/utils/cc-cli-args.util");
|
|
19
19
|
const cc_process_exit_util_1 = require("../../../_collections/utils/lifecycle/cc-process-exit.util");
|
|
20
|
+
const cc_kill_reasons_const_1 = require("../../../_collections/consts/cc-kill-reasons.const");
|
|
20
21
|
const tls_linux_terminal_spawn_util_1 = require("../../../../../../ccap-agent/_modules/tools/_collections/utils/exec/tls-linux-terminal-spawn.util");
|
|
22
|
+
const sq_session_type_enum_1 = require("../../../../../../session-queue/_enums/sq-session-type.enum");
|
|
23
|
+
const session_queue_control_service_1 = require("../../../../../../session-queue/_services/control-services/session-queue.control-service");
|
|
21
24
|
const claude_code_data_service_1 = require("../claude-code.data-service");
|
|
22
25
|
const cc_terminal_data_service_1 = require("./cc-terminal.data-service");
|
|
23
26
|
const cc_terminal_lifecycle_control_service_1 = require("./cc-terminal-lifecycle.control-service");
|
|
@@ -35,6 +38,20 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
35
38
|
static getInstance() {
|
|
36
39
|
return CC_AdapterTerminal_ControlService.getSingletonInstance();
|
|
37
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* BUG-CC-TERM-HANG-001 (2026-05-07): server-restart grace iteráció-szám felső
|
|
43
|
+
* korlátja. A `runnerGracePeriodSec` (default 3600s = 1h) lifecycle-célra van
|
|
44
|
+
* (idle-timeout); a `sendInputViaTerminal` HTTP-blokkoló polling-jában a
|
|
45
|
+
* `runnerGracePeriodSec * 2` formula 7200 × 500ms = 60min hang-ot okozott.
|
|
46
|
+
* 30s (60 iter × 500ms) elég ahhoz, hogy egy érvényesen reconnect-elő runner
|
|
47
|
+
* befigyeljen — utána fail-fast → spawn új terminált / queue-fallback (a
|
|
48
|
+
* route-on a transient-failure ág enqueue-olja a prompt-ot).
|
|
49
|
+
*/
|
|
50
|
+
static computeServerRestartGraceIterations(runnerGracePeriodSec) {
|
|
51
|
+
const desired = Math.max(0, Math.floor(runnerGracePeriodSec)) * 2;
|
|
52
|
+
const cap = 60;
|
|
53
|
+
return Math.min(desired, cap);
|
|
54
|
+
}
|
|
38
55
|
// ── Terminal mode fields ──────────────────────────────────────
|
|
39
56
|
/** Terminal mode: sessionId → runner Socket.IO connection. */
|
|
40
57
|
terminalSockets = new Map();
|
|
@@ -63,12 +80,7 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
63
80
|
/** Terminal mode: pending ack sequence per session — a throttle timer fire-kor ezt küldi.
|
|
64
81
|
* Minden új output frissíti a legmagasabbra; a timer nem nulláza újra a throttle-t. */
|
|
65
82
|
pendingAckSequence = new Map();
|
|
66
|
-
/**
|
|
67
|
-
* Cycle 781 (REQ-SYS-INSTALL-VERSION-CHECK-001): per-session runner version
|
|
68
|
-
* a `cc:register` payload-ből. Ha a runner pre-cycle-781 build-ből van
|
|
69
|
-
* (nincs `runnerVersion` mező), a Map-ben nem szerepel a session.
|
|
70
|
-
* A verzió-info endpoint + no-ACK error context használja.
|
|
71
|
-
*/
|
|
83
|
+
/** Cycle 781: per-session runner version a `cc:register`-ből. */
|
|
72
84
|
runnerVersions = new Map();
|
|
73
85
|
/** Terminal mode enabled flag (settings alapján, a manager állítja be).
|
|
74
86
|
* Default: true Windows-on (cmd.exe detached) — ha a settings lekérdezés sikertelen, is nyíljon
|
|
@@ -107,6 +119,12 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
107
119
|
/** Stop execution flag: session-ek amelyeknél a kill után waitingInput-ra váltunk (nem terminated).
|
|
108
120
|
* A handleTerminalProcessExit-ben használjuk, az adapter stoppedSessions referencia-ját tükrözi. */
|
|
109
121
|
stoppedSessions = new Set();
|
|
122
|
+
/**
|
|
123
|
+
* REQ-CC-EXIT-REASON-001 — shared kill-ok map (az adapter pendingKillReasons referencia).
|
|
124
|
+
* A kill site-ok (terminal mode disconnect-all, restart, runner-evict) markPendingKill-szerűen
|
|
125
|
+
* írják, a handleTerminalProcessExit kiolvassa és törli, és átadja a classifyExitStatus-nak.
|
|
126
|
+
*/
|
|
127
|
+
pendingKillReasons = new Map();
|
|
110
128
|
// ── Callback setters ───────────────────────────────────────
|
|
111
129
|
/**
|
|
112
130
|
* Output callback beállítása (az adapter hívja bootstrap-kor).
|
|
@@ -155,6 +173,14 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
155
173
|
setStoppedSessions(stoppedSessions) {
|
|
156
174
|
this.stoppedSessions = stoppedSessions;
|
|
157
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* REQ-CC-EXIT-REASON-001 — pendingKillReasons map referencia beállítása (az adapter hívja
|
|
178
|
+
* bootstrap-kor). Shared map: ugyanaz az instance, amibe az adapter `markPendingKill`
|
|
179
|
+
* is ír. A handleTerminalProcessExit használja a kill ok kiolvasásához.
|
|
180
|
+
*/
|
|
181
|
+
setPendingKillReasons(map) {
|
|
182
|
+
this.pendingKillReasons = map;
|
|
183
|
+
}
|
|
158
184
|
// ── Public accessor methods ──────────────────────────────────
|
|
159
185
|
/**
|
|
160
186
|
* Terminal mode bekapcsolt állapot lekérdezése.
|
|
@@ -225,6 +251,7 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
225
251
|
}
|
|
226
252
|
fsm_dynamo_1.DyFM_Log.info(`CC_AdapterTerminal | disconnectAllRunners | count: ${count}`);
|
|
227
253
|
for (const [sessionId, socket] of this.terminalSockets.entries()) {
|
|
254
|
+
this.pendingKillReasons.set(sessionId, cc_kill_reasons_const_1.CC_KILL_REASONS.serverShutdown);
|
|
228
255
|
try {
|
|
229
256
|
socket.emit('cc:kill', { signal: 'SIGTERM' });
|
|
230
257
|
}
|
|
@@ -245,35 +272,17 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
245
272
|
this.terminalIds.clear();
|
|
246
273
|
}
|
|
247
274
|
// ── Terminal mode: public API ────────────────────────────────
|
|
248
|
-
/**
|
|
249
|
-
* Cycle 781 (REQ-SYS-INSTALL-VERSION-CHECK-001): runner verzió lekérdezése
|
|
250
|
-
* a sessionId-hez. Undefined ha:
|
|
251
|
-
* - a session-nek nincs aktív runner (nem regisztrált a futás során), VAGY
|
|
252
|
-
* - a runner pre-cycle-781 build-ből, ami nem küldte a verzióját.
|
|
253
|
-
* Ezek megkülönböztetését a `hasActiveRunner` (terminalSockets-ben szerepel)
|
|
254
|
-
* + a Map jelenléte adja vissza.
|
|
255
|
-
*/
|
|
275
|
+
/** Cycle 781: runner version sessionId-hez (undefined ha pre-781 / nincs registration). */
|
|
256
276
|
getRunnerVersion(sessionId) {
|
|
257
277
|
return this.runnerVersions.get(sessionId);
|
|
258
278
|
}
|
|
259
|
-
/**
|
|
260
|
-
* Cycle 781e (REQ-SYS-INSTALL-VERSION-CHECK-001 Slice E): runner kill +
|
|
261
|
-
* respawn egy hívásban. A user UI-ról triggereli, ha verzió-mismatch van
|
|
262
|
-
* vagy a runner nem reagál (pl. konzisztens no-ACK fire-pattern).
|
|
263
|
-
*
|
|
264
|
-
* Lépések:
|
|
265
|
-
* 1. Ha van aktív socket: `cc:kill` SIGTERM + disconnect → a runner
|
|
266
|
-
* process.exit(0)-tal kilép, a CMD/terminál ablak bezárul.
|
|
267
|
-
* 2. In-memory state cleanup (sockets, terminalIds, runnerVersions).
|
|
268
|
-
* 3. `spawnTerminalRunner` új ablakot nyit a friss npm-installed
|
|
269
|
-
* runner-rel — az új cycle 769+ ACK protokoll-tudó verzióval, ha a
|
|
270
|
-
* user közben `npm i -g @futdevpro/ccap@latest`-tel frissítette.
|
|
271
|
-
*/
|
|
279
|
+
/** Cycle 781e: runner kill + respawn egy hívásban (UI-button trigger). */
|
|
272
280
|
async restartRunner(params) {
|
|
273
281
|
const sessionId = params.sessionId;
|
|
274
282
|
// 1. Aktív socket killing.
|
|
275
283
|
const existingSocket = this.terminalSockets.get(sessionId);
|
|
276
284
|
if (existingSocket) {
|
|
285
|
+
this.pendingKillReasons.set(sessionId, cc_kill_reasons_const_1.CC_KILL_REASONS.runnerRestart);
|
|
277
286
|
try {
|
|
278
287
|
existingSocket.emit('cc:kill', { signal: 'SIGTERM' });
|
|
279
288
|
}
|
|
@@ -304,10 +313,7 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
304
313
|
workspacePath: params.workspacePath,
|
|
305
314
|
});
|
|
306
315
|
}
|
|
307
|
-
/**
|
|
308
|
-
* Cycle 781: az összes ismert (sessionId → runnerVersion) párt listázza.
|
|
309
|
-
* A version-info endpoint használja a /errors page UI-on / Settings-ben.
|
|
310
|
-
*/
|
|
316
|
+
/** Cycle 781: összes (sessionId → runnerVersion) pair (version-info endpoint). */
|
|
311
317
|
listAllRunnerVersions() {
|
|
312
318
|
const out = [];
|
|
313
319
|
for (const [sessionId, runnerVersion] of this.runnerVersions.entries()) {
|
|
@@ -563,10 +569,20 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
563
569
|
}),
|
|
564
570
|
});
|
|
565
571
|
}
|
|
566
|
-
// Várakozás a register event-re
|
|
572
|
+
// Várakozás a register event-re.
|
|
573
|
+
// BUG-CC-TERM-CLOSE-PREMATURE-001 (2026-05-07): 15s → 30s timeout. A 15s
|
|
574
|
+
// tight egy frissen telepítendő runner-nek (első használat egy gépen, npm
|
|
575
|
+
// cache miss, lassú emulator startup, runner self-update). 30s biztos
|
|
576
|
+
// margin; a route-szintű queue-fallback (BUG-CC-TERM-HANG-001) továbbra is
|
|
577
|
+
// safety net ha ennél is tovább tart, és a `handleTerminalRegister`-ből
|
|
578
|
+
// automatikus tryDeliverNext lefut, ha a runner később megérkezik.
|
|
579
|
+
const REGISTER_TIMEOUT_MS = 30000;
|
|
567
580
|
this.terminalIds.set(params.sessionId, terminalId);
|
|
568
581
|
try {
|
|
569
|
-
await this.waitForTerminalRegister({
|
|
582
|
+
await this.waitForTerminalRegister({
|
|
583
|
+
sessionId: params.sessionId,
|
|
584
|
+
timeoutMs: REGISTER_TIMEOUT_MS,
|
|
585
|
+
});
|
|
570
586
|
}
|
|
571
587
|
catch (err) {
|
|
572
588
|
// Cleanup: a runner nem regisztrált időben — orphaned state eltávolítása.
|
|
@@ -612,14 +628,20 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
612
628
|
&& (this.hadRunnerSet.has(params.sessionId) || isServerRestartWindow);
|
|
613
629
|
if (graceWillRun) {
|
|
614
630
|
// graceIterations:
|
|
615
|
-
// - server-restart window:
|
|
616
|
-
//
|
|
617
|
-
//
|
|
631
|
+
// - server-restart window: capped grace (max 60 iter = 30s, 500ms each).
|
|
632
|
+
// BUG-CC-TERM-HANG-001 (2026-05-07): a `runnerGracePeriodSec * 2` formula
|
|
633
|
+
// a default 3600s lifecycle-érték miatt 7200 iter = 60min HTTP-blokkolást
|
|
634
|
+
// okozott (user-bug: „üzenet küldéskor csak teker és teker, és el is
|
|
635
|
+
// tűnik az üzenet"). A `runnerGracePeriodSec` lifecycle-célra (idle-timeout)
|
|
636
|
+
// van, NEM HTTP-send-blokkra. 30s bőven elég ahhoz, hogy egy érvényesen
|
|
637
|
+
// reconnect-elő runner befigyeljen; utána fail-fast → spawnTerminalRunner.
|
|
638
|
+
// - had-runner-disconnected: rövidített grace (4 iter = 2s) — user-closed
|
|
639
|
+
// window, runner nem fog visszajönni, ne blokkoljuk a HTTP request-et 30s-ig
|
|
618
640
|
const graceCase = isServerRestartWindow
|
|
619
641
|
? 'server-restart'
|
|
620
642
|
: 'had-runner-disconnected';
|
|
621
643
|
const graceIterations = isServerRestartWindow
|
|
622
|
-
? this.runnerGracePeriodSec
|
|
644
|
+
? CC_AdapterTerminal_ControlService.computeServerRestartGraceIterations(this.runnerGracePeriodSec)
|
|
623
645
|
: 4;
|
|
624
646
|
fsm_dynamo_1.DyFM_Log.info(`CC_AdapterTerminal | grace-period-enter`
|
|
625
647
|
+ ` | session: ${params.sessionId}`
|
|
@@ -693,16 +715,9 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
693
715
|
cc_terminal_lifecycle_control_service_1.CC_TerminalLifecycle_ControlService.getInstance().touchRunnerActivity({
|
|
694
716
|
sessionId: params.sessionId,
|
|
695
717
|
});
|
|
696
|
-
// REQ-SYS-SILENT-001 Slice 1A (cycle 769): Socket.IO ACK
|
|
697
|
-
//
|
|
698
|
-
//
|
|
699
|
-
// elveszhetett, runner SOHA nem kapta meg a prompt-ot. SILENT FAIL.
|
|
700
|
-
//
|
|
701
|
-
// Most a Socket.IO `socket.timeout(N).emit(event, payload, callback)` API-val:
|
|
702
|
-
// - Ha runner ACK-ol N ms-en belül → callback(null, ackData) → info-log
|
|
703
|
-
// - Ha timeout / error → callback(err, null) → DyFM_Error rögzítés
|
|
704
|
-
// `errorCode='CCAP-CC-PROMPT-NO-ACK'` a /errors page-en a user lássa
|
|
705
|
-
//
|
|
718
|
+
// REQ-SYS-SILENT-001 Slice 1A (cycle 769): Socket.IO ACK + timeout watchdog.
|
|
719
|
+
// Korábban fire-and-forget — silent fail ha a runner nem kapta meg.
|
|
720
|
+
// Most: timeout/error → CCAP-CC-PROMPT-NO-ACK errorCode a /errors-be.
|
|
706
721
|
// Backward compat: a régi runner (ACK-mentes) timeout-tal jelez; az updated
|
|
707
722
|
// runner (cycle 769 cc-terminal-runner.ts) ACK-ol — gradient kompatibilitás.
|
|
708
723
|
const ACK_TIMEOUT_MS = 8000;
|
|
@@ -714,18 +729,9 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
714
729
|
}, (ackErr, ackData) => {
|
|
715
730
|
const elapsedMs = Date.now() - promptStartMs;
|
|
716
731
|
if (ackErr) {
|
|
717
|
-
//
|
|
718
|
-
//
|
|
719
|
-
//
|
|
720
|
-
// visszament; státusz `running`-ban ragadt; output sosem érkezett).
|
|
721
|
-
// User-panasz: „el-el nyelődnek üzenetek mindenféle resolve és error
|
|
722
|
-
// nélkül". Most:
|
|
723
|
-
// (a) stderr-marker chat-bubble (`[CC_PROMPT_DELIVERY_FAILED]`) az
|
|
724
|
-
// overflow-mintát követve — handleOutput → CC_Event persist +
|
|
725
|
-
// socket broadcast → UI timeline.
|
|
726
|
-
// (b) status revert `waitingInput`-ra: a user azonnal újra-küldhet
|
|
727
|
-
// a frozen `running` helyett.
|
|
728
|
-
// (c) /errors page-re továbbra is rögzítjük (globalErrorHandler).
|
|
732
|
+
// Cycle 772: user-visible bubble (`[CC_PROMPT_DELIVERY_FAILED]` stderr
|
|
733
|
+
// marker → CC_Event + socket broadcast) + status revert waitingInput-ra
|
|
734
|
+
// + /errors page record (globalErrorHandler). Silent-fail vége.
|
|
729
735
|
this.handleOutput({
|
|
730
736
|
sessionId: params.sessionId,
|
|
731
737
|
type: 'stderr',
|
|
@@ -749,15 +755,8 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
749
755
|
statusMessage: `Prompt delivery failed — runner did not acknowledge within ${ACK_TIMEOUT_MS}ms`
|
|
750
756
|
+ ` (this may indicate an older runner without ACK protocol support — check version)`,
|
|
751
757
|
});
|
|
752
|
-
// Cycle 781
|
|
753
|
-
//
|
|
754
|
-
// tipikusan a cycle 769 ACK-protokoll-mentes runner is), explicit
|
|
755
|
-
// jelezzük a /errors page-en, hogy `npm i -g @futdevpro/ccap@latest`
|
|
756
|
-
// kell. A regression-detect a cycle 780 fix-annotation registry-vel
|
|
757
|
-
// megy: a CCAP-CC-PROMPT-NO-ACK errorCode v1.1.2473+ build-ből
|
|
758
|
-
// automatikusan REGRESSION-ként jelölődik (azaz valódi probléma) —
|
|
759
|
-
// ELLENBEN ha a runnerVersion régi, akkor a runner az ok és nem
|
|
760
|
-
// a server-side regression.
|
|
758
|
+
// Cycle 781: runner-version aware diagnostics — ha outdated runner
|
|
759
|
+
// a no-ACK oka, a /errors-en explicit látszik a `npm i -g` hint.
|
|
761
760
|
const runnerVersion = this.runnerVersions.get(params.sessionId);
|
|
762
761
|
const runnerVersionStatus = !runnerVersion ? 'unknown-pre-cycle-781'
|
|
763
762
|
: runnerVersion === version_const_1.CCAP_VERSION ? 'matches-server'
|
|
@@ -990,6 +989,22 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
990
989
|
socket: params.socket,
|
|
991
990
|
terminalId: terminalId,
|
|
992
991
|
});
|
|
992
|
+
// BUG-CC-TERM-HANG-001 (2026-05-07): queue drain on register. Ha a route
|
|
993
|
+
// előzőleg `CCAP-CCS-TERMINAL-NOT-CONNECTED` / `CCAP-CCS-TERMINAL-REG-TIMEOUT`
|
|
994
|
+
// miatt enqueue-olta a user prompt-ot, most amikor a runner megérkezik,
|
|
995
|
+
// azonnal próbáljuk delivery-zni. A queue belső `canReceiveInput` USS-check
|
|
996
|
+
// dönti el, hogy ténylegesen kiküldhető-e — ha még nem (pl. status starting),
|
|
997
|
+
// a queue saját debounce-szal próbálkozik újra. Fire-and-forget: nem blokkolja
|
|
998
|
+
// a regisztrációt, error → warn-log.
|
|
999
|
+
session_queue_control_service_1.SessionQueue_ControlService.getInstance().tryDeliverNext({
|
|
1000
|
+
sessionType: sq_session_type_enum_1.SQ_SessionType_Type.ccSession,
|
|
1001
|
+
sessionId: sessionId,
|
|
1002
|
+
skipDebounce: true,
|
|
1003
|
+
}).catch((err) => {
|
|
1004
|
+
fsm_dynamo_1.DyFM_Log.warn(`CC_AdapterTerminal | tryDeliverNext on register failed`
|
|
1005
|
+
+ ` | session: ${sessionId}`
|
|
1006
|
+
+ ` | error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(err)}`);
|
|
1007
|
+
});
|
|
993
1008
|
}
|
|
994
1009
|
/**
|
|
995
1010
|
* Terminal runner output event kezelése (cc:output).
|
|
@@ -1102,6 +1117,9 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
1102
1117
|
const signal = typeof data.signal === 'string' ? data.signal : null;
|
|
1103
1118
|
const isStopExecution = this.stoppedSessions.has(sessionId);
|
|
1104
1119
|
this.stoppedSessions.delete(sessionId);
|
|
1120
|
+
// REQ-CC-EXIT-REASON-001 — kill ok kiolvasása + törlése (egyszeri használat).
|
|
1121
|
+
const killReason = this.pendingKillReasons.get(sessionId);
|
|
1122
|
+
this.pendingKillReasons.delete(sessionId);
|
|
1105
1123
|
// Cycle 231: a duplikált inline status-klasszifikáció kiemelve
|
|
1106
1124
|
// CC_ProcessExit_Util.classifyExitStatus-be (cc-adapter direct mode is ezt
|
|
1107
1125
|
// használja). Cycle 227 signal-kill detekció + cycle 230 statusMessage
|
|
@@ -1110,6 +1128,7 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
1110
1128
|
code: code,
|
|
1111
1129
|
signal: signal,
|
|
1112
1130
|
isStopExecution: isStopExecution,
|
|
1131
|
+
killReason: killReason,
|
|
1113
1132
|
});
|
|
1114
1133
|
this.handleProcessStateChange({
|
|
1115
1134
|
sessionId: sessionId,
|
|
@@ -1518,6 +1537,10 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
1518
1537
|
* + lifecycle deregisztráció + hadRunnerSet törlés.
|
|
1519
1538
|
*/
|
|
1520
1539
|
killAndDisconnectRunner(params) {
|
|
1540
|
+
// REQ-CC-EXIT-REASON-001 — a kiutasítás okát (`completion-guard`, `verify-mismatch`,
|
|
1541
|
+
// stb.) `runner-evict:<reason>` formában rögzítjük, hogy a process-exit handler
|
|
1542
|
+
// a statusMessage-ben részletes okot tudjon adni.
|
|
1543
|
+
this.pendingKillReasons.set(params.sessionId, `${cc_kill_reasons_const_1.CC_KILL_REASONS.runnerEvict}:${params.reason}`);
|
|
1521
1544
|
try {
|
|
1522
1545
|
params.socket.emit('cc:kill', { signal: 'SIGTERM' });
|
|
1523
1546
|
}
|