@carlonicora/nestjs-neo4jsonapi 2.3.1 → 2.4.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 (216) hide show
  1. package/dist/agents/common/usage-attribution.d.ts +218 -0
  2. package/dist/agents/common/usage-attribution.d.ts.map +1 -0
  3. package/dist/agents/common/usage-attribution.js +235 -0
  4. package/dist/agents/common/usage-attribution.js.map +1 -0
  5. package/dist/agents/community.summariser/services/community.summariser.service.d.ts.map +1 -1
  6. package/dist/agents/community.summariser/services/community.summariser.service.js +13 -1
  7. package/dist/agents/community.summariser/services/community.summariser.service.js.map +1 -1
  8. package/dist/agents/contextualiser/contexts/contextualiser.context.d.ts +24 -1
  9. package/dist/agents/contextualiser/contexts/contextualiser.context.d.ts.map +1 -1
  10. package/dist/agents/contextualiser/contexts/contextualiser.context.js +32 -0
  11. package/dist/agents/contextualiser/contexts/contextualiser.context.js.map +1 -1
  12. package/dist/agents/contextualiser/factories/contextualiser.context.factory.d.ts +7 -0
  13. package/dist/agents/contextualiser/factories/contextualiser.context.factory.d.ts.map +1 -1
  14. package/dist/agents/contextualiser/factories/contextualiser.context.factory.js +5 -0
  15. package/dist/agents/contextualiser/factories/contextualiser.context.factory.js.map +1 -1
  16. package/dist/agents/contextualiser/nodes/atomicfacts.node.service.d.ts.map +1 -1
  17. package/dist/agents/contextualiser/nodes/atomicfacts.node.service.js +4 -0
  18. package/dist/agents/contextualiser/nodes/atomicfacts.node.service.js.map +1 -1
  19. package/dist/agents/contextualiser/nodes/chunk.node.service.d.ts.map +1 -1
  20. package/dist/agents/contextualiser/nodes/chunk.node.service.js +4 -0
  21. package/dist/agents/contextualiser/nodes/chunk.node.service.js.map +1 -1
  22. package/dist/agents/contextualiser/nodes/chunk.vector.node.service.d.ts.map +1 -1
  23. package/dist/agents/contextualiser/nodes/chunk.vector.node.service.js +15 -0
  24. package/dist/agents/contextualiser/nodes/chunk.vector.node.service.js.map +1 -1
  25. package/dist/agents/contextualiser/nodes/keyconcepts.node.service.d.ts.map +1 -1
  26. package/dist/agents/contextualiser/nodes/keyconcepts.node.service.js +11 -0
  27. package/dist/agents/contextualiser/nodes/keyconcepts.node.service.js.map +1 -1
  28. package/dist/agents/contextualiser/nodes/question.refiner.node.service.d.ts.map +1 -1
  29. package/dist/agents/contextualiser/nodes/question.refiner.node.service.js +4 -0
  30. package/dist/agents/contextualiser/nodes/question.refiner.node.service.js.map +1 -1
  31. package/dist/agents/contextualiser/nodes/rational.node.service.d.ts.map +1 -1
  32. package/dist/agents/contextualiser/nodes/rational.node.service.js +4 -0
  33. package/dist/agents/contextualiser/nodes/rational.node.service.js.map +1 -1
  34. package/dist/agents/contextualiser/services/contextualiser.service.d.ts +7 -0
  35. package/dist/agents/contextualiser/services/contextualiser.service.d.ts.map +1 -1
  36. package/dist/agents/contextualiser/services/contextualiser.service.js +17 -5
  37. package/dist/agents/contextualiser/services/contextualiser.service.js.map +1 -1
  38. package/dist/agents/drift/contexts/drift.context.d.ts +25 -1
  39. package/dist/agents/drift/contexts/drift.context.d.ts.map +1 -1
  40. package/dist/agents/drift/contexts/drift.context.js +32 -0
  41. package/dist/agents/drift/contexts/drift.context.js.map +1 -1
  42. package/dist/agents/drift/nodes/followup.node.service.d.ts.map +1 -1
  43. package/dist/agents/drift/nodes/followup.node.service.js +4 -0
  44. package/dist/agents/drift/nodes/followup.node.service.js.map +1 -1
  45. package/dist/agents/drift/nodes/hyde.node.service.d.ts.map +1 -1
  46. package/dist/agents/drift/nodes/hyde.node.service.js +9 -1
  47. package/dist/agents/drift/nodes/hyde.node.service.js.map +1 -1
  48. package/dist/agents/drift/nodes/primer.answer.node.service.d.ts.map +1 -1
  49. package/dist/agents/drift/nodes/primer.answer.node.service.js +4 -0
  50. package/dist/agents/drift/nodes/primer.answer.node.service.js.map +1 -1
  51. package/dist/agents/drift/nodes/synthesis.node.service.d.ts.map +1 -1
  52. package/dist/agents/drift/nodes/synthesis.node.service.js +4 -0
  53. package/dist/agents/drift/nodes/synthesis.node.service.js.map +1 -1
  54. package/dist/agents/drift/services/drift.search.service.d.ts +9 -0
  55. package/dist/agents/drift/services/drift.search.service.d.ts.map +1 -1
  56. package/dist/agents/drift/services/drift.search.service.js +22 -5
  57. package/dist/agents/drift/services/drift.search.service.js.map +1 -1
  58. package/dist/agents/graph/services/graph.search.service.d.ts.map +1 -1
  59. package/dist/agents/graph/services/graph.search.service.js +10 -1
  60. package/dist/agents/graph/services/graph.search.service.js.map +1 -1
  61. package/dist/agents/graph/tools/tool.factory.d.ts +6 -0
  62. package/dist/agents/graph/tools/tool.factory.d.ts.map +1 -1
  63. package/dist/agents/graph/tools/tool.factory.js.map +1 -1
  64. package/dist/agents/index.d.ts +1 -0
  65. package/dist/agents/index.d.ts.map +1 -1
  66. package/dist/agents/index.js.map +1 -1
  67. package/dist/agents/operator/contexts/operator.context.d.ts +37 -1
  68. package/dist/agents/operator/contexts/operator.context.d.ts.map +1 -1
  69. package/dist/agents/operator/contexts/operator.context.js +8 -0
  70. package/dist/agents/operator/contexts/operator.context.js.map +1 -1
  71. package/dist/agents/operator/interfaces/operator.tool.interface.d.ts +8 -0
  72. package/dist/agents/operator/interfaces/operator.tool.interface.d.ts.map +1 -1
  73. package/dist/agents/operator/interfaces/operator.tool.interface.js.map +1 -1
  74. package/dist/agents/operator/services/operator.service.d.ts +8 -0
  75. package/dist/agents/operator/services/operator.service.d.ts.map +1 -1
  76. package/dist/agents/operator/services/operator.service.js +29 -0
  77. package/dist/agents/operator/services/operator.service.js.map +1 -1
  78. package/dist/agents/operator/tools/operator.tool.registry.d.ts.map +1 -1
  79. package/dist/agents/operator/tools/operator.tool.registry.js +2 -1
  80. package/dist/agents/operator/tools/operator.tool.registry.js.map +1 -1
  81. package/dist/agents/operator/tools/search-communities.tool.d.ts +8 -2
  82. package/dist/agents/operator/tools/search-communities.tool.d.ts.map +1 -1
  83. package/dist/agents/operator/tools/search-communities.tool.js +16 -4
  84. package/dist/agents/operator/tools/search-communities.tool.js.map +1 -1
  85. package/dist/agents/operator/tools/search-documents.tool.d.ts.map +1 -1
  86. package/dist/agents/operator/tools/search-documents.tool.js +5 -0
  87. package/dist/agents/operator/tools/search-documents.tool.js.map +1 -1
  88. package/dist/agents/responder/contexts/responder.context.d.ts +31 -0
  89. package/dist/agents/responder/contexts/responder.context.d.ts.map +1 -1
  90. package/dist/agents/responder/contexts/responder.context.js +8 -0
  91. package/dist/agents/responder/contexts/responder.context.js.map +1 -1
  92. package/dist/agents/responder/factories/responder.context.factory.d.ts +4 -0
  93. package/dist/agents/responder/factories/responder.context.factory.d.ts.map +1 -1
  94. package/dist/agents/responder/factories/responder.context.factory.js +2 -0
  95. package/dist/agents/responder/factories/responder.context.factory.js.map +1 -1
  96. package/dist/agents/responder/nodes/graph.node.service.d.ts +6 -0
  97. package/dist/agents/responder/nodes/graph.node.service.d.ts.map +1 -1
  98. package/dist/agents/responder/nodes/graph.node.service.js +20 -0
  99. package/dist/agents/responder/nodes/graph.node.service.js.map +1 -1
  100. package/dist/agents/responder/nodes/planner.node.service.d.ts.map +1 -1
  101. package/dist/agents/responder/nodes/planner.node.service.js +9 -0
  102. package/dist/agents/responder/nodes/planner.node.service.js.map +1 -1
  103. package/dist/agents/responder/nodes/responder.answer.node.service.d.ts.map +1 -1
  104. package/dist/agents/responder/nodes/responder.answer.node.service.js +9 -0
  105. package/dist/agents/responder/nodes/responder.answer.node.service.js.map +1 -1
  106. package/dist/agents/responder/services/responder.service.d.ts +16 -0
  107. package/dist/agents/responder/services/responder.service.d.ts.map +1 -1
  108. package/dist/agents/responder/services/responder.service.js +29 -5
  109. package/dist/agents/responder/services/responder.service.js.map +1 -1
  110. package/dist/agents/summariser/services/summariser.service.d.ts +7 -0
  111. package/dist/agents/summariser/services/summariser.service.d.ts.map +1 -1
  112. package/dist/agents/summariser/services/summariser.service.js +15 -3
  113. package/dist/agents/summariser/services/summariser.service.js.map +1 -1
  114. package/dist/common/helpers/index.d.ts +1 -0
  115. package/dist/common/helpers/index.d.ts.map +1 -1
  116. package/dist/common/helpers/index.js +1 -0
  117. package/dist/common/helpers/index.js.map +1 -1
  118. package/dist/common/helpers/map-with-concurrency.d.ts +23 -0
  119. package/dist/common/helpers/map-with-concurrency.d.ts.map +1 -0
  120. package/dist/common/helpers/map-with-concurrency.js +60 -0
  121. package/dist/common/helpers/map-with-concurrency.js.map +1 -0
  122. package/dist/common/tokens.d.ts +2 -1
  123. package/dist/common/tokens.d.ts.map +1 -1
  124. package/dist/common/tokens.js +2 -1
  125. package/dist/common/tokens.js.map +1 -1
  126. package/dist/config/base.config.d.ts +19 -0
  127. package/dist/config/base.config.d.ts.map +1 -1
  128. package/dist/config/base.config.js +30 -3
  129. package/dist/config/base.config.js.map +1 -1
  130. package/dist/config/interfaces/config.ai.interface.d.ts +10 -1
  131. package/dist/config/interfaces/config.ai.interface.d.ts.map +1 -1
  132. package/dist/config/interfaces/config.chunk.queues.interface.d.ts +13 -0
  133. package/dist/config/interfaces/config.chunk.queues.interface.d.ts.map +1 -1
  134. package/dist/config/interfaces/config.credits.interface.d.ts +1 -1
  135. package/dist/core/llm/services/audio.llm.service.d.ts +70 -1
  136. package/dist/core/llm/services/audio.llm.service.d.ts.map +1 -1
  137. package/dist/core/llm/services/audio.llm.service.js +118 -3
  138. package/dist/core/llm/services/audio.llm.service.js.map +1 -1
  139. package/dist/core/llm/services/document-ai.service.d.ts +6 -0
  140. package/dist/core/llm/services/document-ai.service.d.ts.map +1 -1
  141. package/dist/core/llm/services/document-ai.service.js +1 -0
  142. package/dist/core/llm/services/document-ai.service.js.map +1 -1
  143. package/dist/core/llm/services/embedder.service.d.ts +105 -0
  144. package/dist/core/llm/services/embedder.service.d.ts.map +1 -1
  145. package/dist/core/llm/services/embedder.service.js +237 -7
  146. package/dist/core/llm/services/embedder.service.js.map +1 -1
  147. package/dist/core/llm/services/llm.service.d.ts +103 -6
  148. package/dist/core/llm/services/llm.service.d.ts.map +1 -1
  149. package/dist/core/llm/services/llm.service.js +570 -148
  150. package/dist/core/llm/services/llm.service.js.map +1 -1
  151. package/dist/core/llm/services/model.service.d.ts +25 -0
  152. package/dist/core/llm/services/model.service.d.ts.map +1 -1
  153. package/dist/core/llm/services/model.service.js +76 -4
  154. package/dist/core/llm/services/model.service.js.map +1 -1
  155. package/dist/core/llm/utils/repair-truncated-json.d.ts +29 -0
  156. package/dist/core/llm/utils/repair-truncated-json.d.ts.map +1 -0
  157. package/dist/core/llm/utils/repair-truncated-json.js +111 -0
  158. package/dist/core/llm/utils/repair-truncated-json.js.map +1 -0
  159. package/dist/foundations/assistant/services/assistant.service.d.ts.map +1 -1
  160. package/dist/foundations/assistant/services/assistant.service.js +12 -0
  161. package/dist/foundations/assistant/services/assistant.service.js.map +1 -1
  162. package/dist/foundations/atomicfact/services/atomicfact.service.d.ts +7 -0
  163. package/dist/foundations/atomicfact/services/atomicfact.service.d.ts.map +1 -1
  164. package/dist/foundations/atomicfact/services/atomicfact.service.js +6 -0
  165. package/dist/foundations/atomicfact/services/atomicfact.service.js.map +1 -1
  166. package/dist/foundations/chunk/processors/chunk.processor.d.ts.map +1 -1
  167. package/dist/foundations/chunk/processors/chunk.processor.js +7 -1
  168. package/dist/foundations/chunk/processors/chunk.processor.js.map +1 -1
  169. package/dist/foundations/chunk/repositories/chunk.repository.d.ts +90 -2
  170. package/dist/foundations/chunk/repositories/chunk.repository.d.ts.map +1 -1
  171. package/dist/foundations/chunk/repositories/chunk.repository.js +205 -31
  172. package/dist/foundations/chunk/repositories/chunk.repository.js.map +1 -1
  173. package/dist/foundations/chunk/services/chunk.service.d.ts.map +1 -1
  174. package/dist/foundations/chunk/services/chunk.service.js +50 -1
  175. package/dist/foundations/chunk/services/chunk.service.js.map +1 -1
  176. package/dist/foundations/chunker/chunker.module.d.ts.map +1 -1
  177. package/dist/foundations/chunker/chunker.module.js +4 -1
  178. package/dist/foundations/chunker/chunker.module.js.map +1 -1
  179. package/dist/foundations/chunker/services/chunker.service.d.ts +57 -1
  180. package/dist/foundations/chunker/services/chunker.service.d.ts.map +1 -1
  181. package/dist/foundations/chunker/services/chunker.service.js +207 -16
  182. package/dist/foundations/chunker/services/chunker.service.js.map +1 -1
  183. package/dist/foundations/chunker/services/types/pdf.service.d.ts +42 -1
  184. package/dist/foundations/chunker/services/types/pdf.service.d.ts.map +1 -1
  185. package/dist/foundations/chunker/services/types/pdf.service.js +111 -22
  186. package/dist/foundations/chunker/services/types/pdf.service.js.map +1 -1
  187. package/dist/foundations/chunker/services/types/semanticsplitter.service.d.ts.map +1 -1
  188. package/dist/foundations/chunker/services/types/semanticsplitter.service.js +24 -3
  189. package/dist/foundations/chunker/services/types/semanticsplitter.service.js.map +1 -1
  190. package/dist/foundations/company/repositories/company.repository.d.ts +1 -1
  191. package/dist/foundations/company/repositories/company.repository.d.ts.map +1 -1
  192. package/dist/foundations/company/repositories/company.repository.js +31 -14
  193. package/dist/foundations/company/repositories/company.repository.js.map +1 -1
  194. package/dist/foundations/how-to/processors/how-to.processor.d.ts.map +1 -1
  195. package/dist/foundations/how-to/processors/how-to.processor.js +20 -7
  196. package/dist/foundations/how-to/processors/how-to.processor.js.map +1 -1
  197. package/dist/foundations/keyconcept/repositories/keyconcept.repository.d.ts +25 -1
  198. package/dist/foundations/keyconcept/repositories/keyconcept.repository.d.ts.map +1 -1
  199. package/dist/foundations/keyconcept/repositories/keyconcept.repository.js +38 -2
  200. package/dist/foundations/keyconcept/repositories/keyconcept.repository.js.map +1 -1
  201. package/dist/foundations/keyconcept/services/keyconcept.service.d.ts +5 -0
  202. package/dist/foundations/keyconcept/services/keyconcept.service.d.ts.map +1 -1
  203. package/dist/foundations/keyconcept/services/keyconcept.service.js +4 -0
  204. package/dist/foundations/keyconcept/services/keyconcept.service.js.map +1 -1
  205. package/dist/foundations/tokenusage/entities/tokenusage.js +1 -1
  206. package/dist/foundations/tokenusage/enums/tokenusage.type.d.ts +4 -1
  207. package/dist/foundations/tokenusage/enums/tokenusage.type.d.ts.map +1 -1
  208. package/dist/foundations/tokenusage/enums/tokenusage.type.js +3 -0
  209. package/dist/foundations/tokenusage/enums/tokenusage.type.js.map +1 -1
  210. package/dist/foundations/tokenusage/repositories/tokenusage.admin.repository.js +3 -3
  211. package/dist/foundations/tokenusage/repositories/tokenusage.repository.js +2 -2
  212. package/dist/foundations/tokenusage/services/tokenusage.service.d.ts +6 -1
  213. package/dist/foundations/tokenusage/services/tokenusage.service.d.ts.map +1 -1
  214. package/dist/foundations/tokenusage/services/tokenusage.service.js +7 -2
  215. package/dist/foundations/tokenusage/services/tokenusage.service.js.map +1 -1
  216. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC"}
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./define-entity"), exports);
18
+ __exportStar(require("./map-with-concurrency"), exports);
18
19
  __exportStar(require("./neo4j-date"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,yDAAuC;AACvC,+CAA6B"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Maps `items` through `fn` with AT MOST `limit` invocations in flight.
3
+ *
4
+ * Why this exists: `Promise.all(items.map(fn))` starts EVERY task at once. On a
5
+ * per-chunk LLM fan-out that means one socket and one full request payload per
6
+ * chunk, simultaneously — which is how a 760-page cost-test run produced a burst
7
+ * of 28 `ENOTFOUND` DNS failures (the resolver was swamped) while also pinning
8
+ * every in-flight prompt in the heap at the same moment. Bounding the fan-out
9
+ * fixes both: a fixed number of sockets, and a fixed number of live payloads.
10
+ *
11
+ * Semantics:
12
+ * - Results come back in INPUT order, regardless of completion order.
13
+ * - Never more than `limit` calls to `fn` are pending at any instant.
14
+ * - The FIRST rejection is remembered and rethrown, but only AFTER every worker
15
+ * has drained; no new item is started once a rejection has been seen, so a
16
+ * doomed batch stops spending. Nothing is left running behind the throw.
17
+ * - An empty `items` resolves to `[]` without calling `fn`.
18
+ *
19
+ * `limit` is clamped to at least 1 and never exceeds `items.length`, so callers
20
+ * may pass a configured value without guarding it.
21
+ */
22
+ export declare function mapWithConcurrency<T, R>(items: readonly T[], limit: number, fn: (item: T, index: number) => Promise<R>): Promise<R[]>;
23
+ //# sourceMappingURL=map-with-concurrency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-with-concurrency.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/map-with-concurrency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAC3C,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,CAAC,EAAE,CAAC,CAkCd"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapWithConcurrency = mapWithConcurrency;
4
+ /**
5
+ * Maps `items` through `fn` with AT MOST `limit` invocations in flight.
6
+ *
7
+ * Why this exists: `Promise.all(items.map(fn))` starts EVERY task at once. On a
8
+ * per-chunk LLM fan-out that means one socket and one full request payload per
9
+ * chunk, simultaneously — which is how a 760-page cost-test run produced a burst
10
+ * of 28 `ENOTFOUND` DNS failures (the resolver was swamped) while also pinning
11
+ * every in-flight prompt in the heap at the same moment. Bounding the fan-out
12
+ * fixes both: a fixed number of sockets, and a fixed number of live payloads.
13
+ *
14
+ * Semantics:
15
+ * - Results come back in INPUT order, regardless of completion order.
16
+ * - Never more than `limit` calls to `fn` are pending at any instant.
17
+ * - The FIRST rejection is remembered and rethrown, but only AFTER every worker
18
+ * has drained; no new item is started once a rejection has been seen, so a
19
+ * doomed batch stops spending. Nothing is left running behind the throw.
20
+ * - An empty `items` resolves to `[]` without calling `fn`.
21
+ *
22
+ * `limit` is clamped to at least 1 and never exceeds `items.length`, so callers
23
+ * may pass a configured value without guarding it.
24
+ */
25
+ async function mapWithConcurrency(items, limit, fn) {
26
+ const results = new Array(items.length);
27
+ if (items.length === 0)
28
+ return results;
29
+ const workerCount = Math.min(Math.max(1, Math.floor(limit) || 1), items.length);
30
+ let cursor = 0;
31
+ let failed = false;
32
+ let firstError;
33
+ const worker = async () => {
34
+ for (;;) {
35
+ // A rejection elsewhere stops this worker from claiming more work; the
36
+ // items already in flight still finish so nothing is orphaned.
37
+ if (failed)
38
+ return;
39
+ const index = cursor;
40
+ if (index >= items.length)
41
+ return;
42
+ cursor += 1;
43
+ try {
44
+ results[index] = await fn(items[index], index);
45
+ }
46
+ catch (error) {
47
+ if (!failed) {
48
+ failed = true;
49
+ firstError = error;
50
+ }
51
+ return;
52
+ }
53
+ }
54
+ };
55
+ await Promise.all(Array.from({ length: workerCount }, () => worker()));
56
+ if (failed)
57
+ throw firstError;
58
+ return results;
59
+ }
60
+ //# sourceMappingURL=map-with-concurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-with-concurrency.js","sourceRoot":"","sources":["../../../src/common/helpers/map-with-concurrency.ts"],"names":[],"mappings":";;AAqBA,gDAsCC;AA3DD;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,KAAK,UAAU,kBAAkB,CACtC,KAAmB,EACnB,KAAa,EACb,EAA0C;IAE1C,MAAM,OAAO,GAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAEvC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEhF,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,UAAmB,CAAC;IAExB,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;QACvC,SAAS,CAAC;YACR,uEAAuE;YACvE,+DAA+D;YAC/D,IAAI,MAAM;gBAAE,OAAO;YACnB,MAAM,KAAK,GAAG,MAAM,CAAC;YACrB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO;YAClC,MAAM,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,GAAG,IAAI,CAAC;oBACd,UAAU,GAAG,KAAK,CAAC;gBACrB,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEvE,IAAI,MAAM;QAAE,MAAM,UAAU,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -55,7 +55,8 @@ export interface AuthContextHookInterface {
55
55
  * go through this token (`@Optional() @Inject(TOKEN_USAGE_RECORDER)` with the
56
56
  * same `?? tokenUsageService` fallback) rather than injecting
57
57
  * `TokenUsageService` directly. Injecting the class re-opens the bypass this
58
- * seam closes. `LLMService` is currently the only such caller.
58
+ * seam closes. Current callers: `LLMService`, `EmbedderService` and
59
+ * `AudioLLMService`.
59
60
  */
60
61
  export declare const TOKEN_USAGE_RECORDER: unique symbol;
61
62
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/common/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAE9E;;;;GAIG;AAGH,eAAO,MAAM,YAAY,eAAyB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,eAAe,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,gBAAgB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC5F;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,CAAC,MAAM,EAAE;QACvB,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;QAC1B,sJAAsJ;QACtJ,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,6HAA6H;QAC7H,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/common/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAE9E;;;;GAIG;AAGH,eAAO,MAAM,YAAY,eAAyB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,eAAe,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,gBAAgB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC5F;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,CAAC,MAAM,EAAE;QACvB,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;QAC1B,sJAAsJ;QACtJ,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,6HAA6H;QAC7H,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB"}
@@ -40,7 +40,8 @@ exports.AUTH_CONTEXT_HOOK = Symbol("AUTH_CONTEXT_HOOK");
40
40
  * go through this token (`@Optional() @Inject(TOKEN_USAGE_RECORDER)` with the
41
41
  * same `?? tokenUsageService` fallback) rather than injecting
42
42
  * `TokenUsageService` directly. Injecting the class re-opens the bypass this
43
- * seam closes. `LLMService` is currently the only such caller.
43
+ * seam closes. Current callers: `LLMService`, `EmbedderService` and
44
+ * `AudioLLMService`.
44
45
  */
45
46
  exports.TOKEN_USAGE_RECORDER = Symbol("TOKEN_USAGE_RECORDER");
46
47
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/common/tokens.ts"],"names":[],"mappings":";;;AAIA;;;;GAIG;AAEH,8BAA8B;AACjB,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAUnD;;;;;;;;;GASG;AACU,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAS7D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACU,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/common/tokens.ts"],"names":[],"mappings":";;;AAIA;;;;GAIG;AAEH,8BAA8B;AACjB,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAUnD;;;;;;;;;GASG;AACU,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAS7D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACU,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC"}
@@ -6,6 +6,25 @@ import { ConfigOperatorInterface } from "./interfaces/config.operator.interface"
6
6
  import { ConfigPromptsInterface } from "./interfaces/config.prompts.interface";
7
7
  import { ConfigResponderInterface } from "./interfaces/config.responder.interface";
8
8
  import { ConfigSummariserInterface } from "./interfaces/config.summariser.interface";
9
+ /**
10
+ * How many chunk jobs the CHUNK worker processes at once. Default 50 —
11
+ * historically a hardcoded literal on `ChunkProcessor`'s `@Processor` decorator.
12
+ *
13
+ * Exported as a MODULE-LEVEL CONSTANT rather than only as a config field because
14
+ * `@Processor(queue, { concurrency })` options are evaluated at DECORATION time,
15
+ * i.e. when the class is first loaded — long before NestJS instantiates
16
+ * `ConfigService`, so the processor cannot inject the value it needs. Resolving
17
+ * it here keeps the sole `process.env` read inside this file, which is the only
18
+ * place in the codebase allowed to touch the environment directly.
19
+ *
20
+ * The read is safe at import time: applications call `dotenv.config(...)` before
21
+ * importing the package (see `bootstrap`'s docblock), and TypeScript's CommonJS
22
+ * emit preserves that statement order.
23
+ *
24
+ * A non-numeric or non-positive value falls back to the default rather than
25
+ * producing `NaN`, which BullMQ would silently treat as unbounded.
26
+ */
27
+ export declare const CHUNK_QUEUE_CONCURRENCY: number;
9
28
  /**
10
29
  * Options for createBaseConfig
11
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base.config.d.ts","sourceRoot":"","sources":["../../src/config/base.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AA4DrF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAEnC;;;OAGG;IACH,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAEjC,yFAAyF;IACzF,SAAS,CAAC,EAAE,wBAAwB,CAAC;IAErC,gFAAgF;IAChF,UAAU,CAAC,EAAE,yBAAyB,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IAEnC;;;;OAIG;IACH,WAAW,CAAC,EAAE,0BAA0B,CAAC;IAEzC;;;OAGG;IACH,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAE3C;;;OAGG;IACH,QAAQ,CAAC,EAAE,uBAAuB,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,mBAAmB,CAsRjF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,UAAU,qBAAqB,CAAC"}
1
+ {"version":3,"file":"base.config.d.ts","sourceRoot":"","sources":["../../src/config/base.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AA4DrF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAGlC,CAAC;AAEL;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAEnC;;;OAGG;IACH,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAEjC,yFAAyF;IACzF,SAAS,CAAC,EAAE,wBAAwB,CAAC;IAErC,gFAAgF;IAChF,UAAU,CAAC,EAAE,yBAAyB,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IAEnC;;;;OAIG;IACH,WAAW,CAAC,EAAE,0BAA0B,CAAC;IAEzC;;;OAGG;IACH,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAE3C;;;OAGG;IACH,QAAQ,CAAC,EAAE,uBAAuB,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,mBAAmB,CA2RjF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,UAAU,qBAAqB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.baseConfig = void 0;
3
+ exports.baseConfig = exports.CHUNK_QUEUE_CONCURRENCY = void 0;
4
4
  exports.createBaseConfig = createBaseConfig;
5
5
  /**
6
6
  * Resolves one AI model tier from env. `suffix` is "" (normal), "_LITE", or
@@ -58,6 +58,28 @@ const buildAiTier = (suffix) => {
58
58
  googleCredentialsBase64: env("AI_GOOGLE_CREDENTIALS_BASE64"),
59
59
  };
60
60
  };
61
+ /**
62
+ * How many chunk jobs the CHUNK worker processes at once. Default 50 —
63
+ * historically a hardcoded literal on `ChunkProcessor`'s `@Processor` decorator.
64
+ *
65
+ * Exported as a MODULE-LEVEL CONSTANT rather than only as a config field because
66
+ * `@Processor(queue, { concurrency })` options are evaluated at DECORATION time,
67
+ * i.e. when the class is first loaded — long before NestJS instantiates
68
+ * `ConfigService`, so the processor cannot inject the value it needs. Resolving
69
+ * it here keeps the sole `process.env` read inside this file, which is the only
70
+ * place in the codebase allowed to touch the environment directly.
71
+ *
72
+ * The read is safe at import time: applications call `dotenv.config(...)` before
73
+ * importing the package (see `bootstrap`'s docblock), and TypeScript's CommonJS
74
+ * emit preserves that statement order.
75
+ *
76
+ * A non-numeric or non-positive value falls back to the default rather than
77
+ * producing `NaN`, which BullMQ would silently treat as unbounded.
78
+ */
79
+ exports.CHUNK_QUEUE_CONCURRENCY = (() => {
80
+ const parsed = parseInt(process.env.CHUNK_QUEUE_CONCURRENCY || "", 10);
81
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : 50;
82
+ })();
61
83
  /**
62
84
  * Creates the base configuration object from environment variables.
63
85
  *
@@ -203,6 +225,9 @@ function createBaseConfig(options) {
203
225
  model: process.env.DOCUMENT_AI_MODEL || "",
204
226
  url: process.env.DOCUMENT_AI_URL || "",
205
227
  apiVersion: process.env.DOCUMENT_AI_API_VERSION || "",
228
+ // € per OCR page (OCR is billed per page, not per token). Euros, like every
229
+ // other monetary value in this config — see config.credits.interface.ts.
230
+ costPerPage: Number(process.env.DOCUMENT_AI_COST_PER_PAGE) || 0,
206
231
  },
207
232
  ai: buildAiTier(""),
208
233
  aiLite: buildAiTier("_LITE"),
@@ -269,7 +294,7 @@ function createBaseConfig(options) {
269
294
  },
270
295
  },
271
296
  },
272
- // Billing unit: credits = max(minCreditsPerRecord, round2(cost / creditCost)),
297
+ // Billing unit: credits = max(minCreditsPerRecord, round4(cost / creditCost)),
273
298
  // with `cost` in EUROS. CREDIT_COST unset/0 disables credits entirely.
274
299
  credits: {
275
300
  creditCost: parseFloat(process.env.CREDIT_COST || "0"),
@@ -343,7 +368,9 @@ function createBaseConfig(options) {
343
368
  ocrLanguage: process.env.OCR_LANGUAGE || "eng",
344
369
  targetChars: parseInt(process.env.CHUNKER_TARGET_CHARS || "1500"),
345
370
  },
346
- chunkQueues: options?.chunkQueues ?? { queueIds: [] },
371
+ // `concurrency` is reported, never consumed: the CHUNK worker's decorator has
372
+ // already been evaluated by the time this runs (see CHUNK_QUEUE_CONCURRENCY).
373
+ chunkQueues: { ...(options?.chunkQueues ?? { queueIds: [] }), concurrency: exports.CHUNK_QUEUE_CONCURRENCY },
347
374
  contentTypes: options?.contentTypes ?? { types: [] },
348
375
  jobNames: options?.jobNames ?? { process: {}, notifications: {} },
349
376
  };
@@ -1 +1 @@
1
- {"version":3,"file":"base.config.js","sourceRoot":"","sources":["../../src/config/base.config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.config.js","sourceRoot":"","sources":["../../src/config/base.config.ts"],"names":[],"mappings":"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"}
@@ -118,7 +118,7 @@ export interface ConfigAiInterface {
118
118
  requestWatchdogMs: number;
119
119
  /**
120
120
  * Mistral Document AI (OCR) on Azure AI Foundry — see DocumentAiService.
121
- * Driven by DOCUMENT_AI_{ENABLED,PROVIDER,API_KEY,MODEL,URL,API_VERSION}.
121
+ * Driven by DOCUMENT_AI_{ENABLED,PROVIDER,API_KEY,MODEL,URL,API_VERSION,COST_PER_PAGE}.
122
122
  */
123
123
  documentAi: {
124
124
  enabled: boolean;
@@ -127,6 +127,15 @@ export interface ConfigAiInterface {
127
127
  model: string;
128
128
  url: string;
129
129
  apiVersion?: string;
130
+ /**
131
+ * € per OCR page, driven by DOCUMENT_AI_COST_PER_PAGE. OCR is billed per page and
132
+ * returns no token counts, so callers charge `pages * costPerPage` as the
133
+ * `costOverride` on the usage record. Like every monetary value in this config it is
134
+ * expressed in EUROS (see `config.credits.interface.ts` — "ALL monetary values here …
135
+ * are expressed in EUROS"). 0 or unset → OCR pages are free and no usage record is
136
+ * written for them.
137
+ */
138
+ costPerPage?: number;
130
139
  };
131
140
  /** Normal tier — the default model. */
132
141
  ai: AiTierConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.ai.interface.d.ts","sourceRoot":"","sources":["../../../src/config/interfaces/config.ai.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.ai.interface.d.ts","sourceRoot":"","sources":["../../../src/config/interfaces/config.ai.interface.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,18 @@ export interface ConfigChunkQueuesInterface {
12
12
  * The library's CHUNK queue is always registered automatically.
13
13
  */
14
14
  queueIds?: string[];
15
+ /**
16
+ * How many chunk jobs the library's CHUNK worker runs at once.
17
+ * Sourced from `CHUNK_QUEUE_CONCURRENCY` (default 50).
18
+ *
19
+ * READ-ONLY reporting of the value already in force. `@Processor(...)` options
20
+ * are evaluated when the class is DECORATED — long before NestJS builds this
21
+ * config object — so the worker reads the env-derived
22
+ * {@link CHUNK_QUEUE_CONCURRENCY} constant directly. Setting this field through
23
+ * `BaseConfigOptions.chunkQueues` therefore cannot change the worker; only the
24
+ * environment variable can. It is surfaced here so the running concurrency is
25
+ * inspectable through `ConfigService` like every other tunable.
26
+ */
27
+ concurrency?: number;
15
28
  }
16
29
  //# sourceMappingURL=config.chunk.queues.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.chunk.queues.interface.d.ts","sourceRoot":"","sources":["../../../src/config/interfaces/config.chunk.queues.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB"}
1
+ {"version":3,"file":"config.chunk.queues.interface.d.ts","sourceRoot":"","sources":["../../../src/config/interfaces/config.chunk.queues.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -2,7 +2,7 @@
2
2
  * Credits are the billing unit exposed to customers: a fractional, tier-accurate
3
3
  * conversion of the real provider cost of an AI call.
4
4
  *
5
- * `credits = max(minCreditsPerRecord, round2(cost / creditCost))`, where `cost`
5
+ * `credits = max(minCreditsPerRecord, round4(cost / creditCost))`, where `cost`
6
6
  * is the euro figure produced by `TokenUsageService.computeCost` (or an explicit
7
7
  * `costOverride`). ALL monetary values here — and every `*_COST_PER_1M_TOKENS`
8
8
  * env value feeding `cost` — are expressed in EUROS.
@@ -1,5 +1,7 @@
1
1
  import { ConfigService } from "@nestjs/config";
2
+ import { TokenUsageRecorderInterface } from "../../../common/tokens";
2
3
  import { BaseConfigInterface } from "../../../config/interfaces";
4
+ import { TokenUsageService } from "../../../foundations/tokenusage/services/tokenusage.service";
3
5
  import { type TranscodeOptions } from "./audio/ffmpeg-transcode";
4
6
  import { LLMCallDumper } from "./llm-call-dumper.service";
5
7
  import { ModelService } from "./model.service";
@@ -23,6 +25,19 @@ export interface AudioCallParams {
23
25
  * (high-pass, silence trim). Omit for the plain resample. See TranscodeOptions.
24
26
  */
25
27
  transcode?: TranscodeOptions;
28
+ /**
29
+ * Cost-attribution category written to the usage record. Free-form so each
30
+ * application owns its own vocabulary; defaults to "transcription".
31
+ */
32
+ tokenUsageType?: string;
33
+ /**
34
+ * Opt-in cost attribution, exactly like `LLMCallParams`: BOTH of these must
35
+ * be present or no usage record is written at all. The package stays
36
+ * domain-agnostic — the caller decides what the transcription is billed
37
+ * against (narr8: the Session the recording belongs to).
38
+ */
39
+ relationshipId?: string;
40
+ relationshipType?: string;
26
41
  }
27
42
  export interface TranscriptionResult {
28
43
  text: string;
@@ -64,9 +79,63 @@ export declare class AudioLLMService {
64
79
  private readonly modelService;
65
80
  private readonly config;
66
81
  private readonly dumper;
82
+ private readonly tokenUsageService?;
83
+ private readonly tokenUsageRecorder?;
67
84
  private readonly logger;
68
- constructor(modelService: ModelService, config: ConfigService<BaseConfigInterface>, dumper: LLMCallDumper);
85
+ constructor(modelService: ModelService, config: ConfigService<BaseConfigInterface>, dumper: LLMCallDumper, tokenUsageService?: TokenUsageService, tokenUsageRecorder?: TokenUsageRecorderInterface);
69
86
  call(params: AudioCallParams): Promise<TranscriptionResult>;
87
+ /**
88
+ * True once the "direct STT reports no tokens" warning has been emitted by
89
+ * this instance. The audio service is a singleton, so this throttles the
90
+ * warning to once per process instead of once per utterance.
91
+ */
92
+ private directPathUnbilledWarned;
93
+ /**
94
+ * Makes an unbillable engine LOUD instead of silent.
95
+ *
96
+ * The direct `/audio/transcriptions` engine (AUDIO_DIRECT_URL) reports no
97
+ * token counts at all, and the zero-token rule in {@link persistUsage} then
98
+ * writes no usage record — so switching an application to that engine
99
+ * silently turns transcription back into completely unbilled work. There is
100
+ * no per-minute rate to fall back on (`audioSeconds` is available on the
101
+ * result, but no price for it is configured anywhere), and inventing a token
102
+ * count would be a lie, so the honest fix is a warning that names the
103
+ * consequence. Emitted once per process — never in the hot per-utterance
104
+ * path beyond a boolean check.
105
+ */
106
+ private warnIfDirectPathUnbilled;
107
+ /**
108
+ * Records transcription usage. Attribution is opt-in — same contract as
109
+ * `LLMService.persistUsage`: no relationship, no record, so the package stays
110
+ * domain-agnostic. Cost comes from the `audio` config block rather than
111
+ * `computeCost()`, which only knows the text tiers (`configForWeight` never
112
+ * looks at `ai.audio`), hence `costOverride`.
113
+ *
114
+ * ZERO-TOKEN RULE (mirrors `LLMService.persistUsageOnFailure`): a call that
115
+ * reports no tokens records NOTHING. `recordTokenUsage` floors every row at
116
+ * `minCreditsPerRecord`, so a 0/0 row would invent a charge for tokens nobody
117
+ * spent. This is what the direct `/audio/transcriptions` path always hits —
118
+ * it returns no token counts by design — so that engine bills nothing until
119
+ * the endpoint reports usage (and says so loudly: see
120
+ * {@link warnIfDirectPathUnbilled}). The chat path (AUDIO_DIRECT_URL unset)
121
+ * returns real counts and is billed normally.
122
+ *
123
+ * FLOOR-EXEMPT (`applyMinimum: false`), same rationale as EmbedderService:
124
+ * transcription is per-utterance, not per-request. A session averages a few
125
+ * hundred segments and can exceed a thousand, each truly worth a fraction of
126
+ * a credit, so applying the per-record floor to every one of them would bill
127
+ * a large multiple of the real cost. The floor exists to stop sub-cent REAL
128
+ * usage rounding to nothing on a handful of records, not to price a thousand
129
+ * of them.
130
+ *
131
+ * Writes through the application-provided `TOKEN_USAGE_RECORDER` when one is
132
+ * bound, falling back to the module-local `TokenUsageService` otherwise (see
133
+ * the token's docblock for why package code must use this seam).
134
+ *
135
+ * Never throws: a persistence failure logs a warning and the transcription
136
+ * result stands.
137
+ */
138
+ private persistUsage;
70
139
  private callChat;
71
140
  /**
72
141
  * Dump the full upstream error for diagnostics. LangChain wraps the openai
@@ -1 +1 @@
1
- {"version":3,"file":"audio.llm.service.d.ts","sourceRoot":"","sources":["../../../../src/core/llm/services/audio.llm.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAqB,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAsB,KAAK,gBAAgB,EAAwB,MAAM,0BAA0B,CAAC;AAC3G,OAAO,EAAe,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;CACtB;AAwBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBACa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAGxC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAC1C,MAAM,EAAE,aAAa;IAGlC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAuCnD,QAAQ;IA8EtB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;YAkDX,UAAU;CAuFzB"}
1
+ {"version":3,"file":"audio.llm.service.d.ts","sourceRoot":"","sources":["../../../../src/core/llm/services/audio.llm.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAwB,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAqB,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAChG,OAAO,EAAsB,KAAK,gBAAgB,EAAwB,MAAM,0BAA0B,CAAC;AAC3G,OAAO,EAAe,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK/C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;CACtB;AAwBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBACa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAIX,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACL,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAVhF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAGxC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAC1C,MAAM,EAAE,aAAa,EAIT,iBAAiB,CAAC,EAAE,iBAAiB,EACP,kBAAkB,CAAC,EAAE,2BAA2B;IAGvG,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA8CjE;;;;OAIG;IACH,OAAO,CAAC,wBAAwB,CAAS;IAEzC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,wBAAwB;IAehC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;YACW,YAAY;YAiCZ,QAAQ;IA8EtB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;YAkDX,UAAU;CAuFzB"}