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.
- package/CHANGELOG.md +68 -0
- package/dist/cjs/bridge.js +189 -4
- package/dist/cjs/bridge.js.map +1 -1
- package/dist/cjs/capability-inference.js +116 -1
- package/dist/cjs/capability-inference.js.map +1 -1
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/model-pricing.js +56 -280
- package/dist/cjs/model-pricing.js.map +1 -1
- package/dist/cjs/model-translation.js +1 -1
- package/dist/cjs/router.js +149 -49
- package/dist/cjs/router.js.map +1 -1
- package/dist/cjs/run-tools.js +169 -0
- package/dist/cjs/run-tools.js.map +1 -0
- package/dist/esm/bridge.js +189 -4
- package/dist/esm/bridge.js.map +1 -1
- package/dist/esm/capability-inference.js +116 -1
- package/dist/esm/capability-inference.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/model-pricing.js +56 -280
- package/dist/esm/model-pricing.js.map +1 -1
- package/dist/esm/model-translation.js +1 -1
- package/dist/esm/router.js +149 -49
- package/dist/esm/router.js.map +1 -1
- package/dist/esm/run-tools.js +166 -0
- package/dist/esm/run-tools.js.map +1 -0
- package/dist/types/bridge.d.ts +57 -0
- package/dist/types/bridge.d.ts.map +1 -1
- package/dist/types/capability-inference.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model-pricing.d.ts +15 -9
- package/dist/types/model-pricing.d.ts.map +1 -1
- package/dist/types/model-translation.d.ts +1 -1
- package/dist/types/router.d.ts +18 -0
- package/dist/types/router.d.ts.map +1 -1
- package/dist/types/run-tools.d.ts +28 -0
- package/dist/types/run-tools.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/types/bridge.d.ts
CHANGED
|
@@ -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":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,gBAAgB,CAAC;
|
|
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;
|
|
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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
5
|
-
*
|
|
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-
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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
|
|
96
|
+
* @param defaultOptions - Default translation options
|
|
97
97
|
* @returns Translator function
|
|
98
98
|
*
|
|
99
99
|
* @example
|
package/dist/types/router.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|