@futdevpro/nts-dynamo 1.15.34 → 1.15.37

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 (32) hide show
  1. package/.dynamo/logs/cicd-pipeline/output.log +2630 -0
  2. package/.dynamo/logs/cicd-pipeline/status.json +321 -0
  3. package/build/_models/interfaces/cors-settings.interface.d.ts +52 -0
  4. package/build/_models/interfaces/cors-settings.interface.d.ts.map +1 -0
  5. package/build/_models/interfaces/cors-settings.interface.js +3 -0
  6. package/build/_models/interfaces/cors-settings.interface.js.map +1 -0
  7. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +24 -2
  8. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts.map +1 -1
  9. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +124 -0
  10. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js.map +1 -1
  11. package/build/_modules/ai/_services/ai-llm.service-base.d.ts +56 -1
  12. package/build/_modules/ai/_services/ai-llm.service-base.d.ts.map +1 -1
  13. package/build/_modules/ai/_services/ai-llm.service-base.js +122 -0
  14. package/build/_modules/ai/_services/ai-llm.service-base.js.map +1 -1
  15. package/build/_services/server/app.server.d.ts +25 -0
  16. package/build/_services/server/app.server.d.ts.map +1 -1
  17. package/build/_services/server/app.server.js +64 -0
  18. package/build/_services/server/app.server.js.map +1 -1
  19. package/build/index.d.ts +1 -0
  20. package/build/index.d.ts.map +1 -1
  21. package/build/index.js +1 -0
  22. package/build/index.js.map +1 -1
  23. package/package.json +2 -2
  24. package/pnpm-workspace.yaml +3 -0
  25. package/src/_models/interfaces/cors-settings.interface.spec.ts +52 -0
  26. package/src/_models/interfaces/cors-settings.interface.ts +56 -0
  27. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +106 -0
  28. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +154 -5
  29. package/src/_modules/ai/_services/ai-llm.service-base.ts +180 -2
  30. package/src/_services/server/app.server.ts +82 -3
  31. package/src/index.ts +1 -0
  32. /package/{pipeline.cicd.config.json → .dynamo/pipeline.cicd.config.json} +0 -0
@@ -0,0 +1,52 @@
1
+ /**
2
+ * CORS configuration for a DyNTS app's Express instance.
3
+ *
4
+ * Per FR-041 (subdomain-per-service architecture): each app whitelists which
5
+ * client origins may call its API. The allowlist is per-environment (test list
6
+ * differs from prod list). Without an explicit override, no CORS headers are
7
+ * emitted (back-compat: existing apps without CORS keep their same-origin
8
+ * behavior intact).
9
+ *
10
+ * Mounted by `DyNTS_AppServer.mountCors(express)` after BodyParser middleware,
11
+ * before route mounting. Echoes a matching `Access-Control-Allow-Origin` (NOT
12
+ * wildcard) because credentials (`Access-Control-Allow-Credentials: true`) is
13
+ * required for the Bearer JWT cross-domain auth flow.
14
+ */
15
+ export interface DyNTS_Cors_Settings {
16
+ /**
17
+ * Allowed origins. Three forms accepted:
18
+ * - Explicit array of full origin URLs (`https://organizer.futdevpro.hu`).
19
+ * - Predicate function for regex/pattern matching (`(origin) => /\.futdevpro\.hu$/.test(origin)`).
20
+ * - `'*'` for wildcard — UNSAFE with `allowCredentials: true`. Use only on test or
21
+ * open public endpoints that do NOT carry credentials.
22
+ */
23
+ allowedOrigins: string[] | ((origin: string) => boolean) | '*';
24
+ /**
25
+ * Allow credentials (cookies, Authorization headers). Default: `true`.
26
+ * Required for the Bearer JWT flow used cross-domain (auth.futdevpro.hu →
27
+ * organizer.futdevpro.hu etc.).
28
+ */
29
+ allowCredentials?: boolean;
30
+ /**
31
+ * HTTP methods allowed cross-origin. Default:
32
+ * `['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS']`.
33
+ */
34
+ allowedMethods?: string[];
35
+ /**
36
+ * Request headers the browser may send cross-origin. Default:
37
+ * `['Authorization', 'Content-Type', 'X-Admin-Key', 'X-Requested-With']`.
38
+ * Add app-specific headers (e.g. `X-Trace-Id`) by passing the full extended list.
39
+ */
40
+ allowedHeaders?: string[];
41
+ /**
42
+ * Headers the browser may read from cross-origin responses (beyond the
43
+ * CORS-safelisted ones). Default: `['Content-Length', 'Content-Type']`.
44
+ */
45
+ exposedHeaders?: string[];
46
+ /**
47
+ * Preflight cache duration in seconds. Default: `86400` (24h) — minimizes
48
+ * OPTIONS request overhead.
49
+ */
50
+ maxAgeSeconds?: number;
51
+ }
52
+ //# sourceMappingURL=cors-settings.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cors-settings.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/cors-settings.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,GAAG,CAAC;IAE/D;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=cors-settings.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cors-settings.interface.js","sourceRoot":"","sources":["../../../src/_models/interfaces/cors-settings.interface.ts"],"names":[],"mappings":""}
@@ -1,8 +1,8 @@
1
1
  import { OpenAI } from 'openai';
