@carlonicora/nestjs-neo4jsonapi 1.64.0 → 1.65.0

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 (233) hide show
  1. package/dist/agents/agents.modules.js +3 -3
  2. package/dist/agents/agents.modules.js.map +1 -1
  3. package/dist/agents/graph/graph.module.d.ts +3 -0
  4. package/dist/agents/graph/graph.module.d.ts.map +1 -0
  5. package/dist/agents/{chatbot/chatbot.module.js → graph/graph.module.js} +12 -16
  6. package/dist/agents/graph/graph.module.js.map +1 -0
  7. package/dist/agents/{chatbot → graph}/interfaces/graph.catalog.interface.d.ts +4 -0
  8. package/dist/agents/graph/interfaces/graph.catalog.interface.d.ts.map +1 -0
  9. package/dist/agents/graph/interfaces/graph.catalog.interface.js.map +1 -0
  10. package/dist/agents/graph/interfaces/graph.node.output.interface.d.ts +30 -0
  11. package/dist/agents/graph/interfaces/graph.node.output.interface.d.ts.map +1 -0
  12. package/dist/agents/graph/interfaces/graph.node.output.interface.js +3 -0
  13. package/dist/agents/graph/interfaces/graph.node.output.interface.js.map +1 -0
  14. package/dist/agents/graph/prompts/graph.node.system.prompt.d.ts +3 -0
  15. package/dist/agents/graph/prompts/graph.node.system.prompt.d.ts.map +1 -0
  16. package/dist/agents/graph/prompts/graph.node.system.prompt.js +66 -0
  17. package/dist/agents/graph/prompts/graph.node.system.prompt.js.map +1 -0
  18. package/dist/agents/graph/repositories/user-modules.repository.d.ts.map +1 -0
  19. package/dist/agents/graph/repositories/user-modules.repository.js.map +1 -0
  20. package/dist/agents/{chatbot → graph}/services/descriptor.source.d.ts +2 -0
  21. package/dist/agents/graph/services/descriptor.source.d.ts.map +1 -0
  22. package/dist/agents/{chatbot → graph}/services/descriptor.source.js +18 -3
  23. package/dist/agents/graph/services/descriptor.source.js.map +1 -0
  24. package/dist/agents/graph/services/field-formatting.d.ts.map +1 -0
  25. package/dist/agents/graph/services/field-formatting.js.map +1 -0
  26. package/dist/agents/{chatbot → graph}/services/graph.catalog.service.d.ts +16 -0
  27. package/dist/agents/graph/services/graph.catalog.service.d.ts.map +1 -0
  28. package/dist/agents/{chatbot → graph}/services/graph.catalog.service.js +63 -1
  29. package/dist/agents/graph/services/graph.catalog.service.js.map +1 -0
  30. package/dist/agents/{chatbot/services/chatbot.index.manager.d.ts → graph/services/graph.index.manager.d.ts} +2 -2
  31. package/dist/agents/graph/services/graph.index.manager.d.ts.map +1 -0
  32. package/dist/agents/{chatbot/services/chatbot.index.manager.js → graph/services/graph.index.manager.js} +9 -9
  33. package/dist/agents/graph/services/graph.index.manager.js.map +1 -0
  34. package/dist/agents/graph/services/graph.search.service.d.ts +69 -0
  35. package/dist/agents/graph/services/graph.search.service.d.ts.map +1 -0
  36. package/dist/agents/graph/services/graph.search.service.js +230 -0
  37. package/dist/agents/graph/services/graph.search.service.js.map +1 -0
  38. package/dist/agents/graph/services/humanize-tool.d.ts.map +1 -0
  39. package/dist/agents/graph/services/humanize-tool.js.map +1 -0
  40. package/dist/agents/graph/services/materialise-bridge.d.ts +36 -0
  41. package/dist/agents/graph/services/materialise-bridge.d.ts.map +1 -0
  42. package/dist/agents/graph/services/materialise-bridge.js +69 -0
  43. package/dist/agents/graph/services/materialise-bridge.js.map +1 -0
  44. package/dist/agents/graph/tools/describe-entity.tool.d.ts.map +1 -0
  45. package/dist/agents/{chatbot → graph}/tools/describe-entity.tool.js +1 -0
  46. package/dist/agents/graph/tools/describe-entity.tool.js.map +1 -0
  47. package/dist/agents/{chatbot → graph}/tools/read-entity.tool.d.ts +5 -1
  48. package/dist/agents/graph/tools/read-entity.tool.d.ts.map +1 -0
  49. package/dist/agents/{chatbot → graph}/tools/read-entity.tool.js +37 -8
  50. package/dist/agents/graph/tools/read-entity.tool.js.map +1 -0
  51. package/dist/agents/{chatbot → graph}/tools/resolve-entity.tool.d.ts +2 -2
  52. package/dist/agents/graph/tools/resolve-entity.tool.d.ts.map +1 -0
  53. package/dist/agents/{chatbot → graph}/tools/resolve-entity.tool.js +2 -2
  54. package/dist/agents/graph/tools/resolve-entity.tool.js.map +1 -0
  55. package/dist/agents/{chatbot → graph}/tools/search-entities.tool.d.ts +6 -2
  56. package/dist/agents/graph/tools/search-entities.tool.d.ts.map +1 -0
  57. package/dist/agents/{chatbot → graph}/tools/search-entities.tool.js +36 -12
  58. package/dist/agents/graph/tools/search-entities.tool.js.map +1 -0
  59. package/dist/agents/{chatbot → graph}/tools/tool.factory.d.ts +7 -0
  60. package/dist/agents/graph/tools/tool.factory.d.ts.map +1 -0
  61. package/dist/agents/{chatbot → graph}/tools/tool.factory.js +57 -3
  62. package/dist/agents/graph/tools/tool.factory.js.map +1 -0
  63. package/dist/agents/{chatbot → graph}/tools/traverse.tool.d.ts +5 -1
  64. package/dist/agents/graph/tools/traverse.tool.d.ts.map +1 -0
  65. package/dist/agents/{chatbot → graph}/tools/traverse.tool.js +38 -15
  66. package/dist/agents/graph/tools/traverse.tool.js.map +1 -0
  67. package/dist/agents/index.d.ts +6 -9
  68. package/dist/agents/index.d.ts.map +1 -1
  69. package/dist/agents/index.js +13 -15
  70. package/dist/agents/index.js.map +1 -1
  71. package/dist/agents/responder/contexts/responder.context.d.ts +75 -1
  72. package/dist/agents/responder/contexts/responder.context.d.ts.map +1 -1
  73. package/dist/agents/responder/contexts/responder.context.js +29 -4
  74. package/dist/agents/responder/contexts/responder.context.js.map +1 -1
  75. package/dist/agents/responder/factories/responder.context.factory.d.ts +4 -5
  76. package/dist/agents/responder/factories/responder.context.factory.d.ts.map +1 -1
  77. package/dist/agents/responder/factories/responder.context.factory.js +28 -8
  78. package/dist/agents/responder/factories/responder.context.factory.js.map +1 -1
  79. package/dist/agents/responder/interfaces/entity.reference.interface.d.ts +7 -0
  80. package/dist/agents/responder/interfaces/entity.reference.interface.d.ts.map +1 -0
  81. package/dist/agents/{chatbot/interfaces/chatbot.response.interface.js → responder/interfaces/entity.reference.interface.js} +1 -1
  82. package/dist/agents/responder/interfaces/entity.reference.interface.js.map +1 -0
  83. package/dist/agents/responder/interfaces/responder.response.interface.d.ts +12 -3
  84. package/dist/agents/responder/interfaces/responder.response.interface.d.ts.map +1 -1
  85. package/dist/agents/responder/interfaces/unified.trace.interface.d.ts +64 -0
  86. package/dist/agents/responder/interfaces/unified.trace.interface.d.ts.map +1 -0
  87. package/dist/agents/responder/interfaces/unified.trace.interface.js +3 -0
  88. package/dist/agents/responder/interfaces/unified.trace.interface.js.map +1 -0
  89. package/dist/agents/responder/nodes/graph.node.service.d.ts +31 -0
  90. package/dist/agents/responder/nodes/graph.node.service.d.ts.map +1 -0
  91. package/dist/agents/responder/nodes/graph.node.service.js +319 -0
  92. package/dist/agents/responder/nodes/graph.node.service.js.map +1 -0
  93. package/dist/agents/responder/nodes/planner.node.service.d.ts +14 -0
  94. package/dist/agents/responder/nodes/planner.node.service.d.ts.map +1 -0
  95. package/dist/agents/responder/nodes/planner.node.service.js +121 -0
  96. package/dist/agents/responder/nodes/planner.node.service.js.map +1 -0
  97. package/dist/agents/responder/nodes/responder.answer.node.service.d.ts +5 -23
  98. package/dist/agents/responder/nodes/responder.answer.node.service.d.ts.map +1 -1
  99. package/dist/agents/responder/nodes/responder.answer.node.service.js +257 -432
  100. package/dist/agents/responder/nodes/responder.answer.node.service.js.map +1 -1
  101. package/dist/agents/responder/responder.module.d.ts.map +1 -1
  102. package/dist/agents/responder/responder.module.js +12 -3
  103. package/dist/agents/responder/responder.module.js.map +1 -1
  104. package/dist/agents/responder/services/responder.service.d.ts +15 -22
  105. package/dist/agents/responder/services/responder.service.d.ts.map +1 -1
  106. package/dist/agents/responder/services/responder.service.js +116 -89
  107. package/dist/agents/responder/services/responder.service.js.map +1 -1
  108. package/dist/common/helpers/define-entity.d.ts.map +1 -1
  109. package/dist/common/helpers/define-entity.js +16 -1
  110. package/dist/common/helpers/define-entity.js.map +1 -1
  111. package/dist/common/interfaces/entity.schema.interface.d.ts +15 -0
  112. package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -1
  113. package/dist/core/llm/interfaces/llm-call-metadata.interface.d.ts +19 -0
  114. package/dist/core/llm/interfaces/llm-call-metadata.interface.d.ts.map +1 -0
  115. package/dist/core/llm/interfaces/llm-call-metadata.interface.js +3 -0
  116. package/dist/core/llm/interfaces/llm-call-metadata.interface.js.map +1 -0
  117. package/dist/core/llm/llm.module.d.ts +1 -0
  118. package/dist/core/llm/llm.module.d.ts.map +1 -1
  119. package/dist/core/llm/llm.module.js +3 -1
  120. package/dist/core/llm/llm.module.js.map +1 -1
  121. package/dist/core/llm/services/llm-call-dumper.service.d.ts +64 -0
  122. package/dist/core/llm/services/llm-call-dumper.service.d.ts.map +1 -0
  123. package/dist/core/llm/services/llm-call-dumper.service.js +204 -0
  124. package/dist/core/llm/services/llm-call-dumper.service.js.map +1 -0
  125. package/dist/core/llm/services/llm.service.d.ts +4 -1
  126. package/dist/core/llm/services/llm.service.d.ts.map +1 -1
  127. package/dist/core/llm/services/llm.service.js +304 -220
  128. package/dist/core/llm/services/llm.service.js.map +1 -1
  129. package/dist/foundations/assistant/assistant.module.d.ts.map +1 -1
  130. package/dist/foundations/assistant/assistant.module.js +3 -2
  131. package/dist/foundations/assistant/assistant.module.js.map +1 -1
  132. package/dist/foundations/assistant/entities/assistant.d.ts +15 -16
  133. package/dist/foundations/assistant/entities/assistant.d.ts.map +1 -1
  134. package/dist/foundations/assistant/entities/assistant.js +21 -9
  135. package/dist/foundations/assistant/entities/assistant.js.map +1 -1
  136. package/dist/foundations/assistant/repositories/assistant.repository.d.ts +13 -0
  137. package/dist/foundations/assistant/repositories/assistant.repository.d.ts.map +1 -1
  138. package/dist/foundations/assistant/services/assistant.service.d.ts +35 -10
  139. package/dist/foundations/assistant/services/assistant.service.d.ts.map +1 -1
  140. package/dist/foundations/assistant/services/assistant.service.js +132 -17
  141. package/dist/foundations/assistant/services/assistant.service.js.map +1 -1
  142. package/dist/foundations/assistant-message/entities/assistant-message.d.ts +30 -10
  143. package/dist/foundations/assistant-message/entities/assistant-message.d.ts.map +1 -1
  144. package/dist/foundations/assistant-message/entities/assistant-message.js +19 -4
  145. package/dist/foundations/assistant-message/entities/assistant-message.js.map +1 -1
  146. package/dist/foundations/assistant-message/repositories/assistant-message.repository.d.ts +53 -4
  147. package/dist/foundations/assistant-message/repositories/assistant-message.repository.d.ts.map +1 -1
  148. package/dist/foundations/assistant-message/repositories/assistant-message.repository.js +43 -3
  149. package/dist/foundations/assistant-message/repositories/assistant-message.repository.js.map +1 -1
  150. package/dist/foundations/assistant-message/services/assistant-message.service.d.ts +26 -0
  151. package/dist/foundations/assistant-message/services/assistant-message.service.d.ts.map +1 -1
  152. package/dist/foundations/chunk/chunk.module.d.ts.map +1 -1
  153. package/dist/foundations/chunk/chunk.module.js +4 -5
  154. package/dist/foundations/chunk/chunk.module.js.map +1 -1
  155. package/dist/foundations/chunk/entities/chunk.entity.d.ts +19 -4
  156. package/dist/foundations/chunk/entities/chunk.entity.d.ts.map +1 -1
  157. package/dist/foundations/chunk/entities/chunk.entity.js +48 -0
  158. package/dist/foundations/chunk/entities/chunk.entity.js.map +1 -1
  159. package/dist/foundations/chunk/index.d.ts +1 -2
  160. package/dist/foundations/chunk/index.d.ts.map +1 -1
  161. package/dist/foundations/chunk/index.js +3 -3
  162. package/dist/foundations/chunk/index.js.map +1 -1
  163. package/dist/foundations/chunk/repositories/chunk.repository.d.ts.map +1 -1
  164. package/dist/foundations/chunk/repositories/chunk.repository.js +8 -8
  165. package/dist/foundations/chunk/repositories/chunk.repository.js.map +1 -1
  166. package/dist/foundations/chunk/services/chunk.service.d.ts.map +1 -1
  167. package/dist/foundations/chunk/services/chunk.service.js +2 -2
  168. package/dist/foundations/chunk/services/chunk.service.js.map +1 -1
  169. package/package.json +1 -1
  170. package/dist/agents/chatbot/chatbot.module.d.ts +0 -3
  171. package/dist/agents/chatbot/chatbot.module.d.ts.map +0 -1
  172. package/dist/agents/chatbot/chatbot.module.js.map +0 -1
  173. package/dist/agents/chatbot/interfaces/chatbot.response.interface.d.ts +0 -25
  174. package/dist/agents/chatbot/interfaces/chatbot.response.interface.d.ts.map +0 -1
  175. package/dist/agents/chatbot/interfaces/chatbot.response.interface.js.map +0 -1
  176. package/dist/agents/chatbot/interfaces/graph.catalog.interface.d.ts.map +0 -1
  177. package/dist/agents/chatbot/interfaces/graph.catalog.interface.js.map +0 -1
  178. package/dist/agents/chatbot/prompts/chatbot.system.prompt.d.ts +0 -3
  179. package/dist/agents/chatbot/prompts/chatbot.system.prompt.d.ts.map +0 -1
  180. package/dist/agents/chatbot/prompts/chatbot.system.prompt.js +0 -60
  181. package/dist/agents/chatbot/prompts/chatbot.system.prompt.js.map +0 -1
  182. package/dist/agents/chatbot/repositories/user-modules.repository.d.ts.map +0 -1
  183. package/dist/agents/chatbot/repositories/user-modules.repository.js.map +0 -1
  184. package/dist/agents/chatbot/services/chatbot.index.manager.d.ts.map +0 -1
  185. package/dist/agents/chatbot/services/chatbot.index.manager.js.map +0 -1
  186. package/dist/agents/chatbot/services/chatbot.search.service.d.ts +0 -46
  187. package/dist/agents/chatbot/services/chatbot.search.service.d.ts.map +0 -1
  188. package/dist/agents/chatbot/services/chatbot.search.service.js +0 -148
  189. package/dist/agents/chatbot/services/chatbot.search.service.js.map +0 -1
  190. package/dist/agents/chatbot/services/chatbot.service.d.ts +0 -36
  191. package/dist/agents/chatbot/services/chatbot.service.d.ts.map +0 -1
  192. package/dist/agents/chatbot/services/chatbot.service.js +0 -220
  193. package/dist/agents/chatbot/services/chatbot.service.js.map +0 -1
  194. package/dist/agents/chatbot/services/descriptor.source.d.ts.map +0 -1
  195. package/dist/agents/chatbot/services/descriptor.source.js.map +0 -1
  196. package/dist/agents/chatbot/services/field-formatting.d.ts.map +0 -1
  197. package/dist/agents/chatbot/services/field-formatting.js.map +0 -1
  198. package/dist/agents/chatbot/services/graph.catalog.service.d.ts.map +0 -1
  199. package/dist/agents/chatbot/services/graph.catalog.service.js.map +0 -1
  200. package/dist/agents/chatbot/services/humanize-tool.d.ts.map +0 -1
  201. package/dist/agents/chatbot/services/humanize-tool.js.map +0 -1
  202. package/dist/agents/chatbot/tools/describe-entity.tool.d.ts.map +0 -1
  203. package/dist/agents/chatbot/tools/describe-entity.tool.js.map +0 -1
  204. package/dist/agents/chatbot/tools/read-entity.tool.d.ts.map +0 -1
  205. package/dist/agents/chatbot/tools/read-entity.tool.js.map +0 -1
  206. package/dist/agents/chatbot/tools/resolve-entity.tool.d.ts.map +0 -1
  207. package/dist/agents/chatbot/tools/resolve-entity.tool.js.map +0 -1
  208. package/dist/agents/chatbot/tools/search-entities.tool.d.ts.map +0 -1
  209. package/dist/agents/chatbot/tools/search-entities.tool.js.map +0 -1
  210. package/dist/agents/chatbot/tools/tool.factory.d.ts.map +0 -1
  211. package/dist/agents/chatbot/tools/tool.factory.js.map +0 -1
  212. package/dist/agents/chatbot/tools/traverse.tool.d.ts.map +0 -1
  213. package/dist/agents/chatbot/tools/traverse.tool.js.map +0 -1
  214. package/dist/foundations/chunk/entities/chunk.map.d.ts +0 -8
  215. package/dist/foundations/chunk/entities/chunk.map.d.ts.map +0 -1
  216. package/dist/foundations/chunk/entities/chunk.map.js +0 -31
  217. package/dist/foundations/chunk/entities/chunk.map.js.map +0 -1
  218. package/dist/foundations/chunk/entities/chunk.model.d.ts +0 -4
  219. package/dist/foundations/chunk/entities/chunk.model.d.ts.map +0 -1
  220. package/dist/foundations/chunk/entities/chunk.model.js +0 -13
  221. package/dist/foundations/chunk/entities/chunk.model.js.map +0 -1
  222. package/dist/foundations/chunk/serialisers/chunk.serialiser.d.ts +0 -14
  223. package/dist/foundations/chunk/serialisers/chunk.serialiser.d.ts.map +0 -1
  224. package/dist/foundations/chunk/serialisers/chunk.serialiser.js +0 -54
  225. package/dist/foundations/chunk/serialisers/chunk.serialiser.js.map +0 -1
  226. /package/dist/agents/{chatbot → graph}/interfaces/graph.catalog.interface.js +0 -0
  227. /package/dist/agents/{chatbot → graph}/repositories/user-modules.repository.d.ts +0 -0
  228. /package/dist/agents/{chatbot → graph}/repositories/user-modules.repository.js +0 -0
  229. /package/dist/agents/{chatbot → graph}/services/field-formatting.d.ts +0 -0
  230. /package/dist/agents/{chatbot → graph}/services/field-formatting.js +0 -0
  231. /package/dist/agents/{chatbot → graph}/services/humanize-tool.d.ts +0 -0
  232. /package/dist/agents/{chatbot → graph}/services/humanize-tool.js +0 -0
  233. /package/dist/agents/{chatbot → graph}/tools/describe-entity.tool.d.ts +0 -0
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Typed metadata passed to every LLMService.call(). The dumper reads from this
3
+ * to attribute a JSON dump to a specific node and request. Also forwarded to
4
+ * LangSmith via the underlying invoke() configOptions.
5
+ *
6
+ * `requestId`, `userId`, `companyId` are populated by `LLMCallDumper` itself
7
+ * from `ClsService.get("logContext")` and do not need to be set by callers.
8
+ */
9
+ export interface LLMCallMetadata {
10
+ /** Logical node name. Examples: "graph", "planner", "answer". */
11
+ nodeName: string;
12
+ /** Logical agent name. Examples: "responder", "drift", "contextualiser". */
13
+ agentName: string;
14
+ /** The user's refined question for this turn. Optional but useful for attribution. */
15
+ userQuestion?: string;
16
+ /** Free-form fields are still allowed (LangSmith etc. may want them). */
17
+ [extra: string]: unknown;
18
+ }
19
+ //# sourceMappingURL=llm-call-metadata.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-call-metadata.interface.d.ts","sourceRoot":"","sources":["../../../../src/core/llm/interfaces/llm-call-metadata.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IAEjB,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAElB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,yEAAyE;IACzE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=llm-call-metadata.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-call-metadata.interface.js","sourceRoot":"","sources":["../../../../src/core/llm/interfaces/llm-call-metadata.interface.ts"],"names":[],"mappings":""}
@@ -10,6 +10,7 @@
10
10
  * - Vision/image analysis
