@aeye/ai 0.3.8 → 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.
Files changed (57) hide show
  1. package/README.md +105 -1
  2. package/aeye-ai.md +219 -0
  3. package/dist/ai.d.ts +11 -5
  4. package/dist/ai.d.ts.map +1 -1
  5. package/dist/ai.js +57 -78
  6. package/dist/ai.js.map +1 -1
  7. package/dist/apis/base.d.ts +14 -0
  8. package/dist/apis/base.d.ts.map +1 -1
  9. package/dist/apis/base.js +34 -3
  10. package/dist/apis/base.js.map +1 -1
  11. package/dist/apis/batch.d.ts +74 -0
  12. package/dist/apis/batch.d.ts.map +1 -0
  13. package/dist/apis/batch.js +127 -0
  14. package/dist/apis/batch.js.map +1 -0
  15. package/dist/apis/chat.d.ts +15 -0
  16. package/dist/apis/chat.d.ts.map +1 -1
  17. package/dist/apis/chat.js +112 -33
  18. package/dist/apis/chat.js.map +1 -1
  19. package/dist/apis/decide.d.ts +33 -0
  20. package/dist/apis/decide.d.ts.map +1 -0
  21. package/dist/apis/decide.js +52 -0
  22. package/dist/apis/decide.js.map +1 -0
  23. package/dist/apis/embed.d.ts +4 -11
  24. package/dist/apis/embed.d.ts.map +1 -1
  25. package/dist/apis/embed.js +5 -32
  26. package/dist/apis/embed.js.map +1 -1
  27. package/dist/apis/get.d.ts +18 -0
  28. package/dist/apis/get.d.ts.map +1 -0
  29. package/dist/apis/get.js +30 -0
  30. package/dist/apis/get.js.map +1 -0
  31. package/dist/apis/image.d.ts +2 -2
  32. package/dist/apis/image.d.ts.map +1 -1
  33. package/dist/apis/image.js +45 -40
  34. package/dist/apis/image.js.map +1 -1
  35. package/dist/apis/rerank.d.ts +24 -0
  36. package/dist/apis/rerank.d.ts.map +1 -0
  37. package/dist/apis/rerank.js +40 -0
  38. package/dist/apis/rerank.js.map +1 -0
  39. package/dist/apis/schema-fallback.d.ts +31 -0
  40. package/dist/apis/schema-fallback.d.ts.map +1 -0
  41. package/dist/apis/schema-fallback.js +43 -0
  42. package/dist/apis/schema-fallback.js.map +1 -0
  43. package/dist/common.d.ts +20 -2
  44. package/dist/common.d.ts.map +1 -1
  45. package/dist/common.js +36 -0
  46. package/dist/common.js.map +1 -1
  47. package/dist/index.d.ts +6 -0
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +6 -0
  50. package/dist/index.js.map +1 -1
  51. package/dist/registry.d.ts +67 -0
  52. package/dist/registry.d.ts.map +1 -1
  53. package/dist/registry.js +147 -2
  54. package/dist/registry.js.map +1 -1
  55. package/dist/types.d.ts +198 -40
  56. package/dist/types.d.ts.map +1 -1
  57. package/package.json +67 -66
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/apis/get.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,8BAAsB,MAAM,CAC1B,CAAC,SAAS,WAAW,EACrB,QAAQ,SAAS,WAAW,EAC5B,SAAS,SAAS,YAAY,CAC9B,SAAQ,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC;IAC9C,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,QAAQ,GAAG,cAAc,EAAE;cAI/E,oBAAoB,IAAI,aAAa,CAAC,KAAK,CAAC;IAI7D,SAAS,CAAC,gBAAgB,IAAI,KAAK;IAInC,SAAS,CAAC,gBAAgB,IAAI,KAAK;IAInC,SAAS,CAAC,sBAAsB,IAAI,SAAS;IAI7C,SAAS,CAAC,mBAAmB,IAAI,OAAO;IAIxC,OAAO,CAAC,WAAW;CAGpB"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Get API
3
+ *
4
+ * Base for APIs that answer with one response and never stream.
5
+ */
6
+ import { BaseAPI } from './base';
7
+ export class GetAPI extends BaseAPI {
8
+ getRequiredParameters(provided, request) {
9
+ return provided;
10
+ }
11
+ async *executeStreamRequest() {
12
+ this.noStreaming();
13
+ }
14
+ responseToChunks() {
15
+ return this.noStreaming();
16
+ }
17
+ chunksToResponse() {
18
+ return this.noStreaming();
19
+ }
20
+ getHandlerStreamMethod() {
21
+ return undefined;
22
+ }
23
+ hasProviderStreamer() {
24
+ return false;
25
+ }
26
+ noStreaming() {
27
+ throw new Error(`${this.getErrorMessage('request')}: streaming is not supported`);
28
+ }
29
+ }
30
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/apis/get.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,OAAgB,MAIpB,SAAQ,OAAsC;IACpC,qBAAqB,CAAC,QAA0B,EAAE,OAAiB;QAC3E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,CAAC,oBAAoB;QACnC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAES,gBAAgB;QACxB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAES,gBAAgB;QACxB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAES,sBAAsB;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,mBAAmB;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,WAAW;QACjB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;IACpF,CAAC;CACF"}
@@ -14,7 +14,7 @@ declare class ImageGenerateAPI<T extends AIBaseTypes> extends BaseAPI<T, ImageGe
14
14
  protected getNoModelFoundError(): string;
