@futdevpro/nts-dynamo 1.15.24 → 1.15.29

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 (66) hide show
  1. package/_specifications/BACKLOG.md +28 -0
  2. package/build/_models/interfaces/compare-data-options.interface.d.ts +27 -0
  3. package/build/_models/interfaces/compare-data-options.interface.d.ts.map +1 -0
  4. package/build/_models/interfaces/compare-data-options.interface.js +3 -0
  5. package/build/_models/interfaces/compare-data-options.interface.js.map +1 -0
  6. package/build/_models/interfaces/compare-data-result.interface.d.ts +13 -0
  7. package/build/_models/interfaces/compare-data-result.interface.d.ts.map +1 -0
  8. package/build/_models/interfaces/compare-data-result.interface.js +3 -0
  9. package/build/_models/interfaces/compare-data-result.interface.js.map +1 -0
  10. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.d.ts +14 -0
  11. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.d.ts.map +1 -0
  12. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.js +3 -0
  13. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.js.map +1 -0
  14. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.d.ts +50 -0
  15. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.d.ts.map +1 -0
  16. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.js +3 -0
  17. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.js.map +1 -0
  18. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.d.ts.map +1 -1
  19. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js +32 -0
  20. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js.map +1 -1
  21. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts.map +1 -1
  22. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js +20 -2
  23. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js.map +1 -1
  24. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +4 -1
  25. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts.map +1 -1
  26. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +28 -1
  27. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js.map +1 -1
  28. package/build/_modules/ai/_services/ai-provider.service-base.d.ts +21 -0
  29. package/build/_modules/ai/_services/ai-provider.service-base.d.ts.map +1 -1
  30. package/build/_modules/ai/_services/ai-provider.service-base.js +32 -0
  31. package/build/_modules/ai/_services/ai-provider.service-base.js.map +1 -1
  32. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.d.ts +17 -1
  33. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.d.ts.map +1 -1
  34. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.js +16 -0
  35. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.js.map +1 -1
  36. package/build/_modules/local-vector-search/_services/lvs-bm25.util.d.ts +89 -0
  37. package/build/_modules/local-vector-search/_services/lvs-bm25.util.d.ts.map +1 -0
  38. package/build/_modules/local-vector-search/_services/lvs-bm25.util.js +190 -0
  39. package/build/_modules/local-vector-search/_services/lvs-bm25.util.js.map +1 -0
  40. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.d.ts +18 -2
  41. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.d.ts.map +1 -1
  42. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.js +57 -3
  43. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.js.map +1 -1
  44. package/build/_services/base/data.service.d.ts +63 -0
  45. package/build/_services/base/data.service.d.ts.map +1 -1
  46. package/build/_services/base/data.service.js +189 -0
  47. package/build/_services/base/data.service.js.map +1 -1
  48. package/package.json +1 -1
  49. package/src/_models/interfaces/compare-data-options.interface.ts +27 -0
  50. package/src/_models/interfaces/compare-data-result.interface.ts +12 -0
  51. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.ts +14 -0
  52. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.ts +56 -0
  53. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +92 -0
  54. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +38 -4
  55. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +24 -5
  56. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +52 -0
  57. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +39 -10
  58. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +79 -0
  59. package/src/_modules/ai/_services/ai-provider.service-base.ts +41 -3
  60. package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +16 -0
  61. package/src/_modules/local-vector-search/_services/lvs-bm25.util.spec.ts +159 -0
  62. package/src/_modules/local-vector-search/_services/lvs-bm25.util.ts +206 -0
  63. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +135 -0
  64. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +95 -9
  65. package/src/_services/base/data.service.spec.ts +181 -0
  66. package/src/_services/base/data.service.ts +196 -2
@@ -14,6 +14,34 @@
14
14
  > - STATUS EMOJI: ❌ ⏳ 🔄 ✅ ⚠️ ❓
15
15
  > - IDs: unique, format BL-YYYYMMDD-### (increment ###).
16
16
 
