@aeye/ai 0.3.9 → 0.4.0
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 +79 -1
- package/dist/ai.d.ts +7 -1
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +50 -77
- package/dist/ai.js.map +1 -1
- package/dist/apis/batch.d.ts +74 -0
- package/dist/apis/batch.d.ts.map +1 -0
- package/dist/apis/batch.js +127 -0
- package/dist/apis/batch.js.map +1 -0
- package/dist/apis/chat.d.ts.map +1 -1
- package/dist/apis/chat.js +55 -35
- package/dist/apis/chat.js.map +1 -1
- package/dist/apis/decide.d.ts +33 -0
- package/dist/apis/decide.d.ts.map +1 -0
- package/dist/apis/decide.js +52 -0
- package/dist/apis/decide.js.map +1 -0
- package/dist/apis/embed.d.ts +4 -11
- package/dist/apis/embed.d.ts.map +1 -1
- package/dist/apis/embed.js +5 -32
- package/dist/apis/embed.js.map +1 -1
- package/dist/apis/get.d.ts +18 -0
- package/dist/apis/get.d.ts.map +1 -0
- package/dist/apis/get.js +30 -0
- package/dist/apis/get.js.map +1 -0
- package/dist/apis/image.d.ts +2 -2
- package/dist/apis/image.d.ts.map +1 -1
- package/dist/apis/image.js +45 -40
- package/dist/apis/image.js.map +1 -1
- package/dist/apis/rerank.d.ts +24 -0
- package/dist/apis/rerank.d.ts.map +1 -0
- package/dist/apis/rerank.js +40 -0
- package/dist/apis/rerank.js.map +1 -0
- package/dist/apis/schema-fallback.d.ts +9 -14
- package/dist/apis/schema-fallback.d.ts.map +1 -1
- package/dist/apis/schema-fallback.js +15 -64
- package/dist/apis/schema-fallback.js.map +1 -1
- package/dist/common.d.ts +20 -2
- package/dist/common.d.ts.map +1 -1
- package/dist/common.js +36 -0
- package/dist/common.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/registry.d.ts +30 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +61 -1
- package/dist/registry.js.map +1 -1
- package/dist/types.d.ts +177 -40
- package/dist/types.d.ts.map +1 -1
- package/package.json +67 -67
package/dist/apis/image.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/apis/image.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAgD,UAAU,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,KAAK,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/apis/image.ts"],"names":[],"mappings":"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"}
|
package/dist/apis/image.js
CHANGED
|
@@ -5,6 +5,47 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { getChunksFromResponse, getResponseFromChunks } from '@aeye/core';
|
|
7
7
|
import { BaseAPI } from './base';
|
|
8
|
+
/**
|
|
9
|
+
* Output tokens for one 1024×1024 image by quality, from OpenAI's published
|
|
10
|
+
* GPT Image table; newer models vary, so estimates scale these by area.
|
|
11
|
+
*/
|
|
12
|
+
const IMAGE_TOKENS = {
|
|
13
|
+
auto: 1056,
|
|
14
|
+
low: 272,
|
|
15
|
+
medium: 1056,
|
|
16
|
+
high: 4160,
|
|
17
|
+
xhigh: 4160,
|
|
18
|
+
max: 4160,
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Estimates the usage of producing images: prompt tokens, a rough count per
|
|
22
|
+
* input image, and one priced output per image — as output tokens for models
|
|
23
|
+
* priced per token, and by quality and size otherwise. Without a requested
|
|
24
|
+
* quality the model's first priced quality stands in, so the estimate hits a
|
|
25
|
+
* real price entry.
|
|
26
|
+
*
|
|
27
|
+
* @param request - The generation or edit request.
|
|
28
|
+
* @param model - The model producing the images.
|
|
29
|
+
* @param inputImages - How many images the request sends.
|
|
30
|
+
*/
|
|
31
|
+
function estimateImageUsage(request, model, inputImages) {
|
|
32
|
+
const [width, height] = (request.size || '1024x1024').split('x').map(Number);
|
|
33
|
+
const count = request.n || 1;
|
|
34
|
+
return {
|
|
35
|
+
text: { input: Math.ceil(request.prompt.length / 4) },
|
|
36
|
+
image: {
|
|
37
|
+
input: inputImages ? inputImages * 1000 : undefined,
|
|
38
|
+
tokens: model.pricing.image?.tokens
|
|
39
|
+
? Math.round(IMAGE_TOKENS[request.quality ?? 'auto'] * (width * height) / (1024 * 1024) * count)
|
|
40
|
+
: undefined,
|
|
41
|
+
output: [{
|
|
42
|
+
quality: request.quality ?? model.pricing.image?.output?.[0]?.quality ?? 'medium',
|
|
43
|
+
size: { width, height },
|
|
44
|
+
count,
|
|
45
|
+
}],
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
8
49
|
// ============================================================================
|
|
9
50
|
// Image Generate API
|
|
10
51
|
// ============================================================================
|
|
@@ -47,25 +88,8 @@ class ImageGenerateAPI extends BaseAPI {
|
|
|
47
88
|
? 'Image generation failed'
|
|
48
89
|
: 'Image generation streaming failed';
|
|
49
90
|
}
|
|
50
|
-
estimateRequestUsage(request) {
|
|
51
|
-
|
|
52
|
-
const [width, height] = (request.size || '1024x1024').split('x').map(Number);
|
|
53
|
-
const quality = request.quality || 'standard';
|
|
54
|
-
const count = request.n || 1;
|
|
55
|
-
// Prompt tokens (text input)
|
|
56
|
-
const promptTokens = Math.ceil(request.prompt.length / 4);
|
|
57
|
-
return {
|
|
58
|
-
text: {
|
|
59
|
-
input: promptTokens
|
|
60
|
-
},
|
|
61
|
-
image: {
|
|
62
|
-
output: [{
|
|
63
|
-
quality,
|
|
64
|
-
size: { width, height },
|
|
65
|
-
count
|
|
66
|
-
}]
|
|
67
|
-
}
|
|
68
|
-
};
|
|
91
|
+
estimateRequestUsage(request, selected) {
|
|
92
|
+
return estimateImageUsage(request, selected.model, 0);
|
|
69
93
|
}
|
|
70
94
|
async executeRequest(request, selected, ctx) {
|
|
71
95
|
return await selected.provider.generateImage(request, ctx, selected.providerConfig);
|
|
@@ -144,27 +168,8 @@ class ImageEditAPI extends BaseAPI {
|
|
|
144
168
|
? 'Image editing failed'
|
|
145
169
|
: 'Image editing streaming failed';
|
|
146
170
|
}
|
|
147
|
-
estimateRequestUsage(request) {
|
|
148
|
-
|
|
149
|
-
const [width, height] = (request.size || '1024x1024').split('x').map(Number);
|
|
150
|
-
const count = request.n || 1;
|
|
151
|
-
// Prompt tokens (text input)
|
|
152
|
-
const promptTokens = Math.ceil(request.prompt.length / 4);
|
|
153
|
-
// Estimate input image tokens (assuming standard quality)
|
|
154
|
-
const imageInputTokens = 1000; // Rough estimate for input image processing
|
|
155
|
-
return {
|
|
156
|
-
text: {
|
|
157
|
-
input: promptTokens
|
|
158
|
-
},
|
|
159
|
-
image: {
|
|
160
|
-
input: imageInputTokens,
|
|
161
|
-
output: [{
|
|
162
|
-
quality: 'standard',
|
|
163
|
-
size: { width, height },
|
|
164
|
-
count
|
|
165
|
-
}]
|
|
166
|
-
}
|
|
167
|
-
};
|
|
171
|
+
estimateRequestUsage(request, selected) {
|
|
172
|
+
return estimateImageUsage(request, selected.model, 1 + (request.references?.length ?? 0));
|
|
168
173
|
}
|
|
169
174
|
async executeRequest(request, selected, ctx) {
|
|
170
175
|
return await selected.provider.editImage(request, ctx, selected.providerConfig);
|
package/dist/apis/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/apis/image.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAc,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/apis/image.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAc,MAAM,YAAY,CAAC;AAsBtF,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC;;;GAGG;AACH,MAAM,YAAY,GAAiC;IACjD,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,GAAG,EAAE,IAAI;CACV,CAAC;AAEF;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAAC,OAA2B,EAAE,KAAgB,EAAE,WAAmB;IAC5F,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO;QACL,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;QACrD,KAAK,EAAE;YACL,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;YACnD,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM;gBACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;gBAChG,CAAC,CAAC,SAAS;YACb,MAAM,EAAE,CAAC;oBACP,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,QAAQ;oBACjF,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;oBACvB,KAAK;iBACN,CAAC;SACH;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,MAAM,gBAAwC,SAAQ,OAKrD;IACC,YAAY,EAAS;QACnB,KAAK,CAAC,EAAE,CAAC,CAAC;IACZ,CAAC;IAES,uBAAuB,CAAC,QAA2B,EAAE,OAAgC;QAC7F,OAAO,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;IAChC,CAAC;IAES,qBAAqB,CAAC,QAA0B,EAAE,OAA+B,EAAE,YAAqB;QAChH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAiB,QAAQ,CAAC,CAAC;QAEjD,IAAI,OAAO,CAAC,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,YAAY,IAAI,OAAO,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAES,oBAAoB;QAC5B,OAAO,gDAAgD,CAAC;IAC1D,CAAC;IAES,YAAY,CAAC,SAA+B;QACpD,OAAO,SAAS,KAAK,SAAS;YAC5B,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,gCAAgC,CAAC;IACvC,CAAC;IAES,eAAe,CAAC,SAA+B;QACvD,OAAO,SAAS,KAAK,SAAS;YAC5B,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,mCAAmC,CAAC;IAC1C,CAAC;IAES,oBAAoB,CAAC,OAA+B,EAAE,QAA6B;QAC3F,OAAO,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAES,KAAK,CAAC,cAAc,CAC5B,OAA+B,EAC/B,QAA6B,EAC7B,GAAiB;QAEjB,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,aAAc,CAC3C,OAAO,EACP,GAAG,EACH,QAAQ,CAAC,cAAc,CACxB,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,CAAC,oBAAoB,CACnC,OAA+B,EAC/B,QAA6B,EAC7B,GAAiB;QAEjB,OAAO,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAoB,CAClD,OAAO,EACP,GAAG,EACH,QAAQ,CAAC,cAAc,CACxB,CAAC;IACJ,CAAC;IAES,gBAAgB,CAAC,QAAiC;QAC1D,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnC,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC,CAAC,CAAC;IACN,CAAC;IAES,gBAAgB,CAAC,MAA8B,EAAE,KAA0B;QACnF,MAAM,MAAM,GAAG,MAAM;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;aACpB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAM,CAAC,CAAC;QAEtB,OAAO;YACL,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,KAAK,EAAE,KAAK;YACvD,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK;SACxC,CAAC;IACJ,CAAC;IAES,mBAAmB,CAC3B,OAA4B;QAE5B,OAAO,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC;IACrC,CAAC;IAES,sBAAsB,CAC9B,OAA4B;QAE5B,OAAO,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC;IACxC,CAAC;IAES,mBAAmB,CAAC,QAA6B;QACzD,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC3C,CAAC;IAES,mBAAmB,CAAC,QAA6B;QACzD,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACjD,CAAC;CACF;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,YAAoC,SAAQ,OAKjD;IACC,YAAY,EAAS;QACnB,KAAK,CAAC,EAAE,CAAC,CAAC;IACZ,CAAC;IAES,QAAQ,CAAC,OAAyB;QAC1C,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;IAES,uBAAuB,CAAC,QAA2B,EAAE,OAAyB,EAAE,YAAqB;QAC7G,OAAO,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;IAChC,CAAC;IAES,qBAAqB,CAAC,QAA0B,EAAE,OAAyB,EAAE,YAAqB;QAC1G,MAAM,MAAM,GAAG,IAAI,GAAG,CAAiB,QAAQ,CAAC,CAAC;QAEjD,IAAI,OAAO,CAAC,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,YAAY,IAAI,OAAO,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAES,oBAAoB;QAC5B,OAAO,6CAA6C,CAAC;IACvD,CAAC;IAES,YAAY,CAAC,SAA+B;QACpD,OAAO,SAAS,KAAK,SAAS;YAC5B,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,0BAA0B,CAAC;IACjC,CAAC;IAES,eAAe,CAAC,SAA+B;QACvD,OAAO,SAAS,KAAK,SAAS;YAC5B,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,gCAAgC,CAAC;IACvC,CAAC;IAES,oBAAoB,CAAC,OAAyB,EAAE,QAA6B;QACrF,OAAO,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAES,KAAK,CAAC,cAAc,CAC5B,OAAyB,EACzB,QAA6B,EAC7B,GAAiB;QAEjB,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,SAAU,CACvC,OAAO,EACP,GAAG,EACH,QAAQ,CAAC,cAAc,CACxB,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,CAAC,oBAAoB,CACnC,OAAyB,EACzB,QAA6B,EAC7B,GAAiB;QAEjB,OAAO,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAgB,CAC9C,OAAO,EACP,GAAG,EACH,QAAQ,CAAC,cAAc,CACxB,CAAC;IACJ,CAAC;IAES,gBAAgB,CAAC,QAAiC;QAC1D,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnC,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC,CAAC,CAAC;IACN,CAAC;IAES,gBAAgB,CAAC,MAA8B,EAAE,KAA0B;QACnF,MAAM,MAAM,GAAG,MAAM;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;aACpB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAM,CAAC,CAAC;QAEtB,OAAO;YACL,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,KAAK,EAAE,KAAK;YACvD,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK;SACxC,CAAC;IACJ,CAAC;IAES,mBAAmB,CAC3B,OAA4B;QAE5B,OAAO,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC;IACjC,CAAC;IAES,sBAAsB,CAC9B,OAA4B;QAE5B,OAAO,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;IACpC,CAAC;IAES,mBAAmB,CAAC,QAA6B;QACzD,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;IACvC,CAAC;IAES,mBAAmB,CAAC,QAA6B;QACzD,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC7C,CAAC;CACF;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,MAAM,eAAqD,SAAQ,OAKlE;IACC,YAAY,EAAS;QACnB,KAAK,CAAC,EAAE,CAAC,CAAC;IACZ,CAAC;IAES,uBAAuB,CAAC,QAA2B,EAAE,OAA4B,EAAE,YAAqB;QAChH,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC;IACzC,CAAC;IAES,qBAAqB,CAAC,QAA0B,EAAE,OAA4B,EAAE,YAAqB;QAC7G,MAAM,MAAM,GAAG,IAAI,GAAG,CAAiB,QAAQ,CAAC,CAAC;QAEjD,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;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAES,oBAAoB;QAC5B,OAAO,qDAAqD,CAAC;IAC/D,CAAC;IAES,YAAY,CAAC,SAA+B;QACpD,OAAO,SAAS,KAAK,SAAS;YAC5B,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,6BAA6B,CAAC;IACpC,CAAC;IAES,eAAe,CAAC,SAA+B;QACvD,OAAO,SAAS,KAAK,SAAS;YAC5B,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,iCAAiC,CAAC;IACxC,CAAC;IAES,gCAAgC;QACxC,OAAO,+DAA+D,CAAC;IACzE,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,OAA4B;QACvD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE;wBACzC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;4BAC9B,IAAI,EAAE,OAAgB;4BACtB,OAAO,EAAE,GAAG;yBACb,CAAC,CAAC;qBACJ;iBACF;aACF;YACD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC;IACJ,CAAC;IAES,oBAAoB,CAAC,OAA4B,EAAE,QAA6B;QACxF,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAES,KAAK,CAAC,cAAc,CAC5B,OAA4B,EAC5B,QAA6B,EAC7B,GAAiB;QAEjB,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC5E,OAAO,MAAM,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAES,KAAK,CAAC,CAAC,oBAAoB,CACnC,OAA4B,EAC5B,QAA6B,EAC7B,GAAiB;QAEjB,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC5E,OAAO,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAES,gBAAgB,CAAC,QAAkB;QAC3C,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAES,gBAAgB,CAAC,MAAe,EAAE,KAA0B;QACpE,OAAO,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAES,mBAAmB,CAC3B,OAA4B;QAE5B,OAAO,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC;IACpC,CAAC;IAES,sBAAsB,CAC9B,OAA4B;QAE5B,OAAO,SAAS,CAAC,CAAC,+CAA+C;IACnE,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;CACF;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAO,QAAQ;IACH,QAAQ,CAAsB;IAC9B,IAAI,CAAkB;IACtB,OAAO,CAAqB;IAE5C,YAAY,EAAS;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rerank API
|
|
3
|
+
*
|
|
4
|
+
* Orders documents by relevance to a query, typically the candidates a
|
|
5
|
+
* search or embedding lookup found.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const { results } = await ai.rerank.get({ query: 'capital of France', documents });
|
|
10
|
+
* const best = documents[results[0].index];
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
import type { AIBaseTypes, AIContext, ModelCapability, ModelHandlerFor, RerankRequest, RerankResponse, SelectedModelFor } from '../types';
|
|
14
|
+
import { GetAPI } from './get';
|
|
15
|
+
export declare class RerankAPI<T extends AIBaseTypes> extends GetAPI<T, RerankRequest, RerankResponse> {
|
|
16
|
+
protected getRequiredCapabilities(provided: ModelCapability[]): ModelCapability[];
|
|
17
|
+
protected getNoModelFoundError(): string;
|
|
18
|
+
protected getErrorType(): string;
|
|
19
|
+
protected getErrorMessage(): string;
|
|
20
|
+
protected executeRequest(request: RerankRequest, selected: SelectedModelFor<T>, ctx: AIContext<T>): Promise<RerankResponse>;
|
|
21
|
+
protected getHandlerGetMethod(handler?: ModelHandlerFor<T>): ((request: RerankRequest, ctx: AIContext<T>) => Promise<RerankResponse>) | undefined;
|
|
22
|
+
protected hasProviderExecutor(selected: SelectedModelFor<T>): boolean;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=rerank.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rerank.d.ts","sourceRoot":"","sources":["../../src/apis/rerank.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,eAAe,EACf,eAAe,EACf,aAAa,EACb,cAAc,EACd,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,qBAAa,SAAS,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC;IAC5F,SAAS,CAAC,uBAAuB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE;IAIjF,SAAS,CAAC,oBAAoB,IAAI,MAAM;IAIxC,SAAS,CAAC,YAAY,IAAI,MAAM;IAIhC,SAAS,CAAC,eAAe,IAAI,MAAM;IAInC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAO3H,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,SAAS;IAIjJ,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO;CAGtE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rerank API
|
|
3
|
+
*
|
|
4
|
+
* Orders documents by relevance to a query, typically the candidates a
|
|
5
|
+
* search or embedding lookup found.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const { results } = await ai.rerank.get({ query: 'capital of France', documents });
|
|
10
|
+
* const best = documents[results[0].index];
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
import { GetAPI } from './get';
|
|
14
|
+
export class RerankAPI extends GetAPI {
|
|
15
|
+
getRequiredCapabilities(provided) {
|
|
16
|
+
return ['rerank', ...provided];
|
|
17
|
+
}
|
|
18
|
+
getNoModelFoundError() {
|
|
19
|
+
return 'No compatible model found for reranking';
|
|
20
|
+
}
|
|
21
|
+
getErrorType() {
|
|
22
|
+
return 'rerank-failed';
|
|
23
|
+
}
|
|
24
|
+
getErrorMessage() {
|
|
25
|
+
return 'Reranking failed';
|
|
26
|
+
}
|
|
27
|
+
executeRequest(request, selected, ctx) {
|
|
28
|
+
if (!selected.provider.rerank) {
|
|
29
|
+
throw new Error(`Provider ${selected.provider.name} does not support reranking`);
|
|
30
|
+
}
|
|
31
|
+
return selected.provider.rerank(request, ctx, selected.providerConfig);
|
|
32
|
+
}
|
|
33
|
+
getHandlerGetMethod(handler) {
|
|
34
|
+
return handler?.rerank?.get;
|
|
35
|
+
}
|
|
36
|
+
hasProviderExecutor(selected) {
|
|
37
|
+
return !!selected.provider.rerank;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=rerank.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rerank.js","sourceRoot":"","sources":["../../src/apis/rerank.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,MAAM,OAAO,SAAiC,SAAQ,MAAwC;IAClF,uBAAuB,CAAC,QAA2B;QAC3D,OAAO,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC;IACjC,CAAC;IAES,oBAAoB;QAC5B,OAAO,yCAAyC,CAAC;IACnD,CAAC;IAES,YAAY;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAES,eAAe;QACvB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAES,cAAc,CAAC,OAAsB,EAAE,QAA6B,EAAE,GAAiB;QAC/F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,QAAQ,CAAC,IAAI,6BAA6B,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IACzE,CAAC;IAES,mBAAmB,CAAC,OAA4B;QACxD,OAAO,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC;IAC9B,CAAC;IAES,mBAAmB,CAAC,QAA6B;QACzD,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* model's descriptor, this helper transparently DROPS the wire schema
|
|
8
8
|
* (`response_format`) and delivers the schema to the model as PROMPT TEXT
|
|
9
9
|
* instead — steering it to emit a raw JSON object that the Prompt's existing
|
|
10
|
-
* extract-and-`parse`/Zod path then validates.
|
|
10
|
+
* extract-and-`parse`/Zod path then validates. A schema delivered as `json` or
|
|
11
|
+
* `prompt` goes the same way (see `deliverSchema`).
|
|
11
12
|
*
|
|
12
13
|
* Provider-agnostic: called from the ai request-build (see `ChatAPI`) after the
|
|
13
14
|
* model is resolved, BEFORE any provider converts the request to its wire form.
|
|
@@ -19,18 +20,12 @@
|
|
|
19
20
|
import { type Request } from '@aeye/core';
|
|
20
21
|
import type { ModelInfo } from '../types';
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
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.
|
|
23
|
+
* The request to send under its schema delivery. A structured schema goes
|
|
24
|
+
* into the prompt as text when its delivery is `'prompt'`, or `'auto'` and
|
|
25
|
+
* the selected model's dialect can't express it; as text plus JSON mode when
|
|
26
|
+
* its delivery is `'json'`. `'structured'` and expressible `'auto'` schemas
|
|
27
|
+
* stay on the wire. The request itself isn't changed, so a Prompt can send it
|
|
28
|
+
* again under another delivery.
|
|
34
29
|
*/
|
|
35
|
-
export declare function applySchemaDeliveryFallback(request: Request, model: ModelInfo | undefined):
|
|
30
|
+
export declare function applySchemaDeliveryFallback(request: Request, model: ModelInfo | undefined): Request;
|
|
36
31
|
//# sourceMappingURL=schema-fallback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-fallback.d.ts","sourceRoot":"","sources":["../../src/apis/schema-fallback.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema-fallback.d.ts","sourceRoot":"","sources":["../../src/apis/schema-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAKL,KAAK,OAAO,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAcnG"}
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* model's descriptor, this helper transparently DROPS the wire schema
|
|
8
8
|
* (`response_format`) and delivers the schema to the model as PROMPT TEXT
|
|
9
9
|
* instead — steering it to emit a raw JSON object that the Prompt's existing
|
|
10
|
-
* extract-and-`parse`/Zod path then validates.
|
|
10
|
+
* extract-and-`parse`/Zod path then validates. A schema delivered as `json` or
|
|
11
|
+
* `prompt` goes the same way (see `deliverSchema`).
|
|
11
12
|
*
|
|
12
13
|
* Provider-agnostic: called from the ai request-build (see `ChatAPI`) after the
|
|
13
14
|
* model is resolved, BEFORE any provider converts the request to its wire form.
|
|
@@ -16,77 +17,27 @@
|
|
|
16
17
|
* provider bothers to emit that dialect strictly — because feasibility is a
|
|
17
18
|
* property of the target model, not our request encoder.
|
|
18
19
|
*/
|
|
19
|
-
import { canExpress,
|
|
20
|
+
import { canExpress, deliverSchema, getDescriptor, LENIENT, } from '@aeye/core';
|
|
20
21
|
import { resolveStrictFormat } from '../registry';
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
|
|
26
|
-
|
|
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.
|
|
23
|
+
* The request to send under its schema delivery. A structured schema goes
|
|
24
|
+
* into the prompt as text when its delivery is `'prompt'`, or `'auto'` and
|
|
25
|
+
* the selected model's dialect can't express it; as text plus JSON mode when
|
|
26
|
+
* its delivery is `'json'`. `'structured'` and expressible `'auto'` schemas
|
|
27
|
+
* stay on the wire. The request itself isn't changed, so a Prompt can send it
|
|
28
|
+
* again under another delivery.
|
|
65
29
|
*/
|
|
66
30
|
export function applySchemaDeliveryFallback(request, model) {
|
|
67
|
-
const
|
|
68
|
-
if (
|
|
69
|
-
return;
|
|
70
|
-
|
|
71
|
-
if (delivery === 'structured')
|
|
72
|
-
return; // forced structured — leave as-is
|
|
31
|
+
const format = request.responseFormat;
|
|
32
|
+
if (typeof format !== 'object') {
|
|
33
|
+
return request;
|
|
34
|
+
}
|
|
73
35
|
// Resolve the descriptor for the TARGET MODEL's dialect. `resolveStrictFormat`
|
|
74
36
|
// returning undefined means an unknown dialect — assume it can express the
|
|
75
37
|
// schema (matches today's lenient behavior) unless delivery is forced.
|
|
76
38
|
const family = model ? resolveStrictFormat(model) : undefined;
|
|
77
39
|
const descriptor = family ? getDescriptor(family, true) : LENIENT;
|
|
78
|
-
const
|
|
79
|
-
|
|
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)));
|
|
40
|
+
const inexpressible = (format.schemaDelivery ?? 'auto') === 'auto' && !canExpress(format.type, descriptor);
|
|
41
|
+
return deliverSchema(request, descriptor, inexpressible ? 'prompt' : undefined);
|
|
91
42
|
}
|
|
92
43
|
//# sourceMappingURL=schema-fallback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-fallback.js","sourceRoot":"","sources":["../../src/apis/schema-fallback.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema-fallback.js","sourceRoot":"","sources":["../../src/apis/schema-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,OAAO,GAER,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAgB,EAAE,KAA4B;IACxF,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IACtC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,+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;IAClE,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE3G,OAAO,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAClF,CAAC"}
|
package/dist/common.d.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
import { ModelInput } from "@aeye/core";
|
|
2
|
-
import { ModelInfo } from "./types";
|
|
1
|
+
import { MessageContentType, ModelInput, OutputModality, ReasoningEffort } from "@aeye/core";
|
|
2
|
+
import { ModelCapability, ModelInfo } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* The capability a model needs to read each kind of message content.
|
|
5
|
+
*/
|
|
6
|
+
export declare const INPUT_CAPABILITIES: Partial<Record<MessageContentType, ModelCapability>>;
|
|
7
|
+
/**
|
|
8
|
+
* The capability a chat model needs to produce each output modality beyond text.
|
|
9
|
+
*/
|
|
10
|
+
export declare const OUTPUT_CAPABILITIES: Partial<Record<OutputModality, ModelCapability>>;
|
|
3
11
|
/**
|
|
4
12
|
* Type guard to check if a ModelInput is a ModelInfo object.
|
|
5
13
|
*
|
|
@@ -7,4 +15,14 @@ import { ModelInfo } from "./types";
|
|
|
7
15
|
* @returns True if the input is a ModelInfo object, false otherwise.
|
|
8
16
|
*/
|
|
9
17
|
export declare function isModelInfo<TProvider extends string = string>(input: ModelInput): input is ModelInfo<TProvider>;
|
|
18
|
+
/**
|
|
19
|
+
* The accepted reasoning effort closest to the one asked for, preferring the
|
|
20
|
+
* lower on a tie, and `none` only when asked for or alone accepted. Returns
|
|
21
|
+
* the effort unchanged when acceptance is unknown.
|
|
22
|
+
*
|
|
23
|
+
* @param effort - The effort asked for.
|
|
24
|
+
* @param accepted - The efforts the model accepts, lowest to highest.
|
|
25
|
+
* @returns The effort to send.
|
|
26
|
+
*/
|
|
27
|
+
export declare function clampReasoningEffort(effort: ReasoningEffort, accepted?: readonly ReasoningEffort[]): ReasoningEffort;
|
|
10
28
|
//# sourceMappingURL=common.d.ts.map
|
package/dist/common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAqB,eAAe,EAAE,MAAM,YAAY,CAAC;AAChH,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAKnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,CAGhF,CAAC;AAEF;;;;;EAKE;AACF,wBAAgB,WAAW,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,IAAI,SAAS,CAAC,SAAS,CAAC,CAS/G;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,SAAS,eAAe,EAAE,GAAG,eAAe,CASpH"}
|
package/dist/common.js
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
import { REASONING_EFFORTS } from "@aeye/core";
|
|
2
|
+
/**
|
|
3
|
+
* The capability a model needs to read each kind of message content.
|
|
4
|
+
*/
|
|
5
|
+
export const INPUT_CAPABILITIES = {
|
|
6
|
+
image: 'vision',
|
|
7
|
+
file: 'files',
|
|
8
|
+
audio: 'hearing',
|
|
9
|
+
video: 'videoInput',
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* The capability a chat model needs to produce each output modality beyond text.
|
|
13
|
+
*/
|
|
14
|
+
export const OUTPUT_CAPABILITIES = {
|
|
15
|
+
image: 'image',
|
|
16
|
+
audio: 'audio',
|
|
17
|
+
};
|
|
1
18
|
/**
|
|
2
19
|
* Type guard to check if a ModelInput is a ModelInfo object.
|
|
3
20
|
*
|
|
@@ -14,4 +31,23 @@ export function isModelInfo(input) {
|
|
|
14
31
|
&& ('pricing' in input)
|
|
15
32
|
&& ('contextWindow' in input);
|
|
16
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* The accepted reasoning effort closest to the one asked for, preferring the
|
|
36
|
+
* lower on a tie, and `none` only when asked for or alone accepted. Returns
|
|
37
|
+
* the effort unchanged when acceptance is unknown.
|
|
38
|
+
*
|
|
39
|
+
* @param effort - The effort asked for.
|
|
40
|
+
* @param accepted - The efforts the model accepts, lowest to highest.
|
|
41
|
+
* @returns The effort to send.
|
|
42
|
+
*/
|
|
43
|
+
export function clampReasoningEffort(effort, accepted) {
|
|
44
|
+
if (!accepted?.length || accepted.includes(effort)) {
|
|
45
|
+
return effort;
|
|
46
|
+
}
|
|
47
|
+
// Reasoning asked for stays on
|
|
48
|
+
const reasoning = accepted.filter(e => e !== 'none');
|
|
49
|
+
const candidates = effort === 'none' || !reasoning.length ? accepted : reasoning;
|
|
50
|
+
const distance = (e) => Math.abs(REASONING_EFFORTS.indexOf(e) - REASONING_EFFORTS.indexOf(effort));
|
|
51
|
+
return candidates.reduce((best, e) => distance(e) < distance(best) ? e : best);
|
|
52
|
+
}
|
|
17
53
|
//# sourceMappingURL=common.js.map
|
package/dist/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,iBAAiB,EAAmB,MAAM,YAAY,CAAC;AAGhH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAyD;IACtF,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,YAAY;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAqD;IACnF,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACf,CAAC;AAEF;;;;;EAKE;AACF,MAAM,UAAU,WAAW,CAAoC,KAAiB;IAC9E,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,CAAC,IAAI,IAAI,KAAK,CAAC;WACf,CAAC,UAAU,IAAI,KAAK,CAAC;WACrB,CAAC,MAAM,IAAI,KAAK,CAAC;WACjB,CAAC,cAAc,IAAI,KAAK,CAAC;WACzB,CAAC,MAAM,IAAI,KAAK,CAAC;WACjB,CAAC,SAAS,IAAI,KAAK,CAAC;WACpB,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAuB,EAAE,QAAqC;IACjG,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,+BAA+B;IAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,MAAM,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,MAAM,QAAQ,GAAG,CAAC,CAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACpH,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,9 +10,13 @@ export * from './ai';
|
|
|
10
10
|
export * from './registry';
|
|
11
11
|
export * from './apis/models';
|
|
12
12
|
export * from './apis/base';
|
|
13
|
+
export * from './apis/batch';
|
|
13
14
|
export * from './apis/chat';
|
|
14
15
|
export * from './apis/schema-fallback';
|
|
15
16
|
export * from './apis/embed';
|
|
17
|
+
export * from './apis/get';
|
|
18
|
+
export * from './apis/rerank';
|
|
19
|
+
export * from './apis/decide';
|
|
16
20
|
export * from './apis/image';
|
|
17
21
|
export * from './apis/speech';
|
|
18
22
|
export * from './apis/transcribe';
|
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,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"}
|
|
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,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -10,9 +10,13 @@ export * from './ai';
|
|
|
10
10
|
export * from './registry';
|
|
11
11
|
export * from './apis/models';
|
|
12
12
|
export * from './apis/base';
|
|
13
|
+
export * from './apis/batch';
|
|
13
14
|
export * from './apis/chat';
|
|
14
15
|
export * from './apis/schema-fallback';
|
|
15
16
|
export * from './apis/embed';
|
|
17
|
+
export * from './apis/get';
|
|
18
|
+
export * from './apis/rerank';
|
|
19
|
+
export * from './apis/decide';
|
|
16
20
|
export * from './apis/image';
|
|
17
21
|
export * from './apis/speech';
|
|
18
22
|
export * from './apis/transcribe';
|
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,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"}
|
|
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,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
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
|
+
import { type DescriptorFamily, type FormatDescriptor, SchemaBudget, type ToolDefinition } from '@aeye/core';
|
|
8
8
|
import type { AIBaseMetadata, ModelCapability, ModelHandler, ModelInfo, ModelOverride, ModelSelectionWeights, ModelSource, Provider, Providers, ScoredModel, SelectedModel } from './types';
|
|
9
9
|
/**
|
|
10
10
|
* Resolve a model's strict-mode JSON-Schema dialect via three-step fallback:
|
|
@@ -29,6 +29,35 @@ export declare function resolveStrictFormat(model: {
|
|
|
29
29
|
provider: string;
|
|
30
30
|
strictFormat?: DescriptorFamily | 'none';
|
|
31
31
|
}): DescriptorFamily | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Build a SchemaBudget over the model's tool and structured-output dialects.
|
|
34
|
+
* Anthropic-style per-request limits apply across BOTH tool schemas and the
|
|
35
|
+
* output schema, so a provider shares one budget between them, but each kind
|
|
36
|
+
* keeps its own descriptor: a model with strict output and no strict tools
|
|
37
|
+
* must not send `strict: true` tools.
|
|
38
|
+
*
|
|
39
|
+
* Strict mode engages only when the model's resolved family is one the
|
|
40
|
+
* provider speaks (`families`) AND the model has the corresponding capability
|
|
41
|
+
* (`'toolsStrict'` for tools, `'structured'` for output). Otherwise the
|
|
42
|
+
* family's non-strict descriptor applies, which keeps the dialect's own
|
|
43
|
+
* constraints (Gemini rejects LENIENT's recursive `$defs/Any`) even when only
|
|
44
|
+
* the model id is known. Families the provider doesn't speak fall back to
|
|
45
|
+
* LENIENT, so the wire never receives a dialect the API doesn't understand.
|
|
46
|
+
*
|
|
47
|
+
* @param model The full model, or just its id and provider when selection
|
|
48
|
+
* didn't supply one
|
|
49
|
+
* @param families The strict descriptor families the provider speaks
|
|
50
|
+
*/
|
|
51
|
+
export declare function buildSchemaBudget(model: Pick<ModelInfo, 'id' | 'provider' | 'strictFormat'> & {
|
|
52
|
+
capabilities?: ModelInfo['capabilities'];
|
|
53
|
+
}, families: ReadonlySet<DescriptorFamily>): SchemaBudget;
|
|
54
|
+
/**
|
|
55
|
+
* Allocate per-tool descriptors in descending-priority order, so the
|
|
56
|
+
* most-wanted strict tools consume the budget first, then return them in
|
|
57
|
+
* declaration order. Records each chosen id on `tools[i].descriptor` for the
|
|
58
|
+
* Prompt's validation roundtrip.
|
|
59
|
+
*/
|
|
60
|
+
export declare function allocateToolDescriptors(tools: ToolDefinition[], budget: SchemaBudget): FormatDescriptor[];
|
|
32
61
|
/**
|
|
33
62
|
* Determines which capabilities a provider supports based on its defined methods.
|
|
34
63
|
* Treats streaming and non-streaming methods as equivalent for capability detection.
|
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;AAEH,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAyD,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|