@vm0/cli 9.201.1 → 9.202.1
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/{chunk-ZSWMGND5.js → chunk-ZIO54LY7.js} +326 -4090
- package/{chunk-ZSWMGND5.js.map → chunk-ZIO54LY7.js.map} +1 -1
- package/{cloudflare.generated-6RGKVBPK.js → cloudflare.generated-NUEVM6CH.js} +2 -231
- package/cloudflare.generated-NUEVM6CH.js.map +1 -0
- package/index.js +9 -9
- package/package.json +1 -1
- package/zero.js +33 -97
- package/zero.js.map +1 -1
- package/cloudflare.generated-6RGKVBPK.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../packages/connectors/src/firewall-metadata/details/cloudflare.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\": \"cloudflare\",\n \"label\": \"Cloudflare\",\n \"permissionCount\": 213,\n \"permissions\": [\n {\n \"name\": \"access-app.read\",\n \"description\": \"Cloudflare API token group: Access: Apps and Policies Read\"\n },\n {\n \"name\": \"access-app.revoke\",\n \"description\": \"Cloudflare API token group: Access: Apps and Policies Revoke\"\n },\n {\n \"name\": \"access-app.write\",\n \"description\": \"Cloudflare API token group: Access: Apps and Policies Write\"\n },\n {\n \"name\": \"access-audit-log.read\",\n \"description\": \"Cloudflare API token group: Access: Audit Logs Read\"\n },\n {\n \"name\": \"access-certificate.read\",\n \"description\": \"Cloudflare API token group: Access: Mutual TLS Certificates Read\"\n },\n {\n \"name\": \"access-certificate.write\",\n \"description\": \"Cloudflare API token group: Access: Mutual TLS Certificates Write\"\n },\n {\n \"name\": \"access-custom-page.read\",\n \"description\": \"Cloudflare API token group: Access: Custom Pages Read\"\n },\n {\n \"name\": \"access-custom-page.write\",\n \"description\": \"Cloudflare API token group: Access: Custom Pages Write\"\n },\n {\n \"name\": \"access-org.read\",\n \"description\": \"Cloudflare API token group: Access: Organizations, Identity Providers, and Groups Read\"\n },\n {\n \"name\": \"access-org.write\",\n \"description\": \"Cloudflare API token group: Access: Organizations, Identity Providers, and Groups Write\"\n },\n {\n \"name\": \"access-policy-test.read\",\n \"description\": \"Cloudflare API token group: Access: Policy Test Read\"\n },\n {\n \"name\": \"access-policy-test.write\",\n \"description\": \"Cloudflare API token group: Access: Policy Test Write\"\n },\n {\n \"name\": \"access-scim-log.read\",\n \"description\": \"Cloudflare API token group: Access: SCIM Logs Read\"\n },\n {\n \"name\": \"access-seats.write\",\n \"description\": \"Cloudflare API token group: Zero Trust: Seats Write\"\n },\n {\n \"name\": \"access-service-token.read\",\n \"description\": \"Cloudflare API token group: Access: Service Tokens Read\"\n },\n {\n \"name\": \"access-service-token.write\",\n \"description\": \"Cloudflare API token group: Access: Service Tokens Write\"\n },\n {\n \"name\": \"access-ssh-auditing.read\",\n \"description\": \"Cloudflare API token group: Access: SSH Auditing Read\"\n },\n {\n \"name\": \"access-ssh-auditing.write\",\n \"description\": \"Cloudflare API token group: Access: SSH Auditing Write\"\n },\n {\n \"name\": \"account-analytics.read\",\n \"description\": \"Cloudflare API token group: Account Analytics Read\"\n },\n {\n \"name\": \"account-api-tokens.read\",\n \"description\": \"Cloudflare API token group: Account API Tokens Read\"\n },\n {\n \"name\": \"account-api-tokens.write\",\n \"description\": \"Cloudflare API token group: Account API Tokens Write\"\n },\n {\n \"name\": \"account-custom-pages.read\",\n \"description\": \"Cloudflare API token group: Account Custom Pages Read\"\n },\n {\n \"name\": \"account-custom-pages.write\",\n \"description\": \"Cloudflare API token group: Account Custom Pages Write\"\n },\n {\n \"name\": \"account-dns-settings.read\",\n \"description\": \"Cloudflare API token group: Account DNS Settings Read\"\n },\n {\n \"name\": \"account-dns-settings.write\",\n \"description\": \"Cloudflare API token group: Account DNS Settings Write\"\n },\n {\n \"name\": \"account-firewall-access-rules.read\",\n \"description\": \"Cloudflare API token group: Account Firewall Access Rules Read\"\n },\n {\n \"name\": \"account-firewall-access-rules.write\",\n \"description\": \"Cloudflare API token group: Account Firewall Access Rules Write\"\n },\n {\n \"name\": \"account-rule-lists.read\",\n \"description\": \"Cloudflare API token group: Account Filter Lists Read\"\n },\n {\n \"name\": \"account-rule-lists.write\",\n \"description\": \"Cloudflare API token group: Account Filter Lists Edit\"\n },\n {\n \"name\": \"account-rulesets.read\",\n \"description\": \"Cloudflare API token group: Account Rulesets Read\"\n },\n {\n \"name\": \"account-rulesets.write\",\n \"description\": \"Cloudflare API token group: Account Rulesets Write\"\n },\n {\n \"name\": \"account-settings.read\",\n \"description\": \"Cloudflare API token group: Account Settings Read\"\n },\n {\n \"name\": \"account-settings.write\",\n \"description\": \"Cloudflare API token group: Account Settings Write\"\n },\n {\n \"name\": \"account-ssl-and-certificates.read\",\n \"description\": \"Cloudflare API token group: Account: SSL and Certificates Read\"\n },\n {\n \"name\": \"account-ssl-and-certificates.write\",\n \"description\": \"Cloudflare API token group: Account: SSL and Certificates Write\"\n },\n {\n \"name\": \"account-waiting-rooms.read\",\n \"description\": \"Cloudflare API token group: Account Waiting Rooms Read\"\n },\n {\n \"name\": \"address-maps.read\",\n \"description\": \"Cloudflare API token group: Address Maps Read\"\n },\n {\n \"name\": \"address-maps.write\",\n \"description\": \"Cloudflare API token group: Address Maps Write\"\n },\n {\n \"name\": \"ai.read\",\n \"description\": \"Cloudflare API token group: Workers AI Read\"\n },\n {\n \"name\": \"ai.write\",\n \"description\": \"Cloudflare API token group: Workers AI Write\"\n },\n {\n \"name\": \"aig.read\",\n \"description\": \"Cloudflare API token group: AI Gateway Read\"\n },\n {\n \"name\": \"aig.write\",\n \"description\": \"Cloudflare API token group: AI Gateway Write\"\n },\n {\n \"name\": \"analytics.read\",\n \"description\": \"Cloudflare API token group: Analytics Read\"\n },\n {\n \"name\": \"api-gateway.read\",\n \"description\": \"Cloudflare API token group: Domain API Gateway Read\"\n },\n {\n \"name\": \"api-gateway.write\",\n \"description\": \"Cloudflare API token group: Domain API Gateway\"\n },\n {\n \"name\": \"api-tokens.read\",\n \"description\": \"Cloudflare API token group: API Tokens Read\"\n },\n {\n \"name\": \"api-tokens.write\",\n \"description\": \"Cloudflare API token group: API Tokens Write\"\n },\n {\n \"name\": \"argotunnel.read\",\n \"description\": \"Cloudflare API token group: Cloudflare Tunnel Read\"\n },\n {\n \"name\": \"argotunnel.write\",\n \"description\": \"Cloudflare API token group: Cloudflare Tunnel Write\"\n },\n {\n \"name\": \"artifacts.read\",\n \"description\": \"Cloudflare API token group: Artifacts Read\"\n },\n {\n \"name\": \"artifacts.write\",\n \"description\": \"Cloudflare API token group: Artifacts Edit\"\n },\n {\n \"name\": \"billing.read\",\n \"description\": \"Cloudflare API token group: Billing Read\"\n },\n {\n \"name\": \"billing.write\",\n \"description\": \"Cloudflare API token group: Billing Write\"\n },\n {\n \"name\": \"bot-management-feedback.read\",\n \"description\": \"Cloudflare API token group: Bot Management Feedback Report Read\"\n },\n {\n \"name\": \"bot-management-feedback.write\",\n \"description\": \"Cloudflare API token group: Bot Management Feedback Report Write\"\n },\n {\n \"name\": \"bot-management.read\",\n \"description\": \"Cloudflare API token group: Bot Management Read\"\n },\n {\n \"name\": \"bot-management.write\",\n \"description\": \"Cloudflare API token group: Bot Management Write\"\n },\n {\n \"name\": \"browser-rendering.read\",\n \"description\": \"Cloudflare API token group: Browser Rendering Read\"\n },\n {\n \"name\": \"browser-rendering.write\",\n \"description\": \"Cloudflare API token group: Browser Rendering Write\"\n },\n {\n \"name\": \"cache.purge\",\n \"description\": \"Cloudflare API token group: Cache Purge\"\n },\n {\n \"name\": \"calls.read\",\n \"description\": \"Cloudflare API token group: Calls Read\"\n },\n {\n \"name\": \"calls.write\",\n \"description\": \"Cloudflare API token group: Calls Write\"\n },\n {\n \"name\": \"challenge-widgets.read\",\n \"description\": \"Cloudflare API token group: Turnstile Sites Read\"\n },\n {\n \"name\": \"challenge-widgets.write\",\n \"description\": \"Cloudflare API token group: Turnstile Sites Write\"\n },\n {\n \"name\": \"cloud-connector.read\",\n \"description\": \"Cloudflare API token group: Cloud Connector Read\"\n },\n {\n \"name\": \"cloud-connector.write\",\n \"description\": \"Cloudflare API token group: Cloud Connector Write\"\n },\n {\n \"name\": \"cloud-email-security.read\",\n \"description\": \"Cloudflare API token group: Cloud Email Security: Read\"\n },\n {\n \"name\": \"cloud-email-security.write\",\n \"description\": \"Cloudflare API token group: Cloud Email Security: Write\"\n },\n {\n \"name\": \"cloudforce-one.read\",\n \"description\": \"Cloudflare API token group: Cloudforce One Read\"\n },\n {\n \"name\": \"cloudforce-one.write\",\n \"description\": \"Cloudflare API token group: Cloudforce One Write\"\n },\n {\n \"name\": \"containers.read\",\n \"description\": \"Cloudflare API token group: Workers Containers Read\"\n },\n {\n \"name\": \"containers.write\",\n \"description\": \"Cloudflare API token group: Workers Containers Write\"\n },\n {\n \"name\": \"custom-errors.read\",\n \"description\": \"Cloudflare API token group: Custom Errors Read\"\n },\n {\n \"name\": \"custom-errors.write\",\n \"description\": \"Cloudflare API token group: Custom Errors Write\"\n },\n {\n \"name\": \"custom-pages.read\",\n \"description\": \"Cloudflare API token group: Custom Pages Read\"\n },\n {\n \"name\": \"custom-pages.write\",\n \"description\": \"Cloudflare API token group: Custom Pages Write\"\n },\n {\n \"name\": \"d1.read\",\n \"description\": \"Cloudflare API token group: D1 Read\"\n },\n {\n \"name\": \"d1.write\",\n \"description\": \"Cloudflare API token group: D1 Write\"\n },\n {\n \"name\": \"ddos-botnet-feed.read\",\n \"description\": \"Cloudflare API token group: DDoS Botnet Feed Read\"\n },\n {\n \"name\": \"ddos-botnet-feed.write\",\n \"description\": \"Cloudflare API token group: DDoS Botnet Feed Write\"\n },\n {\n \"name\": \"ddos-protection.read\",\n \"description\": \"Cloudflare API token group: DDoS Protection Read\"\n },\n {\n \"name\": \"ddos-protection.write\",\n \"description\": \"Cloudflare API token group: DDoS Protection Write\"\n },\n {\n \"name\": \"dns-firewall.read\",\n \"description\": \"Cloudflare API token group: DNS Firewall Read\"\n },\n {\n \"name\": \"dns-firewall.write\",\n \"description\": \"Cloudflare API token group: DNS Firewall Write\"\n },\n {\n \"name\": \"dns-view.read\",\n \"description\": \"Cloudflare API token group: DNS View Read\"\n },\n {\n \"name\": \"dns-view.write\",\n \"description\": \"Cloudflare API token group: DNS View Write\"\n },\n {\n \"name\": \"dns.read\",\n \"description\": \"Cloudflare API token group: DNS Read\"\n },\n {\n \"name\": \"dns.write\",\n \"description\": \"Cloudflare API token group: DNS Write\"\n },\n {\n \"name\": \"email-routing-address.read\",\n \"description\": \"Cloudflare API token group: Email Routing Addresses Read\"\n },\n {\n \"name\": \"email-routing-address.write\",\n \"description\": \"Cloudflare API token group: Email Routing Addresses Write\"\n },\n {\n \"name\": \"email-routing-rule.read\",\n \"description\": \"Cloudflare API token group: Email Routing Rules Read\"\n },\n {\n \"name\": \"email-routing-rule.write\",\n \"description\": \"Cloudflare API token group: Email Routing Rules Write\"\n },\n {\n \"name\": \"fbm.admin\",\n \"description\": \"Cloudflare API token group: Magic Network Monitoring Admin\"\n },\n {\n \"name\": \"fbm.read\",\n \"description\": \"Cloudflare API token group: Magic Network Monitoring Config Read\"\n },\n {\n \"name\": \"fbm.write\",\n \"description\": \"Cloudflare API token group: Magic Network Monitoring Config Write\"\n },\n {\n \"name\": \"firewall-services.read\",\n \"description\": \"Cloudflare API token group: Firewall Services Read\"\n },\n {\n \"name\": \"firewall-services.write\",\n \"description\": \"Cloudflare API token group: Firewall Services Write\"\n },\n {\n \"name\": \"flagship.evaluate\",\n \"description\": \"Cloudflare API token group: Flagship Evaluate\"\n },\n {\n \"name\": \"flagship.read\",\n \"description\": \"Cloudflare API token group: Flagship Read\"\n },\n {\n \"name\": \"flagship.write\",\n \"description\": \"Cloudflare API token group: Flagship Write\"\n },\n {\n \"name\": \"fraud-detection.read\",\n \"description\": \"Cloudflare API token group: Fraud Detection Read\"\n },\n {\n \"name\": \"fraud-detection.write\",\n \"description\": \"Cloudflare API token group: Fraud Detection Write\"\n },\n {\n \"name\": \"healthcheck.read\",\n \"description\": \"Cloudflare API token group: Health Checks Read\"\n },\n {\n \"name\": \"healthcheck.write\",\n \"description\": \"Cloudflare API token group: Health Checks Write\"\n },\n {\n \"name\": \"images.read\",\n \"description\": \"Cloudflare API token group: Images Read\"\n },\n {\n \"name\": \"images.write\",\n \"description\": \"Cloudflare API token group: Images Write\"\n },\n {\n \"name\": \"intel.read\",\n \"description\": \"Cloudflare API token group: Intel Read\"\n },\n {\n \"name\": \"intel.write\",\n \"description\": \"Cloudflare API token group: Intel Write\"\n },\n {\n \"name\": \"ip-prefix-bgp-on-demand.read\",\n \"description\": \"Cloudflare API token group: IP Prefixes: BGP On Demand Read\"\n },\n {\n \"name\": \"ip-prefix-bgp-on-demand.write\",\n \"description\": \"Cloudflare API token group: IP Prefixes: BGP On Demand Write\"\n },\n {\n \"name\": \"ip-prefix.read\",\n \"description\": \"Cloudflare API token group: IP Prefixes: Read\"\n },\n {\n \"name\": \"ip-prefix.write\",\n \"description\": \"Cloudflare API token group: IP Prefixes: Write\"\n },\n {\n \"name\": \"load-balancers.read\",\n \"description\": \"Cloudflare API token group: Load Balancers Read\"\n },\n {\n \"name\": \"load-balancers.write\",\n \"description\": \"Cloudflare API token group: Load Balancers Write\"\n },\n {\n \"name\": \"load-balancing-monitors-and-pools.read\",\n \"description\": \"Cloudflare API token group: Load Balancing: Monitors and Pools Read\"\n },\n {\n \"name\": \"load-balancing-monitors-and-pools.write\",\n \"description\": \"Cloudflare API token group: Load Balancing: Monitors and Pools Write\"\n },\n {\n \"name\": \"logs.read\",\n \"description\": \"Cloudflare API token group: Logs Read\"\n },\n {\n \"name\": \"logs.write\",\n \"description\": \"Cloudflare API token group: Logs Write\"\n },\n {\n \"name\": \"magic-transit.read\",\n \"description\": \"Cloudflare API token group: Magic Transit Read\"\n },\n {\n \"name\": \"magic-transit.write\",\n \"description\": \"Cloudflare API token group: Magic Transit Write\"\n },\n {\n \"name\": \"magic-wan.read\",\n \"description\": \"Cloudflare API token group: Magic WAN Read\"\n },\n {\n \"name\": \"magic-wan.write\",\n \"description\": \"Cloudflare API token group: Magic WAN Write\"\n },\n {\n \"name\": \"managed-headers.read\",\n \"description\": \"Cloudflare API token group: Managed headers Read\"\n },\n {\n \"name\": \"managed-headers.write\",\n \"description\": \"Cloudflare API token group: Managed headers Write\"\n },\n {\n \"name\": \"mass-url-redirects.read\",\n \"description\": \"Cloudflare API token group: Mass URL Redirects Read\"\n },\n {\n \"name\": \"mass-url-redirects.write\",\n \"description\": \"Cloudflare API token group: Mass URL Redirects Write\"\n },\n {\n \"name\": \"mcp-portals.read\",\n \"description\": \"Cloudflare API token group: MCP Portals Read\"\n },\n {\n \"name\": \"mcp-portals.write\",\n \"description\": \"Cloudflare API token group: MCP Portals Write\"\n },\n {\n \"name\": \"memberships.read\",\n \"description\": \"Cloudflare API token group: Memberships Read\"\n },\n {\n \"name\": \"memberships.write\",\n \"description\": \"Cloudflare API token group: Memberships Write\"\n },\n {\n \"name\": \"notifications.read\",\n \"description\": \"Cloudflare API token group: Notifications Read\"\n },\n {\n \"name\": \"notifications.write\",\n \"description\": \"Cloudflare API token group: Notifications Write\"\n },\n {\n \"name\": \"oauth-client.read\",\n \"description\": \"Cloudflare API token group: OAuth Client Read\"\n },\n {\n \"name\": \"oauth-client.write\",\n \"description\": \"Cloudflare API token group: OAuth Client Write\"\n },\n {\n \"name\": \"page-rules.read\",\n \"description\": \"Cloudflare API token group: Page Rules Read\"\n },\n {\n \"name\": \"page-rules.write\",\n \"description\": \"Cloudflare API token group: Page Rules Write\"\n },\n {\n \"name\": \"page-shield.read\",\n \"description\": \"Cloudflare API token group: Page Shield Read\"\n },\n {\n \"name\": \"page.read\",\n \"description\": \"Cloudflare API token group: Pages Read\"\n },\n {\n \"name\": \"page.shield\",\n \"description\": \"Cloudflare API token group: Page Shield\"\n },\n {\n \"name\": \"page.write\",\n \"description\": \"Cloudflare API token group: Pages Write\"\n },\n {\n \"name\": \"pcaps-api.read\",\n \"description\": \"Cloudflare API token group: Magic Firewall Packet Captures - Read PCAPs API\"\n },\n {\n \"name\": \"pcaps-api.write\",\n \"description\": \"Cloudflare API token group: Magic Firewall Packet Captures - Write PCAPs API\"\n },\n {\n \"name\": \"pipelines.read\",\n \"description\": \"Cloudflare API token group: Pipelines Read\"\n },\n {\n \"name\": \"pipelines.write\",\n \"description\": \"Cloudflare API token group: Pipelines Write\"\n },\n {\n \"name\": \"query-cache.read\",\n \"description\": \"Cloudflare API token group: Hyperdrive Read\"\n },\n {\n \"name\": \"query-cache.write\",\n \"description\": \"Cloudflare API token group: Hyperdrive Write\"\n },\n {\n \"name\": \"queues.read\",\n \"description\": \"Cloudflare API token group: Queues Read\"\n },\n {\n \"name\": \"queues.write\",\n \"description\": \"Cloudflare API token group: Queues Write\"\n },\n {\n \"name\": \"r2-catalog.read\",\n \"description\": \"Cloudflare API token group: Workers R2 Data Catalog Read\"\n },\n {\n \"name\": \"r2-catalog.write\",\n \"description\": \"Cloudflare API token group: Workers R2 Data Catalog Write\"\n },\n {\n \"name\": \"rag.read\",\n \"description\": \"Cloudflare API token group: Auto Rag Read\"\n },\n {\n \"name\": \"rag.write\",\n \"description\": \"Cloudflare API token group: Auto Rag Write\"\n },\n {\n \"name\": \"realtime.admin\",\n \"description\": \"Cloudflare API token group: Realtime Admin\"\n },\n {\n \"name\": \"realtime.realtime\",\n \"description\": \"Cloudflare API token group: Realtime\"\n },\n {\n \"name\": \"request-tracer.read\",\n \"description\": \"Cloudflare API token group: Allow Request Tracer Read\"\n },\n {\n \"name\": \"scim-provisioning.write\",\n \"description\": \"Cloudflare API token group: SCIM Provisioning\"\n },\n {\n \"name\": \"secrets-store.read\",\n \"description\": \"Cloudflare API token group: Secrets Store Read\"\n },\n {\n \"name\": \"secrets-store.write\",\n \"description\": \"Cloudflare API token group: Secrets Store Write\"\n },\n {\n \"name\": \"snippets.read\",\n \"description\": \"Cloudflare API token group: Snippets Read\"\n },\n {\n \"name\": \"snippets.write\",\n \"description\": \"Cloudflare API token group: Snippets Write\"\n },\n {\n \"name\": \"ssl-and-certificates.read\",\n \"description\": \"Cloudflare API token group: SSL and Certificates Read\"\n },\n {\n \"name\": \"ssl-and-certificates.write\",\n \"description\": \"Cloudflare API token group: SSL and Certificates Write\"\n },\n {\n \"name\": \"sso-connector.read\",\n \"description\": \"Cloudflare API token group: SSO Connector Read\"\n },\n {\n \"name\": \"sso-connector.write\",\n \"description\": \"Cloudflare API token group: SSO Connector Write\"\n },\n {\n \"name\": \"stream.read\",\n \"description\": \"Cloudflare API token group: Stream Read\"\n },\n {\n \"name\": \"stream.write\",\n \"description\": \"Cloudflare API token group: Stream Write\"\n },\n {\n \"name\": \"teams-connector-warp.read\",\n \"description\": \"Cloudflare API token group: Cloudflare One Connector: WARP Read\"\n },\n {\n \"name\": \"teams-connector-warp.write\",\n \"description\": \"Cloudflare API token group: Cloudflare One Connector: WARP Write\"\n },\n {\n \"name\": \"teams-dex.read\",\n \"description\": \"Cloudflare API token group: Cloudflare DEX Read\"\n },\n {\n \"name\": \"teams-dex.write\",\n \"description\": \"Cloudflare API token group: Cloudflare DEX Write\"\n },\n {\n \"name\": \"teams-networks.read\",\n \"description\": \"Cloudflare API token group: Cloudflare One Networks Read\"\n },\n {\n \"name\": \"teams-networks.write\",\n \"description\": \"Cloudflare API token group: Cloudflare One Networks Write\"\n },\n {\n \"name\": \"teams-pii.read\",\n \"description\": \"Cloudflare API token group: Zero Trust: PII Read\"\n },\n {\n \"name\": \"teams-resilience.read\",\n \"description\": \"Cloudflare API token group: Zero Trust Resilience Read\"\n },\n {\n \"name\": \"teams-resilience.write\",\n \"description\": \"Cloudflare API token group: Zero Trust Resilience Write\"\n },\n {\n \"name\": \"teams.read\",\n \"description\": \"Cloudflare API token group: Zero Trust Read\"\n },\n {\n \"name\": \"teams.write\",\n \"description\": \"Cloudflare API token group: Zero Trust Write\"\n },\n {\n \"name\": \"trust-and-safety.read\",\n \"description\": \"Cloudflare API token group: Trust and Safety Read\"\n },\n {\n \"name\": \"trust-and-safety.write\",\n \"description\": \"Cloudflare API token group: Trust and Safety Write\"\n },\n {\n \"name\": \"url-scanner.read\",\n \"description\": \"Cloudflare API token group: URL Scanner Read\"\n },\n {\n \"name\": \"url-scanner.write\",\n \"description\": \"Cloudflare API token group: URL Scanner Write\"\n },\n {\n \"name\": \"user-details.read\",\n \"description\": \"Cloudflare API token group: User Details Read\"\n },\n {\n \"name\": \"user-details.write\",\n \"description\": \"Cloudflare API token group: User Details Write\"\n },\n {\n \"name\": \"vectorize.read\",\n \"description\": \"Cloudflare API token group: Vectorize Read\"\n },\n {\n \"name\": \"vectorize.write\",\n \"description\": \"Cloudflare API token group: Vectorize Write\"\n },\n {\n \"name\": \"waiting-rooms.read\",\n \"description\": \"Cloudflare API token group: Waiting Rooms Read\"\n },\n {\n \"name\": \"waiting-rooms.write\",\n \"description\": \"Cloudflare API token group: Waiting Rooms Write\"\n },\n {\n \"name\": \"web3-hostnames.read\",\n \"description\": \"Cloudflare API token group: Web3 Hostnames Read\"\n },\n {\n \"name\": \"web3-hostnames.write\",\n \"description\": \"Cloudflare API token group: Web3 Hostnames Write\"\n },\n {\n \"name\": \"workers-ci.read\",\n \"description\": \"Cloudflare API token group: Workers CI Read\"\n },\n {\n \"name\": \"workers-ci.write\",\n \"description\": \"Cloudflare API token group: Workers CI Write\"\n },\n {\n \"name\": \"workers-kv-storage.read\",\n \"description\": \"Cloudflare API token group: Workers KV Storage Read\"\n },\n {\n \"name\": \"workers-kv-storage.write\",\n \"description\": \"Cloudflare API token group: Workers KV Storage Write\"\n },\n {\n \"name\": \"workers-observability.read\",\n \"description\": \"Cloudflare API token group: Workers Observability Read\"\n },\n {\n \"name\": \"workers-observability.write\",\n \"description\": \"Cloudflare API token group: Workers Observability Write\"\n },\n {\n \"name\": \"workers-r2.read\",\n \"description\": \"Cloudflare API token group: Workers R2 Storage Read\"\n },\n {\n \"name\": \"workers-r2.write\",\n \"description\": \"Cloudflare API token group: Workers R2 Storage Write\"\n },\n {\n \"name\": \"workers-routes.read\",\n \"description\": \"Cloudflare API token group: Workers Routes Read\"\n },\n {\n \"name\": \"workers-routes.write\",\n \"description\": \"Cloudflare API token group: Workers Routes Write\"\n },\n {\n \"name\": \"workers-scripts.read\",\n \"description\": \"Cloudflare API token group: Workers Scripts Read\"\n },\n {\n \"name\": \"workers-scripts.write\",\n \"description\": \"Cloudflare API token group: Workers Scripts Write\"\n },\n {\n \"name\": \"workers-tail.read\",\n \"description\": \"Cloudflare API token group: Workers Tail Read\"\n },\n {\n \"name\": \"zaraz.edit\",\n \"description\": \"Cloudflare API token group: Zaraz Edit\"\n },\n {\n \"name\": \"zaraz.read\",\n \"description\": \"Cloudflare API token group: Zaraz Read\"\n },\n {\n \"name\": \"zaraz.write\",\n \"description\": \"Cloudflare API token group: Zaraz Admin\"\n },\n {\n \"name\": \"zone-settings.read\",\n \"description\": \"Cloudflare API token group: Zone Settings Read\"\n },\n {\n \"name\": \"zone-settings.write\",\n \"description\": \"Cloudflare API token group: Zone Settings Write\"\n },\n {\n \"name\": \"zone-versioning.read\",\n \"description\": \"Cloudflare API token group: Zone Versioning Read\"\n },\n {\n \"name\": \"zone-versioning.write\",\n \"description\": \"Cloudflare API token group: Zone Versioning Write\"\n },\n {\n \"name\": \"zone-waf.read\",\n \"description\": \"Cloudflare API token group: Zone WAF Read\"\n },\n {\n \"name\": \"zone-waf.write\",\n \"description\": \"Cloudflare API token group: Zone WAF Write\"\n },\n {\n \"name\": \"zone.read\",\n \"description\": \"Cloudflare API token group: Zone Zone Read\"\n },\n {\n \"name\": \"zone.write\",\n \"description\": \"Cloudflare API token group: Zone Zone Edit\"\n }\n ],\n \"categories\": {\n \"categories\": {\n \"access-app.read\": \"Cloudflare One / Zero Trust\",\n \"access-app.revoke\": \"Cloudflare One / Zero Trust\",\n \"access-app.write\": \"Cloudflare One / Zero Trust\",\n \"access-audit-log.read\": \"Cloudflare One / Zero Trust\",\n \"access-certificate.read\": \"Cloudflare One / Zero Trust\",\n \"access-certificate.write\": \"Cloudflare One / Zero Trust\",\n \"access-custom-page.read\": \"Cloudflare One / Zero Trust\",\n \"access-custom-page.write\": \"Cloudflare One / Zero Trust\",\n \"access-org.read\": \"Cloudflare One / Zero Trust\",\n \"access-org.write\": \"Cloudflare One / Zero Trust\",\n \"access-policy-test.read\": \"Cloudflare One / Zero Trust\",\n \"access-policy-test.write\": \"Cloudflare One / Zero Trust\",\n \"access-scim-log.read\": \"Cloudflare One / Zero Trust\",\n \"access-seats.write\": \"Cloudflare One / Zero Trust\",\n \"access-service-token.read\": \"Cloudflare One / Zero Trust\",\n \"access-service-token.write\": \"Cloudflare One / Zero Trust\",\n \"access-ssh-auditing.read\": \"Cloudflare One / Zero Trust\",\n \"access-ssh-auditing.write\": \"Cloudflare One / Zero Trust\",\n \"account-analytics.read\": \"Analytics & Logs\",\n \"account-api-tokens.read\": \"Account & Billing\",\n \"account-api-tokens.write\": \"Account & Billing\",\n \"account-custom-pages.read\": \"Rules & Configuration\",\n \"account-custom-pages.write\": \"Rules & Configuration\",\n \"account-dns-settings.read\": \"DNS & Zones\",\n \"account-dns-settings.write\": \"DNS & Zones\",\n \"account-firewall-access-rules.read\": \"App Security\",\n \"account-firewall-access-rules.write\": \"App Security\",\n \"account-rule-lists.read\": \"Rules & Configuration\",\n \"account-rule-lists.write\": \"Rules & Configuration\",\n \"account-rulesets.read\": \"Rules & Configuration\",\n \"account-rulesets.write\": \"Rules & Configuration\",\n \"account-settings.read\": \"Account & Billing\",\n \"account-settings.write\": \"Account & Billing\",\n \"account-ssl-and-certificates.read\": \"Cache & Performance\",\n \"account-ssl-and-certificates.write\": \"Cache & Performance\",\n \"account-waiting-rooms.read\": \"Network Services\",\n \"address-maps.read\": \"Network Services\",\n \"address-maps.write\": \"Network Services\",\n \"ai.read\": \"AI & Machine Learning\",\n \"ai.write\": \"AI & Machine Learning\",\n \"aig.read\": \"AI & Machine Learning\",\n \"aig.write\": \"AI & Machine Learning\",\n \"analytics.read\": \"Analytics & Logs\",\n \"api-gateway.read\": \"App Security\",\n \"api-gateway.write\": \"App Security\",\n \"api-tokens.read\": \"Account & Billing\",\n \"api-tokens.write\": \"Account & Billing\",\n \"argotunnel.read\": \"Cloudflare One / Zero Trust\",\n \"argotunnel.write\": \"Cloudflare One / Zero Trust\",\n \"artifacts.read\": \"Other\",\n \"artifacts.write\": \"Other\",\n \"billing.read\": \"Account & Billing\",\n \"billing.write\": \"Account & Billing\",\n \"bot-management-feedback.read\": \"App Security\",\n \"bot-management-feedback.write\": \"App Security\",\n \"bot-management.read\": \"App Security\",\n \"bot-management.write\": \"App Security\",\n \"browser-rendering.read\": \"Developer Platform\",\n \"browser-rendering.write\": \"Developer Platform\",\n \"cache.purge\": \"Cache & Performance\",\n \"calls.read\": \"Media\",\n \"calls.write\": \"Media\",\n \"challenge-widgets.read\": \"App Security\",\n \"challenge-widgets.write\": \"App Security\",\n \"cloud-connector.read\": \"Developer Platform\",\n \"cloud-connector.write\": \"Developer Platform\",\n \"cloud-email-security.read\": \"Email & Messaging\",\n \"cloud-email-security.write\": \"Email & Messaging\",\n \"cloudforce-one.read\": \"App Security\",\n \"cloudforce-one.write\": \"App Security\",\n \"containers.read\": \"Developer Platform\",\n \"containers.write\": \"Developer Platform\",\n \"custom-errors.read\": \"Rules & Configuration\",\n \"custom-errors.write\": \"Rules & Configuration\",\n \"custom-pages.read\": \"Rules & Configuration\",\n \"custom-pages.write\": \"Rules & Configuration\",\n \"d1.read\": \"Developer Platform\",\n \"d1.write\": \"Developer Platform\",\n \"ddos-botnet-feed.read\": \"App Security\",\n \"ddos-botnet-feed.write\": \"App Security\",\n \"ddos-protection.read\": \"App Security\",\n \"ddos-protection.write\": \"App Security\",\n \"dns-firewall.read\": \"DNS & Zones\",\n \"dns-firewall.write\": \"DNS & Zones\",\n \"dns-view.read\": \"DNS & Zones\",\n \"dns-view.write\": \"DNS & Zones\",\n \"dns.read\": \"DNS & Zones\",\n \"dns.write\": \"DNS & Zones\",\n \"email-routing-address.read\": \"Email & Messaging\",\n \"email-routing-address.write\": \"Email & Messaging\",\n \"email-routing-rule.read\": \"Email & Messaging\",\n \"email-routing-rule.write\": \"Email & Messaging\",\n \"fbm.admin\": \"Network Services\",\n \"fbm.read\": \"Network Services\",\n \"fbm.write\": \"Network Services\",\n \"firewall-services.read\": \"App Security\",\n \"firewall-services.write\": \"App Security\",\n \"flagship.evaluate\": \"Developer Platform\",\n \"flagship.read\": \"Developer Platform\",\n \"flagship.write\": \"Developer Platform\",\n \"fraud-detection.read\": \"App Security\",\n \"fraud-detection.write\": \"App Security\",\n \"healthcheck.read\": \"Network Services\",\n \"healthcheck.write\": \"Network Services\",\n \"images.read\": \"Media\",\n \"images.write\": \"Media\",\n \"intel.read\": \"Analytics & Logs\",\n \"intel.write\": \"Analytics & Logs\",\n \"ip-prefix-bgp-on-demand.read\": \"Network Services\",\n \"ip-prefix-bgp-on-demand.write\": \"Network Services\",\n \"ip-prefix.read\": \"Network Services\",\n \"ip-prefix.write\": \"Network Services\",\n \"load-balancers.read\": \"Network Services\",\n \"load-balancers.write\": \"Network Services\",\n \"load-balancing-monitors-and-pools.read\": \"Network Services\",\n \"load-balancing-monitors-and-pools.write\": \"Network Services\",\n \"logs.read\": \"Analytics & Logs\",\n \"logs.write\": \"Analytics & Logs\",\n \"magic-transit.read\": \"Network Services\",\n \"magic-transit.write\": \"Network Services\",\n \"magic-wan.read\": \"Network Services\",\n \"magic-wan.write\": \"Network Services\",\n \"managed-headers.read\": \"Rules & Configuration\",\n \"managed-headers.write\": \"Rules & Configuration\",\n \"mass-url-redirects.read\": \"Rules & Configuration\",\n \"mass-url-redirects.write\": \"Rules & Configuration\",\n \"mcp-portals.read\": \"Developer Platform\",\n \"mcp-portals.write\": \"Developer Platform\",\n \"memberships.read\": \"Account & Billing\",\n \"memberships.write\": \"Account & Billing\",\n \"notifications.read\": \"Account & Billing\",\n \"notifications.write\": \"Account & Billing\",\n \"oauth-client.read\": \"Account & Billing\",\n \"oauth-client.write\": \"Account & Billing\",\n \"page-rules.read\": \"App Security\",\n \"page-rules.write\": \"App Security\",\n \"page-shield.read\": \"App Security\",\n \"page.read\": \"Developer Platform\",\n \"page.shield\": \"App Security\",\n \"page.write\": \"Developer Platform\",\n \"pcaps-api.read\": \"Network Services\",\n \"pcaps-api.write\": \"Network Services\",\n \"pipelines.read\": \"Developer Platform\",\n \"pipelines.write\": \"Developer Platform\",\n \"query-cache.read\": \"Developer Platform\",\n \"query-cache.write\": \"Developer Platform\",\n \"queues.read\": \"Developer Platform\",\n \"queues.write\": \"Developer Platform\",\n \"r2-catalog.read\": \"Developer Platform\",\n \"r2-catalog.write\": \"Developer Platform\",\n \"rag.read\": \"AI & Machine Learning\",\n \"rag.write\": \"AI & Machine Learning\",\n \"realtime.admin\": \"Developer Platform\",\n \"realtime.realtime\": \"Developer Platform\",\n \"request-tracer.read\": \"App Security\",\n \"scim-provisioning.write\": \"Account & Billing\",\n \"secrets-store.read\": \"Developer Platform\",\n \"secrets-store.write\": \"Developer Platform\",\n \"snippets.read\": \"Rules & Configuration\",\n \"snippets.write\": \"Rules & Configuration\",\n \"ssl-and-certificates.read\": \"Cache & Performance\",\n \"ssl-and-certificates.write\": \"Cache & Performance\",\n \"sso-connector.read\": \"Cloudflare One / Zero Trust\",\n \"sso-connector.write\": \"Cloudflare One / Zero Trust\",\n \"stream.read\": \"Media\",\n \"stream.write\": \"Media\",\n \"teams-connector-warp.read\": \"Cloudflare One / Zero Trust\",\n \"teams-connector-warp.write\": \"Cloudflare One / Zero Trust\",\n \"teams-dex.read\": \"Cloudflare One / Zero Trust\",\n \"teams-dex.write\": \"Cloudflare One / Zero Trust\",\n \"teams-networks.read\": \"Cloudflare One / Zero Trust\",\n \"teams-networks.write\": \"Cloudflare One / Zero Trust\",\n \"teams-pii.read\": \"Cloudflare One / Zero Trust\",\n \"teams-resilience.read\": \"Cloudflare One / Zero Trust\",\n \"teams-resilience.write\": \"Cloudflare One / Zero Trust\",\n \"teams.read\": \"Cloudflare One / Zero Trust\",\n \"teams.write\": \"Cloudflare One / Zero Trust\",\n \"trust-and-safety.read\": \"App Security\",\n \"trust-and-safety.write\": \"App Security\",\n \"url-scanner.read\": \"App Security\",\n \"url-scanner.write\": \"App Security\",\n \"user-details.read\": \"Account & Billing\",\n \"user-details.write\": \"Account & Billing\",\n \"vectorize.read\": \"Developer Platform\",\n \"vectorize.write\": \"Developer Platform\",\n \"waiting-rooms.read\": \"Network Services\",\n \"waiting-rooms.write\": \"Network Services\",\n \"web3-hostnames.read\": \"Network Services\",\n \"web3-hostnames.write\": \"Network Services\",\n \"workers-ci.read\": \"Developer Platform\",\n \"workers-ci.write\": \"Developer Platform\",\n \"workers-kv-storage.read\": \"Developer Platform\",\n \"workers-kv-storage.write\": \"Developer Platform\",\n \"workers-observability.read\": \"Developer Platform\",\n \"workers-observability.write\": \"Developer Platform\",\n \"workers-r2.read\": \"Developer Platform\",\n \"workers-r2.write\": \"Developer Platform\",\n \"workers-routes.read\": \"Developer Platform\",\n \"workers-routes.write\": \"Developer Platform\",\n \"workers-scripts.read\": \"Developer Platform\",\n \"workers-scripts.write\": \"Developer Platform\",\n \"workers-tail.read\": \"Developer Platform\",\n \"zaraz.edit\": \"App Security\",\n \"zaraz.read\": \"App Security\",\n \"zaraz.write\": \"App Security\",\n \"zone-settings.read\": \"DNS & Zones\",\n \"zone-settings.write\": \"DNS & Zones\",\n \"zone-versioning.read\": \"DNS & Zones\",\n \"zone-versioning.write\": \"DNS & Zones\",\n \"zone-waf.read\": \"App Security\",\n \"zone-waf.write\": \"App Security\",\n \"zone.read\": \"DNS & Zones\",\n \"zone.write\": \"DNS & Zones\"\n },\n \"displayOrder\": [\n \"AI & Machine Learning\",\n \"Cloudflare One / Zero Trust\",\n \"Account & Billing\",\n \"App Security\",\n \"Analytics & Logs\",\n \"Rules & Configuration\",\n \"DNS & Zones\",\n \"Network Services\",\n \"Cache & Performance\",\n \"Developer Platform\",\n \"Other\",\n \"Media\",\n \"Email & Messaging\"\n ]\n },\n \"defaultPolicy\": {\n \"permissionDefault\": \"deny\",\n \"permissionOverrides\": {\n \"allow\": [\n \"access-app.read\",\n \"access-audit-log.read\",\n \"access-certificate.read\",\n \"access-custom-page.read\",\n \"access-org.read\",\n \"access-policy-test.read\",\n \"access-scim-log.read\",\n \"access-service-token.read\",\n \"access-ssh-auditing.read\",\n \"account-analytics.read\",\n \"account-api-tokens.read\",\n \"account-custom-pages.read\",\n \"account-dns-settings.read\",\n \"account-firewall-access-rules.read\",\n \"account-rule-lists.read\",\n \"account-rulesets.read\",\n \"account-settings.read\",\n \"account-ssl-and-certificates.read\",\n \"account-waiting-rooms.read\",\n \"address-maps.read\",\n \"ai.read\",\n \"aig.read\",\n \"analytics.read\",\n \"api-gateway.read\",\n \"api-tokens.read\",\n \"argotunnel.read\",\n \"artifacts.read\",\n \"billing.read\",\n \"bot-management-feedback.read\",\n \"bot-management.read\",\n \"browser-rendering.read\",\n \"calls.read\",\n \"challenge-widgets.read\",\n \"cloud-connector.read\",\n \"cloud-email-security.read\",\n \"cloudforce-one.read\",\n \"containers.read\",\n \"custom-errors.read\",\n \"custom-pages.read\",\n \"d1.read\",\n \"ddos-botnet-feed.read\",\n \"ddos-protection.read\",\n \"dns-firewall.read\",\n \"dns-view.read\",\n \"dns.read\",\n \"email-routing-address.read\",\n \"email-routing-rule.read\",\n \"fbm.read\",\n \"firewall-services.read\",\n \"flagship.read\",\n \"fraud-detection.read\",\n \"healthcheck.read\",\n \"images.read\",\n \"intel.read\",\n \"ip-prefix-bgp-on-demand.read\",\n \"ip-prefix.read\",\n \"load-balancers.read\",\n \"load-balancing-monitors-and-pools.read\",\n \"logs.read\",\n \"magic-transit.read\",\n \"magic-wan.read\",\n \"managed-headers.read\",\n \"mass-url-redirects.read\",\n \"mcp-portals.read\",\n \"memberships.read\",\n \"notifications.read\",\n \"oauth-client.read\",\n \"page-rules.read\",\n \"page-shield.read\",\n \"page.read\",\n \"pcaps-api.read\",\n \"pipelines.read\",\n \"query-cache.read\",\n \"queues.read\",\n \"r2-catalog.read\",\n \"rag.read\",\n \"request-tracer.read\",\n \"secrets-store.read\",\n \"snippets.read\",\n \"ssl-and-certificates.read\",\n \"sso-connector.read\",\n \"stream.read\",\n \"teams-connector-warp.read\",\n \"teams-dex.read\",\n \"teams-networks.read\",\n \"teams-pii.read\",\n \"teams-resilience.read\",\n \"teams.read\",\n \"trust-and-safety.read\",\n \"url-scanner.read\",\n \"user-details.read\",\n \"vectorize.read\",\n \"waiting-rooms.read\",\n \"web3-hostnames.read\",\n \"workers-ci.read\",\n \"workers-kv-storage.read\",\n \"workers-observability.read\",\n \"workers-r2.read\",\n \"workers-routes.read\",\n \"workers-scripts.read\",\n \"workers-tail.read\",\n \"zaraz.read\",\n \"zone-settings.read\",\n \"zone-versioning.read\",\n \"zone-waf.read\",\n \"zone.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;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;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;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;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,IA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","names":[]}
|
package/index.js
CHANGED
|
@@ -75,7 +75,7 @@ import {
|
|
|
75
75
|
uo,
|
|
76
76
|
volumeConfigSchema,
|
|
77
77
|
withErrorHandler
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-ZIO54LY7.js";
|
|
79
79
|
import "./chunk-NR42YJMI.js";
|
|
80
80
|
import {
|
|
81
81
|
__toESM,
|
|
@@ -409,7 +409,7 @@ function getConfigPath() {
|
|
|
409
409
|
return join(os.homedir(), ".vm0", "config.json");
|
|
410
410
|
}
|
|
411
411
|
var infoCommand = new Command().name("info").description("Display environment and debug information").action(async () => {
|
|
412
|
-
console.log(source_default.bold(`VM0 CLI v${"9.
|
|
412
|
+
console.log(source_default.bold(`VM0 CLI v${"9.202.1"}`));
|
|
413
413
|
console.log();
|
|
414
414
|
const config = await loadConfig();
|
|
415
415
|
const hasEnvToken = !!process.env.VM0_TOKEN;
|
|
@@ -1111,7 +1111,7 @@ var composeCommand = new Command().name("compose").description("Create or update
|
|
|
1111
1111
|
options.autoUpdate = false;
|
|
1112
1112
|
}
|
|
1113
1113
|
if (options.autoUpdate !== false) {
|
|
1114
|
-
await startSilentUpgrade("9.
|
|
1114
|
+
await startSilentUpgrade("9.202.1");
|
|
1115
1115
|
}
|
|
1116
1116
|
try {
|
|
1117
1117
|
const { config, agentName, agent, basePath } = await loadAndValidateConfig(resolvedConfigFile);
|
|
@@ -1208,7 +1208,7 @@ var mainRunCommand = new Command().name("run").description("Run an agent").argum
|
|
|
1208
1208
|
withErrorHandler(
|
|
1209
1209
|
async (identifier, prompt, options) => {
|
|
1210
1210
|
if (options.autoUpdate !== false) {
|
|
1211
|
-
await startSilentUpgrade("9.
|
|
1211
|
+
await startSilentUpgrade("9.202.1");
|
|
1212
1212
|
}
|
|
1213
1213
|
const { name, version } = parseIdentifier(identifier);
|
|
1214
1214
|
let composeId;
|
|
@@ -3014,13 +3014,13 @@ var upgradeCommand = new Command().name("upgrade").description("Upgrade vm0 CLI
|
|
|
3014
3014
|
if (latestVersion === null) {
|
|
3015
3015
|
throw new Error("Could not check for updates. Please try again later.");
|
|
3016
3016
|
}
|
|
3017
|
-
if (latestVersion === "9.
|
|
3018
|
-
console.log(source_default.green(`\u2713 Already up to date (${"9.
|
|
3017
|
+
if (latestVersion === "9.202.1") {
|
|
3018
|
+
console.log(source_default.green(`\u2713 Already up to date (${"9.202.1"})`));
|
|
3019
3019
|
return;
|
|
3020
3020
|
}
|
|
3021
3021
|
console.log(
|
|
3022
3022
|
source_default.yellow(
|
|
3023
|
-
`Current version: ${"9.
|
|
3023
|
+
`Current version: ${"9.202.1"} -> Latest version: ${latestVersion}`
|
|
3024
3024
|
)
|
|
3025
3025
|
);
|
|
3026
3026
|
console.log();
|
|
@@ -3047,7 +3047,7 @@ var upgradeCommand = new Command().name("upgrade").description("Upgrade vm0 CLI
|
|
|
3047
3047
|
const success = await performUpgrade(packageManager);
|
|
3048
3048
|
if (success) {
|
|
3049
3049
|
console.log(
|
|
3050
|
-
source_default.green(`\u2713 Upgraded from ${"9.
|
|
3050
|
+
source_default.green(`\u2713 Upgraded from ${"9.202.1"} to ${latestVersion}`)
|
|
3051
3051
|
);
|
|
3052
3052
|
return;
|
|
3053
3053
|
}
|
|
@@ -3114,7 +3114,7 @@ var whoamiCommand = new Command().name("whoami").description("Show current ident
|
|
|
3114
3114
|
|
|
3115
3115
|
// src/index.ts
|
|
3116
3116
|
var program = new Command();
|
|
3117
|
-
program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.
|
|
3117
|
+
program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.202.1");
|
|
3118
3118
|
program.addCommand(authCommand);
|
|
3119
3119
|
program.addCommand(infoCommand);
|
|
3120
3120
|
program.addCommand(composeCommand);
|
package/package.json
CHANGED
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-
|
|
195
|
+
} from "./chunk-ZIO54LY7.js";
|
|
197
196
|
import "./chunk-NR42YJMI.js";
|
|
198
197
|
import {
|
|
199
198
|
__toESM,
|
|
@@ -3462,14 +3461,9 @@ function formatTriggerConfig(trigger) {
|
|
|
3462
3461
|
return `at ${trigger.atTime} (${trigger.timezone})`;
|
|
3463
3462
|
case "loop":
|
|
3464
3463
|
return `every ${formatDurationSeconds(trigger.intervalSeconds)}`;
|
|
3465
|
-
case "webhook":
|
|
3466
|
-
return trigger.webhookUrl;
|
|
3467
3464
|
}
|
|
3468
3465
|
}
|
|
3469
3466
|
function formatNextRun(trigger) {
|
|
3470
|
-
if (trigger.kind === "webhook") {
|
|
3471
|
-
return source_default.dim("-");
|
|
3472
|
-
}
|
|
3473
3467
|
if (!trigger.nextRunAt) {
|
|
3474
3468
|
return source_default.dim("-");
|
|
3475
3469
|
}
|
|
@@ -3536,46 +3530,25 @@ function printTriggerDetails(trigger) {
|
|
|
3536
3530
|
`${"Every:".padEnd(14)}${formatDurationSeconds(trigger.intervalSeconds)}`
|
|
3537
3531
|
);
|
|
3538
3532
|
break;
|
|
3539
|
-
case "webhook":
|
|
3540
|
-
console.log(`${"Webhook URL:".padEnd(14)}${trigger.webhookUrl}`);
|
|
3541
|
-
break;
|
|
3542
|
-
}
|
|
3543
|
-
if (trigger.kind !== "webhook") {
|
|
3544
|
-
console.log(`${"Timezone:".padEnd(14)}${trigger.timezone}`);
|
|
3545
|
-
console.log(
|
|
3546
|
-
`${"Next run:".padEnd(14)}${trigger.nextRunAt ? formatRelativeTime(trigger.nextRunAt) : source_default.dim("-")}`
|
|
3547
|
-
);
|
|
3548
|
-
console.log(
|
|
3549
|
-
`${"Last run:".padEnd(14)}${trigger.lastRunAt ? formatRelativeTime(trigger.lastRunAt) : source_default.dim("-")}`
|
|
3550
|
-
);
|
|
3551
3533
|
}
|
|
3552
|
-
}
|
|
3553
|
-
function printWebhookSecret(webhookUrl, secret) {
|
|
3554
|
-
console.log();
|
|
3555
|
-
console.log(source_default.bold(" Inbound URL:"));
|
|
3556
|
-
console.log(` ${webhookUrl}`);
|
|
3557
|
-
console.log();
|
|
3558
|
-
console.log(source_default.bold(" Signing secret (shown only once \u2014 store it now):"));
|
|
3559
|
-
console.log(` ${secret}`);
|
|
3534
|
+
console.log(`${"Timezone:".padEnd(14)}${trigger.timezone}`);
|
|
3560
3535
|
console.log(
|
|
3561
|
-
source_default.
|
|
3562
|
-
|
|
3563
|
-
|
|
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("-")}`
|
|
3564
3540
|
);
|
|
3565
3541
|
}
|
|
3566
3542
|
|
|
3567
3543
|
// src/commands/zero/automation/create.ts
|
|
3568
3544
|
function buildInlineTrigger(options) {
|
|
3569
|
-
const sugarCount = [
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
].filter((value) => {
|
|
3575
|
-
return value !== void 0;
|
|
3576
|
-
}).length;
|
|
3545
|
+
const sugarCount = [options.cron, options.once, options.loop].filter(
|
|
3546
|
+
(value) => {
|
|
3547
|
+
return value !== void 0;
|
|
3548
|
+
}
|
|
3549
|
+
).length;
|
|
3577
3550
|
if (sugarCount > 1) {
|
|
3578
|
-
throw new Error("Use at most one of --cron, --once, --loop
|
|
3551
|
+
throw new Error("Use at most one of --cron, --once, --loop");
|
|
3579
3552
|
}
|
|
3580
3553
|
if (options.timezone && !options.cron && !options.once) {
|
|
3581
3554
|
throw new Error("--timezone requires --cron or --once");
|
|
@@ -3597,9 +3570,6 @@ function buildInlineTrigger(options) {
|
|
|
3597
3570
|
intervalSeconds: parseDurationSeconds(options.loop)
|
|
3598
3571
|
};
|
|
3599
3572
|
}
|
|
3600
|
-
if (options.webhook) {
|
|
3601
|
-
return { kind: "webhook" };
|
|
3602
|
-
}
|
|
3603
3573
|
return void 0;
|
|
3604
3574
|
}
|
|
3605
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(
|
|
@@ -3608,7 +3578,7 @@ var createCommand2 = new Command().name("create").description("Create an automat
|
|
|
3608
3578
|
).option("--description <text>", "Optional description").option("--cron <expression>", 'Add a cron trigger (e.g. "0 9 * * *")').option(
|
|
3609
3579
|
"--once <iso-time>",
|
|
3610
3580
|
'Add a one-time trigger (e.g. "2026-06-10T09:00")'
|
|
3611
|
-
).option("--loop <duration>", "Add a loop trigger (e.g. 15m, 1h, 90s)").option("
|
|
3581
|
+
).option("--loop <duration>", "Add a loop trigger (e.g. 15m, 1h, 90s)").option("-z, --timezone <tz>", "IANA timezone for --cron / --once").addHelpText(
|
|
3612
3582
|
"after",
|
|
3613
3583
|
`
|
|
3614
3584
|
Examples:
|
|
@@ -3616,11 +3586,9 @@ Examples:
|
|
|
3616
3586
|
Daily at 9am: zero automation create -n alerts --agent my-agent -p "..." --cron "0 9 * * *"
|
|
3617
3587
|
One-time: zero automation create -n alerts --agent my-agent -p "..." --once "2026-06-10T09:00" -z UTC
|
|
3618
3588
|
Every 15 min: zero automation create -n alerts --agent my-agent -p "..." --loop 15m
|
|
3619
|
-
Webhook: zero automation create -n alerts --agent my-agent -p "..." --webhook
|
|
3620
3589
|
|
|
3621
3590
|
Notes:
|
|
3622
|
-
- At most one of --cron, --once, --loop
|
|
3623
|
-
- 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`
|
|
3624
3592
|
).action(
|
|
3625
3593
|
withErrorHandler(async (options) => {
|
|
3626
3594
|
const trigger = buildInlineTrigger(options);
|
|
@@ -3628,7 +3596,7 @@ Notes:
|
|
|
3628
3596
|
if (!compose) {
|
|
3629
3597
|
throw new Error(`Agent not found: ${options.agent}`);
|
|
3630
3598
|
}
|
|
3631
|
-
const { automation
|
|
3599
|
+
const { automation } = await createAutomation({
|
|
3632
3600
|
name: options.name,
|
|
3633
3601
|
agentId: compose.id,
|
|
3634
3602
|
instruction: options.prompt,
|
|
@@ -3648,9 +3616,6 @@ Notes:
|
|
|
3648
3616
|
)
|
|
3649
3617
|
);
|
|
3650
3618
|
}
|
|
3651
|
-
if (webhookSecret && createdTrigger?.kind === "webhook") {
|
|
3652
|
-
printWebhookSecret(createdTrigger.webhookUrl, webhookSecret);
|
|
3653
|
-
}
|
|
3654
3619
|
console.log();
|
|
3655
3620
|
if (!createdTrigger) {
|
|
3656
3621
|
console.log(
|
|
@@ -3838,9 +3803,7 @@ Notes:
|
|
|
3838
3803
|
let timeTriggerId;
|
|
3839
3804
|
if (timing) {
|
|
3840
3805
|
const automation = await showAutomation(ref);
|
|
3841
|
-
const timeTriggers = automation.triggers
|
|
3842
|
-
return trigger.kind !== "webhook";
|
|
3843
|
-
});
|
|
3806
|
+
const timeTriggers = automation.triggers;
|
|
3844
3807
|
const [first] = timeTriggers;
|
|
3845
3808
|
if (!first) {
|
|
3846
3809
|
throw new Error(
|
|
@@ -3962,7 +3925,7 @@ init_esm_shims();
|
|
|
3962
3925
|
|
|
3963
3926
|
// src/commands/zero/automation/trigger/add.ts
|
|
3964
3927
|
init_esm_shims();
|
|
3965
|
-
var TRIGGER_KINDS = ["cron", "once", "loop"
|
|
3928
|
+
var TRIGGER_KINDS = ["cron", "once", "loop"];
|
|
3966
3929
|
function buildTrigger(kind, options) {
|
|
3967
3930
|
switch (kind) {
|
|
3968
3931
|
case "cron":
|
|
@@ -3992,15 +3955,13 @@ function buildTrigger(kind, options) {
|
|
|
3992
3955
|
kind: "loop",
|
|
3993
3956
|
intervalSeconds: parseDurationSeconds(options.every)
|
|
3994
3957
|
};
|
|
3995
|
-
case "webhook":
|
|
3996
|
-
return { kind: "webhook" };
|
|
3997
3958
|
default:
|
|
3998
3959
|
throw new Error(
|
|
3999
3960
|
`Unknown trigger kind: "${kind}". Use one of: ${TRIGGER_KINDS.join(", ")}`
|
|
4000
3961
|
);
|
|
4001
3962
|
}
|
|
4002
3963
|
}
|
|
4003
|
-
var addCommand = new Command().name("add").description("Add a trigger (cron | once | loop
|
|
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(
|
|
4004
3965
|
"--expr <expression>",
|
|
4005
3966
|
'Cron expression for kind "cron" (e.g. "0 9 * * *")'
|
|
4006
3967
|
).option(
|
|
@@ -4012,23 +3973,16 @@ var addCommand = new Command().name("add").description("Add a trigger (cron | on
|
|
|
4012
3973
|
Trigger kinds:
|
|
4013
3974
|
cron Recurring schedule: zero automation trigger add alerts cron --expr "0 9 * * *" [--timezone Asia/Shanghai]
|
|
4014
3975
|
once One-time fire: zero automation trigger add alerts once --at "2026-06-10T09:00" [--timezone UTC]
|
|
4015
|
-
loop Fixed interval: zero automation trigger add alerts loop --every 15m
|
|
4016
|
-
webhook Inbound signed webhook: zero automation trigger add alerts webhook
|
|
4017
|
-
|
|
4018
|
-
Notes:
|
|
4019
|
-
- 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`
|
|
4020
3977
|
).action(
|
|
4021
3978
|
withErrorHandler(async (ref, kind, options) => {
|
|
4022
3979
|
if (options.timezone && kind !== "cron" && kind !== "once") {
|
|
4023
3980
|
throw new Error("--timezone only applies to cron and once triggers");
|
|
4024
3981
|
}
|
|
4025
3982
|
const body = buildTrigger(kind, options);
|
|
4026
|
-
const { trigger
|
|
3983
|
+
const { trigger } = await addAutomationTrigger(ref, body);
|
|
4027
3984
|
console.log(source_default.green(`\u2713 Trigger added to automation "${ref}"`));
|
|
4028
3985
|
printTriggerDetails(trigger);
|
|
4029
|
-
if (webhookSecret && trigger.kind === "webhook") {
|
|
4030
|
-
printWebhookSecret(trigger.webhookUrl, webhookSecret);
|
|
4031
|
-
}
|
|
4032
3986
|
})
|
|
4033
3987
|
);
|
|
4034
3988
|
|
|
@@ -4078,8 +4032,7 @@ Examples:
|
|
|
4078
4032
|
|
|
4079
4033
|
Notes:
|
|
4080
4034
|
- Exactly one of --expr (cron), --at (once), --every (loop); the trigger's kind switches to match
|
|
4081
|
-
- The trigger keeps its id, enabled flag, and run history; the next run is recomputed and the failure counter resets
|
|
4082
|
-
- 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`
|
|
4083
4036
|
).action(
|
|
4084
4037
|
withErrorHandler(async (id, options) => {
|
|
4085
4038
|
const body = buildUpdate(options);
|
|
@@ -4154,24 +4107,7 @@ Examples:
|
|
|
4154
4107
|
console.log(source_default.green(`\u2713 Trigger ${trigger.id} disabled`));
|
|
4155
4108
|
})
|
|
4156
4109
|
);
|
|
4157
|
-
var
|
|
4158
|
-
"after",
|
|
4159
|
-
`
|
|
4160
|
-
Examples:
|
|
4161
|
-
zero automation trigger rotate-secret 22222222-2222-4222-8222-222222222222
|
|
4162
|
-
|
|
4163
|
-
Notes:
|
|
4164
|
-
- The previous secret stops working immediately; the new one is shown ONCE`
|
|
4165
|
-
).action(
|
|
4166
|
-
withErrorHandler(async (id) => {
|
|
4167
|
-
const { trigger, webhookSecret } = await rotateAutomationTriggerSecret(id);
|
|
4168
|
-
console.log(source_default.green(`\u2713 Trigger ${trigger.id} secret rotated`));
|
|
4169
|
-
if (webhookSecret && trigger.kind === "webhook") {
|
|
4170
|
-
printWebhookSecret(trigger.webhookUrl, webhookSecret);
|
|
4171
|
-
}
|
|
4172
|
-
})
|
|
4173
|
-
);
|
|
4174
|
-
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(
|
|
4175
4111
|
"after",
|
|
4176
4112
|
`
|
|
4177
4113
|
Examples:
|
|
@@ -4179,8 +4115,7 @@ Examples:
|
|
|
4179
4115
|
Update a schedule: zero automation trigger update <trigger-id> --every 10m (kind switches to match the flag)
|
|
4180
4116
|
List triggers: zero automation trigger list <automation>
|
|
4181
4117
|
Inspect a trigger: zero automation trigger show <trigger-id>
|
|
4182
|
-
Pause one trigger: zero automation trigger disable <trigger-id
|
|
4183
|
-
Rotate a secret: zero automation trigger rotate-secret <trigger-id>`
|
|
4118
|
+
Pause one trigger: zero automation trigger disable <trigger-id>`
|
|
4184
4119
|
);
|
|
4185
4120
|
|
|
4186
4121
|
// src/commands/zero/automation/index.ts
|
|
@@ -5941,7 +5876,10 @@ init_esm_shims();
|
|
|
5941
5876
|
|
|
5942
5877
|
// src/commands/zero/workflow/trigger/display.ts
|
|
5943
5878
|
init_esm_shims();
|
|
5944
|
-
function
|
|
5879
|
+
function formatWorkflowTriggerEntry(trigger) {
|
|
5880
|
+
if (trigger.kind === "event") {
|
|
5881
|
+
return "Gmail new message";
|
|
5882
|
+
}
|
|
5945
5883
|
const { schedule } = trigger;
|
|
5946
5884
|
switch (schedule.type) {
|
|
5947
5885
|
case "cron":
|
|
@@ -5963,9 +5901,9 @@ function printWorkflowTriggersTable(triggers) {
|
|
|
5963
5901
|
})
|
|
5964
5902
|
);
|
|
5965
5903
|
const scheduleWidth = Math.max(
|
|
5966
|
-
|
|
5904
|
+
7,
|
|
5967
5905
|
...triggers.map((trigger) => {
|
|
5968
|
-
return
|
|
5906
|
+
return formatWorkflowTriggerEntry(trigger).length;
|
|
5969
5907
|
})
|
|
5970
5908
|
);
|
|
5971
5909
|
console.log(
|
|
@@ -5973,7 +5911,7 @@ function printWorkflowTriggersTable(triggers) {
|
|
|
5973
5911
|
[
|
|
5974
5912
|
"ID".padEnd(idWidth),
|
|
5975
5913
|
"STATUS".padEnd(8),
|
|
5976
|
-
"
|
|
5914
|
+
"TRIGGER".padEnd(scheduleWidth),
|
|
5977
5915
|
"NEXT RUN"
|
|
5978
5916
|
].join(" ")
|
|
5979
5917
|
)
|
|
@@ -5984,7 +5922,7 @@ function printWorkflowTriggersTable(triggers) {
|
|
|
5984
5922
|
[
|
|
5985
5923
|
trigger.id.padEnd(idWidth),
|
|
5986
5924
|
status.padEnd(8 + (trigger.enabled ? 0 : 2)),
|
|
5987
|
-
|
|
5925
|
+
formatWorkflowTriggerEntry(trigger).padEnd(scheduleWidth),
|
|
5988
5926
|
formatRunTime(trigger.nextRunAt)
|
|
5989
5927
|
].join(" ")
|
|
5990
5928
|
);
|
|
@@ -5998,9 +5936,7 @@ function printWorkflowTriggerDetails(trigger, options) {
|
|
|
5998
5936
|
console.log(`${"Workflow:".padEnd(14)}${options.workflowRef}`);
|
|
5999
5937
|
}
|
|
6000
5938
|
console.log(`${"Status:".padEnd(14)}${status}`);
|
|
6001
|
-
console.log(
|
|
6002
|
-
`${"Schedule:".padEnd(14)}${formatWorkflowTriggerSchedule(trigger)}`
|
|
6003
|
-
);
|
|
5939
|
+
console.log(`${"Trigger:".padEnd(14)}${formatWorkflowTriggerEntry(trigger)}`);
|
|
6004
5940
|
console.log(`${"Owner:".padEnd(14)}${trigger.ownerUserId}`);
|
|
6005
5941
|
console.log(
|
|
6006
5942
|
`${"Chat thread:".padEnd(14)}${trigger.chatThreadId ?? source_default.dim("-")}`
|
|
@@ -11436,7 +11372,7 @@ function registerZeroCommands(prog, commands) {
|
|
|
11436
11372
|
var program = new Command();
|
|
11437
11373
|
program.name("zero").description(
|
|
11438
11374
|
"Zero CLI \u2014 interact with the zero platform from inside the sandbox"
|
|
11439
|
-
).version("9.
|
|
11375
|
+
).version("9.202.1").addHelpText("after", () => {
|
|
11440
11376
|
return buildZeroHelpText();
|
|
11441
11377
|
});
|
|
11442
11378
|
if (process.argv[1]?.endsWith("zero.js") || process.argv[1]?.endsWith("zero.ts") || process.argv[1]?.endsWith("zero")) {
|