@vm0/cli 9.86.6 → 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.6",
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.6",
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";
@@ -5506,6 +5532,89 @@ var discordFirewall = {
5506
5532
  ]
5507
5533
  };
5508
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
+
5509
5618
  // ../../packages/core/src/firewalls/dropbox.generated.ts
5510
5619
  var dropboxFirewall = {
5511
5620
  name: "dropbox",
@@ -9531,6 +9640,26 @@ var jotformFirewall = {
9531
9640
  ]
9532
9641
  };
9533
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
+
9534
9663
  // ../../packages/core/src/firewalls/lark.generated.ts
9535
9664
  var larkFirewall = {
9536
9665
  name: "lark",
@@ -9620,6 +9749,71 @@ var loopsFirewall = {
9620
9749
  ]
9621
9750
  };
9622
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
+
9623
9817
  // ../../packages/core/src/firewalls/mailsac.generated.ts
9624
9818
  var mailsacFirewall = {
9625
9819
  name: "mailsac",
@@ -12619,6 +12813,44 @@ var wixFirewall = {
12619
12813
  ]
12620
12814
  };
12621
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
+
12622
12854
  // ../../packages/core/src/firewalls/x.generated.ts
12623
12855
  var xFirewall = {
12624
12856
  name: "x",
@@ -13156,6 +13388,26 @@ var zapsignFirewall = {
13156
13388
  ]
13157
13389
  };
13158
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
+
13159
13411
  // ../../packages/core/src/firewalls/zeptomail.generated.ts
