conduyt 1.79.0 → 1.80.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/README.md CHANGED
@@ -66,6 +66,7 @@ conduyt status-metadata list --stage-id <id> # the status codes + buckets atta
66
66
  conduyt status-metadata import --file rows.json --mode replace # set-based import (max 1000; an item key outside stageId, code, bucket, lifecycleStage, dripEligible, dripTrackName, isTerminal, notes is refused before any request); per-item errors print and exit 1; `--mode replace` with no items is refused unless `--confirm-empty-replace` (it deletes every row). Timeouts: archive 75 s, import and the Mailchimp write / action commands 60 s; on a timeout the server may have applied it, so read the state first
67
67
  conduyt integrations mailchimp settings # the Mailchimp audience sync (API key scope integrations); `set | audiences | push | retry-unsubscribes | reconcile-statuses [--restart] | confirm-reconciliation`. Connecting is browser-only (OAuth): do it in the app
68
68
  conduyt pipelines update <id> --automation-only true # only automations, API keys and owners / admins move or edit its cards (owner / admin key); also --color <palette hex> and --sort-order
69
+ conduyt automations dry-run <id> [--contact <id>] [--deal <id>] [--company <id>] [--execution <id>] # preview one trigger occurrence without side effects; --deal for a deal occurrence, --company for a company occurrence, --execution (admin or owner only) replays a stored run of this automation and supplies the company its payload carried; no test-node command exists in this CLI
69
70
  conduyt search "acme corp" # search across the CRM
70
71
  conduyt insights summary # run an AI insight query
71
72
  conduyt insights saved_report --report "Lead Activity" --period last_7_days # run any saved report as a tool
package/dist/index.js CHANGED
@@ -2541,18 +2541,33 @@ automations
2541
2541
  }));
2542
2542
  automations
2543
2543
  .command("dry-run <id>")
2544
- .description("Test a workflow without side effects")
2544
+ .description("Test a workflow without side effects. A deal occurrence needs --deal and a company occurrence needs --company. --execution (admin or owner only) replays a stored run of this automation and supplies ONE fact, the company carried by that run's payload (same account, automation, trigger event, contact and deal as the preview; runs carrying a deal are hidden from API keys without the deals scope); without it, on a non-company occurrence, the preview is a synthetic sample and company rules evaluate as unknown/absent, which the response says")
2545
2545
  .option("--contact <id>", "run against this contact UUID")
2546
2546
  .option("--appointment <id>", "seed with this appointment UUID")
2547
+ .option("--deal <id>", "the event's deal UUID: REQUIRED for a deal occurrence (400 without it), 404 for a deal you cannot see, refused (400) on any other occurrence")
2548
+ .option("--company <id>", "the event's company UUID: REQUIRED for a company occurrence (400 without it); on any other occurrence accepted only when it equals the company the --execution payload carries")
2549
+ .option("--execution <id>", "UUID of a stored run of THIS automation to replay (admin or owner only); supplies the company its payload carried, nothing else; it does not replace --company on a company occurrence")
2547
2550
  .option("--source <source>", "draft | published (default draft)")
2548
2551
  .option("--mode <mode>", "single | all-paths (default single)")
2549
2552
  .action(run(async (client, id, opts) => {
2550
2553
  assertUuid(id, "automation id");
2554
+ if (opts.deal !== undefined)
2555
+ assertUuid(opts.deal, "--deal");
2556
+ if (opts.company !== undefined)
2557
+ assertUuid(opts.company, "--company");
2558
+ if (opts.execution !== undefined)
2559
+ assertUuid(opts.execution, "--execution");
2551
2560
  const body = {};
2552
2561
  if (opts.contact !== undefined)
2553
2562
  body.contactId = opts.contact;
2554
2563
  if (opts.appointment !== undefined)
2555
2564
  body.appointmentId = opts.appointment;
2565
+ if (opts.deal !== undefined)
2566
+ body.dealId = opts.deal.trim();
2567
+ if (opts.company !== undefined)
2568
+ body.companyId = opts.company.trim();
2569
+ if (opts.execution !== undefined)
2570
+ body.executionId = opts.execution.trim();
2556
2571
  return client.post(`/api/v1/automations/${encodeURIComponent(id)}/dry-run${buildQuery({ source: opts.source, mode: opts.mode })}`, body);
2557
2572
  }));
2558
2573
  automations
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "conduyt",
3
- "version": "1.79.0",
3
+ "version": "1.80.0",
4
4
  "description": "Command-line interface for Conduyt CRM — manage contacts, deals, pipelines, and run insight queries from your terminal.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",