@aeye/ai 0.3.9 → 0.7.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 (52) hide show
  1. package/README.md +898 -798
  2. package/aeye-ai.md +237 -219
  3. package/dist/ai.d.ts +7 -1
  4. package/dist/ai.d.ts.map +1 -1
  5. package/dist/ai.js +50 -77
  6. package/dist/ai.js.map +1 -1
  7. package/dist/apis/batch.d.ts +74 -0
  8. package/dist/apis/batch.d.ts.map +1 -0
  9. package/dist/apis/batch.js +127 -0
  10. package/dist/apis/batch.js.map +1 -0
  11. package/dist/apis/chat.d.ts.map +1 -1
  12. package/dist/apis/chat.js +55 -35
  13. package/dist/apis/chat.js.map +1 -1
  14. package/dist/apis/decide.d.ts +33 -0
  15. package/dist/apis/decide.d.ts.map +1 -0
  16. package/dist/apis/decide.js +52 -0
  17. package/dist/apis/decide.js.map +1 -0
  18. package/dist/apis/embed.d.ts +4 -11
  19. package/dist/apis/embed.d.ts.map +1 -1
  20. package/dist/apis/embed.js +5 -32
  21. package/dist/apis/embed.js.map +1 -1
  22. package/dist/apis/get.d.ts +18 -0
  23. package/dist/apis/get.d.ts.map +1 -0
  24. package/dist/apis/get.js +30 -0
  25. package/dist/apis/get.js.map +1 -0
  26. package/dist/apis/image.d.ts +2 -2
  27. package/dist/apis/image.d.ts.map +1 -1
  28. package/dist/apis/image.js +45 -40
  29. package/dist/apis/image.js.map +1 -1
  30. package/dist/apis/rerank.d.ts +24 -0
  31. package/dist/apis/rerank.d.ts.map +1 -0
  32. package/dist/apis/rerank.js +40 -0
  33. package/dist/apis/rerank.js.map +1 -0
  34. package/dist/apis/schema-fallback.d.ts +9 -14
  35. package/dist/apis/schema-fallback.d.ts.map +1 -1
  36. package/dist/apis/schema-fallback.js +15 -64
  37. package/dist/apis/schema-fallback.js.map +1 -1
  38. package/dist/common.d.ts +20 -2
  39. package/dist/common.d.ts.map +1 -1
  40. package/dist/common.js +36 -0
  41. package/dist/common.js.map +1 -1
  42. package/dist/index.d.ts +4 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +4 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/registry.d.ts +30 -1
  47. package/dist/registry.d.ts.map +1 -1
  48. package/dist/registry.js +61 -1
  49. package/dist/registry.js.map +1 -1
  50. package/dist/types.d.ts +198 -55
  51. package/dist/types.d.ts.map +1 -1
  52. package/package.json +2 -2
package/dist/ai.js CHANGED
@@ -5,8 +5,11 @@
5
5
  * Provides type-safe, scoped access to AI capabilities with hooks and context injection.
6
6
  */
7
7
  import { accumulateUsage, Agent, Prompt, resolveFn, Tool } from '@aeye/core';
8
+ import { BatchAPI } from './apis/batch';
8
9
  import { ChatAPI } from './apis/chat';
9
10
  import { EmbedAPI } from './apis/embed';
11
+ import { RerankAPI } from './apis/rerank';
12
+ import { DecideAPI } from './apis/decide';
10
13
  import { ImageAPI } from './apis/image';
11
14
  import { ModelsAPI } from './apis/models';
12
15
  import { SpeechAPI } from './apis/speech';
@@ -48,6 +51,9 @@ export class AI {
48
51
  speech;
49
52
  transcribe;
50
53
  embed;
54
+ rerank;
55
+ decide;
56
+ batch;
51
57
  models;
52
58
  // Direct Access
53
59
  providers;
@@ -106,6 +112,9 @@ export class AI {
106
112
  this.speech = new SpeechAPI(this);
107
113
  this.transcribe = new TranscribeAPI(this);
108
114
  this.embed = new EmbedAPI(this);
115
+ this.rerank = new RerankAPI(this);
116
+ this.decide = new DecideAPI(this);
117
+ this.batch = new BatchAPI(this);
109
118
  this.models = new ModelsAPI(this.registry);
110
119
  // Direct access to providers
111
120
  this.providers = config.providers;
@@ -135,6 +144,12 @@ export class AI {
135
144
  fallback: this.config.tokens?.audioFallback || 200,
136
145
  max: this.config.tokens?.audioMax,
137
146
  },
147
+ video: {
148
+ divisor: this.config.tokens?.videoDivisor || 600,
149
+ base64Divisor: this.config.tokens?.videoBase64Divisor || 800,
150
+ fallback: this.config.tokens?.videoFallback || 15000,
151
+ max: this.config.tokens?.videoMax,
152
+ },
138
153
  };
139
154
  }
