@dbx-tools/shared-model-gateway 0.9.40 → 0.9.43

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.
@@ -7,13 +7,22 @@ import { z } from "zod";
7
7
  /** Capabilities published with an OpenAI-compatible model entry. */
8
8
  export declare const OpenAIModelCapabilitiesSchema: z.ZodObject<{
9
9
  tools: z.ZodBoolean;
10
- reasoning: 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">]>>;
10
+ reasoning: z.ZodArray<z.ZodEnum<{
11
+ none: "none";
12
+ minimal: "minimal";
13
+ low: "low";
14
+ medium: "medium";
15
+ high: "high";
16
+ xhigh: "xhigh";
17
+ max: "max";
18
+ }>>;
11
19
  responses: z.ZodBoolean;
12
20
  open_responses: z.ZodBoolean;
13
21
  anthropic: z.ZodBoolean;
14
22
  embeddings: z.ZodBoolean;
15
23
  ai_gateway_codex: z.ZodBoolean;
16
24
  streaming: z.ZodBoolean;
25
+ web_search: z.ZodBoolean;
17
26
  }, z.core.$strip>;
18
27
  /** Capabilities published with an OpenAI-compatible model entry. */
19
28
  export type OpenAIModelCapabilities = z.infer<typeof OpenAIModelCapabilitiesSchema>;
@@ -30,13 +39,22 @@ export declare const OpenAIModelSchema: z.ZodObject<{
30
39
  }, z.core.$strip>;
31
40
  capabilities: z.ZodObject<{
32
41
  tools: z.ZodBoolean;
33
- reasoning: 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">]>>;
42
+ reasoning: z.ZodArray<z.ZodEnum<{
43
+ none: "none";
44
+ minimal: "minimal";
45
+ low: "low";
46
+ medium: "medium";
47
+ high: "high";
48
+ xhigh: "xhigh";
49
+ max: "max";
50
+ }>>;
34
51
  responses: z.ZodBoolean;
35
52
  open_responses: z.ZodBoolean;
36
53
  anthropic: z.ZodBoolean;
37
54
  embeddings: z.ZodBoolean;
38
55
  ai_gateway_codex: z.ZodBoolean;
39
56
  streaming: z.ZodBoolean;
57
+ web_search: z.ZodBoolean;
40
58
  }, z.core.$strip>;
41
59
  }, z.core.$strip>;
42
60
  /** One OpenAI-compatible model-list entry. */
@@ -56,13 +74,22 @@ export declare const OpenAIModelListResponseSchema: z.ZodObject<{
56
74
  }, z.core.$strip>;
57
75
  capabilities: z.ZodObject<{
58
76
  tools: z.ZodBoolean;
59
- reasoning: 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">]>>;
77
+ reasoning: z.ZodArray<z.ZodEnum<{
78
+ none: "none";
79
+ minimal: "minimal";
80
+ low: "low";
81
+ medium: "medium";
82
+ high: "high";
83
+ xhigh: "xhigh";
84
+ max: "max";
85
+ }>>;
60
86
  responses: z.ZodBoolean;
61
87
  open_responses: z.ZodBoolean;
62
88
  anthropic: z.ZodBoolean;
63
89
  embeddings: z.ZodBoolean;
64
90
  ai_gateway_codex: z.ZodBoolean;
65
91
  streaming: z.ZodBoolean;
92
+ web_search: z.ZodBoolean;
66
93
  }, z.core.$strip>;
67
94
  }, z.core.$strip>>;
68
95
  }, z.core.$strip>;
@@ -70,7 +97,15 @@ export declare const OpenAIModelListResponseSchema: z.ZodObject<{
70
97
  export type OpenAIModelListResponse = z.infer<typeof OpenAIModelListResponseSchema>;
71
98
  /** Reasoning effort advertised to Codex. */
72
99
  export declare const CodexReasoningLevelSchema: z.ZodObject<{
73
- effort: z.ZodUnion<readonly [z.ZodLiteral<"none">, z.ZodLiteral<"minimal">, z.ZodLiteral<"low">, z.ZodLiteral<"medium">, z.ZodLiteral<"high">, z.ZodLiteral<"xhigh">, z.ZodLiteral<"max">]>;
100
+ effort: z.ZodEnum<{
101
+ none: "none";
102
+ minimal: "minimal";
103
+ low: "low";
104
+ medium: "medium";
105
+ high: "high";
106
+ xhigh: "xhigh";
107
+ max: "max";
108
+ }>;
74
109
  description: z.ZodString;
75
110
  }, z.core.$strip>;
76
111
  /** Reasoning effort advertised to Codex. */
@@ -95,10 +130,26 @@ export declare const CodexModelSchema: z.ZodObject<{
95
130
  deprecated: z.ZodDefault<z.ZodBoolean>;
96
131
  }, z.core.$strip>;
97
132
  supported_reasoning_levels: z.ZodArray<z.ZodObject<{
98
- effort: z.ZodUnion<readonly [z.ZodLiteral<"none">, z.ZodLiteral<"minimal">, z.ZodLiteral<"low">, z.ZodLiteral<"medium">, z.ZodLiteral<"high">, z.ZodLiteral<"xhigh">, z.ZodLiteral<"max">]>;
133
+ effort: z.ZodEnum<{
134
+ none: "none";
135
+ minimal: "minimal";
136
+ low: "low";
137
+ medium: "medium";
138
+ high: "high";
139
+ xhigh: "xhigh";
140
+ max: "max";
141
+ }>;
99
142
  description: z.ZodString;
100
143
  }, z.core.$strip>>;
101
- default_reasoning_level: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"none">, z.ZodLiteral<"minimal">, z.ZodLiteral<"low">, z.ZodLiteral<"medium">, z.ZodLiteral<"high">, z.ZodLiteral<"xhigh">, z.ZodLiteral<"max">]>>;
144
+ default_reasoning_level: z.ZodOptional<z.ZodEnum<{
145
+ none: "none";
146
+ minimal: "minimal";
147
+ low: "low";
148
+ medium: "medium";
149
+ high: "high";
150
+ xhigh: "xhigh";
151
+ max: "max";
152
+ }>>;
102
153
  shell_type: z.ZodString;
103
154
  visibility: z.ZodLiteral<"list">;
104
155
  supported_in_api: z.ZodBoolean;
@@ -135,10 +186,26 @@ export declare const CodexModelListResponseSchema: z.ZodObject<{
135
186
  deprecated: z.ZodDefault<z.ZodBoolean>;
136
187
  }, z.core.$strip>;
137
188
  supported_reasoning_levels: z.ZodArray<z.ZodObject<{
138
- effort: z.ZodUnion<readonly [z.ZodLiteral<"none">, z.ZodLiteral<"minimal">, z.ZodLiteral<"low">, z.ZodLiteral<"medium">, z.ZodLiteral<"high">, z.ZodLiteral<"xhigh">, z.ZodLiteral<"max">]>;
189
+ effort: z.ZodEnum<{
190
+ none: "none";
191
+ minimal: "minimal";
192
+ low: "low";
193
+ medium: "medium";
194
+ high: "high";
195
+ xhigh: "xhigh";
196
+ max: "max";
197
+ }>;
139
198
  description: z.ZodString;
140
199
  }, z.core.$strip>>;
141
- default_reasoning_level: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"none">, z.ZodLiteral<"minimal">, z.ZodLiteral<"low">, z.ZodLiteral<"medium">, z.ZodLiteral<"high">, z.ZodLiteral<"xhigh">, z.ZodLiteral<"max">]>>;
200
+ default_reasoning_level: z.ZodOptional<z.ZodEnum<{
201
+ none: "none";
202
+ minimal: "minimal";
203
+ low: "low";
204
+ medium: "medium";
205
+ high: "high";
206
+ xhigh: "xhigh";
207
+ max: "max";
208
+ }>>;
142
209
  shell_type: z.ZodString;
143
210
  visibility: z.ZodLiteral<"list">;
144
211
  supported_in_api: z.ZodBoolean;
@@ -180,13 +247,22 @@ export declare const ModelListResponseSchema: z.ZodUnion<readonly [z.ZodObject<{
180
247
  }, z.core.$strip>;
181
248
  capabilities: z.ZodObject<{
182
249
  tools: z.ZodBoolean;
183
- reasoning: 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">]>>;
250
+ reasoning: z.ZodArray<z.ZodEnum<{
251
+ none: "none";
252
+ minimal: "minimal";
253
+ low: "low";
254
+ medium: "medium";
255
+ high: "high";
256
+ xhigh: "xhigh";
257
+ max: "max";
258
+ }>>;
184
259
  responses: z.ZodBoolean;
185
260
  open_responses: z.ZodBoolean;
186
261
  anthropic: z.ZodBoolean;
187
262
  embeddings: z.ZodBoolean;
188
263
  ai_gateway_codex: z.ZodBoolean;
189
264
  streaming: z.ZodBoolean;
265
+ web_search: z.ZodBoolean;
190
266
  }, z.core.$strip>;
191
267
  }, z.core.$strip>>;
