@aeye/ai 0.3.8 → 0.3.9
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/README.md +26 -0
- package/aeye-ai.md +219 -0
- package/dist/ai.d.ts +4 -4
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +8 -2
- package/dist/ai.js.map +1 -1
- package/dist/apis/base.d.ts +14 -0
- package/dist/apis/base.d.ts.map +1 -1
- package/dist/apis/base.js +34 -3
- package/dist/apis/base.js.map +1 -1
- package/dist/apis/chat.d.ts +15 -0
- package/dist/apis/chat.d.ts.map +1 -1
- package/dist/apis/chat.js +59 -0
- package/dist/apis/chat.js.map +1 -1
- package/dist/apis/schema-fallback.d.ts +36 -0
- package/dist/apis/schema-fallback.d.ts.map +1 -0
- package/dist/apis/schema-fallback.js +92 -0
- package/dist/apis/schema-fallback.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/registry.d.ts +38 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +87 -2
- package/dist/registry.js.map +1 -1
- package/dist/types.d.ts +25 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -3
package/dist/apis/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/apis/base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/apis/base.ts"],"names":[],"mappings":"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"}
|
package/dist/apis/chat.d.ts
CHANGED
|
@@ -48,6 +48,21 @@ export declare class ChatAPI<T extends AIBaseTypes> extends BaseAPI<T, Request,
|
|
|
48
48
|
constructor(ai: AI<T>);
|
|
49
49
|
protected getRequiredCapabilities(provided: ModelCapability[], request: Request, forStreaming: boolean): ModelCapability[];
|
|
50
50
|
protected getRequiredParameters(provided: ModelParameter[], request: Request, forStreaming: boolean): ModelParameter[];
|
|
51
|
+
/**
|
|
52
|
+
* Optional (preferred) capabilities. Adds `'toolsStrict'` when any tool
|
|
53
|
+
* is requesting strict at numeric priority (or default-omitted, which is
|
|
54
|
+
* treated as priority `1`). Hard `strict: true` is handled in the
|
|
55
|
+
* required path; `strict: false` adds nothing.
|
|
56
|
+
*
|
|
57
|
+
* Optional preferences score strict-tool-capable models higher without
|
|
58
|
+
* filtering anyone out, matching the best-effort philosophy.
|
|
59
|
+
*/
|
|
60
|
+
protected getOptionalCapabilities(provided: ModelCapability[], request: Request, forStreaming: boolean): ModelCapability[];
|
|
61
|
+
/**
|
|
62
|
+
* Optional (preferred) parameters. Same logic as
|
|
63
|
+
* `getOptionalCapabilities` but at the parameter level.
|
|
64
|
+
*/
|
|
65
|
+
protected getOptionalParameters(provided: ModelParameter[], request: Request, forStreaming: boolean): ModelParameter[];
|
|
51
66
|
protected getNoModelFoundError(): string;
|
|
52
67
|
protected getErrorType(operation: 'request' | 'stream'): string;
|
|
53
68
|
protected getErrorMessage(operation: 'request' | 'stream'): string;
|
package/dist/apis/chat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/apis/chat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAgD,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACpH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,OAAO,EACP,QAAQ,EACR,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/apis/chat.ts"],"names":[],"mappings":"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"}
|
package/dist/apis/chat.js
CHANGED
|
@@ -36,6 +36,20 @@
|
|
|
36
36
|
*/
|
|
37
37
|
import { getChunksFromResponse, getResponseFromChunks } from '@aeye/core';
|
|
38
38
|
import { BaseAPI } from './base';
|
|
39
|
+
import { applySchemaDeliveryFallback } from './schema-fallback';
|
|
40
|
+
/**
|
|
41
|
+
* Returns true when a `strict` field expresses a numeric (best-effort)
|
|
42
|
+
* preference rather than a hard `true` / `false`. Default-omitted (undefined)
|
|
43
|
+
* is treated as `1` per the v2 default policy in tool/prompt JSDoc, so it
|
|
44
|
+
* also counts as numeric preference here.
|
|
45
|
+
*/
|
|
46
|
+
function isNumericStrictPreference(strict) {
|
|
47
|
+
if (strict === undefined)
|
|
48
|
+
return true; // default 1
|
|
49
|
+
if (typeof strict === 'number')
|
|
50
|
+
return strict > 0;
|
|
51
|
+
return false; // true and false are non-preferences for this purpose
|
|
52
|
+
}
|
|
39
53
|
/**
|
|
40
54
|
* ChatAPI provides methods for chat completions with automatic model selection.
|
|
41
55
|
* Inherits get() and stream() methods from BaseAPI.
|
|
@@ -87,6 +101,15 @@ export class ChatAPI extends BaseAPI {
|
|
|
87
101
|
// Check if request uses tools
|
|
88
102
|
if (request.tools && request.tools.length > 0) {
|
|
89
103
|
capabilities.add('tools');
|
|
104
|
+
// Tri-state strict: any tool with `strict === true` is a HARD
|
|
105
|
+
// requirement that the chosen model support strict tools. Numeric
|
|
106
|
+
// priority is handled in `getOptionalCapabilities` (preference, not
|
|
107
|
+
// filter). Default-omitted strict (treated as `1` downstream) is
|
|
108
|
+
// *not* a hard requirement — selection still succeeds against
|
|
109
|
+
// models without strict-family declarations.
|
|
110
|
+
if (request.tools.some(t => t.strict === true)) {
|
|
111
|
+
capabilities.add('toolsStrict');
|
|
112
|
+
}
|
|
90
113
|
}
|
|
91
114
|
}
|
|
92
115
|
return Array.from(capabilities);
|
|
@@ -134,6 +157,36 @@ export class ChatAPI extends BaseAPI {
|
|
|
134
157
|
}
|
|
135
158
|
return Array.from(params);
|
|
136
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Optional (preferred) capabilities. Adds `'toolsStrict'` when any tool
|
|
162
|
+
* is requesting strict at numeric priority (or default-omitted, which is
|
|
163
|
+
* treated as priority `1`). Hard `strict: true` is handled in the
|
|
164
|
+
* required path; `strict: false` adds nothing.
|
|
165
|
+
*
|
|
166
|
+
* Optional preferences score strict-tool-capable models higher without
|
|
167
|
+
* filtering anyone out, matching the best-effort philosophy.
|
|
168
|
+
*/
|
|
169
|
+
getOptionalCapabilities(provided, request, forStreaming) {
|
|
170
|
+
const optional = new Set(provided);
|
|
171
|
+
if ((request.tools?.length ?? 0) > 0) {
|
|
172
|
+
const wantsStrictPreference = request.tools.some(t => isNumericStrictPreference(t.strict));
|
|
173
|
+
if (wantsStrictPreference) {
|
|
174
|
+
optional.add('toolsStrict');
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return Array.from(optional);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Optional (preferred) parameters. Same logic as
|
|
181
|
+
* `getOptionalCapabilities` but at the parameter level.
|
|
182
|
+
*/
|
|
183
|
+
getOptionalParameters(provided, request, forStreaming) {
|
|
184
|
+
const params = new Set(provided);
|
|
185
|
+
if (request.tools?.some(t => isNumericStrictPreference(t.strict))) {
|
|
186
|
+
params.add('toolsStrict');
|
|
187
|
+
}
|
|
188
|
+
return Array.from(params);
|
|
189
|
+
}
|
|
137
190
|
getNoModelFoundError() {
|
|
138
191
|
return 'No compatible model found for criteria';
|
|
139
192
|
}
|
|
@@ -150,6 +203,10 @@ export class ChatAPI extends BaseAPI {
|
|
|
150
203
|
if (!selected.provider.createExecutor) {
|
|
151
204
|
throw new Error(`Provider ${selected.provider.name} does not support chat requests`);
|
|
152
205
|
}
|
|
206
|
+
// Provider-agnostic schema-delivery fallback: if the selected model's
|
|
207
|
+
// dialect can't express the structured schema (or delivery is forced to
|
|
208
|
+
// prompt), drop `response_format` and deliver the schema as prompt text.
|
|
209
|
+
applySchemaDeliveryFallback(request, selected.model);
|
|
153
210
|
const executor = selected.provider.createExecutor(selected.providerConfig);
|
|
154
211
|
return await executor(request, ctx, ctx.metadata);
|
|
155
212
|
}
|
|
@@ -157,6 +214,8 @@ export class ChatAPI extends BaseAPI {
|
|
|
157
214
|
if (!selected.provider.createStreamer) {
|
|
158
215
|
throw new Error(`Provider ${selected.provider.name} does not support chat streaming`);
|
|
159
216
|
}
|
|
217
|
+
// Provider-agnostic schema-delivery fallback (see executeRequest).
|
|
218
|
+
applySchemaDeliveryFallback(request, selected.model);
|
|
160
219
|
const streamer = selected.provider.createStreamer(selected.providerConfig);
|
|
161
220
|
return yield* streamer(request, ctx, ctx.metadata);
|
|
162
221
|
}
|
package/dist/apis/chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/apis/chat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAA4C,MAAM,YAAY,CAAC;AAepH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/apis/chat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAA4C,MAAM,YAAY,CAAC;AAepH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,MAAoC;IACrE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,CAAC,YAAY;IACnD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,GAAG,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,CAAC,sDAAsD;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,OAA+B,SAAQ,OAKnD;IACC,YAAY,EAAS;QACnB,KAAK,CAAC,EAAE,CAAC,CAAC;IACZ,CAAC;IAED,+EAA+E;IAC/E,2CAA2C;IAC3C,+EAA+E;IAErE,uBAAuB,CAAC,QAA2B,EAAE,OAAgB,EAAE,YAAqB;QACpG,MAAM,YAAY,GAAG,IAAI,GAAG,CAAkB,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;QAErE,gEAAgE;QAChE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBAChD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,IAAI,QAAQ,EAAE,CAAC;gBACb,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;YAED,kCAAkC;YAClC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;YAED,uCAAuC;YACvC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;oBACtC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC;qBAAM,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;oBACtD,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YAED,8BAA8B;YAC9B,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAE1B,8DAA8D;gBAC9D,kEAAkE;gBAClE,oEAAoE;gBACpE,iEAAiE;gBACjE,8DAA8D;gBAC9D,6CAA6C;gBAC7C,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC;oBAC/C,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAES,qBAAqB,CAAC,QAA0B,EAAE,OAAgB,EAAE,YAAqB;QACjG,MAAM,MAAM,GAAG,IAAI,GAAG,CAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QAEtD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC7B,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;gBAC/C,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACpE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACpB,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;;OAQG;IACO,uBAAuB,CAAC,QAA2B,EAAE,OAAgB,EAAE,YAAqB;QACpG,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAkB,QAAQ,CAAC,CAAC;QAEpD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,qBAAqB,GAAG,OAAO,CAAC,KAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5F,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACO,qBAAqB,CAAC,QAA0B,EAAE,OAAgB,EAAE,YAAqB;QACjG,MAAM,MAAM,GAAG,IAAI,GAAG,CAAiB,QAAQ,CAAC,CAAC;QAEjD,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAClE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAES,oBAAoB;QAC5B,OAAO,wCAAwC,CAAC;IAClD,CAAC;IAES,YAAY,CAAC,SAA+B;QACpD,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAChF,CAAC;IAES,eAAe,CAAC,SAA+B;QACvD,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,uBAAuB,CAAC;IACnF,CAAC;IAES,oBAAoB,CAAC,OAAgB,EAAE,QAA6B;QAC5E,OAAO,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAES,KAAK,CAAC,cAAc,CAC5B,OAAgB,EAChB,QAA6B,EAC7B,GAAoB;QAEpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,QAAQ,CAAC,IAAI,iCAAiC,CAAC,CAAC;QACvF,CAAC;QAED,sEAAsE;QACtE,wEAAwE;QACxE,yEAAyE;QACzE,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC3E,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAES,KAAK,CAAC,CAAC,oBAAoB,CACnC,OAAgB,EAChB,QAA6B,EAC7B,GAAoB;QAEpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,QAAQ,CAAC,IAAI,kCAAkC,CAAC,CAAC;QACxF,CAAC;QAED,mEAAmE;QACnE,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC3E,OAAO,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAES,gBAAgB,CAAC,QAAkB,EAAE,KAA2B;QACxE,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAES,gBAAgB,CAAC,MAAe,EAAE,KAA2B;QACrE,OAAO,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAES,mBAAmB,CAC3B,OAA4B;QAE5B,OAAO,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC;IAC5B,CAAC;IAES,sBAAsB,CAC9B,OAA4B;QAE5B,OAAO,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC;IAC/B,CAAC;IAES,mBAAmB,CAAC,QAA6B;QACzD,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC5C,CAAC;IAES,mBAAmB,CAAC,QAA6B;QACzD,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC5C,CAAC;IAED;;;;;;;OAOG;IACH,cAAc;QAIZ,OAAO,KAAK,EACV,OAAgB,EAChB,GAAoB,EACpB,QAA2B,EAC3B,MAAoB,EACD,EAAE;YACrB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,cAAc;QAIZ,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,OAAO,KAAK,SAAS,CAAC,EACpB,OAAgB,EAChB,GAAoB,EACpB,QAA2B,EAC3B,MAAoB;YAEpB,MAAM,MAAM,GAAY,EAAE,CAAC;YAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBAChF,MAAM,KAAK,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YAED,OAAO,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Automatic schema-delivery fallback.
|
|
3
|
+
*
|
|
4
|
+
* Some models' structured-output endpoints can't express every JSON Schema:
|
|
5
|
+
* Gemini, for instance, rejects `anyOf`/`$defs` schemas with an HTTP 400. When
|
|
6
|
+
* a Prompt/Tool schema can't be expressed as structured output for the selected
|
|
7
|
+
* model's descriptor, this helper transparently DROPS the wire schema
|
|
8
|
+
* (`response_format`) and delivers the schema to the model as PROMPT TEXT
|
|
9
|
+
* instead — steering it to emit a raw JSON object that the Prompt's existing
|
|
10
|
+
* extract-and-`parse`/Zod path then validates.
|
|
11
|
+
*
|
|
12
|
+
* Provider-agnostic: called from the ai request-build (see `ChatAPI`) after the
|
|
13
|
+
* model is resolved, BEFORE any provider converts the request to its wire form.
|
|
14
|
+
* The descriptor is resolved from the model's dialect
|
|
15
|
+
* (`resolveStrictFormat` → `getDescriptor`), independent of whether the chosen
|
|
16
|
+
* provider bothers to emit that dialect strictly — because feasibility is a
|
|
17
|
+
* property of the target model, not our request encoder.
|
|
18
|
+
*/
|
|
19
|
+
import { type Request } from '@aeye/core';
|
|
20
|
+
import type { ModelInfo } from '../types';
|
|
21
|
+
/**
|
|
22
|
+
* Apply the automatic schema-delivery fallback to `request` in place.
|
|
23
|
+
*
|
|
24
|
+
* When the request carries a structured (schema-valued) `responseFormat` and
|
|
25
|
+
* either `schemaDelivery === 'prompt'` OR (`'auto'` AND the selected model's
|
|
26
|
+
* dialect can't express the schema), the wire schema is DROPPED
|
|
27
|
+
* (`request.responseFormat` cleared so no provider emits `response_format`) and
|
|
28
|
+
* the schema is appended to the messages as prompt text. `schemaDelivery ===
|
|
29
|
+
* 'structured'` forces structured output (no-op here). No-op for text/json
|
|
30
|
+
* response formats.
|
|
31
|
+
*
|
|
32
|
+
* Idempotent: dropping the wire schema makes the trigger condition false on
|
|
33
|
+
* subsequent calls, and the schema-text append is guarded per request object.
|
|
34
|
+
*/
|
|
35
|
+
export declare function applySchemaDeliveryFallback(request: Request, model: ModelInfo | undefined): void;
|
|
36
|
+
//# sourceMappingURL=schema-fallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-fallback.d.ts","sourceRoot":"","sources":["../../src/apis/schema-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAOL,KAAK,OAAO,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAmC1C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CA4BhG"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Automatic schema-delivery fallback.
|
|
3
|
+
*
|
|
4
|
+
* Some models' structured-output endpoints can't express every JSON Schema:
|
|
5
|
+
* Gemini, for instance, rejects `anyOf`/`$defs` schemas with an HTTP 400. When
|
|
6
|
+
* a Prompt/Tool schema can't be expressed as structured output for the selected
|
|
7
|
+
* model's descriptor, this helper transparently DROPS the wire schema
|
|
8
|
+
* (`response_format`) and delivers the schema to the model as PROMPT TEXT
|
|
9
|
+
* instead — steering it to emit a raw JSON object that the Prompt's existing
|
|
10
|
+
* extract-and-`parse`/Zod path then validates.
|
|
11
|
+
*
|
|
12
|
+
* Provider-agnostic: called from the ai request-build (see `ChatAPI`) after the
|
|
13
|
+
* model is resolved, BEFORE any provider converts the request to its wire form.
|
|
14
|
+
* The descriptor is resolved from the model's dialect
|
|
15
|
+
* (`resolveStrictFormat` → `getDescriptor`), independent of whether the chosen
|
|
16
|
+
* provider bothers to emit that dialect strictly — because feasibility is a
|
|
17
|
+
* property of the target model, not our request encoder.
|
|
18
|
+
*/
|
|
19
|
+
import { canExpress, getDescriptor, getJsonFallbackInstruction, LENIENT, toJSONSchema, } from '@aeye/core';
|
|
20
|
+
import { resolveStrictFormat } from '../registry';
|
|
21
|
+
/**
|
|
22
|
+
* Tracks requests whose schema text has already been appended, so a Prompt
|
|
23
|
+
* that re-issues the SAME request object across its retry / dynamic-resolve
|
|
24
|
+
* iterations doesn't accumulate duplicate schema blocks in the messages.
|
|
25
|
+
*/
|
|
26
|
+
const schemaTextAppended = new WeakSet();
|
|
27
|
+
/**
|
|
28
|
+
* Render a Zod schema as fenced JSON-Schema prompt text. Uses the LENIENT
|
|
29
|
+
* dialect so the model sees the true conceptual shape (unions as `anyOf`,
|
|
30
|
+
* open records, etc.) rather than a strict-mode rewrite it would then have to
|
|
31
|
+
* reproduce.
|
|
32
|
+
*/
|
|
33
|
+
function renderSchemaText(schema, instruction) {
|
|
34
|
+
const json = JSON.stringify(toJSONSchema(schema, LENIENT), null, 2);
|
|
35
|
+
return `\n\nThe response must be a JSON object conforming to this schema:\n\`\`\`json\n${json}\n\`\`\`\n\n${instruction}`;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Append schema `text` to the request's prompt. Prefers extending the first
|
|
39
|
+
* system message (keeps the schema inside the instructions, avoids trailing
|
|
40
|
+
* duplicate-role issues across providers); if there is no string-content
|
|
41
|
+
* system message, inserts one at the front.
|
|
42
|
+
*/
|
|
43
|
+
function appendSchemaText(request, text) {
|
|
44
|
+
const system = request.messages.find((m) => m.role === 'system');
|
|
45
|
+
if (system && typeof system.content === 'string') {
|
|
46
|
+
system.content = system.content + text;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
request.messages.unshift({ role: 'system', content: text.replace(/^\n+/, '') });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Apply the automatic schema-delivery fallback to `request` in place.
|
|
54
|
+
*
|
|
55
|
+
* When the request carries a structured (schema-valued) `responseFormat` and
|
|
56
|
+
* either `schemaDelivery === 'prompt'` OR (`'auto'` AND the selected model's
|
|
57
|
+
* dialect can't express the schema), the wire schema is DROPPED
|
|
58
|
+
* (`request.responseFormat` cleared so no provider emits `response_format`) and
|
|
59
|
+
* the schema is appended to the messages as prompt text. `schemaDelivery ===
|
|
60
|
+
* 'structured'` forces structured output (no-op here). No-op for text/json
|
|
61
|
+
* response formats.
|
|
62
|
+
*
|
|
63
|
+
* Idempotent: dropping the wire schema makes the trigger condition false on
|
|
64
|
+
* subsequent calls, and the schema-text append is guarded per request object.
|
|
65
|
+
*/
|
|
66
|
+
export function applySchemaDeliveryFallback(request, model) {
|
|
67
|
+
const rf = request.responseFormat;
|
|
68
|
+
if (!rf || typeof rf !== 'object')
|
|
69
|
+
return; // only structured schemas
|
|
70
|
+
const delivery = rf.schemaDelivery ?? 'auto';
|
|
71
|
+
if (delivery === 'structured')
|
|
72
|
+
return; // forced structured — leave as-is
|
|
73
|
+
// Resolve the descriptor for the TARGET MODEL's dialect. `resolveStrictFormat`
|
|
74
|
+
// returning undefined means an unknown dialect — assume it can express the
|
|
75
|
+
// schema (matches today's lenient behavior) unless delivery is forced.
|
|
76
|
+
const family = model ? resolveStrictFormat(model) : undefined;
|
|
77
|
+
const descriptor = family ? getDescriptor(family, true) : LENIENT;
|
|
78
|
+
const shouldFallback = delivery === 'prompt' || !canExpress(rf.type, descriptor);
|
|
79
|
+
if (!shouldFallback)
|
|
80
|
+
return;
|
|
81
|
+
const schema = rf.type;
|
|
82
|
+
// Drop the wire schema so NO provider sends `response_format` and the
|
|
83
|
+
// Prompt's parse path (which keeps its own `schema`) runs on the model's
|
|
84
|
+
// text JSON with no descriptor pinned (so `decodeWire` is correctly skipped).
|
|
85
|
+
request.responseFormat = undefined;
|
|
86
|
+
// Append the schema text exactly once per request object.
|
|
87
|
+
if (schemaTextAppended.has(request))
|
|
88
|
+
return;
|
|
89
|
+
schemaTextAppended.add(request);
|
|
90
|
+
appendSchemaText(request, renderSchemaText(schema, getJsonFallbackInstruction(descriptor)));
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=schema-fallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-fallback.js","sourceRoot":"","sources":["../../src/apis/schema-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EACL,UAAU,EACV,aAAa,EACb,0BAA0B,EAC1B,OAAO,EACP,YAAY,GAGb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAW,CAAC;AAElD;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,MAA0C,EAAE,WAAmB;IACvF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpE,OAAO,kFAAkF,IAAI,eAAe,WAAW,EAAE,CAAC;AAC5H,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,OAAgB,EAAE,IAAY;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC/E,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAgB,EAAE,KAA4B;IACxF,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAClC,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,CAAC,0BAA0B;IAErE,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,IAAI,MAAM,CAAC;IAC7C,IAAI,QAAQ,KAAK,YAAY;QAAE,OAAO,CAAC,kCAAkC;IAEzE,+EAA+E;IAC/E,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAElE,MAAM,cAAc,GAAG,QAAQ,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACjF,IAAI,CAAC,cAAc;QAAE,OAAO;IAE5B,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;IAEvB,sEAAsE;IACtE,yEAAyE;IACzE,8EAA8E;IAC9E,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAEnC,0DAA0D;IAC1D,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO;IAC5C,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAEhC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,EAAE,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
* Main export file for the class-based AI library.
|
|
5
5
|
*/
|
|
6
6
|
export * from './types';
|
|
7
|
+
export * from './common';
|
|
7
8
|
export * from './modelDetection';
|
|
8
9
|
export * from './ai';
|
|
9
10
|
export * from './registry';
|
|
10
11
|
export * from './apis/models';
|
|
11
12
|
export * from './apis/base';
|
|
12
13
|
export * from './apis/chat';
|
|
14
|
+
export * from './apis/schema-fallback';
|
|
13
15
|
export * from './apis/embed';
|
|
14
16
|
export * from './apis/image';
|
|
15
17
|
export * from './apis/speech';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,MAAM,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,MAAM,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
* Main export file for the class-based AI library.
|
|
5
5
|
*/
|
|
6
6
|
export * from './types';
|
|
7
|
+
export * from './common';
|
|
7
8
|
export * from './modelDetection';
|
|
8
9
|
export * from './ai';
|
|
9
10
|
export * from './registry';
|
|
10
11
|
export * from './apis/models';
|
|
11
12
|
export * from './apis/base';
|
|
12
13
|
export * from './apis/chat';
|
|
14
|
+
export * from './apis/schema-fallback';
|
|
13
15
|
export * from './apis/embed';
|
|
14
16
|
export * from './apis/image';
|
|
15
17
|
export * from './apis/speech';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,MAAM,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,MAAM,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -4,7 +4,31 @@
|
|
|
4
4
|
* Centralized model management with provider ordering and adapter registration.
|
|
5
5
|
* Provider order ensures deterministic model resolution: first provider to return a model ID wins.
|
|
6
6
|
*/
|
|
7
|
+
import { type DescriptorFamily, type FormatDescriptor } from '@aeye/core';
|
|
7
8
|
import type { AIBaseMetadata, ModelCapability, ModelHandler, ModelInfo, ModelOverride, ModelSelectionWeights, ModelSource, Provider, Providers, ScoredModel, SelectedModel } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* Resolve a model's strict-mode JSON-Schema dialect via three-step fallback:
|
|
11
|
+
*
|
|
12
|
+
* 1. Explicit `model.strictFormat` if it's a registered family
|
|
13
|
+
* (`'openai'` / `'anthropic'` / `'google'` ship by default; custom
|
|
14
|
+
* families registered via `registerDescriptor` in `@aeye/core` work
|
|
15
|
+
* here too). A literal `'none'` overrides the fallback chain and
|
|
16
|
+
* returns `undefined`.
|
|
17
|
+
* 2. `model.provider` if it matches a registered family (covers direct
|
|
18
|
+
* provider setups: `provider: 'openai'` → `'openai'`).
|
|
19
|
+
* 3. The `[family]/...` prefix of `model.id` (covers OpenRouter and
|
|
20
|
+
* similar routing layers: `id: 'openai/gpt-4o'` → `'openai'`).
|
|
21
|
+
*
|
|
22
|
+
* Returns `undefined` when none of the above apply — provider falls back
|
|
23
|
+
* to LENIENT silently. Used by registry `applyOverrides` to auto-derive
|
|
24
|
+
* the `'toolsStrict'` capability and by providers to pick a descriptor at
|
|
25
|
+
* request build time.
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolveStrictFormat(model: {
|
|
28
|
+
id: string;
|
|
29
|
+
provider: string;
|
|
30
|
+
strictFormat?: DescriptorFamily | 'none';
|
|
31
|
+
}): DescriptorFamily | undefined;
|
|
8
32
|
/**
|
|
9
33
|
* Determines which capabilities a provider supports based on its defined methods.
|
|
10
34
|
* Treats streaming and non-streaming methods as equivalent for capability detection.
|
|
@@ -125,6 +149,20 @@ export declare class ModelRegistry<TProviders extends Providers, TProviderKey ex
|
|
|
125
149
|
* @returns Set of capabilities the provider supports, or undefined if provider not found
|
|
126
150
|
*/
|
|
127
151
|
getProviderCapabilities(name: TProviderKey): Set<ModelCapability> | undefined;
|
|
152
|
+
/**
|
|
153
|
+
* Resolve the `FormatDescriptor` to use when sending a strict-flagged
|
|
154
|
+
* request to a given model.
|
|
155
|
+
*
|
|
156
|
+
* Returns `LENIENT` when the request is non-strict or when
|
|
157
|
+
* `resolveStrictFormat` can't determine a family for the model — strict
|
|
158
|
+
* is best-effort, the provider always gets *some* valid descriptor.
|
|
159
|
+
*
|
|
160
|
+
* Tools and structured output share the same dialect (per-model), so this
|
|
161
|
+
* helper takes no `kind` argument. Whether tools-strict or output-strict
|
|
162
|
+
* is actually engaged is gated by the `'toolsStrict'` and `'structured'`
|
|
163
|
+
* capabilities respectively, not by this helper.
|
|
164
|
+
*/
|
|
165
|
+
getStrictFormat(model: ModelInfo<TProviderKey>, requested: boolean): FormatDescriptor;
|
|
128
166
|
/**
|
|
129
167
|
* Check if a model is applicable given the criteria.
|
|
130
168
|
* Returns null if not applicable, or an object with matched capabilities if applicable.
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAyD,MAAM,YAAY,CAAC;AAEjI,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,WAAW,EACX,aAAa,EACd,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;CAC1C,GAAG,gBAAgB,GAAG,SAAS,CAa/B;AA0ND;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,CAiEhF;AAMD,qBAAa,aAAa,CACxB,UAAU,SAAS,SAAS,EAC5B,YAAY,SAAS,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,UAAU,GAAG,MAAM,EAC1E,SAAS,SAAS,UAAU,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC;IAGrE,OAAO,CAAC,MAAM,CAAmD;IACjE,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,oBAAoB,CAAsD;IAClF,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,2BAA2B,CAAS;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAwB;IAC/C,OAAO,CAAC,cAAc,CAAwC;gBAG5D,SAAS,EAAE,UAAU,EACrB,cAAc,GAAE,aAAa,EAAO,EACpC,2BAA2B,GAAE,MAAY,EACzC,YAAY,GAAE,WAAW,EAAO,EAChC,cAAc,CAAC,EAAE,qBAAqB,EACtC,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAM;IAmB5D;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI;IAI7C;;;;;;;;OAQG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI;IAqBnD;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI;IAMvD;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS;IAuBzD;;;;;OAKG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,EAAE;IAmB1D;;OAEG;IACH,UAAU,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE;IAIvC;;OAEG;IACH,cAAc,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE;IAgB3C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,EAAE;IA0F/E;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,SAAS;IAkDtG;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI;IAIjD;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIrE;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS;IAItD;;;;OAIG;IACH,uBAAuB,CAAC,IAAI,EAAE,YAAY,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,SAAS;IAI7E;;;;;;;;;;;;OAYG;IACH,eAAe,CACb,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAE,OAAO,GACjB,gBAAgB;IAOnB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAoGzB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IA2ClB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAwI9B;;OAEG;IACH,OAAO,CAAC,cAAc;IA+CtB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAiCtB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAqF/B"}
|
package/dist/registry.js
CHANGED
|
@@ -4,9 +4,48 @@
|
|
|
4
4
|
* Centralized model management with provider ordering and adapter registration.
|
|
5
5
|
* Provider order ensures deterministic model resolution: first provider to return a model ID wins.
|
|
6
6
|
*/
|
|
7
|
-
import { getModel } from '@aeye/core';
|
|
7
|
+
import { getDescriptor, getModel, hasDescriptorFamily, LENIENT } from '@aeye/core';
|
|
8
8
|
import { detectTier } from './modelDetection';
|
|
9
9
|
// ============================================================================
|
|
10
|
+
// Strict-format resolution
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Resolve a model's strict-mode JSON-Schema dialect via three-step fallback:
|
|
14
|
+
*
|
|
15
|
+
* 1. Explicit `model.strictFormat` if it's a registered family
|
|
16
|
+
* (`'openai'` / `'anthropic'` / `'google'` ship by default; custom
|
|
17
|
+
* families registered via `registerDescriptor` in `@aeye/core` work
|
|
18
|
+
* here too). A literal `'none'` overrides the fallback chain and
|
|
19
|
+
* returns `undefined`.
|
|
20
|
+
* 2. `model.provider` if it matches a registered family (covers direct
|
|
21
|
+
* provider setups: `provider: 'openai'` → `'openai'`).
|
|
22
|
+
* 3. The `[family]/...` prefix of `model.id` (covers OpenRouter and
|
|
23
|
+
* similar routing layers: `id: 'openai/gpt-4o'` → `'openai'`).
|
|
24
|
+
*
|
|
25
|
+
* Returns `undefined` when none of the above apply — provider falls back
|
|
26
|
+
* to LENIENT silently. Used by registry `applyOverrides` to auto-derive
|
|
27
|
+
* the `'toolsStrict'` capability and by providers to pick a descriptor at
|
|
28
|
+
* request build time.
|
|
29
|
+
*/
|
|
30
|
+
export function resolveStrictFormat(model) {
|
|
31
|
+
if (model.strictFormat === 'none')
|
|
32
|
+
return undefined;
|
|
33
|
+
if (model.strictFormat)
|
|
34
|
+
return model.strictFormat;
|
|
35
|
+
if (hasDescriptorFamily(model.provider))
|
|
36
|
+
return model.provider;
|
|
37
|
+
const slashIdx = model.id.indexOf('/');
|
|
38
|
+
if (slashIdx > 0) {
|
|
39
|
+
// OpenRouter marks floating "-latest" aliases with a leading `~`
|
|
40
|
+
// (e.g. `~anthropic/claude-sonnet-latest`). Strip it so the family
|
|
41
|
+
// prefix still resolves to the right descriptor.
|
|
42
|
+
const prefix = model.id.slice(0, slashIdx).replace(/^~/, '');
|
|
43
|
+
if (hasDescriptorFamily(prefix))
|
|
44
|
+
return prefix;
|
|
45
|
+
}
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
// ============================================================================
|
|
10
49
|
// Generic Constraint Helpers
|
|
11
50
|
// ============================================================================
|
|
12
51
|
/**
|
|
@@ -554,6 +593,27 @@ export class ModelRegistry {
|
|
|
554
593
|
getProviderCapabilities(name) {
|
|
555
594
|
return this.providerCapabilities.get(name);
|
|
556
595
|
}
|
|
596
|
+
/**
|
|
597
|
+
* Resolve the `FormatDescriptor` to use when sending a strict-flagged
|
|
598
|
+
* request to a given model.
|
|
599
|
+
*
|
|
600
|
+
* Returns `LENIENT` when the request is non-strict or when
|
|
601
|
+
* `resolveStrictFormat` can't determine a family for the model — strict
|
|
602
|
+
* is best-effort, the provider always gets *some* valid descriptor.
|
|
603
|
+
*
|
|
604
|
+
* Tools and structured output share the same dialect (per-model), so this
|
|
605
|
+
* helper takes no `kind` argument. Whether tools-strict or output-strict
|
|
606
|
+
* is actually engaged is gated by the `'toolsStrict'` and `'structured'`
|
|
607
|
+
* capabilities respectively, not by this helper.
|
|
608
|
+
*/
|
|
609
|
+
getStrictFormat(model, requested) {
|
|
610
|
+
if (!requested)
|
|
611
|
+
return LENIENT;
|
|
612
|
+
const family = resolveStrictFormat(model);
|
|
613
|
+
if (!family)
|
|
614
|
+
return LENIENT;
|
|
615
|
+
return getDescriptor(family, true);
|
|
616
|
+
}
|
|
557
617
|
/**
|
|
558
618
|
* Check if a model is applicable given the criteria.
|
|
559
619
|
* Returns null if not applicable, or an object with matched capabilities if applicable.
|
|
@@ -808,6 +868,24 @@ export class ModelRegistry {
|
|
|
808
868
|
metadata: { ...result.metadata, ...override.overrides.metadata },
|
|
809
869
|
};
|
|
810
870
|
}
|
|
871
|
+
// Capability is opt-IN, driven by the explicit `strictFormat` field —
|
|
872
|
+
// the curated table (or a scraper) lists models that ACTUALLY support
|
|
873
|
+
// strict. The fallback chain in `resolveStrictFormat` is only consulted
|
|
874
|
+
// at request-build time to pick the dialect, not to gate support.
|
|
875
|
+
//
|
|
876
|
+
// - `strictFormat: 'openai' | 'anthropic' | 'google'` adds 'toolsStrict'.
|
|
877
|
+
// - `strictFormat: 'none'` removes 'toolsStrict' if some upstream source
|
|
878
|
+
// (e.g. a scraper) had set it incorrectly.
|
|
879
|
+
// - `strictFormat: undefined` leaves capabilities untouched.
|
|
880
|
+
if (result.strictFormat === 'none') {
|
|
881
|
+
if (result.capabilities.has('toolsStrict')) {
|
|
882
|
+
result.capabilities = new Set(result.capabilities);
|
|
883
|
+
result.capabilities.delete('toolsStrict');
|
|
884
|
+
}
|
|
885
|
+
}
|
|
886
|
+
else if (result.strictFormat) {
|
|
887
|
+
result.capabilities = new Set([...result.capabilities, 'toolsStrict']);
|
|
888
|
+
}
|
|
811
889
|
return result;
|
|
812
890
|
}
|
|
813
891
|
/**
|
|
@@ -837,6 +915,9 @@ export class ModelRegistry {
|
|
|
837
915
|
maxOutputTokens: source.maxOutputTokens ?? base.maxOutputTokens,
|
|
838
916
|
metrics: mergedMetrics,
|
|
839
917
|
metadata: mergedMetadata,
|
|
918
|
+
supportedParameters: source.supportedParameters ?? base.supportedParameters,
|
|
919
|
+
tokenizer: source.tokenizer ?? base.tokenizer,
|
|
920
|
+
strictFormat: source.strictFormat ?? base.strictFormat,
|
|
840
921
|
};
|
|
841
922
|
}
|
|
842
923
|
/**
|
|
@@ -876,8 +957,12 @@ export class ModelRegistry {
|
|
|
876
957
|
for (const modelInfo of modelInfos) {
|
|
877
958
|
// Create key for looking up source info
|
|
878
959
|
const key = `${providerName}/${modelInfo.id}`;
|
|
879
|
-
// Create base model with defaults
|
|
960
|
+
// Create base model with defaults. Spread first so all fields the
|
|
961
|
+
// provider declared (including future-added ones like
|
|
962
|
+
// `strictFormat`, `supportedParameters`, `tokenizer`) reach the
|
|
963
|
+
// registry; then override with the canonical defaults below.
|
|
880
964
|
let fullModel = {
|
|
965
|
+
...modelInfo,
|
|
881
966
|
id: modelInfo.id,
|
|
882
967
|
provider: providerName,
|
|
883
968
|
name: modelInfo.name || modelInfo.id,
|