15
15
  protected getErrorType(operation: 'request' | 'stream'): string;
16
16
  protected getErrorMessage(operation: 'request' | 'stream'): string;
17
- protected estimateRequestUsage(request: ImageGenerationRequest): Usage;
17
+ protected estimateRequestUsage(request: ImageGenerationRequest, selected: SelectedModelFor<T>): Usage;
18
18
  protected executeRequest(request: ImageGenerationRequest, selected: SelectedModelFor<T>, ctx: AIContext<T>): Promise<ImageGenerationResponse>;
19
19
  protected executeStreamRequest(request: ImageGenerationRequest, selected: SelectedModelFor<T>, ctx: AIContext<T>): AsyncIterable<ImageGenerationChunk>;
20
20
  protected responseToChunks(response: ImageGenerationResponse): ImageGenerationChunk[];
@@ -32,7 +32,7 @@ declare class ImageEditAPI<T extends AIBaseTypes> extends BaseAPI<T, ImageEditRe
32
32
  protected getNoModelFoundError(): string;
33
33
  protected getErrorType(operation: 'request' | 'stream'): string;
34
34
  protected getErrorMessage(operation: 'request' | 'stream'): string;
35
- protected estimateRequestUsage(request: ImageEditRequest): Usage;
35
+ protected estimateRequestUsage(request: ImageEditRequest, selected: SelectedModelFor<T>): Usage;
36
36
  protected executeRequest(request: ImageEditRequest, selected: SelectedModelFor<T>, ctx: AIContext<T>): Promise<ImageGenerationResponse>;
37
37
  protected executeStreamRequest(request: ImageEditRequest, selected: SelectedModelFor<T>, ctx: AIContext<T>): AsyncIterable<ImageGenerationChunk>;