140
155
  /**
@@ -482,84 +497,40 @@ export class AI {
482
497
  }
483
498
  }
484
499
  }
485
- let cost = 0;
486
- // Text usage costs
487
- if (usage.text && pricing.text) {
488
- if (usage.text.input && pricing.text.input) {
489
- cost += (usage.text.input * pricing.text.input) / 1_000_000;
490
- }
491
- if (usage.text.output && pricing.text.output) {
492
- cost += (usage.text.output * pricing.text.output) / 1_000_000;
493
- }
494
- if (usage.text.cached) {
495
- // Use cached pricing if available, otherwise fall back to input pricing
496
- const cachedPrice = pricing.text.cached ?? pricing.text.input;
497
- if (cachedPrice) {
498
- cost += (usage.text.cached * cachedPrice) / 1_000_000;
499
- }
500
- }
501
- }
502
- // Audio usage costs
503
- if (usage.audio && pricing.audio) {
504
- // Time-based pricing (per second)
505
- if (usage.audio.seconds && pricing.audio.perSecond) {
506
- cost += usage.audio.seconds * pricing.audio.perSecond;
507
- }
508
- // Token-based pricing
509
- if (usage.audio.input && pricing.audio.input) {
510
- cost += (usage.audio.input * pricing.audio.input) / 1_000_000;
511
- }
512
- if (usage.audio.output && pricing.audio.output) {
513
- cost += (usage.audio.output * pricing.audio.output) / 1_000_000;
514
- }
515
- }
516
- // Image usage costs
517
- if (usage.image && pricing.image) {
518
- // Input image tokens (for image analysis)
519
- if (usage.image.input && pricing.image.input) {
520
- cost += (usage.image.input * pricing.image.input) / 1_000_000;
521
- }
522
- // Output image costs (for image generation)
523
- if (usage.image.output && pricing.image.output) {
524
- for (const usageOutput of usage.image.output) {
525
- // Find matching price for this quality/size
526
- const priceEntry = pricing.image.output.find(p => p.quality === usageOutput.quality);
527
- if (priceEntry) {
528
- const sizeEntry = priceEntry.sizes.find(s => s.width === usageOutput.size.width && s.height === usageOutput.size.height);
529
- if (sizeEntry) {
530
- cost += sizeEntry.cost * usageOutput.count;
531
- }
532
- }
533
- }
534
- }
535
- }
536
- // Reasoning usage costs
537
- if (usage.reasoning && pricing.reasoning) {
538
- if (usage.reasoning.input && pricing.reasoning.input) {
539
- cost += (usage.reasoning.input * pricing.reasoning.input) / 1_000_000;
540
- }
541
- if (usage.reasoning.output && pricing.reasoning.output) {
542
- cost += (usage.reasoning.output * pricing.reasoning.output) / 1_000_000;
500
+ // Hosted tools are priced per call
501
+ const perCall = (calls, prices) => {
502
+ let total = 0;
503
+ for (const type in calls) {
504
+ total += (calls[type] ?? 0) * (prices[type] ?? 0);
543
505
  }
544
- if (usage.reasoning.cached) {
545
- // Use cached pricing if available, otherwise fall back to input pricing
546
- const cachedPrice = pricing.reasoning.cached ?? pricing.reasoning.input;
547
- if (cachedPrice) {
548
- cost += (usage.reasoning.cached * cachedPrice) / 1_000_000;
549
- }
550
- }
551
- }
552
- // Embeddings usage costs
553
- if (usage.embeddings && pricing.embeddings) {
554
- if (usage.embeddings.tokens && pricing.embeddings.cost) {
555
- cost += (usage.embeddings.tokens * pricing.embeddings.cost) / 1_000_000;
556
- }
557
- }
558
- // Fixed cost per request
559
- if (pricing.perRequest) {
560
- cost += pricing.perRequest;
506
+ return total;
507
+ };
508
+ const perMillion = (tokens, price) => tokens && price ? (tokens * price) / 1_000_000 : 0;
509
+ // Unpriced cache reads and writes cost what input does, and unpriced
510
+ // reasoning bills as the output it is.
511
+ const { text = {}, audio = {}, image = {}, reasoning = {}, embeddings = {}, tools = {} } = pricing;
512
+ let cost = perMillion(usage.text?.input, text.input) +
513
+ perMillion(usage.text?.output, text.output) +
514
+ perMillion(usage.text?.cached, text.cached ?? text.input) +
515
+ perMillion(usage.text?.cacheWrite, text.cacheWrite ?? text.input) +
516
+ perMillion(usage.audio?.input, audio.input) +
517
+ perMillion(usage.audio?.output, audio.output) +
518
+ (usage.audio?.seconds ?? 0) * (audio.perSecond ?? 0) +
519
+ perMillion(usage.image?.input, image.input) +
520
+ perMillion(usage.image?.tokens, image.tokens) +
521
+ perMillion(usage.reasoning?.input, reasoning.input ?? text.input) +
522
+ perMillion(usage.reasoning?.output, reasoning.output ?? text.output) +
523
+ perMillion(usage.reasoning?.cached, reasoning.cached ?? text.cached ?? text.input) +
524
+ perMillion(usage.embeddings?.tokens, embeddings.cost) +
525
+ (pricing.perRequest ?? 0);
526
+ // Generated images are priced per image by quality and size
527
+ for (const output of usage.image?.output ?? []) {
528
+ const size = image.output
529
+ ?.find(p => p.quality === output.quality)
530
+ ?.sizes.find(s => s.width === output.size.width && s.height === output.size.height);
531
+ cost += (size?.cost ?? 0) * output.count;
561
532
  }
562
- return cost;
533
+ return cost + perCall(usage.tools ?? {}, tools);
563
534
  }
564
535
  /**
565
536
  * Determines whether a given override matches a model.
@@ -608,7 +579,7 @@ export class AI {
608
579
  * @returns - An enhanced prompt instance.
609
580
  */
