@vm0/cli 9.122.6 → 9.122.7

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.
@@ -73642,7 +73642,7 @@ if (DSN) {
73642
73642
  init2({
73643
73643
  dsn: DSN,
73644
73644
  environment: process.env.SENTRY_ENVIRONMENT ?? "production",
73645
- release: "9.122.6",
73645
+ release: "9.122.7",
73646
73646
  sendDefaultPii: false,
73647
73647
  tracesSampleRate: 0,
73648
73648
  shutdownTimeout: 500,
@@ -73661,7 +73661,7 @@ if (DSN) {
73661
73661
  }
73662
73662
  });
73663
73663
  setContext("cli", {
73664
- version: "9.122.6",
73664
+ version: "9.122.7",
73665
73665
  command: process.argv.slice(2).join(" ")
73666
73666
  });
73667
73667
  setContext("runtime", {
@@ -91244,6 +91244,28 @@ var CONNECTOR_TYPES_DEF = {
91244
91244
  ]
91245
91245
  }
91246
91246
  },
91247
+ "dropbox-sign": {
91248
+ label: "Dropbox Sign",
91249
+ tags: ["hellosign", "e-signature", "signature", "sign", "document"],
91250
+ environmentMapping: {
91251
+ DROPBOX_SIGN_TOKEN: "$secrets.DROPBOX_SIGN_TOKEN"
91252
+ },
91253
+ helpText: "Connect your Dropbox Sign (formerly HelloSign) account to send, track, and download e-signature requests",
91254
+ authMethods: {
91255
+ "api-token": {
91256
+ label: "API Key",
91257
+ helpText: "1. Log in to [Dropbox Sign](https://sign.dropbox.com)\n2. Click **API** in the left sidebar and open the **API Dashboard**\n3. Click **Reveal key** for an existing key, or **Generate key** to create a new one\n4. Copy the 40-character hex key and paste it here\n\nTip: While developing, add `test_mode=1` to signature-request calls to avoid billing and real emails.",
91258
+ secrets: {
91259
+ DROPBOX_SIGN_TOKEN: {
91260
+ label: "API Key",
91261
+ required: true,
91262
+ placeholder: "40-character hex key"
91263
+ }
91264
+ }
91265
+ }
91266
+ },
91267
+ defaultAuthMethod: "api-token"
91268
+ },
91247
91269
  linear: {
91248
91270
  label: "Linear",
91249
91271
  tags: ["issues", "tickets", "project-management"],
@@ -94387,6 +94409,103 @@ var CONNECTOR_TYPES_DEF = {
94387
94409
  },
94388
94410
  defaultAuthMethod: "api-token"
94389
94411
  },
94412
+ buffer: {
94413
+ label: "Buffer",
94414
+ environmentMapping: {
94415
+ BUFFER_TOKEN: "$secrets.BUFFER_TOKEN"
94416
+ },
94417
+ helpText: "Connect your Buffer account to schedule, draft, and publish social media posts across your connected channels (Twitter/X, LinkedIn, Instagram, Facebook, TikTok, Threads, Bluesky, Mastodon, Pinterest, YouTube). **Note: Buffer's API is currently in beta.**",
94418
+ authMethods: {
94419
+ "api-token": {
94420
+ label: "API Key",
94421
+ helpText: "1. Log in to [Buffer](https://publish.buffer.com) and go to **Settings > Developer Dashboard** (you must be an **Org Owner** \u2014 paid accounts can create up to 5 keys; free accounts get 1).\n2. Click **Create API Key**, give it a name, and set an expiration if desired.\n3. Copy the key immediately \u2014 it's only shown once.\n4. Paste it here.\n\n**Note:** Buffer's API is currently in beta.",
94422
+ secrets: {
94423
+ BUFFER_TOKEN: {
94424
+ label: "API Key",
94425
+ required: true,
94426
+ placeholder: "Buffer personal API key"
94427
+ }
94428
+ }
94429
+ }
94430
+ },
94431
+ defaultAuthMethod: "api-token"
94432
+ },
94433
+ coda: {
94434
+ label: "Coda",
94435
+ environmentMapping: {
94436
+ CODA_TOKEN: "$secrets.CODA_TOKEN"
94437
+ },
94438
+ helpText: "Connect your Coda account to read and write docs, tables, rows, and pages",
94439
+ authMethods: {
94440
+ "api-token": {
94441
+ label: "API Token",
94442
+ helpText: "1. Open Coda and click your avatar (bottom left) then **Account Settings**\n2. Scroll to **API Settings**\n3. Click **Generate API Token**, give it a name, optionally restrict scope\n4. Copy the token and paste it here",
94443
+ secrets: {
94444
+ CODA_TOKEN: {
94445
+ label: "API Token",
94446
+ required: true,
94447
+ placeholder: "your-coda-api-token"
94448
+ }
94449
+ }
94450
+ }
94451
+ },
94452
+ defaultAuthMethod: "api-token"
94453
+ },
94454
+ miro: {
94455
+ label: "Miro",
94456
+ environmentMapping: {
94457
+ MIRO_TOKEN: "$secrets.MIRO_TOKEN"
94458
+ },
94459
+ helpText: "Connect your Miro account to create and manage boards, sticky notes, shapes, text, and other items on the visual collaboration whiteboard",
94460
+ authMethods: {
94461
+ "api-token": {
94462
+ label: "Access Token",
94463
+ helpText: "1. Go to [Miro App Settings](https://miro.com/app/settings/user-profile/apps) and click **Create new app**\n2. Fill in the app name and description\n3. **Important:** when asked about token expiration, select **Non-expiring access token** \u2014 this choice is permanent for the app\n4. On the app's page, open **Permissions** and check the scopes you need (e.g. `boards:read`, `boards:write`)\n5. Click **Install app and get OAuth token**, select your team, and copy the token\n6. Paste the token here",
94464
+ secrets: {
94465
+ MIRO_TOKEN: {
94466
+ label: "Access Token",
94467
+ required: true,
94468
+ placeholder: "non-expiring access token"
94469
+ }
94470
+ }
94471
+ }
94472
+ },
94473
+ defaultAuthMethod: "api-token"
94474
+ },
94475
+ mixpanel: {
94476
+ label: "Mixpanel",
94477
+ tags: ["analytics", "product-analytics", "events"],
94478
+ environmentMapping: {
94479
+ MIXPANEL_SERVICE_ACCOUNT_USERNAME: "$secrets.MIXPANEL_SERVICE_ACCOUNT_USERNAME",
94480
+ MIXPANEL_SERVICE_ACCOUNT_SECRET: "$secrets.MIXPANEL_SERVICE_ACCOUNT_SECRET",
94481
+ MIXPANEL_PROJECT_ID: "$vars.MIXPANEL_PROJECT_ID"
94482
+ },
94483
+ helpText: "Connect your Mixpanel project to query Insights, Funnels, JQL, raw event export, and ingest events via /import",
94484
+ authMethods: {
94485
+ "api-token": {
94486
+ label: "Service Account",
94487
+ helpText: "1. In Mixpanel, open **Organization Settings \u2192 Service Accounts** (or **Project Settings \u2192 Service Accounts**)\n2. Click **Add Service Account**, give it a name, and choose a role (minimum **Member**); optionally set an expiration\n3. Copy the **Username** and **Secret** immediately \u2014 the secret is only shown once\n4. Open **Project Settings \u2192 Overview \u2192 Access Keys** and copy your **Project ID**\n5. Paste all three values below",
94488
+ secrets: {
94489
+ MIXPANEL_SERVICE_ACCOUNT_USERNAME: {
94490
+ label: "Service Account Username",
94491
+ required: true,
94492
+ placeholder: "my-sa.12ab34"
94493
+ },
94494
+ MIXPANEL_SERVICE_ACCOUNT_SECRET: {
94495
+ label: "Service Account Secret",
94496
+ required: true
94497
+ },
94498
+ MIXPANEL_PROJECT_ID: {
94499
+ label: "Project ID",
94500
+ required: true,
94501
+ type: "variable",
94502
+ placeholder: "1234567"
94503
+ }
94504
+ }
94505
+ }
94506
+ },
94507
+ defaultAuthMethod: "api-token"
94508
+ },
94390
94509
  typeform: {
94391
94510
  label: "Typeform",
94392
94511
  environmentMapping: {
@@ -94440,6 +94559,96 @@ var CONNECTOR_TYPES_DEF = {
94440
94559
  tokenUrl: "/api/test/oauth-provider/token",
94441
94560
  scopes: ["read"]
94442
94561
  }
94562
+ },
94563
+ pandadoc: {
94564
+ label: "PandaDoc",
94565
+ environmentMapping: {
94566
+ PANDADOC_TOKEN: "$secrets.PANDADOC_TOKEN"
94567
+ },
94568
+ helpText: "Connect your PandaDoc account to create, send, and manage contracts, proposals, quotes, and e-signature documents",
94569
+ authMethods: {
94570
+ "api-token": {
94571
+ label: "API Key",
94572
+ helpText: "1. In PandaDoc, go to **Settings > Integrations > API**\n2. Click **Generate Production Key** (requires an API-enabled plan) or **Generate Sandbox Key** for testing\n3. Copy the key and paste it here\n\nNote: Only Org Admins can generate keys. Sandbox keys work for free but signed documents have no legal validity.",
94573
+ secrets: {
94574
+ PANDADOC_TOKEN: {
94575
+ label: "API Key",
94576
+ required: true,
94577
+ placeholder: "your PandaDoc API key"
94578
+ }
94579
+ }
94580
+ }
94581
+ },
94582
+ defaultAuthMethod: "api-token"
94583
+ },
94584
+ greenhouse: {
94585
+ label: "Greenhouse",
94586
+ environmentMapping: {
94587
+ GREENHOUSE_TOKEN: "$secrets.GREENHOUSE_TOKEN"
94588
+ },
94589
+ helpText: "Connect your Greenhouse account to read candidates, applications, jobs, offers, and scheduled interviews, and to create candidates and activity-feed notes via the Harvest API. Note: Harvest v1/v2 will be deprecated on August 31, 2026 \u2014 migrate to OAuth v3 before that date.",
94590
+ authMethods: {
94591
+ "api-token": {
94592
+ label: "API Key",
94593
+ helpText: "1. In Greenhouse, click **Configure** (gear icon) \u2192 **Dev Center** (left sidebar)\n2. Click **API Credential Management** \u2192 **Create new API credentials**\n3. For **API type**, select **Harvest API** (v1/v2). For **Partner**, choose **Custom** (or **Unlisted vendor**). Description: **vm0**\n4. Select the endpoints you want this key to access (permission scoping)\n5. Click **View and store credentials** and copy the API key \u2014 it is only shown once\n6. Paste it here\n\n**Note:** Harvest v1/v2 will be deprecated on August 31, 2026; migrate to OAuth v3 before that date.",
94594
+ secrets: {
94595
+ GREENHOUSE_TOKEN: {
94596
+ label: "API Key",
94597
+ required: true,
94598
+ placeholder: "your-greenhouse-harvest-api-key"
94599
+ }
94600
+ }
94601
+ }
94602
+ },
94603
+ defaultAuthMethod: "api-token"
94604
+ },
94605
+ zoom: {
94606
+ label: "Zoom",
94607
+ environmentMapping: {
94608
+ ZOOM_TOKEN: "$secrets.ZOOM_ACCESS_TOKEN"
94609
+ },
94610
+ featureFlag: "zoomConnector" /* ZoomConnector */,
94611
+ helpText: "Connect your Zoom account to schedule meetings, manage cloud recordings, and access webinar and participant data",
94612
+ authMethods: {
94613
+ oauth: {
94614
+ label: "OAuth (Recommended)",
94615
+ helpText: "Sign in with Zoom to grant access.",
94616
+ secrets: {
94617
+ ZOOM_ACCESS_TOKEN: {
94618
+ label: "Access Token",
94619
+ required: true
94620
+ },
94621
+ ZOOM_REFRESH_TOKEN: {
94622
+ label: "Refresh Token",
94623
+ required: true
94624
+ }
94625
+ }
94626
+ }
94627
+ },
94628
+ defaultAuthMethod: "oauth",
94629
+ oauth: {
94630
+ authorizationUrl: "https://zoom.us/oauth/authorize",
94631
+ tokenUrl: "https://zoom.us/oauth/token",
94632
+ // Granular scopes (Zoom's "resource:action:target" format). Covers the
94633
+ // core read/write flows documented in the zoom skill: users, meetings,
94634
+ // past-meeting data, cloud recordings, and webinars.
94635
+ scopes: [
94636
+ "user:read:user",
94637
+ "meeting:read:list_meetings",
94638
+ "meeting:read:meeting",
94639
+ "meeting:write:meeting",
94640
+ "meeting:update:meeting",
94641
+ "meeting:delete:meeting",
94642
+ "meeting:update:status",
94643
+ "meeting:read:list_past_participants",
94644
+ "meeting:read:past_meeting",
94645
+ "cloud_recording:read:list_user_recordings",
94646
+ "cloud_recording:read:list_recording_files",
94647
+ "cloud_recording:read:recording",
94648
+ "webinar:read:list_webinars",
94649
+ "webinar:read:webinar"
94650
+ ]
94651
+ }
94443
94652
  }
94444
94653
  };
94445
94654
  var CONNECTOR_TYPES = CONNECTOR_TYPES_DEF;
@@ -95472,6 +95681,36 @@ var browserlessFirewall = {
95472
95681
  ]
95473
95682
  };
