@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.
- package/dist/agents/agents.modules.js +3 -3
- package/dist/agents/agents.modules.js.map +1 -1
- package/dist/agents/graph/graph.module.d.ts +3 -0
- package/dist/agents/graph/graph.module.d.ts.map +1 -0
- package/dist/agents/{chatbot/chatbot.module.js → graph/graph.module.js} +12 -16
- package/dist/agents/graph/graph.module.js.map +1 -0
- package/dist/agents/{chatbot → graph}/interfaces/graph.catalog.interface.d.ts +4 -0
- package/dist/agents/graph/interfaces/graph.catalog.interface.d.ts.map +1 -0
- package/dist/agents/graph/interfaces/graph.catalog.interface.js.map +1 -0
- package/dist/agents/graph/interfaces/graph.node.output.interface.d.ts +30 -0
- package/dist/agents/graph/interfaces/graph.node.output.interface.d.ts.map +1 -0
- package/dist/agents/graph/interfaces/graph.node.output.interface.js +3 -0
- package/dist/agents/graph/interfaces/graph.node.output.interface.js.map +1 -0
- package/dist/agents/graph/prompts/graph.node.system.prompt.d.ts +3 -0
- package/dist/agents/graph/prompts/graph.node.system.prompt.d.ts.map +1 -0
- package/dist/agents/graph/prompts/graph.node.system.prompt.js +66 -0
- package/dist/agents/graph/prompts/graph.node.system.prompt.js.map +1 -0
- package/dist/agents/graph/repositories/user-modules.repository.d.ts.map +1 -0
- package/dist/agents/graph/repositories/user-modules.repository.js.map +1 -0
- package/dist/agents/{chatbot → graph}/services/descriptor.source.d.ts +2 -0
- package/dist/agents/graph/services/descriptor.source.d.ts.map +1 -0
- package/dist/agents/{chatbot → graph}/services/descriptor.source.js +18 -3
- package/dist/agents/graph/services/descriptor.source.js.map +1 -0
- package/dist/agents/graph/services/field-formatting.d.ts.map +1 -0
- package/dist/agents/graph/services/field-formatting.js.map +1 -0
- package/dist/agents/{chatbot → graph}/services/graph.catalog.service.d.ts +16 -0
- package/dist/agents/graph/services/graph.catalog.service.d.ts.map +1 -0
- package/dist/agents/{chatbot → graph}/services/graph.catalog.service.js +63 -1
- package/dist/agents/graph/services/graph.catalog.service.js.map +1 -0
- package/dist/agents/{chatbot/services/chatbot.index.manager.d.ts → graph/services/graph.index.manager.d.ts} +2 -2
- package/dist/agents/graph/services/graph.index.manager.d.ts.map +1 -0
- package/dist/agents/{chatbot/services/chatbot.index.manager.js → graph/services/graph.index.manager.js} +9 -9
- package/dist/agents/graph/services/graph.index.manager.js.map +1 -0
- package/dist/agents/graph/services/graph.search.service.d.ts +69 -0
- package/dist/agents/graph/services/graph.search.service.d.ts.map +1 -0
- package/dist/agents/graph/services/graph.search.service.js +230 -0
- package/dist/agents/graph/services/graph.search.service.js.map +1 -0
- package/dist/agents/graph/services/humanize-tool.d.ts.map +1 -0
- package/dist/agents/graph/services/humanize-tool.js.map +1 -0
- package/dist/agents/graph/services/materialise-bridge.d.ts +36 -0
- package/dist/agents/graph/services/materialise-bridge.d.ts.map +1 -0
- package/dist/agents/graph/services/materialise-bridge.js +69 -0
- package/dist/agents/graph/services/materialise-bridge.js.map +1 -0
- package/dist/agents/graph/tools/describe-entity.tool.d.ts.map +1 -0
- package/dist/agents/{chatbot → graph}/tools/describe-entity.tool.js +1 -0
- package/dist/agents/graph/tools/describe-entity.tool.js.map +1 -0
- package/dist/agents/{chatbot → graph}/tools/read-entity.tool.d.ts +5 -1
- package/dist/agents/graph/tools/read-entity.tool.d.ts.map +1 -0
- package/dist/agents/{chatbot → graph}/tools/read-entity.tool.js +37 -8
- package/dist/agents/graph/tools/read-entity.tool.js.map +1 -0
- package/dist/agents/{chatbot → graph}/tools/resolve-entity.tool.d.ts +2 -2
- package/dist/agents/graph/tools/resolve-entity.tool.d.ts.map +1 -0
- package/dist/agents/{chatbot → graph}/tools/resolve-entity.tool.js +2 -2
- package/dist/agents/graph/tools/resolve-entity.tool.js.map +1 -0
- package/dist/agents/{chatbot → graph}/tools/search-entities.tool.d.ts +6 -2
- package/dist/agents/graph/tools/search-entities.tool.d.ts.map +1 -0
- package/dist/agents/{chatbot → graph}/tools/search-entities.tool.js +36 -12
- package/dist/agents/graph/tools/search-entities.tool.js.map +1 -0
- package/dist/agents/{chatbot → graph}/tools/tool.factory.d.ts +7 -0
- package/dist/agents/graph/tools/tool.factory.d.ts.map +1 -0
- package/dist/agents/{chatbot → graph}/tools/tool.factory.js +57 -3
- package/dist/agents/graph/tools/tool.factory.js.map +1 -0
- package/dist/agents/{chatbot → graph}/tools/traverse.tool.d.ts +5 -1
- package/dist/agents/graph/tools/traverse.tool.d.ts.map +1 -0
- package/dist/agents/{chatbot → graph}/tools/traverse.tool.js +38 -15
- package/dist/agents/graph/tools/traverse.tool.js.map +1 -0
- package/dist/agents/index.d.ts +6 -9
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +13 -15
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/responder/contexts/responder.context.d.ts +75 -1
- package/dist/agents/responder/contexts/responder.context.d.ts.map +1 -1
- package/dist/agents/responder/contexts/responder.context.js +29 -4
- package/dist/agents/responder/contexts/responder.context.js.map +1 -1
- package/dist/agents/responder/factories/responder.context.factory.d.ts +4 -5
- package/dist/agents/responder/factories/responder.context.factory.d.ts.map +1 -1
- package/dist/agents/responder/factories/responder.context.factory.js +28 -8
- package/dist/agents/responder/factories/responder.context.factory.js.map +1 -1
- package/dist/agents/responder/interfaces/entity.reference.interface.d.ts +7 -0
- package/dist/agents/responder/interfaces/entity.reference.interface.d.ts.map +1 -0
- package/dist/agents/{chatbot/interfaces/chatbot.response.interface.js → responder/interfaces/entity.reference.interface.js} +1 -1
- package/dist/agents/responder/interfaces/entity.reference.interface.js.map +1 -0
- package/dist/agents/responder/interfaces/responder.response.interface.d.ts +12 -3
- package/dist/agents/responder/interfaces/responder.response.interface.d.ts.map +1 -1
- package/dist/agents/responder/interfaces/unified.trace.interface.d.ts +64 -0
- package/dist/agents/responder/interfaces/unified.trace.interface.d.ts.map +1 -0
- package/dist/agents/responder/interfaces/unified.trace.interface.js +3 -0
- package/dist/agents/responder/interfaces/unified.trace.interface.js.map +1 -0
- package/dist/agents/responder/nodes/graph.node.service.d.ts +31 -0
- package/dist/agents/responder/nodes/graph.node.service.d.ts.map +1 -0
- package/dist/agents/responder/nodes/graph.node.service.js +319 -0
- package/dist/agents/responder/nodes/graph.node.service.js.map +1 -0
- package/dist/agents/responder/nodes/planner.node.service.d.ts +14 -0
- package/dist/agents/responder/nodes/planner.node.service.d.ts.map +1 -0
- package/dist/agents/responder/nodes/planner.node.service.js +121 -0
- package/dist/agents/responder/nodes/planner.node.service.js.map +1 -0
- package/dist/agents/responder/nodes/responder.answer.node.service.d.ts +5 -23
- package/dist/agents/responder/nodes/responder.answer.node.service.d.ts.map +1 -1
- package/dist/agents/responder/nodes/responder.answer.node.service.js +257 -432
- package/dist/agents/responder/nodes/responder.answer.node.service.js.map +1 -1
- package/dist/agents/responder/responder.module.d.ts.map +1 -1
- package/dist/agents/responder/responder.module.js +12 -3
- package/dist/agents/responder/responder.module.js.map +1 -1
- package/dist/agents/responder/services/responder.service.d.ts +15 -22
- package/dist/agents/responder/services/responder.service.d.ts.map +1 -1
- package/dist/agents/responder/services/responder.service.js +116 -89
- package/dist/agents/responder/services/responder.service.js.map +1 -1
- package/dist/common/helpers/define-entity.d.ts.map +1 -1
- package/dist/common/helpers/define-entity.js +16 -1
- package/dist/common/helpers/define-entity.js.map +1 -1
- package/dist/common/interfaces/entity.schema.interface.d.ts +15 -0
- package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -1
- package/dist/core/llm/interfaces/llm-call-metadata.interface.d.ts +19 -0
- package/dist/core/llm/interfaces/llm-call-metadata.interface.d.ts.map +1 -0
- package/dist/core/llm/interfaces/llm-call-metadata.interface.js +3 -0
- package/dist/core/llm/interfaces/llm-call-metadata.interface.js.map +1 -0
- package/dist/core/llm/llm.module.d.ts +1 -0
- package/dist/core/llm/llm.module.d.ts.map +1 -1
- package/dist/core/llm/llm.module.js +3 -1
- package/dist/core/llm/llm.module.js.map +1 -1
- package/dist/core/llm/services/llm-call-dumper.service.d.ts +64 -0
- package/dist/core/llm/services/llm-call-dumper.service.d.ts.map +1 -0
- package/dist/core/llm/services/llm-call-dumper.service.js +204 -0
- package/dist/core/llm/services/llm-call-dumper.service.js.map +1 -0
- package/dist/core/llm/services/llm.service.d.ts +4 -1
- package/dist/core/llm/services/llm.service.d.ts.map +1 -1
- package/dist/core/llm/services/llm.service.js +304 -220
- package/dist/core/llm/services/llm.service.js.map +1 -1
- package/dist/foundations/assistant/assistant.module.d.ts.map +1 -1
- package/dist/foundations/assistant/assistant.module.js +3 -2
- package/dist/foundations/assistant/assistant.module.js.map +1 -1
- package/dist/foundations/assistant/entities/assistant.d.ts +15 -16
- package/dist/foundations/assistant/entities/assistant.d.ts.map +1 -1
- package/dist/foundations/assistant/entities/assistant.js +21 -9
- package/dist/foundations/assistant/entities/assistant.js.map +1 -1
- package/dist/foundations/assistant/repositories/assistant.repository.d.ts +13 -0
- package/dist/foundations/assistant/repositories/assistant.repository.d.ts.map +1 -1
- package/dist/foundations/assistant/services/assistant.service.d.ts +35 -10
- package/dist/foundations/assistant/services/assistant.service.d.ts.map +1 -1
- package/dist/foundations/assistant/services/assistant.service.js +132 -17
- package/dist/foundations/assistant/services/assistant.service.js.map +1 -1
- package/dist/foundations/assistant-message/entities/assistant-message.d.ts +30 -10
- package/dist/foundations/assistant-message/entities/assistant-message.d.ts.map +1 -1
- package/dist/foundations/assistant-message/entities/assistant-message.js +19 -4
- package/dist/foundations/assistant-message/entities/assistant-message.js.map +1 -1
- package/dist/foundations/assistant-message/repositories/assistant-message.repository.d.ts +53 -4
- package/dist/foundations/assistant-message/repositories/assistant-message.repository.d.ts.map +1 -1
- package/dist/foundations/assistant-message/repositories/assistant-message.repository.js +43 -3
- package/dist/foundations/assistant-message/repositories/assistant-message.repository.js.map +1 -1
- package/dist/foundations/assistant-message/services/assistant-message.service.d.ts +26 -0
- package/dist/foundations/assistant-message/services/assistant-message.service.d.ts.map +1 -1
- package/dist/foundations/chunk/chunk.module.d.ts.map +1 -1
- package/dist/foundations/chunk/chunk.module.js +4 -5
- package/dist/foundations/chunk/chunk.module.js.map +1 -1
- package/dist/foundations/chunk/entities/chunk.entity.d.ts +19 -4
- package/dist/foundations/chunk/entities/chunk.entity.d.ts.map +1 -1
- package/dist/foundations/chunk/entities/chunk.entity.js +48 -0
- package/dist/foundations/chunk/entities/chunk.entity.js.map +1 -1
- package/dist/foundations/chunk/index.d.ts +1 -2
- package/dist/foundations/chunk/index.d.ts.map +1 -1
- package/dist/foundations/chunk/index.js +3 -3
- package/dist/foundations/chunk/index.js.map +1 -1
- package/dist/foundations/chunk/repositories/chunk.repository.d.ts.map +1 -1
- package/dist/foundations/chunk/repositories/chunk.repository.js +8 -8
- package/dist/foundations/chunk/repositories/chunk.repository.js.map +1 -1
- package/dist/foundations/chunk/services/chunk.service.d.ts.map +1 -1
- package/dist/foundations/chunk/services/chunk.service.js +2 -2
- package/dist/foundations/chunk/services/chunk.service.js.map +1 -1
- package/package.json +1 -1
- package/dist/agents/chatbot/chatbot.module.d.ts +0 -3
- package/dist/agents/chatbot/chatbot.module.d.ts.map +0 -1
- package/dist/agents/chatbot/chatbot.module.js.map +0 -1
- package/dist/agents/chatbot/interfaces/chatbot.response.interface.d.ts +0 -25
- package/dist/agents/chatbot/interfaces/chatbot.response.interface.d.ts.map +0 -1
- package/dist/agents/chatbot/interfaces/chatbot.response.interface.js.map +0 -1
- package/dist/agents/chatbot/interfaces/graph.catalog.interface.d.ts.map +0 -1
- package/dist/agents/chatbot/interfaces/graph.catalog.interface.js.map +0 -1
- package/dist/agents/chatbot/prompts/chatbot.system.prompt.d.ts +0 -3
- package/dist/agents/chatbot/prompts/chatbot.system.prompt.d.ts.map +0 -1
- package/dist/agents/chatbot/prompts/chatbot.system.prompt.js +0 -60
- package/dist/agents/chatbot/prompts/chatbot.system.prompt.js.map +0 -1
- package/dist/agents/chatbot/repositories/user-modules.repository.d.ts.map +0 -1
- package/dist/agents/chatbot/repositories/user-modules.repository.js.map +0 -1
- package/dist/agents/chatbot/services/chatbot.index.manager.d.ts.map +0 -1
- package/dist/agents/chatbot/services/chatbot.index.manager.js.map +0 -1
- package/dist/agents/chatbot/services/chatbot.search.service.d.ts +0 -46
- package/dist/agents/chatbot/services/chatbot.search.service.d.ts.map +0 -1
- package/dist/agents/chatbot/services/chatbot.search.service.js +0 -148
- package/dist/agents/chatbot/services/chatbot.search.service.js.map +0 -1
- package/dist/agents/chatbot/services/chatbot.service.d.ts +0 -36
- package/dist/agents/chatbot/services/chatbot.service.d.ts.map +0 -1
- package/dist/agents/chatbot/services/chatbot.service.js +0 -220
- package/dist/agents/chatbot/services/chatbot.service.js.map +0 -1
- package/dist/agents/chatbot/services/descriptor.source.d.ts.map +0 -1
- package/dist/agents/chatbot/services/descriptor.source.js.map +0 -1
- package/dist/agents/chatbot/services/field-formatting.d.ts.map +0 -1
- package/dist/agents/chatbot/services/field-formatting.js.map +0 -1
- package/dist/agents/chatbot/services/graph.catalog.service.d.ts.map +0 -1
- package/dist/agents/chatbot/services/graph.catalog.service.js.map +0 -1
- package/dist/agents/chatbot/services/humanize-tool.d.ts.map +0 -1
- package/dist/agents/chatbot/services/humanize-tool.js.map +0 -1
- package/dist/agents/chatbot/tools/describe-entity.tool.d.ts.map +0 -1
- package/dist/agents/chatbot/tools/describe-entity.tool.js.map +0 -1
- package/dist/agents/chatbot/tools/read-entity.tool.d.ts.map +0 -1
- package/dist/agents/chatbot/tools/read-entity.tool.js.map +0 -1
- package/dist/agents/chatbot/tools/resolve-entity.tool.d.ts.map +0 -1
- package/dist/agents/chatbot/tools/resolve-entity.tool.js.map +0 -1
- package/dist/agents/chatbot/tools/search-entities.tool.d.ts.map +0 -1
- package/dist/agents/chatbot/tools/search-entities.tool.js.map +0 -1
- package/dist/agents/chatbot/tools/tool.factory.d.ts.map +0 -1
- package/dist/agents/chatbot/tools/tool.factory.js.map +0 -1
- package/dist/agents/chatbot/tools/traverse.tool.d.ts.map +0 -1
- package/dist/agents/chatbot/tools/traverse.tool.js.map +0 -1
- package/dist/foundations/chunk/entities/chunk.map.d.ts +0 -8
- package/dist/foundations/chunk/entities/chunk.map.d.ts.map +0 -1
- package/dist/foundations/chunk/entities/chunk.map.js +0 -31
- package/dist/foundations/chunk/entities/chunk.map.js.map +0 -1
- package/dist/foundations/chunk/entities/chunk.model.d.ts +0 -4
- package/dist/foundations/chunk/entities/chunk.model.d.ts.map +0 -1
- package/dist/foundations/chunk/entities/chunk.model.js +0 -13
- package/dist/foundations/chunk/entities/chunk.model.js.map +0 -1
- package/dist/foundations/chunk/serialisers/chunk.serialiser.d.ts +0 -14
- package/dist/foundations/chunk/serialisers/chunk.serialiser.d.ts.map +0 -1
- package/dist/foundations/chunk/serialisers/chunk.serialiser.js +0 -54
- package/dist/foundations/chunk/serialisers/chunk.serialiser.js.map +0 -1
- /package/dist/agents/{chatbot → graph}/interfaces/graph.catalog.interface.js +0 -0
- /package/dist/agents/{chatbot → graph}/repositories/user-modules.repository.d.ts +0 -0
- /package/dist/agents/{chatbot → graph}/repositories/user-modules.repository.js +0 -0
- /package/dist/agents/{chatbot → graph}/services/field-formatting.d.ts +0 -0
- /package/dist/agents/{chatbot → graph}/services/field-formatting.js +0 -0
- /package/dist/agents/{chatbot → graph}/services/humanize-tool.d.ts +0 -0
- /package/dist/agents/{chatbot → graph}/services/humanize-tool.js +0 -0
- /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 @@
|
|
|
1
|
+
{"version":3,"file":"llm-call-metadata.interface.js","sourceRoot":"","sources":["../../../../src/core/llm/interfaces/llm-call-metadata.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.module.d.ts","sourceRoot":"","sources":["../../../src/core/llm/llm.module.ts"],"names":[],"mappings":"
|
|
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;
|
|
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":";;;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,mCAAoC;AACpC,2CAAwC;AA4CxC,MAAM,aAAa,GAAgB;IACjC,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS;IAC7B,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS;IAC/B,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS;IAC/B,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS;IACjC,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS;CACvB,CAAC;AAiCF,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAM;IAC9B,iFAAiF;IACjF,uEAAuE;IACvE,IAAI,IAAY,CAAC;IACjB,IAAI,OAAO,CAAC,EAAE,QAAQ,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAe,CAAC;IACpB,IAAI,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;IACtB,CAAC;SAAM,IAAI,CAAC,EAAE,OAAO,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,eAAe;IAQnB,YACmB,KAA6B,EAC7B,SAAiB,EACjB,MAAc,EACd,UAMhB,EACgB,UAAyD,EACzD,MAAsC;QAXtC,UAAK,GAAL,KAAK,CAAwB;QAC7B,cAAS,GAAT,SAAS,CAAQ;QACjB,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAM1B;QACgB,eAAU,GAAV,UAAU,CAA+C;QACzD,WAAM,GAAN,MAAM,CAAgC;QAnBhD,cAAS,GAAG,IAAI,CAAC;QACjB,WAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;QACtB,cAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAExB,eAAU,GAAsB,EAAE,CAAC;IAgBxC,CAAC;IAEJ,YAAY,CAAC,MAAkB;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,cAAc,CAAC,IAAsC,EAAE,YAAoC;QACzF,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC;YACtB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,OAAO,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;YAC7B,IAAI;YACJ,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE;YACjF,WAAW,EAAE,EAAE;SAChB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,cAAc,CAAC,QAAsB;QACnC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG;YACtB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE;YACnC,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;YAC1D,YAAY,EAAE,QAAQ,CAAC,YAAY;SACpC,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,UAAkB,EAAE,IAAY,EAAE,OAAe;QAChE,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;YAC5B,UAAU;YACV,IAAI;YACJ,KAAK;YACL,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC;YACjC,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAuB;QAC3B,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS;YACpC,QAAQ,EAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAmB,IAAI,SAAS;YAChE,SAAS,EAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAoB,IAAI,SAAS;YAClE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;YAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS;YACpC,YAAY,EAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAmC,IAAI,SAAS;YACpF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YACvC,UAAU,EAAE,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YAC5D,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAC/B,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;SAC5C,CAAC;QACF,MAAM,OAAO,GAAG;YACd,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAClF,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QACpD,MAAM,GAAG,GACP,WAAW,IAAI,aAAa;YAC1B,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,IAAI,WAAW,IAAI,aAAa,EAAE;YACjE,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,OAAO,CAAC;QAEvE,+DAA+D;QAC/D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;aACb,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACvC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wCAAwC,IAAI,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACpG,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,wFAAwF;IACxF,UAAU;QACR,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;IACzF,CAAC;CACF;AAGM,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAKxB,YAAwB,GAAiC;QAAhB,QAAG,GAAH,GAAG,CAAa;QAJxC,WAAM,GAAG,IAAI,eAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;QAKvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC;QAC5D,uDAAuD;QACvD,2EAA2E;QAC3E,uEAAuE;QACvE,oDAAoD;QACpD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC;IAC7F,CAAC;IAED,YAAY,CAAC,MAA8B;QACzC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,aAAa,CAAC;QAExC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACjH,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,GAAG,EAAE,SAAS;YACzB,MAAM,EAAE,GAAG,EAAE,MAAM;YACnB,SAAS,EAAE,GAAG,EAAE,SAAS;YACzB,WAAW,EAAE,IAAI,EAAE,WAAW;YAC9B,aAAa,EAAE,IAAI,EAAE,aAAa;SACnC,CAAC;QAEF,wDAAwD;QAExD,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAiC,CAAC;QAClE,OAAO,IAAI,eAAe,CACxB,MAAM,EACN,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,UAAU,EACV,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAChD,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAClE,CAAC;IACJ,CAAC;CACF,CAAA;AAvCY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;IAME,WAAA,IAAA,iBAAQ,GAAE,CAAA;qCAAwB,uBAAU;GAL9C,aAAa,CAuCzB"}
|
|
@@ -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;
|
|
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"}
|