@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.
Files changed (305) hide show
  1. package/client-dist/{agent-instances.module-QQHSIHVZ.js → agent-instances.module-UDY5QZWB.js} +2 -2
  2. package/client-dist/ca.module-HZKGDMWQ.js +5 -0
  3. package/client-dist/ca.module-HZKGDMWQ.js.map +7 -0
  4. package/client-dist/cc.module-XHPUHCTY.js +4 -0
  5. package/client-dist/cc.module-XHPUHCTY.js.map +7 -0
  6. package/client-dist/{chunk-Q4YAQFNP.js → chunk-2ITU6ZUM.js} +2 -2
  7. package/client-dist/{chunk-Y6PUQHIU.js → chunk-2N7NQG7Q.js} +2 -2
  8. package/client-dist/{chunk-NJUY7I3Y.js → chunk-3HX37L3J.js} +2 -2
  9. package/client-dist/{chunk-GNW4X5RC.js → chunk-3YPBVIDJ.js} +2 -2
  10. package/client-dist/{chunk-OG33J4ZD.js → chunk-42VB5ZQS.js} +2 -2
  11. package/client-dist/{chunk-TJENOBO6.js → chunk-4EUKDX2B.js} +2 -2
  12. package/client-dist/{chunk-2HIXFHTS.js → chunk-4PKNY4PJ.js} +3 -3
  13. package/client-dist/chunk-4PKNY4PJ.js.map +1 -0
  14. package/client-dist/{chunk-5MNGROTB.js → chunk-56EQDG6E.js} +2 -2
  15. package/client-dist/{chunk-CJVTAHYF.js → chunk-5SKL5HHO.js} +2 -2
  16. package/client-dist/{chunk-72FQNGJO.js → chunk-6BOUODAT.js} +2 -2
  17. package/client-dist/{chunk-AQ72GJMX.js → chunk-6C4HMIS6.js} +2 -2
  18. package/client-dist/{chunk-KFS5VDDV.js → chunk-6D6XCLGK.js} +2 -2
  19. package/client-dist/{chunk-CKR2NA35.js → chunk-77UMON5X.js} +2 -2
  20. package/client-dist/{chunk-JUWOVLJL.js → chunk-7ZVD6LZ4.js} +2 -2
  21. package/client-dist/{chunk-KTAWOOUI.js → chunk-A36RZJWH.js} +2 -2
  22. package/client-dist/{chunk-RRV4AJML.js → chunk-AVI22QZM.js} +2 -2
  23. package/client-dist/{chunk-AM2JGX23.js → chunk-BORMYQ7S.js} +2 -2
  24. package/client-dist/{chunk-XQKHUGZW.js → chunk-CJ62X7WV.js} +2 -2
  25. package/client-dist/{chunk-M7Z2O4RG.js → chunk-CKF63TFV.js} +2 -2
  26. package/client-dist/chunk-CPK4BL7O.js +3 -0
  27. package/client-dist/{chunk-6XRGBDSK.js.map → chunk-CPK4BL7O.js.map} +4 -4
  28. package/client-dist/{chunk-PYVQEDEW.js → chunk-CWR6ZNEU.js} +2 -2
  29. package/client-dist/{chunk-VW3WQQBF.js → chunk-DOZSMA4R.js} +2 -2
  30. package/client-dist/{chunk-PUFVETM4.js → chunk-EWK657JH.js} +2 -2
  31. package/client-dist/{chunk-QHUBJGWS.js → chunk-F5B46GLI.js} +2 -2
  32. package/client-dist/{chunk-AY3XK6RS.js → chunk-FKCRNYZY.js} +2 -2
  33. package/client-dist/{chunk-V4X7URSF.js → chunk-FUWU5SAR.js} +2 -2
  34. package/client-dist/{chunk-F46E5KZ3.js → chunk-HBEZNISK.js} +2 -2
  35. package/client-dist/{chunk-FOUQZW4D.js → chunk-HZBU5O3R.js} +2 -2
  36. package/client-dist/{chunk-OQ24BGZJ.js → chunk-IUMRUKS2.js} +2 -2
  37. package/client-dist/{chunk-U5VAWMNB.js → chunk-IZOE47W6.js} +2 -2
  38. package/client-dist/{chunk-NTUVOM4B.js → chunk-KXFHNZNW.js} +2 -2
  39. package/client-dist/{chunk-JIZE3HXP.js → chunk-MCZ3PLTT.js} +2 -2
  40. package/client-dist/{chunk-5L4G3C5C.js → chunk-MY5WQ7QW.js} +2 -2
  41. package/client-dist/{chunk-WX6TVKDG.js → chunk-NUSZLWO3.js} +2 -2
  42. package/client-dist/{chunk-H7BIO73O.js → chunk-NZUTHRBY.js} +2 -2
  43. package/client-dist/chunk-O34GKTSF.js +2 -0
  44. package/client-dist/chunk-O34GKTSF.js.map +7 -0
  45. package/client-dist/{chunk-4FSRDTZN.js → chunk-OH353S6Q.js} +2 -2
  46. package/client-dist/{chunk-2E6OA2KT.js → chunk-OYMJ57PL.js} +2 -2
  47. package/client-dist/{chunk-KZUKSPQS.js → chunk-QCLHEBFF.js} +2 -2
  48. package/client-dist/{chunk-APXVQISJ.js → chunk-QELAISH5.js} +2 -2
  49. package/client-dist/{chunk-3R7FDMZ3.js → chunk-QVO7D6MW.js} +2 -2
  50. package/client-dist/{chunk-EMTKUTBC.js → chunk-QY6EVZQP.js} +2 -2
  51. package/client-dist/{chunk-YWWHFCS3.js → chunk-SP5BICPA.js} +2 -2
  52. package/client-dist/{chunk-MSY74RUJ.js → chunk-U5UHHTNY.js} +2 -2
  53. package/client-dist/{chunk-TM2SED26.js → chunk-VS3OABTD.js} +2 -2
  54. package/client-dist/{chunk-G7FLLFQV.js → chunk-W3FGHB4J.js} +2 -2
  55. package/client-dist/{chunk-FVJHSIII.js → chunk-WBXAI6KX.js} +2 -2
  56. package/client-dist/{chunk-O65C5CZH.js → chunk-XGPVYITU.js} +2 -2
  57. package/client-dist/{chunk-G44KM4TW.js → chunk-XOEIV7DM.js} +2 -2
  58. package/client-dist/{chunk-JAUNNZJN.js → chunk-XPV2NH7Y.js} +2 -2
  59. package/client-dist/{chunk-VM45PE3J.js → chunk-XQT4GCPA.js} +2 -2
  60. package/client-dist/{chunk-4RFLGW5L.js → chunk-XWP33UZH.js} +2 -2
  61. package/client-dist/{chunk-SQDIXJP2.js → chunk-Y2O26C3U.js} +2 -2
  62. package/client-dist/{chunk-XNHRRX4L.js → chunk-Z3J6BRQE.js} +2 -2
  63. package/client-dist/{chunk-ZQCAHEXF.js → chunk-ZB4SFHZ2.js} +2 -2
  64. package/client-dist/{chunk-LTRCLVM3.js → chunk-ZUD5BM5I.js} +2 -2
  65. package/client-dist/{consultant.module-HFZCP4N4.js → consultant.module-UPUHCJAY.js} +2 -2
  66. package/client-dist/{crd.module-6R37JW4V.js → crd.module-MPOKEY25.js} +2 -2
  67. package/client-dist/{dashboard.module-YAZCCU26.js → dashboard.module-AMV7M5BJ.js} +2 -2
  68. package/client-dist/do-chat-popup.component-3NJKFEEW.css.map +7 -0
  69. package/client-dist/{do-instance-panel.component-K5IGXVCT.css.map → do-instance-panel.component-MDYTDDAF.css.map} +2 -2
  70. package/client-dist/do-office-scene.component-Z3ULZ7BC.css.map +7 -0
  71. package/client-dist/do.module-DFPZJO7Y.js +18 -0
  72. package/client-dist/do.module-DFPZJO7Y.js.map +7 -0
  73. package/client-dist/{document-library.module-EFTFUIXJ.js → document-library.module-RCFAEWTG.js} +2 -2
  74. package/client-dist/{embedding-eval.module-NIPCFFWB.js → embedding-eval.module-3BIHIVAY.js} +2 -2
  75. package/client-dist/{embedding-registry.module-4GLSQNAT.js → embedding-registry.module-MNMESFZ7.js} +2 -2
  76. package/client-dist/{err.module-2RPVCWXD.js → err.module-X4XSLFQF.js} +2 -2
  77. package/client-dist/{feedback.module-WVLKZ533.js → feedback.module-ATVDBFBO.js} +2 -2
  78. package/client-dist/{host-runtime-mcp.module-GRW6RSCA.js → host-runtime-mcp.module-XLJ77OB6.js} +2 -2
  79. package/client-dist/index.html +2 -2
  80. package/client-dist/{live-dev-pipeline.module-P3DEM6CE.js → live-dev-pipeline.module-OJ3TMQDS.js} +2 -2
  81. package/client-dist/{logs.module-U6KCQYDU.js → logs.module-LDSPCIZG.js} +2 -2
  82. package/client-dist/main-HAEPQDF4.js +7 -0
  83. package/client-dist/main-HAEPQDF4.js.map +7 -0
  84. package/client-dist/{master-control-remote-poc.module-RYSKRGXU.js → master-control-remote-poc.module-PIYVV2O4.js} +2 -2
  85. package/client-dist/{mobile-app.module-EBMTWXS2.js → mobile-app.module-HXOEINEU.js} +2 -2
  86. package/client-dist/{model-registry.module-F6R5MSBB.js → model-registry.module-7XR7DQF3.js} +2 -2
  87. package/client-dist/oc.module-PXRALG3J.js +3 -0
  88. package/client-dist/oc.module-PXRALG3J.js.map +7 -0
  89. package/client-dist/{orc.module-NJQ6XGPN.js → orc.module-XWPMT7MP.js} +2 -2
  90. package/client-dist/{project-management.module-JQEQIHL2.js → project-management.module-3DVAUZYJ.js} +11 -11
  91. package/client-dist/project-management.module-3DVAUZYJ.js.map +7 -0
  92. package/client-dist/project-source-routed.module-LXOFGFZ3.js +2 -0
  93. package/client-dist/{scheduler.module-WWPV25AU.js → scheduler.module-BIR62G32.js} +2 -2
  94. package/client-dist/session.module-2YDJ35IR.js +12 -0
  95. package/client-dist/session.module-2YDJ35IR.js.map +7 -0
  96. package/client-dist/set.module-Q4D7USFX.js +11 -0
  97. package/client-dist/{set.module-IKSASSWS.js.map → set.module-Q4D7USFX.js.map} +3 -3
  98. package/client-dist/{setup.module-RVTO6I3R.js → setup.module-ECA6XRR5.js} +2 -2
  99. package/client-dist/styles-JBAOFG2I.css +2 -0
  100. package/client-dist/styles-JBAOFG2I.css.map +7 -0
  101. package/client-dist/{terminals.module-AZEN47GZ.js → terminals.module-PT2ISO2T.js} +2 -2
  102. package/client-dist/{voice-notes-poc.module-5JUTNIBP.js → voice-notes-poc.module-OCX735WY.js} +2 -2
  103. package/client-dist/{wfs.module-5MMNXIRW.js → wfs.module-ADTI4XGV.js} +2 -2
  104. package/package.json +1 -1
  105. package/server/build/src/_collections/core/ccap-post-services-bootstrap.util.js +1 -1
  106. package/server/build/src/_collections/core/ccap-post-services-bootstrap.util.js.map +1 -1
  107. package/server/build/src/_modules/ai-systems/_modules/model-registry/_models/data-models/mrg-instance-registry.data-model.d.ts +7 -0
  108. package/server/build/src/_modules/ai-systems/_modules/model-registry/_models/data-models/mrg-instance-registry.data-model.d.ts.map +1 -1
  109. package/server/build/src/_modules/ai-systems/_modules/model-registry/_models/data-models/mrg-instance-registry.data-model.js +8 -0
  110. package/server/build/src/_modules/ai-systems/_modules/model-registry/_models/data-models/mrg-instance-registry.data-model.js.map +1 -1
  111. package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.d.ts +5 -0
  112. package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.d.ts.map +1 -1
  113. package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.js +19 -2
  114. package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.js.map +1 -1
  115. package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.spec.js +12 -0
  116. package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.spec.js.map +1 -1
  117. package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/utils/self.util.spec.js +37 -0
  118. package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/utils/self.util.spec.js.map +1 -1
  119. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/consts/cc-kill-reasons.const.d.ts +31 -0
  120. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/consts/cc-kill-reasons.const.d.ts.map +1 -0
  121. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/consts/cc-kill-reasons.const.js +29 -0
  122. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/consts/cc-kill-reasons.const.js.map +1 -0
  123. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.d.ts +28 -0
  124. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.d.ts.map +1 -0
  125. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.js +40 -0
  126. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.js.map +1 -0
  127. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.spec.d.ts +6 -0
  128. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.spec.d.ts.map +1 -0
  129. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.spec.js +39 -0
  130. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.spec.js.map +1 -0
  131. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.d.ts +13 -0
  132. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.d.ts.map +1 -1
  133. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.js +13 -3
  134. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.js.map +1 -1
  135. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.spec.js +40 -0
  136. package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.spec.js.map +1 -1
  137. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.d.ts +21 -0
  138. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.d.ts.map +1 -1
  139. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.js +45 -1
  140. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.js.map +1 -1
  141. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.d.ts.map +1 -1
  142. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.js +48 -11
  143. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.js.map +1 -1
  144. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-route.control-service.d.ts.map +1 -1
  145. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-route.control-service.js +35 -7
  146. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-route.control-service.js.map +1 -1
  147. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal-grace-period.control-service.spec.js +41 -0
  148. 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
  149. 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
  150. 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
  151. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal-runner-versions.control-service.spec.js +62 -0
  152. 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
  153. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.d.ts +33 -53
  154. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.d.ts.map +1 -1
  155. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js +93 -90
  156. package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js.map +1 -1
  157. package/server/build/src/_modules/external-sessions/_services/exs-instance-registry.data-service.d.ts +1 -0
  158. package/server/build/src/_modules/external-sessions/_services/exs-instance-registry.data-service.d.ts.map +1 -1
  159. package/server/build/src/_modules/external-sessions/_services/exs-instance-registry.data-service.js +6 -0
  160. package/server/build/src/_modules/external-sessions/_services/exs-instance-registry.data-service.js.map +1 -1
  161. package/server/build/src/_modules/peer-instance/_models/interfaces/pei-bootstrap-attempt.interface.d.ts +33 -0
  162. package/server/build/src/_modules/peer-instance/_models/interfaces/pei-bootstrap-attempt.interface.d.ts.map +1 -0
  163. package/server/build/src/_modules/peer-instance/_models/interfaces/pei-bootstrap-attempt.interface.js +3 -0
  164. package/server/build/src/_modules/peer-instance/_models/interfaces/pei-bootstrap-attempt.interface.js.map +1 -0
  165. package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.d.ts +33 -0
  166. package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.d.ts.map +1 -1
  167. package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.js +78 -1
  168. package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.js.map +1 -1
  169. package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.spec.js +60 -0
  170. package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.spec.js.map +1 -1
  171. package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.d.ts.map +1 -1
  172. package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.js +3 -0
  173. package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.js.map +1 -1
  174. package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.d.ts +9 -0
  175. package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.d.ts.map +1 -0
  176. package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.js +43 -0
  177. package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.js.map +1 -0
  178. package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.d.ts +44 -0
  179. package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.d.ts.map +1 -1
  180. package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.js +94 -0
  181. package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.js.map +1 -1
  182. package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-diagnostics-result.interface.d.ts +39 -2
  183. package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-diagnostics-result.interface.d.ts.map +1 -1
  184. package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-diagnostics-result.interface.js +0 -7
  185. package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-diagnostics-result.interface.js.map +1 -1
  186. package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-peer-result.interface.d.ts +13 -0
  187. package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-peer-result.interface.d.ts.map +1 -0
  188. package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-peer-result.interface.js +3 -0
  189. package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-peer-result.interface.js.map +1 -0
  190. package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-ws-result.interface.d.ts +23 -0
  191. package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-ws-result.interface.d.ts.map +1 -0
  192. package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-ws-result.interface.js +3 -0
  193. package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-ws-result.interface.js.map +1 -0
  194. package/server/build/src/_modules/setup-config/_routes/setup-config.controller.d.ts.map +1 -1
  195. package/server/build/src/_modules/setup-config/_routes/setup-config.controller.js +24 -0
  196. package/server/build/src/_modules/setup-config/_routes/setup-config.controller.js.map +1 -1
  197. package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.d.ts +43 -5
  198. package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.d.ts.map +1 -1
  199. package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.js +156 -7
  200. package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.js.map +1 -1
  201. package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.spec.d.ts +4 -3
  202. package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.spec.d.ts.map +1 -1
  203. package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.spec.js +91 -3
  204. package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.spec.js.map +1 -1
  205. package/server/build/src/_modules/setup-config/_services/setup-config.control-service.js +1 -1
  206. package/server/build/src/_modules/setup-config/_services/setup-config.control-service.js.map +1 -1
  207. package/client-dist/ca.module-FTQALPNM.js +0 -5
  208. package/client-dist/ca.module-FTQALPNM.js.map +0 -7
  209. package/client-dist/cc.module-UPCFEGEY.js +0 -4
  210. package/client-dist/cc.module-UPCFEGEY.js.map +0 -7
  211. package/client-dist/chunk-2HIXFHTS.js.map +0 -1
  212. package/client-dist/chunk-3UDLOQR2.js +0 -2
  213. package/client-dist/chunk-3UDLOQR2.js.map +0 -7
  214. package/client-dist/chunk-6XRGBDSK.js +0 -3
  215. package/client-dist/do-character.component-PZHI3KZL.css.map +0 -7
  216. package/client-dist/do-chat-popup.component-FXZ46EHV.css.map +0 -7
  217. package/client-dist/do-office-scene.component-ILYUPFGH.css.map +0 -7
  218. package/client-dist/do.module-QV56KZQO.js +0 -18
  219. package/client-dist/do.module-QV56KZQO.js.map +0 -7
  220. package/client-dist/main-F4G6PI7V.js +0 -7
  221. package/client-dist/main-F4G6PI7V.js.map +0 -7
  222. package/client-dist/oc.module-VIBOASVG.js +0 -3
  223. package/client-dist/oc.module-VIBOASVG.js.map +0 -7
  224. package/client-dist/project-management.module-JQEQIHL2.js.map +0 -7
  225. package/client-dist/project-source-routed.module-LZCPWG6J.js +0 -2
  226. package/client-dist/session.module-YYFJ6B5X.js +0 -12
  227. package/client-dist/session.module-YYFJ6B5X.js.map +0 -7
  228. package/client-dist/set.module-IKSASSWS.js +0 -11
  229. package/client-dist/styles-ILB5HBSL.css +0 -2
  230. package/client-dist/styles-ILB5HBSL.css.map +0 -7
  231. /package/client-dist/{agent-instances.module-QQHSIHVZ.js.map → agent-instances.module-UDY5QZWB.js.map} +0 -0
  232. /package/client-dist/{chunk-Q4YAQFNP.js.map → chunk-2ITU6ZUM.js.map} +0 -0
  233. /package/client-dist/{chunk-Y6PUQHIU.js.map → chunk-2N7NQG7Q.js.map} +0 -0
  234. /package/client-dist/{chunk-NJUY7I3Y.js.map → chunk-3HX37L3J.js.map} +0 -0
  235. /package/client-dist/{chunk-GNW4X5RC.js.map → chunk-3YPBVIDJ.js.map} +0 -0
  236. /package/client-dist/{chunk-OG33J4ZD.js.map → chunk-42VB5ZQS.js.map} +0 -0
  237. /package/client-dist/{chunk-TJENOBO6.js.map → chunk-4EUKDX2B.js.map} +0 -0
  238. /package/client-dist/{chunk-5MNGROTB.js.map → chunk-56EQDG6E.js.map} +0 -0
  239. /package/client-dist/{chunk-CJVTAHYF.js.map → chunk-5SKL5HHO.js.map} +0 -0
  240. /package/client-dist/{chunk-72FQNGJO.js.map → chunk-6BOUODAT.js.map} +0 -0
  241. /package/client-dist/{chunk-AQ72GJMX.js.map → chunk-6C4HMIS6.js.map} +0 -0
  242. /package/client-dist/{chunk-KFS5VDDV.js.map → chunk-6D6XCLGK.js.map} +0 -0
  243. /package/client-dist/{chunk-CKR2NA35.js.map → chunk-77UMON5X.js.map} +0 -0
  244. /package/client-dist/{chunk-JUWOVLJL.js.map → chunk-7ZVD6LZ4.js.map} +0 -0
  245. /package/client-dist/{chunk-KTAWOOUI.js.map → chunk-A36RZJWH.js.map} +0 -0
  246. /package/client-dist/{chunk-RRV4AJML.js.map → chunk-AVI22QZM.js.map} +0 -0
  247. /package/client-dist/{chunk-AM2JGX23.js.map → chunk-BORMYQ7S.js.map} +0 -0
  248. /package/client-dist/{chunk-XQKHUGZW.js.map → chunk-CJ62X7WV.js.map} +0 -0
  249. /package/client-dist/{chunk-M7Z2O4RG.js.map → chunk-CKF63TFV.js.map} +0 -0
  250. /package/client-dist/{chunk-PYVQEDEW.js.map → chunk-CWR6ZNEU.js.map} +0 -0
  251. /package/client-dist/{chunk-VW3WQQBF.js.map → chunk-DOZSMA4R.js.map} +0 -0
  252. /package/client-dist/{chunk-PUFVETM4.js.map → chunk-EWK657JH.js.map} +0 -0
  253. /package/client-dist/{chunk-QHUBJGWS.js.map → chunk-F5B46GLI.js.map} +0 -0
  254. /package/client-dist/{chunk-AY3XK6RS.js.map → chunk-FKCRNYZY.js.map} +0 -0
  255. /package/client-dist/{chunk-V4X7URSF.js.map → chunk-FUWU5SAR.js.map} +0 -0
  256. /package/client-dist/{chunk-F46E5KZ3.js.map → chunk-HBEZNISK.js.map} +0 -0
  257. /package/client-dist/{chunk-FOUQZW4D.js.map → chunk-HZBU5O3R.js.map} +0 -0
  258. /package/client-dist/{chunk-OQ24BGZJ.js.map → chunk-IUMRUKS2.js.map} +0 -0
  259. /package/client-dist/{chunk-U5VAWMNB.js.map → chunk-IZOE47W6.js.map} +0 -0
  260. /package/client-dist/{chunk-NTUVOM4B.js.map → chunk-KXFHNZNW.js.map} +0 -0
  261. /package/client-dist/{chunk-JIZE3HXP.js.map → chunk-MCZ3PLTT.js.map} +0 -0
  262. /package/client-dist/{chunk-5L4G3C5C.js.map → chunk-MY5WQ7QW.js.map} +0 -0
  263. /package/client-dist/{chunk-WX6TVKDG.js.map → chunk-NUSZLWO3.js.map} +0 -0
  264. /package/client-dist/{chunk-H7BIO73O.js.map → chunk-NZUTHRBY.js.map} +0 -0
  265. /package/client-dist/{chunk-4FSRDTZN.js.map → chunk-OH353S6Q.js.map} +0 -0
  266. /package/client-dist/{chunk-2E6OA2KT.js.map → chunk-OYMJ57PL.js.map} +0 -0
  267. /package/client-dist/{chunk-KZUKSPQS.js.map → chunk-QCLHEBFF.js.map} +0 -0
  268. /package/client-dist/{chunk-APXVQISJ.js.map → chunk-QELAISH5.js.map} +0 -0
  269. /package/client-dist/{chunk-3R7FDMZ3.js.map → chunk-QVO7D6MW.js.map} +0 -0
  270. /package/client-dist/{chunk-EMTKUTBC.js.map → chunk-QY6EVZQP.js.map} +0 -0
  271. /package/client-dist/{chunk-YWWHFCS3.js.map → chunk-SP5BICPA.js.map} +0 -0
  272. /package/client-dist/{chunk-MSY74RUJ.js.map → chunk-U5UHHTNY.js.map} +0 -0
  273. /package/client-dist/{chunk-TM2SED26.js.map → chunk-VS3OABTD.js.map} +0 -0
  274. /package/client-dist/{chunk-G7FLLFQV.js.map → chunk-W3FGHB4J.js.map} +0 -0
  275. /package/client-dist/{chunk-FVJHSIII.js.map → chunk-WBXAI6KX.js.map} +0 -0
  276. /package/client-dist/{chunk-O65C5CZH.js.map → chunk-XGPVYITU.js.map} +0 -0
  277. /package/client-dist/{chunk-G44KM4TW.js.map → chunk-XOEIV7DM.js.map} +0 -0
  278. /package/client-dist/{chunk-JAUNNZJN.js.map → chunk-XPV2NH7Y.js.map} +0 -0
  279. /package/client-dist/{chunk-VM45PE3J.js.map → chunk-XQT4GCPA.js.map} +0 -0
  280. /package/client-dist/{chunk-4RFLGW5L.js.map → chunk-XWP33UZH.js.map} +0 -0
  281. /package/client-dist/{chunk-SQDIXJP2.js.map → chunk-Y2O26C3U.js.map} +0 -0
  282. /package/client-dist/{chunk-XNHRRX4L.js.map → chunk-Z3J6BRQE.js.map} +0 -0
  283. /package/client-dist/{chunk-ZQCAHEXF.js.map → chunk-ZB4SFHZ2.js.map} +0 -0
  284. /package/client-dist/{chunk-LTRCLVM3.js.map → chunk-ZUD5BM5I.js.map} +0 -0
  285. /package/client-dist/{consultant.module-HFZCP4N4.js.map → consultant.module-UPUHCJAY.js.map} +0 -0
  286. /package/client-dist/{crd.module-6R37JW4V.js.map → crd.module-MPOKEY25.js.map} +0 -0
  287. /package/client-dist/{dashboard.module-YAZCCU26.js.map → dashboard.module-AMV7M5BJ.js.map} +0 -0
  288. /package/client-dist/{document-library.module-EFTFUIXJ.js.map → document-library.module-RCFAEWTG.js.map} +0 -0
  289. /package/client-dist/{embedding-eval.module-NIPCFFWB.js.map → embedding-eval.module-3BIHIVAY.js.map} +0 -0
  290. /package/client-dist/{embedding-registry.module-4GLSQNAT.js.map → embedding-registry.module-MNMESFZ7.js.map} +0 -0
  291. /package/client-dist/{err.module-2RPVCWXD.js.map → err.module-X4XSLFQF.js.map} +0 -0
  292. /package/client-dist/{feedback.module-WVLKZ533.js.map → feedback.module-ATVDBFBO.js.map} +0 -0
  293. /package/client-dist/{host-runtime-mcp.module-GRW6RSCA.js.map → host-runtime-mcp.module-XLJ77OB6.js.map} +0 -0
  294. /package/client-dist/{live-dev-pipeline.module-P3DEM6CE.js.map → live-dev-pipeline.module-OJ3TMQDS.js.map} +0 -0
  295. /package/client-dist/{logs.module-U6KCQYDU.js.map → logs.module-LDSPCIZG.js.map} +0 -0
  296. /package/client-dist/{master-control-remote-poc.module-RYSKRGXU.js.map → master-control-remote-poc.module-PIYVV2O4.js.map} +0 -0
  297. /package/client-dist/{mobile-app.module-EBMTWXS2.js.map → mobile-app.module-HXOEINEU.js.map} +0 -0
  298. /package/client-dist/{model-registry.module-F6R5MSBB.js.map → model-registry.module-7XR7DQF3.js.map} +0 -0
  299. /package/client-dist/{orc.module-NJQ6XGPN.js.map → orc.module-XWPMT7MP.js.map} +0 -0
  300. /package/client-dist/{project-source-routed.module-LZCPWG6J.js.map → project-source-routed.module-LXOFGFZ3.js.map} +0 -0
  301. /package/client-dist/{scheduler.module-WWPV25AU.js.map → scheduler.module-BIR62G32.js.map} +0 -0
  302. /package/client-dist/{setup.module-RVTO6I3R.js.map → setup.module-ECA6XRR5.js.map} +0 -0
  303. /package/client-dist/{terminals.module-AZEN47GZ.js.map → terminals.module-PT2ISO2T.js.map} +0 -0
  304. /package/client-dist/{voice-notes-poc.module-5JUTNIBP.js.map → voice-notes-poc.module-OCX735WY.js.map} +0 -0
  305. /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":";AAAA;;;;;;;;;GASG;;AAEH,+FAA0F;AAE1F,QAAQ,CAAC,0GAA0G,EAAE,GAAS,EAAE;IAE9H,0EAA0E;IAC1E,SAAS,QAAQ;QACf,MAAM,GAAG,GAAsC,MAAM,CAAC,MAAM,CAC1D,uEAAiC,CAAC,SAAS,CACP,CAAC;QACtC,GAA0C,CAAC,cAAc;YACxD,IAAI,GAAG,EAAkB,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,qDAAqD;IACrD,SAAS,eAAe,CACtB,GAAsC;QAEtC,OAAQ,GAAsD,CAAC,cAAc,CAAC;IAChF,CAAC;IAED,QAAQ,CAAC,kBAAkB,EAAE,GAAS,EAAE;QAEtC,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;YAClD,MAAM,GAAG,GAAsC,QAAQ,EAAE,CAAC;YAC1D,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAS,EAAE;YAC3D,MAAM,GAAG,GAAsC,QAAQ,EAAE,CAAC;YAC1D,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAS,EAAE;QAE3C,EAAE,CAAC,wBAAwB,EAAE,GAAS,EAAE;YACtC,MAAM,GAAG,GAAsC,QAAQ,EAAE,CAAC;YAC1D,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,GAAS,EAAE;YACxF,MAAM,GAAG,GAAsC,QAAQ,EAAE,CAAC;YAC1D,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAE9C,MAAM,MAAM,GACV,GAAG,CAAC,qBAAqB,EAAE,CAAC;YAE9B,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAS,EAAE;YACzE,MAAM,GAAG,GAAsC,QAAQ,EAAE,CAAC;YAC1D,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC9C,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC9C,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAE9C,MAAM,MAAM,GACV,GAAG,CAAC,qBAAqB,EAAE,CAAC;YAE9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,oEAAoE;YACpE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;YAC5E,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;YAC5E,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -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
