@dbx-tools/appkit-model-gateway 0.9.176 → 0.9.177
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/index.ts +2 -2
- package/lib/index.d.ts +2 -2
- package/lib/index.js +3 -3
- package/lib/src/smart-router.d.ts +15 -16
- package/lib/src/smart-router.js +84 -137
- package/package.json +8 -7
- package/src/smart-router.ts +102 -147
package/README.md
CHANGED
|
@@ -67,7 +67,10 @@ Before returning `GET /v1/models`, the gateway makes one memoized
|
|
|
67
67
|
`/ai-gateway/routing/v1/routes:select`. The virtual model is listed only when
|
|
68
68
|
that request succeeds for the active identity and live `system.ai.*`
|
|
69
69
|
candidates. Positive probes are shared for five minutes and concurrent probes
|
|
70
|
-
coalesce into one request.
|
|
70
|
+
coalesce into one request. Stale values are returned immediately while
|
|
71
|
+
`@dbx-tools/cache` `refreshAfterWrite` coalesces one access-triggered background
|
|
72
|
+
refresh. An explicit inference request skips this synthetic preflight because
|
|
73
|
+
its real route selection is already the availability check.
|
|
71
74
|
|
|
72
75
|
For inference, the gateway extracts bounded task context from Responses input,
|
|
73
76
|
Chat Completions or Anthropic messages, plain text, or generic JSON objects. It
|
package/index.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
|
|
5
5
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/appkit-model-gateway";
|
|
6
|
-
export const PACKAGE_VERSION = "0.9.
|
|
6
|
+
export const PACKAGE_VERSION = "0.9.177";
|
|
7
7
|
export * as gateway from "./src/gateway.ts";
|
|
8
8
|
export * as models from "./src/models.ts";
|
|
9
9
|
export * as plugin from "./src/plugin.ts";
|
|
@@ -25,7 +25,7 @@ export { DatabricksModelRegistry } from "./src/registry.ts";
|
|
|
25
25
|
export type { ModelRegistryResolveOptions, ModelRegistry, ModelRegistryOptions } from "./src/registry.ts";
|
|
26
26
|
export { UnsupportedGatewayFeatureError, resolveRoute, requestedFeatures, isCodexOriginator } from "./src/router.ts";
|
|
27
27
|
export { sendHealth, sendModels, sendInference } from "./src/routes.ts";
|
|
28
|
-
export { SmartRouterProbeRecordSchema, SmartRouterError, AppKitSmartRouterStore, AppKitSmartRouterProbeStore, SmartRouterService, smartRouterCandidates, SmartRouterContextBuilder, SmartModelRouter, smartRouterTurnKey
|
|
28
|
+
export { SMART_ROUTER_DEFAULT_SETTINGS, SmartRouterProbeRecordSchema, SmartRouterError, AppKitSmartRouterStore, AppKitSmartRouterProbeStore, SmartRouterService, smartRouterCandidates, SmartRouterContextBuilder, SmartModelRouter, smartRouterTurnKey } from "./src/smart-router.ts";
|
|
29
29
|
export type { SmartRouterSettings, SmartRouterCandidate, SmartRouterSelection, SmartRouterStore, SmartRouterProbeRecord, SmartRouterProbeStore, SmartRouterResult, SmartRouterContext, SmartRouterSelectOptions } from "./src/smart-router.ts";
|
|
30
30
|
export { translateGatewayRequest } from "./src/translation.ts";
|
|
31
31
|
export { fetchDatabricks, directDatabricksRequestBody, gatewayResponseHeaders } from "./src/transport.ts";
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const PACKAGE_IDENTIFIER = "@dbx-tools/appkit-model-gateway";
|
|
2
|
-
export declare const PACKAGE_VERSION = "0.9.
|
|
2
|
+
export declare const PACKAGE_VERSION = "0.9.177";
|
|
3
3
|
export * as gateway from "./src/gateway.ts";
|
|
4
4
|
export * as models from "./src/models.ts";
|
|
5
5
|
export * as plugin from "./src/plugin.ts";
|
|
@@ -21,7 +21,7 @@ export { DatabricksModelRegistry } from "./src/registry.ts";
|
|
|
21
21
|
export type { ModelRegistryResolveOptions, ModelRegistry, ModelRegistryOptions } from "./src/registry.ts";
|
|
22
22
|
export { UnsupportedGatewayFeatureError, resolveRoute, requestedFeatures, isCodexOriginator } from "./src/router.ts";
|
|
23
23
|
export { sendHealth, sendModels, sendInference } from "./src/routes.ts";
|
|
24
|
-
export { SmartRouterProbeRecordSchema, SmartRouterError, AppKitSmartRouterStore, AppKitSmartRouterProbeStore, SmartRouterService, smartRouterCandidates, SmartRouterContextBuilder, SmartModelRouter, smartRouterTurnKey
|
|
24
|
+
export { SMART_ROUTER_DEFAULT_SETTINGS, SmartRouterProbeRecordSchema, SmartRouterError, AppKitSmartRouterStore, AppKitSmartRouterProbeStore, SmartRouterService, smartRouterCandidates, SmartRouterContextBuilder, SmartModelRouter, smartRouterTurnKey } from "./src/smart-router.ts";
|
|
25
25
|
export type { SmartRouterSettings, SmartRouterCandidate, SmartRouterSelection, SmartRouterStore, SmartRouterProbeRecord, SmartRouterProbeStore, SmartRouterResult, SmartRouterContext, SmartRouterSelectOptions } from "./src/smart-router.ts";
|
|
26
26
|
export { translateGatewayRequest } from "./src/translation.ts";
|
|
27
27
|
export { fetchDatabricks, directDatabricksRequestBody, gatewayResponseHeaders } from "./src/transport.ts";
|
package/lib/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Regenerated from the exporting modules in ./src.
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/appkit-model-gateway";
|
|
5
|
-
export const PACKAGE_VERSION = "0.9.
|
|
5
|
+
export const PACKAGE_VERSION = "0.9.177";
|
|
6
6
|
export * as gateway from "./src/gateway.js";
|
|
7
7
|
export * as models from "./src/models.js";
|
|
8
8
|
export * as plugin from "./src/plugin.js";
|
|
@@ -20,7 +20,7 @@ export { adaptInferenceReasoning, learnAndAdaptReasoningRetry } from "./src/reas
|
|
|
20
20
|
export { DatabricksModelRegistry } from "./src/registry.js";
|
|
21
21
|
export { UnsupportedGatewayFeatureError, resolveRoute, requestedFeatures, isCodexOriginator } from "./src/router.js";
|
|
22
22
|
export { sendHealth, sendModels, sendInference } from "./src/routes.js";
|
|
23
|
-
export { SmartRouterProbeRecordSchema, SmartRouterError, AppKitSmartRouterStore, AppKitSmartRouterProbeStore, SmartRouterService, smartRouterCandidates, SmartRouterContextBuilder, SmartModelRouter, smartRouterTurnKey
|
|
23
|
+
export { SMART_ROUTER_DEFAULT_SETTINGS, SmartRouterProbeRecordSchema, SmartRouterError, AppKitSmartRouterStore, AppKitSmartRouterProbeStore, SmartRouterService, smartRouterCandidates, SmartRouterContextBuilder, SmartModelRouter, smartRouterTurnKey } from "./src/smart-router.js";
|
|
24
24
|
export { translateGatewayRequest } from "./src/translation.js";
|
|
25
25
|
export { fetchDatabricks, directDatabricksRequestBody, gatewayResponseHeaders } from "./src/transport.js";
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxpQ0FBaUMsQ0FBQztBQUNwRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxjQUFjLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxLQUFLLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLFdBQVcsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEtBQUssV0FBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxTQUFTLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSx5QkFBeUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFNUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JILE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSw0QkFBNEIsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSwyQkFBMkIsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZSLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsMkJBQTJCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBwcm9qZW4gd2F0Y2ggLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gdGhlIGV4cG9ydGluZyBtb2R1bGVzIGluIC4vc3JjLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gb24gdGhlIG5leHQgd2F0Y2g7IHRoaXMgZmlsZSBpcyByZWFkLW9ubHkuXG5cbmV4cG9ydCBjb25zdCBQQUNLQUdFX0lERU5USUZJRVIgPSBcIkBkYngtdG9vbHMvYXBwa2l0LW1vZGVsLWdhdGV3YXlcIjtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX1ZFUlNJT04gPSBcIjAuOS4xNzdcIjtcbmV4cG9ydCAqIGFzIGdhdGV3YXkgZnJvbSBcIi4vc3JjL2dhdGV3YXkudHNcIjtcbmV4cG9ydCAqIGFzIG1vZGVscyBmcm9tIFwiLi9zcmMvbW9kZWxzLnRzXCI7XG5leHBvcnQgKiBhcyBwbHVnaW4gZnJvbSBcIi4vc3JjL3BsdWdpbi50c1wiO1xuZXhwb3J0ICogYXMgcmVhc29uaW5nQWRhcHQgZnJvbSBcIi4vc3JjL3JlYXNvbmluZy1hZGFwdC50c1wiO1xuZXhwb3J0ICogYXMgcmVnaXN0cnkgZnJvbSBcIi4vc3JjL3JlZ2lzdHJ5LnRzXCI7XG5leHBvcnQgKiBhcyByb3V0ZXIgZnJvbSBcIi4vc3JjL3JvdXRlci50c1wiO1xuZXhwb3J0ICogYXMgcm91dGVzIGZyb20gXCIuL3NyYy9yb3V0ZXMudHNcIjtcbmV4cG9ydCAqIGFzIHNtYXJ0Um91dGVyIGZyb20gXCIuL3NyYy9zbWFydC1yb3V0ZXIudHNcIjtcbmV4cG9ydCAqIGFzIHRyYW5zbGF0aW9uIGZyb20gXCIuL3NyYy90cmFuc2xhdGlvbi50c1wiO1xuZXhwb3J0ICogYXMgdHJhbnNwb3J0IGZyb20gXCIuL3NyYy90cmFuc3BvcnQudHNcIjtcbmV4cG9ydCB7IE1vZGVsR2F0ZXdheUVycm9yLCBNb2RlbEdhdGV3YXksIHNhbml0aXplSW5mZXJlbmNlQm9keSwgYWRhcHRJbmZlcmVuY2VUZW1wZXJhdHVyZSwgZ2F0ZXdheU1vZGVsU2VsZWN0aW9uIH0gZnJvbSBcIi4vc3JjL2dhdGV3YXkudHNcIjtcbmV4cG9ydCB0eXBlIHsgTW9kZWxHYXRld2F5T3B0aW9ucyB9IGZyb20gXCIuL3NyYy9nYXRld2F5LnRzXCI7XG5leHBvcnQgeyBsaXN0TW9kZWxzUGF5bG9hZCwgY29kZXhNb2RlbFNsdWcgfSBmcm9tIFwiLi9zcmMvbW9kZWxzLnRzXCI7XG5leHBvcnQgeyBNb2RlbEdhdGV3YXlQbHVnaW4sIG1vZGVsR2F0ZXdheSB9IGZyb20gXCIuL3NyYy9wbHVnaW4udHNcIjtcbmV4cG9ydCB0eXBlIHsgTW9kZWxHYXRld2F5UGx1Z2luQ29uZmlnIH0gZnJvbSBcIi4vc3JjL3BsdWdpbi50c1wiO1xuZXhwb3J0IHsgYWRhcHRJbmZlcmVuY2VSZWFzb25pbmcsIGxlYXJuQW5kQWRhcHRSZWFzb25pbmdSZXRyeSB9IGZyb20gXCIuL3NyYy9yZWFzb25pbmctYWRhcHQudHNcIjtcbmV4cG9ydCB0eXBlIHsgQWRhcHRlZEluZmVyZW5jZUJvZHkgfSBmcm9tIFwiLi9zcmMvcmVhc29uaW5nLWFkYXB0LnRzXCI7XG5leHBvcnQgeyBEYXRhYnJpY2tzTW9kZWxSZWdpc3RyeSB9IGZyb20gXCIuL3NyYy9yZWdpc3RyeS50c1wiO1xuZXhwb3J0IHR5cGUgeyBNb2RlbFJlZ2lzdHJ5UmVzb2x2ZU9wdGlvbnMsIE1vZGVsUmVnaXN0cnksIE1vZGVsUmVnaXN0cnlPcHRpb25zIH0gZnJvbSBcIi4vc3JjL3JlZ2lzdHJ5LnRzXCI7XG5leHBvcnQgeyBVbnN1cHBvcnRlZEdhdGV3YXlGZWF0dXJlRXJyb3IsIHJlc29sdmVSb3V0ZSwgcmVxdWVzdGVkRmVhdHVyZXMsIGlzQ29kZXhPcmlnaW5hdG9yIH0gZnJvbSBcIi4vc3JjL3JvdXRlci50c1wiO1xuZXhwb3J0IHsgc2VuZEhlYWx0aCwgc2VuZE1vZGVscywgc2VuZEluZmVyZW5jZSB9IGZyb20gXCIuL3NyYy9yb3V0ZXMudHNcIjtcbmV4cG9ydCB7IFNNQVJUX1JPVVRFUl9ERUZBVUxUX1NFVFRJTkdTLCBTbWFydFJvdXRlclByb2JlUmVjb3JkU2NoZW1hLCBTbWFydFJvdXRlckVycm9yLCBBcHBLaXRTbWFydFJvdXRlclN0b3JlLCBBcHBLaXRTbWFydFJvdXRlclByb2JlU3RvcmUsIFNtYXJ0Um91dGVyU2VydmljZSwgc21hcnRSb3V0ZXJDYW5kaWRhdGVzLCBTbWFydFJvdXRlckNvbnRleHRCdWlsZGVyLCBTbWFydE1vZGVsUm91dGVyLCBzbWFydFJvdXRlclR1cm5LZXkgfSBmcm9tIFwiLi9zcmMvc21hcnQtcm91dGVyLnRzXCI7XG5leHBvcnQgdHlwZSB7IFNtYXJ0Um91dGVyU2V0dGluZ3MsIFNtYXJ0Um91dGVyQ2FuZGlkYXRlLCBTbWFydFJvdXRlclNlbGVjdGlvbiwgU21hcnRSb3V0ZXJTdG9yZSwgU21hcnRSb3V0ZXJQcm9iZVJlY29yZCwgU21hcnRSb3V0ZXJQcm9iZVN0b3JlLCBTbWFydFJvdXRlclJlc3VsdCwgU21hcnRSb3V0ZXJDb250ZXh0LCBTbWFydFJvdXRlclNlbGVjdE9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvc21hcnQtcm91dGVyLnRzXCI7XG5leHBvcnQgeyB0cmFuc2xhdGVHYXRld2F5UmVxdWVzdCB9IGZyb20gXCIuL3NyYy90cmFuc2xhdGlvbi50c1wiO1xuZXhwb3J0IHsgZmV0Y2hEYXRhYnJpY2tzLCBkaXJlY3REYXRhYnJpY2tzUmVxdWVzdEJvZHksIGdhdGV3YXlSZXNwb25zZUhlYWRlcnMgfSBmcm9tIFwiLi9zcmMvdHJhbnNwb3J0LnRzXCI7XG5leHBvcnQgdHlwZSB7IERhdGFicmlja3NUcmFuc3BvcnRSZXF1ZXN0IH0gZnJvbSBcIi4vc3JjL3RyYW5zcG9ydC50c1wiO1xuIl19
|
|
@@ -15,6 +15,8 @@ export interface SmartRouterSettings {
|
|
|
15
15
|
readonly routerName: string;
|
|
16
16
|
readonly timeoutMs: number;
|
|
17
17
|
}
|
|
18
|
+
/** Defaults shared by gateway, Mastra, and CLI Smart Router callers. */
|
|
19
|
+
export declare const SMART_ROUTER_DEFAULT_SETTINGS: SmartRouterSettings;
|
|
18
20
|
/** One route option associated with the caller-owned value it represents. */
|
|
19
21
|
export interface SmartRouterCandidate<T> {
|
|
20
22
|
readonly harness: SmartRouterHarness;
|
|
@@ -84,34 +86,33 @@ type SmartRouterInvoker = (client: WorkspaceClient, request: SmartRouterRequest,
|
|
|
84
86
|
* and generic JSON-like inputs.
|
|
85
87
|
*/
|
|
86
88
|
export declare class SmartRouterService {
|
|
87
|
-
private readonly settings;
|
|
88
89
|
private readonly invoke;
|
|
89
90
|
private readonly probeStore;
|
|
90
91
|
readonly context: SmartRouterContextBuilder;
|
|
92
|
+
private readonly settings;
|
|
91
93
|
private readonly probes;
|
|
92
|
-
private readonly
|
|
93
|
-
private
|
|
94
|
-
constructor(settings
|
|
94
|
+
private readonly probeKeys;
|
|
95
|
+
private readonly probeCaches;
|
|
96
|
+
constructor(settings?: Partial<SmartRouterSettings>, invoke?: SmartRouterInvoker, probeStore?: SmartRouterProbeStore);
|
|
95
97
|
/** Select one offered route for arbitrary input content. */
|
|
96
98
|
select<T>(input: unknown, candidates: readonly SmartRouterCandidate<T>[], options?: SmartRouterSelectOptions): Promise<SmartRouterSelection<T>>;
|
|
97
99
|
/** Return a memoized live capability probe for the active identity and candidate menu. */
|
|
98
100
|
isEnabled<T>(candidates: readonly SmartRouterCandidate<T>[], client?: WorkspaceClient): Promise<boolean>;
|
|
99
|
-
/** Stop
|
|
101
|
+
/** Stop process-local probe caches after their active refreshes settle. */
|
|
100
102
|
dispose(): void;
|
|
101
|
-
private
|
|
102
|
-
private initializeProbe;
|
|
103
|
-
private refreshProbe;
|
|
103
|
+
private loadProbe;
|
|
104
104
|
private executeProbe;
|
|
105
105
|
private setProbeValue;
|
|
106
106
|
private setProbeUnavailable;
|
|
107
|
-
private
|
|
107
|
+
private probeRecord;
|
|
108
108
|
private readStoredProbe;
|
|
109
|
+
private writeProcessProbe;
|
|
109
110
|
private writeStoredProbe;
|
|
110
111
|
private probeCache;
|
|
111
|
-
private
|
|
112
|
+
private rememberProbeKey;
|
|
113
|
+
private probeCacheTtlMs;
|
|
112
114
|
private probeTtl;
|
|
113
|
-
private
|
|
114
|
-
private refreshProbes;
|
|
115
|
+
private probeRefreshAfterWrite;
|
|
115
116
|
private selectTask;
|
|
116
117
|
}
|
|
117
118
|
/** Build a Smart Router candidate menu from values carrying modelServiceName. */
|
|
@@ -133,11 +134,11 @@ export declare class SmartRouterContextBuilder {
|
|
|
133
134
|
}
|
|
134
135
|
/** Smart Router orchestration shared by Responses, Chat Completions, and Messages. */
|
|
135
136
|
export declare class SmartModelRouter {
|
|
136
|
-
private readonly settings;
|
|
137
137
|
private readonly store;
|
|
138
138
|
private readonly client?;
|
|
139
139
|
readonly service: SmartRouterService;
|
|
140
|
-
|
|
140
|
+
private readonly settings;
|
|
141
|
+
constructor(settings?: Partial<SmartRouterSettings>, service?: SmartRouterService | undefined, store?: SmartRouterStore, client?: WorkspaceClient | undefined);
|
|
141
142
|
/** Probe whether Smart Router is usable for the current model catalogue. */
|
|
142
143
|
isEnabled(targets: readonly ModelTarget[]): Promise<boolean>;
|
|
143
144
|
/** Resolve one virtual smart-router request to a concrete compatible target. */
|
|
@@ -155,6 +156,4 @@ export declare class SmartModelRouter {
|
|
|
155
156
|
}
|
|
156
157
|
/** Stable logical-turn key shared by initial requests and tool continuations. */
|
|
157
158
|
export declare function smartRouterTurnKey(logicalTurn: string, candidates: readonly SmartRouterCandidate<unknown>[], context: Readonly<Record<string, unknown>>): string;
|
|
158
|
-
/** Defaults shared by gateway, Mastra, and CLI Smart Router callers. */
|
|
159
|
-
export declare const SMART_ROUTER_DEFAULT_SETTINGS: SmartRouterSettings;
|
|
160
159
|
export {};
|