@vm0/cli 9.201.0 → 9.202.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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../packages/connectors/src/firewall-metadata/details/youtube.generated.ts"],"sourcesContent":["// Auto-generated by @vm0/firewalls-generator.\n// Regenerate: cd turbo && pnpm -F @vm0/firewalls-generator generate\n//\n// DO NOT EDIT THIS FILE MANUALLY.\nimport type { FirewallPermissionDetailMetadata } from \"../types\";\n\nexport const firewallPermissionMetadata = {\n \"type\": \"youtube\",\n \"label\": \"YouTube\",\n \"permissionCount\": 68,\n \"permissions\": [\n {\n \"name\": \"abuse-reports.create\",\n \"description\": \"Create YouTube abuse reports.\"\n },\n {\n \"name\": \"activities.read\",\n \"description\": \"Read YouTube channel activities.\"\n },\n {\n \"name\": \"captions.delete\",\n \"description\": \"Delete YouTube captions.\"\n },\n {\n \"name\": \"captions.download\",\n \"description\": \"Download YouTube captions.\"\n },\n {\n \"name\": \"captions.read\",\n \"description\": \"Read YouTube captions.\"\n },\n {\n \"name\": \"captions.write\",\n \"description\": \"Create and update YouTube captions.\"\n },\n {\n \"name\": \"channel-banners.upload\",\n \"description\": \"Upload YouTube channel banners.\"\n },\n {\n \"name\": \"channel-sections.delete\",\n \"description\": \"Delete YouTube channel sections.\"\n },\n {\n \"name\": \"channel-sections.read\",\n \"description\": \"Read YouTube channel sections.\"\n },\n {\n \"name\": \"channel-sections.write\",\n \"description\": \"Create and update YouTube channel sections.\"\n },\n {\n \"name\": \"channels.read\",\n \"description\": \"Read YouTube channels.\"\n },\n {\n \"name\": \"channels.write\",\n \"description\": \"Update YouTube channels.\"\n },\n {\n \"name\": \"comment-threads.read\",\n \"description\": \"Read YouTube comment threads.\"\n },\n {\n \"name\": \"comment-threads.write\",\n \"description\": \"Create and update YouTube comment threads.\"\n },\n {\n \"name\": \"comments.delete\",\n \"description\": \"Delete YouTube comments.\"\n },\n {\n \"name\": \"comments.moderate\",\n \"description\": \"Moderate YouTube comments.\"\n },\n {\n \"name\": \"comments.read\",\n \"description\": \"Read YouTube comments.\"\n },\n {\n \"name\": \"comments.write\",\n \"description\": \"Create and update YouTube comments.\"\n },\n {\n \"name\": \"i18n-languages.read\",\n \"description\": \"Read YouTube supported interface languages.\"\n },\n {\n \"name\": \"i18n-regions.read\",\n \"description\": \"Read YouTube supported regions.\"\n },\n {\n \"name\": \"live-broadcasts.control\",\n \"description\": \"Bind, cue, and transition YouTube live broadcasts.\"\n },\n {\n \"name\": \"live-broadcasts.create\",\n \"description\": \"Create YouTube live broadcasts.\"\n },\n {\n \"name\": \"live-broadcasts.delete\",\n \"description\": \"Delete YouTube live broadcasts.\"\n },\n {\n \"name\": \"live-broadcasts.read\",\n \"description\": \"Read YouTube live broadcasts.\"\n },\n {\n \"name\": \"live-broadcasts.write\",\n \"description\": \"Update YouTube live broadcasts.\"\n },\n {\n \"name\": \"live-chat-bans.write\",\n \"description\": \"Create and delete YouTube live chat bans.\"\n },\n {\n \"name\": \"live-chat-messages.delete\",\n \"description\": \"Delete YouTube live chat messages.\"\n },\n {\n \"name\": \"live-chat-messages.read\",\n \"description\": \"Read YouTube live chat messages.\"\n },\n {\n \"name\": \"live-chat-messages.write\",\n \"description\": \"Create and transition YouTube live chat messages.\"\n },\n {\n \"name\": \"live-chat-moderators.read\",\n \"description\": \"Read YouTube live chat moderators.\"\n },\n {\n \"name\": \"live-chat-moderators.write\",\n \"description\": \"Create and delete YouTube live chat moderators.\"\n },\n {\n \"name\": \"live-streams.create\",\n \"description\": \"Create YouTube live streams.\"\n },\n {\n \"name\": \"live-streams.delete\",\n \"description\": \"Delete YouTube live streams.\"\n },\n {\n \"name\": \"live-streams.read\",\n \"description\": \"Read YouTube live streams.\"\n },\n {\n \"name\": \"live-streams.write\",\n \"description\": \"Update YouTube live streams.\"\n },\n {\n \"name\": \"members.read\",\n \"description\": \"Read YouTube channel members.\"\n },\n {\n \"name\": \"membership-levels.read\",\n \"description\": \"Read YouTube channel membership levels.\"\n },\n {\n \"name\": \"playlist-images.delete\",\n \"description\": \"Delete YouTube playlist images.\"\n },\n {\n \"name\": \"playlist-images.read\",\n \"description\": \"Read YouTube playlist images.\"\n },\n {\n \"name\": \"playlist-images.write\",\n \"description\": \"Create and update YouTube playlist images.\"\n },\n {\n \"name\": \"playlist-items.delete\",\n \"description\": \"Delete YouTube playlist items.\"\n },\n {\n \"name\": \"playlist-items.read\",\n \"description\": \"Read YouTube playlist items.\"\n },\n {\n \"name\": \"playlist-items.write\",\n \"description\": \"Create and update YouTube playlist items.\"\n },\n {\n \"name\": \"playlists.delete\",\n \"description\": \"Delete YouTube playlists.\"\n },\n {\n \"name\": \"playlists.read\",\n \"description\": \"Read YouTube playlists.\"\n },\n {\n \"name\": \"playlists.write\",\n \"description\": \"Create and update YouTube playlists.\"\n },\n {\n \"name\": \"search.read\",\n \"description\": \"Search YouTube resources.\"\n },\n {\n \"name\": \"subscriptions.delete\",\n \"description\": \"Delete YouTube subscriptions.\"\n },\n {\n \"name\": \"subscriptions.read\",\n \"description\": \"Read YouTube subscriptions.\"\n },\n {\n \"name\": \"subscriptions.write\",\n \"description\": \"Create YouTube subscriptions.\"\n },\n {\n \"name\": \"super-chat-events.read\",\n \"description\": \"Read YouTube Super Chat events.\"\n },\n {\n \"name\": \"tests.create\",\n \"description\": \"Create YouTube API test resources.\"\n },\n {\n \"name\": \"third-party-links.delete\",\n \"description\": \"Delete YouTube third-party links.\"\n },\n {\n \"name\": \"third-party-links.read\",\n \"description\": \"Read YouTube third-party links.\"\n },\n {\n \"name\": \"third-party-links.write\",\n \"description\": \"Create and update YouTube third-party links.\"\n },\n {\n \"name\": \"thumbnails.set\",\n \"description\": \"Set YouTube video thumbnails.\"\n },\n {\n \"name\": \"video-abuse-report-reasons.read\",\n \"description\": \"Read YouTube video abuse report reasons.\"\n },\n {\n \"name\": \"video-categories.read\",\n \"description\": \"Read YouTube video categories.\"\n },\n {\n \"name\": \"video-trainability.read\",\n \"description\": \"Read YouTube video trainability state.\"\n },\n {\n \"name\": \"videos.create\",\n \"description\": \"Upload YouTube videos.\"\n },\n {\n \"name\": \"videos.delete\",\n \"description\": \"Delete YouTube videos.\"\n },\n {\n \"name\": \"videos.rate\",\n \"description\": \"Rate YouTube videos.\"\n },\n {\n \"name\": \"videos.rating.read\",\n \"description\": \"Read YouTube video ratings.\"\n },\n {\n \"name\": \"videos.read\",\n \"description\": \"Read YouTube videos.\"\n },\n {\n \"name\": \"videos.report-abuse\",\n \"description\": \"Report YouTube video abuse.\"\n },\n {\n \"name\": \"videos.write\",\n \"description\": \"Update YouTube videos.\"\n },\n {\n \"name\": \"watermarks.delete\",\n \"description\": \"Remove YouTube channel watermarks.\"\n },\n {\n \"name\": \"watermarks.set\",\n \"description\": \"Set YouTube channel watermarks.\"\n }\n ],\n \"categories\": {\n \"categories\": {\n \"abuse-reports.create\": \"Videos\",\n \"activities.read\": \"Channels\",\n \"captions.delete\": \"Comments & Captions\",\n \"captions.download\": \"Comments & Captions\",\n \"captions.read\": \"Comments & Captions\",\n \"captions.write\": \"Comments & Captions\",\n \"channel-banners.upload\": \"Channels\",\n \"channel-sections.delete\": \"Channels\",\n \"channel-sections.read\": \"Channels\",\n \"channel-sections.write\": \"Channels\",\n \"channels.read\": \"Channels\",\n \"channels.write\": \"Channels\",\n \"comment-threads.read\": \"Comments & Captions\",\n \"comment-threads.write\": \"Comments & Captions\",\n \"comments.delete\": \"Comments & Captions\",\n \"comments.moderate\": \"Comments & Captions\",\n \"comments.read\": \"Comments & Captions\",\n \"comments.write\": \"Comments & Captions\",\n \"i18n-languages.read\": \"Discovery\",\n \"i18n-regions.read\": \"Discovery\",\n \"live-broadcasts.control\": \"Live Streaming\",\n \"live-broadcasts.create\": \"Live Streaming\",\n \"live-broadcasts.delete\": \"Live Streaming\",\n \"live-broadcasts.read\": \"Live Streaming\",\n \"live-broadcasts.write\": \"Live Streaming\",\n \"live-chat-bans.write\": \"Live Chat\",\n \"live-chat-messages.delete\": \"Live Chat\",\n \"live-chat-messages.read\": \"Live Chat\",\n \"live-chat-messages.write\": \"Live Chat\",\n \"live-chat-moderators.read\": \"Live Chat\",\n \"live-chat-moderators.write\": \"Live Chat\",\n \"live-streams.create\": \"Live Streaming\",\n \"live-streams.delete\": \"Live Streaming\",\n \"live-streams.read\": \"Live Streaming\",\n \"live-streams.write\": \"Live Streaming\",\n \"members.read\": \"Memberships & Monetization\",\n \"membership-levels.read\": \"Memberships & Monetization\",\n \"playlist-images.delete\": \"Playlists\",\n \"playlist-images.read\": \"Playlists\",\n \"playlist-images.write\": \"Playlists\",\n \"playlist-items.delete\": \"Playlists\",\n \"playlist-items.read\": \"Playlists\",\n \"playlist-items.write\": \"Playlists\",\n \"playlists.delete\": \"Playlists\",\n \"playlists.read\": \"Playlists\",\n \"playlists.write\": \"Playlists\",\n \"search.read\": \"Discovery\",\n \"subscriptions.delete\": \"Subscriptions\",\n \"subscriptions.read\": \"Subscriptions\",\n \"subscriptions.write\": \"Subscriptions\",\n \"super-chat-events.read\": \"Memberships & Monetization\",\n \"tests.create\": \"Tests\",\n \"third-party-links.delete\": \"Third Party Links\",\n \"third-party-links.read\": \"Third Party Links\",\n \"third-party-links.write\": \"Third Party Links\",\n \"thumbnails.set\": \"Videos\",\n \"video-abuse-report-reasons.read\": \"Videos\",\n \"video-categories.read\": \"Videos\",\n \"video-trainability.read\": \"Videos\",\n \"videos.create\": \"Videos\",\n \"videos.delete\": \"Videos\",\n \"videos.rate\": \"Videos\",\n \"videos.rating.read\": \"Videos\",\n \"videos.read\": \"Videos\",\n \"videos.report-abuse\": \"Videos\",\n \"videos.write\": \"Videos\",\n \"watermarks.delete\": \"Videos\",\n \"watermarks.set\": \"Videos\"\n },\n \"displayOrder\": [\n \"Channels\",\n \"Videos\",\n \"Comments & Captions\",\n \"Playlists\",\n \"Live Streaming\",\n \"Live Chat\",\n \"Subscriptions\",\n \"Memberships & Monetization\",\n \"Discovery\",\n \"Third Party Links\",\n \"Tests\"\n ]\n },\n \"defaultPolicy\": {\n \"permissionDefault\": \"deny\",\n \"permissionOverrides\": {\n \"allow\": [\n \"activities.read\",\n \"captions.download\",\n \"captions.read\",\n \"channel-sections.read\",\n \"channels.read\",\n \"comment-threads.read\",\n \"comments.read\",\n \"i18n-languages.read\",\n \"i18n-regions.read\",\n \"live-broadcasts.read\",\n \"live-chat-messages.read\",\n \"live-chat-moderators.read\",\n \"live-streams.read\",\n \"playlist-images.read\",\n \"playlist-items.read\",\n \"playlists.read\",\n \"search.read\",\n \"subscriptions.read\",\n \"super-chat-events.read\",\n \"video-abuse-report-reasons.read\",\n \"video-categories.read\",\n \"video-trainability.read\",\n \"videos.rating.read\",\n \"videos.read\"\n ]\n },\n \"unknownPolicy\": \"deny\"\n }\n} as const satisfies FirewallPermissionDetailMetadata;\n"],"mappings":";;;;;;;;AAAA;AAMO,IAAM,6BAA6B;AAAA,EACxC,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,mBAAmB;AAAA,EACnB,eAAe;AAAA,IACb;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA;A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","names":[]}
package/zero.js CHANGED
@@ -157,7 +157,6 @@ import {
157
157
  resolveFirewallBaseUrlVars,
158
158
  resolveFirewallPolicies,
159
159
  resumeGoal,
160
- rotateAutomationTriggerSecret,
161
160
  runAutomation,
162
161
  runWorkflow,
163
162
  runWorkflowTrigger,
@@ -193,7 +192,7 @@ import {
193
192
  uploadWebFile,
194
193
  upsertZeroOrgModelProvider,
195
194
  withErrorHandler
196
- } from "./chunk-M5DCFTDG.js";
195
+ } from "./chunk-J4MWR74M.js";
197
196
  import "./chunk-NR42YJMI.js";
