@xyne/workflow-sdk 3.2.31 → 3.2.33

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 (88) hide show
  1. package/dist/agents/agent-step.d.ts +12 -0
  2. package/dist/agents/agent-step.d.ts.map +1 -1
  3. package/dist/agents/agent-step.js +58 -4
  4. package/dist/agents/agent-step.js.map +1 -1
  5. package/dist/agents/base-runtime.d.ts +7 -6
  6. package/dist/agents/base-runtime.d.ts.map +1 -1
  7. package/dist/agents/base-runtime.js.map +1 -1
  8. package/dist/agents/index.d.ts +3 -1
  9. package/dist/agents/index.d.ts.map +1 -1
  10. package/dist/agents/index.js +2 -0
  11. package/dist/agents/index.js.map +1 -1
  12. package/dist/agents/pi-session-runtime.d.ts +90 -0
  13. package/dist/agents/pi-session-runtime.d.ts.map +1 -0
  14. package/dist/agents/pi-session-runtime.js +231 -0
  15. package/dist/agents/pi-session-runtime.js.map +1 -0
  16. package/dist/agents/types.d.ts +1 -0
  17. package/dist/agents/types.d.ts.map +1 -1
  18. package/dist/agents/types.js.map +1 -1
  19. package/dist/client/index.d.ts +1 -1
  20. package/dist/client/index.d.ts.map +1 -1
  21. package/dist/client/types.d.ts +35 -17
  22. package/dist/client/types.d.ts.map +1 -1
  23. package/dist/client/workflow-client.d.ts.map +1 -1
  24. package/dist/client/workflow-client.js +24 -13
  25. package/dist/client/workflow-client.js.map +1 -1
  26. package/dist/common/credentials.d.ts +258 -0
  27. package/dist/common/credentials.d.ts.map +1 -0
  28. package/dist/common/credentials.js +176 -0
  29. package/dist/common/credentials.js.map +1 -0
  30. package/dist/common/index.d.ts +7 -1
  31. package/dist/common/index.d.ts.map +1 -1
  32. package/dist/common/index.js +19 -1
  33. package/dist/common/index.js.map +1 -1
  34. package/dist/engine/workflow-executor.d.ts.map +1 -1
  35. package/dist/engine/workflow-executor.js +24 -9
  36. package/dist/engine/workflow-executor.js.map +1 -1
  37. package/dist/index.d.ts +4 -2
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +2 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/persistence/in-memory-adapter.d.ts +93 -29
  42. package/dist/persistence/in-memory-adapter.d.ts.map +1 -1
  43. package/dist/persistence/in-memory-adapter.js +171 -52
  44. package/dist/persistence/in-memory-adapter.js.map +1 -1
  45. package/dist/persistence/types.d.ts +84 -26
  46. package/dist/persistence/types.d.ts.map +1 -1
  47. package/dist/router/workflow-router.d.ts +3 -1
  48. package/dist/router/workflow-router.d.ts.map +1 -1
  49. package/dist/router/workflow-router.js +218 -40
  50. package/dist/router/workflow-router.js.map +1 -1
  51. package/dist/runtime/workflow-runtime.d.ts +22 -30
  52. package/dist/runtime/workflow-runtime.d.ts.map +1 -1
  53. package/dist/runtime/workflow-runtime.js +46 -54
  54. package/dist/runtime/workflow-runtime.js.map +1 -1
  55. package/dist/steps/base-step.d.ts +12 -26
  56. package/dist/steps/base-step.d.ts.map +1 -1
  57. package/dist/steps/base-step.js +2 -4
  58. package/dist/steps/base-step.js.map +1 -1
  59. package/dist/steps/builtin/code.step.d.ts +7 -3
  60. package/dist/steps/builtin/code.step.d.ts.map +1 -1
  61. package/dist/steps/builtin/code.step.js +77 -47
  62. package/dist/steps/builtin/code.step.js.map +1 -1
  63. package/dist/steps/builtin/http-request.step.d.ts +18 -264
  64. package/dist/steps/builtin/http-request.step.d.ts.map +1 -1
  65. package/dist/steps/builtin/http-request.step.js +48 -157
  66. package/dist/steps/builtin/http-request.step.js.map +1 -1
  67. package/dist/steps/builtin/ssrf-guard.d.ts +9 -0
  68. package/dist/steps/builtin/ssrf-guard.d.ts.map +1 -0
  69. package/dist/steps/builtin/ssrf-guard.js +115 -0
  70. package/dist/steps/builtin/ssrf-guard.js.map +1 -0
  71. package/dist/steps/builtin/switch.step.d.ts +14 -14
  72. package/dist/steps/builtin/wait.step.d.ts +56 -56
  73. package/dist/steps/step-registry.d.ts +1 -3
  74. package/dist/steps/step-registry.d.ts.map +1 -1
  75. package/dist/steps/step-registry.js +0 -1
  76. package/dist/steps/step-registry.js.map +1 -1
  77. package/dist/testing/index.d.ts +1 -1
  78. package/dist/testing/index.d.ts.map +1 -1
  79. package/dist/testing/index.js +1 -1
  80. package/dist/testing/index.js.map +1 -1
  81. package/dist/testing/mock-step-context.d.ts +7 -2
  82. package/dist/testing/mock-step-context.d.ts.map +1 -1
  83. package/dist/testing/mock-step-context.js +9 -1
  84. package/dist/testing/mock-step-context.js.map +1 -1
  85. package/dist/triggers/webhook-trigger.d.ts +1 -5
  86. package/dist/triggers/webhook-trigger.d.ts.map +1 -1
  87. package/dist/triggers/webhook-trigger.js.map +1 -1
  88. package/package.json +7 -2
