ai.matey.core 0.2.0 → 0.3.2

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 (40) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/dist/cjs/bridge.js +189 -4
  3. package/dist/cjs/bridge.js.map +1 -1
  4. package/dist/cjs/capability-inference.js +116 -1
  5. package/dist/cjs/capability-inference.js.map +1 -1
  6. package/dist/cjs/index.js +3 -0
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/model-pricing.js +56 -280
  9. package/dist/cjs/model-pricing.js.map +1 -1
  10. package/dist/cjs/model-translation.js +1 -1
  11. package/dist/cjs/router.js +149 -49
  12. package/dist/cjs/router.js.map +1 -1
  13. package/dist/cjs/run-tools.js +169 -0
  14. package/dist/cjs/run-tools.js.map +1 -0
  15. package/dist/esm/bridge.js +189 -4
  16. package/dist/esm/bridge.js.map +1 -1
  17. package/dist/esm/capability-inference.js +116 -1
  18. package/dist/esm/capability-inference.js.map +1 -1
  19. package/dist/esm/index.js +1 -0
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/model-pricing.js +56 -280
  22. package/dist/esm/model-pricing.js.map +1 -1
  23. package/dist/esm/model-translation.js +1 -1
  24. package/dist/esm/router.js +149 -49
  25. package/dist/esm/router.js.map +1 -1
  26. package/dist/esm/run-tools.js +166 -0
  27. package/dist/esm/run-tools.js.map +1 -0
  28. package/dist/types/bridge.d.ts +57 -0
  29. package/dist/types/bridge.d.ts.map +1 -1
  30. package/dist/types/capability-inference.d.ts.map +1 -1
  31. package/dist/types/index.d.ts +1 -0
  32. package/dist/types/index.d.ts.map +1 -1
  33. package/dist/types/model-pricing.d.ts +15 -9
  34. package/dist/types/model-pricing.d.ts.map +1 -1
  35. package/dist/types/model-translation.d.ts +1 -1
  36. package/dist/types/router.d.ts +18 -0
  37. package/dist/types/router.d.ts.map +1 -1
  38. package/dist/types/run-tools.d.ts +28 -0
  39. package/dist/types/run-tools.d.ts.map +1 -0
  40. package/package.json +1 -1
@@ -7,10 +7,12 @@
7
7
  * @module
8
8
  */
9
9
  import type { FrontendAdapter, BackendAdapter, InferFrontendRequest, InferFrontendResponse, InferFrontendStreamChunk } from 'ai.matey.types';
10
+ import type { IRChatRequest, IRChatResponse } from 'ai.matey.types';
10
11
  import type { BridgeConfig, RequestOptions, Bridge as IBridge, BridgeStats, BridgeEventListener } from 'ai.matey.types';
11
12
  import { BridgeEventType } from 'ai.matey.types';
12
13
  import type { Middleware } from 'ai.matey.types';
13
14
  import type { ListModelsOptions, ListModelsResult } from 'ai.matey.types';
15
+ import type { EmbedMiddleware, EmbedOptions, IREmbedResponse } from 'ai.matey.types';
14
16
  /**
15
17
  * Bridge connects frontend and backend adapters.
16
18
  *
@@ -21,6 +23,7 @@ export declare class Bridge<TFrontend extends FrontendAdapter = FrontendAdapter>
21
23
  readonly backend: BackendAdapter;
22
24
  readonly config: BridgeConfig;
23
25
  private middlewareStack;
26
+ private embedMiddleware;
24
27
  private _totalRequests;
25
28
  private _successfulRequests;
26
29
  private _failedRequests;
@@ -153,6 +156,35 @@ export declare class Bridge<TFrontend extends FrontendAdapter = FrontendAdapter>
153
156
  * Clean up resources.
154
157
  */
155
158
  dispose(): void;
