@dbx-tools/shared-model 0.9.19 → 0.9.28

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/index.ts CHANGED
@@ -3,11 +3,11 @@
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/shared-model";
6
- export const PACKAGE_VERSION = "0.9.19";
6
+ export const PACKAGE_VERSION = "0.9.28";
7
+ export * as contracts from "./src/contracts.ts";
7
8
  export * as display from "./src/display.ts";
8
9
  export * as model from "./src/model.ts";
9
10
  export * as openaiChat from "./src/openai-chat.ts";
10
- export { ModelClass, ReasoningEffortValues, ModelClassSchema, ModelProfileSchema, ReasoningEffortSchema, ModelStatusSchema, ServingEndpointSummarySchema, ModelQuerySchema, RankedModelSchema } from "./src/model.ts";
11
- export type { ModelProfile, ModelQuery, ModelStatus, RankedModel, ReasoningEffort, ServingEndpointSummary } from "./src/model.ts";
12
11
  export { UNSUPPORTED_CHAT_FIELDS } from "./src/openai-chat.ts";
13
12
  export type { ChatRole, ChatContentPart, ChatToolCallFunction, ChatToolCall, ChatMessage, ChatContentToTextOptions } from "./src/openai-chat.ts";
13
+ export * from "./exports.ts";
@@ -0,0 +1,3 @@
1
+ export { ModelClass, ReasoningEffort } from "./src/contracts.ts";
2
+ export type { ModelProfile, ModelQuery, ModelStatus, RankedModel, ServingEndpointSummary, } from "./src/contracts.ts";
3
+ export { ModelClassSchema, ModelProfileSchema, ModelQuerySchema, ModelStatusSchema, RankedModelSchema, ReasoningEffortSchema, ReasoningEffortValues, ServingEndpointSummarySchema, } from "./src/model.ts";
package/lib/exports.js ADDED
@@ -0,0 +1,3 @@
1
+ export { ModelClass, ReasoningEffort } from "./src/contracts.js";
2
+ export { ModelClassSchema, ModelProfileSchema, ModelQuerySchema, ModelStatusSchema, RankedModelSchema, ReasoningEffortSchema, ReasoningEffortValues, ServingEndpointSummarySchema, } from "./src/model.js";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2V4cG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQVFqRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLDRCQUE0QixHQUM3QixNQUFNLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTW9kZWxDbGFzcywgUmVhc29uaW5nRWZmb3J0IH0gZnJvbSBcIi4vc3JjL2NvbnRyYWN0cy50c1wiO1xuZXhwb3J0IHR5cGUge1xuICBNb2RlbFByb2ZpbGUsXG4gIE1vZGVsUXVlcnksXG4gIE1vZGVsU3RhdHVzLFxuICBSYW5rZWRNb2RlbCxcbiAgU2VydmluZ0VuZHBvaW50U3VtbWFyeSxcbn0gZnJvbSBcIi4vc3JjL2NvbnRyYWN0cy50c1wiO1xuZXhwb3J0IHtcbiAgTW9kZWxDbGFzc1NjaGVtYSxcbiAgTW9kZWxQcm9maWxlU2NoZW1hLFxuICBNb2RlbFF1ZXJ5U2NoZW1hLFxuICBNb2RlbFN0YXR1c1NjaGVtYSxcbiAgUmFua2VkTW9kZWxTY2hlbWEsXG4gIFJlYXNvbmluZ0VmZm9ydFNjaGVtYSxcbiAgUmVhc29uaW5nRWZmb3J0VmFsdWVzLFxuICBTZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5U2NoZW1hLFxufSBmcm9tIFwiLi9zcmMvbW9kZWwudHNcIjtcbiJdfQ==
package/lib/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  export declare const PACKAGE_IDENTIFIER = "@dbx-tools/shared-model";
2
- export declare const PACKAGE_VERSION = "0.9.19";
2
+ export declare const PACKAGE_VERSION = "0.9.28";
3
+ export * as contracts from "./src/contracts.ts";
3
4
  export * as display from "./src/display.ts";
4
5
  export * as model from "./src/model.ts";
5
6
  export * as openaiChat from "./src/openai-chat.ts";
6
- export { ModelClass, ReasoningEffortValues, ModelClassSchema, ModelProfileSchema, ReasoningEffortSchema, ModelStatusSchema, ServingEndpointSummarySchema, ModelQuerySchema, RankedModelSchema } from "./src/model.ts";
7
- export type { ModelProfile, ModelQuery, ModelStatus, RankedModel, ReasoningEffort, ServingEndpointSummary } from "./src/model.ts";
8
7
  export { UNSUPPORTED_CHAT_FIELDS } from "./src/openai-chat.ts";
9
8
  export type { ChatRole, ChatContentPart, ChatToolCallFunction, ChatToolCall, ChatMessage, ChatContentToTextOptions } from "./src/openai-chat.ts";
9
+ export * from "./exports.ts";
package/lib/index.js CHANGED
@@ -2,10 +2,11 @@
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/shared-model";
5
- export const PACKAGE_VERSION = "0.9.19";
5
+ export const PACKAGE_VERSION = "0.9.28";
6
+ export * as contracts from "./src/contracts.js";
6
7
  export * as display from "./src/display.js";
7
8
  export * as model from "./src/model.js";
8
9
  export * as openaiChat from "./src/openai-chat.js";
