@dbx-tools/appkit-model-gateway 0.9.190 → 0.9.193
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 +6 -0
- package/index.ts +7 -1
- package/lib/index.d.ts +7 -1
- package/lib/index.js +6 -2
- package/lib/src/ai-decide.d.ts +50 -0
- package/lib/src/ai-decide.js +406 -0
- package/lib/src/gateway.d.ts +6 -2
- package/lib/src/gateway.js +72 -16
- package/lib/src/model-context.d.ts +32 -0
- package/lib/src/model-context.js +270 -0
- package/lib/src/models.d.ts +3 -3
- package/lib/src/models.js +55 -8
- package/lib/src/reasoning-adapt.js +2 -5
- package/lib/src/routes.js +18 -2
- package/lib/src/smart-router.d.ts +4 -7
- package/lib/src/smart-router.js +7 -175
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/ai-decide.ts +552 -0
- package/src/gateway.ts +96 -14
- package/src/model-context.ts +306 -0
- package/src/models.ts +66 -4
- package/src/reasoning-adapt.ts +1 -5
- package/src/routes.ts +16 -0
- package/src/smart-router.ts +8 -187
package/README.md
CHANGED
|
@@ -151,6 +151,12 @@ discovered value.
|
|
|
151
151
|
`Originator: codex`. Codex slugs prefer fully qualified Databricks model service
|
|
152
152
|
names.
|
|
153
153
|
|
|
154
|
+
Add `metadata=true` to either the standard or Codex request to include the
|
|
155
|
+
optional dbx-tools metadata object on each model. Its latency and rating fields
|
|
156
|
+
each expose a root sortable score plus nested measurements or source rankings.
|
|
157
|
+
The default response omits the field so existing OpenAI and Codex clients keep
|
|
158
|
+
their current payload shape.
|
|
159
|
+
|
|
154
160
|
Codex merges provider models with its bundled catalogue. The gateway reserves a
|
|
155
161
|
separate provider priority range so bundled recommendations remain together,
|
|
156
162
|
then places Smart Router before the Databricks model list. Codex-specific model
|
package/index.ts
CHANGED
|
@@ -3,8 +3,10 @@
|
|
|
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.193";
|
|
7
|
+
export * as aIDecide from "./src/ai-decide.ts";
|
|
7
8
|
export * as gateway from "./src/gateway.ts";
|
|
9
|
+
export * as modelContext from "./src/model-context.ts";
|
|
8
10
|
export * as models from "./src/models.ts";
|
|
9
11
|
export * as plugin from "./src/plugin.ts";
|
|
10
12
|
export * as reasoningAdapt from "./src/reasoning-adapt.ts";
|
|
@@ -14,8 +16,12 @@ export * as routes from "./src/routes.ts";
|
|
|
14
16
|
export * as smartRouter from "./src/smart-router.ts";
|
|
15
17
|
export * as translation from "./src/translation.ts";
|
|
16
18
|
export * as transport from "./src/transport.ts";
|
|
19
|
+
export { AiDecideRouterService, AiDecideRouterError } from "./src/ai-decide.ts";
|
|
20
|
+
export type { AiDecideSelectionOptions, AiDecideSelection } from "./src/ai-decide.ts";
|
|
17
21
|
export { ModelGatewayError, ModelGateway, sanitizeInferenceBody, adaptInferenceTemperature, gatewayModelSelection } from "./src/gateway.ts";
|
|
18
22
|
export type { ModelGatewayOptions } from "./src/gateway.ts";
|
|
23
|
+
export { normalizeModelContext } from "./src/model-context.ts";
|
|
24
|
+
export type { ModelContextEvent, NormalizeModelContextOptions, NormalizedModelContext } from "./src/model-context.ts";
|
|
19
25
|
export { listModelsPayload, codexModelSlug } from "./src/models.ts";
|
|
20
26
|
export { ModelGatewayPlugin, modelGateway } from "./src/plugin.ts";
|
|
21
27
|
export type { ModelGatewayPluginConfig } from "./src/plugin.ts";
|
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
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.193";
|
|
3
|
+
export * as aIDecide from "./src/ai-decide.ts";
|
|
3
4
|
export * as gateway from "./src/gateway.ts";
|
|
5
|
+
export * as modelContext from "./src/model-context.ts";
|
|
4
6
|
export * as models from "./src/models.ts";
|
|
5
7
|
export * as plugin from "./src/plugin.ts";
|
|
6
8
|
export * as reasoningAdapt from "./src/reasoning-adapt.ts";
|
|
@@ -10,8 +12,12 @@ export * as routes from "./src/routes.ts";
|
|
|
10
12
|
export * as smartRouter from "./src/smart-router.ts";
|
|
11
13
|
export * as translation from "./src/translation.ts";
|
|
12
14
|
export * as transport from "./src/transport.ts";
|
|
15
|
+
export { AiDecideRouterService, AiDecideRouterError } from "./src/ai-decide.ts";
|
|
16
|
+
export type { AiDecideSelectionOptions, AiDecideSelection } from "./src/ai-decide.ts";
|
|
13
17
|
export { ModelGatewayError, ModelGateway, sanitizeInferenceBody, adaptInferenceTemperature, gatewayModelSelection } from "./src/gateway.ts";
|
|
14
18
|
export type { ModelGatewayOptions } from "./src/gateway.ts";
|
|
19
|
+
export { normalizeModelContext } from "./src/model-context.ts";
|
|
20
|
+
export type { ModelContextEvent, NormalizeModelContextOptions, NormalizedModelContext } from "./src/model-context.ts";
|
|
15
21
|
export { listModelsPayload, codexModelSlug } from "./src/models.ts";
|
|
16
22
|
export { ModelGatewayPlugin, modelGateway } from "./src/plugin.ts";
|
|
17
23
|
export type { ModelGatewayPluginConfig } from "./src/plugin.ts";
|
package/lib/index.js
CHANGED
|
@@ -2,8 +2,10 @@
|
|
|
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.193";
|
|
6
|
+
export * as aIDecide from "./src/ai-decide.js";
|
|
6
7
|
export * as gateway from "./src/gateway.js";
|
|
8
|
+
export * as modelContext from "./src/model-context.js";
|
|
7
9
|
export * as models from "./src/models.js";
|
|
8
10
|
export * as plugin from "./src/plugin.js";
|
|
9
11
|
export * as reasoningAdapt from "./src/reasoning-adapt.js";
|
|
@@ -13,7 +15,9 @@ export * as routes from "./src/routes.js";
|
|
|
13
15
|
export * as smartRouter from "./src/smart-router.js";
|
|
14
16
|
export * as translation from "./src/translation.js";
|
|
15
17
|
export * as transport from "./src/transport.js";
|
|
18
|
+
export { AiDecideRouterService, AiDecideRouterError } from "./src/ai-decide.js";
|
|
16
19
|
export { ModelGatewayError, ModelGateway, sanitizeInferenceBody, adaptInferenceTemperature, gatewayModelSelection } from "./src/gateway.js";
|
|
20
|
+
export { normalizeModelContext } from "./src/model-context.js";
|
|
17
21
|
export { listModelsPayload, codexModelSlug } from "./src/models.js";
|
|
18
22
|
export { ModelGatewayPlugin, modelGateway } from "./src/plugin.js";
|
|
19
23
|
export { adaptInferenceReasoning, learnAndAdaptReasoningRetry } from "./src/reasoning-adapt.js";
|
|
@@ -23,4 +27,4 @@ export { sendHealth, sendModels, sendInference } from "./src/routes.js";
|
|
|
23
27
|
export { SMART_ROUTER_DEFAULT_SETTINGS, SmartRouterProbeRecordSchema, SmartRouterError, AppKitSmartRouterStore, AppKitSmartRouterProbeStore, SmartRouterService, smartRouterCandidates, SmartRouterContextBuilder, SmartModelRouter, smartRouterTurnKey } from "./src/smart-router.js";
|
|
24
28
|
export { translateGatewayRequest } from "./src/translation.js";
|
|
25
29
|
export { fetchDatabricks, directDatabricksRequestBody, gatewayResponseHeaders } from "./src/transport.js";
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxpQ0FBaUMsQ0FBQztBQUNwRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxRQUFRLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssWUFBWSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssY0FBYyxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sS0FBSyxRQUFRLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxXQUFXLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxLQUFLLFdBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssU0FBUyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1SSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNySCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsNEJBQTRCLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2UixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLDJCQUEyQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHRU5FUkFURUQgYnkgcHJvamVuIHdhdGNoIC0gRE8gTk9UIEVESVQuXG4vLyBSZWdlbmVyYXRlZCBmcm9tIHRoZSBleHBvcnRpbmcgbW9kdWxlcyBpbiAuL3NyYy5cbi8vIEhhbmQgZWRpdHMgYXJlIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IHdhdGNoOyB0aGlzIGZpbGUgaXMgcmVhZC1vbmx5LlxuXG5leHBvcnQgY29uc3QgUEFDS0FHRV9JREVOVElGSUVSID0gXCJAZGJ4LXRvb2xzL2FwcGtpdC1tb2RlbC1nYXRld2F5XCI7XG5leHBvcnQgY29uc3QgUEFDS0FHRV9WRVJTSU9OID0gXCIwLjkuMTkzXCI7XG5leHBvcnQgKiBhcyBhSURlY2lkZSBmcm9tIFwiLi9zcmMvYWktZGVjaWRlLnRzXCI7XG5leHBvcnQgKiBhcyBnYXRld2F5IGZyb20gXCIuL3NyYy9nYXRld2F5LnRzXCI7XG5leHBvcnQgKiBhcyBtb2RlbENvbnRleHQgZnJvbSBcIi4vc3JjL21vZGVsLWNvbnRleHQudHNcIjtcbmV4cG9ydCAqIGFzIG1vZGVscyBmcm9tIFwiLi9zcmMvbW9kZWxzLnRzXCI7XG5leHBvcnQgKiBhcyBwbHVnaW4gZnJvbSBcIi4vc3JjL3BsdWdpbi50c1wiO1xuZXhwb3J0ICogYXMgcmVhc29uaW5nQWRhcHQgZnJvbSBcIi4vc3JjL3JlYXNvbmluZy1hZGFwdC50c1wiO1xuZXhwb3J0ICogYXMgcmVnaXN0cnkgZnJvbSBcIi4vc3JjL3JlZ2lzdHJ5LnRzXCI7XG5leHBvcnQgKiBhcyByb3V0ZXIgZnJvbSBcIi4vc3JjL3JvdXRlci50c1wiO1xuZXhwb3J0ICogYXMgcm91dGVzIGZyb20gXCIuL3NyYy9yb3V0ZXMudHNcIjtcbmV4cG9ydCAqIGFzIHNtYXJ0Um91dGVyIGZyb20gXCIuL3NyYy9zbWFydC1yb3V0ZXIudHNcIjtcbmV4cG9ydCAqIGFzIHRyYW5zbGF0aW9uIGZyb20gXCIuL3NyYy90cmFuc2xhdGlvbi50c1wiO1xuZXhwb3J0ICogYXMgdHJhbnNwb3J0IGZyb20gXCIuL3NyYy90cmFuc3BvcnQudHNcIjtcbmV4cG9ydCB7IEFpRGVjaWRlUm91dGVyU2VydmljZSwgQWlEZWNpZGVSb3V0ZXJFcnJvciB9IGZyb20gXCIuL3NyYy9haS1kZWNpZGUudHNcIjtcbmV4cG9ydCB0eXBlIHsgQWlEZWNpZGVTZWxlY3Rpb25PcHRpb25zLCBBaURlY2lkZVNlbGVjdGlvbiB9IGZyb20gXCIuL3NyYy9haS1kZWNpZGUudHNcIjtcbmV4cG9ydCB7IE1vZGVsR2F0ZXdheUVycm9yLCBNb2RlbEdhdGV3YXksIHNhbml0aXplSW5mZXJlbmNlQm9keSwgYWRhcHRJbmZlcmVuY2VUZW1wZXJhdHVyZSwgZ2F0ZXdheU1vZGVsU2VsZWN0aW9uIH0gZnJvbSBcIi4vc3JjL2dhdGV3YXkudHNcIjtcbmV4cG9ydCB0eXBlIHsgTW9kZWxHYXRld2F5T3B0aW9ucyB9IGZyb20gXCIuL3NyYy9nYXRld2F5LnRzXCI7XG5leHBvcnQgeyBub3JtYWxpemVNb2RlbENvbnRleHQgfSBmcm9tIFwiLi9zcmMvbW9kZWwtY29udGV4dC50c1wiO1xuZXhwb3J0IHR5cGUgeyBNb2RlbENvbnRleHRFdmVudCwgTm9ybWFsaXplTW9kZWxDb250ZXh0T3B0aW9ucywgTm9ybWFsaXplZE1vZGVsQ29udGV4dCB9IGZyb20gXCIuL3NyYy9tb2RlbC1jb250ZXh0LnRzXCI7XG5leHBvcnQgeyBsaXN0TW9kZWxzUGF5bG9hZCwgY29kZXhNb2RlbFNsdWcgfSBmcm9tIFwiLi9zcmMvbW9kZWxzLnRzXCI7XG5leHBvcnQgeyBNb2RlbEdhdGV3YXlQbHVnaW4sIG1vZGVsR2F0ZXdheSB9IGZyb20gXCIuL3NyYy9wbHVnaW4udHNcIjtcbmV4cG9ydCB0eXBlIHsgTW9kZWxHYXRld2F5UGx1Z2luQ29uZmlnIH0gZnJvbSBcIi4vc3JjL3BsdWdpbi50c1wiO1xuZXhwb3J0IHsgYWRhcHRJbmZlcmVuY2VSZWFzb25pbmcsIGxlYXJuQW5kQWRhcHRSZWFzb25pbmdSZXRyeSB9IGZyb20gXCIuL3NyYy9yZWFzb25pbmctYWRhcHQudHNcIjtcbmV4cG9ydCB0eXBlIHsgQWRhcHRlZEluZmVyZW5jZUJvZHkgfSBmcm9tIFwiLi9zcmMvcmVhc29uaW5nLWFkYXB0LnRzXCI7XG5leHBvcnQgeyBEYXRhYnJpY2tzTW9kZWxSZWdpc3RyeSB9IGZyb20gXCIuL3NyYy9yZWdpc3RyeS50c1wiO1xuZXhwb3J0IHR5cGUgeyBNb2RlbFJlZ2lzdHJ5UmVzb2x2ZU9wdGlvbnMsIE1vZGVsUmVnaXN0cnksIE1vZGVsUmVnaXN0cnlPcHRpb25zIH0gZnJvbSBcIi4vc3JjL3JlZ2lzdHJ5LnRzXCI7XG5leHBvcnQgeyBVbnN1cHBvcnRlZEdhdGV3YXlGZWF0dXJlRXJyb3IsIHJlc29sdmVSb3V0ZSwgcmVxdWVzdGVkRmVhdHVyZXMsIGlzQ29kZXhPcmlnaW5hdG9yIH0gZnJvbSBcIi4vc3JjL3JvdXRlci50c1wiO1xuZXhwb3J0IHsgc2VuZEhlYWx0aCwgc2VuZE1vZGVscywgc2VuZEluZmVyZW5jZSB9IGZyb20gXCIuL3NyYy9yb3V0ZXMudHNcIjtcbmV4cG9ydCB7IFNNQVJUX1JPVVRFUl9ERUZBVUxUX1NFVFRJTkdTLCBTbWFydFJvdXRlclByb2JlUmVjb3JkU2NoZW1hLCBTbWFydFJvdXRlckVycm9yLCBBcHBLaXRTbWFydFJvdXRlclN0b3JlLCBBcHBLaXRTbWFydFJvdXRlclByb2JlU3RvcmUsIFNtYXJ0Um91dGVyU2VydmljZSwgc21hcnRSb3V0ZXJDYW5kaWRhdGVzLCBTbWFydFJvdXRlckNvbnRleHRCdWlsZGVyLCBTbWFydE1vZGVsUm91dGVyLCBzbWFydFJvdXRlclR1cm5LZXkgfSBmcm9tIFwiLi9zcmMvc21hcnQtcm91dGVyLnRzXCI7XG5leHBvcnQgdHlwZSB7IFNtYXJ0Um91dGVyU2V0dGluZ3MsIFNtYXJ0Um91dGVyQ2FuZGlkYXRlLCBTbWFydFJvdXRlclNlbGVjdGlvbiwgU21hcnRSb3V0ZXJTdG9yZSwgU21hcnRSb3V0ZXJQcm9iZVJlY29yZCwgU21hcnRSb3V0ZXJQcm9iZVN0b3JlLCBTbWFydFJvdXRlclJlc3VsdCwgU21hcnRSb3V0ZXJDb250ZXh0LCBTbWFydFJvdXRlclNlbGVjdE9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvc21hcnQtcm91dGVyLnRzXCI7XG5leHBvcnQgeyB0cmFuc2xhdGVHYXRld2F5UmVxdWVzdCB9IGZyb20gXCIuL3NyYy90cmFuc2xhdGlvbi50c1wiO1xuZXhwb3J0IHsgZmV0Y2hEYXRhYnJpY2tzLCBkaXJlY3REYXRhYnJpY2tzUmVxdWVzdEJvZHksIGdhdGV3YXlSZXNwb25zZUhlYWRlcnMgfSBmcm9tIFwiLi9zcmMvdHJhbnNwb3J0LnRzXCI7XG5leHBvcnQgdHlwZSB7IERhdGFicmlja3NUcmFuc3BvcnRSZXF1ZXN0IH0gZnJvbSBcIi4vc3JjL3RyYW5zcG9ydC50c1wiO1xuIl19
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Databricks AI Functions `ai_decide` model selection.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import { type WorkspaceClient } from "@databricks/appkit";
|
|
7
|
+
import { type ServingEndpointSummary } from "@dbx-tools/shared-model";
|
|
8
|
+
import { type AiDecideModelFilters, type AiDecideObservation, type AiDecideStrategy } from "@dbx-tools/shared-model-gateway";
|
|
9
|
+
import { type SmartRouterProbeStore } from "./smart-router.ts";
|
|
10
|
+
/** Selection policy accepted by {@link AiDecideRouterService.select}. */
|
|
11
|
+
export interface AiDecideSelectionOptions {
|
|
12
|
+
readonly strategy?: AiDecideStrategy;
|
|
13
|
+
readonly filters?: AiDecideModelFilters;
|
|
14
|
+
readonly signal?: AbortSignal;
|
|
15
|
+
readonly timeoutMs?: number;
|
|
16
|
+
}
|
|
17
|
+
/** Concrete endpoint and observable decision returned by `ai_decide`. */
|
|
18
|
+
export interface AiDecideSelection {
|
|
19
|
+
readonly endpoint: ServingEndpointSummary;
|
|
20
|
+
readonly observation: AiDecideObservation;
|
|
21
|
+
}
|
|
22
|
+
type AiDecideInvoker = (client: WorkspaceClient, body: Readonly<Record<string, unknown>>, signal: AbortSignal, timeoutMs: number) => Promise<unknown>;
|
|
23
|
+
/** Select the best sufficient live foundation model through Databricks `ai_decide`. */
|
|
24
|
+
export declare class AiDecideRouterService {
|
|
25
|
+
private readonly invoke;
|
|
26
|
+
private readonly probeStore;
|
|
27
|
+
private readonly context;
|
|
28
|
+
private readonly probes;
|
|
29
|
+
private readonly probeCaches;
|
|
30
|
+
constructor(invoke?: AiDecideInvoker, probeStore?: SmartRouterProbeStore);
|
|
31
|
+
select(input: unknown, endpoints: readonly ServingEndpointSummary[], client?: WorkspaceClient | undefined, options?: AiDecideSelectionOptions): Promise<AiDecideSelection>;
|
|
32
|
+
/** Probe and memoize whether the active workspace identity can call `ai_decide`. */
|
|
33
|
+
isEnabled(endpoints: readonly ServingEndpointSummary[], client?: WorkspaceClient | undefined): Promise<boolean>;
|
|
34
|
+
/** Stop process-local probe caches after active refreshes settle. */
|
|
35
|
+
dispose(): void;
|
|
36
|
+
private loadProbe;
|
|
37
|
+
private setProbeValue;
|
|
38
|
+
private probeRecord;
|
|
39
|
+
private probeTtl;
|
|
40
|
+
private readStoredProbe;
|
|
41
|
+
private writeProcessProbe;
|
|
42
|
+
private writeStoredProbe;
|
|
43
|
+
private probeCache;
|
|
44
|
+
}
|
|
45
|
+
/** HTTP failure returned by the Databricks AI Functions router. */
|
|
46
|
+
export declare class AiDecideRouterError extends Error {
|
|
47
|
+
readonly status: number;
|
|
48
|
+
constructor(status: number, message: string);
|
|
49
|
+
}
|
|
50
|
+
export {};
|