159
+ /**
160
+ * Execute an IR request directly (no frontend conversion).
161
+ *
162
+ * Runs the same enrich → validate → middleware → backend → enrich-response
163
+ * pipeline as `chat()`, but takes and returns IR. Useful for agentic
164
+ * loops (`runTools`) and programmatic callers that already speak IR.
165
+ * Single-attempt: layer retry middleware for retries.
166
+ */
167
+ executeIR(request: IRChatRequest, options?: RequestOptions): Promise<IRChatResponse>;
168
+ /**
169
+ * Register embedding middleware (runs outermost-first).
170
+ */
171
+ useEmbed(middleware: EmbedMiddleware): this;
172
+ /**
173
+ * Generate embeddings for one input or a batch.
174
+ *
175
+ * Builds the IR request directly (embedding input is universal, so no
176
+ * frontend adapter is involved), chunks batches to the backend's limit,
177
+ * and normalizes vector dimensions client-side when requested but not
178
+ * natively supported — attaching a `parameter-normalized` warning.
179
+ *
180
+ * @throws AdapterError UNSUPPORTED_FEATURE when the backend lacks embed()
181
+ */
182
+ embed(input: string | readonly string[], options?: EmbedOptions): Promise<IREmbedResponse>;
183
+ /**
184
+ * Execute an embedding request with batch chunking and dimension
185
+ * normalization.
186
+ */
187
+ private executeEmbed;
156
188
  /**
157
189
  * Enrich request with metadata (requestId, timestamp, provenance) and apply defaults.
158
190
  */