198
197
  import {
199
198
  __toESM,
@@ -3402,6 +3401,21 @@ init_esm_shims();
3402
3401
  // src/commands/zero/automation/create.ts
3403
3402
  init_esm_shims();
3404
3403
 
3404
+ // src/commands/zero/automation/at-time-input.ts
3405
+ init_esm_shims();
3406
+ var EXPLICIT_OFFSET_RE = /(?:[zZ]|[+-]\d{2}:?\d{2})$/u;
3407
+ function hasExplicitAtTimeOffset(atTime) {
3408
+ return EXPLICIT_OFFSET_RE.test(atTime.trim());
3409
+ }
3410
+ function requireTimezoneForLocalAtTime(atTime, timezone, flagName) {
3411
+ if (timezone || hasExplicitAtTimeOffset(atTime)) {
3412
+ return;
3413
+ }
3414
+ throw new Error(
3415
+ `${flagName} without Z or an explicit offset requires --timezone (e.g. ${flagName} "2026-06-10T09:00" --timezone Asia/Shanghai)`
3416
+ );
3417
+ }
3418
+
3405
3419
  // src/commands/zero/automation/duration.ts
3406
3420
  init_esm_shims();
3407
3421
  var DURATION_PATTERN = /^(\d+)([smhd])$/;
@@ -3447,14 +3461,9 @@ function formatTriggerConfig(trigger) {
3447
3461
  return `at ${trigger.atTime} (${trigger.timezone})`;
3448
3462
  case "loop":
3449
3463
  return `every ${formatDurationSeconds(trigger.intervalSeconds)}`;
3450
- case "webhook":
3451
- return trigger.webhookUrl;
3452
3464
  }
3453
3465
  }
