@futdevpro/nts-dynamo 1.15.23 → 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.
- package/README.md +4 -0
- package/__documentations/2026-05-17-oai-compatible-providers.md +229 -0
- package/_specifications/BACKLOG.md +28 -0
- package/build/_models/interfaces/compare-data-options.interface.d.ts +27 -0
- package/build/_models/interfaces/compare-data-options.interface.d.ts.map +1 -0
- package/build/_models/interfaces/compare-data-options.interface.js +3 -0
- package/build/_models/interfaces/compare-data-options.interface.js.map +1 -0
- package/build/_models/interfaces/compare-data-result.interface.d.ts +13 -0
- package/build/_models/interfaces/compare-data-result.interface.d.ts.map +1 -0
- package/build/_models/interfaces/compare-data-result.interface.js +3 -0
- package/build/_models/interfaces/compare-data-result.interface.js.map +1 -0
- package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.d.ts +14 -0
- package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.d.ts.map +1 -0
- package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.js +3 -0
- package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.js.map +1 -0
- package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.d.ts +50 -0
- package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.d.ts.map +1 -0
- package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.js +3 -0
- package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.js.map +1 -0
- package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.d.ts.map +1 -1
- package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js +32 -0
- package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js.map +1 -1
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts.map +1 -1
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js +20 -2
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js.map +1 -1
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +4 -1
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts.map +1 -1
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +28 -1
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js.map +1 -1
- package/build/_modules/ai/_services/ai-provider.service-base.d.ts +21 -0
- package/build/_modules/ai/_services/ai-provider.service-base.d.ts.map +1 -1
- package/build/_modules/ai/_services/ai-provider.service-base.js +32 -0
- package/build/_modules/ai/_services/ai-provider.service-base.js.map +1 -1
- package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.d.ts +17 -1
- package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.d.ts.map +1 -1
- package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.js +16 -0
- package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.js.map +1 -1
- package/build/_modules/local-vector-search/_services/lvs-bm25.util.d.ts +89 -0
- package/build/_modules/local-vector-search/_services/lvs-bm25.util.d.ts.map +1 -0
- package/build/_modules/local-vector-search/_services/lvs-bm25.util.js +190 -0
- package/build/_modules/local-vector-search/_services/lvs-bm25.util.js.map +1 -0
- package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.d.ts +18 -2
- package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.d.ts.map +1 -1
- package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.js +57 -3
- package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.js.map +1 -1
- package/build/_services/base/data.service.d.ts +63 -0
- package/build/_services/base/data.service.d.ts.map +1 -1
- package/build/_services/base/data.service.js +189 -0
- package/build/_services/base/data.service.js.map +1 -1
- package/package.json +1 -1
- package/src/_models/interfaces/compare-data-options.interface.ts +27 -0
- package/src/_models/interfaces/compare-data-result.interface.ts +12 -0
- package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.ts +14 -0
- package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.ts +56 -0
- package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +92 -0
- package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +38 -4
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +24 -5
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +52 -0
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +39 -10
- package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +79 -0
- package/src/_modules/ai/_services/ai-provider.service-base.ts +41 -3
- package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +16 -0
- package/src/_modules/local-vector-search/_services/lvs-bm25.util.spec.ts +159 -0
- package/src/_modules/local-vector-search/_services/lvs-bm25.util.ts +206 -0
- package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +135 -0
- package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +95 -9
- package/src/_services/base/data.service.spec.ts +181 -0
- package/src/_services/base/data.service.ts +196 -2
package/README.md
CHANGED
|
@@ -290,6 +290,10 @@ Provides abstractions and implementations for AI operations:
|
|
|
290
290
|
- **Document AI**: Document chunking and preprocessing for AI models
|
|
291
291
|
- **Vector Search**: MongoDB Atlas vector database operations with automatic data vectorization
|
|
292
292
|
|
|
293
|
+
#### OpenAI-Compatible Providers
|
|
294
|
+
|
|
295
|
+
The OAI service-ek (`DyNTS_OAI_LLM_ServiceBase`, `DyNTS_OAI_LLMChat_ServiceBase`, `DyNTS_OAI_Embedding_ControlService`) bármely OpenAI-API-kompatibilis endpoint-tal működnek — lokál LLM (LM Studio, Ollama), self-hosted (vLLM, LocalAI) is — a `DyFM_OAI_ClientOptions.baseURL` mező segítségével. Részletek + provider-konfig sample-ök: [`__documentations/2026-05-17-oai-compatible-providers.md`](__documentations/2026-05-17-oai-compatible-providers.md).
|
|
296
|
+
|
|
293
297
|
### Assistant Module
|
|
294
298
|
|
|
295
299
|
Platform and AI provider agnostic solutions for creating intelligent assistants:
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
# 2026-05-17 — Using OpenAI-compatible providers with Dynamo-NTS
|
|
2
|
+
|
|
3
|
+
**Spec:** `__agent/feature-requests/FR-005-oai-compat-docs.md` (workspace root)
|
|
4
|
+
**Scope:** docs-only, LOW priority. Semmilyen TS-változás. NEM kell npm publish.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Mire jó
|
|
9
|
+
|
|
10
|
+
A Dynamo-NTS OAI service-ek — `DyNTS_OAI_LLM_ServiceBase`, `DyNTS_OAI_LLMChat_ServiceBase`, `DyNTS_OAI_Embedding_ControlService` — az `openai` npm SDK-t használják, és **out-of-the-box bármely OpenAI-API-kompatibilis endpoint-tal működnek** a `baseURL` override-on keresztül. Ez **MÁR MŰKÖDIK** (zéró kód-változás kell), csak eddig nem volt dokumentálva.
|
|
11
|
+
|
|
12
|
+
A `baseURL` mező a `@futdevpro/fsm-dynamo/ai/open-ai` package `DyFM_OAI_ClientOptions` interface-en él. Bővebben a fsm-dynamo-szintű részletekért: [`@futdevpro/fsm-dynamo/__documentations/2026-05-17-oai-compatible-providers-howto.md`](../../dynamo-fsm/__documentations/2026-05-17-oai-compatible-providers-howto.md).
|
|
13
|
+
|
|
14
|
+
Tipikus use-case-ek:
|
|
15
|
+
- **Lokál fejlesztés** OpenAI-credits nélkül (LM Studio, Ollama)
|
|
16
|
+
- **Self-hosted production** infrastruktúra (vLLM, LocalAI klaszter)
|
|
17
|
+
- **Cost control** — nyílt-súlyú modellek drága cloud API helyett
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## A pattern
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { DyFM_OAI_Settings, DyFM_OAI_CallSettings } from '@futdevpro/fsm-dynamo/ai/open-ai';
|
|
25
|
+
import { DyNTS_OAI_LLMChat_ServiceBase } from '@futdevpro/nts-dynamo/ai/open-ai';
|
|
26
|
+
|
|
27
|
+
const settings: DyFM_OAI_Settings = new DyFM_OAI_Settings({
|
|
28
|
+
config: {
|
|
29
|
+
baseURL: 'http://<provider-host>:<port>/v1',
|
|
30
|
+
apiKey: '<placeholder-or-real>',
|
|
31
|
+
},
|
|
32
|
+
defaultSettings: new DyFM_OAI_CallSettings({
|
|
33
|
+
useModel: '<provider-specific-model-id>',
|
|
34
|
+
}),
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
class MyChat extends DyNTS_OAI_LLMChat_ServiceBase {}
|
|
38
|
+
const chat: MyChat = new MyChat(settings);
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Csak `config.baseURL` + `config.apiKey` + `defaultSettings.useModel` kell. A többi (organization, project) lokál providereknél figyelmen kívül marad.
|
|
42
|
+
|
|
43
|
+
A `DyNTS_OAI_Embedding_ControlService` és más OAI alapú service-ek ugyanezt a `DyFM_OAI_Settings`-t fogadják — egy konfig, minden service.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Provider-specifikus minták
|
|
48
|
+
|
|
49
|
+
### LM Studio (port 1234)
|
|
50
|
+
|
|
51
|
+
Desktop GUI (Mac/Windows/Linux), beépített OAI-compat szerverrel. Lépések:
|
|
52
|
+
1. Töltsd be a modellt a UI-ben (pl. embedding-hez `nomic-embed-text-v1.5`, chat-hez `llama-3.2-3b-instruct`)
|
|
53
|
+
2. **Local Server** tab → **Start Server**
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
const lmStudio: DyFM_OAI_Settings = new DyFM_OAI_Settings({
|
|
57
|
+
config: {
|
|
58
|
+
baseURL: 'http://localhost:1234/v1',
|
|
59
|
+
apiKey: 'lm-studio', // bármilyen non-empty placeholder
|
|
60
|
+
},
|
|
61
|
+
defaultSettings: new DyFM_OAI_CallSettings({
|
|
62
|
+
useModel: 'nomic-embed-text-v1.5', // ahogy a Local Server tab megjeleníti
|
|
63
|
+
}),
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
// Embedding-hez
|
|
67
|
+
class Knowledge_DataService extends DyNTS_OAI_VectorDataService<Knowledge> {
|
|
68
|
+
constructor() { super(/* args */); }
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Ollama (port 11434, OAI-compat layer ≥ v0.1.14)
|
|
73
|
+
|
|
74
|
+
CLI-driven, multi-modell runner.
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
ollama pull llama3.2:3b
|
|
78
|
+
ollama pull nomic-embed-text
|
|
79
|
+
ollama serve
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
const ollama: DyFM_OAI_Settings = new DyFM_OAI_Settings({
|
|
84
|
+
config: {
|
|
85
|
+
baseURL: 'http://localhost:11434/v1',
|
|
86
|
+
apiKey: 'ollama', // szintén placeholder
|
|
87
|
+
},
|
|
88
|
+
defaultSettings: new DyFM_OAI_CallSettings({
|
|
89
|
+
useModel: 'nomic-embed-text', // `ollama list` mutatja
|
|
90
|
+
}),
|
|
91
|
+
});
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### vLLM (port 8000, production GPU)
|
|
95
|
+
|
|
96
|
+
Python-alapú batched + PagedAttention inference. OAI-compat REST endpoint beépítve.
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
pip install vllm
|
|
100
|
+
python -m vllm.entrypoints.openai.api_server \
|
|
101
|
+
--model meta-llama/Meta-Llama-3-8B-Instruct \
|
|
102
|
+
--port 8000 \
|
|
103
|
+
--api-key local-secret-token
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
const vllm: DyFM_OAI_Settings = new DyFM_OAI_Settings({
|
|
108
|
+
config: {
|
|
109
|
+
baseURL: 'http://gpu-server:8000/v1',
|
|
110
|
+
apiKey: process.env.VLLM_API_KEY ?? 'local-secret-token',
|
|
111
|
+
},
|
|
112
|
+
defaultSettings: new DyFM_OAI_CallSettings({
|
|
113
|
+
useModel: 'meta-llama/Meta-Llama-3-8B-Instruct', // a `--model` érték
|
|
114
|
+
}),
|
|
115
|
+
});
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### LocalAI (port 8080, REST multi-model)
|
|
119
|
+
|
|
120
|
+
Go-alapú, multi-backend (llama.cpp + whisper.cpp + stable-diffusion).
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
docker run -p 8080:8080 \
|
|
124
|
+
-v $PWD/models:/build/models \
|
|
125
|
+
localai/localai:latest
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
```typescript
|
|
129
|
+
const localai: DyFM_OAI_Settings = new DyFM_OAI_Settings({
|
|
130
|
+
config: {
|
|
131
|
+
baseURL: 'http://localai:8080/v1',
|
|
132
|
+
apiKey: 'sk-local', // placeholder
|
|
133
|
+
},
|
|
134
|
+
defaultSettings: new DyFM_OAI_CallSettings({
|
|
135
|
+
useModel: 'gpt-4', // LocalAI alias — `models.yaml`-ban mapped
|
|
136
|
+
}),
|
|
137
|
+
});
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Dev → cloud quick recipe
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
const isDev: boolean = process.env.NODE_ENV === 'development';
|
|
146
|
+
|
|
147
|
+
export const aiSettings: DyFM_OAI_Settings = new DyFM_OAI_Settings({
|
|
148
|
+
config: isDev
|
|
149
|
+
? {
|
|
150
|
+
baseURL: 'http://localhost:11434/v1', // Ollama lokálban
|
|
151
|
+
apiKey: 'dev',
|
|
152
|
+
}
|
|
153
|
+
: {
|
|
154
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
155
|
+
organization: process.env.OPENAI_ORG_ID,
|
|
156
|
+
},
|
|
157
|
+
defaultSettings: new DyFM_OAI_CallSettings({
|
|
158
|
+
useModel: isDev ? 'llama3.2:3b' : 'gpt-4o',
|
|
159
|
+
}),
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
// Az összes Dynamo-NTS OAI service ugyanazt a settings-t fogyasztja:
|
|
163
|
+
class ProdChat extends DyNTS_OAI_LLMChat_ServiceBase {}
|
|
164
|
+
const chat: ProdChat = new ProdChat(aiSettings);
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Caveats — service-szintű
|
|
170
|
+
|
|
171
|
+
### Tool/function calling
|
|
172
|
+
A `DyNTS_OAI_LLMChat_ServiceBase` tool-calling support csak akkor működik a lokál provider-eknél, ha:
|
|
173
|
+
- **Ollama**: tool-aware modell (Llama-3.1+, Mistral újabb verziók)
|
|
174
|
+
- **vLLM**: v0.6+ + megfelelő chat-template
|
|
175
|
+
- **LM Studio**: model-függő, gyakran részleges
|
|
176
|
+
- **LocalAI**: function-call backend kell konfigolni
|
|
177
|
+
|
|
178
|
+
Production OpenAI-mintával írt service-ek **lokál providerre váltáskor** előbb tesztelni kell, hogy a tool-callok valóban triggerelnek-e.
|
|
179
|
+
|
|
180
|
+
### Streaming chat
|
|
181
|
+
A `DyNTS_OAI_LLMChat_ServiceBase` streaming (SSE) működik mindenhol, **de**:
|
|
182
|
+
- Ollama < v0.1.20 streaming-stabilitás kérdéses
|
|
183
|
+
- LocalAI streaming-rate alacsonyabb mint az emit-rate
|
|
184
|
+
- vLLM/LM Studio: rendszeresen frissül, érdemes a provider-changelogot követni
|
|
185
|
+
|
|
186
|
+
### Embedding-modellek
|
|
187
|
+
A `DyNTS_OAI_Embedding_ControlService` `useModel`-je a provider-specifikus dedikált embedding modell **pontos ID**-ja:
|
|
188
|
+
|
|
189
|
+
| Provider | Embedding model ID |
|
|
190
|
+
|---|---|
|
|
191
|
+
| OpenAI (cloud) | `text-embedding-3-small` / `text-embedding-3-large` |
|
|
192
|
+
| LM Studio | `nomic-embed-text-v1.5` / `BAAI/bge-large-en-v1.5` |
|
|
193
|
+
| Ollama | `nomic-embed-text` / `mxbai-embed-large` |
|
|
194
|
+
| vLLM | csak ha az indítási `--model` embedding-képes (pl. `intfloat/e5-mistral-7b-instruct`) |
|
|
195
|
+
| LocalAI | `text-embedding-ada-002` alias (vagy egyéb a `models.yaml`-ban) |
|
|
196
|
+
|
|
197
|
+
### Context window / max-tokens
|
|
198
|
+
A `DyFM_OAI_CallSettings.maxTokens` provider-szintű limit alá kell esnie, különben 400/422 jön vissza:
|
|
199
|
+
|
|
200
|
+
| Provider | Default context-window | Override |
|
|
201
|
+
|---|---|---|
|
|
202
|
+
| OpenAI gpt-4o | 128K | API tier |
|
|
203
|
+
| LM Studio | a betöltött modell native context | UI slider |
|
|
204
|
+
| Ollama | **2048 (legacy default!)** | `OLLAMA_NUM_CTX` env / Modelfile `PARAMETER num_ctx` |
|
|
205
|
+
| vLLM | a modell native context | `--max-model-len` flag |
|
|
206
|
+
| LocalAI | `models.yaml` `context_size` | per-model konfig |
|
|
207
|
+
|
|
208
|
+
### Error-handling
|
|
209
|
+
- OpenAI cloud: standard 4xx/5xx + structured error body
|
|
210
|
+
- Lokál providerek: 404 a modell-name-re (rossz ID), timeout első call-on (modell load), OOM vLLM-en
|
|
211
|
+
- Ollama-specifikus: ha a modell még nem `pull`-olt, csendben várakozik a pull-ig — látszólag hang
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Reference
|
|
216
|
+
|
|
217
|
+
| Fájl | Mit ad |
|
|
218
|
+
|---|---|
|
|
219
|
+
| `fsm-dynamo/.../oai-client-options.interface.ts` | `DyFM_OAI_ClientOptions.baseURL` — a kapcsoló mező |
|
|
220
|
+
| `fsm-dynamo/.../oai-settings.control-model.ts` | `DyFM_OAI_Settings` — settings wrapper |
|
|
221
|
+
| `dynamo-nts/.../oai-llm.service-base.ts` | `DyNTS_OAI_LLM_ServiceBase` — base LLM client (`openai` SDK instantiation) |
|
|
222
|
+
| `dynamo-nts/.../oai-llm-chat.service-base.ts` | `DyNTS_OAI_LLMChat_ServiceBase` — chat service |
|
|
223
|
+
| `dynamo-nts/.../oai-embedding.control-service.ts` | `DyNTS_OAI_Embedding_ControlService` — embedding service |
|
|
224
|
+
|
|
225
|
+
További (fsm-szintű) részletek, ugyanezzel a 4 provider-mintázattal: [`dynamo-fsm/__documentations/2026-05-17-oai-compatible-providers-howto.md`](../../dynamo-fsm/__documentations/2026-05-17-oai-compatible-providers-howto.md).
|
|
226
|
+
|
|
227
|
+
## Backward compatibility
|
|
228
|
+
|
|
229
|
+
Docs-only. `baseURL` mindig is létezett az OpenAI SDK-ban, a Dynamo-NTS csak átadja a config-ot (`oai-llm.service-base.ts:91-98`). Ez a doc csak tisztázza a használati mintázatot — semmilyen TS-változás nincs.
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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;
|
|
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,
|
|
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;
|
|
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
|
-
|
|
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":"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"}
|
|
@@ -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
|
*
|