17
+ - [BUG] (BL-20260518-001) FR-002 cost-event batch test mock/assertion mismatch
18
+ status: ✅ done
19
+ priority: medium
20
+ source: assistant
21
+ area: tests
22
+ details: Fix opció (a) választva — mockEmbeddingsCreate.and.returnValue per-test override 2-elem data + usage:{prompt_tokens:10,total_tokens:10} a batch szándékát tükrözve. A spec-fájl `it('| createEmbeddings emits 1 cost-event with embedding-batch callType')` (oai-embedding.control-service.spec.ts:~275-290) override-ot kapott a top-level beforeEach (line 22-47) `prompt_tokens:5` default fölé. Verifikáció: `npx tsc` (build regenerate) + `npx jasmine` → 1232 specs / 0 failures. **Process root-cause azonosítva**: `spec/support/jasmine.json` `spec_dir: build/` — a jasmine a TS-fordított JS-ből fut, NEM a src-ből. A 08defee pre-commit smoke-ban `npx tsc --noEmit` (csak type-check, NEM emit) + `npx jasmine` futott → a `build/` STALE volt (az új teszt-em NEM volt benne), így a régi 1195 spec-pool fut zöldön, az új 10 spec-em sem assertelt. **5-stage cycle Test stage policy** (saját magamra): pre-commit jasmine futtatás MINDIG `npx tsc` (emit) ELŐZZE MEG, NEM `--noEmit`-tel ellenőrizni. Followup ez a process-tanulság a memóriába (feedback_test_locally_first kiegészítés).
23
+
24
+ - [FEATURE] (BL-20260517-002) Per-call cost-event hook on AI services (FR-002)
25
+ status: ✅ done
26
+ priority: high
27
+ source: user
28
+ area: backend
29
+ details: CCAP CT_ cost-tracking blokkoló (MP3-C, MP4-D, MP6-D). Non-breaking, additív: új `DyNTS_AI_CostEvent` interface (callType, provider, model, tokensUsed: {input, output?, total}, durationMs, issuer, timestamp, estimatedCostUsd?) + `DyNTS_AI_CostEventCallback` type alias. `DyNTS_AI_Provider_ServiceBase`-en protected `onCostEvent?` field + protected `emitCostEvent(event)` safe helper (try/catch, log warn — callback hibája NEM akasztja meg az AI-call-t). OAI emit-helyek: `DyNTS_OAI_Embedding_ControlService.createEmbedding` ('embedding-single'), `.createEmbeddings` ('embedding-batch'), `DyNTS_OAI_LLM_ServiceBase.resolveMessage` ('llm-completion' ha 1 user-msg, 'llm-chat' ha több), `DyNTS_OAI_LLM_Chat_ServiceBase.resolveConversation` ('llm-chat'). Timing: Date.now() start/end, durationMs >= 0. Provider/model auto-resolved (this.aiProvider + String(callInput.model)). Constructor opt: `DyFM_OAI_Settings & { onCostEvent? }` intersection. `estimatedCostUsd` Dynamo-szinten mindig undefined (nincs pricing registry); CCAP CT_ consumer tölti ki. 'llm-tool-use' callType jövőbeli FR. Anthropic / FDP-AI provider-ek csak az alap-osztály onCostEvent mezőt öröklik (még nem implementálnak embedding/LLM-et, saját emit-helyek külön FR). oai-vector-data.service.ts SKIPPED — fájl nem létezik (a spec hivatkozása konceptuális). 10 új jasmine teszt (4 base + 4 embedding + 2 LLM + 1 constructor). Full suite: 1195/0. Spec: __agent/feature-requests/FR-002-per-call-cost-event-hook.md (workspace).
30
+
31
+ - [FEATURE] (BL-20260517-003) LVS hybrid search: cosine + BM25 text-match (FR-004)
32
+ status: ✅ done
33
+ priority: low
34
+ source: user
35
+ area: backend
36
+ details: CCAP MVP3-candidate — exact-identifier matchre (UserController, REQ-RAG-MGMT-001) BM25 felülmúlja a pure cosine-t. Implementálva: LVS_Search_Mode.hybrid enum value + vectorSearch signature bővítés `hybridWeight?: {vector,text}` (default 0.5/0.5) + `textSearchKey: keyof T` (required hybrid módban). Pure-TS DyNTS_LVS_BM25_Corpus util (canonical k1=1.2 b=0.75, [\w]+ tokenizer case-insens, BM25+ IDF formula). Hybrid pipeline: cosine ALL candidate-re + BM25 ALL candidate-re + min-max [0,1] norm + weighted linear sum + sort desc + top-N slice. Throws: VS4 (missing textSearchKey) + VS5 (invalid hybridWeight). All-zero BM25 → effective cosine-only fallback. Non-breaking: új enum value + új optional params. Specs: 20/20 BM25 util + 8/8 hybrid (1232 spec total / 1 pre-existing FR-002 unrelated failure). Scope-out: MongoDB Atlas $search DB-backed variant (külön ticket), L2+hybrid kombinacio (explicit reject).
37
+
38
+ - [FEATURE] (BL-20260517-001) Generic compareData() method a DyNTS_DataService base-en (FR-001)
39
+ status: ✅ done
40
+ priority: high
41
+ source: user
42
+ area: backend
43
+ details: CCAP RAG-blokkoló (MP3-B, MP5-A/D/E/F) — eddig csak DyNTS_LVS_DocChunkDataService.compareChunk volt DocChunk-T-specifikus delta-detection; non-DocChunk RAG-okra (Rules/Knowledge/CodingPatterns/Memory) anti-DRY. Implementálva: `compareData(newData, oldData, options?): { result: 'equal'|'modified', changedFields? }` a base-en (sync), default deep-equal (primitive/Date/Array/POJO + Object.is fallback), DyFM_Metadata skip (_id, __created, __createdBy, __lastModified, __lastModifiedBy), `options.fields` scope-szűkít (+ skip-list-override), `options.customComparators` per-field, throw 400 (DyNTS-DS0-CD1) null input + 400 (DyNTS-DS0-CD2) üres fields. Non-breaking: új optional method; meglévő compareChunk változatlan. Spec: __agent/feature-requests/FR-001-generic-compareData.md (workspace). 15/15 új jasmine spec + 1195/0 full suite zöld.
44
+
17
45
  - [FEATURE] (BL-20260417-001) Dynamo NTS kliens kiszolgálás képesség
18
46
  status: ✅ done
