@dbx-tools/shared-model 0.9.5 → 0.9.6
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 +26 -132
- package/index.ts +3 -8
- package/lib/index.d.ts +3 -8
- package/lib/index.js +3 -6
- package/lib/src/display.js +4 -4
- package/lib/src/generated/_contracts.d.ts +142 -0
- package/lib/src/generated/_contracts.js +17 -0
- package/lib/src/generated/_schemas.d.ts +67 -0
- package/lib/src/generated/_schemas.js +130 -0
- package/lib/src/model.d.ts +110 -129
- package/lib/src/model.js +26 -150
- package/lib/src/openai-chat.d.ts +2 -2
- package/lib/src/openai-chat.js +3 -3
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/display.ts +3 -3
- package/src/generated/_contracts.ts +145 -0
- package/src/generated/_schemas.ts +136 -0
- package/src/model.ts +58 -183
- package/src/openai-chat.ts +2 -2
- package/lib/src/classify.d.ts +0 -122
- package/lib/src/classify.js +0 -305
- package/lib/src/openai-responses.d.ts +0 -210
- package/lib/src/openai-responses.js +0 -754
- package/src/classify.ts +0 -345
- package/src/openai-responses.ts +0 -841
package/README.md
CHANGED
|
@@ -1,25 +1,19 @@
|
|
|
1
1
|
# @dbx-tools/shared-model
|
|
2
2
|
|
|
3
|
-
Browser-safe model-selection
|
|
3
|
+
Browser-safe model-selection contracts generated from the canonical model
|
|
4
|
+
owner.
|
|
4
5
|
|
|
5
6
|
Import this package when UI code, route handlers, tools, or tests need to
|
|
6
|
-
validate model lookup requests
|
|
7
|
-
|
|
8
|
-
resolution
|
|
7
|
+
validate model lookup requests or type ranked model responses without talking
|
|
8
|
+
to Databricks. Normalization, classification, capability policy, ranking, and
|
|
9
|
+
fuzzy resolution are exposed through [`@dbx-tools/model`](../../node/model).
|
|
9
10
|
|
|
10
11
|
Key features:
|
|
11
12
|
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
- Browser-safe zod schemas for lookup requests, endpoint summaries, ranked
|
|
15
|
-
results, and profile metadata.
|
|
16
|
-
- Endpoint classifier that groups serving endpoints by score profile and family
|
|
17
|
-
naming conventions, plus `classify.endpointCapabilities` for chat / embedding
|
|
18
|
-
/ tool-calling capability flags.
|
|
19
|
-
- Version/family parsing helpers for model catalogues and tests.
|
|
13
|
+
- Generated `ModelClass`, endpoint, query, status, profile, ranking, and
|
|
14
|
+
reasoning-effort contracts as browser-safe TypeScript and zod.
|
|
20
15
|
- Human-readable endpoint display names via `display.toModelDisplayName`.
|
|
21
|
-
- OpenAI
|
|
22
|
-
translator, so a proxy, a route, and a UI all speak the same payload shapes.
|
|
16
|
+
- Browser-safe OpenAI Chat message and tool-call contracts.
|
|
23
17
|
- Types that match the server selection API without depending on the Databricks
|
|
24
18
|
SDK.
|
|
25
19
|
|
|
@@ -34,12 +28,9 @@ display.toModelDisplayName("x", "Claude 4.6 (Preview)"); // provided name wins
|
|
|
34
28
|
```
|
|
35
29
|
|
|
36
30
|
`ServingEndpointSummary.displayName` is the optional friendly label for the
|
|
37
|
-
picker; `name` stays the invoke id. A Databricks-provided name
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
otherwise the pure helper strips leading vendor prefixes and title-cases via
|
|
41
|
-
`@dbx-tools/shared-core`'s tokenizer. It flows through `GET /models`
|
|
42
|
-
automatically, and the UI picker shows `displayName ?? name`.
|
|
31
|
+
picker; `name` stays the invoke id. A Databricks-provided name wins. Otherwise,
|
|
32
|
+
the pure helper strips leading vendor prefixes and title-cases through
|
|
33
|
+
`@dbx-tools/shared-core`'s tokenizer.
|
|
43
34
|
|
|
44
35
|
## Validate A Model Lookup Request
|
|
45
36
|
|
|
@@ -58,135 +49,38 @@ Use `model.ModelQuerySchema` for route query/body validation and agent tool
|
|
|
58
49
|
inputs. It keeps client model pickers and backend resolution endpoints on the
|
|
59
50
|
same request shape.
|
|
60
51
|
|
|
61
|
-
##
|
|
52
|
+
## Use Classified Endpoint Catalogues
|
|
62
53
|
|
|
63
54
|
```ts
|
|
64
|
-
import { model
|
|
65
|
-
|
|
66
|
-
const ranked: RankedModel = model.RankedModelSchema.parse(response);
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
`model.ServingEndpointSummarySchema` describes the stable endpoint fields exposed
|
|
70
|
-
to clients: endpoint name, parsed family, task, state, optional profile scores,
|
|
71
|
-
classified class, `supportsTools`, provider service names, Rust-derived
|
|
72
|
-
reasoning-effort wire values, lifecycle status, and embedding dimension.
|
|
73
|
-
`requiresTools: true` filters
|
|
74
|
-
search/ranking to endpoints that can complete both a function call and the
|
|
75
|
-
subsequent `function_call_output` replay.
|
|
76
|
-
|
|
77
|
-
## Classify Endpoint Catalogues
|
|
78
|
-
|
|
79
|
-
```ts
|
|
80
|
-
import { classify, model } from "@dbx-tools/shared-model";
|
|
81
|
-
|
|
82
|
-
const byClass = classify.classifyEndpoints(endpoints);
|
|
83
|
-
const fast = byClass[model.ModelClass.ChatFast];
|
|
84
|
-
const agentModels = endpoints.filter((endpoint) => classify.endpointCapabilities(endpoint).tools);
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Databricks currently exposes no tool-capability attribute in the endpoint list
|
|
88
|
-
or OpenAPI schema. `supportsTools` therefore uses a conservative, live-verified
|
|
89
|
-
provider-family policy: GPT (except GPT-OSS), Claude, Qwen, GLM, and Llama.
|
|
90
|
-
Gemini is excluded because its Open Responses tool-result replay requires a
|
|
91
|
-
thought signature the wire does not currently accept; GPT-OSS rejects Responses
|
|
92
|
-
passthrough. An explicit `supportsTools` stamp overrides the family fallback.
|
|
93
|
-
|
|
94
|
-
The classifier uses Foundation Model API quality/speed/cost scores when present
|
|
95
|
-
and family-name heuristics when scores are missing. This is useful for client
|
|
96
|
-
grouping, tests, and offline catalogue analysis.
|
|
97
|
-
|
|
98
|
-
## Parse Model Families
|
|
99
|
-
|
|
100
|
-
```ts
|
|
101
|
-
const family = classify.classifyByFamily("databricks-claude-sonnet-4-6");
|
|
102
|
-
const version = classify.versionTuple("llama-3-1-70b");
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Family parsing helps callers bucket custom lists or explain why an endpoint
|
|
106
|
-
landed in a class before the live workspace scores are available.
|
|
107
|
-
|
|
108
|
-
## Ask What An Endpoint Can Do
|
|
109
|
-
|
|
110
|
-
```ts
|
|
111
|
-
const caps = classify.endpointCapabilities(endpoint);
|
|
112
|
-
if (caps.chat) offerInChatPicker(endpoint);
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
Capability comes from the Databricks task hint (`llm/v1/chat` /
|
|
116
|
-
`llm/v1/embeddings`) with the classified class as the fallback for endpoints
|
|
117
|
-
Databricks left untagged. Filter on this rather than comparing raw `task`
|
|
118
|
-
strings, so every picker, CLI, and route agrees on what "chat-capable" means.
|
|
119
|
-
|
|
120
|
-
## Translate The OpenAI Responses API
|
|
121
|
-
|
|
122
|
-
```ts
|
|
123
|
-
import { openaiResponses } from "@dbx-tools/shared-model";
|
|
124
|
-
|
|
125
|
-
const { chat, stream } = openaiResponses.responsesToChat(requestBody);
|
|
126
|
-
// ... POST `chat` to the endpoint's invocations URL ...
|
|
127
|
-
const response = openaiResponses.chatToResponse(completion, modelId);
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
Databricks serving endpoints speak Chat Completions; some clients (the Codex
|
|
131
|
-
CLI, for one) speak only the Responses API. `openaiResponses` bridges the two in
|
|
132
|
-
both directions, including a streaming translator
|
|
133
|
-
(`createResponsesStreamTranslator`) that lifts `chat.completion.chunk` SSE into
|
|
134
|
-
the Responses event stream, and `readResponsesOutput` for pulling the answer and
|
|
135
|
-
its citations back out of a native Responses reply. Pure functions over plain
|
|
136
|
-
JSON, so the same translation runs in a proxy, a server route, or a test.
|
|
137
|
-
|
|
138
|
-
## Sanitize A Replayed Conversation
|
|
139
|
-
|
|
140
|
-
```ts
|
|
141
|
-
import { openaiResponses } from "@dbx-tools/shared-model";
|
|
55
|
+
import { model } from "@dbx-tools/shared-model";
|
|
142
56
|
|
|
143
|
-
const
|
|
57
|
+
const fast = endpoints.filter((endpoint) => endpoint.class === model.ModelClass.ChatFast);
|
|
58
|
+
const agentModels = endpoints.filter((endpoint) => endpoint.supportsTools);
|
|
144
59
|
```
|
|
145
60
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
supported`. `sanitizeOpenResponsesRequest` rewrites `output_*` parts back to their
|
|
150
|
-
`input_*` form and drops extended-thinking parts before the body goes out.
|
|
151
|
-
|
|
152
|
-
The thinking-block types live in one exported constant,
|
|
153
|
-
`openaiResponses.REASONING_TYPES`. Both wire sanitizers (this one and the Chat
|
|
154
|
-
Completions sanitizer in [`@dbx-tools/appkit-mastra`](../../node/appkit-mastra))
|
|
155
|
-
must strip exactly the same set: Anthropic signs `redacted_thinking` blocks, so a
|
|
156
|
-
replay in which one path mutates a block the other preserved is rejected
|
|
157
|
-
outright. Import the constant rather than re-listing the types.
|
|
61
|
+
The server stamps class and capability fields before returning `/models`.
|
|
62
|
+
Browser clients consume those fields directly; model-family policy does not run
|
|
63
|
+
in the browser.
|
|
158
64
|
|
|
159
65
|
## Strip Fields Databricks Rejects
|
|
160
66
|
|
|
161
67
|
```ts
|
|
162
68
|
import { openaiChat } from "@dbx-tools/shared-model";
|
|
163
69
|
|
|
164
|
-
const dropped = openaiChat.stripUnsupportedChatFields(body);
|
|
70
|
+
const dropped = openaiChat.stripUnsupportedChatFields(body);
|
|
165
71
|
```
|
|
166
72
|
|
|
167
|
-
Databricks Model Serving validates
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
`parallel_tool_calls: Extra inputs are not permitted` and no completion at all.
|
|
171
|
-
|
|
172
|
-
`stripUnsupportedChatFields` deletes the known offenders in place and returns
|
|
173
|
-
what it removed, so a caller can log the difference. Reach for it on any path
|
|
174
|
-
that forwards a client body largely as-is; a translator that copies fields
|
|
175
|
-
one-by-one (`openaiResponses.responsesToChat`) already can't leak them. Pass
|
|
176
|
-
`extra` names to cover a workspace that rejects something not yet in
|
|
177
|
-
`openaiChat.UNSUPPORTED_CHAT_FIELDS`.
|
|
73
|
+
Databricks Model Serving validates Chat Completions bodies strictly.
|
|
74
|
+
`stripUnsupportedChatFields` deletes known unsupported fields in place and
|
|
75
|
+
returns the removed names so a caller can log the difference.
|
|
178
76
|
|
|
179
77
|
## Modules
|
|
180
78
|
|
|
181
|
-
- `model` -
|
|
182
|
-
|
|
183
|
-
- `classify` - family parsing, version tuple parsing, endpoint classification,
|
|
184
|
-
and capability flags.
|
|
79
|
+
- `model` - model classes, reasoning-effort schema, endpoint summaries, lookup
|
|
80
|
+
requests, and ranked results.
|
|
185
81
|
- `display` - human-readable endpoint labels.
|
|
186
|
-
- `openaiChat` - Chat Completions message
|
|
187
|
-
|
|
188
|
-
- `openaiResponses` - Responses API translation in both directions, plus
|
|
189
|
-
`sanitizeOpenResponsesRequest` and the shared `REASONING_TYPES` constant.
|
|
82
|
+
- `openaiChat` - Chat Completions message and tool-call types, content helpers,
|
|
83
|
+
and rejected-field sanitization.
|
|
190
84
|
|
|
191
85
|
Server-side selection, cache, and fuzzy endpoint matching are in
|
|
192
86
|
[`@dbx-tools/model`](../../node/model).
|
package/index.ts
CHANGED
|
@@ -3,16 +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.
|
|
7
|
-
export * as classify from "./src/classify.ts";
|
|
6
|
+
export const PACKAGE_VERSION = "0.9.6";
|
|
8
7
|
export * as display from "./src/display.ts";
|
|
9
8
|
export * as model from "./src/model.ts";
|
|
10
9
|
export * as openaiChat from "./src/openai-chat.ts";
|
|
11
|
-
export
|
|
12
|
-
export type {
|
|
13
|
-
export { ModelClass, ModelClassSchema, ModelProfileSchema, ReasoningEffortSchema, ModelStatusSchema, ServingEndpointSummarySchema, ModelQuerySchema, RankedModelSchema } from "./src/model.ts";
|
|
14
|
-
export type { ModelProfile, ReasoningEffort, ModelStatus, ServingEndpointSummary, ModelQuery, RankedModel } from "./src/model.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";
|
|
15
12
|
export { UNSUPPORTED_CHAT_FIELDS } from "./src/openai-chat.ts";
|
|
16
13
|
export type { ChatRole, ChatContentPart, ChatToolCallFunction, ChatToolCall, ChatMessage, ChatContentToTextOptions } from "./src/openai-chat.ts";
|
|
17
|
-
export { REASONING_TYPES } from "./src/openai-responses.ts";
|
|
18
|
-
export type { ResponsesStreamTranslator, ResponsesCitation, ResponsesOutput } from "./src/openai-responses.ts";
|
package/lib/index.d.ts
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
export declare const PACKAGE_IDENTIFIER = "@dbx-tools/shared-model";
|
|
2
|
-
export declare const PACKAGE_VERSION = "0.9.
|
|
3
|
-
export * as classify from "./src/classify.ts";
|
|
2
|
+
export declare const PACKAGE_VERSION = "0.9.6";
|
|
4
3
|
export * as display from "./src/display.ts";
|
|
5
4
|
export * as model from "./src/model.ts";
|
|
6
5
|
export * as openaiChat from "./src/openai-chat.ts";
|
|
7
|
-
export
|
|
8
|
-
export type {
|
|
9
|
-
export { ModelClass, ModelClassSchema, ModelProfileSchema, ReasoningEffortSchema, ModelStatusSchema, ServingEndpointSummarySchema, ModelQuerySchema, RankedModelSchema } from "./src/model.ts";
|
|
10
|
-
export type { ModelProfile, ReasoningEffort, ModelStatus, ServingEndpointSummary, ModelQuery, RankedModel } from "./src/model.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";
|
|
11
8
|
export { UNSUPPORTED_CHAT_FIELDS } from "./src/openai-chat.ts";
|
|
12
9
|
export type { ChatRole, ChatContentPart, ChatToolCallFunction, ChatToolCall, ChatMessage, ChatContentToTextOptions } from "./src/openai-chat.ts";
|
|
13
|
-
export { REASONING_TYPES } from "./src/openai-responses.ts";
|
|
14
|
-
export type { ResponsesStreamTranslator, ResponsesCitation, ResponsesOutput } from "./src/openai-responses.ts";
|
package/lib/index.js
CHANGED
|
@@ -2,13 +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/shared-model";
|
|
5
|
-
export const PACKAGE_VERSION = "0.9.
|
|
6
|
-
export * as classify from "./src/classify.js";
|
|
5
|
+
export const PACKAGE_VERSION = "0.9.6";
|
|
7
6
|
export * as display from "./src/display.js";
|
|
8
7
|
export * as model from "./src/model.js";
|
|
9
8
|
export * as openaiChat from "./src/openai-chat.js";
|
|
10
|
-
export
|
|
11
|
-
export { ModelClass, ModelClassSchema, ModelProfileSchema, ReasoningEffortSchema, ModelStatusSchema, ServingEndpointSummarySchema, ModelQuerySchema, RankedModelSchema } from "./src/model.js";
|
|
9
|
+
export { ModelClass, ReasoningEffortValues, ModelClassSchema, ModelProfileSchema, ReasoningEffortSchema, ModelStatusSchema, ServingEndpointSummarySchema, ModelQuerySchema, RankedModelSchema } from "./src/model.js";
|
|
12
10
|
export { UNSUPPORTED_CHAT_FIELDS } from "./src/openai-chat.js";
|
|
13
|
-
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxRQUFRLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxVQUFVLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxLQUFLLGVBQWUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLDRCQUE0QixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0wsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIGJ5IHByb2plbiB3YXRjaCAtIERPIE5PVCBFRElULlxuLy8gUmVnZW5lcmF0ZWQgZnJvbSB0aGUgZXhwb3J0aW5nIG1vZHVsZXMgaW4gLi9zcmMuXG4vLyBIYW5kIGVkaXRzIGFyZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCB3YXRjaDsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cblxuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfSURFTlRJRklFUiA9IFwiQGRieC10b29scy9zaGFyZWQtbW9kZWxcIjtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX1ZFUlNJT04gPSBcIjAuOS41XCI7XG5leHBvcnQgKiBhcyBjbGFzc2lmeSBmcm9tIFwiLi9zcmMvY2xhc3NpZnkudHNcIjtcbmV4cG9ydCAqIGFzIGRpc3BsYXkgZnJvbSBcIi4vc3JjL2Rpc3BsYXkudHNcIjtcbmV4cG9ydCAqIGFzIG1vZGVsIGZyb20gXCIuL3NyYy9tb2RlbC50c1wiO1xuZXhwb3J0ICogYXMgb3BlbmFpQ2hhdCBmcm9tIFwiLi9zcmMvb3BlbmFpLWNoYXQudHNcIjtcbmV4cG9ydCAqIGFzIG9wZW5haVJlc3BvbnNlcyBmcm9tIFwiLi9zcmMvb3BlbmFpLXJlc3BvbnNlcy50c1wiO1xuZXhwb3J0IHR5cGUgeyBFbmRwb2ludENhcGFiaWxpdGllcywgRmFtaWx5Q2xhc3MgfSBmcm9tIFwiLi9zcmMvY2xhc3NpZnkudHNcIjtcbmV4cG9ydCB7IE1vZGVsQ2xhc3MsIE1vZGVsQ2xhc3NTY2hlbWEsIE1vZGVsUHJvZmlsZVNjaGVtYSwgUmVhc29uaW5nRWZmb3J0U2NoZW1hLCBNb2RlbFN0YXR1c1NjaGVtYSwgU2VydmluZ0VuZHBvaW50U3VtbWFyeVNjaGVtYSwgTW9kZWxRdWVyeVNjaGVtYSwgUmFua2VkTW9kZWxTY2hlbWEgfSBmcm9tIFwiLi9zcmMvbW9kZWwudHNcIjtcbmV4cG9ydCB0eXBlIHsgTW9kZWxQcm9maWxlLCBSZWFzb25pbmdFZmZvcnQsIE1vZGVsU3RhdHVzLCBTZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5LCBNb2RlbFF1ZXJ5LCBSYW5rZWRNb2RlbCB9IGZyb20gXCIuL3NyYy9tb2RlbC50c1wiO1xuZXhwb3J0IHsgVU5TVVBQT1JURURfQ0hBVF9GSUVMRFMgfSBmcm9tIFwiLi9zcmMvb3BlbmFpLWNoYXQudHNcIjtcbmV4cG9ydCB0eXBlIHsgQ2hhdFJvbGUsIENoYXRDb250ZW50UGFydCwgQ2hhdFRvb2xDYWxsRnVuY3Rpb24sIENoYXRUb29sQ2FsbCwgQ2hhdE1lc3NhZ2UsIENoYXRDb250ZW50VG9UZXh0T3B0aW9ucyB9IGZyb20gXCIuL3NyYy9vcGVuYWktY2hhdC50c1wiO1xuZXhwb3J0IHsgUkVBU09OSU5HX1RZUEVTIH0gZnJvbSBcIi4vc3JjL29wZW5haS1yZXNwb25zZXMudHNcIjtcbmV4cG9ydCB0eXBlIHsgUmVzcG9uc2VzU3RyZWFtVHJhbnNsYXRvciwgUmVzcG9uc2VzQ2l0YXRpb24sIFJlc3BvbnNlc091dHB1dCB9IGZyb20gXCIuL3NyYy9vcGVuYWktcmVzcG9uc2VzLnRzXCI7XG4iXX0=
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxLQUFLLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEtBQUssVUFBVSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsNEJBQTRCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0TixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBwcm9qZW4gd2F0Y2ggLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gdGhlIGV4cG9ydGluZyBtb2R1bGVzIGluIC4vc3JjLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gb24gdGhlIG5leHQgd2F0Y2g7IHRoaXMgZmlsZSBpcyByZWFkLW9ubHkuXG5cbmV4cG9ydCBjb25zdCBQQUNLQUdFX0lERU5USUZJRVIgPSBcIkBkYngtdG9vbHMvc2hhcmVkLW1vZGVsXCI7XG5leHBvcnQgY29uc3QgUEFDS0FHRV9WRVJTSU9OID0gXCIwLjkuNlwiO1xuZXhwb3J0ICogYXMgZGlzcGxheSBmcm9tIFwiLi9zcmMvZGlzcGxheS50c1wiO1xuZXhwb3J0ICogYXMgbW9kZWwgZnJvbSBcIi4vc3JjL21vZGVsLnRzXCI7XG5leHBvcnQgKiBhcyBvcGVuYWlDaGF0IGZyb20gXCIuL3NyYy9vcGVuYWktY2hhdC50c1wiO1xuZXhwb3J0IHsgTW9kZWxDbGFzcywgUmVhc29uaW5nRWZmb3J0VmFsdWVzLCBNb2RlbENsYXNzU2NoZW1hLCBNb2RlbFByb2ZpbGVTY2hlbWEsIFJlYXNvbmluZ0VmZm9ydFNjaGVtYSwgTW9kZWxTdGF0dXNTY2hlbWEsIFNlcnZpbmdFbmRwb2ludFN1bW1hcnlTY2hlbWEsIE1vZGVsUXVlcnlTY2hlbWEsIFJhbmtlZE1vZGVsU2NoZW1hIH0gZnJvbSBcIi4vc3JjL21vZGVsLnRzXCI7XG5leHBvcnQgdHlwZSB7IE1vZGVsUHJvZmlsZSwgTW9kZWxRdWVyeSwgTW9kZWxTdGF0dXMsIFJhbmtlZE1vZGVsLCBSZWFzb25pbmdFZmZvcnQsIFNlcnZpbmdFbmRwb2ludFN1bW1hcnkgfSBmcm9tIFwiLi9zcmMvbW9kZWwudHNcIjtcbmV4cG9ydCB7IFVOU1VQUE9SVEVEX0NIQVRfRklFTERTIH0gZnJvbSBcIi4vc3JjL29wZW5haS1jaGF0LnRzXCI7XG5leHBvcnQgdHlwZSB7IENoYXRSb2xlLCBDaGF0Q29udGVudFBhcnQsIENoYXRUb29sQ2FsbEZ1bmN0aW9uLCBDaGF0VG9vbENhbGwsIENoYXRNZXNzYWdlLCBDaGF0Q29udGVudFRvVGV4dE9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvb3BlbmFpLWNoYXQudHNcIjtcbiJdfQ==
|
package/lib/src/display.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @module
|
|
11
11
|
*/
|
|
12
|
-
import {
|
|
12
|
+
import { stringUtils } from "@dbx-tools/shared-core";
|
|
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
|
|
@@ -50,7 +50,7 @@ const SEGMENT_SPLIT = /[-_.\s/]+/;
|
|
|
50
50
|
* toModelDisplayName("x", "Claude 4.6 (Preview)") // provided wins
|
|
51
51
|
*/
|
|
52
52
|
export function toModelDisplayName(name, provided) {
|
|
53
|
-
const providedTrimmed =
|
|
53
|
+
const providedTrimmed = stringUtils.trimToNull(provided);
|
|
54
54
|
if (providedTrimmed)
|
|
55
55
|
return providedTrimmed;
|
|
56
56
|
const segments = name.split(SEGMENT_SPLIT).filter(Boolean);
|
|
@@ -89,7 +89,7 @@ export function toModelDisplayName(name, provided) {
|
|
|
89
89
|
}
|
|
90
90
|
/** Title-case one name segment, uppercasing acronyms and gluing size units. */
|
|
91
91
|
function renderSegment(segment) {
|
|
92
|
-
const tokens = [...
|
|
92
|
+
const tokens = [...stringUtils.tokenizeWithOptions({ capitalize: true }, segment)];
|
|
93
93
|
const out = [];
|
|
94
94
|
for (let i = 0; i < tokens.length; i += 1) {
|
|
95
95
|
const token = tokens[i];
|
|
@@ -103,4 +103,4 @@ function renderSegment(segment) {
|
|
|
103
103
|
}
|
|
104
104
|
return out.join(" ");
|
|
105
105
|
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFDSCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFFdEUsa0ZBQWtGO0FBQ2xGLE1BQU0sdUJBQXVCLEdBQTJCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO0FBRXpFOzs7OztHQUtHO0FBQ0gsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRTdFLG1GQUFtRjtBQUNuRixNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUU1QyxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUM7QUFFbEM7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLElBQVksRUFBRSxRQUF3QjtJQUN2RSxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELElBQUksZUFBZTtRQUFFLE9BQU8sZUFBZSxDQUFDO0lBRTVDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNELHNFQUFzRTtJQUN0RSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDZCxPQUFPLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0IsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQUUsTUFBTTtRQUM1QywyRUFBMkU7UUFDM0UsSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDMUUsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNiLENBQUM7UUFDRCxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBRWpELE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixJQUFJLFVBQVUsR0FBYSxFQUFFLENBQUM7SUFDOUIsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFO1FBQ3hCLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNsQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDLENBQUM7SUFDRixLQUFLLE1BQU0sT0FBTyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzdCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzFCLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekIsU0FBUztRQUNYLENBQUM7UUFDRCxZQUFZLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELFlBQVksRUFBRSxDQUFDO0lBRWYsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUN6QyxDQUFDO0FBRUQsK0VBQStFO0FBQy9FLFNBQVMsYUFBYSxDQUFDLE9BQWU7SUFDcEMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzlFLE1BQU0sR0FBRyxHQUFhLEVBQUUsQ0FBQztJQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBRSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxxRUFBcUU7UUFDckUsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2xGLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDckUsU0FBUztRQUNYLENBQUM7UUFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIdW1hbi1yZWFkYWJsZSBtb2RlbCBkaXNwbGF5IG5hbWVzLiBQdXJlIChubyBOb2RlLW9ubHkgaW1wb3J0cykgc28gYVxuICogYnJvd3NlciBjbGllbnQgY2FuIGxhYmVsIGEgYC9tb2RlbHNgIHJlc3BvbnNlIHdpdGhvdXQgc2VydmVyIGRlcHMuXG4gKlxuICogVGhlIGVuZHBvaW50IGBuYW1lYCBpcyB0aGUgaW52b2tlIGlkIChlLmcuIGBkYXRhYnJpY2tzLWNsYXVkZS1zb25uZXQtNC02YCk7XG4gKiB0aGlzIGRlcml2ZXMgYSBmcmllbmRseSBsYWJlbCBmcm9tIGl0LiBQcmVmZXIgYSBEYXRhYnJpY2tzLXByb3ZpZGVkIG5hbWVcbiAqIChhIGRpc3BsYXktbmFtZSB0YWcgb3IgYW4gZXh0ZXJuYWwtbW9kZWwgbmFtZSkgd2hlbiB0aGUgc2VydmVyIGhhcyBvbmUgLVxuICogc2VlIGBAZGJ4LXRvb2xzL21vZGVsYCdzIHNlcnZpbmcgbGlzdGVyLCB3aGljaCBwYXNzZXMgaXQgYXMgYHByb3ZpZGVkYC5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cbmltcG9ydCB7IHN0cmluZyB9IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlXCI7XG5cbi8qKlxuICogVmVuZG9yIC8gbmFtZXNwYWNlIHByZWZpeGVzIHN0cmlwcGVkIGZyb20gYSB0b2tlbml6ZWQgZW5kcG9pbnQgbmFtZVxuICogYmVmb3JlIHRpdGxlLWNhc2luZy4gTG93ZXJjYXNlZCB0b2tlbnM7IG1hdGNoZWQgb25seSBhcyBsZWFkaW5nIHRva2Vuc1xuICogc28gYSBsZWdpdGltYXRlIG1pZC1uYW1lIHRva2VuIGlzIG5ldmVyIGRyb3BwZWQuIGBhaWAgaXMgc3RyaXBwZWQgT05MWVxuICogYXMgdGhlIHNlY29uZCBoYWxmIG9mIHRoZSBgc3lzdGVtLmFpLipgIGJ1aWx0aW4gbmFtZXNwYWNlIChoYW5kbGVkXG4gKiBiZWxvdyksIG5ldmVyIG9uIGl0cyBvd24gLSBzbyBhIG1vZGVsIGxpdGVyYWxseSBuYW1lZCBgLi4uLWFpLS4uLmBcbiAqIGtlZXBzIGl0cyBcIkFJXCIgd29yZCB2aWEgdGhlIHRva2VuaXplcidzIGJ1aWx0LWluIGNhc2luZyBvdmVycmlkZS5cbiAqL1xuY29uc3QgU1RSSVBfTEVBRElOR19UT0tFTlMgPSBuZXcgU2V0KFtcImRhdGFicmlja3NcIiwgXCJzeXN0ZW1cIiwgXCJkYnhcIl0pO1xuXG4vKiogYGFpYCBpcyBzdHJpcHBlZCBvbmx5IGFzIHRoZSBgc3lzdGVtLmFpLipgIG5hbWVzcGFjZSBoYWxmIChhZnRlciBgc3lzdGVtYCkuICovXG5jb25zdCBOQU1FU1BBQ0VfU0VDT05EX1RPS0VOUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHsgc3lzdGVtOiBcImFpXCIgfTtcblxuLyoqXG4gKiBTZWdtZW50LWludGVybmFsIHRva2VucyByZW5kZXJlZCBmdWxseSB1cHBlcmNhc2VkIChhY3JvbnltcyksIG5vdFxuICogdGl0bGUtY2FzZWQuIGBhaWAgaXMgaW50ZW50aW9uYWxseSBvbWl0dGVkOiB0aGUgc2hhcmVkIHRva2VuaXplciBhbHJlYWR5XG4gKiBmb3JjZS1jYXNlcyBgYWlgIC0+IGBBSWAgdmlhIGl0cyB7QGxpbmsgc3RyaW5nLlRva2VuaXplT3B0aW9uc30gYGNhcGl0YWxpemVgXG4gKiBvdmVycmlkZSwgd2hpY2ggYHJlbmRlclNlZ21lbnRgIGFsd2F5cyBwYXNzZXMuXG4gKi9cbmNvbnN0IEFDUk9OWU1TID0gbmV3IFNldChbXCJncHRcIiwgXCJndGVcIiwgXCJiZ2VcIiwgXCJkYnJ4XCIsIFwib3NzXCIsIFwibGxtXCIsIFwibW9lXCJdKTtcblxuLyoqIFBhcmFtZXRlci1jb3VudCB1bml0IGxldHRlcnMgZ2x1ZWQgdG8gYSBwcmVjZWRpbmcgbnVtYmVyIChgMTIwYmAgLT4gYDEyMEJgKS4gKi9cbmNvbnN0IFNJWkVfVU5JVFMgPSBuZXcgU2V0KFtcImJcIiwgXCJtXCIsIFwia1wiXSk7XG5cbmNvbnN0IFNFR01FTlRfU1BMSVQgPSAvWy1fLlxccy9dKy87XG5cbi8qKlxuICogRGVyaXZlIGEgaHVtYW4tcmVhZGFibGUgZGlzcGxheSBuYW1lIGZvciBhIHNlcnZpbmcgZW5kcG9pbnQuXG4gKlxuICogV2hlbiBgcHJvdmlkZWRgIGlzIGEgbm9uLWJsYW5rIHN0cmluZyAoYSBEYXRhYnJpY2tzIGRpc3BsYXktbmFtZSB0YWcgb3JcbiAqIGV4dGVybmFsLW1vZGVsIG5hbWUpLCBpdCB3aW5zIHZlcmJhdGltICh0cmltbWVkKS4gT3RoZXJ3aXNlIHRoZSBlbmRwb2ludFxuICogYG5hbWVgIGlzIGh1bWFuaXplZDogbGVhZGluZyB2ZW5kb3IgcHJlZml4ZXMgKGBkYXRhYnJpY2tzYCwgdGhlXG4gKiBgc3lzdGVtLmFpYCBuYW1lc3BhY2UsIGBkYnhgKSBhcmUgZHJvcHBlZCwgdGhlbiBlYWNoIGAtYC9gX2AvYC5gLXNlcGFyYXRlZFxuICogc2VnbWVudCBpcyB0aXRsZS1jYXNlZCAoYWNyb255bXMgbGlrZSBHUFQvR1RFL0JHRSB1cHBlcmNhc2VkLCBcIkFJXCIga2VwdCksXG4gKiBydW5zIG9mIHB1cmVseS1udW1lcmljIHNlZ21lbnRzIGFyZSBqb2luZWQgaW50byBhIGRvdHRlZCB2ZXJzaW9uXG4gKiAoYC4uLi00LTZgIC0+IFwiNC42XCIpLCBhbmQgYSBzaXplIHVuaXQgZ2x1ZWQgdG8gaXRzIG51bWJlciAoYDEyMGJgIC0+XG4gKiBcIjEyMEJcIikuIEZhbGxzIGJhY2sgdG8gdGhlIHRyaW1tZWQgcmF3IGBuYW1lYCBpZiBzdHJpcHBpbmcgbGVhdmVzIG5vdGhpbmcuXG4gKlxuICogQGV4YW1wbGVcbiAqIHRvTW9kZWxEaXNwbGF5TmFtZShcImRhdGFicmlja3MtY2xhdWRlLXNvbm5ldC00LTZcIikgLy8gXCJDbGF1ZGUgU29ubmV0IDQuNlwiXG4gKiB0b01vZGVsRGlzcGxheU5hbWUoXCJkYXRhYnJpY2tzLWdwdC1vc3MtMTIwYlwiKSAgICAgIC8vIFwiR1BUIE9TUyAxMjBCXCJcbiAqIHRvTW9kZWxEaXNwbGF5TmFtZShcInN5c3RlbS5haS5iZ2VfbGFyZ2VfZW5cIikgICAgICAgLy8gXCJCR0UgTGFyZ2UgRW5cIlxuICogdG9Nb2RlbERpc3BsYXlOYW1lKFwieFwiLCBcIkNsYXVkZSA0LjYgKFByZXZpZXcpXCIpICAgIC8vIHByb3ZpZGVkIHdpbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvTW9kZWxEaXNwbGF5TmFtZShuYW1lOiBzdHJpbmcsIHByb3ZpZGVkPzogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gIGNvbnN0IHByb3ZpZGVkVHJpbW1lZCA9IHN0cmluZy50cmltVG9OdWxsKHByb3ZpZGVkKTtcbiAgaWYgKHByb3ZpZGVkVHJpbW1lZCkgcmV0dXJuIHByb3ZpZGVkVHJpbW1lZDtcblxuICBjb25zdCBzZWdtZW50cyA9IG5hbWUuc3BsaXQoU0VHTUVOVF9TUExJVCkuZmlsdGVyKEJvb2xlYW4pO1xuICAvLyBEcm9wIGtub3duIHZlbmRvci9uYW1lc3BhY2UgcHJlZml4ZXMgb25seSB3aGlsZSB0aGV5IGxlYWQgdGhlIGxpc3QuXG4gIGxldCBzdGFydCA9IDA7XG4gIHdoaWxlIChzdGFydCA8IHNlZ21lbnRzLmxlbmd0aCkge1xuICAgIGNvbnN0IGxvd2VyID0gc2VnbWVudHNbc3RhcnRdIS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmICghU1RSSVBfTEVBRElOR19UT0tFTlMuaGFzKGxvd2VyKSkgYnJlYWs7XG4gICAgLy8gQ29uc3VtZSB0aGUgbmFtZXNwYWNlJ3Mgc2Vjb25kIHRva2VuIHRvbyAoZS5nLiB0aGUgYGFpYCBvZiBgc3lzdGVtLmFpYCkuXG4gICAgaWYgKE5BTUVTUEFDRV9TRUNPTkRfVE9LRU5TW2xvd2VyXSA9PT0gc2VnbWVudHNbc3RhcnQgKyAxXT8udG9Mb3dlckNhc2UoKSkge1xuICAgICAgc3RhcnQgKz0gMTtcbiAgICB9XG4gICAgc3RhcnQgKz0gMTtcbiAgfVxuICBjb25zdCBrZXB0ID0gc2VnbWVudHMuc2xpY2Uoc3RhcnQpO1xuICBjb25zdCBzb3VyY2UgPSBrZXB0Lmxlbmd0aCA+IDAgPyBrZXB0IDogc2VnbWVudHM7XG5cbiAgY29uc3QgcGllY2VzOiBzdHJpbmdbXSA9IFtdO1xuICBsZXQgdmVyc2lvblJ1bjogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgZmx1c2hWZXJzaW9uID0gKCkgPT4ge1xuICAgIGlmICh2ZXJzaW9uUnVuLmxlbmd0aCA+IDApIHtcbiAgICAgIHBpZWNlcy5wdXNoKHZlcnNpb25SdW4uam9pbihcIi5cIikpO1xuICAgICAgdmVyc2lvblJ1biA9IFtdO1xuICAgIH1cbiAgfTtcbiAgZm9yIChjb25zdCBzZWdtZW50IG9mIHNvdXJjZSkge1xuICAgIGlmICgvXlxcZCskLy50ZXN0KHNlZ21lbnQpKSB7XG4gICAgICB2ZXJzaW9uUnVuLnB1c2goc2VnbWVudCk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgZmx1c2hWZXJzaW9uKCk7XG4gICAgcGllY2VzLnB1c2gocmVuZGVyU2VnbWVudChzZWdtZW50KSk7XG4gIH1cbiAgZmx1c2hWZXJzaW9uKCk7XG5cbiAgcmV0dXJuIHBpZWNlcy5qb2luKFwiIFwiKSB8fCBuYW1lLnRyaW0oKTtcbn1cblxuLyoqIFRpdGxlLWNhc2Ugb25lIG5hbWUgc2VnbWVudCwgdXBwZXJjYXNpbmcgYWNyb255bXMgYW5kIGdsdWluZyBzaXplIHVuaXRzLiAqL1xuZnVuY3Rpb24gcmVuZGVyU2VnbWVudChzZWdtZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCB0b2tlbnMgPSBbLi4uc3RyaW5nLnRva2VuaXplV2l0aE9wdGlvbnMoeyBjYXBpdGFsaXplOiB0cnVlIH0sIHNlZ21lbnQpXTtcbiAgY29uc3Qgb3V0OiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGNvbnN0IHRva2VuID0gdG9rZW5zW2ldITtcbiAgICBjb25zdCBsb3dlciA9IHRva2VuLnRvTG93ZXJDYXNlKCk7XG4gICAgLy8gR2x1ZSBhIHNpemUgdW5pdCBvbnRvIHRoZSBwcmVjZWRpbmcgbnVtYmVyOiBgMTIwYCArIGBiYCAtPiBgMTIwQmAuXG4gICAgaWYgKFNJWkVfVU5JVFMuaGFzKGxvd2VyKSAmJiBvdXQubGVuZ3RoID4gMCAmJiAvXlxcZCskLy50ZXN0KG91dFtvdXQubGVuZ3RoIC0gMV0hKSkge1xuICAgICAgb3V0W291dC5sZW5ndGggLSAxXSA9IGAke291dFtvdXQubGVuZ3RoIC0gMV19JHtsb3dlci50b1VwcGVyQ2FzZSgpfWA7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgb3V0LnB1c2goQUNST05ZTVMuaGFzKGxvd2VyKSA/IGxvd2VyLnRvVXBwZXJDYXNlKCkgOiB0b2tlbik7XG4gIH1cbiAgcmV0dXJuIG91dC5qb2luKFwiIFwiKTtcbn1cbiJdfQ==
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFDSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFFdEUsa0ZBQWtGO0FBQ2xGLE1BQU0sdUJBQXVCLEdBQTJCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO0FBRXpFOzs7OztHQUtHO0FBQ0gsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRTdFLG1GQUFtRjtBQUNuRixNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUU1QyxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUM7QUFFbEM7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLElBQVksRUFBRSxRQUF3QjtJQUN2RSxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELElBQUksZUFBZTtRQUFFLE9BQU8sZUFBZSxDQUFDO0lBRTVDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNELHNFQUFzRTtJQUN0RSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDZCxPQUFPLEtBQUssR0FB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QyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIdW1hbi1yZWFkYWJsZSBtb2RlbCBkaXNwbGF5IG5hbWVzLiBQdXJlIChubyBOb2RlLW9ubHkgaW1wb3J0cykgc28gYVxuICogYnJvd3NlciBjbGllbnQgY2FuIGxhYmVsIGEgYC9tb2RlbHNgIHJlc3BvbnNlIHdpdGhvdXQgc2VydmVyIGRlcHMuXG4gKlxuICogVGhlIGVuZHBvaW50IGBuYW1lYCBpcyB0aGUgaW52b2tlIGlkIChlLmcuIGBkYXRhYnJpY2tzLWNsYXVkZS1zb25uZXQtNC02YCk7XG4gKiB0aGlzIGRlcml2ZXMgYSBmcmllbmRseSBsYWJlbCBmcm9tIGl0LiBQcmVmZXIgYSBEYXRhYnJpY2tzLXByb3ZpZGVkIG5hbWVcbiAqIChhIGRpc3BsYXktbmFtZSB0YWcgb3IgYW4gZXh0ZXJuYWwtbW9kZWwgbmFtZSkgd2hlbiB0aGUgc2VydmVyIGhhcyBvbmUgLVxuICogc2VlIGBAZGJ4LXRvb2xzL21vZGVsYCdzIHNlcnZpbmcgbGlzdGVyLCB3aGljaCBwYXNzZXMgaXQgYXMgYHByb3ZpZGVkYC5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cbmltcG9ydCB7IHN0cmluZ1V0aWxzIH0gZnJvbSBcIkBkYngtdG9vbHMvc2hhcmVkLWNvcmVcIjtcblxuLyoqXG4gKiBWZW5kb3IgLyBuYW1lc3BhY2UgcHJlZml4ZXMgc3RyaXBwZWQgZnJvbSBhIHRva2VuaXplZCBlbmRwb2ludCBuYW1lXG4gKiBiZWZvcmUgdGl0bGUtY2FzaW5nLiBMb3dlcmNhc2VkIHRva2VuczsgbWF0Y2hlZCBvbmx5IGFzIGxlYWRpbmcgdG9rZW5zXG4gKiBzbyBhIGxlZ2l0aW1hdGUgbWlkLW5hbWUgdG9rZW4gaXMgbmV2ZXIgZHJvcHBlZC4gYGFpYCBpcyBzdHJpcHBlZCBPTkxZXG4gKiBhcyB0aGUgc2Vjb25kIGhhbGYgb2YgdGhlIGBzeXN0ZW0uYWkuKmAgYnVpbHRpbiBuYW1lc3BhY2UgKGhhbmRsZWRcbiAqIGJlbG93KSwgbmV2ZXIgb24gaXRzIG93biAtIHNvIGEgbW9kZWwgbGl0ZXJhbGx5IG5hbWVkIGAuLi4tYWktLi4uYFxuICoga2VlcHMgaXRzIFwiQUlcIiB3b3JkIHZpYSB0aGUgdG9rZW5pemVyJ3MgYnVpbHQtaW4gY2FzaW5nIG92ZXJyaWRlLlxuICovXG5jb25zdCBTVFJJUF9MRUFESU5HX1RPS0VOUyA9IG5ldyBTZXQoW1wiZGF0YWJyaWNrc1wiLCBcInN5c3RlbVwiLCBcImRieFwiXSk7XG5cbi8qKiBgYWlgIGlzIHN0cmlwcGVkIG9ubHkgYXMgdGhlIGBzeXN0ZW0uYWkuKmAgbmFtZXNwYWNlIGhhbGYgKGFmdGVyIGBzeXN0ZW1gKS4gKi9cbmNvbnN0IE5BTUVTUEFDRV9TRUNPTkRfVE9LRU5TOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0geyBzeXN0ZW06IFwiYWlcIiB9O1xuXG4vKipcbiAqIFNlZ21lbnQtaW50ZXJuYWwgdG9rZW5zIHJlbmRlcmVkIGZ1bGx5IHVwcGVyY2FzZWQgKGFjcm9ueW1zKSwgbm90XG4gKiB0aXRsZS1jYXNlZC4gYGFpYCBpcyBpbnRlbnRpb25hbGx5IG9taXR0ZWQ6IHRoZSBzaGFyZWQgdG9rZW5pemVyIGFscmVhZHlcbiAqIGZvcmNlLWNhc2VzIGBhaWAgLT4gYEFJYCB2aWEgaXRzIHtAbGluayBzdHJpbmcuVG9rZW5pemVPcHRpb25zfSBgY2FwaXRhbGl6ZWBcbiAqIG92ZXJyaWRlLCB3aGljaCBgcmVuZGVyU2VnbWVudGAgYWx3YXlzIHBhc3Nlcy5cbiAqL1xuY29uc3QgQUNST05ZTVMgPSBuZXcgU2V0KFtcImdwdFwiLCBcImd0ZVwiLCBcImJnZVwiLCBcImRicnhcIiwgXCJvc3NcIiwgXCJsbG1cIiwgXCJtb2VcIl0pO1xuXG4vKiogUGFyYW1ldGVyLWNvdW50IHVuaXQgbGV0dGVycyBnbHVlZCB0byBhIHByZWNlZGluZyBudW1iZXIgKGAxMjBiYCAtPiBgMTIwQmApLiAqL1xuY29uc3QgU0laRV9VTklUUyA9IG5ldyBTZXQoW1wiYlwiLCBcIm1cIiwgXCJrXCJdKTtcblxuY29uc3QgU0VHTUVOVF9TUExJVCA9IC9bLV8uXFxzL10rLztcblxuLyoqXG4gKiBEZXJpdmUgYSBodW1hbi1yZWFkYWJsZSBkaXNwbGF5IG5hbWUgZm9yIGEgc2VydmluZyBlbmRwb2ludC5cbiAqXG4gKiBXaGVuIGBwcm92aWRlZGAgaXMgYSBub24tYmxhbmsgc3RyaW5nIChhIERhdGFicmlja3MgZGlzcGxheS1uYW1lIHRhZyBvclxuICogZXh0ZXJuYWwtbW9kZWwgbmFtZSksIGl0IHdpbnMgdmVyYmF0aW0gKHRyaW1tZWQpLiBPdGhlcndpc2UgdGhlIGVuZHBvaW50XG4gKiBgbmFtZWAgaXMgaHVtYW5pemVkOiBsZWFkaW5nIHZlbmRvciBwcmVmaXhlcyAoYGRhdGFicmlja3NgLCB0aGVcbiAqIGBzeXN0ZW0uYWlgIG5hbWVzcGFjZSwgYGRieGApIGFyZSBkcm9wcGVkLCB0aGVuIGVhY2ggYC1gL2BfYC9gLmAtc2VwYXJhdGVkXG4gKiBzZWdtZW50IGlzIHRpdGxlLWNhc2VkIChhY3JvbnltcyBsaWtlIEdQVC9HVEUvQkdFIHVwcGVyY2FzZWQsIFwiQUlcIiBrZXB0KSxcbiAqIHJ1bnMgb2YgcHVyZWx5LW51bWVyaWMgc2VnbWVudHMgYXJlIGpvaW5lZCBpbnRvIGEgZG90dGVkIHZlcnNpb25cbiAqIChgLi4uLTQtNmAgLT4gXCI0LjZcIiksIGFuZCBhIHNpemUgdW5pdCBnbHVlZCB0byBpdHMgbnVtYmVyIChgMTIwYmAgLT5cbiAqIFwiMTIwQlwiKS4gRmFsbHMgYmFjayB0byB0aGUgdHJpbW1lZCByYXcgYG5hbWVgIGlmIHN0cmlwcGluZyBsZWF2ZXMgbm90aGluZy5cbiAqXG4gKiBAZXhhbXBsZVxuICogdG9Nb2RlbERpc3BsYXlOYW1lKFwiZGF0YWJyaWNrcy1jbGF1ZGUtc29ubmV0LTQtNlwiKSAvLyBcIkNsYXVkZSBTb25uZXQgNC42XCJcbiAqIHRvTW9kZWxEaXNwbGF5TmFtZShcImRhdGFicmlja3MtZ3B0LW9zcy0xMjBiXCIpICAgICAgLy8gXCJHUFQgT1NTIDEyMEJcIlxuICogdG9Nb2RlbERpc3BsYXlOYW1lKFwic3lzdGVtLmFpLmJnZV9sYXJnZV9lblwiKSAgICAgICAvLyBcIkJHRSBMYXJnZSBFblwiXG4gKiB0b01vZGVsRGlzcGxheU5hbWUoXCJ4XCIsIFwiQ2xhdWRlIDQuNiAoUHJldmlldylcIikgICAgLy8gcHJvdmlkZWQgd2luc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Nb2RlbERpc3BsYXlOYW1lKG5hbWU6IHN0cmluZywgcHJvdmlkZWQ/OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgY29uc3QgcHJvdmlkZWRUcmltbWVkID0gc3RyaW5nVXRpbHMudHJpbVRvTnVsbChwcm92aWRlZCk7XG4gIGlmIChwcm92aWRlZFRyaW1tZWQpIHJldHVybiBwcm92aWRlZFRyaW1tZWQ7XG5cbiAgY29uc3Qgc2VnbWVudHMgPSBuYW1lLnNwbGl0KFNFR01FTlRfU1BMSVQpLmZpbHRlcihCb29sZWFuKTtcbiAgLy8gRHJvcCBrbm93biB2ZW5kb3IvbmFtZXNwYWNlIHByZWZpeGVzIG9ubHkgd2hpbGUgdGhleSBsZWFkIHRoZSBsaXN0LlxuICBsZXQgc3RhcnQgPSAwO1xuICB3aGlsZSAoc3RhcnQgPCBzZWdtZW50cy5sZW5ndGgpIHtcbiAgICBjb25zdCBsb3dlciA9IHNlZ21lbnRzW3N0YXJ0XSEudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoIVNUUklQX0xFQURJTkdfVE9LRU5TLmhhcyhsb3dlcikpIGJyZWFrO1xuICAgIC8vIENvbnN1bWUgdGhlIG5hbWVzcGFjZSdzIHNlY29uZCB0b2tlbiB0b28gKGUuZy4gdGhlIGBhaWAgb2YgYHN5c3RlbS5haWApLlxuICAgIGlmIChOQU1FU1BBQ0VfU0VDT05EX1RPS0VOU1tsb3dlcl0gPT09IHNlZ21lbnRzW3N0YXJ0ICsgMV0/LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIHN0YXJ0ICs9IDE7XG4gICAgfVxuICAgIHN0YXJ0ICs9IDE7XG4gIH1cbiAgY29uc3Qga2VwdCA9IHNlZ21lbnRzLnNsaWNlKHN0YXJ0KTtcbiAgY29uc3Qgc291cmNlID0ga2VwdC5sZW5ndGggPiAwID8ga2VwdCA6IHNlZ21lbnRzO1xuXG4gIGNvbnN0IHBpZWNlczogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHZlcnNpb25SdW46IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGZsdXNoVmVyc2lvbiA9ICgpID0+IHtcbiAgICBpZiAodmVyc2lvblJ1bi5sZW5ndGggPiAwKSB7XG4gICAgICBwaWVjZXMucHVzaCh2ZXJzaW9uUnVuLmpvaW4oXCIuXCIpKTtcbiAgICAgIHZlcnNpb25SdW4gPSBbXTtcbiAgICB9XG4gIH07XG4gIGZvciAoY29uc3Qgc2VnbWVudCBvZiBzb3VyY2UpIHtcbiAgICBpZiAoL15cXGQrJC8udGVzdChzZWdtZW50KSkge1xuICAgICAgdmVyc2lvblJ1bi5wdXNoKHNlZ21lbnQpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGZsdXNoVmVyc2lvbigpO1xuICAgIHBpZWNlcy5wdXNoKHJlbmRlclNlZ21lbnQoc2VnbWVudCkpO1xuICB9XG4gIGZsdXNoVmVyc2lvbigpO1xuXG4gIHJldHVybiBwaWVjZXMuam9pbihcIiBcIikgfHwgbmFtZS50cmltKCk7XG59XG5cbi8qKiBUaXRsZS1jYXNlIG9uZSBuYW1lIHNlZ21lbnQsIHVwcGVyY2FzaW5nIGFjcm9ueW1zIGFuZCBnbHVpbmcgc2l6ZSB1bml0cy4gKi9cbmZ1bmN0aW9uIHJlbmRlclNlZ21lbnQoc2VnbWVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdG9rZW5zID0gWy4uLnN0cmluZ1V0aWxzLnRva2VuaXplV2l0aE9wdGlvbnMoeyBjYXBpdGFsaXplOiB0cnVlIH0sIHNlZ21lbnQpXTtcbiAgY29uc3Qgb3V0OiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGNvbnN0IHRva2VuID0gdG9rZW5zW2ldITtcbiAgICBjb25zdCBsb3dlciA9IHRva2VuLnRvTG93ZXJDYXNlKCk7XG4gICAgLy8gR2x1ZSBhIHNpemUgdW5pdCBvbnRvIHRoZSBwcmVjZWRpbmcgbnVtYmVyOiBgMTIwYCArIGBiYCAtPiBgMTIwQmAuXG4gICAgaWYgKFNJWkVfVU5JVFMuaGFzKGxvd2VyKSAmJiBvdXQubGVuZ3RoID4gMCAmJiAvXlxcZCskLy50ZXN0KG91dFtvdXQubGVuZ3RoIC0gMV0hKSkge1xuICAgICAgb3V0W291dC5sZW5ndGggLSAxXSA9IGAke291dFtvdXQubGVuZ3RoIC0gMV19JHtsb3dlci50b1VwcGVyQ2FzZSgpfWA7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgb3V0LnB1c2goQUNST05ZTVMuaGFzKGxvd2VyKSA/IGxvd2VyLnRvVXBwZXJDYXNlKCkgOiB0b2tlbik7XG4gIH1cbiAgcmV0dXJuIG91dC5qb2luKFwiIFwiKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,142 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const modelClassSchema: z.ZodUnion<readonly [z.ZodLiteral<"chat-thinking">, z.ZodLiteral<"chat-balanced">, z.ZodLiteral<"chat-fast">, z.ZodLiteral<"embedding">]>;
|
|
3
|
+
export declare const reasoningEffortSchema: z.ZodUnion<readonly [z.ZodLiteral<"none">, z.ZodLiteral<"minimal">, z.ZodLiteral<"low">, z.ZodLiteral<"medium">, z.ZodLiteral<"high">, z.ZodLiteral<"xhigh">, z.ZodLiteral<"max">]>;
|
|
4
|
+
export declare const modelProfileSchema: z.ZodObject<{
|
|
5
|
+
quality: z.ZodOptional<z.ZodNumber>;
|
|
6
|
+
speed: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
cost: z.ZodOptional<z.ZodNumber>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
export declare const modelStatusSchema: z.ZodObject<{
|
|
10
|
+
deprecated: z.ZodDefault<z.ZodBoolean>;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
export declare const servingEndpointSummarySchema: z.ZodObject<{
|
|
13
|
+
name: z.ZodString;
|
|
14
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
15
|
+
family: z.ZodOptional<z.ZodString>;
|
|
16
|
+
task: z.ZodOptional<z.ZodString>;
|
|
17
|
+
state: z.ZodOptional<z.ZodString>;
|
|
18
|
+
description: z.ZodOptional<z.ZodString>;
|
|
19
|
+
supportsTools: z.ZodOptional<z.ZodBoolean>;
|
|
20
|
+
profile: z.ZodOptional<z.ZodObject<{
|
|
21
|
+
quality: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
speed: z.ZodOptional<z.ZodNumber>;
|
|
23
|
+
cost: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
}, z.core.$strip>>;
|
|
25
|
+
class: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"chat-thinking">, z.ZodLiteral<"chat-balanced">, z.ZodLiteral<"chat-fast">, z.ZodLiteral<"embedding">]>>;
|
|
26
|
+
serviceNames: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
27
|
+
modelServiceName: z.ZodOptional<z.ZodString>;
|
|
28
|
+
reasoningEfforts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"none">, z.ZodLiteral<"minimal">, z.ZodLiteral<"low">, z.ZodLiteral<"medium">, z.ZodLiteral<"high">, z.ZodLiteral<"xhigh">, z.ZodLiteral<"max">]>>>;
|
|
29
|
+
status: z.ZodOptional<z.ZodObject<{
|
|
30
|
+
deprecated: z.ZodDefault<z.ZodBoolean>;
|
|
31
|
+
}, z.core.$strip>>;
|
|
32
|
+
dimension: z.ZodOptional<z.ZodNumber>;
|
|
33
|
+
}, z.core.$strip>;
|
|
34
|
+
export declare const modelQuerySchema: z.ZodObject<{
|
|
35
|
+
search: z.ZodOptional<z.ZodString>;
|
|
36
|
+
modelClass: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"chat-thinking">, z.ZodLiteral<"chat-balanced">, z.ZodLiteral<"chat-fast">, z.ZodLiteral<"embedding">]>>;
|
|
37
|
+
requiresTools: z.ZodOptional<z.ZodBoolean>;
|
|
38
|
+
includeDeprecated: z.ZodOptional<z.ZodBoolean>;
|
|
39
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
40
|
+
threshold: z.ZodOptional<z.ZodNumber>;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
export declare const rankedModelSchema: z.ZodObject<{
|
|
43
|
+
endpoint: z.ZodObject<{
|
|
44
|
+
name: z.ZodString;
|
|
45
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
46
|
+
family: z.ZodOptional<z.ZodString>;
|
|
47
|
+
task: z.ZodOptional<z.ZodString>;
|
|
48
|
+
state: z.ZodOptional<z.ZodString>;
|
|
49
|
+
description: z.ZodOptional<z.ZodString>;
|
|
50
|
+
supportsTools: z.ZodOptional<z.ZodBoolean>;
|
|
51
|
+
profile: z.ZodOptional<z.ZodObject<{
|
|
52
|
+
quality: z.ZodOptional<z.ZodNumber>;
|
|
53
|
+
speed: z.ZodOptional<z.ZodNumber>;
|
|
54
|
+
cost: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
}, z.core.$strip>>;
|
|
56
|
+
class: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"chat-thinking">, z.ZodLiteral<"chat-balanced">, z.ZodLiteral<"chat-fast">, z.ZodLiteral<"embedding">]>>;
|
|
57
|
+
serviceNames: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
58
|
+
modelServiceName: z.ZodOptional<z.ZodString>;
|
|
59
|
+
reasoningEfforts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"none">, z.ZodLiteral<"minimal">, z.ZodLiteral<"low">, z.ZodLiteral<"medium">, z.ZodLiteral<"high">, z.ZodLiteral<"xhigh">, z.ZodLiteral<"max">]>>>;
|
|
60
|
+
status: z.ZodOptional<z.ZodObject<{
|
|
61
|
+
deprecated: z.ZodDefault<z.ZodBoolean>;
|
|
62
|
+
}, z.core.$strip>>;
|
|
63
|
+
dimension: z.ZodOptional<z.ZodNumber>;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
modelClass: z.ZodUnion<readonly [z.ZodLiteral<"chat-thinking">, z.ZodLiteral<"chat-balanced">, z.ZodLiteral<"chat-fast">, z.ZodLiteral<"embedding">]>;
|
|
66
|
+
score: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
}, z.core.$strip>;
|