@futdevpro/fsm-dynamo 1.16.19 → 1.16.22
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 +48 -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 +97 -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 +51 -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 +103 -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;AA4D7E,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAmE9C,CAAC"}
|
|
@@ -12,9 +12,52 @@ 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: {
|
|
31
|
+
note: 'Messages API: "Different models have different maximum values for this parameter" — the per-model ' +
|
|
32
|
+
'cap lives in `maxOutputTokens`, so no global min/max is encoded. Source: platform.claude.com/docs/en/api/messages, verified 2026-07-21.',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Sonnet / Haiku still ACCEPT the sampling params (only Opus 4.7+ rejects them).
|
|
38
|
+
*
|
|
39
|
+
* **Fontos provider-kulonbseg:** az Anthropic `temperature` maximuma **1.0**, NEM 2.0 mint az OpenAI-nal —
|
|
40
|
+
* egy OpenAI-nal ervenyes `temperature: 1.5` itt ervenytelen. A validator ezt most elkapja.
|
|
41
|
+
* `topP` / `topK`: az API-referencia NEM ad meg szamszeru hatarokat → szandekosan nem kodolunk bele semmit.
|
|
42
|
+
* Forras: platform.claude.com/docs/en/api/messages, verified 2026-07-21.
|
|
43
|
+
*/
|
|
44
|
+
const AAI_STANDARD_SETTINGS = {
|
|
45
|
+
supported: ['temperature', 'maxTokens', 'topP'],
|
|
46
|
+
extraParams: ['topK'],
|
|
47
|
+
constraints: {
|
|
48
|
+
temperature: {
|
|
49
|
+
min: 0,
|
|
50
|
+
max: 1,
|
|
51
|
+
default: 1,
|
|
52
|
+
note: 'Anthropic: "Defaults to 1.0. Ranges from 0.0 to 1.0." — NOTE: half the OpenAI max (2.0). ' +
|
|
53
|
+
'Source: platform.claude.com/docs/en/api/messages, verified 2026-07-21.',
|
|
54
|
+
},
|
|
55
|
+
maxTokens: {
|
|
56
|
+
note: 'Messages API: "Different models have different maximum values for this parameter" — the per-model ' +
|
|
57
|
+
'cap lives in `maxOutputTokens`. Source: platform.claude.com/docs/en/api/messages, verified 2026-07-21.',
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
};
|
|
18
61
|
exports.DyFM_AAI_Models = [
|
|
19
62
|
{
|
|
20
63
|
id: aai_model_enum_1.DyFM_AAI_Model.claude_opus_4_8,
|
|
@@ -22,6 +65,7 @@ exports.DyFM_AAI_Models = [
|
|
|
22
65
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
23
66
|
displayName: 'Claude Opus 4.8',
|
|
24
67
|
tier: 'Opus',
|
|
68
|
+
settingsSchema: AAI_OPUS_SETTINGS,
|
|
25
69
|
status: 'ga',
|
|
26
70
|
contextWindow: 1_000_000,
|
|
27
71
|
maxOutputTokens: 128_000,
|
|
@@ -43,6 +87,7 @@ exports.DyFM_AAI_Models = [
|
|
|
43
87
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
44
88
|
displayName: 'Claude Sonnet 4.6',
|
|
45
89
|
tier: 'Sonnet',
|
|
90
|
+
settingsSchema: AAI_STANDARD_SETTINGS,
|
|
46
91
|
status: 'ga',
|
|
47
92
|
contextWindow: 1_000_000,
|
|
48
93
|
maxOutputTokens: 64_000,
|
|
@@ -64,6 +109,7 @@ exports.DyFM_AAI_Models = [
|
|
|
64
109
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
65
110
|
displayName: 'Claude Haiku 4.5',
|
|
66
111
|
tier: 'Haiku',
|
|
112
|
+
settingsSchema: AAI_STANDARD_SETTINGS,
|
|
67
113
|
status: 'ga',
|
|
68
114
|
contextWindow: 200_000,
|
|
69
115
|
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;YACT,IAAI,EAAE,oGAAoG;gBACxG,yIAAyI;SAC5I;KACF;CACF,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,qBAAqB,GAAgC;IACzD,SAAS,EAAE,CAAE,aAAa,EAAE,WAAW,EAAE,MAAM,CAAE;IACjD,WAAW,EAAE,CAAE,MAAM,CAAE;IACvB,WAAW,EAAE;QACX,WAAW,EAAE;YACX,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,2FAA2F;gBAC/F,wEAAwE;SAC3E;QACD,SAAS,EAAE;YACT,IAAI,EAAE,oGAAoG;gBACxG,wGAAwG;SAC3G;KACF;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;AAyG7E,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAuP9C,CAAC"}
|
|
@@ -13,7 +13,93 @@ 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 captured from the official OpenAI API reference
|
|
46
|
+
* (https://developers.openai.com/api/reference — fetched 2026-07-21). The docs state the ranges but
|
|
47
|
+
* do NOT document default values, so no `default` is encoded here (an invented default would be a guess).
|
|
48
|
+
*/
|
|
49
|
+
const OAI_CLASSIC_CHAT_SETTINGS = {
|
|
50
|
+
supported: ['temperature', 'maxTokens', 'topP', 'frequencyPenalty', 'presencePenalty'],
|
|
51
|
+
constraints: {
|
|
52
|
+
temperature: {
|
|
53
|
+
min: 0,
|
|
54
|
+
max: 2,
|
|
55
|
+
note: 'OpenAI: "between 0 and 2". Source: developers.openai.com API reference, verified 2026-07-21.',
|
|
56
|
+
},
|
|
57
|
+
topP: {
|
|
58
|
+
min: 0,
|
|
59
|
+
max: 1,
|
|
60
|
+
note: 'OpenAI nucleus sampling: "between 0 and 1". Source: developers.openai.com API reference, verified 2026-07-21.',
|
|
61
|
+
},
|
|
62
|
+
frequencyPenalty: {
|
|
63
|
+
min: -2,
|
|
64
|
+
max: 2,
|
|
65
|
+
note: 'OpenAI: "Number between -2.0 and 2.0". Source: developers.openai.com API reference, verified 2026-07-21.',
|
|
66
|
+
},
|
|
67
|
+
presencePenalty: {
|
|
68
|
+
min: -2,
|
|
69
|
+
max: 2,
|
|
70
|
+
note: 'OpenAI: "Number between -2.0 and 2.0". Source: developers.openai.com API reference, verified 2026-07-21.',
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Embedding models take no sampling params; the one real knob is `dimensions`.
|
|
76
|
+
*
|
|
77
|
+
* The sampling params are listed as `unsupported` so the reconciler DROPS them — dropping a
|
|
78
|
+
* meaningless param from an embeddings call is always safe, regardless of whether the API
|
|
79
|
+
* would 400 or silently ignore it. Max/default dims per the `DyFM_OAI_Model` JSDoc (verified 2026-06).
|
|
80
|
+
*/
|
|
81
|
+
const OAI_EMBEDDING_SETTINGS_SMALL = {
|
|
82
|
+
unsupported: ['temperature', 'topP', 'frequencyPenalty', 'presencePenalty', 'maxTokens'],
|
|
83
|
+
extraParams: ['dimensions'],
|
|
84
|
+
constraints: {
|
|
85
|
+
dimensions: { max: 1536, default: 1536, note: 'text-embedding-3-small native dims (Matryoshka truncation allowed below max).' },
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
/** As {@link OAI_EMBEDDING_SETTINGS_SMALL}, with the 3-large native dimension count. */
|
|
89
|
+
const OAI_EMBEDDING_SETTINGS_LARGE = {
|
|
90
|
+
unsupported: ['temperature', 'topP', 'frequencyPenalty', 'presencePenalty', 'maxTokens'],
|
|
91
|
+
extraParams: ['dimensions'],
|
|
92
|
+
constraints: {
|
|
93
|
+
dimensions: { max: 3072, default: 3072, note: 'text-embedding-3-large native dims (Matryoshka truncation allowed below max).' },
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Image-generation models take no chat sampling params (dropped by the reconciler).
|
|
98
|
+
* The image-specific knobs (size / quality / background) are NOT encoded yet — pending doc capture (D4).
|
|
16
99
|
*/
|
|
100
|
+
const OAI_IMAGE_SETTINGS = {
|
|
101
|
+
unsupported: ['temperature', 'topP', 'frequencyPenalty', 'presencePenalty', 'maxTokens'],
|
|
102
|
+
};
|
|
17
103
|
exports.DyFM_OAI_Models = [
|
|
18
104
|
// ── Chat / reasoning (current GA) ──
|
|
19
105
|
{
|
|
@@ -22,6 +108,7 @@ exports.DyFM_OAI_Models = [
|
|
|
22
108
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
23
109
|
displayName: 'GPT-5.5',
|
|
24
110
|
tier: 'flagship',
|
|
111
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
25
112
|
status: 'ga',
|
|
26
113
|
contextWindow: 1_050_000,
|
|
27
114
|
maxOutputTokens: 128_000,
|
|
@@ -43,6 +130,7 @@ exports.DyFM_OAI_Models = [
|
|
|
43
130
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
44
131
|
displayName: 'GPT-5.5 Pro',
|
|
45
132
|
tier: 'pro',
|
|
133
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
46
134
|
status: 'ga',
|
|
47
135
|
contextWindow: 1_050_000,
|
|
48
136
|
maxOutputTokens: 128_000,
|
|
@@ -64,6 +152,7 @@ exports.DyFM_OAI_Models = [
|
|
|
64
152
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
65
153
|
displayName: 'GPT-5.4',
|
|
66
154
|
tier: 'flagship',
|
|
155
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
67
156
|
status: 'ga',
|
|
68
157
|
contextWindow: 1_000_000,
|
|
69
158
|
maxOutputTokens: 128_000,
|
|
@@ -85,6 +174,7 @@ exports.DyFM_OAI_Models = [
|
|
|
85
174
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
86
175
|
displayName: 'GPT-5.4 mini',
|
|
87
176
|
tier: 'mini',
|
|
177
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
88
178
|
status: 'ga',
|
|
89
179
|
contextWindow: 400_000,
|
|
90
180
|
maxOutputTokens: 128_000,
|
|
@@ -106,6 +196,7 @@ exports.DyFM_OAI_Models = [
|
|
|
106
196
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
107
197
|
displayName: 'GPT-5.4 nano',
|
|
108
198
|
tier: 'nano',
|
|
199
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
109
200
|
status: 'ga',
|
|
110
201
|
contextWindow: 400_000,
|
|
111
202
|
maxOutputTokens: 128_000,
|
|
@@ -127,6 +218,7 @@ exports.DyFM_OAI_Models = [
|
|
|
127
218
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
128
219
|
displayName: 'o3-pro',
|
|
129
220
|
tier: 'pro',
|
|
221
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
130
222
|
status: 'ga',
|
|
131
223
|
contextWindow: 200_000,
|
|
132
224
|
maxOutputTokens: 100_000,
|
|
@@ -149,6 +241,7 @@ exports.DyFM_OAI_Models = [
|
|
|
149
241
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
150
242
|
displayName: 'GPT-4o',
|
|
151
243
|
tier: 'legacy',
|
|
244
|
+
settingsSchema: OAI_CLASSIC_CHAT_SETTINGS,
|
|
152
245
|
status: 'deprecated',
|
|
153
246
|
successorId: oai_model_enum_1.DyFM_OAI_Model.gpt54_mini,
|
|
154
247
|
sunsetDate: '2026-10-23',
|
|
@@ -172,6 +265,7 @@ exports.DyFM_OAI_Models = [
|
|
|
172
265
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
173
266
|
displayName: 'GPT-4o mini',
|
|
174
267
|
tier: 'legacy',
|
|
268
|
+
settingsSchema: OAI_CLASSIC_CHAT_SETTINGS,
|
|
175
269
|
status: 'deprecated',
|
|
176
270
|
successorId: oai_model_enum_1.DyFM_OAI_Model.gpt54_mini,
|
|
177
271
|
sunsetDate: '2026-10-23',
|
|
@@ -196,6 +290,7 @@ exports.DyFM_OAI_Models = [
|
|
|
196
290
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Embedding,
|
|
197
291
|
displayName: 'text-embedding-3-small',
|
|
198
292
|
status: 'ga',
|
|
293
|
+
settingsSchema: OAI_EMBEDDING_SETTINGS_SMALL,
|
|
199
294
|
contextWindow: 8_191,
|
|
200
295
|
capabilities: {
|
|
201
296
|
functionCalling: false,
|
|
@@ -215,6 +310,7 @@ exports.DyFM_OAI_Models = [
|
|
|
215
310
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Embedding,
|
|
216
311
|
displayName: 'text-embedding-3-large',
|
|
217
312
|
status: 'ga',
|
|
313
|
+
settingsSchema: OAI_EMBEDDING_SETTINGS_LARGE,
|
|
218
314
|
contextWindow: 8_191,
|
|
219
315
|
capabilities: {
|
|
220
316
|
functionCalling: false,
|
|
@@ -235,6 +331,7 @@ exports.DyFM_OAI_Models = [
|
|
|
235
331
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Image,
|
|
236
332
|
displayName: 'GPT Image 2',
|
|
237
333
|
status: 'ga',
|
|
334
|
+
settingsSchema: OAI_IMAGE_SETTINGS,
|
|
238
335
|
capabilities: {
|
|
239
336
|
functionCalling: false,
|
|
240
337
|
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.22",
|
|
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,54 @@ 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: {
|
|
32
|
+
note: 'Messages API: "Different models have different maximum values for this parameter" — the per-model ' +
|
|
33
|
+
'cap lives in `maxOutputTokens`, so no global min/max is encoded. Source: platform.claude.com/docs/en/api/messages, verified 2026-07-21.',
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Sonnet / Haiku still ACCEPT the sampling params (only Opus 4.7+ rejects them).
|
|
40
|
+
*
|
|
41
|
+
* **Fontos provider-kulonbseg:** az Anthropic `temperature` maximuma **1.0**, NEM 2.0 mint az OpenAI-nal —
|
|
42
|
+
* egy OpenAI-nal ervenyes `temperature: 1.5` itt ervenytelen. A validator ezt most elkapja.
|
|
43
|
+
* `topP` / `topK`: az API-referencia NEM ad meg szamszeru hatarokat → szandekosan nem kodolunk bele semmit.
|
|
44
|
+
* Forras: platform.claude.com/docs/en/api/messages, verified 2026-07-21.
|
|
45
|
+
*/
|
|
46
|
+
const AAI_STANDARD_SETTINGS: DyFM_AI_ModelSettingsSchema = {
|
|
47
|
+
supported: [ 'temperature', 'maxTokens', 'topP' ],
|
|
48
|
+
extraParams: [ 'topK' ],
|
|
49
|
+
constraints: {
|
|
50
|
+
temperature: {
|
|
51
|
+
min: 0,
|
|
52
|
+
max: 1,
|
|
53
|
+
default: 1,
|
|
54
|
+
note: 'Anthropic: "Defaults to 1.0. Ranges from 0.0 to 1.0." — NOTE: half the OpenAI max (2.0). ' +
|
|
55
|
+
'Source: platform.claude.com/docs/en/api/messages, verified 2026-07-21.',
|
|
56
|
+
},
|
|
57
|
+
maxTokens: {
|
|
58
|
+
note: 'Messages API: "Different models have different maximum values for this parameter" — the per-model ' +
|
|
59
|
+
'cap lives in `maxOutputTokens`. Source: platform.claude.com/docs/en/api/messages, verified 2026-07-21.',
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
};
|
|
17
63
|
export const DyFM_AAI_Models: DyFM_AI_ModelInfo[] = [
|
|
18
64
|
{
|
|
19
65
|
id: DyFM_AAI_Model.claude_opus_4_8,
|
|
@@ -21,6 +67,7 @@ export const DyFM_AAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
21
67
|
modelType: DyFM_AI_ModelType.Chat,
|
|
22
68
|
displayName: 'Claude Opus 4.8',
|
|
23
69
|
tier: 'Opus',
|
|
70
|
+
settingsSchema: AAI_OPUS_SETTINGS,
|
|
24
71
|
status: 'ga',
|
|
25
72
|
contextWindow: 1_000_000,
|
|
26
73
|
maxOutputTokens: 128_000,
|
|
@@ -42,6 +89,7 @@ export const DyFM_AAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
42
89
|
modelType: DyFM_AI_ModelType.Chat,
|
|
43
90
|
displayName: 'Claude Sonnet 4.6',
|
|
44
91
|
tier: 'Sonnet',
|
|
92
|
+
settingsSchema: AAI_STANDARD_SETTINGS,
|
|
45
93
|
status: 'ga',
|
|
46
94
|
contextWindow: 1_000_000,
|
|
47
95
|
maxOutputTokens: 64_000,
|
|
@@ -63,6 +111,7 @@ export const DyFM_AAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
63
111
|
modelType: DyFM_AI_ModelType.Chat,
|
|
64
112
|
displayName: 'Claude Haiku 4.5',
|
|
65
113
|
tier: 'Haiku',
|
|
114
|
+
settingsSchema: AAI_STANDARD_SETTINGS,
|
|
66
115
|
status: 'ga',
|
|
67
116
|
contextWindow: 200_000,
|
|
68
117
|
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,98 @@ 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 captured from the official OpenAI API reference
|
|
48
|
+
* (https://developers.openai.com/api/reference — fetched 2026-07-21). The docs state the ranges but
|
|
49
|
+
* do NOT document default values, so no `default` is encoded here (an invented default would be a guess).
|
|
50
|
+
*/
|
|
51
|
+
const OAI_CLASSIC_CHAT_SETTINGS: DyFM_AI_ModelSettingsSchema = {
|
|
52
|
+
supported: [ 'temperature', 'maxTokens', 'topP', 'frequencyPenalty', 'presencePenalty' ],
|
|
53
|
+
constraints: {
|
|
54
|
+
temperature: {
|
|
55
|
+
min: 0,
|
|
56
|
+
max: 2,
|
|
57
|
+
note: 'OpenAI: "between 0 and 2". Source: developers.openai.com API reference, verified 2026-07-21.',
|
|
58
|
+
},
|
|
59
|
+
topP: {
|
|
60
|
+
min: 0,
|
|
61
|
+
max: 1,
|
|
62
|
+
note: 'OpenAI nucleus sampling: "between 0 and 1". Source: developers.openai.com API reference, verified 2026-07-21.',
|
|
63
|
+
},
|
|
64
|
+
frequencyPenalty: {
|
|
65
|
+
min: -2,
|
|
66
|
+
max: 2,
|
|
67
|
+
note: 'OpenAI: "Number between -2.0 and 2.0". Source: developers.openai.com API reference, verified 2026-07-21.',
|
|
68
|
+
},
|
|
69
|
+
presencePenalty: {
|
|
70
|
+
min: -2,
|
|
71
|
+
max: 2,
|
|
72
|
+
note: 'OpenAI: "Number between -2.0 and 2.0". Source: developers.openai.com API reference, verified 2026-07-21.',
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Embedding models take no sampling params; the one real knob is `dimensions`.
|
|
79
|
+
*
|
|
80
|
+
* The sampling params are listed as `unsupported` so the reconciler DROPS them — dropping a
|
|
81
|
+
* meaningless param from an embeddings call is always safe, regardless of whether the API
|
|
82
|
+
* would 400 or silently ignore it. Max/default dims per the `DyFM_OAI_Model` JSDoc (verified 2026-06).
|
|
83
|
+
*/
|
|
84
|
+
const OAI_EMBEDDING_SETTINGS_SMALL: DyFM_AI_ModelSettingsSchema = {
|
|
85
|
+
unsupported: [ 'temperature', 'topP', 'frequencyPenalty', 'presencePenalty', 'maxTokens' ],
|
|
86
|
+
extraParams: [ 'dimensions' ],
|
|
87
|
+
constraints: {
|
|
88
|
+
dimensions: { max: 1536, default: 1536, note: 'text-embedding-3-small native dims (Matryoshka truncation allowed below max).' },
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
/** As {@link OAI_EMBEDDING_SETTINGS_SMALL}, with the 3-large native dimension count. */
|
|
93
|
+
const OAI_EMBEDDING_SETTINGS_LARGE: DyFM_AI_ModelSettingsSchema = {
|
|
94
|
+
unsupported: [ 'temperature', 'topP', 'frequencyPenalty', 'presencePenalty', 'maxTokens' ],
|
|
95
|
+
extraParams: [ 'dimensions' ],
|
|
96
|
+
constraints: {
|
|
97
|
+
dimensions: { max: 3072, default: 3072, note: 'text-embedding-3-large native dims (Matryoshka truncation allowed below max).' },
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Image-generation models take no chat sampling params (dropped by the reconciler).
|
|
103
|
+
* The image-specific knobs (size / quality / background) are NOT encoded yet — pending doc capture (D4).
|
|
15
104
|
*/
|
|
105
|
+
const OAI_IMAGE_SETTINGS: DyFM_AI_ModelSettingsSchema = {
|
|
106
|
+
unsupported: [ 'temperature', 'topP', 'frequencyPenalty', 'presencePenalty', 'maxTokens' ],
|
|
107
|
+
};
|
|
16
108
|
export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
17
109
|
// ── Chat / reasoning (current GA) ──
|
|
18
110
|
{
|
|
@@ -21,6 +113,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
21
113
|
modelType: DyFM_AI_ModelType.Chat,
|
|
22
114
|
displayName: 'GPT-5.5',
|
|
23
115
|
tier: 'flagship',
|
|
116
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
24
117
|
status: 'ga',
|
|
25
118
|
contextWindow: 1_050_000,
|
|
26
119
|
maxOutputTokens: 128_000,
|
|
@@ -42,6 +135,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
42
135
|
modelType: DyFM_AI_ModelType.Chat,
|
|
43
136
|
displayName: 'GPT-5.5 Pro',
|
|
44
137
|
tier: 'pro',
|
|
138
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
45
139
|
status: 'ga',
|
|
46
140
|
contextWindow: 1_050_000,
|
|
47
141
|
maxOutputTokens: 128_000,
|
|
@@ -63,6 +157,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
63
157
|
modelType: DyFM_AI_ModelType.Chat,
|
|
64
158
|
displayName: 'GPT-5.4',
|
|
65
159
|
tier: 'flagship',
|
|
160
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
66
161
|
status: 'ga',
|
|
67
162
|
contextWindow: 1_000_000,
|
|
68
163
|
maxOutputTokens: 128_000,
|
|
@@ -84,6 +179,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
84
179
|
modelType: DyFM_AI_ModelType.Chat,
|
|
85
180
|
displayName: 'GPT-5.4 mini',
|
|
86
181
|
tier: 'mini',
|
|
182
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
87
183
|
status: 'ga',
|
|
88
184
|
contextWindow: 400_000,
|
|
89
185
|
maxOutputTokens: 128_000,
|
|
@@ -105,6 +201,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
105
201
|
modelType: DyFM_AI_ModelType.Chat,
|
|
106
202
|
displayName: 'GPT-5.4 nano',
|
|
107
203
|
tier: 'nano',
|
|
204
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
108
205
|
status: 'ga',
|
|
109
206
|
contextWindow: 400_000,
|
|
110
207
|
maxOutputTokens: 128_000,
|
|
@@ -126,6 +223,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
126
223
|
modelType: DyFM_AI_ModelType.Chat,
|
|
127
224
|
displayName: 'o3-pro',
|
|
128
225
|
tier: 'pro',
|
|
226
|
+
settingsSchema: OAI_REASONING_SETTINGS,
|
|
129
227
|
status: 'ga',
|
|
130
228
|
contextWindow: 200_000,
|
|
131
229
|
maxOutputTokens: 100_000,
|
|
@@ -149,6 +247,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
149
247
|
modelType: DyFM_AI_ModelType.Chat,
|
|
150
248
|
displayName: 'GPT-4o',
|
|
151
249
|
tier: 'legacy',
|
|
250
|
+
settingsSchema: OAI_CLASSIC_CHAT_SETTINGS,
|
|
152
251
|
status: 'deprecated',
|
|
153
252
|
successorId: DyFM_OAI_Model.gpt54_mini,
|
|
154
253
|
sunsetDate: '2026-10-23',
|
|
@@ -172,6 +271,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
172
271
|
modelType: DyFM_AI_ModelType.Chat,
|
|
173
272
|
displayName: 'GPT-4o mini',
|
|
174
273
|
tier: 'legacy',
|
|
274
|
+
settingsSchema: OAI_CLASSIC_CHAT_SETTINGS,
|
|
175
275
|
status: 'deprecated',
|
|
176
276
|
successorId: DyFM_OAI_Model.gpt54_mini,
|
|
177
277
|
sunsetDate: '2026-10-23',
|
|
@@ -197,6 +297,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
197
297
|
modelType: DyFM_AI_ModelType.Embedding,
|
|
198
298
|
displayName: 'text-embedding-3-small',
|
|
199
299
|
status: 'ga',
|
|
300
|
+
settingsSchema: OAI_EMBEDDING_SETTINGS_SMALL,
|
|
200
301
|
contextWindow: 8_191,
|
|
201
302
|
capabilities: {
|
|
202
303
|
functionCalling: false,
|
|
@@ -216,6 +317,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
216
317
|
modelType: DyFM_AI_ModelType.Embedding,
|
|
217
318
|
displayName: 'text-embedding-3-large',
|
|
218
319
|
status: 'ga',
|
|
320
|
+
settingsSchema: OAI_EMBEDDING_SETTINGS_LARGE,
|
|
219
321
|
contextWindow: 8_191,
|
|
220
322
|
capabilities: {
|
|
221
323
|
functionCalling: false,
|
|
@@ -237,6 +339,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
237
339
|
modelType: DyFM_AI_ModelType.Image,
|
|
238
340
|
displayName: 'GPT Image 2',
|
|
239
341
|
status: 'ga',
|
|
342
|
+
settingsSchema: OAI_IMAGE_SETTINGS,
|
|
240
343
|
capabilities: {
|
|
241
344
|
functionCalling: false,
|
|
242
345
|
vision: true, // accepts image input for editing
|