610
581
  prompt(options) {
611
- const { input, schema, config, reconfig, retool, parse, validate, applicable, metadataFn, ...rest } = options;
582
+ const { input, schema, config, reconfig, retool, parse, validate, review, applicable, metadataFn, onToolIntercept, ...rest } = options;
612
583
  const hydrateFn = (optionWithInjection, getOptionWithoutInjection) => {
613
584
  return typeof optionWithInjection === 'function'
614
585
  ? getOptionWithoutInjection(resolveFn(optionWithInjection))
@@ -643,6 +614,8 @@ export class AI {
643
614
  validate: hydrateFn(validate, (r) => (async (output, ctxPartial) => {
644
615
  return r(output, await getContext(ctxPartial));
645
616
  })),
617
+ review: review && (async (output, context) => review(output, { ...context, ctx: await getContext(context.ctx) })),
618
+ onToolIntercept: onToolIntercept && (async (tool, args, ctxPartial, call) => onToolIntercept(tool, args, await getContext(ctxPartial), call)),
646
619
  applicable: hydrateFn(applicable, (r) => (async (ctxPartial) => {
647
620
  return r(await getContext(ctxPartial));
648
621
  })),
package/dist/ai.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Batch API
3
+ *
4
+ * Runs many chat requests as one batch at the provider: typically half the
5
+ * price of running them one by one, with results within about a day.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const job = await ai.batch.submit(reviews.map(review => ({
10
+ * messages: [{ role: 'user', content: `Classify: ${review}` }],
11
+ * })), {});
12
+ *
13
+ * const done = await ai.batch.wait(job, {});
14
+ * for (const result of done.results ?? []) {
15
+ * console.log(result.response?.content ?? result.error);
16
+ * }
17
+ * ```
18
+ */
19
+ import type { AI } from '../ai';
20
+ import type { AIBaseTypes, AIContextRequired, BatchJob, Request } from '../types';
21
+ /**
22
+ * Options for waiting on a batch.
23
+ */
24
+ export interface BatchWaitOptions {
25
+ interval?: number;
26
+ signal?: AbortSignal;
27
+ }
28
+ /**
29
+ * BatchAPI submits chat requests as provider batches and collects their results.
30
+ *
31
+ * @template T - AIBaseTypes container with all type information
32
+ */
33
+ export declare class BatchAPI<T extends AIBaseTypes> {
34
+ private ai;
35
+ private readonly reported;
36
+ constructor(ai: AI<T>);
37
+ /**
38
+ * Submit chat requests to run as one batch on one model. The model is
39
+ * selected for the first request, so pin one with `metadata.model` when
40
+ * the requests differ in what they need. The onModelSelected hook runs
41
+ * once, and beforeRequest runs for each request (so budget checks can
42
+ * stop the batch) with the batch price estimate.
43
+ *
44
+ * @param requests - The chat requests, whose results come back in this order.
45
+ * @param ctx - The context.
46
+ */
47
+ submit(requests: Request[], ctx: AIContextRequired<T>): Promise<BatchJob>;
48
+ /**
49
+ * The batch as it stands now, with results once it completes. The first
50
+ * time this sees a batch completed, it reports the batch's usage and cost
51
+ * to the afterBatch hook.
52
+ *
53
+ * @param job - A batch from `submit`.
54
+ * @param ctx - The context.
55
+ */
56
+ get(job: BatchJob, ctx: AIContextRequired<T>): Promise<BatchJob>;
57
+ /**
58
+ * Report a completed batch to the afterBatch hook: the usage of its
59
+ * results, and the cost the provider reported or else the batch price of
60
+ * that usage.
61
+ */
62
+ private report;
63
+ /**
64
+ * Check the batch until it finishes, then return it with its results.
65
+ * A running batch is first checked after one interval: a batch just
66
+ * submitted can take a moment to become visible at the provider.
67
+ *
68
+ * @param job - A batch from `submit`.
69
+ * @param ctx - The context.
70
+ * @param options - How often to check, and when to stop.
71
+ */
72
+ wait(job: BatchJob, ctx: AIContextRequired<T>, options?: BatchWaitOptions): Promise<BatchJob>;
73
+ }
74
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/apis/batch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,EACV,WAAW,EAGX,iBAAiB,EACjB,QAAQ,EAER,OAAO,EAER,MAAM,UAAU,CAAC;AAalB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAE/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,QAAQ,CAAC,CAAC,SAAS,WAAW;IAI7B,OAAO,CAAC,EAAE;IAFtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;gBAE1B,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAE7B;;;;;;;;;OASG;IACG,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAuB/E;;;;;;;OAOG;IACG,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAetE;;;;OAIG;YACW,MAAM;IAUpB;;;;;;;;OAQG;IACG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAUxG"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Batch API
3
+ *
4
+ * Runs many chat requests as one batch at the provider: typically half the
5
+ * price of running them one by one, with results within about a day.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const job = await ai.batch.submit(reviews.map(review => ({
10
+ * messages: [{ role: 'user', content: `Classify: ${review}` }],
11
+ * })), {});
12
+ *
13
+ * const done = await ai.batch.wait(job, {});
14
+ * for (const result of done.results ?? []) {
15
+ * console.log(result.response?.content ?? result.error);
16
+ * }
17
+ * ```
18
+ */
19
+ import { accumulateUsage } from '@aeye/core';
20
+ /**
21
+ * Statuses a batch never leaves.
22
+ */
23
+ const FINAL = new Set(['completed', 'failed', 'expired', 'cancelled']);
24
+ /**
25
+ * Batch price as a share of the regular price, for providers that don't
26
+ * report a batch's cost: OpenAI and OpenRouter bill batches at half price.
27
+ */
28
+ const BATCH_PRICE = 0.5;
29
+ /**
30
+ * BatchAPI submits chat requests as provider batches and collects their results.
31
+ *
32
+ * @template T - AIBaseTypes container with all type information
33
+ */
34
+ export class BatchAPI {
35
+ ai;
36
+ // Completed batches already reported to the afterBatch hook
37
+ reported = new Set();
38
+ constructor(ai) {
39
+ this.ai = ai;
40
+ }
41
+ /**
42
+ * Submit chat requests to run as one batch on one model. The model is
43
+ * selected for the first request, so pin one with `metadata.model` when
44
+ * the requests differ in what they need. The onModelSelected hook runs
45
+ * once, and beforeRequest runs for each request (so budget checks can
46
+ * stop the batch) with the batch price estimate.
47
+ *
48
+ * @param requests - The chat requests, whose results come back in this order.
49
+ * @param ctx - The context.
50
+ */
51
+ async submit(requests, ctx) {
52
+ const [first] = requests;
53
+ if (!first) {
54
+ throw new Error('A batch needs at least one request');
55
+ }
56
+ const { hooks } = this.ai;
57
+ const fullCtx = await this.ai.buildContext(ctx);
58
+ const found = await this.ai.chat.getModelFor(first, fullCtx, false);
59
+ const selected = found && ((await hooks.onModelSelected?.(fullCtx, first, found)) || found);
60
+ if (!selected?.provider.submitBatch) {
61
+ throw new Error(`No model found that can run a batch${selected ? `: ${selected.model.provider} does not offer batches` : ''}`);
62
+ }
63
+ for (const request of requests) {
64
+ const usage = this.ai.estimateRequestUsage(request);
65
+ await hooks.beforeRequest?.(fullCtx, request, selected, usage, this.ai.calculateCost(selected.model, usage) * BATCH_PRICE);
66
+ }
67
+ // The provider reads the selected model from the context, as for chat
68
+ const providerCtx = { ...fullCtx, metadata: { ...fullCtx.metadata, model: selected.model } };
69
+ return selected.provider.submitBatch(requests, providerCtx, selected.providerConfig);
70
+ }
71
+ /**
72
+ * The batch as it stands now, with results once it completes. The first
73
+ * time this sees a batch completed, it reports the batch's usage and cost
74
+ * to the afterBatch hook.
75
+ *
76
+ * @param job - A batch from `submit`.
77
+ * @param ctx - The context.
78
+ */
79
+ async get(job, ctx) {
80
+ const provider = this.ai.registry.getProvider(job.provider);
81
+ if (!provider?.getBatch) {
82
+ throw new Error(`Provider "${job.provider}" does not offer batches`);
83
+ }
84
+ const fullCtx = await this.ai.buildContext(ctx);
85
+ const current = await provider.getBatch(job, fullCtx);
86
+ const key = `${current.provider}:${current.id}`;
87
+ if (current.status === 'completed' && current.results && !this.reported.has(key)) {
88
+ this.reported.add(key);
89
+ await this.report(current, fullCtx);
90
+ }
91
+ return current;
92
+ }
93
+ /**
94
+ * Report a completed batch to the afterBatch hook: the usage of its
95
+ * results, and the cost the provider reported or else the batch price of
96
+ * that usage.
97
+ */
98
+ async report(job, ctx) {
99
+ const usage = {};
100
+ for (const result of job.results ?? []) {
101
+ accumulateUsage(usage, result.response?.usage);
102
+ }
103
+ const model = this.ai.registry.getModel(job.model);
104
+ const cost = job.cost ?? usage.cost ?? (model ? this.ai.calculateCost(model, usage) * BATCH_PRICE : 0);
105
+ await this.ai.hooks.afterBatch?.(ctx, job, usage, cost);
106
+ }
107
+ /**
108
+ * Check the batch until it finishes, then return it with its results.
109
+ * A running batch is first checked after one interval: a batch just
110
+ * submitted can take a moment to become visible at the provider.
111
+ *
112
+ * @param job - A batch from `submit`.
113
+ * @param ctx - The context.
114
+ * @param options - How often to check, and when to stop.
115
+ */
116
+ async wait(job, ctx, options = {}) {
117
+ const { interval = 30_000, signal } = options;
118
+ let current = FINAL.has(job.status) ? await this.get(job, ctx) : job;
119
+ while (!FINAL.has(current.status)) {
120
+ await new Promise((resolve) => setTimeout(resolve, interval));
121
+ signal?.throwIfAborted();
122
+ current = await this.get(current, ctx);
123
+ }
124
+ return current;
125
+ }
126
+ }
127
+ //# sourceMappingURL=batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/apis/batch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/apis/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/apis/chat.ts"],"names":[],"mappings":"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"}