@futdevpro/fsm-dynamo 1.16.23 → 1.16.25
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/open-ai/_collections/oai-models.const.d.ts.map +1 -1
- package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.js +9 -4
- package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.js.map +1 -1
- package/package.json +1 -1
- package/scripts/_capture-out/ai-error-capture.json +111 -22
- package/scripts/ai-error-capture.js +18 -13
- package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +9 -4
|
@@ -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;AA0J7E,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAuP9C,CAAC"}
|
|
@@ -46,9 +46,10 @@ const OAI_SAMPLING_REJECTED = {
|
|
|
46
46
|
* Same shape as {@link OAI_SAMPLING_REJECTED}, but **NOT verified by live capture** — kept on the
|
|
47
47
|
* conservative (reject) assumption.
|
|
48
48
|
*
|
|
49
|
-
* Applies to `gpt-5.
|
|
50
|
-
* (
|
|
51
|
-
*
|
|
49
|
+
* Applies to `gpt-5.5-pro` and `o3-pro` only: the pro-tier models were deliberately NOT probed (cost).
|
|
50
|
+
* (`gpt-5.4` was here too, until the 2026-07-21 probe showed it ACCEPTS — see OAI_SAMPLING_ACCEPTED.
|
|
51
|
+
* The emerging pattern is a GENERATION boundary, not "reasoning vs not": the whole 5.4 line accepts,
|
|
52
|
+
* 5.5 rejects. That makes the pro-tier behaviour genuinely unpredictable from the family name alone.)
|
|
52
53
|
*
|
|
53
54
|
* **Risk direction, stated honestly:** if such a model actually ACCEPTS the params, the reconciler
|
|
54
55
|
* drops them silently → the caller's temperature is quietly ignored. That is the milder failure vs.
|
|
@@ -103,6 +104,10 @@ const OAI_CLASSIC_CHAT_SETTINGS = {
|
|
|
103
104
|
* **Live capture 2026-07-21:** `temperature` / `topP` / `frequencyPenalty` / `presencePenalty` each
|
|
104
105
|
* returned HTTP 200 with `reasoning_tokens: 0`. They therefore behave like classic chat models, NOT
|
|
105
106
|
* like the rejecting reasoning models — despite matching the `/^gpt-5/` pattern that FR-047 used.
|
|
107
|
+
*
|
|
108
|
+
* `gpt-5.4` (base) was probed separately on 2026-07-21 and ALSO accepts (HTTP 200). The pattern is
|
|
109
|
+
* therefore a **generation boundary**, not "reasoning vs not": the whole 5.4 line accepts, 5.5 rejects.
|
|
110
|
+
* That is precisely why per-model data beats a family-wide regex.
|
|
106
111
|
* Bounds are the documented OpenAI ranges (see {@link OAI_CLASSIC_CHAT_SETTINGS}).
|
|
107
112
|
*/
|
|
108
113
|
const OAI_SAMPLING_ACCEPTED = {
|
|
@@ -194,7 +199,7 @@ exports.DyFM_OAI_Models = [
|
|
|
194
199
|
modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat,
|
|
195
200
|
displayName: 'GPT-5.4',
|
|
196
201
|
tier: 'flagship',
|
|
197
|
-
settingsSchema:
|
|
202
|
+
settingsSchema: OAI_SAMPLING_ACCEPTED,
|
|
198
203
|
status: 'ga',
|
|
199
204
|
contextWindow: 1_000_000,
|
|
200
205
|
maxOutputTokens: 128_000,
|
|
@@ -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;AAGvE,6DAA0D;AAE1D;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,qBAAqB,GAAgC;IACzD,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
|
|
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;;;;;;;;;;;GAWG;AACH,MAAM,qBAAqB,GAAgC;IACzD,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;;;;;;;;;;;;;GAaG;AACH,MAAM,uBAAuB,GAAgC;IAC3D,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,IAAI,EAAE,uFAAuF;SAC9F;KACF;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAgC;IAC7D,SAAS,EAAE,CAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,CAAE;IACxF,WAAW,EAAE;QACX,WAAW,EAAE;YACX,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,8FAA8F;SACrG;QACD,IAAI,EAAE;YACJ,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,+GAA+G;SACtH;QACD,gBAAgB,EAAE;YAChB,GAAG,EAAE,CAAC,CAAC;YACP,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,0GAA0G;SACjH;QACD,eAAe,EAAE;YACf,GAAG,EAAE,CAAC,CAAC;YACP,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,0GAA0G;SACjH;KACF;CACF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,qBAAqB,GAAgC;IACzD,GAAG,yBAAyB;IAC5B,WAAW,EAAE,CAAE,iBAAiB,CAAE;CACnC,CAAC;AAEF;;;;;;;;;;GAUG;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,qBAAqB;QACrC,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,uBAAuB;QACvC,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,qBAAqB;QACrC,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,qBAAqB;QACrC,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,qBAAqB;QACrC,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,uBAAuB;QACvC,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.
|
|
3
|
+
"version": "01.16.25",
|
|
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",
|
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
"provider": "open-ai",
|
|
5
5
|
"model": "gpt-5.4-mini",
|
|
6
6
|
"intent": "reasoning + temperature",
|
|
7
|
+
"modality": "text",
|
|
8
|
+
"input": "hi",
|
|
9
|
+
"config": {
|
|
10
|
+
"temperature": 0.5
|
|
11
|
+
},
|
|
7
12
|
"httpStatus": 400,
|
|
8
13
|
"unexpectedSuccess": false,
|
|
9
14
|
"providerErrorBody": {
|
|
@@ -14,13 +19,18 @@
|
|
|
14
19
|
"code": null
|
|
15
20
|
}
|
|
16
21
|
},
|
|
17
|
-
"capturedAt": "2026-07-
|
|
22
|
+
"capturedAt": "2026-07-22T14:43:07.580Z"
|
|
18
23
|
},
|
|
19
24
|
{
|
|
20
25
|
"id": "oai-reasoning-top_p",
|
|
21
26
|
"provider": "open-ai",
|
|
22
27
|
"model": "gpt-5.4-mini",
|
|
23
28
|
"intent": "reasoning + top_p",
|
|
29
|
+
"modality": "text",
|
|
30
|
+
"input": "hi",
|
|
31
|
+
"config": {
|
|
32
|
+
"top_p": 0.5
|
|
33
|
+
},
|
|
24
34
|
"httpStatus": 400,
|
|
25
35
|
"unexpectedSuccess": false,
|
|
26
36
|
"providerErrorBody": {
|
|
@@ -31,13 +41,18 @@
|
|
|
31
41
|
"code": null
|
|
32
42
|
}
|
|
33
43
|
},
|
|
34
|
-
"capturedAt": "2026-07-
|
|
44
|
+
"capturedAt": "2026-07-22T14:43:08.623Z"
|
|
35
45
|
},
|
|
36
46
|
{
|
|
37
47
|
"id": "oai-reasoning-frequency_penalty",
|
|
38
48
|
"provider": "open-ai",
|
|
39
49
|
"model": "gpt-5.4-mini",
|
|
40
50
|
"intent": "reasoning + frequency_penalty",
|
|
51
|
+
"modality": "text",
|
|
52
|
+
"input": "hi",
|
|
53
|
+
"config": {
|
|
54
|
+
"frequency_penalty": 0.5
|
|
55
|
+
},
|
|
41
56
|
"httpStatus": 400,
|
|
42
57
|
"unexpectedSuccess": false,
|
|
43
58
|
"providerErrorBody": {
|
|
@@ -48,13 +63,18 @@
|
|
|
48
63
|
"code": null
|
|
49
64
|
}
|
|
50
65
|
},
|
|
51
|
-
"capturedAt": "2026-07-
|
|
66
|
+
"capturedAt": "2026-07-22T14:43:09.268Z"
|
|
52
67
|
},
|
|
53
68
|
{
|
|
54
69
|
"id": "oai-reasoning-presence_penalty",
|
|
55
70
|
"provider": "open-ai",
|
|
56
71
|
"model": "gpt-5.4-mini",
|
|
57
72
|
"intent": "reasoning + presence_penalty",
|
|
73
|
+
"modality": "text",
|
|
74
|
+
"input": "hi",
|
|
75
|
+
"config": {
|
|
76
|
+
"presence_penalty": 0.5
|
|
77
|
+
},
|
|
58
78
|
"httpStatus": 400,
|
|
59
79
|
"unexpectedSuccess": false,
|
|
60
80
|
"providerErrorBody": {
|
|
@@ -65,13 +85,18 @@
|
|
|
65
85
|
"code": null
|
|
66
86
|
}
|
|
67
87
|
},
|
|
68
|
-
"capturedAt": "2026-07-
|
|
88
|
+
"capturedAt": "2026-07-22T14:43:09.908Z"
|
|
69
89
|
},
|
|
70
90
|
{
|
|
71
91
|
"id": "oai-range-temperature-3",
|
|
72
92
|
"provider": "open-ai",
|
|
73
93
|
"model": "gpt-4o-mini",
|
|
74
94
|
"intent": "temperature 3 (max 2)",
|
|
95
|
+
"modality": "text",
|
|
96
|
+
"input": "hi",
|
|
97
|
+
"config": {
|
|
98
|
+
"temperature": 3
|
|
99
|
+
},
|
|
75
100
|
"httpStatus": 400,
|
|
76
101
|
"unexpectedSuccess": false,
|
|
77
102
|
"providerErrorBody": {
|
|
@@ -82,13 +107,18 @@
|
|
|
82
107
|
"code": "decimal_above_max_value"
|
|
83
108
|
}
|
|
84
109
|
},
|
|
85
|
-
"capturedAt": "2026-07-
|
|
110
|
+
"capturedAt": "2026-07-22T14:43:10.345Z"
|
|
86
111
|
},
|
|
87
112
|
{
|
|
88
113
|
"id": "oai-range-top_p-1.5",
|
|
89
114
|
"provider": "open-ai",
|
|
90
115
|
"model": "gpt-4o-mini",
|
|
91
116
|
"intent": "top_p 1.5 (max 1)",
|
|
117
|
+
"modality": "text",
|
|
118
|
+
"input": "hi",
|
|
119
|
+
"config": {
|
|
120
|
+
"topP": 1.5
|
|
121
|
+
},
|
|
92
122
|
"httpStatus": 400,
|
|
93
123
|
"unexpectedSuccess": false,
|
|
94
124
|
"providerErrorBody": {
|
|
@@ -99,13 +129,18 @@
|
|
|
99
129
|
"code": "decimal_above_max_value"
|
|
100
130
|
}
|
|
101
131
|
},
|
|
102
|
-
"capturedAt": "2026-07-
|
|
132
|
+
"capturedAt": "2026-07-22T14:43:10.778Z"
|
|
103
133
|
},
|
|
104
134
|
{
|
|
105
135
|
"id": "oai-range-frequency_penalty-5",
|
|
106
136
|
"provider": "open-ai",
|
|
107
137
|
"model": "gpt-4o-mini",
|
|
108
138
|
"intent": "frequency_penalty 5 (max 2)",
|
|
139
|
+
"modality": "text",
|
|
140
|
+
"input": "hi",
|
|
141
|
+
"config": {
|
|
142
|
+
"frequencyPenalty": 5
|
|
143
|
+
},
|
|
109
144
|
"httpStatus": 400,
|
|
110
145
|
"unexpectedSuccess": false,
|
|
111
146
|
"providerErrorBody": {
|
|
@@ -116,13 +151,16 @@
|
|
|
116
151
|
"code": "decimal_above_max_value"
|
|
117
152
|
}
|
|
118
153
|
},
|
|
119
|
-
"capturedAt": "2026-07-
|
|
154
|
+
"capturedAt": "2026-07-22T14:43:11.056Z"
|
|
120
155
|
},
|
|
121
156
|
{
|
|
122
157
|
"id": "oai-unknown-model",
|
|
123
158
|
"provider": "open-ai",
|
|
124
159
|
"model": "gpt-does-not-exist-xyz",
|
|
125
160
|
"intent": "ismeretlen modell",
|
|
161
|
+
"modality": "text",
|
|
162
|
+
"input": "hi",
|
|
163
|
+
"config": {},
|
|
126
164
|
"httpStatus": 404,
|
|
127
165
|
"unexpectedSuccess": false,
|
|
128
166
|
"providerErrorBody": {
|
|
@@ -133,13 +171,18 @@
|
|
|
133
171
|
"code": "model_not_found"
|
|
134
172
|
}
|
|
135
173
|
},
|
|
136
|
-
"capturedAt": "2026-07-
|
|
174
|
+
"capturedAt": "2026-07-22T14:43:11.254Z"
|
|
137
175
|
},
|
|
138
176
|
{
|
|
139
177
|
"id": "oai-emb-dimensions-5000",
|
|
140
178
|
"provider": "open-ai",
|
|
141
179
|
"model": "text-embedding-3-small",
|
|
142
180
|
"intent": "dimensions 5000 (max 1536)",
|
|
181
|
+
"modality": "embedding",
|
|
182
|
+
"input": "hi",
|
|
183
|
+
"config": {
|
|
184
|
+
"dimensions": 5000
|
|
185
|
+
},
|
|
143
186
|
"httpStatus": 400,
|
|
144
187
|
"unexpectedSuccess": false,
|
|
145
188
|
"providerErrorBody": {
|
|
@@ -150,25 +193,35 @@
|
|
|
150
193
|
"code": null
|
|
151
194
|
}
|
|
152
195
|
},
|
|
153
|
-
"capturedAt": "2026-07-
|
|
196
|
+
"capturedAt": "2026-07-22T14:43:12.230Z"
|
|
154
197
|
},
|
|
155
198
|
{
|
|
156
199
|
"id": "oai-emb-temperature",
|
|
157
200
|
"provider": "open-ai",
|
|
158
201
|
"model": "text-embedding-3-small",
|
|
159
202
|
"intent": "embedding + temperature (400 vagy ignoralas?)",
|
|
203
|
+
"modality": "embedding",
|
|
204
|
+
"input": "hi",
|
|
205
|
+
"config": {
|
|
206
|
+
"temperature": 0.5
|
|
207
|
+
},
|
|
160
208
|
"httpStatus": 200,
|
|
161
209
|
"unexpectedSuccess": true,
|
|
162
210
|
"providerErrorBody": {
|
|
163
211
|
"note": "ACCEPTED — a parameter megis ervenyes (felfedezes)"
|
|
164
212
|
},
|
|
165
|
-
"capturedAt": "2026-07-
|
|
213
|
+
"capturedAt": "2026-07-22T14:43:12.836Z"
|
|
166
214
|
},
|
|
167
215
|
{
|
|
168
216
|
"id": "aai-sonnet-temperature-1.5",
|
|
169
217
|
"provider": "anthropic",
|
|
170
218
|
"model": "claude-sonnet-4-6",
|
|
171
219
|
"intent": "temperature 1.5 (max 1.0)",
|
|
220
|
+
"modality": "text",
|
|
221
|
+
"input": "hi",
|
|
222
|
+
"config": {
|
|
223
|
+
"temperature": 1.5
|
|
224
|
+
},
|
|
172
225
|
"httpStatus": 400,
|
|
173
226
|
"unexpectedSuccess": false,
|
|
174
227
|
"providerErrorBody": {
|
|
@@ -177,15 +230,20 @@
|
|
|
177
230
|
"type": "invalid_request_error",
|
|
178
231
|
"message": "temperature: range: 0..1"
|
|
179
232
|
},
|
|
180
|
-
"request_id": "
|
|
233
|
+
"request_id": "req_011CdHGo7aeyfawRbTxee9oA"
|
|
181
234
|
},
|
|
182
|
-
"capturedAt": "2026-07-
|
|
235
|
+
"capturedAt": "2026-07-22T14:43:13.493Z"
|
|
183
236
|
},
|
|
184
237
|
{
|
|
185
238
|
"id": "aai-opus-temperature",
|
|
186
239
|
"provider": "anthropic",
|
|
187
240
|
"model": "claude-opus-4-8",
|
|
188
241
|
"intent": "Opus + temperature (FR-048 kiindulo eset)",
|
|
242
|
+
"modality": "text",
|
|
243
|
+
"input": "hi",
|
|
244
|
+
"config": {
|
|
245
|
+
"temperature": 0.5
|
|
246
|
+
},
|
|
189
247
|
"httpStatus": 400,
|
|
190
248
|
"unexpectedSuccess": false,
|
|
191
249
|
"providerErrorBody": {
|
|
@@ -194,27 +252,35 @@
|
|
|
194
252
|
"type": "invalid_request_error",
|
|
195
253
|
"message": "`temperature` is deprecated for this model."
|
|
196
254
|
},
|
|
197
|
-
"request_id": "
|
|
255
|
+
"request_id": "req_011CdHGo9kdD2NVBTFPkMgXs"
|
|
198
256
|
},
|
|
199
|
-
"capturedAt": "2026-07-
|
|
257
|
+
"capturedAt": "2026-07-22T14:43:13.881Z"
|
|
200
258
|
},
|
|
201
259
|
{
|
|
202
260
|
"id": "aai-haiku-top_k-negative",
|
|
203
261
|
"provider": "anthropic",
|
|
204
262
|
"model": "claude-haiku-4-5",
|
|
205
263
|
"intent": "top_k -1",
|
|
264
|
+
"modality": "text",
|
|
265
|
+
"input": "hi",
|
|
266
|
+
"config": {
|
|
267
|
+
"topK": -1
|
|
268
|
+
},
|
|
206
269
|
"httpStatus": 200,
|
|
207
270
|
"unexpectedSuccess": true,
|
|
208
271
|
"providerErrorBody": {
|
|
209
272
|
"note": "ACCEPTED — a parameter megis ervenyes (felfedezes)"
|
|
210
273
|
},
|
|
211
|
-
"capturedAt": "2026-07-
|
|
274
|
+
"capturedAt": "2026-07-22T14:43:14.642Z"
|
|
212
275
|
},
|
|
213
276
|
{
|
|
214
277
|
"id": "aai-unknown-model",
|
|
215
278
|
"provider": "anthropic",
|
|
216
279
|
"model": "claude-does-not-exist-xyz",
|
|
217
280
|
"intent": "ismeretlen modell",
|
|
281
|
+
"modality": "text",
|
|
282
|
+
"input": "hi",
|
|
283
|
+
"config": {},
|
|
218
284
|
"httpStatus": 404,
|
|
219
285
|
"unexpectedSuccess": false,
|
|
220
286
|
"providerErrorBody": {
|
|
@@ -223,15 +289,20 @@
|
|
|
223
289
|
"type": "not_found_error",
|
|
224
290
|
"message": "model: claude-does-not-exist-xyz"
|
|
225
291
|
},
|
|
226
|
-
"request_id": "
|
|
292
|
+
"request_id": "req_011CdHGoEQRATWS7pGsctzvi"
|
|
227
293
|
},
|
|
228
|
-
"capturedAt": "2026-07-
|
|
294
|
+
"capturedAt": "2026-07-22T14:43:14.877Z"
|
|
229
295
|
},
|
|
230
296
|
{
|
|
231
297
|
"id": "gai-range-temperature",
|
|
232
298
|
"provider": "google",
|
|
233
299
|
"model": "gemini-3.5-flash",
|
|
234
300
|
"intent": "temperature = 5 (hatar felderites)",
|
|
301
|
+
"modality": "text",
|
|
302
|
+
"input": "hi",
|
|
303
|
+
"config": {
|
|
304
|
+
"temperature": 5
|
|
305
|
+
},
|
|
235
306
|
"httpStatus": 400,
|
|
236
307
|
"unexpectedSuccess": false,
|
|
237
308
|
"providerErrorBody": {
|
|
@@ -241,13 +312,18 @@
|
|
|
241
312
|
"status": "INVALID_ARGUMENT"
|
|
242
313
|
}
|
|
243
314
|
},
|
|
244
|
-
"capturedAt": "2026-07-
|
|
315
|
+
"capturedAt": "2026-07-22T14:43:15.035Z"
|
|
245
316
|
},
|
|
246
317
|
{
|
|
247
318
|
"id": "gai-range-topP",
|
|
248
319
|
"provider": "google",
|
|
249
320
|
"model": "gemini-3.5-flash",
|
|
250
321
|
"intent": "topP = 1.5 (hatar felderites)",
|
|
322
|
+
"modality": "text",
|
|
323
|
+
"input": "hi",
|
|
324
|
+
"config": {
|
|
325
|
+
"topP": 1.5
|
|
326
|
+
},
|
|
251
327
|
"httpStatus": 400,
|
|
252
328
|
"unexpectedSuccess": false,
|
|
253
329
|
"providerErrorBody": {
|
|
@@ -257,13 +333,18 @@
|
|
|
257
333
|
"status": "INVALID_ARGUMENT"
|
|
258
334
|
}
|
|
259
335
|
},
|
|
260
|
-
"capturedAt": "2026-07-
|
|
336
|
+
"capturedAt": "2026-07-22T14:43:15.224Z"
|
|
261
337
|
},
|
|
262
338
|
{
|
|
263
339
|
"id": "gai-range-topK",
|
|
264
340
|
"provider": "google",
|
|
265
341
|
"model": "gemini-3.5-flash",
|
|
266
342
|
"intent": "topK = -1 (hatar felderites)",
|
|
343
|
+
"modality": "text",
|
|
344
|
+
"input": "hi",
|
|
345
|
+
"config": {
|
|
346
|
+
"topK": -1
|
|
347
|
+
},
|
|
267
348
|
"httpStatus": 400,
|
|
268
349
|
"unexpectedSuccess": false,
|
|
269
350
|
"providerErrorBody": {
|
|
@@ -273,13 +354,18 @@
|
|
|
273
354
|
"status": "INVALID_ARGUMENT"
|
|
274
355
|
}
|
|
275
356
|
},
|
|
276
|
-
"capturedAt": "2026-07-
|
|
357
|
+
"capturedAt": "2026-07-22T14:43:15.333Z"
|
|
277
358
|
},
|
|
278
359
|
{
|
|
279
360
|
"id": "gai-range-candidateCount",
|
|
280
361
|
"provider": "google",
|
|
281
362
|
"model": "gemini-3.5-flash",
|
|
282
363
|
"intent": "candidateCount = 99 (hatar felderites)",
|
|
364
|
+
"modality": "text",
|
|
365
|
+
"input": "hi",
|
|
366
|
+
"config": {
|
|
367
|
+
"candidateCount": 99
|
|
368
|
+
},
|
|
283
369
|
"httpStatus": 400,
|
|
284
370
|
"unexpectedSuccess": false,
|
|
285
371
|
"providerErrorBody": {
|
|
@@ -289,13 +375,16 @@
|
|
|
289
375
|
"status": "INVALID_ARGUMENT"
|
|
290
376
|
}
|
|
291
377
|
},
|
|
292
|
-
"capturedAt": "2026-07-
|
|
378
|
+
"capturedAt": "2026-07-22T14:43:15.528Z"
|
|
293
379
|
},
|
|
294
380
|
{
|
|
295
381
|
"id": "gai-unknown-model",
|
|
296
382
|
"provider": "google",
|
|
297
383
|
"model": "gemini-does-not-exist-xyz",
|
|
298
384
|
"intent": "ismeretlen modell",
|
|
385
|
+
"modality": "text",
|
|
386
|
+
"input": "hi",
|
|
387
|
+
"config": {},
|
|
299
388
|
"httpStatus": 404,
|
|
300
389
|
"unexpectedSuccess": false,
|
|
301
390
|
"providerErrorBody": {
|
|
@@ -305,6 +394,6 @@
|
|
|
305
394
|
"status": "NOT_FOUND"
|
|
306
395
|
}
|
|
307
396
|
},
|
|
308
|
-
"capturedAt": "2026-07-
|
|
397
|
+
"capturedAt": "2026-07-22T14:43:15.636Z"
|
|
309
398
|
}
|
|
310
399
|
]
|
|
@@ -74,6 +74,11 @@ async function runCase(c, env) {
|
|
|
74
74
|
provider: c.provider,
|
|
75
75
|
model: c.model,
|
|
76
76
|
intent: c.intent,
|
|
77
|
+
// A KERES is rogzul — enelkul a hibabol NEM lehet visszajatszhato fixture-t kepezni
|
|
78
|
+
// (a match-kulcs input+config-bol szuletik). Ez a mezo hianyzott az elso korben.
|
|
79
|
+
modality: c.fixtureModality || 'text',
|
|
80
|
+
input: c.fixtureInput,
|
|
81
|
+
config: c.fixtureConfig,
|
|
77
82
|
httpStatus: status,
|
|
78
83
|
unexpectedSuccess: unexpectedSuccess,
|
|
79
84
|
providerErrorBody: unexpectedSuccess ? { note: 'ACCEPTED — a parameter megis ervenyes (felfedezes)' } : parsed,
|
|
@@ -106,42 +111,42 @@ const CASES = [
|
|
|
106
111
|
// OpenAI — reasoning modell elutasitja a sampling-parametereket
|
|
107
112
|
...[ 'temperature', 'top_p', 'frequency_penalty', 'presence_penalty' ].map((p, i) => ({
|
|
108
113
|
id: `oai-reasoning-${p}`, provider: 'open-ai', model: 'gpt-5.4-mini', envKey: 'OPENAI_API_KEY',
|
|
109
|
-
intent: `reasoning + ${p}`, url: OAI_CHAT, headers: OAI_H, body: oaiChat('gpt-5.4-mini', { [p]: 0.5 }),
|
|
114
|
+
intent: `reasoning + ${p}`, url: OAI_CHAT, headers: OAI_H, body: oaiChat('gpt-5.4-mini', { [p]: 0.5 }), fixtureInput: 'hi', fixtureConfig: { [p]: 0.5 },
|
|
110
115
|
})),
|
|
111
116
|
// OpenAI — tartomanyon kivuli ertekek klasszikus modellen
|
|
112
117
|
{ id: 'oai-range-temperature-3', provider: 'open-ai', model: 'gpt-4o-mini', envKey: 'OPENAI_API_KEY',
|
|
113
|
-
intent: 'temperature 3 (max 2)', url: OAI_CHAT, headers: OAI_H, body: oaiChat('gpt-4o-mini', { temperature: 3 }) },
|
|
118
|
+
intent: 'temperature 3 (max 2)', url: OAI_CHAT, headers: OAI_H, body: oaiChat('gpt-4o-mini', { temperature: 3 }), fixtureInput: 'hi', fixtureConfig: { temperature: 3 } },
|
|
114
119
|
{ id: 'oai-range-top_p-1.5', provider: 'open-ai', model: 'gpt-4o-mini', envKey: 'OPENAI_API_KEY',
|
|
115
|
-
intent: 'top_p 1.5 (max 1)', url: OAI_CHAT, headers: OAI_H, body: oaiChat('gpt-4o-mini', { top_p: 1.5 }) },
|
|
120
|
+
intent: 'top_p 1.5 (max 1)', url: OAI_CHAT, headers: OAI_H, body: oaiChat('gpt-4o-mini', { top_p: 1.5 }), fixtureInput: 'hi', fixtureConfig: { topP: 1.5 } },
|
|
116
121
|
{ id: 'oai-range-frequency_penalty-5', provider: 'open-ai', model: 'gpt-4o-mini', envKey: 'OPENAI_API_KEY',
|
|
117
|
-
intent: 'frequency_penalty 5 (max 2)', url: OAI_CHAT, headers: OAI_H, body: oaiChat('gpt-4o-mini', { frequency_penalty: 5 }) },
|
|
122
|
+
intent: 'frequency_penalty 5 (max 2)', url: OAI_CHAT, headers: OAI_H, body: oaiChat('gpt-4o-mini', { frequency_penalty: 5 }), fixtureInput: 'hi', fixtureConfig: { frequencyPenalty: 5 } },
|
|
118
123
|
{ id: 'oai-unknown-model', provider: 'open-ai', model: 'gpt-does-not-exist-xyz', envKey: 'OPENAI_API_KEY',
|
|
119
|
-
intent: 'ismeretlen modell', url: OAI_CHAT, headers: OAI_H, body: oaiChat('gpt-does-not-exist-xyz', {}) },
|
|
124
|
+
intent: 'ismeretlen modell', url: OAI_CHAT, headers: OAI_H, body: oaiChat('gpt-does-not-exist-xyz', {}), fixtureInput: 'hi', fixtureConfig: {} },
|
|
120
125
|
// OpenAI — embedding
|
|
121
126
|
{ id: 'oai-emb-dimensions-5000', provider: 'open-ai', model: 'text-embedding-3-small', envKey: 'OPENAI_API_KEY',
|
|
122
127
|
intent: 'dimensions 5000 (max 1536)', url: OAI_EMB, headers: OAI_H,
|
|
123
|
-
body: { model: 'text-embedding-3-small', input: 'hi', dimensions: 5000 } },
|
|
128
|
+
body: { model: 'text-embedding-3-small', input: 'hi', dimensions: 5000 }, fixtureModality: 'embedding', fixtureInput: 'hi', fixtureConfig: { dimensions: 5000 } },
|
|
124
129
|
{ id: 'oai-emb-temperature', provider: 'open-ai', model: 'text-embedding-3-small', envKey: 'OPENAI_API_KEY',
|
|
125
130
|
intent: 'embedding + temperature (400 vagy ignoralas?)', url: OAI_EMB, headers: OAI_H,
|
|
126
|
-
body: { model: 'text-embedding-3-small', input: 'hi', temperature: 0.5 } },
|
|
131
|
+
body: { model: 'text-embedding-3-small', input: 'hi', temperature: 0.5 }, fixtureModality: 'embedding', fixtureInput: 'hi', fixtureConfig: { temperature: 0.5 } },
|
|
127
132
|
|
|
128
133
|
// Anthropic
|
|
129
134
|
{ id: 'aai-sonnet-temperature-1.5', provider: 'anthropic', model: 'claude-sonnet-4-6', envKey: 'ANTHROPIC_API_KEY',
|
|
130
|
-
intent: 'temperature 1.5 (max 1.0)', url: AAI_URL, headers: AAI_H, body: aaiMsg('claude-sonnet-4-6', { temperature: 1.5 }) },
|
|
135
|
+
intent: 'temperature 1.5 (max 1.0)', url: AAI_URL, headers: AAI_H, body: aaiMsg('claude-sonnet-4-6', { temperature: 1.5 }), fixtureInput: 'hi', fixtureConfig: { temperature: 1.5 } },
|
|
131
136
|
{ id: 'aai-opus-temperature', provider: 'anthropic', model: 'claude-opus-4-8', envKey: 'ANTHROPIC_API_KEY',
|
|
132
|
-
intent: 'Opus + temperature (FR-048 kiindulo eset)', url: AAI_URL, headers: AAI_H, body: aaiMsg('claude-opus-4-8', { temperature: 0.5 }) },
|
|
137
|
+
intent: 'Opus + temperature (FR-048 kiindulo eset)', url: AAI_URL, headers: AAI_H, body: aaiMsg('claude-opus-4-8', { temperature: 0.5 }), fixtureInput: 'hi', fixtureConfig: { temperature: 0.5 } },
|
|
133
138
|
{ id: 'aai-haiku-top_k-negative', provider: 'anthropic', model: 'claude-haiku-4-5', envKey: 'ANTHROPIC_API_KEY',
|
|
134
|
-
intent: 'top_k -1', url: AAI_URL, headers: AAI_H, body: aaiMsg('claude-haiku-4-5', { top_k: -1 }) },
|
|
139
|
+
intent: 'top_k -1', url: AAI_URL, headers: AAI_H, body: aaiMsg('claude-haiku-4-5', { top_k: -1 }), fixtureInput: 'hi', fixtureConfig: { topK: -1 } },
|
|
135
140
|
{ id: 'aai-unknown-model', provider: 'anthropic', model: 'claude-does-not-exist-xyz', envKey: 'ANTHROPIC_API_KEY',
|
|
136
|
-
intent: 'ismeretlen modell', url: AAI_URL, headers: AAI_H, body: aaiMsg('claude-does-not-exist-xyz', {}) },
|
|
141
|
+
intent: 'ismeretlen modell', url: AAI_URL, headers: AAI_H, body: aaiMsg('claude-does-not-exist-xyz', {}), fixtureInput: 'hi', fixtureConfig: {} },
|
|
137
142
|
|
|
138
143
|
// Google — a hibauzenet FELDERITI a dokumentalatlan hatarokat
|
|
139
144
|
...[ [ 'temperature', 5 ], [ 'topP', 1.5 ], [ 'topK', -1 ], [ 'candidateCount', 99 ] ].map(([ p, v ]) => ({
|
|
140
145
|
id: `gai-range-${p}`, provider: 'google', model: 'gemini-3.5-flash', envKey: 'GOOGLE_API_KEY',
|
|
141
|
-
intent: `${p} = ${v} (hatar felderites)`, url: GAI_URL('gemini-3.5-flash'), headers: GAI_H, body: gaiBody({ [p]: v }),
|
|
146
|
+
intent: `${p} = ${v} (hatar felderites)`, url: GAI_URL('gemini-3.5-flash'), headers: GAI_H, body: gaiBody({ [p]: v }), fixtureInput: 'hi', fixtureConfig: { [p]: v },
|
|
142
147
|
})),
|
|
143
148
|
{ id: 'gai-unknown-model', provider: 'google', model: 'gemini-does-not-exist-xyz', envKey: 'GOOGLE_API_KEY',
|
|
144
|
-
intent: 'ismeretlen modell', url: GAI_URL('gemini-does-not-exist-xyz'), headers: GAI_H, body: gaiBody({}) },
|
|
149
|
+
intent: 'ismeretlen modell', url: GAI_URL('gemini-does-not-exist-xyz'), headers: GAI_H, body: gaiBody({}), fixtureInput: 'hi', fixtureConfig: {} },
|
|
145
150
|
];
|
|
146
151
|
|
|
147
152
|
(async () => {
|
|
@@ -48,9 +48,10 @@ const OAI_SAMPLING_REJECTED: DyFM_AI_ModelSettingsSchema = {
|
|
|
48
48
|
* Same shape as {@link OAI_SAMPLING_REJECTED}, but **NOT verified by live capture** — kept on the
|
|
49
49
|
* conservative (reject) assumption.
|
|
50
50
|
*
|
|
51
|
-
* Applies to `gpt-5.
|
|
52
|
-
* (
|
|
53
|
-
*
|
|
51
|
+
* Applies to `gpt-5.5-pro` and `o3-pro` only: the pro-tier models were deliberately NOT probed (cost).
|
|
52
|
+
* (`gpt-5.4` was here too, until the 2026-07-21 probe showed it ACCEPTS — see OAI_SAMPLING_ACCEPTED.
|
|
53
|
+
* The emerging pattern is a GENERATION boundary, not "reasoning vs not": the whole 5.4 line accepts,
|
|
54
|
+
* 5.5 rejects. That makes the pro-tier behaviour genuinely unpredictable from the family name alone.)
|
|
54
55
|
*
|
|
55
56
|
* **Risk direction, stated honestly:** if such a model actually ACCEPTS the params, the reconciler
|
|
56
57
|
* drops them silently → the caller's temperature is quietly ignored. That is the milder failure vs.
|
|
@@ -107,6 +108,10 @@ const OAI_CLASSIC_CHAT_SETTINGS: DyFM_AI_ModelSettingsSchema = {
|
|
|
107
108
|
* **Live capture 2026-07-21:** `temperature` / `topP` / `frequencyPenalty` / `presencePenalty` each
|
|
108
109
|
* returned HTTP 200 with `reasoning_tokens: 0`. They therefore behave like classic chat models, NOT
|
|
109
110
|
* like the rejecting reasoning models — despite matching the `/^gpt-5/` pattern that FR-047 used.
|
|
111
|
+
*
|
|
112
|
+
* `gpt-5.4` (base) was probed separately on 2026-07-21 and ALSO accepts (HTTP 200). The pattern is
|
|
113
|
+
* therefore a **generation boundary**, not "reasoning vs not": the whole 5.4 line accepts, 5.5 rejects.
|
|
114
|
+
* That is precisely why per-model data beats a family-wide regex.
|
|
110
115
|
* Bounds are the documented OpenAI ranges (see {@link OAI_CLASSIC_CHAT_SETTINGS}).
|
|
111
116
|
*/
|
|
112
117
|
const OAI_SAMPLING_ACCEPTED: DyFM_AI_ModelSettingsSchema = {
|
|
@@ -201,7 +206,7 @@ export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [
|
|
|
201
206
|
modelType: DyFM_AI_ModelType.Chat,
|
|
202
207
|
displayName: 'GPT-5.4',
|
|
203
208
|
tier: 'flagship',
|
|
204
|
-
settingsSchema:
|
|
209
|
+
settingsSchema: OAI_SAMPLING_ACCEPTED,
|
|
205
210
|
status: 'ga',
|
|
206
211
|
contextWindow: 1_000_000,
|
|
207
212
|
maxOutputTokens: 128_000,
|