192
268
  }, z.core.$strip>, z.ZodObject<{
@@ -199,10 +275,26 @@ export declare const ModelListResponseSchema: z.ZodUnion<readonly [z.ZodObject<{
199
275
  deprecated: z.ZodDefault<z.ZodBoolean>;
200
276
  }, z.core.$strip>;
201
277
  supported_reasoning_levels: z.ZodArray<z.ZodObject<{
202
- effort: z.ZodUnion<readonly [z.ZodLiteral<"none">, z.ZodLiteral<"minimal">, z.ZodLiteral<"low">, z.ZodLiteral<"medium">, z.ZodLiteral<"high">, z.ZodLiteral<"xhigh">, z.ZodLiteral<"max">]>;
278
+ effort: z.ZodEnum<{
279
+ none: "none";
280
+ minimal: "minimal";
281
+ low: "low";
282
+ medium: "medium";
283
+ high: "high";
284
+ xhigh: "xhigh";
285
+ max: "max";
286
+ }>;
203
287
  description: z.ZodString;
204
288
  }, z.core.$strip>>;
205
- default_reasoning_level: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"none">, z.ZodLiteral<"minimal">, z.ZodLiteral<"low">, z.ZodLiteral<"medium">, z.ZodLiteral<"high">, z.ZodLiteral<"xhigh">, z.ZodLiteral<"max">]>>;
289
+ default_reasoning_level: z.ZodOptional<z.ZodEnum<{
290
+ none: "none";
291
+ minimal: "minimal";
292
+ low: "low";
293
+ medium: "medium";
294
+ high: "high";
295
+ xhigh: "xhigh";
296
+ max: "max";
297
+ }>>;
206
298
  shell_type: z.ZodString;
207
299
  visibility: z.ZodLiteral<"list">;
208
300
  supported_in_api: z.ZodBoolean;
package/lib/src/models.js CHANGED
@@ -15,6 +15,7 @@ export const OpenAIModelCapabilitiesSchema = z.object({
15
15
  embeddings: z.boolean(),
16
16
  ai_gateway_codex: z.boolean(),
17
17
  streaming: z.boolean(),
18
+ web_search: z.boolean(),
18
19
  });
19
20
  /** One OpenAI-compatible model-list entry. */
20
21
  export const OpenAIModelSchema = z.object({
@@ -124,4 +125,4 @@ export const GatewayErrorResponseSchema = z.union([
124
125
  OpenAIErrorResponseSchema,
125
126
  AnthropicErrorResponseSchema,
126
127
  ]);
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsb0VBQW9FO0FBQ3BFLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDcEQsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEIsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDO0lBQy9DLFNBQVMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQ3RCLGNBQWMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQzNCLFNBQVMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQ3RCLFVBQVUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQ3ZCLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDN0IsU0FBUyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDdkIsQ0FBQyxDQUFDO0FBSUgsOENBQThDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUMxQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRTtJQUN2QyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0Is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QyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0tBQzdELENBQUM7Q0FDSCxDQUFDLENBQUM7QUFJSCwyQ0FBMkM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuRCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDeEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDZCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtLQUNwQixDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBSUgsbUVBQW1FO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEQseUJBQXlCO0lBQ3pCLDRCQUE0QjtDQUM3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJyb3dzZXItc2FmZSBIVFRQIG1vZGVsLCBlbWJlZGRpbmcsIGFuZCBlcnJvciBwYXlsb2Fkcy5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgbW9kZWwgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtbW9kZWxcIjtcbmltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5cbi8qKiBDYXBhYmlsaXRpZXMgcHVibGlzaGVkIHdpdGggYW4gT3BlbkFJLWNvbXBhdGlibGUgbW9kZWwgZW50cnkuICovXG5leHBvcnQgY29uc3QgT3BlbkFJTW9kZWxDYXBhYmlsaXRpZXNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHRvb2xzOiB6LmJvb2xlYW4oKSxcbiAgcmVhc29uaW5nOiB6LmFycmF5KG1vZGVsLlJlYXNvbmluZ0VmZm9ydFNjaGVtYSksXG4gIHJlc3BvbnNlczogei5ib29sZWFuKCksXG4gIG9wZW5fcmVzcG9uc2VzOiB6LmJvb2xlYW4oKSxcbiAgYW50aHJvcGljOiB6LmJvb2xlYW4oKSxcbiAgZW1iZWRkaW5nczogei5ib29sZWFuKCksXG4gIGFpX2dhdGV3YXlfY29kZXg6IHouYm9vbGVhbigpLFxuICBzdHJlYW1pbmc6IHouYm9vbGVhbigpLFxufSk7XG4vKiogQ2FwYWJpbGl0aWVzIHB1Ymxpc2hlZCB3aXRoIGFuIE9wZW5BSS1jb21wYXRpYmxlIG1vZGVsIGVudHJ5LiAqL1xuZXhwb3J0IHR5cGUgT3BlbkFJTW9kZWxDYXBhYmlsaXRpZXMgPSB6LmluZmVyPHR5cGVvZiBPcGVuQUlNb2RlbENhcGFiaWxpdGllc1NjaGVtYT47XG5cbi8qKiBPbmUgT3BlbkFJLWNvbXBhdGlibGUgbW9kZWwtbGlzdCBlbnRyeS4gKi9cbmV4cG9ydCBjb25zdCBPcGVuQUlNb2RlbFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgaWQ6IHouc3RyaW5nKCkubWluKDEpLFxuICBvYmplY3Q6IHoubGl0ZXJhbChcIm1vZGVsXCIpLFxuICBjcmVhdGVkOiB6Lm51bWJlcigpLmludCgpLm5vbm5lZ2F0aXZlKCksXG4gIG93bmVkX2J5OiB6LnN0cmluZygpLm1pbigxKSxcbiAgbmFtZTogei5zdHJpbmcoKS5taW4oMSksXG4gIHRhc2s6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgc3RhdHVzOiBtb2RlbC5Nb2RlbFN0YXR1c1NjaGVtYSxcbiAgY2FwYWJpbGl0aWVzOiBPcGVuQUlNb2RlbENhcGFiaWxpdGllc1NjaGVtYSxcbn0pO1xuLyoqIE9uZSBPcGVuQUktY29tcGF0aWJsZSBtb2RlbC1saXN0IGVudHJ5LiAqL1xuZXhwb3J0IHR5cGUgT3BlbkFJTW9kZWwgPSB6LmluZmVyPHR5cGVvZiBPcGVuQUlNb2RlbFNjaGVtYT47XG5cbi8qKiBTdGFuZGFyZCBPcGVuQUkgbW9kZWwtbGlzdCByZXNwb25zZS4gKi9cbmV4cG9ydCBjb25zdCBPcGVuQUlNb2RlbExpc3RSZXNwb25zZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgb2JqZWN0OiB6LmxpdGVyYWwoXCJsaXN0XCIpLFxuICBkYXRhOiB6LmFycmF5KE9wZW5BSU1vZGVsU2NoZW1hKSxcbn0pO1xuLyoqIFN0YW5kYXJkIE9wZW5BSSBtb2RlbC1saXN0IHJlc3BvbnNlLiAqL1xuZXhwb3J0IHR5cGUgT3BlbkFJTW9kZWxMaXN0UmVzcG9uc2UgPSB6LmluZmVyPHR5cGVvZiBPcGVuQUlNb2RlbExpc3RSZXNwb25zZVNjaGVtYT47XG5cbi8qKiBSZWFzb25pbmcgZWZmb3J0IGFkdmVydGlzZWQgdG8gQ29kZXguICovXG5leHBvcnQgY29uc3QgQ29kZXhSZWFzb25pbmdMZXZlbFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgZWZmb3J0OiBtb2RlbC5SZWFzb25pbmdFZmZvcnRTY2hlbWEsXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLFxufSk7XG4vKiogUmVhc29uaW5nIGVmZm9ydCBhZHZlcnRpc2VkIHRvIENvZGV4LiAqL1xuZXhwb3J0IHR5cGUgQ29kZXhSZWFzb25pbmdMZXZlbCA9IHouaW5mZXI8dHlwZW9mIENvZGV4UmVhc29uaW5nTGV2ZWxTY2hlbWE+O1xuXG4vKiogQ29kZXggY2xpZW50LXNpZGUgdHJhbnNjcmlwdCB0cnVuY2F0aW9uIHBvbGljeS4gKi9cbmV4cG9ydCBjb25zdCBDb2RleFRydW5jYXRpb25Qb2xpY3lTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIG1vZGU6IHouZW51bShbXCJ0b2tlbnNcIiwgXCJieXRlc1wiXSksXG4gIGxpbWl0OiB6Lm51bWJlcigpLmludCgpLnBvc2l0aXZlKCksXG59KTtcbi8qKiBDb2RleCBjbGllbnQtc2lkZSB0cmFuc2NyaXB0IHRydW5jYXRpb24gcG9saWN5LiAqL1xuZXhwb3J0IHR5cGUgQ29kZXhUcnVuY2F0aW9uUG9saWN5ID0gei5pbmZlcjx0eXBlb2YgQ29kZXhUcnVuY2F0aW9uUG9saWN5U2NoZW1hPjtcblxuLyoqIE9uZSBDb2RleCBtb2RlbC1jYXRhbG9nIGVudHJ5LiAqL1xuZXhwb3J0IGNvbnN0IENvZGV4TW9kZWxTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHNsdWc6IHouc3RyaW5nKCkubWluKDEpLFxuICBkaXNwbGF5X25hbWU6IHouc3RyaW5nKCkubWluKDEpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKSxcbiAgYmFzZV9pbnN0cnVjdGlvbnM6IHouc3RyaW5nKCksXG4gIHN0YXR1czogbW9kZWwuTW9kZWxTdGF0dXNTY2hlbWEsXG4gIHN1cHBvcnRlZF9yZWFzb25pbmdfbGV2ZWxzOiB6LmFycmF5KENvZGV4UmVhc29uaW5nTGV2ZWxTY2hlbWEpLFxuICBkZWZhdWx0X3JlYXNvbmluZ19sZXZlbDogbW9kZWwuUmVhc29uaW5nRWZmb3J0U2NoZW1hLm9wdGlvbmFsKCksXG4gIHNoZWxsX3R5cGU6IHouc3RyaW5nKCkubWluKDEpLFxuICB2aXNpYmlsaXR5OiB6LmxpdGVyYWwoXCJsaXN0XCIpLFxuICBzdXBwb3J0ZWRfaW5fYXBpOiB6LmJvb2xlYW4oKSxcbiAgcHJpb3JpdHk6IHoubnVtYmVyKCkuaW50KCkucG9zaXRpdmUoKSxcbiAgYXZhaWxhYmlsaXR5X251eDogei51bmtub3duKCkubnVsbGFibGUoKSxcbiAgdXBncmFkZTogei51bmtub3duKCkubnVsbGFibGUoKSxcbiAgc3VwcG9ydF92ZXJib3NpdHk6IHouYm9vbGVhbigpLFxuICBkZWZhdWx0X3ZlcmJvc2l0eTogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICBhcHBseV9wYXRjaF90b29sX3R5cGU6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgdHJ1bmNhdGlvbl9wb2xpY3k6IENvZGV4VHJ1bmNhdGlvblBvbGljeVNjaGVtYSxcbiAgY29udGV4dF93aW5kb3c6IHoubnVtYmVyKCkuaW50KCkucG9zaXRpdmUoKS5udWxsYWJsZSgpLFxuICBleHBlcmltZW50YWxfc3VwcG9ydGVkX3Rvb2xzOiB6LmFycmF5KHoudW5rbm93bigpKSxcbiAgaW5wdXRfbW9kYWxpdGllczogei5hcnJheSh6LnN0cmluZygpKSxcbiAgd2ViX3NlYXJjaF90b29sX3R5cGU6IHouc3RyaW5nKCksXG4gIHN1cHBvcnRzX3NlYXJjaF90b29sOiB6LmJvb2xlYW4oKSxcbiAgc3VwcG9ydHNfaW1hZ2VfZGV0YWlsX29yaWdpbmFsOiB6LmJvb2xlYW4oKSxcbn0pO1xuLyoqIE9uZSBDb2RleCBtb2RlbC1jYXRhbG9nIGVudHJ5LiAqL1xuZXhwb3J0IHR5cGUgQ29kZXhNb2RlbCA9IHouaW5mZXI8dHlwZW9mIENvZGV4TW9kZWxTY2hlbWE+O1xuXG4vKiogQ29kZXgtbmF0aXZlIG1vZGVsLWxpc3QgcmVzcG9uc2UuICovXG5leHBvcnQgY29uc3QgQ29kZXhNb2RlbExpc3RSZXNwb25zZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgbW9kZWxzOiB6LmFycmF5KENvZGV4TW9kZWxTY2hlbWEpLFxufSk7XG4vKiogQ29kZXgtbmF0aXZlIG1vZGVsLWxpc3QgcmVzcG9uc2UuICovXG5leHBvcnQgdHlwZSBDb2RleE1vZGVsTGlzdFJlc3BvbnNlID0gei5pbmZlcjx0eXBlb2YgQ29kZXhNb2RlbExpc3RSZXNwb25zZVNjaGVtYT47XG5cbi8qKiBNb2RlbC1saXN0IHJlc3BvbnNlIHNlbGVjdGVkIGJ5IHRoZSBjYWxsZXIncyBPcmlnaW5hdG9yIGhlYWRlci4gKi9cbmV4cG9ydCBjb25zdCBNb2RlbExpc3RSZXNwb25zZVNjaGVtYSA9IHoudW5pb24oW1xuICBPcGVuQUlNb2RlbExpc3RSZXNwb25zZVNjaGVtYSxcbiAgQ29kZXhNb2RlbExpc3RSZXNwb25zZVNjaGVtYSxcbl0pO1xuLyoqIE1vZGVsLWxpc3QgcmVzcG9uc2Ugc2VsZWN0ZWQgYnkgdGhlIGNhbGxlcidzIE9yaWdpbmF0b3IgaGVhZGVyLiAqL1xuZXhwb3J0IHR5cGUgTW9kZWxMaXN0UmVzcG9uc2UgPSB6LmluZmVyPHR5cGVvZiBNb2RlbExpc3RSZXNwb25zZVNjaGVtYT47XG5cbi8qKiBPcGVuQUktY29tcGF0aWJsZSBlbWJlZGRpbmdzIHJlcXVlc3QuICovXG5leHBvcnQgY29uc3QgRW1iZWRkaW5nUmVxdWVzdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgbW9kZWw6IHouc3RyaW5nKCkubWluKDEpLFxuICBpbnB1dDogei51bmlvbihbei5zdHJpbmcoKSwgei5hcnJheSh6LnN0cmluZygpKV0pLFxuICBlbmNvZGluZ19mb3JtYXQ6IHouZW51bShbXCJmbG9hdFwiLCBcImJhc2U2NFwiXSkub3B0aW9uYWwoKSxcbiAgZGltZW5zaW9uczogei5udW1iZXIoKS5pbnQoKS5wb3NpdGl2ZSgpLm9wdGlvbmFsKCksXG4gIHVzZXI6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuLyoqIE9wZW5BSS1jb21wYXRpYmxlIGVtYmVkZGluZ3MgcmVxdWVzdC4gKi9cbmV4cG9ydCB0eXBlIEVtYmVkZGluZ1JlcXVlc3QgPSB6LmluZmVyPHR5cGVvZiBFbWJlZGRpbmdSZXF1ZXN0U2NoZW1hPjtcblxuLyoqIE9uZSBlbWJlZGRpbmcgdmVjdG9yIGluIGFuIE9wZW5BSS1jb21wYXRpYmxlIHJlc3BvbnNlLiAqL1xuZXhwb3J0IGNvbnN0IEVtYmVkZGluZ0RhdGFTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIG9iamVjdDogei5saXRlcmFsKFwiZW1iZWRkaW5nXCIpLFxuICBlbWJlZGRpbmc6IHoudW5pb24oW3ouYXJyYXkoei5udW1iZXIoKSksIHouc3RyaW5nKCldKSxcbiAgaW5kZXg6IHoubnVtYmVyKCkuaW50KCkubm9ubmVnYXRpdmUoKSxcbn0pO1xuLyoqIE9uZSBlbWJlZGRpbmcgdmVjdG9yIGluIGFuIE9wZW5BSS1jb21wYXRpYmxlIHJlc3BvbnNlLiAqL1xuZXhwb3J0IHR5cGUgRW1iZWRkaW5nRGF0YSA9IHouaW5mZXI8dHlwZW9mIEVtYmVkZGluZ0RhdGFTY2hlbWE+O1xuXG4vKiogVG9rZW4gdXNhZ2UgZm9yIGFuIGVtYmVkZGluZ3MgcmVxdWVzdC4gKi9cbmV4cG9ydCBjb25zdCBFbWJlZGRpbmdVc2FnZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgcHJvbXB0X3Rva2Vuczogei5udW1iZXIoKS5pbnQoKS5ub25uZWdhdGl2ZSgpLFxuICB0b3RhbF90b2tlbnM6IHoubnVtYmVyKCkuaW50KCkubm9ubmVnYXRpdmUoKSxcbn0pO1xuLyoqIFRva2VuIHVzYWdlIGZvciBhbiBlbWJlZGRpbmdzIHJlcXVlc3QuICovXG5leHBvcnQgdHlwZSBFbWJlZGRpbmdVc2FnZSA9IHouaW5mZXI8dHlwZW9mIEVtYmVkZGluZ1VzYWdlU2NoZW1hPjtcblxuLyoqIE9wZW5BSS1jb21wYXRpYmxlIGVtYmVkZGluZ3MgcmVzcG9uc2UuICovXG5leHBvcnQgY29uc3QgRW1iZWRkaW5nUmVzcG9uc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIG9iamVjdDogei5saXRlcmFsKFwibGlzdFwiKSxcbiAgZGF0YTogei5hcnJheShFbWJlZGRpbmdEYXRhU2NoZW1hKSxcbiAgbW9kZWw6IHouc3RyaW5nKCksXG4gIHVzYWdlOiBFbWJlZGRpbmdVc2FnZVNjaGVtYSxcbn0pO1xuLyoqIE9wZW5BSS1jb21wYXRpYmxlIGVtYmVkZGluZ3MgcmVzcG9uc2UuICovXG5leHBvcnQgdHlwZSBFbWJlZGRpbmdSZXNwb25zZSA9IHouaW5mZXI8dHlwZW9mIEVtYmVkZGluZ1Jlc3BvbnNlU2NoZW1hPjtcblxuLyoqIE9wZW5BSS1jb21wYXRpYmxlIGVycm9yIHJlc3BvbnNlLiAqL1xuZXhwb3J0IGNvbnN0IE9wZW5BSUVycm9yUmVzcG9uc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGVycm9yOiB6Lm9iamVjdCh7XG4gICAgbWVzc2FnZTogei5zdHJpbmcoKSxcbiAgICB0eXBlOiB6LnN0cmluZygpLFxuICAgIGNvZGU6IHoudW5pb24oW3ouc3RyaW5nKCksIHoubnVtYmVyKCksIHoubnVsbCgpXSkub3B0aW9uYWwoKSxcbiAgfSksXG59KTtcbi8qKiBPcGVuQUktY29tcGF0aWJsZSBlcnJvciByZXNwb25zZS4gKi9cbmV4cG9ydCB0eXBlIE9wZW5BSUVycm9yUmVzcG9uc2UgPSB6LmluZmVyPHR5cGVvZiBPcGVuQUlFcnJvclJlc3BvbnNlU2NoZW1hPjtcblxuLyoqIEFudGhyb3BpYy1jb21wYXRpYmxlIGVycm9yIHJlc3BvbnNlLiAqL1xuZXhwb3J0IGNvbnN0IEFudGhyb3BpY0Vycm9yUmVzcG9uc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcImVycm9yXCIpLFxuICBlcnJvcjogei5vYmplY3Qoe1xuICAgIHR5cGU6IHouc3RyaW5nKCksXG4gICAgbWVzc2FnZTogei5zdHJpbmcoKSxcbiAgfSksXG59KTtcbi8qKiBBbnRocm9waWMtY29tcGF0aWJsZSBlcnJvciByZXNwb25zZS4gKi9cbmV4cG9ydCB0eXBlIEFudGhyb3BpY0Vycm9yUmVzcG9uc2UgPSB6LmluZmVyPHR5cGVvZiBBbnRocm9waWNFcnJvclJlc3BvbnNlU2NoZW1hPjtcblxuLyoqIEVycm9yIHJlc3BvbnNlIGVtaXR0ZWQgYnkgYW55IGdhdGV3YXkgY29tcGF0aWJpbGl0eSBzdXJmYWNlLiAqL1xuZXhwb3J0IGNvbnN0IEdhdGV3YXlFcnJvclJlc3BvbnNlU2NoZW1hID0gei51bmlvbihbXG4gIE9wZW5BSUVycm9yUmVzcG9uc2VTY2hlbWEsXG4gIEFudGhyb3BpY0Vycm9yUmVzcG9uc2VTY2hlbWEsXG5dKTtcbi8qKiBFcnJvciByZXNwb25zZSBlbWl0dGVkIGJ5IGFueSBnYXRld2F5IGNvbXBhdGliaWxpdHkgc3VyZmFjZS4gKi9cbmV4cG9ydCB0eXBlIEdhdGV3YXlFcnJvclJlc3BvbnNlID0gei5pbmZlcjx0eXBlb2YgR2F0ZXdheUVycm9yUmVzcG9uc2VTY2hlbWE+O1xuIl19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsb0VBQW9FO0FBQ3BFLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDcEQsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEIsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDO0lBQy9DLFNBQVMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQ3RCLGNBQWMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQzNCLFNBQVMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQ3RCLFVBQVUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQ3ZCLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDN0IsU0FBUyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDdEIsVUFBVSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDeEIsQ0FBQyxDQUFDO0FBSUgsOENBQThDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUMxQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRTtJQUN2QyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0s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QyxNQUFNLEVBQUU7UUFDaEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0tBQzdELENBQUM7Q0FDSCxDQUFDLENBQUM7QUFJSCwyQ0FBMkM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuRCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDeEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDZCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtLQUNwQixDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBSUgsbUVBQW1FO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEQseUJBQXlCO0lBQ3pCLDRCQUE0QjtDQUM3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJyb3dzZXItc2FmZSBIVFRQIG1vZGVsLCBlbWJlZGRpbmcsIGFuZCBlcnJvciBwYXlsb2Fkcy5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgbW9kZWwgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtbW9kZWxcIjtcbmltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5cbi8qKiBDYXBhYmlsaXRpZXMgcHVibGlzaGVkIHdpdGggYW4gT3BlbkFJLWNvbXBhdGlibGUgbW9kZWwgZW50cnkuICovXG5leHBvcnQgY29uc3QgT3BlbkFJTW9kZWxDYXBhYmlsaXRpZXNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHRvb2xzOiB6LmJvb2xlYW4oKSxcbiAgcmVhc29uaW5nOiB6LmFycmF5KG1vZGVsLlJlYXNvbmluZ0VmZm9ydFNjaGVtYSksXG4gIHJlc3BvbnNlczogei5ib29sZWFuKCksXG4gIG9wZW5fcmVzcG9uc2VzOiB6LmJvb2xlYW4oKSxcbiAgYW50aHJvcGljOiB6LmJvb2xlYW4oKSxcbiAgZW1iZWRkaW5nczogei5ib29sZWFuKCksXG4gIGFpX2dhdGV3YXlfY29kZXg6IHouYm9vbGVhbigpLFxuICBzdHJlYW1pbmc6IHouYm9vbGVhbigpLFxuICB3ZWJfc2VhcmNoOiB6LmJvb2xlYW4oKSxcbn0pO1xuLyoqIENhcGFiaWxpdGllcyBwdWJsaXNoZWQgd2l0aCBhbiBPcGVuQUktY29tcGF0aWJsZSBtb2RlbCBlbnRyeS4gKi9cbmV4cG9ydCB0eXBlIE9wZW5BSU1vZGVsQ2FwYWJpbGl0aWVzID0gei5pbmZlcjx0eXBlb2YgT3BlbkFJTW9kZWxDYXBhYmlsaXRpZXNTY2hlbWE+O1xuXG4vKiogT25lIE9wZW5BSS1jb21wYXRpYmxlIG1vZGVsLWxpc3QgZW50cnkuICovXG5leHBvcnQgY29uc3QgT3BlbkFJTW9kZWxTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LnN0cmluZygpLm1pbigxKSxcbiAgb2JqZWN0OiB6LmxpdGVyYWwoXCJtb2RlbFwiKSxcbiAgY3JlYXRlZDogei5udW1iZXIoKS5pbnQoKS5ub25uZWdhdGl2ZSgpLFxuICBvd25lZF9ieTogei5zdHJpbmcoKS5taW4oMSksXG4gIG5hbWU6IHouc3RyaW5nKCkubWluKDEpLFxuICB0YXNrOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHN0YXR1czogbW9kZWwuTW9kZWxTdGF0dXNTY2hlbWEsXG4gIGNhcGFiaWxpdGllczogT3BlbkFJTW9kZWxDYXBhYmlsaXRpZXNTY2hlbWEsXG59KTtcbi8qKiBPbmUgT3BlbkFJLWNvbXBhdGlibGUgbW9kZWwtbGlzdCBlbnRyeS4gKi9cbmV4cG9ydCB0eXBlIE9wZW5BSU1vZGVsID0gei5pbmZlcjx0eXBlb2YgT3BlbkFJTW9kZWxTY2hlbWE+O1xuXG4vKiogU3RhbmRhcmQgT3BlbkFJIG1vZGVsLWxpc3QgcmVzcG9uc2UuICovXG5leHBvcnQgY29uc3QgT3BlbkFJTW9kZWxMaXN0UmVzcG9uc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIG9iamVjdDogei5saXRlcmFsKFwibGlzdFwiKSxcbiAgZGF0YTogei5hcnJheShPcGVuQUlNb2RlbFNjaGVtYSksXG59KTtcbi8qKiBTdGFuZGFyZCBPcGVuQUkgbW9kZWwtbGlzdCByZXNwb25zZS4gKi9cbmV4cG9ydCB0eXBlIE9wZW5BSU1vZGVsTGlzdFJlc3BvbnNlID0gei5pbmZlcjx0eXBlb2YgT3BlbkFJTW9kZWxMaXN0UmVzcG9uc2VTY2hlbWE+O1xuXG4vKiogUmVhc29uaW5nIGVmZm9ydCBhZHZlcnRpc2VkIHRvIENvZGV4LiAqL1xuZXhwb3J0IGNvbnN0IENvZGV4UmVhc29uaW5nTGV2ZWxTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGVmZm9ydDogbW9kZWwuUmVhc29uaW5nRWZmb3J0U2NoZW1hLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKSxcbn0pO1xuLyoqIFJlYXNvbmluZyBlZmZvcnQgYWR2ZXJ0aXNlZCB0byBDb2RleC4gKi9cbmV4cG9ydCB0eXBlIENvZGV4UmVhc29uaW5nTGV2ZWwgPSB6LmluZmVyPHR5cGVvZiBDb2RleFJlYXNvbmluZ0xldmVsU2NoZW1hPjtcblxuLyoqIENvZGV4IGNsaWVudC1zaWRlIHRyYW5zY3JpcHQgdHJ1bmNhdGlvbiBwb2xpY3kuICovXG5leHBvcnQgY29uc3QgQ29kZXhUcnVuY2F0aW9uUG9saWN5U2NoZW1hID0gei5vYmplY3Qoe1xuICBtb2RlOiB6LmVudW0oW1widG9rZW5zXCIsIFwiYnl0ZXNcIl0pLFxuICBsaW1pdDogei5udW1iZXIoKS5pbnQoKS5wb3NpdGl2ZSgpLFxufSk7XG4vKiogQ29kZXggY2xpZW50LXNpZGUgdHJhbnNjcmlwdCB0cnVuY2F0aW9uIHBvbGljeS4gKi9cbmV4cG9ydCB0eXBlIENvZGV4VHJ1bmNhdGlvblBvbGljeSA9IHouaW5mZXI8dHlwZW9mIENvZGV4VHJ1bmNhdGlvblBvbGljeVNjaGVtYT47XG5cbi8qKiBPbmUgQ29kZXggbW9kZWwtY2F0YWxvZyBlbnRyeS4gKi9cbmV4cG9ydCBjb25zdCBDb2RleE1vZGVsU2NoZW1hID0gei5vYmplY3Qoe1xuICBzbHVnOiB6LnN0cmluZygpLm1pbigxKSxcbiAgZGlzcGxheV9uYW1lOiB6LnN0cmluZygpLm1pbigxKSxcbiAgZGVzY3JpcHRpb246IHouc3RyaW5nKCksXG4gIGJhc2VfaW5zdHJ1Y3Rpb25zOiB6LnN0cmluZygpLFxuICBzdGF0dXM6IG1vZGVsLk1vZGVsU3RhdHVzU2NoZW1hLFxuICBzdXBwb3J0ZWRfcmVhc29uaW5nX2xldmVsczogei5hcnJheShDb2RleFJlYXNvbmluZ0xldmVsU2NoZW1hKSxcbiAgZGVmYXVsdF9yZWFzb25pbmdfbGV2ZWw6IG1vZGVsLlJlYXNvbmluZ0VmZm9ydFNjaGVtYS5vcHRpb25hbCgpLFxuICBzaGVsbF90eXBlOiB6LnN0cmluZygpLm1pbigxKSxcbiAgdmlzaWJpbGl0eTogei5saXRlcmFsKFwibGlzdFwiKSxcbiAgc3VwcG9ydGVkX2luX2FwaTogei5ib29sZWFuKCksXG4gIHByaW9yaXR5OiB6Lm51bWJlcigpLmludCgpLnBvc2l0aXZlKCksXG4gIGF2YWlsYWJpbGl0eV9udXg6IHoudW5rbm93bigpLm51bGxhYmxlKCksXG4gIHVwZ3JhZGU6IHoudW5rbm93bigpLm51bGxhYmxlKCksXG4gIHN1cHBvcnRfdmVyYm9zaXR5OiB6LmJvb2xlYW4oKSxcbiAgZGVmYXVsdF92ZXJib3NpdHk6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgYXBwbHlfcGF0Y2hfdG9vbF90eXBlOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gIHRydW5jYXRpb25fcG9saWN5OiBDb2RleFRydW5jYXRpb25Qb2xpY3lTY2hlbWEsXG4gIGNvbnRleHRfd2luZG93OiB6Lm51bWJlcigpLmludCgpLnBvc2l0aXZlKCkubnVsbGFibGUoKSxcbiAgZXhwZXJpbWVudGFsX3N1cHBvcnRlZF90b29sczogei5hcnJheSh6LnVua25vd24oKSksXG4gIGlucHV0X21vZGFsaXRpZXM6IHouYXJyYXkoei5zdHJpbmcoKSksXG4gIHdlYl9zZWFyY2hfdG9vbF90eXBlOiB6LnN0cmluZygpLFxuICBzdXBwb3J0c19zZWFyY2hfdG9vbDogei5ib29sZWFuKCksXG4gIHN1cHBvcnRzX2ltYWdlX2RldGFpbF9vcmlnaW5hbDogei5ib29sZWFuKCksXG59KTtcbi8qKiBPbmUgQ29kZXggbW9kZWwtY2F0YWxvZyBlbnRyeS4gKi9cbmV4cG9ydCB0eXBlIENvZGV4TW9kZWwgPSB6LmluZmVyPHR5cGVvZiBDb2RleE1vZGVsU2NoZW1hPjtcblxuLyoqIENvZGV4LW5hdGl2ZSBtb2RlbC1saXN0IHJlc3BvbnNlLiAqL1xuZXhwb3J0IGNvbnN0IENvZGV4TW9kZWxMaXN0UmVzcG9uc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIG1vZGVsczogei5hcnJheShDb2RleE1vZGVsU2NoZW1hKSxcbn0pO1xuLyoqIENvZGV4LW5hdGl2ZSBtb2RlbC1saXN0IHJlc3BvbnNlLiAqL1xuZXhwb3J0IHR5cGUgQ29kZXhNb2RlbExpc3RSZXNwb25zZSA9IHouaW5mZXI8dHlwZW9mIENvZGV4TW9kZWxMaXN0UmVzcG9uc2VTY2hlbWE+O1xuXG4vKiogTW9kZWwtbGlzdCByZXNwb25zZSBzZWxlY3RlZCBieSB0aGUgY2FsbGVyJ3MgT3JpZ2luYXRvciBoZWFkZXIuICovXG5leHBvcnQgY29uc3QgTW9kZWxMaXN0UmVzcG9uc2VTY2hlbWEgPSB6LnVuaW9uKFtcbiAgT3BlbkFJTW9kZWxMaXN0UmVzcG9uc2VTY2hlbWEsXG4gIENvZGV4TW9kZWxMaXN0UmVzcG9uc2VTY2hlbWEsXG5dKTtcbi8qKiBNb2RlbC1saXN0IHJlc3BvbnNlIHNlbGVjdGVkIGJ5IHRoZSBjYWxsZXIncyBPcmlnaW5hdG9yIGhlYWRlci4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsTGlzdFJlc3BvbnNlID0gei5pbmZlcjx0eXBlb2YgTW9kZWxMaXN0UmVzcG9uc2VTY2hlbWE+O1xuXG4vKiogT3BlbkFJLWNvbXBhdGlibGUgZW1iZWRkaW5ncyByZXF1ZXN0LiAqL1xuZXhwb3J0IGNvbnN0IEVtYmVkZGluZ1JlcXVlc3RTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIG1vZGVsOiB6LnN0cmluZygpLm1pbigxKSxcbiAgaW5wdXQ6IHoudW5pb24oW3ouc3RyaW5nKCksIHouYXJyYXkoei5zdHJpbmcoKSldKSxcbiAgZW5jb2RpbmdfZm9ybWF0OiB6LmVudW0oW1wiZmxvYXRcIiwgXCJiYXNlNjRcIl0pLm9wdGlvbmFsKCksXG4gIGRpbWVuc2lvbnM6IHoubnVtYmVyKCkuaW50KCkucG9zaXRpdmUoKS5vcHRpb25hbCgpLFxuICB1c2VyOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcbi8qKiBPcGVuQUktY29tcGF0aWJsZSBlbWJlZGRpbmdzIHJlcXVlc3QuICovXG5leHBvcnQgdHlwZSBFbWJlZGRpbmdSZXF1ZXN0ID0gei5pbmZlcjx0eXBlb2YgRW1iZWRkaW5nUmVxdWVzdFNjaGVtYT47XG5cbi8qKiBPbmUgZW1iZWRkaW5nIHZlY3RvciBpbiBhbiBPcGVuQUktY29tcGF0aWJsZSByZXNwb25zZS4gKi9cbmV4cG9ydCBjb25zdCBFbWJlZGRpbmdEYXRhU2NoZW1hID0gei5vYmplY3Qoe1xuICBvYmplY3Q6IHoubGl0ZXJhbChcImVtYmVkZGluZ1wiKSxcbiAgZW1iZWRkaW5nOiB6LnVuaW9uKFt6LmFycmF5KHoubnVtYmVyKCkpLCB6LnN0cmluZygpXSksXG4gIGluZGV4OiB6Lm51bWJlcigpLmludCgpLm5vbm5lZ2F0aXZlKCksXG59KTtcbi8qKiBPbmUgZW1iZWRkaW5nIHZlY3RvciBpbiBhbiBPcGVuQUktY29tcGF0aWJsZSByZXNwb25zZS4gKi9cbmV4cG9ydCB0eXBlIEVtYmVkZGluZ0RhdGEgPSB6LmluZmVyPHR5cGVvZiBFbWJlZGRpbmdEYXRhU2NoZW1hPjtcblxuLyoqIFRva2VuIHVzYWdlIGZvciBhbiBlbWJlZGRpbmdzIHJlcXVlc3QuICovXG5leHBvcnQgY29uc3QgRW1iZWRkaW5nVXNhZ2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHByb21wdF90b2tlbnM6IHoubnVtYmVyKCkuaW50KCkubm9ubmVnYXRpdmUoKSxcbiAgdG90YWxfdG9rZW5zOiB6Lm51bWJlcigpLmludCgpLm5vbm5lZ2F0aXZlKCksXG59KTtcbi8qKiBUb2tlbiB1c2FnZSBmb3IgYW4gZW1iZWRkaW5ncyByZXF1ZXN0LiAqL1xuZXhwb3J0IHR5cGUgRW1iZWRkaW5nVXNhZ2UgPSB6LmluZmVyPHR5cGVvZiBFbWJlZGRpbmdVc2FnZVNjaGVtYT47XG5cbi8qKiBPcGVuQUktY29tcGF0aWJsZSBlbWJlZGRpbmdzIHJlc3BvbnNlLiAqL1xuZXhwb3J0IGNvbnN0IEVtYmVkZGluZ1Jlc3BvbnNlU2NoZW1hID0gei5vYmplY3Qoe1xuICBvYmplY3Q6IHoubGl0ZXJhbChcImxpc3RcIiksXG4gIGRhdGE6IHouYXJyYXkoRW1iZWRkaW5nRGF0YVNjaGVtYSksXG4gIG1vZGVsOiB6LnN0cmluZygpLFxuICB1c2FnZTogRW1iZWRkaW5nVXNhZ2VTY2hlbWEsXG59KTtcbi8qKiBPcGVuQUktY29tcGF0aWJsZSBlbWJlZGRpbmdzIHJlc3BvbnNlLiAqL1xuZXhwb3J0IHR5cGUgRW1iZWRkaW5nUmVzcG9uc2UgPSB6LmluZmVyPHR5cGVvZiBFbWJlZGRpbmdSZXNwb25zZVNjaGVtYT47XG5cbi8qKiBPcGVuQUktY29tcGF0aWJsZSBlcnJvciByZXNwb25zZS4gKi9cbmV4cG9ydCBjb25zdCBPcGVuQUlFcnJvclJlc3BvbnNlU2NoZW1hID0gei5vYmplY3Qoe1xuICBlcnJvcjogei5vYmplY3Qoe1xuICAgIG1lc3NhZ2U6IHouc3RyaW5nKCksXG4gICAgdHlwZTogei5zdHJpbmcoKSxcbiAgICBjb2RlOiB6LnVuaW9uKFt6LnN0cmluZygpLCB6Lm51bWJlcigpLCB6Lm51bGwoKV0pLm9wdGlvbmFsKCksXG4gIH0pLFxufSk7XG4vKiogT3BlbkFJLWNvbXBhdGlibGUgZXJyb3IgcmVzcG9uc2UuICovXG5leHBvcnQgdHlwZSBPcGVuQUlFcnJvclJlc3BvbnNlID0gei5pbmZlcjx0eXBlb2YgT3BlbkFJRXJyb3JSZXNwb25zZVNjaGVtYT47XG5cbi8qKiBBbnRocm9waWMtY29tcGF0aWJsZSBlcnJvciByZXNwb25zZS4gKi9cbmV4cG9ydCBjb25zdCBBbnRocm9waWNFcnJvclJlc3BvbnNlU2NoZW1hID0gei5vYmplY3Qoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJlcnJvclwiKSxcbiAgZXJyb3I6IHoub2JqZWN0KHtcbiAgICB0eXBlOiB6LnN0cmluZygpLFxuICAgIG1lc3NhZ2U6IHouc3RyaW5nKCksXG4gIH0pLFxufSk7XG4vKiogQW50aHJvcGljLWNvbXBhdGlibGUgZXJyb3IgcmVzcG9uc2UuICovXG5leHBvcnQgdHlwZSBBbnRocm9waWNFcnJvclJlc3BvbnNlID0gei5pbmZlcjx0eXBlb2YgQW50aHJvcGljRXJyb3JSZXNwb25zZVNjaGVtYT47XG5cbi8qKiBFcnJvciByZXNwb25zZSBlbWl0dGVkIGJ5IGFueSBnYXRld2F5IGNvbXBhdGliaWxpdHkgc3VyZmFjZS4gKi9cbmV4cG9ydCBjb25zdCBHYXRld2F5RXJyb3JSZXNwb25zZVNjaGVtYSA9IHoudW5pb24oW1xuICBPcGVuQUlFcnJvclJlc3BvbnNlU2NoZW1hLFxuICBBbnRocm9waWNFcnJvclJlc3BvbnNlU2NoZW1hLFxuXSk7XG4vKiogRXJyb3IgcmVzcG9uc2UgZW1pdHRlZCBieSBhbnkgZ2F0ZXdheSBjb21wYXRpYmlsaXR5IHN1cmZhY2UuICovXG5leHBvcnQgdHlwZSBHYXRld2F5RXJyb3JSZXNwb25zZSA9IHouaW5mZXI8dHlwZW9mIEdhdGV3YXlFcnJvclJlc3BvbnNlU2NoZW1hPjtcbiJdfQ==
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Browser-safe model-gateway runtime and CLI configuration.
3
+ *
4
+ * Field names and descriptions are the single source for derived Commander
5
+ * flags, environment names, generated help, JavaScript callers, and services.
6
+ *
7
+ * @module
8
+ */
9
+ import { z } from "zod";
10
+ export declare const ModelGatewayOptionsSchema: z.ZodObject<{
11
+ listen: z.ZodDefault<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
12
+ host: z.ZodDefault<z.ZodString>;
13
+ port: z.ZodDefault<z.ZodCoercedNumber<number>>;
14
+ }, z.core.$strict>>>;
15
+ profile: z.ZodOptional<z.ZodString>;
16
+ bodyLimit: z.ZodDefault<z.ZodString>;
17
+ }, z.core.$strict>;
18
+ export declare const ModelGatewayCliOptionsSchema: z.ZodObject<{
19
+ listen: z.ZodDefault<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
20
+ host: z.ZodDefault<z.ZodString>;
21
+ port: z.ZodDefault<z.ZodCoercedNumber<number>>;
22
+ }, z.core.$strict>>>;
23
+ profile: z.ZodOptional<z.ZodString>;
24
+ bodyLimit: z.ZodDefault<z.ZodString>;
25
+ runtimeInfo: z.ZodDefault<z.ZodBoolean>;
26
+ }, z.core.$strict>;
27
+ export type ModelGatewayOptions = z.input<typeof ModelGatewayOptionsSchema>;
28
+ export type ResolvedModelGatewayOptions = z.output<typeof ModelGatewayOptionsSchema>;
29
+ export type ModelGatewayCliOptions = z.output<typeof ModelGatewayCliOptionsSchema>;
30
+ /** Defaults parsed from the owning runtime schema. */
31
+ export declare const MODEL_GATEWAY_DEFAULTS: Readonly<{
32
+ listen: {
33
+ host: string;
34
+ port: number;
35
+ };
36
+ bodyLimit: string;
37
+ profile?: string | undefined;
38
+ }>;
39
+ /** Validate and default model-gateway server options. */
40
+ export declare function resolveModelGatewayOptions(options?: ModelGatewayOptions): ResolvedModelGatewayOptions;
41
+ /** Validate and default model-gateway command-line options. */
42
+ export declare function resolveModelGatewayCliOptions(options: unknown): ModelGatewayCliOptions;
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Browser-safe model-gateway runtime and CLI configuration.
3
+ *
4
+ * Field names and descriptions are the single source for derived Commander
5
+ * flags, environment names, generated help, JavaScript callers, and services.
6
+ *
7
+ * @module
8
+ */
9
+ import { options } from "@dbx-tools/shared-core";
10
+ import { z } from "zod";
11
+ export const ModelGatewayOptionsSchema = z
12
+ .object({
13
+ listen: options
14
+ .listenAddressSchema({ port: 4000, loopback: true })
15
+ .describe("Loopback listener address."),
16
+ profile: options.DatabricksOptionsSchema.shape.profile.describe("Databricks profile used for model discovery and requests."),
17
+ bodyLimit: z
18
+ .string()
19
+ .trim()
20
+ .min(1)
21
+ .default("100mb")
22
+ .describe("Maximum JSON request body size."),
23
+ })
24
+ .strict()
25
+ .describe("Model-gateway server configuration.");
26
+ export const ModelGatewayCliOptionsSchema = ModelGatewayOptionsSchema.extend({
27
+ runtimeInfo: z.boolean().default(false).describe("Print runtime implementation metadata."),
28
+ })
29
+ .refine((options) => options.listen.port > 0, {
30
+ message: "Port must be an integer from 1 through 65535.",
31
+ path: ["listen"],
32
+ })
33
+ .describe("Model-gateway command-line configuration.");
34
+ /** Defaults parsed from the owning runtime schema. */
35
+ export const MODEL_GATEWAY_DEFAULTS = Object.freeze(ModelGatewayOptionsSchema.parse({}));
36
+ /** Validate and default model-gateway server options. */
37
+ export function resolveModelGatewayOptions(options = {}) {
38
+ return ModelGatewayOptionsSchema.parse(options);
39
+ }
40
+ /** Validate and default model-gateway command-line options. */
41
+ export function resolveModelGatewayCliOptions(options) {
42
+ return ModelGatewayCliOptionsSchema.parse(options);
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFFSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDO0tBQ3ZDLE1BQU0sQ0FBQztJQUNOLE1BQU0sRUFBRSxPQUFPO1NBQ1osbUJBQW1CLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUNuRCxRQUFRLENBQUMsNEJBQTRCLENBQUM7SUFDekMsT0FBTyxFQUFFLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDN0QsMkRBQTJELENBQzVEO0lBQ0QsU0FBUyxFQUFFLENBQUM7U0FDVCxNQUFNLEVBQUU7U0FDUixJQUFJLEVBQUU7U0FDTixHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ04sT0FBTyxDQUFDLE9BQU8sQ0FBQztTQUNoQixRQUFRLENBQUMsaUNBQWlDLENBQUM7Q0FDL0MsQ0FBQztLQUNELE1BQU0sRUFBRTtLQUNSLFFBQVEsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLHlCQUF5QixDQUFDLE1BQU0sQ0FBQztJQUMzRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsd0NBQXdDLENBQUM7Q0FDM0YsQ0FBQztLQUNDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO0lBQzVDLE9BQU8sRUFBRSwrQ0FBK0M7SUFDeEQsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO0NBQ2pCLENBQUM7S0FDRCxRQUFRLENBQUMsMkNBQTJDLENBQUMsQ0FBQztBQVF6RCxzREFBc0Q7QUFDdEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUV6Rix5REFBeUQ7QUFDekQsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxVQUErQixFQUFFO0lBRWpDLE9BQU8seUJBQXlCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRCwrREFBK0Q7QUFDL0QsTUFBTSxVQUFVLDZCQUE2QixDQUFDLE9BQWdCO0lBQzVELE9BQU8sNEJBQTRCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJyb3dzZXItc2FmZSBtb2RlbC1nYXRld2F5IHJ1bnRpbWUgYW5kIENMSSBjb25maWd1cmF0aW9uLlxuICpcbiAqIEZpZWxkIG5hbWVzIGFuZCBkZXNjcmlwdGlvbnMgYXJlIHRoZSBzaW5nbGUgc291cmNlIGZvciBkZXJpdmVkIENvbW1hbmRlclxuICogZmxhZ3MsIGVudmlyb25tZW50IG5hbWVzLCBnZW5lcmF0ZWQgaGVscCwgSmF2YVNjcmlwdCBjYWxsZXJzLCBhbmQgc2VydmljZXMuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7IG9wdGlvbnMgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtY29yZVwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuZXhwb3J0IGNvbnN0IE1vZGVsR2F0ZXdheU9wdGlvbnNTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIGxpc3Rlbjogb3B0aW9uc1xuICAgICAgLmxpc3RlbkFkZHJlc3NTY2hlbWEoeyBwb3J0OiA0MDAwLCBsb29wYmFjazogdHJ1ZSB9KVxuICAgICAgLmRlc2NyaWJlKFwiTG9vcGJhY2sgbGlzdGVuZXIgYWRkcmVzcy5cIiksXG4gICAgcHJvZmlsZTogb3B0aW9ucy5EYXRhYnJpY2tzT3B0aW9uc1NjaGVtYS5zaGFwZS5wcm9maWxlLmRlc2NyaWJlKFxuICAgICAgXCJEYXRhYnJpY2tzIHByb2ZpbGUgdXNlZCBmb3IgbW9kZWwgZGlzY292ZXJ5IGFuZCByZXF1ZXN0cy5cIixcbiAgICApLFxuICAgIGJvZHlMaW1pdDogelxuICAgICAgLnN0cmluZygpXG4gICAgICAudHJpbSgpXG4gICAgICAubWluKDEpXG4gICAgICAuZGVmYXVsdChcIjEwMG1iXCIpXG4gICAgICAuZGVzY3JpYmUoXCJNYXhpbXVtIEpTT04gcmVxdWVzdCBib2R5IHNpemUuXCIpLFxuICB9KVxuICAuc3RyaWN0KClcbiAgLmRlc2NyaWJlKFwiTW9kZWwtZ2F0ZXdheSBzZXJ2ZXIgY29uZmlndXJhdGlvbi5cIik7XG5cbmV4cG9ydCBjb25zdCBNb2RlbEdhdGV3YXlDbGlPcHRpb25zU2NoZW1hID0gTW9kZWxHYXRld2F5T3B0aW9uc1NjaGVtYS5leHRlbmQoe1xuICBydW50aW1lSW5mbzogei5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSkuZGVzY3JpYmUoXCJQcmludCBydW50aW1lIGltcGxlbWVudGF0aW9uIG1ldGFkYXRhLlwiKSxcbn0pXG4gIC5yZWZpbmUoKG9wdGlvbnMpID0+IG9wdGlvbnMubGlzdGVuLnBvcnQgPiAwLCB7XG4gICAgbWVzc2FnZTogXCJQb3J0IG11c3QgYmUgYW4gaW50ZWdlciBmcm9tIDEgdGhyb3VnaCA2NTUzNS5cIixcbiAgICBwYXRoOiBbXCJsaXN0ZW5cIl0sXG4gIH0pXG4gIC5kZXNjcmliZShcIk1vZGVsLWdhdGV3YXkgY29tbWFuZC1saW5lIGNvbmZpZ3VyYXRpb24uXCIpO1xuXG5leHBvcnQgdHlwZSBNb2RlbEdhdGV3YXlPcHRpb25zID0gei5pbnB1dDx0eXBlb2YgTW9kZWxHYXRld2F5T3B0aW9uc1NjaGVtYT47XG5cbmV4cG9ydCB0eXBlIFJlc29sdmVkTW9kZWxHYXRld2F5T3B0aW9ucyA9IHoub3V0cHV0PHR5cGVvZiBNb2RlbEdhdGV3YXlPcHRpb25zU2NoZW1hPjtcblxuZXhwb3J0IHR5cGUgTW9kZWxHYXRld2F5Q2xpT3B0aW9ucyA9IHoub3V0cHV0PHR5cGVvZiBNb2RlbEdhdGV3YXlDbGlPcHRpb25zU2NoZW1hPjtcblxuLyoqIERlZmF1bHRzIHBhcnNlZCBmcm9tIHRoZSBvd25pbmcgcnVudGltZSBzY2hlbWEuICovXG5leHBvcnQgY29uc3QgTU9ERUxfR0FURVdBWV9ERUZBVUxUUyA9IE9iamVjdC5mcmVlemUoTW9kZWxHYXRld2F5T3B0aW9uc1NjaGVtYS5wYXJzZSh7fSkpO1xuXG4vKiogVmFsaWRhdGUgYW5kIGRlZmF1bHQgbW9kZWwtZ2F0ZXdheSBzZXJ2ZXIgb3B0aW9ucy4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlTW9kZWxHYXRld2F5T3B0aW9ucyhcbiAgb3B0aW9uczogTW9kZWxHYXRld2F5T3B0aW9ucyA9IHt9LFxuKTogUmVzb2x2ZWRNb2RlbEdhdGV3YXlPcHRpb25zIHtcbiAgcmV0dXJuIE1vZGVsR2F0ZXdheU9wdGlvbnNTY2hlbWEucGFyc2Uob3B0aW9ucyk7XG59XG5cbi8qKiBWYWxpZGF0ZSBhbmQgZGVmYXVsdCBtb2RlbC1nYXRld2F5IGNvbW1hbmQtbGluZSBvcHRpb25zLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVNb2RlbEdhdGV3YXlDbGlPcHRpb25zKG9wdGlvbnM6IHVua25vd24pOiBNb2RlbEdhdGV3YXlDbGlPcHRpb25zIHtcbiAgcmV0dXJuIE1vZGVsR2F0ZXdheUNsaU9wdGlvbnNTY2hlbWEucGFyc2Uob3B0aW9ucyk7XG59XG4iXX0=
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Browser-safe Databricks upstream URLs for deterministic gateway routes.
3
+ *
4
+ * This module owns direct-route URL construction for browser, edge, and Node
5
+ * consumers. Reuse {@link upstreamUrl} instead of duplicating Databricks model
6
+ * serving paths in transports or user interfaces.
7
+ *
8
+ * @module
9
+ */
10
+ import type { GatewayRoute } from "./contracts.ts";
11
+ /** Resolve the exact upstream URL for a deterministic direct route. */
12
+ export declare function upstreamUrl(host: string, route: GatewayRoute): string;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Browser-safe Databricks upstream URLs for deterministic gateway routes.
3
+ *
4
+ * This module owns direct-route URL construction for browser, edge, and Node
5
+ * consumers. Reuse {@link upstreamUrl} instead of duplicating Databricks model
6
+ * serving paths in transports or user interfaces.
7
+ *
8
+ * @module
9
+ */
10
+ /** Resolve the exact upstream URL for a deterministic direct route. */
11
+ export function upstreamUrl(host, route) {
12
+ switch (route.upstreamProtocol) {
13
+ case "databricks-ai-gateway-codex":
14
+ return url(host, "/ai-gateway/codex/v1/responses");
15
+ case "databricks-responses":
16
+ return url(host, "/serving-endpoints/responses");
17
+ case "databricks-open-responses":
18
+ return url(host, "/serving-endpoints/open-responses");
19
+ case "databricks-chat":
20
+ return url(host, "/serving-endpoints/chat/completions");
21
+ case "databricks-anthropic":
22
+ return url(host, "/serving-endpoints/anthropic/v1/messages");
23
+ case "databricks-embeddings":
24
+ return url(host, `/serving-endpoints/${encodeURIComponent(route.upstreamModel)}/invocations`);
25
+ case "ai-sdk":
26
+ throw new Error("AI SDK routes do not use the direct Databricks transport");
27
+ }
28
+ }
29
+ function url(host, path) {
30
+ return new URL(path, `${host.replace(/\/$/, "")}/`).toString();
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzdHJlYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXBzdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFJSCx1RUFBdUU7QUFDdkUsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFZLEVBQUUsS0FBbUI7SUFDM0QsUUFBUSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMvQixLQUFLLDZCQUE2QjtZQUNoQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztRQUNyRCxLQUFLLHNCQUFzQjtZQUN6QixPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsOEJBQThCLENBQUMsQ0FBQztRQUNuRCxLQUFLLDJCQUEyQjtZQUM5QixPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsbUNBQW1DLENBQUMsQ0FBQztRQUN4RCxLQUFLLGlCQUFpQjtZQUNwQixPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUscUNBQXFDLENBQUMsQ0FBQztRQUMxRCxLQUFLLHNCQUFzQjtZQUN6QixPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsMENBQTBDLENBQUMsQ0FBQztRQUMvRCxLQUFLLHVCQUF1QjtZQUMxQixPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEcsS0FBSyxRQUFRO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQVk7SUFDckMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQnJvd3Nlci1zYWZlIERhdGFicmlja3MgdXBzdHJlYW0gVVJMcyBmb3IgZGV0ZXJtaW5pc3RpYyBnYXRld2F5IHJvdXRlcy5cbiAqXG4gKiBUaGlzIG1vZHVsZSBvd25zIGRpcmVjdC1yb3V0ZSBVUkwgY29uc3RydWN0aW9uIGZvciBicm93c2VyLCBlZGdlLCBhbmQgTm9kZVxuICogY29uc3VtZXJzLiBSZXVzZSB7QGxpbmsgdXBzdHJlYW1Vcmx9IGluc3RlYWQgb2YgZHVwbGljYXRpbmcgRGF0YWJyaWNrcyBtb2RlbFxuICogc2VydmluZyBwYXRocyBpbiB0cmFuc3BvcnRzIG9yIHVzZXIgaW50ZXJmYWNlcy5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBHYXRld2F5Um91dGUgfSBmcm9tIFwiLi9jb250cmFjdHMudHNcIjtcblxuLyoqIFJlc29sdmUgdGhlIGV4YWN0IHVwc3RyZWFtIFVSTCBmb3IgYSBkZXRlcm1pbmlzdGljIGRpcmVjdCByb3V0ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cHN0cmVhbVVybChob3N0OiBzdHJpbmcsIHJvdXRlOiBHYXRld2F5Um91dGUpOiBzdHJpbmcge1xuICBzd2l0Y2ggKHJvdXRlLnVwc3RyZWFtUHJvdG9jb2wpIHtcbiAgICBjYXNlIFwiZGF0YWJyaWNrcy1haS1nYXRld2F5LWNvZGV4XCI6XG4gICAgICByZXR1cm4gdXJsKGhvc3QsIFwiL2FpLWdhdGV3YXkvY29kZXgvdjEvcmVzcG9uc2VzXCIpO1xuICAgIGNhc2UgXCJkYXRhYnJpY2tzLXJlc3BvbnNlc1wiOlxuICAgICAgcmV0dXJuIHVybChob3N0LCBcIi9zZXJ2aW5nLWVuZHBvaW50cy9yZXNwb25zZXNcIik7XG4gICAgY2FzZSBcImRhdGFicmlja3Mtb3Blbi1yZXNwb25zZXNcIjpcbiAgICAgIHJldHVybiB1cmwoaG9zdCwgXCIvc2VydmluZy1lbmRwb2ludHMvb3Blbi1yZXNwb25zZXNcIik7XG4gICAgY2FzZSBcImRhdGFicmlja3MtY2hhdFwiOlxuICAgICAgcmV0dXJuIHVybChob3N0LCBcIi9zZXJ2aW5nLWVuZHBvaW50cy9jaGF0L2NvbXBsZXRpb25zXCIpO1xuICAgIGNhc2UgXCJkYXRhYnJpY2tzLWFudGhyb3BpY1wiOlxuICAgICAgcmV0dXJuIHVybChob3N0LCBcIi9zZXJ2aW5nLWVuZHBvaW50cy9hbnRocm9waWMvdjEvbWVzc2FnZXNcIik7XG4gICAgY2FzZSBcImRhdGFicmlja3MtZW1iZWRkaW5nc1wiOlxuICAgICAgcmV0dXJuIHVybChob3N0LCBgL3NlcnZpbmctZW5kcG9pbnRzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHJvdXRlLnVwc3RyZWFtTW9kZWwpfS9pbnZvY2F0aW9uc2ApO1xuICAgIGNhc2UgXCJhaS1zZGtcIjpcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkFJIFNESyByb3V0ZXMgZG8gbm90IHVzZSB0aGUgZGlyZWN0IERhdGFicmlja3MgdHJhbnNwb3J0XCIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVybChob3N0OiBzdHJpbmcsIHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBuZXcgVVJMKHBhdGgsIGAke2hvc3QucmVwbGFjZSgvXFwvJC8sIFwiXCIpfS9gKS50b1N0cmluZygpO1xufVxuIl19
@@ -1 +1 @@
1
- {"root":["../src/client.ts","../src/contracts.ts","../src/models.ts","../index.ts"],"version":"5.9.3"}
1
+ {"root":["../src/client.ts","../src/contracts.ts","../src/models.ts","../src/options.ts","../src/upstream.ts","../index.ts"],"version":"5.9.3"}
package/package.json CHANGED
@@ -22,7 +22,8 @@
22
22
  "typescript": "^5.9.3"
23
23
  },
24
24
  "dependencies": {
25
- "@dbx-tools/shared-model": "^0.9.40",
25
+ "@dbx-tools/shared-core": "^0.9.43",
26
+ "@dbx-tools/shared-model": "^0.9.43",
26
27
  "zod": "4.3.6"
27
28
  },
28
29
  "main": "./lib/index.js",
@@ -48,10 +49,18 @@
48
49
  "types": "./lib/src/models.d.ts",
49
50
  "default": "./lib/src/models.js"
50
51
  },
52
+ "./options": {
53
+ "types": "./lib/src/options.d.ts",
54
+ "default": "./lib/src/options.js"
55
+ },
56
+ "./upstream": {
57
+ "types": "./lib/src/upstream.d.ts",
58
+ "default": "./lib/src/upstream.js"
59
+ },
51
60
  "./package.json": "./package.json"
52
61
  }
53
62
  },
54
- "version": "0.9.40",
63
+ "version": "0.9.43",
55
64
  "types": "./lib/index.d.ts",
56
65
  "dbxToolsConfig": {
57
66
  "tags": [
@@ -76,6 +85,14 @@
76
85
  "types": "./lib/src/models.d.ts",
77
86
  "default": "./lib/src/models.js"
78
87
  },
88
+ "./options": {
89
+ "types": "./lib/src/options.d.ts",
90
+ "default": "./lib/src/options.js"
91
+ },
92
+ "./upstream": {
93
+ "types": "./lib/src/upstream.d.ts",
94
+ "default": "./lib/src/upstream.js"
95
+ },
79
96
  "./package.json": "./package.json"
80
97
  },
81
98
  "files": [