2
2
  import { DyFM_OAI_Settings, DyFM_OAI_Model, DyFM_OAI_CallSettings } from '@futdevpro/fsm-dynamo/ai/open-ai';
3
- import { DyFM_AI_Message, DyFM_AI_Provider, DyFM_AI_ProviderCapabilities, DyFM_AI_Config } from '@futdevpro/fsm-dynamo/ai';
3
+ import { DyFM_AI_Message, DyFM_AI_Provider, DyFM_AI_ProviderCapabilities, DyFM_AI_Config, DyFM_AI_LLM_Response, DyFM_AI_Tool, DyFM_AI_ModelInfo } from '@futdevpro/fsm-dynamo/ai';
4
4
  import { ChatCompletion } from 'openai/resources';
5
- import { ChatCompletionCreateParamsBase } from 'openai/resources/chat/completions';
5
+ import { ChatCompletionCreateParamsBase, ChatCompletionMessageParam, ChatCompletionTool } from 'openai/resources/chat/completions';
6
6
  import { DyNTS_AI_CostEventCallback } from '../../../_models/interfaces/dynts-ai-cost-event-callback.interface';
7
7
  import { DyNTS_OAI_LLM_Predefined_Requests } from '../_models/interfaces/oai-llm-predefined-requests.interface';
8
8
  import { DyNTS_AI_LLM_ServiceBase } from '../../../_services/ai-llm.service-base';
@@ -170,5 +170,27 @@ export declare class DyNTS_OAI_LLM_ServiceBase extends DyNTS_AI_LLM_ServiceBase
170
170
  * Tests the connection to OpenAI API
171
171
  */
172
172
  testConnection(issuer: string): Promise<boolean>;
173
+ /** OpenAI tool-kepes modell-registry (a base capability-precheck-jehez). */
174
+ protected getModelRegistry(): DyFM_AI_ModelInfo[];
175
+ /**
176
+ * Egy OpenAI-kor a tool-loop-ban: felepiti a natív request-et (system + a teljes beszelgetes
177
+ * tool-uzenetekkel + tools), meghivja az API-t, es normalizalt DyFM_AI_LLM_Response-t ad vissza
178
+ * (toolCalls feltoltve, ha a model tool-t akar hivni). FR-002 cost-event: 'llm-tool-use'.
179
+ */
180
+ protected callModelWithTools(set: {
181
+ conversation: DyFM_AI_Message[];
182
+ tools: DyFM_AI_Tool[];
183
+ settings?: DyFM_OAI_CallSettings;
184
+ issuer: string;
185
+ }): Promise<DyFM_AI_LLM_Response>;
186
+ /** Agnosztikus tool-definicio → OpenAI ChatCompletionTool. */
187
+ protected toOpenAITool(tool: DyFM_AI_Tool): ChatCompletionTool;
188
+ /**
189
+ * Agnosztikus DyFM_AI_Message → OpenAI ChatCompletionMessageParam.
190
+ * Kezeli a tool-result (role:'tool') es a tool-hivo assistant (tool_calls) uzeneteket is.
191
+ */
192
+ protected toOpenAIMessage(message: DyFM_AI_Message): ChatCompletionMessageParam;
193
+ /** Tool-argumentumok parse-olasa (OpenAI JSON-string → object); hibas JSON eseten ures object. */
194
+ protected parseToolArguments(raw: string): Record<string, unknown>;
173
195
  }