@@ -19,14 +19,11 @@
19
19
  *
20
20
  * ## Auth
21
21
  *
22
- * Two auth mechanisms, used together or independently:
23
- *
24
- * 1. **Config-level `auth`** for tokens from variable refs
25
- * `{{ steps.login.output.token }}`. Fully typed discriminated union.
26
- *
27
- * 2. **Credential slots** — for stored secrets from the credential vault.
28
- * Resolved by the executor at runtime, injected via `ctx.credentials`.
29
- * Config-level auth takes precedence when both are present.
22
+ * The optional `credentialName` selects a stored credential from the vault.
23
+ * Before this step runs, the executor resolves that selection and injects the
24
+ * validated value through `ctx.credentials`. The step
25
+ * receives the resolved value and applies it after user-provided headers, so
26
+ * managed authentication cannot be accidentally overridden.
30
27
  *
31
28
  * ## Response shape
32
29
  *
@@ -44,38 +41,10 @@
44
41
  import { z } from 'zod';
45
42
  import { BaseActionStep } from '../base-step.js';
46
43
  import { BuiltinStepType } from '../../types/known-types.js';
44
+ import { applyResolvedCredentialAuth, CredentialNameSchema, } from '../../common/credentials.js';
47
45
  import { AttachmentSchema, markAttachmentFields } from '../../common/attachment.js';
48
46
  import { variableRef } from '../../types/workflow-config.js';