95474
95683
 
95684
+ // ../../packages/core/src/firewalls/buffer.generated.ts
95685
+ init_esm_shims();
95686
+ var bufferFirewall = {
95687
+ name: "buffer",
95688
+ description: "Buffer",
95689
+ placeholders: {
95690
+ BUFFER_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal000"
95691
+ },
95692
+ apis: [
95693
+ {
95694
+ base: "https://api.buffer.com",
95695
+ auth: {
95696
+ headers: {
95697
+ Authorization: "Bearer ${{ secrets.BUFFER_TOKEN }}"
95698
+ }
95699
+ },
95700
+ permissions: []
95701
+ },
95702
+ {
95703
+ base: "https://api.bufferapp.com",
95704
+ auth: {
95705
+ headers: {
95706
+ Authorization: "Bearer ${{ secrets.BUFFER_TOKEN }}"
95707
+ }
95708
+ },
95709
+ permissions: []
95710
+ }
95711
+ ]
95712
+ };
95713
+
95475
95714
  // ../../packages/core/src/firewalls/cal-com.generated.ts
95476
95715
  init_esm_shims();
95477
95716
  var calComFirewall = {
@@ -95619,6 +95858,27 @@ var cloudflareFirewall = {
95619
95858
  ]
95620
95859
  };