3454
3466
  function formatNextRun(trigger) {
3455
- if (trigger.kind === "webhook") {
3456
- return source_default.dim("-");
3457
- }
3458
3467
  if (!trigger.nextRunAt) {
3459
3468
  return source_default.dim("-");
3460
3469
  }
@@ -3521,46 +3530,25 @@ function printTriggerDetails(trigger) {
3521
3530
  `${"Every:".padEnd(14)}${formatDurationSeconds(trigger.intervalSeconds)}`
3522
3531
  );
3523
3532
  break;
3524
- case "webhook":
3525
- console.log(`${"Webhook URL:".padEnd(14)}${trigger.webhookUrl}`);
3526
- break;
3527
- }
3528
- if (trigger.kind !== "webhook") {
3529
- console.log(`${"Timezone:".padEnd(14)}${trigger.timezone}`);
3530
- console.log(
3531
- `${"Next run:".padEnd(14)}${trigger.nextRunAt ? formatRelativeTime(trigger.nextRunAt) : source_default.dim("-")}`
3532
- );
3533
- console.log(
3534
- `${"Last run:".padEnd(14)}${trigger.lastRunAt ? formatRelativeTime(trigger.lastRunAt) : source_default.dim("-")}`
3535
- );
3536
3533
  }
3537
- }
3538
- function printWebhookSecret(webhookUrl, secret) {
3539
- console.log();
3540
- console.log(source_default.bold(" Inbound URL:"));
3541
- console.log(` ${webhookUrl}`);
3542
- console.log();
3543
- console.log(source_default.bold(" Signing secret (shown only once \u2014 store it now):"));
3544
- console.log(` ${secret}`);
3534
+ console.log(`${"Timezone:".padEnd(14)}${trigger.timezone}`);
3545
3535
  console.log(
3546
- source_default.yellow(
3547
- " \u26A0 This secret cannot be retrieved again. If lost, rotate it with: zero automation trigger rotate-secret <trigger-id>"
3548
- )
3536
+ `${"Next run:".padEnd(14)}${trigger.nextRunAt ? formatRelativeTime(trigger.nextRunAt) : source_default.dim("-")}`
3537
+ );
3538
+ console.log(
3539
+ `${"Last run:".padEnd(14)}${trigger.lastRunAt ? formatRelativeTime(trigger.lastRunAt) : source_default.dim("-")}`
3549
3540
  );
3550
3541
  }
