@commandgarden/cli 1.4.1 → 2.0.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 (81) hide show
  1. package/dist/main.js +6 -12
  2. package/node_modules/@commandgarden/app/dist/client/assets/index-CThI0UCl.css +1 -0
  3. package/node_modules/@commandgarden/app/dist/client/assets/index-WANip_um.js +252 -0
  4. package/node_modules/@commandgarden/app/dist/client/index.html +2 -2
  5. package/node_modules/@commandgarden/app/dist/server/journal/journal.config.d.ts +25 -0
  6. package/node_modules/@commandgarden/app/dist/server/journal/journal.config.js +31 -0
  7. package/node_modules/@commandgarden/app/dist/server/journal/journal.service.d.ts +37 -0
  8. package/node_modules/@commandgarden/app/dist/server/journal/journal.service.js +142 -0
  9. package/node_modules/@commandgarden/app/dist/server/journal/journal.types.d.ts +91 -0
  10. package/node_modules/@commandgarden/app/dist/server/journal/journal.types.js +4 -0
  11. package/node_modules/@commandgarden/app/dist/server/journal/sources/git.source.d.ts +21 -0
  12. package/node_modules/@commandgarden/app/dist/server/journal/sources/git.source.js +72 -0
  13. package/node_modules/@commandgarden/app/dist/server/journal/sources/jira.source.d.ts +15 -0
  14. package/node_modules/@commandgarden/app/dist/server/journal/sources/jira.source.js +42 -0
  15. package/node_modules/@commandgarden/app/dist/server/journal/sources/meetings.source.d.ts +21 -0
  16. package/node_modules/@commandgarden/app/dist/server/journal/sources/meetings.source.js +25 -0
  17. package/node_modules/@commandgarden/app/dist/server/journal/sources/timetracking.source.d.ts +17 -0
  18. package/node_modules/@commandgarden/app/dist/server/journal/sources/timetracking.source.js +83 -0
  19. package/node_modules/@commandgarden/app/dist/server/routes/index.js +2 -0
  20. package/node_modules/@commandgarden/app/dist/server/routes/journal.d.ts +9 -0
  21. package/node_modules/@commandgarden/app/dist/server/routes/journal.js +56 -0
  22. package/node_modules/@commandgarden/chrome/dist/content-script.js +84 -2
  23. package/node_modules/@commandgarden/chrome/dist/content-script.js.map +2 -2
  24. package/node_modules/@commandgarden/chrome/dist/service-worker.js +73 -8
  25. package/node_modules/@commandgarden/chrome/dist/service-worker.js.map +3 -3
  26. package/node_modules/@commandgarden/daemon/connectors/ado-git-commits.eval.js +143 -0
  27. package/node_modules/@commandgarden/daemon/connectors/ado-git-commits.yaml +70 -0
  28. package/node_modules/@commandgarden/daemon/connectors/gcs-kb-content.yaml +58 -0
  29. package/node_modules/@commandgarden/daemon/connectors/gcs-kb-pages.yaml +47 -0
  30. package/node_modules/@commandgarden/daemon/connectors/jira-my-tickets.eval.js +115 -0
  31. package/node_modules/@commandgarden/daemon/connectors/jira-my-tickets.yaml +54 -0
  32. package/node_modules/@commandgarden/daemon/connectors/outlook-my-meetings.eval.js +186 -0
  33. package/node_modules/@commandgarden/daemon/connectors/outlook-my-meetings.yaml +41 -0
  34. package/node_modules/@commandgarden/daemon/connectors/socket-security-news.yaml +63 -0
  35. package/node_modules/@commandgarden/daemon/connectors/tokenmaster-client-trustedby.yaml +62 -0
  36. package/node_modules/@commandgarden/daemon/connectors/tokenmaster-clients-list.yaml +55 -0
  37. package/node_modules/@commandgarden/daemon/connectors/wiz-blog-security.eval.js +29 -0
  38. package/node_modules/@commandgarden/daemon/connectors/wiz-blog-security.yaml +44 -0
  39. package/node_modules/@commandgarden/daemon/dist/daemon-runner.d.ts +12 -0
  40. package/node_modules/@commandgarden/daemon/dist/daemon-runner.d.ts.map +1 -0
  41. package/node_modules/@commandgarden/daemon/dist/daemon-runner.js +65 -0
  42. package/node_modules/@commandgarden/daemon/dist/daemon-runner.js.map +1 -0
  43. package/node_modules/@commandgarden/daemon/dist/server.d.ts.map +1 -1
  44. package/node_modules/@commandgarden/daemon/dist/server.js +87 -13
  45. package/node_modules/@commandgarden/daemon/dist/server.js.map +1 -1
  46. package/node_modules/@commandgarden/daemon/dist/transforms.d.ts +3 -0
  47. package/node_modules/@commandgarden/daemon/dist/transforms.d.ts.map +1 -0
  48. package/node_modules/@commandgarden/daemon/dist/transforms.js +36 -0
  49. package/node_modules/@commandgarden/daemon/dist/transforms.js.map +1 -0
  50. package/node_modules/@commandgarden/daemon/package.json +4 -2
  51. package/node_modules/@commandgarden/shared/dist/connector.d.ts +175 -0
  52. package/node_modules/@commandgarden/shared/dist/connector.d.ts.map +1 -1
  53. package/node_modules/@commandgarden/shared/dist/connector.js +2 -0
  54. package/node_modules/@commandgarden/shared/dist/connector.js.map +1 -1
  55. package/node_modules/@commandgarden/shared/dist/expression/evaluator.d.ts +2 -0
  56. package/node_modules/@commandgarden/shared/dist/expression/evaluator.d.ts.map +1 -1
  57. package/node_modules/@commandgarden/shared/dist/expression/evaluator.js.map +1 -1
  58. package/node_modules/@commandgarden/shared/dist/expression/filters.d.ts.map +1 -1
  59. package/node_modules/@commandgarden/shared/dist/expression/filters.js +5 -0
  60. package/node_modules/@commandgarden/shared/dist/expression/filters.js.map +1 -1
  61. package/node_modules/@commandgarden/shared/dist/fan-out.d.ts +28 -0
  62. package/node_modules/@commandgarden/shared/dist/fan-out.d.ts.map +1 -0
  63. package/node_modules/@commandgarden/shared/dist/fan-out.js +55 -0
  64. package/node_modules/@commandgarden/shared/dist/fan-out.js.map +1 -0
  65. package/node_modules/@commandgarden/shared/dist/index.d.ts +2 -1
  66. package/node_modules/@commandgarden/shared/dist/index.d.ts.map +1 -1
  67. package/node_modules/@commandgarden/shared/dist/index.js +3 -1
  68. package/node_modules/@commandgarden/shared/dist/index.js.map +1 -1
  69. package/node_modules/@commandgarden/shared/dist/loader.d.ts.map +1 -1
  70. package/node_modules/@commandgarden/shared/dist/loader.js +17 -0
  71. package/node_modules/@commandgarden/shared/dist/loader.js.map +1 -1
  72. package/node_modules/@commandgarden/shared/dist/pipeline.d.ts +223 -1
  73. package/node_modules/@commandgarden/shared/dist/pipeline.d.ts.map +1 -1
  74. package/node_modules/@commandgarden/shared/dist/pipeline.js +58 -2
  75. package/node_modules/@commandgarden/shared/dist/pipeline.js.map +1 -1
  76. package/node_modules/@commandgarden/shared/dist/protocol.d.ts +1 -0
  77. package/node_modules/@commandgarden/shared/dist/protocol.d.ts.map +1 -1
  78. package/node_modules/@commandgarden/shared/dist/protocol.js.map +1 -1
  79. package/package.json +1 -1
  80. package/node_modules/@commandgarden/app/dist/client/assets/index-B-_w54e9.css +0 -1
  81. package/node_modules/@commandgarden/app/dist/client/assets/index-Bb1BOK1E.js +0 -252