49
- // ─── Auth schemas ───
50
- const HttpAuthNoneSchema = z.object({ type: z.literal('none') });
51
- const HttpAuthBearerSchema = z.object({
52
- type: z.literal('bearer'),
53
- token: z.string().min(1).describe('Bearer token value'),
54
- });
55
- const HttpAuthBasicSchema = z.object({
56
- type: z.literal('basic'),
57
- username: z.string().describe('Basic auth username'),
58
- password: z.string().describe('Basic auth password'),
59
- });
60
- const HttpAuthApiKeySchema = z.object({
61
- type: z.literal('apiKey'),
62
- key: z.string().min(1).describe('API key value'),
63
- name: z.string().default('x-api-key').describe('Header or query parameter name'),
64
- in: z.enum(['header', 'query']).default('header').describe('Where to send the API key'),
65
- });
66
- const HttpAuthCustomHeaderSchema = z.object({
67
- type: z.literal('customHeader'),
68
- name: z.string().min(1).describe('Custom header name'),
69
- value: z.string().min(1).describe('Custom header value'),
70
- });
71
- const HttpAuthSchema = z.discriminatedUnion('type', [
72
- HttpAuthNoneSchema,
73
- HttpAuthBearerSchema,
74
- HttpAuthBasicSchema,
75
- HttpAuthApiKeySchema,
76
- HttpAuthCustomHeaderSchema,
77
- ]);
78
- // ─── Body schemas (Postman-style) ───
47
+ import { assertPublicHttpUrl } from './ssrf-guard.js';
79
48
  const RAW_CONTENT_TYPES = {
80
49
  json: 'application/json',
81
50
  xml: 'application/xml',
@@ -165,7 +134,7 @@ export const HttpMethodSchema = z.enum([
165
134
  export const HttpRequestStepConfigSchema = z.object({
166
135
  url: z.string().min(1).describe('Full URL including protocol (e.g. https://api.example.com/data)'),
167
136
  method: HttpMethodSchema.default('GET').describe('HTTP method'),
168
- auth: HttpAuthSchema.default({ type: 'none' }).describe('Authentication method applied before custom headers'),
137
+ credentialName: variableRef(CredentialNameSchema.describe('Credential from the vault used to authenticate the request. The executor resolves it before this step runs.')).optional(),
169
138
  headers: z.record(z.string(), z.string()).optional().describe('Request headers as key-value pairs'),
170
139
  queryParams: z.record(z.string(), z.string()).optional().describe('Query parameters appended to URL'),
171
140
  body: HttpBodySchema.default({ mode: 'none' }).describe('Request body — ignored for GET/HEAD. Postman-style modes: none/raw/urlencoded/formdata/binary'),
@@ -193,49 +162,20 @@ export class HttpRequestStep extends BaseActionStep {
193
162
  outputSchema = HttpRequestStepOutputSchema;
194
163
  category = 'integration';
195
164
  icon = 'globe';
196
- /**
197
- * Credential slots fallback auth when config.auth is 'none'.
198
- * Resolved by the executor from the credential vault.
199
- */
165
+ // The slot name is also the config field: the executor reads the selected
166
+ // name from `config.credentialName` and injects the resolved, validated value
167
+ // as `ctx.credentials.credentialName` before execute() is called.
200
168
  credentialSlots = [
201
- { name: 'auth', types: ['bearer', 'basic', 'api_key', 'header'], required: false },
202
- ];
203
- /** Credential type schemas — defines what fields each credential type needs for UI forms. */
204
- credentialTypeSchemas = [
205
- {
206
- type: 'bearer',
207
- label: 'Bearer Token',
208
- fields: [
209
- { name: 'token', label: 'Token', type: 'password', required: true },
210
- ],
211
- },
212
- {
213
- type: 'basic',
214
- label: 'Basic Auth',
215
- fields: [
216
- { name: 'username', label: 'Username', type: 'string', required: true },
217
- { name: 'password', label: 'Password', type: 'password', required: true },
218
- ],
219
- },
220
- {
221
- type: 'api_key',
222
- label: 'API Key',
223
- fields: [
224
- { name: 'key', label: 'API Key', type: 'password', required: true },
225
- { name: 'headerName', label: 'Header Name', type: 'string', required: false, default: 'x-api-key' },
226
- { name: 'in', label: 'Send In', type: 'select', required: false, options: ['header', 'query'], default: 'header' },
227
- ],
228
- },
229
- {
230
- type: 'header',
231
- label: 'Custom Header',
232
- fields: [
233
- { name: 'name', label: 'Header Name', type: 'string', required: true },
234
- { name: 'value', label: 'Header Value', type: 'password', required: true },
235
- ],
236
- },
169
+ { name: 'credentialName', required: false },
237
170
  ];
238
171
  decorateConfigSchema(jsonSchema) {
172
+ const rootProps = jsonSchema['properties'];
173
+ if (rootProps?.['credentialName']) {
174
+ rootProps['credentialName'] = {
175
+ ...rootProps['credentialName'],
176
+ format: 'credential-name',
177
+ };
178
+ }
239
179
  // The `bodySchema` field inside the discriminated `response` union should
240
180
  // render with the JSON Schema builder UI. The schema-form renderer walks
241
181
  // discriminator variants, so we tag the field within each variant that
@@ -329,19 +269,26 @@ export class HttpRequestStep extends BaseActionStep {
329
269
  async execute(config, ctx) {
330
270
  // Build URL with query params
331
271
  const url = this.buildUrl(config.url, config.queryParams);
332
- // Build headers: auth first, then custom headers override
272
+ // Build headers: user headers FIRST, then managed credential auth LAST — so
273
+ // a conflicting manually-entered header can't override the selected
274
+ // credential's authentication.
333
275
  const headers = new Headers();
334
- this.applyAuth(headers, url, config.auth, ctx.credentials);
335
276
  if (config.headers) {
336
277
  for (const [k, v] of Object.entries(config.headers)) {
337
278
  headers.set(k, v);
338
279
  }
339
280
  }
340
- // Build request
281
+ const credential = ctx.credentials['credentialName'];
282
+ if (credential) {
283
+ applyResolvedCredentialAuth(headers, credential);
284
+ }
285
+ // Build request. Redirects are followed manually (redirect: 'manual') so the
286
+ // SSRF guard re-checks every hop — native 'follow' would chase a redirect
287
+ // straight to a private / cloud-metadata address.
341
288
  const init = {
342
289
  method: config.method,
343
290
  headers,
344
- redirect: config.followRedirects ? 'follow' : 'manual',
291
+ redirect: 'manual',
345
292
  };
346
293
  // Encode body for methods that support it.
347
294
  // GET/HEAD never carry a body even if the user configured one.
@@ -355,10 +302,27 @@ export class HttpRequestStep extends BaseActionStep {
355
302
  const controller = new AbortController();
356
303
  const timer = setTimeout(() => controller.abort(), config.timeoutMs);
357
304
  init.signal = controller.signal;
305
+ const maxRedirects = config.followRedirects ? 5 : 0;
358
306
  const t0 = Date.now();
359
307
  let response;
360
308
  try {
361
- response = await fetch(url.toString(), init);
309
+ let currentUrl = url.toString();
310
+ let hops = 0;
311
+ for (;;) {
312
+ // SSRF guard runs on the initial URL and on every redirect target.
313
+ await assertPublicHttpUrl(currentUrl);
314
+ response = await fetch(currentUrl, init);
315
+ const location = response.headers.get('location');
316
+ const isRedirectStatus = response.status >= 300 && response.status < 400;
317
+ if (!isRedirectStatus || location === null || hops >= maxRedirects)
318
+ break;
319
+ hops += 1;
320
+ currentUrl = new URL(location, currentUrl).toString();
321
+ // A one-shot body (multipart/stream) can't be replayed on the next hop.
322
+ if (init.body instanceof FormData || init.body instanceof ReadableStream) {
323
+ init.body = null;
324
+ }
325
+ }
362
326
  }
363
327
  catch (err) {
364
328
  clearTimeout(timer);
@@ -412,79 +376,6 @@ export class HttpRequestStep extends BaseActionStep {
412
376
  }
413
377
  return url;
414
378
  }
415
- // ─── Auth ───
416
- applyAuth(headers, url, auth, credentials) {
417
- // Config-level auth takes precedence
418
- if (auth.type !== 'none') {
419
- this.applyConfigAuth(headers, url, auth);
420
- return;
421
- }
422
- // Fall back to credential slot
423
- this.applyCredentialAuth(headers, url, credentials);
424
- }
425
- applyConfigAuth(headers, url, auth) {
426
- switch (auth.type) {
427
- case 'bearer':
428
- headers.set('authorization', `Bearer ${auth.token}`);
429
- break;
430
- case 'basic': {
431
- const encoded = btoa(`${auth.username}:${auth.password}`);
432
- headers.set('authorization', `Basic ${encoded}`);
433
- break;
434
- }
435
- case 'apiKey':
436
- if (auth.in === 'header') {
437
- headers.set(auth.name, auth.key);
438
- }
439
- else {
440
- url.searchParams.set(auth.name, auth.key);
441
- }
442
- break;
443
- case 'customHeader':
444
- headers.set(auth.name, auth.value);
445
- break;
446
- }
447
- }
448
- applyCredentialAuth(headers, url, credentials) {
449
- const cred = credentials['auth'];
450
- if (!cred)
451
- return;
452
- switch (cred.type) {
453
- case 'bearer': {
454
- const token = cred.data['token'];
455
- if (token)
456
- headers.set('authorization', `Bearer ${token}`);
457
- break;
458
- }
459
- case 'basic': {
460
- const user = cred.data['username'] ?? '';
461
- const pass = cred.data['password'] ?? '';
462
- headers.set('authorization', `Basic ${btoa(`${user}:${pass}`)}`);
463
- break;
464
- }
465
- case 'api_key': {
466
- const headerName = cred.data['headerName'] ?? 'x-api-key';
467
- const key = cred.data['key'];
468
- const location = cred.data['in'] ?? 'header';
469
- if (key) {
470
- if (location === 'query') {
471
- url.searchParams.set(headerName, key);
472
- }
473
- else {
474
- headers.set(headerName, key);
475
- }
476
- }
477
- break;
478
- }
479
- case 'header': {
480
- const name = cred.data['name'];
481
- const value = cred.data['value'];
482
- if (name && value)
483
- headers.set(name, value);
484
- break;
485
- }
486
- }
487
- }
488
379
  // ─── Body encoding (Postman-style modes) ───
489
380
  /**
490
381
  * Encode the request body for the given mode. Mutates `headers` to set
@@ -1 +1 @@
1
- {"version":3,"file":"http-request.step.js","sourceRoot":"","sources":["../../../src/steps/builtin/http-request.step.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-request.step.js","sourceRoot":"","sources":["../../../src/steps/builtin/http-request.step.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,kBAAkB;IACxB,GAAG,EAAE,iBAAiB;IACtB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,wBAAwB;CAC5B,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC7C,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,YAAY;IACZ,QAAQ;CACT,CAAC,CAAC;AAGH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEjE,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC5C,WAAW,EAAE,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC;SAClD,QAAQ,CAAC,+BAA+B,CAAC;IAC5C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACrC,QAAQ,CAAC,mEAAmE,CAAC;CACjF,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC3D,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACzD,kBAAkB;IAClB,iBAAiB;IACjB,wBAAwB;IACxB,sBAAsB;CACvB,CAAC,CAAC;AAGH,kDAAkD;AAElD;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;SACzC,QAAQ,CAAC,0FAA0F,CAAC;CACxG,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;SACzC,QAAQ,CAAC,6GAA6G,CAAC;CAC3H,CAAC,CAAC;AAEH,yEAAyE;AACzE,uDAAuD;AACvD,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC9E,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAClF,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEpF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC7D,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,wBAAwB;IACxB,yBAAyB;CAC1B,CAAC,CAAC;AAIH,iBAAiB;AAEjB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IACrC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS;CAC3D,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IAClG,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC/D,cAAc,EAAE,WAAW,CACzB,oBAAoB,CAAC,QAAQ,CAC3B,6GAA6G,CAC9G,CACF,CAAC,QAAQ,EAAE;IACZ,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACnG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACrG,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,+FAA+F,CAAC;IACxJ,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SACnD,QAAQ,CAAC,6GAA6G,CAAC;IAC1H,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAClG,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CACxF,CAAC,CAAC;AAgCH,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACxB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;CACnC,CAAC,CAAC;AAEH,eAAe;AAEf,MAAM,OAAO,eAAgB,SAAQ,cAGpC;IACmB,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC;IACpC,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAAG,qCAAqC,CAAC;IACpD,YAAY,GAAG,2BAA2B,CAAC;IAC3C,YAAY,GAAG,2BAA2B,CAAC;IAC3C,QAAQ,GAAiB,aAAa,CAAC;IACvC,IAAI,GAAG,OAAO,CAAC;IAEjC,0EAA0E;IAC1E,8EAA8E;IAC9E,kEAAkE;IAChD,eAAe,GAAG;QAClC,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACnC,CAAC;IAEF,oBAAoB,CAAC,UAAmC;QAC/D,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAwD,CAAC;QAClG,IAAI,SAAS,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClC,SAAS,CAAC,gBAAgB,CAAC,GAAG;gBAC5B,GAAG,SAAS,CAAC,gBAAgB,CAAC;gBAC9B,MAAM,EAAE,iBAAiB;aAC1B,CAAC;QACJ,CAAC;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,0BAA0B;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAwD,CAAC;QAC9F,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC,UAAU,CAAwC,CAAC;QAC5E,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC,OAAO,CAAC,CAA0C,CAAC;QACvG,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAwD,CAAC;gBAC5F,IAAI,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3B,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;gBAC5E,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,MAAM,CAAwC,CAAC;QACpE,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,CAA0C,CAAC;QACnG,MAAM,eAAe,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACrD,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAwD,CAAC;YAC5F,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC,YAAY,CAAwD,CAAC;QAC7G,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAwC,CAAC;QAC9F,IAAI,UAAU,EAAE,CAAC;YACf,oBAAoB,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACM,uBAAuB,CAAC,MAA+B;QAC9D,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAqE,CAAC;QAC9H,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAEtD,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvB,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzC;gBACD,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9B;SACF,CAAC;IACJ,CAAC;IAEO,mBAAmB,CACzB,QAA0E;QAE1E,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM;gBACT,OAAO,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;oBACvE,CAAC,CAAC,QAAQ,CAAC,UAAU;oBACrB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACzB,KAAK,MAAM;gBACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,KAAK,QAAQ;gBACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;YACvD,KAAK,SAAS;gBACZ,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAEQ,WAAW,CAAC,KAA8B;QACjD,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;QAC9B,kDAAkD;QAClD,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YACvB,QAAQ,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;QAClC,CAAC;QACD,qBAAqB;QACrB,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,EAAE,GAAI,QAAQ,CAAC,MAAM,CAA6B,EAAE,CAAC;YAClE,IAAI,OAAO,IAAI,IAAI;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;YAClD,IAAI,UAAU,IAAI,IAAI;gBAAE,IAAI,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;YACxD,IAAI,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;YAC9C,IAAI,OAAO,IAAI,IAAI;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;YAClD,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEQ,KAAK,CAAC,OAAO,CACpB,MAA6B,EAC7B,GAAyB;QAEzB,8BAA8B;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAE1D,4EAA4E;QAC5E,oEAAoE;QACpE,+BAA+B;QAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACrD,IAAI,UAAU,EAAE,CAAC;YACf,2BAA2B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACnD,CAAC;QAED,6EAA6E;QAC7E,0EAA0E;QAC1E,kDAAkD;QAClD,MAAM,IAAI,GAAgB;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO;YACP,QAAQ,EAAE,QAAQ;SACnB,CAAC;QAEF,2CAA2C;QAC3C,+DAA+D;QAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YACjE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;YACtB,CAAC;QACH,CAAC;QAED,UAAU;QACV,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAEhC,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,IAAI,UAAU,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,SAAS,CAAC;gBACR,mEAAmE;gBACnE,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBACtC,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAClD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;gBACzE,IAAI,CAAC,gBAAgB,IAAI,QAAQ,KAAK,IAAI,IAAI,IAAI,IAAI,YAAY;oBAAE,MAAM;gBAC1E,IAAI,IAAI,CAAC,CAAC;gBACV,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACtD,wEAAwE;gBACxE,IAAI,IAAI,CAAC,IAAI,YAAY,QAAQ,IAAI,IAAI,CAAC,IAAI,YAAY,cAAc,EAAE,CAAC;oBACzE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CACb,mBAAmB,MAAM,CAAC,GAAG,oBAAoB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAC9E,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CACb,mBAAmB,MAAM,CAAC,GAAG,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5F,CAAC;QACJ,CAAC;QACD,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAEjC,mEAAmE;QACnE,gCAAgC;QAChC,MAAM,eAAe,GAA2B,EAAE,CAAC;QACnD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,OAAO,EAAE,eAAe;gBACxB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,EAAE;gBACZ,IAAI,EAAE,CAAC;gBACP,QAAQ;aACT,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CACjC,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,MAAM,CAAC,QAAQ,CAAC,IAAI,CACrB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,OAAO,EAAE,eAAe;YACxB,IAAI;YACJ,QAAQ;YACR,IAAI;YACJ,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,uBAAuB;IAEf,QAAQ,CACd,OAAe,EACf,WAAoC;QAEpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,8CAA8C;IAE9C;;;;;OAKG;IACK,KAAK,CAAC,UAAU,CACtB,IAAc,EACd,OAAgB,EAChB,GAAyB;QAEzB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM;gBACT,OAAO,SAAS,CAAC;YAEnB,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBACjC,MAAM,EAAE,GACN,IAAI,CAAC,WAAW,KAAK,QAAQ;wBAC3B,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,0BAA0B;wBACtD,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBAClC,CAAC;gBACD,OAAO,IAAI,CAAC,GAAG,CAAC;YAClB,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,mCAAmC,CAAC,CAAC;gBACnE,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBACrC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC5B,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK;wBAAE,SAAS;oBAClC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;gBACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC3B,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,sEAAsE;gBACtE,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBACjC,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC5B,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK;wBAAE,SAAS;oBAClC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;gBACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;oBACjC,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK;wBAAE,SAAS;oBAClC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI;wBAAE,SAAS;oBACxD,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;yBAC/D,MAAM,CAAC,CAAC,KAAK,EAAuB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC;oBACvF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;wBACrC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAClD,IAAI,CAAC,MAAM,CACT,CAAC,CAAC,GAAG,EACL,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAChD,UAAU,CAAC,IAAI,CAChB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,2BAA2B;IAEnB,UAAU,CAAC,KAAiB;QAClC,IAAI,CAAC;YACH,8EAA8E;YAC9E,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,iBAAiB,CACvB,KAAiB,EACjB,QAAgB,EAChB,OAA+B,EAC/B,YAA8B;QAE9B,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,gEAAgE;gBAChE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAY,CAAC;YACzC,KAAK,MAAM;gBACT,OAAO,QAAQ,CAAC;YAClB,KAAK,QAAQ;gBACX,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9B,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC;YACd,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAEO,aAAa,CACnB,QAAgB,EAChB,OAA+B;QAE/B,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAY,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,kBAAkB;AAElB,iFAAiF;AACjF,SAAS,aAAa,CAAC,KAAiB;IACtC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,SAAS,GAAG,MAAM,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;QAC/C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,+CAA+C;IAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /** True if `ip` (a literal IPv4/IPv6) is in a blocked range. Non-IPs are blocked. */
2
+ export declare function isBlockedIp(ip: string): boolean;
3
+ /**
4
+ * Throw if `rawUrl` is not a safe public http(s) destination. Resolves DNS and
5
+ * checks every returned address so a hostname pointing at a private/metadata IP
6
+ * is rejected too. Call this for the initial URL AND every redirect target.
7
+ */
8
+ export declare function assertPublicHttpUrl(rawUrl: string): Promise<void>;
9
+ //# sourceMappingURL=ssrf-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssrf-guard.d.ts","sourceRoot":"","sources":["../../../src/steps/builtin/ssrf-guard.ts"],"names":[],"mappings":"AAkEA,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAK/C;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BvE"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * SSRF guard for outbound HTTP (the HTTP_REQUEST step).
3
+ *
4
+ * A workflow author controls the request URL, so without validation the server
5
+ * can be turned into a proxy for internal services or — on a cloud VM — the
6
+ * instance metadata endpoint (169.254.169.254 / metadata.google.internal),
7
+ * which hands out service-account credentials. This module resolves the target
8
+ * host and refuses loopback / private / link-local / cloud-metadata addresses.
9
+ *
10
+ * Only http/https are allowed. Literal-IP and DNS-resolved addresses are both
11
+ * checked (basic resistance to a hostname that points at a private IP), and the
12
+ * step re-validates every redirect hop.
13
+ */
14
+ import { lookup } from 'node:dns/promises';
15
+ import { isIP } from 'node:net';
16
+ const BLOCKED_HOSTNAMES = new Set(['metadata.google.internal', 'metadata', 'localhost']);
17
+ function ipv4ToInt(ip) {
18
+ const m = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(ip);
19
+ if (!m)
20
+ return null;
21
+ let n = 0;
22
+ for (let i = 1; i <= 4; i += 1) {
23
+ const octet = Number(m[i]);
24
+ if (!Number.isInteger(octet) || octet < 0 || octet > 255)
25
+ return null;
26
+ n = n * 256 + octet;
27
+ }
28
+ return n >>> 0;
29
+ }
30
+ function inCidr(n, base, bits) {
31
+ const b = ipv4ToInt(base);
32
+ if (b === null)
33
+ return false;
34
+ const mask = bits === 0 ? 0 : (~0 << (32 - bits)) >>> 0;
35
+ return (n & mask) === (b & mask);
36
+ }
37
+ function isBlockedIpv4(ip) {
38
+ const n = ipv4ToInt(ip);
39
+ if (n === null)
40
+ return true; // unparseable → block
41
+ return (inCidr(n, '0.0.0.0', 8) || // "this" network
42
+ inCidr(n, '10.0.0.0', 8) || // private
43
+ inCidr(n, '100.64.0.0', 10) || // CGNAT
44
+ inCidr(n, '127.0.0.0', 8) || // loopback
45
+ inCidr(n, '169.254.0.0', 16) || // link-local incl. 169.254.169.254 metadata
46
+ inCidr(n, '172.16.0.0', 12) || // private
47
+ inCidr(n, '192.0.0.0', 24) || // IETF protocol assignments
48
+ inCidr(n, '192.168.0.0', 16) || // private
49
+ inCidr(n, '198.18.0.0', 15) || // benchmarking
50
+ inCidr(n, '224.0.0.0', 4) || // multicast
51
+ inCidr(n, '240.0.0.0', 4) // reserved
52
+ );
53
+ }
54
+ function isBlockedIpv6(ip) {
55
+ const addr = (ip.split('%')[0] ?? '').toLowerCase(); // strip zone id
56
+ if (addr === '::1' || addr === '::')
57
+ return true; // loopback / unspecified
58
+ if (addr.startsWith('fc') || addr.startsWith('fd'))
59
+ return true; // unique-local fc00::/7
60
+ // link-local fe80::/10 → first hextet fe80..febf
61
+ if (/^fe[89ab]/.test(addr))
62
+ return true;
63
+ const mapped = addr.match(/(?:^|:)(?:ffff:)?(\d+\.\d+\.\d+\.\d+)$/); // ::ffff:a.b.c.d
64
+ if (mapped && mapped[1])
65
+ return isBlockedIpv4(mapped[1]);
66
+ return false;
67
+ }
68
+ /** True if `ip` (a literal IPv4/IPv6) is in a blocked range. Non-IPs are blocked. */
69
+ export function isBlockedIp(ip) {
70
+ const v = isIP(ip);
71
+ if (v === 4)
72
+ return isBlockedIpv4(ip);
73
+ if (v === 6)
74
+ return isBlockedIpv6(ip);
75
+ return true;
76
+ }
77
+ /**
78
+ * Throw if `rawUrl` is not a safe public http(s) destination. Resolves DNS and
79
+ * checks every returned address so a hostname pointing at a private/metadata IP
80
+ * is rejected too. Call this for the initial URL AND every redirect target.
81
+ */
82
+ export async function assertPublicHttpUrl(rawUrl) {
83
+ let url;
84
+ try {
85
+ url = new URL(rawUrl);
86
+ }
87
+ catch {
88
+ throw new Error(`SSRF guard: invalid URL: ${rawUrl}`);
89
+ }
90
+ if (url.protocol !== 'http:' && url.protocol !== 'https:') {
91
+ throw new Error(`SSRF guard: blocked scheme "${url.protocol}" (only http/https allowed)`);
92
+ }
93
+ const host = url.hostname.replace(/^\[|\]$/g, ''); // strip IPv6 brackets
94
+ if (BLOCKED_HOSTNAMES.has(host.toLowerCase())) {
95
+ throw new Error(`SSRF guard: blocked host "${host}"`);
96
+ }
97
+ if (isIP(host)) {
98
+ if (isBlockedIp(host))
99
+ throw new Error(`SSRF guard: blocked address ${host}`);
100
+ return;
101
+ }
102
+ let addrs;
103
+ try {
104
+ addrs = await lookup(host, { all: true });
105
+ }
106
+ catch {
107
+ throw new Error(`SSRF guard: could not resolve host "${host}"`);
108
+ }
109
+ for (const a of addrs) {
110
+ if (isBlockedIp(a.address)) {
111
+ throw new Error(`SSRF guard: host "${host}" resolves to blocked address ${a.address}`);
112
+ }
113
+ }
114
+ }
115
+ //# sourceMappingURL=ssrf-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssrf-guard.js","sourceRoot":"","sources":["../../../src/steps/builtin/ssrf-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,0BAA0B,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AAEzF,SAAS,SAAS,CAAC,EAAU;IAC3B,MAAM,CAAC,GAAG,8CAA8C,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG;YAAE,OAAO,IAAI,CAAC;QACtE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,MAAM,CAAC,CAAS,EAAE,IAAY,EAAE,IAAY;IACnD,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,EAAU;IAC/B,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,sBAAsB;IACnD,OAAO,CACL,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,iBAAiB;QAC5C,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,UAAU;QACtC,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,IAAI,QAAQ;QACvC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,WAAW;QACxC,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,4CAA4C;QAC5E,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,IAAI,UAAU;QACzC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,IAAI,4BAA4B;QAC1D,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,UAAU;QAC1C,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,IAAI,eAAe;QAC9C,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,YAAY;QACzC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EAAU;IAC/B,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,gBAAgB;IACrE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,yBAAyB;IAC3E,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,wBAAwB;IACzF,iDAAiD;IACjD,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC,iBAAiB;IACtF,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc;IACtD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,CAAC,QAAQ,6BAA6B,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB;IACzE,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IACD,IAAI,KAAiC,CAAC;IACtC,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,GAAG,CAAC,CAAC;IAClE,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,iCAAiC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -60,10 +60,6 @@ export declare const SwitchStepConfigSchema: z.ZodObject<{
60
60
  type: z.ZodString;
61
61
  }, z.ZodTypeAny, "passthrough">>, "many">;
62
62
  }, "strip", z.ZodTypeAny, {
63
- default: z.objectOutputType<{
64
- id: z.ZodString;
65
- type: z.ZodString;
66
- }, z.ZodTypeAny, "passthrough">[];
67
63
  cases: {
68
64
  steps: z.objectOutputType<{
69
65
  id: z.ZodString;
@@ -72,11 +68,11 @@ export declare const SwitchStepConfigSchema: z.ZodObject<{
72
68
  condition: import("../../types/workflow-config.js").Condition;
73
69
  label?: string | undefined;
74
70
  }[];
75
- }, {
76
- default: z.objectInputType<{
71
+ default: z.objectOutputType<{
77
72
  id: z.ZodString;
78
73
  type: z.ZodString;
79
74
  }, z.ZodTypeAny, "passthrough">[];
75
+ }, {
80
76
  cases: {
81
77
  steps: z.objectInputType<{
82
78
  id: z.ZodString;
@@ -85,6 +81,10 @@ export declare const SwitchStepConfigSchema: z.ZodObject<{
85
81
  condition: import("../../types/workflow-config.js").Condition;
86
82
  label?: string | undefined;
87
83
  }[];
84
+ default: z.objectInputType<{
85
+ id: z.ZodString;
86
+ type: z.ZodString;
87
+ }, z.ZodTypeAny, "passthrough">[];
88
88
  }>;
89
89
  export type SwitchStepConfig = z.infer<typeof SwitchStepConfigSchema>;
90
90
  export interface SwitchStepOutput extends Record<string, unknown> {
@@ -147,10 +147,6 @@ export declare class SwitchStep extends BaseControlFlowStep<typeof SwitchStepCon
147
147
  type: z.ZodString;
148
148
  }, z.ZodTypeAny, "passthrough">>, "many">;
149
149
  }, "strip", z.ZodTypeAny, {
150
- default: z.objectOutputType<{
151
- id: z.ZodString;
152
- type: z.ZodString;
153
- }, z.ZodTypeAny, "passthrough">[];
154
150
  cases: {
155
151
  steps: z.objectOutputType<{
156
152
  id: z.ZodString;
@@ -159,11 +155,11 @@ export declare class SwitchStep extends BaseControlFlowStep<typeof SwitchStepCon
159
155
  condition: import("../../types/workflow-config.js").Condition;
160
156
  label?: string | undefined;
161
157
  }[];
162
- }, {
163
- default: z.objectInputType<{
158
+ default: z.objectOutputType<{
164
159
  id: z.ZodString;
165
160
  type: z.ZodString;
166
161
  }, z.ZodTypeAny, "passthrough">[];
162
+ }, {
167
163
  cases: {
168
164
  steps: z.objectInputType<{
169
165
  id: z.ZodString;
@@ -172,6 +168,10 @@ export declare class SwitchStep extends BaseControlFlowStep<typeof SwitchStepCon
172
168
  condition: import("../../types/workflow-config.js").Condition;
173
169
  label?: string | undefined;
174
170
  }[];
171
+ default: z.objectInputType<{
172
+ id: z.ZodString;
173
+ type: z.ZodString;
174
+ }, z.ZodTypeAny, "passthrough">[];
175
175
  }>;
176
176
  readonly outputSchema: z.ZodObject<{
177
177
  branch: z.ZodString;
@@ -195,22 +195,22 @@ export declare class SwitchStep extends BaseControlFlowStep<typeof SwitchStepCon
195
195
  }>;
196
196
  }>>;
197
197
  }, "strip", z.ZodTypeAny, {
198
+ label: string | null;
198
199
  branch: string;
199
200
  branches: Record<string, {
200
201
  steps: Record<string, {
201
202
  output: Record<string, unknown>;
202
203
  }>;
203
204
  }>;
204
- label: string | null;
205
205
  caseIndex: number | null;
206
206
  }, {
207
+ label: string | null;
207
208
  branch: string;
208
209
  branches: Record<string, {
209
210
  steps: Record<string, {
210
211
  output: Record<string, unknown>;
211
212
  }>;
212
213
  }>;
213
- label: string | null;
214
214
  caseIndex: number | null;
215
215
  }>;
216
216
  readonly category: "control";