@servicenow/sdk-build-core 4.4.1 → 4.6.0

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.
Files changed (56) hide show
  1. package/dist/compression.d.ts +2 -1
  2. package/dist/compression.js +5 -2
  3. package/dist/compression.js.map +1 -1
  4. package/dist/keys-registry.d.ts +2 -1
  5. package/dist/keys-registry.js +15 -15
  6. package/dist/keys-registry.js.map +1 -1
  7. package/dist/now-config.d.ts +476 -5
  8. package/dist/now-config.js +165 -1
  9. package/dist/now-config.js.map +1 -1
  10. package/dist/plugins/index.d.ts +1 -0
  11. package/dist/plugins/index.js +1 -0
  12. package/dist/plugins/index.js.map +1 -1
  13. package/dist/plugins/plugin.d.ts +17 -18
  14. package/dist/plugins/plugin.js +52 -31
  15. package/dist/plugins/plugin.js.map +1 -1
  16. package/dist/plugins/post-install.d.ts +31 -0
  17. package/dist/plugins/post-install.js +3 -0
  18. package/dist/plugins/post-install.js.map +1 -0
  19. package/dist/plugins/shape.js +4 -1
  20. package/dist/plugins/shape.js.map +1 -1
  21. package/dist/taxonomy.js +50 -0
  22. package/dist/taxonomy.js.map +1 -1
  23. package/dist/telemetry/clients/abstract-client.d.ts +23 -2
  24. package/dist/telemetry/clients/abstract-client.js +80 -0
  25. package/dist/telemetry/clients/abstract-client.js.map +1 -1
  26. package/dist/telemetry/clients/browser-client.d.ts +15 -9
  27. package/dist/telemetry/clients/browser-client.js +8 -82
  28. package/dist/telemetry/clients/browser-client.js.map +1 -1
  29. package/dist/telemetry/clients/node-client.d.ts +28 -6
  30. package/dist/telemetry/clients/node-client.js +37 -101
  31. package/dist/telemetry/clients/node-client.js.map +1 -1
  32. package/dist/telemetry/factory.js +4 -6
  33. package/dist/telemetry/factory.js.map +1 -1
  34. package/dist/telemetry/types.d.ts +1 -1
  35. package/dist/typescript.d.ts +8 -0
  36. package/dist/typescript.js +12 -1
  37. package/dist/typescript.js.map +1 -1
  38. package/dist/xml.js +3 -1
  39. package/dist/xml.js.map +1 -1
  40. package/now.config.schema.json +386 -2
  41. package/package.json +5 -6
  42. package/src/compression.ts +7 -2
  43. package/src/keys-registry.ts +14 -12
  44. package/src/now-config.ts +204 -1
  45. package/src/plugins/index.ts +1 -0
  46. package/src/plugins/plugin.ts +86 -63
  47. package/src/plugins/post-install.ts +34 -0
  48. package/src/plugins/shape.ts +4 -1
  49. package/src/taxonomy.ts +53 -0
  50. package/src/telemetry/clients/abstract-client.ts +104 -3
  51. package/src/telemetry/clients/browser-client.ts +12 -95
  52. package/src/telemetry/clients/node-client.ts +39 -114
  53. package/src/telemetry/factory.ts +5 -8
  54. package/src/telemetry/types.ts +2 -1
  55. package/src/typescript.ts +12 -1
  56. package/src/xml.ts +4 -1
@@ -38,6 +38,160 @@ exports.MODULE_RESOLUTION = {
38
38
  V1: '1.0.0',
39
39
  V2: '2.0.0',
40
40
  };