13160
13412
  var zeptomailFirewall = {
13161
13413
  name: "zeptomail",
@@ -13202,6 +13454,7 @@ var CONNECTOR_FIREWALLS = {
13202
13454
  deepseek: deepseekFirewall,
13203
13455
  devto: devtoFirewall,
13204
13456
  discord: discordFirewall,
13457
+ docusign: docusignFirewall,
13205
13458
  dropbox: dropboxFirewall,
13206
13459
  elevenlabs: elevenlabsFirewall,
13207
13460
  explorium: exploriumFirewall,
@@ -13229,10 +13482,12 @@ var CONNECTOR_FIREWALLS = {
13229
13482
  intercom: intercomFirewall,
13230
13483
  "intervals-icu": intervalsIcuFirewall,
13231
13484
  jotform: jotformFirewall,
13485
+ kommo: kommoFirewall,
13232
13486
  lark: larkFirewall,
13233
13487
  line: lineFirewall,
13234
13488
  linear: linearFirewall,
13235
13489
  loops: loopsFirewall,
13490
+ make: makeFirewall,
13236
13491
  mailsac: mailsacFirewall,
13237
13492
  mercury: mercuryFirewall,
13238
13493
  "meta-ads": metaAdsFirewall,
@@ -13277,11 +13532,13 @@ var CONNECTOR_FIREWALLS = {
13277
13532
  vercel: vercelFirewall,
13278
13533
  webflow: webflowFirewall,
13279
13534
  wix: wixFirewall,
13535
+ wrike: wrikeFirewall,
13280
13536
  x: xFirewall,
13281
13537
  xero: xeroFirewall,
13282
13538
  youtube: youtubeFirewall,
13283
13539
  zapier: zapierFirewall,
13284
13540
  zapsign: zapsignFirewall,
13541
+ zendesk: zendeskFirewall,
13285
13542
  zeptomail: zeptomailFirewall
13286
13543
  };
13287
13544
  function expandPlaceholders(firewall, connectorType) {
@@ -13437,26 +13694,6 @@ function validateRule(rule, permName, serviceName) {
13437
13694
  }
13438
13695
  }
13439
13696
  }
13440
- function validateBaseUrl(base, serviceName) {
13441
- let url;
13442
- try {
13443
- url = new URL(base);
13444
- } catch {
13445
- throw new Error(
13446
- `Invalid base URL "${base}" in firewall "${serviceName}": not a valid URL`
13447
- );
13448
- }
13449
- if (url.search) {
13450
- throw new Error(
13451
- `Invalid base URL "${base}" in firewall "${serviceName}": must not contain query string`
13452
- );
13453
- }
13454
- if (url.hash) {
13455
- throw new Error(
13456
- `Invalid base URL "${base}" in firewall "${serviceName}": must not contain fragment`
13457
- );
13458
- }
13459
- }
13460
13697
  function collectAndValidatePermissions(ref, serviceConfig) {
13461
13698
  if (serviceConfig.apis.length === 0) {
13462
13699
  throw new Error(
@@ -14038,15 +14275,32 @@ var orgMemberSchema = z7.object({
14038
14275
  joinedAt: z7.string()
14039
14276
  });
14040
14277
  var orgPendingInvitationSchema = z7.object({
14278
+ id: z7.string(),
14041
14279
  email: z7.string(),
14042
14280
  role: orgRoleSchema,
14043
14281
  createdAt: z7.string()
14044
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
+ });
14045
14298
  var orgMembersResponseSchema = z7.object({
14046
14299
  slug: z7.string(),
14047
14300
  role: orgRoleSchema,
14048
14301
  members: z7.array(orgMemberSchema),
14049
14302
  pendingInvitations: z7.array(orgPendingInvitationSchema).optional(),
14303
+ membershipRequests: z7.array(orgMembershipRequestSchema).optional(),
14050
14304
  createdAt: z7.string()
14051
14305
  });
14052
14306
  var inviteOrgMemberRequestSchema = z7.object({
@@ -14059,6 +14313,35 @@ var updateOrgMemberRoleRequestSchema = z7.object({
14059
14313
  email: z7.string().email(),
14060
14314
  role: orgRoleSchema
14061
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
+ });
14062
14345
  var orgMessageResponseSchema = z7.object({
14063
14346
  message: z7.string()
14064
14347
  });
@@ -16836,13 +17119,113 @@ var zeroOrgInviteContract = c21.router({
16836
17119
  500: apiErrorSchema
16837
17120
  },
16838
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)"
16839
17222
  }
16840
17223
  });
16841
17224
 
16842
17225
  // ../../packages/core/src/contracts/zero-composes.ts
16843
17226
  import { z as z29 } from "zod";
16844
- var c22 = initContract();
16845
- var zeroComposesMainContract = c22.router({
17227
+ var c23 = initContract();
17228
+ var zeroComposesMainContract = c23.router({
16846
17229
  getByName: {
16847
17230
  method: "GET",
16848
17231
  path: "/api/zero/composes",
@@ -16860,7 +17243,7 @@ var zeroComposesMainContract = c22.router({
16860
17243
  summary: "Get agent compose by name (zero proxy)"
16861
17244
  }
16862
17245
  });
16863
- var zeroComposesByIdContract = c22.router({
17246
+ var zeroComposesByIdContract = c23.router({
16864
17247
  getById: {
16865
17248
  method: "GET",
16866
17249
  path: "/api/zero/composes/:id",
@@ -16883,9 +17266,9 @@ var zeroComposesByIdContract = c22.router({
16883
17266
  pathParams: z29.object({
16884
17267
  id: z29.string().uuid("Compose ID is required")
16885
17268
  }),
16886
- body: c22.noBody(),
17269
+ body: c23.noBody(),
16887
17270
  responses: {
16888
- 204: c22.noBody(),
17271
+ 204: c23.noBody(),
16889
17272
  401: apiErrorSchema,
16890
17273
  403: apiErrorSchema,
16891
17274
  404: apiErrorSchema,
@@ -16894,7 +17277,7 @@ var zeroComposesByIdContract = c22.router({
16894
17277
  summary: "Delete agent compose (zero proxy)"
16895
17278
  }
16896
17279
  });
16897
- var zeroComposesListContract = c22.router({
17280
+ var zeroComposesListContract = c23.router({
16898
17281
  list: {
16899
17282
  method: "GET",
16900
17283
  path: "/api/zero/composes/list",
@@ -16929,8 +17312,8 @@ var zeroRunRequestSchema = unifiedRunRequestSchema.omit({
16929
17312
  }).extend({
16930
17313
  agentId: z30.string().optional()
16931
17314
  });
16932
- var c23 = initContract();
16933
- var zeroRunsMainContract = c23.router({
17315
+ var c24 = initContract();
17316
+ var zeroRunsMainContract = c24.router({
16934
17317
  create: {
16935
17318
  method: "POST",
16936
17319
  path: "/api/zero/runs",
@@ -16946,7 +17329,7 @@ var zeroRunsMainContract = c23.router({
16946
17329
  summary: "Create and execute agent run (zero proxy)"
16947
17330
  }
16948
17331
  });
16949
- var zeroRunsByIdContract = c23.router({
17332
+ var zeroRunsByIdContract = c24.router({
16950
17333
  getById: {
16951
17334
  method: "GET",
16952
17335
  path: "/api/zero/runs/:id",
@@ -16963,7 +17346,7 @@ var zeroRunsByIdContract = c23.router({
16963
17346
  summary: "Get agent run by ID (zero proxy)"
16964
17347
  }
16965
17348
  });
16966
- var zeroRunsCancelContract = c23.router({
17349
+ var zeroRunsCancelContract = c24.router({
16967
17350
  cancel: {
16968
17351
  method: "POST",
16969
17352
  path: "/api/zero/runs/:id/cancel",
@@ -16982,7 +17365,7 @@ var zeroRunsCancelContract = c23.router({
16982
17365
  summary: "Cancel a pending or running run (zero proxy)"
16983
17366
  }
16984
17367
  });
16985
- var zeroRunsQueueContract = c23.router({
17368
+ var zeroRunsQueueContract = c24.router({
16986
17369
  getQueue: {
16987
17370
  method: "GET",
16988
17371
  path: "/api/zero/runs/queue",
@@ -16995,7 +17378,7 @@ var zeroRunsQueueContract = c23.router({
16995
17378
  summary: "Get org run queue status (zero proxy)"
16996
17379
  }
16997
17380
  });
16998
- var zeroRunAgentEventsContract = c23.router({
17381
+ var zeroRunAgentEventsContract = c24.router({
16999
17382
  getAgentEvents: {
17000
17383
  method: "GET",
17001
17384
  path: "/api/zero/runs/:id/telemetry/agent",
@@ -17019,7 +17402,7 @@ var zeroRunAgentEventsContract = c23.router({
17019
17402
 
17020
17403
  // ../../packages/core/src/contracts/zero-schedules.ts
17021
17404
  import { z as z31 } from "zod";
17022
- var c24 = initContract();
17405
+ var c25 = initContract();
17023
17406
  var scheduleResponseSchema = z31.object({
17024
17407
  id: z31.string().uuid(),
17025
17408
  agentId: z31.string().uuid(),
@@ -17088,7 +17471,7 @@ var zeroDeployScheduleRequestSchema = z31.object({
17088
17471
  message: "Exactly one of 'cronExpression', 'atTime', or 'intervalSeconds' must be specified"
17089
17472
  }
17090
17473
  );
17091
- var zeroSchedulesMainContract = c24.router({
17474
+ var zeroSchedulesMainContract = c25.router({
17092
17475
  deploy: {
17093
17476
  method: "POST",
17094
17477
  path: "/api/zero/schedules",
@@ -17116,7 +17499,7 @@ var zeroSchedulesMainContract = c24.router({
17116
17499
  summary: "List all schedules (zero proxy)"
17117
17500
  }
17118
17501
  });
17119
- var zeroSchedulesByNameContract = c24.router({
17502
+ var zeroSchedulesByNameContract = c25.router({
17120
17503
  delete: {
17121
17504
  method: "DELETE",
17122
17505
  path: "/api/zero/schedules/:name",
@@ -17128,7 +17511,7 @@ var zeroSchedulesByNameContract = c24.router({
17128
17511
  agentId: z31.string().uuid("Invalid agent ID")
17129
17512
  }),
17130
17513
  responses: {
17131
- 204: c24.noBody(),
17514
+ 204: c25.noBody(),
17132
17515
  401: apiErrorSchema,
17133
17516
  403: apiErrorSchema,
17134
17517
  404: apiErrorSchema
@@ -17136,7 +17519,7 @@ var zeroSchedulesByNameContract = c24.router({
17136
17519
  summary: "Delete schedule (zero proxy)"
17137
17520
  }
17138
17521
  });
17139
- var zeroSchedulesEnableContract = c24.router({
17522
+ var zeroSchedulesEnableContract = c25.router({
17140
17523
  enable: {
17141
17524
  method: "POST",
17142
17525
  path: "/api/zero/schedules/:name/enable",
@@ -17176,7 +17559,7 @@ var zeroSchedulesEnableContract = c24.router({
17176
17559
  summary: "Disable schedule (zero proxy)"
17177
17560
  }
17178
17561
  });
17179
- var zeroScheduleRunContract = c24.router({
17562
+ var zeroScheduleRunContract = c25.router({
17180
17563
  run: {
17181
17564
  method: "POST",
17182
17565
  path: "/api/zero/schedules/run",
@@ -17197,8 +17580,8 @@ var zeroScheduleRunContract = c24.router({
17197
17580
 
17198
17581
  // ../../packages/core/src/contracts/zero-model-providers.ts
17199
17582
  import { z as z32 } from "zod";
17200
- var c25 = initContract();
17201
- var zeroModelProvidersMainContract = c25.router({
17583
+ var c26 = initContract();
17584
+ var zeroModelProvidersMainContract = c26.router({
17202
17585
  list: {
17203
17586
  method: "GET",
17204
17587
  path: "/api/zero/model-providers",
@@ -17226,7 +17609,7 @@ var zeroModelProvidersMainContract = c25.router({
17226
17609
  summary: "Create or update an org-level model provider (admin only)"
17227
17610
  }
17228
17611
  });
17229
- var zeroModelProvidersByTypeContract = c25.router({
17612
+ var zeroModelProvidersByTypeContract = c26.router({
17230
17613
  delete: {
17231
17614
  method: "DELETE",
17232
17615
  path: "/api/zero/model-providers/:type",
@@ -17235,7 +17618,7 @@ var zeroModelProvidersByTypeContract = c25.router({
17235
17618
  type: modelProviderTypeSchema
17236
17619
  }),
17237
17620
  responses: {
17238
- 204: c25.noBody(),
17621
+ 204: c26.noBody(),
17239
17622
  401: apiErrorSchema,
17240
17623
  403: apiErrorSchema,
17241
17624
  404: apiErrorSchema,
@@ -17244,7 +17627,7 @@ var zeroModelProvidersByTypeContract = c25.router({
17244
17627
  summary: "Delete an org-level model provider (admin only)"
17245
17628
  }
17246
17629
  });
17247
- var zeroModelProvidersDefaultContract = c25.router({
17630
+ var zeroModelProvidersDefaultContract = c26.router({
17248
17631
  setDefault: {
17249
17632
  method: "POST",
17250
17633
  path: "/api/zero/model-providers/:type/default",
@@ -17263,7 +17646,7 @@ var zeroModelProvidersDefaultContract = c25.router({
17263
17646
  summary: "Set org-level model provider as default (admin only)"
17264
17647
  }
17265
17648
  });
17266
- var zeroModelProvidersUpdateModelContract = c25.router({
17649
+ var zeroModelProvidersUpdateModelContract = c26.router({
17267
17650
  updateModel: {
17268
17651
  method: "PATCH",
17269
17652
  path: "/api/zero/model-providers/:type/model",
@@ -17285,8 +17668,8 @@ var zeroModelProvidersUpdateModelContract = c25.router({
17285
17668
 
17286
17669
  // ../../packages/core/src/contracts/zero-secrets.ts
17287
17670
  import { z as z33 } from "zod";
17288
- var c26 = initContract();
17289
- var zeroSecretsContract = c26.router({
17671
+ var c27 = initContract();
17672
+ var zeroSecretsContract = c27.router({
17290
17673
  list: {
17291
17674
  method: "GET",
17292
17675
  path: "/api/zero/secrets",
@@ -17313,7 +17696,7 @@ var zeroSecretsContract = c26.router({
17313
17696
  summary: "Create or update a secret"
17314
17697
  }
17315
17698
  });
17316
- var zeroSecretsByNameContract = c26.router({
17699
+ var zeroSecretsByNameContract = c27.router({
17317
17700
  delete: {
17318
17701
  method: "DELETE",
17319
17702
  path: "/api/zero/secrets/:name",
@@ -17322,7 +17705,7 @@ var zeroSecretsByNameContract = c26.router({
17322
17705
  name: secretNameSchema
17323
17706
  }),
17324
17707
  responses: {
17325
- 204: c26.noBody(),
17708
+ 204: c27.noBody(),
17326
17709
  401: apiErrorSchema,
17327
17710
  404: apiErrorSchema,
17328
17711
  500: apiErrorSchema
@@ -17330,7 +17713,7 @@ var zeroSecretsByNameContract = c26.router({
17330
17713
  summary: "Delete a secret by name"
17331
17714
  }
17332
17715
  });
17333
- var zeroVariablesContract = c26.router({
17716
+ var zeroVariablesContract = c27.router({
17334
17717
  list: {
17335
17718
  method: "GET",
17336
17719
  path: "/api/zero/variables",
@@ -17357,7 +17740,7 @@ var zeroVariablesContract = c26.router({
17357
17740
  summary: "Create or update a variable"
17358
17741
  }
17359
17742
  });
17360
- var zeroVariablesByNameContract = c26.router({
17743
+ var zeroVariablesByNameContract = c27.router({
17361
17744
  delete: {
17362
17745
  method: "DELETE",
17363
17746
  path: "/api/zero/variables/:name",
@@ -17366,7 +17749,7 @@ var zeroVariablesByNameContract = c26.router({
17366
17749
  name: variableNameSchema
17367
17750
  }),
17368
17751
  responses: {
17369
- 204: c26.noBody(),
17752
+ 204: c27.noBody(),
17370
17753
  401: apiErrorSchema,
17371
17754
  404: apiErrorSchema,
17372
17755
  500: apiErrorSchema
@@ -17377,7 +17760,7 @@ var zeroVariablesByNameContract = c26.router({
17377
17760
 
17378
17761
  // ../../packages/core/src/contracts/zero-sessions.ts
17379
17762
  import { z as z34 } from "zod";
17380
- var c27 = initContract();
17763
+ var c28 = initContract();
17381
17764
  var zeroSessionResponseSchema = z34.object({
17382
17765
  id: z34.string(),
17383
17766
  agentId: z34.string(),
@@ -17388,7 +17771,7 @@ var zeroSessionResponseSchema = z34.object({
17388
17771
  createdAt: z34.string(),
17389
17772
  updatedAt: z34.string()
17390
17773
  });
17391
- var zeroSessionsByIdContract = c27.router({
17774
+ var zeroSessionsByIdContract = c28.router({
17392
17775
  getById: {
17393
17776
  method: "GET",
17394
17777
  path: "/api/zero/sessions/:id",
@@ -17408,7 +17791,7 @@ var zeroSessionsByIdContract = c27.router({
17408
17791
 
17409
17792
  // ../../packages/core/src/contracts/integrations.ts
17410
17793
  import { z as z35 } from "zod";
17411
- var c28 = initContract();
17794
+ var c29 = initContract();
17412
17795
  var sendSlackMessageBodySchema = z35.object({
17413
17796
  channel: z35.string().min(1, "Channel ID is required"),
17414
17797
  text: z35.string().optional(),
@@ -17420,7 +17803,7 @@ var sendSlackMessageResponseSchema = z35.object({
17420
17803
  ts: z35.string().optional(),
17421
17804
  channel: z35.string().optional()
17422
17805
  });
17423
- var integrationsSlackMessageContract = c28.router({
17806
+ var integrationsSlackMessageContract = c29.router({
17424
17807
  sendMessage: {
17425
17808
  method: "POST",
17426
17809
  path: "/api/zero/integrations/slack/message",
@@ -17439,7 +17822,7 @@ var integrationsSlackMessageContract = c28.router({
17439
17822
 
17440
17823
  // ../../packages/core/src/contracts/zero-billing.ts
17441
17824
  import { z as z36 } from "zod";
17442
- var c29 = initContract();
17825
+ var c30 = initContract();
17443
17826
  var autoRechargeSchema = z36.object({
17444
17827
  enabled: z36.boolean(),
17445
17828
  threshold: z36.number().nullable(),
@@ -17478,7 +17861,7 @@ var autoRechargeUpdateRequestSchema = z36.object({
17478
17861
  threshold: z36.number().int().positive().optional(),
17479
17862
  amount: z36.number().int().min(1e3).optional()
17480
17863
  });
17481
- var zeroBillingStatusContract = c29.router({
17864
+ var zeroBillingStatusContract = c30.router({
17482
17865
  get: {
17483
17866
  method: "GET",
17484
17867
  path: "/api/zero/billing/status",
@@ -17491,7 +17874,7 @@ var zeroBillingStatusContract = c29.router({
17491
17874
  summary: "Get billing status for current org"
17492
17875
  }
17493
17876
  });
17494
- var zeroBillingCheckoutContract = c29.router({
17877
+ var zeroBillingCheckoutContract = c30.router({
17495
17878
  create: {
17496
17879
  method: "POST",
17497
17880
  path: "/api/zero/billing/checkout",
@@ -17507,7 +17890,7 @@ var zeroBillingCheckoutContract = c29.router({
17507
17890
  summary: "Create Stripe checkout session"
17508
17891
  }
17509
17892
  });
17510
- var zeroBillingPortalContract = c29.router({
17893
+ var zeroBillingPortalContract = c30.router({
17511
17894
  create: {
17512
17895
  method: "POST",
17513
17896
  path: "/api/zero/billing/portal",
@@ -17523,7 +17906,7 @@ var zeroBillingPortalContract = c29.router({
17523
17906
  summary: "Create Stripe billing portal session"
17524
17907
  }
17525
17908
  });
17526
- var zeroBillingAutoRechargeContract = c29.router({
17909
+ var zeroBillingAutoRechargeContract = c30.router({
17527
17910
  get: {
17528
17911
  method: "GET",
17529
17912
  path: "/api/zero/billing/auto-recharge",
@@ -17561,7 +17944,7 @@ var invoiceSchema = z36.object({
17561
17944
  var billingInvoicesResponseSchema = z36.object({
17562
17945
  invoices: z36.array(invoiceSchema)
17563
17946
  });
17564
- var zeroBillingInvoicesContract = c29.router({
17947
+ var zeroBillingInvoicesContract = c30.router({
17565
17948
  get: {
17566
17949
  method: "GET",
17567
17950
  path: "/api/zero/billing/invoices",
@@ -17581,7 +17964,7 @@ var downgradeResponseSchema = z36.object({
17581
17964
  success: z36.boolean(),
17582
17965
  effectiveDate: z36.string().nullable()
17583
17966
  });
17584
- var zeroBillingDowngradeContract = c29.router({
17967
+ var zeroBillingDowngradeContract = c30.router({
17585
17968
  create: {
17586
17969
  method: "POST",
17587
17970
  path: "/api/zero/billing/downgrade",
@@ -17601,7 +17984,7 @@ var zeroBillingDowngradeContract = c29.router({
17601
17984
 
17602
17985
  // ../../packages/core/src/contracts/zero-usage.ts
17603
17986
  import { z as z37 } from "zod";
17604
- var c30 = initContract();
17987
+ var c31 = initContract();
17605
17988
  var memberUsageSchema = z37.object({
17606
17989
  userId: z37.string(),
17607
17990
  email: z37.string(),
@@ -17619,7 +18002,7 @@ var usageMembersResponseSchema = z37.object({
17619
18002
  }).nullable(),
17620
18003
  members: z37.array(memberUsageSchema)
17621
18004
  });
17622
- var zeroUsageMembersContract = c30.router({
18005
+ var zeroUsageMembersContract = c31.router({
17623
18006
  get: {
17624
18007
  method: "GET",
17625
18008
  path: "/api/zero/usage/members",
@@ -17635,7 +18018,7 @@ var zeroUsageMembersContract = c30.router({
17635
18018
 
17636
18019
  // ../../packages/core/src/contracts/zero-team.ts
17637
18020
  import { z as z38 } from "zod";
17638
- var c31 = initContract();
18021
+ var c32 = initContract();
17639
18022
  var teamComposeItemSchema = z38.object({
17640
18023
  id: z38.string(),
17641
18024
  displayName: z38.string().nullable(),
@@ -17645,7 +18028,7 @@ var teamComposeItemSchema = z38.object({
17645
18028
  headVersionId: z38.string().nullable(),
17646
18029
  updatedAt: z38.string()
17647
18030
  });
17648
- var zeroTeamContract = c31.router({
18031
+ var zeroTeamContract = c32.router({
17649
18032
  list: {
17650
18033
  method: "GET",
17651
18034
  path: "/api/zero/team",
@@ -17662,7 +18045,7 @@ var zeroTeamContract = c31.router({
17662
18045
 
17663
18046
  // ../../packages/core/src/contracts/zero-integrations-slack.ts
17664
18047
  import { z as z39 } from "zod";
17665
- var c32 = initContract();
18048
+ var c33 = initContract();
17666
18049
  var slackEnvironmentSchema = z39.object({
17667
18050
  requiredSecrets: z39.array(z39.string()),
17668
18051
  requiredVars: z39.array(z39.string()),
@@ -17678,9 +18061,13 @@ var slackOrgStatusSchema = z39.object({
17678
18061
  connectUrl: z39.string().nullable().optional(),
17679
18062
  defaultAgentName: z39.string().nullable().optional(),
17680
18063
  agentOrgSlug: z39.string().nullable().optional(),
17681
- 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()
17682
18069
  });
17683
- var zeroIntegrationsSlackContract = c32.router({
18070
+ var zeroIntegrationsSlackContract = c33.router({
17684
18071
  getStatus: {
17685
18072
  method: "GET",
17686
18073
  path: "/api/zero/integrations/slack",
@@ -17695,7 +18082,7 @@ var zeroIntegrationsSlackContract = c32.router({
17695
18082
  method: "DELETE",
17696
18083
  path: "/api/zero/integrations/slack",
17697
18084
  headers: authHeadersSchema,
17698
- body: c32.noBody(),
18085
+ body: c33.noBody(),
17699
18086
  query: z39.object({
17700
18087
  action: z39.string().optional()
17701
18088
  }),
@@ -17711,7 +18098,7 @@ var zeroIntegrationsSlackContract = c32.router({
17711
18098
 
17712
18099
  // ../../packages/core/src/contracts/zero-slack-connect.ts
17713
18100
  import { z as z40 } from "zod";
17714
- var c33 = initContract();
18101
+ var c34 = initContract();
17715
18102
  var slackConnectStatusSchema = z40.object({
17716
18103
  isConnected: z40.boolean(),
17717
18104
  isAdmin: z40.boolean(),
@@ -17723,7 +18110,7 @@ var slackConnectResponseSchema = z40.object({
17723
18110
  connectionId: z40.string(),
17724
18111
  role: z40.string()
17725
18112
  });
17726
- var zeroSlackConnectContract = c33.router({
18113
+ var zeroSlackConnectContract = c34.router({
17727
18114
  getStatus: {
17728
18115
  method: "GET",
17729
18116
  path: "/api/zero/integrations/slack/connect",
@@ -17757,12 +18144,12 @@ var zeroSlackConnectContract = c33.router({
17757
18144
 
17758
18145
  // ../../packages/core/src/contracts/zero-slack-channels.ts
17759
18146
  import { z as z41 } from "zod";
17760
- var c34 = initContract();
18147
+ var c35 = initContract();
17761
18148
  var slackChannelSchema = z41.object({
17762
18149
  id: z41.string(),
17763
18150
  name: z41.string()
17764
18151
  });
17765
- var zeroSlackChannelsContract = c34.router({
18152
+ var zeroSlackChannelsContract = c35.router({
17766
18153
  list: {
17767
18154
  method: "GET",
17768
18155
  path: "/api/zero/slack/channels",
@@ -17778,12 +18165,12 @@ var zeroSlackChannelsContract = c34.router({
17778
18165
 
17779
18166
  // ../../packages/core/src/contracts/zero-queue-position.ts
17780
18167
  import { z as z42 } from "zod";
17781
- var c35 = initContract();
18168
+ var c36 = initContract();
17782
18169
  var queuePositionResponseSchema = z42.object({
17783
18170
  position: z42.number(),
17784
18171
  total: z42.number()
17785
18172
  });
17786
- var zeroQueuePositionContract = c35.router({
18173
+ var zeroQueuePositionContract = c36.router({
17787
18174
  getPosition: {
17788
18175
  method: "GET",
17789
18176
  path: "/api/zero/queue-position",
@@ -17803,13 +18190,13 @@ var zeroQueuePositionContract = c35.router({
17803
18190
 
17804
18191
  // ../../packages/core/src/contracts/zero-member-credit-cap.ts
17805
18192
  import { z as z43 } from "zod";
17806
- var c36 = initContract();
18193
+ var c37 = initContract();
17807
18194
  var memberCreditCapResponseSchema = z43.object({
17808
18195
  userId: z43.string(),
17809
18196
  creditCap: z43.number().nullable(),
17810
18197
  creditEnabled: z43.boolean()
17811
18198
  });
17812
- var zeroMemberCreditCapContract = c36.router({
18199
+ var zeroMemberCreditCapContract = c37.router({
17813
18200
  get: {
17814
18201
  method: "GET",
17815
18202
  path: "/api/zero/org/members/credit-cap",
@@ -17844,7 +18231,7 @@ var zeroMemberCreditCapContract = c36.router({
17844
18231
 
17845
18232
  // ../../packages/core/src/contracts/zero-ask-user.ts
17846
18233
  import { z as z44 } from "zod";
17847
- var c37 = initContract();
18234
+ var c38 = initContract();
17848
18235
  var askUserQuestionItemSchema = z44.object({
17849
18236
  question: z44.string().min(1),
17850
18237
  header: z44.string().max(12).optional(),
@@ -17871,7 +18258,7 @@ var askUserAnswerResponseSchema = z44.object({
17871
18258
  status: askUserAnswerStatusSchema,
17872
18259
  answer: z44.string().optional()
17873
18260
  });
17874
- var zeroAskUserQuestionContract = c37.router({
18261
+ var zeroAskUserQuestionContract = c38.router({
17875
18262
  postQuestion: {
17876
18263
  method: "POST",
17877
18264
  path: "/api/zero/ask-user/question",
@@ -17885,7 +18272,7 @@ var zeroAskUserQuestionContract = c37.router({
17885
18272
  summary: "Submit a question for the user and receive a pending ID for polling"
17886
18273
  }
17887
18274
  });
17888
- var zeroAskUserAnswerContract = c37.router({
18275
+ var zeroAskUserAnswerContract = c38.router({
17889
18276
  getAnswer: {
17890
18277
  method: "GET",
17891
18278
  path: "/api/zero/ask-user/answer",
@@ -20163,4 +20550,4 @@ export {
20163
20550
  pollEvents,
20164
20551
  showNextSteps
20165
20552
  };
20166
- //# sourceMappingURL=chunk-LN5TTUIA.js.map
20553
+ //# sourceMappingURL=chunk-JX6CVC6B.js.map