19
47
  priority: medium
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Options a `DyNTS_DataService<T>.compareData()` method-hoz.
3
+ *
4
+ * - Ha `fields` is undefined, a method auto-discover-elt fielden iter
5
+ * (mindket objektum kulcs-unioja minus a `DyFM_Metadata` skip-list).
6
+ * - Ha `fields` adott, KIZAROLAG a felsorolt fielden iter (a skip-list
7
+ * IGNORALODIK — explicit fields override).
8
+ * - `customComparators` per-field override a default deep-equal-en kivul.
9
+ */
10
+ export interface DyNTS_CompareData_Options<T> {
11
+ /**
12
+ * Specifikus fields-szubset osszehasonlitasra.
13
+ *
14
+ * Megadasaval az auto-discovery is ki van iktatva (a metadata skip-list
15
+ * NEM ervenyes — ha kifejezetten `_id`-t kerunk, azt is osszehasonlitja).
16
+ */
17
+ fields?: (keyof T)[];
18
+ /**
19
+ * Per-field custom comparator. Ha a field nincs jelen a map-ben, a default
20
+ * deep-equal hasznalt. A custom function `true`-val signal-ozza az equality-t.
21
+ *
22
+ * Hasznos pl. set-equality array-ekre (`arraySetEqual`), case-insensitive
23
+ * string compare-re, vagy normalizalt date-compare-re.
24
+ */
25
+ customComparators?: Partial<Record<keyof T, (a: any, b: any) => boolean>>;
26
+ }
27
+ //# sourceMappingURL=compare-data-options.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare-data-options.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/compare-data-options.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC1C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IAErB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC;CAC3E"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=compare-data-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare-data-options.interface.js","sourceRoot":"","sources":["../../../src/_models/interfaces/compare-data-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * `DyNTS_DataService<T>.compareData()` return-objektum.
3
+ *
4
+ * - `result: 'equal'` ha minden vizsgalt field egyezik
5
+ * - `result: 'modified'` ha legalabb egy field eltert
6
+ * - `changedFields` CSAK modified eseten populated (ures array nem fordulhat elo)
7
+ */
8
+ export interface DyNTS_CompareData_Result<T> {
9
+ result: 'equal' | 'modified';
10
+ /** Csak `result: 'modified'` eseten van — a teljes mismatch-lista a vizsgalt fields koreben. */
11
+ changedFields?: (keyof T)[];
12
+ }
13
+ //# sourceMappingURL=compare-data-result.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare-data-result.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/compare-data-result.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC;IAC7B,gGAAgG;IAChG,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;CAC7B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=compare-data-result.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare-data-result.interface.js","sourceRoot":"","sources":["../../../src/_models/interfaces/compare-data-result.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { DyNTS_AI_CostEvent } from './dynts-ai-cost-event.interface';
2
+ /**
3
+ * AI service per-call cost-event callback signature.
4
+ *
5
+ * A `DyNTS_AI_Provider_ServiceBase` és leszármazottak constructor-jában
6
+ * opcionálisan átadható callback, amit minden sikeres AI-call után
7
+ * meghív a service. Lásd `DyNTS_AI_CostEvent` interface a payload-leírásért.
8
+ *
9
+ * A callback **NEM dobhat** — a service `emitCostEvent` helper-je try/catch-
10
+ * csel hívja és warning-ot logol, de a callback hibája NEM akasztja meg az
11
+ * AI-call-t (consumer responsibility hogy a hiba ne fault-oljon).
12
+ */
13
+ export type DyNTS_AI_CostEventCallback = (event: DyNTS_AI_CostEvent) => void;
14
+ //# sourceMappingURL=dynts-ai-cost-event-callback.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynts-ai-cost-event-callback.interface.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dynts-ai-cost-event-callback.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynts-ai-cost-event-callback.interface.js","sourceRoot":"","sources":["../../../../../src/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * AI service per-call cost-event payload.
3
+ *
4
+ * `DyNTS_AI_Provider_ServiceBase`-leszármazott AI service-ek emit-elik minden
5
+ * sikeres call után (embedding / LLM / chat / tool-use), feltéve hogy a constructor-
6
+ * ban át lett adva egy `onCostEvent` callback. Cél: consumer-oldali per-call
7
+ * cost-aggregáció (CCAP `CT_`, telemetry, debug, stb.) — instance-szintű
8
+ * accumulator nélkül.
9
+ *
10
+ * Non-breaking: a callback opcionális, a meglévő AI-call flow változatlan
11
+ * ha nincs hozzárendelve. A callback hibája NEM akasztja meg az AI-call-t —
12
+ * a `emitCostEvent` helper try/catch-csel hívja és warning-ot logol.
13
+ *
14
+ * `estimatedCostUsd`: opcionális — a Dynamo-szintű AI-service-ek NEM számítják
15
+ * (nincs model-pricing registry a Dynamo-ban). A consumer (pl. CCAP `CT_`) a
16
+ * saját pricing-jával egészíti ki a record-ot.
17
+ */
18
+ export interface DyNTS_AI_CostEvent {
19
+ /** Az AI-call típusa — embedding (single/batch) vagy LLM (completion/chat/tool-use). */
20
+ callType: DyNTS_AI_CallType;
21
+ /** Provider azonosító (pl. 'openai', 'anthropic', 'lm-studio'). */
22
+ provider: string;
23
+ /** A használt model azonosítója (pl. 'gpt-4o-mini', 'text-embedding-3-small'). */
24
+ model: string;
25
+ /** Token-fogyasztás bontva (input/output/total). Output csak LLM-call esetén értelmes. */
26
+ tokensUsed: DyNTS_AI_CostEventTokens;
27
+ /** Az AI-call hívástól a response-igtart latency ms-ben. */
28
+ durationMs: number;
29
+ /** A hívó service / use-case azonosítója (service-class-name, sessionId, runId, stb.). */
30
+ issuer: string;
31
+ /** Az event-emisszió időpontja (a sikeres response UTÁNI időpont). */
32
+ timestamp: Date;
33
+ /**
34
+ * Becsült USD költség — opcionális. A Dynamo NEM számítja (model-pricing
35
+ * registry hiányában); a consumer (CCAP `CT_`) tölti ki ha kell.
36
+ */
37
+ estimatedCostUsd?: number;
38
+ }
39
+ /** Az AI-call típusa. String-union, NEM enum (a spec szerint). */
40
+ export type DyNTS_AI_CallType = 'embedding-single' | 'embedding-batch' | 'llm-completion' | 'llm-chat' | 'llm-tool-use';
41
+ /** Token-fogyasztás bontása. Output csak LLM-call esetén értelmes. */
42
+ export interface DyNTS_AI_CostEventTokens {
43
+ /** Bemeneti (prompt) tokenek száma. */
44
+ input: number;
45
+ /** Kimeneti (completion) tokenek száma — embedding-call esetén undefined. */
46
+ output?: number;
47
+ /** Total = input + (output ?? 0). */
48
+ total: number;
49
+ }
50
+ //# sourceMappingURL=dynts-ai-cost-event.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynts-ai-cost-event.interface.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,kBAAkB;IACjC,wFAAwF;IACxF,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IACd,0FAA0F;IAC1F,UAAU,EAAE,wBAAwB,CAAC;IACrC,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,SAAS,EAAE,IAAI,CAAC;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,kEAAkE;AAClE,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,UAAU,GACV,cAAc,CAAC;AAEnB,sEAAsE;AACtE,MAAM,WAAW,wBAAwB;IACvC,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dynts-ai-cost-event.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynts-ai-cost-event.interface.js","sourceRoot":"","sources":["../../../../../src/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"oai-embedding.control-service.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqC,MAAM,kCAAkC,CAAC;AAGrG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,qBAAa,kCAAmC,SAAQ,yBAA0B,YAAW,8BAA8B;IAEnH,eAAe,CACnB,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC;QAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,MAAM,EAAE,GAAG,uBAAuB,CAAC;IA6BxC,gBAAgB,CACpB,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC;QAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,uBAAuB,CAAC;IA6BhD;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB;CAQxD"}
1
+ {"version":3,"file":"oai-embedding.control-service.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqC,MAAM,kCAAkC,CAAC;AAGrG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,qBAAa,kCAAmC,SAAQ,yBAA0B,YAAW,8BAA8B;IAEnH,eAAe,CACnB,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC;QAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,MAAM,EAAE,GAAG,uBAAuB,CAAC;IA8CxC,gBAAgB,CACpB,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC;QAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,uBAAuB,CAAC;IA8ChD;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB;CAQxD"}
@@ -15,10 +15,26 @@ class DyNTS_OAI_Embedding_ControlService extends oai_llm_service_base_1.DyNTS_OA
15
15
  errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-ECS-CE1`,
16
16
  });
17
17
  }
18
+ // FR-002 — per-call cost-event timing: a tényleges API-call latency mérve
19
+ const start = Date.now();
18
20
  const response = await this.openai.embeddings.create({
19
21
  model: set.model,
20
22
  input: set.text,
21
23
  });
24
+ const durationMs = Date.now() - start;
25
+ // FR-002 — cost-event emit (safe, no-op ha nincs onCostEvent callback)
26
+ this.emitCostEvent({
27
+ callType: 'embedding-single',
28
+ provider: this.aiProvider,
29
+ model: String(set.model),
30
+ tokensUsed: {
31
+ input: response.usage?.prompt_tokens ?? 0,
32
+ total: response.usage?.total_tokens ?? 0,
33
+ },
34
+ durationMs: durationMs,
35
+ issuer: set.issuer,
36
+ timestamp: new Date(),
37
+ });
22
38
  if (set.fullResponse) {
23
39
  return response;
24
40
  }
@@ -39,10 +55,26 @@ class DyNTS_OAI_Embedding_ControlService extends oai_llm_service_base_1.DyNTS_OA
39
55
  errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-ECS-CES1`,