9
- export { ModelClass, ReasoningEffortValues, ModelClassSchema, ModelProfileSchema, ReasoningEffortSchema, ModelStatusSchema, ServingEndpointSummarySchema, ModelQuerySchema, RankedModelSchema } from "./src/model.js";
10
10
  export { UNSUPPORTED_CHAT_FIELDS } from "./src/openai-chat.js";
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxLQUFLLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEtBQUssVUFBVSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsNEJBQTRCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0TixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBwcm9qZW4gd2F0Y2ggLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gdGhlIGV4cG9ydGluZyBtb2R1bGVzIGluIC4vc3JjLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gb24gdGhlIG5leHQgd2F0Y2g7IHRoaXMgZmlsZSBpcyByZWFkLW9ubHkuXG5cbmV4cG9ydCBjb25zdCBQQUNLQUdFX0lERU5USUZJRVIgPSBcIkBkYngtdG9vbHMvc2hhcmVkLW1vZGVsXCI7XG5leHBvcnQgY29uc3QgUEFDS0FHRV9WRVJTSU9OID0gXCIwLjkuMTlcIjtcbmV4cG9ydCAqIGFzIGRpc3BsYXkgZnJvbSBcIi4vc3JjL2Rpc3BsYXkudHNcIjtcbmV4cG9ydCAqIGFzIG1vZGVsIGZyb20gXCIuL3NyYy9tb2RlbC50c1wiO1xuZXhwb3J0ICogYXMgb3BlbmFpQ2hhdCBmcm9tIFwiLi9zcmMvb3BlbmFpLWNoYXQudHNcIjtcbmV4cG9ydCB7IE1vZGVsQ2xhc3MsIFJlYXNvbmluZ0VmZm9ydFZhbHVlcywgTW9kZWxDbGFzc1NjaGVtYSwgTW9kZWxQcm9maWxlU2NoZW1hLCBSZWFzb25pbmdFZmZvcnRTY2hlbWEsIE1vZGVsU3RhdHVzU2NoZW1hLCBTZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5U2NoZW1hLCBNb2RlbFF1ZXJ5U2NoZW1hLCBSYW5rZWRNb2RlbFNjaGVtYSB9IGZyb20gXCIuL3NyYy9tb2RlbC50c1wiO1xuZXhwb3J0IHR5cGUgeyBNb2RlbFByb2ZpbGUsIE1vZGVsUXVlcnksIE1vZGVsU3RhdHVzLCBSYW5rZWRNb2RlbCwgUmVhc29uaW5nRWZmb3J0LCBTZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5IH0gZnJvbSBcIi4vc3JjL21vZGVsLnRzXCI7XG5leHBvcnQgeyBVTlNVUFBPUlRFRF9DSEFUX0ZJRUxEUyB9IGZyb20gXCIuL3NyYy9vcGVuYWktY2hhdC50c1wiO1xuZXhwb3J0IHR5cGUgeyBDaGF0Um9sZSwgQ2hhdENvbnRlbnRQYXJ0LCBDaGF0VG9vbENhbGxGdW5jdGlvbiwgQ2hhdFRvb2xDYWxsLCBDaGF0TWVzc2FnZSwgQ2hhdENvbnRlbnRUb1RleHRPcHRpb25zIH0gZnJvbSBcIi4vc3JjL29wZW5haS1jaGF0LnRzXCI7XG4iXX0=
11
+ export * from "./exports.js";
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxTQUFTLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxVQUFVLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0QsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHRU5FUkFURUQgYnkgcHJvamVuIHdhdGNoIC0gRE8gTk9UIEVESVQuXG4vLyBSZWdlbmVyYXRlZCBmcm9tIHRoZSBleHBvcnRpbmcgbW9kdWxlcyBpbiAuL3NyYy5cbi8vIEhhbmQgZWRpdHMgYXJlIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IHdhdGNoOyB0aGlzIGZpbGUgaXMgcmVhZC1vbmx5LlxuXG5leHBvcnQgY29uc3QgUEFDS0FHRV9JREVOVElGSUVSID0gXCJAZGJ4LXRvb2xzL3NoYXJlZC1tb2RlbFwiO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9IFwiMC45LjI4XCI7XG5leHBvcnQgKiBhcyBjb250cmFjdHMgZnJvbSBcIi4vc3JjL2NvbnRyYWN0cy50c1wiO1xuZXhwb3J0ICogYXMgZGlzcGxheSBmcm9tIFwiLi9zcmMvZGlzcGxheS50c1wiO1xuZXhwb3J0ICogYXMgbW9kZWwgZnJvbSBcIi4vc3JjL21vZGVsLnRzXCI7XG5leHBvcnQgKiBhcyBvcGVuYWlDaGF0IGZyb20gXCIuL3NyYy9vcGVuYWktY2hhdC50c1wiO1xuZXhwb3J0IHsgVU5TVVBQT1JURURfQ0hBVF9GSUVMRFMgfSBmcm9tIFwiLi9zcmMvb3BlbmFpLWNoYXQudHNcIjtcbmV4cG9ydCB0eXBlIHsgQ2hhdFJvbGUsIENoYXRDb250ZW50UGFydCwgQ2hhdFRvb2xDYWxsRnVuY3Rpb24sIENoYXRUb29sQ2FsbCwgQ2hhdE1lc3NhZ2UsIENoYXRDb250ZW50VG9UZXh0T3B0aW9ucyB9IGZyb20gXCIuL3NyYy9vcGVuYWktY2hhdC50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhwb3J0cy50c1wiO1xuIl19
@@ -0,0 +1,89 @@
1
+ /** Browser-safe model contracts owned by the TypeScript model runtime. */
2
+ export declare const ModelClass: {
3
+ readonly ChatThinking: "chat-thinking";
4
+ readonly ChatBalanced: "chat-balanced";
5
+ readonly ChatFast: "chat-fast";
6
+ readonly Embedding: "embedding";
7
+ };
8
+ /** Intent-oriented endpoint class slug. */
9
+ export type ModelClass = (typeof ModelClass)[keyof typeof ModelClass];
10
+ export declare const ReasoningEffort: {
11
+ readonly None: "none";
12
+ readonly Minimal: "minimal";
13
+ readonly Low: "low";
14
+ readonly Medium: "medium";
15
+ readonly High: "high";
16
+ readonly Xhigh: "xhigh";
17
+ readonly Max: "max";
18
+ };
19
+ /** Reasoning effort value accepted by compatible model endpoints. */
20
+ export type ReasoningEffort = (typeof ReasoningEffort)[keyof typeof ReasoningEffort];
21
+ /** Relative quality, speed, and cost scores for an endpoint. */
22
+ export interface ModelProfile {
23
+ /** Relative model quality score. */
24
+ readonly quality?: number;
25
+ /** Relative model speed score. */
26
+ readonly speed?: number;
27
+ /** Relative model cost score. */
28
+ readonly cost?: number;
29
+ }
30
+ /** Model retirement status. */
31
+ export interface ModelStatus {
32
+ /** Whether Databricks lists the model as retired or deprecated. */
33
+ readonly deprecated: boolean;
34
+ }
35
+ /** Browser-safe normalized Model Serving endpoint metadata. */
36
+ export interface ServingEndpointSummary {
37
+ /** Model Serving endpoint name used for invocation. */
38
+ readonly name: string;
39
+ /** Human-readable endpoint or model name. */
40
+ readonly displayName?: string;
41
+ /** Normalized model family parsed from the endpoint identities. */
42
+ readonly family?: string;
43
+ /** Endpoint task, such as chat or embeddings. */
44
+ readonly task?: string;
45
+ /** Endpoint readiness state. */
46
+ readonly state?: string;
47
+ /** Endpoint description supplied by Databricks. */
48
+ readonly description?: string;
49
+ /** Whether the endpoint supports tool calling. */
50
+ readonly supportsTools?: boolean;
51
+ /** AI Gateway model profile scores. */
52
+ readonly profile?: ModelProfile;
53
+ /** Intent-oriented endpoint class. */
54
+ readonly class?: ModelClass;
55
+ /** Provider names mapped to provider-specific model names. */
56
+ readonly serviceNames?: Readonly<Record<string, string>>;
57
+ /** Foundation model name reported by the served entity. */
58
+ readonly modelServiceName?: string;
59
+ /** Reasoning effort values accepted by the endpoint. */
60
+ readonly reasoningEfforts?: readonly ReasoningEffort[];
61
+ /** Retirement status for the served model. */
62
+ readonly status?: ModelStatus;
63
+ /** Embedding vector dimension measured by the caller, when available. */
64
+ readonly dimension?: number;
65
+ }
66
+ /** Browser-safe model catalogue search and ranking controls. */
67
+ export interface ModelQuery {
68
+ /** Optional fuzzy model-name search. */
69
+ readonly search?: string;
70
+ /** Requested model-class ceiling, or the exact embedding class. */
71
+ readonly modelClass?: ModelClass;
72
+ /** Whether candidates must support tool calling. */
73
+ readonly requiresTools?: boolean;
74
+ /** Whether retired models remain eligible. */
75
+ readonly includeDeprecated?: boolean;
76
+ /** Maximum number of results. */
77
+ readonly limit?: number;
78
+ /** Maximum fuzzy-match distance. */
79
+ readonly threshold?: number;
80
+ }
81
+ /** One ranked model-search result. */
82
+ export interface RankedModel {
83
+ /** Matching endpoint metadata. */
84
+ readonly endpoint: ServingEndpointSummary;
85
+ /** Intent-oriented endpoint class. */
86
+ readonly modelClass: ModelClass;
87
+ /** Fuzzy-match distance, where lower values are closer. */
88
+ readonly score?: number;
89
+ }
@@ -0,0 +1,17 @@
1
+ /** Browser-safe model contracts owned by the TypeScript model runtime. */
2
+ export const ModelClass = {
3
+ ChatThinking: "chat-thinking",
4
+ ChatBalanced: "chat-balanced",
5
+ ChatFast: "chat-fast",
6
+ Embedding: "embedding",
7
+ };
8
+ export const ReasoningEffort = {
9
+ None: "none",
10
+ Minimal: "minimal",
11
+ Low: "low",
12
+ Medium: "medium",
13
+ High: "high",
14
+ Xhigh: "xhigh",
15
+ Max: "max",
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwRUFBMEU7QUFFMUUsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLFlBQVksRUFBRSxlQUFlO0lBQzdCLFlBQVksRUFBRSxlQUFlO0lBQzdCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFNBQVMsRUFBRSxXQUFXO0NBQ2QsQ0FBQztBQUlYLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsTUFBTSxFQUFFLFFBQVE7SUFDaEIsSUFBSSxFQUFFLE1BQU07SUFDWixLQUFLLEVBQUUsT0FBTztJQUNkLEdBQUcsRUFBRSxLQUFLO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBCcm93c2VyLXNhZmUgbW9kZWwgY29udHJhY3RzIG93bmVkIGJ5IHRoZSBUeXBlU2NyaXB0IG1vZGVsIHJ1bnRpbWUuICovXG5cbmV4cG9ydCBjb25zdCBNb2RlbENsYXNzID0ge1xuICBDaGF0VGhpbmtpbmc6IFwiY2hhdC10aGlua2luZ1wiLFxuICBDaGF0QmFsYW5jZWQ6IFwiY2hhdC1iYWxhbmNlZFwiLFxuICBDaGF0RmFzdDogXCJjaGF0LWZhc3RcIixcbiAgRW1iZWRkaW5nOiBcImVtYmVkZGluZ1wiLFxufSBhcyBjb25zdDtcbi8qKiBJbnRlbnQtb3JpZW50ZWQgZW5kcG9pbnQgY2xhc3Mgc2x1Zy4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsQ2xhc3MgPSAodHlwZW9mIE1vZGVsQ2xhc3MpW2tleW9mIHR5cGVvZiBNb2RlbENsYXNzXTtcblxuZXhwb3J0IGNvbnN0IFJlYXNvbmluZ0VmZm9ydCA9IHtcbiAgTm9uZTogXCJub25lXCIsXG4gIE1pbmltYWw6IFwibWluaW1hbFwiLFxuICBMb3c6IFwibG93XCIsXG4gIE1lZGl1bTogXCJtZWRpdW1cIixcbiAgSGlnaDogXCJoaWdoXCIsXG4gIFhoaWdoOiBcInhoaWdoXCIsXG4gIE1heDogXCJtYXhcIixcbn0gYXMgY29uc3Q7XG4vKiogUmVhc29uaW5nIGVmZm9ydCB2YWx1ZSBhY2NlcHRlZCBieSBjb21wYXRpYmxlIG1vZGVsIGVuZHBvaW50cy4gKi9cbmV4cG9ydCB0eXBlIFJlYXNvbmluZ0VmZm9ydCA9ICh0eXBlb2YgUmVhc29uaW5nRWZmb3J0KVtrZXlvZiB0eXBlb2YgUmVhc29uaW5nRWZmb3J0XTtcblxuLyoqIFJlbGF0aXZlIHF1YWxpdHksIHNwZWVkLCBhbmQgY29zdCBzY29yZXMgZm9yIGFuIGVuZHBvaW50LiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb2RlbFByb2ZpbGUge1xuICAvKiogUmVsYXRpdmUgbW9kZWwgcXVhbGl0eSBzY29yZS4gKi9cbiAgcmVhZG9ubHkgcXVhbGl0eT86IG51bWJlcjtcbiAgLyoqIFJlbGF0aXZlIG1vZGVsIHNwZWVkIHNjb3JlLiAqL1xuICByZWFkb25seSBzcGVlZD86IG51bWJlcjtcbiAgLyoqIFJlbGF0aXZlIG1vZGVsIGNvc3Qgc2NvcmUuICovXG4gIHJlYWRvbmx5IGNvc3Q/OiBudW1iZXI7XG59XG5cbi8qKiBNb2RlbCByZXRpcmVtZW50IHN0YXR1cy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxTdGF0dXMge1xuICAvKiogV2hldGhlciBEYXRhYnJpY2tzIGxpc3RzIHRoZSBtb2RlbCBhcyByZXRpcmVkIG9yIGRlcHJlY2F0ZWQuICovXG4gIHJlYWRvbmx5IGRlcHJlY2F0ZWQ6IGJvb2xlYW47XG59XG5cbi8qKiBCcm93c2VyLXNhZmUgbm9ybWFsaXplZCBNb2RlbCBTZXJ2aW5nIGVuZHBvaW50IG1ldGFkYXRhLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5IHtcbiAgLyoqIE1vZGVsIFNlcnZpbmcgZW5kcG9pbnQgbmFtZSB1c2VkIGZvciBpbnZvY2F0aW9uLiAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKiBIdW1hbi1yZWFkYWJsZSBlbmRwb2ludCBvciBtb2RlbCBuYW1lLiAqL1xuICByZWFkb25seSBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgLyoqIE5vcm1hbGl6ZWQgbW9kZWwgZmFtaWx5IHBhcnNlZCBmcm9tIHRoZSBlbmRwb2ludCBpZGVudGl0aWVzLiAqL1xuICByZWFkb25seSBmYW1pbHk/OiBzdHJpbmc7XG4gIC8qKiBFbmRwb2ludCB0YXNrLCBzdWNoIGFzIGNoYXQgb3IgZW1iZWRkaW5ncy4gKi9cbiAgcmVhZG9ubHkgdGFzaz86IHN0cmluZztcbiAgLyoqIEVuZHBvaW50IHJlYWRpbmVzcyBzdGF0ZS4gKi9cbiAgcmVhZG9ubHkgc3RhdGU/OiBzdHJpbmc7XG4gIC8qKiBFbmRwb2ludCBkZXNjcmlwdGlvbiBzdXBwbGllZCBieSBEYXRhYnJpY2tzLiAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgdGhlIGVuZHBvaW50IHN1cHBvcnRzIHRvb2wgY2FsbGluZy4gKi9cbiAgcmVhZG9ubHkgc3VwcG9ydHNUb29scz86IGJvb2xlYW47XG4gIC8qKiBBSSBHYXRld2F5IG1vZGVsIHByb2ZpbGUgc2NvcmVzLiAqL1xuICByZWFkb25seSBwcm9maWxlPzogTW9kZWxQcm9maWxlO1xuICAvKiogSW50ZW50LW9yaWVudGVkIGVuZHBvaW50IGNsYXNzLiAqL1xuICByZWFkb25seSBjbGFzcz86IE1vZGVsQ2xhc3M7XG4gIC8qKiBQcm92aWRlciBuYW1lcyBtYXBwZWQgdG8gcHJvdmlkZXItc3BlY2lmaWMgbW9kZWwgbmFtZXMuICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lcz86IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHN0cmluZz4+O1xuICAvKiogRm91bmRhdGlvbiBtb2RlbCBuYW1lIHJlcG9ydGVkIGJ5IHRoZSBzZXJ2ZWQgZW50aXR5LiAqL1xuICByZWFkb25seSBtb2RlbFNlcnZpY2VOYW1lPzogc3RyaW5nO1xuICAvKiogUmVhc29uaW5nIGVmZm9ydCB2YWx1ZXMgYWNjZXB0ZWQgYnkgdGhlIGVuZHBvaW50LiAqL1xuICByZWFkb25seSByZWFzb25pbmdFZmZvcnRzPzogcmVhZG9ubHkgUmVhc29uaW5nRWZmb3J0W107XG4gIC8qKiBSZXRpcmVtZW50IHN0YXR1cyBmb3IgdGhlIHNlcnZlZCBtb2RlbC4gKi9cbiAgcmVhZG9ubHkgc3RhdHVzPzogTW9kZWxTdGF0dXM7XG4gIC8qKiBFbWJlZGRpbmcgdmVjdG9yIGRpbWVuc2lvbiBtZWFzdXJlZCBieSB0aGUgY2FsbGVyLCB3aGVuIGF2YWlsYWJsZS4gKi9cbiAgcmVhZG9ubHkgZGltZW5zaW9uPzogbnVtYmVyO1xufVxuXG4vKiogQnJvd3Nlci1zYWZlIG1vZGVsIGNhdGFsb2d1ZSBzZWFyY2ggYW5kIHJhbmtpbmcgY29udHJvbHMuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsUXVlcnkge1xuICAvKiogT3B0aW9uYWwgZnV6enkgbW9kZWwtbmFtZSBzZWFyY2guICovXG4gIHJlYWRvbmx5IHNlYXJjaD86IHN0cmluZztcbiAgLyoqIFJlcXVlc3RlZCBtb2RlbC1jbGFzcyBjZWlsaW5nLCBvciB0aGUgZXhhY3QgZW1iZWRkaW5nIGNsYXNzLiAqL1xuICByZWFkb25seSBtb2RlbENsYXNzPzogTW9kZWxDbGFzcztcbiAgLyoqIFdoZXRoZXIgY2FuZGlkYXRlcyBtdXN0IHN1cHBvcnQgdG9vbCBjYWxsaW5nLiAqL1xuICByZWFkb25seSByZXF1aXJlc1Rvb2xzPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgcmV0aXJlZCBtb2RlbHMgcmVtYWluIGVsaWdpYmxlLiAqL1xuICByZWFkb25seSBpbmNsdWRlRGVwcmVjYXRlZD86IGJvb2xlYW47XG4gIC8qKiBNYXhpbXVtIG51bWJlciBvZiByZXN1bHRzLiAqL1xuICByZWFkb25seSBsaW1pdD86IG51bWJlcjtcbiAgLyoqIE1heGltdW0gZnV6enktbWF0Y2ggZGlzdGFuY2UuICovXG4gIHJlYWRvbmx5IHRocmVzaG9sZD86IG51bWJlcjtcbn1cblxuLyoqIE9uZSByYW5rZWQgbW9kZWwtc2VhcmNoIHJlc3VsdC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmFua2VkTW9kZWwge1xuICAvKiogTWF0Y2hpbmcgZW5kcG9pbnQgbWV0YWRhdGEuICovXG4gIHJlYWRvbmx5IGVuZHBvaW50OiBTZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5O1xuICAvKiogSW50ZW50LW9yaWVudGVkIGVuZHBvaW50IGNsYXNzLiAqL1xuICByZWFkb25seSBtb2RlbENsYXNzOiBNb2RlbENsYXNzO1xuICAvKiogRnV6enktbWF0Y2ggZGlzdGFuY2UsIHdoZXJlIGxvd2VyIHZhbHVlcyBhcmUgY2xvc2VyLiAqL1xuICByZWFkb25seSBzY29yZT86IG51bWJlcjtcbn1cbiJdfQ==
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * @module
11
11
  */
12
- import { stringUtils } from "@dbx-tools/shared-core";
12
+ import * as stringUtils from "@dbx-tools/shared-core/string-utils";
13
13
  /**
14
14
  * Vendor / namespace prefixes stripped from a tokenized endpoint name
15
15
  * before title-casing. Lowercased tokens; matched only as leading tokens
@@ -103,4 +103,4 @@ function renderSegment(segment) {
103
103
  }
104
104
  return out.join(" ");
105
105
  }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFDSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFFdEUsa0ZBQWtGO0FBQ2xGLE1BQU0sdUJBQXVCLEdBQTJCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO0FBRXpFOzs7OztHQUtHO0FBQ0gsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRTdFLG1GQUFtRjtBQUNuRixNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUU1QyxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUM7QUFFbEM7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLElBQVksRUFBRSxRQUF3QjtJQUN2RSxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELElBQUksZUFBZTtRQUFFLE9BQU8sZUFBZSxDQUFDO0lBRTVDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNELHNFQUFzRTtJQUN0RSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDZCxPQUFPLEtBQUssR0FB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QyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIdW1hbi1yZWFkYWJsZSBtb2RlbCBkaXNwbGF5IG5hbWVzLiBQdXJlIChubyBOb2RlLW9ubHkgaW1wb3J0cykgc28gYVxuICogYnJvd3NlciBjbGllbnQgY2FuIGxhYmVsIGEgYC9tb2RlbHNgIHJlc3BvbnNlIHdpdGhvdXQgc2VydmVyIGRlcHMuXG4gKlxuICogVGhlIGVuZHBvaW50IGBuYW1lYCBpcyB0aGUgaW52b2tlIGlkIChlLmcuIGBkYXRhYnJpY2tzLWNsYXVkZS1zb25uZXQtNC02YCk7XG4gKiB0aGlzIGRlcml2ZXMgYSBmcmllbmRseSBsYWJlbCBmcm9tIGl0LiBQcmVmZXIgYSBEYXRhYnJpY2tzLXByb3ZpZGVkIG5hbWVcbiAqIChhIGRpc3BsYXktbmFtZSB0YWcgb3IgYW4gZXh0ZXJuYWwtbW9kZWwgbmFtZSkgd2hlbiB0aGUgc2VydmVyIGhhcyBvbmUgLVxuICogc2VlIGBAZGJ4LXRvb2xzL21vZGVsYCdzIHNlcnZpbmcgbGlzdGVyLCB3aGljaCBwYXNzZXMgaXQgYXMgYHByb3ZpZGVkYC5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cbmltcG9ydCB7IHN0cmluZ1V0aWxzIH0gZnJvbSBcIkBkYngtdG9vbHMvc2hhcmVkLWNvcmVcIjtcblxuLyoqXG4gKiBWZW5kb3IgLyBuYW1lc3BhY2UgcHJlZml4ZXMgc3RyaXBwZWQgZnJvbSBhIHRva2VuaXplZCBlbmRwb2ludCBuYW1lXG4gKiBiZWZvcmUgdGl0bGUtY2FzaW5nLiBMb3dlcmNhc2VkIHRva2VuczsgbWF0Y2hlZCBvbmx5IGFzIGxlYWRpbmcgdG9rZW5zXG4gKiBzbyBhIGxlZ2l0aW1hdGUgbWlkLW5hbWUgdG9rZW4gaXMgbmV2ZXIgZHJvcHBlZC4gYGFpYCBpcyBzdHJpcHBlZCBPTkxZXG4gKiBhcyB0aGUgc2Vjb25kIGhhbGYgb2YgdGhlIGBzeXN0ZW0uYWkuKmAgYnVpbHRpbiBuYW1lc3BhY2UgKGhhbmRsZWRcbiAqIGJlbG93KSwgbmV2ZXIgb24gaXRzIG93biAtIHNvIGEgbW9kZWwgbGl0ZXJhbGx5IG5hbWVkIGAuLi4tYWktLi4uYFxuICoga2VlcHMgaXRzIFwiQUlcIiB3b3JkIHZpYSB0aGUgdG9rZW5pemVyJ3MgYnVpbHQtaW4gY2FzaW5nIG92ZXJyaWRlLlxuICovXG5jb25zdCBTVFJJUF9MRUFESU5HX1RPS0VOUyA9IG5ldyBTZXQoW1wiZGF0YWJyaWNrc1wiLCBcInN5c3RlbVwiLCBcImRieFwiXSk7XG5cbi8qKiBgYWlgIGlzIHN0cmlwcGVkIG9ubHkgYXMgdGhlIGBzeXN0ZW0uYWkuKmAgbmFtZXNwYWNlIGhhbGYgKGFmdGVyIGBzeXN0ZW1gKS4gKi9cbmNvbnN0IE5BTUVTUEFDRV9TRUNPTkRfVE9LRU5TOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0geyBzeXN0ZW06IFwiYWlcIiB9O1xuXG4vKipcbiAqIFNlZ21lbnQtaW50ZXJuYWwgdG9rZW5zIHJlbmRlcmVkIGZ1bGx5IHVwcGVyY2FzZWQgKGFjcm9ueW1zKSwgbm90XG4gKiB0aXRsZS1jYXNlZC4gYGFpYCBpcyBpbnRlbnRpb25hbGx5IG9taXR0ZWQ6IHRoZSBzaGFyZWQgdG9rZW5pemVyIGFscmVhZHlcbiAqIGZvcmNlLWNhc2VzIGBhaWAgLT4gYEFJYCB2aWEgaXRzIHtAbGluayBzdHJpbmcuVG9rZW5pemVPcHRpb25zfSBgY2FwaXRhbGl6ZWBcbiAqIG92ZXJyaWRlLCB3aGljaCBgcmVuZGVyU2VnbWVudGAgYWx3YXlzIHBhc3Nlcy5cbiAqL1xuY29uc3QgQUNST05ZTVMgPSBuZXcgU2V0KFtcImdwdFwiLCBcImd0ZVwiLCBcImJnZVwiLCBcImRicnhcIiwgXCJvc3NcIiwgXCJsbG1cIiwgXCJtb2VcIl0pO1xuXG4vKiogUGFyYW1ldGVyLWNvdW50IHVuaXQgbGV0dGVycyBnbHVlZCB0byBhIHByZWNlZGluZyBudW1iZXIgKGAxMjBiYCAtPiBgMTIwQmApLiAqL1xuY29uc3QgU0laRV9VTklUUyA9IG5ldyBTZXQoW1wiYlwiLCBcIm1cIiwgXCJrXCJdKTtcblxuY29uc3QgU0VHTUVOVF9TUExJVCA9IC9bLV8uXFxzL10rLztcblxuLyoqXG4gKiBEZXJpdmUgYSBodW1hbi1yZWFkYWJsZSBkaXNwbGF5IG5hbWUgZm9yIGEgc2VydmluZyBlbmRwb2ludC5cbiAqXG4gKiBXaGVuIGBwcm92aWRlZGAgaXMgYSBub24tYmxhbmsgc3RyaW5nIChhIERhdGFicmlja3MgZGlzcGxheS1uYW1lIHRhZyBvclxuICogZXh0ZXJuYWwtbW9kZWwgbmFtZSksIGl0IHdpbnMgdmVyYmF0aW0gKHRyaW1tZWQpLiBPdGhlcndpc2UgdGhlIGVuZHBvaW50XG4gKiBgbmFtZWAgaXMgaHVtYW5pemVkOiBsZWFkaW5nIHZlbmRvciBwcmVmaXhlcyAoYGRhdGFicmlja3NgLCB0aGVcbiAqIGBzeXN0ZW0uYWlgIG5hbWVzcGFjZSwgYGRieGApIGFyZSBkcm9wcGVkLCB0aGVuIGVhY2ggYC1gL2BfYC9gLmAtc2VwYXJhdGVkXG4gKiBzZWdtZW50IGlzIHRpdGxlLWNhc2VkIChhY3JvbnltcyBsaWtlIEdQVC9HVEUvQkdFIHVwcGVyY2FzZWQsIFwiQUlcIiBrZXB0KSxcbiAqIHJ1bnMgb2YgcHVyZWx5LW51bWVyaWMgc2VnbWVudHMgYXJlIGpvaW5lZCBpbnRvIGEgZG90dGVkIHZlcnNpb25cbiAqIChgLi4uLTQtNmAgLT4gXCI0LjZcIiksIGFuZCBhIHNpemUgdW5pdCBnbHVlZCB0byBpdHMgbnVtYmVyIChgMTIwYmAgLT5cbiAqIFwiMTIwQlwiKS4gRmFsbHMgYmFjayB0byB0aGUgdHJpbW1lZCByYXcgYG5hbWVgIGlmIHN0cmlwcGluZyBsZWF2ZXMgbm90aGluZy5cbiAqXG4gKiBAZXhhbXBsZVxuICogdG9Nb2RlbERpc3BsYXlOYW1lKFwiZGF0YWJyaWNrcy1jbGF1ZGUtc29ubmV0LTQtNlwiKSAvLyBcIkNsYXVkZSBTb25uZXQgNC42XCJcbiAqIHRvTW9kZWxEaXNwbGF5TmFtZShcImRhdGFicmlja3MtZ3B0LW9zcy0xMjBiXCIpICAgICAgLy8gXCJHUFQgT1NTIDEyMEJcIlxuICogdG9Nb2RlbERpc3BsYXlOYW1lKFwic3lzdGVtLmFpLmJnZV9sYXJnZV9lblwiKSAgICAgICAvLyBcIkJHRSBMYXJnZSBFblwiXG4gKiB0b01vZGVsRGlzcGxheU5hbWUoXCJ4XCIsIFwiQ2xhdWRlIDQuNiAoUHJldmlldylcIikgICAgLy8gcHJvdmlkZWQgd2luc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Nb2RlbERpc3BsYXlOYW1lKG5hbWU6IHN0cmluZywgcHJvdmlkZWQ/OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgY29uc3QgcHJvdmlkZWRUcmltbWVkID0gc3RyaW5nVXRpbHMudHJpbVRvTnVsbChwcm92aWRlZCk7XG4gIGlmIChwcm92aWRlZFRyaW1tZWQpIHJldHVybiBwcm92aWRlZFRyaW1tZWQ7XG5cbiAgY29uc3Qgc2VnbWVudHMgPSBuYW1lLnNwbGl0KFNFR01FTlRfU1BMSVQpLmZpbHRlcihCb29sZWFuKTtcbiAgLy8gRHJvcCBrbm93biB2ZW5kb3IvbmFtZXNwYWNlIHByZWZpeGVzIG9ubHkgd2hpbGUgdGhleSBsZWFkIHRoZSBsaXN0LlxuICBsZXQgc3RhcnQgPSAwO1xuICB3aGlsZSAoc3RhcnQgPCBzZWdtZW50cy5sZW5ndGgpIHtcbiAgICBjb25zdCBsb3dlciA9IHNlZ21lbnRzW3N0YXJ0XSEudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoIVNUUklQX0xFQURJTkdfVE9LRU5TLmhhcyhsb3dlcikpIGJyZWFrO1xuICAgIC8vIENvbnN1bWUgdGhlIG5hbWVzcGFjZSdzIHNlY29uZCB0b2tlbiB0b28gKGUuZy4gdGhlIGBhaWAgb2YgYHN5c3RlbS5haWApLlxuICAgIGlmIChOQU1FU1BBQ0VfU0VDT05EX1RPS0VOU1tsb3dlcl0gPT09IHNlZ21lbnRzW3N0YXJ0ICsgMV0/LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIHN0YXJ0ICs9IDE7XG4gICAgfVxuICAgIHN0YXJ0ICs9IDE7XG4gIH1cbiAgY29uc3Qga2VwdCA9IHNlZ21lbnRzLnNsaWNlKHN0YXJ0KTtcbiAgY29uc3Qgc291cmNlID0ga2VwdC5sZW5ndGggPiAwID8ga2VwdCA6IHNlZ21lbnRzO1xuXG4gIGNvbnN0IHBpZWNlczogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHZlcnNpb25SdW46IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGZsdXNoVmVyc2lvbiA9ICgpID0+IHtcbiAgICBpZiAodmVyc2lvblJ1bi5sZW5ndGggPiAwKSB7XG4gICAgICBwaWVjZXMucHVzaCh2ZXJzaW9uUnVuLmpvaW4oXCIuXCIpKTtcbiAgICAgIHZlcnNpb25SdW4gPSBbXTtcbiAgICB9XG4gIH07XG4gIGZvciAoY29uc3Qgc2VnbWVudCBvZiBzb3VyY2UpIHtcbiAgICBpZiAoL15cXGQrJC8udGVzdChzZWdtZW50KSkge1xuICAgICAgdmVyc2lvblJ1bi5wdXNoKHNlZ21lbnQpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGZsdXNoVmVyc2lvbigpO1xuICAgIHBpZWNlcy5wdXNoKHJlbmRlclNlZ21lbnQoc2VnbWVudCkpO1xuICB9XG4gIGZsdXNoVmVyc2lvbigpO1xuXG4gIHJldHVybiBwaWVjZXMuam9pbihcIiBcIikgfHwgbmFtZS50cmltKCk7XG59XG5cbi8qKiBUaXRsZS1jYXNlIG9uZSBuYW1lIHNlZ21lbnQsIHVwcGVyY2FzaW5nIGFjcm9ueW1zIGFuZCBnbHVpbmcgc2l6ZSB1bml0cy4gKi9cbmZ1bmN0aW9uIHJlbmRlclNlZ21lbnQoc2VnbWVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdG9rZW5zID0gWy4uLnN0cmluZ1V0aWxzLnRva2VuaXplV2l0aE9wdGlvbnMoeyBjYXBpdGFsaXplOiB0cnVlIH0sIHNlZ21lbnQpXTtcbiAgY29uc3Qgb3V0OiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGNvbnN0IHRva2VuID0gdG9rZW5zW2ldITtcbiAgICBjb25zdCBsb3dlciA9IHRva2VuLnRvTG93ZXJDYXNlKCk7XG4gICAgLy8gR2x1ZSBhIHNpemUgdW5pdCBvbnRvIHRoZSBwcmVjZWRpbmcgbnVtYmVyOiBgMTIwYCArIGBiYCAtPiBgMTIwQmAuXG4gICAgaWYgKFNJWkVfVU5JVFMuaGFzKGxvd2VyKSAmJiBvdXQubGVuZ3RoID4gMCAmJiAvXlxcZCskLy50ZXN0KG91dFtvdXQubGVuZ3RoIC0gMV0hKSkge1xuICAgICAgb3V0W291dC5sZW5ndGggLSAxXSA9IGAke291dFtvdXQubGVuZ3RoIC0gMV19JHtsb3dlci50b1VwcGVyQ2FzZSgpfWA7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgb3V0LnB1c2goQUNST05ZTVMuaGFzKGxvd2VyKSA/IGxvd2VyLnRvVXBwZXJDYXNlKCkgOiB0b2tlbik7XG4gIH1cbiAgcmV0dXJuIG91dC5qb2luKFwiIFwiKTtcbn1cbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFDSCxPQUFPLEtBQUssV0FBVyxNQUFNLHFDQUFxQyxDQUFDO0FBRW5FOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRXRFLGtGQUFrRjtBQUNsRixNQUFNLHVCQUF1QixHQUEyQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUV6RTs7Ozs7R0FLRztBQUNILE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUU3RSxtRkFBbUY7QUFDbkYsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFNUMsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDO0FBRWxDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUFZLEVBQUUsUUFBd0I7SUFDdkUsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxJQUFJLGVBQWU7UUFBRSxPQUFPLGVBQWUsQ0FBQztJQUU1QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzRCxzRUFBc0U7SUFDdEUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsT0FBTyxLQUFLLEdBQUcsUUFB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QyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSHVtYW4tcmVhZGFibGUgbW9kZWwgZGlzcGxheSBuYW1lcy4gUHVyZSAobm8gTm9kZS1vbmx5IGltcG9ydHMpIHNvIGFcbiAqIGJyb3dzZXIgY2xpZW50IGNhbiBsYWJlbCBhIGAvbW9kZWxzYCByZXNwb25zZSB3aXRob3V0IHNlcnZlciBkZXBzLlxuICpcbiAqIFRoZSBlbmRwb2ludCBgbmFtZWAgaXMgdGhlIGludm9rZSBpZCAoZS5nLiBgZGF0YWJyaWNrcy1jbGF1ZGUtc29ubmV0LTQtNmApO1xuICogdGhpcyBkZXJpdmVzIGEgZnJpZW5kbHkgbGFiZWwgZnJvbSBpdC4gUHJlZmVyIGEgRGF0YWJyaWNrcy1wcm92aWRlZCBuYW1lXG4gKiAoYSBkaXNwbGF5LW5hbWUgdGFnIG9yIGFuIGV4dGVybmFsLW1vZGVsIG5hbWUpIHdoZW4gdGhlIHNlcnZlciBoYXMgb25lIC1cbiAqIHNlZSBgQGRieC10b29scy9tb2RlbGAncyBzZXJ2aW5nIGxpc3Rlciwgd2hpY2ggcGFzc2VzIGl0IGFzIGBwcm92aWRlZGAuXG4gKlxuICogQG1vZHVsZVxuICovXG5pbXBvcnQgKiBhcyBzdHJpbmdVdGlscyBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtY29yZS9zdHJpbmctdXRpbHNcIjtcblxuLyoqXG4gKiBWZW5kb3IgLyBuYW1lc3BhY2UgcHJlZml4ZXMgc3RyaXBwZWQgZnJvbSBhIHRva2VuaXplZCBlbmRwb2ludCBuYW1lXG4gKiBiZWZvcmUgdGl0bGUtY2FzaW5nLiBMb3dlcmNhc2VkIHRva2VuczsgbWF0Y2hlZCBvbmx5IGFzIGxlYWRpbmcgdG9rZW5zXG4gKiBzbyBhIGxlZ2l0aW1hdGUgbWlkLW5hbWUgdG9rZW4gaXMgbmV2ZXIgZHJvcHBlZC4gYGFpYCBpcyBzdHJpcHBlZCBPTkxZXG4gKiBhcyB0aGUgc2Vjb25kIGhhbGYgb2YgdGhlIGBzeXN0ZW0uYWkuKmAgYnVpbHRpbiBuYW1lc3BhY2UgKGhhbmRsZWRcbiAqIGJlbG93KSwgbmV2ZXIgb24gaXRzIG93biAtIHNvIGEgbW9kZWwgbGl0ZXJhbGx5IG5hbWVkIGAuLi4tYWktLi4uYFxuICoga2VlcHMgaXRzIFwiQUlcIiB3b3JkIHZpYSB0aGUgdG9rZW5pemVyJ3MgYnVpbHQtaW4gY2FzaW5nIG92ZXJyaWRlLlxuICovXG5jb25zdCBTVFJJUF9MRUFESU5HX1RPS0VOUyA9IG5ldyBTZXQoW1wiZGF0YWJyaWNrc1wiLCBcInN5c3RlbVwiLCBcImRieFwiXSk7XG5cbi8qKiBgYWlgIGlzIHN0cmlwcGVkIG9ubHkgYXMgdGhlIGBzeXN0ZW0uYWkuKmAgbmFtZXNwYWNlIGhhbGYgKGFmdGVyIGBzeXN0ZW1gKS4gKi9cbmNvbnN0IE5BTUVTUEFDRV9TRUNPTkRfVE9LRU5TOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0geyBzeXN0ZW06IFwiYWlcIiB9O1xuXG4vKipcbiAqIFNlZ21lbnQtaW50ZXJuYWwgdG9rZW5zIHJlbmRlcmVkIGZ1bGx5IHVwcGVyY2FzZWQgKGFjcm9ueW1zKSwgbm90XG4gKiB0aXRsZS1jYXNlZC4gYGFpYCBpcyBpbnRlbnRpb25hbGx5IG9taXR0ZWQ6IHRoZSBzaGFyZWQgdG9rZW5pemVyIGFscmVhZHlcbiAqIGZvcmNlLWNhc2VzIGBhaWAgLT4gYEFJYCB2aWEgaXRzIHtAbGluayBzdHJpbmcuVG9rZW5pemVPcHRpb25zfSBgY2FwaXRhbGl6ZWBcbiAqIG92ZXJyaWRlLCB3aGljaCBgcmVuZGVyU2VnbWVudGAgYWx3YXlzIHBhc3Nlcy5cbiAqL1xuY29uc3QgQUNST05ZTVMgPSBuZXcgU2V0KFtcImdwdFwiLCBcImd0ZVwiLCBcImJnZVwiLCBcImRicnhcIiwgXCJvc3NcIiwgXCJsbG1cIiwgXCJtb2VcIl0pO1xuXG4vKiogUGFyYW1ldGVyLWNvdW50IHVuaXQgbGV0dGVycyBnbHVlZCB0byBhIHByZWNlZGluZyBudW1iZXIgKGAxMjBiYCAtPiBgMTIwQmApLiAqL1xuY29uc3QgU0laRV9VTklUUyA9IG5ldyBTZXQoW1wiYlwiLCBcIm1cIiwgXCJrXCJdKTtcblxuY29uc3QgU0VHTUVOVF9TUExJVCA9IC9bLV8uXFxzL10rLztcblxuLyoqXG4gKiBEZXJpdmUgYSBodW1hbi1yZWFkYWJsZSBkaXNwbGF5IG5hbWUgZm9yIGEgc2VydmluZyBlbmRwb2ludC5cbiAqXG4gKiBXaGVuIGBwcm92aWRlZGAgaXMgYSBub24tYmxhbmsgc3RyaW5nIChhIERhdGFicmlja3MgZGlzcGxheS1uYW1lIHRhZyBvclxuICogZXh0ZXJuYWwtbW9kZWwgbmFtZSksIGl0IHdpbnMgdmVyYmF0aW0gKHRyaW1tZWQpLiBPdGhlcndpc2UgdGhlIGVuZHBvaW50XG4gKiBgbmFtZWAgaXMgaHVtYW5pemVkOiBsZWFkaW5nIHZlbmRvciBwcmVmaXhlcyAoYGRhdGFicmlja3NgLCB0aGVcbiAqIGBzeXN0ZW0uYWlgIG5hbWVzcGFjZSwgYGRieGApIGFyZSBkcm9wcGVkLCB0aGVuIGVhY2ggYC1gL2BfYC9gLmAtc2VwYXJhdGVkXG4gKiBzZWdtZW50IGlzIHRpdGxlLWNhc2VkIChhY3JvbnltcyBsaWtlIEdQVC9HVEUvQkdFIHVwcGVyY2FzZWQsIFwiQUlcIiBrZXB0KSxcbiAqIHJ1bnMgb2YgcHVyZWx5LW51bWVyaWMgc2VnbWVudHMgYXJlIGpvaW5lZCBpbnRvIGEgZG90dGVkIHZlcnNpb25cbiAqIChgLi4uLTQtNmAgLT4gXCI0LjZcIiksIGFuZCBhIHNpemUgdW5pdCBnbHVlZCB0byBpdHMgbnVtYmVyIChgMTIwYmAgLT5cbiAqIFwiMTIwQlwiKS4gRmFsbHMgYmFjayB0byB0aGUgdHJpbW1lZCByYXcgYG5hbWVgIGlmIHN0cmlwcGluZyBsZWF2ZXMgbm90aGluZy5cbiAqXG4gKiBAZXhhbXBsZVxuICogdG9Nb2RlbERpc3BsYXlOYW1lKFwiZGF0YWJyaWNrcy1jbGF1ZGUtc29ubmV0LTQtNlwiKSAvLyBcIkNsYXVkZSBTb25uZXQgNC42XCJcbiAqIHRvTW9kZWxEaXNwbGF5TmFtZShcImRhdGFicmlja3MtZ3B0LW9zcy0xMjBiXCIpICAgICAgLy8gXCJHUFQgT1NTIDEyMEJcIlxuICogdG9Nb2RlbERpc3BsYXlOYW1lKFwic3lzdGVtLmFpLmJnZV9sYXJnZV9lblwiKSAgICAgICAvLyBcIkJHRSBMYXJnZSBFblwiXG4gKiB0b01vZGVsRGlzcGxheU5hbWUoXCJ4XCIsIFwiQ2xhdWRlIDQuNiAoUHJldmlldylcIikgICAgLy8gcHJvdmlkZWQgd2luc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Nb2RlbERpc3BsYXlOYW1lKG5hbWU6IHN0cmluZywgcHJvdmlkZWQ/OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgY29uc3QgcHJvdmlkZWRUcmltbWVkID0gc3RyaW5nVXRpbHMudHJpbVRvTnVsbChwcm92aWRlZCk7XG4gIGlmIChwcm92aWRlZFRyaW1tZWQpIHJldHVybiBwcm92aWRlZFRyaW1tZWQ7XG5cbiAgY29uc3Qgc2VnbWVudHMgPSBuYW1lLnNwbGl0KFNFR01FTlRfU1BMSVQpLmZpbHRlcihCb29sZWFuKTtcbiAgLy8gRHJvcCBrbm93biB2ZW5kb3IvbmFtZXNwYWNlIHByZWZpeGVzIG9ubHkgd2hpbGUgdGhleSBsZWFkIHRoZSBsaXN0LlxuICBsZXQgc3RhcnQgPSAwO1xuICB3aGlsZSAoc3RhcnQgPCBzZWdtZW50cy5sZW5ndGgpIHtcbiAgICBjb25zdCBsb3dlciA9IHNlZ21lbnRzW3N0YXJ0XSEudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoIVNUUklQX0xFQURJTkdfVE9LRU5TLmhhcyhsb3dlcikpIGJyZWFrO1xuICAgIC8vIENvbnN1bWUgdGhlIG5hbWVzcGFjZSdzIHNlY29uZCB0b2tlbiB0b28gKGUuZy4gdGhlIGBhaWAgb2YgYHN5c3RlbS5haWApLlxuICAgIGlmIChOQU1FU1BBQ0VfU0VDT05EX1RPS0VOU1tsb3dlcl0gPT09IHNlZ21lbnRzW3N0YXJ0ICsgMV0/LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIHN0YXJ0ICs9IDE7XG4gICAgfVxuICAgIHN0YXJ0ICs9IDE7XG4gIH1cbiAgY29uc3Qga2VwdCA9IHNlZ21lbnRzLnNsaWNlKHN0YXJ0KTtcbiAgY29uc3Qgc291cmNlID0ga2VwdC5sZW5ndGggPiAwID8ga2VwdCA6IHNlZ21lbnRzO1xuXG4gIGNvbnN0IHBpZWNlczogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHZlcnNpb25SdW46IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGZsdXNoVmVyc2lvbiA9ICgpID0+IHtcbiAgICBpZiAodmVyc2lvblJ1bi5sZW5ndGggPiAwKSB7XG4gICAgICBwaWVjZXMucHVzaCh2ZXJzaW9uUnVuLmpvaW4oXCIuXCIpKTtcbiAgICAgIHZlcnNpb25SdW4gPSBbXTtcbiAgICB9XG4gIH07XG4gIGZvciAoY29uc3Qgc2VnbWVudCBvZiBzb3VyY2UpIHtcbiAgICBpZiAoL15cXGQrJC8udGVzdChzZWdtZW50KSkge1xuICAgICAgdmVyc2lvblJ1bi5wdXNoKHNlZ21lbnQpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGZsdXNoVmVyc2lvbigpO1xuICAgIHBpZWNlcy5wdXNoKHJlbmRlclNlZ21lbnQoc2VnbWVudCkpO1xuICB9XG4gIGZsdXNoVmVyc2lvbigpO1xuXG4gIHJldHVybiBwaWVjZXMuam9pbihcIiBcIikgfHwgbmFtZS50cmltKCk7XG59XG5cbi8qKiBUaXRsZS1jYXNlIG9uZSBuYW1lIHNlZ21lbnQsIHVwcGVyY2FzaW5nIGFjcm9ueW1zIGFuZCBnbHVpbmcgc2l6ZSB1bml0cy4gKi9cbmZ1bmN0aW9uIHJlbmRlclNlZ21lbnQoc2VnbWVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdG9rZW5zID0gWy4uLnN0cmluZ1V0aWxzLnRva2VuaXplV2l0aE9wdGlvbnMoeyBjYXBpdGFsaXplOiB0cnVlIH0sIHNlZ21lbnQpXTtcbiAgY29uc3Qgb3V0OiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGNvbnN0IHRva2VuID0gdG9rZW5zW2ldITtcbiAgICBjb25zdCBsb3dlciA9IHRva2VuLnRvTG93ZXJDYXNlKCk7XG4gICAgLy8gR2x1ZSBhIHNpemUgdW5pdCBvbnRvIHRoZSBwcmVjZWRpbmcgbnVtYmVyOiBgMTIwYCArIGBiYCAtPiBgMTIwQmAuXG4gICAgaWYgKFNJWkVfVU5JVFMuaGFzKGxvd2VyKSAmJiBvdXQubGVuZ3RoID4gMCAmJiAvXlxcZCskLy50ZXN0KG91dFtvdXQubGVuZ3RoIC0gMV0hKSkge1xuICAgICAgb3V0W291dC5sZW5ndGggLSAxXSA9IGAke291dFtvdXQubGVuZ3RoIC0gMV19JHtsb3dlci50b1VwcGVyQ2FzZSgpfWA7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgb3V0LnB1c2goQUNST05ZTVMuaGFzKGxvd2VyKSA/IGxvd2VyLnRvVXBwZXJDYXNlKCkgOiB0b2tlbik7XG4gIH1cbiAgcmV0dXJuIG91dC5qb2luKFwiIFwiKTtcbn1cbiJdfQ==
@@ -1,14 +1,10 @@
1
1
  /**
2
- * Browser-safe model contracts generated from the Rust model owner.
3
- *
4
- * Rust owns record fields, enum wire values, and field validation metadata.
5
- * This module preserves the established public names while keeping native FFI
6
- * initialization out of browser bundles.
2
+ * Browser-safe model contracts and runtime schemas.
7
3
  *
8
4
  * @module
9
5
  */
10
- import { type ModelClass as GeneratedModelClassType, type ModelProfile as GeneratedModelProfile, type ModelQuery as GeneratedModelQuery, type ModelStatus as GeneratedModelStatus, type RankedModel as GeneratedRankedModel, type ReasoningEffort as GeneratedReasoningEffortType, type ServingEndpointSummary as GeneratedServingEndpointSummary } from "./generated/_contracts.ts";
11
- /** Runtime values for the Rust-owned model class contract. */
6
+ import { type ModelClass as GeneratedModelClassType, type ModelProfile as GeneratedModelProfile, type ModelQuery as GeneratedModelQuery, type ModelStatus as GeneratedModelStatus, type RankedModel as GeneratedRankedModel, type ReasoningEffort as GeneratedReasoningEffortType, type ServingEndpointSummary as GeneratedServingEndpointSummary } from "./contracts.ts";
7
+ /** Runtime values for the model class contract. */
12
8
  export declare const ModelClass: {
13
9
  readonly ChatThinking: "chat-thinking";
14
10
  readonly ChatBalanced: "chat-balanced";
@@ -17,7 +13,7 @@ export declare const ModelClass: {
17
13
  };
18
14
  /** Class of a Databricks Model Serving endpoint. */
19
15
  export type ModelClass = GeneratedModelClassType;
20
- /** Runtime values for the Rust-owned reasoning effort contract. */
16
+ /** Runtime values for the reasoning effort contract. */
21
17
  export declare const ReasoningEffortValues: {
22
18
  readonly None: "none";
23
19
  readonly Minimal: "minimal";
@@ -33,27 +29,27 @@ export type ModelProfile = GeneratedModelProfile;
33
29
  export type ModelQuery = GeneratedModelQuery;
34
30
  /** Model lifecycle status. */
35
31
  export type ModelStatus = GeneratedModelStatus;
36
- /** A Rust-ranked endpoint result. */
32
+ /** A ranked endpoint result. */
37
33
  export type RankedModel = GeneratedRankedModel;
38
34
  /** Provider wire value accepted as a reasoning effort. */
39
35
  export type ReasoningEffort = GeneratedReasoningEffortType;
40
36
  /** Normalized metadata for a Databricks Model Serving endpoint. */
41
37
  export type ServingEndpointSummary = GeneratedServingEndpointSummary;
42
- /** Runtime schema for the Rust-owned model class wire values. */
38
+ /** Runtime schema for model class wire values. */
43
39
  export declare const ModelClassSchema: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<"chat-thinking">, import("zod").ZodLiteral<"chat-balanced">, import("zod").ZodLiteral<"chat-fast">, import("zod").ZodLiteral<"embedding">]>;
44
- /** Runtime schema for Rust-owned Databricks AI Gateway profile scores. */
40
+ /** Runtime schema for Databricks AI Gateway profile scores. */
45
41
  export declare const ModelProfileSchema: import("zod").ZodObject<{
46
42
  quality: import("zod").ZodOptional<import("zod").ZodNumber>;
47
43
  speed: import("zod").ZodOptional<import("zod").ZodNumber>;
48
44
  cost: import("zod").ZodOptional<import("zod").ZodNumber>;
49
45
  }, import("zod/v4/core").$strip>;
50
- /** Runtime schema for Rust-owned reasoning effort wire values. */
46
+ /** Runtime schema for reasoning effort wire values. */
51
47
  export declare const ReasoningEffortSchema: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<"none">, import("zod").ZodLiteral<"minimal">, import("zod").ZodLiteral<"low">, import("zod").ZodLiteral<"medium">, import("zod").ZodLiteral<"high">, import("zod").ZodLiteral<"xhigh">, import("zod").ZodLiteral<"max">]>;
52
- /** Runtime schema for Rust-owned model lifecycle status. */
48
+ /** Runtime schema for model lifecycle status. */
53
49
  export declare const ModelStatusSchema: import("zod").ZodObject<{
54
50
  deprecated: import("zod").ZodDefault<import("zod").ZodBoolean>;
55
51
  }, import("zod/v4/core").$strip>;
56
- /** Runtime schema for Rust-owned normalized endpoint metadata. */
52
+ /** Runtime schema for normalized endpoint metadata. */
57
53
  export declare const ServingEndpointSummarySchema: import("zod").ZodObject<{
58
54
  name: import("zod").ZodString;
59
55
  displayName: import("zod").ZodOptional<import("zod").ZodString>;
@@ -76,7 +72,7 @@ export declare const ServingEndpointSummarySchema: import("zod").ZodObject<{
76
72
  }, import("zod/v4/core").$strip>>;
77
73
  dimension: import("zod").ZodOptional<import("zod").ZodNumber>;
78
74
  }, import("zod/v4/core").$strip>;
79
- /** Runtime schema for Rust-owned model catalogue query controls. */
75
+ /** Runtime schema for model catalogue query controls. */
80
76
  export declare const ModelQuerySchema: import("zod").ZodObject<{
81
77
  search: import("zod").ZodOptional<import("zod").ZodString>;
82
78
  modelClass: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodLiteral<"chat-thinking">, import("zod").ZodLiteral<"chat-balanced">, import("zod").ZodLiteral<"chat-fast">, import("zod").ZodLiteral<"embedding">]>>;
@@ -85,7 +81,7 @@ export declare const ModelQuerySchema: import("zod").ZodObject<{
85
81
  limit: import("zod").ZodOptional<import("zod").ZodNumber>;
86
82
  threshold: import("zod").ZodOptional<import("zod").ZodNumber>;
87
83
  }, import("zod/v4/core").$strip>;
88
- /** Runtime schema for a Rust-ranked endpoint result. */
84
+ /** Runtime schema for a ranked endpoint result. */
89
85
  export declare const RankedModelSchema: import("zod").ZodObject<{
90
86
  endpoint: import("zod").ZodObject<{
91
87
  name: import("zod").ZodString;
package/lib/src/model.js CHANGED
@@ -1,30 +1,26 @@
1
1
  /**
2
- * Browser-safe model contracts generated from the Rust model owner.
3
- *
4
- * Rust owns record fields, enum wire values, and field validation metadata.
5
- * This module preserves the established public names while keeping native FFI
6
- * initialization out of browser bundles.
2
+ * Browser-safe model contracts and runtime schemas.
7
3
  *
8
4
  * @module
9
5
  */
10
- import { ModelClass as GeneratedModelClass, ReasoningEffort as GeneratedReasoningEffort, } from "./generated/_contracts.js";
6
+ import { ModelClass as GeneratedModelClass, ReasoningEffort as GeneratedReasoningEffort, } from "./contracts.js";
11
7
  import { modelClassSchema, modelProfileSchema, modelQuerySchema, modelStatusSchema, rankedModelSchema, reasoningEffortSchema, servingEndpointSummarySchema, } from "./generated/_schemas.js";
12
- /** Runtime values for the Rust-owned model class contract. */
8
+ /** Runtime values for the model class contract. */
13
9
  export const ModelClass = GeneratedModelClass;
14
- /** Runtime values for the Rust-owned reasoning effort contract. */
10
+ /** Runtime values for the reasoning effort contract. */
15
11
  export const ReasoningEffortValues = GeneratedReasoningEffort;
16
- /** Runtime schema for the Rust-owned model class wire values. */
12
+ /** Runtime schema for model class wire values. */
17
13
  export const ModelClassSchema = modelClassSchema.describe(`Endpoint class slug: ${Object.values(GeneratedModelClass).join(", ")}.`);
18
- /** Runtime schema for Rust-owned Databricks AI Gateway profile scores. */
14
+ /** Runtime schema for Databricks AI Gateway profile scores. */
19
15
  export const ModelProfileSchema = modelProfileSchema;
20
- /** Runtime schema for Rust-owned reasoning effort wire values. */
16
+ /** Runtime schema for reasoning effort wire values. */
21
17
  export const ReasoningEffortSchema = reasoningEffortSchema;
22
- /** Runtime schema for Rust-owned model lifecycle status. */
18
+ /** Runtime schema for model lifecycle status. */
23
19
  export const ModelStatusSchema = modelStatusSchema;
24
- /** Runtime schema for Rust-owned normalized endpoint metadata. */
20
+ /** Runtime schema for normalized endpoint metadata. */
25
21
  export const ServingEndpointSummarySchema = servingEndpointSummarySchema;
26
- /** Runtime schema for Rust-owned model catalogue query controls. */
22
+ /** Runtime schema for model catalogue query controls. */
27
23
  export const ModelQuerySchema = modelQuerySchema;
28
- /** Runtime schema for a Rust-ranked endpoint result. */
24
+ /** Runtime schema for a ranked endpoint result. */
29
25
  export const RankedModelSchema = rankedModelSchema;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQ0wsVUFBVSxJQUFJLG1CQUFtQixFQUNqQyxlQUFlLElBQUksd0JBQXdCLEdBUTVDLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIscUJBQXFCLEVBQ3JCLDRCQUE0QixHQUM3QixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsbUJBQW1CLENBQUM7QUFHOUMsbUVBQW1FO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLHdCQUF3QixDQUFDO0FBYzlELGlFQUFpRTtBQUNqRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQ3ZELHdCQUF3QixNQUFNLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ3pFLENBQUM7QUFFRiwwRUFBMEU7QUFDMUUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7QUFFckQsa0VBQWtFO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDO0FBRTNELDREQUE0RDtBQUM1RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztBQUVuRCxrRUFBa0U7QUFDbEUsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsNEJBQTRCLENBQUM7QUFFekUsb0VBQW9FO0FBQ3BFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0FBRWpELHdEQUF3RDtBQUN4RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQnJvd3Nlci1zYWZlIG1vZGVsIGNvbnRyYWN0cyBnZW5lcmF0ZWQgZnJvbSB0aGUgUnVzdCBtb2RlbCBvd25lci5cbiAqXG4gKiBSdXN0IG93bnMgcmVjb3JkIGZpZWxkcywgZW51bSB3aXJlIHZhbHVlcywgYW5kIGZpZWxkIHZhbGlkYXRpb24gbWV0YWRhdGEuXG4gKiBUaGlzIG1vZHVsZSBwcmVzZXJ2ZXMgdGhlIGVzdGFibGlzaGVkIHB1YmxpYyBuYW1lcyB3aGlsZSBrZWVwaW5nIG5hdGl2ZSBGRklcbiAqIGluaXRpYWxpemF0aW9uIG91dCBvZiBicm93c2VyIGJ1bmRsZXMuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7XG4gIE1vZGVsQ2xhc3MgYXMgR2VuZXJhdGVkTW9kZWxDbGFzcyxcbiAgUmVhc29uaW5nRWZmb3J0IGFzIEdlbmVyYXRlZFJlYXNvbmluZ0VmZm9ydCxcbiAgdHlwZSBNb2RlbENsYXNzIGFzIEdlbmVyYXRlZE1vZGVsQ2xhc3NUeXBlLFxuICB0eXBlIE1vZGVsUHJvZmlsZSBhcyBHZW5lcmF0ZWRNb2RlbFByb2ZpbGUsXG4gIHR5cGUgTW9kZWxRdWVyeSBhcyBHZW5lcmF0ZWRNb2RlbFF1ZXJ5LFxuICB0eXBlIE1vZGVsU3RhdHVzIGFzIEdlbmVyYXRlZE1vZGVsU3RhdHVzLFxuICB0eXBlIFJhbmtlZE1vZGVsIGFzIEdlbmVyYXRlZFJhbmtlZE1vZGVsLFxuICB0eXBlIFJlYXNvbmluZ0VmZm9ydCBhcyBHZW5lcmF0ZWRSZWFzb25pbmdFZmZvcnRUeXBlLFxuICB0eXBlIFNlcnZpbmdFbmRwb2ludFN1bW1hcnkgYXMgR2VuZXJhdGVkU2VydmluZ0VuZHBvaW50U3VtbWFyeSxcbn0gZnJvbSBcIi4vZ2VuZXJhdGVkL19jb250cmFjdHMudHNcIjtcbmltcG9ydCB7XG4gIG1vZGVsQ2xhc3NTY2hlbWEsXG4gIG1vZGVsUHJvZmlsZVNjaGVtYSxcbiAgbW9kZWxRdWVyeVNjaGVtYSxcbiAgbW9kZWxTdGF0dXNTY2hlbWEsXG4gIHJhbmtlZE1vZGVsU2NoZW1hLFxuICByZWFzb25pbmdFZmZvcnRTY2hlbWEsXG4gIHNlcnZpbmdFbmRwb2ludFN1bW1hcnlTY2hlbWEsXG59IGZyb20gXCIuL2dlbmVyYXRlZC9fc2NoZW1hcy50c1wiO1xuXG4vKiogUnVudGltZSB2YWx1ZXMgZm9yIHRoZSBSdXN0LW93bmVkIG1vZGVsIGNsYXNzIGNvbnRyYWN0LiAqL1xuZXhwb3J0IGNvbnN0IE1vZGVsQ2xhc3MgPSBHZW5lcmF0ZWRNb2RlbENsYXNzO1xuLyoqIENsYXNzIG9mIGEgRGF0YWJyaWNrcyBNb2RlbCBTZXJ2aW5nIGVuZHBvaW50LiAqL1xuZXhwb3J0IHR5cGUgTW9kZWxDbGFzcyA9IEdlbmVyYXRlZE1vZGVsQ2xhc3NUeXBlO1xuLyoqIFJ1bnRpbWUgdmFsdWVzIGZvciB0aGUgUnVzdC1vd25lZCByZWFzb25pbmcgZWZmb3J0IGNvbnRyYWN0LiAqL1xuZXhwb3J0IGNvbnN0IFJlYXNvbmluZ0VmZm9ydFZhbHVlcyA9IEdlbmVyYXRlZFJlYXNvbmluZ0VmZm9ydDtcbi8qKiBEYXRhYnJpY2tzIEFJIEdhdGV3YXkgcHJvZmlsZSBzY29yZXMuICovXG5leHBvcnQgdHlwZSBNb2RlbFByb2ZpbGUgPSBHZW5lcmF0ZWRNb2RlbFByb2ZpbGU7XG4vKiogTW9kZWwgY2F0YWxvZ3VlIHF1ZXJ5IGNvbnRyb2xzLiAqL1xuZXhwb3J0IHR5cGUgTW9kZWxRdWVyeSA9IEdlbmVyYXRlZE1vZGVsUXVlcnk7XG4vKiogTW9kZWwgbGlmZWN5Y2xlIHN0YXR1cy4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsU3RhdHVzID0gR2VuZXJhdGVkTW9kZWxTdGF0dXM7XG4vKiogQSBSdXN0LXJhbmtlZCBlbmRwb2ludCByZXN1bHQuICovXG5leHBvcnQgdHlwZSBSYW5rZWRNb2RlbCA9IEdlbmVyYXRlZFJhbmtlZE1vZGVsO1xuLyoqIFByb3ZpZGVyIHdpcmUgdmFsdWUgYWNjZXB0ZWQgYXMgYSByZWFzb25pbmcgZWZmb3J0LiAqL1xuZXhwb3J0IHR5cGUgUmVhc29uaW5nRWZmb3J0ID0gR2VuZXJhdGVkUmVhc29uaW5nRWZmb3J0VHlwZTtcbi8qKiBOb3JtYWxpemVkIG1ldGFkYXRhIGZvciBhIERhdGFicmlja3MgTW9kZWwgU2VydmluZyBlbmRwb2ludC4gKi9cbmV4cG9ydCB0eXBlIFNlcnZpbmdFbmRwb2ludFN1bW1hcnkgPSBHZW5lcmF0ZWRTZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5O1xuXG4vKiogUnVudGltZSBzY2hlbWEgZm9yIHRoZSBSdXN0LW93bmVkIG1vZGVsIGNsYXNzIHdpcmUgdmFsdWVzLiAqL1xuZXhwb3J0IGNvbnN0IE1vZGVsQ2xhc3NTY2hlbWEgPSBtb2RlbENsYXNzU2NoZW1hLmRlc2NyaWJlKFxuICBgRW5kcG9pbnQgY2xhc3Mgc2x1ZzogJHtPYmplY3QudmFsdWVzKEdlbmVyYXRlZE1vZGVsQ2xhc3MpLmpvaW4oXCIsIFwiKX0uYCxcbik7XG5cbi8qKiBSdW50aW1lIHNjaGVtYSBmb3IgUnVzdC1vd25lZCBEYXRhYnJpY2tzIEFJIEdhdGV3YXkgcHJvZmlsZSBzY29yZXMuICovXG5leHBvcnQgY29uc3QgTW9kZWxQcm9maWxlU2NoZW1hID0gbW9kZWxQcm9maWxlU2NoZW1hO1xuXG4vKiogUnVudGltZSBzY2hlbWEgZm9yIFJ1c3Qtb3duZWQgcmVhc29uaW5nIGVmZm9ydCB3aXJlIHZhbHVlcy4gKi9cbmV4cG9ydCBjb25zdCBSZWFzb25pbmdFZmZvcnRTY2hlbWEgPSByZWFzb25pbmdFZmZvcnRTY2hlbWE7XG5cbi8qKiBSdW50aW1lIHNjaGVtYSBmb3IgUnVzdC1vd25lZCBtb2RlbCBsaWZlY3ljbGUgc3RhdHVzLiAqL1xuZXhwb3J0IGNvbnN0IE1vZGVsU3RhdHVzU2NoZW1hID0gbW9kZWxTdGF0dXNTY2hlbWE7XG5cbi8qKiBSdW50aW1lIHNjaGVtYSBmb3IgUnVzdC1vd25lZCBub3JtYWxpemVkIGVuZHBvaW50IG1ldGFkYXRhLiAqL1xuZXhwb3J0IGNvbnN0IFNlcnZpbmdFbmRwb2ludFN1bW1hcnlTY2hlbWEgPSBzZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5U2NoZW1hO1xuXG4vKiogUnVudGltZSBzY2hlbWEgZm9yIFJ1c3Qtb3duZWQgbW9kZWwgY2F0YWxvZ3VlIHF1ZXJ5IGNvbnRyb2xzLiAqL1xuZXhwb3J0IGNvbnN0IE1vZGVsUXVlcnlTY2hlbWEgPSBtb2RlbFF1ZXJ5U2NoZW1hO1xuXG4vKiogUnVudGltZSBzY2hlbWEgZm9yIGEgUnVzdC1yYW5rZWQgZW5kcG9pbnQgcmVzdWx0LiAqL1xuZXhwb3J0IGNvbnN0IFJhbmtlZE1vZGVsU2NoZW1hID0gcmFua2VkTW9kZWxTY2hlbWE7XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFDTCxVQUFVLElBQUksbUJBQW1CLEVBQ2pDLGVBQWUsSUFBSSx3QkFBd0IsR0FRNUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsNEJBQTRCLEdBQzdCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsbURBQW1EO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQztBQUc5Qyx3REFBd0Q7QUFDeEQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsd0JBQXdCLENBQUM7QUFjOUQsa0RBQWtEO0FBQ2xELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FDdkQsd0JBQXdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDekUsQ0FBQztBQUVGLCtEQUErRDtBQUMvRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztBQUVyRCx1REFBdUQ7QUFDdkQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcscUJBQXFCLENBQUM7QUFFM0QsaURBQWlEO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO0FBRW5ELHVEQUF1RDtBQUN2RCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyw0QkFBNEIsQ0FBQztBQUV6RSx5REFBeUQ7QUFDekQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7QUFFakQsbURBQW1EO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCcm93c2VyLXNhZmUgbW9kZWwgY29udHJhY3RzIGFuZCBydW50aW1lIHNjaGVtYXMuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7XG4gIE1vZGVsQ2xhc3MgYXMgR2VuZXJhdGVkTW9kZWxDbGFzcyxcbiAgUmVhc29uaW5nRWZmb3J0IGFzIEdlbmVyYXRlZFJlYXNvbmluZ0VmZm9ydCxcbiAgdHlwZSBNb2RlbENsYXNzIGFzIEdlbmVyYXRlZE1vZGVsQ2xhc3NUeXBlLFxuICB0eXBlIE1vZGVsUHJvZmlsZSBhcyBHZW5lcmF0ZWRNb2RlbFByb2ZpbGUsXG4gIHR5cGUgTW9kZWxRdWVyeSBhcyBHZW5lcmF0ZWRNb2RlbFF1ZXJ5LFxuICB0eXBlIE1vZGVsU3RhdHVzIGFzIEdlbmVyYXRlZE1vZGVsU3RhdHVzLFxuICB0eXBlIFJhbmtlZE1vZGVsIGFzIEdlbmVyYXRlZFJhbmtlZE1vZGVsLFxuICB0eXBlIFJlYXNvbmluZ0VmZm9ydCBhcyBHZW5lcmF0ZWRSZWFzb25pbmdFZmZvcnRUeXBlLFxuICB0eXBlIFNlcnZpbmdFbmRwb2ludFN1bW1hcnkgYXMgR2VuZXJhdGVkU2VydmluZ0VuZHBvaW50U3VtbWFyeSxcbn0gZnJvbSBcIi4vY29udHJhY3RzLnRzXCI7XG5pbXBvcnQge1xuICBtb2RlbENsYXNzU2NoZW1hLFxuICBtb2RlbFByb2ZpbGVTY2hlbWEsXG4gIG1vZGVsUXVlcnlTY2hlbWEsXG4gIG1vZGVsU3RhdHVzU2NoZW1hLFxuICByYW5rZWRNb2RlbFNjaGVtYSxcbiAgcmVhc29uaW5nRWZmb3J0U2NoZW1hLFxuICBzZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5U2NoZW1hLFxufSBmcm9tIFwiLi9nZW5lcmF0ZWQvX3NjaGVtYXMudHNcIjtcblxuLyoqIFJ1bnRpbWUgdmFsdWVzIGZvciB0aGUgbW9kZWwgY2xhc3MgY29udHJhY3QuICovXG5leHBvcnQgY29uc3QgTW9kZWxDbGFzcyA9IEdlbmVyYXRlZE1vZGVsQ2xhc3M7XG4vKiogQ2xhc3Mgb2YgYSBEYXRhYnJpY2tzIE1vZGVsIFNlcnZpbmcgZW5kcG9pbnQuICovXG5leHBvcnQgdHlwZSBNb2RlbENsYXNzID0gR2VuZXJhdGVkTW9kZWxDbGFzc1R5cGU7XG4vKiogUnVudGltZSB2YWx1ZXMgZm9yIHRoZSByZWFzb25pbmcgZWZmb3J0IGNvbnRyYWN0LiAqL1xuZXhwb3J0IGNvbnN0IFJlYXNvbmluZ0VmZm9ydFZhbHVlcyA9IEdlbmVyYXRlZFJlYXNvbmluZ0VmZm9ydDtcbi8qKiBEYXRhYnJpY2tzIEFJIEdhdGV3YXkgcHJvZmlsZSBzY29yZXMuICovXG5leHBvcnQgdHlwZSBNb2RlbFByb2ZpbGUgPSBHZW5lcmF0ZWRNb2RlbFByb2ZpbGU7XG4vKiogTW9kZWwgY2F0YWxvZ3VlIHF1ZXJ5IGNvbnRyb2xzLiAqL1xuZXhwb3J0IHR5cGUgTW9kZWxRdWVyeSA9IEdlbmVyYXRlZE1vZGVsUXVlcnk7XG4vKiogTW9kZWwgbGlmZWN5Y2xlIHN0YXR1cy4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsU3RhdHVzID0gR2VuZXJhdGVkTW9kZWxTdGF0dXM7XG4vKiogQSByYW5rZWQgZW5kcG9pbnQgcmVzdWx0LiAqL1xuZXhwb3J0IHR5cGUgUmFua2VkTW9kZWwgPSBHZW5lcmF0ZWRSYW5rZWRNb2RlbDtcbi8qKiBQcm92aWRlciB3aXJlIHZhbHVlIGFjY2VwdGVkIGFzIGEgcmVhc29uaW5nIGVmZm9ydC4gKi9cbmV4cG9ydCB0eXBlIFJlYXNvbmluZ0VmZm9ydCA9IEdlbmVyYXRlZFJlYXNvbmluZ0VmZm9ydFR5cGU7XG4vKiogTm9ybWFsaXplZCBtZXRhZGF0YSBmb3IgYSBEYXRhYnJpY2tzIE1vZGVsIFNlcnZpbmcgZW5kcG9pbnQuICovXG5leHBvcnQgdHlwZSBTZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5ID0gR2VuZXJhdGVkU2VydmluZ0VuZHBvaW50U3VtbWFyeTtcblxuLyoqIFJ1bnRpbWUgc2NoZW1hIGZvciBtb2RlbCBjbGFzcyB3aXJlIHZhbHVlcy4gKi9cbmV4cG9ydCBjb25zdCBNb2RlbENsYXNzU2NoZW1hID0gbW9kZWxDbGFzc1NjaGVtYS5kZXNjcmliZShcbiAgYEVuZHBvaW50IGNsYXNzIHNsdWc6ICR7T2JqZWN0LnZhbHVlcyhHZW5lcmF0ZWRNb2RlbENsYXNzKS5qb2luKFwiLCBcIil9LmAsXG4pO1xuXG4vKiogUnVudGltZSBzY2hlbWEgZm9yIERhdGFicmlja3MgQUkgR2F0ZXdheSBwcm9maWxlIHNjb3Jlcy4gKi9cbmV4cG9ydCBjb25zdCBNb2RlbFByb2ZpbGVTY2hlbWEgPSBtb2RlbFByb2ZpbGVTY2hlbWE7XG5cbi8qKiBSdW50aW1lIHNjaGVtYSBmb3IgcmVhc29uaW5nIGVmZm9ydCB3aXJlIHZhbHVlcy4gKi9cbmV4cG9ydCBjb25zdCBSZWFzb25pbmdFZmZvcnRTY2hlbWEgPSByZWFzb25pbmdFZmZvcnRTY2hlbWE7XG5cbi8qKiBSdW50aW1lIHNjaGVtYSBmb3IgbW9kZWwgbGlmZWN5Y2xlIHN0YXR1cy4gKi9cbmV4cG9ydCBjb25zdCBNb2RlbFN0YXR1c1NjaGVtYSA9IG1vZGVsU3RhdHVzU2NoZW1hO1xuXG4vKiogUnVudGltZSBzY2hlbWEgZm9yIG5vcm1hbGl6ZWQgZW5kcG9pbnQgbWV0YWRhdGEuICovXG5leHBvcnQgY29uc3QgU2VydmluZ0VuZHBvaW50U3VtbWFyeVNjaGVtYSA9IHNlcnZpbmdFbmRwb2ludFN1bW1hcnlTY2hlbWE7XG5cbi8qKiBSdW50aW1lIHNjaGVtYSBmb3IgbW9kZWwgY2F0YWxvZ3VlIHF1ZXJ5IGNvbnRyb2xzLiAqL1xuZXhwb3J0IGNvbnN0IE1vZGVsUXVlcnlTY2hlbWEgPSBtb2RlbFF1ZXJ5U2NoZW1hO1xuXG4vKiogUnVudGltZSBzY2hlbWEgZm9yIGEgcmFua2VkIGVuZHBvaW50IHJlc3VsdC4gKi9cbmV4cG9ydCBjb25zdCBSYW5rZWRNb2RlbFNjaGVtYSA9IHJhbmtlZE1vZGVsU2NoZW1hO1xuIl19
@@ -1 +1 @@
1
- {"root":["../src/display.ts","../src/model.ts","../src/openai-chat.ts","../src/generated/_contracts.ts","../src/generated/_schemas.ts","../index.ts"],"version":"5.9.3"}
1
+ {"root":["../src/contracts.ts","../src/display.ts","../src/model.ts","../src/openai-chat.ts","../src/generated/_schemas.ts","../index.ts"],"version":"5.9.3"}
package/package.json CHANGED
@@ -24,7 +24,7 @@
24
24
  "typescript": "^5.9.3"
25
25
  },
26
26
  "dependencies": {
27
- "@dbx-tools/shared-core": "^0.9.19",
27
+ "@dbx-tools/shared-core": "^0.9.28",
28
28
  "zod": "4.3.6"
29
29
  },
30
30
  "main": "./lib/index.js",
@@ -38,10 +38,18 @@
38
38
  "types": "./lib/index.d.ts",
39
39
  "default": "./lib/index.js"
40
40
  },
41
+ "./contracts": {
42
+ "types": "./lib/src/contracts.d.ts",
43
+ "default": "./lib/src/contracts.js"
44
+ },
45
+ "./display": {
46
+ "types": "./lib/src/display.d.ts",
47
+ "default": "./lib/src/display.js"
48
+ },
41
49
  "./package.json": "./package.json"
42
50
  }