95621
95860
 
95861
+ // ../../packages/core/src/firewalls/coda.generated.ts
95862
+ init_esm_shims();
95863
+ var codaFirewall = {
95864
+ name: "coda",
95865
+ description: "Coda",
95866
+ placeholders: {
95867
+ CODA_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafe"
95868
+ },
95869
+ apis: [
95870
+ {
95871
+ base: "https://coda.io",
95872
+ auth: {
95873
+ headers: {
95874
+ Authorization: "Bearer ${{ secrets.CODA_TOKEN }}"
95875
+ }
95876
+ },
95877
+ permissions: []
95878
+ }
95879
+ ]
95880
+ };
95881
+
95622
95882
  // ../../packages/core/src/firewalls/cronlytic.generated.ts
95623
95883
  init_esm_shims();
95624
95884
  var cronlyticFirewall = {
@@ -97074,6 +97334,27 @@ var dropboxFirewall = {
97074
97334
  ]
97075
97335
  };
97076
97336
 
97337
+ // ../../packages/core/src/firewalls/dropbox-sign.generated.ts
97338
+ init_esm_shims();
97339
+ var dropboxSignFirewall = {
97340
+ name: "dropbox-sign",
97341
+ description: "Dropbox Sign (HelloSign) e-signature API",
97342
+ placeholders: {
97343
+ DROPBOX_SIGN_TOKEN: "c0ffee5afe10ca1c0ffee5afe10ca1c0ffee5afe"
97344
+ },
97345
+ apis: [
97346
+ {
97347
+ base: "https://api.hellosign.com",
97348
+ auth: {
97349
+ headers: {
97350
+ Authorization: "${{ basic(secrets.DROPBOX_SIGN_TOKEN, ) }}"
97351
+ }
97352
+ },
97353
+ permissions: []
97354
+ }
97355
+ ]
97356
+ };
97357
+
97077
97358
  // ../../packages/core/src/firewalls/duffel.generated.ts