@@ -0,0 +1,36 @@
1
+ // src/transforms.ts
2
+ import TurndownService from 'turndown';
3
+ const transforms = new Map();
4
+ transforms.set('html_to_markdown', (input) => {
5
+ const td = new TurndownService();
6
+ return td.turndown(String(input));
7
+ });
8
+ transforms.set('split_metadata', (input, options) => {
9
+ const delimiter = options?.delimiter ?? '|';
10
+ const fieldNames = options?.fields ?? [];
11
+ const parts = String(input).split(delimiter).map(s => s.trim());
12
+ const result = {};
13
+ for (let i = 0; i < fieldNames.length; i++) {
14
+ result[fieldNames[i]] = parts[i] ?? '';
15
+ }
16
+ return result;
17
+ });
18
+ transforms.set('json_unwrap', (input, options) => {
19
+ const path = options?.path ?? '';
20
+ let current = input;
21
+ for (const key of path.split('.')) {
22
+ if (current == null || typeof current !== 'object')
23
+ return [];
24
+ current = current[key];
25
+ }
26
+ if (!Array.isArray(current))
27
+ return [];
28
+ return current;
29
+ });
30
+ export function getTransform(type) {
31
+ const fn = transforms.get(type);
32
+ if (!fn)
33
+ throw new Error(`Unknown transform type: "${type}"`);
34
+ return fn;
35
+ }
36
+ //# sourceMappingURL=transforms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../src/transforms.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,eAAe,MAAM,UAAU,CAAC;AAIvC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;AAElD,UAAU,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,KAAc,EAAE,EAAE;IACpD,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,KAAc,EAAE,OAAiC,EAAE,EAAE;IACrF,MAAM,SAAS,GAAI,OAAO,EAAE,SAAoB,IAAI,GAAG,CAAC;IACxD,MAAM,UAAU,GAAI,OAAO,EAAE,MAAmB,IAAI,EAAE,CAAC;IACvD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAChE,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,KAAc,EAAE,OAAiC,EAAE,EAAE;IAClF,MAAM,IAAI,GAAI,OAAO,EAAE,IAAe,IAAI,EAAE,CAAC;IAC7C,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAC9D,OAAO,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAoC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,GAAG,CAAC,CAAC;IAC9D,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -16,13 +16,15 @@
16
16
  },
