@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,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CCAP_SystemPrompt_DataService = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const agent_const_1 = require("../../_collections/consts/agent.const");
6
+ const history_summary_contract_template_1 = require("../../_collections/contract-templates/history-summary.contract-template");
7
+ const execution_summary_contract_template_1 = require("../../_collections/contract-templates/execution-summary.contract-template");
8
+ const context_contract_template_1 = require("../../_collections/contract-templates/context.contract-template");
9
+ const session_contract_template_1 = require("../../_collections/contract-templates/session.contract-template");
10
+ const run_contract_template_1 = require("../../_collections/contract-templates/run.contract-template");
11
+ const ccap_system_prompt_part_type_enum_1 = require("../../_enums/ccap-system-prompt-part.type-enum");
12
+ const compacting_const_1 = require("../agent/compacting/_collections/compacting.const");
13
+ /** Default SOUL tartalom. */
14
+ const DEFAULT_SOUL_CONTENT = 'You are CCAP, an intelligent agentic assistant. '
15
+ + 'You help users by analyzing their requests, '
16
+ + 'using available tools, and providing accurate, helpful responses. '
17
+ + 'You maintain context across conversations '
18
+ + 'and adapt to the user\'s needs. '
19
+ + 'Always be precise, assertive, and informative.';
20
+ /**
21
+ * System prompt data-service.
22
+ * SOUL kezelés, system prompt összeállítás, contract handling rules bevonás.
23
+ */
24
+ class CCAP_SystemPrompt_DataService {
25
+ /** Az aktuális SOUL definíció. */
26
+ soul = {
27
+ content: DEFAULT_SOUL_CONTENT,
28
+ version: 1,
29
+ lastModifiedAt: new Date(),
30
+ };
31
+ /**
32
+ * SOUL lekérés.
33
+ */
34
+ getSoul() {
35
+ return { ...this.soul };
36
+ }
37
+ /**
38
+ * SOUL frissítés.
39
+ */
40
+ updateSoul(content) {
41
+ this.soul = {
42
+ content: content,
43
+ version: this.soul.version + 1,
44
+ lastModifiedAt: new Date(),
45
+ };
46
+ fsm_dynamo_1.DyFM_Log.success(`CCAP_SystemPrompt | SOUL updated (v${this.soul.version})`);
47
+ return { ...this.soul };
48
+ }
49
+ /**
50
+ * System prompt összeállítása: SOUL → HANDLING_RULES → CONTEXT → HISTORY → EXECUTION
51
+ * → SESSION & RUN → TOOLS. Contract data blokkok ~120 token limit (REQ-CONT-002).
52
+ */
53
+ buildSystemPrompt(params) {
54
+ const parts = [];
55
+ // SOUL (vagy kompaktált változat, ha van)
56
+ const soulContent = params.compactedSoul ?? params.soul ?? this.soul.content;
57
+ parts.push(soulContent);
58
+ // Contract handling rules bevonása (ha kell)
59
+ if (params.includeContracts !== false) {
60
+ const contractRules = this.buildContractHandlingRules();
61
+ parts.push(contractRules);
62
+ }
63
+ // CONTEXT blokk (már [CONTEXT]...[/CONTEXT] formátumban)
64
+ if (params.contextContent && params.contextContent.trim()) {
65
+ parts.push(params.contextContent.trim());
66
+ }
67
+ // HISTORY_SUMMARY blokk (truncált)
68
+ if (params.historySummaryContent != null && params.historySummaryContent !== '') {
69
+ const truncated = this.truncateToContractTokenLimit(params.historySummaryContent);
70
+ parts.push(`${history_summary_contract_template_1.HISTORY_SUMMARY_CONTRACT_TEMPLATE.openTag}\n${truncated}\n${history_summary_contract_template_1.HISTORY_SUMMARY_CONTRACT_TEMPLATE.closeTag}`);
71
+ }
72
+ // EXECUTION_SUMMARY blokk (truncált)
73
+ if (params.executionSummaryContent != null
74
+ && params.executionSummaryContent !== '') {
75
+ const truncated = this.truncateToContractTokenLimit(params.executionSummaryContent);
76
+ parts.push(`${execution_summary_contract_template_1.EXECUTION_SUMMARY_CONTRACT_TEMPLATE.openTag}\n${truncated}\n${execution_summary_contract_template_1.EXECUTION_SUMMARY_CONTRACT_TEMPLATE.closeTag}`);
77
+ }
78
+ // TOOLS blokk
79
+ if (params.toolsContent && params.toolsContent.trim()) {
80
+ parts.push(`--- TOOLS ---\n${params.toolsContent.trim()}`);
81
+ }
82
+ return parts.join('\n\n');
83
+ }
84
+ /**
85
+ * Szöveg csonkolása ~CONTRACT_TOKEN_LIMIT tokenre (REQ-CONT-002).
86
+ */
87
+ truncateToContractTokenLimit(content) {
88
+ const maxChars = agent_const_1.CONTRACT_TOKEN_LIMIT * compacting_const_1.CHARS_PER_TOKEN_ESTIMATE;
89
+ if (content.length <= maxChars) {
90
+ return content;
91
+ }
92
+ return content.slice(0, maxChars).trim() + '…';
93
+ }
94
+ /**
95
+ * Contract handling rules szöveg összeállítása.
96
+ * HISTORY_SUMMARY, CONTEXT, EXECUTION_SUMMARY, SESSION & RUN rules.
97
+ */
98
+ buildContractHandlingRules() {
99
+ const sections = [];
100
+ // HISTORY_SUMMARY handling rules
101
+ sections.push(this.buildContractSection(ccap_system_prompt_part_type_enum_1.CCAP_SystemPromptPart_Type.historySummaryRules, history_summary_contract_template_1.HISTORY_SUMMARY_CONTRACT_TEMPLATE.openTag, history_summary_contract_template_1.HISTORY_SUMMARY_CONTRACT_TEMPLATE.role, history_summary_contract_template_1.HISTORY_SUMMARY_CONTRACT_TEMPLATE.interpretation, history_summary_contract_template_1.HISTORY_SUMMARY_CONTRACT_TEMPLATE.reliability, history_summary_contract_template_1.HISTORY_SUMMARY_CONTRACT_TEMPLATE.usage));
102
+ // CONTEXT handling rules
103
+ sections.push(this.buildContractSection(ccap_system_prompt_part_type_enum_1.CCAP_SystemPromptPart_Type.contextRules, context_contract_template_1.CONTEXT_CONTRACT_TEMPLATE.openTag, context_contract_template_1.CONTEXT_CONTRACT_TEMPLATE.role, context_contract_template_1.CONTEXT_CONTRACT_TEMPLATE.interpretation, context_contract_template_1.CONTEXT_CONTRACT_TEMPLATE.reliability, context_contract_template_1.CONTEXT_CONTRACT_TEMPLATE.usage));
104
+ // EXECUTION_SUMMARY handling rules
105
+ sections.push(this.buildContractSection(ccap_system_prompt_part_type_enum_1.CCAP_SystemPromptPart_Type.executionSummaryRules, execution_summary_contract_template_1.EXECUTION_SUMMARY_CONTRACT_TEMPLATE.openTag, execution_summary_contract_template_1.EXECUTION_SUMMARY_CONTRACT_TEMPLATE.role, execution_summary_contract_template_1.EXECUTION_SUMMARY_CONTRACT_TEMPLATE.interpretation, execution_summary_contract_template_1.EXECUTION_SUMMARY_CONTRACT_TEMPLATE.reliability, execution_summary_contract_template_1.EXECUTION_SUMMARY_CONTRACT_TEMPLATE.usage));
106
+ // SESSION & RUN handling rules
107
+ sections.push(`--- SESSION & RUN ---\n`
108
+ + `${session_contract_template_1.SESSION_CONTRACT_TEMPLATE}\n`
109
+ + `${run_contract_template_1.RUN_CONTRACT_TEMPLATE}`);
110
+ return sections.join('\n\n');
111
+ }
112
+ /**
113
+ * Egyedi contract section összeállítása.
114
+ */
115
+ buildContractSection(partType, tag, role, interpretation, reliability, usage) {
116
+ return `--- ${tag} ---\n`
117
+ + `Role: ${role}\n`
118
+ + `Interpretation: ${interpretation}\n`
119
+ + `Reliability: ${reliability}\n`
120
+ + `Usage: ${usage}`;
121
+ }
122
+ }
123
+ exports.CCAP_SystemPrompt_DataService = CCAP_SystemPrompt_DataService;
124
+ //# sourceMappingURL=system-prompt.data-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-prompt.data-service.js","sourceRoot":"","sources":["../../../../src/_modules/llm/system-prompt.data-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const history_summary_contract_template_1 = require("../../_collections/contract-templates/history-summary.contract-template");
4
+ const agent_const_1 = require("../../_collections/consts/agent.const");
5
+ const compacting_const_1 = require("../agent/compacting/_collections/compacting.const");
6
+ const system_prompt_data_service_1 = require("./system-prompt.data-service");
7
+ describe('CCAP_SystemPrompt_DataService', () => {
8
+ let service;
9
+ beforeEach(() => {
10
+ service = new system_prompt_data_service_1.CCAP_SystemPrompt_DataService();
11
+ });
12
+ describe('buildSystemPrompt', () => {
13
+ it('returns SOUL first when no optional params', () => {
14
+ const result = service.buildSystemPrompt({
15
+ includeContracts: false,
16
+ });
17
+ expect(result).toContain('You are CCAP, an intelligent agentic assistant.');
18
+ expect(result.trim()).toBe(result);
19
+ });
20
+ it('includes handling rules when includeContracts true', () => {
21
+ const result = service.buildSystemPrompt({
22
+ includeContracts: true,
23
+ });
24
+ expect(result).toContain('[HISTORY_SUMMARY]');
25
+ expect(result).toContain('[CONTEXT]');
26
+ expect(result).toContain('[EXECUTION_SUMMARY]');
27
+ expect(result).toContain('SESSION');
28
+ expect(result).toContain('RUN');
29
+ });
30
+ it('includes SESSION & RUN contract text in handling rules (REQ-CONT-016, REQ-CONT-017)', () => {
31
+ const result = service.buildSystemPrompt({
32
+ includeContracts: true,
33
+ });
34
+ expect(result).toContain('SESSION: The complete lifecycle of a single chat thread');
35
+ expect(result).toContain('RUN: A single execution cycle within a Session');
36
+ });
37
+ it('includes contextContent when provided', () => {
38
+ const contextBlock = '[CONTEXT]\nKey1: value1\n[/CONTEXT]';
39
+ const result = service.buildSystemPrompt({
40
+ includeContracts: true,
41
+ contextContent: contextBlock,
42
+ });
43
+ expect(result).toContain(contextBlock);
44
+ });
45
+ it('includes [HISTORY_SUMMARY] block when historySummaryContent provided', () => {
46
+ const summary = 'Prior conversation summary text.';
47
+ const result = service.buildSystemPrompt({
48
+ includeContracts: true,
49
+ historySummaryContent: summary,
50
+ });
51
+ expect(result).toContain('[HISTORY_SUMMARY]');
52
+ expect(result).toContain(summary);
53
+ expect(result).toContain('[/HISTORY_SUMMARY]');
54
+ });
55
+ it('includes [EXECUTION_SUMMARY] block when executionSummaryContent provided', () => {
56
+ const execSummary = 'Executed steps and outcomes.';
57
+ const result = service.buildSystemPrompt({
58
+ includeContracts: true,
59
+ executionSummaryContent: execSummary,
60
+ });
61
+ expect(result).toContain('[EXECUTION_SUMMARY]');
62
+ expect(result).toContain(execSummary);
63
+ expect(result).toContain('[/EXECUTION_SUMMARY]');
64
+ });
65
+ it('truncates long historySummaryContent to ~CONTRACT_TOKEN_LIMIT tokens', () => {
66
+ const maxChars = agent_const_1.CONTRACT_TOKEN_LIMIT * compacting_const_1.CHARS_PER_TOKEN_ESTIMATE;
67
+ const longSummary = 'a'.repeat(maxChars + 100);
68
+ const result = service.buildSystemPrompt({
69
+ includeContracts: true,
70
+ historySummaryContent: longSummary,
71
+ });
72
+ const openTag = history_summary_contract_template_1.HISTORY_SUMMARY_CONTRACT_TEMPLATE.openTag + '\n';
73
+ const closeTag = history_summary_contract_template_1.HISTORY_SUMMARY_CONTRACT_TEMPLATE.closeTag;
74
+ const startIdx = result.indexOf(openTag);
75
+ expect(startIdx).toBeGreaterThanOrEqual(0);
76
+ const endIdx = result.indexOf(closeTag, startIdx);
77
+ const between = result
78
+ .slice(startIdx + openTag.length, endIdx)
79
+ .trim();
80
+ expect(between.length).toBeLessThanOrEqual(maxChars + 2);
81
+ expect(between.endsWith('…')).toBe(true);
82
+ });
83
+ it('includes TOOLS block when toolsContent provided', () => {
84
+ const toolsBlock = 'Fixed Tools:\n - tool1: desc1';
85
+ const result = service.buildSystemPrompt({
86
+ includeContracts: true,
87
+ toolsContent: toolsBlock,
88
+ });
89
+ expect(result).toContain('--- TOOLS ---');
90
+ expect(result).toContain(toolsBlock);
91
+ });
92
+ it('uses compactedSoul when provided', () => {
93
+ const compacted = 'Compacted SOUL content for this run.';
94
+ const result = service.buildSystemPrompt({
95
+ includeContracts: false,
96
+ compactedSoul: compacted,
97
+ });
98
+ expect(result).toContain(compacted);
99
+ expect(result).not.toContain('You are CCAP, an intelligent agentic assistant.');
100
+ });
101
+ it('block order: SOUL then rules then context then history then execution then tools', () => {
102
+ const contextBlock = '[CONTEXT]\nx\n[/CONTEXT]';
103
+ const historyContent = 'history';
104
+ const execContent = 'exec';
105
+ const toolsContent = 'tools list';
106
+ const result = service.buildSystemPrompt({
107
+ includeContracts: true,
108
+ contextContent: contextBlock,
109
+ historySummaryContent: historyContent,
110
+ executionSummaryContent: execContent,
111
+ toolsContent: toolsContent,
112
+ });
113
+ const soulPos = result.indexOf('You are CCAP');
114
+ const historyTagPos = result.indexOf('[HISTORY_SUMMARY]');
115
+ const execTagPos = result.indexOf('[EXECUTION_SUMMARY]');
116
+ const toolsSectionPos = result.indexOf('--- TOOLS ---');
117
+ expect(soulPos).toBeGreaterThanOrEqual(0);
118
+ expect(historyTagPos).toBeGreaterThan(soulPos);
119
+ expect(execTagPos).toBeGreaterThan(historyTagPos);
120
+ expect(toolsSectionPos).toBeGreaterThan(execTagPos);
121
+ });
122
+ });
123
+ describe('getSoul and updateSoul', () => {
124
+ it('getSoul returns default soul', () => {
125
+ const soul = service.getSoul();
126
+ expect(soul.content).toContain('CCAP');
127
+ expect(soul.version).toBe(1);
128
+ });
129
+ it('updateSoul updates content and increments version', () => {
130
+ const updated = service.updateSoul('New soul content.');
131
+ expect(updated.content).toBe('New soul content.');
132
+ expect(updated.version).toBe(2);
133
+ const after = service.getSoul();
134
+ expect(after.content).toBe('New soul content.');
135
+ });
136
+ });
137
+ });
138
+ //# sourceMappingURL=system-prompt.data-service.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-prompt.data-service.spec.js","sourceRoot":"","sources":["../../../../src/_modules/llm/system-prompt.data-service.spec.ts"],"names":[],"mappings":";;AAAA,+HAA4H;AAC5H,uEAA6E;AAC7E,wFAA6F;AAC7F,6EAA6E;AAE7E,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,IAAI,OAAsC,CAAC;IAE3C,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,IAAI,0DAA6B,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,MAAM,GAAW,OAAO,CAAC,iBAAiB,CAAC;gBAC/C,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iDAAiD,CAAC,CAAC;YAC5E,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,MAAM,GAAW,OAAO,CAAC,iBAAiB,CAAC;gBAC/C,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;YAC7F,MAAM,MAAM,GAAW,OAAO,CAAC,iBAAiB,CAAC;gBAC/C,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,yDAAyD,CAAC,CAAC;YACpF,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,gDAAgD,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,YAAY,GAAW,qCAAqC,CAAC;YAEnE,MAAM,MAAM,GAAW,OAAO,CAAC,iBAAiB,CAAC;gBAC/C,gBAAgB,EAAE,IAAI;gBACtB,cAAc,EAAE,YAAY;aAC7B,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC9E,MAAM,OAAO,GAAW,kCAAkC,CAAC;YAE3D,MAAM,MAAM,GAAW,OAAO,CAAC,iBAAiB,CAAC;gBAC/C,gBAAgB,EAAE,IAAI;gBACtB,qBAAqB,EAAE,OAAO;aAC/B,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;YAClF,MAAM,WAAW,GAAW,8BAA8B,CAAC;YAE3D,MAAM,MAAM,GAAW,OAAO,CAAC,iBAAiB,CAAC;gBAC/C,gBAAgB,EAAE,IAAI;gBACtB,uBAAuB,EAAE,WAAW;aACrC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC9E,MAAM,QAAQ,GACZ,kCAAoB,GAAG,2CAAwB,CAAC;YAElD,MAAM,WAAW,GAAW,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;YAEvD,MAAM,MAAM,GAAW,OAAO,CAAC,iBAAiB,CAAC;gBAC/C,gBAAgB,EAAE,IAAI;gBACtB,qBAAqB,EAAE,WAAW;aACnC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAW,qEAAiC,CAAC,OAAO,GAAG,IAAI,CAAC;YACzE,MAAM,QAAQ,GAAW,qEAAiC,CAAC,QAAQ,CAAC;YAEpE,MAAM,QAAQ,GAAW,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEjD,MAAM,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAW,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAW,MAAM;iBAC3B,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;iBACxC,IAAI,EAAE,CAAC;YAEV,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,UAAU,GAAW,gCAAgC,CAAC;YAE5D,MAAM,MAAM,GAAW,OAAO,CAAC,iBAAiB,CAAC;gBAC/C,gBAAgB,EAAE,IAAI;gBACtB,YAAY,EAAE,UAAU;aACzB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,SAAS,GAAW,sCAAsC,CAAC;YAEjE,MAAM,MAAM,GAAW,OAAO,CAAC,iBAAiB,CAAC;gBAC/C,gBAAgB,EAAE,KAAK;gBACvB,aAAa,EAAE,SAAS;aACzB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,iDAAiD,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;YAC1F,MAAM,YAAY,GAAW,0BAA0B,CAAC;YACxD,MAAM,cAAc,GAAW,SAAS,CAAC;YACzC,MAAM,WAAW,GAAW,MAAM,CAAC;YACnC,MAAM,YAAY,GAAW,YAAY,CAAC;YAE1C,MAAM,MAAM,GAAW,OAAO,CAAC,iBAAiB,CAAC;gBAC/C,gBAAgB,EAAE,IAAI;gBACtB,cAAc,EAAE,YAAY;gBAC5B,qBAAqB,EAAE,cAAc;gBACrC,uBAAuB,EAAE,WAAW;gBACpC,YAAY,EAAE,YAAY;aAC3B,CAAC,CAAC;YAEH,MAAM,OAAO,GAAW,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACvD,MAAM,aAAa,GAAW,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAClE,MAAM,UAAU,GAAW,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACjE,MAAM,eAAe,GAAW,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAEhE,MAAM,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAE/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;YAExD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEhC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ /**
3
+ * Messaging konstansok.
4
+ * Event nevek és messaging réteg konfigurációs értékek.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.SOCKET_EVENT_SESSION_CREATE_RESULT = exports.SOCKET_EVENT_SESSION_LIST_RESULT = exports.SOCKET_EVENT_MONITORING_EVENT = exports.SOCKET_EVENT_CONTEXT_UPDATED = exports.CCAP_CLIENT_SOCKET_PORT = exports.MIMIC_MESSAGE_PREFIX = exports.MIMIC_MESSAGE_EVENT = exports.MESSAGING_EVENT_AGENT_EVENTS = exports.MESSAGING_EVENT_NOTIFY_USER = exports.MESSAGING_EVENT_ANSWER = exports.MESSAGING_EVENT_NEW_USER_MSG = void 0;
8
+ /** NEW_USER_MSG event kulcs – bármely provider-ről érkező új felhasználói üzenet. */
9
+ exports.MESSAGING_EVENT_NEW_USER_MSG = 'new-user-msg';
10
+ /** ANSWER output event – a run végső válasza a felhasználónak. */
11
+ exports.MESSAGING_EVENT_ANSWER = 'answer';
12
+ /** NOTIFY_USER output event – felhasználó értesítése (pl. kompaktálás, hiba). */
13
+ exports.MESSAGING_EVENT_NOTIFY_USER = 'notify-user';
14
+ /** AGENT_EVENTS output event – agent állapot eseményei (pl. tool hívás, status). */
15
+ exports.MESSAGING_EVENT_AGENT_EVENTS = 'agent-events';
16
+ /** Mimic event neve – user message replikálás más channel-ekre (REQ-MSG-008). */
17
+ exports.MIMIC_MESSAGE_EVENT = 'mimic:message';
18
+ /** Mimic üzenet prefix a többi channel-en megjelenítéshez. */
19
+ exports.MIMIC_MESSAGE_PREFIX = '[Mimic] ';
20
+ /** CCAP Client socket port (elkülönítve a HTTP port-tól). */
21
+ exports.CCAP_CLIENT_SOCKET_PORT = +(process.env.CCAP_SOCKET_PORT ?? 39051);
22
+ /** Context frissítés event – real-time context state a client felé (Phase 2.09). */
23
+ exports.SOCKET_EVENT_CONTEXT_UPDATED = 'context:updated';
24
+ /** Monitoring event – egy monitoring event real-time a client felé (Phase 2.09). */
25
+ exports.SOCKET_EVENT_MONITORING_EVENT = 'monitoring:event';
26
+ /** Session lista válasz event – session:list Socket kérésre (Phase 2.09). */
27
+ exports.SOCKET_EVENT_SESSION_LIST_RESULT = 'session:list:result';
28
+ /** Session create válasz event – session:create Socket kérésre (Phase 2.09). */
29
+ exports.SOCKET_EVENT_SESSION_CREATE_RESULT = 'session:create:result';
30
+ //# sourceMappingURL=messaging.const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging.const.js","sourceRoot":"","sources":["../../../../../src/_modules/messaging/_collections/messaging.const.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,qFAAqF;AACxE,QAAA,4BAA4B,GAAW,cAAc,CAAC;AAEnE,kEAAkE;AACrD,QAAA,sBAAsB,GAAW,QAAQ,CAAC;AAEvD,iFAAiF;AACpE,QAAA,2BAA2B,GAAW,aAAa,CAAC;AAEjE,oFAAoF;AACvE,QAAA,4BAA4B,GAAW,cAAc,CAAC;AAEnE,iFAAiF;AACpE,QAAA,mBAAmB,GAAW,eAAe,CAAC;AAE3D,8DAA8D;AACjD,QAAA,oBAAoB,GAAW,UAAU,CAAC;AAEvD,6DAA6D;AAChD,QAAA,uBAAuB,GAAW,CAAC,CAC9C,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,KAAK,CACtC,CAAC;AAEF,oFAAoF;AACvE,QAAA,4BAA4B,GAAW,iBAAiB,CAAC;AAEtE,oFAAoF;AACvE,QAAA,6BAA6B,GAAW,kBAAkB,CAAC;AAExE,6EAA6E;AAChE,QAAA,gCAAgC,GAAW,qBAAqB,CAAC;AAE9E,gFAAgF;AACnE,QAAA,kCAAkC,GAAW,uBAAuB,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const messaging_const_1 = require("./messaging.const");
4
+ describe('messaging.const', () => {
5
+ it('exports expected event names', () => {
6
+ expect(messaging_const_1.MESSAGING_EVENT_NEW_USER_MSG).toBe('new-user-msg');
7
+ expect(messaging_const_1.MESSAGING_EVENT_ANSWER).toBe('answer');
8
+ expect(messaging_const_1.MESSAGING_EVENT_NOTIFY_USER).toBe('notify-user');
9
+ expect(messaging_const_1.MESSAGING_EVENT_AGENT_EVENTS).toBe('agent-events');
10
+ expect(messaging_const_1.MIMIC_MESSAGE_EVENT).toBe('mimic:message');
11
+ expect(messaging_const_1.MIMIC_MESSAGE_PREFIX).toBe('[Mimic] ');
12
+ expect(messaging_const_1.SOCKET_EVENT_CONTEXT_UPDATED).toBe('context:updated');
13
+ expect(messaging_const_1.SOCKET_EVENT_MONITORING_EVENT).toBe('monitoring:event');
14
+ expect(messaging_const_1.SOCKET_EVENT_SESSION_LIST_RESULT).toBe('session:list:result');
15
+ expect(messaging_const_1.SOCKET_EVENT_SESSION_CREATE_RESULT).toBe('session:create:result');
16
+ });
17
+ });
18
+ //# sourceMappingURL=messaging.const.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging.const.spec.js","sourceRoot":"","sources":["../../../../../src/_modules/messaging/_collections/messaging.const.spec.ts"],"names":[],"mappings":";;AAAA,uDAW2B;AAE3B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,8CAA4B,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,MAAM,CAAC,wCAAsB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,CAAC,6CAA2B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxD,MAAM,CAAC,8CAA4B,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,MAAM,CAAC,qCAAmB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClD,MAAM,CAAC,sCAAoB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,CAAC,8CAA4B,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7D,MAAM,CAAC,+CAA6B,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/D,MAAM,CAAC,kDAAgC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrE,MAAM,CAAC,oDAAkC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CCAP_MessagingRouter_ControlService = exports.CCAP_MessagingOutputType = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const nts_dynamo_1 = require("@futdevpro/nts-dynamo");
6
+ const ccap_messaging_provider_name_type_enum_1 = require("../../_enums/ccap-messaging-provider-name.type-enum");
7
+ const ccap_channel_identifier_interface_1 = require("../../_models/interfaces/ccap-channel-identifier.interface");
8
+ const session_data_service_1 = require("../session/session.data-service");
9
+ const messaging_const_1 = require("./_collections/messaging.const");
10
+ /**
11
+ * Messaging output típus.
12
+ */
13
+ var CCAP_MessagingOutputType;
14
+ (function (CCAP_MessagingOutputType) {
15
+ CCAP_MessagingOutputType["answer"] = "answer";
16
+ CCAP_MessagingOutputType["notifyUser"] = "notify-user";
17
+ CCAP_MessagingOutputType["agentEvents"] = "agent-events";
18
+ })(CCAP_MessagingOutputType || (exports.CCAP_MessagingOutputType = CCAP_MessagingOutputType = {}));
19
+ /**
20
+ * Messaging router control-service.
21
+ *
22
+ * Session Manager szerepe (REQ-MSG-001..003): bejövő trigger → getSessionByChannelId
23
+ * (vagy createNewSession), addChannelToSession (REST path-nál), handler delegálás.
24
+ * NEW_USER_MSG (REQ-MSG-007): channel + message → session ID (új vagy meglévő) → run flow.
25
+ * Kimenetek (ANSWER, NOTIFY_USER, AGENT_EVENTS) routeOutput-tal minden session channel-re.
26
+ * Mimic (REQ-MSG-008): user message replikálása más channel-ekre (nem forrás, nem CCAP);
27
+ * válasz minden channel-re a routeOutput miatt.
28
+ */
29
+ class CCAP_MessagingRouter_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
30
+ static getInstance() {
31
+ return CCAP_MessagingRouter_ControlService.getSingletonInstance();
32
+ }
33
+ /** Regisztrált messaging provider-ek. */
34
+ providers = new Map();
35
+ /** NEW_USER_MSG callback – a run flow-ba delegálás (Phase 05 köti be). */
36
+ newUserMessageHandler;
37
+ /**
38
+ * Provider regisztrálása a router-be.
39
+ */
40
+ registerProvider(provider) {
41
+ const providerName = provider.getProviderName();
42
+ this.providers.set(providerName, provider);
43
+ // Bejövő üzenet listener beállítása
44
+ provider.onMessage(async (params) => {
45
+ await this.handleNewUserMessage({
46
+ message: params.content,
47
+ providerName: providerName,
48
+ channelId: params.channelId,
49
+ });
50
+ });
51
+ fsm_dynamo_1.DyFM_Log.success(`CCAP_MessagingRouter | Provider registered: ${providerName}`);
52
+ }
53
+ /**
54
+ * NEW_USER_MSG handler beállítása (Phase 05 run flow köti be).
55
+ */
56
+ setNewUserMessageHandler(handler) {
57
+ this.newUserMessageHandler = handler;
58
+ }
59
+ /**
60
+ * REST-originated új üzenet: sessionId ismert (URL param).
61
+ * Channel összerakás (ccapClient + sessionId), session channel ensure
62
+ * (hogy a finalization routeOutput tudjon küldeni), majd handler meghívása.
63
+ */
64
+ async handleNewUserMessageForSession(params) {
65
+ const channel = {
66
+ providerName: ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.ccapClient,
67
+ channelId: params.sessionId,
68
+ };
69
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_MessagingRouter | NEW_USER_MSG (REST)`
70
+ + ` | session: ${params.sessionId}`);
71
+ // REST path: biztosítjuk, hogy a sessionnek legyen ccapClient channel-je
72
+ // (routeOutput a finalization-ben így tud kézbesíteni)
73
+ const sessionDS = new session_data_service_1.CCAP_Session_DataService({
74
+ issuer: 'messaging-router',
75
+ });
76
+ await sessionDS.addChannelToSession({
77
+ sessionId: params.sessionId,
78
+ channel: channel,
79
+ });
80
+ if (this.newUserMessageHandler) {
81
+ await this.newUserMessageHandler({
82
+ sessionId: params.sessionId,
83
+ message: params.message,
84
+ channel: channel,
85
+ isNewSession: false,
86
+ });
87
+ }
88
+ else {
89
+ fsm_dynamo_1.DyFM_Log.testInfo('CCAP_MessagingRouter | No handler registered'
90
+ + ' (Phase 05 not yet connected)');
91
+ }
92
+ }
93
+ /**
94
+ * NEW_USER_MSG feldolgozás: bármely provider-ről érkező üzenet kezelése.
95
+ * Session lookup (CREATE_NEW_SESSION vagy UPDATE_EXISTING_SESSION) → mimic → handler delegálás.
96
+ * Visszaadja a sessionId-t (REST 202 válaszhoz, pl. CLI polling).
97
+ */
98
+ async handleNewUserMessage(params) {
99
+ try {
100
+ const channel = {
101
+ providerName: params.providerName,
102
+ channelId: params.channelId,
103
+ };
104
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_MessagingRouter | NEW_USER_MSG`
105
+ + ` | channel: ${(0, ccap_channel_identifier_interface_1.buildCompositeChannelId)(channel)}`);
106
+ const sessionDS = new session_data_service_1.CCAP_Session_DataService({
107
+ issuer: 'messaging-router',
108
+ });
109
+ const existingSession = await sessionDS.getSessionByChannelId(channel);
110
+ let sessionId;
111
+ let isNewSession;
112
+ if (existingSession?._id) {
113
+ sessionId = existingSession._id;
114
+ isNewSession = false;
115
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_MessagingRouter | Existing session: ${sessionId}`);
116
+ }
117
+ else {
118
+ const newSession = await sessionDS.createNewSession({
119
+ sourceChannel: channel,
120
+ firstMessage: params.message,
121
+ });
122
+ sessionId = newSession._id ?? '';
123
+ isNewSession = true;
124
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_MessagingRouter | New session created: ${sessionId}`);
125
+ }
126
+ if (existingSession) {
127
+ await this.mimicMessage({
128
+ session: existingSession,
129
+ sourceProviderName: params.providerName,
130
+ content: params.message,
131
+ });
132
+ }
133
+ if (this.newUserMessageHandler) {
134
+ this.newUserMessageHandler({
135
+ sessionId: sessionId,
136
+ message: params.message,
137
+ channel: channel,
138
+ isNewSession: isNewSession,
139
+ }).catch((err) => {
140
+ fsm_dynamo_1.DyFM_Log.error('CCAP_MessagingRouter | Run flow handler failed', err);
141
+ });
142
+ }
143
+ else {
144
+ fsm_dynamo_1.DyFM_Log.testInfo('CCAP_MessagingRouter | No handler registered'
145
+ + ' (Phase 05 not yet connected)');
146
+ }
147
+ return { sessionId: sessionId, isNewSession: isNewSession };
148
+ }
149
+ catch (error) {
150
+ fsm_dynamo_1.DyFM_Log.error('CCAP_MessagingRouter | Failed to handle new user message', error);
151
+ return undefined;
152
+ }
153
+ }
154
+ /**
155
+ * Kimenet irányítása a session multichannel provider-eire.
156
+ * ANSWER, NOTIFY_USER, AGENT_EVENTS küldés a megfelelő channel-ekre.
157
+ * runId: ANSWER-nál a client számára (üzenet–run kapcsolat).
158
+ */
159
+ async routeOutput(params) {
160
+ try {
161
+ // Session lekérése a channel-ek meghatározásához
162
+ const sessionDS = new session_data_service_1.CCAP_Session_DataService({
163
+ issuer: 'messaging-router',
164
+ });
165
+ const session = await sessionDS.getSession(params.sessionId);
166
+ if (!session.channels?.length) {
167
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_MessagingRouter | No channels for session: ${params.sessionId}`);
168
+ return;
169
+ }
170
+ // Üzenet küldés minden regisztrált channel-re
171
+ for (const channel of session.channels) {
172
+ const provider = this.providers.get(channel.providerName);
173
+ if (provider) {
174
+ await provider.sendMessage({
175
+ channelId: channel.channelId,
176
+ content: params.content,
177
+ runId: params.runId,
178
+ });
179
+ }
180
+ }
181
+ }
182
+ catch (error) {
183
+ fsm_dynamo_1.DyFM_Log.error('CCAP_MessagingRouter | Failed to route output', error);
184
+ }
185
+ }
186
+ /**
187
+ * Mimic (REQ-MSG-008): user message replikálása más channel-eken.
188
+ * Nem forrás és nem CCAP channel-re; végtelen ciklus elkerülés.
189
+ */
190
+ async mimicMessage(params) {
191
+ if (!params.session.channels?.length) {
192
+ return;
193
+ }
194
+ for (const channel of params.session.channels) {
195
+ // Nem forrás és nem CCAP channel-re mimic-elünk
196
+ const isSource = channel.providerName === params.sourceProviderName;
197
+ const isCcap = channel.providerName === ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.ccapClient;
198
+ if (isSource || isCcap) {
199
+ continue;
200
+ }
201
+ const provider = this.providers.get(channel.providerName);
202
+ if (provider) {
203
+ try {
204
+ await provider.sendMessage({
205
+ channelId: channel.channelId,
206
+ content: `${messaging_const_1.MIMIC_MESSAGE_PREFIX}${params.content}`,
207
+ });
208
+ }
209
+ catch (error) {
210
+ fsm_dynamo_1.DyFM_Log.error(`CCAP_MessagingRouter | Mimic failed`
211
+ + ` | channel: ${(0, ccap_channel_identifier_interface_1.buildCompositeChannelId)(channel)}`, error);
212
+ }
213
+ }
214
+ }
215
+ }
216
+ /**
217
+ * Provider lekérése név alapján.
218
+ */
219
+ getProvider(providerName) {
220
+ return this.providers.get(providerName);
221
+ }
222
+ }
223
+ exports.CCAP_MessagingRouter_ControlService = CCAP_MessagingRouter_ControlService;
224
+ //# sourceMappingURL=messaging-router.control-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging-router.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/messaging/messaging-router.control-service.ts"],"names":[],"mappings":"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"}