41
+ // ============================================================================
42
+ // Application Runtime Policy Schemas
43
+ // ============================================================================
44
+ /**
45
+ * Network Policy Schema
46
+ * Defines network access policies for the application (sys_arp_network_policy)
47
+ */
48
+ const NetworkPolicySchema = z
49
+ .object({
50
+ $id: z
51
+ .string()
52
+ .regex(/^[0-9a-f]{32}$/, 'Must be a 32-character lowercase hexadecimal string')
53
+ .optional(),
54
+ active: z.boolean().default(true),
55
+ policyType: z.enum([
56
+ 'csp_script_src',
57
+ 'csp_connect_src',
58
+ 'now_inbound_scoped',
59
+ 'now_inbound_global',
60
+ 'now_outbound',
61
+ ]),
62
+ status: z.enum(['requested', 'allowed', 'denied']),
63
+ host: z
64
+ .string()
65
+ .max(253)
66
+ .regex(/^[a-z][a-z0-9+.-]*:\/\/[^/\s]+$/, 'Host must include scheme (e.g., https://api.example.com) and cannot contain paths')
67
+ .optional(),
68
+ scheme: z.enum(['http', 'https', 'ws', 'wss']).optional(),
69
+ path: z.array(z.string().max(1000)).max(100).optional(),
70
+ resource: z
71
+ .string()
72
+ .max(4000)
73
+ .regex(/^[^\s,\n\r]+\.[^\s,\n\r]+(\.[^\s,\n\r]+)?$/, 'Resource must be "processor.subprocessor" or "processor.subprocessor.context" without spaces or commas')
74
+ .optional(),
75
+ shortDescription: z.string().max(1024).optional(),
76
+ })
77
+ .refine((data) => {
78
+ // Validate conditional field requirements based on policy type
79
+ const { policyType, host, scheme, path, resource } = data;
80
+ switch (policyType) {
81
+ case 'csp_script_src':
82
+ case 'csp_connect_src':
83
+ // Host required, resource must be empty
84
+ if (!host || !host.trim()) {
85
+ return false;
86
+ }
87
+ if (resource && resource.trim()) {
88
+ return false;
89
+ }
90
+ break;
91
+ case 'now_inbound_global':
92
+ // Scheme required, host must be empty, path required, resource must be empty
93
+ if (!scheme || !scheme.trim()) {
94
+ return false;
95
+ }
96
+ if (host && host.trim()) {
97
+ return false;
98
+ }
99
+ if (!path || path.length === 0) {
100
+ return false;
101
+ }
102
+ if (resource && resource.trim()) {
103
+ return false;
104
+ }
105
+ break;
106
+ case 'now_outbound':
107
+ // Host required, resource must be empty
108
+ if (!host || !host.trim()) {
109
+ return false;
110
+ }
111
+ if (resource && resource.trim()) {
112
+ return false;
113
+ }
114
+ break;
115
+ case 'now_inbound_scoped': {
116
+ // Host must be empty, either path or resource (not both)
117
+ if (host && host.trim()) {
118
+ return false;
119
+ }
120
+ const hasResource = resource && resource.trim();
121
+ const hasPath = path && path.length > 0;
122
+ if (!hasResource && !hasPath) {
123
+ return false;
124
+ }
125
+ if (hasResource && hasPath) {
126
+ return false;
127
+ }
128
+ break;
129
+ }
130
+ }
131
+ return true;
132
+ }, {
133
+ message: 'Field requirements not met for policy type',
134
+ });
135
+ /**
136
+ * Network Pillar Schema for Wildcard Policy
137
+ */
138
+ const NetworkPillarSchema = z.object({
139
+ active: z.boolean().default(false),
140
+ networkWildcard: z
141
+ .array(z.enum(['now_outbound', 'now_inbound_global', 'now_inbound_scoped', 'csp_connect_src', 'csp_script_src']))
142
+ .optional(),
143
+ });
144
+ /**
145
+ * Scripting Pillar Schema for Wildcard Policy
146
+ */
147
+ const ScriptingPillarSchema = z.object({
148
+ active: z.boolean().default(false),
149
+ scriptingWildcard: z.array(z.enum(['sys_script_include', 'scriptable'])).optional(),
150
+ });
151
+ /**
152
+ * ARL Pillar Schema for Wildcard Policy
153
+ */
154
+ const ArlPillarSchema = z.object({
155
+ active: z.boolean().default(false),
156
+ arlWildcard: z
157
+ .array(z.enum(['scheduled_job_limit', 'event_handler', 'api_transaction_limit', 'interactive_transaction_limit']))
158
+ .optional(),
159
+ });
160
+ /**
161
+ * Wildcard Policy Schema
162
+ * Defines wildcard/exemption policies for the application (sys_arp_segment_policy)
163
+ * Only one per application scope
164
+ */
165
+ const WildcardPolicySchema = z.object({
166
+ $id: z
167
+ .string()
168
+ .regex(/^[0-9a-f]{32}$/, 'Must be a 32-character lowercase hexadecimal string')
169
+ .optional(),
170
+ active: z.boolean().default(false),
171
+ shortDescription: z.string().max(1024).optional(),
172
+ record: z.boolean().default(false),
173
+ network: NetworkPillarSchema.optional(),
174
+ scripting: ScriptingPillarSchema.optional(),
175
+ arl: ArlPillarSchema.optional(),
176
+ });
177
+ /**
178
+ * Performance Policy Schema
179
+ * Defines resource limits for the application (sys_app_resource_limit_template)
180
+ * Only one per application scope
181
+ */
182
+ const PerformancePolicySchema = z.object({
183
+ $id: z
184
+ .string()
185
+ .regex(/^[0-9a-f]{32}$/, 'Must be a 32-character lowercase hexadecimal string')
186
+ .optional(),
187
+ name: z.string().max(100),
188
+ scheduledJobLimit: z.number().int().min(1).max(100).optional(),
189
+ eventHandlerLimit: z.number().int().min(1).max(100).optional(),
190
+ apiTransactionLimit: z.number().int().min(1).max(100).optional(),
191
+ interactiveTransactionLimit: z.number().int().min(1).max(100).optional(),
192
+ mode: z.enum(['disabled', 'enforced', 'logOnly']).optional(),
193
+ });
194
+ // ============================================================================
41
195
  const NowConfigSchema = z
