@commandgarden/cli 2.0.0 → 2.1.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.
package/dist/main.js CHANGED
@@ -16273,7 +16273,10 @@ var STEP_CAPABILITY_MAP = {
16273
16273
  navigate: "navigate",
16274
16274
  wait: "navigate",
16275
16275
  extract: "dom_read",
16276
+ extract_tree: "dom_read",
16277
+ extract_html: "dom_read",
16276
16278
  click: "dom_write",
16279
+ click_all: "dom_write",
16277
16280
  type: "dom_write",
16278
16281
  intercept: "intercept_response",
16279
16282
  cookie: "cookie_read",
@@ -16281,6 +16284,7 @@ var STEP_CAPABILITY_MAP = {
16281
16284
  map: null,
16282
16285
  filter: null,
16283
16286
  set: null,
16287
+ transform: null,
16284
16288
  js_evaluate: "js_evaluate"
16285
16289
  };
16286
16290
  var navigateStepSchema = external_exports.object({
@@ -16323,7 +16327,8 @@ var fetchStepSchema = external_exports.object({
16323
16327
  method: external_exports.string().optional(),
16324
16328
  headers: external_exports.record(external_exports.string(), external_exports.string()).optional(),
16325
16329
  body: external_exports.string().optional(),
16326
- as: external_exports.string().optional()
16330
+ as: external_exports.string().optional(),
16331
+ dataPath: external_exports.string().optional()
16327
16332
  });
16328
16333
  var mapStepSchema = external_exports.object({
16329
16334
  step: external_exports.literal("map"),
@@ -16340,6 +16345,39 @@ var setStepSchema = external_exports.object({
16340
16345
  name: external_exports.string(),
16341
16346
  value: external_exports.string()
16342
16347
  });
16348
+ var extractHtmlStepSchema = external_exports.object({
16349
+ step: external_exports.literal("extract_html"),
16350
+ selector: external_exports.string(),
16351
+ as: external_exports.string()
16352
+ });
16353
+ var transformStepSchema = external_exports.object({
16354
+ step: external_exports.literal("transform"),
16355
+ type: external_exports.string(),
16356
+ input: external_exports.string(),
16357
+ as: external_exports.string(),
16358
+ options: external_exports.record(external_exports.string(), external_exports.unknown()).optional()
16359
+ });
16360
+ var extractTreeStepSchema = external_exports.object({
16361
+ step: external_exports.literal("extract_tree"),
16362
+ root: external_exports.string(),
16363
+ group: external_exports.object({
16364
+ match: external_exports.string(),
16365
+ title: external_exports.string(),
16366
+ children: external_exports.string()
16367
+ }),
16368
+ leaf: external_exports.object({
16369
+ match: external_exports.string(),
16370
+ fields: external_exports.record(external_exports.string(), external_exports.string())
16371
+ }),
16372
+ pathSeparator: external_exports.string().optional()
16373
+ });
16374
+ var clickAllStepSchema = external_exports.object({
16375
+ step: external_exports.literal("click_all"),
16376
+ selector: external_exports.string(),
16377
+ pause: external_exports.number().positive().optional(),
16378
+ maxRounds: external_exports.number().positive().optional(),
16379
+ settle: external_exports.number().nonnegative().optional()
16380
+ });
16343
16381
  var jsEvaluateStepSchema = external_exports.object({
16344
16382
  step: external_exports.literal("js_evaluate"),
16345
16383
  code: external_exports.string().optional(),
@@ -16358,6 +16396,10 @@ var pipelineStepSchema = external_exports.discriminatedUnion("step", [
16358
16396
  mapStepSchema,
16359
16397
  filterStepSchema,
16360
16398
  setStepSchema,
16399
+ extractHtmlStepSchema,
16400
+ transformStepSchema,
16401
+ extractTreeStepSchema,
16402
+ clickAllStepSchema,
16361
16403
  jsEvaluateStepSchema
16362
16404
  ]);
16363
16405
 
@@ -16369,7 +16411,8 @@ var connectorArgSchema = external_exports.object({
16369
16411
  required: external_exports.boolean().default(false),
16370
16412
  default: external_exports.union([external_exports.string(), external_exports.number(), external_exports.boolean()]).optional(),
16371
16413
  help: external_exports.string().optional(),
16372
- pattern: external_exports.string().optional()
16414
+ pattern: external_exports.string().optional(),
16415
+ enum: external_exports.array(external_exports.string()).optional()
16373
16416
  });
16374
16417
  var connectorColumnSchema = external_exports.object({
16375
16418
  name: external_exports.string(),
@@ -16381,6 +16424,7 @@ var connectorSchema = external_exports.object({
16381
16424
  version: external_exports.string(),
16382
16425
  description: external_exports.string().optional(),
16383
16426
  access: external_exports.enum(["read", "write"]).default("read"),
16427
+ vars: external_exports.record(external_exports.unknown()).optional(),
16384
16428
  domains: external_exports.array(external_exports.string()).min(1),
16385
16429
  capabilities: external_exports.array(capabilityEnum).min(1),
16386
16430
  args: external_exports.array(connectorArgSchema).optional().default([]),
@@ -16456,6 +16500,21 @@ function validateConnectorSemantics(connector) {
16456
16500
  errors.push(`Cookie step uses domain "${step.domain}" which is not declared in domains`);
16457
16501
  }
16458
16502
  }
16503
+ if (connector.vars) {
16504
+ for (const [varName, varValue] of Object.entries(connector.vars)) {
16505
+ if (varValue == null || typeof varValue !== "object" || Array.isArray(varValue))
16506
+ continue;
16507
+ const entries = Object.entries(varValue);
16508
+ const allStrings = entries.length > 0 && entries.every(([, v]) => typeof v === "string");
16509
+ if (!allStrings)
16510
+ continue;
16511
+ for (const [key, domain] of entries) {
16512
+ if (!declaredDomains.has(domain)) {
16513
+ errors.push(`vars.${varName}.${key} references domain "${domain}" which is not declared in domains`);
16514
+ }
16515
+ }
16516
+ }
16517
+ }
16459
16518
  return errors;
16460
16519
  }
16461
16520