@futdevpro/fsm-dynamo 1.16.18 → 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.
Files changed (31) hide show
  1. package/build/_models/control-models/server-status.control-model.d.ts +8 -0
  2. package/build/_models/control-models/server-status.control-model.d.ts.map +1 -1
  3. package/build/_models/control-models/server-status.control-model.js +8 -0
  4. package/build/_models/control-models/server-status.control-model.js.map +1 -1
  5. package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.d.ts +0 -11
  6. package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.d.ts.map +1 -1
  7. package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.js +31 -2
  8. package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.js.map +1 -1
  9. package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.d.ts +6 -0
  10. package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.d.ts.map +1 -1
  11. package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.js +6 -0
  12. package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.js.map +1 -1
  13. package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.d.ts +0 -10
  14. package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.d.ts.map +1 -1
  15. package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.js +34 -0
  16. package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.js.map +1 -1
  17. package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.d.ts +6 -0
  18. package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.d.ts.map +1 -1
  19. package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.js +6 -0
  20. package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.js.map +1 -1
  21. package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.d.ts +0 -10
  22. package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.d.ts.map +1 -1
  23. package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.js +74 -0
  24. package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.js.map +1 -1
  25. package/package.json +2 -2
  26. package/src/_models/control-models/server-status.control-model.ts +9 -0
  27. package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +34 -2
  28. package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +6 -0
  29. package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +38 -0
  30. package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +6 -0
  31. package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +80 -0
