@carlonicora/nestjs-neo4jsonapi 1.93.0 → 1.95.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/graph.creator/services/graph.creator.service.d.ts +2 -0
- package/dist/agents/graph.creator/services/graph.creator.service.d.ts.map +1 -1
- package/dist/agents/graph.creator/services/graph.creator.service.js +8 -0
- package/dist/agents/graph.creator/services/graph.creator.service.js.map +1 -1
- package/dist/config/interfaces/config.ai.interface.d.ts +40 -0
- package/dist/config/interfaces/config.ai.interface.d.ts.map +1 -1
- package/dist/config/interfaces/config.ai.interface.js +18 -0
- package/dist/config/interfaces/config.ai.interface.js.map +1 -1
- package/dist/core/llm/common/llm-raw-response.d.ts +17 -0
- package/dist/core/llm/common/llm-raw-response.d.ts.map +1 -0
- package/dist/core/llm/common/llm-raw-response.js +7 -0
- package/dist/core/llm/common/llm-raw-response.js.map +1 -0
- package/dist/core/llm/llm.module.d.ts.map +1 -1
- package/dist/core/llm/llm.module.js +12 -1
- package/dist/core/llm/llm.module.js.map +1 -1
- package/dist/core/llm/services/audio.llm.service.js +1 -1
- package/dist/core/llm/services/audio.llm.service.js.map +1 -1
- package/dist/core/llm/services/llm-cache.service.d.ts +59 -0
- package/dist/core/llm/services/llm-cache.service.d.ts.map +1 -0
- package/dist/core/llm/services/llm-cache.service.js +118 -0
- package/dist/core/llm/services/llm-cache.service.js.map +1 -0
- package/dist/core/llm/services/llm-call-dumper.service.d.ts +14 -0
- package/dist/core/llm/services/llm-call-dumper.service.d.ts.map +1 -1
- package/dist/core/llm/services/llm-call-dumper.service.js +95 -3
- package/dist/core/llm/services/llm-call-dumper.service.js.map +1 -1
- package/dist/core/llm/services/llm.service.d.ts +28 -23
- package/dist/core/llm/services/llm.service.d.ts.map +1 -1
- package/dist/core/llm/services/llm.service.js +185 -65
- package/dist/core/llm/services/llm.service.js.map +1 -1
- package/dist/core/llm/services/model.service.d.ts +30 -0
- package/dist/core/llm/services/model.service.d.ts.map +1 -1
- package/dist/core/llm/services/model.service.js +136 -23
- package/dist/core/llm/services/model.service.js.map +1 -1
- package/dist/core/llm/services/vision.llm.service.d.ts.map +1 -1
- package/dist/core/llm/services/vision.llm.service.js +3 -8
- package/dist/core/llm/services/vision.llm.service.js.map +1 -1
- package/dist/foundations/chunk/services/chunk.service.d.ts +1 -3
- package/dist/foundations/chunk/services/chunk.service.d.ts.map +1 -1
- package/dist/foundations/chunk/services/chunk.service.js +3 -11
- package/dist/foundations/chunk/services/chunk.service.js.map +1 -1
- package/dist/foundations/tokenusage/enums/tokenusage.type.d.ts +11 -10
- package/dist/foundations/tokenusage/enums/tokenusage.type.d.ts.map +1 -1
- package/dist/foundations/tokenusage/enums/tokenusage.type.js +10 -11
- package/dist/foundations/tokenusage/enums/tokenusage.type.js.map +1 -1
- package/dist/foundations/tokenusage/repositories/tokenusage.repository.d.ts +1 -2
- package/dist/foundations/tokenusage/repositories/tokenusage.repository.d.ts.map +1 -1
- package/dist/foundations/tokenusage/repositories/tokenusage.repository.js.map +1 -1
- package/dist/foundations/tokenusage/services/tokenusage.service.d.ts +11 -2
- package/dist/foundations/tokenusage/services/tokenusage.service.d.ts.map +1 -1
- package/dist/foundations/tokenusage/services/tokenusage.service.js +16 -7
- package/dist/foundations/tokenusage/services/tokenusage.service.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenusage.repository.js","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/repositories/tokenusage.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA0D;AAC1D,8EAA0E;AAC1E,+EAA2E;
|
|
1
|
+
{"version":3,"file":"tokenusage.repository.js","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/repositories/tokenusage.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA0D;AAC1D,8EAA0E;AAC1E,+EAA2E;AAGpE,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,YAA6B,KAAmB;QAAnB,UAAK,GAAL,KAAK,CAAc;IAAG,CAAC;IAEpD,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACxB,KAAK,EAAE,qBAAqB,gCAAc,CAAC,QAAQ,0BAA0B,gCAAc,CAAC,QAAQ,IAAI,gCAAc,CAAC,SAAS,aAAa,gCAAc,CAAC,QAAQ,eAAe;SACpL,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAQZ;QACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAErC,KAAK,CAAC,WAAW,GAAG;YAClB,GAAG,KAAK,CAAC,WAAW;YACpB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC;SACvB,CAAC;QAEF,KAAK,CAAC,KAAK,IAAI;;;;;;;;;;;;;yBAaM,MAAM,CAAC,gBAAgB;;KAE3C,CAAC;QAEF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;CACF,CAAA;AAjDY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAEyB,4BAAY;GADrC,oBAAoB,CAiDhC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ConfigService } from "@nestjs/config";
|
|
2
2
|
import { BaseConfigInterface } from "../../../config/interfaces";
|
|
3
3
|
import { TokenUsageInterface } from "../../../common/interfaces/token.usage.interface";
|
|
4
|
-
import { TokenUsageType } from "../../tokenusage/enums/tokenusage.type";
|
|
5
4
|
import { TokenUsageRepository } from "../../tokenusage/repositories/tokenusage.repository";
|
|
6
5
|
import { ModelWeight } from "../../../core/llm/enums/model.weight";
|
|
7
6
|
export declare class TokenUsageService {
|
|
@@ -10,9 +9,19 @@ export declare class TokenUsageService {
|
|
|
10
9
|
constructor(tokenUsageRepository: TokenUsageRepository, configService: ConfigService<BaseConfigInterface>);
|
|
11
10
|
private get aiConfig();
|
|
12
11
|
private configForWeight;
|
|
12
|
+
/**
|
|
13
|
+
* Computes the monetary cost of a call from the per-tier rates in config
|
|
14
|
+
* (`inputCostPer1MTokens` / `outputCostPer1MTokens`). Single source of truth —
|
|
15
|
+
* used both for persistence and for surfacing cost in ephemeral telemetry.
|
|
16
|
+
*/
|
|
17
|
+
computeCost(params: {
|
|
18
|
+
tokens: TokenUsageInterface;
|
|
19
|
+
useVisionCosts?: boolean;
|
|
20
|
+
modelWeight?: ModelWeight;
|
|
21
|
+
}): number;
|
|
13
22
|
recordTokenUsage(params: {
|
|
14
23
|
tokens: TokenUsageInterface;
|
|
15
|
-
type:
|
|
24
|
+
type: string;
|
|
16
25
|
relationshipId: string;
|
|
17
26
|
relationshipType: string;
|
|
18
27
|
useVisionCosts?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenusage.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/services/tokenusage.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAqB,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tokenusage.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/services/tokenusage.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAqB,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,qBACa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,oBAAoB,EAAE,oBAAoB,EAC1C,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAGpE,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,CAAC,eAAe;IAWvB;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,mBAAmB,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,MAAM;IAO3G,gBAAgB,CAAC,MAAM,EAAE;QAC7B,MAAM,EAAE,mBAAmB,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBlB"}
|
|
@@ -33,14 +33,23 @@ let TokenUsageService = class TokenUsageService {
|
|
|
33
33
|
return this.aiConfig.ai;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Computes the monetary cost of a call from the per-tier rates in config
|
|
38
|
+
* (`inputCostPer1MTokens` / `outputCostPer1MTokens`). Single source of truth —
|
|
39
|
+
* used both for persistence and for surfacing cost in ephemeral telemetry.
|
|
40
|
+
*/
|
|
41
|
+
computeCost(params) {
|
|
38
42
|
const costConfig = params.useVisionCosts ? this.aiConfig.vision : this.configForWeight(params.modelWeight);
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
const inputCost = (params.tokens.input / 1_000_000) * (costConfig.inputCostPer1MTokens ?? 0);
|
|
44
|
+
const outputCost = (params.tokens.output / 1_000_000) * (costConfig.outputCostPer1MTokens ?? 0);
|
|
45
|
+
return inputCost + outputCost;
|
|
46
|
+
}
|
|
47
|
+
async recordTokenUsage(params) {
|
|
48
|
+
const cost = this.computeCost({
|
|
49
|
+
tokens: params.tokens,
|
|
50
|
+
useVisionCosts: params.useVisionCosts,
|
|
51
|
+
modelWeight: params.modelWeight,
|
|
52
|
+
});
|
|
44
53
|
await this.tokenUsageRepository.create({
|
|
45
54
|
id: (0, crypto_1.randomUUID)(),
|
|
46
55
|
tokenUsageType: params.type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenusage.service.js","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/services/tokenusage.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAA+C;AAC/C,mCAAoC;
|
|
1
|
+
{"version":3,"file":"tokenusage.service.js","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/services/tokenusage.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAA+C;AAC/C,mCAAoC;AAGpC,+FAA2F;AAC3F,uEAAmE;AAG5D,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YACmB,oBAA0C,EAC1C,aAAiD;QADjD,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,kBAAa,GAAb,aAAa,CAAoC;IACjE,CAAC;IAEJ,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAoB,IAAI,CAAC,CAAC;IACzD,CAAC;IAEO,eAAe,CAAC,MAAoB;QAC1C,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,0BAAW,CAAC,IAAI;gBACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC9B,KAAK,0BAAW,CAAC,KAAK;gBACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC/B;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,MAA4F;QACtG,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3G,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC;QAC7F,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC;QAChG,OAAO,SAAS,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAOtB;QACC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;YACrC,EAAE,EAAE,IAAA,mBAAU,GAAE;YAChB,cAAc,EAAE,MAAM,CAAC,IAAI;YAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;YAChC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;YAClC,IAAI,EAAE,IAAI;YACV,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;SAC1C,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAzDY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAG8B,4CAAoB;QAC3B,sBAAa;GAHpC,iBAAiB,CAyD7B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carlonicora/nestjs-neo4jsonapi",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.95.0",
|
|
4
4
|
"description": "NestJS foundation package with JSON:API, Neo4j, Redis, LangChain agents, and common utilities",
|
|
5
5
|
"author": "Carlo Nicora",
|
|
6
6
|
"license": "GPL-3.0-or-later",
|
|
@@ -74,6 +74,7 @@
|
|
|
74
74
|
"@langchain/langgraph": "^1.3.2",
|
|
75
75
|
"@langchain/openai": "^1.4.7",
|
|
76
76
|
"@langchain/textsplitters": "^1.0.1",
|
|
77
|
+
"langsmith": "^0.7.5",
|
|
77
78
|
"@opentelemetry/api": "^1.9.1",
|
|
78
79
|
"@opentelemetry/exporter-trace-otlp-http": "^0.218.0",
|
|
79
80
|
"@opentelemetry/instrumentation-http": "^0.218.0",
|