174
196
  //# sourceMappingURL=oai-llm.service-base.d.ts.map
@@ -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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"}
@@ -433,6 +433,130 @@ class DyNTS_OAI_LLM_ServiceBase extends ai_llm_service_base_1.DyNTS_AI_LLM_Servi
433
433
  return false;
434
434
  }
435
435
  }
436
+ //#region Function calling (tool use) — FR-047
437
+ /** OpenAI tool-kepes modell-registry (a base capability-precheck-jehez). */
438
+ getModelRegistry() {
439
+ return open_ai_1.DyFM_OAI_Models;
440
+ }
441
+ /**
442
+ * Egy OpenAI-kor a tool-loop-ban: felepiti a natív request-et (system + a teljes beszelgetes
443
+ * tool-uzenetekkel + tools), meghivja az API-t, es normalizalt DyFM_AI_LLM_Response-t ad vissza
444
+ * (toolCalls feltoltve, ha a model tool-t akar hivni). FR-002 cost-event: 'llm-tool-use'.
445
+ */
446
+ async callModelWithTools(set) {
447
+ try {
448
+ const settings = set.settings ?? this.defaultSettings;
449
+ const messages = [
450
+ this.toOpenAIMessage(this.getDefaultSystemMessage(settings)),
451
+ ...set.conversation.map((message) => this.toOpenAIMessage(message)),
452
+ ];
453
+ const input = {
454
+ model: settings?.useModel ?? this.defaultModel,
455
+ messages: messages,
456
+ temperature: (0, fsm_dynamo_1.DyFM_notNull)(settings?.temperature) ? settings.temperature : this.defaultSettings.temperature,
457
+ max_completion_tokens: (0, fsm_dynamo_1.DyFM_notNull)(settings?.maxTokens) ? settings.maxTokens : this.defaultSettings.maxTokens,
458
+ top_p: (0, fsm_dynamo_1.DyFM_notNull)(settings?.topP) ? settings.topP : this.defaultSettings.topP,
459
+ frequency_penalty: (0, fsm_dynamo_1.DyFM_notNull)(settings?.frequencyPenalty) ? settings.frequencyPenalty : this.defaultSettings.frequencyPenalty,
460
+ presence_penalty: (0, fsm_dynamo_1.DyFM_notNull)(settings?.presencePenalty) ? settings.presencePenalty : this.defaultSettings.presencePenalty,
461
+ tools: set.tools.map((tool) => this.toOpenAITool(tool)),
462
+ tool_choice: 'auto',
463
+ };
464
+ const start = Date.now();
465
+ const result = await this.openai.chat.completions.create(input);
466
+ const durationMs = Date.now() - start;
467
+ const message = result.choices[0].message;
468
+ const toolCalls = (message.tool_calls ?? [])
469
+ .filter((toolCall) => toolCall.type === 'function')
470
+ .map((toolCall) => ({
471
+ id: toolCall.id,
472
+ name: toolCall.function.name,
473
+ arguments: this.parseToolArguments(toolCall.function.arguments),
474
+ }));
475
+ this.emitCostEvent({
476
+ callType: 'llm-tool-use',
477
+ provider: this.aiProvider,
478
+ model: String(input.model ?? this.defaultModel),
479
+ tokensUsed: {
480
+ input: result.usage?.prompt_tokens ?? 0,
481
+ output: result.usage?.completion_tokens ?? 0,
482
+ total: result.usage?.total_tokens ?? 0,
483
+ },
484
+ durationMs: durationMs,
485
+ issuer: set.issuer,
486
+ timestamp: new Date(),
487
+ });
488
+ return {
489
+ content: message.content ?? '',
490
+ toolCalls: toolCalls.length ? toolCalls : undefined,
491
+ usage: result.usage ? {
492
+ promptTokens: result.usage.prompt_tokens,
493
+ completionTokens: result.usage.completion_tokens,
494
+ totalTokens: result.usage.total_tokens,
495
+ } : undefined,
496
+ model: result.model,
497
+ finishReason: result.choices[0].finish_reason,
498
+ stopReason: result.choices[0].finish_reason,
499
+ rawResponse: result,
500
+ };
501
+ }
502
+ catch (error) {
503
+ throw new fsm_dynamo_1.DyFM_Error({
504
+ ...this.getDefaultErrorSettings('callModelWithTools', error, set.issuer),
505
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OLSB-TC0`,
506
+ });
507
+ }
508
+ }
509
+ /** Agnosztikus tool-definicio → OpenAI ChatCompletionTool. */
510
+ toOpenAITool(tool) {
511
+ return {
512
+ type: 'function',
513
+ function: {
514
+ name: tool.name,
515
+ description: tool.description,
516
+ parameters: tool.parameters,
517
+ },
518
+ };
519
+ }
520
+ /**
521
+ * Agnosztikus DyFM_AI_Message → OpenAI ChatCompletionMessageParam.
522
+ * Kezeli a tool-result (role:'tool') es a tool-hivo assistant (tool_calls) uzeneteket is.
523
+ */
524
+ toOpenAIMessage(message) {
525
+ if (message.role === ai_1.DyFM_AI_MessageRole.tool) {
526
+ return {
527
+ role: 'tool',
528
+ tool_call_id: message.toolCallId ?? '',
529
+ content: message.content,
530
+ };
531
+ }
532
+ if (message.role === ai_1.DyFM_AI_MessageRole.assistant && message.toolCalls?.length) {
533
+ return {
534
+ role: 'assistant',
535
+ content: message.content || null,
536
+ tool_calls: message.toolCalls.map((toolCall) => ({
537
+ id: toolCall.id,
538
+ type: 'function',
539
+ function: {
540
+ name: toolCall.name,
541
+ arguments: JSON.stringify(toolCall.arguments),
542
+ },
543
+ })),
544
+ };
545
+ }
546
+ return {
547
+ role: message.role,
548
+ content: message.content,
549
+ };
550
+ }
551
+ /** Tool-argumentumok parse-olasa (OpenAI JSON-string → object); hibas JSON eseten ures object. */
552
+ parseToolArguments(raw) {
553
+ try {
554
+ return JSON.parse(raw || '{}');
555
+ }
556
+ catch {
557
+ return {};
558
+ }
559
+ }
436
560
  }
437
561
  exports.DyNTS_OAI_LLM_ServiceBase = DyNTS_OAI_LLM_ServiceBase;
438
562
  //# sourceMappingURL=oai-llm.service-base.js.map
@@ -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,5 +1,5 @@
1
1
  import { DyNTS_AI_Provider_ServiceBase } from './ai-provider.service-base';
2
- import { DyFM_AI_CallSettings, DyFM_AI_Message } from '@futdevpro/fsm-dynamo/ai';
2
+ import { DyFM_AI_CallSettings, DyFM_AI_Message, DyFM_AI_LLM_Response, DyFM_AI_Tool, DyFM_AI_ToolCall, DyFM_AI_ToolResult, DyFM_AI_ToolHandlers, DyFM_AI_ModelInfo } from '@futdevpro/fsm-dynamo/ai';
3
3
  import { DyFM_AI_GenericSelect_Input, DyFM_AI_GenericMultiSelect_Input, DyFM_AI_JSONKeysDescription_Input, DyFM_AI_JSONExactKeys_Input, DyFM_AI_Message_Input } from '../_models/ai-input-interfaces';
4
4
  /**
5
5
  * Abstract base class for LLM services
@@ -16,6 +16,61 @@ export declare abstract class DyNTS_AI_LLM_ServiceBase<T_AISettings extends DyFM
16
16
  get defaultSystemPrompt(): string;
17
17
  get defaultModel(): string;
18
18
  defaultLogReplacer: string;
19
+ /**
20
+ * A provider tool-kepes modell-registry-je (override providerenkent — pl. DyFM_OAI_Models).
21
+ * Ures default → a modell tool-kepessege ismeretlen → a precheck elutasitja (honesty).
22
+ */
23
+ protected getModelRegistry(): DyFM_AI_ModelInfo[];
24
+ /**
25
+ * Ellenorzi, hogy a feloldott modell tamogatja-e a function calling-ot; ha nem, beszedes
26
+ * hibaval elhasal MIELOTT barmilyen API-hivas tortenne (kritikus pl. a Local providernel).
27
+ */
28
+ protected assertToolsSupported(modelId: string): void;
29
+ /**
30
+ * GPT valasz Function Calling Agent Tool-okkal — provider-agnosztikus agent-loop.
31
+ * @description A `tools` definiciok + `toolHandlers` alapjan tool-loop-ot futtat: hivja a
32
+ * modellt (callModelWithTools) → ha a valaszban tool-call van, lefuttatja a regisztralt
33
+ * handler-t (runToolCall, never-throw) es az eredmenyt visszafuzi → ismetli, amig a model
34
+ * vegso (tool-call nelkuli) valaszt ad, vagy a maxIterations limitet eleri. A tool-ok a
35
+ * REQUEST-parameterben jonnek, nem a settings-ben.
36
+ */
37
+ requestWithTools(set: {
38
+ conversation: DyFM_AI_Message[];
39
+ tools: DyFM_AI_Tool[];
40
+ toolHandlers: DyFM_AI_ToolHandlers;
41
+ settings?: T_AISettings;
42
+ issuer: string;
43
+ maxIterations?: number;
44
+ }): Promise<DyFM_AI_LLM_Response>;
45
+ /**
46
+ * Egy provider-kor a tool-loop-ban: elkuldi a beszelgetest + tool-okat, normalizalt valaszt ad.
47
+ * @description Override-olando providerenkent (OpenAI / Anthropic / Google / …). A default
48
+ * elhasal — egy provider, ami nem implementalja, tool-use-t nem tud kiszolgalni.
49
+ */
50
+ protected callModelWithTools(_set: {
51
+ conversation: DyFM_AI_Message[];
52
+ tools: DyFM_AI_Tool[];
53
+ settings?: T_AISettings;
54
+ issuer: string;
55
+ }): Promise<DyFM_AI_LLM_Response>;
56
+ /**
57
+ * A provider-agnosztikus agent-loop torzse. A bemeno `conversation` ele a provider teszi a
58
+ * system-message-et (callModelWithTools); a loop a tool-call/tool-result uzeneteket fuzi hozza.
59
+ */
60
+ protected runToolLoop(set: {
61
+ conversation: DyFM_AI_Message[];
62
+ tools: DyFM_AI_Tool[];
63
+ toolHandlers: DyFM_AI_ToolHandlers;
64
+ settings?: T_AISettings;
65
+ issuer: string;
66
+ maxIterations?: number;
67
+ }): Promise<DyFM_AI_LLM_Response>;
68
+ /**
69
+ * Egy tool-hivas lefuttatasa a regisztralt handler-rel. SOHA nem dob — a tool-hiba string-kent
70
+ * megy vissza a modellnek (hogy korrigalhasson), hianyzo handler eseten is informativ uzenet
71
+ * (soha nem [object Object]).
72
+ */
73
+ protected runToolCall(call: DyFM_AI_ToolCall, toolHandlers: DyFM_AI_ToolHandlers): Promise<DyFM_AI_ToolResult>;
19
74
  /**
20
75
  * Call LLM with system and user messages
21
76
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ai-llm.service-base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-llm.service-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-llm.service-base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-llm.service-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EAEpB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EAElB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,iCAAiC,EACjC,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,gCAAgC,CAAC;AAGxC;;;GAGG;AACH,8BAAsB,wBAAwB,CAC5C,YAAY,SAAS,oBAAoB,GAAG,oBAAoB,CAChE,SAAQ,6BAA6B;IACrC,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC;IAEhD,yCAAyC;IAGzC,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC;IAE1C,SAAS,EAAE,OAAO,CAAS;IAC3B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,kBAAkB,EAAE,MAAM,CAAwB;IAUlD;;;OAGG;IACH,SAAS,CAAC,gBAAgB,IAAI,iBAAiB,EAAE;IAIjD;;;OAGG;IACH,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUrD;;;;;;;OAOG;IACG,gBAAgB,CACpB,GAAG,EAAE;QACH,YAAY,EAAE,eAAe,EAAE,CAAC;QAChC,KAAK,EAAE,YAAY,EAAE,CAAC;QACtB,YAAY,EAAE,oBAAoB,CAAC;QACnC,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GACA,OAAO,CAAC,oBAAoB,CAAC;IAOhC;;;;OAIG;cACa,kBAAkB,CAChC,IAAI,EAAE;QACJ,YAAY,EAAE,eAAe,EAAE,CAAC;QAChC,KAAK,EAAE,YAAY,EAAE,CAAC;QACtB,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,oBAAoB,CAAC;IAQhC;;;OAGG;cACa,WAAW,CACzB,GAAG,EAAE;QACH,YAAY,EAAE,eAAe,EAAE,CAAC;QAChC,KAAK,EAAE,YAAY,EAAE,CAAC;QACtB,YAAY,EAAE,oBAAoB,CAAC;QACnC,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GACA,OAAO,CAAC,oBAAoB,CAAC;IA8ChC;;;;OAIG;cACa,WAAW,CACzB,IAAI,EAAE,gBAAgB,EACtB,YAAY,EAAE,oBAAoB,GACjC,OAAO,CAAC,kBAAkB,CAAC;IA2B9B;;OAEG;IAQH;;OAEG;IAOH;;OAEG;IAQH,QAAQ,CAAC,oBAAoB,CAAC,GAAG,EAAE,qBAAqB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACxF,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,qBAAqB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IACjF,QAAQ,CAAC,iBAAiB,CAAC,GAAG,EAAE,qBAAqB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAGrF,QAAQ,CAAC,aAAa,CAAC,CAAC,EACtB,GAAG,EAAE,2BAA2B,CAAC,CAAC,EAAE,YAAY,CAAC,GAChD,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAE5C,QAAQ,CAAC,kBAAkB,CAAC,CAAC,EAC3B,GAAG,EAAE,gCAAgC,CAAC,CAAC,EAAE,YAAY,CAAC,GACrD,OAAO,CAAC,CAAC,EAAE,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAE9C,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,qBAAqB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5G,QAAQ,CAAC,sCAAsC,CAAC,CAAC,EAC/C,GAAG,EAAE,iCAAiC,CAAC,YAAY,CAAC,GACnD,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAE5C,QAAQ,CAAC,wBAAwB,CAAC,CAAC,EACjC,GAAG,EAAE,2BAA2B,CAAC,YAAY,CAAC,GAC7C,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAI5C,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,qBAAqB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAa9G,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIzD,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAoBxE,SAAS,CAAC,2BAA2B,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC;IA+B1F,SAAS,CAAC,4BAA4B,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAsB7F,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE;IAqBnG,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE;IAuBrG,SAAS,CAAC,sBAAsB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE;IAI3D,SAAS,CAAC,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM;IAIrD,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAgBjE;;;OAGG;IACH,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM;IAUnD,SAAS,CAAC,WAAW,CACnB,GAAG,EAAE,qBAAqB,CAAC,YAAY,CAAC,GACvC,IAAI;IAMP,SAAS,CAAC,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,eAAe;IAO1E,SAAS,CAAC,oBAAoB,CAAC,YAAY,EAAE,eAAe,EAAE,GAAG,IAAI;IAgBrE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAazC,SAAS,CAAC,eAAe,CACvB,GAAG,EAAE;QACH,YAAY,EAAE,eAAe,EAAE,CAAC;QAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,6EAA6E;QAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B;CAYJ"}
@@ -20,6 +20,128 @@ class DyNTS_AI_LLM_ServiceBase extends ai_provider_service_base_1.DyNTS_AI_Provi
20
20
  return this.defaultSettings.useModel;
21
21
  }
22
22
  defaultLogReplacer = '...long-context...';
23
+ //////////////////////////////////////////////////////////////////////////////////////////
24
+ // FUNCTION CALLING (TOOL USE) — FR-047 //
25
+ //////////////////////////////////////////////////////////////////////////////////////////
26
+ // Provider-agnostic agent-loop. The loop logic lives here ONCE (ported from the legacy
27
+ // FDPNTS_GPT_ControlService.getAnswerWithTools); each provider only overrides
28
+ // `callModelWithTools` (one provider turn) and `getModelRegistry` (capability honesty).
29
+ // Tools are a REQUEST parameter (not on settings), per the FR-047 design.
30
+ /**
31
+ * A provider tool-kepes modell-registry-je (override providerenkent — pl. DyFM_OAI_Models).
32
+ * Ures default → a modell tool-kepessege ismeretlen → a precheck elutasitja (honesty).
33
+ */
34
+ getModelRegistry() {
35
+ return [];
36
+ }
37
+ /**
38
+ * Ellenorzi, hogy a feloldott modell tamogatja-e a function calling-ot; ha nem, beszedes
39
+ * hibaval elhasal MIELOTT barmilyen API-hivas tortenne (kritikus pl. a Local providernel).
40
+ */
41
+ assertToolsSupported(modelId) {
42
+ if (!ai_1.DyFM_AI_ModelRegistry_Util.modelSupportsTools(this.getModelRegistry(), modelId)) {
43
+ throw new fsm_dynamo_1.DyFM_Error({
44
+ message: `Model '${modelId}' does not support function calling (provider: ${this.aiProvider})`,
45
+ userMessage: `The selected AI model does not support tools.`,
46
+ errorCode: 'DyNTS-AILSB-TLC0',
47
+ });
48
+ }
49
+ }
50
+ /**
51
+ * GPT valasz Function Calling Agent Tool-okkal — provider-agnosztikus agent-loop.
52
+ * @description A `tools` definiciok + `toolHandlers` alapjan tool-loop-ot futtat: hivja a
53
+ * modellt (callModelWithTools) → ha a valaszban tool-call van, lefuttatja a regisztralt
54
+ * handler-t (runToolCall, never-throw) es az eredmenyt visszafuzi → ismetli, amig a model
55
+ * vegso (tool-call nelkuli) valaszt ad, vagy a maxIterations limitet eleri. A tool-ok a
56
+ * REQUEST-parameterben jonnek, nem a settings-ben.
57
+ */
58
+ async requestWithTools(set) {
59
+ const modelId = (set.settings?.useModel ?? this.defaultModel);
60
+ this.assertToolsSupported(modelId);
61
+ return this.runToolLoop(set);
62
+ }
63
+ /**
64
+ * Egy provider-kor a tool-loop-ban: elkuldi a beszelgetest + tool-okat, normalizalt valaszt ad.
65
+ * @description Override-olando providerenkent (OpenAI / Anthropic / Google / …). A default
66
+ * elhasal — egy provider, ami nem implementalja, tool-use-t nem tud kiszolgalni.
67
+ */
68
+ async callModelWithTools(_set) {
69
+ throw new fsm_dynamo_1.DyFM_Error({
70
+ message: `callModelWithTools is not implemented for provider '${this.aiProvider}'`,
71
+ userMessage: `Function calling is not available for this AI provider yet.`,
72
+ errorCode: 'DyNTS-AILSB-TLN0',
73
+ });
74
+ }
75
+ /**
76
+ * A provider-agnosztikus agent-loop torzse. A bemeno `conversation` ele a provider teszi a
77
+ * system-message-et (callModelWithTools); a loop a tool-call/tool-result uzeneteket fuzi hozza.
78
+ */
79
+ async runToolLoop(set) {
80
+ const maxIterations = set.maxIterations ?? 8;
81
+ const conversation = [...set.conversation];
82
+ for (let iteration = 0; iteration < maxIterations; iteration++) {
83
+ const response = await this.callModelWithTools({
84
+ conversation: conversation,
85
+ tools: set.tools,
86
+ settings: set.settings,
87
+ issuer: set.issuer,
88
+ });
89
+ // nincs tool-hivas → ez a vegso valasz
90
+ if (!response.toolCalls?.length) {
91
+ return response;
92
+ }
93
+ // a model tool-hivo (assistant) uzenetet visszatesszuk a kontextusba
94
+ conversation.push({
95
+ role: ai_1.DyFM_AI_MessageRole.assistant,
96
+ content: response.content ?? '',
97
+ toolCalls: response.toolCalls,
98
+ });
99
+ // minden tool-hivast lefuttatunk (never-throw), es az eredmenyt visszaadjuk a modellnek
100
+ const results = await Promise.all(response.toolCalls.map((call) => this.runToolCall(call, set.toolHandlers)));
101
+ results.forEach((result) => {
102
+ conversation.push({
103
+ role: ai_1.DyFM_AI_MessageRole.tool,
104
+ content: result.content,
105
+ toolCallId: result.toolCallId,
106
+ });
107
+ });
108
+ }
109
+ // a tool-loop nem konvergalt a limiten belul
110
+ throw new fsm_dynamo_1.DyFM_Error({
111
+ message: `Tool loop did not converge within ${maxIterations} iterations`,
112
+ userMessage: `We encountered an error while running AI tools, please contact the responsible development team.`,
113
+ errorCode: 'DyNTS-AILSB-TL0',
114
+ });
115
+ }
116
+ /**
117
+ * Egy tool-hivas lefuttatasa a regisztralt handler-rel. SOHA nem dob — a tool-hiba string-kent
118
+ * megy vissza a modellnek (hogy korrigalhasson), hianyzo handler eseten is informativ uzenet
119
+ * (soha nem [object Object]).
120
+ */
121
+ async runToolCall(call, toolHandlers) {
122
+ const handler = toolHandlers[call.name];
123
+ if (!handler) {
124
+ return {
125
+ toolCallId: call.id,
126
+ content: `ERROR: no handler registered for tool '${call.name}'`,
127
+ isError: true,
128
+ };
129
+ }
130
+ try {
131
+ return {
132
+ toolCallId: call.id,
133
+ content: await handler(call.arguments),
134
+ };
135
+ }
136
+ catch (error) {
137
+ return {
138
+ toolCallId: call.id,
139
+ content: `ERROR executing tool '${call.name}': ` +
140
+ `${error instanceof Error ? error.message : String(error)}`,
141
+ isError: true,
142
+ };
143
+ }
144
+ }
23
145
  // Helper methods
24
146
  /* protected abstract getDefaultErrorSettings(
25
147
  method: string,
@@ -1 +1 @@
1
- {"version":3,"file":"ai-llm.service-base.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-llm.service-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-llm.service-base.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-llm.service-base.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { DyNTS_Http_Settings } from '../../_models/control-models/http-settings.
10
10
  import { DyNTS_Certification_Settings } from '../../_models/interfaces/certification-settings.interface';
11
11
  import { DyNTS_GlobalService_Settings } from '../../_models/interfaces/global-service-settings.interface';
12
12
  import { DyNTS_StaticClient_Settings } from '../../_models/interfaces/static-client-settings.interface';
13
+ import { DyNTS_Cors_Settings } from '../../_models/interfaces/cors-settings.interface';
13
14
  import { DyNTS_SingletonService } from '../base/singleton.service';
14
15
  import { DyNTS_RoutingModule } from '../route/routing-module.service';
15
16
  /**
@@ -250,6 +251,22 @@ export declare abstract class DyNTS_App extends DyNTS_SingletonService {
250
251
  *
251
252
  */
252
253
  private mountOpenRoutes;
254
+ /**
255
+ * FR-041 — CORS middleware. Echoes a matching `Access-Control-Allow-Origin`
256
+ * for any request whose Origin header is in `getCorsSettings().allowedOrigins`,
257
+ * adds the canonical `Access-Control-*` companion headers, and short-circuits
258
+ * the OPTIONS preflight with a 204.
259
+ *
260
+ * No-op when the subclass does NOT override `getCorsSettings()` — preserves
261
+ * back-compat for apps that have always been same-origin and never needed
262
+ * CORS (the typical pre-FR-041 case).
263
+ *
264
+ * Why hand-rolled instead of the `cors` npm package:
265
+ * - ~30 lines, zero new dependency.
266
+ * - Full control over Vary/credentials/preflight semantics.
267
+ * - Aligns with FDP "no unnecessary deps" philosophy.
268
+ */
269
+ protected mountCors(express: Express.Application): void;
253
270
  /**
254
271
  * Ha getStaticClientSettings() visszaad beállításokat, a client static fájlok a '/' alatt
255
272
  * lesznek kiszolgálva (API route-ok után). SPA fallback opcionális (fallbackPath).
@@ -300,6 +317,14 @@ export declare abstract class DyNTS_App extends DyNTS_SingletonService {
300
317
  * Opcionális fallbackPath pl. SPA index.html-hez.
301
318
  */
302
319
  getStaticClientSettings?(): DyNTS_StaticClient_Settings | undefined;
320
+ /**
321
+ * FR-041 — Ha megadva, CORS middleware mount-olódik mindkét Express instance-ra
322
+ * (open + secure). Az `allowedOrigins` listán szereplő Origin-eket echo-zza vissza,
323
+ * `Access-Control-Allow-Credentials: true`-val (default) együtt a Bearer JWT
324
+ * cross-domain auth flow miatt. OPTIONS preflight 204-gyel rövidre záródik.
325
+ * Ha undefined → no CORS headers, no preflight handling — back-compat.
326
+ */
327
+ getCorsSettings?(): DyNTS_Cors_Settings | undefined;
303
328
  /**
304
329
  * MISSING Description (TODO)
305
330
  */
@@ -1 +1 @@
1
- {"version":3,"file":"app.server.d.ts","sourceRoot":"","sources":["../../../src/_services/server/app.server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.server.d.ts","sourceRoot":"","sources":["../../../src/_services/server/app.server.ts"],"names":[],"mappings":"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"}