42
196
  .object({
43
197
  scope: z.string(),
@@ -77,10 +231,14 @@ const NowConfigSchema = z
77
231
  tsconfigPath: z.string().optional(),
78
232
  scripts: z.record(z.string(), z.string()).default({}),
79
233
  tableOutputFormat: z.enum(['bootstrap', 'component']).default('bootstrap'),
80
- tableDefaultLanguage: z
234
+ defaultLanguage: z
81
235
  .string()
82
236
  .regex(/^[a-z]{2,3}(-[a-zA-Z0-9]{2,8})*$/)
83
237
  .default('en'),
238
+ tableDefaultLanguage: z // Deprecated — use defaultLanguage
239
+ .string()
240
+ .regex(/^[a-z]{2,3}(-[a-zA-Z0-9]{2,8})*$/)
241
+ .optional(),
84
242
  moduleDir: z.string().optional(), // Deprecated
85
243
  compileOutputDir: z.string().optional(), // Deprecated
86
244
  sourceDir: z.string().optional(), // Deprecated
@@ -118,6 +276,11 @@ const NowConfigSchema = z
118
276
  packageResolverVersion: z.string().optional(),
119
277
  type: z.enum(['configuration', 'package']).default('package'),
120
278
  taxonomy: taxonomy_1.taxonomy,
279
+ // Application Runtime Policy (ARP) fields
280
+ applicationRuntimePolicy: z.enum(['none', 'tracking', 'enforcing']).default('none'),
281
+ networkPolicies: z.array(NetworkPolicySchema).optional(),
282
+ wildcardPolicy: WildcardPolicySchema.optional(),
283
+ performancePolicy: PerformancePolicySchema.optional(),
121
284
  })
