@futdevpro/fsm-dynamo 1.16.19 → 1.16.21
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/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.d.ts +0 -11
- package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.d.ts.map +1 -1
- package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.js +31 -2
- package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.js.map +1 -1
- package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.d.ts +6 -0
- package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.d.ts.map +1 -1
- package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.js +6 -0
- package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.js.map +1 -1
- package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.d.ts +0 -10
- package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.d.ts.map +1 -1
- package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.js +34 -0
- package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.js.map +1 -1
- package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.d.ts +6 -0
- package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.d.ts.map +1 -1
- package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.js +6 -0
- package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.js.map +1 -1
- package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.d.ts +0 -10
- package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.d.ts.map +1 -1
- package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.js +74 -0
- package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.js.map +1 -1
- package/package.json +1 -1
- package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +34 -2
- package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +6 -0
- package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +38 -0
- package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +6 -0
- package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +80 -0
|
@@ -1,14 +1,3 @@
|
|
|
1
1
|
import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface';
|
|
2
|
-
/**
|
|
3
|
-
* Anthropic Claude model registry — verified 2026-06-01 against platform.claude.com docs.
|
|
4
|
-
*
|
|
5
|
-
* All Claude models are chat (Messages API) models — Anthropic has NO embeddings API.
|
|
6
|
-
* Tool use is universal (content-block `tool_use` / `tool_result` wire format).
|
|
7
|
-
* Anthropic has no dedicated JSON-mode flag (structured output is done via tools),
|
|
8
|
-
* so `jsonMode` is false across the board.
|
|
9
|
-
*
|
|
10
|
-
* Param note (translator): Opus 4.7+ reject `temperature`/`top_p`/`top_k` with 400 —
|
|
11
|
-
* not modelled here, handled in the Anthropic call translator.
|
|
12
|
-
*/
|
|
13
2
|
export declare const DyFM_AAI_Models: DyFM_AI_ModelInfo[];
|
|
14
3
|
//# sourceMappingURL=aai-models.const.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"aai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AA2C7E,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAmE9C,CAAC"}
|
|
@@ -12,9 +12,35 @@ const aai_model_enum_1 = require("../_enums/aai-model.enum");
|
|
|
12
12
|
* Anthropic has no dedicated JSON-mode flag (structured output is done via tools),
|
|
13
13
|
* so `jsonMode` is false across the board.
|
|
14
14
|
*
|
|
15
|
-
* Param note (
|
|
16
|
-
*
|
|
15
|
+
* Param note (FR-048): Opus 4.7+ reject `temperature`/`top_p`/`top_k` with 400. This IS now
|
|
16
|
+
* modelled here via `settingsSchema.unsupported` — the general reconciler drops them before the
|
|
17
|
+
* call. The Anthropic translator's local param-drop (FR-047 Phase 4) becomes redundant once it
|
|
18
|
+
* delegates to the reconciler. See `documentations/plans/ai-mocking-system/FR-048-LAYER-A.md`.
|
|
17
19
|
*/
|
|
20
|
+
/**
|
|
21
|
+
* Opus 4.7+ REJECT the sampling params with HTTP 400 on any non-default value.
|
|
22
|
+
*
|
|
23
|
+
* Source: `FR-048-per-model-agnostic-settings.md` §Problem + `ai-per-model-settings.md` table +
|
|
24
|
+
* the FR-047 Phase-4 Anthropic translator precursor. Verified 2026-06-01.
|
|
25
|
+
*/
|
|
26
|
+
const AAI_OPUS_SETTINGS = {
|
|
27
|
+
supported: ['maxTokens'],
|
|
28
|
+
unsupported: ['temperature', 'topP', 'topK'],
|
|
29
|
+
constraints: {
|
|
30
|
+
maxTokens: { note: 'Required by the Messages API (no implicit default). Numeric bounds pending doc capture (D4).' },
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Sonnet / Haiku still ACCEPT the sampling params (only Opus 4.7+ rejects them).
|
|
35
|
+
* Numeric bounds are intentionally not encoded yet — pending the provider-doc capture pass (D4).
|
|
36
|
+
*/
|
|
37
|
+
const AAI_STANDARD_SETTINGS = {
|
|
38
|
+
supported: ['temperature', 'maxTokens', 'topP'],
|
|
39
|
+
extraParams: ['topK'],
|
|
40
|
+
constraints: {
|
|
41
|
+
maxTokens: { note: 'Required by the Messages API (no implicit default). Numeric bounds pending doc capture (D4).' },
|
|
42
|
+
},
|
|
43
|
+
};
|
|
18
44
|
exports.DyFM_AAI_Models = [
|
|
19
45
|
{
|
|
20
46
|
id: aai_model_enum_1.DyFM_AAI_Model.claude_opus_4_8,
|
|
@@ -22,6 +48,7 @@ exports.DyFM_AAI_Models = [
|
|
|
22
48
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
23
49
|
displayName: 'Claude Opus 4.8',
|
|
24
50
|
tier: 'Opus',
|
|
51
|
+
settingsSchema: AAI_OPUS_SETTINGS,
|
|
25
52
|
status: 'ga',
|
|
26
53
|
contextWindow: 1_000_000,
|
|
27
54
|
maxOutputTokens: 128_000,
|
|
@@ -43,6 +70,7 @@ exports.DyFM_AAI_Models = [
|
|
|
43
70
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
44
71
|
displayName: 'Claude Sonnet 4.6',
|
|
45
72
|
tier: 'Sonnet',
|
|
73
|
+
settingsSchema: AAI_STANDARD_SETTINGS,
|
|
46
74
|
status: 'ga',
|
|
47
75
|
contextWindow: 1_000_000,
|
|
48
76
|
maxOutputTokens: 64_000,
|
|
@@ -64,6 +92,7 @@ exports.DyFM_AAI_Models = [
|
|
|
64
92
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
65
93
|
displayName: 'Claude Haiku 4.5',
|
|
66
94
|
tier: 'Haiku',
|
|
95
|
+
settingsSchema: AAI_STANDARD_SETTINGS,
|
|
67
96
|
status: 'ga',
|
|
68
97
|
contextWindow: 200_000,
|
|
69
98
|
maxOutputTokens: 64_000,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2EAAuE;
|
|
1
|
+
{"version":3,"file":"aai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2EAAuE;AAGvE,6DAA0D;AAE1D;;;;;;;;;;;;GAYG;AAEH;;;;;GAKG;AACH,MAAM,iBAAiB,GAAgC;IACrD,SAAS,EAAE,CAAE,WAAW,CAAE;IAC1B,WAAW,EAAE,CAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAE;IAC9C,WAAW,EAAE;QACX,SAAS,EAAE,EAAE,IAAI,EAAE,8FAA8F,EAAE;KACpH;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,qBAAqB,GAAgC;IACzD,SAAS,EAAE,CAAE,aAAa,EAAE,WAAW,EAAE,MAAM,CAAE;IACjD,WAAW,EAAE,CAAE,MAAM,CAAE;IACvB,WAAW,EAAE;QACX,SAAS,EAAE,EAAE,IAAI,EAAE,8FAA8F,EAAE;KACpH;CACF,CAAC;AACW,QAAA,eAAe,GAAwB;IAClD;QACE,EAAE,EAAE,+BAAc,CAAC,eAAe;QAClC,QAAQ,EAAE,mCAAgB,CAAC,SAAS;QACpC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,MAAM;QACZ,cAAc,EAAE,iBAAiB;QACjC,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,SAAS;QACxB,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,iBAAiB;QACpC,QAAQ,EAAE,mCAAgB,CAAC,SAAS;QACpC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE,qBAAqB;QACrC,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,SAAS;QACxB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,gBAAgB;QACnC,QAAQ,EAAE,mCAAgB,CAAC,SAAS;QACpC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,OAAO;QACb,cAAc,EAAE,qBAAqB;QACrC,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,OAAO;QACtB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB;KACF;CACF,CAAC"}
|
|
@@ -7,6 +7,12 @@ import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface';
|
|
|
7
7
|
* backing gateway/model — `functionCalling` is declared true on the assumption the
|
|
8
8
|
* gateway forwards OpenAI-style tools; confirm against the live FDP-AI deployment.
|
|
9
9
|
* Context window is gateway-defined and therefore left unset.
|
|
10
|
+
*
|
|
11
|
+
* Settings note (FR-048) — `settingsSchema` is DELIBERATELY left unset. Which tuning params the gateway
|
|
12
|
+
* actually accepts depends on the backing model it proxies to, and there is no verified record of that
|
|
13
|
+
* yet; encoding a guess could make the reconciler drop params the gateway does accept. With no schema the
|
|
14
|
+
* reconciler stays permissive (debug-logged). Populate once measured against the live gateway.
|
|
15
|
+
* See `documentations/plans/ai-mocking-system/FR-048-LAYER-A.md`.
|
|
10
16
|
*/
|
|
11
17
|
export declare const DyFM_FdpAI_Models: DyFM_AI_ModelInfo[];
|
|
12
18
|
//# sourceMappingURL=fdpai-models.const.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fdpai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E
|
|
1
|
+
{"version":3,"file":"fdpai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,EAmBhD,CAAC"}
|
|
@@ -12,6 +12,12 @@ const fdpai_model_enum_1 = require("../_enums/fdpai-model.enum");
|
|
|
12
12
|
* backing gateway/model — `functionCalling` is declared true on the assumption the
|
|
13
13
|
* gateway forwards OpenAI-style tools; confirm against the live FDP-AI deployment.
|
|
14
14
|
* Context window is gateway-defined and therefore left unset.
|
|
15
|
+
*
|
|
16
|
+
* Settings note (FR-048) — `settingsSchema` is DELIBERATELY left unset. Which tuning params the gateway
|
|
17
|
+
* actually accepts depends on the backing model it proxies to, and there is no verified record of that
|
|
18
|
+
* yet; encoding a guess could make the reconciler drop params the gateway does accept. With no schema the
|
|
19
|
+
* reconciler stays permissive (debug-logged). Populate once measured against the live gateway.
|
|
20
|
+
* See `documentations/plans/ai-mocking-system/FR-048-LAYER-A.md`.
|
|
15
21
|
*/
|
|
16
22
|
exports.DyFM_FdpAI_Models = [
|
|
17
23
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fdpai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2EAAuE;AAEvE,iEAA8D;AAE9D
|
|
1
|
+
{"version":3,"file":"fdpai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2EAAuE;AAEvE,iEAA8D;AAE9D;;;;;;;;;;;;;;GAcG;AACU,QAAA,iBAAiB,GAAwB;IACpD;QACE,EAAE,EAAE,mCAAgB,CAAC,QAAQ;QAC7B,QAAQ,EAAE,mCAAgB,CAAC,KAAK;QAChC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,YAAY;QACzB,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI,EAAE,2DAA2D;YAClF,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB;KACF;CACF,CAAC"}
|
|
@@ -1,13 +1,3 @@
|
|
|
1
1
|
import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface';
|
|
2
|
-
/**
|
|
3
|
-
* Google Gemini model registry — verified 2026-06-01 against ai.google.dev docs.
|
|
4
|
-
*
|
|
5
|
-
* SDK note: depend on `@google/genai` (the old `@google/generative-ai` was sunset
|
|
6
|
-
* 2025-11-30). Tool use via `functionDeclarations`; tool results are returned under
|
|
7
|
-
* a `user`-role `functionResponse` part (no dedicated tool role).
|
|
8
|
-
*
|
|
9
|
-
* Video input is a real Gemini capability but is not yet modelled in
|
|
10
|
-
* {@link DyFM_AI_ModelCapabilities} — `vision` covers image input only.
|
|
11
|
-
*/
|
|
12
2
|
export declare const DyFM_GAI_Models: DyFM_AI_ModelInfo[];
|
|
13
3
|
//# sourceMappingURL=gai-models.const.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"gai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AA+C7E,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAuF9C,CAAC"}
|
|
@@ -14,6 +14,36 @@ const gai_model_enum_1 = require("../_enums/gai-model.enum");
|
|
|
14
14
|
* Video input is a real Gemini capability but is not yet modelled in
|
|
15
15
|
* {@link DyFM_AI_ModelCapabilities} — `vision` covers image input only.
|
|
16
16
|
*/
|
|
17
|
+
/**
|
|
18
|
+
* Gemini chat — a param-vokabular MAS, mint az OpenAI-e (FR-048 §Problem).
|
|
19
|
+
*
|
|
20
|
+
* Az agnosztikus `frequencyPenalty`/`presencePenalty` NEM resze a Gemini feluletnek, ezert `unsupported`:
|
|
21
|
+
* a reconciler eldobja oket. (A dropolas mindig biztonsagos — a Gemini ugysem ertelmezne oket.) A
|
|
22
|
+
* Gemini-specifikus knobok `extraParams`-kent utaznak; a nativ kepzes a provider-translator dolga.
|
|
23
|
+
* Forras: FR-048 §Problem + `ai-per-model-settings.md` tabla; verified 2026-06-01.
|
|
24
|
+
*/
|
|
25
|
+
const GAI_CHAT_SETTINGS = {
|
|
26
|
+
supported: ['temperature', 'maxTokens', 'topP'],
|
|
27
|
+
unsupported: ['frequencyPenalty', 'presencePenalty'],
|
|
28
|
+
extraParams: ['topK', 'candidateCount', 'responseSchema', 'thinkingConfig', 'toolConfig'],
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Mint {@link GAI_CHAT_SETTINGS}, de rogziti a Pro-preview NEM-nyilvanvalo default-jat: ha a hivas nem ad
|
|
32
|
+
* `maxOutputTokens`-t, a szerver **8192**-re defaultol (NEM a 65536-os maximumra). Forras: FR-048 §Problem.
|
|
33
|
+
*/
|
|
34
|
+
const GAI_PRO_PREVIEW_SETTINGS = {
|
|
35
|
+
...GAI_CHAT_SETTINGS,
|
|
36
|
+
constraints: {
|
|
37
|
+
maxTokens: {
|
|
38
|
+
default: 8192,
|
|
39
|
+
note: 'Gemini 3.1 Pro preview: omitted maxOutputTokens → server default 8192 (not the 65536 max). FR-048, verified 2026-06-01.',
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
/** Embedding-modell: chat-sampling paramok nem ertelmezettek → a reconciler eldobja oket. */
|
|
44
|
+
const GAI_EMBEDDING_SETTINGS = {
|
|
45
|
+
unsupported: ['temperature', 'topP', 'frequencyPenalty', 'presencePenalty', 'maxTokens'],
|
|
46
|
+
};
|
|
17
47
|
exports.DyFM_GAI_Models = [
|
|
18
48
|
{
|
|
19
49
|
id: gai_model_enum_1.DyFM_GAI_Model.gemini_3_5_flash,
|
|
@@ -21,6 +51,7 @@ exports.DyFM_GAI_Models = [
|
|
|
21
51
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
22
52
|
displayName: 'Gemini 3.5 Flash',
|
|
23
53
|
tier: 'flash',
|
|
54
|
+
settingsSchema: GAI_CHAT_SETTINGS,
|
|
24
55
|
status: 'ga',
|
|
25
56
|
contextWindow: 1_048_576,
|
|
26
57
|
maxOutputTokens: 65_536,
|
|
@@ -42,6 +73,7 @@ exports.DyFM_GAI_Models = [
|
|
|
42
73
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
43
74
|
displayName: 'Gemini 3.1 Pro (preview)',
|
|
44
75
|
tier: 'pro',
|
|
76
|
+
settingsSchema: GAI_PRO_PREVIEW_SETTINGS,
|
|
45
77
|
status: 'preview',
|
|
46
78
|
contextWindow: 1_048_576,
|
|
47
79
|
maxOutputTokens: 65_536,
|
|
@@ -63,6 +95,7 @@ exports.DyFM_GAI_Models = [
|
|
|
63
95
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
64
96
|
displayName: 'Gemini 3.1 Flash-Lite',
|
|
65
97
|
tier: 'flash-lite',
|
|
98
|
+
settingsSchema: GAI_CHAT_SETTINGS,
|
|
66
99
|
status: 'ga',
|
|
67
100
|
contextWindow: 1_048_576,
|
|
68
101
|
maxOutputTokens: 65_536,
|
|
@@ -84,6 +117,7 @@ exports.DyFM_GAI_Models = [
|
|
|
84
117
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Embedding,
|
|
85
118
|
displayName: 'Gemini Embedding 2',
|
|
86
119
|
status: 'ga',
|
|
120
|
+
settingsSchema: GAI_EMBEDDING_SETTINGS,
|
|
87
121
|
contextWindow: 8_192,
|
|
88
122
|
capabilities: {
|
|
89
123
|
functionCalling: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2EAAuE;
|
|
1
|
+
{"version":3,"file":"gai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,12 @@ import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface';
|
|
|
8
8
|
* In particular `functionCalling` is left FALSE here because many local models
|
|
9
9
|
* do not support tool calling; it must be confirmed per loaded model rather than
|
|
10
10
|
* assumed. Context window is model-defined and therefore left unset.
|
|
11
|
+
*
|
|
12
|
+
* Settings note (FR-048) — `settingsSchema` is DELIBERATELY left unset here. The accepted tuning-param
|
|
13
|
+
* surface of a local model is decided by whatever the user loaded into the backend at runtime, so it is
|
|
14
|
+
* not knowable ahead of time; inventing one would be a guess. With no schema the reconciler stays
|
|
15
|
+
* permissive (passes settings through, with a debug log) — the honest best-effort behaviour.
|
|
16
|
+
* See `documentations/plans/ai-mocking-system/FR-048-LAYER-A.md`.
|
|
11
17
|
*/
|
|
12
18
|
export declare const DyFM_LAI_Models: DyFM_AI_ModelInfo[];
|
|
13
19
|
//# sourceMappingURL=lai-models.const.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E
|
|
1
|
+
{"version":3,"file":"lai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAqC9C,CAAC"}
|
|
@@ -13,6 +13,12 @@ const lai_model_enum_1 = require("../_enums/lai-model.enum");
|
|
|
13
13
|
* In particular `functionCalling` is left FALSE here because many local models
|
|
14
14
|
* do not support tool calling; it must be confirmed per loaded model rather than
|
|
15
15
|
* assumed. Context window is model-defined and therefore left unset.
|
|
16
|
+
*
|
|
17
|
+
* Settings note (FR-048) — `settingsSchema` is DELIBERATELY left unset here. The accepted tuning-param
|
|
18
|
+
* surface of a local model is decided by whatever the user loaded into the backend at runtime, so it is
|
|
19
|
+
* not knowable ahead of time; inventing one would be a guess. With no schema the reconciler stays
|
|
20
|
+
* permissive (passes settings through, with a debug log) — the honest best-effort behaviour.
|
|
21
|
+
* See `documentations/plans/ai-mocking-system/FR-048-LAYER-A.md`.
|
|
16
22
|
*/
|
|
17
23
|
exports.DyFM_LAI_Models = [
|
|
18
24
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2EAAuE;AAEvE,6DAA0D;AAE1D
|
|
1
|
+
{"version":3,"file":"lai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2EAAuE;AAEvE,6DAA0D;AAE1D;;;;;;;;;;;;;;;GAeG;AACU,QAAA,eAAe,GAAwB;IAClD;QACE,EAAE,EAAE,+BAAc,CAAC,WAAW;QAC9B,QAAQ,EAAE,mCAAgB,CAAC,OAAO;QAClC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,mBAAmB;QAChC,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE;YACZ,eAAe,EAAE,KAAK,EAAE,qDAAqD;YAC7E,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,cAAc;QACjC,QAAQ,EAAE,mCAAgB,CAAC,OAAO;QAClC,SAAS,EAAE,sCAAiB,CAAC,SAAS;QACtC,WAAW,EAAE,sBAAsB;QACnC,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE;YACZ,eAAe,EAAE,KAAK;YACtB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,KAAK;SACpB;KACF;CACF,CAAC"}
|
|
@@ -1,13 +1,3 @@
|
|
|
1
1
|
import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface';
|
|
2
|
-
/**
|
|
3
|
-
* OpenAI model registry — verified 2026-06-01 against developers.openai.com docs.
|
|
4
|
-
*
|
|
5
|
-
* Contains current GA + still-callable legacy models. Retired models are omitted;
|
|
6
|
-
* sunsetting ones carry `status: 'deprecated'` + `successorId` + `sunsetDate`.
|
|
7
|
-
*
|
|
8
|
-
* Tool-calling note: native function calling is universal across current OpenAI
|
|
9
|
-
* chat models. The `-pro` reasoning models support tools but NOT streaming and
|
|
10
|
-
* are Responses-API-only — reflected in `capabilities.streaming`.
|
|
11
|
-
*/
|
|
12
2
|
export declare const DyFM_OAI_Models: DyFM_AI_ModelInfo[];
|
|
13
3
|
//# sourceMappingURL=oai-models.const.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"oai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAkF7E,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAuP9C,CAAC"}
|
|
@@ -13,7 +13,70 @@ const oai_model_enum_1 = require("../_enums/oai-model.enum");
|
|
|
13
13
|
* Tool-calling note: native function calling is universal across current OpenAI
|
|
14
14
|
* chat models. The `-pro` reasoning models support tools but NOT streaming and
|
|
15
15
|
* are Responses-API-only — reflected in `capabilities.streaming`.
|
|
16
|
+
*
|
|
17
|
+
* Settings note (FR-048): `settingsSchema` is now populated — it records which tuning
|
|
18
|
+
* params each model ACCEPTS/REJECTS, so the reconciler can drop model-rejected params
|
|
19
|
+
* before the call instead of hard-failing with HTTP 400. See
|
|
20
|
+
* `documentations/plans/ai-mocking-system/FR-048-LAYER-A.md`.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Reasoning models (`gpt-5.x`, `o`-series) REJECT the sampling params with HTTP 400 and
|
|
24
|
+
* instead expose a `reasoningEffort` knob.
|
|
25
|
+
*
|
|
26
|
+
* Source: FR-047 code-review fix `514153f` (`isReasoningModel` = `/^gpt-5/ || /^o[0-9]/`,
|
|
27
|
+
* which omits the 4 sampling params) + `FR-048-per-model-agnostic-settings.md` §Problem.
|
|
28
|
+
* Verified 2026-06-01. Numeric ranges for other params are intentionally NOT encoded yet —
|
|
29
|
+
* pending the provider-doc capture pass (a wrong clamp would silently alter live calls).
|
|
30
|
+
*/
|
|
31
|
+
const OAI_REASONING_SETTINGS = {
|
|
32
|
+
supported: ['maxTokens'],
|
|
33
|
+
unsupported: ['temperature', 'topP', 'frequencyPenalty', 'presencePenalty'],
|
|
34
|
+
extraParams: ['reasoningEffort'],
|
|
35
|
+
constraints: {
|
|
36
|
+
reasoningEffort: {
|
|
37
|
+
allowed: ['none', 'low', 'medium', 'high', 'xhigh'],
|
|
38
|
+
note: 'Reasoning-only knob; non-reasoning models have none. Source: FR-048 §Problem, verified 2026-06-01.',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Non-reasoning chat models (`gpt-4o` family) accept the classic sampling params.
|
|
44
|
+
*
|
|
45
|
+
* Numeric bounds are deliberately omitted until captured from the provider docs (D4) —
|
|
46
|
+
* encoding an unverified min/max would make the reconciler clamp calls incorrectly.
|
|
47
|
+
*/
|
|
48
|
+
const OAI_CLASSIC_CHAT_SETTINGS = {
|
|
49
|
+
supported: ['temperature', 'maxTokens', 'topP', 'frequencyPenalty', 'presencePenalty'],
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Embedding models take no sampling params; the one real knob is `dimensions`.
|
|
53
|
+
*
|
|
54
|
+
* The sampling params are listed as `unsupported` so the reconciler DROPS them — dropping a
|
|
55
|
+
* meaningless param from an embeddings call is always safe, regardless of whether the API
|
|
56
|
+
* would 400 or silently ignore it. Max/default dims per the `DyFM_OAI_Model` JSDoc (verified 2026-06).
|
|
57
|
+
*/
|
|
58
|
+
const OAI_EMBEDDING_SETTINGS_SMALL = {
|
|
59
|
+
unsupported: ['temperature', 'topP', 'frequencyPenalty', 'presencePenalty', 'maxTokens'],
|
|
60
|
+
extraParams: ['dimensions'],
|
|
61
|
+
constraints: {
|
|
62
|
+
dimensions: { max: 1536, default: 1536, note: 'text-embedding-3-small native dims (Matryoshka truncation allowed below max).' },
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
/** As {@link OAI_EMBEDDING_SETTINGS_SMALL}, with the 3-large native dimension count. */
|
|
66
|
+
const OAI_EMBEDDING_SETTINGS_LARGE = {
|
|
67
|
+
unsupported: ['temperature', 'topP', 'frequencyPenalty', 'presencePenalty', 'maxTokens'],
|
|
68
|
+
extraParams: ['dimensions'],
|
|
69
|
+
constraints: {
|
|
70
|
+
dimensions: { max: 3072, default: 3072, note: 'text-embedding-3-large native dims (Matryoshka truncation allowed below max).' },
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Image-generation models take no chat sampling params (dropped by the reconciler).
|
|
75
|
+
* The image-specific knobs (size / quality / background) are NOT encoded yet — pending doc capture (D4).
|
|
16
76
|
*/
|
|
77
|
+
const OAI_IMAGE_SETTINGS = {
|
|
78
|
+
unsupported: ['temperature', 'topP', 'frequencyPenalty', 'presencePenalty', 'maxTokens'],
|
|
79
|
+
};
|
|
17
80
|
exports.DyFM_OAI_Models = [
|
|
18
81
|
// ── Chat / reasoning (current GA) ──
|
|
19
82
|
{
|
|
@@ -22,6 +85,7 @@ exports.DyFM_OAI_Models = [
|
|
|
22
85
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
23
86
|
displayName: 'GPT-5.5',
|
|
24
87
|
tier: 'flagship',
|
|
88
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
25
89
|
status: 'ga',
|
|
26
90
|
contextWindow: 1_050_000,
|
|
27
91
|
maxOutputTokens: 128_000,
|
|
@@ -43,6 +107,7 @@ exports.DyFM_OAI_Models = [
|
|
|
43
107
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
44
108
|
displayName: 'GPT-5.5 Pro',
|
|
45
109
|
tier: 'pro',
|
|
110
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
46
111
|
status: 'ga',
|
|
47
112
|
contextWindow: 1_050_000,
|
|
48
113
|
maxOutputTokens: 128_000,
|
|
@@ -64,6 +129,7 @@ exports.DyFM_OAI_Models = [
|
|
|
64
129
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
65
130
|
displayName: 'GPT-5.4',
|
|
66
131
|
tier: 'flagship',
|
|
132
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
67
133
|
status: 'ga',
|
|
68
134
|
contextWindow: 1_000_000,
|
|
69
135
|
maxOutputTokens: 128_000,
|
|
@@ -85,6 +151,7 @@ exports.DyFM_OAI_Models = [
|
|
|
85
151
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
86
152
|
displayName: 'GPT-5.4 mini',
|
|
87
153
|
tier: 'mini',
|
|
154
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
88
155
|
status: 'ga',
|
|
89
156
|
contextWindow: 400_000,
|
|
90
157
|
maxOutputTokens: 128_000,
|
|
@@ -106,6 +173,7 @@ exports.DyFM_OAI_Models = [
|
|
|
106
173
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
107
174
|
displayName: 'GPT-5.4 nano',
|
|
108
175
|
tier: 'nano',
|
|
176
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
109
177
|
status: 'ga',
|
|
110
178
|
contextWindow: 400_000,
|
|
111
179
|
maxOutputTokens: 128_000,
|
|
@@ -127,6 +195,7 @@ exports.DyFM_OAI_Models = [
|
|
|
127
195
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
128
196
|
displayName: 'o3-pro',
|
|
129
197
|
tier: 'pro',
|
|
198
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
130
199
|
status: 'ga',
|
|
131
200
|
contextWindow: 200_000,
|
|
132
201
|
maxOutputTokens: 100_000,
|
|
@@ -149,6 +218,7 @@ exports.DyFM_OAI_Models = [
|
|
|
149
218
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
150
219
|
displayName: 'GPT-4o',
|
|
151
220
|
tier: 'legacy',
|
|
221
|
+
settingsSchema: OAI_CLASSIC_CHAT_SETTINGS,
|
|
152
222
|
status: 'deprecated',
|
|
153
223
|
successorId: oai_model_enum_1.DyFM_OAI_Model.gpt54_mini,
|
|
154
224
|
sunsetDate: '2026-10-23',
|
|
@@ -172,6 +242,7 @@ exports.DyFM_OAI_Models = [
|
|
|
172
242
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
173
243
|
displayName: 'GPT-4o mini',
|
|
174
244
|
tier: 'legacy',
|
|
245
|
+
settingsSchema: OAI_CLASSIC_CHAT_SETTINGS,
|
|
175
246
|
status: 'deprecated',
|
|
176
247
|
successorId: oai_model_enum_1.DyFM_OAI_Model.gpt54_mini,
|
|
177
248
|
sunsetDate: '2026-10-23',
|
|
@@ -196,6 +267,7 @@ exports.DyFM_OAI_Models = [
|
|
|
196
267
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Embedding,
|
|
197
268
|
displayName: 'text-embedding-3-small',
|
|
198
269
|
status: 'ga',
|
|
270
|
+
settingsSchema: OAI_EMBEDDING_SETTINGS_SMALL,
|
|
199
271
|
contextWindow: 8_191,
|
|
200
272
|
capabilities: {
|
|
201
273
|
functionCalling: false,
|
|
@@ -215,6 +287,7 @@ exports.DyFM_OAI_Models = [
|
|
|
215
287
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Embedding,
|
|
216
288
|
displayName: 'text-embedding-3-large',
|
|
217
289
|
status: 'ga',
|
|
290
|
+
settingsSchema: OAI_EMBEDDING_SETTINGS_LARGE,
|
|
218
291
|
contextWindow: 8_191,
|
|
219
292
|
capabilities: {
|
|
220
293
|
functionCalling: false,
|
|
@@ -235,6 +308,7 @@ exports.DyFM_OAI_Models = [
|
|
|
235
308
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Image,
|
|
236
309
|
displayName: 'GPT Image 2',
|
|
237
310
|
status: 'ga',
|
|
311
|
+
settingsSchema: OAI_IMAGE_SETTINGS,
|
|
238
312
|
capabilities: {
|
|
239
313
|
functionCalling: false,
|
|
240
314
|
vision: true, // accepts image input for editing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2EAAuE;
|
|
1
|
+
{"version":3,"file":"oai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/fsm-dynamo",
|
|
3
|
-
"version": "01.16.
|
|
3
|
+
"version": "01.16.21",
|
|
4
4
|
"description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
|
|
5
5
|
"DyBu_settings": {
|
|
6
6
|
"packageType": "full-stack-package",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DyFM_AI_Provider } from '../../../_enums/ai-provider.enum';
|
|
2
2
|
import { DyFM_AI_ModelType } from '../../../_enums/ai-model-type.enum';
|
|
3
3
|
import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface';
|
|
4
|
+
import { DyFM_AI_ModelSettingsSchema } from '../../../_models/ai-model-settings-schema.interface';
|
|
4
5
|
import { DyFM_AAI_Model } from '../_enums/aai-model.enum';
|
|
5
6
|
|
|
6
7
|
/**
|
|
@@ -11,9 +12,37 @@ import { DyFM_AAI_Model } from '../_enums/aai-model.enum';
|
|
|
11
12
|
* Anthropic has no dedicated JSON-mode flag (structured output is done via tools),
|
|
12
13
|
* so `jsonMode` is false across the board.
|
|
13
14
|
*
|
|
14
|
-
* Param note (
|
|
15
|
-
*
|
|
15
|
+
* Param note (FR-048): Opus 4.7+ reject `temperature`/`top_p`/`top_k` with 400. This IS now
|
|
16
|
+
* modelled here via `settingsSchema.unsupported` — the general reconciler drops them before the
|
|
17
|
+
* call. The Anthropic translator's local param-drop (FR-047 Phase 4) becomes redundant once it
|
|
18
|
+
* delegates to the reconciler. See `documentations/plans/ai-mocking-system/FR-048-LAYER-A.md`.
|
|
16
19
|
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Opus 4.7+ REJECT the sampling params with HTTP 400 on any non-default value.
|
|
23
|
+
*
|
|
24
|
+
* Source: `FR-048-per-model-agnostic-settings.md` §Problem + `ai-per-model-settings.md` table +
|
|
25
|
+
* the FR-047 Phase-4 Anthropic translator precursor. Verified 2026-06-01.
|
|
26
|
+
*/
|
|
27
|
+
const AAI_OPUS_SETTINGS: DyFM_AI_ModelSettingsSchema = {
|
|
28
|
+
supported: [ 'maxTokens' ],
|
|
29
|
+
unsupported: [ 'temperature', 'topP', 'topK' ],
|
|
30
|
+
constraints: {
|
|
31
|
+
maxTokens: { note: 'Required by the Messages API (no implicit default). Numeric bounds pending doc capture (D4).' },
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Sonnet / Haiku still ACCEPT the sampling params (only Opus 4.7+ rejects them).
|
|
37
|
+
* Numeric bounds are intentionally not encoded yet — pending the provider-doc capture pass (D4).
|
|
38
|
+
*/
|
|
39
|
+
const AAI_STANDARD_SETTINGS: DyFM_AI_ModelSettingsSchema = {
|
|
40
|
+
supported: [ 'temperature', 'maxTokens', 'topP' ],
|
|
41
|
+
extraParams: [ 'topK' ],
|
|
42
|
+
constraints: {
|
|
43
|
+
maxTokens: { note: 'Required by the Messages API (no implicit default). Numeric bounds pending doc capture (D4).' },
|
|
44
|
+
},
|
|
45
|
+
};
|
|
17
46
|
export const DyFM_AAI_Models: DyFM_AI_ModelInfo[] = [
|
|
18
47
|
{
|
|
19
48
|
id: DyFM_AAI_Model.claude_opus_4_8,
|
|
@@ -21,6 +50,7 @@ export const DyFM_AAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
21
50
|
modelType: DyFM_AI_ModelType.Chat,
|
|
22
51
|
displayName: 'Claude Opus 4.8',
|
|
23
52
|
tier: 'Opus',
|
|
53
|
+
settingsSchema: AAI_OPUS_SETTINGS,
|
|
24
54
|
status: 'ga',
|
|
25
55
|
contextWindow: 1_000_000,
|
|
26
56
|
maxOutputTokens: 128_000,
|
|
@@ -42,6 +72,7 @@ export const DyFM_AAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
42
72
|
modelType: DyFM_AI_ModelType.Chat,
|
|
43
73
|
displayName: 'Claude Sonnet 4.6',
|
|
44
74
|
tier: 'Sonnet',
|
|
75
|
+
settingsSchema: AAI_STANDARD_SETTINGS,
|
|
45
76
|
status: 'ga',
|
|
46
77
|
contextWindow: 1_000_000,
|
|
47
78
|
maxOutputTokens: 64_000,
|
|
@@ -63,6 +94,7 @@ export const DyFM_AAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
63
94
|
modelType: DyFM_AI_ModelType.Chat,
|
|
64
95
|
displayName: 'Claude Haiku 4.5',
|
|
65
96
|
tier: 'Haiku',
|
|
97
|
+
settingsSchema: AAI_STANDARD_SETTINGS,
|
|
66
98
|
status: 'ga',
|
|
67
99
|
contextWindow: 200_000,
|
|
68
100
|
maxOutputTokens: 64_000,
|
|
@@ -11,6 +11,12 @@ import { DyFM_FdpAI_Model } from '../_enums/fdpai-model.enum';
|
|
|
11
11
|
* backing gateway/model — `functionCalling` is declared true on the assumption the
|
|
12
12
|
* gateway forwards OpenAI-style tools; confirm against the live FDP-AI deployment.
|
|
13
13
|
* Context window is gateway-defined and therefore left unset.
|
|
14
|
+
*
|
|
15
|
+
* Settings note (FR-048) — `settingsSchema` is DELIBERATELY left unset. Which tuning params the gateway
|
|
16
|
+
* actually accepts depends on the backing model it proxies to, and there is no verified record of that
|
|
17
|
+
* yet; encoding a guess could make the reconciler drop params the gateway does accept. With no schema the
|
|
18
|
+
* reconciler stays permissive (debug-logged). Populate once measured against the live gateway.
|
|
19
|
+
* See `documentations/plans/ai-mocking-system/FR-048-LAYER-A.md`.
|
|
14
20
|
*/
|
|
15
21
|
export const DyFM_FdpAI_Models: DyFM_AI_ModelInfo[] = [
|
|
16
22
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DyFM_AI_Provider } from '../../../_enums/ai-provider.enum';
|
|
2
2
|
import { DyFM_AI_ModelType } from '../../../_enums/ai-model-type.enum';
|
|
3
3
|
import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface';
|
|
4
|
+
import { DyFM_AI_ModelSettingsSchema } from '../../../_models/ai-model-settings-schema.interface';
|
|
4
5
|
import { DyFM_GAI_Model } from '../_enums/gai-model.enum';
|
|
5
6
|
|
|
6
7
|
/**
|
|
@@ -13,6 +14,39 @@ import { DyFM_GAI_Model } from '../_enums/gai-model.enum';
|
|
|
13
14
|
* Video input is a real Gemini capability but is not yet modelled in
|
|
14
15
|
* {@link DyFM_AI_ModelCapabilities} — `vision` covers image input only.
|
|
15
16
|
*/
|
|
17
|
+
/**
|
|
18
|
+
* Gemini chat — a param-vokabular MAS, mint az OpenAI-e (FR-048 §Problem).
|
|
19
|
+
*
|
|
20
|
+
* Az agnosztikus `frequencyPenalty`/`presencePenalty` NEM resze a Gemini feluletnek, ezert `unsupported`:
|
|
21
|
+
* a reconciler eldobja oket. (A dropolas mindig biztonsagos — a Gemini ugysem ertelmezne oket.) A
|
|
22
|
+
* Gemini-specifikus knobok `extraParams`-kent utaznak; a nativ kepzes a provider-translator dolga.
|
|
23
|
+
* Forras: FR-048 §Problem + `ai-per-model-settings.md` tabla; verified 2026-06-01.
|
|
24
|
+
*/
|
|
25
|
+
const GAI_CHAT_SETTINGS: DyFM_AI_ModelSettingsSchema = {
|
|
26
|
+
supported: [ 'temperature', 'maxTokens', 'topP' ],
|
|
27
|
+
unsupported: [ 'frequencyPenalty', 'presencePenalty' ],
|
|
28
|
+
extraParams: [ 'topK', 'candidateCount', 'responseSchema', 'thinkingConfig', 'toolConfig' ],
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Mint {@link GAI_CHAT_SETTINGS}, de rogziti a Pro-preview NEM-nyilvanvalo default-jat: ha a hivas nem ad
|
|
33
|
+
* `maxOutputTokens`-t, a szerver **8192**-re defaultol (NEM a 65536-os maximumra). Forras: FR-048 §Problem.
|
|
34
|
+
*/
|
|
35
|
+
const GAI_PRO_PREVIEW_SETTINGS: DyFM_AI_ModelSettingsSchema = {
|
|
36
|
+
...GAI_CHAT_SETTINGS,
|
|
37
|
+
constraints: {
|
|
38
|
+
maxTokens: {
|
|
39
|
+
default: 8192,
|
|
40
|
+
note: 'Gemini 3.1 Pro preview: omitted maxOutputTokens → server default 8192 (not the 65536 max). FR-048, verified 2026-06-01.',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/** Embedding-modell: chat-sampling paramok nem ertelmezettek → a reconciler eldobja oket. */
|
|
46
|
+
const GAI_EMBEDDING_SETTINGS: DyFM_AI_ModelSettingsSchema = {
|
|
47
|
+
unsupported: [ 'temperature', 'topP', 'frequencyPenalty', 'presencePenalty', 'maxTokens' ],
|
|
48
|
+
};
|
|
49
|
+
|
|
16
50
|
export const DyFM_GAI_Models: DyFM_AI_ModelInfo[] = [
|
|
17
51
|
{
|
|
18
52
|
id: DyFM_GAI_Model.gemini_3_5_flash,
|
|
@@ -20,6 +54,7 @@ export const DyFM_GAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
20
54
|
modelType: DyFM_AI_ModelType.Chat,
|
|
21
55
|
displayName: 'Gemini 3.5 Flash',
|
|
22
56
|
tier: 'flash',
|
|
57
|
+
settingsSchema: GAI_CHAT_SETTINGS,
|
|
23
58
|
status: 'ga',
|
|
24
59
|
contextWindow: 1_048_576,
|
|
25
60
|
maxOutputTokens: 65_536,
|
|
@@ -41,6 +76,7 @@ export const DyFM_GAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
41
76
|
modelType: DyFM_AI_ModelType.Chat,
|
|
42
77
|
displayName: 'Gemini 3.1 Pro (preview)',
|
|
43
78
|
tier: 'pro',
|
|
79
|
+
settingsSchema: GAI_PRO_PREVIEW_SETTINGS,
|
|
44
80
|
status: 'preview',
|
|
45
81
|
contextWindow: 1_048_576,
|
|
46
82
|
maxOutputTokens: 65_536,
|
|
@@ -62,6 +98,7 @@ export const DyFM_GAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
62
98
|
modelType: DyFM_AI_ModelType.Chat,
|
|
63
99
|
displayName: 'Gemini 3.1 Flash-Lite',
|
|
64
100
|
tier: 'flash-lite',
|
|
101
|
+
settingsSchema: GAI_CHAT_SETTINGS,
|
|
65
102
|
status: 'ga',
|
|
66
103
|
contextWindow: 1_048_576,
|
|
67
104
|
maxOutputTokens: 65_536,
|
|
@@ -83,6 +120,7 @@ export const DyFM_GAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
83
120
|
modelType: DyFM_AI_ModelType.Embedding,
|
|
84
121
|
displayName: 'Gemini Embedding 2',
|
|
85
122
|
status: 'ga',
|
|
123
|
+
settingsSchema: GAI_EMBEDDING_SETTINGS,
|
|
86
124
|
contextWindow: 8_192,
|
|
87
125
|
capabilities: {
|
|
88
126
|
functionCalling: false,
|
|
@@ -12,6 +12,12 @@ import { DyFM_LAI_Model } from '../_enums/lai-model.enum';
|
|
|
12
12
|
* In particular `functionCalling` is left FALSE here because many local models
|
|
13
13
|
* do not support tool calling; it must be confirmed per loaded model rather than
|
|
14
14
|
* assumed. Context window is model-defined and therefore left unset.
|
|
15
|
+
*
|
|
16
|
+
* Settings note (FR-048) — `settingsSchema` is DELIBERATELY left unset here. The accepted tuning-param
|
|
17
|
+
* surface of a local model is decided by whatever the user loaded into the backend at runtime, so it is
|
|
18
|
+
* not knowable ahead of time; inventing one would be a guess. With no schema the reconciler stays
|
|
19
|
+
* permissive (passes settings through, with a debug log) — the honest best-effort behaviour.
|
|
20
|
+
* See `documentations/plans/ai-mocking-system/FR-048-LAYER-A.md`.
|
|
15
21
|
*/
|
|
16
22
|
export const DyFM_LAI_Models: DyFM_AI_ModelInfo[] = [
|
|
17
23
|
{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DyFM_AI_Provider } from '../../../_enums/ai-provider.enum';
|
|
2
2
|
import { DyFM_AI_ModelType } from '../../../_enums/ai-model-type.enum';
|
|
3
3
|
import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface';
|
|
4
|
+
import { DyFM_AI_ModelSettingsSchema } from '../../../_models/ai-model-settings-schema.interface';
|
|
4
5
|
import { DyFM_OAI_Model } from '../_enums/oai-model.enum';
|
|
5
6
|
|
|
6
7
|
/**
|
|
@@ -12,7 +13,75 @@ import { DyFM_OAI_Model } from '../_enums/oai-model.enum';
|
|
|
12
13
|
* Tool-calling note: native function calling is universal across current OpenAI
|
|
13
14
|
* chat models. The `-pro` reasoning models support tools but NOT streaming and
|
|
14
15
|
* are Responses-API-only — reflected in `capabilities.streaming`.
|
|
16
|
+
*
|
|
17
|
+
* Settings note (FR-048): `settingsSchema` is now populated — it records which tuning
|
|
18
|
+
* params each model ACCEPTS/REJECTS, so the reconciler can drop model-rejected params
|
|
19
|
+
* before the call instead of hard-failing with HTTP 400. See
|
|
20
|
+
* `documentations/plans/ai-mocking-system/FR-048-LAYER-A.md`.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Reasoning models (`gpt-5.x`, `o`-series) REJECT the sampling params with HTTP 400 and
|
|
25
|
+
* instead expose a `reasoningEffort` knob.
|
|
26
|
+
*
|
|
27
|
+
* Source: FR-047 code-review fix `514153f` (`isReasoningModel` = `/^gpt-5/ || /^o[0-9]/`,
|
|
28
|
+
* which omits the 4 sampling params) + `FR-048-per-model-agnostic-settings.md` §Problem.
|
|
29
|
+
* Verified 2026-06-01. Numeric ranges for other params are intentionally NOT encoded yet —
|
|
30
|
+
* pending the provider-doc capture pass (a wrong clamp would silently alter live calls).
|
|
31
|
+
*/
|
|
32
|
+
const OAI_REASONING_SETTINGS: DyFM_AI_ModelSettingsSchema = {
|
|
33
|
+
supported: [ 'maxTokens' ],
|
|
34
|
+
unsupported: [ 'temperature', 'topP', 'frequencyPenalty', 'presencePenalty' ],
|
|
35
|
+
extraParams: [ 'reasoningEffort' ],
|
|
36
|
+
constraints: {
|
|
37
|
+
reasoningEffort: {
|
|
38
|
+
allowed: [ 'none', 'low', 'medium', 'high', 'xhigh' ],
|
|
39
|
+
note: 'Reasoning-only knob; non-reasoning models have none. Source: FR-048 §Problem, verified 2026-06-01.',
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Non-reasoning chat models (`gpt-4o` family) accept the classic sampling params.
|
|
46
|
+
*
|
|
47
|
+
* Numeric bounds are deliberately omitted until captured from the provider docs (D4) —
|
|
48
|
+
* encoding an unverified min/max would make the reconciler clamp calls incorrectly.
|
|
49
|
+
*/
|
|
50
|
+
const OAI_CLASSIC_CHAT_SETTINGS: DyFM_AI_ModelSettingsSchema = {
|
|
51
|
+
supported: [ 'temperature', 'maxTokens', 'topP', 'frequencyPenalty', 'presencePenalty' ],
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Embedding models take no sampling params; the one real knob is `dimensions`.
|
|
56
|
+
*
|
|
57
|
+
* The sampling params are listed as `unsupported` so the reconciler DROPS them — dropping a
|
|
58
|
+
* meaningless param from an embeddings call is always safe, regardless of whether the API
|
|
59
|
+
* would 400 or silently ignore it. Max/default dims per the `DyFM_OAI_Model` JSDoc (verified 2026-06).
|
|
60
|
+
*/
|
|
61
|
+
const OAI_EMBEDDING_SETTINGS_SMALL: DyFM_AI_ModelSettingsSchema = {
|
|
62
|
+
unsupported: [ 'temperature', 'topP', 'frequencyPenalty', 'presencePenalty', 'maxTokens' ],
|
|
63
|
+
extraParams: [ 'dimensions' ],
|
|
64
|
+
constraints: {
|
|
65
|
+
dimensions: { max: 1536, default: 1536, note: 'text-embedding-3-small native dims (Matryoshka truncation allowed below max).' },
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/** As {@link OAI_EMBEDDING_SETTINGS_SMALL}, with the 3-large native dimension count. */
|
|
70
|
+
const OAI_EMBEDDING_SETTINGS_LARGE: DyFM_AI_ModelSettingsSchema = {
|
|
71
|
+
unsupported: [ 'temperature', 'topP', 'frequencyPenalty', 'presencePenalty', 'maxTokens' ],
|
|
72
|
+
extraParams: [ 'dimensions' ],
|
|
73
|
+
constraints: {
|
|
74
|
+
dimensions: { max: 3072, default: 3072, note: 'text-embedding-3-large native dims (Matryoshka truncation allowed below max).' },
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Image-generation models take no chat sampling params (dropped by the reconciler).
|
|
80
|
+
* The image-specific knobs (size / quality / background) are NOT encoded yet — pending doc capture (D4).
|
|
15
81
|
*/
|
|
82
|
+
const OAI_IMAGE_SETTINGS: DyFM_AI_ModelSettingsSchema = {
|
|
83
|
+
unsupported: [ 'temperature', 'topP', 'frequencyPenalty', 'presencePenalty', 'maxTokens' ],
|
|
84
|
+
};
|
|
16
85
|
export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
17
86
|
// ── Chat / reasoning (current GA) ──
|
|
18
87
|
{
|
|
@@ -21,6 +90,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
21
90
|
modelType: DyFM_AI_ModelType.Chat,
|
|
22
91
|
displayName: 'GPT-5.5',
|
|
23
92
|
tier: 'flagship',
|
|
93
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
24
94
|
status: 'ga',
|
|
25
95
|
contextWindow: 1_050_000,
|
|
26
96
|
maxOutputTokens: 128_000,
|
|
@@ -42,6 +112,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
42
112
|
modelType: DyFM_AI_ModelType.Chat,
|
|
43
113
|
displayName: 'GPT-5.5 Pro',
|
|
44
114
|
tier: 'pro',
|
|
115
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
45
116
|
status: 'ga',
|
|
46
117
|
contextWindow: 1_050_000,
|
|
47
118
|
maxOutputTokens: 128_000,
|
|
@@ -63,6 +134,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
63
134
|
modelType: DyFM_AI_ModelType.Chat,
|
|
64
135
|
displayName: 'GPT-5.4',
|
|
65
136
|
tier: 'flagship',
|
|
137
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
66
138
|
status: 'ga',
|
|
67
139
|
contextWindow: 1_000_000,
|
|
68
140
|
maxOutputTokens: 128_000,
|
|
@@ -84,6 +156,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
84
156
|
modelType: DyFM_AI_ModelType.Chat,
|
|
85
157
|
displayName: 'GPT-5.4 mini',
|
|
86
158
|
tier: 'mini',
|
|
159
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
87
160
|
status: 'ga',
|
|
88
161
|
contextWindow: 400_000,
|
|
89
162
|
maxOutputTokens: 128_000,
|
|
@@ -105,6 +178,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
105
178
|
modelType: DyFM_AI_ModelType.Chat,
|
|
106
179
|
displayName: 'GPT-5.4 nano',
|
|
107
180
|
tier: 'nano',
|
|
181
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
108
182
|
status: 'ga',
|
|
109
183
|
contextWindow: 400_000,
|
|
110
184
|
maxOutputTokens: 128_000,
|
|
@@ -126,6 +200,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
126
200
|
modelType: DyFM_AI_ModelType.Chat,
|
|
127
201
|
displayName: 'o3-pro',
|
|
128
202
|
tier: 'pro',
|
|
203
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
129
204
|
status: 'ga',
|
|
130
205
|
contextWindow: 200_000,
|
|
131
206
|
maxOutputTokens: 100_000,
|
|
@@ -149,6 +224,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
149
224
|
modelType: DyFM_AI_ModelType.Chat,
|
|
150
225
|
displayName: 'GPT-4o',
|
|
151
226
|
tier: 'legacy',
|
|
227
|
+
settingsSchema: OAI_CLASSIC_CHAT_SETTINGS,
|
|
152
228
|
status: 'deprecated',
|
|
153
229
|
successorId: DyFM_OAI_Model.gpt54_mini,
|
|
154
230
|
sunsetDate: '2026-10-23',
|
|
@@ -172,6 +248,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
172
248
|
modelType: DyFM_AI_ModelType.Chat,
|
|
173
249
|
displayName: 'GPT-4o mini',
|
|
174
250
|
tier: 'legacy',
|
|
251
|
+
settingsSchema: OAI_CLASSIC_CHAT_SETTINGS,
|
|
175
252
|
status: 'deprecated',
|
|
176
253
|
successorId: DyFM_OAI_Model.gpt54_mini,
|
|
177
254
|
sunsetDate: '2026-10-23',
|
|
@@ -197,6 +274,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
197
274
|
modelType: DyFM_AI_ModelType.Embedding,
|
|
198
275
|
displayName: 'text-embedding-3-small',
|
|
199
276
|
status: 'ga',
|
|
277
|
+
settingsSchema: OAI_EMBEDDING_SETTINGS_SMALL,
|
|
200
278
|
contextWindow: 8_191,
|
|
201
279
|
capabilities: {
|
|
202
280
|
functionCalling: false,
|
|
@@ -216,6 +294,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
216
294
|
modelType: DyFM_AI_ModelType.Embedding,
|
|
217
295
|
displayName: 'text-embedding-3-large',
|
|
218
296
|
status: 'ga',
|
|
297
|
+
settingsSchema: OAI_EMBEDDING_SETTINGS_LARGE,
|
|
219
298
|
contextWindow: 8_191,
|
|
220
299
|
capabilities: {
|
|
221
300
|
functionCalling: false,
|
|
@@ -237,6 +316,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
237
316
|
modelType: DyFM_AI_ModelType.Image,
|
|
238
317
|
displayName: 'GPT Image 2',
|
|
239
318
|
status: 'ga',
|
|
319
|
+
settingsSchema: OAI_IMAGE_SETTINGS,
|
|
240
320
|
capabilities: {
|
|
241
321
|
functionCalling: false,
|
|
242
322
|
vision: true, // accepts image input for editing
|