@futdevpro/ccap 1.1.2509 → 1.1.2585
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-UDY5QZWB.js} +2 -2
- package/client-dist/ca.module-HZKGDMWQ.js +5 -0
- package/client-dist/ca.module-HZKGDMWQ.js.map +7 -0
- package/client-dist/cc.module-XHPUHCTY.js +4 -0
- package/client-dist/cc.module-XHPUHCTY.js.map +7 -0
- package/client-dist/{chunk-Q4YAQFNP.js → chunk-2ITU6ZUM.js} +2 -2
- package/client-dist/{chunk-Y6PUQHIU.js → chunk-2N7NQG7Q.js} +2 -2
- package/client-dist/{chunk-NJUY7I3Y.js → chunk-3HX37L3J.js} +2 -2
- package/client-dist/{chunk-GNW4X5RC.js → chunk-3YPBVIDJ.js} +2 -2
- package/client-dist/{chunk-OG33J4ZD.js → chunk-42VB5ZQS.js} +2 -2
- package/client-dist/{chunk-TJENOBO6.js → chunk-4EUKDX2B.js} +2 -2
- package/client-dist/{chunk-2HIXFHTS.js → chunk-4PKNY4PJ.js} +3 -3
- package/client-dist/chunk-4PKNY4PJ.js.map +1 -0
- package/client-dist/{chunk-5MNGROTB.js → chunk-56EQDG6E.js} +2 -2
- package/client-dist/{chunk-CJVTAHYF.js → chunk-5SKL5HHO.js} +2 -2
- package/client-dist/{chunk-72FQNGJO.js → chunk-6BOUODAT.js} +2 -2
- package/client-dist/{chunk-AQ72GJMX.js → chunk-6C4HMIS6.js} +2 -2
- package/client-dist/{chunk-KFS5VDDV.js → chunk-6D6XCLGK.js} +2 -2
- package/client-dist/{chunk-CKR2NA35.js → chunk-77UMON5X.js} +2 -2
- package/client-dist/{chunk-JUWOVLJL.js → chunk-7ZVD6LZ4.js} +2 -2
- package/client-dist/{chunk-KTAWOOUI.js → chunk-A36RZJWH.js} +2 -2
- package/client-dist/{chunk-RRV4AJML.js → chunk-AVI22QZM.js} +2 -2
- package/client-dist/{chunk-AM2JGX23.js → chunk-BORMYQ7S.js} +2 -2
- package/client-dist/{chunk-XQKHUGZW.js → chunk-CJ62X7WV.js} +2 -2
- package/client-dist/{chunk-M7Z2O4RG.js → chunk-CKF63TFV.js} +2 -2
- package/client-dist/chunk-CPK4BL7O.js +3 -0
- package/client-dist/{chunk-6XRGBDSK.js.map → chunk-CPK4BL7O.js.map} +4 -4
- package/client-dist/{chunk-PYVQEDEW.js → chunk-CWR6ZNEU.js} +2 -2
- package/client-dist/{chunk-VW3WQQBF.js → chunk-DOZSMA4R.js} +2 -2
- package/client-dist/{chunk-PUFVETM4.js → chunk-EWK657JH.js} +2 -2
- package/client-dist/{chunk-QHUBJGWS.js → chunk-F5B46GLI.js} +2 -2
- package/client-dist/{chunk-AY3XK6RS.js → chunk-FKCRNYZY.js} +2 -2
- package/client-dist/{chunk-V4X7URSF.js → chunk-FUWU5SAR.js} +2 -2
- package/client-dist/{chunk-F46E5KZ3.js → chunk-HBEZNISK.js} +2 -2
- package/client-dist/{chunk-FOUQZW4D.js → chunk-HZBU5O3R.js} +2 -2
- package/client-dist/{chunk-OQ24BGZJ.js → chunk-IUMRUKS2.js} +2 -2
- package/client-dist/{chunk-U5VAWMNB.js → chunk-IZOE47W6.js} +2 -2
- package/client-dist/{chunk-NTUVOM4B.js → chunk-KXFHNZNW.js} +2 -2
- package/client-dist/{chunk-JIZE3HXP.js → chunk-MCZ3PLTT.js} +2 -2
- package/client-dist/{chunk-5L4G3C5C.js → chunk-MY5WQ7QW.js} +2 -2
- package/client-dist/{chunk-WX6TVKDG.js → chunk-NUSZLWO3.js} +2 -2
- package/client-dist/{chunk-H7BIO73O.js → chunk-NZUTHRBY.js} +2 -2
- package/client-dist/chunk-O34GKTSF.js +2 -0
- package/client-dist/chunk-O34GKTSF.js.map +7 -0
- package/client-dist/{chunk-4FSRDTZN.js → chunk-OH353S6Q.js} +2 -2
- package/client-dist/{chunk-2E6OA2KT.js → chunk-OYMJ57PL.js} +2 -2
- package/client-dist/{chunk-KZUKSPQS.js → chunk-QCLHEBFF.js} +2 -2
- package/client-dist/{chunk-APXVQISJ.js → chunk-QELAISH5.js} +2 -2
- package/client-dist/{chunk-3R7FDMZ3.js → chunk-QVO7D6MW.js} +2 -2
- package/client-dist/{chunk-EMTKUTBC.js → chunk-QY6EVZQP.js} +2 -2
- package/client-dist/{chunk-YWWHFCS3.js → chunk-SP5BICPA.js} +2 -2
- package/client-dist/{chunk-MSY74RUJ.js → chunk-U5UHHTNY.js} +2 -2
- package/client-dist/{chunk-TM2SED26.js → chunk-VS3OABTD.js} +2 -2
- package/client-dist/{chunk-G7FLLFQV.js → chunk-W3FGHB4J.js} +2 -2
- package/client-dist/{chunk-FVJHSIII.js → chunk-WBXAI6KX.js} +2 -2
- package/client-dist/{chunk-O65C5CZH.js → chunk-XGPVYITU.js} +2 -2
- package/client-dist/{chunk-G44KM4TW.js → chunk-XOEIV7DM.js} +2 -2
- package/client-dist/{chunk-JAUNNZJN.js → chunk-XPV2NH7Y.js} +2 -2
- package/client-dist/{chunk-VM45PE3J.js → chunk-XQT4GCPA.js} +2 -2
- package/client-dist/{chunk-4RFLGW5L.js → chunk-XWP33UZH.js} +2 -2
- package/client-dist/{chunk-SQDIXJP2.js → chunk-Y2O26C3U.js} +2 -2
- package/client-dist/{chunk-XNHRRX4L.js → chunk-Z3J6BRQE.js} +2 -2
- package/client-dist/{chunk-ZQCAHEXF.js → chunk-ZB4SFHZ2.js} +2 -2
- package/client-dist/{chunk-LTRCLVM3.js → chunk-ZUD5BM5I.js} +2 -2
- package/client-dist/{consultant.module-HFZCP4N4.js → consultant.module-UPUHCJAY.js} +2 -2
- package/client-dist/{crd.module-6R37JW4V.js → crd.module-MPOKEY25.js} +2 -2
- package/client-dist/{dashboard.module-YAZCCU26.js → dashboard.module-AMV7M5BJ.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-DFPZJO7Y.js +18 -0
- package/client-dist/do.module-DFPZJO7Y.js.map +7 -0
- package/client-dist/{document-library.module-EFTFUIXJ.js → document-library.module-RCFAEWTG.js} +2 -2
- package/client-dist/{embedding-eval.module-NIPCFFWB.js → embedding-eval.module-3BIHIVAY.js} +2 -2
- package/client-dist/{embedding-registry.module-4GLSQNAT.js → embedding-registry.module-MNMESFZ7.js} +2 -2
- package/client-dist/{err.module-2RPVCWXD.js → err.module-X4XSLFQF.js} +2 -2
- package/client-dist/{feedback.module-WVLKZ533.js → feedback.module-ATVDBFBO.js} +2 -2
- package/client-dist/{host-runtime-mcp.module-GRW6RSCA.js → host-runtime-mcp.module-XLJ77OB6.js} +2 -2
- package/client-dist/index.html +2 -2
- package/client-dist/{live-dev-pipeline.module-P3DEM6CE.js → live-dev-pipeline.module-OJ3TMQDS.js} +2 -2
- package/client-dist/{logs.module-U6KCQYDU.js → logs.module-LDSPCIZG.js} +2 -2
- package/client-dist/main-HAEPQDF4.js +7 -0
- package/client-dist/main-HAEPQDF4.js.map +7 -0
- package/client-dist/{master-control-remote-poc.module-RYSKRGXU.js → master-control-remote-poc.module-PIYVV2O4.js} +2 -2
- package/client-dist/{mobile-app.module-EBMTWXS2.js → mobile-app.module-HXOEINEU.js} +2 -2
- package/client-dist/{model-registry.module-F6R5MSBB.js → model-registry.module-7XR7DQF3.js} +2 -2
- package/client-dist/oc.module-PXRALG3J.js +3 -0
- package/client-dist/oc.module-PXRALG3J.js.map +7 -0
- package/client-dist/{orc.module-NJQ6XGPN.js → orc.module-XWPMT7MP.js} +2 -2
- package/client-dist/{project-management.module-JQEQIHL2.js → project-management.module-3DVAUZYJ.js} +11 -11
- package/client-dist/project-management.module-3DVAUZYJ.js.map +7 -0
- package/client-dist/project-source-routed.module-LXOFGFZ3.js +2 -0
- package/client-dist/{scheduler.module-WWPV25AU.js → scheduler.module-BIR62G32.js} +2 -2
- package/client-dist/session.module-2YDJ35IR.js +12 -0
- package/client-dist/session.module-2YDJ35IR.js.map +7 -0
- package/client-dist/set.module-Q4D7USFX.js +11 -0
- package/client-dist/{set.module-IKSASSWS.js.map → set.module-Q4D7USFX.js.map} +3 -3
- package/client-dist/{setup.module-RVTO6I3R.js → setup.module-ECA6XRR5.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-PT2ISO2T.js} +2 -2
- package/client-dist/{voice-notes-poc.module-5JUTNIBP.js → voice-notes-poc.module-OCX735WY.js} +2 -2
- package/client-dist/{wfs.module-5MMNXIRW.js → wfs.module-ADTI4XGV.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 +33 -53
- 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 +93 -90
- 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-UDY5QZWB.js.map} +0 -0
- /package/client-dist/{chunk-Q4YAQFNP.js.map → chunk-2ITU6ZUM.js.map} +0 -0
- /package/client-dist/{chunk-Y6PUQHIU.js.map → chunk-2N7NQG7Q.js.map} +0 -0
- /package/client-dist/{chunk-NJUY7I3Y.js.map → chunk-3HX37L3J.js.map} +0 -0
- /package/client-dist/{chunk-GNW4X5RC.js.map → chunk-3YPBVIDJ.js.map} +0 -0
- /package/client-dist/{chunk-OG33J4ZD.js.map → chunk-42VB5ZQS.js.map} +0 -0
- /package/client-dist/{chunk-TJENOBO6.js.map → chunk-4EUKDX2B.js.map} +0 -0
- /package/client-dist/{chunk-5MNGROTB.js.map → chunk-56EQDG6E.js.map} +0 -0
- /package/client-dist/{chunk-CJVTAHYF.js.map → chunk-5SKL5HHO.js.map} +0 -0
- /package/client-dist/{chunk-72FQNGJO.js.map → chunk-6BOUODAT.js.map} +0 -0
- /package/client-dist/{chunk-AQ72GJMX.js.map → chunk-6C4HMIS6.js.map} +0 -0
- /package/client-dist/{chunk-KFS5VDDV.js.map → chunk-6D6XCLGK.js.map} +0 -0
- /package/client-dist/{chunk-CKR2NA35.js.map → chunk-77UMON5X.js.map} +0 -0
- /package/client-dist/{chunk-JUWOVLJL.js.map → chunk-7ZVD6LZ4.js.map} +0 -0
- /package/client-dist/{chunk-KTAWOOUI.js.map → chunk-A36RZJWH.js.map} +0 -0
- /package/client-dist/{chunk-RRV4AJML.js.map → chunk-AVI22QZM.js.map} +0 -0
- /package/client-dist/{chunk-AM2JGX23.js.map → chunk-BORMYQ7S.js.map} +0 -0
- /package/client-dist/{chunk-XQKHUGZW.js.map → chunk-CJ62X7WV.js.map} +0 -0
- /package/client-dist/{chunk-M7Z2O4RG.js.map → chunk-CKF63TFV.js.map} +0 -0
- /package/client-dist/{chunk-PYVQEDEW.js.map → chunk-CWR6ZNEU.js.map} +0 -0
- /package/client-dist/{chunk-VW3WQQBF.js.map → chunk-DOZSMA4R.js.map} +0 -0
- /package/client-dist/{chunk-PUFVETM4.js.map → chunk-EWK657JH.js.map} +0 -0
- /package/client-dist/{chunk-QHUBJGWS.js.map → chunk-F5B46GLI.js.map} +0 -0
- /package/client-dist/{chunk-AY3XK6RS.js.map → chunk-FKCRNYZY.js.map} +0 -0
- /package/client-dist/{chunk-V4X7URSF.js.map → chunk-FUWU5SAR.js.map} +0 -0
- /package/client-dist/{chunk-F46E5KZ3.js.map → chunk-HBEZNISK.js.map} +0 -0
- /package/client-dist/{chunk-FOUQZW4D.js.map → chunk-HZBU5O3R.js.map} +0 -0
- /package/client-dist/{chunk-OQ24BGZJ.js.map → chunk-IUMRUKS2.js.map} +0 -0
- /package/client-dist/{chunk-U5VAWMNB.js.map → chunk-IZOE47W6.js.map} +0 -0
- /package/client-dist/{chunk-NTUVOM4B.js.map → chunk-KXFHNZNW.js.map} +0 -0
- /package/client-dist/{chunk-JIZE3HXP.js.map → chunk-MCZ3PLTT.js.map} +0 -0
- /package/client-dist/{chunk-5L4G3C5C.js.map → chunk-MY5WQ7QW.js.map} +0 -0
- /package/client-dist/{chunk-WX6TVKDG.js.map → chunk-NUSZLWO3.js.map} +0 -0
- /package/client-dist/{chunk-H7BIO73O.js.map → chunk-NZUTHRBY.js.map} +0 -0
- /package/client-dist/{chunk-4FSRDTZN.js.map → chunk-OH353S6Q.js.map} +0 -0
- /package/client-dist/{chunk-2E6OA2KT.js.map → chunk-OYMJ57PL.js.map} +0 -0
- /package/client-dist/{chunk-KZUKSPQS.js.map → chunk-QCLHEBFF.js.map} +0 -0
- /package/client-dist/{chunk-APXVQISJ.js.map → chunk-QELAISH5.js.map} +0 -0
- /package/client-dist/{chunk-3R7FDMZ3.js.map → chunk-QVO7D6MW.js.map} +0 -0
- /package/client-dist/{chunk-EMTKUTBC.js.map → chunk-QY6EVZQP.js.map} +0 -0
- /package/client-dist/{chunk-YWWHFCS3.js.map → chunk-SP5BICPA.js.map} +0 -0
- /package/client-dist/{chunk-MSY74RUJ.js.map → chunk-U5UHHTNY.js.map} +0 -0
- /package/client-dist/{chunk-TM2SED26.js.map → chunk-VS3OABTD.js.map} +0 -0
- /package/client-dist/{chunk-G7FLLFQV.js.map → chunk-W3FGHB4J.js.map} +0 -0
- /package/client-dist/{chunk-FVJHSIII.js.map → chunk-WBXAI6KX.js.map} +0 -0
- /package/client-dist/{chunk-O65C5CZH.js.map → chunk-XGPVYITU.js.map} +0 -0
- /package/client-dist/{chunk-G44KM4TW.js.map → chunk-XOEIV7DM.js.map} +0 -0
- /package/client-dist/{chunk-JAUNNZJN.js.map → chunk-XPV2NH7Y.js.map} +0 -0
- /package/client-dist/{chunk-VM45PE3J.js.map → chunk-XQT4GCPA.js.map} +0 -0
- /package/client-dist/{chunk-4RFLGW5L.js.map → chunk-XWP33UZH.js.map} +0 -0
- /package/client-dist/{chunk-SQDIXJP2.js.map → chunk-Y2O26C3U.js.map} +0 -0
- /package/client-dist/{chunk-XNHRRX4L.js.map → chunk-Z3J6BRQE.js.map} +0 -0
- /package/client-dist/{chunk-ZQCAHEXF.js.map → chunk-ZB4SFHZ2.js.map} +0 -0
- /package/client-dist/{chunk-LTRCLVM3.js.map → chunk-ZUD5BM5I.js.map} +0 -0
- /package/client-dist/{consultant.module-HFZCP4N4.js.map → consultant.module-UPUHCJAY.js.map} +0 -0
- /package/client-dist/{crd.module-6R37JW4V.js.map → crd.module-MPOKEY25.js.map} +0 -0
- /package/client-dist/{dashboard.module-YAZCCU26.js.map → dashboard.module-AMV7M5BJ.js.map} +0 -0
- /package/client-dist/{document-library.module-EFTFUIXJ.js.map → document-library.module-RCFAEWTG.js.map} +0 -0
- /package/client-dist/{embedding-eval.module-NIPCFFWB.js.map → embedding-eval.module-3BIHIVAY.js.map} +0 -0
- /package/client-dist/{embedding-registry.module-4GLSQNAT.js.map → embedding-registry.module-MNMESFZ7.js.map} +0 -0
- /package/client-dist/{err.module-2RPVCWXD.js.map → err.module-X4XSLFQF.js.map} +0 -0
- /package/client-dist/{feedback.module-WVLKZ533.js.map → feedback.module-ATVDBFBO.js.map} +0 -0
- /package/client-dist/{host-runtime-mcp.module-GRW6RSCA.js.map → host-runtime-mcp.module-XLJ77OB6.js.map} +0 -0
- /package/client-dist/{live-dev-pipeline.module-P3DEM6CE.js.map → live-dev-pipeline.module-OJ3TMQDS.js.map} +0 -0
- /package/client-dist/{logs.module-U6KCQYDU.js.map → logs.module-LDSPCIZG.js.map} +0 -0
- /package/client-dist/{master-control-remote-poc.module-RYSKRGXU.js.map → master-control-remote-poc.module-PIYVV2O4.js.map} +0 -0
- /package/client-dist/{mobile-app.module-EBMTWXS2.js.map → mobile-app.module-HXOEINEU.js.map} +0 -0
- /package/client-dist/{model-registry.module-F6R5MSBB.js.map → model-registry.module-7XR7DQF3.js.map} +0 -0
- /package/client-dist/{orc.module-NJQ6XGPN.js.map → orc.module-XWPMT7MP.js.map} +0 -0
- /package/client-dist/{project-source-routed.module-LZCPWG6J.js.map → project-source-routed.module-LXOFGFZ3.js.map} +0 -0
- /package/client-dist/{scheduler.module-WWPV25AU.js.map → scheduler.module-BIR62G32.js.map} +0 -0
- /package/client-dist/{setup.module-RVTO6I3R.js.map → setup.module-ECA6XRR5.js.map} +0 -0
- /package/client-dist/{terminals.module-AZEN47GZ.js.map → terminals.module-PT2ISO2T.js.map} +0 -0
- /package/client-dist/{voice-notes-poc.module-5JUTNIBP.js.map → voice-notes-poc.module-OCX735WY.js.map} +0 -0
- /package/client-dist/{wfs.module-5MMNXIRW.js.map → wfs.module-ADTI4XGV.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,12 @@ 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: server-restart grace iter cap a sendInputViaTerminal
|
|
17
|
+
* polling-hoz — `runnerGracePeriodSec * 2` formula 60-iter (30s) cap-pel,
|
|
18
|
+
* hogy a 1h idle-timeout grace ne 60 perces HTTP-hang-ot okozzon.
|
|
19
|
+
*/
|
|
20
|
+
static computeServerRestartGraceIterations(runnerGracePeriodSec: number): number;
|
|
15
21
|
/** Terminal mode: sessionId → runner Socket.IO connection. */
|
|
16
22
|
private terminalSockets;
|
|
17
23
|
/** Terminal mode: sessionId → terminalId (UUID). */
|
|
@@ -39,12 +45,7 @@ export declare class CC_AdapterTerminal_ControlService extends DyNTS_SingletonSe
|
|
|
39
45
|
/** Terminal mode: pending ack sequence per session — a throttle timer fire-kor ezt küldi.
|
|
40
46
|
* Minden új output frissíti a legmagasabbra; a timer nem nulláza újra a throttle-t. */
|
|
41
47
|
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
|
-
*/
|
|
48
|
+
/** Cycle 781: per-session runner version a `cc:register`-ből. */
|
|
48
49
|
private runnerVersions;
|
|
49
50
|
/** Terminal mode enabled flag (settings alapján, a manager állítja be).
|
|
50
51
|
* Default: true Windows-on (cmd.exe detached) — ha a settings lekérdezés sikertelen, is nyíljon
|
|
@@ -82,6 +83,12 @@ export declare class CC_AdapterTerminal_ControlService extends DyNTS_SingletonSe
|
|
|
82
83
|
/** Stop execution flag: session-ek amelyeknél a kill után waitingInput-ra váltunk (nem terminated).
|
|
83
84
|
* A handleTerminalProcessExit-ben használjuk, az adapter stoppedSessions referencia-ját tükrözi. */
|
|
84
85
|
private stoppedSessions;
|
|
86
|
+
/**
|
|
87
|
+
* REQ-CC-EXIT-REASON-001 — shared kill-ok map (az adapter pendingKillReasons referencia).
|
|
88
|
+
* A kill site-ok (terminal mode disconnect-all, restart, runner-evict) markPendingKill-szerűen
|
|
89
|
+
* írják, a handleTerminalProcessExit kiolvassa és törli, és átadja a classifyExitStatus-nak.
|
|
90
|
+
*/
|
|
91
|
+
private pendingKillReasons;
|
|
85
92
|
/**
|
|
86
93
|
* Output callback beállítása (az adapter hívja bootstrap-kor).
|
|
87
94
|
*/
|
|
@@ -114,6 +121,12 @@ export declare class CC_AdapterTerminal_ControlService extends DyNTS_SingletonSe
|
|
|
114
121
|
* A handleTerminalProcessExit használja, hogy stop execution után waitingInput-ra váltson.
|
|
115
122
|
*/
|
|
116
123
|
setStoppedSessions(stoppedSessions: Set<string>): void;
|
|
124
|
+
/**
|
|
125
|
+
* REQ-CC-EXIT-REASON-001 — pendingKillReasons map referencia beállítása (az adapter hívja
|
|
126
|
+
* bootstrap-kor). Shared map: ugyanaz az instance, amibe az adapter `markPendingKill`
|
|
127
|
+
* is ír. A handleTerminalProcessExit használja a kill ok kiolvasásához.
|
|
128
|
+
*/
|
|
129
|
+
setPendingKillReasons(map: Map<string, string>): void;
|
|
117
130
|
/**
|
|
118
131
|
* Terminal mode bekapcsolt állapot lekérdezése.
|
|
119
132
|
*/
|
|
@@ -160,46 +173,21 @@ export declare class CC_AdapterTerminal_ControlService extends DyNTS_SingletonSe
|
|
|
160
173
|
sessionId: string;
|
|
161
174
|
}): void;
|
|
162
175
|
/**
|
|
163
|
-
* Összes terminal runner socket lecsatlakoztatása (graceful shutdown)
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
* Szükséges, mert a manager handleGracefulShutdown-ja a sessionConfigs map-ből
|
|
167
|
-
* iterál, de a momentán lecsatlakozott (reconnect-re váró) runner-ek ott nem
|
|
168
|
-
* feltétlenül szerepelnek. Ez a metódus szélesebb halmazt fed le.
|
|
176
|
+
* Összes terminal runner socket lecsatlakoztatása (graceful shutdown) — cc:kill +
|
|
177
|
+
* disconnect minden csatlakozott runner-nek. Szélesebb halmazt fed le mint a manager
|
|
178
|
+
* sessionConfigs alapú iterációja (lecsatlakozott / reconnect-re váró runner-ek is).
|
|
169
179
|
*/
|
|
170
180
|
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
|
-
*/
|
|
181
|
+
/** Cycle 781: runner version sessionId-hez (undefined ha pre-781 / nincs registration). */
|
|
179
182
|
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
|
-
*/
|
|
183
|
+
/** Cycle 781e: runner kill + respawn egy hívásban (UI-button trigger). */
|
|
193
184
|
restartRunner(params: {
|
|
194
185
|
sessionId: string;
|
|
195
186
|
workspacePath: string;
|
|
196
187
|
}): Promise<{
|
|
197
188
|
terminalId: string;
|
|
198
189
|
}>;
|
|
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
|
-
*/
|
|
190
|
+
/** Cycle 781: összes (sessionId → runnerVersion) pair (version-info endpoint). */
|
|
203
191
|
listAllRunnerVersions(): {
|
|
204
192
|
sessionId: string;
|
|
205
193
|
runnerVersion: string;
|
|
@@ -313,14 +301,10 @@ export declare class CC_AdapterTerminal_ControlService extends DyNTS_SingletonSe
|
|
|
313
301
|
*/
|
|
314
302
|
private handleTerminalProcessExit;
|
|
315
303
|
/**
|
|
316
|
-
* Terminal runner buffered output
|
|
317
|
-
*
|
|
318
|
-
*
|
|
319
|
-
*
|
|
320
|
-
* a pendingBufferedOutputs-ba is mentjük — a manager a runtimeState létrehozása után
|
|
321
|
-
* consumePendingBufferedOutput()-tal lekéri és újra feldolgozza.
|
|
322
|
-
* Sequence dedup (REQ-CCSESS-TR-002): a már feldolgozott sequence-ű item-eket eldobjuk.
|
|
323
|
-
* Batch végén azonnali `cc:ack` megy vissza a legmagasabb feldolgozott sequence-szel.
|
|
304
|
+
* Terminal runner buffered output (cc:buffered-output — reconnect flush). Az
|
|
305
|
+
* output-ot a normál handleOutput-ra adjuk + pendingBufferedOutputs-ba mentjük (a
|
|
306
|
+
* manager recovery után consumePendingBufferedOutput-tal replay-eli). Sequence dedup
|
|
307
|
+
* REQ-CCSESS-TR-002; batch végén azonnali cc:ack a legmagasabb feldolgozott sequence-re.
|
|
324
308
|
*/
|
|
325
309
|
private handleTerminalBufferedOutput;
|
|
326
310
|
/**
|
|
@@ -362,14 +346,10 @@ export declare class CC_AdapterTerminal_ControlService extends DyNTS_SingletonSe
|
|
|
362
346
|
*/
|
|
363
347
|
private handleProcessStateChange;
|
|
364
348
|
/**
|
|
365
|
-
* Session lezárás guard:
|
|
366
|
-
*
|
|
367
|
-
*
|
|
368
|
-
*
|
|
369
|
-
* Tipikus eset: szerver restart → recovery lezárja a session-t (grace period lejárt,
|
|
370
|
-
* runner nem csatlakozott időben) → a runner CMD ablak túlélte és később mégis
|
|
371
|
-
* visszacsatlakozik. Enélkül a runner a lifecycle idle timeout-ig (10 perc)
|
|
372
|
-
* feleslegesen nyitva maradna, pipeline restart-onként halmozódva.
|
|
349
|
+
* Session lezárás guard: ha a session DB-állapota completed/terminated/errored vagy
|
|
350
|
+
* törölt, a runner-t cc:kill + disconnect-tel kiutasítjuk (fire-and-forget).
|
|
351
|
+
* Tipikus eset: server restart → recovery lezárta a session-t, de a runner CMD ablak
|
|
352
|
+
* túlélte és reconnect-elt — enélkül idle-timeout-ig nyitva maradna.
|
|
373
353
|
*/
|
|
374
354
|
private rejectRunnerIfSessionClosed;
|
|
375
355
|
/**
|
|
@@ -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,16 @@ 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: server-restart grace iter cap a sendInputViaTerminal
|
|
43
|
+
* polling-hoz — `runnerGracePeriodSec * 2` formula 60-iter (30s) cap-pel,
|
|
44
|
+
* hogy a 1h idle-timeout grace ne 60 perces HTTP-hang-ot okozzon.
|
|
45
|
+
*/
|
|
46
|
+
static computeServerRestartGraceIterations(runnerGracePeriodSec) {
|
|
47
|
+
const desired = Math.max(0, Math.floor(runnerGracePeriodSec)) * 2;
|
|
48
|
+
const cap = 60;
|
|
49
|
+
return Math.min(desired, cap);
|
|
50
|
+
}
|
|
38
51
|
// ── Terminal mode fields ──────────────────────────────────────
|
|
39
52
|
/** Terminal mode: sessionId → runner Socket.IO connection. */
|
|
40
53
|
terminalSockets = new Map();
|
|
@@ -63,12 +76,7 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
63
76
|
/** Terminal mode: pending ack sequence per session — a throttle timer fire-kor ezt küldi.
|
|
64
77
|
* Minden új output frissíti a legmagasabbra; a timer nem nulláza újra a throttle-t. */
|
|
65
78
|
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
|
-
*/
|
|
79
|
+
/** Cycle 781: per-session runner version a `cc:register`-ből. */
|
|
72
80
|
runnerVersions = new Map();
|
|
73
81
|
/** Terminal mode enabled flag (settings alapján, a manager állítja be).
|
|
74
82
|
* Default: true Windows-on (cmd.exe detached) — ha a settings lekérdezés sikertelen, is nyíljon
|
|
@@ -107,6 +115,12 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
107
115
|
/** Stop execution flag: session-ek amelyeknél a kill után waitingInput-ra váltunk (nem terminated).
|
|
108
116
|
* A handleTerminalProcessExit-ben használjuk, az adapter stoppedSessions referencia-ját tükrözi. */
|
|
109
117
|
stoppedSessions = new Set();
|
|
118
|
+
/**
|
|
119
|
+
* REQ-CC-EXIT-REASON-001 — shared kill-ok map (az adapter pendingKillReasons referencia).
|
|
120
|
+
* A kill site-ok (terminal mode disconnect-all, restart, runner-evict) markPendingKill-szerűen
|
|
121
|
+
* írják, a handleTerminalProcessExit kiolvassa és törli, és átadja a classifyExitStatus-nak.
|
|
122
|
+
*/
|
|
123
|
+
pendingKillReasons = new Map();
|
|
110
124
|
// ── Callback setters ───────────────────────────────────────
|
|
111
125
|
/**
|
|
112
126
|
* Output callback beállítása (az adapter hívja bootstrap-kor).
|
|
@@ -155,6 +169,14 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
155
169
|
setStoppedSessions(stoppedSessions) {
|
|
156
170
|
this.stoppedSessions = stoppedSessions;
|
|
157
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* REQ-CC-EXIT-REASON-001 — pendingKillReasons map referencia beállítása (az adapter hívja
|
|
174
|
+
* bootstrap-kor). Shared map: ugyanaz az instance, amibe az adapter `markPendingKill`
|
|
175
|
+
* is ír. A handleTerminalProcessExit használja a kill ok kiolvasásához.
|
|
176
|
+
*/
|
|
177
|
+
setPendingKillReasons(map) {
|
|
178
|
+
this.pendingKillReasons = map;
|
|
179
|
+
}
|
|
158
180
|
// ── Public accessor methods ──────────────────────────────────
|
|
159
181
|
/**
|
|
160
182
|
* Terminal mode bekapcsolt állapot lekérdezése.
|
|
@@ -211,12 +233,9 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
211
233
|
});
|
|
212
234
|
}
|
|
213
235
|
/**
|
|
214
|
-
* Összes terminal runner socket lecsatlakoztatása (graceful shutdown)
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
* Szükséges, mert a manager handleGracefulShutdown-ja a sessionConfigs map-ből
|
|
218
|
-
* iterál, de a momentán lecsatlakozott (reconnect-re váró) runner-ek ott nem
|
|
219
|
-
* feltétlenül szerepelnek. Ez a metódus szélesebb halmazt fed le.
|
|
236
|
+
* Összes terminal runner socket lecsatlakoztatása (graceful shutdown) — cc:kill +
|
|
237
|
+
* disconnect minden csatlakozott runner-nek. Szélesebb halmazt fed le mint a manager
|
|
238
|
+
* sessionConfigs alapú iterációja (lecsatlakozott / reconnect-re váró runner-ek is).
|
|
220
239
|
*/
|
|
221
240
|
disconnectAllRunners() {
|
|
222
241
|
const count = this.terminalSockets.size;
|
|
@@ -225,6 +244,7 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
225
244
|
}
|
|
226
245
|
fsm_dynamo_1.DyFM_Log.info(`CC_AdapterTerminal | disconnectAllRunners | count: ${count}`);
|
|
227
246
|
for (const [sessionId, socket] of this.terminalSockets.entries()) {
|
|
247
|
+
this.pendingKillReasons.set(sessionId, cc_kill_reasons_const_1.CC_KILL_REASONS.serverShutdown);
|
|
228
248
|
try {
|
|
229
249
|
socket.emit('cc:kill', { signal: 'SIGTERM' });
|
|
230
250
|
}
|
|
@@ -245,35 +265,17 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
245
265
|
this.terminalIds.clear();
|
|
246
266
|
}
|
|
247
267
|
// ── 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
|
-
*/
|
|
268
|
+
/** Cycle 781: runner version sessionId-hez (undefined ha pre-781 / nincs registration). */
|
|
256
269
|
getRunnerVersion(sessionId) {
|
|
257
270
|
return this.runnerVersions.get(sessionId);
|
|
258
271
|
}
|
|
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
|
-
*/
|
|
272
|
+
/** Cycle 781e: runner kill + respawn egy hívásban (UI-button trigger). */
|
|
272
273
|
async restartRunner(params) {
|
|
273
274
|
const sessionId = params.sessionId;
|
|
274
275
|
// 1. Aktív socket killing.
|
|
275
276
|
const existingSocket = this.terminalSockets.get(sessionId);
|
|
276
277
|
if (existingSocket) {
|
|
278
|
+
this.pendingKillReasons.set(sessionId, cc_kill_reasons_const_1.CC_KILL_REASONS.runnerRestart);
|
|
277
279
|
try {
|
|
278
280
|
existingSocket.emit('cc:kill', { signal: 'SIGTERM' });
|
|
279
281
|
}
|
|
@@ -304,10 +306,7 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
304
306
|
workspacePath: params.workspacePath,
|
|
305
307
|
});
|
|
306
308
|
}
|
|
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
|
-
*/
|
|
309
|
+
/** Cycle 781: összes (sessionId → runnerVersion) pair (version-info endpoint). */
|
|
311
310
|
listAllRunnerVersions() {
|
|
312
311
|
const out = [];
|
|
313
312
|
for (const [sessionId, runnerVersion] of this.runnerVersions.entries()) {
|
|
@@ -563,10 +562,15 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
563
562
|
}),
|
|
564
563
|
});
|
|
565
564
|
}
|
|
566
|
-
// Várakozás a register event-re (
|
|
565
|
+
// Várakozás a register event-re (BUG-CC-TERM-CLOSE-PREMATURE-001: 15s → 30s,
|
|
566
|
+
// npm-cache-miss / első spawn cover; queue-fallback safety net marad).
|
|
567
|
+
const REGISTER_TIMEOUT_MS = 30000;
|
|
567
568
|
this.terminalIds.set(params.sessionId, terminalId);
|
|
568
569
|
try {
|
|
569
|
-
await this.waitForTerminalRegister({
|
|
570
|
+
await this.waitForTerminalRegister({
|
|
571
|
+
sessionId: params.sessionId,
|
|
572
|
+
timeoutMs: REGISTER_TIMEOUT_MS,
|
|
573
|
+
});
|
|
570
574
|
}
|
|
571
575
|
catch (err) {
|
|
572
576
|
// Cleanup: a runner nem regisztrált időben — orphaned state eltávolítása.
|
|
@@ -612,14 +616,20 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
612
616
|
&& (this.hadRunnerSet.has(params.sessionId) || isServerRestartWindow);
|
|
613
617
|
if (graceWillRun) {
|
|
614
618
|
// graceIterations:
|
|
615
|
-
// - server-restart window:
|
|
616
|
-
//
|
|
617
|
-
//
|
|
619
|
+
// - server-restart window: capped grace (max 60 iter = 30s, 500ms each).
|
|
620
|
+
// BUG-CC-TERM-HANG-001 (2026-05-07): a `runnerGracePeriodSec * 2` formula
|
|
621
|
+
// a default 3600s lifecycle-érték miatt 7200 iter = 60min HTTP-blokkolást
|
|
622
|
+
// okozott (user-bug: „üzenet küldéskor csak teker és teker, és el is
|
|
623
|
+
// tűnik az üzenet"). A `runnerGracePeriodSec` lifecycle-célra (idle-timeout)
|
|
624
|
+
// van, NEM HTTP-send-blokkra. 30s bőven elég ahhoz, hogy egy érvényesen
|
|
625
|
+
// reconnect-elő runner befigyeljen; utána fail-fast → spawnTerminalRunner.
|
|
626
|
+
// - had-runner-disconnected: rövidített grace (4 iter = 2s) — user-closed
|
|
627
|
+
// window, runner nem fog visszajönni, ne blokkoljuk a HTTP request-et 30s-ig
|
|
618
628
|
const graceCase = isServerRestartWindow
|
|
619
629
|
? 'server-restart'
|
|
620
630
|
: 'had-runner-disconnected';
|
|
621
631
|
const graceIterations = isServerRestartWindow
|
|
622
|
-
? this.runnerGracePeriodSec
|
|
632
|
+
? CC_AdapterTerminal_ControlService.computeServerRestartGraceIterations(this.runnerGracePeriodSec)
|
|
623
633
|
: 4;
|
|
624
634
|
fsm_dynamo_1.DyFM_Log.info(`CC_AdapterTerminal | grace-period-enter`
|
|
625
635
|
+ ` | session: ${params.sessionId}`
|
|
@@ -693,16 +703,9 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
693
703
|
cc_terminal_lifecycle_control_service_1.CC_TerminalLifecycle_ControlService.getInstance().touchRunnerActivity({
|
|
694
704
|
sessionId: params.sessionId,
|
|
695
705
|
});
|
|
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
|
-
//
|
|
706
|
+
// REQ-SYS-SILENT-001 Slice 1A (cycle 769): Socket.IO ACK + timeout watchdog.
|
|
707
|
+
// Korábban fire-and-forget — silent fail ha a runner nem kapta meg.
|
|
708
|
+
// Most: timeout/error → CCAP-CC-PROMPT-NO-ACK errorCode a /errors-be.
|
|
706
709
|
// Backward compat: a régi runner (ACK-mentes) timeout-tal jelez; az updated
|
|
707
710
|
// runner (cycle 769 cc-terminal-runner.ts) ACK-ol — gradient kompatibilitás.
|
|
708
711
|
const ACK_TIMEOUT_MS = 8000;
|
|
@@ -714,18 +717,9 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
714
717
|
}, (ackErr, ackData) => {
|
|
715
718
|
const elapsedMs = Date.now() - promptStartMs;
|
|
716
719
|
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).
|
|
720
|
+
// Cycle 772: user-visible bubble (`[CC_PROMPT_DELIVERY_FAILED]` stderr
|
|
721
|
+
// marker → CC_Event + socket broadcast) + status revert waitingInput-ra
|
|
722
|
+
// + /errors page record (globalErrorHandler). Silent-fail vége.
|
|
729
723
|
this.handleOutput({
|
|
730
724
|
sessionId: params.sessionId,
|
|
731
725
|
type: 'stderr',
|
|
@@ -749,15 +743,8 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
749
743
|
statusMessage: `Prompt delivery failed — runner did not acknowledge within ${ACK_TIMEOUT_MS}ms`
|
|
750
744
|
+ ` (this may indicate an older runner without ACK protocol support — check version)`,
|
|
751
745
|
});
|
|
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.
|
|
746
|
+
// Cycle 781: runner-version aware diagnostics — ha outdated runner
|
|
747
|
+
// a no-ACK oka, a /errors-en explicit látszik a `npm i -g` hint.
|
|
761
748
|
const runnerVersion = this.runnerVersions.get(params.sessionId);
|
|
762
749
|
const runnerVersionStatus = !runnerVersion ? 'unknown-pre-cycle-781'
|
|
763
750
|
: runnerVersion === version_const_1.CCAP_VERSION ? 'matches-server'
|
|
@@ -990,6 +977,22 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
990
977
|
socket: params.socket,
|
|
991
978
|
terminalId: terminalId,
|
|
992
979
|
});
|
|
980
|
+
// BUG-CC-TERM-HANG-001 (2026-05-07): queue drain on register. Ha a route
|
|
981
|
+
// előzőleg `CCAP-CCS-TERMINAL-NOT-CONNECTED` / `CCAP-CCS-TERMINAL-REG-TIMEOUT`
|
|
982
|
+
// miatt enqueue-olta a user prompt-ot, most amikor a runner megérkezik,
|
|
983
|
+
// azonnal próbáljuk delivery-zni. A queue belső `canReceiveInput` USS-check
|
|
984
|
+
// dönti el, hogy ténylegesen kiküldhető-e — ha még nem (pl. status starting),
|
|
985
|
+
// a queue saját debounce-szal próbálkozik újra. Fire-and-forget: nem blokkolja
|
|
986
|
+
// a regisztrációt, error → warn-log.
|
|
987
|
+
session_queue_control_service_1.SessionQueue_ControlService.getInstance().tryDeliverNext({
|
|
988
|
+
sessionType: sq_session_type_enum_1.SQ_SessionType_Type.ccSession,
|
|
989
|
+
sessionId: sessionId,
|
|
990
|
+
skipDebounce: true,
|
|
991
|
+
}).catch((err) => {
|
|
992
|
+
fsm_dynamo_1.DyFM_Log.warn(`CC_AdapterTerminal | tryDeliverNext on register failed`
|
|
993
|
+
+ ` | session: ${sessionId}`
|
|
994
|
+
+ ` | error: ${fsm_dynamo_1.DyFM_Error.getErrorMessage(err)}`);
|
|
995
|
+
});
|
|
993
996
|
}
|
|
994
997
|
/**
|
|
995
998
|
* Terminal runner output event kezelése (cc:output).
|
|
@@ -1102,6 +1105,9 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
1102
1105
|
const signal = typeof data.signal === 'string' ? data.signal : null;
|
|
1103
1106
|
const isStopExecution = this.stoppedSessions.has(sessionId);
|
|
1104
1107
|
this.stoppedSessions.delete(sessionId);
|
|
1108
|
+
// REQ-CC-EXIT-REASON-001 — kill ok kiolvasása + törlése (egyszeri használat).
|
|
1109
|
+
const killReason = this.pendingKillReasons.get(sessionId);
|
|
1110
|
+
this.pendingKillReasons.delete(sessionId);
|
|
1105
1111
|
// Cycle 231: a duplikált inline status-klasszifikáció kiemelve
|
|
1106
1112
|
// CC_ProcessExit_Util.classifyExitStatus-be (cc-adapter direct mode is ezt
|
|
1107
1113
|
// használja). Cycle 227 signal-kill detekció + cycle 230 statusMessage
|
|
@@ -1110,6 +1116,7 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
1110
1116
|
code: code,
|
|
1111
1117
|
signal: signal,
|
|
1112
1118
|
isStopExecution: isStopExecution,
|
|
1119
|
+
killReason: killReason,
|
|
1113
1120
|
});
|
|
1114
1121
|
this.handleProcessStateChange({
|
|
1115
1122
|
sessionId: sessionId,
|
|
@@ -1120,14 +1127,10 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
1120
1127
|
});
|
|
1121
1128
|
}
|
|
1122
1129
|
/**
|
|
1123
|
-
* Terminal runner buffered output
|
|
1124
|
-
*
|
|
1125
|
-
*
|
|
1126
|
-
*
|
|
1127
|
-
* a pendingBufferedOutputs-ba is mentjük — a manager a runtimeState létrehozása után
|
|
1128
|
-
* consumePendingBufferedOutput()-tal lekéri és újra feldolgozza.
|
|
1129
|
-
* Sequence dedup (REQ-CCSESS-TR-002): a már feldolgozott sequence-ű item-eket eldobjuk.
|
|
1130
|
-
* Batch végén azonnali `cc:ack` megy vissza a legmagasabb feldolgozott sequence-szel.
|
|
1130
|
+
* Terminal runner buffered output (cc:buffered-output — reconnect flush). Az
|
|
1131
|
+
* output-ot a normál handleOutput-ra adjuk + pendingBufferedOutputs-ba mentjük (a
|
|
1132
|
+
* manager recovery után consumePendingBufferedOutput-tal replay-eli). Sequence dedup
|
|
1133
|
+
* REQ-CCSESS-TR-002; batch végén azonnali cc:ack a legmagasabb feldolgozott sequence-re.
|
|
1131
1134
|
*/
|
|
1132
1135
|
handleTerminalBufferedOutput(params) {
|
|
1133
1136
|
const data = params.data;
|
|
@@ -1398,14 +1401,10 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
1398
1401
|
}
|
|
1399
1402
|
// ── Private: session completion guard ─────────────────────────
|
|
1400
1403
|
/**
|
|
1401
|
-
* Session lezárás guard:
|
|
1402
|
-
*
|
|
1403
|
-
*
|
|
1404
|
-
*
|
|
1405
|
-
* Tipikus eset: szerver restart → recovery lezárja a session-t (grace period lejárt,
|
|
1406
|
-
* runner nem csatlakozott időben) → a runner CMD ablak túlélte és később mégis
|
|
1407
|
-
* visszacsatlakozik. Enélkül a runner a lifecycle idle timeout-ig (10 perc)
|
|
1408
|
-
* feleslegesen nyitva maradna, pipeline restart-onként halmozódva.
|
|
1404
|
+
* Session lezárás guard: ha a session DB-állapota completed/terminated/errored vagy
|
|
1405
|
+
* törölt, a runner-t cc:kill + disconnect-tel kiutasítjuk (fire-and-forget).
|
|
1406
|
+
* Tipikus eset: server restart → recovery lezárta a session-t, de a runner CMD ablak
|
|
1407
|
+
* túlélte és reconnect-elt — enélkül idle-timeout-ig nyitva maradna.
|
|
1409
1408
|
*/
|
|
1410
1409
|
rejectRunnerIfSessionClosed(params) {
|
|
1411
1410
|
const localCcapId = instance_id_service_1.ExS_InstanceId_Service.getInstance().getInstanceId();
|
|
@@ -1518,6 +1517,10 @@ class CC_AdapterTerminal_ControlService extends nts_dynamo_1.DyNTS_SingletonServ
|
|
|
1518
1517
|
* + lifecycle deregisztráció + hadRunnerSet törlés.
|
|
1519
1518
|
*/
|
|
1520
1519
|
killAndDisconnectRunner(params) {
|
|
1520
|
+
// REQ-CC-EXIT-REASON-001 — a kiutasítás okát (`completion-guard`, `verify-mismatch`,
|
|
1521
|
+
// stb.) `runner-evict:<reason>` formában rögzítjük, hogy a process-exit handler
|
|
1522
|
+
// a statusMessage-ben részletes okot tudjon adni.
|
|
1523
|
+
this.pendingKillReasons.set(params.sessionId, `${cc_kill_reasons_const_1.CC_KILL_REASONS.runnerEvict}:${params.reason}`);
|
|
1521
1524
|
try {
|
|
1522
1525
|
params.socket.emit('cc:kill', { signal: 'SIGTERM' });
|
|
1523
1526
|
}
|