17
17
  "dependencies": {
18
18
  "@commandgarden/shared": "*",
19
- "sql.js": "^1.11.0",
20
- "fastify": "^5.0.0",
21
19
  "@fastify/websocket": "^11.0.0",
20
+ "fastify": "^5.0.0",
21
+ "sql.js": "^1.11.0",
22
+ "turndown": "^7.2.4",
22
23
  "yaml": "^2.4.0"
23
24
  },
24
25
  "devDependencies": {
25
26
  "@types/node": "^22.0.0",
27
+ "@types/turndown": "^5.0.6",
26
28
  "@types/ws": "^8.5.0",
27
29
  "typescript": "^5.4.0",
28
30
  "vitest": "^2.0.0"
@@ -6,6 +6,7 @@ declare const connectorArgSchema: z.ZodObject<{
6
6
  default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
7
7
  help: z.ZodOptional<z.ZodString>;
8
8
  pattern: z.ZodOptional<z.ZodString>;
9
+ enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
9
10
  }, "strip", z.ZodTypeAny, {
10
11
  type: "string" | "number" | "boolean";
11
12
  name: string;
@@ -13,6 +14,7 @@ declare const connectorArgSchema: z.ZodObject<{
13
14
  default?: string | number | boolean | undefined;
14
15
  help?: string | undefined;
15
16
  pattern?: string | undefined;
17
+ enum?: string[] | undefined;
16
18
  }, {
17
19
  type: "string" | "number" | "boolean";
18
20
  name: string;
@@ -20,6 +22,7 @@ declare const connectorArgSchema: z.ZodObject<{
20
22
  default?: string | number | boolean | undefined;
21
23
  help?: string | undefined;
22
24
  pattern?: string | undefined;
25
+ enum?: string[] | undefined;
23
26
  }>;
24
27
  declare const connectorColumnSchema: z.ZodObject<{
25
28
  name: z.ZodString;
@@ -37,6 +40,7 @@ export declare const connectorSchema: z.ZodObject<{
37
40
  version: z.ZodString;
38
41
  description: z.ZodOptional<z.ZodString>;
39
42
  access: z.ZodDefault<z.ZodEnum<["read", "write"]>>;
43
+ vars: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
40
44
  domains: z.ZodArray<z.ZodString, "many">;
41
45
  capabilities: z.ZodArray<z.ZodEnum<["navigate", "cookie_read", "cookie_write", "dom_read", "dom_write", "intercept_response", "js_evaluate"]>, "many">;
42
46
  args: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -46,6 +50,7 @@ export declare const connectorSchema: z.ZodObject<{
46
50
  default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
47
51
  help: z.ZodOptional<z.ZodString>;
48
52
  pattern: z.ZodOptional<z.ZodString>;
53
+ enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
49
54
  }, "strip", z.ZodTypeAny, {
50
55
  type: "string" | "number" | "boolean";
51
56
  name: string;
@@ -53,6 +58,7 @@ export declare const connectorSchema: z.ZodObject<{
53
58
  default?: string | number | boolean | undefined;
54
59
  help?: string | undefined;
55
60
  pattern?: string | undefined;
61
+ enum?: string[] | undefined;
56
62
  }, {
57
63
  type: "string" | "number" | "boolean";
58
64
  name: string;
@@ -60,6 +66,7 @@ export declare const connectorSchema: z.ZodObject<{
60
66
  default?: string | number | boolean | undefined;
61
67
  help?: string | undefined;
62
68
  pattern?: string | undefined;
69
+ enum?: string[] | undefined;
63
70
  }>, "many">>>;
64
71
  columns: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
65
72
  name: z.ZodString;
@@ -159,6 +166,7 @@ export declare const connectorSchema: z.ZodObject<{
159
166
  headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
160
167
  body: z.ZodOptional<z.ZodString>;
161
168
  as: z.ZodOptional<z.ZodString>;
169
+ dataPath: z.ZodOptional<z.ZodString>;
162
170
  }, "strip", z.ZodTypeAny, {
163
171
  step: "fetch";
164
172
  url: string;
@@ -166,6 +174,7 @@ export declare const connectorSchema: z.ZodObject<{
166
174
  method?: string | undefined;
167
175
  headers?: Record<string, string> | undefined;
168
176
  body?: string | undefined;
177
+ dataPath?: string | undefined;
169
178
  }, {
170
179
  step: "fetch";
171
180
  url: string;
@@ -173,6 +182,7 @@ export declare const connectorSchema: z.ZodObject<{
173
182
  method?: string | undefined;
174
183
  headers?: Record<string, string> | undefined;
175
184
  body?: string | undefined;
185
+ dataPath?: string | undefined;
176
186
  }>, z.ZodObject<{
177
187
  step: z.ZodLiteral<"map">;
178
188
  fields: z.ZodRecord<z.ZodString, z.ZodString>;
@@ -209,6 +219,107 @@ export declare const connectorSchema: z.ZodObject<{
209
219
  step: "set";
210
220
  value: string;
211
221
  name: string;
222
+ }>, z.ZodObject<{
223
+ step: z.ZodLiteral<"extract_html">;
224
+ selector: z.ZodString;
225
+ as: z.ZodString;
226
+ }, "strip", z.ZodTypeAny, {
227
+ step: "extract_html";
228
+ selector: string;
229
+ as: string;
230
+ }, {
231
+ step: "extract_html";
232
+ selector: string;
233
+ as: string;
234
+ }>, z.ZodObject<{
235
+ step: z.ZodLiteral<"transform">;
236
+ type: z.ZodString;
237
+ input: z.ZodString;
238
+ as: z.ZodString;
239
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
240
+ }, "strip", z.ZodTypeAny, {
241
+ type: string;
242
+ step: "transform";
243
+ as: string;
244
+ input: string;
245
+ options?: Record<string, unknown> | undefined;
246
+ }, {
247
+ type: string;
248
+ step: "transform";
249
+ as: string;
250
+ input: string;
251
+ options?: Record<string, unknown> | undefined;
252
+ }>, z.ZodObject<{
253
+ step: z.ZodLiteral<"extract_tree">;
254
+ root: z.ZodString;
255
+ group: z.ZodObject<{
256
+ match: z.ZodString;
257
+ title: z.ZodString;
258
+ children: z.ZodString;
259
+ }, "strip", z.ZodTypeAny, {
260
+ match: string;
261
+ title: string;
262
+ children: string;
263
+ }, {
264
+ match: string;
265
+ title: string;
266
+ children: string;
267
+ }>;
268
+ leaf: z.ZodObject<{
269
+ match: z.ZodString;
270
+ fields: z.ZodRecord<z.ZodString, z.ZodString>;
271
+ }, "strip", z.ZodTypeAny, {
272
+ fields: Record<string, string>;
273
+ match: string;
274
+ }, {
275
+ fields: Record<string, string>;
276
+ match: string;
277
+ }>;
278
+ pathSeparator: z.ZodOptional<z.ZodString>;
279
+ }, "strip", z.ZodTypeAny, {
280
+ step: "extract_tree";
281
+ root: string;
282
+ group: {
283
+ match: string;
284
+ title: string;
285
+ children: string;
286
+ };
287
+ leaf: {
288
+ fields: Record<string, string>;
289
+ match: string;
290
+ };
291
+ pathSeparator?: string | undefined;
292
+ }, {
293
+ step: "extract_tree";
294
+ root: string;
295
+ group: {
296
+ match: string;
297
+ title: string;
298
+ children: string;
299
+ };
300
+ leaf: {
301
+ fields: Record<string, string>;
302
+ match: string;
303
+ };
304
+ pathSeparator?: string | undefined;
305
+ }>, z.ZodObject<{
306
+ step: z.ZodLiteral<"click_all">;
307
+ selector: z.ZodString;
308
+ pause: z.ZodOptional<z.ZodNumber>;
309
+ maxRounds: z.ZodOptional<z.ZodNumber>;
310
+ settle: z.ZodOptional<z.ZodNumber>;
311
+ }, "strip", z.ZodTypeAny, {
312
+ step: "click_all";
313
+ selector: string;
314
+ pause?: number | undefined;
315
+ maxRounds?: number | undefined;
316
+ settle?: number | undefined;
317
+ }, {
318
+ step: "click_all";
319
+ selector: string;
320
+ pause?: number | undefined;
321
+ maxRounds?: number | undefined;
322
+ settle?: number | undefined;
212
323
  }>, z.ZodObject<{
213
324
  step: z.ZodLiteral<"js_evaluate">;
214
325
  code: z.ZodOptional<z.ZodString>;
@@ -239,6 +350,7 @@ export declare const connectorSchema: z.ZodObject<{
239
350
  default?: string | number | boolean | undefined;
240
351
  help?: string | undefined;
241
352
  pattern?: string | undefined;
353
+ enum?: string[] | undefined;
242
354
  }[];
243
355
  columns: {
244
356
  type: "string" | "number" | "boolean";
@@ -278,6 +390,7 @@ export declare const connectorSchema: z.ZodObject<{
278
390
  method?: string | undefined;
279
391
  headers?: Record<string, string> | undefined;
280
392
  body?: string | undefined;
393
+ dataPath?: string | undefined;
281
394
  } | {
282
395
  step: "map";
283
396
  fields: Record<string, string>;
@@ -290,6 +403,35 @@ export declare const connectorSchema: z.ZodObject<{
290
403
  step: "set";
291
404
  value: string;
292
405
  name: string;
406
+ } | {
407
+ step: "extract_html";
408
+ selector: string;
409
+ as: string;
410
+ } | {
411
+ type: string;
412
+ step: "transform";
413
+ as: string;
414
+ input: string;
415
+ options?: Record<string, unknown> | undefined;
416
+ } | {
417
+ step: "extract_tree";
418
+ root: string;
419
+ group: {
420
+ match: string;
421
+ title: string;
422
+ children: string;
423
+ };
424
+ leaf: {
425
+ fields: Record<string, string>;
426
+ match: string;
427
+ };
428
+ pathSeparator?: string | undefined;
429
+ } | {
430
+ step: "click_all";
431
+ selector: string;
432
+ pause?: number | undefined;
433
+ maxRounds?: number | undefined;
434
+ settle?: number | undefined;
293
435
  } | {
294
436
  step: "js_evaluate";
295
437
  code?: string | undefined;
@@ -297,6 +439,7 @@ export declare const connectorSchema: z.ZodObject<{
297
439
  file?: string | undefined;
298
440
  })[];
299
441
  description?: string | undefined;
442
+ vars?: Record<string, unknown> | undefined;
300
443
  }, {
301
444
  name: string;
302
445
  site: string;
@@ -337,6 +480,7 @@ export declare const connectorSchema: z.ZodObject<{
337
480
  method?: string | undefined;
338
481
  headers?: Record<string, string> | undefined;
339
482
  body?: string | undefined;
483
+ dataPath?: string | undefined;
340
484
  } | {
341
485
  step: "map";
342
486
  fields: Record<string, string>;
@@ -349,6 +493,35 @@ export declare const connectorSchema: z.ZodObject<{
349
493
  step: "set";
350
494
  value: string;
351
495
  name: string;
496
+ } | {
497
+ step: "extract_html";
498
+ selector: string;
499
+ as: string;
500
+ } | {
501
+ type: string;
502
+ step: "transform";
503
+ as: string;
504
+ input: string;
505
+ options?: Record<string, unknown> | undefined;
506
+ } | {
507
+ step: "extract_tree";
508
+ root: string;
509
+ group: {
510
+ match: string;
511
+ title: string;
512
+ children: string;
513
+ };
514
+ leaf: {
515
+ fields: Record<string, string>;
516
+ match: string;
517
+ };
518
+ pathSeparator?: string | undefined;
519
+ } | {
520
+ step: "click_all";
521
+ selector: string;
522
+ pause?: number | undefined;
523
+ maxRounds?: number | undefined;
524
+ settle?: number | undefined;
352
525
  } | {
353
526
  step: "js_evaluate";
354
527
  code?: string | undefined;
@@ -357,6 +530,7 @@ export declare const connectorSchema: z.ZodObject<{
357
530
  })[];
358
531
  description?: string | undefined;
359
532
  access?: "read" | "write" | undefined;
533
+ vars?: Record<string, unknown> | undefined;
360
534
  args?: {
361
535
  type: "string" | "number" | "boolean";
362
536
  name: string;
@@ -364,6 +538,7 @@ export declare const connectorSchema: z.ZodObject<{
364
538
  default?: string | number | boolean | undefined;
365
539
  help?: string | undefined;
366
540
  pattern?: string | undefined;
541
+ enum?: string[] | undefined;
367
542
  }[] | undefined;
368
543
  columns?: {
369
544
  type: "string" | "number" | "boolean";
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;EAOtB,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;;;;;;;EAGzB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW1B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC3D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;EAQtB,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;;;;;;;EAGzB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY1B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC3D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -9,6 +9,7 @@ const connectorArgSchema = z.object({
9
9
  default: z.union([z.string(), z.number(), z.boolean()]).optional(),
10
10
  help: z.string().optional(),
11
11
  pattern: z.string().optional(),
12
+ enum: z.array(z.string()).optional(),
12
13
  });
13
14
  const connectorColumnSchema = z.object({
14
15
  name: z.string(),
@@ -20,6 +21,7 @@ export const connectorSchema = z.object({
20
21
  version: z.string(),
21
22
  description: z.string().optional(),
22
23
  access: z.enum(['read', 'write']).default('read'),
24
+ vars: z.record(z.unknown()).optional(),
23
25
  domains: z.array(z.string()).min(1),
24
26
  capabilities: z.array(capabilityEnum).min(1),
25
27
  args: z.array(connectorArgSchema).optional().default([]),
@@ -1 +1 @@
1
- {"version":3,"file":"connector.js","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAE5C,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACxD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9D,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7C,CAAC,CAAC"}
1
+ {"version":3,"file":"connector.js","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAE5C,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACxD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9D,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7C,CAAC,CAAC"}
@@ -2,6 +2,8 @@ export interface ExprContext {
2
2
  args: Record<string, string | number | boolean>;
3
3
  vars: Record<string, unknown>;
4
4
  cookies: Record<string, string>;
5
+ /** Per-row scope injected by PipelineContext.applyMap for ${{ row.field }} expressions */
6
+ row?: Record<string, unknown>;
5
7
  }
6
8
  export declare function evaluate(expression: string, context: ExprContext): unknown;
7
9
  export declare function interpolate(template: string, context: ExprContext): string;
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/expression/evaluator.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAqCD,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAI1E;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAI1E"}
1
+ {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/expression/evaluator.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,0FAA0F;IAC1F,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAqCD,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAI1E;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAI1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../src/expression/evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAa,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAQhD,SAAS,WAAW,CAAC,GAAY,EAAE,IAAc;IAC/C,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACrE,OAAO,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,IAAI,CAAC,IAAU,EAAE,OAAoB;IAC5C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;YAClC,MAAM,KAAK,GAAI,OAA8C,CAAC,IAAI,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,UAAkB,EAAE,OAAoB;IAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,OAAoB;IAChE,OAAO,QAAQ,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE,OAAe,EAAE,EAAE;QACvE,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../src/expression/evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAa,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAUhD,SAAS,WAAW,CAAC,GAAY,EAAE,IAAc;IAC/C,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACrE,OAAO,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,IAAI,CAAC,IAAU,EAAE,OAAoB;IAC5C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;YAClC,MAAM,KAAK,GAAI,OAA8C,CAAC,IAAI,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,UAAkB,EAAE,OAAoB;IAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,OAAoB;IAChE,OAAO,QAAQ,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE,OAAe,EAAE,EAAE;QACvE,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/expression/filters.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAEvE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAMrD,CAAC"}
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/expression/filters.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAEvE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAUrD,CAAC"}
@@ -4,5 +4,10 @@ export const BUILT_IN_FILTERS = {
4
4
  trim: (value) => String(value).trim(),
5
5
  upper: (value) => String(value).toUpperCase(),
6
6
  lower: (value) => String(value).toLowerCase(),
7
+ lookup: (value, map) => {
8
+ if (map == null || typeof map !== 'object')
9
+ return undefined;
10
+ return map[String(value)];
11
+ },
7
12
  };
8
13
  //# sourceMappingURL=filters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../src/expression/filters.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,OAAO,EAAE,CAAC,KAAc,EAAE,QAAiB,EAAE,EAAE,CAAC,KAAK,IAAI,QAAQ;IACjE,MAAM,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;IACzC,IAAI,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;IAC9C,KAAK,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;IACtD,KAAK,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;CACvD,CAAC"}
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../src/expression/filters.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,OAAO,EAAE,CAAC,KAAc,EAAE,QAAiB,EAAE,EAAE,CAAC,KAAK,IAAI,QAAQ;IACjE,MAAM,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;IACzC,IAAI,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;IAC9C,KAAK,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;IACtD,KAAK,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;IACtD,MAAM,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QACvC,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC7D,OAAQ,GAA+B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;CACF,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { ConnectorArg } from './connector.js';
2
+ export type FanOutResult = {
3
+ isFanOut: false;
4
+ argSets: Record<string, string>[];
5
+ } | {
6
+ isFanOut: true;
7
+ fanOutArgName: string;
8
+ argSets: Record<string, string>[];
9
+ };
10
+ /**
11
+ * Fill in default values for any arg definitions that have a default
12
+ * but are missing from the provided args.
13
+ * Numeric/boolean defaults are coerced to strings since all args are
14
+ * string-valued at the wire level.
15
+ */
16
+ export declare function applyArgDefaults(args: Record<string, string>, argDefs: ConnectorArg[]): Record<string, string>;
17
+ /**
18
+ * Expand "all" on enum args into multiple arg sets for sequential fan-out.
19
+ * If no enum arg has the value "all", returns the original args as a single-item array.
20
+ * Only one arg can fan out per invocation (first match wins).
21
+ */
22
+ export declare function expandFanOut(args: Record<string, string>, argDefs: ConnectorArg[]): FanOutResult;
23
+ /**
24
+ * Validate that all enum args have valid values (in the enum list or "all").
25
+ * Returns null if valid, or an error message string if invalid.
26
+ */
27
+ export declare function validateEnumArgs(args: Record<string, string>, argDefs: ConnectorArg[]): string | null;
28
+ //# sourceMappingURL=fan-out.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fan-out.d.ts","sourceRoot":"","sources":["../src/fan-out.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CAAE,GACtD;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CAAE,CAAC;AAEjF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,YAAY,EAAE,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,YAAY,EAAE,GACtB,YAAY,CAcd;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,YAAY,EAAE,GACtB,MAAM,GAAG,IAAI,CAWf"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Fill in default values for any arg definitions that have a default
3
+ * but are missing from the provided args.
4
+ * Numeric/boolean defaults are coerced to strings since all args are
5
+ * string-valued at the wire level.
6
+ */
7
+ export function applyArgDefaults(args, argDefs) {
8
+ const result = { ...args };
9
+ for (const def of argDefs) {
10
+ if (def.default != null && !(def.name in result)) {
11
+ result[def.name] = String(def.default);
12
+ }
13
+ }
14
+ return result;
15
+ }
16
+ /**
17
+ * Expand "all" on enum args into multiple arg sets for sequential fan-out.
18
+ * If no enum arg has the value "all", returns the original args as a single-item array.
19
+ * Only one arg can fan out per invocation (first match wins).
20
+ */
21
+ export function expandFanOut(args, argDefs) {
22
+ for (const def of argDefs) {
23
+ if (!def.enum || def.enum.length === 0)
24
+ continue;
25
+ const value = args[def.name] ?? def.default;
26
+ if (String(value) !== 'all')
27
+ continue;
28
+ return {
29
+ isFanOut: true,
30
+ fanOutArgName: def.name,
31
+ argSets: def.enum.map(enumVal => applyArgDefaults({ ...args, [def.name]: enumVal }, argDefs)),
32
+ };
33
+ }
34
+ return { isFanOut: false, argSets: [applyArgDefaults(args, argDefs)] };
35
+ }
36
+ /**
37
+ * Validate that all enum args have valid values (in the enum list or "all").
38
+ * Returns null if valid, or an error message string if invalid.
39
+ */
40
+ export function validateEnumArgs(args, argDefs) {
41
+ for (const def of argDefs) {
42
+ if (!def.enum || def.enum.length === 0)
43
+ continue;
44
+ const value = args[def.name] ?? (def.default != null ? String(def.default) : undefined);
45
+ if (value === undefined)
46
+ continue;
47
+ if (value === 'all')
48
+ continue;
49
+ if (!def.enum.includes(value)) {
50
+ return `Invalid value "${value}" for arg "${def.name}". Must be one of: ${def.enum.join(', ')}, all`;
51
+ }
52
+ }
53
+ return null;
54
+ }
55
+ //# sourceMappingURL=fan-out.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fan-out.js","sourceRoot":"","sources":["../src/fan-out.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAA4B,EAC5B,OAAuB;IAEvB,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,IAA4B,EAC5B,OAAuB;IAEvB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC;QAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK;YAAE,SAAS;QAEtC,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,GAAG,CAAC,IAAI;YACvB,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;SAC9F,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAA4B,EAC5B,OAAuB;IAEvB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxF,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,KAAK,KAAK,KAAK;YAAE,SAAS;QAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,kBAAkB,KAAK,cAAc,GAAG,CAAC,IAAI,sBAAsB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACvG,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,9 +1,10 @@
1
1
  export { CAPABILITIES, type Capability, type RiskLevel, CAPABILITY_RISK, HIGH_RISK_CAPABILITIES, isCapability, } from './capabilities.js';
2
- export { PIPELINE_STEP_TYPES, type PipelineStepType, STEP_CAPABILITY_MAP, pipelineStepSchema, type PipelineStep, type NavigateStep, type WaitStep, type ExtractStep, type ClickStep, type TypeStep, type InterceptStep, type CookieStep, type FetchStep, type MapStep, type FilterStep, type SetStep, type JsEvaluateStep, } from './pipeline.js';
2
+ export { PIPELINE_STEP_TYPES, type PipelineStepType, STEP_CAPABILITY_MAP, pipelineStepSchema, type PipelineStep, type NavigateStep, type WaitStep, type ExtractStep, type ClickStep, type TypeStep, type InterceptStep, type CookieStep, type FetchStep, type MapStep, type FilterStep, type SetStep, type ExtractTreeStep, type ClickAllStep, type ExtractHtmlStep, type TransformStep, type JsEvaluateStep, DAEMON_STEPS, type DaemonStepType, splitPipeline, } from './pipeline.js';
3
3
  export { connectorSchema, type ConnectorDef, type ConnectorArg, type ConnectorColumn, } from './connector.js';
4
4
  export { parseConnectorYaml, validateConnectorSemantics, type LoadError, } from './loader.js';
5
5
  export { tokenize, parse, evaluate, interpolate, BUILT_IN_FILTERS, type Token, type TokenType, type Expr, type ExprContext, type FilterFn, } from './expression/index.js';
6
6
  export { type RunCommandRequest, type RunCommandResponse, type ApprovalConfig, type ExtensionRequest, type ExtensionResponse, type ApprovalRequest, type ApprovalResponse, isRunCommandRequest, isExtensionResponse, isApprovalRequest, isApprovalResponse, } from './protocol.js';
7
7
  export { AUDIT_EVENT_TYPES, type AuditEvent, type AuditEventType, type StepSummary, createAuditEvent, redactArgs, } from './events.js';
8
+ export { applyArgDefaults, expandFanOut, validateEnumArgs, type FanOutResult, } from './fan-out.js';
8
9
  export { DaemonClient, readToken, } from './daemon-client.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,SAAS,EACd,eAAe,EACf,sBAAsB,EACtB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,SAAS,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,KAAK,QAAQ,GACd,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,gBAAgB,EAChB,UAAU,GACX,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,YAAY,EACZ,SAAS,GACV,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,SAAS,EACd,eAAe,EACf,sBAAsB,EACtB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,YAAY,EACZ,KAAK,cAAc,EACnB,aAAa,GACd,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,SAAS,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,KAAK,QAAQ,GACd,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,gBAAgB,EAChB,UAAU,GACX,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,YAAY,EACZ,SAAS,GACV,MAAM,oBAAoB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  // Capabilities
2
2
  export { CAPABILITIES, CAPABILITY_RISK, HIGH_RISK_CAPABILITIES, isCapability, } from './capabilities.js';
3
3
  // Pipeline steps
4
- export { PIPELINE_STEP_TYPES, STEP_CAPABILITY_MAP, pipelineStepSchema, } from './pipeline.js';
4
+ export { PIPELINE_STEP_TYPES, STEP_CAPABILITY_MAP, pipelineStepSchema, DAEMON_STEPS, splitPipeline, } from './pipeline.js';
5
5
  // Connector schema
6
6
  export { connectorSchema, } from './connector.js';
7
7
  // YAML loader
@@ -12,6 +12,8 @@ export { tokenize, parse, evaluate, interpolate, BUILT_IN_FILTERS, } from './exp
12
12
  export { isRunCommandRequest, isExtensionResponse, isApprovalRequest, isApprovalResponse, } from './protocol.js';
13
13
  // Audit events
14
14
  export { AUDIT_EVENT_TYPES, createAuditEvent, redactArgs, } from './events.js';
15
+ // Fan-out
16
+ export { applyArgDefaults, expandFanOut, validateEnumArgs, } from './fan-out.js';
15
17
  // Daemon client
16
18
  export { DaemonClient, readToken, } from './daemon-client.js';
17
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EACL,YAAY,EAGZ,eAAe,EACf,sBAAsB,EACtB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EAEnB,mBAAmB,EACnB,kBAAkB,GAcnB,MAAM,eAAe,CAAC;AAEvB,mBAAmB;AACnB,OAAO,EACL,eAAe,GAIhB,MAAM,gBAAgB,CAAC;AAExB,cAAc;AACd,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAE3B,MAAM,aAAa,CAAC;AAErB,oBAAoB;AACpB,OAAO,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,GAMjB,MAAM,uBAAuB,CAAC;AAE/B,WAAW;AACX,OAAO,EAQL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,eAAe;AACf,OAAO,EACL,iBAAiB,EAIjB,gBAAgB,EAChB,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,SAAS,GACV,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EACL,YAAY,EAGZ,eAAe,EACf,sBAAsB,EACtB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EAEnB,mBAAmB,EACnB,kBAAkB,EAkBlB,YAAY,EAEZ,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,mBAAmB;AACnB,OAAO,EACL,eAAe,GAIhB,MAAM,gBAAgB,CAAC;AAExB,cAAc;AACd,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAE3B,MAAM,aAAa,CAAC;AAErB,oBAAoB;AACpB,OAAO,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,GAMjB,MAAM,uBAAuB,CAAC;AAE/B,WAAW;AACX,OAAO,EAQL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,eAAe;AACf,OAAO,EACL,iBAAiB,EAIjB,gBAAgB,EAChB,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,UAAU;AACV,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,GAEjB,MAAM,cAAc,CAAC;AAEtB,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,SAAS,GACV,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGpE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,kBAAkB,GAAG,yBAAyB,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,KAAK,UAAU,GACX;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEpC,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CA2BlE;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,EAAE,CAwD5E"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGpE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,kBAAkB,GAAG,yBAAyB,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,KAAK,UAAU,GACX;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEpC,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CA2BlE;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,EAAE,CA0E5E"}
@@ -71,6 +71,23 @@ export function validateConnectorSemantics(connector) {
71
71
  errors.push(`Cookie step uses domain "${step.domain}" which is not declared in domains`);
72
72
  }
73
73
  }
74
+ // Check vars maps: if a vars entry is an object whose values are all strings,
75
+ // verify each value is declared in the top-level domains list.
76
+ if (connector.vars) {
77
+ for (const [varName, varValue] of Object.entries(connector.vars)) {
78
+ if (varValue == null || typeof varValue !== 'object' || Array.isArray(varValue))
79
+ continue;
80
+ const entries = Object.entries(varValue);
81
+ const allStrings = entries.length > 0 && entries.every(([, v]) => typeof v === 'string');
82
+ if (!allStrings)
83
+ continue;
84
+ for (const [key, domain] of entries) {
85
+ if (!declaredDomains.has(domain)) {
86
+ errors.push(`vars.${varName}.${key} references domain "${domain}" which is not declared in domains`);
87
+ }
88
+ }
89
+ }
90
+ }
74
91
  return errors;
75
92
  }
76
93
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}