97078
97359
  init_esm_shims();
97079
97360
  var duffelFirewall = {
@@ -98817,6 +99098,27 @@ var granolaFirewall = {
98817
99098
  ]
98818
99099
  };
98819
99100
 
99101
+ // ../../packages/core/src/firewalls/greenhouse.generated.ts
99102
+ init_esm_shims();
99103
+ var greenhouseFirewall = {
99104
+ name: "greenhouse",
99105
+ description: "Greenhouse Harvest API",
99106
+ placeholders: {
99107
+ GREENHOUSE_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSa"
99108
+ },
99109
+ apis: [
99110
+ {
99111
+ base: "https://harvest.greenhouse.io",
99112
+ auth: {
99113
+ headers: {
99114
+ Authorization: "${{ basic(secrets.GREENHOUSE_TOKEN, ) }}"
99115
+ }
99116
+ },
99117
+ permissions: []
99118
+ }
99119
+ ]
99120
+ };
99121
+
98820
99122
  // ../../packages/core/src/firewalls/heygen.generated.ts
98821
99123
  init_esm_shims();
98822
99124
  var heygenFirewall = {
@@ -99492,6 +99794,67 @@ var minimaxFirewall = {
99492
99794
  ]
99493
99795
  };
99494
99796
 
99797
+ // ../../packages/core/src/firewalls/miro.generated.ts
99798
+ init_esm_shims();
99799
+ var miroFirewall = {
99800
+ name: "miro",
99801
+ description: "Miro",
99802
+ placeholders: {
99803
+ MIRO_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal"
99804
+ },
99805
+ apis: [
99806
+ {
99807
+ base: "https://api.miro.com",
99808
+ auth: {
99809
+ headers: {
99810
+ Authorization: "Bearer ${{ secrets.MIRO_TOKEN }}"
99811
+ }
99812
+ },
99813
+ permissions: []
99814
+ }
99815
+ ]
99816
+ };
99817
+
99818
+ // ../../packages/core/src/firewalls/mixpanel.generated.ts
99819
+ init_esm_shims();
99820
+ var mixpanelFirewall = {
99821
+ name: "mixpanel",
99822
+ description: "Mixpanel product analytics API",
99823
+ placeholders: {
99824
+ MIXPANEL_SERVICE_ACCOUNT_USERNAME: "CoffeeSafeLocalCoffe",
99825
+ MIXPANEL_SERVICE_ACCOUNT_SECRET: "CoffeeSafeLocalCoffeeSafeLocalCo"
99826
+ },
99827
+ apis: [
99828
+ {
99829
+ base: "https://mixpanel.com",
99830
+ auth: {
99831
+ headers: {
99832
+ Authorization: "${{ basic(secrets.MIXPANEL_SERVICE_ACCOUNT_USERNAME, secrets.MIXPANEL_SERVICE_ACCOUNT_SECRET) }}"
99833
+ }
99834
+ },
99835
+ permissions: []
99836
+ },
99837
+ {
99838
+ base: "https://data.mixpanel.com",
99839
+ auth: {
99840
+ headers: {
99841
+ Authorization: "${{ basic(secrets.MIXPANEL_SERVICE_ACCOUNT_USERNAME, secrets.MIXPANEL_SERVICE_ACCOUNT_SECRET) }}"
99842
+ }
99843
+ },
99844
+ permissions: []
99845
+ },
99846
+ {
99847
+ base: "https://api.mixpanel.com",
99848
+ auth: {
99849
+ headers: {
99850
+ Authorization: "${{ basic(secrets.MIXPANEL_SERVICE_ACCOUNT_USERNAME, secrets.MIXPANEL_SERVICE_ACCOUNT_SECRET) }}"
99851
+ }
99852
+ },
99853
+ permissions: []
99854
+ }
99855
+ ]
99856
+ };
99857
+
99495
99858
  // ../../packages/core/src/firewalls/monday.generated.ts