@@ -192,6 +224,31 @@ export declare class Bridge<TFrontend extends FrontendAdapter = FrontendAdapter>
192
224
  * ```
193
225
  */
194
226
  generateObject: <T = any>(options: import("ai.matey.utils").GenerateObjectOptions) => Promise<import("ai.matey.utils").GenerateObjectResult<T>>;
227
+ /**
228
+ * Run an agentic tool-execution loop: the model calls tools, their
229
+ * handlers run (in parallel by default), results feed back, and the loop
230
+ * continues until the model answers or maxIterations is reached.
231
+ *
232
+ * @example
233
+ * ```typescript
234
+ * const result = await bridge.runTools({
235
+ * prompt: 'What is the weather in SF?',
236
+ * tools: {
237
+ * get_weather: {
238
+ * description: 'Get current weather for a city',
239
+ * parameters: {
240
+ * type: 'object',
241
+ * properties: { city: { type: 'string' } },
242
+ * required: ['city'],
243
+ * },
244
+ * execute: async ({ city }) => fetchWeather(city),
245
+ * },
246
+ * },
247
+ * });
248
+ * console.log(result.text);
249
+ * ```
250
+ */
251
+ runTools: (options: import("ai.matey.types").RunToolsOptions) => Promise<import("ai.matey.types").RunToolsResult>;
195
252
  /**
196
253
  * Stream a structured object matching a Zod schema using an LLM.
197
254
  *
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/bridge.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"capability-inference.d.ts","sourceRoot":"","sources":["../../src/capability-inference.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,iBAAiB,CAAC,CA4B5B;AA2OD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAC/D,OAAO,CAAC,iBAAiB,CAAC,CAY5B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACxC,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACvC,OAAO,CA8BT;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACjC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAChC,MAAM,CA4CR"}
1
+ {"version":3,"file":"capability-inference.d.ts","sourceRoot":"","sources":["../../src/capability-inference.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,iBAAiB,CAAC,CA4B5B;AAoWD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAC/D,OAAO,CAAC,iBAAiB,CAAC,CAY5B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACxC,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACvC,OAAO,CA8BT;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACjC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAChC,MAAM,CA4CR"}
@@ -12,4 +12,5 @@ export * from './model-pricing.js';
12
12
  export * from './capability-matcher.js';
13
13
  export * from './capability-inference.js';
14
14
  export * from './model-translation.js';
15
+ export { createRunTools, type RunToolsBridge } from './run-tools.js';
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,14 +1,18 @@
1
1
  /**
2
- * Model Pricing Registry
2
+ * Model Pricing Registry (compatibility layer)
3
3
  *
4
- * Centralized pricing database for AI models across providers.
5
- * Prices are in USD per 1,000 tokens.
4
+ * Historical API for model pricing lookups, expressed in USD per 1,000
5
+ * tokens. Since the introduction of the shared model registry this module
6
+ * is a thin delegate over `ai.matey.utils`' registry — the registry (and
7
+ * its seed data file) is the single source of truth. Prefer the registry
8
+ * API (`getModelEntry`, `registerModels`, `overrideModelPricing`) in new
9
+ * code; this module remains for backward compatibility.
6
10
  *
7
11
  * @module
8
12
  */
9
13
  import type { ModelCapabilities } from 'ai.matey.types';
10
14
  /**
11
- * Pricing data for a specific model.
15
+ * Pricing data for a specific model (USD per 1k tokens).
12
16
  */
13
17
  export interface ModelPricing {
14
18
  readonly input: number;
@@ -30,7 +34,7 @@ export interface ExtendedModelCapabilities extends ModelCapabilities {
30
34
  /**
31
35
  * Get pricing information for a specific model.
32
36
  *
33
- * @param modelId - The model identifier (e.g., "gpt-4", "claude-3-opus-20240229")
37
+ * @param modelId - The model identifier (e.g., "gpt-5.1", "claude-sonnet-4-5")
34
38
  * @returns Pricing data or null if not found
35
39
  */
36
40
  export declare function getModelPricing(modelId: string): ModelPricing | null;
@@ -50,15 +54,17 @@ export declare function getAllPricedModels(): string[];
50
54
  /**
51
55
  * Find models by model family.
52
56
  *
53
- * @param family - The model family (e.g., "gpt-4", "claude-3")
57
+ * Includes aliases (e.g. 'mistral-large-latest') alongside canonical ids.
58
+ *
59
+ * @param family - The model family (e.g., "gpt-5", "claude-4")
54
60
  * @returns Array of model IDs in the family
55
61
  */
56
62
  export declare function getModelsByFamily(family: string): string[];
57
63
  /**
58
- * Set custom pricing for a model (overrides static database).
64
+ * Set custom pricing for a model (overrides the registry).
59
65
  *
60
66
  * @param modelId - The model identifier
61
- * @param pricing - Custom pricing data
67
+ * @param pricing - Custom pricing data (USD per 1k tokens)
62
68
  */
63
69
  export declare function setPricingOverride(modelId: string, pricing: ModelPricing): void;
64
70
  /**
@@ -75,7 +81,7 @@ export declare function clearAllPricingOverrides(): void;
75
81
  * Get pricing with user overrides applied.
76
82
  *
77
83
  * @param modelId - The model identifier
78
- * @returns Pricing data (override if set, else from database)
84
+ * @returns Pricing data (override if set, else from the registry)
79
85
  */
80
86
  export declare function getPricingWithOverrides(modelId: string): ModelPricing | null;
81
87
  //# sourceMappingURL=model-pricing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-pricing.d.ts","sourceRoot":"","sources":["../../src/model-pricing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAyQD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAGpE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAE/F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAI1D;AAQD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAE/E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAE5E"}
1
+ {"version":3,"file":"model-pricing.d.ts","sourceRoot":"","sources":["../../src/model-pricing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAsB,MAAM,gBAAgB,CAAC;AAW5E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AA+BD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAGpE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAG/F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAI7C;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAK/E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAG5E"}
@@ -93,7 +93,7 @@ export declare function translateModel(modelName: string, options?: ModelTransla
93
93
  /**
94
94
  * Create a model translator with pre-configured options.
95
95
  *
96
- * @param options - Default translation options
96
+ * @param defaultOptions - Default translation options
97
97
  * @returns Translator function
98
98
  *
99
99
  * @example
@@ -10,6 +10,7 @@
10
10
  import type { BackendAdapter, AdapterMetadata } from 'ai.matey.types';
11
11
  import type { IRChatRequest, IRChatResponse, IRChatStream } from 'ai.matey.types';
12
12
  import type { Router as IRouter, RouterConfig, BackendInfo, BackendStats, RouterStats, ModelMapping, ModelPatternMapping, ParallelDispatchOptions, ParallelDispatchResult } from 'ai.matey.types';
13
+ import type { IREmbedRequest, IREmbedResponse } from 'ai.matey.types';
13
14
  /**
14
15
  * Router manages multiple backend adapters with intelligent routing.
15
16
  */
@@ -195,6 +196,14 @@ export declare class Router implements IRouter {
195
196
  /**
196
197
  * Execute request on specific backend.
197
198
  */
199
+ /**
200
+ * Generate embeddings via the best available backend.
201
+ *
202
+ * Candidates are registered backends that implement embeddings and whose
203
+ * circuit is not open, tried in fallback-chain order (default backend
204
+ * first). Success/failure and cost are tracked like chat requests.
205
+ */
206
+ embed(request: IREmbedRequest, signal?: AbortSignal): Promise<IREmbedResponse>;
198
207
  private executeOnBackend;
199
208
  /**
200
209
  * Execute streaming request on specific backend.
@@ -204,6 +213,15 @@ export declare class Router implements IRouter {
204
213
  * Execute fallback strategy.
205
214
  */
206
215
  private executeFallback;
216
+ /**
217
+ * Translate a request's model for a backend and return the request to send.
218
+ *
219
+ * When hybrid translation falls back to the backend's default model (a
220
+ * silent substitution) and `modelTranslation.warnOnDefault` is not
221
+ * disabled, a `model-substituted` warning is attached to the request
222
+ * metadata and `config.onWarning` is invoked.
223
+ */
224
+ private applyModelTranslation;
207
225
  /**
208
226
  * Translate model name for a specific backend.
209
227
  *
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AACjG,OAAO,KAAK,EACV,MAAM,IAAI,OAAO,EACjB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EAEX,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AAiCxB;;GAEG;AACH,qBAAa,MAAO,YAAW,OAAO;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,uBAAuB,CAAkC;IACjE,OAAO,CAAC,0BAA0B,CAA+C;IACjF,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,mBAAmB,CAAC,CAAiB;IAG7C,OAAO,CAAC,KAAK,CAOX;gBAEU,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;IAgD9C;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO;IAIxC;;;OAGG;IACH,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc;IAQ7F;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM;IAyBvD;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAkChC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI7C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,YAAY,IAAI,SAAS,MAAM,EAAE;IAIjC;;OAEG;IACH,cAAc,IAAI,WAAW,EAAE;IAC/B,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAqBrD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM;IAgBlD;;OAEG;IACH,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAIrC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;IAgB9C;;OAEG;IACH,eAAe,IAAI,YAAY;IAQ/B;;;;;;;;;;;OAWG;IACH,0BAA0B,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;IAQzD;;OAEG;IACH,0BAA0B,IAAI,YAAY;IAQ1C;;;;;;;;;;;OAWG;IACH,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM;IA2BhF;;OAEG;IACH,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY;IAa/D;;;;OAIG;IACH,4BAA4B,IAAI,MAAM;IAKtC;;;;;OAKG;IACH,8BAA8B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;IAc5D;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GAAG,MAAM;IAgBlE;;OAEG;IACH,gBAAgB,IAAI,SAAS,mBAAmB,EAAE;IAQlD;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmFvF;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAoDpF;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,YAAY;IA+ChF;;OAEG;IACG,gBAAgB,CACpB,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,uBAA4B,EACrC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,sBAAsB,CAAC;IA6HlC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuCjD;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAwB1D;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBvC;;OAEG;IACH,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAiBxC;;;;;OAKG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAY3C;;OAEG;IACH,QAAQ,IAAI,WAAW;IAkBvB;;OAEG;IACH,UAAU,IAAI,IAAI;IAmBlB;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAYvD;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM;IAgB5C;;OAEG;IACH,OAAO,IAAI,IAAI;IAWf;;OAEG;YACW,gBAAgB;IAsE9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyB9B;;OAEG;YACW,eAAe;IAiC7B;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAwFhC;;OAEG;YACW,kBAAkB;IAoDhC;;OAEG;YACW,gBAAgB;IAuC9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAyBnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAyBtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;;OAGG;YACW,2BAA2B;IAsEzC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8B7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,SAAS;CAalB;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAEnE"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Agentic Tool-Execution Loop
3
+ *
4
+ * `createRunTools(bridge)` builds the `bridge.runTools()` method: execute →
5
+ * if the model requests tools, run their handlers → append results →
6
+ * re-execute, until the model answers or `maxIterations` is exhausted.
7
+ *
8
+ * @module
9
+ */
10
+ import type { IRChatRequest, IRChatResponse, RunToolsOptions, RunToolsResult } from 'ai.matey.types';
11
+ /**
12
+ * The subset of Bridge that runTools needs (avoids a circular type import).
13
+ */
14
+ export interface RunToolsBridge {
15
+ executeIR(request: IRChatRequest, options?: {
16
+ signal?: AbortSignal;
17
+ }): Promise<IRChatResponse>;
18
+ readonly frontend: {
19
+ readonly metadata: {
20
+ readonly name: string;
21
+ };
22
+ };
23
+ }
24
+ /**
25
+ * Create the runTools function for a Bridge.
26
+ */
27
+ export declare function createRunTools(bridge: RunToolsBridge): (options: RunToolsOptions) => Promise<RunToolsResult>;
28
+ //# sourceMappingURL=run-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-tools.d.ts","sourceRoot":"","sources":["../../src/run-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAId,eAAe,EACf,cAAc,EAEf,MAAM,gBAAgB,CAAC;AASxB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/F,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CACrE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,GACrB,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,cAAc,CAAC,CAqKvD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai.matey.core",
3
- "version": "0.2.0",
3
+ "version": "0.3.2",
4
4
  "description": "Core components for AI Matey - Universal AI Adapter System",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",