40
56
  });
41
57
  }
58
+ // FR-002 — per-call cost-event timing
59
+ const start = Date.now();
42
60
  const response = await this.openai.embeddings.create({
43
61
  model: set.model,
44
62
  input: set.texts,
45
63
  });
64
+ const durationMs = Date.now() - start;
65
+ // FR-002 — cost-event emit (batch-call → 'embedding-batch')
66
+ this.emitCostEvent({
67
+ callType: 'embedding-batch',
68
+ provider: this.aiProvider,
69
+ model: String(set.model),
70
+ tokensUsed: {
71
+ input: response.usage?.prompt_tokens ?? 0,
72
+ total: response.usage?.total_tokens ?? 0,
73
+ },
74
+ durationMs: durationMs,
75
+ issuer: set.issuer,
76
+ timestamp: new Date(),
77
+ });
46
78
  if (set.fullResponse) {
47
79
  return response;
48
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oai-embedding.control-service.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts"],"names":[],"mappings":";;;AAAA,8DAAqG;AACrG,sDAAmD;AACnD,iDAA4D;AAG5D,iEAAmE;AACnE,6FAA0F;AAI1F,MAAa,kCAAmC,SAAQ,gDAAyB;IAE/E,KAAK,CAAC,eAAe,CACnB,GAKC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,IAAI,uBAAU,CAAC;oBACnB,GAAG,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;oBAE7F,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;iBACxE,CAAC,CAAC;YACL,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;gBACnD,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,KAAK,EAAE,GAAG,CAAC,IAAI;aAChB,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACrB,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAU,CAAC;gBACnB,GAAG,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;gBAErE,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;aACxE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,GAKC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,uBAAU,CAAC;oBACnB,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,IAAI,KAAK,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;oBAE/F,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,iBAAiB;iBACzE,CAAC,CAAC;YACL,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;gBACnD,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACrB,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAU,CAAC;gBACnB,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;gBAEtE,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,iBAAiB;aACzE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,KAAa;QAC5B,MAAM,UAAU,GAAG,2CAAiC,CAAC,KAAuD,CAAC,CAAC;QAE9G,OAAO;YACL,QAAQ,EAAE,qBAAgB,CAAC,MAAM;YACjC,KAAK,EAAE,KAAK;SACb,CAAC;IACJ,CAAC;CACF;AAvFD,gFAuFC"}
1
+ {"version":3,"file":"oai-embedding.control-service.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oai-llm-chat.service-base.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqC,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE5G,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EACL,8BAA8B,EAE9B,uCAAuC,EAEvC,4CAA4C,EAC5C,6CAA6C,EAC7C,uCAAuC,EACxC,MAAM,sCAAsC,CAAC;AAG9C;;;;;;GAMG;AAIH,qBAAa,6BAA8B,SAAQ,yBAA0B,YAAW,4BAA4B;IAKlH;;;;OAIG;IAQH;;;;OAIG;IAKH;;;;OAIG;IAKH;;;;OAIG;IAKH;;;;;OAKG;IACG,0BAA0B,CAAC,GAAG,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAW9G;;;;OAIG;IAUH;;;;OAIG;IACG,+BAA+B,CACnC,GAAG,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,GACzD,OAAO,CAAC,MAAM,CAAC;IAYlB;;;;OAIG;IACG,2BAA2B,CAAC,CAAC,EACjC,GAAG,EAAE,uCAAuC,CAAC,CAAC,EAAE,qBAAqB,CAAC,GACrE,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAgB5C;;;;;;OAMG;IAkBH;;;;OAIG;IAwBH;;;;;;OAMG;IACG,gCAAgC,CAAC,CAAC,EACtC,GAAG,EAAE,4CAA4C,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAC1E,OAAO,CAAC,CAAC,EAAE,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAe9C;;;;;;;;OAQG;IACG,yBAAyB,CAAC,CAAC,GAAG,GAAG,EACrC,GAAG,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,GACzD,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAW5C;;;;;;;;OAQG;IAOH;;;;;;;;OAQG;IACG,4CAA4C,CAAC,CAAC,GAAG,GAAG,EACxD,GAAG,EAAE,6CAA6C,GACjD,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAe5C;;;;;;;;OAQG;IAMH;;;;;;;;OAQG;IACG,sCAAsC,CAAC,CAAC,GAAG,GAAG,EAClD,GAAG,EAAE,uCAAuC,GAC3C,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAe5C;;;;;;;;OAQG;IACG,yBAAyB,CAAC,CAAC,GAAG,GAAG,EACrC,GAAG,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,GACzD,OAAO,CAAC,CAAC,EAAE,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAW9C;;;;OAIG;IAiCH;;;;;;OAMG;IACG,kCAAkC,CAAC,GAAG,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCrH;;;;OAIG;IACG,mBAAmB,CACvB,GAAG,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,GACzD,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC;IAoDnC,SAAS,CAAC,mBAAmB,CAC3B,GAAG,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,GACzD,eAAe,EAAE;CA0HrB"}
1
+ {"version":3,"file":"oai-llm-chat.service-base.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqC,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE5G,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EACL,8BAA8B,EAE9B,uCAAuC,EAEvC,4CAA4C,EAC5C,6CAA6C,EAC7C,uCAAuC,EACxC,MAAM,sCAAsC,CAAC;AAG9C;;;;;;GAMG;AAIH,qBAAa,6BAA8B,SAAQ,yBAA0B,YAAW,4BAA4B;IAKlH;;;;OAIG;IAQH;;;;OAIG;IAKH;;;;OAIG;IAKH;;;;OAIG;IAKH;;;;;OAKG;IACG,0BAA0B,CAAC,GAAG,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAW9G;;;;OAIG;IAUH;;;;OAIG;IACG,+BAA+B,CACnC,GAAG,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,GACzD,OAAO,CAAC,MAAM,CAAC;IAYlB;;;;OAIG;IACG,2BAA2B,CAAC,CAAC,EACjC,GAAG,EAAE,uCAAuC,CAAC,CAAC,EAAE,qBAAqB,CAAC,GACrE,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAgB5C;;;;;;OAMG;IAkBH;;;;OAIG;IAwBH;;;;;;OAMG;IACG,gCAAgC,CAAC,CAAC,EACtC,GAAG,EAAE,4CAA4C,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAC1E,OAAO,CAAC,CAAC,EAAE,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAe9C;;;;;;;;OAQG;IACG,yBAAyB,CAAC,CAAC,GAAG,GAAG,EACrC,GAAG,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,GACzD,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAW5C;;;;;;;;OAQG;IAOH;;;;;;;;OAQG;IACG,4CAA4C,CAAC,CAAC,GAAG,GAAG,EACxD,GAAG,EAAE,6CAA6C,GACjD,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAe5C;;;;;;;;OAQG;IAMH;;;;;;;;OAQG;IACG,sCAAsC,CAAC,CAAC,GAAG,GAAG,EAClD,GAAG,EAAE,uCAAuC,GAC3C,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAe5C;;;;;;;;OAQG;IACG,yBAAyB,CAAC,CAAC,GAAG,GAAG,EACrC,GAAG,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,GACzD,OAAO,CAAC,CAAC,EAAE,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAW9C;;;;OAIG;IAiCH;;;;;;OAMG;IACG,kCAAkC,CAAC,GAAG,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCrH;;;;OAIG;IACG,mBAAmB,CACvB,GAAG,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,GACzD,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC;IAuEnC,SAAS,CAAC,mBAAmB,CAC3B,GAAG,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,GACzD,eAAe,EAAE;CA0HrB"}
@@ -363,10 +363,28 @@ class DyNTS_OAI_LLMChat_ServiceBase extends oai_llm_service_base_1.DyNTS_OAI_LLM
363
363
  ...set,
364
364
  conversation: shortenedConversation,
365
365
  });
