@futdevpro/ccap 1.1.1

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 (400) hide show
  1. package/bin/ccap.js +8 -0
  2. package/cli/build/_collections/auto-start.util.d.ts +15 -0
  3. package/cli/build/_collections/auto-start.util.d.ts.map +1 -0
  4. package/cli/build/_collections/auto-start.util.js +75 -0
  5. package/cli/build/_collections/auto-start.util.js.map +1 -0
  6. package/cli/build/_collections/config.util.d.ts +13 -0
  7. package/cli/build/_collections/config.util.d.ts.map +1 -0
  8. package/cli/build/_collections/config.util.js +71 -0
  9. package/cli/build/_collections/config.util.js.map +1 -0
  10. package/cli/build/_collections/config.util.spec.d.ts +2 -0
  11. package/cli/build/_collections/config.util.spec.d.ts.map +1 -0
  12. package/cli/build/_collections/config.util.spec.js +45 -0
  13. package/cli/build/_collections/config.util.spec.js.map +1 -0
  14. package/cli/build/_collections/ensure-setup.util.d.ts +14 -0
  15. package/cli/build/_collections/ensure-setup.util.d.ts.map +1 -0
  16. package/cli/build/_collections/ensure-setup.util.js +36 -0
  17. package/cli/build/_collections/ensure-setup.util.js.map +1 -0
  18. package/cli/build/_collections/setup-wizard.util.d.ts +22 -0
  19. package/cli/build/_collections/setup-wizard.util.d.ts.map +1 -0
  20. package/cli/build/_collections/setup-wizard.util.js +275 -0
  21. package/cli/build/_collections/setup-wizard.util.js.map +1 -0
  22. package/cli/build/_collections/setup.util.d.ts +79 -0
  23. package/cli/build/_collections/setup.util.d.ts.map +1 -0
  24. package/cli/build/_collections/setup.util.js +191 -0
  25. package/cli/build/_collections/setup.util.js.map +1 -0
  26. package/cli/build/_commands/chat.d.ts +7 -0
  27. package/cli/build/_commands/chat.d.ts.map +1 -0
  28. package/cli/build/_commands/chat.js +173 -0
  29. package/cli/build/_commands/chat.js.map +1 -0
  30. package/cli/build/_commands/config.d.ts +6 -0
  31. package/cli/build/_commands/config.d.ts.map +1 -0
  32. package/cli/build/_commands/config.js +70 -0
  33. package/cli/build/_commands/config.js.map +1 -0
  34. package/cli/build/_commands/init.d.ts +8 -0
  35. package/cli/build/_commands/init.d.ts.map +1 -0
  36. package/cli/build/_commands/init.js +25 -0
  37. package/cli/build/_commands/init.js.map +1 -0
  38. package/cli/build/_commands/restart.d.ts +5 -0
  39. package/cli/build/_commands/restart.d.ts.map +1 -0
  40. package/cli/build/_commands/restart.js +21 -0
  41. package/cli/build/_commands/restart.js.map +1 -0
  42. package/cli/build/_commands/sessions.d.ts +5 -0
  43. package/cli/build/_commands/sessions.d.ts.map +1 -0
  44. package/cli/build/_commands/sessions.js +54 -0
  45. package/cli/build/_commands/sessions.js.map +1 -0
  46. package/cli/build/_commands/start.d.ts +12 -0
  47. package/cli/build/_commands/start.d.ts.map +1 -0
  48. package/cli/build/_commands/start.js +75 -0
  49. package/cli/build/_commands/start.js.map +1 -0
  50. package/cli/build/_commands/status.d.ts +6 -0
  51. package/cli/build/_commands/status.d.ts.map +1 -0
  52. package/cli/build/_commands/status.js +71 -0
  53. package/cli/build/_commands/status.js.map +1 -0
  54. package/cli/build/_commands/stop.d.ts +6 -0
  55. package/cli/build/_commands/stop.d.ts.map +1 -0
  56. package/cli/build/_commands/stop.js +41 -0
  57. package/cli/build/_commands/stop.js.map +1 -0
  58. package/cli/build/_commands/vault-key.d.ts +7 -0
  59. package/cli/build/_commands/vault-key.d.ts.map +1 -0
  60. package/cli/build/_commands/vault-key.js +36 -0
  61. package/cli/build/_commands/vault-key.js.map +1 -0
  62. package/cli/build/_commands/version.d.ts +5 -0
  63. package/cli/build/_commands/version.d.ts.map +1 -0
  64. package/cli/build/_commands/version.js +13 -0
  65. package/cli/build/_commands/version.js.map +1 -0
  66. package/cli/build/program.d.ts +3 -0
  67. package/cli/build/program.d.ts.map +1 -0
  68. package/cli/build/program.js +97 -0
  69. package/cli/build/program.js.map +1 -0
  70. package/client-dist/3rdpartylicenses.txt +569 -0
  71. package/client-dist/browser/chunk-KJ7FQNUG.js +1 -0
  72. package/client-dist/browser/chunk-UTNU5A7U.js +218 -0
  73. package/client-dist/browser/index.html +13 -0
  74. package/client-dist/browser/main-RHNH7LDD.js +2 -0
  75. package/client-dist/browser/polyfills-HGDOEU5L.js +2 -0
  76. package/client-dist/browser/styles-VWWGDWT7.css +1 -0
  77. package/package.json +54 -0
  78. package/server/build/package.json +60 -0
  79. package/server/build/src/_collections/consts/agent.const.js +26 -0
  80. package/server/build/src/_collections/consts/agent.const.js.map +1 -0
  81. package/server/build/src/_collections/consts/compacting.const.js +14 -0
  82. package/server/build/src/_collections/consts/compacting.const.js.map +1 -0
  83. package/server/build/src/_collections/consts/run-status-transitions.const.js +26 -0
  84. package/server/build/src/_collections/consts/run-status-transitions.const.js.map +1 -0
  85. package/server/build/src/_collections/consts/run-status-transitions.const.spec.js +41 -0
  86. package/server/build/src/_collections/consts/run-status-transitions.const.spec.js.map +1 -0
  87. package/server/build/src/_collections/contract-templates/context.contract-template.js +19 -0
  88. package/server/build/src/_collections/contract-templates/context.contract-template.js.map +1 -0
  89. package/server/build/src/_collections/contract-templates/execution-summary.contract-template.js +20 -0
  90. package/server/build/src/_collections/contract-templates/execution-summary.contract-template.js.map +1 -0
  91. package/server/build/src/_collections/contract-templates/history-summary.contract-template.js +19 -0
  92. package/server/build/src/_collections/contract-templates/history-summary.contract-template.js.map +1 -0
  93. package/server/build/src/_collections/contract-templates/run.contract-template.js +14 -0
  94. package/server/build/src/_collections/contract-templates/run.contract-template.js.map +1 -0
  95. package/server/build/src/_collections/contract-templates/session.contract-template.js +15 -0
  96. package/server/build/src/_collections/contract-templates/session.contract-template.js.map +1 -0
  97. package/server/build/src/_enums/ccap-context-key-source.type-enum.js +15 -0
  98. package/server/build/src/_enums/ccap-context-key-source.type-enum.js.map +1 -0
  99. package/server/build/src/_enums/ccap-context-key-status.type-enum.js +14 -0
  100. package/server/build/src/_enums/ccap-context-key-status.type-enum.js.map +1 -0
  101. package/server/build/src/_enums/ccap-contract.type-enum.js +16 -0
  102. package/server/build/src/_enums/ccap-contract.type-enum.js.map +1 -0
  103. package/server/build/src/_enums/ccap-conversation-type.type-enum.js +15 -0
  104. package/server/build/src/_enums/ccap-conversation-type.type-enum.js.map +1 -0
  105. package/server/build/src/_enums/ccap-llm-call-type.type-enum.js +21 -0
  106. package/server/build/src/_enums/ccap-llm-call-type.type-enum.js.map +1 -0
  107. package/server/build/src/_enums/ccap-llm-provider-name.type-enum.js +18 -0
  108. package/server/build/src/_enums/ccap-llm-provider-name.type-enum.js.map +1 -0
  109. package/server/build/src/_enums/ccap-message-role.type-enum.js +15 -0
  110. package/server/build/src/_enums/ccap-message-role.type-enum.js.map +1 -0
  111. package/server/build/src/_enums/ccap-messaging-provider-name.type-enum.js +20 -0
  112. package/server/build/src/_enums/ccap-messaging-provider-name.type-enum.js.map +1 -0
  113. package/server/build/src/_enums/ccap-monitoring-event.type-enum.js +18 -0
  114. package/server/build/src/_enums/ccap-monitoring-event.type-enum.js.map +1 -0
  115. package/server/build/src/_enums/ccap-run-action.type-enum.js +15 -0
  116. package/server/build/src/_enums/ccap-run-action.type-enum.js.map +1 -0
  117. package/server/build/src/_enums/ccap-run-status.type-enum.js +18 -0
  118. package/server/build/src/_enums/ccap-run-status.type-enum.js.map +1 -0
  119. package/server/build/src/_enums/ccap-session-status.type-enum.js +14 -0
  120. package/server/build/src/_enums/ccap-session-status.type-enum.js.map +1 -0
  121. package/server/build/src/_enums/ccap-system-prompt-part.type-enum.js +16 -0
  122. package/server/build/src/_enums/ccap-system-prompt-part.type-enum.js.map +1 -0
  123. package/server/build/src/_enums/ccap-tool-category.type-enum.js +17 -0
  124. package/server/build/src/_enums/ccap-tool-category.type-enum.js.map +1 -0
  125. package/server/build/src/_enums/ccap-tool-entry-type.type-enum.js +13 -0
  126. package/server/build/src/_enums/ccap-tool-entry-type.type-enum.js.map +1 -0
  127. package/server/build/src/_models/data-models/ccap-conversation-active.data-model.js +34 -0
  128. package/server/build/src/_models/data-models/ccap-conversation-active.data-model.js.map +1 -0
  129. package/server/build/src/_models/data-models/ccap-conversation-full-active.data-model.js +40 -0
  130. package/server/build/src/_models/data-models/ccap-conversation-full-active.data-model.js.map +1 -0
  131. package/server/build/src/_models/data-models/ccap-conversation-full.data-model.js +30 -0
  132. package/server/build/src/_models/data-models/ccap-conversation-full.data-model.js.map +1 -0
  133. package/server/build/src/_models/data-models/ccap-conversation.data-model.js +30 -0
  134. package/server/build/src/_models/data-models/ccap-conversation.data-model.js.map +1 -0
  135. package/server/build/src/_models/data-models/ccap-error.data-model.js +40 -0
  136. package/server/build/src/_models/data-models/ccap-error.data-model.js.map +1 -0
  137. package/server/build/src/_models/data-models/ccap-run.data-model.js +56 -0
  138. package/server/build/src/_models/data-models/ccap-run.data-model.js.map +1 -0
  139. package/server/build/src/_models/data-models/ccap-secret.data-model.js +39 -0
  140. package/server/build/src/_models/data-models/ccap-secret.data-model.js.map +1 -0
  141. package/server/build/src/_models/data-models/ccap-session.data-model.js +69 -0
  142. package/server/build/src/_models/data-models/ccap-session.data-model.js.map +1 -0
  143. package/server/build/src/_models/interfaces/ccap-agentic-decision.interface.js +3 -0
  144. package/server/build/src/_models/interfaces/ccap-agentic-decision.interface.js.map +1 -0
  145. package/server/build/src/_models/interfaces/ccap-assistant-message.interface.js +3 -0
  146. package/server/build/src/_models/interfaces/ccap-assistant-message.interface.js.map +1 -0
  147. package/server/build/src/_models/interfaces/ccap-channel-identifier.interface.js +23 -0
  148. package/server/build/src/_models/interfaces/ccap-channel-identifier.interface.js.map +1 -0
  149. package/server/build/src/_models/interfaces/ccap-common-context.interface.js +3 -0
  150. package/server/build/src/_models/interfaces/ccap-common-context.interface.js.map +1 -0
  151. package/server/build/src/_models/interfaces/ccap-compacted-soul.interface.js +3 -0
  152. package/server/build/src/_models/interfaces/ccap-compacted-soul.interface.js.map +1 -0
  153. package/server/build/src/_models/interfaces/ccap-context-contract.interface.js +3 -0
  154. package/server/build/src/_models/interfaces/ccap-context-contract.interface.js.map +1 -0
  155. package/server/build/src/_models/interfaces/ccap-context-key.interface.js +3 -0
  156. package/server/build/src/_models/interfaces/ccap-context-key.interface.js.map +1 -0
  157. package/server/build/src/_models/interfaces/ccap-context-state.interface.js +3 -0
  158. package/server/build/src/_models/interfaces/ccap-context-state.interface.js.map +1 -0
  159. package/server/build/src/_models/interfaces/ccap-context.interface.js +3 -0
  160. package/server/build/src/_models/interfaces/ccap-context.interface.js.map +1 -0
  161. package/server/build/src/_models/interfaces/ccap-execution-summary-contract.interface.js +3 -0
  162. package/server/build/src/_models/interfaces/ccap-execution-summary-contract.interface.js.map +1 -0
  163. package/server/build/src/_models/interfaces/ccap-history-summary-contract.interface.js +3 -0
  164. package/server/build/src/_models/interfaces/ccap-history-summary-contract.interface.js.map +1 -0
  165. package/server/build/src/_models/interfaces/ccap-llm-call-options.interface.js +3 -0
  166. package/server/build/src/_models/interfaces/ccap-llm-call-options.interface.js.map +1 -0
  167. package/server/build/src/_models/interfaces/ccap-llm-provider.interface.js +3 -0
  168. package/server/build/src/_models/interfaces/ccap-llm-provider.interface.js.map +1 -0
  169. package/server/build/src/_models/interfaces/ccap-llm-response.interface.js +3 -0
  170. package/server/build/src/_models/interfaces/ccap-llm-response.interface.js.map +1 -0
  171. package/server/build/src/_models/interfaces/ccap-message.interface.js +3 -0
  172. package/server/build/src/_models/interfaces/ccap-message.interface.js.map +1 -0
  173. package/server/build/src/_models/interfaces/ccap-messaging-provider.interface.js +3 -0
  174. package/server/build/src/_models/interfaces/ccap-messaging-provider.interface.js.map +1 -0
  175. package/server/build/src/_models/interfaces/ccap-monitoring-event.interface.js +3 -0
  176. package/server/build/src/_models/interfaces/ccap-monitoring-event.interface.js.map +1 -0
  177. package/server/build/src/_models/interfaces/ccap-run-finalization-result.interface.js +3 -0
  178. package/server/build/src/_models/interfaces/ccap-run-finalization-result.interface.js.map +1 -0
  179. package/server/build/src/_models/interfaces/ccap-session-info.interface.js +3 -0
  180. package/server/build/src/_models/interfaces/ccap-session-info.interface.js.map +1 -0
  181. package/server/build/src/_models/interfaces/ccap-setup-config.interface.js +3 -0
  182. package/server/build/src/_models/interfaces/ccap-setup-config.interface.js.map +1 -0
  183. package/server/build/src/_models/interfaces/ccap-soul.interface.js +3 -0
  184. package/server/build/src/_models/interfaces/ccap-soul.interface.js.map +1 -0
  185. package/server/build/src/_models/interfaces/ccap-system-message.interface.js +3 -0
  186. package/server/build/src/_models/interfaces/ccap-system-message.interface.js.map +1 -0
  187. package/server/build/src/_models/interfaces/ccap-tool-call-message.interface.js +3 -0
  188. package/server/build/src/_models/interfaces/ccap-tool-call-message.interface.js.map +1 -0
  189. package/server/build/src/_models/interfaces/ccap-tool-call-result.interface.js +3 -0
  190. package/server/build/src/_models/interfaces/ccap-tool-call-result.interface.js.map +1 -0
  191. package/server/build/src/_models/interfaces/ccap-tool-group.interface.js +3 -0
  192. package/server/build/src/_models/interfaces/ccap-tool-group.interface.js.map +1 -0
  193. package/server/build/src/_models/interfaces/ccap-tool-in-context.interface.js +3 -0
  194. package/server/build/src/_models/interfaces/ccap-tool-in-context.interface.js.map +1 -0
  195. package/server/build/src/_models/interfaces/ccap-tool-result-message.interface.js +3 -0
  196. package/server/build/src/_models/interfaces/ccap-tool-result-message.interface.js.map +1 -0
  197. package/server/build/src/_models/interfaces/ccap-tool.interface.js +3 -0
  198. package/server/build/src/_models/interfaces/ccap-tool.interface.js.map +1 -0
  199. package/server/build/src/_models/interfaces/ccap-user-message.interface.js +3 -0
  200. package/server/build/src/_models/interfaces/ccap-user-message.interface.js.map +1 -0
  201. package/server/build/src/_modules/agent/agentic-loop.control-service.js +231 -0
  202. package/server/build/src/_modules/agent/agentic-loop.control-service.js.map +1 -0
  203. package/server/build/src/_modules/agent/analyze.control-service.js +189 -0
  204. package/server/build/src/_modules/agent/analyze.control-service.js.map +1 -0
  205. package/server/build/src/_modules/agent/assemble-conversation.control-service.js +204 -0
  206. package/server/build/src/_modules/agent/assemble-conversation.control-service.js.map +1 -0
  207. package/server/build/src/_modules/agent/compacting/_collections/compacting.const.js +26 -0
  208. package/server/build/src/_modules/agent/compacting/_collections/compacting.const.js.map +1 -0
  209. package/server/build/src/_modules/agent/compacting/chat-history-compacting.control-service.js +67 -0
  210. package/server/build/src/_modules/agent/compacting/chat-history-compacting.control-service.js.map +1 -0
  211. package/server/build/src/_modules/agent/compacting/context-compacting.control-service.js +41 -0
  212. package/server/build/src/_modules/agent/compacting/context-compacting.control-service.js.map +1 -0
  213. package/server/build/src/_modules/agent/compacting/conversation-full-active-compacting.control-service.js +245 -0
  214. package/server/build/src/_modules/agent/compacting/conversation-full-active-compacting.control-service.js.map +1 -0
  215. package/server/build/src/_modules/agent/compacting/execution-history-compacting.control-service.js +105 -0
  216. package/server/build/src/_modules/agent/compacting/execution-history-compacting.control-service.js.map +1 -0
  217. package/server/build/src/_modules/agent/compacting/soul-compacting.control-service.js +84 -0
  218. package/server/build/src/_modules/agent/compacting/soul-compacting.control-service.js.map +1 -0
  219. package/server/build/src/_modules/agent/compacting/tool-result-compacting.control-service.js +109 -0
  220. package/server/build/src/_modules/agent/compacting/tool-result-compacting.control-service.js.map +1 -0
  221. package/server/build/src/_modules/agent/execution.control-service.js +84 -0
  222. package/server/build/src/_modules/agent/execution.control-service.js.map +1 -0
  223. package/server/build/src/_modules/agent/history/chat-history.control-service.js +106 -0
  224. package/server/build/src/_modules/agent/history/chat-history.control-service.js.map +1 -0
  225. package/server/build/src/_modules/agent/history/execution-history.control-service.js +128 -0
  226. package/server/build/src/_modules/agent/history/execution-history.control-service.js.map +1 -0
  227. package/server/build/src/_modules/agent/history/execution-history.control-service.spec.js +154 -0
  228. package/server/build/src/_modules/agent/history/execution-history.control-service.spec.js.map +1 -0
  229. package/server/build/src/_modules/agent/new-user-message-handling.control-service.js +125 -0
  230. package/server/build/src/_modules/agent/new-user-message-handling.control-service.js.map +1 -0
  231. package/server/build/src/_modules/agent/new-user-message-handling.control-service.spec.js +105 -0
  232. package/server/build/src/_modules/agent/new-user-message-handling.control-service.spec.js.map +1 -0
  233. package/server/build/src/_modules/agent/run-finalization.control-service.js +210 -0
  234. package/server/build/src/_modules/agent/run-finalization.control-service.js.map +1 -0
  235. package/server/build/src/_modules/agent/run-flow-e2e.spec.js +226 -0
  236. package/server/build/src/_modules/agent/run-flow-e2e.spec.js.map +1 -0
  237. package/server/build/src/_modules/agent/run-flow.control-service.js +346 -0
  238. package/server/build/src/_modules/agent/run-flow.control-service.js.map +1 -0
  239. package/server/build/src/_modules/agent/run-initialization.control-service.js +47 -0
  240. package/server/build/src/_modules/agent/run-initialization.control-service.js.map +1 -0
  241. package/server/build/src/_modules/agent/run.data-service.js +149 -0
  242. package/server/build/src/_modules/agent/run.data-service.js.map +1 -0
  243. package/server/build/src/_modules/agent/session-mutex.control-service.js +96 -0
  244. package/server/build/src/_modules/agent/session-mutex.control-service.js.map +1 -0
  245. package/server/build/src/_modules/agent/session-mutex.control-service.spec.js +48 -0
  246. package/server/build/src/_modules/agent/session-mutex.control-service.spec.js.map +1 -0
  247. package/server/build/src/_modules/agent/tool-calling.control-service.js +186 -0
  248. package/server/build/src/_modules/agent/tool-calling.control-service.js.map +1 -0
  249. package/server/build/src/_modules/context/_collections/context.const.js +34 -0
  250. package/server/build/src/_modules/context/_collections/context.const.js.map +1 -0
  251. package/server/build/src/_modules/context/_collections/context.const.spec.js +20 -0
  252. package/server/build/src/_modules/context/_collections/context.const.spec.js.map +1 -0
  253. package/server/build/src/_modules/context/common-context.data-service.js +78 -0
  254. package/server/build/src/_modules/context/common-context.data-service.js.map +1 -0
  255. package/server/build/src/_modules/context/context-builder.util-service.js +139 -0
  256. package/server/build/src/_modules/context/context-builder.util-service.js.map +1 -0
  257. package/server/build/src/_modules/context/context-builder.util-service.spec.js +157 -0
  258. package/server/build/src/_modules/context/context-builder.util-service.spec.js.map +1 -0
  259. package/server/build/src/_modules/context/context-management.control-service.js +365 -0
  260. package/server/build/src/_modules/context/context-management.control-service.js.map +1 -0
  261. package/server/build/src/_modules/context/context-management.control-service.spec.js +305 -0
  262. package/server/build/src/_modules/context/context-management.control-service.spec.js.map +1 -0
  263. package/server/build/src/_modules/context/knowledge.data-service.js +70 -0
  264. package/server/build/src/_modules/context/knowledge.data-service.js.map +1 -0
  265. package/server/build/src/_modules/context/session-info-context.data-service.js +45 -0
  266. package/server/build/src/_modules/context/session-info-context.data-service.js.map +1 -0
  267. package/server/build/src/_modules/database/database.data-service.js +35 -0
  268. package/server/build/src/_modules/database/database.data-service.js.map +1 -0
  269. package/server/build/src/_modules/default-path/default-path.util-service.js +49 -0
  270. package/server/build/src/_modules/default-path/default-path.util-service.js.map +1 -0
  271. package/server/build/src/_modules/default-path/default-path.util-service.spec.js +61 -0
  272. package/server/build/src/_modules/default-path/default-path.util-service.spec.js.map +1 -0
  273. package/server/build/src/_modules/default-path/soul-file.util-service.js +111 -0
  274. package/server/build/src/_modules/default-path/soul-file.util-service.js.map +1 -0
  275. package/server/build/src/_modules/default-path/soul-file.util-service.spec.js +36 -0
  276. package/server/build/src/_modules/default-path/soul-file.util-service.spec.js.map +1 -0
  277. package/server/build/src/_modules/error-handling/ccap-analyze-cancelled.error.js +18 -0
  278. package/server/build/src/_modules/error-handling/ccap-analyze-cancelled.error.js.map +1 -0
  279. package/server/build/src/_modules/error-handling/error-collector.util-service.js +78 -0
  280. package/server/build/src/_modules/error-handling/error-collector.util-service.js.map +1 -0
  281. package/server/build/src/_modules/error-handling/error-collector.util-service.spec.js +38 -0
  282. package/server/build/src/_modules/error-handling/error-collector.util-service.spec.js.map +1 -0
  283. package/server/build/src/_modules/error-handling/error-table.data-service.js +59 -0
  284. package/server/build/src/_modules/error-handling/error-table.data-service.js.map +1 -0
  285. package/server/build/src/_modules/llm/_collections/llm.const.js +28 -0
  286. package/server/build/src/_modules/llm/_collections/llm.const.js.map +1 -0
  287. package/server/build/src/_modules/llm/_collections/llm.const.spec.js +24 -0
  288. package/server/build/src/_modules/llm/_collections/llm.const.spec.js.map +1 -0
  289. package/server/build/src/_modules/llm/_collections/prompt-templates/agentic-loop.prompt-template.js +48 -0
  290. package/server/build/src/_modules/llm/_collections/prompt-templates/agentic-loop.prompt-template.js.map +1 -0
  291. package/server/build/src/_modules/llm/_collections/prompt-templates/analyze.prompt-template.js +52 -0
  292. package/server/build/src/_modules/llm/_collections/prompt-templates/analyze.prompt-template.js.map +1 -0
  293. package/server/build/src/_modules/llm/_collections/prompt-templates/chat-history-compacting.prompt-template.js +28 -0
  294. package/server/build/src/_modules/llm/_collections/prompt-templates/chat-history-compacting.prompt-template.js.map +1 -0
  295. package/server/build/src/_modules/llm/_collections/prompt-templates/context-compacting.prompt-template.js +27 -0
  296. package/server/build/src/_modules/llm/_collections/prompt-templates/context-compacting.prompt-template.js.map +1 -0
  297. package/server/build/src/_modules/llm/_collections/prompt-templates/execution-history-compacting.prompt-template.js +45 -0
  298. package/server/build/src/_modules/llm/_collections/prompt-templates/execution-history-compacting.prompt-template.js.map +1 -0
  299. package/server/build/src/_modules/llm/_collections/prompt-templates/run-finalization.prompt-template.js +30 -0
  300. package/server/build/src/_modules/llm/_collections/prompt-templates/run-finalization.prompt-template.js.map +1 -0
  301. package/server/build/src/_modules/llm/_collections/prompt-templates/soul-compacting.prompt-template.js +26 -0
  302. package/server/build/src/_modules/llm/_collections/prompt-templates/soul-compacting.prompt-template.js.map +1 -0
  303. package/server/build/src/_modules/llm/_collections/prompt-templates/tool-description.prompt-template.js +25 -0
  304. package/server/build/src/_modules/llm/_collections/prompt-templates/tool-description.prompt-template.js.map +1 -0
  305. package/server/build/src/_modules/llm/_collections/prompt-templates/tool-result-chunking.prompt-template.js +54 -0
  306. package/server/build/src/_modules/llm/_collections/prompt-templates/tool-result-chunking.prompt-template.js.map +1 -0
  307. package/server/build/src/_modules/llm/llm.control-service.js +137 -0
  308. package/server/build/src/_modules/llm/llm.control-service.js.map +1 -0
  309. package/server/build/src/_modules/llm/providers/custom-local-ai-llm.control-service.js +128 -0
  310. package/server/build/src/_modules/llm/providers/custom-local-ai-llm.control-service.js.map +1 -0
  311. package/server/build/src/_modules/llm/providers/openai-llm.control-service.js +120 -0
  312. package/server/build/src/_modules/llm/providers/openai-llm.control-service.js.map +1 -0
  313. package/server/build/src/_modules/llm/system-prompt.data-service.js +124 -0
  314. package/server/build/src/_modules/llm/system-prompt.data-service.js.map +1 -0
  315. package/server/build/src/_modules/llm/system-prompt.data-service.spec.js +138 -0
  316. package/server/build/src/_modules/llm/system-prompt.data-service.spec.js.map +1 -0
  317. package/server/build/src/_modules/messaging/_collections/messaging.const.js +30 -0
  318. package/server/build/src/_modules/messaging/_collections/messaging.const.js.map +1 -0
  319. package/server/build/src/_modules/messaging/_collections/messaging.const.spec.js +18 -0
  320. package/server/build/src/_modules/messaging/_collections/messaging.const.spec.js.map +1 -0
  321. package/server/build/src/_modules/messaging/messaging-router.control-service.js +224 -0
  322. package/server/build/src/_modules/messaging/messaging-router.control-service.js.map +1 -0
  323. package/server/build/src/_modules/messaging/messaging-router.control-service.spec.js +141 -0
  324. package/server/build/src/_modules/messaging/messaging-router.control-service.spec.js.map +1 -0
  325. package/server/build/src/_modules/messaging/providers/ccap-client-messaging.control-service.js +256 -0
  326. package/server/build/src/_modules/messaging/providers/ccap-client-messaging.control-service.js.map +1 -0
  327. package/server/build/src/_modules/messaging/providers/ccap-client-socket-server.service.js +51 -0
  328. package/server/build/src/_modules/messaging/providers/ccap-client-socket-server.service.js.map +1 -0
  329. package/server/build/src/_modules/messaging/providers/cli-messaging.control-service.js +89 -0
  330. package/server/build/src/_modules/messaging/providers/cli-messaging.control-service.js.map +1 -0
  331. package/server/build/src/_modules/messaging/providers/discord-messaging.control-service.js +121 -0
  332. package/server/build/src/_modules/messaging/providers/discord-messaging.control-service.js.map +1 -0
  333. package/server/build/src/_modules/monitoring/monitoring.data-service.js +99 -0
  334. package/server/build/src/_modules/monitoring/monitoring.data-service.js.map +1 -0
  335. package/server/build/src/_modules/monitoring/monitoring.data-service.spec.js +50 -0
  336. package/server/build/src/_modules/monitoring/monitoring.data-service.spec.js.map +1 -0
  337. package/server/build/src/_modules/path-protection/path-protection.util-service.js +84 -0
  338. package/server/build/src/_modules/path-protection/path-protection.util-service.js.map +1 -0
  339. package/server/build/src/_modules/path-protection/path-protection.util-service.spec.js +55 -0
  340. package/server/build/src/_modules/path-protection/path-protection.util-service.spec.js.map +1 -0
  341. package/server/build/src/_modules/secrets-vault/secrets-vault.data-service.js +186 -0
  342. package/server/build/src/_modules/secrets-vault/secrets-vault.data-service.js.map +1 -0
  343. package/server/build/src/_modules/session/conversation.data-service.js +241 -0
  344. package/server/build/src/_modules/session/conversation.data-service.js.map +1 -0
  345. package/server/build/src/_modules/session/session.data-service.js +265 -0
  346. package/server/build/src/_modules/session/session.data-service.js.map +1 -0
  347. package/server/build/src/_modules/setup-config/setup-config.data-service.js +95 -0
  348. package/server/build/src/_modules/setup-config/setup-config.data-service.js.map +1 -0
  349. package/server/build/src/_modules/tools/_collections/tools.const.js +20 -0
  350. package/server/build/src/_modules/tools/_collections/tools.const.js.map +1 -0
  351. package/server/build/src/_modules/tools/fixed-tools/control/context-handling.tool.js +135 -0
  352. package/server/build/src/_modules/tools/fixed-tools/control/context-handling.tool.js.map +1 -0
  353. package/server/build/src/_modules/tools/fixed-tools/control/session-handling.tool.js +46 -0
  354. package/server/build/src/_modules/tools/fixed-tools/control/session-handling.tool.js.map +1 -0
  355. package/server/build/src/_modules/tools/fixed-tools/exec/exec.tool.js +119 -0
  356. package/server/build/src/_modules/tools/fixed-tools/exec/exec.tool.js.map +1 -0
  357. package/server/build/src/_modules/tools/fixed-tools/file-handling/file-handling.tool.js +179 -0
  358. package/server/build/src/_modules/tools/fixed-tools/file-handling/file-handling.tool.js.map +1 -0
  359. package/server/build/src/_modules/tools/fixed-tools/net/net.tool.js +97 -0
  360. package/server/build/src/_modules/tools/fixed-tools/net/net.tool.js.map +1 -0
  361. package/server/build/src/_modules/tools/fixed-tools/tool-handling/tool-handling.tool.js +100 -0
  362. package/server/build/src/_modules/tools/fixed-tools/tool-handling/tool-handling.tool.js.map +1 -0
  363. package/server/build/src/_modules/tools/tool-execution.control-service.js +110 -0
  364. package/server/build/src/_modules/tools/tool-execution.control-service.js.map +1 -0
  365. package/server/build/src/_modules/tools/tool-registry.control-service.js +124 -0
  366. package/server/build/src/_modules/tools/tool-registry.control-service.js.map +1 -0
  367. package/server/build/src/_modules/tools/tools-in-context.util-service.js +90 -0
  368. package/server/build/src/_modules/tools/tools-in-context.util-service.js.map +1 -0
  369. package/server/build/src/_modules/tools/tools-in-context.util-service.spec.js +66 -0
  370. package/server/build/src/_modules/tools/tools-in-context.util-service.spec.js.map +1 -0
  371. package/server/build/src/_routes/client-static/client-static.controller.js +54 -0
  372. package/server/build/src/_routes/client-static/client-static.controller.js.map +1 -0
  373. package/server/build/src/_routes/messaging/messaging-message-body.interface.js +3 -0
  374. package/server/build/src/_routes/messaging/messaging-message-body.interface.js.map +1 -0
  375. package/server/build/src/_routes/messaging/messaging.controller.js +77 -0
  376. package/server/build/src/_routes/messaging/messaging.controller.js.map +1 -0
  377. package/server/build/src/_routes/server/server-status/server-status.controller.js +40 -0
  378. package/server/build/src/_routes/server/server-status/server-status.controller.js.map +1 -0
  379. package/server/build/src/_routes/server/server-status/server-status.controller.spec.js +19 -0
  380. package/server/build/src/_routes/server/server-status/server-status.controller.spec.js.map +1 -0
  381. package/server/build/src/_routes/server/server-status/server-status.data-service.js +11 -0
  382. package/server/build/src/_routes/server/server-status/server-status.data-service.js.map +1 -0
  383. package/server/build/src/_routes/session/context-api.data-service.js +69 -0
  384. package/server/build/src/_routes/session/context-api.data-service.js.map +1 -0
  385. package/server/build/src/_routes/session/conversation-api.data-service.js +69 -0
  386. package/server/build/src/_routes/session/conversation-api.data-service.js.map +1 -0
  387. package/server/build/src/_routes/session/monitoring-api.data-service.js +45 -0
  388. package/server/build/src/_routes/session/monitoring-api.data-service.js.map +1 -0
  389. package/server/build/src/_routes/session/session-api.data-service.js +70 -0
  390. package/server/build/src/_routes/session/session-api.data-service.js.map +1 -0
  391. package/server/build/src/_routes/session/session.controller.js +251 -0
  392. package/server/build/src/_routes/session/session.controller.js.map +1 -0
  393. package/server/build/src/_routes/setup/setup.controller.js +255 -0
  394. package/server/build/src/_routes/setup/setup.controller.js.map +1 -0
  395. package/server/build/src/app.server.js +232 -0
  396. package/server/build/src/app.server.js.map +1 -0
  397. package/server/build/src/app.server.spec.js +24 -0
  398. package/server/build/src/app.server.spec.js.map +1 -0
  399. package/server/build/src/index.js +9 -0
  400. package/server/build/src/index.js.map +1 -0