43
51
  },
44
- "version": "0.9.19",
52
+ "version": "0.9.28",
45
53
  "types": "./lib/index.d.ts",
46
54
  "type": "module",
47
55
  "exports": {
@@ -49,6 +57,14 @@
49
57
  "types": "./lib/index.d.ts",
50
58
  "default": "./lib/index.js"
51
59
  },
60
+ "./contracts": {
61
+ "types": "./lib/src/contracts.d.ts",
62
+ "default": "./lib/src/contracts.js"
63
+ },
64
+ "./display": {
65
+ "types": "./lib/src/display.d.ts",
66
+ "default": "./lib/src/display.js"
67
+ },
52
68
  "./package.json": "./package.json"
53
69
  },
54
70
  "files": [
@@ -0,0 +1,96 @@
1
+ /** Browser-safe model contracts owned by the TypeScript model runtime. */
2
+
3
+ export const ModelClass = {
4
+ ChatThinking: "chat-thinking",
5
+ ChatBalanced: "chat-balanced",
6
+ ChatFast: "chat-fast",
7
+ Embedding: "embedding",
8
+ } as const;
9
+ /** Intent-oriented endpoint class slug. */
10
+ export type ModelClass = (typeof ModelClass)[keyof typeof ModelClass];
11
+
12
+ export const ReasoningEffort = {
13
+ None: "none",
14
+ Minimal: "minimal",
15
+ Low: "low",
16
+ Medium: "medium",
17
+ High: "high",
18
+ Xhigh: "xhigh",
19
+ Max: "max",
20
+ } as const;
21
+ /** Reasoning effort value accepted by compatible model endpoints. */
22
+ export type ReasoningEffort = (typeof ReasoningEffort)[keyof typeof ReasoningEffort];
23
+
24
+ /** Relative quality, speed, and cost scores for an endpoint. */
25
+ export interface ModelProfile {
26
+ /** Relative model quality score. */
27
+ readonly quality?: number;
28
+ /** Relative model speed score. */
29
+ readonly speed?: number;
30
+ /** Relative model cost score. */
31
+ readonly cost?: number;
32
+ }
33
+
34
+ /** Model retirement status. */
35
+ export interface ModelStatus {
36
+ /** Whether Databricks lists the model as retired or deprecated. */
37
+ readonly deprecated: boolean;
38
+ }
39
+
40
+ /** Browser-safe normalized Model Serving endpoint metadata. */
41
+ export interface ServingEndpointSummary {
42
+ /** Model Serving endpoint name used for invocation. */
43
+ readonly name: string;
44
+ /** Human-readable endpoint or model name. */
45
+ readonly displayName?: string;
46
+ /** Normalized model family parsed from the endpoint identities. */
47
+ readonly family?: string;
48
+ /** Endpoint task, such as chat or embeddings. */
49
+ readonly task?: string;
50
+ /** Endpoint readiness state. */
51
+ readonly state?: string;
52
+ /** Endpoint description supplied by Databricks. */
53
+ readonly description?: string;
54
+ /** Whether the endpoint supports tool calling. */
55
+ readonly supportsTools?: boolean;
56
+ /** AI Gateway model profile scores. */
57
+ readonly profile?: ModelProfile;
58
+ /** Intent-oriented endpoint class. */
59
+ readonly class?: ModelClass;
60
+ /** Provider names mapped to provider-specific model names. */
61
+ readonly serviceNames?: Readonly<Record<string, string>>;
62
+ /** Foundation model name reported by the served entity. */
63
+ readonly modelServiceName?: string;
64
+ /** Reasoning effort values accepted by the endpoint. */
65
+ readonly reasoningEfforts?: readonly ReasoningEffort[];
66
+ /** Retirement status for the served model. */
67
+ readonly status?: ModelStatus;
68
+ /** Embedding vector dimension measured by the caller, when available. */
69
+ readonly dimension?: number;
70
+ }
71
+
72
+ /** Browser-safe model catalogue search and ranking controls. */
73
+ export interface ModelQuery {
74
+ /** Optional fuzzy model-name search. */
75
+ readonly search?: string;
76
+ /** Requested model-class ceiling, or the exact embedding class. */
77
+ readonly modelClass?: ModelClass;
78
+ /** Whether candidates must support tool calling. */
79
+ readonly requiresTools?: boolean;
80
+ /** Whether retired models remain eligible. */
81
+ readonly includeDeprecated?: boolean;
82
+ /** Maximum number of results. */
83
+ readonly limit?: number;
84
+ /** Maximum fuzzy-match distance. */
85
+ readonly threshold?: number;
86
+ }
87
+
88
+ /** One ranked model-search result. */
89
+ export interface RankedModel {
90
+ /** Matching endpoint metadata. */
91
+ readonly endpoint: ServingEndpointSummary;
92
+ /** Intent-oriented endpoint class. */
93
+ readonly modelClass: ModelClass;
94
+ /** Fuzzy-match distance, where lower values are closer. */
95
+ readonly score?: number;
96
+ }
package/src/display.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * @module
11
11
  */
12
- import { stringUtils } from "@dbx-tools/shared-core";
12
+ import * as stringUtils from "@dbx-tools/shared-core/string-utils";
13
13
 
14
14
  /**
15
15
  * Vendor / namespace prefixes stripped from a tokenized endpoint name
package/src/model.ts CHANGED
@@ -1,9 +1,5 @@
1
1
  /**
2
- * Browser-safe model contracts generated from the Rust model owner.
3
- *
4
- * Rust owns record fields, enum wire values, and field validation metadata.
5
- * This module preserves the established public names while keeping native FFI
6
- * initialization out of browser bundles.
2
+ * Browser-safe model contracts and runtime schemas.
7
3
  *
8
4
  * @module
9
5
  */
@@ -18,7 +14,7 @@ import {
18
14
  type RankedModel as GeneratedRankedModel,
19
15
  type ReasoningEffort as GeneratedReasoningEffortType,
20
16
  type ServingEndpointSummary as GeneratedServingEndpointSummary,
21
- } from "./generated/_contracts.ts";
17
+ } from "./contracts.ts";
22
18
  import {
23
19
  modelClassSchema,
24
20
  modelProfileSchema,
@@ -29,11 +25,11 @@ import {
29
25
  servingEndpointSummarySchema,
30
26
  } from "./generated/_schemas.ts";
31
27
 
32
- /** Runtime values for the Rust-owned model class contract. */
28
+ /** Runtime values for the model class contract. */
33
29
  export const ModelClass = GeneratedModelClass;
34
30
  /** Class of a Databricks Model Serving endpoint. */
35
31
  export type ModelClass = GeneratedModelClassType;
36
- /** Runtime values for the Rust-owned reasoning effort contract. */
32
+ /** Runtime values for the reasoning effort contract. */
37
33
  export const ReasoningEffortValues = GeneratedReasoningEffort;
38
34
  /** Databricks AI Gateway profile scores. */
39
35
  export type ModelProfile = GeneratedModelProfile;
@@ -41,32 +37,32 @@ export type ModelProfile = GeneratedModelProfile;
41
37
  export type ModelQuery = GeneratedModelQuery;
42
38
  /** Model lifecycle status. */
43
39
  export type ModelStatus = GeneratedModelStatus;
44
- /** A Rust-ranked endpoint result. */
40
+ /** A ranked endpoint result. */
45
41
  export type RankedModel = GeneratedRankedModel;
46
42
  /** Provider wire value accepted as a reasoning effort. */
47
43
  export type ReasoningEffort = GeneratedReasoningEffortType;
48
44
  /** Normalized metadata for a Databricks Model Serving endpoint. */
49
45
  export type ServingEndpointSummary = GeneratedServingEndpointSummary;
50
46
 
51
- /** Runtime schema for the Rust-owned model class wire values. */
47
+ /** Runtime schema for model class wire values. */
52
48
  export const ModelClassSchema = modelClassSchema.describe(
53
49
  `Endpoint class slug: ${Object.values(GeneratedModelClass).join(", ")}.`,
54
50
  );
55
51
 
56
- /** Runtime schema for Rust-owned Databricks AI Gateway profile scores. */
52
+ /** Runtime schema for Databricks AI Gateway profile scores. */
57
53
  export const ModelProfileSchema = modelProfileSchema;
58
54
 
59
- /** Runtime schema for Rust-owned reasoning effort wire values. */
55
+ /** Runtime schema for reasoning effort wire values. */
60
56
  export const ReasoningEffortSchema = reasoningEffortSchema;
61
57
 
62
- /** Runtime schema for Rust-owned model lifecycle status. */
58
+ /** Runtime schema for model lifecycle status. */
63
59
  export const ModelStatusSchema = modelStatusSchema;
64
60
 
65
- /** Runtime schema for Rust-owned normalized endpoint metadata. */
61
+ /** Runtime schema for normalized endpoint metadata. */
66
62
  export const ServingEndpointSummarySchema = servingEndpointSummarySchema;
67
63
 
68
- /** Runtime schema for Rust-owned model catalogue query controls. */
64
+ /** Runtime schema for model catalogue query controls. */
69
65
  export const ModelQuerySchema = modelQuerySchema;
70
66
 
71
- /** Runtime schema for a Rust-ranked endpoint result. */
67
+ /** Runtime schema for a ranked endpoint result. */
72
68
  export const RankedModelSchema = rankedModelSchema;
@@ -1,142 +0,0 @@
1
- export declare const ModelClass: {
2
- readonly ChatThinking: "chat-thinking";
3
- readonly ChatBalanced: "chat-balanced";
4
- readonly ChatFast: "chat-fast";
5
- readonly Embedding: "embedding";
6
- };
7
- export type ModelClass = "chat-thinking" | "chat-balanced" | "chat-fast" | "embedding";
8
- export declare const ReasoningEffort: {
9
- readonly None: "none";
10
- readonly Minimal: "minimal";
11
- readonly Low: "low";
12
- readonly Medium: "medium";
13
- readonly High: "high";
14
- readonly Xhigh: "xhigh";
15
- readonly Max: "max";
16
- };
17
- export type ReasoningEffort = "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
18
- export type ModelProfile = {
19
- /**
20
- * Relative model quality score.
21
- */
22
- quality?: number;
23
- /**
24
- * Relative model speed score.
25
- */
26
- speed?: number;
27
- /**
28
- * Relative model cost score.
29
- */
30
- cost?: number;
31
- };
32
- export type ModelStatus = {
33
- /**
34
- * Whether Databricks lists the model as retired or deprecated.
35
- *
36
- * @default false
37
- */
38
- deprecated: boolean;
39
- };
40
- export type ServingEndpointSummary = {
41
- /**
42
- * Model Serving endpoint name used for invocation.
43
- */
44
- name: string;
45
- /**
46
- * Human-readable endpoint or model name.
47
- */
48
- displayName?: string;
49
- /**
50
- * Normalized model family parsed from the endpoint identities.
51
- */
52
- family?: string;
53
- /**
54
- * Endpoint task, such as chat or embeddings.
55
- */
56
- task?: string;
57
- /**
58
- * Endpoint readiness state.
59
- */
60
- state?: string;
61
- /**
62
- * Endpoint description supplied by Databricks.
63
- */
64
- description?: string;
65
- /**
66
- * Whether the endpoint supports tool calling.
67
- */
68
- supportsTools?: boolean;
69
- /**
70
- * AI Gateway model profile scores.
71
- */
72
- profile?: ModelProfile;
73
- /**
74
- * Intent-oriented endpoint class.
75
- */
76
- class?: ModelClass;
77
- /**
78
- * Provider names mapped to provider-specific model names.
79
- */
80
- serviceNames?: Record<string, string>;
81
- /**
82
- * Foundation model name reported by the served entity.
83
- */
84
- modelServiceName?: string;
85
- /**
86
- * Reasoning effort values accepted by the endpoint.
87
- */
88
- reasoningEfforts?: Array<ReasoningEffort>;
89
- /**
90
- * Retirement status for the served model.
91
- */
92
- status?: ModelStatus;
93
- /**
94
- * Embedding vector dimension measured by the caller, when available.
95
- */
96
- dimension?: number;
97
- };
98
- export type ModelQuery = {
99
- /**
100
- * Optional fuzzy model-name search.
101
- */
102
- search?: string;
103
- /**
104
- * Requested model-class ceiling, or the exact embedding class.
105
- */
106
- modelClass?: ModelClass;
107
- /**
108
- * Whether candidates must support tool calling.
109
- */
110
- requiresTools?: boolean;
111
- /**
112
- * Whether retired models remain eligible.
113
- */
114
- includeDeprecated?: boolean;
115
- /**
116
- * Maximum number of results.
117
- *
118
- * @schema number().int().min(1).max(50).optional()
119
- */
120
- limit?: number;
121
- /**
122
- * Maximum fuzzy-match distance.
123
- *
124
- * @minimum 0
125
- * @maximum 1
126
- */
127
- threshold?: number;
128
- };
129
- export type RankedModel = {
130
- /**
131
- * Matching endpoint metadata.
132
- */
133
- endpoint: ServingEndpointSummary;
134
- /**
135
- * Intent-oriented endpoint class.
136
- */
137
- modelClass: ModelClass;
138
- /**
139
- * Fuzzy-match distance, where lower values are closer.
140
- */
141
- score?: number;
142
- };
@@ -1,17 +0,0 @@
1
- // Generated from packages/rs/model. Do not edit.
2
- export const ModelClass = {
3
- ChatThinking: "chat-thinking",
4
- ChatBalanced: "chat-balanced",
5
- ChatFast: "chat-fast",
6
- Embedding: "embedding",
7
- };
8
- export const ReasoningEffort = {
9
- None: "none",
10
- Minimal: "minimal",
11
- Low: "low",
12
- Medium: "medium",
13
- High: "high",
14
- Xhigh: "xhigh",
15
- Max: "max",
16
- };
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2NvbnRyYWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvX2NvbnRyYWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpREFBaUQ7QUFFakQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLFlBQVksRUFBRSxlQUFlO0lBQzdCLFlBQVksRUFBRSxlQUFlO0lBQzdCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFNBQVMsRUFBRSxXQUFXO0NBQ2QsQ0FBQztBQUdYLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsTUFBTSxFQUFFLFFBQVE7SUFDaEIsSUFBSSxFQUFFLE1BQU07SUFDWixLQUFLLEVBQUUsT0FBTztJQUNkLEdBQUcsRUFBRSxLQUFLO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdlbmVyYXRlZCBmcm9tIHBhY2thZ2VzL3JzL21vZGVsLiBEbyBub3QgZWRpdC5cblxuZXhwb3J0IGNvbnN0IE1vZGVsQ2xhc3MgPSB7XG4gIENoYXRUaGlua2luZzogXCJjaGF0LXRoaW5raW5nXCIsXG4gIENoYXRCYWxhbmNlZDogXCJjaGF0LWJhbGFuY2VkXCIsXG4gIENoYXRGYXN0OiBcImNoYXQtZmFzdFwiLFxuICBFbWJlZGRpbmc6IFwiZW1iZWRkaW5nXCIsXG59IGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgTW9kZWxDbGFzcyA9IFwiY2hhdC10aGlua2luZ1wiIHwgXCJjaGF0LWJhbGFuY2VkXCIgfCBcImNoYXQtZmFzdFwiIHwgXCJlbWJlZGRpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFJlYXNvbmluZ0VmZm9ydCA9IHtcbiAgTm9uZTogXCJub25lXCIsXG4gIE1pbmltYWw6IFwibWluaW1hbFwiLFxuICBMb3c6IFwibG93XCIsXG4gIE1lZGl1bTogXCJtZWRpdW1cIixcbiAgSGlnaDogXCJoaWdoXCIsXG4gIFhoaWdoOiBcInhoaWdoXCIsXG4gIE1heDogXCJtYXhcIixcbn0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBSZWFzb25pbmdFZmZvcnQgPSBcIm5vbmVcIiB8IFwibWluaW1hbFwiIHwgXCJsb3dcIiB8IFwibWVkaXVtXCIgfCBcImhpZ2hcIiB8IFwieGhpZ2hcIiB8IFwibWF4XCI7XG5cbmV4cG9ydCB0eXBlIE1vZGVsUHJvZmlsZSA9IHsgXG4vKipcbiAqIFJlbGF0aXZlIG1vZGVsIHF1YWxpdHkgc2NvcmUuXG4gKi9cbnF1YWxpdHk/OiBudW1iZXIsIFxuLyoqXG4gKiBSZWxhdGl2ZSBtb2RlbCBzcGVlZCBzY29yZS5cbiAqL1xuc3BlZWQ/OiBudW1iZXIsIFxuLyoqXG4gKiBSZWxhdGl2ZSBtb2RlbCBjb3N0IHNjb3JlLlxuICovXG5jb3N0PzogbnVtYmVyLCB9O1xuXG5leHBvcnQgdHlwZSBNb2RlbFN0YXR1cyA9IHsgXG4vKipcbiAqIFdoZXRoZXIgRGF0YWJyaWNrcyBsaXN0cyB0aGUgbW9kZWwgYXMgcmV0aXJlZCBvciBkZXByZWNhdGVkLlxuICpcbiAqIEBkZWZhdWx0IGZhbHNlXG4gKi9cbmRlcHJlY2F0ZWQ6IGJvb2xlYW4sIH07XG5cbmV4cG9ydCB0eXBlIFNlcnZpbmdFbmRwb2ludFN1bW1hcnkgPSB7IFxuLyoqXG4gKiBNb2RlbCBTZXJ2aW5nIGVuZHBvaW50IG5hbWUgdXNlZCBmb3IgaW52b2NhdGlvbi5cbiAqL1xubmFtZTogc3RyaW5nLCBcbi8qKlxuICogSHVtYW4tcmVhZGFibGUgZW5kcG9pbnQgb3IgbW9kZWwgbmFtZS5cbiAqL1xuZGlzcGxheU5hbWU/OiBzdHJpbmcsIFxuLyoqXG4gKiBOb3JtYWxpemVkIG1vZGVsIGZhbWlseSBwYXJzZWQgZnJvbSB0aGUgZW5kcG9pbnQgaWRlbnRpdGllcy5cbiAqL1xuZmFtaWx5Pzogc3RyaW5nLCBcbi8qKlxuICogRW5kcG9pbnQgdGFzaywgc3VjaCBhcyBjaGF0IG9yIGVtYmVkZGluZ3MuXG4gKi9cbnRhc2s/OiBzdHJpbmcsIFxuLyoqXG4gKiBFbmRwb2ludCByZWFkaW5lc3Mgc3RhdGUuXG4gKi9cbnN0YXRlPzogc3RyaW5nLCBcbi8qKlxuICogRW5kcG9pbnQgZGVzY3JpcHRpb24gc3VwcGxpZWQgYnkgRGF0YWJyaWNrcy5cbiAqL1xuZGVzY3JpcHRpb24/OiBzdHJpbmcsIFxuLyoqXG4gKiBXaGV0aGVyIHRoZSBlbmRwb2ludCBzdXBwb3J0cyB0b29sIGNhbGxpbmcuXG4gKi9cbnN1cHBvcnRzVG9vbHM/OiBib29sZWFuLCBcbi8qKlxuICogQUkgR2F0ZXdheSBtb2RlbCBwcm9maWxlIHNjb3Jlcy5cbiAqL1xucHJvZmlsZT86IE1vZGVsUHJvZmlsZSwgXG4vKipcbiAqIEludGVudC1vcmllbnRlZCBlbmRwb2ludCBjbGFzcy5cbiAqL1xuY2xhc3M/OiBNb2RlbENsYXNzLCBcbi8qKlxuICogUHJvdmlkZXIgbmFtZXMgbWFwcGVkIHRvIHByb3ZpZGVyLXNwZWNpZmljIG1vZGVsIG5hbWVzLlxuICovXG5zZXJ2aWNlTmFtZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBcbi8qKlxuICogRm91bmRhdGlvbiBtb2RlbCBuYW1lIHJlcG9ydGVkIGJ5IHRoZSBzZXJ2ZWQgZW50aXR5LlxuICovXG5tb2RlbFNlcnZpY2VOYW1lPzogc3RyaW5nLCBcbi8qKlxuICogUmVhc29uaW5nIGVmZm9ydCB2YWx1ZXMgYWNjZXB0ZWQgYnkgdGhlIGVuZHBvaW50LlxuICovXG5yZWFzb25pbmdFZmZvcnRzPzogQXJyYXk8UmVhc29uaW5nRWZmb3J0PiwgXG4vKipcbiAqIFJldGlyZW1lbnQgc3RhdHVzIGZvciB0aGUgc2VydmVkIG1vZGVsLlxuICovXG5zdGF0dXM/OiBNb2RlbFN0YXR1cywgXG4vKipcbiAqIEVtYmVkZGluZyB2ZWN0b3IgZGltZW5zaW9uIG1lYXN1cmVkIGJ5IHRoZSBjYWxsZXIsIHdoZW4gYXZhaWxhYmxlLlxuICovXG5kaW1lbnNpb24/OiBudW1iZXIsIH07XG5cbmV4cG9ydCB0eXBlIE1vZGVsUXVlcnkgPSB7IFxuLyoqXG4gKiBPcHRpb25hbCBmdXp6eSBtb2RlbC1uYW1lIHNlYXJjaC5cbiAqL1xuc2VhcmNoPzogc3RyaW5nLCBcbi8qKlxuICogUmVxdWVzdGVkIG1vZGVsLWNsYXNzIGNlaWxpbmcsIG9yIHRoZSBleGFjdCBlbWJlZGRpbmcgY2xhc3MuXG4gKi9cbm1vZGVsQ2xhc3M/OiBNb2RlbENsYXNzLCBcbi8qKlxuICogV2hldGhlciBjYW5kaWRhdGVzIG11c3Qgc3VwcG9ydCB0b29sIGNhbGxpbmcuXG4gKi9cbnJlcXVpcmVzVG9vbHM/OiBib29sZWFuLCBcbi8qKlxuICogV2hldGhlciByZXRpcmVkIG1vZGVscyByZW1haW4gZWxpZ2libGUuXG4gKi9cbmluY2x1ZGVEZXByZWNhdGVkPzogYm9vbGVhbiwgXG4vKipcbiAqIE1heGltdW0gbnVtYmVyIG9mIHJlc3VsdHMuXG4gKlxuICogQHNjaGVtYSBudW1iZXIoKS5pbnQoKS5taW4oMSkubWF4KDUwKS5vcHRpb25hbCgpXG4gKi9cbmxpbWl0PzogbnVtYmVyLCBcbi8qKlxuICogTWF4aW11bSBmdXp6eS1tYXRjaCBkaXN0YW5jZS5cbiAqXG4gKiBAbWluaW11bSAwXG4gKiBAbWF4aW11bSAxXG4gKi9cbnRocmVzaG9sZD86IG51bWJlciwgfTtcblxuZXhwb3J0IHR5cGUgUmFua2VkTW9kZWwgPSB7IFxuLyoqXG4gKiBNYXRjaGluZyBlbmRwb2ludCBtZXRhZGF0YS5cbiAqL1xuZW5kcG9pbnQ6IFNlcnZpbmdFbmRwb2ludFN1bW1hcnksIFxuLyoqXG4gKiBJbnRlbnQtb3JpZW50ZWQgZW5kcG9pbnQgY2xhc3MuXG4gKi9cbm1vZGVsQ2xhc3M6IE1vZGVsQ2xhc3MsIFxuLyoqXG4gKiBGdXp6eS1tYXRjaCBkaXN0YW5jZSwgd2hlcmUgbG93ZXIgdmFsdWVzIGFyZSBjbG9zZXIuXG4gKi9cbnNjb3JlPzogbnVtYmVyLCB9O1xuIl19
@@ -1,145 +0,0 @@
1
- // Generated from packages/rs/model. Do not edit.
2
-
3
- export const ModelClass = {
4
- ChatThinking: "chat-thinking",
5
- ChatBalanced: "chat-balanced",
6
- ChatFast: "chat-fast",
7
- Embedding: "embedding",
8
- } as const;
9
- export type ModelClass = "chat-thinking" | "chat-balanced" | "chat-fast" | "embedding";
10
-
11
- export const ReasoningEffort = {
12
- None: "none",
13
- Minimal: "minimal",
14
- Low: "low",
15
- Medium: "medium",
16
- High: "high",
17
- Xhigh: "xhigh",
18
- Max: "max",
19
- } as const;
20
- export type ReasoningEffort = "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
21
-
22
- export type ModelProfile = {
23
- /**
24
- * Relative model quality score.
25
- */
26
- quality?: number,
27
- /**
28
- * Relative model speed score.
29
- */
30
- speed?: number,
31
- /**
32
- * Relative model cost score.
33
- */
34
- cost?: number, };
35
-
36
- export type ModelStatus = {
37
- /**
38
- * Whether Databricks lists the model as retired or deprecated.
39
- *
40
- * @default false
41
- */
42
- deprecated: boolean, };
43
-
44
- export type ServingEndpointSummary = {
45
- /**
46
- * Model Serving endpoint name used for invocation.
47
- */
48
- name: string,
49
- /**
50
- * Human-readable endpoint or model name.
51
- */
52
- displayName?: string,
53
- /**
54
- * Normalized model family parsed from the endpoint identities.
55
- */
56
- family?: string,
57
- /**
58
- * Endpoint task, such as chat or embeddings.
59
- */
60
- task?: string,
61
- /**
62
- * Endpoint readiness state.
63
- */
64
- state?: string,
65
- /**
66
- * Endpoint description supplied by Databricks.
67
- */
68
- description?: string,
69
- /**
70
- * Whether the endpoint supports tool calling.
71
- */
72
- supportsTools?: boolean,
73
- /**
74
- * AI Gateway model profile scores.
75
- */
76
- profile?: ModelProfile,
77
- /**
78
- * Intent-oriented endpoint class.
79
- */
80
- class?: ModelClass,
81
- /**
82
- * Provider names mapped to provider-specific model names.
83
- */
84
- serviceNames?: Record<string, string>,
85
- /**
86
- * Foundation model name reported by the served entity.
87
- */
88
- modelServiceName?: string,
89
- /**
90
- * Reasoning effort values accepted by the endpoint.
91
- */
92
- reasoningEfforts?: Array<ReasoningEffort>,
93
- /**
94
- * Retirement status for the served model.
95
- */
96
- status?: ModelStatus,
97
- /**
98
- * Embedding vector dimension measured by the caller, when available.
99
- */
100
- dimension?: number, };
101
-
102
- export type ModelQuery = {
103
- /**
104
- * Optional fuzzy model-name search.
105
- */
106
- search?: string,
107
- /**
108
- * Requested model-class ceiling, or the exact embedding class.
109
- */
110
- modelClass?: ModelClass,
111
- /**
112
- * Whether candidates must support tool calling.
113
- */
114
- requiresTools?: boolean,
115
- /**
116
- * Whether retired models remain eligible.
117
- */
118
- includeDeprecated?: boolean,
119
- /**
120
- * Maximum number of results.
121
- *
122
- * @schema number().int().min(1).max(50).optional()
123
- */
124
- limit?: number,
125
- /**
126
- * Maximum fuzzy-match distance.
127
- *
128
- * @minimum 0
129
- * @maximum 1
130
- */
131
- threshold?: number, };
132
-
133
- export type RankedModel = {
134
- /**
135
- * Matching endpoint metadata.
136
- */
137
- endpoint: ServingEndpointSummary,
138
- /**
139
- * Intent-oriented endpoint class.
140
- */
141
- modelClass: ModelClass,
142
- /**
143
- * Fuzzy-match distance, where lower values are closer.
144
- */
145
- score?: number, };