3551
3542
 
3552
3543
  // src/commands/zero/automation/create.ts
3553
3544
  function buildInlineTrigger(options) {
3554
- const sugarCount = [
3555
- options.cron,
3556
- options.once,
3557
- options.loop,
3558
- options.webhook
3559
- ].filter((value) => {
3560
- return value !== void 0;
3561
- }).length;
3545
+ const sugarCount = [options.cron, options.once, options.loop].filter(
3546
+ (value) => {
3547
+ return value !== void 0;
3548
+ }
3549
+ ).length;
3562
3550
  if (sugarCount > 1) {
3563
- throw new Error("Use at most one of --cron, --once, --loop, --webhook");
3551
+ throw new Error("Use at most one of --cron, --once, --loop");
3564
3552
  }
3565
3553
  if (options.timezone && !options.cron && !options.once) {
3566
3554
  throw new Error("--timezone requires --cron or --once");
@@ -3573,6 +3561,7 @@ function buildInlineTrigger(options) {
3573
3561
  };
3574
3562
  }
3575
3563
  if (options.once) {
3564
+ requireTimezoneForLocalAtTime(options.once, options.timezone, "--once");
3576
3565
  return { kind: "once", atTime: options.once, timezone: options.timezone };
3577
3566
  }
3578
3567
  if (options.loop) {
@@ -3581,9 +3570,6 @@ function buildInlineTrigger(options) {
3581
3570
  intervalSeconds: parseDurationSeconds(options.loop)
3582
3571
  };
3583
3572
  }
3584
- if (options.webhook) {
3585
- return { kind: "webhook" };
3586
- }
3587
3573
  return void 0;
3588
3574
  }
