@dbx-tools/shared-generator 0.9.204 → 0.9.205

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.ts CHANGED
@@ -3,7 +3,7 @@
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-generator";
6
- export const PACKAGE_VERSION = "0.9.204";
6
+ export const PACKAGE_VERSION = "0.9.205";
7
7
  export * as brand from "./src/brand.ts";
8
8
  export * as kpi from "./src/kpi.ts";
9
9
  export * as workflow from "./src/workflow.ts";
package/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export declare const PACKAGE_IDENTIFIER = "@dbx-tools/shared-generator";
2
- export declare const PACKAGE_VERSION = "0.9.204";
2
+ export declare const PACKAGE_VERSION = "0.9.205";
3
3
  export * as brand from "./src/brand.ts";
4
4
  export * as kpi from "./src/kpi.ts";
5
5
  export * as workflow from "./src/workflow.ts";
package/lib/index.js CHANGED
@@ -2,11 +2,11 @@
2
2
  // Regenerated from the exporting modules in ./src.
3
3
  // Hand edits are overwritten on the next watch; this file is read-only.
4
4
  export const PACKAGE_IDENTIFIER = "@dbx-tools/shared-generator";
5
- export const PACKAGE_VERSION = "0.9.204";
5
+ export const PACKAGE_VERSION = "0.9.205";
6
6
  export * as brand from "./src/brand.js";
7
7
  export * as kpi from "./src/kpi.js";
8
8
  export * as workflow from "./src/workflow.js";
9
9
  export { GENERATOR_PLUGIN_NAME, GENERATOR_BASE_PATH, GENERATOR_ROUTES, BrandGenerationRequestSchema, BrandPackageSourceSchema, BrandVisualImageSchema, BrandVisualReferenceSchema, BrandPackageSchema, BrandHistoryEntrySchema, BrandHistoryResponseSchema, BrandGenerationStageSchema, BrandGenerationProgressEventSchema, BrandGenerationResultEventSchema, BrandGenerationErrorEventSchema, BrandGenerationEventSchema, GeneratorClientConfigSchema, brandGenerateUrl, brandHistoryUrl, GeneratorPluginClient } from "./src/brand.js";
10
10
  export { ResearchedKpiSchema, KpiResearchRequestSchema, KpiResearchResultSchema } from "./src/kpi.js";
11
11
  export { PresentationModeSchema, GeneratorRequestSchema, GeneratedColumnSchema, GeneratedMetricSchema, GeneratorPlanSchema, PlanGeneratorDataRequestSchema, GeneratedSchemaSchema, ProvisionGeneratorSchemaRequestSchema, MaterializeGeneratorDataRequestSchema, MaterializedGeneratorDataSchema, CreateGeneratorPresentationRequestSchema, GeneratedDashboardSchema, GeneratedGenieSpaceSchema, GeneratedAssetsSchema } from "./src/workflow.js";
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyw2QkFBNkIsQ0FBQztBQUNoRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLEdBQUcsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxLQUFLLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQTRCLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLEVBQUUsa0NBQWtDLEVBQUUsZ0NBQWdDLEVBQUUsK0JBQStCLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFemdCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsOEJBQThCLEVBQUUscUJBQXFCLEVBQUUscUNBQXFDLEVBQUUscUNBQXFDLEVBQUUsK0JBQStCLEVBQUUsd0NBQXdDLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBwcm9qZW4gd2F0Y2ggLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gdGhlIGV4cG9ydGluZyBtb2R1bGVzIGluIC4vc3JjLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gb24gdGhlIG5leHQgd2F0Y2g7IHRoaXMgZmlsZSBpcyByZWFkLW9ubHkuXG5cbmV4cG9ydCBjb25zdCBQQUNLQUdFX0lERU5USUZJRVIgPSBcIkBkYngtdG9vbHMvc2hhcmVkLWdlbmVyYXRvclwiO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9IFwiMC45LjIwNFwiO1xuZXhwb3J0ICogYXMgYnJhbmQgZnJvbSBcIi4vc3JjL2JyYW5kLnRzXCI7XG5leHBvcnQgKiBhcyBrcGkgZnJvbSBcIi4vc3JjL2twaS50c1wiO1xuZXhwb3J0ICogYXMgd29ya2Zsb3cgZnJvbSBcIi4vc3JjL3dvcmtmbG93LnRzXCI7XG5leHBvcnQgeyBHRU5FUkFUT1JfUExVR0lOX05BTUUsIEdFTkVSQVRPUl9CQVNFX1BBVEgsIEdFTkVSQVRPUl9ST1VURVMsIEJyYW5kR2VuZXJhdGlvblJlcXVlc3RTY2hlbWEsIEJyYW5kUGFja2FnZVNvdXJjZVNjaGVtYSwgQnJhbmRWaXN1YWxJbWFnZVNjaGVtYSwgQnJhbmRWaXN1YWxSZWZlcmVuY2VTY2hlbWEsIEJyYW5kUGFja2FnZVNjaGVtYSwgQnJhbmRIaXN0b3J5RW50cnlTY2hlbWEsIEJyYW5kSGlzdG9yeVJlc3BvbnNlU2NoZW1hLCBCcmFuZEdlbmVyYXRpb25TdGFnZVNjaGVtYSwgQnJhbmRHZW5lcmF0aW9uUHJvZ3Jlc3NFdmVudFNjaGVtYSwgQnJhbmRHZW5lcmF0aW9uUmVzdWx0RXZlbnRTY2hlbWEsIEJyYW5kR2VuZXJhdGlvbkVycm9yRXZlbnRTY2hlbWEsIEJyYW5kR2VuZXJhdGlvbkV2ZW50U2NoZW1hLCBHZW5lcmF0b3JDbGllbnRDb25maWdTY2hlbWEsIGJyYW5kR2VuZXJhdGVVcmwsIGJyYW5kSGlzdG9yeVVybCwgR2VuZXJhdG9yUGx1Z2luQ2xpZW50IH0gZnJvbSBcIi4vc3JjL2JyYW5kLnRzXCI7XG5leHBvcnQgdHlwZSB7IEJyYW5kR2VuZXJhdGlvblJlcXVlc3QsIEJyYW5kUGFja2FnZVNvdXJjZSwgQnJhbmRWaXN1YWxJbWFnZSwgQnJhbmRWaXN1YWxSZWZlcmVuY2UsIEJyYW5kUGFja2FnZSwgQnJhbmRIaXN0b3J5RW50cnksIEJyYW5kSGlzdG9yeVJlc3BvbnNlLCBCcmFuZEdlbmVyYXRpb25TdGFnZSwgQnJhbmRHZW5lcmF0aW9uUHJvZ3Jlc3NFdmVudCwgQnJhbmRHZW5lcmF0aW9uUmVzdWx0RXZlbnQsIEJyYW5kR2VuZXJhdGlvbkVycm9yRXZlbnQsIEJyYW5kR2VuZXJhdGlvbkV2ZW50LCBHZW5lcmF0b3JDbGllbnRDb25maWcsIEJyYW5kR2VuZXJhdGlvblN0cmVhbU9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvYnJhbmQudHNcIjtcbmV4cG9ydCB7IFJlc2VhcmNoZWRLcGlTY2hlbWEsIEtwaVJlc2VhcmNoUmVxdWVzdFNjaGVtYSwgS3BpUmVzZWFyY2hSZXN1bHRTY2hlbWEgfSBmcm9tIFwiLi9zcmMva3BpLnRzXCI7XG5leHBvcnQgdHlwZSB7IFJlc2VhcmNoZWRLcGksIEtwaVJlc2VhcmNoUmVxdWVzdCwgS3BpUmVzZWFyY2hSZXN1bHQgfSBmcm9tIFwiLi9zcmMva3BpLnRzXCI7XG5leHBvcnQgeyBQcmVzZW50YXRpb25Nb2RlU2NoZW1hLCBHZW5lcmF0b3JSZXF1ZXN0U2NoZW1hLCBHZW5lcmF0ZWRDb2x1bW5TY2hlbWEsIEdlbmVyYXRlZE1ldHJpY1NjaGVtYSwgR2VuZXJhdG9yUGxhblNjaGVtYSwgUGxhbkdlbmVyYXRvckRhdGFSZXF1ZXN0U2NoZW1hLCBHZW5lcmF0ZWRTY2hlbWFTY2hlbWEsIFByb3Zpc2lvbkdlbmVyYXRvclNjaGVtYVJlcXVlc3RTY2hlbWEsIE1hdGVyaWFsaXplR2VuZXJhdG9yRGF0YVJlcXVlc3RTY2hlbWEsIE1hdGVyaWFsaXplZEdlbmVyYXRvckRhdGFTY2hlbWEsIENyZWF0ZUdlbmVyYXRvclByZXNlbnRhdGlvblJlcXVlc3RTY2hlbWEsIEdlbmVyYXRlZERhc2hib2FyZFNjaGVtYSwgR2VuZXJhdGVkR2VuaWVTcGFjZVNjaGVtYSwgR2VuZXJhdGVkQXNzZXRzU2NoZW1hIH0gZnJvbSBcIi4vc3JjL3dvcmtmbG93LnRzXCI7XG5leHBvcnQgdHlwZSB7IFByZXNlbnRhdGlvbk1vZGUsIEdlbmVyYXRvclJlcXVlc3QsIEdlbmVyYXRlZENvbHVtbiwgR2VuZXJhdGVkTWV0cmljLCBHZW5lcmF0b3JQbGFuLCBQbGFuR2VuZXJhdG9yRGF0YVJlcXVlc3QsIEdlbmVyYXRlZFNjaGVtYSwgUHJvdmlzaW9uR2VuZXJhdG9yU2NoZW1hUmVxdWVzdCwgTWF0ZXJpYWxpemVHZW5lcmF0b3JEYXRhUmVxdWVzdCwgTWF0ZXJpYWxpemVkR2VuZXJhdG9yRGF0YSwgQ3JlYXRlR2VuZXJhdG9yUHJlc2VudGF0aW9uUmVxdWVzdCwgR2VuZXJhdGVkRGFzaGJvYXJkLCBHZW5lcmF0ZWRHZW5pZVNwYWNlLCBHZW5lcmF0ZWRBc3NldHMgfSBmcm9tIFwiLi9zcmMvd29ya2Zsb3cudHNcIjtcbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyw2QkFBNkIsQ0FBQztBQUNoRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLEdBQUcsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxLQUFLLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQTRCLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLEVBQUUsa0NBQWtDLEVBQUUsZ0NBQWdDLEVBQUUsK0JBQStCLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFemdCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsOEJBQThCLEVBQUUscUJBQXFCLEVBQUUscUNBQXFDLEVBQUUscUNBQXFDLEVBQUUsK0JBQStCLEVBQUUsd0NBQXdDLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBwcm9qZW4gd2F0Y2ggLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gdGhlIGV4cG9ydGluZyBtb2R1bGVzIGluIC4vc3JjLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gb24gdGhlIG5leHQgd2F0Y2g7IHRoaXMgZmlsZSBpcyByZWFkLW9ubHkuXG5cbmV4cG9ydCBjb25zdCBQQUNLQUdFX0lERU5USUZJRVIgPSBcIkBkYngtdG9vbHMvc2hhcmVkLWdlbmVyYXRvclwiO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9IFwiMC45LjIwNVwiO1xuZXhwb3J0ICogYXMgYnJhbmQgZnJvbSBcIi4vc3JjL2JyYW5kLnRzXCI7XG5leHBvcnQgKiBhcyBrcGkgZnJvbSBcIi4vc3JjL2twaS50c1wiO1xuZXhwb3J0ICogYXMgd29ya2Zsb3cgZnJvbSBcIi4vc3JjL3dvcmtmbG93LnRzXCI7XG5leHBvcnQgeyBHRU5FUkFUT1JfUExVR0lOX05BTUUsIEdFTkVSQVRPUl9CQVNFX1BBVEgsIEdFTkVSQVRPUl9ST1VURVMsIEJyYW5kR2VuZXJhdGlvblJlcXVlc3RTY2hlbWEsIEJyYW5kUGFja2FnZVNvdXJjZVNjaGVtYSwgQnJhbmRWaXN1YWxJbWFnZVNjaGVtYSwgQnJhbmRWaXN1YWxSZWZlcmVuY2VTY2hlbWEsIEJyYW5kUGFja2FnZVNjaGVtYSwgQnJhbmRIaXN0b3J5RW50cnlTY2hlbWEsIEJyYW5kSGlzdG9yeVJlc3BvbnNlU2NoZW1hLCBCcmFuZEdlbmVyYXRpb25TdGFnZVNjaGVtYSwgQnJhbmRHZW5lcmF0aW9uUHJvZ3Jlc3NFdmVudFNjaGVtYSwgQnJhbmRHZW5lcmF0aW9uUmVzdWx0RXZlbnRTY2hlbWEsIEJyYW5kR2VuZXJhdGlvbkVycm9yRXZlbnRTY2hlbWEsIEJyYW5kR2VuZXJhdGlvbkV2ZW50U2NoZW1hLCBHZW5lcmF0b3JDbGllbnRDb25maWdTY2hlbWEsIGJyYW5kR2VuZXJhdGVVcmwsIGJyYW5kSGlzdG9yeVVybCwgR2VuZXJhdG9yUGx1Z2luQ2xpZW50IH0gZnJvbSBcIi4vc3JjL2JyYW5kLnRzXCI7XG5leHBvcnQgdHlwZSB7IEJyYW5kR2VuZXJhdGlvblJlcXVlc3QsIEJyYW5kUGFja2FnZVNvdXJjZSwgQnJhbmRWaXN1YWxJbWFnZSwgQnJhbmRWaXN1YWxSZWZlcmVuY2UsIEJyYW5kUGFja2FnZSwgQnJhbmRIaXN0b3J5RW50cnksIEJyYW5kSGlzdG9yeVJlc3BvbnNlLCBCcmFuZEdlbmVyYXRpb25TdGFnZSwgQnJhbmRHZW5lcmF0aW9uUHJvZ3Jlc3NFdmVudCwgQnJhbmRHZW5lcmF0aW9uUmVzdWx0RXZlbnQsIEJyYW5kR2VuZXJhdGlvbkVycm9yRXZlbnQsIEJyYW5kR2VuZXJhdGlvbkV2ZW50LCBHZW5lcmF0b3JDbGllbnRDb25maWcsIEJyYW5kR2VuZXJhdGlvblN0cmVhbU9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvYnJhbmQudHNcIjtcbmV4cG9ydCB7IFJlc2VhcmNoZWRLcGlTY2hlbWEsIEtwaVJlc2VhcmNoUmVxdWVzdFNjaGVtYSwgS3BpUmVzZWFyY2hSZXN1bHRTY2hlbWEgfSBmcm9tIFwiLi9zcmMva3BpLnRzXCI7XG5leHBvcnQgdHlwZSB7IFJlc2VhcmNoZWRLcGksIEtwaVJlc2VhcmNoUmVxdWVzdCwgS3BpUmVzZWFyY2hSZXN1bHQgfSBmcm9tIFwiLi9zcmMva3BpLnRzXCI7XG5leHBvcnQgeyBQcmVzZW50YXRpb25Nb2RlU2NoZW1hLCBHZW5lcmF0b3JSZXF1ZXN0U2NoZW1hLCBHZW5lcmF0ZWRDb2x1bW5TY2hlbWEsIEdlbmVyYXRlZE1ldHJpY1NjaGVtYSwgR2VuZXJhdG9yUGxhblNjaGVtYSwgUGxhbkdlbmVyYXRvckRhdGFSZXF1ZXN0U2NoZW1hLCBHZW5lcmF0ZWRTY2hlbWFTY2hlbWEsIFByb3Zpc2lvbkdlbmVyYXRvclNjaGVtYVJlcXVlc3RTY2hlbWEsIE1hdGVyaWFsaXplR2VuZXJhdG9yRGF0YVJlcXVlc3RTY2hlbWEsIE1hdGVyaWFsaXplZEdlbmVyYXRvckRhdGFTY2hlbWEsIENyZWF0ZUdlbmVyYXRvclByZXNlbnRhdGlvblJlcXVlc3RTY2hlbWEsIEdlbmVyYXRlZERhc2hib2FyZFNjaGVtYSwgR2VuZXJhdGVkR2VuaWVTcGFjZVNjaGVtYSwgR2VuZXJhdGVkQXNzZXRzU2NoZW1hIH0gZnJvbSBcIi4vc3JjL3dvcmtmbG93LnRzXCI7XG5leHBvcnQgdHlwZSB7IFByZXNlbnRhdGlvbk1vZGUsIEdlbmVyYXRvclJlcXVlc3QsIEdlbmVyYXRlZENvbHVtbiwgR2VuZXJhdGVkTWV0cmljLCBHZW5lcmF0b3JQbGFuLCBQbGFuR2VuZXJhdG9yRGF0YVJlcXVlc3QsIEdlbmVyYXRlZFNjaGVtYSwgUHJvdmlzaW9uR2VuZXJhdG9yU2NoZW1hUmVxdWVzdCwgTWF0ZXJpYWxpemVHZW5lcmF0b3JEYXRhUmVxdWVzdCwgTWF0ZXJpYWxpemVkR2VuZXJhdG9yRGF0YSwgQ3JlYXRlR2VuZXJhdG9yUHJlc2VudGF0aW9uUmVxdWVzdCwgR2VuZXJhdGVkRGFzaGJvYXJkLCBHZW5lcmF0ZWRHZW5pZVNwYWNlLCBHZW5lcmF0ZWRBc3NldHMgfSBmcm9tIFwiLi9zcmMvd29ya2Zsb3cudHNcIjtcbiJdfQ==
@@ -5,26 +5,14 @@
5
5
  */