- * Minden csatlakozott runner-nek cc:kill + disconnect-et küldünk a runner az
165
- * 'io server disconnect' reason miatt process.exit(0)-tal lép ki.
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 kezelése (cc:buffered-output — reconnect után flush).
317
- * A runner a reconnect pillanatában flush-öli a buffert, de a manager runtimeState-e
318
- * még nem feltétlenül létezik (a recovery nem futott le). Az output-ot a normál
319
- * handleOutput-on átadjuk (ha van runtimeState, azonnal feldolgozódik), ÉS
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: aszinkron DB ellenőrzés — ha a session már lezárt
366
- * (completed/terminated/errored) vagy nem létezik, a runner-t kiutasítjuk
367
- * (cc:kill + disconnect). Fire-and-forget a regisztrációt nem blokkolja.
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":"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"}
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
- * Minden csatlakozott runner-nek cc:kill + disconnect-et küldünk a runner az
216
- * 'io server disconnect' reason miatt process.exit(0)-tal lép ki.
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 (max 15 másodperc).
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({ sessionId: params.sessionId, timeoutMs: 15000 });
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: full grace (runnerGracePeriodSec * 2 iter, 500ms each)
616
- // - had-runner-disconnected: rövidített grace (4 iter = 2s) — user-closed window,
617
- // runner nem fog visszajönni, ne blokkoljuk a HTTP request-et 30s-ig
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 * 2
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 pattern + timeout
697
- // watchdog. Korábban `socket.emit('cc:spawn-prompt', payload)` fire-and-forget
698
- // volt HTTP 200 ment a kliensnek, DE a Socket.IO packet a hálózati pufferben
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
- // REQ-SYS-SILENT-001 Slice 2A (cycle 772): User-visible bubble + status
718
- // revert. A cycle 769 ACK-detektálás a /errors page-re tette a hibát, DE
719
- // a felhasználó az aktuális chat-ben SEMMIT nem látott (HTTP 200 már
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 (REQ-SYS-INSTALL-VERSION-CHECK-001): runner-version aware
753
- // diagnostics. Ha a runner nem küldte a verzióját (pre-cycle-781 build,
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 kezelése (cc:buffered-output — reconnect után flush).
1124
- * A runner a reconnect pillanatában flush-öli a buffert, de a manager runtimeState-e
1125
- * még nem feltétlenül létezik (a recovery nem futott le). Az output-ot a normál
1126
- * handleOutput-on átadjuk (ha van runtimeState, azonnal feldolgozódik), ÉS
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: aszinkron DB ellenőrzés — ha a session már lezárt
1402
- * (completed/terminated/errored) vagy nem létezik, a runner-t kiutasítjuk
1403
- * (cc:kill + disconnect). Fire-and-forget a regisztrációt nem blokkolja.
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
  }