38
38
  protected responseToChunks(response: ImageGenerationResponse): ImageGenerationChunk[];
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/apis/image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/apis/image.ts"],"names":[],"mappings":"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"}
@@ -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
- // Parse size from request (e.g., "1024x1024", "1536x1024")
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
- // Parse size from request
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);
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/apis/image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/apis/image.ts"],"names":[],"mappings":"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"}
@@ -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"}
@@ -0,0 +1,31 @@
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. A schema delivered as `json` or
11
+ * `prompt` goes the same way (see `deliverSchema`).
12
+ *
13
+ * Provider-agnostic: called from the ai request-build (see `ChatAPI`) after the
14
+ * model is resolved, BEFORE any provider converts the request to its wire form.
15
+ * The descriptor is resolved from the model's dialect
16
+ * (`resolveStrictFormat` → `getDescriptor`), independent of whether the chosen
17
+ * provider bothers to emit that dialect strictly — because feasibility is a
18
+ * property of the target model, not our request encoder.
19
+ */
20
+ import { type Request } from '@aeye/core';
21
+ import type { ModelInfo } from '../types';
22
+ /**
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.
29
+ */
30
+ export declare function applySchemaDeliveryFallback(request: Request, model: ModelInfo | undefined): Request;
31
+ //# 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;;;;;;;;;;;;;;;;;;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"}
@@ -0,0 +1,43 @@
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. A schema delivered as `json` or
11
+ * `prompt` goes the same way (see `deliverSchema`).
12
+ *
13
+ * Provider-agnostic: called from the ai request-build (see `ChatAPI`) after the
14
+ * model is resolved, BEFORE any provider converts the request to its wire form.
15
+ * The descriptor is resolved from the model's dialect
16
+ * (`resolveStrictFormat` → `getDescriptor`), independent of whether the chosen
17
+ * provider bothers to emit that dialect strictly — because feasibility is a
18
+ * property of the target model, not our request encoder.
19
+ */
20
+ import { canExpress, deliverSchema, getDescriptor, LENIENT, } from '@aeye/core';
21
+ import { resolveStrictFormat } from '../registry';
22
+ /**
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.
29
+ */
30
+ export function applySchemaDeliveryFallback(request, model) {
31
+ const format = request.responseFormat;
32
+ if (typeof format !== 'object') {
33
+ return request;
34
+ }
35
+ // Resolve the descriptor for the TARGET MODEL's dialect. `resolveStrictFormat`
36
+ // returning undefined means an unknown dialect — assume it can express the
37
+ // schema (matches today's lenient behavior) unless delivery is forced.
38
+ const family = model ? resolveStrictFormat(model) : undefined;
39
+ const descriptor = family ? getDescriptor(family, true) : LENIENT;
40
+ const inexpressible = (format.schemaDelivery ?? 'auto') === 'auto' && !canExpress(format.type, descriptor);
41
+ return deliverSchema(request, descriptor, inexpressible ? 'prompt' : undefined);
42
+ }
43
+ //# 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;;;;;;;;;;;;;;;;;;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
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC;;;;;EAKE;AACF,wBAAgB,WAAW,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,IAAI,SAAS,CAAC,SAAS,CAAC,CAS/G"}
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
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAGA;;;;;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"}
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
@@ -4,13 +4,19 @@
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';
13
+ export * from './apis/batch';
12
14
  export * from './apis/chat';
15
+ export * from './apis/schema-fallback';
13
16
  export * from './apis/embed';
17
+ export * from './apis/get';
18
+ export * from './apis/rerank';
19
+ export * from './apis/decide';
14
20
  export * from './apis/image';
15
21
  export * from './apis/speech';
16
22
  export * from './apis/transcribe';
@@ -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,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
@@ -4,13 +4,19 @@
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';
13
+ export * from './apis/batch';
12
14
  export * from './apis/chat';
15
+ export * from './apis/schema-fallback';
13
16
  export * from './apis/embed';
17
+ export * from './apis/get';
18
+ export * from './apis/rerank';
19
+ export * from './apis/decide';
14
20
  export * from './apis/image';
15
21
  export * from './apis/speech';
16
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,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,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"}
@@ -4,7 +4,60 @@
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, SchemaBudget, type ToolDefinition } 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;
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[];
8
61
  /**
9
62
  * Determines which capabilities a provider supports based on its defined methods.
10
63
  * Treats streaming and non-streaming methods as equivalent for capability detection.
@@ -125,6 +178,20 @@ export declare class ModelRegistry<TProviders extends Providers, TProviderKey ex
125
178
  * @returns Set of capabilities the provider supports, or undefined if provider not found
126
179
  */
127
180
  getProviderCapabilities(name: TProviderKey): Set<ModelCapability> | undefined;
181
+ /**
182
+ * Resolve the `FormatDescriptor` to use when sending a strict-flagged
183
+ * request to a given model.
184
+ *
185
+ * Returns `LENIENT` when the request is non-strict or when
186
+ * `resolveStrictFormat` can't determine a family for the model — strict
187
+ * is best-effort, the provider always gets *some* valid descriptor.
188
+ *
189
+ * Tools and structured output share the same dialect (per-model), so this
190
+ * helper takes no `kind` argument. Whether tools-strict or output-strict
191
+ * is actually engaged is gated by the `'toolsStrict'` and `'structured'`
192
+ * capabilities respectively, not by this helper.
193
+ */
194
+ getStrictFormat(model: ModelInfo<TProviderKey>, requested: boolean): FormatDescriptor;
128
195
  /**
129
196
  * Check if a model is applicable given the criteria.
130
197
  * Returns null if not applicable, or an object with matched capabilities if applicable.