366
- const result = await this.openai.chat.completions.create(this.getMessageCreateInput({
366
+ // FR-002 per-call cost-event timing
367
+ const callInput = this.getMessageCreateInput({
367
368
  ...set,
368
369
  conversation: shortenedConversation,
369
- }));
370
+ });
371
+ const start = Date.now();
372
+ const result = await this.openai.chat.completions.create(callInput);
373
+ const durationMs = Date.now() - start;
374
+ // FR-002 — cost-event emit (resolveConversation = 'llm-chat' flow alapból)
375
+ this.emitCostEvent({
376
+ callType: 'llm-chat',
377
+ provider: this.aiProvider,
378
+ model: String(callInput.model ?? this.defaultModel),
379
+ tokensUsed: {
380
+ input: result.usage?.prompt_tokens ?? 0,
381
+ output: result.usage?.completion_tokens ?? 0,
382
+ total: result.usage?.total_tokens ?? 0,
383
+ },
384
+ durationMs: durationMs,
385
+ issuer: set.issuer,
386
+ timestamp: new Date(),
387
+ });
370
388
  if (set.getFullResponse) {
371
389
  return result;
372
390
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oai-llm-chat.service-base.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oai-llm-chat.service-base.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts"],"names":[],"mappings":";;;AAGA,sDAAoK;AAGpK,6FAA0F;AAG1F,iDAA+D;AAE/D,iEAAmE;AACnE,yFAAsF;AAatF;;;;;;GAMG;AAEH,kCAAkC;AAElC,MAAa,6BAA8B,SAAQ,gDAAyB;IAE1E,qBAAqB;IACrB,gFAAgF;IAEhF;;;;OAIG;IACH;;;;;QAKI;IAEJ;;;;OAIG;IACH;;QAEI;IAEJ;;;;OAIG;IACH;;QAEI;IAEJ;;;;OAIG;IACH;;QAEI;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,0BAA0B,CAAC,GAA0D;QACzF,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC;QAErD,wBAAwB;QAExB,MAAM,MAAM,GAAW,MAAM,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,6GAA6G;IAE7G;;;;OAIG;IACH;;;;;;QAMI;IACJ,gHAAgH;IAEhH;;;;OAIG;IACH,KAAK,CAAC,+BAA+B,CACnC,GAA0D;QAE1D,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC;QAEtD,wBAAwB;QAExB,MAAM,MAAM,GAAW,MAAM,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IACD,4HAA4H;IAG5H;;;;OAIG;IACH,KAAK,CAAC,2BAA2B,CAC/B,GAAsE;QAEtE,+DAA+D;QAC/D,MAAM,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,OAAO,CAC1E,yBAAyB,EACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CACpE,CAAC;QACF,GAAG,CAAC,OAAO,IAAI,sBAAsB,CAAC;QAEtC,wBAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,2BAA2B,CAAI,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAClF,CAAC;IACD,gHAAgH;IAEhH;;;;;;OAMG;IACH;;;;;;;;;;;;;;QAcI;IACJ,6GAA6G;IAE7G;;;;OAIG;IACH;;;;;;;;;;;;;;;;;;;;QAoBI;IACJ,yKAAyK;IAEzK;;;;;;OAMG;IACH,KAAK,CAAC,gCAAgC,CACpC,GAA2E;QAE3E,MAAM,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CACxE,yBAAyB,EACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CACjE,CAAC;QACF,GAAG,CAAC,OAAO,IAAI,sBAAsB,CAAC;QAEtC,wBAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,mBAAmB,CAAI,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,qIAAqI;IAErI;;;;;;;;OAQG;IACH,KAAK,CAAC,yBAAyB,CAC7B,GAA0D;QAE1D,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAEnD,wBAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,mBAAmB,CAAI,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,0GAA0G;IAE1G;;;;;;;;OAQG;IACH;;;;QAII;IAEJ;;;;;;;;OAQG;IACH,KAAK,CAAC,4CAA4C,CAChD,GAAkD;QAElD,MAAM,8BAA8B,GAAG,IAAI,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,OAAO,CACnG,+BAA+B,EAC/B,GAAG,CAAC,eAAe,CACpB,CAAC;QACF,GAAG,CAAC,OAAO,IAAI,8BAA8B,CAAC;QAE9C,wBAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,mBAAmB,CAAI,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,mKAAmK;IAEnK;;;;;;;;OAQG;IACH;;;QAGI;IAEJ;;;;;;;;OAQG;IACH,KAAK,CAAC,sCAAsC,CAC1C,GAA4C;QAE5C,MAAM,wBAAwB,GAAG,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,OAAO,CACvF,oBAAoB,EACpB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CACjC,CAAC;QACF,GAAG,CAAC,OAAO,IAAI,wBAAwB,CAAC;QAExC,wBAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,mBAAmB,CAAI,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,iJAAiJ;IAEjJ;;;;;;;;OAQG;IACH,KAAK,CAAC,yBAAyB,CAC7B,GAA0D;QAE1D,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAEnD,wBAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,mBAAmB,CAAI,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,0GAA0G;IAE1G;;;;OAIG;IACH;;;;;;;;;;;;;;;;;;;QAmBI;IAEJ;;;;;QAKI;IACJ,qEAAqE;IACrE,gHAAgH;IAChH,gHAAgH;IAChH,4FAA4F;IAE5F;;;;;;OAMG;IACH,KAAK,CAAC,kCAAkC,CAAC,GAA0D;QACjG,wDAAwD;QACxD,gHAAgH;QAEhH,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;gBACpB,IAAI,EAAE,wBAAmB,CAAC,IAAI;gBAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAW,MAAM,IAAI,CAAC,mBAAmB,CAAC;YACpD,GAAG,GAAG;YACN,eAAe,EAAE,KAAK;SACvB,CAAW,CAAC;QAEb,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;QAYI;IAEJ;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CACvB,GAA0D;QAE1D,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,wBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnF;;;;;;;sBAOM;gBACN;;;yBAGS;gBACT,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvE,CAAC;YAED,0BAA0B;YAC1B,MAAM,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAE5D,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;YAEjD,wBAAwB;YAExB,IAAI,CAAC,eAAe,CAAC;gBACnB,GAAG,GAAG;gBACN,YAAY,EAAE,qBAAqB;aACpC,CAAC,CAAC;YAEH,sCAAsC;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC;gBAC3C,GAAG,GAAG;gBACN,YAAY,EAAE,qBAAqB;aACpC,CAAC,CAAC;YACH,MAAM,KAAK,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,MAAM,MAAM,GAAmB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CACtE,SAAS,CACQ,CAAC;YACpB,MAAM,UAAU,GAAW,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAE9C,2EAA2E;YAC3E,IAAI,CAAC,aAAa,CAAC;gBACjB,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;gBACnD,UAAU,EAAE;oBACV,KAAK,EAAG,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;oBACxC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC;oBAC5C,KAAK,EAAG,MAAM,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;iBACxC;gBACD,UAAU,EAAE,UAAU;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAU,CAAC;gBACnB,GAAG,IAAI,CAAC,uBAAuB,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;gBAEzE,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;aACxE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,qGAAqG;IAE3F,mBAAmB,CAC3B,GAA0D;QAE1D,IAAI,CAAC;YACH,gEAAgE;YAChE,MAAM,kBAAkB,GAAsB,wBAAW,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAElF,gEAAgE;YAChE,6CAA6C;YAC7C,MAAM,cAAc,GAAsB,kBAAkB,CAAC,MAAM,CACjE,CAAC,OAAwB,EAAW,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,wBAAmB,CAAC,MAAM,CACnF,CAAC;YAEF,0DAA0D;YAC1D,qEAAqE;YACrE,4FAA4F;YAC5F,MAAM,0BAA0B,GAAW,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;YAEjF,gEAAgE;YAChE,uEAAuE;YACvE,4FAA4F;YAC5F,MAAM,IAAI,GAAa,kBAAkB,CAAC,MAAM,CAC9C,CAAC,OAAwB,EAAW,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,wBAAmB,CAAC,MAAM,CACnF,CAAC,GAAG,CAAC,CAAC,OAAwB,EAAU,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE7D,8DAA8D;YAC9D,0FAA0F;YAC1F,IAAI,mBAAmB,GAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAEvD,gDAAgD;YAChD,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACnC,qBAAQ,CAAC,IAAI,CACX,gEAAgE,EAAE;oBAChE,yBAAyB,EAAE,mBAAmB,CAAC,MAAM;oBACrD,kBAAkB,EAAE,kBAAkB,CAAC,MAAM;oBAC7C,WAAW,EAAE,uBAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,OAAO;iBAC1D,CACF,CAAC;YACJ,CAAC;YAED,wCAAwC;YACxC,IAAI,oBAAoB,GAAW,CAAC,CAAC;YACrC,IAAI,6BAA6B,GAAW,mBAAmB,CAAC,MAAM,CAAC;YAEvE,8DAA8D;YAC9D,wEAAwE;YACxE,mFAAmF;YACnF,6EAA6E;YAC7E,OACE,CAAC,mBAAmB,CAAC,MAAM,GAAG,0BAA0B,CAAC,GAAG,qDAAyB,CAAC,uBAAuB;gBAC7G,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAC7B,CAAC;gBACD,wDAAwD;gBACxD,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEhC,wDAAwD;gBACxD,2FAA2F;gBAC3F,uFAAuF;gBACvF,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAElB,oBAAoB,EAAE,CAAC;gBAEvB,wDAAwD;gBACxD,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC3C,6BAA6B,GAAG,mBAAmB,CAAC,MAAM,CAAC;YAC7D,CAAC;YAED,8CAA8C;YAC9C,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACnC,qBAAQ,CAAC,IAAI,CACX,+DAA+D,EAAE;oBAC/D,oBAAoB,EAAE,oBAAoB;oBAC1C,6BAA6B,EAAE,6BAA6B;oBAC5D,WAAW,EAAE,uBAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,OAAO;oBACzD,kBAAkB,EAAE,IAAA,uCAA0B,GAAE;iBACjD,CACF,CAAC;YACJ,CAAC;YAED,6DAA6D;YAC7D,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;gBAC/B,qBAAQ,CAAC,KAAK,CAAC,iCAAiC,EAAE;oBAChD,oDAAoD;oBACpD,kBAAkB,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM;oBAC3C,kBAAkB,EAAE,wBAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC;iBAC1D,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,CAAC;YAED,+FAA+F;YAC/F,0EAA0E;YAC1E,uEAAuE;YACvE,OAAO,CAAE,GAAG,cAAc,EAAE,GAAG,kBAAkB,CAAE,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uBAAU,CAAC,SAAS,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAEjE,MAAM,IAAI,uBAAU,CAAC;gBACnB,GAAG,IAAI,CAAC,uBAAuB,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;gBAEzE,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;aACxE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CAsBF;AAvlBD,sEAulBC"}
@@ -3,6 +3,7 @@ import { DyFM_OAI_Settings, DyFM_OAI_Model, DyFM_OAI_CallSettings } from '@futde
3
3
  import { DyFM_AI_Message, DyFM_AI_Provider, DyFM_AI_ProviderCapabilities, DyFM_AI_Config } from '@futdevpro/fsm-dynamo/ai';
4
4
  import { ChatCompletion } from 'openai/resources';
5
5
  import { ChatCompletionCreateParamsBase } from 'openai/resources/chat/completions';
6
+ import { DyNTS_AI_CostEventCallback } from '../../../_models/interfaces/dynts-ai-cost-event-callback.interface';
6
7
  import { DyNTS_OAI_LLM_Predefined_Requests } from '../_models/interfaces/oai-llm-predefined-requests.interface';
7
8
  import { DyNTS_AI_LLM_ServiceBase } from '../../../_services/ai-llm.service-base';
8
9
  import { DyFM_AI_Message_Input, DyFM_AI_GenericSelect_Input, DyFM_AI_GenericMultiSelect_Input, DyFM_AI_JSONKeysDescription_Input, DyFM_AI_JSONExactKeys_Input, DyFM_AI_ConversationBase_Input } from '../../../_models/ai-input-interfaces';
@@ -20,7 +21,9 @@ export declare class DyNTS_OAI_LLM_ServiceBase extends DyNTS_AI_LLM_ServiceBase
20
21
  readonly capabilities: DyFM_AI_ProviderCapabilities;
21
22
  get defaultModel(): DyFM_OAI_Model | string;
22
23
  predefinedRequests: DyNTS_OAI_LLM_Predefined_Requests;
23
- constructor(set?: DyFM_OAI_Settings);
24
+ constructor(set?: DyFM_OAI_Settings & {
25
+ onCostEvent?: DyNTS_AI_CostEventCallback;
26
+ });
24
27
  /**
25
28
  * Inicializálja az OpenAI client-et a megadott config-gal
26
29
  *
@@ -1 +1 @@
1
- {"version":3,"file":"oai-llm.service-base.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oai-llm.service-base.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,10 @@ class DyNTS_OAI_LLM_ServiceBase extends ai_llm_service_base_1.DyNTS_AI_LLM_Servi
60
60
  this.defaultSettings = set?.defaultSettings ??
61
61
  oai_global_settings_const_1.DyNTS_OAI_global_settings.defaultSettings ??
62
62
  new open_ai_1.DyFM_OAI_CallSettings();
63
+ // FR-002 — opcionális per-call cost-event callback átadás a base-osztálynak
64
+ if (set?.onCostEvent) {
65
+ this.onCostEvent = set.onCostEvent;
66
+ }
63
67
  }
64
68
  /**
65
69
  * Inicializálja az OpenAI client-et a megadott config-gal
@@ -335,8 +339,31 @@ class DyNTS_OAI_LLM_ServiceBase extends ai_llm_service_base_1.DyNTS_AI_LLM_Servi
335
339
  } */
336
340
  ) {
337
341
  try {
342
+ // FR-002 — callType meghatározás a unshift ELŐTT (a system-message hozzáadás
343
+ // után már 2+ message lenne, ami a "chat" kategóriát mindig kiváltja).
344
+ // 1 user-message → 'llm-completion'; több → 'llm-chat'. A 'llm-tool-use'
345
+ // categoria a tools paraméterek bevezetésekor kerül használatba (jövőbeli FR).
346
+ const userMessageCount = set.conversation.length;
338
347
  set.conversation.unshift(this.getDefaultSystemMessage(set.settings));
339
- const result = await this.openai.chat.completions.create(this.getMessageCreateInput(set));
348
+ // FR-002 per-call cost-event timing: a tényleges API-call latency mérve
349
+ const input = this.getMessageCreateInput(set);
350
+ const start = Date.now();
351
+ const result = await this.openai.chat.completions.create(input);
352
+ const durationMs = Date.now() - start;
353
+ // FR-002 — cost-event emit (safe, no-op ha nincs onCostEvent callback)
354
+ this.emitCostEvent({
355
+ callType: userMessageCount === 1 ? 'llm-completion' : 'llm-chat',
356
+ provider: this.aiProvider,
357
+ model: String(input.model ?? this.defaultModel),
358
+ tokensUsed: {
359
+ input: result.usage?.prompt_tokens ?? 0,
360
+ output: result.usage?.completion_tokens ?? 0,
361
+ total: result.usage?.total_tokens ?? 0,
362
+ },
363
+ durationMs: durationMs,
364
+ issuer: set.issuer,
365
+ timestamp: new Date(),
366
+ });
340
367
  if (set.getFullResponse) {
341
368
  return result;
342
369
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oai-llm.service-base.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oai-llm.service-base.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,30 @@
1
1
  import { DyFM_AI_Provider } from '@futdevpro/fsm-dynamo/ai';
2
2
  import { DyFM_AI_ProviderCapabilities } from '@futdevpro/fsm-dynamo/ai';
3
3
  import { DyFM_AI_Config } from '@futdevpro/fsm-dynamo/ai';
4
+ import { DyNTS_AI_CostEvent } from '../_models/interfaces/dynts-ai-cost-event.interface';
5
+ import { DyNTS_AI_CostEventCallback } from '../_models/interfaces/dynts-ai-cost-event-callback.interface';
4
6
  import { DyNTS_SingletonService } from '../../../_services/base/singleton.service';
5
7
  /**
6
8
  * Abstract base class for all AI providers
7
9
  * Defines the common interface that all AI providers must implement
10
+ *
11
+ * **Cost-event hook (FR-002)**: a leszármazott concrete service-ek (OAI
12
+ * Embedding / LLM / Chat) a constructor-ban opcionálisan kapnak egy
13
+ * `onCostEvent` callback-et. Minden sikeres AI-call után `emitCostEvent`-tel
14
+ * hívják, ami safe (try/catch) — a callback hibája NEM akasztja meg az
15
+ * AI-call-t. Lásd `DyNTS_AI_CostEvent` interface.
8
16
  */
9
17
  export declare abstract class DyNTS_AI_Provider_ServiceBase extends DyNTS_SingletonService {
10
18
  /** The AI provider this service represents */
11
19
  abstract readonly aiProvider: DyFM_AI_Provider;
12
20
  /** The capabilities supported by this provider */
13
21
  abstract readonly capabilities: DyFM_AI_ProviderCapabilities;
22
+ /**
23
+ * Optional per-call cost-event callback (FR-002).
24
+ * A leszármazott service-ek minden sikeres AI-call után meghívják az
25
+ * `emitCostEvent` helper-en keresztül. Non-breaking: ha undefined, nincs emit.
26
+ */
27
+ protected onCostEvent?: DyNTS_AI_CostEventCallback;
14
28
  /**
15
29
  * Initialize the provider with configuration
16
30
  * @param config - Provider-specific configuration
@@ -22,5 +36,12 @@ export declare abstract class DyNTS_AI_Provider_ServiceBase extends DyNTS_Single
22
36
  * @returns Promise<boolean> - True if connection is successful
23
37
  */
24
38
  abstract testConnection(issuer: string): Promise<boolean>;
39
+ /**
40
+ * Safe cost-event emit: ha van regisztrált `onCostEvent` callback, meghívja.
41
+ * A callback hibája NEM propagálódik — try/catch-csel safen hívjuk és
42
+ * `DyFM_Log.warn`-nal jelezzük. Ezzel a consumer-oldali integráció
43
+ * (CCAP `CT_`, telemetry, stb.) hibái nem akasztják meg az AI-call-t.
44
+ */
45
+ protected emitCostEvent(event: DyNTS_AI_CostEvent): void;
25
46
  }
26
47
  //# sourceMappingURL=ai-provider.service-base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-provider.service-base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-provider.service-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEnF;;;GAGG;AACH,8BAAsB,6BAA8B,SAAQ,sBAAsB;IAChF,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAE/C,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;IAE7D;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAE5C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAC1D"}
1
+ {"version":3,"file":"ai-provider.service-base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-provider.service-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8DAA8D,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEnF;;;;;;;;;GASG;AACH,8BAAsB,6BAA8B,SAAQ,sBAAsB;IAChF,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAE/C,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;IAE7D;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,0BAA0B,CAAC;IAEnD;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAE5C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAEzD;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;CAczD"}
@@ -1,12 +1,44 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DyNTS_AI_Provider_ServiceBase = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
4
5
  const singleton_service_1 = require("../../../_services/base/singleton.service");
5
6
  /**
6
7
  * Abstract base class for all AI providers
7
8
  * Defines the common interface that all AI providers must implement
9
+ *
10
+ * **Cost-event hook (FR-002)**: a leszármazott concrete service-ek (OAI
11
+ * Embedding / LLM / Chat) a constructor-ban opcionálisan kapnak egy
12
+ * `onCostEvent` callback-et. Minden sikeres AI-call után `emitCostEvent`-tel
13
+ * hívják, ami safe (try/catch) — a callback hibája NEM akasztja meg az
14
+ * AI-call-t. Lásd `DyNTS_AI_CostEvent` interface.
8
15
  */
9
16
  class DyNTS_AI_Provider_ServiceBase extends singleton_service_1.DyNTS_SingletonService {
17
+ /**
18
+ * Optional per-call cost-event callback (FR-002).
19
+ * A leszármazott service-ek minden sikeres AI-call után meghívják az
20
+ * `emitCostEvent` helper-en keresztül. Non-breaking: ha undefined, nincs emit.
21
+ */
22
+ onCostEvent;
23
+ /**
24
+ * Safe cost-event emit: ha van regisztrált `onCostEvent` callback, meghívja.
25
+ * A callback hibája NEM propagálódik — try/catch-csel safen hívjuk és
26
+ * `DyFM_Log.warn`-nal jelezzük. Ezzel a consumer-oldali integráció
27
+ * (CCAP `CT_`, telemetry, stb.) hibái nem akasztják meg az AI-call-t.
28
+ */
29
+ emitCostEvent(event) {
30
+ if (!this.onCostEvent) {
31
+ return;
32
+ }
33
+ try {
34
+ this.onCostEvent(event);
35
+ }
36
+ catch (err) {
37
+ const msg = err instanceof Error ? err.message : String(err);
38
+ fsm_dynamo_1.DyFM_Log.warn(`DyNTS AI | onCostEvent callback threw (call-type: ${event.callType},`
39
+ + ` model: ${event.model}, issuer: ${event.issuer}): ${msg}`);
40
+ }
41
+ }
10
42
  }
11
43
  exports.DyNTS_AI_Provider_ServiceBase = DyNTS_AI_Provider_ServiceBase;
12
44
  //# sourceMappingURL=ai-provider.service-base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-provider.service-base.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-provider.service-base.ts"],"names":[],"mappings":";;;AAGA,iFAAmF;AAEnF;;;GAGG;AACH,MAAsB,6BAA8B,SAAQ,0CAAsB;CAmBjF;AAnBD,sEAmBC"}
1
+ {"version":3,"file":"ai-provider.service-base.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-provider.service-base.ts"],"names":[],"mappings":";;;AAGA,sDAAiD;AAIjD,iFAAmF;AAEnF;;;;;;;;;GASG;AACH,MAAsB,6BAA8B,SAAQ,0CAAsB;IAOhF;;;;OAIG;IACO,WAAW,CAA8B;IAenD;;;;;OAKG;IACO,aAAa,CAAC,KAAyB;QAC/C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrE,qBAAQ,CAAC,IAAI,CACX,qDAAqD,KAAK,CAAC,QAAQ,GAAG;kBACpE,WAAW,KAAK,CAAC,KAAK,aAAa,KAAK,CAAC,MAAM,MAAM,GAAG,EAAE,CAC7D,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA/CD,sEA+CC"}
@@ -14,6 +14,22 @@ export declare enum LVS_Search_Mode {
14
14
  * 0 vagy pozitív érték, ahol 0 a legkisebb távolság (legnagyobb hasonlóság)
15
15
  * Eredmények növekvő sorrendben (legkisebb távolság először)
16
16
  */
17
- l2Distance = "l2-distance"
17
+ l2Distance = "l2-distance",
18
+ /**
19
+ * Hybrid search: cosine similarity (vektor-fele) + BM25 (text-fele) score-merge.
20
+ *
21
+ * Hasznalat:
22
+ * - `searchMode: LVS_Search_Mode.hybrid`
23
+ * - `textSearchKey: keyof T` — KOTELEZO; melyik string property-n fut a BM25
24
+ * - `hybridWeight?: { vector: number; text: number }` — default { vector: 0.5, text: 0.5 }
25
+ *
26
+ * BM25 min-max normalizalva [0,1] a candidate-szettre (cosine mar 0..1), igy
27
+ * a `weight` direkt linearis kombinacio. Ha minden BM25 score 0 (egyetlen
28
+ * query term sem matchel), a hybrid effektivan cosine-only-re degradalodik.
29
+ *
30
+ * L2+hybrid kombinacio NEM tamogatott — a hybrid mindig cosine-alapu
31
+ * vector-half-fel mukodik.
32
+ */
33
+ hybrid = "hybrid"
18
34
  }
19
35
  //# sourceMappingURL=lvs-search-mode.enum.d.ts.map