6
6
  import { z } from "zod";
7
7
  import { BrandPackageSchema } from "./brand.js";
8
- import { KpiResearchResultSchema, ResearchedKpiSchema } from "./kpi.js";
8
+ import { KpiResearchRequestSchema, KpiResearchResultSchema, ResearchedKpiSchema } from "./kpi.js";
9
9
  const nonBlankString = z.string().trim().min(1);
10
10
  const identifier = z.string().regex(/^[a-z][a-z0-9_]*$/, "Expected a lowercase SQL identifier.");
11
11
  /** Presentation created after generated data is validated. */
12
12
  export const PresentationModeSchema = z.enum(["dashboard", "genie"]);
13
13
  /** Complete input for the governed generator workflow. */
14
- export const GeneratorRequestSchema = z
15
- .object({
16
- company: nonBlankString.max(200).describe("Company or brand represented by the demo."),
17
- purpose: nonBlankString.max(200).describe("Short purpose used in schema and asset names."),
18
- queries: z
19
- .array(nonBlankString.max(500))
20
- .min(1)
21
- .max(10)
22
- .describe("Business questions that shape KPI research and generated data."),
23
- website: z
24
- .string()
25
- .url()
26
- .optional()
27
- .describe("Known company website for brand disambiguation."),
14
+ export const GeneratorRequestSchema = KpiResearchRequestSchema.extend({
15
+ website: z.string().url().optional().describe("Known company website for brand disambiguation."),
28
16
  presentation: PresentationModeSchema.default("dashboard").describe("Dashboard with automatic companion Genie, or standalone Genie without a dashboard."),
29
17
  rowCount: z
30
18
  .number()
@@ -237,4 +225,4 @@ export const GeneratedAssetsSchema = z
237
225
  }
238
226
  })
239
227
  .describe("Generated Databricks data and presentation assets.");
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDeEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4RSxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsc0NBQXNDLENBQUMsQ0FBQztBQUVqRyw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBS3JFLDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDO0tBQ3BDLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQywyQ0FBMkMsQ0FBQztJQUN0RixPQUFPLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsK0NBQStDLENBQUM7SUFDMUYsT0FBTyxFQUFFLENBQUM7U0FDUCxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM5QixHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ04sR0FBRyxDQUFDLEVBQUUsQ0FBQztTQUNQLFFBQVEsQ0FBQyxnRUFBZ0UsQ0FBQztJQUM3RSxP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RTtJQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUNwRSxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ1gsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsOERBQThEO1NBQ3hFLENBQUMsQ0FBQztJQUNMLENBQUM7QUFDSCxDQUFDLENBQUM7S0FDRCxRQUFRLENBQUMsb0RBQW9ELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQnJvd3Nlci1zYWZlIGNvbnRyYWN0cyBmb3IgZ2VuZXJhdGVkIERhdGFicmlja3MgZGVtbyBhc3NldHMuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBCcmFuZFBhY2thZ2VTY2hlbWEgfSBmcm9tIFwiLi9icmFuZC50c1wiO1xuaW1wb3J0IHsgS3BpUmVzZWFyY2hSZXN1bHRTY2hlbWEsIFJlc2VhcmNoZWRLcGlTY2hlbWEgfSBmcm9tIFwiLi9rcGkudHNcIjtcblxuY29uc3Qgbm9uQmxhbmtTdHJpbmcgPSB6LnN0cmluZygpLnRyaW0oKS5taW4oMSk7XG5jb25zdCBpZGVudGlmaWVyID0gei5zdHJpbmcoKS5yZWdleCgvXlthLXpdW2EtejAtOV9dKiQvLCBcIkV4cGVjdGVkIGEgbG93ZXJjYXNlIFNRTCBpZGVudGlmaWVyLlwiKTtcblxuLyoqIFByZXNlbnRhdGlvbiBjcmVhdGVkIGFmdGVyIGdlbmVyYXRlZCBkYXRhIGlzIHZhbGlkYXRlZC4gKi9cbmV4cG9ydCBjb25zdCBQcmVzZW50YXRpb25Nb2RlU2NoZW1hID0gei5lbnVtKFtcImRhc2hib2FyZFwiLCBcImdlbmllXCJdKTtcblxuLyoqIFByZXNlbnRhdGlvbiBtb2RlLiAqL1xuZXhwb3J0IHR5cGUgUHJlc2VudGF0aW9uTW9kZSA9IHouaW5mZXI8dHlwZW9mIFByZXNlbnRhdGlvbk1vZGVTY2hlbWE+O1xuXG4vKiogQ29tcGxldGUgaW5wdXQgZm9yIHRoZSBnb3Zlcm5lZCBnZW5lcmF0b3Igd29ya2Zsb3cuICovXG5leHBvcnQgY29uc3QgR2VuZXJhdG9yUmVxdWVzdFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgY29tcGFueTogbm9uQmxhbmtTdHJpbmcubWF4KDIwMCkuZGVzY3JpYmUoXCJDb21wYW55IG9yIGJyYW5kIHJlcHJlc2VudGVkIGJ5IHRoZSBkZW1vLlwiKSxcbiAgICBwdXJwb3NlOiBub25CbGFua1N0cmluZy5tYXgoMjAwKS5kZXNjcmliZShcIlNob3J0IHB1cnBvc2UgdXNlZCBpbiBzY2hlbWEgYW5kIGFzc2V0IG5hbWVzLlwiKSxcbiAgICBxdWVyaWVzOiB6XG4gICAgICAuYXJyYXkobm9uQmxhbmtTdHJpbmcubWF4KDUwMCkpXG4gICAgICAubWluKDEpXG4gICAgICAubWF4KDEwKVxuICAgICAgLmRlc2NyaWJlKFwiQnVzaW5lc3MgcXVlc3Rpb25zIHRoYXQgc2hhcGUgS1BJIHJlc2VhcmNoIGFuZCBnZW5lcmF0ZWQgZGF0YS5cIiksXG4gICAgd2Vic2l0ZTogelxuICAgICAgLnN0cmluZygpXG4gICAgICAudXJsKClcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJLbm93biBjb21wYW55IHdlYnNpdGUgZm9yIGJyYW5kIGRpc2FtYmlndWF0aW9uLlwiKSxcbiAgICBwcmVzZW50YXRpb246IFByZXNlbnRhdGlvbk1vZGVTY2hlbWEuZGVmYXVsdChcImRhc2hib2FyZFwiKS5kZXNjcmliZShcbiAgICAgIFwiRGFzaGJvYXJkIHdpdGggYXV0b21hdGljIGNvbXBhbmlvbiBHZW5pZSwgb3Igc3RhbmRhbG9uZSBHZW5pZSB3aXRob3V0IGEgZGFzaGJvYXJkLlwiLFxuICAgICksXG4gICAgcm93Q291bnQ6IHpcbiAgICAgIC5udW1iZXIoKVxuICAgICAgLmludCgpXG4gICAgICAubWluKDFfMDAwKVxuICAgICAgLm1heCgxMDBfMDAwKVxuICAgICAgLmRlZmF1bHQoNTBfMDAwKVxuICAgICAgLmRlc2NyaWJlKFwiUm93cyBnZW5lcmF0ZWQgaW4gdGhlIHByaW1hcnkgZmFjdCB0YWJsZS5cIiksXG4gIH0pXG4gIC5zdHJpY3QoKVxuICAuZGVzY3JpYmUoXCJSZXF1ZXN0IGZvciBhIHBlci11c2VyIERhdGFicmlja3MgZGVtbyBkYXRhIGVudmlyb25tZW50LlwiKTtcblxuLyoqIEdlbmVyYXRvciB3b3JrZmxvdyBpbnB1dCBhZnRlciBkZWZhdWx0cy4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyYXRvclJlcXVlc3QgPSB6Lm91dHB1dDx0eXBlb2YgR2VuZXJhdG9yUmVxdWVzdFNjaGVtYT47XG5cbi8qKiBTdXBwb3J0ZWQgZGV0ZXJtaW5pc3RpYyBjb2x1bW4gZ2VuZXJhdG9ycy4gKi9cbmV4cG9ydCBjb25zdCBHZW5lcmF0ZWRDb2x1bW5TY2hlbWEgPSB6LmRpc2NyaW1pbmF0ZWRVbmlvbihcImdlbmVyYXRvclwiLCBbXG4gIHpcbiAgICAub2JqZWN0KHtcbiAgICAgIG5hbWU6IGlkZW50aWZpZXIuZGVzY3JpYmUoXCJDb2x1bW4gbmFtZS5cIiksXG4gICAgICBnZW5lcmF0b3I6IHoubGl0ZXJhbChcImlkXCIpLFxuICAgICAgZGVzY3JpcHRpb246IG5vbkJsYW5rU3RyaW5nLmRlc2NyaWJlKFwiQ29sdW1uIGJ1c2luZXNzIG1lYW5pbmcuXCIpLFxuICAgIH0pXG4gICAgLnN0cmljdCgpLFxuICB6XG4gICAgLm9iamVjdCh7XG4gICAgICBuYW1lOiBpZGVudGlmaWVyLmRlc2NyaWJlKFwiQ29sdW1uIG5hbWUuXCIpLFxuICAgICAgZ2VuZXJhdG9yOiB6LmxpdGVyYWwoXCJkYXRlXCIpLFxuICAgICAgZGVzY3JpcHRpb246IG5vbkJsYW5rU3RyaW5nLmRlc2NyaWJlKFwiQ29sdW1uIGJ1c2luZXNzIG1lYW5pbmcuXCIpLFxuICAgICAgZGF5czogei5udW1iZXIoKS5pbnQoKS5taW4oMzApLm1heCgxXzA5NSkuZGVzY3JpYmUoXCJHZW5lcmF0ZWQgaGlzdG9yeSB3aW5kb3cgaW4gZGF5cy5cIiksXG4gICAgfSlcbiAgICAuc3RyaWN0KCksXG4gIHpcbiAgICAub2JqZWN0KHtcbiAgICAgIG5hbWU6IGlkZW50aWZpZXIuZGVzY3JpYmUoXCJDb2x1bW4gbmFtZS5cIiksXG4gICAgICBnZW5lcmF0b3I6IHoubGl0ZXJhbChcImNhdGVnb3J5XCIpLFxuICAgICAgZGVzY3JpcHRpb246IG5vbkJsYW5rU3RyaW5nLmRlc2NyaWJlKFwiQ29sdW1uIGJ1c2luZXNzIG1lYW5pbmcuXCIpLFxuICAgICAgdmFsdWVzOiB6LmFycmF5KG5vbkJsYW5rU3RyaW5nLm1heCg4MCkpLm1pbigyKS5tYXgoMTIpLmRlc2NyaWJlKFwiU2tld2VkIGNhdGVnb3J5IHZhbHVlcy5cIiksXG4gICAgfSlcbiAgICAuc3RyaWN0KCksXG4gIHpcbiAgICAub2JqZWN0KHtcbiAgICAgIG5hbWU6IGlkZW50aWZpZXIuZGVzY3JpYmUoXCJDb2x1bW4gbmFtZS5cIiksXG4gICAgICBnZW5lcmF0b3I6IHoubGl0ZXJhbChcIm51bWJlclwiKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBub25CbGFua1N0cmluZy5kZXNjcmliZShcIkNvbHVtbiBidXNpbmVzcyBtZWFuaW5nLlwiKSxcbiAgICAgIG1pbmltdW06IHoubnVtYmVyKCkuZGVzY3JpYmUoXCJNaW5pbXVtIGdlbmVyYXRlZCB2YWx1ZS5cIiksXG4gICAgICBtYXhpbXVtOiB6Lm51bWJlcigpLmRlc2NyaWJlKFwiTWF4aW11bSBnZW5lcmF0ZWQgdmFsdWUuXCIpLFxuICAgICAgZGVjaW1hbHM6IHoubnVtYmVyKCkuaW50KCkubWluKDApLm1heCg0KS5kZWZhdWx0KDIpLmRlc2NyaWJlKFwiRGVjaW1hbCBwcmVjaXNpb24uXCIpLFxuICAgIH0pXG4gICAgLnN0cmljdCgpLFxuICB6XG4gICAgLm9iamVjdCh7XG4gICAgICBuYW1lOiBpZGVudGlmaWVyLmRlc2NyaWJlKFwiQ29sdW1uIG5hbWUuXCIpLFxuICAgICAgZ2VuZXJhdG9yOiB6LmxpdGVyYWwoXCJib29sZWFuXCIpLFxuICAgICAgZGVzY3JpcHRpb246IG5vbkJsYW5rU3RyaW5nLmRlc2NyaWJlKFwiQ29sdW1uIGJ1c2luZXNzIG1lYW5pbmcuXCIpLFxuICAgICAgdHJ1ZVByb2JhYmlsaXR5OiB6Lm51bWJlcigpLm1pbigwLjAxKS5tYXgoMC45OSkuZGVzY3JpYmUoXCJTaGFyZSBvZiB0cnVlIHJvd3MuXCIpLFxuICAgIH0pXG4gICAgLnN0cmljdCgpLFxuXSk7XG5cbi8qKiBEZXRlcm1pbmlzdGljIGdlbmVyYXRlZCBjb2x1bW4gc3BlY2lmaWNhdGlvbi4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyYXRlZENvbHVtbiA9IHouaW5mZXI8dHlwZW9mIEdlbmVyYXRlZENvbHVtblNjaGVtYT47XG5cbi8qKiBLUEkgYmluZGluZyBjb21waWxlZCBpbnRvIHZhbGlkYXRpb24gU1FMIGFuZCBkYXNoYm9hcmQgbWVhc3VyZXMuICovXG5leHBvcnQgY29uc3QgR2VuZXJhdGVkTWV0cmljU2NoZW1hID0gUmVzZWFyY2hlZEtwaVNjaGVtYS5leHRlbmQoe1xuICBhZ2dyZWdhdGlvbjogelxuICAgIC5lbnVtKFtcImNvdW50XCIsIFwic3VtXCIsIFwiYXZlcmFnZVwiXSlcbiAgICAuZGVzY3JpYmUoXCJTYWZlIGFnZ3JlZ2F0ZSBjb21waWxlZCBieSB0aGUgZ2VuZXJhdG9yLlwiKSxcbiAgY29sdW1uOiBpZGVudGlmaWVyLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJOdW1lcmljIHNvdXJjZSBjb2x1bW47IG9taXR0ZWQgZm9yIGNvdW50LlwiKSxcbn0pLnN0cmljdCgpO1xuXG4vKiogS1BJIGJpbmRpbmcuICovXG5leHBvcnQgdHlwZSBHZW5lcmF0ZWRNZXRyaWMgPSB6LmluZmVyPHR5cGVvZiBHZW5lcmF0ZWRNZXRyaWNTY2hlbWE+O1xuXG4vKiogU3RydWN0dXJlZCBwbGFuIGNvbXBpbGVkIGludG8gU1FMIGFuZCBwcmVzZW50YXRpb24gYXNzZXRzLiAqL1xuZXhwb3J0IGNvbnN0IEdlbmVyYXRvclBsYW5TY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIHRhYmxlOiBpZGVudGlmaWVyLmRlc2NyaWJlKFwiUHJpbWFyeSBnZW5lcmF0ZWQgRGVsdGEgdGFibGUgbmFtZS5cIiksXG4gICAgcm93Q291bnQ6IHoubnVtYmVyKCkuaW50KCkubWluKDFfMDAwKS5tYXgoMTAwXzAwMCkuZGVzY3JpYmUoXCJSb3dzIHRvIGdlbmVyYXRlLlwiKSxcbiAgICBjb2x1bW5zOiB6XG4gICAgICAuYXJyYXkoR2VuZXJhdGVkQ29sdW1uU2NoZW1hKVxuICAgICAgLm1pbig0KVxuICAgICAgLm1heCgxNilcbiAgICAgIC5kZXNjcmliZShcIlR5cGVkIGRldGVybWluaXN0aWMgY29sdW1uIGdlbmVyYXRvcnMuXCIpLFxuICAgIG1ldHJpY3M6IHouYXJyYXkoR2VuZXJhdGVkTWV0cmljU2NoZW1hKS5taW4oMSkubWF4KDYpLmRlc2NyaWJlKFwiRGFzaGJvYXJkIGFuZCBHZW5pZSBLUElzLlwiKSxcbiAgICBzdG9yeTogbm9uQmxhbmtTdHJpbmcuZGVzY3JpYmUoXCJCdXNpbmVzcyBhbm9tYWx5IGFuZCBpbXBhY3QgcmVwcmVzZW50ZWQgaW4gdGhlIGRhdGEuXCIpLFxuICAgIHNhbXBsZVF1ZXN0aW9uczogelxuICAgICAgLmFycmF5KG5vbkJsYW5rU3RyaW5nLm1heCgzMDApKVxuICAgICAgLm1pbigzKVxuICAgICAgLm1heCg4KVxuICAgICAgLmRlc2NyaWJlKFwiUXVlc3Rpb25zIHN1cHBvcnRlZCBieSB0aGUgZ2VuZXJhdGVkIHRhYmxlLlwiKSxcbiAgfSlcbiAgLnN0cmljdCgpXG4gIC5zdXBlclJlZmluZSgodmFsdWUsIGN0eCkgPT4ge1xuICAgIGNvbnN0IG5hbWVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgZm9yIChjb25zdCBbaW5kZXgsIGNvbHVtbl0gb2YgdmFsdWUuY29sdW1ucy5lbnRyaWVzKCkpIHtcbiAgICAgIGlmIChuYW1lcy5oYXMoY29sdW1uLm5hbWUpKSB7XG4gICAgICAgIGN0eC5hZGRJc3N1ZSh7XG4gICAgICAgICAgY29kZTogXCJjdXN0b21cIixcbiAgICAgICAgICBwYXRoOiBbXCJjb2x1bW5zXCIsIGluZGV4LCBcIm5hbWVcIl0sXG4gICAgICAgICAgbWVzc2FnZTogXCJHZW5lcmF0ZWQgY29sdW1uIG5hbWVzIG11c3QgYmUgdW5pcXVlLlwiLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIG5hbWVzLmFkZChjb2x1bW4ubmFtZSk7XG4gICAgfVxuICAgIGlmICghdmFsdWUuY29sdW1ucy5zb21lKCh7IGdlbmVyYXRvciB9KSA9PiBnZW5lcmF0b3IgPT09IFwiaWRcIikpIHtcbiAgICAgIGN0eC5hZGRJc3N1ZSh7IGNvZGU6IFwiY3VzdG9tXCIsIHBhdGg6IFtcImNvbHVtbnNcIl0sIG1lc3NhZ2U6IFwiQW4gaWQgY29sdW1uIGlzIHJlcXVpcmVkLlwiIH0pO1xuICAgIH1cbiAgICBpZiAoIXZhbHVlLmNvbHVtbnMuc29tZSgoeyBnZW5lcmF0b3IgfSkgPT4gZ2VuZXJhdG9yID09PSBcImRhdGVcIikpIHtcbiAgICAgIGN0eC5hZGRJc3N1ZSh7IGNvZGU6IFwiY3VzdG9tXCIsIHBhdGg6IFtcImNvbHVtbnNcIl0sIG1lc3NhZ2U6IFwiQSBkYXRlIGNvbHVtbiBpcyByZXF1aXJlZC5cIiB9KTtcbiAgICB9XG4gICAgaWYgKCF2YWx1ZS5jb2x1bW5zLnNvbWUoKHsgZ2VuZXJhdG9yIH0pID0+IGdlbmVyYXRvciA9PT0gXCJjYXRlZ29yeVwiKSkge1xuICAgICAgY3R4LmFkZElzc3VlKHtcbiAgICAgICAgY29kZTogXCJjdXN0b21cIixcbiAgICAgICAgcGF0aDogW1wiY29sdW1uc1wiXSxcbiAgICAgICAgbWVzc2FnZTogXCJBIGNhdGVnb3J5IGNvbHVtbiBpcyByZXF1aXJlZC5cIixcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBudW1lcmljID0gbmV3IFNldChcbiAgICAgIHZhbHVlLmNvbHVtbnMuZmlsdGVyKCh7IGdlbmVyYXRvciB9KSA9PiBnZW5lcmF0b3IgPT09IFwibnVtYmVyXCIpLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpLFxuICAgICk7XG4gICAgZm9yIChjb25zdCBbaW5kZXgsIG1ldHJpY10gb2YgdmFsdWUubWV0cmljcy5lbnRyaWVzKCkpIHtcbiAgICAgIGlmIChtZXRyaWMuYWdncmVnYXRpb24gIT09IFwiY291bnRcIiAmJiAoIW1ldHJpYy5jb2x1bW4gfHwgIW51bWVyaWMuaGFzKG1ldHJpYy5jb2x1bW4pKSkge1xuICAgICAgICBjdHguYWRkSXNzdWUoe1xuICAgICAgICAgIGNvZGU6IFwiY3VzdG9tXCIsXG4gICAgICAgICAgcGF0aDogW1wibWV0cmljc1wiLCBpbmRleCwgXCJjb2x1bW5cIl0sXG4gICAgICAgICAgbWVzc2FnZTogXCJTdW0gYW5kIGF2ZXJhZ2UgbWV0cmljcyByZXF1aXJlIGEgZ2VuZXJhdGVkIG51bWVyaWMgY29sdW1uLlwiLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH0pXG4gIC5kZXNjcmliZShcIlZhbGlkYXRlZCBwbGFuIGZvciBkZXRlcm1pbmlzdGljIHN5bnRoZXRpYyBkYXRhIGFuZCBhbmFseXRpY3MgYXNzZXRzLlwiKTtcblxuLyoqIFN0cnVjdHVyZWQgZ2VuZXJhdG9yIHBsYW4uICovXG5leHBvcnQgdHlwZSBHZW5lcmF0b3JQbGFuID0gei5pbmZlcjx0eXBlb2YgR2VuZXJhdG9yUGxhblNjaGVtYT47XG5cbi8qKiBJbnB1dCBmb3IgdGhlIHN0YW5kYWxvbmUgc3RydWN0dXJlZCBkYXRhLXBsYW5uaW5nIHRvb2wuICovXG5leHBvcnQgY29uc3QgUGxhbkdlbmVyYXRvckRhdGFSZXF1ZXN0U2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICByZXF1ZXN0OiBHZW5lcmF0b3JSZXF1ZXN0U2NoZW1hLFxuICAgIGJyYW5kOiBCcmFuZFBhY2thZ2VTY2hlbWEsXG4gICAga3BpUmVzZWFyY2g6IEtwaVJlc2VhcmNoUmVzdWx0U2NoZW1hLFxuICB9KVxuICAuc3RyaWN0KClcbiAgLmRlc2NyaWJlKFwiSW5wdXRzIG5lZWRlZCB0byBidWlsZCBhIHR5cGVkIGdlbmVyYXRvciBwbGFuLlwiKTtcblxuLyoqIElucHV0IGZvciB0aGUgc3RhbmRhbG9uZSBzdHJ1Y3R1cmVkIGRhdGEtcGxhbm5pbmcgdG9vbC4gKi9cbmV4cG9ydCB0eXBlIFBsYW5HZW5lcmF0b3JEYXRhUmVxdWVzdCA9IHouaW5mZXI8dHlwZW9mIFBsYW5HZW5lcmF0b3JEYXRhUmVxdWVzdFNjaGVtYT47XG5cbi8qKiBMb2NhdGlvbiBhbmQgdHJ1c3RlZCBpZGVudGl0eSBmb3Igb25lIGdlbmVyYXRlZCBzY2hlbWEuICovXG5leHBvcnQgY29uc3QgR2VuZXJhdGVkU2NoZW1hU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICBjYXRhbG9nOiBpZGVudGlmaWVyLmRlc2NyaWJlKFwiQ29uZmlndXJlZCBVbml0eSBDYXRhbG9nLlwiKSxcbiAgICBzY2hlbWE6IGlkZW50aWZpZXIuZGVzY3JpYmUoXCJQZXItdXNlciBnZW5lcmF0ZWQgc2NoZW1hLlwiKSxcbiAgICBmdWxsTmFtZTogbm9uQmxhbmtTdHJpbmcuZGVzY3JpYmUoXCJRdW90ZWQtc2FmZSBjYXRhbG9nLnNjaGVtYSBkaXNwbGF5IG5hbWUuXCIpLFxuICAgIHByaW5jaXBhbDogbm9uQmxhbmtTdHJpbmcuZGVzY3JpYmUoXCJUcnVzdGVkIE9CTyBEYXRhYnJpY2tzIHVzZXIgbmFtZS5cIiksXG4gIH0pXG4gIC5zdHJpY3QoKVxuICAuZGVzY3JpYmUoXCJQcm92aXNpb25lZCBwZXItdXNlciBVbml0eSBDYXRhbG9nIHNjaGVtYS5cIik7XG5cbi8qKiBQcm92aXNpb25lZCBnZW5lcmF0ZWQgc2NoZW1hLiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJhdGVkU2NoZW1hID0gei5pbmZlcjx0eXBlb2YgR2VuZXJhdGVkU2NoZW1hU2NoZW1hPjtcblxuLyoqIElucHV0IGZvciBwZXItdXNlciBzY2hlbWEgcHJvdmlzaW9uaW5nLiAqL1xuZXhwb3J0IGNvbnN0IFByb3Zpc2lvbkdlbmVyYXRvclNjaGVtYVJlcXVlc3RTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIHJlcXVlc3Q6IEdlbmVyYXRvclJlcXVlc3RTY2hlbWEucGljayh7IGNvbXBhbnk6IHRydWUsIHB1cnBvc2U6IHRydWUgfSksXG4gIH0pXG4gIC5zdHJpY3QoKVxuICAuZGVzY3JpYmUoXCJSZXF1ZXN0IHRvIHByb3Zpc2lvbiB0aGUgYWN0aXZlIHVzZXIncyBnZW5lcmF0ZWQgc2NoZW1hLlwiKTtcblxuLyoqIElucHV0IGZvciBwZXItdXNlciBzY2hlbWEgcHJvdmlzaW9uaW5nLiAqL1xuZXhwb3J0IHR5cGUgUHJvdmlzaW9uR2VuZXJhdG9yU2NoZW1hUmVxdWVzdCA9IHouaW5mZXI8dHlwZW9mIFByb3Zpc2lvbkdlbmVyYXRvclNjaGVtYVJlcXVlc3RTY2hlbWE+O1xuXG4vKiogSW5wdXQgZm9yIGdlbmVyYXRlZCBkYXRhIG1hdGVyaWFsaXphdGlvbi4gKi9cbmV4cG9ydCBjb25zdCBNYXRlcmlhbGl6ZUdlbmVyYXRvckRhdGFSZXF1ZXN0U2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICBsb2NhdGlvbjogR2VuZXJhdGVkU2NoZW1hU2NoZW1hLFxuICAgIHBsYW46IEdlbmVyYXRvclBsYW5TY2hlbWEsXG4gIH0pXG4gIC5zdHJpY3QoKVxuICAuZGVzY3JpYmUoXCJSZXF1ZXN0IHRvIG1hdGVyaWFsaXplIGFuZCB2YWxpZGF0ZSBnZW5lcmF0ZWQgRGVsdGEgZGF0YS5cIik7XG5cbi8qKiBJbnB1dCBmb3IgZ2VuZXJhdGVkIGRhdGEgbWF0ZXJpYWxpemF0aW9uLiAqL1xuZXhwb3J0IHR5cGUgTWF0ZXJpYWxpemVHZW5lcmF0b3JEYXRhUmVxdWVzdCA9IHouaW5mZXI8dHlwZW9mIE1hdGVyaWFsaXplR2VuZXJhdG9yRGF0YVJlcXVlc3RTY2hlbWE+O1xuXG4vKiogQ3JlYXRlZCB0YWJsZXMgYW5kIEtQSSB2YWxpZGF0aW9uIHN0YXRlbWVudHMuICovXG5leHBvcnQgY29uc3QgTWF0ZXJpYWxpemVkR2VuZXJhdG9yRGF0YVNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgdGFibGVzOiB6LmFycmF5KG5vbkJsYW5rU3RyaW5nKS5taW4oMSkuZGVzY3JpYmUoXCJDcmVhdGVkIGZ1bGx5IHF1YWxpZmllZCBEZWx0YSB0YWJsZXMuXCIpLFxuICAgIHZhbGlkYXRpb25TdGF0ZW1lbnRzOiB6XG4gICAgICAucmVjb3JkKGlkZW50aWZpZXIsIG5vbkJsYW5rU3RyaW5nKVxuICAgICAgLmRlc2NyaWJlKFwiU3RhdGVtZW50IElEcyBrZXllZCBieSB2YWxpZGF0ZWQgS1BJIG5hbWUuXCIpLFxuICB9KVxuICAuc3RyaWN0KClcbiAgLmRlc2NyaWJlKFwiTWF0ZXJpYWxpemVkIGFuZCB2YWxpZGF0ZWQgZ2VuZXJhdGVkIGRhdGEuXCIpO1xuXG4vKiogQ3JlYXRlZCB0YWJsZXMgYW5kIEtQSSB2YWxpZGF0aW9uIHN0YXRlbWVudHMuICovXG5leHBvcnQgdHlwZSBNYXRlcmlhbGl6ZWRHZW5lcmF0b3JEYXRhID0gei5pbmZlcjx0eXBlb2YgTWF0ZXJpYWxpemVkR2VuZXJhdG9yRGF0YVNjaGVtYT47XG5cbi8qKiBJbnB1dCBzaGFyZWQgYnkgZGFzaGJvYXJkIGFuZCBzdGFuZGFsb25lIEdlbmllIGNyZWF0aW9uIHRvb2xzLiAqL1xuZXhwb3J0IGNvbnN0IENyZWF0ZUdlbmVyYXRvclByZXNlbnRhdGlvblJlcXVlc3RTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIHJlcXVlc3Q6IEdlbmVyYXRvclJlcXVlc3RTY2hlbWEucGljayh7XG4gICAgICBjb21wYW55OiB0cnVlLFxuICAgICAgcHVycG9zZTogdHJ1ZSxcbiAgICB9KSxcbiAgICBsb2NhdGlvbjogR2VuZXJhdGVkU2NoZW1hU2NoZW1hLFxuICAgIHBsYW46IEdlbmVyYXRvclBsYW5TY2hlbWEsXG4gICAgYnJhbmQ6IEJyYW5kUGFja2FnZVNjaGVtYSxcbiAgfSlcbiAgLnN0cmljdCgpXG4gIC5kZXNjcmliZShcIlJlcXVlc3QgdG8gY3JlYXRlIGEgcHJlc2VudGF0aW9uIGFzc2V0IG92ZXIgZ2VuZXJhdGVkIGRhdGEuXCIpO1xuXG4vKiogSW5wdXQgc2hhcmVkIGJ5IGRhc2hib2FyZCBhbmQgc3RhbmRhbG9uZSBHZW5pZSBjcmVhdGlvbiB0b29scy4gKi9cbmV4cG9ydCB0eXBlIENyZWF0ZUdlbmVyYXRvclByZXNlbnRhdGlvblJlcXVlc3QgPSB6LmluZmVyPFxuICB0eXBlb2YgQ3JlYXRlR2VuZXJhdG9yUHJlc2VudGF0aW9uUmVxdWVzdFNjaGVtYVxuPjtcblxuLyoqIERhc2hib2FyZCBvdXRwdXQgd2l0aCBpdHMgYXV0b21hdGljIGNvbXBhbmlvbiBHZW5pZSBBZ2VudC4gKi9cbmV4cG9ydCBjb25zdCBHZW5lcmF0ZWREYXNoYm9hcmRTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIGRhc2hib2FyZElkOiBub25CbGFua1N0cmluZy5kZXNjcmliZShcIkNyZWF0ZWQgTGFrZXZpZXcgZGFzaGJvYXJkIElELlwiKSxcbiAgICBwYXRoOiBub25CbGFua1N0cmluZy5vcHRpb25hbCgpLmRlc2NyaWJlKFwiV29ya3NwYWNlIHBhdGgsIHdoZW4gcmV0dXJuZWQuXCIpLFxuICAgIGNvbXBhbmlvbkdlbmllOiB6LmxpdGVyYWwoXCJBVVRPXCIpLmRlc2NyaWJlKFwiRGFzaGJvYXJkLXB1Ymxpc2hlZCBjb21wYW5pb24gR2VuaWUgbW9kZS5cIiksXG4gIH0pXG4gIC5zdHJpY3QoKTtcblxuLyoqIFB1Ymxpc2hlZCBkYXNoYm9hcmQgd2l0aCBhdXRvbWF0aWMgY29tcGFuaW9uIEdlbmllLiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJhdGVkRGFzaGJvYXJkID0gei5pbmZlcjx0eXBlb2YgR2VuZXJhdGVkRGFzaGJvYXJkU2NoZW1hPjtcblxuLyoqIFN0YW5kYWxvbmUgR2VuaWUgb3V0cHV0IHVzZWQgb25seSB3aGVuIG5vIGRhc2hib2FyZCBpcyByZXF1ZXN0ZWQuICovXG5leHBvcnQgY29uc3QgR2VuZXJhdGVkR2VuaWVTcGFjZVNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgc3BhY2VJZDogbm9uQmxhbmtTdHJpbmcuZGVzY3JpYmUoXCJDcmVhdGVkIHN0YW5kYWxvbmUgR2VuaWUgc3BhY2UgSUQuXCIpLFxuICAgIHRpdGxlOiBub25CbGFua1N0cmluZy5kZXNjcmliZShcIkdlbmllIHNwYWNlIHRpdGxlLlwiKSxcbiAgfSlcbiAgLnN0cmljdCgpO1xuXG4vKiogQ3JlYXRlZCBzdGFuZGFsb25lIEdlbmllIHNwYWNlLiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJhdGVkR2VuaWVTcGFjZSA9IHouaW5mZXI8dHlwZW9mIEdlbmVyYXRlZEdlbmllU3BhY2VTY2hlbWE+O1xuXG4vKiogVGVybWluYWwgd29ya2Zsb3cgb3V0cHV0LiAqL1xuZXhwb3J0IGNvbnN0IEdlbmVyYXRlZEFzc2V0c1NjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgcmVxdWVzdDogR2VuZXJhdG9yUmVxdWVzdFNjaGVtYSxcbiAgICBzY2hlbWE6IEdlbmVyYXRlZFNjaGVtYVNjaGVtYSxcbiAgICB0YWJsZXM6IHouYXJyYXkobm9uQmxhbmtTdHJpbmcpLm1pbigxKS5kZXNjcmliZShcIkNyZWF0ZWQgZnVsbHkgcXVhbGlmaWVkIERlbHRhIHRhYmxlcy5cIiksXG4gICAgYnJhbmQ6IEJyYW5kUGFja2FnZVNjaGVtYSxcbiAgICBrcGlSZXNlYXJjaDogS3BpUmVzZWFyY2hSZXN1bHRTY2hlbWEsXG4gICAgcGxhbjogR2VuZXJhdG9yUGxhblNjaGVtYSxcbiAgICBkYXNoYm9hcmQ6IEdlbmVyYXRlZERhc2hib2FyZFNjaGVtYS5vcHRpb25hbCgpLFxuICAgIGdlbmllOiBHZW5lcmF0ZWRHZW5pZVNwYWNlU2NoZW1hLm9wdGlvbmFsKCksXG4gIH0pXG4gIC5zdHJpY3QoKVxuICAuc3VwZXJSZWZpbmUoKHZhbHVlLCBjdHgpID0+IHtcbiAgICBpZiAoKHZhbHVlLmRhc2hib2FyZCA9PT0gdW5kZWZpbmVkKSA9PT0gKHZhbHVlLmdlbmllID09PSB1bmRlZmluZWQpKSB7XG4gICAgICBjdHguYWRkSXNzdWUoe1xuICAgICAgICBjb2RlOiBcImN1c3RvbVwiLFxuICAgICAgICBtZXNzYWdlOiBcIkV4YWN0bHkgb25lIGRhc2hib2FyZCBvciBzdGFuZGFsb25lIEdlbmllIHNwYWNlIGlzIHJlcXVpcmVkLlwiLFxuICAgICAgfSk7XG4gICAgfVxuICB9KVxuICAuZGVzY3JpYmUoXCJHZW5lcmF0ZWQgRGF0YWJyaWNrcyBkYXRhIGFuZCBwcmVzZW50YXRpb24gYXNzZXRzLlwiKTtcblxuLyoqIFRlcm1pbmFsIGdlbmVyYXRvciB3b3JrZmxvdyBvdXRwdXQuICovXG5leHBvcnQgdHlwZSBHZW5lcmF0ZWRBc3NldHMgPSB6LmluZmVyPHR5cGVvZiBHZW5lcmF0ZWRBc3NldHNTY2hlbWE+O1xuIl19
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDeEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsRyxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsc0NBQXNDLENBQUMsQ0FBQztBQUVqRyw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBS3JFLDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyx3QkFBd0IsQ0FBQyxNQUFNLENBQUM7SUFDcEUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsaURBQWlELENBQUM7SUFDaEcsWUFBWSxFQUFFLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQ2hFLG9GQUFvRixDQUNyRjtJQUNELFFBQVEsRUFBRSxDQUFDO1NBQ1IsTUFBTSxFQUFFO1NBQ1IsR0FBRyxFQUFFO1NBQ0wsR0FBRyxDQUFDLEtBQUssQ0FBQztTQUNWLEdBQUcsQ0FBQyxPQUFPLENBQUM7U0FDWixPQUFPLENBQUMsTUFB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b250cmFjdHMgZm9yIGdlbmVyYXRlZCBEYXRhYnJpY2tzIGRlbW8gYXNzZXRzLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuaW1wb3J0IHsgQnJhbmRQYWNrYWdlU2NoZW1hIH0gZnJvbSBcIi4vYnJhbmQudHNcIjtcbmltcG9ydCB7IEtwaVJlc2VhcmNoUmVxdWVzdFNjaGVtYSwgS3BpUmVzZWFyY2hSZXN1bHRTY2hlbWEsIFJlc2VhcmNoZWRLcGlTY2hlbWEgfSBmcm9tIFwiLi9rcGkudHNcIjtcblxuY29uc3Qgbm9uQmxhbmtTdHJpbmcgPSB6LnN0cmluZygpLnRyaW0oKS5taW4oMSk7XG5jb25zdCBpZGVudGlmaWVyID0gei5zdHJpbmcoKS5yZWdleCgvXlthLXpdW2EtejAtOV9dKiQvLCBcIkV4cGVjdGVkIGEgbG93ZXJjYXNlIFNRTCBpZGVudGlmaWVyLlwiKTtcblxuLyoqIFByZXNlbnRhdGlvbiBjcmVhdGVkIGFmdGVyIGdlbmVyYXRlZCBkYXRhIGlzIHZhbGlkYXRlZC4gKi9cbmV4cG9ydCBjb25zdCBQcmVzZW50YXRpb25Nb2RlU2NoZW1hID0gei5lbnVtKFtcImRhc2hib2FyZFwiLCBcImdlbmllXCJdKTtcblxuLyoqIFByZXNlbnRhdGlvbiBtb2RlLiAqL1xuZXhwb3J0IHR5cGUgUHJlc2VudGF0aW9uTW9kZSA9IHouaW5mZXI8dHlwZW9mIFByZXNlbnRhdGlvbk1vZGVTY2hlbWE+O1xuXG4vKiogQ29tcGxldGUgaW5wdXQgZm9yIHRoZSBnb3Zlcm5lZCBnZW5lcmF0b3Igd29ya2Zsb3cuICovXG5leHBvcnQgY29uc3QgR2VuZXJhdG9yUmVxdWVzdFNjaGVtYSA9IEtwaVJlc2VhcmNoUmVxdWVzdFNjaGVtYS5leHRlbmQoe1xuICB3ZWJzaXRlOiB6LnN0cmluZygpLnVybCgpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJLbm93biBjb21wYW55IHdlYnNpdGUgZm9yIGJyYW5kIGRpc2FtYmlndWF0aW9uLlwiKSxcbiAgcHJlc2VudGF0aW9uOiBQcmVzZW50YXRpb25Nb2RlU2NoZW1hLmRlZmF1bHQoXCJkYXNoYm9hcmRcIikuZGVzY3JpYmUoXG4gICAgXCJEYXNoYm9hcmQgd2l0aCBhdXRvbWF0aWMgY29tcGFuaW9uIEdlbmllLCBvciBzdGFuZGFsb25lIEdlbmllIHdpdGhvdXQgYSBkYXNoYm9hcmQuXCIsXG4gICksXG4gIHJvd0NvdW50OiB6XG4gICAgLm51bWJlcigpXG4gICAgLmludCgpXG4gICAgLm1pbigxXzAwMClcbiAgICAubWF4KDEwMF8wMDApXG4gICAgLmRlZmF1bHQoNTBfMDAwKVxuICAgIC5kZXNjcmliZShcIlJvd3MgZ2VuZXJhdGVkIGluIHRoZSBwcmltYXJ5IGZhY3QgdGFibGUuXCIpLFxufSlcbiAgLnN0cmljdCgpXG4gIC5kZXNjcmliZShcIlJlcXVlc3QgZm9yIGEgcGVyLXVzZXIgRGF0YWJyaWNrcyBkZW1vIGRhdGEgZW52aXJvbm1lbnQuXCIpO1xuXG4vKiogR2VuZXJhdG9yIHdvcmtmbG93IGlucHV0IGFmdGVyIGRlZmF1bHRzLiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJhdG9yUmVxdWVzdCA9IHoub3V0cHV0PHR5cGVvZiBHZW5lcmF0b3JSZXF1ZXN0U2NoZW1hPjtcblxuLyoqIFN1cHBvcnRlZCBkZXRlcm1pbmlzdGljIGNvbHVtbiBnZW5lcmF0b3JzLiAqL1xuZXhwb3J0IGNvbnN0IEdlbmVyYXRlZENvbHVtblNjaGVtYSA9IHouZGlzY3JpbWluYXRlZFVuaW9uKFwiZ2VuZXJhdG9yXCIsIFtcbiAgelxuICAgIC5vYmplY3Qoe1xuICAgICAgbmFtZTogaWRlbnRpZmllci5kZXNjcmliZShcIkNvbHVtbiBuYW1lLlwiKSxcbiAgICAgIGdlbmVyYXRvcjogei5saXRlcmFsKFwiaWRcIiksXG4gICAgICBkZXNjcmlwdGlvbjogbm9uQmxhbmtTdHJpbmcuZGVzY3JpYmUoXCJDb2x1bW4gYnVzaW5lc3MgbWVhbmluZy5cIiksXG4gICAgfSlcbiAgICAuc3RyaWN0KCksXG4gIHpcbiAgICAub2JqZWN0KHtcbiAgICAgIG5hbWU6IGlkZW50aWZpZXIuZGVzY3JpYmUoXCJDb2x1bW4gbmFtZS5cIiksXG4gICAgICBnZW5lcmF0b3I6IHoubGl0ZXJhbChcImRhdGVcIiksXG4gICAgICBkZXNjcmlwdGlvbjogbm9uQmxhbmtTdHJpbmcuZGVzY3JpYmUoXCJDb2x1bW4gYnVzaW5lc3MgbWVhbmluZy5cIiksXG4gICAgICBkYXlzOiB6Lm51bWJlcigpLmludCgpLm1pbigzMCkubWF4KDFfMDk1KS5kZXNjcmliZShcIkdlbmVyYXRlZCBoaXN0b3J5IHdpbmRvdyBpbiBkYXlzLlwiKSxcbiAgICB9KVxuICAgIC5zdHJpY3QoKSxcbiAgelxuICAgIC5vYmplY3Qoe1xuICAgICAgbmFtZTogaWRlbnRpZmllci5kZXNjcmliZShcIkNvbHVtbiBuYW1lLlwiKSxcbiAgICAgIGdlbmVyYXRvcjogei5saXRlcmFsKFwiY2F0ZWdvcnlcIiksXG4gICAgICBkZXNjcmlwdGlvbjogbm9uQmxhbmtTdHJpbmcuZGVzY3JpYmUoXCJDb2x1bW4gYnVzaW5lc3MgbWVhbmluZy5cIiksXG4gICAgICB2YWx1ZXM6IHouYXJyYXkobm9uQmxhbmtTdHJpbmcubWF4KDgwKSkubWluKDIpLm1heCgxMikuZGVzY3JpYmUoXCJTa2V3ZWQgY2F0ZWdvcnkgdmFsdWVzLlwiKSxcbiAgICB9KVxuICAgIC5zdHJpY3QoKSxcbiAgelxuICAgIC5vYmplY3Qoe1xuICAgICAgbmFtZTogaWRlbnRpZmllci5kZXNjcmliZShcIkNvbHVtbiBuYW1lLlwiKSxcbiAgICAgIGdlbmVyYXRvcjogei5saXRlcmFsKFwibnVtYmVyXCIpLFxuICAgICAgZGVzY3JpcHRpb246IG5vbkJsYW5rU3RyaW5nLmRlc2NyaWJlKFwiQ29sdW1uIGJ1c2luZXNzIG1lYW5pbmcuXCIpLFxuICAgICAgbWluaW11bTogei5udW1iZXIoKS5kZXNjcmliZShcIk1pbmltdW0gZ2VuZXJhdGVkIHZhbHVlLlwiKSxcbiAgICAgIG1heGltdW06IHoubnVtYmVyKCkuZGVzY3JpYmUoXCJNYXhpbXVtIGdlbmVyYXRlZCB2YWx1ZS5cIiksXG4gICAgICBkZWNpbWFsczogei5udW1iZXIoKS5pbnQoKS5taW4oMCkubWF4KDQpLmRlZmF1bHQoMikuZGVzY3JpYmUoXCJEZWNpbWFsIHByZWNpc2lvbi5cIiksXG4gICAgfSlcbiAgICAuc3RyaWN0KCksXG4gIHpcbiAgICAub2JqZWN0KHtcbiAgICAgIG5hbWU6IGlkZW50aWZpZXIuZGVzY3JpYmUoXCJDb2x1bW4gbmFtZS5cIiksXG4gICAgICBnZW5lcmF0b3I6IHoubGl0ZXJhbChcImJvb2xlYW5cIiksXG4gICAgICBkZXNjcmlwdGlvbjogbm9uQmxhbmtTdHJpbmcuZGVzY3JpYmUoXCJDb2x1bW4gYnVzaW5lc3MgbWVhbmluZy5cIiksXG4gICAgICB0cnVlUHJvYmFiaWxpdHk6IHoubnVtYmVyKCkubWluKDAuMDEpLm1heCgwLjk5KS5kZXNjcmliZShcIlNoYXJlIG9mIHRydWUgcm93cy5cIiksXG4gICAgfSlcbiAgICAuc3RyaWN0KCksXG5dKTtcblxuLyoqIERldGVybWluaXN0aWMgZ2VuZXJhdGVkIGNvbHVtbiBzcGVjaWZpY2F0aW9uLiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJhdGVkQ29sdW1uID0gei5pbmZlcjx0eXBlb2YgR2VuZXJhdGVkQ29sdW1uU2NoZW1hPjtcblxuLyoqIEtQSSBiaW5kaW5nIGNvbXBpbGVkIGludG8gdmFsaWRhdGlvbiBTUUwgYW5kIGRhc2hib2FyZCBtZWFzdXJlcy4gKi9cbmV4cG9ydCBjb25zdCBHZW5lcmF0ZWRNZXRyaWNTY2hlbWEgPSBSZXNlYXJjaGVkS3BpU2NoZW1hLmV4dGVuZCh7XG4gIGFnZ3JlZ2F0aW9uOiB6XG4gICAgLmVudW0oW1wiY291bnRcIiwgXCJzdW1cIiwgXCJhdmVyYWdlXCJdKVxuICAgIC5kZXNjcmliZShcIlNhZmUgYWdncmVnYXRlIGNvbXBpbGVkIGJ5IHRoZSBnZW5lcmF0b3IuXCIpLFxuICBjb2x1bW46IGlkZW50aWZpZXIub3B0aW9uYWwoKS5kZXNjcmliZShcIk51bWVyaWMgc291cmNlIGNvbHVtbjsgb21pdHRlZCBmb3IgY291bnQuXCIpLFxufSkuc3RyaWN0KCk7XG5cbi8qKiBLUEkgYmluZGluZy4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyYXRlZE1ldHJpYyA9IHouaW5mZXI8dHlwZW9mIEdlbmVyYXRlZE1ldHJpY1NjaGVtYT47XG5cbi8qKiBTdHJ1Y3R1cmVkIHBsYW4gY29tcGlsZWQgaW50byBTUUwgYW5kIHByZXNlbnRhdGlvbiBhc3NldHMuICovXG5leHBvcnQgY29uc3QgR2VuZXJhdG9yUGxhblNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgdGFibGU6IGlkZW50aWZpZXIuZGVzY3JpYmUoXCJQcmltYXJ5IGdlbmVyYXRlZCBEZWx0YSB0YWJsZSBuYW1lLlwiKSxcbiAgICByb3dDb3VudDogei5udW1iZXIoKS5pbnQoKS5taW4oMV8wMDApLm1heCgxMDBfMDAwKS5kZXNjcmliZShcIlJvd3MgdG8gZ2VuZXJhdGUuXCIpLFxuICAgIGNvbHVtbnM6IHpcbiAgICAgIC5hcnJheShHZW5lcmF0ZWRDb2x1bW5TY2hlbWEpXG4gICAgICAubWluKDQpXG4gICAgICAubWF4KDE2KVxuICAgICAgLmRlc2NyaWJlKFwiVHlwZWQgZGV0ZXJtaW5pc3RpYyBjb2x1bW4gZ2VuZXJhdG9ycy5cIiksXG4gICAgbWV0cmljczogei5hcnJheShHZW5lcmF0ZWRNZXRyaWNTY2hlbWEpLm1pbigxKS5tYXgoNikuZGVzY3JpYmUoXCJEYXNoYm9hcmQgYW5kIEdlbmllIEtQSXMuXCIpLFxuICAgIHN0b3J5OiBub25CbGFua1N0cmluZy5kZXNjcmliZShcIkJ1c2luZXNzIGFub21hbHkgYW5kIGltcGFjdCByZXByZXNlbnRlZCBpbiB0aGUgZGF0YS5cIiksXG4gICAgc2FtcGxlUXVlc3Rpb25zOiB6XG4gICAgICAuYXJyYXkobm9uQmxhbmtTdHJpbmcubWF4KDMwMCkpXG4gICAgICAubWluKDMpXG4gICAgICAubWF4KDgpXG4gICAgICAuZGVzY3JpYmUoXCJRdWVzdGlvbnMgc3VwcG9ydGVkIGJ5IHRoZSBnZW5lcmF0ZWQgdGFibGUuXCIpLFxuICB9KVxuICAuc3RyaWN0KClcbiAgLnN1cGVyUmVmaW5lKCh2YWx1ZSwgY3R4KSA9PiB7XG4gICAgY29uc3QgbmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICBmb3IgKGNvbnN0IFtpbmRleCwgY29sdW1uXSBvZiB2YWx1ZS5jb2x1bW5zLmVudHJpZXMoKSkge1xuICAgICAgaWYgKG5hbWVzLmhhcyhjb2x1bW4ubmFtZSkpIHtcbiAgICAgICAgY3R4LmFkZElzc3VlKHtcbiAgICAgICAgICBjb2RlOiBcImN1c3RvbVwiLFxuICAgICAgICAgIHBhdGg6IFtcImNvbHVtbnNcIiwgaW5kZXgsIFwibmFtZVwiXSxcbiAgICAgICAgICBtZXNzYWdlOiBcIkdlbmVyYXRlZCBjb2x1bW4gbmFtZXMgbXVzdCBiZSB1bmlxdWUuXCIsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgbmFtZXMuYWRkKGNvbHVtbi5uYW1lKTtcbiAgICB9XG4gICAgaWYgKCF2YWx1ZS5jb2x1bW5zLnNvbWUoKHsgZ2VuZXJhdG9yIH0pID0+IGdlbmVyYXRvciA9PT0gXCJpZFwiKSkge1xuICAgICAgY3R4LmFkZElzc3VlKHsgY29kZTogXCJjdXN0b21cIiwgcGF0aDogW1wiY29sdW1uc1wiXSwgbWVzc2FnZTogXCJBbiBpZCBjb2x1bW4gaXMgcmVxdWlyZWQuXCIgfSk7XG4gICAgfVxuICAgIGlmICghdmFsdWUuY29sdW1ucy5zb21lKCh7IGdlbmVyYXRvciB9KSA9PiBnZW5lcmF0b3IgPT09IFwiZGF0ZVwiKSkge1xuICAgICAgY3R4LmFkZElzc3VlKHsgY29kZTogXCJjdXN0b21cIiwgcGF0aDogW1wiY29sdW1uc1wiXSwgbWVzc2FnZTogXCJBIGRhdGUgY29sdW1uIGlzIHJlcXVpcmVkLlwiIH0pO1xuICAgIH1cbiAgICBpZiAoIXZhbHVlLmNvbHVtbnMuc29tZSgoeyBnZW5lcmF0b3IgfSkgPT4gZ2VuZXJhdG9yID09PSBcImNhdGVnb3J5XCIpKSB7XG4gICAgICBjdHguYWRkSXNzdWUoe1xuICAgICAgICBjb2RlOiBcImN1c3RvbVwiLFxuICAgICAgICBwYXRoOiBbXCJjb2x1bW5zXCJdLFxuICAgICAgICBtZXNzYWdlOiBcIkEgY2F0ZWdvcnkgY29sdW1uIGlzIHJlcXVpcmVkLlwiLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IG51bWVyaWMgPSBuZXcgU2V0KFxuICAgICAgdmFsdWUuY29sdW1ucy5maWx0ZXIoKHsgZ2VuZXJhdG9yIH0pID0+IGdlbmVyYXRvciA9PT0gXCJudW1iZXJcIikubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSksXG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IFtpbmRleCwgbWV0cmljXSBvZiB2YWx1ZS5tZXRyaWNzLmVudHJpZXMoKSkge1xuICAgICAgaWYgKG1ldHJpYy5hZ2dyZWdhdGlvbiAhPT0gXCJjb3VudFwiICYmICghbWV0cmljLmNvbHVtbiB8fCAhbnVtZXJpYy5oYXMobWV0cmljLmNvbHVtbikpKSB7XG4gICAgICAgIGN0eC5hZGRJc3N1ZSh7XG4gICAgICAgICAgY29kZTogXCJjdXN0b21cIixcbiAgICAgICAgICBwYXRoOiBbXCJtZXRyaWNzXCIsIGluZGV4LCBcImNvbHVtblwiXSxcbiAgICAgICAgICBtZXNzYWdlOiBcIlN1bSBhbmQgYXZlcmFnZSBtZXRyaWNzIHJlcXVpcmUgYSBnZW5lcmF0ZWQgbnVtZXJpYyBjb2x1bW4uXCIsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfSlcbiAgLmRlc2NyaWJlKFwiVmFsaWRhdGVkIHBsYW4gZm9yIGRldGVybWluaXN0aWMgc3ludGhldGljIGRhdGEgYW5kIGFuYWx5dGljcyBhc3NldHMuXCIpO1xuXG4vKiogU3RydWN0dXJlZCBnZW5lcmF0b3IgcGxhbi4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyYXRvclBsYW4gPSB6LmluZmVyPHR5cGVvZiBHZW5lcmF0b3JQbGFuU2NoZW1hPjtcblxuLyoqIElucHV0IGZvciB0aGUgc3RhbmRhbG9uZSBzdHJ1Y3R1cmVkIGRhdGEtcGxhbm5pbmcgdG9vbC4gKi9cbmV4cG9ydCBjb25zdCBQbGFuR2VuZXJhdG9yRGF0YVJlcXVlc3RTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIHJlcXVlc3Q6IEdlbmVyYXRvclJlcXVlc3RTY2hlbWEsXG4gICAgYnJhbmQ6IEJyYW5kUGFja2FnZVNjaGVtYSxcbiAgICBrcGlSZXNlYXJjaDogS3BpUmVzZWFyY2hSZXN1bHRTY2hlbWEsXG4gIH0pXG4gIC5zdHJpY3QoKVxuICAuZGVzY3JpYmUoXCJJbnB1dHMgbmVlZGVkIHRvIGJ1aWxkIGEgdHlwZWQgZ2VuZXJhdG9yIHBsYW4uXCIpO1xuXG4vKiogSW5wdXQgZm9yIHRoZSBzdGFuZGFsb25lIHN0cnVjdHVyZWQgZGF0YS1wbGFubmluZyB0b29sLiAqL1xuZXhwb3J0IHR5cGUgUGxhbkdlbmVyYXRvckRhdGFSZXF1ZXN0ID0gei5pbmZlcjx0eXBlb2YgUGxhbkdlbmVyYXRvckRhdGFSZXF1ZXN0U2NoZW1hPjtcblxuLyoqIExvY2F0aW9uIGFuZCB0cnVzdGVkIGlkZW50aXR5IGZvciBvbmUgZ2VuZXJhdGVkIHNjaGVtYS4gKi9cbmV4cG9ydCBjb25zdCBHZW5lcmF0ZWRTY2hlbWFTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIGNhdGFsb2c6IGlkZW50aWZpZXIuZGVzY3JpYmUoXCJDb25maWd1cmVkIFVuaXR5IENhdGFsb2cuXCIpLFxuICAgIHNjaGVtYTogaWRlbnRpZmllci5kZXNjcmliZShcIlBlci11c2VyIGdlbmVyYXRlZCBzY2hlbWEuXCIpLFxuICAgIGZ1bGxOYW1lOiBub25CbGFua1N0cmluZy5kZXNjcmliZShcIlF1b3RlZC1zYWZlIGNhdGFsb2cuc2NoZW1hIGRpc3BsYXkgbmFtZS5cIiksXG4gICAgcHJpbmNpcGFsOiBub25CbGFua1N0cmluZy5kZXNjcmliZShcIlRydXN0ZWQgT0JPIERhdGFicmlja3MgdXNlciBuYW1lLlwiKSxcbiAgfSlcbiAgLnN0cmljdCgpXG4gIC5kZXNjcmliZShcIlByb3Zpc2lvbmVkIHBlci11c2VyIFVuaXR5IENhdGFsb2cgc2NoZW1hLlwiKTtcblxuLyoqIFByb3Zpc2lvbmVkIGdlbmVyYXRlZCBzY2hlbWEuICovXG5leHBvcnQgdHlwZSBHZW5lcmF0ZWRTY2hlbWEgPSB6LmluZmVyPHR5cGVvZiBHZW5lcmF0ZWRTY2hlbWFTY2hlbWE+O1xuXG4vKiogSW5wdXQgZm9yIHBlci11c2VyIHNjaGVtYSBwcm92aXNpb25pbmcuICovXG5leHBvcnQgY29uc3QgUHJvdmlzaW9uR2VuZXJhdG9yU2NoZW1hUmVxdWVzdFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgcmVxdWVzdDogR2VuZXJhdG9yUmVxdWVzdFNjaGVtYS5waWNrKHsgY29tcGFueTogdHJ1ZSwgcHVycG9zZTogdHJ1ZSB9KSxcbiAgfSlcbiAgLnN0cmljdCgpXG4gIC5kZXNjcmliZShcIlJlcXVlc3QgdG8gcHJvdmlzaW9uIHRoZSBhY3RpdmUgdXNlcidzIGdlbmVyYXRlZCBzY2hlbWEuXCIpO1xuXG4vKiogSW5wdXQgZm9yIHBlci11c2VyIHNjaGVtYSBwcm92aXNpb25pbmcuICovXG5leHBvcnQgdHlwZSBQcm92aXNpb25HZW5lcmF0b3JTY2hlbWFSZXF1ZXN0ID0gei5pbmZlcjx0eXBlb2YgUHJvdmlzaW9uR2VuZXJhdG9yU2NoZW1hUmVxdWVzdFNjaGVtYT47XG5cbi8qKiBJbnB1dCBmb3IgZ2VuZXJhdGVkIGRhdGEgbWF0ZXJpYWxpemF0aW9uLiAqL1xuZXhwb3J0IGNvbnN0IE1hdGVyaWFsaXplR2VuZXJhdG9yRGF0YVJlcXVlc3RTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIGxvY2F0aW9uOiBHZW5lcmF0ZWRTY2hlbWFTY2hlbWEsXG4gICAgcGxhbjogR2VuZXJhdG9yUGxhblNjaGVtYSxcbiAgfSlcbiAgLnN0cmljdCgpXG4gIC5kZXNjcmliZShcIlJlcXVlc3QgdG8gbWF0ZXJpYWxpemUgYW5kIHZhbGlkYXRlIGdlbmVyYXRlZCBEZWx0YSBkYXRhLlwiKTtcblxuLyoqIElucHV0IGZvciBnZW5lcmF0ZWQgZGF0YSBtYXRlcmlhbGl6YXRpb24uICovXG5leHBvcnQgdHlwZSBNYXRlcmlhbGl6ZUdlbmVyYXRvckRhdGFSZXF1ZXN0ID0gei5pbmZlcjx0eXBlb2YgTWF0ZXJpYWxpemVHZW5lcmF0b3JEYXRhUmVxdWVzdFNjaGVtYT47XG5cbi8qKiBDcmVhdGVkIHRhYmxlcyBhbmQgS1BJIHZhbGlkYXRpb24gc3RhdGVtZW50cy4gKi9cbmV4cG9ydCBjb25zdCBNYXRlcmlhbGl6ZWRHZW5lcmF0b3JEYXRhU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICB0YWJsZXM6IHouYXJyYXkobm9uQmxhbmtTdHJpbmcpLm1pbigxKS5kZXNjcmliZShcIkNyZWF0ZWQgZnVsbHkgcXVhbGlmaWVkIERlbHRhIHRhYmxlcy5cIiksXG4gICAgdmFsaWRhdGlvblN0YXRlbWVudHM6IHpcbiAgICAgIC5yZWNvcmQoaWRlbnRpZmllciwgbm9uQmxhbmtTdHJpbmcpXG4gICAgICAuZGVzY3JpYmUoXCJTdGF0ZW1lbnQgSURzIGtleWVkIGJ5IHZhbGlkYXRlZCBLUEkgbmFtZS5cIiksXG4gIH0pXG4gIC5zdHJpY3QoKVxuICAuZGVzY3JpYmUoXCJNYXRlcmlhbGl6ZWQgYW5kIHZhbGlkYXRlZCBnZW5lcmF0ZWQgZGF0YS5cIik7XG5cbi8qKiBDcmVhdGVkIHRhYmxlcyBhbmQgS1BJIHZhbGlkYXRpb24gc3RhdGVtZW50cy4gKi9cbmV4cG9ydCB0eXBlIE1hdGVyaWFsaXplZEdlbmVyYXRvckRhdGEgPSB6LmluZmVyPHR5cGVvZiBNYXRlcmlhbGl6ZWRHZW5lcmF0b3JEYXRhU2NoZW1hPjtcblxuLyoqIElucHV0IHNoYXJlZCBieSBkYXNoYm9hcmQgYW5kIHN0YW5kYWxvbmUgR2VuaWUgY3JlYXRpb24gdG9vbHMuICovXG5leHBvcnQgY29uc3QgQ3JlYXRlR2VuZXJhdG9yUHJlc2VudGF0aW9uUmVxdWVzdFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgcmVxdWVzdDogR2VuZXJhdG9yUmVxdWVzdFNjaGVtYS5waWNrKHtcbiAgICAgIGNvbXBhbnk6IHRydWUsXG4gICAgICBwdXJwb3NlOiB0cnVlLFxuICAgIH0pLFxuICAgIGxvY2F0aW9uOiBHZW5lcmF0ZWRTY2hlbWFTY2hlbWEsXG4gICAgcGxhbjogR2VuZXJhdG9yUGxhblNjaGVtYSxcbiAgICBicmFuZDogQnJhbmRQYWNrYWdlU2NoZW1hLFxuICB9KVxuICAuc3RyaWN0KClcbiAgLmRlc2NyaWJlKFwiUmVxdWVzdCB0byBjcmVhdGUgYSBwcmVzZW50YXRpb24gYXNzZXQgb3ZlciBnZW5lcmF0ZWQgZGF0YS5cIik7XG5cbi8qKiBJbnB1dCBzaGFyZWQgYnkgZGFzaGJvYXJkIGFuZCBzdGFuZGFsb25lIEdlbmllIGNyZWF0aW9uIHRvb2xzLiAqL1xuZXhwb3J0IHR5cGUgQ3JlYXRlR2VuZXJhdG9yUHJlc2VudGF0aW9uUmVxdWVzdCA9IHouaW5mZXI8XG4gIHR5cGVvZiBDcmVhdGVHZW5lcmF0b3JQcmVzZW50YXRpb25SZXF1ZXN0U2NoZW1hXG4+O1xuXG4vKiogRGFzaGJvYXJkIG91dHB1dCB3aXRoIGl0cyBhdXRvbWF0aWMgY29tcGFuaW9uIEdlbmllIEFnZW50LiAqL1xuZXhwb3J0IGNvbnN0IEdlbmVyYXRlZERhc2hib2FyZFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgZGFzaGJvYXJkSWQ6IG5vbkJsYW5rU3RyaW5nLmRlc2NyaWJlKFwiQ3JlYXRlZCBMYWtldmlldyBkYXNoYm9hcmQgSUQuXCIpLFxuICAgIHBhdGg6IG5vbkJsYW5rU3RyaW5nLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJXb3Jrc3BhY2UgcGF0aCwgd2hlbiByZXR1cm5lZC5cIiksXG4gICAgY29tcGFuaW9uR2VuaWU6IHoubGl0ZXJhbChcIkFVVE9cIikuZGVzY3JpYmUoXCJEYXNoYm9hcmQtcHVibGlzaGVkIGNvbXBhbmlvbiBHZW5pZSBtb2RlLlwiKSxcbiAgfSlcbiAgLnN0cmljdCgpO1xuXG4vKiogUHVibGlzaGVkIGRhc2hib2FyZCB3aXRoIGF1dG9tYXRpYyBjb21wYW5pb24gR2VuaWUuICovXG5leHBvcnQgdHlwZSBHZW5lcmF0ZWREYXNoYm9hcmQgPSB6LmluZmVyPHR5cGVvZiBHZW5lcmF0ZWREYXNoYm9hcmRTY2hlbWE+O1xuXG4vKiogU3RhbmRhbG9uZSBHZW5pZSBvdXRwdXQgdXNlZCBvbmx5IHdoZW4gbm8gZGFzaGJvYXJkIGlzIHJlcXVlc3RlZC4gKi9cbmV4cG9ydCBjb25zdCBHZW5lcmF0ZWRHZW5pZVNwYWNlU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICBzcGFjZUlkOiBub25CbGFua1N0cmluZy5kZXNjcmliZShcIkNyZWF0ZWQgc3RhbmRhbG9uZSBHZW5pZSBzcGFjZSBJRC5cIiksXG4gICAgdGl0bGU6IG5vbkJsYW5rU3RyaW5nLmRlc2NyaWJlKFwiR2VuaWUgc3BhY2UgdGl0bGUuXCIpLFxuICB9KVxuICAuc3RyaWN0KCk7XG5cbi8qKiBDcmVhdGVkIHN0YW5kYWxvbmUgR2VuaWUgc3BhY2UuICovXG5leHBvcnQgdHlwZSBHZW5lcmF0ZWRHZW5pZVNwYWNlID0gei5pbmZlcjx0eXBlb2YgR2VuZXJhdGVkR2VuaWVTcGFjZVNjaGVtYT47XG5cbi8qKiBUZXJtaW5hbCB3b3JrZmxvdyBvdXRwdXQuICovXG5leHBvcnQgY29uc3QgR2VuZXJhdGVkQXNzZXRzU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICByZXF1ZXN0OiBHZW5lcmF0b3JSZXF1ZXN0U2NoZW1hLFxuICAgIHNjaGVtYTogR2VuZXJhdGVkU2NoZW1hU2NoZW1hLFxuICAgIHRhYmxlczogei5hcnJheShub25CbGFua1N0cmluZykubWluKDEpLmRlc2NyaWJlKFwiQ3JlYXRlZCBmdWxseSBxdWFsaWZpZWQgRGVsdGEgdGFibGVzLlwiKSxcbiAgICBicmFuZDogQnJhbmRQYWNrYWdlU2NoZW1hLFxuICAgIGtwaVJlc2VhcmNoOiBLcGlSZXNlYXJjaFJlc3VsdFNjaGVtYSxcbiAgICBwbGFuOiBHZW5lcmF0b3JQbGFuU2NoZW1hLFxuICAgIGRhc2hib2FyZDogR2VuZXJhdGVkRGFzaGJvYXJkU2NoZW1hLm9wdGlvbmFsKCksXG4gICAgZ2VuaWU6IEdlbmVyYXRlZEdlbmllU3BhY2VTY2hlbWEub3B0aW9uYWwoKSxcbiAgfSlcbiAgLnN0cmljdCgpXG4gIC5zdXBlclJlZmluZSgodmFsdWUsIGN0eCkgPT4ge1xuICAgIGlmICgodmFsdWUuZGFzaGJvYXJkID09PSB1bmRlZmluZWQpID09PSAodmFsdWUuZ2VuaWUgPT09IHVuZGVmaW5lZCkpIHtcbiAgICAgIGN0eC5hZGRJc3N1ZSh7XG4gICAgICAgIGNvZGU6IFwiY3VzdG9tXCIsXG4gICAgICAgIG1lc3NhZ2U6IFwiRXhhY3RseSBvbmUgZGFzaGJvYXJkIG9yIHN0YW5kYWxvbmUgR2VuaWUgc3BhY2UgaXMgcmVxdWlyZWQuXCIsXG4gICAgICB9KTtcbiAgICB9XG4gIH0pXG4gIC5kZXNjcmliZShcIkdlbmVyYXRlZCBEYXRhYnJpY2tzIGRhdGEgYW5kIHByZXNlbnRhdGlvbiBhc3NldHMuXCIpO1xuXG4vKiogVGVybWluYWwgZ2VuZXJhdG9yIHdvcmtmbG93IG91dHB1dC4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyYXRlZEFzc2V0cyA9IHouaW5mZXI8dHlwZW9mIEdlbmVyYXRlZEFzc2V0c1NjaGVtYT47XG4iXX0=
package/package.json CHANGED
@@ -22,7 +22,7 @@
22
22
  "typescript": "^5.9.3"
23
23
  },