3589
3575
  var createCommand2 = new Command().name("create").description("Create an automation (optionally with its first trigger)").requiredOption("-n, --name <name>", "Automation name").requiredOption("--agent <id>", "Agent ID or name to run").requiredOption(
@@ -3592,7 +3578,7 @@ var createCommand2 = new Command().name("create").description("Create an automat
3592
3578
  ).option("--description <text>", "Optional description").option("--cron <expression>", 'Add a cron trigger (e.g. "0 9 * * *")').option(
3593
3579
  "--once <iso-time>",
3594
3580
  'Add a one-time trigger (e.g. "2026-06-10T09:00")'
3595
- ).option("--loop <duration>", "Add a loop trigger (e.g. 15m, 1h, 90s)").option("--webhook", "Add a webhook trigger (prints URL + one-time secret)").option("-z, --timezone <tz>", "IANA timezone for --cron / --once").addHelpText(
3581
+ ).option("--loop <duration>", "Add a loop trigger (e.g. 15m, 1h, 90s)").option("-z, --timezone <tz>", "IANA timezone for --cron / --once").addHelpText(
3596
3582
  "after",
3597
3583
  `
3598
3584
  Examples:
@@ -3600,11 +3586,9 @@ Examples:
3600
3586
  Daily at 9am: zero automation create -n alerts --agent my-agent -p "..." --cron "0 9 * * *"
3601
3587
  One-time: zero automation create -n alerts --agent my-agent -p "..." --once "2026-06-10T09:00" -z UTC
3602
3588
  Every 15 min: zero automation create -n alerts --agent my-agent -p "..." --loop 15m
3603
- Webhook: zero automation create -n alerts --agent my-agent -p "..." --webhook
3604
3589
 
3605
3590
  Notes:
3606
- - At most one of --cron, --once, --loop, --webhook; add more triggers later with: zero automation trigger add
3607
- - With --webhook, the signing secret is shown ONCE on creation \u2014 store it securely`
3591
+ - At most one of --cron, --once, --loop; add more triggers later with: zero automation trigger add`
3608
3592
  ).action(
3609
3593
  withErrorHandler(async (options) => {
3610
3594
  const trigger = buildInlineTrigger(options);
@@ -3612,7 +3596,7 @@ Notes:
3612
3596
  if (!compose) {
3613
3597
  throw new Error(`Agent not found: ${options.agent}`);
3614
3598
  }
3615
- const { automation, webhookSecret } = await createAutomation({
3599
+ const { automation } = await createAutomation({
3616
3600
  name: options.name,
3617
3601
  agentId: compose.id,
3618
3602
  instruction: options.prompt,
@@ -3632,9 +3616,6 @@ Notes:
3632
3616
  )
3633
3617
  );
3634
3618
  }
3635
- if (webhookSecret && createdTrigger?.kind === "webhook") {
3636
- printWebhookSecret(createdTrigger.webhookUrl, webhookSecret);
3637
- }
3638
3619
  console.log();
3639
3620
  if (!createdTrigger) {
3640
3621
  console.log(
@@ -3785,6 +3766,7 @@ function buildTimingUpdate(options) {
3785
3766
  };
3786
3767
  }
3787
3768
  if (options.once) {
3769
+ requireTimezoneForLocalAtTime(options.once, options.timezone, "--once");
3788
3770
  return { kind: "once", atTime: options.once, timezone: options.timezone };
3789
3771
  }
3790
3772
  if (options.loop) {
@@ -3821,9 +3803,7 @@ Notes:
3821
3803
  let timeTriggerId;
3822
3804
  if (timing) {
3823
3805
  const automation = await showAutomation(ref);
3824
- const timeTriggers = automation.triggers.filter((trigger) => {
3825
- return trigger.kind !== "webhook";
3826
- });
3806
+ const timeTriggers = automation.triggers;
3827
3807
  const [first] = timeTriggers;
3828
3808
  if (!first) {
3829
3809
  throw new Error(
@@ -3945,7 +3925,7 @@ init_esm_shims();
3945
3925
 
3946
3926
  // src/commands/zero/automation/trigger/add.ts
3947
3927
  init_esm_shims();
3948
- var TRIGGER_KINDS = ["cron", "once", "loop", "webhook"];
3928
+ var TRIGGER_KINDS = ["cron", "once", "loop"];
3949
3929
  function buildTrigger(kind, options) {
3950
3930
  switch (kind) {
3951
3931
  case "cron":
@@ -3965,6 +3945,7 @@ function buildTrigger(kind, options) {
3965
3945
  'once triggers require --at (e.g. --at "2026-06-10T09:00")'
3966
3946
  );
3967
3947
  }
3948
+ requireTimezoneForLocalAtTime(options.at, options.timezone, "--at");
3968
3949
  return { kind: "once", atTime: options.at, timezone: options.timezone };
3969
3950
  case "loop":
3970
3951
  if (!options.every) {
@@ -3974,15 +3955,13 @@ function buildTrigger(kind, options) {
3974
3955
  kind: "loop",
3975
3956
  intervalSeconds: parseDurationSeconds(options.every)
3976
3957
  };
3977
- case "webhook":
3978
- return { kind: "webhook" };
3979
3958
  default:
3980
3959
  throw new Error(
3981
3960
  `Unknown trigger kind: "${kind}". Use one of: ${TRIGGER_KINDS.join(", ")}`
3982
3961
  );
3983
3962
  }
3984
3963
  }
3985
- var addCommand = new Command().name("add").description("Add a trigger (cron | once | loop | webhook) to an automation").argument("<automation>", "Automation ID or name").argument("<kind>", `Trigger kind: ${TRIGGER_KINDS.join(" | ")}`).option(
3964
+ var addCommand = new Command().name("add").description("Add a trigger (cron | once | loop) to an automation").argument("<automation>", "Automation ID or name").argument("<kind>", `Trigger kind: ${TRIGGER_KINDS.join(" | ")}`).option(
3986
3965
  "--expr <expression>",
3987
3966
  'Cron expression for kind "cron" (e.g. "0 9 * * *")'
3988
3967
  ).option(
@@ -3994,23 +3973,16 @@ var addCommand = new Command().name("add").description("Add a trigger (cron | on
3994
3973
  Trigger kinds:
3995
3974
  cron Recurring schedule: zero automation trigger add alerts cron --expr "0 9 * * *" [--timezone Asia/Shanghai]
3996
3975
  once One-time fire: zero automation trigger add alerts once --at "2026-06-10T09:00" [--timezone UTC]
3997
- loop Fixed interval: zero automation trigger add alerts loop --every 15m
3998
- webhook Inbound signed webhook: zero automation trigger add alerts webhook
3999
-
4000
- Notes:
4001
- - A webhook trigger prints its inbound URL plus a signing secret shown ONCE \u2014 store it securely`
3976
+ loop Fixed interval: zero automation trigger add alerts loop --every 15m`
4002
3977
  ).action(
4003
3978
  withErrorHandler(async (ref, kind, options) => {
4004
3979
  if (options.timezone && kind !== "cron" && kind !== "once") {
4005
3980
  throw new Error("--timezone only applies to cron and once triggers");
4006
3981
  }
4007
3982
  const body = buildTrigger(kind, options);
4008
- const { trigger, webhookSecret } = await addAutomationTrigger(ref, body);
3983
+ const { trigger } = await addAutomationTrigger(ref, body);
4009
3984
  console.log(source_default.green(`\u2713 Trigger added to automation "${ref}"`));
4010
3985
  printTriggerDetails(trigger);
4011
- if (webhookSecret && trigger.kind === "webhook") {
4012
- printWebhookSecret(trigger.webhookUrl, webhookSecret);
4013
- }
4014
3986
  })
4015
3987
  );
4016
3988
 
@@ -4037,6 +4009,7 @@ function buildUpdate(options) {
4037
4009
  };
4038
4010
  }
4039
4011
  if (options.at) {
4012
+ requireTimezoneForLocalAtTime(options.at, options.timezone, "--at");
4040
4013
  return { kind: "once", atTime: options.at, timezone: options.timezone };
4041
4014
  }
4042
4015
  if (options.every) {
@@ -4059,8 +4032,7 @@ Examples:
4059
4032
 
4060
4033
  Notes:
4061
4034
  - Exactly one of --expr (cron), --at (once), --every (loop); the trigger's kind switches to match
4062
- - The trigger keeps its id, enabled flag, and run history; the next run is recomputed and the failure counter resets
4063
- - Webhook triggers have no schedule and cannot be updated`
4035
+ - The trigger keeps its id, enabled flag, and run history; the next run is recomputed and the failure counter resets`
4064
4036
  ).action(
4065
4037
  withErrorHandler(async (id, options) => {
4066
4038
  const body = buildUpdate(options);
@@ -4135,24 +4107,7 @@ Examples:
4135
4107
  console.log(source_default.green(`\u2713 Trigger ${trigger.id} disabled`));
4136
4108
  })
4137
4109
  );
4138
- var rotateSecretCommand = new Command().name("rotate-secret").description("Rotate a webhook trigger's signing secret (shown once)").argument("<trigger>", "Webhook trigger ID").addHelpText(
4139
- "after",
4140
- `
4141
- Examples:
4142
- zero automation trigger rotate-secret 22222222-2222-4222-8222-222222222222
4143
-
4144
- Notes:
4145
- - The previous secret stops working immediately; the new one is shown ONCE`
4146
- ).action(
4147
- withErrorHandler(async (id) => {
4148
- const { trigger, webhookSecret } = await rotateAutomationTriggerSecret(id);
4149
- console.log(source_default.green(`\u2713 Trigger ${trigger.id} secret rotated`));
4150
- if (webhookSecret && trigger.kind === "webhook") {
4151
- printWebhookSecret(trigger.webhookUrl, webhookSecret);
4152
- }
4153
- })
4154
- );
4155
- var triggerCommand = new Command().name("trigger").description("Manage an automation's triggers").addCommand(addCommand).addCommand(updateCommand2).addCommand(listCommand8).addCommand(showCommand2).addCommand(rmCommand).addCommand(enableCommand2).addCommand(disableCommand2).addCommand(rotateSecretCommand).addHelpText(
4110
+ var triggerCommand = new Command().name("trigger").description("Manage an automation's triggers").addCommand(addCommand).addCommand(updateCommand2).addCommand(listCommand8).addCommand(showCommand2).addCommand(rmCommand).addCommand(enableCommand2).addCommand(disableCommand2).addHelpText(
4156
4111
  "after",
4157
4112
  `
4158
4113
  Examples:
@@ -4160,8 +4115,7 @@ Examples:
4160
4115
  Update a schedule: zero automation trigger update <trigger-id> --every 10m (kind switches to match the flag)
4161
4116
  List triggers: zero automation trigger list <automation>
4162
4117
  Inspect a trigger: zero automation trigger show <trigger-id>
4163
- Pause one trigger: zero automation trigger disable <trigger-id>
4164
- Rotate a secret: zero automation trigger rotate-secret <trigger-id>`
4118
+ Pause one trigger: zero automation trigger disable <trigger-id>`
4165
4119
  );
4166
4120
 
4167
4121
  // src/commands/zero/automation/index.ts
@@ -5922,7 +5876,10 @@ init_esm_shims();
5922
5876
 
5923
5877
  // src/commands/zero/workflow/trigger/display.ts
5924
5878
  init_esm_shims();
5925
- function formatWorkflowTriggerSchedule(trigger) {
5879
+ function formatWorkflowTriggerEntry(trigger) {
5880
+ if (trigger.kind === "event") {
5881
+ return "Gmail new message";
5882
+ }
5926
5883
  const { schedule } = trigger;
5927
5884
  switch (schedule.type) {
5928
5885
  case "cron":
@@ -5944,9 +5901,9 @@ function printWorkflowTriggersTable(triggers) {
5944
5901
  })
5945
5902
  );
5946
5903
  const scheduleWidth = Math.max(
5947
- 8,
5904
+ 7,
5948
5905
  ...triggers.map((trigger) => {
5949
- return formatWorkflowTriggerSchedule(trigger).length;
5906
+ return formatWorkflowTriggerEntry(trigger).length;
5950
5907
  })
5951
5908
  );
5952
5909
  console.log(
@@ -5954,7 +5911,7 @@ function printWorkflowTriggersTable(triggers) {
5954
5911
  [
5955
5912
  "ID".padEnd(idWidth),
5956
5913
  "STATUS".padEnd(8),
5957
- "SCHEDULE".padEnd(scheduleWidth),
5914
+ "TRIGGER".padEnd(scheduleWidth),
5958
5915
  "NEXT RUN"
5959
5916
  ].join(" ")
5960
5917
  )
@@ -5965,7 +5922,7 @@ function printWorkflowTriggersTable(triggers) {
5965
5922
  [
5966
5923
  trigger.id.padEnd(idWidth),
5967
5924
  status.padEnd(8 + (trigger.enabled ? 0 : 2)),
5968
- formatWorkflowTriggerSchedule(trigger).padEnd(scheduleWidth),
5925
+ formatWorkflowTriggerEntry(trigger).padEnd(scheduleWidth),
5969
5926
  formatRunTime(trigger.nextRunAt)
5970
5927
  ].join(" ")
5971
5928
  );
@@ -5979,9 +5936,7 @@ function printWorkflowTriggerDetails(trigger, options) {
5979
5936
  console.log(`${"Workflow:".padEnd(14)}${options.workflowRef}`);
5980
5937
  }
5981
5938
  console.log(`${"Status:".padEnd(14)}${status}`);
5982
- console.log(
5983
- `${"Schedule:".padEnd(14)}${formatWorkflowTriggerSchedule(trigger)}`
5984
- );
5939
+ console.log(`${"Trigger:".padEnd(14)}${formatWorkflowTriggerEntry(trigger)}`);
5985
5940
  console.log(`${"Owner:".padEnd(14)}${trigger.ownerUserId}`);
5986
5941
  console.log(
5987
5942
  `${"Chat thread:".padEnd(14)}${trigger.chatThreadId ?? source_default.dim("-")}`
@@ -11417,7 +11372,7 @@ function registerZeroCommands(prog, commands) {
11417
11372
  var program = new Command();
11418
11373
  program.name("zero").description(
11419
11374
  "Zero CLI \u2014 interact with the zero platform from inside the sandbox"
11420
- ).version("9.201.0").addHelpText("after", () => {
11375
+ ).version("9.202.0").addHelpText("after", () => {
11421
11376
  return buildZeroHelpText();
11422
11377
  });
11423
11378
  if (process.argv[1]?.endsWith("zero.js") || process.argv[1]?.endsWith("zero.ts") || process.argv[1]?.endsWith("zero")) {