11
11
  * - Model selection and configuration
12
12
  * - Token usage tracking
13
+ * - Optional per-call JSON dumps for debugging (gated by ASSISTANT_DUMP_LLM_CALLS)
13
14
  */
14
15
  export declare class LLMModule {
15
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"llm.module.d.ts","sourceRoot":"","sources":["../../../src/core/llm/llm.module.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;GAYG;AACH,qBAKa,SAAS;CAAG"}
1
+ {"version":3,"file":"llm.module.d.ts","sourceRoot":"","sources":["../../../src/core/llm/llm.module.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;GAaG;AACH,qBAKa,SAAS;CAAG"}
@@ -9,10 +9,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.LLMModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  const embedder_service_1 = require("./services/embedder.service");
12
+ const llm_call_dumper_service_1 = require("./services/llm-call-dumper.service");
12
13
  const llm_service_1 = require("./services/llm.service");
13
14
  const model_service_1 = require("./services/model.service");
14
15
  const vision_llm_service_1 = require("./services/vision.llm.service");
15
- const LLM_SERVICES = [llm_service_1.LLMService, model_service_1.ModelService, embedder_service_1.EmbedderService, vision_llm_service_1.VisionLLMService];
16
+ const LLM_SERVICES = [llm_service_1.LLMService, model_service_1.ModelService, embedder_service_1.EmbedderService, vision_llm_service_1.VisionLLMService, llm_call_dumper_service_1.LLMCallDumper];
16
17
  /**
17
18
  * LLM Module
18
19
  *
@@ -25,6 +26,7 @@ const LLM_SERVICES = [llm_service_1.LLMService, model_service_1.ModelService, em
25
26
  * - Vision/image analysis
26
27
  * - Model selection and configuration
27
28
  * - Token usage tracking
29
+ * - Optional per-call JSON dumps for debugging (gated by ASSISTANT_DUMP_LLM_CALLS)
28
30
  */
29
31
  let LLMModule = class LLMModule {
30
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"llm.module.js","sourceRoot":"","sources":["../../../src/core/llm/llm.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAChD,kEAA8D;AAC9D,wDAAoD;AACpD,4DAAwD;AACxD,sEAAiE;AAEjE,MAAM,YAAY,GAAG,CAAC,wBAAU,EAAE,4BAAY,EAAE,kCAAe,EAAE,qCAAgB,CAAC,CAAC;AAEnF;;;;;;;;;;;;GAYG;AAMI,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IALrB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,YAAY;KACtB,CAAC;GACW,SAAS,CAAG"}
1
+ {"version":3,"file":"llm.module.js","sourceRoot":"","sources":["../../../src/core/llm/llm.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAChD,kEAA8D;AAC9D,gFAAmE;AACnE,wDAAoD;AACpD,4DAAwD;AACxD,sEAAiE;AAEjE,MAAM,YAAY,GAAG,CAAC,wBAAU,EAAE,4BAAY,EAAE,kCAAe,EAAE,qCAAgB,EAAE,uCAAa,CAAC,CAAC;AAElG;;;;;;;;;;;;;GAaG;AAMI,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IALrB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,YAAY;KACtB,CAAC;GACW,SAAS,CAAG"}
@@ -0,0 +1,64 @@
1
+ import { ClsService } from "nestjs-cls";
2
+ import { LLMCallMetadata } from "../interfaces/llm-call-metadata.interface";
3
+ export interface DumpSessionStartParams {
4
+ metadata?: LLMCallMetadata & Record<string, unknown>;
5
+ model: string;
6
+ provider: string;
7
+ temperature?: number;
8
+ }
9
+ export interface DumpInputs {
10
+ systemPrompts: string[];
11
+ instructions: string;
12
+ inputParams: Record<string, unknown>;
13
+ history: Array<{
14
+ role: string;
15
+ content: string;
16
+ }>;
17
+ tools: Array<{
18
+ name: string;
19
+ description: string;
20
+ schema: unknown;
21
+ }>;
22
+ outputSchemaName: string;
23
+ }
24
+ export interface DumpResponse {
25
+ content?: string;
26
+ toolCalls?: Array<{
27
+ id: string;
28
+ name: string;
29
+ args: unknown;
30
+ }>;
31
+ tokenUsage?: {
32
+ input: number;
33
+ output: number;
34
+ };
35
+ finishReason?: string;
36
+ }
37
+ export interface DumpCloseParams {
38
+ finalStatus: "success" | "error" | "partial";
39
+ errorMessage?: string;
40
+ errorStack?: string;
41
+ totalTokens: {
42
+ input: number;
43
+ output: number;
44
+ };
45
+ warnings?: string[];
46
+ parseFallbacks?: Array<"tool_calls" | "lenient" | "raw">;
47
+ }
48
+ export interface DumpSession {
49
+ readonly isEnabled: boolean;
50
+ recordInputs(inputs: DumpInputs): void;
51
+ startIteration(kind: "tool-loop" | "final-structured", sentMessages: ReadonlyArray<unknown>): void;
52
+ recordResponse(response: DumpResponse): void;
53
+ recordToolResult(toolCallId: string, tool: string, content: string): void;
54
+ close(params: DumpCloseParams): void;
55
+ }
56
+ export declare class LLMCallDumper {
57
+ private readonly cls?;
58
+ private readonly logger;
59
+ private readonly enabled;
60
+ private readonly outputDir;
61
+ constructor(cls?: ClsService);
62
+ startSession(params: DumpSessionStartParams): DumpSession;
63
+ }
64
+ //# sourceMappingURL=llm-call-dumper.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-call-dumper.service.d.ts","sourceRoot":"","sources":["../../../../src/core/llm/services/llm-call-dumper.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAE5E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACrE,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC/D,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,kBAAkB,EAAE,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACnG,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7C,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1E,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;CACtC;AA0MD,qBACa,aAAa;IAKA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IAJ7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEM,GAAG,CAAC,EAAE,UAAU;IASzD,YAAY,CAAC,MAAM,EAAE,sBAAsB,GAAG,WAAW;CAyB1D"}
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var LLMCallDumper_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.LLMCallDumper = void 0;
17
+ const common_1 = require("@nestjs/common");
18
+ const crypto_1 = require("crypto");
19
+ const nestjs_cls_1 = require("nestjs-cls");
20
+ const NO_OP_SESSION = {
21
+ isEnabled: false,
22
+ recordInputs: () => undefined,
23
+ startIteration: () => undefined,
24
+ recordResponse: () => undefined,
25
+ recordToolResult: () => undefined,
26
+ close: () => undefined,
27
+ };
28
+ function approxTokens(bytes) {
29
+ return Math.ceil(bytes / 4);
30
+ }
31
+ function byteLength(s) {
32
+ return Buffer.byteLength(s, "utf8");
33
+ }
34
+ function serializeMessage(m) {
35
+ // LangChain BaseMessage exposes _getType() ("system" | "human" | "ai" | "tool").
36
+ // Plain {role,content} objects (used in unit tests) are also accepted.
37
+ let role;
38
+ if (typeof m?._getType === "function") {
39
+ const t = m._getType();
40
+ role = t === "human" ? "user" : t === "ai" ? "assistant" : t;
41
+ }
42
+ else {
43
+ role = String(m?.role ?? m?.type ?? "unknown");
44
+ }
45
+ let content;
46
+ if (typeof m?.content === "string") {
47
+ content = m.content;
48
+ }
49
+ else if (m?.content != null) {
50
+ try {
51
+ content = JSON.stringify(m.content);
52
+ }
53
+ catch {
54
+ content = String(m.content);
55
+ }
56
+ }
57
+ else {
58
+ content = "";
59
+ }
60
+ const bytes = byteLength(content);
61
+ return { role, bytes, approxTokens: approxTokens(bytes), content };
62
+ }
63
+ class RealDumpSession {
64
+ constructor(start, outputDir, logger, clsContext, fileWriter, mkdirp) {
65
+ this.start = start;
66
+ this.outputDir = outputDir;
67
+ this.logger = logger;
68
+ this.clsContext = clsContext;
69
+ this.fileWriter = fileWriter;
70
+ this.mkdirp = mkdirp;
71
+ this.isEnabled = true;
72
+ this.callId = (0, crypto_1.randomUUID)();
73
+ this.startedAt = new Date();
74
+ this.iterations = [];
75
+ }
76
+ recordInputs(inputs) {
77
+ this.inputs = inputs;
78
+ }
79
+ startIteration(kind, sentMessages) {
80
+ const serialized = sentMessages.map(serializeMessage);
81
+ const byRole = {};
82
+ let totalBytes = 0;
83
+ for (const m of serialized) {
84
+ totalBytes += m.bytes;
85
+ byRole[m.role] = (byRole[m.role] ?? 0) + m.bytes;
86
+ }
87
+ this.current = {
88
+ index: this.iterations.length,
89
+ kind,
90
+ sentMessages: serialized,
91
+ sizesSummary: { totalBytes, totalApproxTokens: approxTokens(totalBytes), byRole },
92
+ toolResults: [],
93
+ };
94
+ this.iterations.push(this.current);
95
+ }
96
+ recordResponse(response) {
97
+ if (!this.current)
98
+ return;
99
+ this.current.response = {
100
+ content: response.content ?? "",
101
+ toolCalls: response.toolCalls ?? [],
102
+ tokenUsage: response.tokenUsage ?? { input: 0, output: 0 },
103
+ finishReason: response.finishReason,
104
+ };
105
+ }
106
+ recordToolResult(toolCallId, tool, content) {
107
+ if (!this.current)
108
+ return;
109
+ const bytes = byteLength(content);
110
+ this.current.toolResults.push({
111
+ toolCallId,
112
+ tool,
113
+ bytes,
114
+ approxTokens: approxTokens(bytes),
115
+ content,
116
+ });
117
+ }
118
+ close(params) {
119
+ const completedAt = new Date();
120
+ const meta = {
121
+ callId: this.callId,
122
+ requestId: this.clsContext.requestId,
123
+ nodeName: this.start.metadata?.nodeName ?? "unknown",
124
+ agentName: this.start.metadata?.agentName ?? "unknown",
125
+ userId: this.clsContext.userId,
126
+ companyId: this.clsContext.companyId,
127
+ userQuestion: this.start.metadata?.userQuestion ?? undefined,
128
+ model: this.start.model,
129
+ provider: this.start.provider,
130
+ temperature: this.start.temperature,
131
+ startedAt: this.startedAt.toISOString(),
132
+ durationMs: completedAt.getTime() - this.startedAt.getTime(),
133
+ iterationCount: this.iterations.length,
134
+ finalStatus: params.finalStatus,
135
+ errorMessage: params.errorMessage,
136
+ errorStack: params.errorStack,
137
+ totalTokens: params.totalTokens,
138
+ warnings: params.warnings ?? [],
139
+ parseFallbacks: params.parseFallbacks ?? [],
140
+ };
141
+ const payload = {
142
+ meta,
143
+ inputs: this.inputs,
144
+ iterations: this.iterations,
145
+ };
146
+ const body = JSON.stringify(payload, null, 2);
147
+ const yyyyMmDd = this.startedAt.toISOString().slice(0, 10);
148
+ const hhMmSsMs = this.startedAt.toISOString().slice(11, 23).replace(/[:.]/g, "-");
149
+ // Group dumps under the originating assistant + turn whenever the caller
150
+ // (assistant.service.ts.runAgentTurn) has set the CLS context. Falls back
151
+ // to a flat per-day layout for any LLM call outside the assistant flow.
152
+ const assistantId = this.clsContext.assistantId;
153
+ const turnStartedAt = this.clsContext.turnStartedAt;
154
+ const dir = assistantId && turnStartedAt
155
+ ? `${this.outputDir}/${yyyyMmDd}/${assistantId}/${turnStartedAt}`
156
+ : `${this.outputDir}/${yyyyMmDd}`;
157
+ const file = `${dir}/${hhMmSsMs}-${meta.nodeName}-${this.callId}.json`;
158
+ // Fire-and-forget; do not await. Errors are caught and logged.
159
+ this.mkdirp(dir)
160
+ .then(() => this.fileWriter(file, body))
161
+ .catch((err) => {
162
+ this.logger.warn(`[LLMCallDumper] Failed to write dump ${file}: ${err instanceof Error ? err.message : String(err)}`);
163
+ });
164
+ }
165
+ /** Test-only: peek at in-memory state. Not part of the public DumpSession interface. */
166
+ __snapshot() {
167
+ return { meta: this.start.metadata, inputs: this.inputs, iterations: this.iterations };
168
+ }
169
+ }
170
+ let LLMCallDumper = LLMCallDumper_1 = class LLMCallDumper {
171
+ constructor(cls) {
172
+ this.cls = cls;
173
+ this.logger = new common_1.Logger(LLMCallDumper_1.name);
174
+ this.enabled = process.env.ASSISTANT_DUMP_LLM_CALLS === "1";
175
+ // Default to `<cwd>/.llm-dumps`. When the API runs via
176
+ // `pnpm --filter neural-erp-api dev`, cwd is `apps/api/`, so this lands at
177
+ // `apps/api/.llm-dumps/` (which is gitignored). For any other cwd, set
178
+ // ASSISTANT_DUMP_LLM_CALLS_DIR to an absolute path.
179
+ this.outputDir = process.env.ASSISTANT_DUMP_LLM_CALLS_DIR ?? `${process.cwd()}/.llm-dumps`;
180
+ }
181
+ startSession(params) {
182
+ if (!this.enabled)
183
+ return NO_OP_SESSION;
184
+ const log = this.cls?.has?.("logContext") ? this.cls.get("logContext") : undefined;
185
+ const turn = this.cls?.has?.("assistantTurnContext") ? this.cls.get("assistantTurnContext") : undefined;
186
+ const clsContext = {
187
+ requestId: log?.requestId,
188
+ userId: log?.userId,
189
+ companyId: log?.companyId,
190
+ assistantId: turn?.assistantId,
191
+ turnStartedAt: turn?.turnStartedAt,
192
+ };
193
+ // fs is loaded lazily so the no-op path stays I/O-free.
194
+ const fs = require("fs/promises");
195
+ return new RealDumpSession(params, this.outputDir, this.logger, clsContext, (path, body) => fs.writeFile(path, body, "utf8"), (dir) => fs.mkdir(dir, { recursive: true }).then(() => undefined));
196
+ }
197
+ };
198
+ exports.LLMCallDumper = LLMCallDumper;
199
+ exports.LLMCallDumper = LLMCallDumper = LLMCallDumper_1 = __decorate([
200
+ (0, common_1.Injectable)(),
201
+ __param(0, (0, common_1.Optional)()),
202
+ __metadata("design:paramtypes", [nestjs_cls_1.ClsService])
203
+ ], LLMCallDumper);
204
+ //# sourceMappingURL=llm-call-dumper.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-call-dumper.service.js","sourceRoot":"","sources":["../../../../src/core/llm/services/llm-call-dumper.service.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { ZodType } from "zod";
4
4
  import { AgentMessageType } from "../../../common/enums/agentmessage.type";
5
5
  import { BaseConfigInterface } from "../../../config/interfaces";
6
6
  import { ModelService } from "../../llm/services/model.service";
7
+ import { LLMCallDumper } from "./llm-call-dumper.service";
7
8
  /**
8
9
  * Parameters for LLM service calls
9
10
  */
@@ -39,8 +40,9 @@ interface SessionUsage {
39
40
  export declare class LLMService {
40
41
  private readonly modelService;
41
42
  private readonly config;
43
+ private readonly dumper;
42
44
  private _sessionTokens;
43
- constructor(modelService: ModelService, config: ConfigService<BaseConfigInterface>);
45
+ constructor(modelService: ModelService, config: ConfigService<BaseConfigInterface>, dumper: LLMCallDumper);
44
46
  /**
45
47
  * Converts AgentMessageType to LangChain BaseMessage
46
48
  */
@@ -182,6 +184,7 @@ export declare class LLMService {
182
184
  output: number;
183
185
  };
184
186
  }>;
187
+ private _invokeOriginal;
185
188
  /**
186
189
  * Get session-level token usage statistics
187
190
  *
@@ -1 +1 @@
1
- {"version":3,"file":"llm.service.d.ts","sourceRoot":"","sources":["../../../../src/core/llm/services/llm.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAqB,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AA8BhE;;GAEG;AACH,UAAU,aAAa,CAAC,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAUD,qBACa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,cAAc,CAAe;gBAGlB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAU7D;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,yBAAyB;IA6CjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,OAAO,CAAC,iCAAiC;IA0BzC;;OAEG;IACH,OAAO,CAAC,eAAe;IA6CvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqEG;IACG,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG;QAAE,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IA+RvG;;;;OAIG;IACH,eAAe,IAAI,YAAY;IAI/B;;;;OAIG;IACH,YAAY,IAAI,IAAI;CAQrB"}
1
+ {"version":3,"file":"llm.service.d.ts","sourceRoot":"","sources":["../../../../src/core/llm/services/llm.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAqB,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAOhE,OAAO,EAAE,aAAa,EAAuC,MAAM,2BAA2B,CAAC;AAwB/F;;GAEG;AACH,UAAU,aAAa,CAAC,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAUD,qBACa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,cAAc,CAAe;gBAGlB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAC1C,MAAM,EAAE,aAAa;IAUxC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,yBAAyB;IA6CjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,OAAO,CAAC,iCAAiC;IA0BzC;;OAEG;IACH,OAAO,CAAC,eAAe;IA6CvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqEG;IACG,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG;QAAE,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;YA8CzF,eAAe;IAwV7B;;;;OAIG;IACH,eAAe,IAAI,YAAY;IAI/B;;;;OAIG;IACH,YAAY,IAAI,IAAI;CAQrB"}