122
285
  .refine((data) => {
123
286
  if (!data.generatedDir.startsWith(data.fluentDir)) {
@@ -303,6 +466,7 @@ const DEPRECATED_FIELDS = {
303
466
  entitiesDir: { replacedBy: 'fluentDir', transfer: true },
304
467
  transpiledSourceDir: { replacedBy: 'modulePaths' },
305
468
  sourceDir: {},
469
+ tableDefaultLanguage: { replacedBy: 'defaultLanguage', transfer: true },
306
470
  };
307
471
  function replaceDeprecatedFields(config, logger) {
308
472
  for (const [name, { replacedBy, transfer }] of Object.entries(DEPRECATED_FIELDS)) {
@@ -1 +1 @@
1
- {"version":3,"file":"now-config.js","sourceRoot":"","sources":["../src/now-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"now-config.js","sourceRoot":"","sources":["../src/now-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAsD;AACtD,uCAAwB;AACxB,iCAA6B;AAC7B,6BAAiC;AAEjC,2CAAmF;AACnF,iCAAiC;AACjC,yCAAqC;AACrC,iCAA6B;AAC7B,yCAAqC;AACrC,uEAA8D;AAUjD,QAAA,iBAAiB,GAAG;IAC7B,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;CACd,CAAA;AAED,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAAC;KACxB,MAAM,CAAC;IACJ,GAAG,EAAE,CAAC;SACD,MAAM,EAAE;SACR,KAAK,CAAC,gBAAgB,EAAE,qDAAqD,CAAC;SAC9E,QAAQ,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACjC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC;QACf,gBAAgB;QAChB,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB;QACpB,cAAc;KACjB,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,KAAK,CACF,iCAAiC,EACjC,mFAAmF,CACtF;SACA,QAAQ,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACvD,QAAQ,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,IAAI,CAAC;SACT,KAAK,CACF,4CAA4C,EAC5C,wGAAwG,CAC3G;SACA,QAAQ,EAAE;IACf,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC;KACD,MAAM,CACH,CAAC,IAAI,EAAE,EAAE;IACL,+DAA+D;IAC/D,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;IAEzD,QAAQ,UAAU,EAAE,CAAC;QACjB,KAAK,gBAAgB,CAAC;QACtB,KAAK,iBAAiB;YAClB,wCAAwC;YACxC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAA;YAChB,CAAC;YACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAA;YAChB,CAAC;YACD,MAAK;QAET,KAAK,oBAAoB;YACrB,6EAA6E;YAC7E,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAA;YAChB,CAAC;YACD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAA;YAChB,CAAC;YACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAA;YAChB,CAAC;YACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAA;YAChB,CAAC;YACD,MAAK;QAET,KAAK,cAAc;YACf,wCAAwC;YACxC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAA;YAChB,CAAC;YACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAA;YAChB,CAAC;YACD,MAAK;QAET,KAAK,oBAAoB,CAAC,CAAC,CAAC;YACxB,yDAAyD;YACzD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAA;YAChB,CAAC;YACD,MAAM,WAAW,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAA;YAC/C,MAAM,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;YACvC,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3B,OAAO,KAAK,CAAA;YAChB,CAAC;YACD,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAA;YAChB,CAAC;YACD,MAAK;QACT,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAA;AACf,CAAC,EACD;IACI,OAAO,EAAE,4CAA4C;CACxD,CACJ,CAAA;AAIL;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,eAAe,EAAE,CAAC;SACb,KAAK,CACF,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAC5G;SACA,QAAQ,EAAE;CAClB,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtF,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,WAAW,EAAE,CAAC;SACT,KAAK,CACF,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE,eAAe,EAAE,uBAAuB,EAAE,+BAA+B,CAAC,CAAC,CAC7G;SACA,QAAQ,EAAE;CAClB,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,GAAG,EAAE,CAAC;SACD,MAAM,EAAE;SACR,KAAK,CAAC,gBAAgB,EAAE,qDAAqD,CAAC;SAC9E,QAAQ,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IACjD,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IACvC,SAAS,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC3C,GAAG,EAAE,eAAe,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAA;AAIF;;;;GAIG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,CAAC;SACD,MAAM,EAAE;SACR,KAAK,CAAC,gBAAgB,EAAE,qDAAqD,CAAC;SAC9E,QAAQ,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IACzB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC9D,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC9D,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAChE,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACxE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC/D,CAAC,CAAA;AAIF,+EAA+E;AAE/E,MAAM,eAAe,GAAG,CAAC;KACpB,MAAM,CAAC;IACJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChE,4BAA4B,EAAE,CAAC;SAC1B,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,OAAO,CAAC;QACL,SAAS;QACT,UAAU;QACV,SAAS;QACT,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,WAAW;KACd,CAAC;IACN,4BAA4B,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IACxG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IAC7C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjE,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;QACzD,mBAAmB,EAAE,oBAAoB;KAC5C,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3C,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3D,YAAY,EAAE,4CAAkB;IAChC,wBAAwB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzD,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACrD,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC1E,eAAe,EAAE,CAAC;SACb,MAAM,EAAE;SACR,KAAK,CAAC,kCAAkC,CAAC;SACzC,OAAO,CAAC,IAAI,CAAC;IAElB,oBAAoB,EAAE,CAAC,CAAC,mCAAmC;SACtD,MAAM,EAAE;SACR,KAAK,CAAC,kCAAkC,CAAC;SACzC,QAAQ,EAAE;IAEf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,aAAa;IAC/C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,aAAa;IACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,aAAa;IAC/C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,aAAa;IAEzD,oBAAoB;IACpB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,cAAc,EAAE,CAAC;SACZ,MAAM,CAAC;QACJ,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC5C,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACvC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5C,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACjC,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACxC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC;SACD,QAAQ,EAAE;IACf,SAAS,EAAE,CAAC;SACP,MAAM,CAAC;QACJ,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAClC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACtC,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACjD,CAAC;SACD,QAAQ,EAAE;IACf,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7C,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC7D,QAAQ,EAAR,mBAAQ;IAER,0CAA0C;IAC1C,wBAAwB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACnF,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IACxD,cAAc,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC/C,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE;CACxD,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;IACb,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,WAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,cAAc,GAmChB;QACA,kBAAkB;QAClB,aAAa;QACb,WAAW;QACX,WAAW;QACX,cAAc;QACd,kBAAkB;QAClB,cAAc;QACd,WAAW;QACX,qBAAqB;QACrB,eAAe;QACf,WAAW;QACX,kBAAkB;KACrB,CAAA;IAED,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,GAAG,WAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACzC,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;AACf,CAAC,CAAC,CAAA;AAEN,IAAiB,SAAS,CA4HzB;AA5HD,WAAiB,SAAS;IACT,mBAAS,GAAG,iBAAiB,CAAA;IAE7B,mCAAyB,GAAG;QACrC,mBAAmB,EAAE;;;;;;;;;;kFAUqD;KAC7E,CAAA;IAED;;;;;;;OAOG;IACU,eAAK,GAAG,CAAC,MAA+B,EAAE,MAAc,EAAa,EAAE;QAChF,sBAAsB,CAAC,MAAM,CAAC,CAAA;QAC9B,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACvC,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC,CAAA;IAEY,uBAAa,GAAG,CAAC,IAAY,EAAE,YAAmC,EAAE,MAAc,EAAa,EAAE;QAC1G,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;QAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAA;QAClE,CAAC;QAED,OAAO,UAAA,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC,CAAA;IAEY,4BAAkB,GAAG,CAAC,GAAW,EAAE,EAAc,EAAE,MAAc,EAAa,EAAE;QACzF,OAAO,UAAA,KAAK,CAAC,qBAAqB,CAAC,UAAA,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,IAAA,sBAAgB,EAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;IAC/G,CAAC,CAAA;IAEY,gBAAM,GAAG,CAAC,GAAW,EAAE,EAAc,EAAW,EAAE;QAC3D,IAAI,eAAU,CAAC,UAAU,CAAC,EAAE,EAAE,UAAA,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAA;QACf,CAAC;aAAM,IAAI,eAAU,CAAC,UAAU,CAAC,EAAE,EAAE,WAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,IAAI,IAAA,sBAAgB,EAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACvG,OAAO,IAAI,CAAA;QACf,CAAC;QACD,OAAO,KAAK,CAAA;IAChB,CAAC,CAAA;IAEY,qBAAW,GAAG,CAAC,OAAe,EAAU,EAAE;QACnD,OAAO,WAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAA,SAAS,CAAC,CAAA;IACxC,CAAC,CAAA;IAED,SAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,KAAgC,EAAE;QAC9E,OAAO,eAAe,CAAC,KAAK,CAAC;YACzB,KAAK,EAAE,KAAK,IAAI,QAAQ;YACxB,OAAO,EAAE,OAAO,IAAI,IAAA,WAAI,GAAE;YAC1B,GAAG,IAAI;SACV,CAAC,CAAA;IACN,CAAC;IANe,gBAAM,SAMrB,CAAA;IAED,SAAgB,IAAI,CAAC,EACjB,OAAO,EACP,QAAQ,EACR,UAAU,EACV,MAAM,GAMT;QACG,MAAM,cAAc,GAAG,UAAA,WAAW,CAAC,OAAO,CAAC,CAAA;QAC3C,IAAI,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC,aAAa,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QACpE,CAAC;QAED,IAAI,UAAA,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC,aAAa,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;QACtE,CAAC;QAED,OAAO,SAAS,CAAC,MAAM,EAAE,CAAA;IAC7B,CAAC;IArBe,cAAI,OAqBnB,CAAA;IAED,SAAgB,oBAAoB,CAChC,MAAiB,EACjB,WAAoB,EACpB,YAAqB,EACrB,GAAG,kBAA4B;QAE/B,IAAI,SAAS,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,IAAI,YAAY,EAAE,CAAC;gBACf,OAAO,WAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,kBAAkB,CAAC,CAAA;YACzD,CAAC;YACD,OAAO,WAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,GAAG,kBAAkB,CAAC,CAAA;QAChG,CAAC;QAED,OAAO,WAAI,CAAC,IAAI,CACZ,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EACzC,MAAM,CAAC,KAAK,EACZ,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,OAAO,EACnB,GAAG,kBAAkB,CACxB,CAAA;IACL,CAAC;IApBe,8BAAoB,uBAoBnC,CAAA;IAED,SAAgB,uBAAuB,CAAC,MAAiB;QACrD,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,sBAAsB,KAAK,yBAAiB,CAAC,EAAE,EAAE,CAAC;gBACtF,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;YACxF,CAAC;YACD,OAAO,MAAM,CAAC,sBAAsB,KAAK,yBAAiB,CAAC,EAAE,CAAA;QACjE,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAA;QAChB,CAAC;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAbe,iCAAuB,0BAatC,CAAA;AACL,CAAC,EA5HgB,SAAS,yBAAT,SAAS,QA4HzB;AAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;AAE9D,SAAS,iCAAiC,CAAC,IAAa;IACpD,MAAM,SAAS,GAAG,IAAI,sBAAmB,EAAE,CAAA;IAC3C,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;AACtD,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA+B;IAC3D,MAAM,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACzD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,YAAY,SAAS,CAAC,SAAS,WAAW,CAAA;QACvD,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAA;QACtF,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,eAAe,CAAC,IAAI,CAAA;AAC/B,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAgB,EAAE,YAAmC;IACpF,MAAM,IAAI,GAAY,IAAA,eAAQ,EAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,CAAC,CAAA;IAC1D,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,gBAAgB,SAAS,CAAC,SAAS,yBAAyB,CAAC,CAAA;IACjF,CAAC;IAED,MAAM,MAAM,GAAG,iCAAiC,CAAC,IAAI,CAAC,CAAA;IACtD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC,SAAS,aAAa,4BAA4B,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACrG,CAAC;IAED,OAAO,IAAI,CAAA;AACf,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAyB;IAC3D,OAAO,MAAM;SACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;SACzE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACP,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,CAAC,OAAO,KAAK,uCAAuC,EAAE,CAAC;gBACxD,OAAO,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAA;YAClC,CAAC;YAED,OAAO,CAAC,CAAC,OAAO,CAAA;QACpB,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;IAC/C,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;AACnB,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB,EAAE,YAAmC;IAChF,MAAM,MAAM,GACR,YAAY,YAAY,mBAAQ;QAC5B,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC;QACxC,CAAC,CAAC,eAAU,CAAC,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAEvD,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,yBAAyB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC5D,CAAC;IAED,OAAO,IAAI,CAAA;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAY;IACxC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAA;QAChB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAA;AACf,CAAC;AAED,MAAM,iBAAiB,GAAoC;IACvD,SAAS,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7D,gBAAgB,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;IAChE,WAAW,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;IACxD,mBAAmB,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE;IAClD,SAAS,EAAE,EAAE;IACb,oBAAoB,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;CAC1E,CAAA;AAED,SAAS,uBAAuB,CAAC,MAA+B,EAAE,MAAc;IAC5E,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC/E,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CACP,IAAI,IAAI,kBAAkB,UAAU,CAAC,CAAC,CAAC,0BAA0B,UAAU,GAAG,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAC3G,CAAA;YAED,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;gBACzB,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YACrC,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA2B;IACvD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACpF,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -8,3 +8,4 @@ export * from './project';
8
8
  export * from './database';
9
9
  export * from './time';
10
10
  export * from './usage';
11
+ export * from './post-install';
@@ -24,4 +24,5 @@ __exportStar(require("./project"), exports);
24
24
  __exportStar(require("./database"), exports);
25
25
  __exportStar(require("./time"), exports);
26
26
  __exportStar(require("./usage"), exports);
27
+ __exportStar(require("./post-install"), exports);
27
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,+CAA4B;AAC5B,yCAAsB;AACtB,4CAAyB;AACzB,2CAAwB;AACxB,4CAAyB;AACzB,4CAAyB;AACzB,6CAA0B;AAC1B,yCAAsB;AACtB,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,+CAA4B;AAC5B,yCAAsB;AACtB,4CAAyB;AACzB,2CAAwB;AACxB,4CAAyB;AACzB,4CAAyB;AACzB,6CAA0B;AAC1B,yCAAsB;AACtB,0CAAuB;AACvB,iDAA8B"}
@@ -1,5 +1,5 @@
1
1
  import { type SupportedKindName, type SupportedNode, type SupportedNodeByKindName, ts } from '../typescript';
2
- import { type ObjectShape, type Record, type Shape, type ShapeClass, type StringShape } from './shape';
2
+ import { DeletedShape, type ObjectShape, type Record, type Shape, type ShapeClass, type StringShape } from './shape';
3
3
  import type { File, OutputFile } from './file';
4
4
  import { Database } from './database';
5
5
  import type { Context as BaseContext } from './context';
@@ -9,10 +9,12 @@ export type Result<Value = unknown> = {
9
9
  } | {
10
10
  success: true;
11
11
  value: Value;
12
+ reclaimedRecords?: DeletedShape[];
12
13
  } | {
13
14
  success: 'partial';
14
15
  value: Value;
15
16
  unhandledRecords: Record[];
17
+ reclaimedRecords?: DeletedShape[];
16
18
  };
17
19
  export type CommitResult = {
18
20
  success: boolean;
@@ -41,15 +43,10 @@ export type Relationship = {
41
43
  * properties, where each is a tuple: [columnName, regexPattern]. The regex extracts
42
44
  * values from the respective columns using capturing groups, and records are related
43
45
  * if all captured groups match between parent and child
44
- * - Function: Takes the parent and child records as arguments and returns a boolean to
45
- * indicate whether the records are related or not (WARNING: Do not use this
46
- * unless absolutely necessary as it can negatively impact performance and
47
- * cannot be serialized by the relationship resolver, requiring changes to
48
- * the REST API it invokes)
49
46
  */
50
47
  via: string | {
51
48
  [column: string]: string;
52
- } | ((parent: Record, child: Record) => boolean) | {
49
+ } | {
53
50
  parent: [string, string];
54
51
  child: [string, string];
55
52
  }[];
@@ -76,11 +73,6 @@ export type PluginApiDoc = {
76
73
  * This is the callee name used in fluent code.
77
74
  */
78
75
  apiName: string;
79
- /**
80
- * Uses module-specifier path to the markdown documentation file for this API relative to the SDK root.
81
- * For example, @servicenow/sdk/docs/BusinessRule/BusinessRule.md
82
- */
83
- docPath: string;
84
76
  /**
85
77
  * Tags for categorizing and organizing the API documentation
86
78
  */
@@ -88,7 +80,6 @@ export type PluginApiDoc = {
88
80
  };
89
81
  /**
90
82
  * Manifest structure for API documentation.
91
- * This is the opinionated format returned by getDocsMetadata().
92
83
  */
93
84
  export type DocsManifest = {
94
85
  [apiName: string]: {
@@ -106,7 +97,7 @@ export type PluginConfig<Nodes extends SupportedKindName[] = SupportedKindName[]
106
97
  * Documentation for the APIs provided by this plugin. This is used to automatically
107
98
  * generate documentation that can be retrieved via the getDocsMetadata() method.
108
99
  */
109
- docs?: PluginApiDoc[];
100
+ docs: PluginApiDoc[];
110
101
  /**
111
102
  * The TypeScript AST nodes this plugin handles. Plugins that do not introduce new
112
103
  * syntax should not need to define any handlers here.
@@ -529,11 +520,14 @@ export declare class Plugin {
529
520
  getName(): string;
530
521
  /**
531
522
  * Get documentation metadata for APIs provided by this plugin.
532
- * Returns a manifest object with raw (unresolved) documentation paths.
533
- * Path resolution is handled by PluginRegistry.getDocsMetadata() using the isomorphic resolver.
534
523
  */
535
- getDocsMetadata(): DocsManifest | undefined;
524
+ getDocsMetadata(): {
525
+ [apiName: string]: {
526
+ tags: string[];
527
+ };
528
+ } | undefined;
536
529
  getDescendants(parent: Record, database: Database): Record[];
530
+ private traverseDescendants;
537
531
  getCoalesceStrategy(table: string): CoalesceStrategy | undefined;
538
532
  getCoalesceTables(): string[];
539
533
  getTables(relationships?: Relationships, tables?: string[]): Set<string>;
@@ -585,6 +579,7 @@ export declare class Plugins {
585
579
  private readonly plugins;
586
580
  constructor(plugins: Plugin[]);
587
581
  toArray(): Plugin[];
582
+ remove(name: string): void;
588
583
  prepend(...plugins: Plugin[]): void;
589
584
  append(...plugins: Plugin[]): void;
590
585
  getCoalesceStrategy(table: string): CoalesceStrategy | undefined;
@@ -594,6 +589,10 @@ export declare class Plugins {
594
589
  [column: string]: string;
595
590
  };
596
591
  isEntryPoint(pathOrNode: string | SupportedNode, context: Omit<Context, 'self'>): Promise<boolean>;
597
- getDocsMetadata(): DocsManifest;
592
+ getDocsMetadata(): {
593
+ [apiName: string]: {
594
+ tags: string[];
595
+ };
596
+ };
598
597
  }
599
598
  export {};
@@ -176,8 +176,6 @@ class Plugin {
176
176
  }
177
177
  /**
178
178
  * Get documentation metadata for APIs provided by this plugin.
179
- * Returns a manifest object with raw (unresolved) documentation paths.
180
- * Path resolution is handled by PluginRegistry.getDocsMetadata() using the isomorphic resolver.
181
179
  */
182
180
  getDocsMetadata() {
183
181
  if (!this.config.docs) {
@@ -185,21 +183,23 @@ class Plugin {
185
183
  }
186
184
  const manifest = {};
187
185
  for (const doc of this.config.docs) {
188
- manifest[doc.apiName] = {
189
- docPath: doc.docPath,
190
- tags: doc.tags,
191
- };
186
+ manifest[doc.apiName] = { tags: doc.tags };
192
187
  }
193
188
  return manifest;
194
189
  }
195
190
  getDescendants(parent, database) {
191
+ return this.traverseDescendants(parent, database);
192
+ }
193
+ traverseDescendants(parent, database, visited = new Set()) {
194
+ visited.add(parent.getId().getValue());
196
195
  const descendantRelationships = Object.entries(this.relationships[parent.getTable()] ?? {}).filter(([, { descendant }]) => descendant);
197
196
  const descendants = [];
198
197
  const push = (children) => {
199
198
  for (const child of [children].flat()) {
200
- if (child && parent !== child) {
199
+ if (child && !visited.has(child.getId().getValue())) {
200
+ visited.add(child.getId().getValue());
201
201
  descendants.push(child);
202
- descendants.push(...this.getDescendants(child, database));
202
+ descendants.push(...this.traverseDescendants(child, database, visited));
203
203
  }
204
204
  }
205
205
  };
@@ -216,23 +216,24 @@ class Plugin {
216
216
  push(database.query(childTable, { [via]: parent.toString().getValue() }));
217
217
  }
218
218
  }
219
- else if (typeof via === 'function') {
220
- push(database.query(childTable).filter((child) => via(parent, child)));
221
- }
222
219
  else if (Array.isArray(via)) {
223
220
  push(database.query(childTable).filter((child) => {
224
221
  for (const entry of via) {
225
222
  const { parent: [pCol, pReg], child: [cCol, cReg], } = entry;
226
- const parentValue = parent
227
- .get(pCol)
228
- .ifString()
229
- ?.asString(`Expected string value for column ${pCol} in regex-based via relationship`)
230
- .getValue();
231
- const childValue = child
232
- .get(cCol)
233
- .ifString()
234
- ?.asString(`Expected string value for column ${cCol} in regex-based via relationship`)
235
- .getValue();
223
+ const parentValue = pCol === 'sys_id'
224
+ ? parent.getId().getValue()
225
+ : parent
226
+ .get(pCol)
227
+ .ifString()
228
+ ?.asString(`Expected string value for column ${pCol} in regex-based via relationship`)
229
+ .getValue();
230
+ const childValue = cCol === 'sys_id'
231
+ ? child.getId().getValue()
232
+ : child
233
+ .get(cCol)
234
+ .ifString()
235
+ ?.asString(`Expected string value for column ${cCol} in regex-based via relationship`)
236
+ .getValue();
236
237
  if (!parentValue || !childValue) {
237
238
  return false;
238
239
  }
@@ -413,6 +414,8 @@ class Plugin {
413
414
  async recordsToShapes({ database, creatorOnly, changedOnly = false, mode, handledRecords, context, }) {
414
415
  let success = false;
415
416
  const shapes = [];
417
+ const unhandledRecords = [];
418
+ const unhandledRecordIds = new Set();
416
419
  for (const [table, { toShape }] of Object.entries(this.config.records ?? {})) {
417
420
  if (!toShape) {
418
421
  continue;
@@ -456,32 +459,44 @@ class Plugin {
456
459
  database,
457
460
  descendants: nonDeletedDescendants,
458
461
  });
459
- // Track unhandled records to avoid marking them as handled
460
- const unhandledRecords = [];
461
- const unhandledRecordIds = [];
462
462
  if (result.success === 'partial') {
463
463
  for (const unhandledRecord of result.unhandledRecords) {
464
464
  unhandledRecords.push(unhandledRecord);
465
- unhandledRecordIds.push(unhandledRecord.getId().getValue());
465
+ unhandledRecordIds.add(unhandledRecord.getId().getValue());
466
466
  }
467
467
  }
468
+ if (result.success !== false && result.reclaimedRecords && result.reclaimedRecords.length > 0) {
469
+ // These records may have been deferred by the plugin in the past, but now they are handled.
470
+ // The plugin is choosing to remove the old representation of these records
471
+ shapes.push(...[result.reclaimedRecords].flat());
472
+ }
468
473
  if (result.success) {
469
474
  success = true;
470
475
  handledRecords.insert(record);
471
476
  shapes.push(...[result.value].flat());
472
477
  // Mark all descendants as handled
473
478
  for (const descendant of [...deletedDescendants, ...nonDeletedDescendants]) {
474
- if (!unhandledRecordIds.includes(descendant.getId().getValue())) {
475
- handledRecords.insert(descendant);
479
+ if (!unhandledRecordIds.has(descendant.getId().getValue())) {
480
+ // This descendent was known to the plugin because it is not deleted, and handling was deferred
481
+ // delete_multiple should also be marked 'handled'
482
+ if (descendant.getAction() !== 'DELETE') {
483
+ handledRecords.insert(descendant);
484
+ }
485
+ else if (!descendant.getCreator() ||
486
+ !record.getCreator() ||
487
+ descendant.getCreator().getName() === record.getCreator().getName()) {
488
+ // This descendant is handled by the same plugin that handled the root record
489
+ handledRecords.insert(descendant);
490
+ }
476
491
  }
477
492
  }
478
- context.logger.debug(`Plugin ${this.getName()} deferred handling of records: ${unhandledRecords.map((r) => r.getTable() + '_' + r.getId().getValue()).join(', ')}`);
479
- if (unhandledRecords.length > 0) {
480
- return { success: 'partial', value: shapes, unhandledRecords };
481
- }
482
493
  }
483
494
  }
484
495
  }
496
+ if (unhandledRecords.length > 0) {
497
+ context.logger.debug(`Plugin ${this.getName()} deferred handling of records: ${unhandledRecords.map((r) => r.getTable() + '_' + r.getId().getValue()).join(', ')}`);
498
+ return { success: 'partial', value: shapes, unhandledRecords };
499
+ }
485
500
  return { success, value: shapes };
486
501
  }
487
502
  async computeDiff({ mode, existing, incoming, context, visitedRecords, mergedDatabase, }) {
@@ -664,6 +679,12 @@ class Plugins {
664
679
  toArray() {
665
680
  return this.plugins;
666
681
  }
682
+ remove(name) {
683
+ const index = this.plugins.findIndex((plugin) => plugin.getName() === name);
684
+ if (index !== -1) {
685
+ this.plugins.splice(index, 1);
686
+ }
687
+ }
667
688
  prepend(...plugins) {
668
689
  this.plugins.unshift(...plugins);
669
690
  }