@@ -0,0 +1,365 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CCAP_ContextManagement_ControlService = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const nts_dynamo_1 = require("@futdevpro/nts-dynamo");
6
+ const ccap_context_key_status_type_enum_1 = require("../../_enums/ccap-context-key-status.type-enum");
7
+ const context_const_1 = require("./_collections/context.const");
8
+ const context_builder_util_service_1 = require("./context-builder.util-service");
9
+ /**
10
+ * Központi context management control-service.
11
+ * GET_CONTEXT, UPDATE_CONTEXT, key műveletek, verziókezelés, túlméret kezelés.
12
+ * Kontrollált lokális scope: csak nyitott kulcsok tartalma kibontva.
13
+ */
14
+ class CCAP_ContextManagement_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
15
+ static getInstance() {
16
+ return CCAP_ContextManagement_ControlService.getSingletonInstance();
17
+ }
18
+ /** Session -> context state mapping. */
19
+ contextStates = new Map();
20
+ /**
21
+ * Opcionális callback: context változás után hívódik (pl. CCAP Client real-time push).
22
+ * Nincs messaging import (Phase 3.09).
23
+ */
24
+ onContextUpdated;
25
+ /**
26
+ * onContextUpdated callback beállítása (bootstrap hívja, Phase 3.09).
27
+ */
28
+ setOnContextUpdated(callback) {
29
+ this.onContextUpdated = callback;
30
+ }
31
+ /**
32
+ * Context változás értesítés (CCAP Client sendContextUpdate).
33
+ */
34
+ notifyContextUpdated(sessionId) {
35
+ if (!this.onContextUpdated) {
36
+ return;
37
+ }
38
+ const state = this.ensureContextState(sessionId);
39
+ const contextState = {
40
+ activeKeys: [...state.activeKeys],
41
+ pinnedKeys: [...state.pinnedKeys],
42
+ cachedKeys: [...state.cachedKeys],
43
+ };
44
+ this.onContextUpdated(sessionId, contextState);
45
+ }
46
+ /**
47
+ * Context state inicializálás egy session-höz (ha még nincs).
48
+ */
49
+ ensureContextState(sessionId) {
50
+ let state = this.contextStates.get(sessionId);
51
+ if (!state) {
52
+ state = {
53
+ activeKeys: [],
54
+ pinnedKeys: [],
55
+ cachedKeys: [],
56
+ keys: {},
57
+ sessionContextCache: {},
58
+ };
59
+ this.contextStates.set(sessionId, state);
60
+ }
61
+ return state;
62
+ }
63
+ /**
64
+ * GET_CONTEXT: context lekérés.
65
+ * Csak nyitott (active + pinned) kulcsok tartalma kibontva;
66
+ * a többi kulcstár formában (csak key nevek).
67
+ */
68
+ getContext(sessionId) {
69
+ return this.ensureContextState(sessionId);
70
+ }
71
+ /**
72
+ * UPDATE_CONTEXT: context frissítés key-value párokkal.
73
+ * A sessionContextCache-be menti a key-value párokat.
74
+ * Túlméret esetén eviction (REQ-CTX-003).
75
+ */
76
+ updateContext(params) {
77
+ const state = this.ensureContextState(params.sessionId);
78
+ // Context cache frissítés
79
+ for (const [key, value] of Object.entries(params.updates)) {
80
+ state.sessionContextCache[key] = value;
81
+ }
82
+ this.trimSessionContextCacheIfNeeded(params.sessionId);
83
+ this.notifyContextUpdated(params.sessionId);
84
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_ContextMgmt | UPDATE_CONTEXT`
85
+ + ` | session: ${params.sessionId}`
86
+ + ` | keys: ${Object.keys(params.updates).length}`);
87
+ }
88
+ /**
89
+ * Context key tartalom frissítése verzió növeléssel (REQ-CTX-002, REQ-CTX-008, REQ-CTX-009).
90
+ * Ha a kulcs létezik: új verzió; expectedVersion-nel optimistic lock (reject ha nem egyezik).
91
+ * Ha a kulcs nem létezik: undefined (reject).
92
+ */
93
+ updateContextKeyContent(params) {
94
+ const state = this.ensureContextState(params.sessionId);
95
+ const existingVersions = state.keys[params.key] ?? [];
96
+ if (!existingVersions.length) {
97
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_ContextMgmt | updateContextKeyContent: key not found: ${params.key}`);
98
+ return undefined;
99
+ }
100
+ const latest = existingVersions[existingVersions.length - 1];
101
+ if (params.expectedVersion !== undefined
102
+ && latest.version !== params.expectedVersion) {
103
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_ContextMgmt | updateContextKeyContent: version conflict`
104
+ + ` | key: ${params.key}`
105
+ + ` | expected: ${params.expectedVersion}`
106
+ + ` | current: ${latest.version}`);
107
+ return undefined;
108
+ }
109
+ const nextVersion = existingVersions.length;
110
+ const now = new Date();
111
+ const newKey = {
112
+ key: params.key,
113
+ version: nextVersion,
114
+ content: params.content,
115
+ status: ccap_context_key_status_type_enum_1.CCAP_ContextKeyStatus_Type.active,
116
+ createdAt: now,
117
+ updatedAt: now,
118
+ source: params.source,
119
+ };
120
+ state.keys[params.key].push(newKey);
121
+ if (!state.activeKeys.includes(params.key)) {
122
+ state.activeKeys.push(params.key);
123
+ }
124
+ this.notifyContextUpdated(params.sessionId);
125
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_ContextMgmt | updateContextKeyContent`
126
+ + ` | key: ${params.key}`
127
+ + ` | version: ${nextVersion}`);
128
+ return newKey;
129
+ }
130
+ /**
131
+ * Context kulcs megnyitása: teljes tartalom kibontás.
132
+ */
133
+ openContextKey(params) {
134
+ const state = this.ensureContextState(params.sessionId);
135
+ // Kulcs keresése (legújabb verzió)
136
+ const keyEntry = this.getLatestKeyVersion(state, params.key);
137
+ if (!keyEntry) {
138
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_ContextMgmt | Key not found: ${params.key}`);
139
+ return undefined;
140
+ }
141
+ // Státusz frissítés: active
142
+ keyEntry.status = ccap_context_key_status_type_enum_1.CCAP_ContextKeyStatus_Type.active;
143
+ // Active keys listába felvenni (ha nincs benne)
144
+ if (!state.activeKeys.includes(params.key)) {
145
+ state.activeKeys.push(params.key);
146
+ }
147
+ // Cached keys listából eltávolítani
148
+ state.cachedKeys = state.cachedKeys.filter((k) => k !== params.key);
149
+ this.notifyContextUpdated(params.sessionId);
150
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_ContextMgmt | Key opened: ${params.key}`);
151
+ return keyEntry;
152
+ }
153
+ /**
154
+ * Context kulcs rögzítése (pinned): mindig az aktív context window-ban marad.
155
+ */
156
+ pinContextKey(params) {
157
+ const state = this.ensureContextState(params.sessionId);
158
+ const keyEntry = this.getLatestKeyVersion(state, params.key);
159
+ if (!keyEntry) {
160
+ return;
161
+ }
162
+ keyEntry.status = ccap_context_key_status_type_enum_1.CCAP_ContextKeyStatus_Type.pinned;
163
+ // Pinned keys listába felvenni
164
+ if (!state.pinnedKeys.includes(params.key)) {
165
+ state.pinnedKeys.push(params.key);
166
+ }
167
+ // Active és cached listákból eltávolítani
168
+ state.activeKeys = state.activeKeys.filter((k) => k !== params.key);
169
+ state.cachedKeys = state.cachedKeys.filter((k) => k !== params.key);
170
+ this.notifyContextUpdated(params.sessionId);
171
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_ContextMgmt | Key pinned: ${params.key}`);
172
+ }
173
+ /**
174
+ * Context kulcs bezárása / cache-elés.
175
+ */
176
+ closeContextKey(params) {
177
+ const state = this.ensureContextState(params.sessionId);
178
+ const keyEntry = this.getLatestKeyVersion(state, params.key);
179
+ if (!keyEntry) {
180
+ return;
181
+ }
182
+ keyEntry.status = ccap_context_key_status_type_enum_1.CCAP_ContextKeyStatus_Type.cached;
183
+ // Cached keys listába felvenni
184
+ if (!state.cachedKeys.includes(params.key)) {
185
+ state.cachedKeys.push(params.key);
186
+ }
187
+ // Active és pinned listákból eltávolítani
188
+ state.activeKeys = state.activeKeys.filter((k) => k !== params.key);
189
+ state.pinnedKeys = state.pinnedKeys.filter((k) => k !== params.key);
190
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_ContextMgmt | Key closed/cached: ${params.key}`);
191
+ }
192
+ /**
193
+ * NEW_CONTEXT: új context kulcs létrehozása verziókezeléssel.
194
+ * Ha a kulcs létezik, a következő verziószámmal hozzuk létre.
195
+ */
196
+ createNewContext(params) {
197
+ const state = this.ensureContextState(params.sessionId);
198
+ // Meglévő verziók meghatározása
199
+ const existingVersions = state.keys[params.key] ?? [];
200
+ // Következő verziószám
201
+ const nextVersion = existingVersions.length;
202
+ const now = new Date();
203
+ // Új key entry
204
+ const newKey = {
205
+ key: params.key,
206
+ version: nextVersion,
207
+ content: params.content,
208
+ status: ccap_context_key_status_type_enum_1.CCAP_ContextKeyStatus_Type.active,
209
+ createdAt: now,
210
+ updatedAt: now,
211
+ source: params.source,
212
+ };
213
+ // Key hozzáadás a verzió listához
214
+ if (!state.keys[params.key]) {
215
+ state.keys[params.key] = [];
216
+ }
217
+ state.keys[params.key].push(newKey);
218
+ // Active keys listába felvenni
219
+ if (!state.activeKeys.includes(params.key)) {
220
+ state.activeKeys.push(params.key);
221
+ }
222
+ this.notifyContextUpdated(params.sessionId);
223
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_ContextMgmt | NEW_CONTEXT`
224
+ + ` | key: ${params.key}`
225
+ + ` | version: ${nextVersion}`);
226
+ return newKey;
227
+ }
228
+ /**
229
+ * Context kulcs verzió lekérés.
230
+ * Verzió nélkül: mindig a legújabb verziót adja vissza.
231
+ */
232
+ getContextKeyVersion(params) {
233
+ const state = this.ensureContextState(params.sessionId);
234
+ if (params.version !== undefined) {
235
+ // Konkrét verzió lekérés
236
+ const versions = state.keys[params.key] ?? [];
237
+ return versions.find((v) => v.version === params.version);
238
+ }
239
+ // Legújabb verzió
240
+ return this.getLatestKeyVersion(state, params.key);
241
+ }
242
+ /**
243
+ * Context keresés: egyszerű string match a kulcs nevekben és tartalmakban.
244
+ */
245
+ searchContext(params) {
246
+ const state = this.ensureContextState(params.sessionId);
247
+ const results = [];
248
+ const queryLower = params.query.toLowerCase();
249
+ for (const [key, versions] of Object.entries(state.keys)) {
250
+ // Kulcs név egyezés
251
+ if (key.toLowerCase().includes(queryLower)) {
252
+ const latest = versions[versions.length - 1];
253
+ if (latest) {
254
+ results.push(latest);
255
+ continue;
256
+ }
257
+ }
258
+ // Tartalom egyezés (legújabb verzió)
259
+ const latest = versions[versions.length - 1];
260
+ if (latest) {
261
+ const contentStr = JSON.stringify(latest.content);
262
+ if (contentStr.toLowerCase().includes(queryLower)) {
263
+ results.push(latest);
264
+ }
265
+ }
266
+ }
267
+ return results;
268
+ }
269
+ /**
270
+ * Script-alapú context build a conversation-höz.
271
+ * Opcionálisan Session Info és Common Context bevonása (REQ-CTX-005, REQ-CTX-006).
272
+ */
273
+ buildContextForConversation(params) {
274
+ const state = this.ensureContextState(params.sessionId);
275
+ return context_builder_util_service_1.CCAP_ContextBuilder_UtilService.formatContextForPrompt(state, params.sessionInfo, params.commonContext);
276
+ }
277
+ /**
278
+ * Kompaktált context tartalom visszaírása (compacting loop után).
279
+ * A következő buildContextForConversation ezt adja vissza a kulcsok helyett.
280
+ */
281
+ applyCompactedContextContent(params) {
282
+ const state = this.ensureContextState(params.sessionId);
283
+ state.compactedContextOverride = params.compactedContent;
284
+ this.notifyContextUpdated(params.sessionId);
285
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_ContextMgmt | applyCompactedContextContent`
286
+ + ` | session: ${params.sessionId}`);
287
+ }
288
+ /**
289
+ * Context túlméret kezelés trigger.
290
+ * 1. Bezárjuk a nem-most-nyitott kulcsokat
291
+ * 2. Ha továbbra is túl nagy: jelzés az LLM kompaktálás felé (Phase 08)
292
+ */
293
+ handleContextOversize(params) {
294
+ const state = this.ensureContextState(params.sessionId);
295
+ const closedKeys = [];
296
+ const protectedKeys = params.currentRunOpenedKeys ?? [];
297
+ // 1. lépés: nem-most-nyitott active kulcsok bezárása
298
+ const keysToClose = state.activeKeys.filter((key) => !protectedKeys.includes(key));
299
+ for (const key of keysToClose) {
300
+ this.closeContextKey({
301
+ sessionId: params.sessionId,
302
+ key: key,
303
+ });
304
+ closedKeys.push(key);
305
+ }
306
+ // 2. lépés: méret ellenőrzés
307
+ const currentSize = context_builder_util_service_1.CCAP_ContextBuilder_UtilService.calculateContextSize(state);
308
+ const needsLlmCompacting = currentSize > params.contextWindowLimit;
309
+ if (needsLlmCompacting) {
310
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_ContextMgmt | Context still oversize after closing keys`
311
+ + ` | size: ${currentSize}`
312
+ + ` | limit: ${params.contextWindowLimit}`
313
+ + ` | needs LLM compacting (Phase 08)`);
314
+ }
315
+ return {
316
+ needsLlmCompacting: needsLlmCompacting,
317
+ closedKeys: closedKeys,
318
+ };
319
+ }
320
+ /**
321
+ * Legújabb verzió lekérése egy kulcshoz.
322
+ */
323
+ getLatestKeyVersion(state, key) {
324
+ const versions = state.keys[key] ?? [];
325
+ if (!versions.length) {
326
+ return undefined;
327
+ }
328
+ return versions[versions.length - 1];
329
+ }
330
+ /**
331
+ * Session context cache eviction (REQ-CTX-003).
332
+ * Ha az elemszám vagy a méret túllépi a limitet, a legrégebben hozzáadott kulcsok törlődnek (FIFO).
333
+ */
334
+ trimSessionContextCacheIfNeeded(sessionId) {
335
+ const state = this.ensureContextState(sessionId);
336
+ let keys = Object.keys(state.sessionContextCache);
337
+ let removedByCount = 0;
338
+ // Elemszám limit: FIFO törlés
339
+ if (keys.length > context_const_1.MAX_SESSION_CONTEXT_CACHE_ENTRIES) {
340
+ const toRemove = keys.length - context_const_1.MAX_SESSION_CONTEXT_CACHE_ENTRIES;
341
+ for (let i = 0; i < toRemove; i++) {
342
+ delete state.sessionContextCache[keys[i]];
343
+ removedByCount++;
344
+ }
345
+ keys = Object.keys(state.sessionContextCache);
346
+ }
347
+ // Méret limit: törlés egyesével amíg a méret alá nem megy
348
+ let sizeBytes = JSON.stringify(state.sessionContextCache).length;
349
+ while (sizeBytes > context_const_1.MAX_SESSION_CONTEXT_CACHE_SIZE_BYTES
350
+ && keys.length > 0) {
351
+ const keyToRemove = keys[0];
352
+ delete state.sessionContextCache[keyToRemove];
353
+ removedByCount++;
354
+ keys = Object.keys(state.sessionContextCache);
355
+ sizeBytes = JSON.stringify(state.sessionContextCache).length;
356
+ }
357
+ if (removedByCount > 0) {
358
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_ContextMgmt | sessionContextCache eviction`
359
+ + ` | session: ${sessionId}`
360
+ + ` | removed: ${removedByCount}`);
361
+ }
362
+ }
363
+ }
364
+ exports.CCAP_ContextManagement_ControlService = CCAP_ContextManagement_ControlService;
365
+ //# sourceMappingURL=context-management.control-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-management.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/context/context-management.control-service.ts"],"names":[],"mappings":"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"}