99496
99859
  init_esm_shims();
99497
99860
  var mondayFirewall = {
@@ -99717,6 +100080,27 @@ var outlookMailFirewall = {
99717
100080
  ]
99718
100081
  };
99719
100082
 
100083
+ // ../../packages/core/src/firewalls/pandadoc.generated.ts
100084
+ init_esm_shims();
100085
+ var pandadocFirewall = {
100086
+ name: "pandadoc",
100087
+ description: "PandaDoc Public API",
100088
+ placeholders: {
100089
+ PANDADOC_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoff"
100090
+ },
100091
+ apis: [
100092
+ {
100093
+ base: "https://api.pandadoc.com",
100094
+ auth: {
100095
+ headers: {
100096
+ Authorization: "API-Key ${{ secrets.PANDADOC_TOKEN }}"
100097
+ }
100098
+ },
100099
+ permissions: []
100100
+ }
100101
+ ]
100102
+ };
100103
+
99720
100104
  // ../../packages/core/src/firewalls/pdf4me.generated.ts
99721
100105
  init_esm_shims();
99722
100106
  var pdf4meFirewall = {
@@ -103153,6 +103537,27 @@ var zeptomailFirewall = {
103153
103537
  ]
103154
103538
  };
103155
103539
 
103540
+ // ../../packages/core/src/firewalls/zoom.generated.ts
103541
+ init_esm_shims();
103542
+ var zoomFirewall = {
103543
+ name: "zoom",
103544
+ description: "Zoom API",
103545
+ placeholders: {
103546
+ ZOOM_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal"
103547
+ },
103548
+ apis: [
103549
+ {
103550
+ base: "https://api.zoom.us",
103551
+ auth: {
103552
+ headers: {
103553
+ Authorization: "Bearer ${{ secrets.ZOOM_TOKEN }}"
103554
+ }
103555
+ },
103556
+ permissions: []
103557
+ }
103558
+ ]
103559
+ };
103560
+
103156
103561
  // ../../packages/core/src/firewalls/index.ts
