@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,231 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CCAP_AgenticLoop_ControlService = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const ccap_llm_call_type_type_enum_1 = require("../../_enums/ccap-llm-call-type.type-enum");
6
+ const ccap_monitoring_event_type_enum_1 = require("../../_enums/ccap-monitoring-event.type-enum");
7
+ const ccap_run_action_type_enum_1 = require("../../_enums/ccap-run-action.type-enum");
8
+ const agent_const_1 = require("../../_collections/consts/agent.const");
9
+ const llm_control_service_1 = require("../llm/llm.control-service");
10
+ const system_prompt_data_service_1 = require("../llm/system-prompt.data-service");
11
+ const agentic_loop_prompt_template_1 = require("../llm/_collections/prompt-templates/agentic-loop.prompt-template");
12
+ const monitoring_data_service_1 = require("../monitoring/monitoring.data-service");
13
+ const conversation_data_service_1 = require("../session/conversation.data-service");
14
+ const tools_in_context_util_service_1 = require("../tools/tools-in-context.util-service");
15
+ const execution_history_control_service_1 = require("./history/execution-history.control-service");
16
+ const tool_calling_control_service_1 = require("./tool-calling.control-service");
17
+ /**
18
+ * Agentic loop control-service.
19
+ * A központi iterációs ciklus: LLM decision -> action routing -> next iteration.
20
+ */
21
+ class CCAP_AgenticLoop_ControlService {
22
+ monitoringService = monitoring_data_service_1.CCAP_Monitoring_DataService.getInstance();
23
+ toolCallingService = new tool_calling_control_service_1.CCAP_ToolCalling_ControlService();
24
+ /**
25
+ * Fő iterációs ciklus futtatása.
26
+ * While: action != RESULT és iterationCount < MAX_CAP.
27
+ */
28
+ async runLoop(params) {
29
+ let iterationCount = 0;
30
+ let lastDecision;
31
+ // Az aktív conversation üzenetek (az LLM-nek küldött üzenetek)
32
+ const conversationMessages = [...params.initialMessages];
33
+ // System prompt összeállítás az agentic loop-hoz
34
+ const systemPromptDS = new system_prompt_data_service_1.CCAP_SystemPrompt_DataService();
35
+ const baseSystemPrompt = systemPromptDS.buildSystemPrompt({ includeContracts: true });
36
+ // Teljes system prompt: alap + agentic loop extension
37
+ const fullSystemPrompt = baseSystemPrompt + '\n\n' + agentic_loop_prompt_template_1.AGENTIC_LOOP_SYSTEM_PROMPT_EXTENSION;
38
+ // Tools in context összeállítás
39
+ const toolsContext = tools_in_context_util_service_1.CCAP_ToolsInContext_UtilService.formatToolsForPrompt(tools_in_context_util_service_1.CCAP_ToolsInContext_UtilService.buildToolsInContext(params.sessionId));
40
+ // Iterációs ciklus
41
+ while (iterationCount < agent_const_1.MAX_AGENT_LOOP_ITERATION_CAP) {
42
+ const iterationStartTime = Date.now();
43
+ // User prompt: első iteráció vs következő iterációk
44
+ const userPromptTemplate = iterationCount === 0
45
+ ? agentic_loop_prompt_template_1.AGENTIC_LOOP_FIRST_ITERATION_USER_PROMPT_TEMPLATE
46
+ : agentic_loop_prompt_template_1.AGENTIC_LOOP_NEXT_ITERATION_USER_PROMPT_TEMPLATE;
47
+ const userPrompt = userPromptTemplate
48
+ .replace('{RUN_INTENT}', params.runIntent)
49
+ .replace('{RUN_GOAL}', params.runGoal)
50
+ .replace('{ALLOWED_TOOLS}', toolsContext)
51
+ .replace('{ALLOWED_GROUPS}', '(use tool handling to search)');
52
+ // LLM hívás
53
+ const llmService = llm_control_service_1.CCAP_Llm_ControlService.getInstance();
54
+ const llmResponse = await llmService.callLlm({
55
+ sessionId: params.sessionId,
56
+ callType: ccap_llm_call_type_type_enum_1.CCAP_LlmCallType_Type.agenticLoop,
57
+ systemPrompt: fullSystemPrompt,
58
+ messages: [
59
+ ...conversationMessages,
60
+ { role: 'user', content: userPrompt },
61
+ ],
62
+ options: { responseFormat: 'json' },
63
+ });
64
+ // Decision JSON parse
65
+ const decision = this.parseDecision(llmResponse.content);
66
+ lastDecision = decision;
67
+ iterationCount++;
68
+ // Monitoring event: iteráció
69
+ this.monitoringService.recordEvent({
70
+ eventType: ccap_monitoring_event_type_enum_1.CCAP_MonitoringEvent_Type.step,
71
+ sessionId: params.sessionId,
72
+ runId: params.runId,
73
+ data: {
74
+ step: 'agentic-loop-iteration',
75
+ iteration: iterationCount,
76
+ action: decision.action,
77
+ intent: decision.intent,
78
+ tool: decision.tool,
79
+ toolGroup: decision.toolGroup,
80
+ },
81
+ durationMs: Date.now() - iterationStartTime,
82
+ status: 'success',
83
+ });
84
+ // agentFeedbackToUser -> conversation-be (assistant üzenetként)
85
+ if (decision.agentFeedbackToUser) {
86
+ const conversationDS = new conversation_data_service_1.CCAP_Conversation_DataService();
87
+ await conversationDS.updateConversations({
88
+ sessionId: params.sessionId,
89
+ newMessages: [{
90
+ role: 'assistant',
91
+ content: decision.agentFeedbackToUser,
92
+ timestamp: new Date(),
93
+ }],
94
+ issuer: 'agentic-loop',
95
+ });
96
+ }
97
+ // Action routing
98
+ if (decision.action === ccap_run_action_type_enum_1.CCAP_RunAction_Type.result) {
99
+ // RESULT: ciklus vége
100
+ fsm_dynamo_1.DyFM_Log.success(`CCAP_AgenticLoop | RESULT after ${iterationCount} iterations`);
101
+ break;
102
+ }
103
+ if (decision.action === ccap_run_action_type_enum_1.CCAP_RunAction_Type.toolSelect) {
104
+ // Több tool call egy decision-ben (toolCalls tömb) vagy egyetlen tool
105
+ if (decision.toolCalls?.length) {
106
+ for (const toolCall of decision.toolCalls) {
107
+ const toolResult = await this.toolCallingService.handleToolSelect({
108
+ sessionId: params.sessionId,
109
+ runId: params.runId,
110
+ toolId: toolCall.toolId,
111
+ intent: decision.intent,
112
+ conversationMessages: conversationMessages,
113
+ runIntent: params.runIntent,
114
+ runGoal: params.runGoal,
115
+ });
116
+ const toolResultContent = `[Tool Result: ${toolResult.toolId}]\n${toolResult.result.content}`;
117
+ conversationMessages.push({
118
+ role: 'assistant',
119
+ content: toolResultContent,
120
+ });
121
+ const execHistory = new execution_history_control_service_1.CCAP_ExecutionHistory_ControlService();
122
+ execHistory.addRawExecutionMessage({
123
+ sessionId: params.sessionId,
124
+ runId: params.runId,
125
+ message: {
126
+ role: 'assistant',
127
+ content: toolResultContent,
128
+ },
129
+ });
130
+ }
131
+ }
132
+ else if (decision.tool) {
133
+ const toolResult = await this.toolCallingService.handleToolSelect({
134
+ sessionId: params.sessionId,
135
+ runId: params.runId,
136
+ toolId: decision.tool,
137
+ intent: decision.intent,
138
+ conversationMessages: conversationMessages,
139
+ runIntent: params.runIntent,
140
+ runGoal: params.runGoal,
141
+ });
142
+ const toolResultContent = `[Tool Result: ${toolResult.toolId}]\n${toolResult.result.content}`;
143
+ conversationMessages.push({
144
+ role: 'assistant',
145
+ content: toolResultContent,
146
+ });
147
+ const execHistory = new execution_history_control_service_1.CCAP_ExecutionHistory_ControlService();
148
+ execHistory.addRawExecutionMessage({
149
+ sessionId: params.sessionId,
150
+ runId: params.runId,
151
+ message: {
152
+ role: 'assistant',
153
+ content: toolResultContent,
154
+ },
155
+ });
156
+ }
157
+ }
158
+ if (decision.action === ccap_run_action_type_enum_1.CCAP_RunAction_Type.toolGroupOpen && decision.toolGroup) {
159
+ // TOOL_GROUP_OPEN -> UPDATE_CONTEXT
160
+ this.toolCallingService.handleToolGroupOpen({
161
+ sessionId: params.sessionId,
162
+ groupId: decision.toolGroup,
163
+ });
164
+ }
165
+ if (decision.action === ccap_run_action_type_enum_1.CCAP_RunAction_Type.contextHandling) {
166
+ // CONTEXT_HANDLING -> pin/open/close
167
+ this.toolCallingService.handleContextHandling({
168
+ sessionId: params.sessionId,
169
+ pinContextKeys: decision.pinContextKeys,
170
+ openContextKeys: decision.openContextKeys,
171
+ closeContextKeys: decision.closeContextKeys,
172
+ });
173
+ }
174
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_AgenticLoop | Iteration ${iterationCount}`
175
+ + ` | action: ${decision.action}`
176
+ + ` | intent: ${decision.intent}`);
177
+ }
178
+ // Max iteration elérve?
179
+ const reachedMax = iterationCount >= agent_const_1.MAX_AGENT_LOOP_ITERATION_CAP
180
+ && lastDecision?.action !== ccap_run_action_type_enum_1.CCAP_RunAction_Type.result;
181
+ if (reachedMax) {
182
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_AgenticLoop | MAX_ITERATIONS reached (${agent_const_1.MAX_AGENT_LOOP_ITERATION_CAP})`);
183
+ }
184
+ // Fallback decision ha nincs lastDecision
185
+ const finalDecision = lastDecision ?? {
186
+ action: ccap_run_action_type_enum_1.CCAP_RunAction_Type.result,
187
+ intent: 'max-iterations-reached',
188
+ agentFeedbackToUser: 'Maximum iterations reached. Please refine your request.',
189
+ };
190
+ return {
191
+ finalDecision: finalDecision,
192
+ iterationCount: iterationCount,
193
+ reachedMaxIterations: reachedMax,
194
+ };
195
+ }
196
+ /**
197
+ * Decision JSON parse.
198
+ */
199
+ parseDecision(content) {
200
+ try {
201
+ const parsed = JSON.parse(content);
202
+ // Action normalizálás
203
+ const actionMap = {
204
+ 'RESULT': ccap_run_action_type_enum_1.CCAP_RunAction_Type.result,
205
+ 'TOOL_SELECT': ccap_run_action_type_enum_1.CCAP_RunAction_Type.toolSelect,
206
+ 'TOOL_GROUP_OPEN': ccap_run_action_type_enum_1.CCAP_RunAction_Type.toolGroupOpen,
207
+ 'CONTEXT_HANDLING': ccap_run_action_type_enum_1.CCAP_RunAction_Type.contextHandling,
208
+ 'result': ccap_run_action_type_enum_1.CCAP_RunAction_Type.result,
209
+ 'tool-select': ccap_run_action_type_enum_1.CCAP_RunAction_Type.toolSelect,
210
+ 'tool-group-open': ccap_run_action_type_enum_1.CCAP_RunAction_Type.toolGroupOpen,
211
+ 'context-handling': ccap_run_action_type_enum_1.CCAP_RunAction_Type.contextHandling,
212
+ };
213
+ const normalizedAction = actionMap[parsed.action] ?? ccap_run_action_type_enum_1.CCAP_RunAction_Type.result;
214
+ return {
215
+ ...parsed,
216
+ action: normalizedAction,
217
+ };
218
+ }
219
+ catch (error) {
220
+ fsm_dynamo_1.DyFM_Log.error('CCAP_AgenticLoop | Failed to parse decision JSON', error);
221
+ // Fallback: RESULT
222
+ return {
223
+ action: ccap_run_action_type_enum_1.CCAP_RunAction_Type.result,
224
+ intent: 'parse-error-fallback',
225
+ agentFeedbackToUser: content || 'An error occurred.',
226
+ };
227
+ }
228
+ }
229
+ }
230
+ exports.CCAP_AgenticLoop_ControlService = CCAP_AgenticLoop_ControlService;
231
+ //# sourceMappingURL=agentic-loop.control-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentic-loop.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/agent/agentic-loop.control-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CCAP_Analyze_ControlService = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const ccap_llm_call_type_type_enum_1 = require("../../_enums/ccap-llm-call-type.type-enum");
6
+ const ccap_monitoring_event_type_enum_1 = require("../../_enums/ccap-monitoring-event.type-enum");
7
+ const ccap_run_status_type_enum_1 = require("../../_enums/ccap-run-status.type-enum");
8
+ const analyze_prompt_template_1 = require("../llm/_collections/prompt-templates/analyze.prompt-template");
9
+ const ccap_analyze_cancelled_error_1 = require("../error-handling/ccap-analyze-cancelled.error");
10
+ const llm_control_service_1 = require("../llm/llm.control-service");
11
+ const monitoring_data_service_1 = require("../monitoring/monitoring.data-service");
12
+ const session_data_service_1 = require("../session/session.data-service");
13
+ const run_data_service_1 = require("./run.data-service");
14
+ const new_user_message_handling_control_service_1 = require("./new-user-message-handling.control-service");
15
+ /**
16
+ * Analyze control-service.
17
+ * ANALYZE_NEW_SESSION és ANALYZE_EXISTING_SESSION LLM hívások
18
+ * a session/run intent és goal meghatározásához.
19
+ */
20
+ class CCAP_Analyze_ControlService {
21
+ /** Monitoring service. */
22
+ monitoringService = monitoring_data_service_1.CCAP_Monitoring_DataService.getInstance();
23
+ /**
24
+ * ANALYZE_NEW_SESSION: új session esetén intent/goal meghatározás.
25
+ * LLM hívás → JSON parse → session defineNewSession.
26
+ */
27
+ async analyzeNewSession(params) {
28
+ try {
29
+ // Run status: analyzing
30
+ const runDS = new run_data_service_1.CCAP_Run_DataService({
31
+ issuer: 'analyze',
32
+ });
33
+ await runDS.updateRunStatus({
34
+ runId: params.runId,
35
+ status: ccap_run_status_type_enum_1.CCAP_RunStatus_Type.analyzing,
36
+ });
37
+ // User prompt összeállítás a template-ből
38
+ const userPrompt = analyze_prompt_template_1.ANALYZE_NEW_SESSION_USER_PROMPT_TEMPLATE
39
+ .replace('{NEW_USER_MSG}', params.newUserMessage);
40
+ // LLM hívás
41
+ const llmService = llm_control_service_1.CCAP_Llm_ControlService.getInstance();
42
+ const llmResponse = await llmService.callLlm({
43
+ sessionId: params.sessionId,
44
+ callType: ccap_llm_call_type_type_enum_1.CCAP_LlmCallType_Type.analyze,
45
+ systemPrompt: analyze_prompt_template_1.ANALYZE_NEW_SESSION_SYSTEM_PROMPT,
46
+ messages: [{ role: 'user', content: userPrompt }],
47
+ options: { responseFormat: 'json' },
48
+ });
49
+ // REQ-RUN-021: analyze közben érkezett új üzenet → cancel, run-flow újraindít merge-el
50
+ const newMsgHandling = new_user_message_handling_control_service_1.CCAP_NewUserMessageHandling_ControlService.getInstance();
51
+ if (newMsgHandling.isAnalyzeCancelled(params.sessionId)) {
52
+ newMsgHandling.clearAnalyzeCancelToken(params.sessionId);
53
+ throw new ccap_analyze_cancelled_error_1.CCAP_AnalyzeCancelled_Error();
54
+ }
55
+ // JSON parse
56
+ const analyzeResult = JSON.parse(llmResponse.content);
57
+ // DEFINE_NEW_SESSION: session intent/goal beállítás
58
+ const sessionDS = new session_data_service_1.CCAP_Session_DataService({ issuer: 'analyze' });
59
+ await sessionDS.defineNewSession({
60
+ sessionId: params.sessionId,
61
+ sessionIntent: analyzeResult.sessionIntent,
62
+ sessionGoal: analyzeResult.sessionGoal,
63
+ });
64
+ // Run intent/goal frissítés
65
+ await runDS.getDataById(params.runId);
66
+ if (runDS.data) {
67
+ runDS.data.runIntent = analyzeResult.runIntent;
68
+ runDS.data.runGoal = analyzeResult.runGoal;
69
+ await runDS.saveData();
70
+ }
71
+ // Monitoring event
72
+ this.monitoringService.recordEvent({
73
+ eventType: ccap_monitoring_event_type_enum_1.CCAP_MonitoringEvent_Type.step,
74
+ sessionId: params.sessionId,
75
+ runId: params.runId,
76
+ data: {
77
+ step: 'analyze-new-session',
78
+ sessionIntent: analyzeResult.sessionIntent,
79
+ runIntent: analyzeResult.runIntent,
80
+ },
81
+ status: 'success',
82
+ });
83
+ fsm_dynamo_1.DyFM_Log.success(`CCAP_Analyze | NEW_SESSION`
84
+ + ` | intent: ${analyzeResult.sessionIntent}`
85
+ + ` | runGoal: ${analyzeResult.runGoal}`);
86
+ return analyzeResult;
87
+ }
88
+ catch (error) {
89
+ fsm_dynamo_1.DyFM_Log.error('CCAP_Analyze | NEW_SESSION failed', error);
90
+ throw new fsm_dynamo_1.DyFM_Error({
91
+ message: 'ANALYZE_NEW_SESSION failed',
92
+ errorCode: 'CCAP-ANL-NS0',
93
+ error: error,
94
+ });
95
+ }
96
+ }
97
+ /**
98
+ * ANALYZE_EXISTING_SESSION: meglévő session folytatása.
99
+ * LLM hívás → JSON parse → session update (ha intent/goal változott).
100
+ */
101
+ async analyzeExistingSession(params) {
102
+ try {
103
+ // Run status: analyzing
104
+ const runDS = new run_data_service_1.CCAP_Run_DataService({
105
+ issuer: 'analyze',
106
+ });
107
+ await runDS.updateRunStatus({
108
+ runId: params.runId,
109
+ status: ccap_run_status_type_enum_1.CCAP_RunStatus_Type.analyzing,
110
+ });
111
+ // User prompt összeállítás a template-ből
112
+ const userPrompt = analyze_prompt_template_1.ANALYZE_EXISTING_SESSION_USER_PROMPT_TEMPLATE
113
+ .replace('{CURRENT_SESSION_INTENT}', params.currentSession.sessionIntent ?? '')
114
+ .replace('{CURRENT_SESSION_GOAL}', params.currentSession.sessionGoal ?? '')
115
+ .replace('{LAST_RUN_INTENT}', '')
116
+ .replace('{LAST_RUN_GOAL}', '')
117
+ .replace('{NEW_USER_MSG}', params.newUserMessage);
118
+ // LLM hívás
119
+ const llmService = llm_control_service_1.CCAP_Llm_ControlService.getInstance();
120
+ const llmResponse = await llmService.callLlm({
121
+ sessionId: params.sessionId,
122
+ callType: ccap_llm_call_type_type_enum_1.CCAP_LlmCallType_Type.analyze,
123
+ systemPrompt: analyze_prompt_template_1.ANALYZE_EXISTING_SESSION_SYSTEM_PROMPT,
124
+ messages: [{ role: 'user', content: userPrompt }],
125
+ options: { responseFormat: 'json' },
126
+ });
127
+ // REQ-RUN-021: analyze közben érkezett új üzenet → cancel, run-flow újraindít merge-el
128
+ const newMsgHandling = new_user_message_handling_control_service_1.CCAP_NewUserMessageHandling_ControlService.getInstance();
129
+ if (newMsgHandling.isAnalyzeCancelled(params.sessionId)) {
130
+ newMsgHandling.clearAnalyzeCancelToken(params.sessionId);
131
+ throw new ccap_analyze_cancelled_error_1.CCAP_AnalyzeCancelled_Error();
132
+ }
133
+ // JSON parse
134
+ const analyzeResult = JSON.parse(llmResponse.content);
135
+ // Session frissítés ha intent/goal változott
136
+ if (analyzeResult.sessionIntentChanged || analyzeResult.sessionGoalChanged) {
137
+ const sessionDS = new session_data_service_1.CCAP_Session_DataService({ issuer: 'analyze' });
138
+ const updates = {};
139
+ if (analyzeResult.sessionIntentChanged) {
140
+ updates.sessionIntent = analyzeResult.newSessionIntent;
141
+ }
142
+ if (analyzeResult.sessionGoalChanged) {
143
+ updates.sessionGoal = analyzeResult.newSessionGoal;
144
+ }
145
+ await sessionDS.updateExistingSession({
146
+ sessionId: params.sessionId,
147
+ updates: updates,
148
+ });
149
+ }
150
+ // Run intent/goal frissítés (ha startNewRun)
151
+ if (analyzeResult.startNewRun) {
152
+ await runDS.getDataById(params.runId);
153
+ if (runDS.data) {
154
+ runDS.data.runIntent = analyzeResult.runIntent;
155
+ runDS.data.runGoal = analyzeResult.runGoal;
156
+ await runDS.saveData();
157
+ }
158
+ }
159
+ // Monitoring event
160
+ this.monitoringService.recordEvent({
161
+ eventType: ccap_monitoring_event_type_enum_1.CCAP_MonitoringEvent_Type.step,
162
+ sessionId: params.sessionId,
163
+ runId: params.runId,
164
+ data: {
165
+ step: 'analyze-existing-session',
166
+ startNewRun: analyzeResult.startNewRun,
167
+ intentChanged: analyzeResult.sessionIntentChanged,
168
+ goalChanged: analyzeResult.sessionGoalChanged,
169
+ runIntent: analyzeResult.runIntent,
170
+ },
171
+ status: 'success',
172
+ });
173
+ fsm_dynamo_1.DyFM_Log.success(`CCAP_Analyze | EXISTING_SESSION`
174
+ + ` | startNewRun: ${analyzeResult.startNewRun}`
175
+ + ` | runIntent: ${analyzeResult.runIntent}`);
176
+ return analyzeResult;
177
+ }
178
+ catch (error) {
179
+ fsm_dynamo_1.DyFM_Log.error('CCAP_Analyze | EXISTING_SESSION failed', error);
180
+ throw new fsm_dynamo_1.DyFM_Error({
181
+ message: 'ANALYZE_EXISTING_SESSION failed',
182
+ errorCode: 'CCAP-ANL-ES0',
183
+ error: error,
184
+ });
185
+ }
186
+ }
187
+ }
188
+ exports.CCAP_Analyze_ControlService = CCAP_Analyze_ControlService;
189
+ //# sourceMappingURL=analyze.control-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/agent/analyze.control-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CCAP_AssembleConversation_ControlService = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const ccap_monitoring_event_type_enum_1 = require("../../_enums/ccap-monitoring-event.type-enum");
6
+ const ccap_run_status_type_enum_1 = require("../../_enums/ccap-run-status.type-enum");
7
+ const context_management_control_service_1 = require("../context/context-management.control-service");
8
+ const common_context_data_service_1 = require("../context/common-context.data-service");
9
+ const session_info_context_data_service_1 = require("../context/session-info-context.data-service");
10
+ const ccap_context_key_source_type_enum_1 = require("../../_enums/ccap-context-key-source.type-enum");
11
+ const default_path_util_service_1 = require("../default-path/default-path.util-service");
12
+ const soul_file_util_service_1 = require("../default-path/soul-file.util-service");
13
+ const llm_control_service_1 = require("../llm/llm.control-service");
14
+ const system_prompt_data_service_1 = require("../llm/system-prompt.data-service");
15
+ const monitoring_data_service_1 = require("../monitoring/monitoring.data-service");
16
+ const session_data_service_1 = require("../session/session.data-service");
17
+ const run_data_service_1 = require("./run.data-service");
18
+ const chat_history_control_service_1 = require("./history/chat-history.control-service");
19
+ const execution_history_control_service_1 = require("./history/execution-history.control-service");
20
+ const conversation_full_active_compacting_control_service_1 = require("./compacting/conversation-full-active-compacting.control-service");
21
+ const compacting_const_1 = require("./compacting/_collections/compacting.const");
22
+ const tools_in_context_util_service_1 = require("../tools/tools-in-context.util-service");
23
+ /**
24
+ * Assemble conversation control-service.
25
+ * A run induló conversation (message list) összeállítása:
26
+ * [SYSTEM_PROMPT] (SOUL + handling rules + CONTEXT + HISTORY + EXECUTION + TOOLS) + raw chat + raw exec + NEW_USER_MSG.
27
+ * Contract data a system prompt-ba injektálva (Phase 2.07). Ha túl hosszú: compacting loop, majd újraépítés.
28
+ */
29
+ class CCAP_AssembleConversation_ControlService {
30
+ /** Monitoring service. */
31
+ monitoringService = monitoring_data_service_1.CCAP_Monitoring_DataService.getInstance();
32
+ /**
33
+ * A run induló CONVERSATION_ACTIVE összeállítása.
34
+ * Forrás: getChatHistory + getExecutionHistory (nem csak getConversationActive).
35
+ * Ha becsült token > 0.9 × contextWindow: runCompactingLoop, majd újraépítés.
36
+ * Kimenet: message list az execution-hoz, és opcionálisan panicTriggered (Notify User).
37
+ */
38
+ async assembleRunInitialConversationActive(params) {
39
+ const runDS = new run_data_service_1.CCAP_Run_DataService({
40
+ issuer: 'assemble',
41
+ });
42
+ await runDS.updateRunStatus({
43
+ runId: params.runId,
44
+ status: ccap_run_status_type_enum_1.CCAP_RunStatus_Type.assembling,
45
+ });
46
+ // Első összeállítás: system + chat history + execution history + context + newUserMessage
47
+ const firstBuild = await this.buildMessageList({
48
+ sessionId: params.sessionId,
49
+ runId: params.runId,
50
+ newUserMessage: params.newUserMessage,
51
+ });
52
+ const totalContentLength = firstBuild.reduce((sum, msg) => sum + msg.content.length, 0);
53
+ const llmService = llm_control_service_1.CCAP_Llm_ControlService.getInstance();
54
+ const contextWindowSize = llmService.getContextWindowSize(params.sessionId);
55
+ const thresholdChars = contextWindowSize * compacting_const_1.CHARS_PER_TOKEN_ESTIMATE * 0.9;
56
+ let panicTriggered = false;
57
+ if (totalContentLength > thresholdChars) {
58
+ const systemPromptLength = firstBuild[0]?.content?.length ?? 0;
59
+ const userPromptSize = params.newUserMessage.length;
60
+ const currentSizeChars = totalContentLength - systemPromptLength - userPromptSize;
61
+ const compactingService = new conversation_full_active_compacting_control_service_1.CCAP_ConversationFullActiveCompacting_ControlService();
62
+ const loopResult = await compactingService.runCompactingLoop({
63
+ sessionId: params.sessionId,
64
+ runId: params.runId,
65
+ currentSizeChars: currentSizeChars,
66
+ contextWindowTokens: contextWindowSize,
67
+ systemPromptSize: systemPromptLength,
68
+ userPromptSize: userPromptSize,
69
+ });
70
+ panicTriggered = loopResult.panicTriggered;
71
+ fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_Assemble | Compacting loop finished`
72
+ + ` | iterations: ${loopResult.iterationCount}`
73
+ + ` | panic: ${panicTriggered}`);
74
+ }
75
+ // Újraépítés (compacting után getChatHistory/getExecutionHistory frissített tartalmat ad)
76
+ const messages = await this.buildMessageList({
77
+ sessionId: params.sessionId,
78
+ runId: params.runId,
79
+ newUserMessage: params.newUserMessage,
80
+ });
81
+ const estimatedTokens = Math.ceil(messages.reduce((s, m) => s + m.content.length, 0) / compacting_const_1.CHARS_PER_TOKEN_ESTIMATE);
82
+ this.monitoringService.recordEvent({
83
+ eventType: ccap_monitoring_event_type_enum_1.CCAP_MonitoringEvent_Type.step,
84
+ sessionId: params.sessionId,
85
+ runId: params.runId,
86
+ data: {
87
+ step: 'assemble-conversation',
88
+ messageCount: messages.length,
89
+ estimatedTokens: estimatedTokens,
90
+ contextWindowSize: contextWindowSize,
91
+ },
92
+ status: 'success',
93
+ });
94
+ fsm_dynamo_1.DyFM_Log.success(`CCAP_Assemble | Conversation assembled`
95
+ + ` | messages: ${messages.length}`
96
+ + ` | ~${estimatedTokens} tokens`);
97
+ return {
98
+ messages: messages,
99
+ panicTriggered: panicTriggered,
100
+ };
101
+ }
102
+ /**
103
+ * Üzenetlista építése: SYSTEM (contracts injektálva) + raw CHAT + raw EXECUTION + NEW_USER_MSG.
104
+ * CONTEXT, HISTORY_SUMMARY, EXECUTION_SUMMARY, TOOLS a system prompt-ban vannak.
105
+ */
106
+ async buildMessageList(params) {
107
+ const messages = [];
108
+ const contextMgmt = context_management_control_service_1.CCAP_ContextManagement_ControlService.getInstance();
109
+ const workingPath = default_path_util_service_1.CCAP_DefaultPath_UtilService.getDefaultPath();
110
+ const soulLoadResult = soul_file_util_service_1.CCAP_SoulFile_UtilService.loadSoulContent(workingPath);
111
+ for (let i = 0; i < soulLoadResult.fileLinkPaths.length; i++) {
112
+ const relPath = soulLoadResult.fileLinkPaths[i];
113
+ const fileContent = soul_file_util_service_1.CCAP_SoulFile_UtilService.readFileUnderBase(workingPath, relPath);
114
+ if (fileContent) {
115
+ const keyName = `soul-file-${i}-${relPath.replace(/[/\\]/g, '-')}`;
116
+ contextMgmt.createNewContext({
117
+ sessionId: params.sessionId,
118
+ key: keyName,
119
+ content: fileContent,
120
+ source: ccap_context_key_source_type_enum_1.CCAP_ContextKeySource_Type.system,
121
+ });
122
+ contextMgmt.openContextKey({
123
+ sessionId: params.sessionId,
124
+ key: keyName,
125
+ });
126
+ }
127
+ }
128
+ const sessionDS = new session_data_service_1.CCAP_Session_DataService({ issuer: 'assemble' });
129
+ const session = await sessionDS.getSession(params.sessionId);
130
+ const runDS = new run_data_service_1.CCAP_Run_DataService({ issuer: 'assemble' });
131
+ await runDS.getDataById(params.runId);
132
+ const runIntent = runDS.data?.runIntent ?? '';
133
+ const runGoal = runDS.data?.runGoal ?? '';
134
+ const runTarget = runDS.data?.runTarget ?? '';
135
+ const sessionInfo = session
136
+ ? session_info_context_data_service_1.CCAP_SessionInfoContext_DataService.buildSessionInfo({
137
+ session: session,
138
+ runIntent: runIntent,
139
+ runGoal: runGoal,
140
+ runTarget: runTarget,
141
+ })
142
+ : undefined;
143
+ const commonContext = common_context_data_service_1.CCAP_CommonContext_DataService.buildCommonContext();
144
+ const contextContent = contextMgmt.buildContextForConversation({
145
+ sessionId: params.sessionId,
146
+ sessionInfo: sessionInfo,
147
+ commonContext: commonContext,
148
+ });
149
+ const chatHistoryService = new chat_history_control_service_1.CCAP_ChatHistory_ControlService();
150
+ const historySummaryContent = chatHistoryService.getHistorySummaryContent(params.sessionId);
151
+ const execHistoryService = new execution_history_control_service_1.CCAP_ExecutionHistory_ControlService();
152
+ const executionSummaryContent = execHistoryService.getExecutionSummaryContent({
153
+ sessionId: params.sessionId,
154
+ runId: params.runId,
155
+ });
156
+ const toolsContent = tools_in_context_util_service_1.CCAP_ToolsInContext_UtilService.formatToolsForPrompt(tools_in_context_util_service_1.CCAP_ToolsInContext_UtilService.buildToolsInContext(params.sessionId));
157
+ const systemPromptDS = new system_prompt_data_service_1.CCAP_SystemPrompt_DataService();
158
+ const compactedSoulContent = session?.compactedSoul?.compactedContent;
159
+ const systemPromptContent = systemPromptDS.buildSystemPrompt({
160
+ includeContracts: true,
161
+ soul: soulLoadResult.content.trim()
162
+ ? soulLoadResult.content
163
+ : undefined,
164
+ compactedSoul: compactedSoulContent,
165
+ contextContent: contextContent && contextContent !== '[CONTEXT]\nNo context available.\n[/CONTEXT]'
166
+ ? contextContent
167
+ : undefined,
168
+ historySummaryContent: historySummaryContent,
169
+ executionSummaryContent: executionSummaryContent,
170
+ toolsContent: toolsContent,
171
+ });
172
+ messages.push({
173
+ role: 'system',
174
+ content: systemPromptContent,
175
+ });
176
+ const rawChat = await chatHistoryService.getChatHistoryRaw({
177
+ sessionId: params.sessionId,
178
+ issuer: 'assemble',
179
+ });
180
+ for (const msg of rawChat) {
181
+ messages.push({
182
+ role: msg.role === 'assistant' ? 'assistant' : 'user',
183
+ content: msg.content,
184
+ });
185
+ }
186
+ const rawExecution = execHistoryService.getExecutionHistoryRaw({
187
+ sessionId: params.sessionId,
188
+ runId: params.runId,
189
+ });
190
+ for (const msg of rawExecution) {
191
+ messages.push({
192
+ role: msg.role === 'assistant' ? 'assistant' : 'user',
193
+ content: msg.content,
194
+ });
195
+ }
196
+ messages.push({
197
+ role: 'user',
198
+ content: params.newUserMessage,
199
+ });
200
+ return messages;
201
+ }
202
+ }
203
+ exports.CCAP_AssembleConversation_ControlService = CCAP_AssembleConversation_ControlService;
204
+ //# sourceMappingURL=assemble-conversation.control-service.js.map