@@ -21,8 +21,16 @@ export declare class DyFM_ServerStatus extends DyFM_Metadata {
21
21
  clientVersionOk?: boolean;
22
22
  latestClientVersion?: string;
23
23
  latestClientVersionNumeric?: number;
24
+ /** A BEDROCK (nts-dynamo) verziója — a teljes flottán AZONOS, NEM az app sajátja. */
24
25
  serverVersion?: string;
25
26
  serverNumericVersion?: number;
27
+ /**
28
+ * AZ APP saját verziója (`DyNTS_global_settings.systemVersion`), 2026-07-20.
29
+ * Deploy-verifikációhoz ez a helyes mező: a `serverVersion` a bedrock verzióját adja,
30
+ * ezért verzió-alapú deploy-ellenőrzésre alkalmatlan (a flottán mindenhol ugyanaz).
31
+ * Additív mező — a `serverVersion` szemantikája változatlan (nulla regresszió).
32
+ */
33
+ appVersion?: string;
26
34
  uptime?: number;
27
35
  serverMessage?: string;
28
36
  memoryUsage?: {
@@ -1 +1 @@
1
- {"version":3,"file":"server-status.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/server-status.control-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGnE,MAAM,WAAW,gCAAgC;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,4BAA4B,CAAC;CAC7C;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,WAAW,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,iBAAiB,CAAC,EAAE,gCAAgC,CAAC;gBAGnD,GAAG,CAAC,EAAE,iBAAiB;CAQ1B;AAED,eAAO,MAAM,4BAA4B,0CAuBvC,CAAC"}
1
+ {"version":3,"file":"server-status.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/server-status.control-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGnE,MAAM,WAAW,gCAAgC;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,4BAA4B,CAAC;CAC7C;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC,qFAAqF;IACrF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,WAAW,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,iBAAiB,CAAC,EAAE,gCAAgC,CAAC;gBAGnD,GAAG,CAAC,EAAE,iBAAiB;CAQ1B;AAED,eAAO,MAAM,4BAA4B,0CAuBvC,CAAC"}
@@ -20,8 +20,16 @@ class DyFM_ServerStatus extends metadata_data_model_1.DyFM_Metadata {
20
20
  clientVersionOk;
21
21
  latestClientVersion;
22
22
  latestClientVersionNumeric;
23
+ /** A BEDROCK (nts-dynamo) verziója — a teljes flottán AZONOS, NEM az app sajátja. */
23
24
  serverVersion;
24
25
  serverNumericVersion;
26
+ /**
27
+ * AZ APP saját verziója (`DyNTS_global_settings.systemVersion`), 2026-07-20.
28
+ * Deploy-verifikációhoz ez a helyes mező: a `serverVersion` a bedrock verzióját adja,
29
+ * ezért verzió-alapú deploy-ellenőrzésre alkalmatlan (a flottán mindenhol ugyanaz).
30
+ * Additív mező — a `serverVersion` szemantikája változatlan (nulla regresszió).
31
+ */
32
+ appVersion;
25
33
  uptime;
26
34
  serverMessage;
27
35
  memoryUsage;
@@ -1 +1 @@
1
- {"version":3,"file":"server-status.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/server-status.control-model.ts"],"names":[],"mappings":";;;AAAA,6BAA8C;AAE9C,4EAAmE;AAOnE;;;;;;;;;GASG;AACH,MAAa,iBAAkB,SAAQ,mCAAa;IAClD,MAAM,CAAW;IAEjB,UAAU,CAAU;IACpB,eAAe,CAAU;IAEzB,eAAe,CAAW;IAC1B,mBAAmB,CAAU;IAC7B,0BAA0B,CAAU;IAEpC,aAAa,CAAU;IACvB,oBAAoB,CAAU;IAE9B,MAAM,CAAU;IAEhB,aAAa,CAAU;IAEvB,WAAW,CAMT;IACF,QAAQ,CAGN;IACF,iBAAiB,CAAoC;IAErD,YACE,GAAuB;QAEvB,KAAK,CAAC,GAAG,CAAC,CAAC;QAEX,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AAvCD,8CAuCC;AAEY,QAAA,4BAA4B,GAAG,IAAI,yBAAqB,CAAoB;IACvF,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAE1B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAEnC,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,0BAA0B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAE9C,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAExC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAE1B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAEjC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACtC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"server-status.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/server-status.control-model.ts"],"names":[],"mappings":";;;AAAA,6BAA8C;AAE9C,4EAAmE;AAOnE;;;;;;;;;GASG;AACH,MAAa,iBAAkB,SAAQ,mCAAa;IAClD,MAAM,CAAW;IAEjB,UAAU,CAAU;IACpB,eAAe,CAAU;IAEzB,eAAe,CAAW;IAC1B,mBAAmB,CAAU;IAC7B,0BAA0B,CAAU;IAEpC,qFAAqF;IACrF,aAAa,CAAU;IACvB,oBAAoB,CAAU;IAE9B;;;;;OAKG;IACH,UAAU,CAAU;IAEpB,MAAM,CAAU;IAEhB,aAAa,CAAU;IAEvB,WAAW,CAMT;IACF,QAAQ,CAGN;IACF,iBAAiB,CAAoC;IAErD,YACE,GAAuB;QAEvB,KAAK,CAAC,GAAG,CAAC,CAAC;QAEX,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AAhDD,8CAgDC;AAEY,QAAA,4BAA4B,GAAG,IAAI,yBAAqB,CAAoB;IACvF,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAE1B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAEnC,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,0BAA0B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAE9C,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAExC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAE1B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAEjC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACtC;CACF,CAAC,CAAC"}
@@ -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;AAG7E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAgE9C,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 (translator): Opus 4.7+ reject `temperature`/`top_p`/`top_k` with 400
16
- * not modelled here, handled in the Anthropic call translator.
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;AAEvE,6DAA0D;AAE1D;;;;;;;;;;GAUG;AACU,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,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,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,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"}
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;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,EAmBhD,CAAC"}
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;;;;;;;;GAQG;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
+ {"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;AAG7E;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAmF9C,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;AAEvE,6DAA0D;AAE1D;;;;;;;;;GASG;AACU,QAAA,eAAe,GAAwB;IAClD;QACE,EAAE,EAAE,+BAAc,CAAC,gBAAgB;QACnC,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,OAAO;QACb,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,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,sBAAsB;QACzC,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,SAAS;QACjB,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,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,qBAAqB;QACxC,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,uBAAuB;QACpC,IAAI,EAAE,YAAY;QAClB,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,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,kBAAkB;QACrC,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,SAAS;QACtC,WAAW,EAAE,oBAAoB;QACjC,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE;YACZ,eAAe,EAAE,KAAK;YACtB,MAAM,EAAE,IAAI,EAAE,8CAA8C;YAC5D,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,KAAK;SACpB;KACF;CACF,CAAC"}
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;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAqC9C,CAAC"}
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;;;;;;;;;GASG;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
+ {"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;AAG7E;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,EA4O9C,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":"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"}
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;AAGvE,6DAA0D;AAE1D;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;GAQG;AACH,MAAM,sBAAsB,GAAgC;IAC1D,SAAS,EAAE,CAAE,WAAW,CAAE;IAC1B,WAAW,EAAE,CAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,CAAE;IAC7E,WAAW,EAAE,CAAE,iBAAiB,CAAE;IAClC,WAAW,EAAE;QACX,eAAe,EAAE;YACf,OAAO,EAAE,CAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAE;YACrD,IAAI,EAAE,oGAAoG;SAC3G;KACF;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,yBAAyB,GAAgC;IAC7D,SAAS,EAAE,CAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,CAAE;CACzF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,4BAA4B,GAAgC;IAChE,WAAW,EAAE,CAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,CAAE;IAC1F,WAAW,EAAE,CAAE,YAAY,CAAE;IAC7B,WAAW,EAAE;QACX,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,+EAA+E,EAAE;KAChI;CACF,CAAC;AAEF,wFAAwF;AACxF,MAAM,4BAA4B,GAAgC;IAChE,WAAW,EAAE,CAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,CAAE;IAC1F,WAAW,EAAE,CAAE,YAAY,CAAE;IAC7B,WAAW,EAAE;QACX,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,+EAA+E,EAAE;KAChI;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,kBAAkB,GAAgC;IACtD,WAAW,EAAE,CAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,CAAE;CAC3F,CAAC;AACW,QAAA,eAAe,GAAwB;IAClD,sCAAsC;IACtC;QACE,EAAE,EAAE,+BAAc,CAAC,KAAK;QACxB,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,UAAU;QAChB,cAAc,EAAE,sBAAsB;QACtC,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,IAAI;YACd,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,SAAS;QAC5B,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,KAAK;QACX,cAAc,EAAE,sBAAsB;QACtC,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,KAAK,EAAE,mCAAmC;YACrD,QAAQ,EAAE,IAAI;YACd,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,KAAK;QACxB,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,UAAU;QAChB,cAAc,EAAE,sBAAsB;QACtC,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,IAAI;YACd,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,UAAU;QAC7B,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,MAAM;QACZ,cAAc,EAAE,sBAAsB;QACtC,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,OAAO;QACtB,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,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,UAAU;QAC7B,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,MAAM;QACZ,cAAc,EAAE,sBAAsB;QACtC,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,OAAO;QACtB,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,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,MAAM;QACzB,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,KAAK;QACX,cAAc,EAAE,sBAAsB;QACtC,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,OAAO;QACtB,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK,EAAE,mCAAmC;YACrD,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB;KACF;IAED,yCAAyC;IACzC;QACE,EAAE,EAAE,+BAAc,CAAC,KAAK;QACxB,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE,yBAAyB;QACzC,MAAM,EAAE,YAAY;QACpB,WAAW,EAAE,+BAAc,CAAC,UAAU;QACtC,UAAU,EAAE,YAAY;QACxB,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,IAAI;YACd,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,UAAU;QAC7B,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE,yBAAyB;QACzC,MAAM,EAAE,YAAY;QACpB,WAAW,EAAE,+BAAc,CAAC,UAAU;QACtC,UAAU,EAAE,YAAY;QACxB,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,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB;KACF;IAED,gCAAgC;IAChC;QACE,EAAE,EAAE,+BAAc,CAAC,oBAAoB;QACvC,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,SAAS;QACtC,WAAW,EAAE,wBAAwB;QACrC,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,4BAA4B;QAC5C,aAAa,EAAE,KAAK;QACpB,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;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,oBAAoB;QACvC,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,SAAS;QACtC,WAAW,EAAE,wBAAwB;QACrC,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,4BAA4B;QAC5C,aAAa,EAAE,KAAK;QACpB,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;IAED,sCAAsC;IACtC;QACE,EAAE,EAAE,+BAAc,CAAC,UAAU;QAC7B,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,KAAK;QAClC,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,kBAAkB;QAClC,YAAY,EAAE;YACZ,eAAe,EAAE,KAAK;YACtB,MAAM,EAAE,IAAI,EAAE,kCAAkC;YAChD,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;YACrB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB;KACF;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/fsm-dynamo",
3
- "version": "01.16.18",
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",
@@ -277,7 +277,7 @@
277
277
  "uuid": "11.1.0"
278
278
  },
279
279
  "devDependencies": {
280
- "@futdevpro/dynamo-eslint": "1.15.20",
280
+ "@futdevpro/dynamo-eslint": "1.15.21",
281
281
  "@types/jasmine": "~4.3.5",
282
282
  "@typescript-eslint/eslint-plugin": "^8.41.0",
283
283
  "@typescript-eslint/parser": "^8.41.0",
@@ -27,9 +27,18 @@ export class DyFM_ServerStatus extends DyFM_Metadata {
27
27
  latestClientVersion?: string;
28
28
  latestClientVersionNumeric?: number;
29
29
 
30
+ /** A BEDROCK (nts-dynamo) verziója — a teljes flottán AZONOS, NEM az app sajátja. */
30
31
  serverVersion?: string;
31
32
  serverNumericVersion?: number;
32
33
 
34
+ /**
35
+ * AZ APP saját verziója (`DyNTS_global_settings.systemVersion`), 2026-07-20.
36
+ * Deploy-verifikációhoz ez a helyes mező: a `serverVersion` a bedrock verzióját adja,
37
+ * ezért verzió-alapú deploy-ellenőrzésre alkalmatlan (a flottán mindenhol ugyanaz).
38
+ * Additív mező — a `serverVersion` szemantikája változatlan (nulla regresszió).
39
+ */
40
+ appVersion?: string;
41
+
33
42
  uptime?: number;
34
43
 
35
44
  serverMessage?: string;
@@ -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 (translator): Opus 4.7+ reject `temperature`/`top_p`/`top_k` with 400
15
- * not modelled here, handled in the Anthropic call translator.
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