@futdevpro/fsm-dynamo 1.15.15 → 1.15.17
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/.dynamo/pipeline.cicd.config.json +128 -0
- package/build/_collections/utils/require-env.util.d.ts +3 -3
- package/build/_collections/utils/require-env.util.js +2 -2
- package/build/_models/interfaces/environment/global-settings.interface.d.ts +1 -1
- package/build/_modules/ai/_collections/ai-model-registry.util.d.ts +24 -0
- package/build/_modules/ai/_collections/ai-model-registry.util.d.ts.map +1 -0
- package/build/_modules/ai/_collections/ai-model-registry.util.js +31 -0
- package/build/_modules/ai/_collections/ai-model-registry.util.js.map +1 -0
- package/build/_modules/ai/_enums/ai-message-role.enum.d.ts +3 -1
- package/build/_modules/ai/_enums/ai-message-role.enum.d.ts.map +1 -1
- package/build/_modules/ai/_enums/ai-message-role.enum.js +2 -0
- package/build/_modules/ai/_enums/ai-message-role.enum.js.map +1 -1
- package/build/_modules/ai/_enums/ai-model-type.enum.d.ts +3 -1
- package/build/_modules/ai/_enums/ai-model-type.enum.d.ts.map +1 -1
- package/build/_modules/ai/_enums/ai-model-type.enum.js +2 -0
- package/build/_modules/ai/_enums/ai-model-type.enum.js.map +1 -1
- package/build/_modules/ai/_models/ai-call-settings.interface.d.ts +21 -0
- package/build/_modules/ai/_models/ai-call-settings.interface.d.ts.map +1 -1
- package/build/_modules/ai/_models/ai-call-settings.interface.js +21 -0
- package/build/_modules/ai/_models/ai-call-settings.interface.js.map +1 -1
- package/build/_modules/ai/_models/ai-llm-response.interface.d.ts +5 -0
- package/build/_modules/ai/_models/ai-llm-response.interface.d.ts.map +1 -1
- package/build/_modules/ai/_models/ai-message.interface.d.ts +5 -0
- package/build/_modules/ai/_models/ai-message.interface.d.ts.map +1 -1
- package/build/_modules/ai/_models/ai-model-capabilities.interface.d.ts +28 -0
- package/build/_modules/ai/_models/ai-model-capabilities.interface.d.ts.map +1 -0
- package/build/_modules/ai/_models/ai-model-capabilities.interface.js +3 -0
- package/build/_modules/ai/_models/ai-model-capabilities.interface.js.map +1 -0
- package/build/_modules/ai/_models/ai-model-info.interface.d.ts +62 -0
- package/build/_modules/ai/_models/ai-model-info.interface.d.ts.map +1 -0
- package/build/_modules/ai/_models/ai-model-info.interface.js +3 -0
- package/build/_modules/ai/_models/ai-model-info.interface.js.map +1 -0
- package/build/_modules/ai/_models/ai-model-settings-schema.interface.d.ts +52 -0
- package/build/_modules/ai/_models/ai-model-settings-schema.interface.d.ts.map +1 -0
- package/build/_modules/ai/_models/ai-model-settings-schema.interface.js +3 -0
- package/build/_modules/ai/_models/ai-model-settings-schema.interface.js.map +1 -0
- package/build/_modules/ai/_models/ai-tool-call.interface.d.ts +19 -0
- package/build/_modules/ai/_models/ai-tool-call.interface.d.ts.map +1 -0
- package/build/_modules/ai/_models/ai-tool-call.interface.js +3 -0
- package/build/_modules/ai/_models/ai-tool-call.interface.js.map +1 -0
- package/build/_modules/ai/_models/ai-tool-handler.type.d.ts +11 -0
- package/build/_modules/ai/_models/ai-tool-handler.type.d.ts.map +1 -0
- package/build/_modules/ai/_models/ai-tool-handler.type.js +3 -0
- package/build/_modules/ai/_models/ai-tool-handler.type.js.map +1 -0
- package/build/_modules/ai/_models/ai-tool-result.interface.d.ts +17 -0
- package/build/_modules/ai/_models/ai-tool-result.interface.d.ts.map +1 -0
- package/build/_modules/ai/_models/ai-tool-result.interface.js +3 -0
- package/build/_modules/ai/_models/ai-tool-result.interface.js.map +1 -0
- package/build/_modules/ai/_models/ai-tool.interface.d.ts +17 -0
- package/build/_modules/ai/_models/ai-tool.interface.d.ts.map +1 -0
- package/build/_modules/ai/_models/ai-tool.interface.js +3 -0
- package/build/_modules/ai/_models/ai-tool.interface.js.map +1 -0
- package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.d.ts +14 -0
- package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.d.ts.map +1 -0
- package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.js +80 -0
- package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.js.map +1 -0
- package/build/_modules/ai/_modules/anthropic/_enums/aai-model.enum.d.ts +4 -0
- package/build/_modules/ai/_modules/anthropic/_enums/aai-model.enum.d.ts.map +1 -1
- package/build/_modules/ai/_modules/anthropic/_enums/aai-model.enum.js +7 -0
- package/build/_modules/ai/_modules/anthropic/_enums/aai-model.enum.js.map +1 -1
- package/build/_modules/ai/_modules/anthropic/index.d.ts +1 -0
- package/build/_modules/ai/_modules/anthropic/index.d.ts.map +1 -1
- package/build/_modules/ai/_modules/anthropic/index.js +2 -0
- package/build/_modules/ai/_modules/anthropic/index.js.map +1 -1
- package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.d.ts +12 -0
- package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.d.ts.map +1 -0
- package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.js +35 -0
- package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.js.map +1 -0
- package/build/_modules/ai/_modules/fdp-ai/index.d.ts +1 -0
- package/build/_modules/ai/_modules/fdp-ai/index.d.ts.map +1 -1
- package/build/_modules/ai/_modules/fdp-ai/index.js +2 -0
- package/build/_modules/ai/_modules/fdp-ai/index.js.map +1 -1
- package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.d.ts +13 -0
- package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.d.ts.map +1 -0
- package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.js +97 -0
- package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.js.map +1 -0
- package/build/_modules/ai/_modules/google-ai/_enums/gai-model.enum.d.ts +4 -0
- package/build/_modules/ai/_modules/google-ai/_enums/gai-model.enum.d.ts.map +1 -1
- package/build/_modules/ai/_modules/google-ai/_enums/gai-model.enum.js +8 -1
- package/build/_modules/ai/_modules/google-ai/_enums/gai-model.enum.js.map +1 -1
- package/build/_modules/ai/_modules/google-ai/index.d.ts +1 -0
- package/build/_modules/ai/_modules/google-ai/index.d.ts.map +1 -1
- package/build/_modules/ai/_modules/google-ai/index.js +2 -0
- package/build/_modules/ai/_modules/google-ai/index.js.map +1 -1
- package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.d.ts +13 -0
- package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.d.ts.map +1 -0
- package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.js +53 -0
- package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.js.map +1 -0
- package/build/_modules/ai/_modules/local-ai/index.d.ts +1 -0
- package/build/_modules/ai/_modules/local-ai/index.d.ts.map +1 -1
- package/build/_modules/ai/_modules/local-ai/index.js +2 -0
- package/build/_modules/ai/_modules/local-ai/index.js.map +1 -1
- package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.d.ts +13 -0
- package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.d.ts.map +1 -0
- package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.js +240 -0
- package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.js.map +1 -0
- package/build/_modules/ai/_modules/open-ai/_enums/oai-model.enum.d.ts +8 -0
- package/build/_modules/ai/_modules/open-ai/_enums/oai-model.enum.d.ts.map +1 -1
- package/build/_modules/ai/_modules/open-ai/_enums/oai-model.enum.js +10 -0
- package/build/_modules/ai/_modules/open-ai/_enums/oai-model.enum.js.map +1 -1
- package/build/_modules/ai/_modules/open-ai/index.d.ts +1 -0
- package/build/_modules/ai/_modules/open-ai/index.d.ts.map +1 -1
- package/build/_modules/ai/_modules/open-ai/index.js +1 -0
- package/build/_modules/ai/_modules/open-ai/index.js.map +1 -1
- package/build/_modules/ai/index.d.ts +8 -0
- package/build/_modules/ai/index.d.ts.map +1 -1
- package/build/_modules/ai/index.js +8 -0
- package/build/_modules/ai/index.js.map +1 -1
- package/package.json +1 -1
- package/src/_collections/utils/require-env.util.ts +3 -3
- package/src/_models/interfaces/environment/global-settings.interface.ts +1 -1
- package/src/_modules/ai/_collections/ai-model-registry.util.spec.ts +37 -0
- package/src/_modules/ai/_collections/ai-model-registry.util.ts +30 -0
- package/src/_modules/ai/_enums/ai-message-role.enum.ts +2 -0
- package/src/_modules/ai/_enums/ai-model-type.enum.ts +2 -0
- package/src/_modules/ai/_models/ai-call-settings.interface.ts +21 -0
- package/src/_modules/ai/_models/ai-llm-response.interface.ts +5 -0
- package/src/_modules/ai/_models/ai-message.interface.ts +5 -0
- package/src/_modules/ai/_models/ai-model-capabilities.interface.ts +27 -0
- package/src/_modules/ai/_models/ai-model-info.interface.ts +63 -0
- package/src/_modules/ai/_models/ai-model-settings-schema.interface.ts +52 -0
- package/src/_modules/ai/_models/ai-tool-call.interface.ts +18 -0
- package/src/_modules/ai/_models/ai-tool-handler.type.ts +11 -0
- package/src/_modules/ai/_models/ai-tool-result.interface.ts +16 -0
- package/src/_modules/ai/_models/ai-tool.interface.ts +16 -0
- package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +78 -0
- package/src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts +8 -0
- package/src/_modules/ai/_modules/anthropic/index.ts +3 -0
- package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +33 -0
- package/src/_modules/ai/_modules/fdp-ai/index.ts +3 -0
- package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +95 -0
- package/src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts +9 -1
- package/src/_modules/ai/_modules/google-ai/index.ts +3 -0
- package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +51 -0
- package/src/_modules/ai/_modules/local-ai/index.ts +3 -0
- package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +241 -0
- package/src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts +11 -0
- package/src/_modules/ai/_modules/open-ai/index.ts +1 -0
- package/src/_modules/ai/index.ts +8 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Dynamo-FSM CI/CD Pipeline",
|
|
3
|
+
"outputDir": "./logs/cicd-pipeline",
|
|
4
|
+
"timing": {
|
|
5
|
+
"stepTimeout": "10m",
|
|
6
|
+
"teeMaxRuntime": "10m",
|
|
7
|
+
"stepCooldown": "1s"
|
|
8
|
+
},
|
|
9
|
+
"log": {
|
|
10
|
+
"runtimeMaxBytes": 5242880,
|
|
11
|
+
"trimCheckEveryN": 1000
|
|
12
|
+
},
|
|
13
|
+
"versionBump": {
|
|
14
|
+
"enabled": false
|
|
15
|
+
},
|
|
16
|
+
"report": {
|
|
17
|
+
"fileName": "cicd-report.json",
|
|
18
|
+
"includeLogTail": true,
|
|
19
|
+
"logTailLines": 10000,
|
|
20
|
+
"includeStepLogs": false
|
|
21
|
+
},
|
|
22
|
+
"steps": [
|
|
23
|
+
{
|
|
24
|
+
"label": "discord-start",
|
|
25
|
+
"command": "dc ci-dn-s '{\"appName\":\"Dynamo-FSM\",\"appEmoji\":\"🧱\",\"commitMessage\":\"$COMMIT_MESSAGE\",\"branchName\":\"$GITHUB_REF_NAME\",\"author\":\"$GITHUB_ACTOR\",\"runNumber\":\"$GITHUB_RUN_NUMBER\",\"runId\":\"$GITHUB_RUN_ID\",\"repository\":\"$GITHUB_REPOSITORY\",\"eventName\":\"$GITHUB_EVENT_NAME\",\"eventDateTime\":\"$EVENT_DATETIME\"}'",
|
|
26
|
+
"fatal": false,
|
|
27
|
+
"discord": {
|
|
28
|
+
"hide": true
|
|
29
|
+
},
|
|
30
|
+
"condition": {
|
|
31
|
+
"envSet": [
|
|
32
|
+
"DISCORD_WEBHOOK_ID"
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"label": "pre-flight",
|
|
38
|
+
"type": "pre-flight-check",
|
|
39
|
+
"fatal": true,
|
|
40
|
+
"discord": {
|
|
41
|
+
"emoji": "🔐",
|
|
42
|
+
"name": "Pre-flight Check"
|
|
43
|
+
},
|
|
44
|
+
"settings": {
|
|
45
|
+
"requiredEnvVars": [
|
|
46
|
+
"NPM_TOKEN"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"label": "install",
|
|
52
|
+
"command": "pnpm i",
|
|
53
|
+
"fatal": true,
|
|
54
|
+
"discord": {
|
|
55
|
+
"hide": true
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"label": "build",
|
|
60
|
+
"command": "npx tsc",
|
|
61
|
+
"fatal": true,
|
|
62
|
+
"discord": {
|
|
63
|
+
"emoji": "🏗️",
|
|
64
|
+
"name": "Build"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"label": "test",
|
|
69
|
+
"command": "npx jasmine",
|
|
70
|
+
"fatal": true,
|
|
71
|
+
"discord": {
|
|
72
|
+
"emoji": "🧪",
|
|
73
|
+
"name": "Tests"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"label": "npm-publish",
|
|
78
|
+
"type": "npm-publish",
|
|
79
|
+
"fatal": false,
|
|
80
|
+
"discord": {
|
|
81
|
+
"emoji": "📦",
|
|
82
|
+
"name": "NPM Publish"
|
|
83
|
+
},
|
|
84
|
+
"condition": {
|
|
85
|
+
"branchMatch": [
|
|
86
|
+
"master"
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
"settings": {
|
|
90
|
+
"directory": ".",
|
|
91
|
+
"skipIfPublished": true,
|
|
92
|
+
"retryAttempts": 3,
|
|
93
|
+
"retryDelaySeconds": 30
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"label": "pipeline-report",
|
|
98
|
+
"command": "fdp pipeline-report --report ./logs/cicd-pipeline/cicd-report.json --overseer-url $OVERSEER_URL --overseer-secret $OVERSEER_SECRET_KEY --branch $GITHUB_REF_NAME",
|
|
99
|
+
"fatal": false,
|
|
100
|
+
"always": true,
|
|
101
|
+
"discord": {
|
|
102
|
+
"emoji": "📊",
|
|
103
|
+
"name": "Build Report"
|
|
104
|
+
},
|
|
105
|
+
"condition": {
|
|
106
|
+
"envSet": [
|
|
107
|
+
"OVERSEER_URL"
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"label": "discord-result",
|
|
113
|
+
"command": "fdp pipeline-notify --report ./logs/cicd-pipeline/cicd-report.json --config ./pipeline.cicd.config.json --app-name Dynamo-FSM --app-emoji 🧱 --webhook-id $DISCORD_WEBHOOK_ID --webhook-token $DISCORD_WEBHOOK_TOKEN --overseer-url $OVERSEER_DASHBOARD_URL",
|
|
114
|
+
"fatal": false,
|
|
115
|
+
"retryOnFail": 2,
|
|
116
|
+
"retryDelaySec": 5,
|
|
117
|
+
"always": true,
|
|
118
|
+
"discord": {
|
|
119
|
+
"hide": true
|
|
120
|
+
},
|
|
121
|
+
"condition": {
|
|
122
|
+
"envSet": [
|
|
123
|
+
"DISCORD_WEBHOOK_ID"
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
]
|
|
128
|
+
}
|
|
@@ -5,7 +5,7 @@ export interface DyFM_RequireEnv_Options {
|
|
|
5
5
|
/**
|
|
6
6
|
* Stable error code emitted on the DyFM_Error when the env-var is missing
|
|
7
7
|
* and no fallback is configured. Convention: `<PACKAGE>-ENV-MISSING-<KEY>`,
|
|
8
|
-
* e.g. `DyNM-ENV-MISSING-STORAGE-KEY`, `FDP-ENV-MISSING-AUTH-KEY`.
|
|
8
|
+
* e.g. `DyNM-ENV-MISSING-STORAGE-KEY`, `FDP-ENV-MISSING-CORE-FE-AUTH-KEY`.
|
|
9
9
|
*/
|
|
10
10
|
errorCode: string;
|
|
11
11
|
/**
|
|
@@ -60,8 +60,8 @@ export interface DyFM_RequireEnv_Options {
|
|
|
60
60
|
* import { DyFM_requireEnv } from '@futdevpro/fsm-dynamo';
|
|
61
61
|
*
|
|
62
62
|
* export const FDP_keysEnv_settingsBase = {
|
|
63
|
-
* authKey: DyFM_requireEnv('
|
|
64
|
-
* errorCode: 'FDP-ENV-MISSING-AUTH-KEY',
|
|
63
|
+
* authKey: DyFM_requireEnv('FDP_CORE_FE_AUTH_KEY', {
|
|
64
|
+
* errorCode: 'FDP-ENV-MISSING-CORE-FE-AUTH-KEY',
|
|
65
65
|
* issuerService: 'fdp-templates',
|
|
66
66
|
* fallback: '<inherit literal>', // remove for Wave 3
|
|
67
67
|
* }),
|
|
@@ -33,8 +33,8 @@ const global_settings_const_1 = require("../constants/global-settings.const");
|
|
|
33
33
|
* import { DyFM_requireEnv } from '@futdevpro/fsm-dynamo';
|
|
34
34
|
*
|
|
35
35
|
* export const FDP_keysEnv_settingsBase = {
|
|
36
|
-
* authKey: DyFM_requireEnv('
|
|
37
|
-
* errorCode: 'FDP-ENV-MISSING-AUTH-KEY',
|
|
36
|
+
* authKey: DyFM_requireEnv('FDP_CORE_FE_AUTH_KEY', {
|
|
37
|
+
* errorCode: 'FDP-ENV-MISSING-CORE-FE-AUTH-KEY',
|
|
38
38
|
* issuerService: 'fdp-templates',
|
|
39
39
|
* fallback: '<inherit literal>', // remove for Wave 3
|
|
40
40
|
* }),
|
|
@@ -29,7 +29,7 @@ export interface DyFM_Global_Settings {
|
|
|
29
29
|
* import { environment } from './environments/environment';
|
|
30
30
|
*
|
|
31
31
|
* DyFM_global_settings.envOverrides = {
|
|
32
|
-
*
|
|
32
|
+
* FDP_CORE_FE_AUTH_KEY: environment.authKey,
|
|
33
33
|
* FDP_EXTRA_AUTH_STORAGE_KEY: environment.extraAuthStorageKey,
|
|
34
34
|
* DyNM_STORAGE_ENCRYPTION_KEY: environment.storageEncryptionKey,
|
|
35
35
|
* };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DyFM_AI_ModelInfo } from '../_models/ai-model-info.interface';
|
|
2
|
+
/**
|
|
3
|
+
* Lookups over a per-provider model registry (`DyFM_OAI_Models`, `DyFM_AAI_Models`, …).
|
|
4
|
+
*
|
|
5
|
+
* The registry array is passed IN — this keeps the agnostic `./ai` core free of
|
|
6
|
+
* any provider-submodule dependency (the execution-layer service supplies its own
|
|
7
|
+
* provider's registry). The lookup is by exact API model `id`.
|
|
8
|
+
*/
|
|
9
|
+
export declare class DyFM_AI_ModelRegistry_Util {
|
|
10
|
+
/**
|
|
11
|
+
* A modell-descriptor megkeresese id alapjan a megadott registry-ben.
|
|
12
|
+
* @param models - a provider registry tomb (pl. DyFM_OAI_Models)
|
|
13
|
+
* @param id - pontos API modell-azonosito (pl. 'gpt-5.5')
|
|
14
|
+
*/
|
|
15
|
+
static findModelInfo(models: DyFM_AI_ModelInfo[], id: string): DyFM_AI_ModelInfo | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Tamogatja-e a modell a function calling-ot (tool use)?
|
|
18
|
+
* Ismeretlen id eseten `false` (honesty — soha ne feltetelezzunk tool-kepesseget).
|
|
19
|
+
* @param models - a provider registry tomb
|
|
20
|
+
* @param id - pontos API modell-azonosito
|
|
21
|
+
*/
|
|
22
|
+
static modelSupportsTools(models: DyFM_AI_ModelInfo[], id: string): boolean;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=ai-model-registry.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-model-registry.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_collections/ai-model-registry.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;;;;;GAMG;AACH,qBAAa,0BAA0B;IAErC;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI5F;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO;CAG5E"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyFM_AI_ModelRegistry_Util = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Lookups over a per-provider model registry (`DyFM_OAI_Models`, `DyFM_AAI_Models`, …).
|
|
6
|
+
*
|
|
7
|
+
* The registry array is passed IN — this keeps the agnostic `./ai` core free of
|
|
8
|
+
* any provider-submodule dependency (the execution-layer service supplies its own
|
|
9
|
+
* provider's registry). The lookup is by exact API model `id`.
|
|
10
|
+
*/
|
|
11
|
+
class DyFM_AI_ModelRegistry_Util {
|
|
12
|
+
/**
|
|
13
|
+
* A modell-descriptor megkeresese id alapjan a megadott registry-ben.
|
|
14
|
+
* @param models - a provider registry tomb (pl. DyFM_OAI_Models)
|
|
15
|
+
* @param id - pontos API modell-azonosito (pl. 'gpt-5.5')
|
|
16
|
+
*/
|
|
17
|
+
static findModelInfo(models, id) {
|
|
18
|
+
return models.find((model) => model.id === id);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Tamogatja-e a modell a function calling-ot (tool use)?
|
|
22
|
+
* Ismeretlen id eseten `false` (honesty — soha ne feltetelezzunk tool-kepesseget).
|
|
23
|
+
* @param models - a provider registry tomb
|
|
24
|
+
* @param id - pontos API modell-azonosito
|
|
25
|
+
*/
|
|
26
|
+
static modelSupportsTools(models, id) {
|
|
27
|
+
return DyFM_AI_ModelRegistry_Util.findModelInfo(models, id)?.capabilities?.functionCalling ?? false;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.DyFM_AI_ModelRegistry_Util = DyFM_AI_ModelRegistry_Util;
|
|
31
|
+
//# sourceMappingURL=ai-model-registry.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-model-registry.util.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_collections/ai-model-registry.util.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,MAAa,0BAA0B;IAErC;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAA2B,EAAE,EAAU;QAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAwB,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAA2B,EAAE,EAAU;QAC/D,OAAO,0BAA0B,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,eAAe,IAAI,KAAK,CAAC;IACtG,CAAC;CACF;AApBD,gEAoBC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export declare enum DyFM_AI_MessageRole {
|
|
2
2
|
system = "system",
|
|
3
3
|
user = "user",
|
|
4
|
-
assistant = "assistant"
|
|
4
|
+
assistant = "assistant",
|
|
5
|
+
/** Tool-result message (function calling). Provider translators map this to their native shape. */
|
|
6
|
+
tool = "tool"
|
|
5
7
|
}
|
|
6
8
|
//# sourceMappingURL=ai-message-role.enum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-message-role.enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-message-role.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,SAAS,cAAc;
|
|
1
|
+
{"version":3,"file":"ai-message-role.enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-message-role.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,mGAAmG;IACnG,IAAI,SAAS;CACd"}
|
|
@@ -6,5 +6,7 @@ var DyFM_AI_MessageRole;
|
|
|
6
6
|
DyFM_AI_MessageRole["system"] = "system";
|
|
7
7
|
DyFM_AI_MessageRole["user"] = "user";
|
|
8
8
|
DyFM_AI_MessageRole["assistant"] = "assistant";
|
|
9
|
+
/** Tool-result message (function calling). Provider translators map this to their native shape. */
|
|
10
|
+
DyFM_AI_MessageRole["tool"] = "tool";
|
|
9
11
|
})(DyFM_AI_MessageRole || (exports.DyFM_AI_MessageRole = DyFM_AI_MessageRole = {}));
|
|
10
12
|
//# sourceMappingURL=ai-message-role.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-message-role.enum.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-message-role.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"ai-message-role.enum.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-message-role.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,wCAAiB,CAAA;IACjB,oCAAa,CAAA;IACb,8CAAuB,CAAA;IACvB,mGAAmG;IACnG,oCAAa,CAAA;AACf,CAAC,EANW,mBAAmB,mCAAnB,mBAAmB,QAM9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-model-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-model-type.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAC3B,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,IAAI,SAAS;
|
|
1
|
+
{"version":3,"file":"ai-model-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-model-type.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAC3B,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB"}
|
|
@@ -6,5 +6,7 @@ var DyFM_AI_ModelType;
|
|
|
6
6
|
DyFM_AI_ModelType["LLM"] = "llm";
|
|
7
7
|
DyFM_AI_ModelType["Embedding"] = "embedding";
|
|
8
8
|
DyFM_AI_ModelType["Chat"] = "chat";
|
|
9
|
+
DyFM_AI_ModelType["Image"] = "image";
|
|
10
|
+
DyFM_AI_ModelType["Audio"] = "audio";
|
|
9
11
|
})(DyFM_AI_ModelType || (exports.DyFM_AI_ModelType = DyFM_AI_ModelType = {}));
|
|
10
12
|
//# sourceMappingURL=ai-model-type.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-model-type.enum.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-model-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"ai-model-type.enum.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-model-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,gCAAW,CAAA;IACX,4CAAuB,CAAA;IACvB,kCAAa,CAAA;IACb,oCAAe,CAAA;IACf,oCAAe,CAAA;AACjB,CAAC,EANW,iBAAiB,iCAAjB,iBAAiB,QAM5B"}
|
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agnostic LLM call settings — the provider-neutral tuning bag.
|
|
3
|
+
*
|
|
4
|
+
* The typed fields below are the common, broadly-supported knobs. The
|
|
5
|
+
* `[key: string]: any` escape hatch carries provider/model-specific params
|
|
6
|
+
* until they are first-classed.
|
|
7
|
+
*
|
|
8
|
+
* IMPORTANT — per-model variance (FR-048, reserved): NOT every model accepts
|
|
9
|
+
* every field here, and sending an unsupported param can hard-fail the call
|
|
10
|
+
* (e.g. Anthropic Opus 4.7+ rejects `temperature`/`topP`/`topK` with HTTP 400;
|
|
11
|
+
* reasoning models take an extra `reasoningEffort`; pro models drop streaming).
|
|
12
|
+
* This flat bag intentionally does NOT encode those constraints — the future
|
|
13
|
+
* per-model settings system ({@link DyFM_AI_ModelSettingsSchema} on the model
|
|
14
|
+
* registry + a reconciler in `DyNTS_AI_LLM_ServiceBase`) will validate, clamp,
|
|
15
|
+
* and drop params against what each model actually accepts. Until then,
|
|
16
|
+
* provider translators drop model-rejected params locally (see FR-047 Phase 4
|
|
17
|
+
* Anthropic). Do not assume a field here is universally accepted.
|
|
18
|
+
*
|
|
19
|
+
* See: `__agent/feature-requests/FR-048-per-model-agnostic-settings.md`
|
|
20
|
+
* `documentations/guidelines/development/ai-per-model-settings.md`
|
|
21
|
+
*/
|
|
1
22
|
export declare class DyFM_AI_CallSettings {
|
|
2
23
|
systemPrompt?: string;
|
|
3
24
|
useModel?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-call-settings.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-call-settings.interface.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAoB;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAM;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAK;IACzB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAQ;IAC1B;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAQ;IACrB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAK;IAC9B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAK;IAG7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;gBAGjB,GAAG,CAAC,EAAE,oBAAoB;CAM7B"}
|
|
1
|
+
{"version":3,"file":"ai-call-settings.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-call-settings.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,oBAAoB;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAM;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAK;IACzB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAQ;IAC1B;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAQ;IACrB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAK;IAC9B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAK;IAG7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;gBAGjB,GAAG,CAAC,EAAE,oBAAoB;CAM7B"}
|
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DyFM_AI_CallSettings = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Agnostic LLM call settings — the provider-neutral tuning bag.
|
|
6
|
+
*
|
|
7
|
+
* The typed fields below are the common, broadly-supported knobs. The
|
|
8
|
+
* `[key: string]: any` escape hatch carries provider/model-specific params
|
|
9
|
+
* until they are first-classed.
|
|
10
|
+
*
|
|
11
|
+
* IMPORTANT — per-model variance (FR-048, reserved): NOT every model accepts
|
|
12
|
+
* every field here, and sending an unsupported param can hard-fail the call
|
|
13
|
+
* (e.g. Anthropic Opus 4.7+ rejects `temperature`/`topP`/`topK` with HTTP 400;
|
|
14
|
+
* reasoning models take an extra `reasoningEffort`; pro models drop streaming).
|
|
15
|
+
* This flat bag intentionally does NOT encode those constraints — the future
|
|
16
|
+
* per-model settings system ({@link DyFM_AI_ModelSettingsSchema} on the model
|
|
17
|
+
* registry + a reconciler in `DyNTS_AI_LLM_ServiceBase`) will validate, clamp,
|
|
18
|
+
* and drop params against what each model actually accepts. Until then,
|
|
19
|
+
* provider translators drop model-rejected params locally (see FR-047 Phase 4
|
|
20
|
+
* Anthropic). Do not assume a field here is universally accepted.
|
|
21
|
+
*
|
|
22
|
+
* See: `__agent/feature-requests/FR-048-per-model-agnostic-settings.md`
|
|
23
|
+
* `documentations/guidelines/development/ai-per-model-settings.md`
|
|
24
|
+
*/
|
|
4
25
|
class DyFM_AI_CallSettings {
|
|
5
26
|
systemPrompt = '';
|
|
6
27
|
useModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-call-settings.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-call-settings.interface.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAoB;IAC/B,YAAY,GAAY,EAAE,CAAC;IAC3B,QAAQ,CAAU;IAClB,OAAO,CAAU;IACjB,QAAQ,CAAW;IAEnB;;;;;;;;OAQG;IACH,WAAW,GAAY,CAAC,CAAC;IACzB;;;;;;;;OAQG;IACH,SAAS,GAAY,IAAI,CAAC;IAC1B;;;;;;;OAOG;IACH,IAAI,GAAY,IAAI,CAAC;IACrB;;;;;OAKG;IACH,gBAAgB,GAAY,CAAC,CAAC;IAC9B;;;;;;;OAOG;IACH,eAAe,GAAY,CAAC,CAAC;IAK7B,YACE,GAA0B;QAE1B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AA9DD,oDA8DC"}
|
|
1
|
+
{"version":3,"file":"ai-call-settings.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-call-settings.interface.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,oBAAoB;IAC/B,YAAY,GAAY,EAAE,CAAC;IAC3B,QAAQ,CAAU;IAClB,OAAO,CAAU;IACjB,QAAQ,CAAW;IAEnB;;;;;;;;OAQG;IACH,WAAW,GAAY,CAAC,CAAC;IACzB;;;;;;;;OAQG;IACH,SAAS,GAAY,IAAI,CAAC;IAC1B;;;;;;;OAOG;IACH,IAAI,GAAY,IAAI,CAAC;IACrB;;;;;OAKG;IACH,gBAAgB,GAAY,CAAC,CAAC;IAC9B;;;;;;;OAOG;IACH,eAAe,GAAY,CAAC,CAAC;IAK7B,YACE,GAA0B;QAE1B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AA9DD,oDA8DC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DyFM_AI_Message } from './ai-message.interface';
|
|
2
|
+
import { DyFM_AI_ToolCall } from './ai-tool-call.interface';
|
|
2
3
|
/**
|
|
3
4
|
* Generic LLM response structure
|
|
4
5
|
* Used by all AI providers for LLM operations
|
|
@@ -12,6 +13,10 @@ export interface DyFM_AI_LLM_Response {
|
|
|
12
13
|
};
|
|
13
14
|
model?: string;
|
|
14
15
|
finishReason?: string;
|
|
16
|
+
/** Present when the model requested tool calls (function calling); normalized across providers. */
|
|
17
|
+
toolCalls?: DyFM_AI_ToolCall[];
|
|
18
|
+
/** Normalized stop reason (e.g. 'tool_use', 'stop', 'length'). */
|
|
19
|
+
stopReason?: string;
|
|
15
20
|
rawResponse?: any;
|
|
16
21
|
}
|
|
17
22
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-llm-response.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-llm-response.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-llm-response.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-llm-response.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mGAAmG;IACnG,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,WAAW,EAAE,GAAG,CAAC;CAClB"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { DyFM_AI_MessageRole } from '../_enums/ai-message-role.enum';
|
|
2
|
+
import { DyFM_AI_ToolCall } from './ai-tool-call.interface';
|
|
2
3
|
export interface DyFM_AI_Message {
|
|
3
4
|
role: DyFM_AI_MessageRole;
|
|
4
5
|
content: string;
|
|
6
|
+
/** Present on an assistant turn that requested tool calls (function calling). */
|
|
7
|
+
toolCalls?: DyFM_AI_ToolCall[];
|
|
8
|
+
/** Present on a `tool`-role message — which {@link DyFM_AI_ToolCall.id} this result answers. */
|
|
9
|
+
toolCallId?: string;
|
|
5
10
|
}
|
|
6
11
|
//# sourceMappingURL=ai-message.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-message.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-message.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-message.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-message.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-model capability flags.
|
|
3
|
+
*
|
|
4
|
+
* Where {@link DyFM_AI_ProviderCapabilities} describes what a PROVIDER can do
|
|
5
|
+
* in aggregate, this describes what a single concrete MODEL supports. This is
|
|
6
|
+
* the honest source of truth for feature-gating: e.g. an embedding model has
|
|
7
|
+
* functionCalling=false, a reasoning chat model has functionCalling=true, a
|
|
8
|
+
* local generic model may have functionCalling decided at runtime.
|
|
9
|
+
*/
|
|
10
|
+
export interface DyFM_AI_ModelCapabilities {
|
|
11
|
+
/** Native function calling / tool use. The driver for the tool-calling feature. */
|
|
12
|
+
functionCalling: boolean;
|
|
13
|
+
/** Image input (vision). */
|
|
14
|
+
vision: boolean;
|
|
15
|
+
/** Streaming responses. */
|
|
16
|
+
streaming: boolean;
|
|
17
|
+
/** Structured output / JSON mode (OpenAI structured outputs, Gemini responseSchema, etc.). */
|
|
18
|
+
jsonMode: boolean;
|
|
19
|
+
/** Audio input (speech-to-text / audio understanding). */
|
|
20
|
+
audioInput: boolean;
|
|
21
|
+
/** Audio output (text-to-speech / speech generation). */
|
|
22
|
+
audioOutput: boolean;
|
|
23
|
+
/** Image generation (the model produces images). */
|
|
24
|
+
imageGeneration: boolean;
|
|
25
|
+
/** Embedding generation (vector output). */
|
|
26
|
+
embeddings: boolean;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=ai-model-capabilities.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-model-capabilities.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-model-capabilities.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,yBAAyB;IACxC,mFAAmF;IACnF,eAAe,EAAE,OAAO,CAAC;IACzB,4BAA4B;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,2BAA2B;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,8FAA8F;IAC9F,QAAQ,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,yDAAyD;IACzD,WAAW,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,eAAe,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,UAAU,EAAE,OAAO,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-model-capabilities.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-model-capabilities.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { DyFM_AI_Provider } from '../_enums/ai-provider.enum';
|
|
2
|
+
import { DyFM_AI_ModelType } from '../_enums/ai-model-type.enum';
|
|
3
|
+
import { DyFM_AI_ModelCapabilities } from './ai-model-capabilities.interface';
|
|
4
|
+
import { DyFM_AI_ModelSettingsSchema } from './ai-model-settings-schema.interface';
|
|
5
|
+
/**
|
|
6
|
+
* Lifecycle status of a model in the provider's catalogue.
|
|
7
|
+
*
|
|
8
|
+
* `ga` — generally available, recommended for new work.
|
|
9
|
+
* `preview` — available but pre-GA (API/behaviour may change).
|
|
10
|
+
* `deprecated` — still callable but on a sunset path; prefer {@link DyFM_AI_ModelInfo.successorId}.
|
|
11
|
+
*/
|
|
12
|
+
export type DyFM_AI_ModelStatus = 'ga' | 'preview' | 'deprecated';
|
|
13
|
+
/**
|
|
14
|
+
* Single-model descriptor for the provider model registry.
|
|
15
|
+
*
|
|
16
|
+
* The provider registries (`DyFM_OAI_Models`, `DyFM_AAI_Models`, …) are arrays
|
|
17
|
+
* of these — an SDK-free, data-only source of truth for which models exist and
|
|
18
|
+
* what each can do. The bare model enums (`DyFM_OAI_Model`, …) remain the typed
|
|
19
|
+
* id keys; a registry entry's `id` references one of those values.
|
|
20
|
+
*
|
|
21
|
+
* Note: model line-ups churn fast (see the 2026-06 research) — keep the registry
|
|
22
|
+
* current and rely on `status`/`successorId` rather than silently breaking on a
|
|
23
|
+
* retired id.
|
|
24
|
+
*/
|
|
25
|
+
export interface DyFM_AI_ModelInfo {
|
|
26
|
+
/** Exact API model string (e.g. 'gpt-5.5', 'claude-opus-4-8', 'gemini-3.5-flash'). */
|
|
27
|
+
id: string;
|
|
28
|
+
/** The provider that serves this model. */
|
|
29
|
+
provider: DyFM_AI_Provider;
|
|
30
|
+
/** The kind of model (chat / embedding / image / audio). */
|
|
31
|
+
modelType: DyFM_AI_ModelType;
|
|
32
|
+
/** What this specific model can DO (feature gates). */
|
|
33
|
+
capabilities: DyFM_AI_ModelCapabilities;
|
|
34
|
+
/**
|
|
35
|
+
* RESERVED (FR-048) — which tuning PARAMETERS this model accepts/rejects.
|
|
36
|
+
*
|
|
37
|
+
* Sibling of {@link capabilities}. NOT populated by FR-047 and NOT yet
|
|
38
|
+
* consumed by any reconciler — reserved space for the future per-model
|
|
39
|
+
* agnostic settings system. Each model accepts a different settings surface
|
|
40
|
+
* (e.g. Opus 4.7+ rejects temperature/topP/topK; reasoning models add
|
|
41
|
+
* reasoningEffort), and that knowledge must be curated continuously like the
|
|
42
|
+
* model registry itself.
|
|
43
|
+
*
|
|
44
|
+
* See: `__agent/feature-requests/FR-048-per-model-agnostic-settings.md`
|
|
45
|
+
*/
|
|
46
|
+
settingsSchema?: DyFM_AI_ModelSettingsSchema;
|
|
47
|
+
/** Input context window in tokens, if applicable. */
|
|
48
|
+
contextWindow?: number;
|
|
49
|
+
/** Maximum output tokens, if applicable. */
|
|
50
|
+
maxOutputTokens?: number;
|
|
51
|
+
/** Lifecycle status; defaults to `ga` when omitted. */
|
|
52
|
+
status?: DyFM_AI_ModelStatus;
|
|
53
|
+
/** When `deprecated`/sunsetting, the recommended replacement model id. */
|
|
54
|
+
successorId?: string;
|
|
55
|
+
/** When `deprecated`, the earliest known shutdown date (ISO yyyy-mm-dd). */
|
|
56
|
+
sunsetDate?: string;
|
|
57
|
+
/** Human-readable name for UI (e.g. 'GPT-5.5', 'Claude Opus 4.8'). */
|
|
58
|
+
displayName?: string;
|
|
59
|
+
/** Provider-specific tier label (e.g. 'flagship', 'mini', 'Opus', 'Sonnet', 'Haiku'). */
|
|
60
|
+
tier?: string;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=ai-model-info.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-model-info.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-model-info.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAEnF;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,CAAC;AAElE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,EAAE,EAAE,MAAM,CAAC;IACX,2CAA2C;IAC3C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,4DAA4D;IAC5D,SAAS,EAAE,iBAAiB,CAAC;IAC7B,uDAAuD;IACvD,YAAY,EAAE,yBAAyB,CAAC;IACxC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,2BAA2B,CAAC;IAC7C,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-model-info.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-model-info.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RESERVED — per-model settings schema (FR-048; NOT implemented by FR-047).
|
|
3
|
+
*
|
|
4
|
+
* Sibling of {@link DyFM_AI_ModelCapabilities}: capabilities describe what a
|
|
5
|
+
* model can DO; this describes which tuning PARAMETERS it accepts, their
|
|
6
|
+
* bounds, and which it REJECTS. A flat {@link DyFM_AI_CallSettings} bag cannot
|
|
7
|
+
* express this, yet sending an unsupported param can hard-fail a call (e.g.
|
|
8
|
+
* Anthropic Opus 4.7+ rejects `temperature`/`top_p`/`top_k` with HTTP 400).
|
|
9
|
+
*
|
|
10
|
+
* This type reserves the architectural space and documents intent. The
|
|
11
|
+
* registry consts do NOT populate `settingsSchema` yet, and no reconciler
|
|
12
|
+
* consumes it yet — both are FR-048 work. The exact shape may evolve when
|
|
13
|
+
* FR-048 is built; treat this as a forward placeholder, not a frozen contract.
|
|
14
|
+
*
|
|
15
|
+
* See: `__agent/feature-requests/FR-048-per-model-agnostic-settings.md`
|
|
16
|
+
* `documentations/guidelines/development/ai-per-model-settings.md`
|
|
17
|
+
*/
|
|
18
|
+
export interface DyFM_AI_ModelSettingsSchema {
|
|
19
|
+
/** Agnostic setting keys this model ACCEPTS (e.g. 'temperature','topP','maxTokens','reasoningEffort'). */
|
|
20
|
+
supported?: string[];
|
|
21
|
+
/**
|
|
22
|
+
* Agnostic setting keys this model REJECTS — sending them errors.
|
|
23
|
+
* Example: Opus 4.7+ → ['temperature','topP','topK'] (HTTP 400 on non-default).
|
|
24
|
+
* The future reconciler drops these (debug-log, never silently).
|
|
25
|
+
*/
|
|
26
|
+
unsupported?: string[];
|
|
27
|
+
/** Per-key value constraints (range / enum / default). */
|
|
28
|
+
constraints?: Record<string, DyFM_AI_SettingConstraint>;
|
|
29
|
+
/**
|
|
30
|
+
* Provider/model-specific knobs NOT present on the agnostic CallSettings
|
|
31
|
+
* (e.g. OpenAI 'reasoningEffort', Gemini 'thinkingConfig'). The provider
|
|
32
|
+
* translator maps these to the native param.
|
|
33
|
+
*/
|
|
34
|
+
extraParams?: string[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* RESERVED (FR-048) — value constraint for a single tuning parameter.
|
|
38
|
+
* Forward placeholder; shape may evolve when FR-048 is built.
|
|
39
|
+
*/
|
|
40
|
+
export interface DyFM_AI_SettingConstraint {
|
|
41
|
+
/** Minimum numeric value (inclusive), if applicable. */
|
|
42
|
+
min?: number;
|
|
43
|
+
/** Maximum numeric value (inclusive), if applicable. */
|
|
44
|
+
max?: number;
|
|
45
|
+
/** Default value the provider applies when omitted. */
|
|
46
|
+
default?: unknown;
|
|
47
|
+
/** Allowed discrete values (enum-like params, e.g. reasoningEffort). */
|
|
48
|
+
allowed?: unknown[];
|
|
49
|
+
/** Free-text note (Hunglish ok) — e.g. provider quirk, version gate. */
|
|
50
|
+
note?: string;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=ai-model-settings-schema.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-model-settings-schema.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-model-settings-schema.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,2BAA2B;IAC1C,0GAA0G;IAC1G,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACxD;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-model-settings-schema.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-model-settings-schema.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A normalized tool invocation requested by the model.
|
|
3
|
+
*
|
|
4
|
+
* Each provider's native shape is normalized into this at the translator boundary:
|
|
5
|
+
* - OpenAI: message.tool_calls[] → { id, name, arguments: JSON.parse(function.arguments) }
|
|
6
|
+
* - Anthropic: content[] { type:'tool_use', id, name, input } → { id, name, arguments: input }
|
|
7
|
+
* - Gemini: parts[].functionCall { id, name, args } → { id, name, arguments: args }
|
|
8
|
+
*
|
|
9
|
+
* `arguments` is ALWAYS a parsed object (OpenAI's JSON string is parsed at the boundary).
|
|
10
|
+
*/
|
|
11
|
+
export interface DyFM_AI_ToolCall {
|
|
12
|
+
/** Provider call id — echoed back when returning the result. */
|
|
13
|
+
id: string;
|
|
14
|
+
/** The invoked tool's name. */
|
|
15
|
+
name: string;
|
|
16
|
+
/** Parsed arguments object. */
|
|
17
|
+
arguments: Record<string, unknown>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=ai-tool-call.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-tool-call.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-tool-call.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-tool-call.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-tool-call.interface.ts"],"names":[],"mappings":""}
|