@vm0/cli 9.86.5 → 9.86.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.
@@ -47,7 +47,7 @@ if (DSN) {
47
47
  Sentry.init({
48
48
  dsn: DSN,
49
49
  environment: process.env.SENTRY_ENVIRONMENT ?? "production",
50
- release: "9.86.5",
50
+ release: "9.86.7",
51
51
  sendDefaultPii: false,
52
52
  tracesSampleRate: 0,
53
53
  shutdownTimeout: 500,
@@ -66,7 +66,7 @@ if (DSN) {
66
66
  }
67
67
  });
68
68
  Sentry.setContext("cli", {
69
- version: "9.86.5",
69
+ version: "9.86.7",
70
70
  command: process.argv.slice(2).join(" ")
71
71
  });
72
72
  Sentry.setContext("runtime", {
@@ -422,9 +422,6 @@ function resolveFirewallRef(input) {
422
422
  return trimmed;
423
423
  }
424
424
 
425
- // ../../packages/core/src/firewall-loader.ts
426
- import { parse as parseYaml } from "yaml";
427
-
428
425
  // ../../packages/core/src/contracts/firewalls.ts
429
426
  import { z } from "zod";
430
427
  var firewallPermissionSchema = z.object({
@@ -456,6 +453,35 @@ var firewallPoliciesSchema = z.record(
456
453
  z.string(),
457
454
  z.record(z.string(), firewallPolicyValueSchema)
458
455
  );
456
+ var BASE_URL_VARS_PATTERN = /\$\{\{\s*vars\.([a-zA-Z_][a-zA-Z0-9_]*)\s*\}\}/;
457
+ var BASE_URL_VARS_PATTERN_G = new RegExp(BASE_URL_VARS_PATTERN.source, "g");
458
+ function hasBaseUrlVars(base) {
459
+ return BASE_URL_VARS_PATTERN.test(base);
460
+ }
461
+ function validateBaseUrl(base, serviceName) {
462
+ if (hasBaseUrlVars(base)) return;
463
+ let url;
464
+ try {
465
+ url = new URL(base);
466
+ } catch {
467
+ throw new Error(
468
+ `Invalid base URL "${base}" in firewall "${serviceName}": not a valid URL`
469
+ );
470
+ }
471
+ if (url.search) {
472
+ throw new Error(
473
+ `Invalid base URL "${base}" in firewall "${serviceName}": must not contain query string`
474
+ );
475
+ }
476
+ if (url.hash) {
477
+ throw new Error(
478
+ `Invalid base URL "${base}" in firewall "${serviceName}": must not contain fragment`
479
+ );
480
+ }
481
+ }
482
+
483
+ // ../../packages/core/src/firewall-loader.ts
484
+ import { parse as parseYaml } from "yaml";
459
485
 
460
486
  // ../../packages/core/src/contracts/connectors.ts
461
487
  import { z as z2 } from "zod";
@@ -2189,14 +2215,10 @@ var CONNECTOR_TYPES_DEF = {
2189
2215
  },
2190
2216
  "intervals-icu": {
2191
2217
  label: "Intervals.icu",
2192
- environmentMapping: {
2193
- INTERVALS_ICU_TOKEN: "$secrets.INTERVALS_ICU_ACCESS_TOKEN"
2194
- },
2195
- featureFlag: "intervalsIcuConnector" /* IntervalsIcuConnector */,
2196
2218
  helpText: "Connect your Intervals.icu account to access training, activity, wellness, and calendar data",
2197
2219
  authMethods: {
2198
2220
  oauth: {
2199
- label: "OAuth (Recommended)",
2221
+ label: "OAuth",
2200
2222
  helpText: "Sign in with Intervals.icu to grant access.",
2201
2223
  secrets: {
2202
2224
  INTERVALS_ICU_ACCESS_TOKEN: {
@@ -2204,15 +2226,6 @@ var CONNECTOR_TYPES_DEF = {
2204
2226
  required: true
2205
2227
  }
2206
2228
  }
2207
- },
2208
- "api-token": {
2209
- label: "API Key",
2210
- secrets: {
2211
- INTERVALS_ICU_TOKEN: {
2212
- label: "API Key",
2213
- required: true
2214
- }
2215
- }
2216
2229
  }
2217
2230
  },
2218
2231
  defaultAuthMethod: "oauth",
@@ -5519,6 +5532,89 @@ var discordFirewall = {
5519
5532
  ]
5520
5533
  };
5521
5534
 
5535
+ // ../../packages/core/src/firewalls/docusign.generated.ts
5536
+ var docusignFirewall = {
5537
+ name: "docusign",
5538
+ description: "DocuSign eSignature REST API",
5539
+ placeholders: {
5540
+ DOCUSIGN_TOKEN: "eyJ0eXAiOiJNVCIsImFsZyI6IlJTMjU2In0.Vm0PlaceHolder000000000000000000.signature"
5541
+ },
5542
+ apis: [
5543
+ {
5544
+ base: "https://www.docusign.net",
5545
+ auth: {
5546
+ headers: {
5547
+ Authorization: "Bearer ${{ secrets.DOCUSIGN_TOKEN }}"
5548
+ }
5549
+ },
5550
+ permissions: []
5551
+ },
5552
+ {
5553
+ base: "https://na2.docusign.net",
5554
+ auth: {
5555
+ headers: {
5556
+ Authorization: "Bearer ${{ secrets.DOCUSIGN_TOKEN }}"
5557
+ }
5558
+ },
5559
+ permissions: []
5560
+ },
5561
+ {
5562
+ base: "https://na3.docusign.net",
5563
+ auth: {
5564
+ headers: {
5565
+ Authorization: "Bearer ${{ secrets.DOCUSIGN_TOKEN }}"
5566
+ }
5567
+ },
5568
+ permissions: []
5569
+ },
5570
+ {
5571
+ base: "https://na4.docusign.net",
5572
+ auth: {
5573
+ headers: {
5574
+ Authorization: "Bearer ${{ secrets.DOCUSIGN_TOKEN }}"
5575
+ }
5576
+ },
5577
+ permissions: []
5578
+ },
5579
+ {
5580
+ base: "https://eu.docusign.net",
5581
+ auth: {
5582
+ headers: {
5583
+ Authorization: "Bearer ${{ secrets.DOCUSIGN_TOKEN }}"
5584
+ }
5585
+ },
5586
+ permissions: []
5587
+ },
5588
+ {
5589
+ base: "https://au.docusign.net",
5590
+ auth: {
5591
+ headers: {
5592
+ Authorization: "Bearer ${{ secrets.DOCUSIGN_TOKEN }}"
5593
+ }
5594
+ },
5595
+ permissions: []
5596
+ },
5597
+ {
5598
+ base: "https://ca.docusign.net",
5599
+ auth: {
5600
+ headers: {
5601
+ Authorization: "Bearer ${{ secrets.DOCUSIGN_TOKEN }}"
5602
+ }
5603
+ },
5604
+ permissions: []
5605
+ },
5606
+ {
5607
+ base: "https://demo.docusign.net",
5608
+ auth: {
5609
+ headers: {
5610
+ Authorization: "Bearer ${{ secrets.DOCUSIGN_TOKEN }}"
5611
+ }
5612
+ },
5613
+ permissions: []
5614
+ }
5615
+ ]
5616
+ };
5617
+
5522
5618
  // ../../packages/core/src/firewalls/dropbox.generated.ts
5523
5619
  var dropboxFirewall = {
5524
5620
  name: "dropbox",
@@ -9544,6 +9640,26 @@ var jotformFirewall = {
9544
9640
  ]
9545
9641
  };
9546
9642
 
9643
+ // ../../packages/core/src/firewalls/kommo.generated.ts
9644
+ var kommoFirewall = {
9645
+ name: "kommo",
9646
+ description: "Kommo CRM API",
9647
+ placeholders: {
9648
+ KOMMO_API_KEY: "kmApiKey_Vm0PlaceHolder0000000000000000000000"
9649
+ },
9650
+ apis: [
9651
+ {
9652
+ base: "https://${{ vars.KOMMO_SUBDOMAIN }}.kommo.com",
9653
+ auth: {
9654
+ headers: {
9655
+ Authorization: "Bearer ${{ secrets.KOMMO_API_KEY }}"
9656
+ }
9657
+ },
9658
+ permissions: []
9659
+ }
9660
+ ]
9661
+ };
9662
+
9547
9663
  // ../../packages/core/src/firewalls/lark.generated.ts
9548
9664
  var larkFirewall = {
9549
9665
  name: "lark",
@@ -9633,6 +9749,71 @@ var loopsFirewall = {
9633
9749
  ]
9634
9750
  };
9635
9751
 
9752
+ // ../../packages/core/src/firewalls/make.generated.ts
9753
+ var makeFirewall = {
9754
+ name: "make",
9755
+ description: "Make (formerly Integromat) Automation API",
9756
+ placeholders: {
9757
+ MAKE_TOKEN: "mkTkn-Vm0PlaceHolder-0000-0000-000000000000"
9758
+ },
9759
+ apis: [
9760
+ {
9761
+ base: "https://eu1.make.com",
9762
+ auth: {
9763
+ headers: {
9764
+ Authorization: "Token ${{ secrets.MAKE_TOKEN }}"
9765
+ }
9766
+ },
9767
+ permissions: []
9768
+ },
9769
+ {
9770
+ base: "https://eu2.make.com",
9771
+ auth: {
9772
+ headers: {
9773
+ Authorization: "Token ${{ secrets.MAKE_TOKEN }}"
9774
+ }
9775
+ },
9776
+ permissions: []
9777
+ },
9778
+ {
9779
+ base: "https://us1.make.com",
9780
+ auth: {
9781
+ headers: {
9782
+ Authorization: "Token ${{ secrets.MAKE_TOKEN }}"
9783
+ }
9784
+ },
9785
+ permissions: []
9786
+ },
9787
+ {
9788
+ base: "https://us2.make.com",
9789
+ auth: {
9790
+ headers: {
9791
+ Authorization: "Token ${{ secrets.MAKE_TOKEN }}"
9792
+ }
9793
+ },
9794
+ permissions: []
9795
+ },
9796
+ {
9797
+ base: "https://eu1.make.celonis.com",
9798
+ auth: {
9799
+ headers: {
9800
+ Authorization: "Token ${{ secrets.MAKE_TOKEN }}"
9801
+ }
9802
+ },
9803
+ permissions: []
9804
+ },
9805
+ {
9806
+ base: "https://us1.make.celonis.com",
9807
+ auth: {
9808
+ headers: {
9809
+ Authorization: "Token ${{ secrets.MAKE_TOKEN }}"
9810
+ }
9811
+ },
9812
+ permissions: []
9813
+ }
9814
+ ]
9815
+ };
9816
+
9636
9817
  // ../../packages/core/src/firewalls/mailsac.generated.ts
9637
9818
  var mailsacFirewall = {
9638
9819
  name: "mailsac",
@@ -12632,6 +12813,44 @@ var wixFirewall = {
12632
12813
  ]
12633
12814
  };
12634
12815
 
12816
+ // ../../packages/core/src/firewalls/wrike.generated.ts
12817
+ var wrikeFirewall = {
12818
+ name: "wrike",
12819
+ description: "Wrike Project Management API",
12820
+ placeholders: {
12821
+ WRIKE_TOKEN: "wrkTkn_Vm0PlaceHolder000000000000000000000000000000"
12822
+ },
12823
+ apis: [
12824
+ {
12825
+ base: "https://www.wrike.com",
12826
+ auth: {
12827
+ headers: {
12828
+ Authorization: "bearer ${{ secrets.WRIKE_TOKEN }}"
12829
+ }
12830
+ },
12831
+ permissions: []
12832
+ },
12833
+ {
12834
+ base: "https://app-us2.wrike.com",
12835
+ auth: {
12836
+ headers: {
12837
+ Authorization: "bearer ${{ secrets.WRIKE_TOKEN }}"
12838
+ }
12839
+ },
12840
+ permissions: []
12841
+ },
12842
+ {
12843
+ base: "https://app-eu.wrike.com",
12844
+ auth: {
12845
+ headers: {
12846
+ Authorization: "bearer ${{ secrets.WRIKE_TOKEN }}"
12847
+ }
12848
+ },
12849
+ permissions: []
12850
+ }
12851
+ ]
12852
+ };
12853
+
12635
12854
  // ../../packages/core/src/firewalls/x.generated.ts
12636
12855
  var xFirewall = {
12637
12856
  name: "x",
@@ -13169,6 +13388,26 @@ var zapsignFirewall = {
13169
13388
  ]
13170
13389
  };
13171
13390
 
13391
+ // ../../packages/core/src/firewalls/zendesk.generated.ts
13392
+ var zendeskFirewall = {
13393
+ name: "zendesk",
13394
+ description: "Zendesk Support API",
13395
+ placeholders: {
13396
+ ZENDESK_API_TOKEN: "zkTkn_Vm0PlaceHolder000000000000000000000000"
13397
+ },
13398
+ apis: [
13399
+ {
13400
+ base: "https://${{ vars.ZENDESK_SUBDOMAIN }}.zendesk.com",
13401
+ auth: {
13402
+ headers: {
13403
+ Authorization: "Bearer ${{ secrets.ZENDESK_API_TOKEN }}"
13404
+ }
13405
+ },
13406
+ permissions: []
13407
+ }
13408
+ ]
13409
+ };
13410
+
13172
13411
  // ../../packages/core/src/firewalls/zeptomail.generated.ts
13173
13412
  var zeptomailFirewall = {
13174
13413
  name: "zeptomail",
@@ -13215,6 +13454,7 @@ var CONNECTOR_FIREWALLS = {
13215
13454
  deepseek: deepseekFirewall,
13216
13455
  devto: devtoFirewall,
13217
13456
  discord: discordFirewall,
13457
+ docusign: docusignFirewall,
13218
13458
  dropbox: dropboxFirewall,
13219
13459
  elevenlabs: elevenlabsFirewall,
13220
13460
  explorium: exploriumFirewall,
@@ -13242,10 +13482,12 @@ var CONNECTOR_FIREWALLS = {
13242
13482
  intercom: intercomFirewall,
13243
13483
  "intervals-icu": intervalsIcuFirewall,
13244
13484
  jotform: jotformFirewall,
13485
+ kommo: kommoFirewall,
13245
13486
  lark: larkFirewall,
13246
13487
  line: lineFirewall,
13247
13488
  linear: linearFirewall,
13248
13489
  loops: loopsFirewall,
13490
+ make: makeFirewall,
13249
13491
  mailsac: mailsacFirewall,
13250
13492
  mercury: mercuryFirewall,
13251
13493
  "meta-ads": metaAdsFirewall,
@@ -13290,11 +13532,13 @@ var CONNECTOR_FIREWALLS = {
13290
13532
  vercel: vercelFirewall,
13291
13533
  webflow: webflowFirewall,
13292
13534
  wix: wixFirewall,
13535
+ wrike: wrikeFirewall,
13293
13536
  x: xFirewall,
13294
13537
  xero: xeroFirewall,
13295
13538
  youtube: youtubeFirewall,
13296
13539
  zapier: zapierFirewall,
13297
13540
  zapsign: zapsignFirewall,
13541
+ zendesk: zendeskFirewall,
13298
13542
  zeptomail: zeptomailFirewall
13299
13543
  };
13300
13544
  function expandPlaceholders(firewall, connectorType) {
@@ -13450,26 +13694,6 @@ function validateRule(rule, permName, serviceName) {
13450
13694
  }
13451
13695
  }
13452
13696
  }
13453
- function validateBaseUrl(base, serviceName) {
13454
- let url;
13455
- try {
13456
- url = new URL(base);
13457
- } catch {
13458
- throw new Error(
13459
- `Invalid base URL "${base}" in firewall "${serviceName}": not a valid URL`
13460
- );
13461
- }
13462
- if (url.search) {
13463
- throw new Error(
13464
- `Invalid base URL "${base}" in firewall "${serviceName}": must not contain query string`
13465
- );
13466
- }
13467
- if (url.hash) {
13468
- throw new Error(
13469
- `Invalid base URL "${base}" in firewall "${serviceName}": must not contain fragment`
13470
- );
13471
- }
13472
- }
13473
13697
  function collectAndValidatePermissions(ref, serviceConfig) {
13474
13698
  if (serviceConfig.apis.length === 0) {
13475
13699
  throw new Error(
@@ -14051,15 +14275,32 @@ var orgMemberSchema = z7.object({
14051
14275
  joinedAt: z7.string()
14052
14276
  });
14053
14277
  var orgPendingInvitationSchema = z7.object({
14278
+ id: z7.string(),
14054
14279
  email: z7.string(),
14055
14280
  role: orgRoleSchema,
14056
14281
  createdAt: z7.string()
14057
14282
  });
14283
+ var orgMembershipRequestSchema = z7.object({
14284
+ id: z7.string(),
14285
+ userId: z7.string(),
14286
+ email: z7.string(),
14287
+ firstName: z7.string().nullable(),
14288
+ lastName: z7.string().nullable(),
14289
+ imageUrl: z7.string(),
14290
+ createdAt: z7.string()
14291
+ });
14292
+ var revokeInvitationRequestSchema = z7.object({
14293
+ invitationId: z7.string()
14294
+ });
14295
+ var membershipRequestActionSchema = z7.object({
14296
+ requestId: z7.string()
14297
+ });
14058
14298
  var orgMembersResponseSchema = z7.object({
14059
14299
  slug: z7.string(),
14060
14300
  role: orgRoleSchema,
14061
14301
  members: z7.array(orgMemberSchema),
14062
14302
  pendingInvitations: z7.array(orgPendingInvitationSchema).optional(),
14303
+ membershipRequests: z7.array(orgMembershipRequestSchema).optional(),
14063
14304
  createdAt: z7.string()
14064
14305
  });
14065
14306
  var inviteOrgMemberRequestSchema = z7.object({
@@ -14072,6 +14313,35 @@ var updateOrgMemberRoleRequestSchema = z7.object({
14072
14313
  email: z7.string().email(),
14073
14314
  role: orgRoleSchema
14074
14315
  });
14316
+ var orgDomainSchema = z7.object({
14317
+ id: z7.string(),
14318
+ name: z7.string(),
14319
+ enrollmentMode: z7.string(),
14320
+ verification: z7.object({
14321
+ status: z7.string(),
14322
+ strategy: z7.string()
14323
+ }),
14324
+ createdAt: z7.string()
14325
+ });
14326
+ var orgDomainsResponseSchema = z7.object({
14327
+ domains: z7.array(orgDomainSchema)
14328
+ });
14329
+ var orgEnrollmentModeSchema = z7.enum([
14330
+ "manual_invitation",
14331
+ "automatic_invitation",
14332
+ "automatic_suggestion"
14333
+ ]);
14334
+ var addDomainRequestSchema = z7.object({
14335
+ name: z7.string(),
14336
+ enrollmentMode: orgEnrollmentModeSchema
14337
+ });
14338
+ var domainActionRequestSchema = z7.object({
14339
+ domainId: z7.string()
14340
+ });
14341
+ var domainVerifyRequestSchema = z7.object({
14342
+ domainId: z7.string(),
14343
+ verified: z7.boolean()
14344
+ });
14075
14345
  var orgMessageResponseSchema = z7.object({
14076
14346
  message: z7.string()
14077
14347
  });
@@ -16849,13 +17119,113 @@ var zeroOrgInviteContract = c21.router({
16849
17119
  500: apiErrorSchema
16850
17120
  },
16851
17121
  summary: "Invite a member to the org (zero proxy)"
17122
+ },
17123
+ revoke: {
17124
+ method: "DELETE",
17125
+ path: "/api/zero/org/invite",
17126
+ headers: authHeadersSchema,
17127
+ body: revokeInvitationRequestSchema,
17128
+ responses: {
17129
+ 200: orgMessageResponseSchema,
17130
+ 400: apiErrorSchema,
17131
+ 401: apiErrorSchema,
17132
+ 403: apiErrorSchema,
17133
+ 500: apiErrorSchema
17134
+ },
17135
+ summary: "Revoke a pending invitation (zero proxy)"
17136
+ }
17137
+ });
17138
+ var zeroOrgMembershipRequestsContract = c21.router({
17139
+ accept: {
17140
+ method: "POST",
17141
+ path: "/api/zero/org/membership-requests",
17142
+ headers: authHeadersSchema,
17143
+ body: membershipRequestActionSchema,
17144
+ responses: {
17145
+ 200: orgMessageResponseSchema,
17146
+ 400: apiErrorSchema,
17147
+ 401: apiErrorSchema,
17148
+ 403: apiErrorSchema,
17149
+ 500: apiErrorSchema
17150
+ },
17151
+ summary: "Accept a membership request (zero proxy)"
17152
+ },
17153
+ reject: {
17154
+ method: "DELETE",
17155
+ path: "/api/zero/org/membership-requests",
17156
+ headers: authHeadersSchema,
17157
+ body: membershipRequestActionSchema,
17158
+ responses: {
17159
+ 200: orgMessageResponseSchema,
17160
+ 400: apiErrorSchema,
17161
+ 401: apiErrorSchema,
17162
+ 403: apiErrorSchema,
17163
+ 500: apiErrorSchema
17164
+ },
17165
+ summary: "Reject a membership request (zero proxy)"
17166
+ }
17167
+ });
17168
+
17169
+ // ../../packages/core/src/contracts/zero-org-domains.ts
17170
+ var c22 = initContract();
17171
+ var zeroOrgDomainsContract = c22.router({
17172
+ list: {
17173
+ method: "GET",
17174
+ path: "/api/zero/org/domains",
17175
+ headers: authHeadersSchema,
17176
+ responses: {
17177
+ 200: orgDomainsResponseSchema,
17178
+ 401: apiErrorSchema,
17179
+ 403: apiErrorSchema,
17180
+ 500: apiErrorSchema
17181
+ },
17182
+ summary: "List org domains (zero proxy)"
17183
+ },
17184
+ add: {
17185
+ method: "POST",
17186
+ path: "/api/zero/org/domains",
17187
+ headers: authHeadersSchema,
17188
+ body: addDomainRequestSchema,
17189
+ responses: {
17190
+ 200: orgMessageResponseSchema,
17191
+ 401: apiErrorSchema,
17192
+ 403: apiErrorSchema,
17193
+ 500: apiErrorSchema
17194
+ },
17195
+ summary: "Add a domain to the org (zero proxy)"
17196
+ },
17197
+ remove: {
17198
+ method: "DELETE",
17199
+ path: "/api/zero/org/domains",
17200
+ headers: authHeadersSchema,
17201
+ body: domainActionRequestSchema,
17202
+ responses: {
17203
+ 200: orgMessageResponseSchema,
17204
+ 401: apiErrorSchema,
17205
+ 403: apiErrorSchema,
17206
+ 500: apiErrorSchema
17207
+ },
17208
+ summary: "Remove a domain from the org (zero proxy)"
17209
+ },
17210
+ setVerified: {
17211
+ method: "PATCH",
17212
+ path: "/api/zero/org/domains",
17213
+ headers: authHeadersSchema,
17214
+ body: domainVerifyRequestSchema,
17215
+ responses: {
17216
+ 200: orgMessageResponseSchema,
17217
+ 401: apiErrorSchema,
17218
+ 403: apiErrorSchema,
17219
+ 500: apiErrorSchema
17220
+ },
17221
+ summary: "Verify or unverify a domain (zero proxy)"
16852
17222
  }
16853
17223
  });
16854
17224
 
16855
17225
  // ../../packages/core/src/contracts/zero-composes.ts
16856
17226
  import { z as z29 } from "zod";
16857
- var c22 = initContract();
16858
- var zeroComposesMainContract = c22.router({
17227
+ var c23 = initContract();
17228
+ var zeroComposesMainContract = c23.router({
16859
17229
  getByName: {
16860
17230
  method: "GET",
16861
17231
  path: "/api/zero/composes",
@@ -16873,7 +17243,7 @@ var zeroComposesMainContract = c22.router({
16873
17243
  summary: "Get agent compose by name (zero proxy)"
16874
17244
  }
16875
17245
  });
16876
- var zeroComposesByIdContract = c22.router({
17246
+ var zeroComposesByIdContract = c23.router({
16877
17247
  getById: {
16878
17248
  method: "GET",
16879
17249
  path: "/api/zero/composes/:id",
@@ -16896,9 +17266,9 @@ var zeroComposesByIdContract = c22.router({
16896
17266
  pathParams: z29.object({
16897
17267
  id: z29.string().uuid("Compose ID is required")
16898
17268
  }),
16899
- body: c22.noBody(),
17269
+ body: c23.noBody(),
16900
17270
  responses: {
16901
- 204: c22.noBody(),
17271
+ 204: c23.noBody(),
16902
17272
  401: apiErrorSchema,
16903
17273
  403: apiErrorSchema,
16904
17274
  404: apiErrorSchema,
@@ -16907,7 +17277,7 @@ var zeroComposesByIdContract = c22.router({
16907
17277
  summary: "Delete agent compose (zero proxy)"
16908
17278
  }
16909
17279
  });
16910
- var zeroComposesListContract = c22.router({
17280
+ var zeroComposesListContract = c23.router({
16911
17281
  list: {
16912
17282
  method: "GET",
16913
17283
  path: "/api/zero/composes/list",
@@ -16942,8 +17312,8 @@ var zeroRunRequestSchema = unifiedRunRequestSchema.omit({
16942
17312
  }).extend({
16943
17313
  agentId: z30.string().optional()
16944
17314
  });
16945
- var c23 = initContract();
16946
- var zeroRunsMainContract = c23.router({
17315
+ var c24 = initContract();
17316
+ var zeroRunsMainContract = c24.router({
16947
17317
  create: {
16948
17318
  method: "POST",
16949
17319
  path: "/api/zero/runs",
@@ -16959,7 +17329,7 @@ var zeroRunsMainContract = c23.router({
16959
17329
  summary: "Create and execute agent run (zero proxy)"
16960
17330
  }
16961
17331
  });
16962
- var zeroRunsByIdContract = c23.router({
17332
+ var zeroRunsByIdContract = c24.router({
16963
17333
  getById: {
16964
17334
  method: "GET",
16965
17335
  path: "/api/zero/runs/:id",
@@ -16976,7 +17346,7 @@ var zeroRunsByIdContract = c23.router({
16976
17346
  summary: "Get agent run by ID (zero proxy)"
16977
17347
  }
16978
17348
  });
16979
- var zeroRunsCancelContract = c23.router({
17349
+ var zeroRunsCancelContract = c24.router({
16980
17350
  cancel: {
16981
17351
  method: "POST",
16982
17352
  path: "/api/zero/runs/:id/cancel",
@@ -16995,7 +17365,7 @@ var zeroRunsCancelContract = c23.router({
16995
17365
  summary: "Cancel a pending or running run (zero proxy)"
16996
17366
  }
16997
17367
  });
16998
- var zeroRunsQueueContract = c23.router({
17368
+ var zeroRunsQueueContract = c24.router({
16999
17369
  getQueue: {
17000
17370
  method: "GET",
17001
17371
  path: "/api/zero/runs/queue",
@@ -17008,7 +17378,7 @@ var zeroRunsQueueContract = c23.router({
17008
17378
  summary: "Get org run queue status (zero proxy)"
17009
17379
  }
17010
17380
  });
17011
- var zeroRunAgentEventsContract = c23.router({
17381
+ var zeroRunAgentEventsContract = c24.router({
17012
17382
  getAgentEvents: {
17013
17383
  method: "GET",
17014
17384
  path: "/api/zero/runs/:id/telemetry/agent",
@@ -17032,7 +17402,7 @@ var zeroRunAgentEventsContract = c23.router({
17032
17402
 
17033
17403
  // ../../packages/core/src/contracts/zero-schedules.ts
17034
17404
  import { z as z31 } from "zod";
17035
- var c24 = initContract();
17405
+ var c25 = initContract();
17036
17406
  var scheduleResponseSchema = z31.object({
17037
17407
  id: z31.string().uuid(),
17038
17408
  agentId: z31.string().uuid(),
@@ -17101,7 +17471,7 @@ var zeroDeployScheduleRequestSchema = z31.object({
17101
17471
  message: "Exactly one of 'cronExpression', 'atTime', or 'intervalSeconds' must be specified"
17102
17472
  }
17103
17473
  );
17104
- var zeroSchedulesMainContract = c24.router({
17474
+ var zeroSchedulesMainContract = c25.router({
17105
17475
  deploy: {
17106
17476
  method: "POST",
17107
17477
  path: "/api/zero/schedules",
@@ -17129,7 +17499,7 @@ var zeroSchedulesMainContract = c24.router({
17129
17499
  summary: "List all schedules (zero proxy)"
17130
17500
  }
17131
17501
  });
17132
- var zeroSchedulesByNameContract = c24.router({
17502
+ var zeroSchedulesByNameContract = c25.router({
17133
17503
  delete: {
17134
17504
  method: "DELETE",
17135
17505
  path: "/api/zero/schedules/:name",
@@ -17141,7 +17511,7 @@ var zeroSchedulesByNameContract = c24.router({
17141
17511
  agentId: z31.string().uuid("Invalid agent ID")
17142
17512
  }),
17143
17513
  responses: {
17144
- 204: c24.noBody(),
17514
+ 204: c25.noBody(),
17145
17515
  401: apiErrorSchema,
17146
17516
  403: apiErrorSchema,
17147
17517
  404: apiErrorSchema
@@ -17149,7 +17519,7 @@ var zeroSchedulesByNameContract = c24.router({
17149
17519
  summary: "Delete schedule (zero proxy)"
17150
17520
  }
17151
17521
  });
17152
- var zeroSchedulesEnableContract = c24.router({
17522
+ var zeroSchedulesEnableContract = c25.router({
17153
17523
  enable: {
17154
17524
  method: "POST",
17155
17525
  path: "/api/zero/schedules/:name/enable",
@@ -17189,7 +17559,7 @@ var zeroSchedulesEnableContract = c24.router({
17189
17559
  summary: "Disable schedule (zero proxy)"
17190
17560
  }
17191
17561
  });
17192
- var zeroScheduleRunContract = c24.router({
17562
+ var zeroScheduleRunContract = c25.router({
17193
17563
  run: {
17194
17564
  method: "POST",
17195
17565
  path: "/api/zero/schedules/run",
@@ -17210,8 +17580,8 @@ var zeroScheduleRunContract = c24.router({
17210
17580
 
17211
17581
  // ../../packages/core/src/contracts/zero-model-providers.ts
17212
17582
  import { z as z32 } from "zod";
17213
- var c25 = initContract();
17214
- var zeroModelProvidersMainContract = c25.router({
17583
+ var c26 = initContract();
17584
+ var zeroModelProvidersMainContract = c26.router({
17215
17585
  list: {
17216
17586
  method: "GET",
17217
17587
  path: "/api/zero/model-providers",
@@ -17239,7 +17609,7 @@ var zeroModelProvidersMainContract = c25.router({
17239
17609
  summary: "Create or update an org-level model provider (admin only)"
17240
17610
  }
17241
17611
  });
17242
- var zeroModelProvidersByTypeContract = c25.router({
17612
+ var zeroModelProvidersByTypeContract = c26.router({
17243
17613
  delete: {
17244
17614
  method: "DELETE",
17245
17615
  path: "/api/zero/model-providers/:type",
@@ -17248,7 +17618,7 @@ var zeroModelProvidersByTypeContract = c25.router({
17248
17618
  type: modelProviderTypeSchema
17249
17619
  }),
17250
17620
  responses: {
17251
- 204: c25.noBody(),
17621
+ 204: c26.noBody(),
17252
17622
  401: apiErrorSchema,
17253
17623
  403: apiErrorSchema,
17254
17624
  404: apiErrorSchema,
@@ -17257,7 +17627,7 @@ var zeroModelProvidersByTypeContract = c25.router({
17257
17627
  summary: "Delete an org-level model provider (admin only)"
17258
17628
  }
17259
17629
  });
17260
- var zeroModelProvidersDefaultContract = c25.router({
17630
+ var zeroModelProvidersDefaultContract = c26.router({
17261
17631
  setDefault: {
17262
17632
  method: "POST",
17263
17633
  path: "/api/zero/model-providers/:type/default",
@@ -17276,7 +17646,7 @@ var zeroModelProvidersDefaultContract = c25.router({
17276
17646
  summary: "Set org-level model provider as default (admin only)"
17277
17647
  }
17278
17648
  });
17279
- var zeroModelProvidersUpdateModelContract = c25.router({
17649
+ var zeroModelProvidersUpdateModelContract = c26.router({
17280
17650
  updateModel: {
17281
17651
  method: "PATCH",
17282
17652
  path: "/api/zero/model-providers/:type/model",
@@ -17298,8 +17668,8 @@ var zeroModelProvidersUpdateModelContract = c25.router({
17298
17668
 
17299
17669
  // ../../packages/core/src/contracts/zero-secrets.ts
17300
17670
  import { z as z33 } from "zod";
17301
- var c26 = initContract();
17302
- var zeroSecretsContract = c26.router({
17671
+ var c27 = initContract();
17672
+ var zeroSecretsContract = c27.router({
17303
17673
  list: {
17304
17674
  method: "GET",
17305
17675
  path: "/api/zero/secrets",
@@ -17326,7 +17696,7 @@ var zeroSecretsContract = c26.router({
17326
17696
  summary: "Create or update a secret"
17327
17697
  }
17328
17698
  });
17329
- var zeroSecretsByNameContract = c26.router({
17699
+ var zeroSecretsByNameContract = c27.router({
17330
17700
  delete: {
17331
17701
  method: "DELETE",
17332
17702
  path: "/api/zero/secrets/:name",
@@ -17335,7 +17705,7 @@ var zeroSecretsByNameContract = c26.router({
17335
17705
  name: secretNameSchema
17336
17706
  }),
17337
17707
  responses: {
17338
- 204: c26.noBody(),
17708
+ 204: c27.noBody(),
17339
17709
  401: apiErrorSchema,
17340
17710
  404: apiErrorSchema,
17341
17711
  500: apiErrorSchema
@@ -17343,7 +17713,7 @@ var zeroSecretsByNameContract = c26.router({
17343
17713
  summary: "Delete a secret by name"
17344
17714
  }
17345
17715
  });
17346
- var zeroVariablesContract = c26.router({
17716
+ var zeroVariablesContract = c27.router({
17347
17717
  list: {
17348
17718
  method: "GET",
17349
17719
  path: "/api/zero/variables",
@@ -17370,7 +17740,7 @@ var zeroVariablesContract = c26.router({
17370
17740
  summary: "Create or update a variable"
17371
17741
  }
17372
17742
  });
17373
- var zeroVariablesByNameContract = c26.router({
17743
+ var zeroVariablesByNameContract = c27.router({
17374
17744
  delete: {
17375
17745
  method: "DELETE",
17376
17746
  path: "/api/zero/variables/:name",
@@ -17379,7 +17749,7 @@ var zeroVariablesByNameContract = c26.router({
17379
17749
  name: variableNameSchema
17380
17750
  }),
17381
17751
  responses: {
17382
- 204: c26.noBody(),
17752
+ 204: c27.noBody(),
17383
17753
  401: apiErrorSchema,
17384
17754
  404: apiErrorSchema,
17385
17755
  500: apiErrorSchema
@@ -17390,7 +17760,7 @@ var zeroVariablesByNameContract = c26.router({
17390
17760
 
17391
17761
  // ../../packages/core/src/contracts/zero-sessions.ts
17392
17762
  import { z as z34 } from "zod";
17393
- var c27 = initContract();
17763
+ var c28 = initContract();
17394
17764
  var zeroSessionResponseSchema = z34.object({
17395
17765
  id: z34.string(),
17396
17766
  agentId: z34.string(),
@@ -17401,7 +17771,7 @@ var zeroSessionResponseSchema = z34.object({
17401
17771
  createdAt: z34.string(),
17402
17772
  updatedAt: z34.string()
17403
17773
  });
17404
- var zeroSessionsByIdContract = c27.router({
17774
+ var zeroSessionsByIdContract = c28.router({
17405
17775
  getById: {
17406
17776
  method: "GET",
17407
17777
  path: "/api/zero/sessions/:id",
@@ -17421,7 +17791,7 @@ var zeroSessionsByIdContract = c27.router({
17421
17791
 
17422
17792
  // ../../packages/core/src/contracts/integrations.ts
17423
17793
  import { z as z35 } from "zod";
17424
- var c28 = initContract();
17794
+ var c29 = initContract();
17425
17795
  var sendSlackMessageBodySchema = z35.object({
17426
17796
  channel: z35.string().min(1, "Channel ID is required"),
17427
17797
  text: z35.string().optional(),
@@ -17433,7 +17803,7 @@ var sendSlackMessageResponseSchema = z35.object({
17433
17803
  ts: z35.string().optional(),
17434
17804
  channel: z35.string().optional()
17435
17805
  });
17436
- var integrationsSlackMessageContract = c28.router({
17806
+ var integrationsSlackMessageContract = c29.router({
17437
17807
  sendMessage: {
17438
17808
  method: "POST",
17439
17809
  path: "/api/zero/integrations/slack/message",
@@ -17452,7 +17822,7 @@ var integrationsSlackMessageContract = c28.router({
17452
17822
 
17453
17823
  // ../../packages/core/src/contracts/zero-billing.ts
17454
17824
  import { z as z36 } from "zod";
17455
- var c29 = initContract();
17825
+ var c30 = initContract();
17456
17826
  var autoRechargeSchema = z36.object({
17457
17827
  enabled: z36.boolean(),
17458
17828
  threshold: z36.number().nullable(),
@@ -17491,7 +17861,7 @@ var autoRechargeUpdateRequestSchema = z36.object({
17491
17861
  threshold: z36.number().int().positive().optional(),
17492
17862
  amount: z36.number().int().min(1e3).optional()
17493
17863
  });
17494
- var zeroBillingStatusContract = c29.router({
17864
+ var zeroBillingStatusContract = c30.router({
17495
17865
  get: {
17496
17866
  method: "GET",
17497
17867
  path: "/api/zero/billing/status",
@@ -17504,7 +17874,7 @@ var zeroBillingStatusContract = c29.router({
17504
17874
  summary: "Get billing status for current org"
17505
17875
  }
17506
17876
  });
17507
- var zeroBillingCheckoutContract = c29.router({
17877
+ var zeroBillingCheckoutContract = c30.router({
17508
17878
  create: {
17509
17879
  method: "POST",
17510
17880
  path: "/api/zero/billing/checkout",
@@ -17520,7 +17890,7 @@ var zeroBillingCheckoutContract = c29.router({
17520
17890
  summary: "Create Stripe checkout session"
17521
17891
  }
17522
17892
  });
17523
- var zeroBillingPortalContract = c29.router({
17893
+ var zeroBillingPortalContract = c30.router({
17524
17894
  create: {
17525
17895
  method: "POST",
17526
17896
  path: "/api/zero/billing/portal",
@@ -17536,7 +17906,7 @@ var zeroBillingPortalContract = c29.router({
17536
17906
  summary: "Create Stripe billing portal session"
17537
17907
  }
17538
17908
  });
17539
- var zeroBillingAutoRechargeContract = c29.router({
17909
+ var zeroBillingAutoRechargeContract = c30.router({
17540
17910
  get: {
17541
17911
  method: "GET",
17542
17912
  path: "/api/zero/billing/auto-recharge",
@@ -17574,7 +17944,7 @@ var invoiceSchema = z36.object({
17574
17944
  var billingInvoicesResponseSchema = z36.object({
17575
17945
  invoices: z36.array(invoiceSchema)
17576
17946
  });
17577
- var zeroBillingInvoicesContract = c29.router({
17947
+ var zeroBillingInvoicesContract = c30.router({
17578
17948
  get: {
17579
17949
  method: "GET",
17580
17950
  path: "/api/zero/billing/invoices",
@@ -17594,7 +17964,7 @@ var downgradeResponseSchema = z36.object({
17594
17964
  success: z36.boolean(),
17595
17965
  effectiveDate: z36.string().nullable()
17596
17966
  });
17597
- var zeroBillingDowngradeContract = c29.router({
17967
+ var zeroBillingDowngradeContract = c30.router({
17598
17968
  create: {
17599
17969
  method: "POST",
17600
17970
  path: "/api/zero/billing/downgrade",
@@ -17614,7 +17984,7 @@ var zeroBillingDowngradeContract = c29.router({
17614
17984
 
17615
17985
  // ../../packages/core/src/contracts/zero-usage.ts
17616
17986
  import { z as z37 } from "zod";
17617
- var c30 = initContract();
17987
+ var c31 = initContract();
17618
17988
  var memberUsageSchema = z37.object({
17619
17989
  userId: z37.string(),
17620
17990
  email: z37.string(),
@@ -17632,7 +18002,7 @@ var usageMembersResponseSchema = z37.object({
17632
18002
  }).nullable(),
17633
18003
  members: z37.array(memberUsageSchema)
17634
18004
  });
17635
- var zeroUsageMembersContract = c30.router({
18005
+ var zeroUsageMembersContract = c31.router({
17636
18006
  get: {
17637
18007
  method: "GET",
17638
18008
  path: "/api/zero/usage/members",
@@ -17648,7 +18018,7 @@ var zeroUsageMembersContract = c30.router({
17648
18018
 
17649
18019
  // ../../packages/core/src/contracts/zero-team.ts
17650
18020
  import { z as z38 } from "zod";
17651
- var c31 = initContract();
18021
+ var c32 = initContract();
17652
18022
  var teamComposeItemSchema = z38.object({
17653
18023
  id: z38.string(),
17654
18024
  displayName: z38.string().nullable(),
@@ -17658,7 +18028,7 @@ var teamComposeItemSchema = z38.object({
17658
18028
  headVersionId: z38.string().nullable(),
17659
18029
  updatedAt: z38.string()
17660
18030
  });
17661
- var zeroTeamContract = c31.router({
18031
+ var zeroTeamContract = c32.router({
17662
18032
  list: {
17663
18033
  method: "GET",
17664
18034
  path: "/api/zero/team",
@@ -17675,7 +18045,7 @@ var zeroTeamContract = c31.router({
17675
18045
 
17676
18046
  // ../../packages/core/src/contracts/zero-integrations-slack.ts
17677
18047
  import { z as z39 } from "zod";
17678
- var c32 = initContract();
18048
+ var c33 = initContract();
17679
18049
  var slackEnvironmentSchema = z39.object({
17680
18050
  requiredSecrets: z39.array(z39.string()),
17681
18051
  requiredVars: z39.array(z39.string()),
@@ -17691,9 +18061,13 @@ var slackOrgStatusSchema = z39.object({
17691
18061
  connectUrl: z39.string().nullable().optional(),
17692
18062
  defaultAgentName: z39.string().nullable().optional(),
17693
18063
  agentOrgSlug: z39.string().nullable().optional(),
17694
- environment: slackEnvironmentSchema.optional()
18064
+ environment: slackEnvironmentSchema.optional(),
18065
+ /** True when the installation's granted scopes are outdated (admin-only). */
18066
+ scopeMismatch: z39.boolean().optional(),
18067
+ /** OAuth install URL for re-authorization (admin-only, when scopeMismatch). */
18068
+ reinstallUrl: z39.string().nullable().optional()
17695
18069
  });
17696
- var zeroIntegrationsSlackContract = c32.router({
18070
+ var zeroIntegrationsSlackContract = c33.router({
17697
18071
  getStatus: {
17698
18072
  method: "GET",
17699
18073
  path: "/api/zero/integrations/slack",
@@ -17708,7 +18082,7 @@ var zeroIntegrationsSlackContract = c32.router({
17708
18082
  method: "DELETE",
17709
18083
  path: "/api/zero/integrations/slack",
17710
18084
  headers: authHeadersSchema,
17711
- body: c32.noBody(),
18085
+ body: c33.noBody(),
17712
18086
  query: z39.object({
17713
18087
  action: z39.string().optional()
17714
18088
  }),
@@ -17724,7 +18098,7 @@ var zeroIntegrationsSlackContract = c32.router({
17724
18098
 
17725
18099
  // ../../packages/core/src/contracts/zero-slack-connect.ts
17726
18100
  import { z as z40 } from "zod";
17727
- var c33 = initContract();
18101
+ var c34 = initContract();
17728
18102
  var slackConnectStatusSchema = z40.object({
17729
18103
  isConnected: z40.boolean(),
17730
18104
  isAdmin: z40.boolean(),
@@ -17736,7 +18110,7 @@ var slackConnectResponseSchema = z40.object({
17736
18110
  connectionId: z40.string(),
17737
18111
  role: z40.string()
17738
18112
  });
17739
- var zeroSlackConnectContract = c33.router({
18113
+ var zeroSlackConnectContract = c34.router({
17740
18114
  getStatus: {
17741
18115
  method: "GET",
17742
18116
  path: "/api/zero/integrations/slack/connect",
@@ -17770,12 +18144,12 @@ var zeroSlackConnectContract = c33.router({
17770
18144
 
17771
18145
  // ../../packages/core/src/contracts/zero-slack-channels.ts
17772
18146
  import { z as z41 } from "zod";
17773
- var c34 = initContract();
18147
+ var c35 = initContract();
17774
18148
  var slackChannelSchema = z41.object({
17775
18149
  id: z41.string(),
17776
18150
  name: z41.string()
17777
18151
  });
17778
- var zeroSlackChannelsContract = c34.router({
18152
+ var zeroSlackChannelsContract = c35.router({
17779
18153
  list: {
17780
18154
  method: "GET",
17781
18155
  path: "/api/zero/slack/channels",
@@ -17791,12 +18165,12 @@ var zeroSlackChannelsContract = c34.router({
17791
18165
 
17792
18166
  // ../../packages/core/src/contracts/zero-queue-position.ts
17793
18167
  import { z as z42 } from "zod";
17794
- var c35 = initContract();
18168
+ var c36 = initContract();
17795
18169
  var queuePositionResponseSchema = z42.object({
17796
18170
  position: z42.number(),
17797
18171
  total: z42.number()
17798
18172
  });
17799
- var zeroQueuePositionContract = c35.router({
18173
+ var zeroQueuePositionContract = c36.router({
17800
18174
  getPosition: {
17801
18175
  method: "GET",
17802
18176
  path: "/api/zero/queue-position",
@@ -17816,13 +18190,13 @@ var zeroQueuePositionContract = c35.router({
17816
18190
 
17817
18191
  // ../../packages/core/src/contracts/zero-member-credit-cap.ts
17818
18192
  import { z as z43 } from "zod";
17819
- var c36 = initContract();
18193
+ var c37 = initContract();
17820
18194
  var memberCreditCapResponseSchema = z43.object({
17821
18195
  userId: z43.string(),
17822
18196
  creditCap: z43.number().nullable(),
17823
18197
  creditEnabled: z43.boolean()
17824
18198
  });
17825
- var zeroMemberCreditCapContract = c36.router({
18199
+ var zeroMemberCreditCapContract = c37.router({
17826
18200
  get: {
17827
18201
  method: "GET",
17828
18202
  path: "/api/zero/org/members/credit-cap",
@@ -17857,7 +18231,7 @@ var zeroMemberCreditCapContract = c36.router({
17857
18231
 
17858
18232
  // ../../packages/core/src/contracts/zero-ask-user.ts
17859
18233
  import { z as z44 } from "zod";
17860
- var c37 = initContract();
18234
+ var c38 = initContract();
17861
18235
  var askUserQuestionItemSchema = z44.object({
17862
18236
  question: z44.string().min(1),
17863
18237
  header: z44.string().max(12).optional(),
@@ -17884,7 +18258,7 @@ var askUserAnswerResponseSchema = z44.object({
17884
18258
  status: askUserAnswerStatusSchema,
17885
18259
  answer: z44.string().optional()
17886
18260
  });
17887
- var zeroAskUserQuestionContract = c37.router({
18261
+ var zeroAskUserQuestionContract = c38.router({
17888
18262
  postQuestion: {
17889
18263
  method: "POST",
17890
18264
  path: "/api/zero/ask-user/question",
@@ -17898,7 +18272,7 @@ var zeroAskUserQuestionContract = c37.router({
17898
18272
  summary: "Submit a question for the user and receive a pending ID for polling"
17899
18273
  }
17900
18274
  });
17901
- var zeroAskUserAnswerContract = c37.router({
18275
+ var zeroAskUserAnswerContract = c38.router({
17902
18276
  getAnswer: {
17903
18277
  method: "GET",
17904
18278
  path: "/api/zero/ask-user/answer",
@@ -18074,12 +18448,6 @@ var FEATURE_SWITCHES = {
18074
18448
  enabledUserHashes: STAFF_USER_HASHES,
18075
18449
  enabledOrgIdHashes: STAFF_ORG_ID_HASHES
18076
18450
  },
18077
- ["intervalsIcuConnector" /* IntervalsIcuConnector */]: {
18078
- maintainer: "ethan@vm0.ai",
18079
- enabled: false,
18080
- enabledUserHashes: STAFF_USER_HASHES,
18081
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
18082
- },
18083
18451
  ["supabaseConnector" /* SupabaseConnector */]: {
18084
18452
  maintainer: "ethan@vm0.ai",
18085
18453
  enabled: false,
@@ -20182,4 +20550,4 @@ export {
20182
20550
  pollEvents,
20183
20551
  showNextSteps
20184
20552
  };
20185
- //# sourceMappingURL=chunk-CHFMXDPQ.js.map
20553
+ //# sourceMappingURL=chunk-JX6CVC6B.js.map