103157
103562
  var CONNECTOR_FIREWALLS = {
103158
103563
  agentmail: agentmailFirewall,
@@ -103172,6 +103577,7 @@ var CONNECTOR_FIREWALLS = {
103172
103577
  "bright-data": brightDataFirewall,
103173
103578
  browserbase: browserbaseFirewall,
103174
103579
  browserless: browserlessFirewall,
103580
+ buffer: bufferFirewall,
103175
103581
  "cal-com": calComFirewall,
103176
103582
  calendly: calendlyFirewall,
103177
103583
  canva: canvaFirewall,
@@ -103179,6 +103585,7 @@ var CONNECTOR_FIREWALLS = {
103179
103585
  clickup: clickupFirewall,
103180
103586
  close: closeFirewall,
103181
103587
  cloudflare: cloudflareFirewall,
103588
+ coda: codaFirewall,
103182
103589
  cronlytic: cronlyticFirewall,
103183
103590
  "customer-io": customerIoFirewall,
103184
103591
  deel: deelFirewall,
@@ -103193,6 +103600,7 @@ var CONNECTOR_FIREWALLS = {
103193
103600
  db9: db9Firewall,
103194
103601
  drive9: drive9Firewall,
103195
103602
  dropbox: dropboxFirewall,
103603
+ "dropbox-sign": dropboxSignFirewall,
103196
103604
  duffel: duffelFirewall,
103197
103605
  elevenlabs: elevenlabsFirewall,
103198
103606
  explorium: exploriumFirewall,
@@ -103211,6 +103619,7 @@ var CONNECTOR_FIREWALLS = {
103211
103619
  "google-meet": googleMeetFirewall,
103212
103620
  "google-sheets": googleSheetsFirewall,
103213
103621
  granola: granolaFirewall,
103622
+ greenhouse: greenhouseFirewall,
103214
103623
  heygen: heygenFirewall,
103215
103624
  htmlcsstoimage: htmlcsstoimageFirewall,
103216
103625
  hubspot: hubspotFirewall,
@@ -103238,6 +103647,8 @@ var CONNECTOR_FIREWALLS = {
103238
103647
  metabase: metabaseFirewall,
103239
103648
  "meta-ads": metaAdsFirewall,
103240
103649
  minimax: minimaxFirewall,
103650
+ miro: miroFirewall,
103651
+ mixpanel: mixpanelFirewall,
103241
103652
  monday: mondayFirewall,
103242
103653
  msg9: msg9Firewall,
103243
103654
  neon: neonFirewall,
@@ -103245,6 +103656,7 @@ var CONNECTOR_FIREWALLS = {
103245
103656
  openai: openaiFirewall,
103246
103657
  "outlook-calendar": outlookCalendarFirewall,
103247
103658
  "outlook-mail": outlookMailFirewall,
103659
+ pandadoc: pandadocFirewall,
103248
103660
  pdf4me: pdf4meFirewall,
103249
103661
  pdfco: pdfcoFirewall,
103250
103662
  pdforge: pdforgeFirewall,
@@ -103296,7 +103708,8 @@ var CONNECTOR_FIREWALLS = {
103296
103708
  zapier: zapierFirewall,
103297
103709
  zapsign: zapsignFirewall,
103298
103710
  zendesk: zendeskFirewall,
103299
- zeptomail: zeptomailFirewall
103711
+ zeptomail: zeptomailFirewall,
103712
+ zoom: zoomFirewall
103300
103713
  };
103301
103714
  function expandPlaceholders(firewall, connectorType) {
103302
103715
  if (!firewall.placeholders) return firewall;
@@ -110266,6 +110679,23 @@ var chatThreadByIdContract = c11.router({
110266
110679
  body: c11.noBody()
110267
110680
  }
110268
110681
  });
110682
+ var chatThreadMarkReadContract = c11.router({
110683
+ markRead: {
110684
+ method: "POST",
110685
+ path: "/api/zero/chat-threads/:id/mark-read",
110686
+ headers: authHeadersSchema,
110687
+ pathParams: external_exports.object({ id: external_exports.string() }),
110688
+ body: external_exports.object({
110689
+ cursor: external_exports.string().datetime().optional()
110690
+ }),
110691
+ responses: {
110692
+ 200: external_exports.object({ lastReadAt: external_exports.string() }),
110693
+ 401: apiErrorSchema,
110694
+ 404: apiErrorSchema
110695
+ },
110696
+ summary: "Mark a chat thread as read up to the given cursor"
110697
+ }
110698
+ });
110269
110699
  var chatMessagesContract = c11.router({
110270
110700
  send: {
110271
110701
  method: "POST",
@@ -113932,8 +114362,7 @@ var FEATURE_SWITCHES = {
113932
114362
  ["usageAnalytics" /* UsageAnalytics */]: {
113933
114363
  maintainer: "ethan@vm0.ai",
113934
114364
  description: "Show admin-only daily credits chart and per-run records on Usage page",
113935
- enabled: false,
113936
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
114365
+ enabled: false
113937
114366
  },
113938
114367
  ["modelDetail" /* ModelDetail */]: {
113939
114368
  maintainer: "ethan@vm0.ai",
@@ -113953,44 +114382,37 @@ var FEATURE_SWITCHES = {
113953
114382
  ["computerUse" /* ComputerUse */]: {
113954
114383
  maintainer: "ethan@vm0.ai",
113955
114384
  description: "Enable remote desktop host registration",
113956
- enabled: false,
113957
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
114385
+ enabled: false
113958
114386
  },
113959
114387
  ["lab" /* Lab */]: {
113960
114388
  maintainer: "ethan@vm0.ai",
113961
114389
  description: "Show the Lab page for toggling experimental features",
113962
- enabled: false,
113963
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
114390
+ enabled: false
113964
114391
  },
113965
114392
  ["auditLink" /* AuditLink */]: {
113966
114393
  maintainer: "ethan@vm0.ai",
113967
114394
  description: "Show audit log links in Slack messages",
113968
- enabled: false,
113969
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
114395
+ enabled: false
113970
114396
  },
113971
114397
  ["phoneIntegration" /* PhoneIntegration */]: {
113972
114398
  maintainer: "ethan@vm0.ai",
113973
114399
  description: "Show the Phone page for voice call integration",
113974
- enabled: false,
113975
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
114400
+ enabled: false
113976
114401
  },
113977
114402
  ["voiceChat" /* VoiceChat */]: {
113978
114403
  maintainer: "lancy@vm0.ai",
113979
114404
  description: "Enable the Voice Chat feature and API endpoints",
113980
- enabled: false,
113981
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
114405
+ enabled: false
113982
114406
  },
113983
114407
  ["audioIO" /* AudioIO */]: {
113984
114408
  maintainer: "lancy@vm0.ai",
113985
114409
  description: "Enable audio input/output features in chat (TTS read-aloud, auto-read, voice input)",
113986
- enabled: false,
113987
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
114410
+ enabled: false
113988
114411
  },
113989
114412
  ["missionControlSidebar" /* MissionControlSidebar */]: {
113990
114413
  maintainer: "ethan@vm0.ai",
113991
114414
  description: "Show the Mission Control page entry in the sidebar",
113992
- enabled: false,
113993
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
114415
+ enabled: false
113994
114416
  },
113995
114417
  ["autoSkill" /* AutoSkill */]: {
113996
114418
  maintainer: "lancy@vm0.ai",
@@ -114006,8 +114428,7 @@ var FEATURE_SWITCHES = {
114006
114428
  ["scheduleRunHistory" /* ScheduleRunHistory */]: {
114007
114429
  maintainer: "linghan@vm0.ai",
114008
114430
  description: "Show Run History tab on schedules page and Chat-from-schedule button on activity detail",
114009
- enabled: false,
114010
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
114431
+ enabled: false
114011
114432
  },
114012
114433
  ["testOauthConnector" /* TestOauthConnector */]: {
114013
114434
  maintainer: "liangyou@vm0.ai",
@@ -114017,20 +114438,27 @@ var FEATURE_SWITCHES = {
114017
114438
  ["chatHeaderNewButton" /* ChatHeaderNewButton */]: {
114018
114439
  maintainer: "ethan@vm0.ai",
114019
114440
  description: "Replace the Invite people button in the agent chat page header with a New button that creates a new chat thread",
114020
- enabled: false,
114021
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
114441
+ enabled: false
114442
+ },
114443
+ ["chatThreadReadIndicator" /* ChatThreadReadIndicator */]: {
114444
+ maintainer: "ethan@vm0.ai",
114445
+ description: "Show the unread watermark dot and bold title for chat threads with unread messages in the sidebar",
114446
+ enabled: false
114022
114447
  },
114023
114448
  ["inlineThinkingDot" /* InlineThinkingDot */]: {
114024
114449
  maintainer: "ethan@vm0.ai",
114025
114450
  description: "Show an inline streaming cursor on the last assistant message while the agent run is still active, so users see the agent is still working even after it has produced output",
114026
- enabled: false,
114027
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
114451
+ enabled: false
114452
+ },
114453
+ ["zoomConnector" /* ZoomConnector */]: {
114454
+ maintainer: "ethan@vm0.ai",
114455
+ description: "Enable the Zoom connector (OAuth 2.0) for meetings, past participants, and cloud recordings access",
114456
+ enabled: false
114028
114457
  },
114029
114458
  ["slackAgentSwitch" /* SlackAgentSwitch */]: {
114030
114459
  maintainer: "yuma@vm0.ai",
114031
114460
  description: "Per-user agent override in the org-aware Slack app. When enabled for an org, members can choose which agent replies to their Slack mentions / DMs via `/zero switch` (opens an agent picker modal) or the Switch button on the App Home tab. The help text for `/zero help` also lists the switch subcommand. Selecting an alternate agent persists a row in `slack_user_agent_preferences` so the preference follows the user across every Slack workspace joined under the same org, and subsequent mention / DM replies from a non-default agent carry a `Sent via <agent>` footer so it's clear which agent produced the reply. When gated off, the modal, slash subcommand, App Home button, and help line are hidden AND any existing DB preferences are ignored at read time \u2014 every user falls back to the org default agent with no footer. Staff-only during the rollout window defined by `enabledOrgIdHashes`.",
114032
- enabled: false,
114033
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
114461
+ enabled: false
114034
114462
  }
114035
114463
  };
114036
114464
  function isFeatureEnabled(key, ctx) {
@@ -116501,4 +116929,4 @@ undici/lib/web/fetch/body.js:
116501
116929
  undici/lib/web/websocket/frame.js:
116502
116930
  (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
116503
116931
  */
116504
- //# sourceMappingURL=chunk-N2UX3IS3.js.map
116932
+ //# sourceMappingURL=chunk-66W3R25L.js.map