@dbx-tools/shared-model 0.6.224 → 0.6.225
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -5
- package/index.ts +3 -3
- package/lib/index.d.ts +3 -3
- package/lib/index.js +3 -3
- package/lib/src/model.d.ts +7 -13
- package/lib/src/model.js +7 -13
- package/package.json +2 -2
- package/src/model.ts +9 -12
package/README.md
CHANGED
|
@@ -67,9 +67,10 @@ const ranked: RankedModel = model.RankedModelSchema.parse(response);
|
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
`model.ServingEndpointSummarySchema` describes the stable endpoint fields exposed
|
|
70
|
-
to clients: endpoint name, task, state, optional profile scores,
|
|
71
|
-
class, `supportsTools`, provider service names,
|
|
72
|
-
status, and embedding dimension.
|
|
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
|
|
73
74
|
search/ranking to endpoints that can complete both a function call and the
|
|
74
75
|
subsequent `function_call_output` replay.
|
|
75
76
|
|
|
@@ -177,8 +178,8 @@ one-by-one (`openaiResponses.responsesToChat`) already can't leak them. Pass
|
|
|
177
178
|
|
|
178
179
|
## Modules
|
|
179
180
|
|
|
180
|
-
- `model` - `ModelClass`,
|
|
181
|
-
|
|
181
|
+
- `model` - `ModelClass`, reasoning-effort wire schema, and inferred types for
|
|
182
|
+
profiles, endpoint summaries, lookup requests, and ranked results.
|
|
182
183
|
- `classify` - family parsing, version tuple parsing, endpoint classification,
|
|
183
184
|
and capability flags.
|
|
184
185
|
- `display` - human-readable endpoint labels.
|
package/index.ts
CHANGED
|
@@ -3,15 +3,15 @@
|
|
|
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.6.
|
|
6
|
+
export const PACKAGE_VERSION = "0.6.225";
|
|
7
7
|
export * as classify from "./src/classify.ts";
|
|
8
8
|
export * as display from "./src/display.ts";
|
|
9
9
|
export * as model from "./src/model.ts";
|
|
10
10
|
export * as openaiChat from "./src/openai-chat.ts";
|
|
11
11
|
export * as openaiResponses from "./src/openai-responses.ts";
|
|
12
12
|
export type { EndpointCapabilities, FamilyClass } from "./src/classify.ts";
|
|
13
|
-
export { ModelClass, ModelClassSchema, ModelProfileSchema,
|
|
14
|
-
export type { ModelProfile, ModelStatus, ServingEndpointSummary, ModelQuery, RankedModel } from "./src/model.ts";
|
|
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";
|
|
15
15
|
export { UNSUPPORTED_CHAT_FIELDS } from "./src/openai-chat.ts";
|
|
16
16
|
export type { ChatRole, ChatContentPart, ChatToolCallFunction, ChatToolCall, ChatMessage, ChatContentToTextOptions } from "./src/openai-chat.ts";
|
|
17
17
|
export { REASONING_TYPES } from "./src/openai-responses.ts";
|
package/lib/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export declare const PACKAGE_IDENTIFIER = "@dbx-tools/shared-model";
|
|
2
|
-
export declare const PACKAGE_VERSION = "0.6.
|
|
2
|
+
export declare const PACKAGE_VERSION = "0.6.225";
|
|
3
3
|
export * as classify from "./src/classify.ts";
|
|
4
4
|
export * as display from "./src/display.ts";
|
|
5
5
|
export * as model from "./src/model.ts";
|
|
6
6
|
export * as openaiChat from "./src/openai-chat.ts";
|
|
7
7
|
export * as openaiResponses from "./src/openai-responses.ts";
|
|
8
8
|
export type { EndpointCapabilities, FamilyClass } from "./src/classify.ts";
|
|
9
|
-
export { ModelClass, ModelClassSchema, ModelProfileSchema,
|
|
10
|
-
export type { ModelProfile, ModelStatus, ServingEndpointSummary, ModelQuery, RankedModel } from "./src/model.ts";
|
|
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";
|
|
11
11
|
export { UNSUPPORTED_CHAT_FIELDS } from "./src/openai-chat.ts";
|
|
12
12
|
export type { ChatRole, ChatContentPart, ChatToolCallFunction, ChatToolCall, ChatMessage, ChatContentToTextOptions } from "./src/openai-chat.ts";
|
|
13
13
|
export { REASONING_TYPES } from "./src/openai-responses.ts";
|
package/lib/index.js
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
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.6.
|
|
5
|
+
export const PACKAGE_VERSION = "0.6.225";
|
|
6
6
|
export * as classify from "./src/classify.js";
|
|
7
7
|
export * as display from "./src/display.js";
|
|
8
8
|
export * as model from "./src/model.js";
|
|
9
9
|
export * as openaiChat from "./src/openai-chat.js";
|
|
10
10
|
export * as openaiResponses from "./src/openai-responses.js";
|
|
11
|
-
export { ModelClass, ModelClassSchema, ModelProfileSchema,
|
|
11
|
+
export { ModelClass, ModelClassSchema, ModelProfileSchema, ReasoningEffortSchema, ModelStatusSchema, ServingEndpointSummarySchema, ModelQuerySchema, RankedModelSchema } from "./src/model.js";
|
|
12
12
|
export { UNSUPPORTED_CHAT_FIELDS } from "./src/openai-chat.js";
|
|
13
13
|
export { REASONING_TYPES } from "./src/openai-responses.js";
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxRQUFRLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxVQUFVLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxLQUFLLGVBQWUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLDRCQUE0QixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0wsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIGJ5IHByb2plbiB3YXRjaCAtIERPIE5PVCBFRElULlxuLy8gUmVnZW5lcmF0ZWQgZnJvbSB0aGUgZXhwb3J0aW5nIG1vZHVsZXMgaW4gLi9zcmMuXG4vLyBIYW5kIGVkaXRzIGFyZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCB3YXRjaDsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cblxuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfSURFTlRJRklFUiA9IFwiQGRieC10b29scy9zaGFyZWQtbW9kZWxcIjtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX1ZFUlNJT04gPSBcIjAuNi4yMjVcIjtcbmV4cG9ydCAqIGFzIGNsYXNzaWZ5IGZyb20gXCIuL3NyYy9jbGFzc2lmeS50c1wiO1xuZXhwb3J0ICogYXMgZGlzcGxheSBmcm9tIFwiLi9zcmMvZGlzcGxheS50c1wiO1xuZXhwb3J0ICogYXMgbW9kZWwgZnJvbSBcIi4vc3JjL21vZGVsLnRzXCI7XG5leHBvcnQgKiBhcyBvcGVuYWlDaGF0IGZyb20gXCIuL3NyYy9vcGVuYWktY2hhdC50c1wiO1xuZXhwb3J0ICogYXMgb3BlbmFpUmVzcG9uc2VzIGZyb20gXCIuL3NyYy9vcGVuYWktcmVzcG9uc2VzLnRzXCI7XG5leHBvcnQgdHlwZSB7IEVuZHBvaW50Q2FwYWJpbGl0aWVzLCBGYW1pbHlDbGFzcyB9IGZyb20gXCIuL3NyYy9jbGFzc2lmeS50c1wiO1xuZXhwb3J0IHsgTW9kZWxDbGFzcywgTW9kZWxDbGFzc1NjaGVtYSwgTW9kZWxQcm9maWxlU2NoZW1hLCBSZWFzb25pbmdFZmZvcnRTY2hlbWEsIE1vZGVsU3RhdHVzU2NoZW1hLCBTZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5U2NoZW1hLCBNb2RlbFF1ZXJ5U2NoZW1hLCBSYW5rZWRNb2RlbFNjaGVtYSB9IGZyb20gXCIuL3NyYy9tb2RlbC50c1wiO1xuZXhwb3J0IHR5cGUgeyBNb2RlbFByb2ZpbGUsIFJlYXNvbmluZ0VmZm9ydCwgTW9kZWxTdGF0dXMsIFNlcnZpbmdFbmRwb2ludFN1bW1hcnksIE1vZGVsUXVlcnksIFJhbmtlZE1vZGVsIH0gZnJvbSBcIi4vc3JjL21vZGVsLnRzXCI7XG5leHBvcnQgeyBVTlNVUFBPUlRFRF9DSEFUX0ZJRUxEUyB9IGZyb20gXCIuL3NyYy9vcGVuYWktY2hhdC50c1wiO1xuZXhwb3J0IHR5cGUgeyBDaGF0Um9sZSwgQ2hhdENvbnRlbnRQYXJ0LCBDaGF0VG9vbENhbGxGdW5jdGlvbiwgQ2hhdFRvb2xDYWxsLCBDaGF0TWVzc2FnZSwgQ2hhdENvbnRlbnRUb1RleHRPcHRpb25zIH0gZnJvbSBcIi4vc3JjL29wZW5haS1jaGF0LnRzXCI7XG5leHBvcnQgeyBSRUFTT05JTkdfVFlQRVMgfSBmcm9tIFwiLi9zcmMvb3BlbmFpLXJlc3BvbnNlcy50c1wiO1xuZXhwb3J0IHR5cGUgeyBSZXNwb25zZXNTdHJlYW1UcmFuc2xhdG9yLCBSZXNwb25zZXNDaXRhdGlvbiwgUmVzcG9uc2VzT3V0cHV0IH0gZnJvbSBcIi4vc3JjL29wZW5haS1yZXNwb25zZXMudHNcIjtcbiJdfQ==
|
package/lib/src/model.d.ts
CHANGED
|
@@ -43,17 +43,9 @@ export declare const ModelProfileSchema: z.ZodObject<{
|
|
|
43
43
|
cost: z.ZodOptional<z.ZodNumber>;
|
|
44
44
|
}, z.core.$strip>;
|
|
45
45
|
export type ModelProfile = z.infer<typeof ModelProfileSchema>;
|
|
46
|
-
/**
|
|
47
|
-
export declare
|
|
48
|
-
|
|
49
|
-
Minimal = "minimal",
|
|
50
|
-
Low = "low",
|
|
51
|
-
Medium = "medium",
|
|
52
|
-
High = "high",
|
|
53
|
-
Xhigh = "xhigh",
|
|
54
|
-
Max = "max"
|
|
55
|
-
}
|
|
56
|
-
export declare const ReasoningEffortSchema: z.ZodEnum<typeof ReasoningEffort>;
|
|
46
|
+
/** Provider wire value accepted as a reasoning effort by a discovered model. */
|
|
47
|
+
export declare const ReasoningEffortSchema: z.ZodString;
|
|
48
|
+
export type ReasoningEffort = z.infer<typeof ReasoningEffortSchema>;
|
|
57
49
|
/** Lifecycle flags associated with one discovered model. */
|
|
58
50
|
export declare const ModelStatusSchema: z.ZodObject<{
|
|
59
51
|
deprecated: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -67,6 +59,7 @@ export type ModelStatus = z.infer<typeof ModelStatusSchema>;
|
|
|
67
59
|
export declare const ServingEndpointSummarySchema: z.ZodObject<{
|
|
68
60
|
name: z.ZodString;
|
|
69
61
|
displayName: z.ZodOptional<z.ZodString>;
|
|
62
|
+
family: z.ZodOptional<z.ZodString>;
|
|
70
63
|
task: z.ZodOptional<z.ZodString>;
|
|
71
64
|
state: z.ZodOptional<z.ZodString>;
|
|
72
65
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -79,7 +72,7 @@ export declare const ServingEndpointSummarySchema: z.ZodObject<{
|
|
|
79
72
|
class: z.ZodOptional<z.ZodEnum<typeof ModelClass>>;
|
|
80
73
|
serviceNames: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
81
74
|
modelServiceName: z.ZodOptional<z.ZodString>;
|
|
82
|
-
reasoningEfforts: z.ZodOptional<z.ZodArray<z.
|
|
75
|
+
reasoningEfforts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
83
76
|
status: z.ZodOptional<z.ZodObject<{
|
|
84
77
|
deprecated: z.ZodDefault<z.ZodBoolean>;
|
|
85
78
|
}, z.core.$strip>>;
|
|
@@ -114,6 +107,7 @@ export declare const RankedModelSchema: z.ZodObject<{
|
|
|
114
107
|
endpoint: z.ZodObject<{
|
|
115
108
|
name: z.ZodString;
|
|
116
109
|
displayName: z.ZodOptional<z.ZodString>;
|
|
110
|
+
family: z.ZodOptional<z.ZodString>;
|
|
117
111
|
task: z.ZodOptional<z.ZodString>;
|
|
118
112
|
state: z.ZodOptional<z.ZodString>;
|
|
119
113
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -126,7 +120,7 @@ export declare const RankedModelSchema: z.ZodObject<{
|
|
|
126
120
|
class: z.ZodOptional<z.ZodEnum<typeof ModelClass>>;
|
|
127
121
|
serviceNames: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
128
122
|
modelServiceName: z.ZodOptional<z.ZodString>;
|
|
129
|
-
reasoningEfforts: z.ZodOptional<z.ZodArray<z.
|
|
123
|
+
reasoningEfforts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
130
124
|
status: z.ZodOptional<z.ZodObject<{
|
|
131
125
|
deprecated: z.ZodDefault<z.ZodBoolean>;
|
|
132
126
|
}, z.core.$strip>>;
|
package/lib/src/model.js
CHANGED
|
@@ -53,18 +53,8 @@ export const ModelProfileSchema = z.object({
|
|
|
53
53
|
speed: z.number().optional().describe("Relative throughput score; higher is faster."),
|
|
54
54
|
cost: z.number().optional().describe("Relative price score; lower is cheaper."),
|
|
55
55
|
});
|
|
56
|
-
/**
|
|
57
|
-
export
|
|
58
|
-
(function (ReasoningEffort) {
|
|
59
|
-
ReasoningEffort["None"] = "none";
|
|
60
|
-
ReasoningEffort["Minimal"] = "minimal";
|
|
61
|
-
ReasoningEffort["Low"] = "low";
|
|
62
|
-
ReasoningEffort["Medium"] = "medium";
|
|
63
|
-
ReasoningEffort["High"] = "high";
|
|
64
|
-
ReasoningEffort["Xhigh"] = "xhigh";
|
|
65
|
-
ReasoningEffort["Max"] = "max";
|
|
66
|
-
})(ReasoningEffort || (ReasoningEffort = {}));
|
|
67
|
-
export const ReasoningEffortSchema = z.enum(ReasoningEffort);
|
|
56
|
+
/** Provider wire value accepted as a reasoning effort by a discovered model. */
|
|
57
|
+
export const ReasoningEffortSchema = z.string().min(1);
|
|
68
58
|
/** Lifecycle flags associated with one discovered model. */
|
|
69
59
|
export const ModelStatusSchema = z.object({
|
|
70
60
|
deprecated: z.boolean().default(false),
|
|
@@ -82,6 +72,10 @@ export const ServingEndpointSummarySchema = z.object({
|
|
|
82
72
|
.string()
|
|
83
73
|
.optional()
|
|
84
74
|
.describe("Human-readable label for the endpoint: a Databricks-provided name when present (a display-name tag or external-model name), else a title-cased rendering of `name` with vendor prefixes stripped. `name` remains the invoke id."),
|
|
75
|
+
family: z
|
|
76
|
+
.string()
|
|
77
|
+
.optional()
|
|
78
|
+
.describe("Normalized model family parsed by the Rust model policy, such as 'gpt' or 'claude'."),
|
|
85
79
|
task: z.string().optional().describe("Task hint, e.g. 'llm/v1/chat' or 'llm/v1/embeddings'."),
|
|
86
80
|
state: z.string().optional().describe("Deployment state, e.g. ready, updating, or failed."),
|
|
87
81
|
description: z.string().optional().describe("Free-form endpoint description; informational."),
|
|
@@ -157,4 +151,4 @@ export const RankedModelSchema = z.object({
|
|
|
157
151
|
.optional()
|
|
158
152
|
.describe("Fuzzy-match distance (0 = exact .. 1 = worst) when the query carried a search; absent for class-only ranking."),
|
|
159
153
|
});
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUVILE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEI7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxDQUFOLElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNwQiw0Q0FBOEIsQ0FBQTtJQUM5Qiw0Q0FBOEIsQ0FBQTtJQUM5QixvQ0FBc0IsQ0FBQTtJQUN0QixxQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBTFcsVUFBVSxLQUFWLFVBQVUsUUFLckI7QUFFRCxNQUFNLHNCQUFzQixHQUErQjtJQUN6RCxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFDdkIsZ0ZBQWdGO0lBQ2xGLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUN2QiwrRUFBK0U7SUFDakYsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQ25CLGdHQUFnRztJQUNsRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFDcEIsNkZBQTZGO0NBQ2hHLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FDekQsd0JBQXlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFrQjtLQUNoRSxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtJQUNsQixPQUFPLElBQUksVUFBVSxNQUFNLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7QUFDbkUsQ0FBQyxDQUFDO0tBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2pCLENBQUM7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3pDLE9BQU8sRUFBRSxDQUFDLENB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Z0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLE1BQU0sRUFBRSxDQUFDO1NBQ04sTUFBTSxFQUFFO1NBQ1IsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUNQLHFHQUFxRyxDQUN0RztJQUNILFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQzlDLG1MQUFtTCxDQUNwTDtJQUNELGFBQWEsRUFBRSxDQUFDO1NBQ2IsT0FBTyxFQUFFO1NBQ1QsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUNQLHNGQUFzRixDQUN2RjtJQUNILEtBQUssRUFBRSxDQUFDO1NBQ0wsTUFBTSxFQUFFO1NBQ1IsR0FBRyxFQUFFO1NBQ0wsUUFBUSxFQUFFO1NBQ1YsR0FBRyxDQUFDLEVBQUUsQ0FBQztTQUNQLFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FBQyw2Q0FBNkMsQ0FBQztJQUMxRCxTQUFTLEVBQUUsQ0FBQztTQUNULE1BQU0sRUFBRTtTQUNSLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDTixHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ04sUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUFDLDJFQUEyRSxDQUFDO0NBQ3pGLENBQUMsQ0FBQztBQUdIOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEMsUUFBUSxFQUFFLDRCQUE0QixDQUFDLFFBQVEsQ0FBQywrQkFBK0IsQ0FBQztJQUNoRixVQUFVLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLHlDQUF5QyxDQUFDO0lBQ2hGLEtBQUssRUFBRSxDQUFDO1NBQ0wsTUFBTSxFQUFFO1NBQ1IsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUNQLCtHQUErRyxDQUNoSDtDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogV2lyZS1mb3JtYXQgdHlwZXMgZm9yIHRoZSBtb2RlbCB0b29sa2l0OiB0aGUgbW9kZWwgY2xhc3MgdGF4b25vbXksXG4gKiB0aGUgRm91bmRhdGlvbiBNb2RlbCBBUEkgc2NvcmUgcHJvZmlsZSwgdGhlIG1pbmltYWwgc2VydmluZy1lbmRwb2ludFxuICogZGVzY3JpcHRvciwgYW5kIHRoZSBtb2RlbC1sb29rdXAgcmVxdWVzdCAvIHJhbmtlZC1yZXN1bHQgY29udHJhY3QuXG4gKiBQdXJlIHR5cGVzIGFuZCB6b2Qgc2NoZW1hcyAtIG5vIE5vZGUtb25seSBpbXBvcnRzIC0gc28gYSBicm93c2VyXG4gKiBjbGllbnQgKG9yIGFuIGFnZW50IHRvb2wncyBgaW5wdXRTY2hlbWFgKSBjYW4gdmFsaWRhdGUgYSBsb29rdXBcbiAqIHJlcXVlc3QgYW5kIHR5cGUgYSByYW5rZWQgcmVzcG9uc2Ugd2l0aG91dCBkcmFnZ2luZyBpbiBzZXJ2ZXJcbiAqIGRlcGVuZGVuY2llcy5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuLyoqXG4gKiBDbGFzcyBvZiBhIERhdGFicmlja3MgTW9kZWwgU2VydmluZyBlbmRwb2ludCAtIGl0cyBtb2RhbGl0eSBwbHVzLFxuICogZm9yIGNoYXQgbW9kZWxzLCBhIGNhcGFiaWxpdHkgYmFuZC4gQ2hhdCBlbmRwb2ludHMgc3BsaXQgYnkgbWVhc3VyZWRcbiAqIGBxdWFsaXR5YCBpbnRvIGEgdGhyZWUtcnVuZyBsYWRkZXI7IGVtYmVkZGluZ3MgYXJlIGEgc2VwYXJhdGVcbiAqIG1vZGFsaXR5LCBub3QgYSBydW5nIG9uIHRoYXQgbGFkZGVyLlxuICpcbiAqIFN0cmluZyBlbnVtIHNvIHRoZSB2YWx1ZSBpcyB0aGUgc2x1ZyB1c2VkIGluIGNhY2hlIGtleXMsIGxvZ3MsIHF1ZXJ5XG4gKiBzdHJpbmdzLCBhbmQgc2VyaWFsaXplZCBjb25maWdzIC0gYW5kIGlzIHdoYXQgYSBjbGllbnQgc2VuZHMgdG9cbiAqIHJlcXVlc3QgYSBjbGFzcy5cbiAqL1xuZXhwb3J0IGVudW0gTW9kZWxDbGFzcyB7XG4gIENoYXRUaGlua2luZyA9IFwiY2hhdC10aGlua2luZ1wiLFxuICBDaGF0QmFsYW5jZWQgPSBcImNoYXQtYmFsYW5jZWRcIixcbiAgQ2hhdEZhc3QgPSBcImNoYXQtZmFzdFwiLFxuICBFbWJlZGRpbmcgPSBcImVtYmVkZGluZ1wiLFxufVxuXG5jb25zdCBNb2RlbENsYXNzRGVzY3JpcHRpb25zOiBSZWNvcmQ8TW9kZWxDbGFzcywgc3RyaW5nPiA9IHtcbiAgW01vZGVsQ2xhc3MuQ2hhdFRoaW5raW5nXTpcbiAgICBcIk1vc3QgY2FwYWJsZSByZWFzb25pbmcgZm9yIGhhcmQsIG11bHRpLXN0ZXAgdGFza3M7IHNsb3dlc3QgYW5kIG1vc3QgZXhwZW5zaXZlLlwiLFxuICBbTW9kZWxDbGFzcy5DaGF0QmFsYW5jZWRdOlxuICAgIFwiR29vZCBkZWZhdWx0IGZvciBtb3N0IGNoYXQgYW5kIGFnZW50IHdvcms7IGJhbGFuY2VzIHF1YWxpdHksIHNwZWVkLCBhbmQgY29zdC5cIixcbiAgW01vZGVsQ2xhc3MuQ2hhdEZhc3RdOlxuICAgIFwiRmFzdGVzdCBhbmQgY2hlYXBlc3Q7IGJlc3QgZm9yIHNpbXBsZSB0YXNrcyBsaWtlIGNsYXNzaWZpY2F0aW9uLCByb3V0aW5nLCBhbmQgc2hvcnQgc3VtbWFyaWVzLlwiLFxuICBbTW9kZWxDbGFzcy5FbWJlZGRpbmddOlxuICAgIFwiUHJvZHVjZXMgdGV4dCBlbWJlZGRpbmdzICh2ZWN0b3JzKSwgbm90IGNoYXQgcmVwbGllczsgbm90IGludGVyY2hhbmdlYWJsZSB3aXRoIGNoYXQgbW9kZWxzLlwiLFxufTtcblxuZXhwb3J0IGNvbnN0IE1vZGVsQ2xhc3NTY2hlbWEgPSB6LmVudW0oTW9kZWxDbGFzcykuZGVzY3JpYmUoXG4gIGBFbmRwb2ludCBjbGFzcyBzbHVnOiAkeyhPYmplY3QudmFsdWVzKE1vZGVsQ2xhc3MpIGFzIE1vZGVsQ2xhc3NbXSlcbiAgICAubWFwKChtb2RlbENsYXNzKSA9PiB7XG4gICAgICByZXR1cm4gYCcke21vZGVsQ2xhc3N9JyAoJHtNb2RlbENsYXNzRGVzY3JpcHRpb25zW21vZGVsQ2xhc3NdfSlgO1xuICAgIH0pXG4gICAgLmpvaW4oXCIsIFwiKX0uYCxcbik7XG5cbi8qKlxuICogRm91bmRhdGlvbiBNb2RlbCBBUEkgcXVhbGl0eSAvIHNwZWVkIC8gY29zdCBzY29yZXMgRGF0YWJyaWNrc1xuICogcHVibGlzaGVzIHBlciBwYXktcGVyLXRva2VuIGVuZHBvaW50ICh0aGUgYmFycyBzaG93biBpbiB0aGUgQUlcbiAqIFBsYXlncm91bmQpLiBTdXJmYWNlZCBmcm9tIHRoZSBzZXJ2aW5nIGxpc3QgdW5kZXJcbiAqIGBjb25maWcuc2VydmVkX2VudGl0aWVzW10uZm91bmRhdGlvbl9tb2RlbC5haV9nYXRld2F5X21vZGVsX3Byb2ZpbGVgXG4gKiBzbyB0aGUgY2xhc3MgY2xhc3NpZmllciBjYW4gcmFuayBtb2RlbHMgZnJvbSBsaXZlLCB3b3Jrc3BhY2UtbG9jYWxcbiAqIG51bWJlcnMgaW5zdGVhZCBvZiBhIGhhbmQtbWFpbnRhaW5lZCB0YWJsZS4gU2NhbGVzIGFyZSByZWxhdGl2ZSBhbmRcbiAqIHVuaXRsZXNzOyBhbGwgYXhlcyBhcmUgYWJzZW50IGZvciBjdXN0b20gb3IgYnJhbmQtbmV3IGVuZHBvaW50cyB0aGF0XG4gKiBoYXZlIG5vIHByb2ZpbGUgeWV0LlxuICovXG5leHBvcnQgY29uc3QgTW9kZWxQcm9maWxlU2NoZW1hID0gei5vYmplY3Qoe1xuICBxdWFsaXR5OiB6Lm51bWJlcigpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJSZWxhdGl2ZSBxdWFsaXR5IHNjb3JlOyBoaWdoZXIgaXMgYmV0dGVyLlwiKSxcbiAgc3BlZWQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKS5kZXNjcmliZShcIlJlbGF0aXZlIHRocm91Z2hwdXQgc2NvcmU7IGhpZ2hlciBpcyBmYXN0ZXIuXCIpLFxuICBjb3N0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJSZWxhdGl2ZSBwcmljZSBzY29yZTsgbG93ZXIgaXMgY2hlYXBlci5cIiksXG59KTtcbmV4cG9ydCB0eXBlIE1vZGVsUHJvZmlsZSA9IHouaW5mZXI8dHlwZW9mIE1vZGVsUHJvZmlsZVNjaGVtYT47XG5cbi8qKiBSZWFzb25pbmcgZWZmb3J0IGFjY2VwdGVkIGJ5IGEgRGF0YWJyaWNrcyBtb2RlbCBlbmRwb2ludC4gKi9cbmV4cG9ydCBlbnVtIFJlYXNvbmluZ0VmZm9ydCB7XG4gIE5vbmUgPSBcIm5vbmVcIixcbiAgTWluaW1hbCA9IFwibWluaW1hbFwiLFxuICBMb3cgPSBcImxvd1wiLFxuICBNZWRpdW0gPSBcIm1lZGl1bVwiLFxuICBIaWdoID0gXCJoaWdoXCIsXG4gIFhoaWdoID0gXCJ4aGlnaFwiLFxuICBNYXggPSBcIm1heFwiLFxufVxuXG5leHBvcnQgY29uc3QgUmVhc29uaW5nRWZmb3J0U2NoZW1hID0gei5lbnVtKFJlYXNvbmluZ0VmZm9ydCk7XG5cbi8qKiBMaWZlY3ljbGUgZmxhZ3MgYXNzb2NpYXRlZCB3aXRoIG9uZSBkaXNjb3ZlcmVkIG1vZGVsLiAqL1xuZXhwb3J0IGNvbnN0IE1vZGVsU3RhdHVzU2NoZW1hID0gei5vYmplY3Qoe1xuICBkZXByZWNhdGVkOiB6LmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbn0pO1xuZXhwb3J0IHR5cGUgTW9kZWxTdGF0dXMgPSB6LmluZmVyPHR5cGVvZiBNb2RlbFN0YXR1c1NjaGVtYT47XG5cbi8qKlxuICogTWluaW1hbCBkZXNjcmlwdG9yIGZvciBhIERhdGFicmlja3MgTW9kZWwgU2VydmluZyBlbmRwb2ludCAtIGFcbiAqIHN0YWJsZSBzdWJzZXQgb2YgdGhlIFNESyB0eXBlIHNvIGNhY2hlIGhpdHMgYW5kIGAvbW9kZWxzYCByZXNwb25zZXNcbiAqIG5ldmVyIGV4cG9zZSBTREsgaW50ZXJuYWxzLlxuICovXG5leHBvcnQgY29uc3QgU2VydmluZ0VuZHBvaW50U3VtbWFyeVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgbmFtZTogelxuICAgIC5zdHJpbmcoKVxuICAgIC5kZXNjcmliZShcbiAgICAgIFwiRW5kcG9pbnQgbmFtZSBhcyBsaXN0ZWQgYnkgdGhlIE1vZGVsIFNlcnZpbmcgUkVTVCBBUEk7IHRoZSBpZCB1c2VkIHRvIGludm9rZSB0aGUgbW9kZWwuXCIsXG4gICAgKSxcbiAgZGlzcGxheU5hbWU6IHpcbiAgICAuc3RyaW5nKClcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcbiAgICAgIFwiSHVtYW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBlbmRwb2ludDogYSBEYXRhYnJpY2tzLXByb3ZpZGVkIG5hbWUgd2hlbiBwcmVzZW50IChhIGRpc3BsYXktbmFtZSB0YWcgb3IgZXh0ZXJuYWwtbW9kZWwgbmFtZSksIGVsc2UgYSB0aXRsZS1jYXNlZCByZW5kZXJpbmcgb2YgYG5hbWVgIHdpdGggdmVuZG9yIHByZWZpeGVzIHN0cmlwcGVkLiBgbmFtZWAgcmVtYWlucyB0aGUgaW52b2tlIGlkLlwiLFxuICAgICksXG4gIHRhc2s6IHouc3RyaW5nKCkub3B0aW9uYWwoKS5kZXNjcmliZShcIlRhc2sgaGludCwgZS5nLiAnbGxtL3YxL2NoYXQnIG9yICdsbG0vdjEvZW1iZWRkaW5ncycuXCIpLFxuICBzdGF0ZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiRGVwbG95bWVudCBzdGF0ZSwgZS5nLiByZWFkeSwgdXBkYXRpbmcsIG9yIGZhaWxlZC5cIiksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJGcmVlLWZvcm0gZW5kcG9pbnQgZGVzY3JpcHRpb247IGluZm9ybWF0aW9uYWwuXCIpLFxuICBzdXBwb3J0c1Rvb2xzOiB6XG4gICAgLmJvb2xlYW4oKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgXCJXaGV0aGVyIHRoaXMgZW5kcG9pbnQgc3VwcG9ydHMgYSBjb21wbGV0ZSBmdW5jdGlvbi10b29sIHJvdW5kLXRyaXAgKGNhbGwgcGx1cyBmdW5jdGlvbl9jYWxsX291dHB1dCByZXBsYXkpLiBEZXJpdmVkIGZyb20gdmVyaWZpZWQgcHJvdmlkZXItZmFtaWx5IHBvbGljeSB3aGVuIERhdGFicmlja3MgZXhwb3NlcyBubyBjYXBhYmlsaXR5IGF0dHJpYnV0ZS5cIixcbiAgICApLFxuICBwcm9maWxlOiBNb2RlbFByb2ZpbGVTY2hlbWEub3B0aW9uYWwoKS5kZXNjcmliZShcbiAgICBcIkZvdW5kYXRpb24gTW9kZWwgQVBJIHF1YWxpdHkvc3BlZWQvY29zdCBzY29yZXMgd2hlbiB0aGUgZW5kcG9pbnQgaXMgYSBzY29yZWQgcGF5LXBlci10b2tlbiBtb2RlbDsgYWJzZW50IG90aGVyd2lzZS5cIixcbiAgKSxcbiAgY2xhc3M6IE1vZGVsQ2xhc3NTY2hlbWEub3B0aW9uYWwoKS5kZXNjcmliZShcbiAgICBcIkNsYXNzIHRoZSBlbmRwb2ludCB3YXMgY2xhc3NpZmllZCBpbnRvOyBhYnNlbnQgd2hlbiB0aGUgY2xhc3NpZmllciBkb2Vzbid0IHJlY29nbml6ZSBpdC5cIixcbiAgKSxcbiAgc2VydmljZU5hbWVzOiB6XG4gICAgLnJlY29yZCh6LnN0cmluZygpLCB6LnN0cmluZygpKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFwiUHJvdmlkZXItc3BlY2lmaWMgbW9kZWwgc2VydmljZSBuYW1lcyBkZXJpdmVkIGZyb20gRGF0YWJyaWNrcyBtZXRhZGF0YS5cIiksXG4gIG1vZGVsU2VydmljZU5hbWU6IHpcbiAgICAuc3RyaW5nKClcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcIlByZWZlcnJlZCBmaXJzdC1wYXJ0eSBtb2RlbCBzZXJ2aWNlIG5hbWUgZm9yIERhdGFicmlja3MgQUkgR2F0ZXdheSBjYWxscy5cIiksXG4gIHJlYXNvbmluZ0VmZm9ydHM6IHpcbiAgICAuYXJyYXkoUmVhc29uaW5nRWZmb3J0U2NoZW1hKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFwiUmVhc29uaW5nIGVmZm9ydCBsZXZlbHMgYWNjZXB0ZWQgYnkgdGhlIGVuZHBvaW50LlwiKSxcbiAgc3RhdHVzOiBNb2RlbFN0YXR1c1NjaGVtYS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiTGlmZWN5Y2xlIHN0YXR1cyBkZXJpdmVkIGZyb20gbW9kZWwgbWV0YWRhdGEuXCIpLFxuICBkaW1lbnNpb246IHpcbiAgICAubnVtYmVyKClcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcbiAgICAgIFwiRW1iZWRkaW5nIHZlY3RvciBsZW5ndGgsIG1lYXN1cmVkIGJ5IGEgYmVzdC1lZmZvcnQgc2VydmVyLXNpZGUgcGluZy4gT25seSBzZXQgZm9yIGVtYmVkZGluZyBlbmRwb2ludHMsIGFuZCBvbmx5IHdoZW4gdGhlIHByb2JlIHN1Y2NlZWRlZC5cIixcbiAgICApLFxufSk7XG5leHBvcnQgdHlwZSBTZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5ID0gei5pbmZlcjx0eXBlb2YgU2VydmluZ0VuZHBvaW50U3VtbWFyeVNjaGVtYT47XG5cbi8qKlxuICogQSBtb2RlbC1sb29rdXAgcmVxdWVzdDogc2VhcmNoIHN0cmluZywgY2FwYWJpbGl0eSBjZWlsaW5nLCBib3RoLCBvclxuICogbm90aGluZy4gVGhpcyBpcyB0aGUgY2FsbGVyLWZhY2luZyBxdWVyeSB0aGUgYEBkYngtdG9vbHMvbW9kZWxgXG4gKiByYW5rZXIgcmVhZHMgLSBzaGFwZWQgYXMgYSB6b2Qgc2NoZW1hICh3aXRoIHBlci1maWVsZCBkZXNjcmlwdGlvbnMpXG4gKiBzbyBhbiBhZ2VudCB0b29sIGNhbiBhZG9wdCBpdCBkaXJlY3RseSBhcyBpdHMgYGlucHV0U2NoZW1hYCBhbmQgYVxuICogYnJvd3NlciBjbGllbnQgY2FuIHZhbGlkYXRlIGFyZ3MgYmVmb3JlIGNhbGxpbmcgdGhlIG1vZGVsIHNlcnZpY2UuXG4gKlxuICogRXZlcnkgZmllbGQgaXMgb3B0aW9uYWw6IGFuIGVtcHR5IHF1ZXJ5IHJhbmtzIHRoZSBsaXZlIGNhdGFsb2d1ZSBieVxuICogY2xhc3MgYWxvbmUuIFRoZSBcInRoaXMgY2xhc3MgYW5kIGJlbG93XCIgY2VpbGluZyBzZW1hbnRpY3MgYW5kIHRoZVxuICogbWF0Y2gtdGhlbi1jbGFzcyBvcmRlcmluZyBsaXZlIGluIHRoZSBzZXJ2aWNlLCBub3QgaGVyZSAtIHRoaXNcbiAqIHN1cmZhY2UgaXMgZGVjbGFyYXRpdmUuXG4gKi9cbmV4cG9ydCBjb25zdCBNb2RlbFF1ZXJ5U2NoZW1hID0gei5vYmplY3Qoe1xuICBzZWFyY2g6IHpcbiAgICAuc3RyaW5nKClcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcbiAgICAgIFwiTG9vc2UgbmFtZSBmdXp6eS1tYXRjaGVkIGFnYWluc3QgZW5kcG9pbnQgbmFtZXMsIGUuZy4gJ2NsYXVkZSBzb25uZXQnLiBPbWl0IHRvIHJhbmsgYnkgY2xhc3MgYWxvbmUuXCIsXG4gICAgKSxcbiAgbW9kZWxDbGFzczogTW9kZWxDbGFzc1NjaGVtYS5vcHRpb25hbCgpLmRlc2NyaWJlKFxuICAgIFwiQ2FwYWJpbGl0eSBjZWlsaW5nOiBhIGNoYXQgY2xhc3MgcmVzdHJpY3RzIHRvIHRoYXQgYmFuZCBhbmQgdGhlIGxlc3MtY2FwYWJsZSBjaGF0IGJhbmRzIGJlbG93IGl0OyAnZW1iZWRkaW5nJyByZXN0cmljdHMgdG8gZW1iZWRkaW5nIGVuZHBvaW50cy4gT21pdCB0byBjb25zaWRlciBldmVyeSBjaGF0IGJhbmQuXCIsXG4gICksXG4gIHJlcXVpcmVzVG9vbHM6IHpcbiAgICAuYm9vbGVhbigpXG4gICAgLm9wdGlvbmFsKClcbiAgICAuZGVzY3JpYmUoXG4gICAgICBcIldoZW4gdHJ1ZSwgY29uc2lkZXIgb25seSBlbmRwb2ludHMgdGhhdCBzdXBwb3J0IGEgY29tcGxldGUgZnVuY3Rpb24tdG9vbCByb3VuZC10cmlwLlwiLFxuICAgICksXG4gIGxpbWl0OiB6XG4gICAgLm51bWJlcigpXG4gICAgLmludCgpXG4gICAgLnBvc2l0aXZlKClcbiAgICAubWF4KDUwKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFwiTWF4aW11bSBudW1iZXIgb2YgcmFua2VkIHJlc3VsdHMgdG8gcmV0dXJuLlwiKSxcbiAgdGhyZXNob2xkOiB6XG4gICAgLm51bWJlcigpXG4gICAgLm1pbigwKVxuICAgIC5tYXgoMSlcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcIkZ1enp5LW1hdGNoIGRpc3RhbmNlIGN1dG9mZiAoMCA9IGV4YWN0LCAxID0gbWF0Y2ggYW55dGhpbmcpLiBEZWZhdWx0IDAuNC5cIiksXG59KTtcbmV4cG9ydCB0eXBlIE1vZGVsUXVlcnkgPSB6LmluZmVyPHR5cGVvZiBNb2RlbFF1ZXJ5U2NoZW1hPjtcblxuLyoqXG4gKiBPbmUgcmFua2VkIGxvb2t1cCByZXN1bHQuIEJhY2tzIGFuIGFnZW50IHRvb2wncyBgb3V0cHV0U2NoZW1hYCBhbmQgYVxuICogYC9tb2RlbHNgIHJhbmtlZCByZXNwb25zZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFJhbmtlZE1vZGVsU2NoZW1hID0gei5vYmplY3Qoe1xuICBlbmRwb2ludDogU2VydmluZ0VuZHBvaW50U3VtbWFyeVNjaGVtYS5kZXNjcmliZShcIlRoZSBtYXRjaGVkIHNlcnZpbmcgZW5kcG9pbnQuXCIpLFxuICBtb2RlbENsYXNzOiBNb2RlbENsYXNzU2NoZW1hLmRlc2NyaWJlKFwiQ2xhc3MgdGhlIGVuZHBvaW50IHdhcyBjbGFzc2lmaWVkIGludG8uXCIpLFxuICBzY29yZTogelxuICAgIC5udW1iZXIoKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgXCJGdXp6eS1tYXRjaCBkaXN0YW5jZSAoMCA9IGV4YWN0IC4uIDEgPSB3b3JzdCkgd2hlbiB0aGUgcXVlcnkgY2FycmllZCBhIHNlYXJjaDsgYWJzZW50IGZvciBjbGFzcy1vbmx5IHJhbmtpbmcuXCIsXG4gICAgKSxcbn0pO1xuZXhwb3J0IHR5cGUgUmFua2VkTW9kZWwgPSB6LmluZmVyPHR5cGVvZiBSYW5rZWRNb2RlbFNjaGVtYT47XG4iXX0=
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUVILE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEI7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxDQUFOLElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNwQiw0Q0FBOEIsQ0FBQTtJQUM5Qiw0Q0FBOEIsQ0FBQTtJQUM5QixvQ0FBc0IsQ0FBQTtJQUN0QixxQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBTFcsVUFBVSxLQUFWLFVBQVUsUUFLckI7QUFFRCxNQUFNLHNCQUFzQixHQUErQjtJQUN6RCxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFDdkIsZ0ZBQWdGO0lBQ2xGLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUN2QiwrRUFBK0U7SUFDakYsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQ25CLGdHQUFnRztJQUNsRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFDcEIsNkZBQTZGO0NBQ2hHLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FDekQsd0JBQXlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFrQjtLQUNoRSxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtJQUNsQixPQUFPLElBQUksVUFBVSxNQUFNLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7QUFDbkUsQ0FBQyxDQUFDO0tBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2pCLENBQUM7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3pDLE9BQU8sRUFBRSxDQUFDLENB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LENBQ3RHO0lBQ0gsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FDOUMsbUxBQW1MLENBQ3BMO0lBQ0QsYUFBYSxFQUFFLENBQUM7U0FDYixPQUFPLEVBQUU7U0FDVCxRQUFRLEVBQUU7U0FDVixRQUFRLENBQ1Asc0ZBQXNGLENBQ3ZGO0lBQ0gsS0FBSyxFQUFFLENBQUM7U0FDTCxNQUFNLEVBQUU7U0FDUixHQUFHLEVBQUU7U0FDTCxRQUFRLEVBQUU7U0FDVixHQUFHLENBQUMsRUFBRSxDQUFDO1NBQ1AsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUFDLDZDQUE2QyxDQUFDO0lBQzFELFNBQVMsRUFBRSxDQUFDO1NBQ1QsTUFBTSxFQUFFO1NBQ1IsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNOLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDTixRQUFRLEVBQUU7U0FDVixRQUFRLENBQUMsMkVBQTJFLENBQUM7Q0FDekYsQ0FBQyxDQUFDO0FBR0g7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN4QyxRQUFRLEVBQUUsNEJBQTRCLENBQUMsUUFBUSxDQUFDLCtCQUErQixDQUFDO0lBQ2hGLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMseUNBQXlDLENBQUM7SUFDaEYsS0FBSyxFQUFFLENBQUM7U0FDTCxNQUFNLEVBQUU7U0FDUixRQUFRLEVBQUU7U0FDVixRQUFRLENBQ1AsK0dBQStHLENBQ2hIO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBXaXJlLWZvcm1hdCB0eXBlcyBmb3IgdGhlIG1vZGVsIHRvb2xraXQ6IHRoZSBtb2RlbCBjbGFzcyB0YXhvbm9teSxcbiAqIHRoZSBGb3VuZGF0aW9uIE1vZGVsIEFQSSBzY29yZSBwcm9maWxlLCB0aGUgbWluaW1hbCBzZXJ2aW5nLWVuZHBvaW50XG4gKiBkZXNjcmlwdG9yLCBhbmQgdGhlIG1vZGVsLWxvb2t1cCByZXF1ZXN0IC8gcmFua2VkLXJlc3VsdCBjb250cmFjdC5cbiAqIFB1cmUgdHlwZXMgYW5kIHpvZCBzY2hlbWFzIC0gbm8gTm9kZS1vbmx5IGltcG9ydHMgLSBzbyBhIGJyb3dzZXJcbiAqIGNsaWVudCAob3IgYW4gYWdlbnQgdG9vbCdzIGBpbnB1dFNjaGVtYWApIGNhbiB2YWxpZGF0ZSBhIGxvb2t1cFxuICogcmVxdWVzdCBhbmQgdHlwZSBhIHJhbmtlZCByZXNwb25zZSB3aXRob3V0IGRyYWdnaW5nIGluIHNlcnZlclxuICogZGVwZW5kZW5jaWVzLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG4vKipcbiAqIENsYXNzIG9mIGEgRGF0YWJyaWNrcyBNb2RlbCBTZXJ2aW5nIGVuZHBvaW50IC0gaXRzIG1vZGFsaXR5IHBsdXMsXG4gKiBmb3IgY2hhdCBtb2RlbHMsIGEgY2FwYWJpbGl0eSBiYW5kLiBDaGF0IGVuZHBvaW50cyBzcGxpdCBieSBtZWFzdXJlZFxuICogYHF1YWxpdHlgIGludG8gYSB0aHJlZS1ydW5nIGxhZGRlcjsgZW1iZWRkaW5ncyBhcmUgYSBzZXBhcmF0ZVxuICogbW9kYWxpdHksIG5vdCBhIHJ1bmcgb24gdGhhdCBsYWRkZXIuXG4gKlxuICogU3RyaW5nIGVudW0gc28gdGhlIHZhbHVlIGlzIHRoZSBzbHVnIHVzZWQgaW4gY2FjaGUga2V5cywgbG9ncywgcXVlcnlcbiAqIHN0cmluZ3MsIGFuZCBzZXJpYWxpemVkIGNvbmZpZ3MgLSBhbmQgaXMgd2hhdCBhIGNsaWVudCBzZW5kcyB0b1xuICogcmVxdWVzdCBhIGNsYXNzLlxuICovXG5leHBvcnQgZW51bSBNb2RlbENsYXNzIHtcbiAgQ2hhdFRoaW5raW5nID0gXCJjaGF0LXRoaW5raW5nXCIsXG4gIENoYXRCYWxhbmNlZCA9IFwiY2hhdC1iYWxhbmNlZFwiLFxuICBDaGF0RmFzdCA9IFwiY2hhdC1mYXN0XCIsXG4gIEVtYmVkZGluZyA9IFwiZW1iZWRkaW5nXCIsXG59XG5cbmNvbnN0IE1vZGVsQ2xhc3NEZXNjcmlwdGlvbnM6IFJlY29yZDxNb2RlbENsYXNzLCBzdHJpbmc+ID0ge1xuICBbTW9kZWxDbGFzcy5DaGF0VGhpbmtpbmddOlxuICAgIFwiTW9zdCBjYXBhYmxlIHJlYXNvbmluZyBmb3IgaGFyZCwgbXVsdGktc3RlcCB0YXNrczsgc2xvd2VzdCBhbmQgbW9zdCBleHBlbnNpdmUuXCIsXG4gIFtNb2RlbENsYXNzLkNoYXRCYWxhbmNlZF06XG4gICAgXCJHb29kIGRlZmF1bHQgZm9yIG1vc3QgY2hhdCBhbmQgYWdlbnQgd29yazsgYmFsYW5jZXMgcXVhbGl0eSwgc3BlZWQsIGFuZCBjb3N0LlwiLFxuICBbTW9kZWxDbGFzcy5DaGF0RmFzdF06XG4gICAgXCJGYXN0ZXN0IGFuZCBjaGVhcGVzdDsgYmVzdCBmb3Igc2ltcGxlIHRhc2tzIGxpa2UgY2xhc3NpZmljYXRpb24sIHJvdXRpbmcsIGFuZCBzaG9ydCBzdW1tYXJpZXMuXCIsXG4gIFtNb2RlbENsYXNzLkVtYmVkZGluZ106XG4gICAgXCJQcm9kdWNlcyB0ZXh0IGVtYmVkZGluZ3MgKHZlY3RvcnMpLCBub3QgY2hhdCByZXBsaWVzOyBub3QgaW50ZXJjaGFuZ2VhYmxlIHdpdGggY2hhdCBtb2RlbHMuXCIsXG59O1xuXG5leHBvcnQgY29uc3QgTW9kZWxDbGFzc1NjaGVtYSA9IHouZW51bShNb2RlbENsYXNzKS5kZXNjcmliZShcbiAgYEVuZHBvaW50IGNsYXNzIHNsdWc6ICR7KE9iamVjdC52YWx1ZXMoTW9kZWxDbGFzcykgYXMgTW9kZWxDbGFzc1tdKVxuICAgIC5tYXAoKG1vZGVsQ2xhc3MpID0+IHtcbiAgICAgIHJldHVybiBgJyR7bW9kZWxDbGFzc30nICgke01vZGVsQ2xhc3NEZXNjcmlwdGlvbnNbbW9kZWxDbGFzc119KWA7XG4gICAgfSlcbiAgICAuam9pbihcIiwgXCIpfS5gLFxuKTtcblxuLyoqXG4gKiBGb3VuZGF0aW9uIE1vZGVsIEFQSSBxdWFsaXR5IC8gc3BlZWQgLyBjb3N0IHNjb3JlcyBEYXRhYnJpY2tzXG4gKiBwdWJsaXNoZXMgcGVyIHBheS1wZXItdG9rZW4gZW5kcG9pbnQgKHRoZSBiYXJzIHNob3duIGluIHRoZSBBSVxuICogUGxheWdyb3VuZCkuIFN1cmZhY2VkIGZyb20gdGhlIHNlcnZpbmcgbGlzdCB1bmRlclxuICogYGNvbmZpZy5zZXJ2ZWRfZW50aXRpZXNbXS5mb3VuZGF0aW9uX21vZGVsLmFpX2dhdGV3YXlfbW9kZWxfcHJvZmlsZWBcbiAqIHNvIHRoZSBjbGFzcyBjbGFzc2lmaWVyIGNhbiByYW5rIG1vZGVscyBmcm9tIGxpdmUsIHdvcmtzcGFjZS1sb2NhbFxuICogbnVtYmVycyBpbnN0ZWFkIG9mIGEgaGFuZC1tYWludGFpbmVkIHRhYmxlLiBTY2FsZXMgYXJlIHJlbGF0aXZlIGFuZFxuICogdW5pdGxlc3M7IGFsbCBheGVzIGFyZSBhYnNlbnQgZm9yIGN1c3RvbSBvciBicmFuZC1uZXcgZW5kcG9pbnRzIHRoYXRcbiAqIGhhdmUgbm8gcHJvZmlsZSB5ZXQuXG4gKi9cbmV4cG9ydCBjb25zdCBNb2RlbFByb2ZpbGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHF1YWxpdHk6IHoubnVtYmVyKCkub3B0aW9uYWwoKS5kZXNjcmliZShcIlJlbGF0aXZlIHF1YWxpdHkgc2NvcmU7IGhpZ2hlciBpcyBiZXR0ZXIuXCIpLFxuICBzcGVlZDogei5udW1iZXIoKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiUmVsYXRpdmUgdGhyb3VnaHB1dCBzY29yZTsgaGlnaGVyIGlzIGZhc3Rlci5cIiksXG4gIGNvc3Q6IHoubnVtYmVyKCkub3B0aW9uYWwoKS5kZXNjcmliZShcIlJlbGF0aXZlIHByaWNlIHNjb3JlOyBsb3dlciBpcyBjaGVhcGVyLlwiKSxcbn0pO1xuZXhwb3J0IHR5cGUgTW9kZWxQcm9maWxlID0gei5pbmZlcjx0eXBlb2YgTW9kZWxQcm9maWxlU2NoZW1hPjtcblxuLyoqIFByb3ZpZGVyIHdpcmUgdmFsdWUgYWNjZXB0ZWQgYXMgYSByZWFzb25pbmcgZWZmb3J0IGJ5IGEgZGlzY292ZXJlZCBtb2RlbC4gKi9cbmV4cG9ydCBjb25zdCBSZWFzb25pbmdFZmZvcnRTY2hlbWEgPSB6LnN0cmluZygpLm1pbigxKTtcbmV4cG9ydCB0eXBlIFJlYXNvbmluZ0VmZm9ydCA9IHouaW5mZXI8dHlwZW9mIFJlYXNvbmluZ0VmZm9ydFNjaGVtYT47XG5cbi8qKiBMaWZlY3ljbGUgZmxhZ3MgYXNzb2NpYXRlZCB3aXRoIG9uZSBkaXNjb3ZlcmVkIG1vZGVsLiAqL1xuZXhwb3J0IGNvbnN0IE1vZGVsU3RhdHVzU2NoZW1hID0gei5vYmplY3Qoe1xuICBkZXByZWNhdGVkOiB6LmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbn0pO1xuZXhwb3J0IHR5cGUgTW9kZWxTdGF0dXMgPSB6LmluZmVyPHR5cGVvZiBNb2RlbFN0YXR1c1NjaGVtYT47XG5cbi8qKlxuICogTWluaW1hbCBkZXNjcmlwdG9yIGZvciBhIERhdGFicmlja3MgTW9kZWwgU2VydmluZyBlbmRwb2ludCAtIGFcbiAqIHN0YWJsZSBzdWJzZXQgb2YgdGhlIFNESyB0eXBlIHNvIGNhY2hlIGhpdHMgYW5kIGAvbW9kZWxzYCByZXNwb25zZXNcbiAqIG5ldmVyIGV4cG9zZSBTREsgaW50ZXJuYWxzLlxuICovXG5leHBvcnQgY29uc3QgU2VydmluZ0VuZHBvaW50U3VtbWFyeVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgbmFtZTogelxuICAgIC5zdHJpbmcoKVxuICAgIC5kZXNjcmliZShcbiAgICAgIFwiRW5kcG9pbnQgbmFtZSBhcyBsaXN0ZWQgYnkgdGhlIE1vZGVsIFNlcnZpbmcgUkVTVCBBUEk7IHRoZSBpZCB1c2VkIHRvIGludm9rZSB0aGUgbW9kZWwuXCIsXG4gICAgKSxcbiAgZGlzcGxheU5hbWU6IHpcbiAgICAuc3RyaW5nKClcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcbiAgICAgIFwiSHVtYW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBlbmRwb2ludDogYSBEYXRhYnJpY2tzLXByb3ZpZGVkIG5hbWUgd2hlbiBwcmVzZW50IChhIGRpc3BsYXktbmFtZSB0YWcgb3IgZXh0ZXJuYWwtbW9kZWwgbmFtZSksIGVsc2UgYSB0aXRsZS1jYXNlZCByZW5kZXJpbmcgb2YgYG5hbWVgIHdpdGggdmVuZG9yIHByZWZpeGVzIHN0cmlwcGVkLiBgbmFtZWAgcmVtYWlucyB0aGUgaW52b2tlIGlkLlwiLFxuICAgICksXG4gIGZhbWlseTogelxuICAgIC5zdHJpbmcoKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgXCJOb3JtYWxpemVkIG1vZGVsIGZhbWlseSBwYXJzZWQgYnkgdGhlIFJ1c3QgbW9kZWwgcG9saWN5LCBzdWNoIGFzICdncHQnIG9yICdjbGF1ZGUnLlwiLFxuICAgICksXG4gIHRhc2s6IHouc3RyaW5nKCkub3B0aW9uYWwoKS5kZXNjcmliZShcIlRhc2sgaGludCwgZS5nLiAnbGxtL3YxL2NoYXQnIG9yICdsbG0vdjEvZW1iZWRkaW5ncycuXCIpLFxuICBzdGF0ZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiRGVwbG95bWVudCBzdGF0ZSwgZS5nLiByZWFkeSwgdXBkYXRpbmcsIG9yIGZhaWxlZC5cIiksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJGcmVlLWZvcm0gZW5kcG9pbnQgZGVzY3JpcHRpb247IGluZm9ybWF0aW9uYWwuXCIpLFxuICBzdXBwb3J0c1Rvb2xzOiB6XG4gICAgLmJvb2xlYW4oKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgXCJXaGV0aGVyIHRoaXMgZW5kcG9pbnQgc3VwcG9ydHMgYSBjb21wbGV0ZSBmdW5jdGlvbi10b29sIHJvdW5kLXRyaXAgKGNhbGwgcGx1cyBmdW5jdGlvbl9jYWxsX291dHB1dCByZXBsYXkpLiBEZXJpdmVkIGZyb20gdmVyaWZpZWQgcHJvdmlkZXItZmFtaWx5IHBvbGljeSB3aGVuIERhdGFicmlja3MgZXhwb3NlcyBubyBjYXBhYmlsaXR5IGF0dHJpYnV0ZS5cIixcbiAgICApLFxuICBwcm9maWxlOiBNb2RlbFByb2ZpbGVTY2hlbWEub3B0aW9uYWwoKS5kZXNjcmliZShcbiAgICBcIkZvdW5kYXRpb24gTW9kZWwgQVBJIHF1YWxpdHkvc3BlZWQvY29zdCBzY29yZXMgd2hlbiB0aGUgZW5kcG9pbnQgaXMgYSBzY29yZWQgcGF5LXBlci10b2tlbiBtb2RlbDsgYWJzZW50IG90aGVyd2lzZS5cIixcbiAgKSxcbiAgY2xhc3M6IE1vZGVsQ2xhc3NTY2hlbWEub3B0aW9uYWwoKS5kZXNjcmliZShcbiAgICBcIkNsYXNzIHRoZSBlbmRwb2ludCB3YXMgY2xhc3NpZmllZCBpbnRvOyBhYnNlbnQgd2hlbiB0aGUgY2xhc3NpZmllciBkb2Vzbid0IHJlY29nbml6ZSBpdC5cIixcbiAgKSxcbiAgc2VydmljZU5hbWVzOiB6XG4gICAgLnJlY29yZCh6LnN0cmluZygpLCB6LnN0cmluZygpKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFwiUHJvdmlkZXItc3BlY2lmaWMgbW9kZWwgc2VydmljZSBuYW1lcyBkZXJpdmVkIGZyb20gRGF0YWJyaWNrcyBtZXRhZGF0YS5cIiksXG4gIG1vZGVsU2VydmljZU5hbWU6IHpcbiAgICAuc3RyaW5nKClcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcIlByZWZlcnJlZCBmaXJzdC1wYXJ0eSBtb2RlbCBzZXJ2aWNlIG5hbWUgZm9yIERhdGFicmlja3MgQUkgR2F0ZXdheSBjYWxscy5cIiksXG4gIHJlYXNvbmluZ0VmZm9ydHM6IHpcbiAgICAuYXJyYXkoUmVhc29uaW5nRWZmb3J0U2NoZW1hKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFwiUmVhc29uaW5nIGVmZm9ydCBsZXZlbHMgYWNjZXB0ZWQgYnkgdGhlIGVuZHBvaW50LlwiKSxcbiAgc3RhdHVzOiBNb2RlbFN0YXR1c1NjaGVtYS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiTGlmZWN5Y2xlIHN0YXR1cyBkZXJpdmVkIGZyb20gbW9kZWwgbWV0YWRhdGEuXCIpLFxuICBkaW1lbnNpb246IHpcbiAgICAubnVtYmVyKClcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcbiAgICAgIFwiRW1iZWRkaW5nIHZlY3RvciBsZW5ndGgsIG1lYXN1cmVkIGJ5IGEgYmVzdC1lZmZvcnQgc2VydmVyLXNpZGUgcGluZy4gT25seSBzZXQgZm9yIGVtYmVkZGluZyBlbmRwb2ludHMsIGFuZCBvbmx5IHdoZW4gdGhlIHByb2JlIHN1Y2NlZWRlZC5cIixcbiAgICApLFxufSk7XG5leHBvcnQgdHlwZSBTZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5ID0gei5pbmZlcjx0eXBlb2YgU2VydmluZ0VuZHBvaW50U3VtbWFyeVNjaGVtYT47XG5cbi8qKlxuICogQSBtb2RlbC1sb29rdXAgcmVxdWVzdDogc2VhcmNoIHN0cmluZywgY2FwYWJpbGl0eSBjZWlsaW5nLCBib3RoLCBvclxuICogbm90aGluZy4gVGhpcyBpcyB0aGUgY2FsbGVyLWZhY2luZyBxdWVyeSB0aGUgYEBkYngtdG9vbHMvbW9kZWxgXG4gKiByYW5rZXIgcmVhZHMgLSBzaGFwZWQgYXMgYSB6b2Qgc2NoZW1hICh3aXRoIHBlci1maWVsZCBkZXNjcmlwdGlvbnMpXG4gKiBzbyBhbiBhZ2VudCB0b29sIGNhbiBhZG9wdCBpdCBkaXJlY3RseSBhcyBpdHMgYGlucHV0U2NoZW1hYCBhbmQgYVxuICogYnJvd3NlciBjbGllbnQgY2FuIHZhbGlkYXRlIGFyZ3MgYmVmb3JlIGNhbGxpbmcgdGhlIG1vZGVsIHNlcnZpY2UuXG4gKlxuICogRXZlcnkgZmllbGQgaXMgb3B0aW9uYWw6IGFuIGVtcHR5IHF1ZXJ5IHJhbmtzIHRoZSBsaXZlIGNhdGFsb2d1ZSBieVxuICogY2xhc3MgYWxvbmUuIFRoZSBcInRoaXMgY2xhc3MgYW5kIGJlbG93XCIgY2VpbGluZyBzZW1hbnRpY3MgYW5kIHRoZVxuICogbWF0Y2gtdGhlbi1jbGFzcyBvcmRlcmluZyBsaXZlIGluIHRoZSBzZXJ2aWNlLCBub3QgaGVyZSAtIHRoaXNcbiAqIHN1cmZhY2UgaXMgZGVjbGFyYXRpdmUuXG4gKi9cbmV4cG9ydCBjb25zdCBNb2RlbFF1ZXJ5U2NoZW1hID0gei5vYmplY3Qoe1xuICBzZWFyY2g6IHpcbiAgICAuc3RyaW5nKClcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcbiAgICAgIFwiTG9vc2UgbmFtZSBmdXp6eS1tYXRjaGVkIGFnYWluc3QgZW5kcG9pbnQgbmFtZXMsIGUuZy4gJ2NsYXVkZSBzb25uZXQnLiBPbWl0IHRvIHJhbmsgYnkgY2xhc3MgYWxvbmUuXCIsXG4gICAgKSxcbiAgbW9kZWxDbGFzczogTW9kZWxDbGFzc1NjaGVtYS5vcHRpb25hbCgpLmRlc2NyaWJlKFxuICAgIFwiQ2FwYWJpbGl0eSBjZWlsaW5nOiBhIGNoYXQgY2xhc3MgcmVzdHJpY3RzIHRvIHRoYXQgYmFuZCBhbmQgdGhlIGxlc3MtY2FwYWJsZSBjaGF0IGJhbmRzIGJlbG93IGl0OyAnZW1iZWRkaW5nJyByZXN0cmljdHMgdG8gZW1iZWRkaW5nIGVuZHBvaW50cy4gT21pdCB0byBjb25zaWRlciBldmVyeSBjaGF0IGJhbmQuXCIsXG4gICksXG4gIHJlcXVpcmVzVG9vbHM6IHpcbiAgICAuYm9vbGVhbigpXG4gICAgLm9wdGlvbmFsKClcbiAgICAuZGVzY3JpYmUoXG4gICAgICBcIldoZW4gdHJ1ZSwgY29uc2lkZXIgb25seSBlbmRwb2ludHMgdGhhdCBzdXBwb3J0IGEgY29tcGxldGUgZnVuY3Rpb24tdG9vbCByb3VuZC10cmlwLlwiLFxuICAgICksXG4gIGxpbWl0OiB6XG4gICAgLm51bWJlcigpXG4gICAgLmludCgpXG4gICAgLnBvc2l0aXZlKClcbiAgICAubWF4KDUwKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFwiTWF4aW11bSBudW1iZXIgb2YgcmFua2VkIHJlc3VsdHMgdG8gcmV0dXJuLlwiKSxcbiAgdGhyZXNob2xkOiB6XG4gICAgLm51bWJlcigpXG4gICAgLm1pbigwKVxuICAgIC5tYXgoMSlcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcIkZ1enp5LW1hdGNoIGRpc3RhbmNlIGN1dG9mZiAoMCA9IGV4YWN0LCAxID0gbWF0Y2ggYW55dGhpbmcpLiBEZWZhdWx0IDAuNC5cIiksXG59KTtcbmV4cG9ydCB0eXBlIE1vZGVsUXVlcnkgPSB6LmluZmVyPHR5cGVvZiBNb2RlbFF1ZXJ5U2NoZW1hPjtcblxuLyoqXG4gKiBPbmUgcmFua2VkIGxvb2t1cCByZXN1bHQuIEJhY2tzIGFuIGFnZW50IHRvb2wncyBgb3V0cHV0U2NoZW1hYCBhbmQgYVxuICogYC9tb2RlbHNgIHJhbmtlZCByZXNwb25zZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFJhbmtlZE1vZGVsU2NoZW1hID0gei5vYmplY3Qoe1xuICBlbmRwb2ludDogU2VydmluZ0VuZHBvaW50U3VtbWFyeVNjaGVtYS5kZXNjcmliZShcIlRoZSBtYXRjaGVkIHNlcnZpbmcgZW5kcG9pbnQuXCIpLFxuICBtb2RlbENsYXNzOiBNb2RlbENsYXNzU2NoZW1hLmRlc2NyaWJlKFwiQ2xhc3MgdGhlIGVuZHBvaW50IHdhcyBjbGFzc2lmaWVkIGludG8uXCIpLFxuICBzY29yZTogelxuICAgIC5udW1iZXIoKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgXCJGdXp6eS1tYXRjaCBkaXN0YW5jZSAoMCA9IGV4YWN0IC4uIDEgPSB3b3JzdCkgd2hlbiB0aGUgcXVlcnkgY2FycmllZCBhIHNlYXJjaDsgYWJzZW50IGZvciBjbGFzcy1vbmx5IHJhbmtpbmcuXCIsXG4gICAgKSxcbn0pO1xuZXhwb3J0IHR5cGUgUmFua2VkTW9kZWwgPSB6LmluZmVyPHR5cGVvZiBSYW5rZWRNb2RlbFNjaGVtYT47XG4iXX0=
|
package/package.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"typescript": "^5.9.3"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@dbx-tools/shared-core": "0.6.
|
|
27
|
+
"@dbx-tools/shared-core": "0.6.225",
|
|
28
28
|
"zod": "4.3.6"
|
|
29
29
|
},
|
|
30
30
|
"main": "./lib/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"./package.json": "./package.json"
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
|
-
"version": "0.6.
|
|
44
|
+
"version": "0.6.225",
|
|
45
45
|
"types": "./lib/index.d.ts",
|
|
46
46
|
"type": "module",
|
|
47
47
|
"exports": {
|
package/src/model.ts
CHANGED
|
@@ -65,18 +65,9 @@ export const ModelProfileSchema = z.object({
|
|
|
65
65
|
});
|
|
66
66
|
export type ModelProfile = z.infer<typeof ModelProfileSchema>;
|
|
67
67
|
|
|
68
|
-
/**
|
|
69
|
-
export
|
|
70
|
-
|
|
71
|
-
Minimal = "minimal",
|
|
72
|
-
Low = "low",
|
|
73
|
-
Medium = "medium",
|
|
74
|
-
High = "high",
|
|
75
|
-
Xhigh = "xhigh",
|
|
76
|
-
Max = "max",
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export const ReasoningEffortSchema = z.enum(ReasoningEffort);
|
|
68
|
+
/** Provider wire value accepted as a reasoning effort by a discovered model. */
|
|
69
|
+
export const ReasoningEffortSchema = z.string().min(1);
|
|
70
|
+
export type ReasoningEffort = z.infer<typeof ReasoningEffortSchema>;
|
|
80
71
|
|
|
81
72
|
/** Lifecycle flags associated with one discovered model. */
|
|
82
73
|
export const ModelStatusSchema = z.object({
|
|
@@ -101,6 +92,12 @@ export const ServingEndpointSummarySchema = z.object({
|
|
|
101
92
|
.describe(
|
|
102
93
|
"Human-readable label for the endpoint: a Databricks-provided name when present (a display-name tag or external-model name), else a title-cased rendering of `name` with vendor prefixes stripped. `name` remains the invoke id.",
|
|
103
94
|
),
|
|
95
|
+
family: z
|
|
96
|
+
.string()
|
|
97
|
+
.optional()
|
|
98
|
+
.describe(
|
|
99
|
+
"Normalized model family parsed by the Rust model policy, such as 'gpt' or 'claude'.",
|
|
100
|
+
),
|
|
104
101
|
task: z.string().optional().describe("Task hint, e.g. 'llm/v1/chat' or 'llm/v1/embeddings'."),
|
|
105
102
|
state: z.string().optional().describe("Deployment state, e.g. ready, updating, or failed."),
|
|
106
103
|
description: z.string().optional().describe("Free-form endpoint description; informational."),
|