24
24
  "dependencies": {
25
- "@dbx-tools/shared-core": "0.9.204",
25
+ "@dbx-tools/shared-core": "0.9.205",
26
26
  "zod": "4.3.6"
27
27
  },
28
28
  "main": "./lib/index.js",
@@ -39,7 +39,7 @@
39
39
  "./package.json": "./package.json"
40
40
  }
41
41
  },
42
- "version": "0.9.204",
42
+ "version": "0.9.205",
43
43
  "types": "./lib/index.d.ts",
44
44
  "dbxToolsConfig": {
45
45
  "tags": [
package/src/workflow.ts CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  import { z } from "zod";
8
8
  import { BrandPackageSchema } from "./brand.ts";
9
- import { KpiResearchResultSchema, ResearchedKpiSchema } from "./kpi.ts";
9
+ import { KpiResearchRequestSchema, KpiResearchResultSchema, ResearchedKpiSchema } from "./kpi.ts";
10
10
 
11
11
  const nonBlankString = z.string().trim().min(1);
12
12
  const identifier = z.string().regex(/^[a-z][a-z0-9_]*$/, "Expected a lowercase SQL identifier.");
@@ -18,31 +18,19 @@ export const PresentationModeSchema = z.enum(["dashboard", "genie"]);
18
18
  export type PresentationMode = z.infer<typeof PresentationModeSchema>;
19
19
 
20
20
  /** Complete input for the governed generator workflow. */
21
- export const GeneratorRequestSchema = z
22
- .object({
23
- company: nonBlankString.max(200).describe("Company or brand represented by the demo."),
24
- purpose: nonBlankString.max(200).describe("Short purpose used in schema and asset names."),
25
- queries: z
26
- .array(nonBlankString.max(500))
27
- .min(1)
28
- .max(10)
29
- .describe("Business questions that shape KPI research and generated data."),
30
- website: z
31
- .string()
32
- .url()
33
- .optional()
34
- .describe("Known company website for brand disambiguation."),
35
- presentation: PresentationModeSchema.default("dashboard").describe(
36
- "Dashboard with automatic companion Genie, or standalone Genie without a dashboard.",
37
- ),
38
- rowCount: z
39
- .number()
40
- .int()
41
- .min(1_000)
42
- .max(100_000)
43
- .default(50_000)
44
- .describe("Rows generated in the primary fact table."),
45
- })
21
+ export const GeneratorRequestSchema = KpiResearchRequestSchema.extend({
22
+ website: z.string().url().optional().describe("Known company website for brand disambiguation."),
23
+ presentation: PresentationModeSchema.default("dashboard").describe(
24
+ "Dashboard with automatic companion Genie, or standalone Genie without a dashboard.",
25
+ ),
26
+ rowCount: z
27
+ .number()
28
+ .int()
29
+ .min(1_000)
30
+ .max(100_000)
31
+ .default(50_000)
32
+ .describe("Rows generated in the primary fact table."),
33
+ })
46
34
  .strict()
47
35
  .describe("Request for a per-user Databricks demo data environment.");
48
36