@vm0/cli 9.89.0 → 9.90.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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.89.0",
50
+ release: "9.90.0",
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.89.0",
69
+ version: "9.90.0",
70
70
  command: process.argv.slice(2).join(" ")
71
71
  });
72
72
  Sentry.setContext("runtime", {
@@ -3229,10 +3229,7 @@ var CONNECTOR_TYPES_DEF = {
3229
3229
  oauth: {
3230
3230
  authorizationUrl: "https://app.ahrefs.com/api/auth",
3231
3231
  tokenUrl: "https://app.ahrefs.com/api/token",
3232
- scopes: ["api"],
3233
- environmentMapping: {
3234
- AHREFS_TOKEN: "$secrets.AHREFS_ACCESS_TOKEN"
3235
- }
3232
+ scopes: ["api"]
3236
3233
  }
3237
3234
  },
3238
3235
  agentmail: {
@@ -3290,10 +3287,7 @@ var CONNECTOR_TYPES_DEF = {
3290
3287
  "schema.bases:read",
3291
3288
  "schema.bases:write",
3292
3289
  "user.email:read"
3293
- ],
3294
- environmentMapping: {
3295
- AIRTABLE_TOKEN: "$secrets.AIRTABLE_ACCESS_TOKEN"
3296
- }
3290
+ ]
3297
3291
  }
3298
3292
  },
3299
3293
  github: {
@@ -3319,11 +3313,7 @@ var CONNECTOR_TYPES_DEF = {
3319
3313
  oauth: {
3320
3314
  authorizationUrl: "https://github.com/login/oauth/authorize",
3321
3315
  tokenUrl: "https://github.com/login/oauth/access_token",
3322
- scopes: ["repo", "project"],
3323
- environmentMapping: {
3324
- GH_TOKEN: "$secrets.GITHUB_ACCESS_TOKEN",
3325
- GITHUB_TOKEN: "$secrets.GITHUB_ACCESS_TOKEN"
3326
- }
3316
+ scopes: ["repo", "project"]
3327
3317
  }
3328
3318
  },
3329
3319
  notion: {
@@ -3352,10 +3342,7 @@ var CONNECTOR_TYPES_DEF = {
3352
3342
  oauth: {
3353
3343
  authorizationUrl: "https://api.notion.com/v1/oauth/authorize",
3354
3344
  tokenUrl: "https://api.notion.com/v1/oauth/token",
3355
- scopes: [],
3356
- environmentMapping: {
3357
- NOTION_TOKEN: "$secrets.NOTION_ACCESS_TOKEN"
3358
- }
3345
+ scopes: []
3359
3346
  }
3360
3347
  },
3361
3348
  gmail: {
@@ -3384,10 +3371,7 @@ var CONNECTOR_TYPES_DEF = {
3384
3371
  oauth: {
3385
3372
  authorizationUrl: "https://accounts.google.com/o/oauth2/v2/auth",
3386
3373
  tokenUrl: "https://oauth2.googleapis.com/token",
3387
- scopes: ["https://www.googleapis.com/auth/gmail.modify"],
3388
- environmentMapping: {
3389
- GMAIL_TOKEN: "$secrets.GMAIL_ACCESS_TOKEN"
3390
- }
3374
+ scopes: ["https://www.googleapis.com/auth/gmail.modify"]
3391
3375
  }
3392
3376
  },
3393
3377
  "google-sheets": {
@@ -3419,10 +3403,7 @@ var CONNECTOR_TYPES_DEF = {
3419
3403
  scopes: [
3420
3404
  "https://www.googleapis.com/auth/spreadsheets",
3421
3405
  "https://www.googleapis.com/auth/userinfo.email"
3422
- ],
3423
- environmentMapping: {
3424
- GOOGLE_SHEETS_TOKEN: "$secrets.GOOGLE_SHEETS_ACCESS_TOKEN"
3425
- }
3406
+ ]
3426
3407
  }
3427
3408
  },
3428
3409
  "google-docs": {
@@ -3454,10 +3435,7 @@ var CONNECTOR_TYPES_DEF = {
3454
3435
  scopes: [
3455
3436
  "https://www.googleapis.com/auth/documents",
3456
3437
  "https://www.googleapis.com/auth/userinfo.email"
3457
- ],
3458
- environmentMapping: {
3459
- GOOGLE_DOCS_TOKEN: "$secrets.GOOGLE_DOCS_ACCESS_TOKEN"
3460
- }
3438
+ ]
3461
3439
  }
3462
3440
  },
3463
3441
  "google-drive": {
@@ -3489,10 +3467,7 @@ var CONNECTOR_TYPES_DEF = {
3489
3467
  scopes: [
3490
3468
  "https://www.googleapis.com/auth/drive",
3491
3469
  "https://www.googleapis.com/auth/userinfo.email"
3492
- ],
3493
- environmentMapping: {
3494
- GOOGLE_DRIVE_TOKEN: "$secrets.GOOGLE_DRIVE_ACCESS_TOKEN"
3495
- }
3470
+ ]
3496
3471
  }
3497
3472
  },
3498
3473
  "google-calendar": {
@@ -3524,10 +3499,7 @@ var CONNECTOR_TYPES_DEF = {
3524
3499
  scopes: [
3525
3500
  "https://www.googleapis.com/auth/calendar",
3526
3501
  "https://www.googleapis.com/auth/userinfo.email"
3527
- ],
3528
- environmentMapping: {
3529
- GOOGLE_CALENDAR_TOKEN: "$secrets.GOOGLE_CALENDAR_ACCESS_TOKEN"
3530
- }
3502
+ ]
3531
3503
  }
3532
3504
  },
3533
3505
  close: {
@@ -3557,10 +3529,7 @@ var CONNECTOR_TYPES_DEF = {
3557
3529
  oauth: {
3558
3530
  authorizationUrl: "https://app.close.com/oauth2/authorize/",
3559
3531
  tokenUrl: "https://api.close.com/oauth2/token/",
3560
- scopes: ["all.full_access", "offline_access"],
3561
- environmentMapping: {
3562
- CLOSE_TOKEN: "$secrets.CLOSE_ACCESS_TOKEN"
3563
- }
3532
+ scopes: ["all.full_access", "offline_access"]
3564
3533
  }
3565
3534
  },
3566
3535
  "hugging-face": {
@@ -3663,10 +3632,7 @@ var CONNECTOR_TYPES_DEF = {
3663
3632
  "crm.lists.read",
3664
3633
  "crm.schemas.contacts.read",
3665
3634
  "settings.users.read"
3666
- ],
3667
- environmentMapping: {
3668
- HUBSPOT_TOKEN: "$secrets.HUBSPOT_ACCESS_TOKEN"
3669
- }
3635
+ ]
3670
3636
  }
3671
3637
  },
3672
3638
  computer: {
@@ -3697,11 +3663,7 @@ var CONNECTOR_TYPES_DEF = {
3697
3663
  }
3698
3664
  }
3699
3665
  },
3700
- defaultAuthMethod: "api",
3701
- bridgeMapping: {
3702
- COMPUTER_CONNECTOR_BRIDGE_TOKEN: "$secrets.COMPUTER_CONNECTOR_BRIDGE_TOKEN",
3703
- COMPUTER_CONNECTOR_DOMAIN: "$secrets.COMPUTER_CONNECTOR_DOMAIN"
3704
- }
3666
+ defaultAuthMethod: "api"
3705
3667
  },
3706
3668
  slack: {
3707
3669
  label: "Slack",
@@ -3766,10 +3728,7 @@ var CONNECTOR_TYPES_DEF = {
3766
3728
  "team:read",
3767
3729
  // Custom emoji (low priority)
3768
3730
  "emoji:read"
3769
- ],
3770
- environmentMapping: {
3771
- SLACK_TOKEN: "$secrets.SLACK_ACCESS_TOKEN"
3772
- }
3731
+ ]
3773
3732
  }
3774
3733
  },
3775
3734
  docusign: {
@@ -3799,10 +3758,7 @@ var CONNECTOR_TYPES_DEF = {
3799
3758
  oauth: {
3800
3759
  authorizationUrl: "https://account.docusign.com/oauth/auth",
3801
3760
  tokenUrl: "https://account.docusign.com/oauth/token",
3802
- scopes: ["signature", "extended", "openid"],
3803
- environmentMapping: {
3804
- DOCUSIGN_TOKEN: "$secrets.DOCUSIGN_ACCESS_TOKEN"
3805
- }
3761
+ scopes: ["signature", "extended", "openid"]
3806
3762
  }
3807
3763
  },
3808
3764
  dropbox: {
@@ -3846,10 +3802,7 @@ var CONNECTOR_TYPES_DEF = {
3846
3802
  "account_info.read",
3847
3803
  "files.metadata.read",
3848
3804
  "files.content.read"
3849
- ],
3850
- environmentMapping: {
3851
- DROPBOX_TOKEN: "$secrets.DROPBOX_ACCESS_TOKEN"
3852
- }
3805
+ ]
3853
3806
  }
3854
3807
  },
3855
3808
  linear: {
@@ -3884,10 +3837,7 @@ var CONNECTOR_TYPES_DEF = {
3884
3837
  "issues:create",
3885
3838
  "comments:create",
3886
3839
  "timeSchedule:write"
3887
- ],
3888
- environmentMapping: {
3889
- LINEAR_TOKEN: "$secrets.LINEAR_ACCESS_TOKEN"
3890
- }
3840
+ ]
3891
3841
  }
3892
3842
  },
3893
3843
  intercom: {
@@ -4161,10 +4111,7 @@ var CONNECTOR_TYPES_DEF = {
4161
4111
  "time-off:write",
4162
4112
  "invoice-adjustments:read",
4163
4113
  "invoice-adjustments:write"
4164
- ],
4165
- environmentMapping: {
4166
- DEEL_TOKEN: "$secrets.DEEL_ACCESS_TOKEN"
4167
- }
4114
+ ]
4168
4115
  }
4169
4116
  },
4170
4117
  deepseek: {
@@ -4370,10 +4317,7 @@ var CONNECTOR_TYPES_DEF = {
4370
4317
  "file_comments:write",
4371
4318
  "library_assets:read",
4372
4319
  "library_content:read"
4373
- ],
4374
- environmentMapping: {
4375
- FIGMA_TOKEN: "$secrets.FIGMA_ACCESS_TOKEN"
4376
- }
4320
+ ]
4377
4321
  }
4378
4322
  },
4379
4323
  mercury: {
@@ -4414,10 +4358,7 @@ var CONNECTOR_TYPES_DEF = {
4414
4358
  oauth: {
4415
4359
  authorizationUrl: "https://oauth2.mercury.com/oauth2/auth",
4416
4360
  tokenUrl: "https://oauth2.mercury.com/oauth2/token",
4417
- scopes: ["offline_access"],
4418
- environmentMapping: {
4419
- MERCURY_TOKEN: "$secrets.MERCURY_ACCESS_TOKEN"
4420
- }
4361
+ scopes: ["offline_access"]
4421
4362
  }
4422
4363
  },
4423
4364
  minimax: {
@@ -4535,10 +4476,7 @@ var CONNECTOR_TYPES_DEF = {
4535
4476
  oauth: {
4536
4477
  authorizationUrl: "https://www.reddit.com/api/v1/authorize",
4537
4478
  tokenUrl: "https://www.reddit.com/api/v1/access_token",
4538
- scopes: ["identity", "read"],
4539
- environmentMapping: {
4540
- REDDIT_TOKEN: "$secrets.REDDIT_ACCESS_TOKEN"
4541
- }
4479
+ scopes: ["identity", "read"]
4542
4480
  }
4543
4481
  },
4544
4482
  strava: {
@@ -4572,10 +4510,7 @@ var CONNECTOR_TYPES_DEF = {
4572
4510
  "profile:read_all",
4573
4511
  "activity:read_all",
4574
4512
  "activity:write"
4575
- ],
4576
- environmentMapping: {
4577
- STRAVA_TOKEN: "$secrets.STRAVA_ACCESS_TOKEN"
4578
- }
4513
+ ]
4579
4514
  }
4580
4515
  },
4581
4516
  x: {
@@ -4650,10 +4585,7 @@ var CONNECTOR_TYPES_DEF = {
4650
4585
  // Send and manage Direct Messages for you.
4651
4586
  "media.write"
4652
4587
  // Upload media.
4653
- ],
4654
- environmentMapping: {
4655
- X_TOKEN: "$secrets.X_ACCESS_TOKEN"
4656
- }
4588
+ ]
4657
4589
  }
4658
4590
  },
4659
4591
  neon: {
@@ -4700,10 +4632,7 @@ var CONNECTOR_TYPES_DEF = {
4700
4632
  "urn:neoncloud:projects:create",
4701
4633
  "urn:neoncloud:projects:update",
4702
4634
  "urn:neoncloud:projects:delete"
4703
- ],
4704
- environmentMapping: {
4705
- NEON_TOKEN: "$secrets.NEON_ACCESS_TOKEN"
4706
- }
4635
+ ]
4707
4636
  }
4708
4637
  },
4709
4638
  gamma: {
@@ -4754,10 +4683,7 @@ var CONNECTOR_TYPES_DEF = {
4754
4683
  oauth: {
4755
4684
  authorizationUrl: "https://connect.garmin.com/oauth2Confirm",
4756
4685
  tokenUrl: "https://diauth.garmin.com/di-oauth2-service/oauth/token",
4757
- scopes: [],
4758
- environmentMapping: {
4759
- GARMIN_CONNECT_TOKEN: "$secrets.GARMIN_CONNECT_ACCESS_TOKEN"
4760
- }
4686
+ scopes: []
4761
4687
  }
4762
4688
  },
4763
4689
  vercel: {
@@ -4781,10 +4707,7 @@ var CONNECTOR_TYPES_DEF = {
4781
4707
  defaultAuthMethod: "oauth",
4782
4708
  oauth: {
4783
4709
  tokenUrl: "https://api.vercel.com/v2/oauth/access_token",
4784
- scopes: [],
4785
- environmentMapping: {
4786
- VERCEL_TOKEN: "$secrets.VERCEL_ACCESS_TOKEN"
4787
- }
4710
+ scopes: []
4788
4711
  }
4789
4712
  },
4790
4713
  sentry: {
@@ -4820,10 +4743,7 @@ var CONNECTOR_TYPES_DEF = {
4820
4743
  "member:read",
4821
4744
  "event:read",
4822
4745
  "event:write"
4823
- ],
4824
- environmentMapping: {
4825
- SENTRY_TOKEN: "$secrets.SENTRY_ACCESS_TOKEN"
4826
- }
4746
+ ]
4827
4747
  }
4828
4748
  },
4829
4749
  posthog: {
@@ -4888,10 +4808,7 @@ var CONNECTOR_TYPES_DEF = {
4888
4808
  "survey:read",
4889
4809
  "survey:write",
4890
4810
  "error_tracking:read"
4891
- ],
4892
- environmentMapping: {
4893
- POSTHOG_TOKEN: "$secrets.POSTHOG_ACCESS_TOKEN"
4894
- }
4811
+ ]
4895
4812
  }
4896
4813
  },
4897
4814
  productlane: {
@@ -4916,6 +4833,9 @@ var CONNECTOR_TYPES_DEF = {
4916
4833
  },
4917
4834
  "intervals-icu": {
4918
4835
  label: "Intervals.icu",
4836
+ environmentMapping: {
4837
+ INTERVALS_ICU_TOKEN: "$secrets.INTERVALS_ICU_ACCESS_TOKEN"
4838
+ },
4919
4839
  helpText: "Connect your Intervals.icu account to access training, activity, wellness, and calendar data",
4920
4840
  authMethods: {
4921
4841
  oauth: {
@@ -4933,10 +4853,7 @@ var CONNECTOR_TYPES_DEF = {
4933
4853
  oauth: {
4934
4854
  authorizationUrl: "https://intervals.icu/oauth/authorize",
4935
4855
  tokenUrl: "https://intervals.icu/api/oauth/token",
4936
- scopes: ["ACTIVITY", "WELLNESS", "CALENDAR", "SETTINGS", "LIBRARY"],
4937
- environmentMapping: {
4938
- INTERVALS_ICU_TOKEN: "$secrets.INTERVALS_ICU_ACCESS_TOKEN"
4939
- }
4856
+ scopes: ["ACTIVITY", "WELLNESS", "CALENDAR", "SETTINGS", "LIBRARY"]
4940
4857
  }
4941
4858
  },
4942
4859
  monday: {
@@ -4980,10 +4897,7 @@ var CONNECTOR_TYPES_DEF = {
4980
4897
  "assets:read",
4981
4898
  "tags:read",
4982
4899
  "teams:read"
4983
- ],
4984
- environmentMapping: {
4985
- MONDAY_TOKEN: "$secrets.MONDAY_ACCESS_TOKEN"
4986
- }
4900
+ ]
4987
4901
  }
4988
4902
  },
4989
4903
  calendly: {
@@ -5047,10 +4961,7 @@ var CONNECTOR_TYPES_DEF = {
5047
4961
  "folder:read",
5048
4962
  "folder:write",
5049
4963
  "profile:read"
5050
- ],
5051
- environmentMapping: {
5052
- CANVA_TOKEN: "$secrets.CANVA_ACCESS_TOKEN"
5053
- }
4964
+ ]
5054
4965
  }
5055
4966
  },
5056
4967
  "cal-com": {
@@ -5123,10 +5034,7 @@ var CONNECTOR_TYPES_DEF = {
5123
5034
  "files",
5124
5035
  "assets",
5125
5036
  "projects"
5126
- ],
5127
- environmentMapping: {
5128
- XERO_TOKEN: "$secrets.XERO_ACCESS_TOKEN"
5129
- }
5037
+ ]
5130
5038
  }
5131
5039
  },
5132
5040
  supabase: {
@@ -5179,10 +5087,7 @@ var CONNECTOR_TYPES_DEF = {
5179
5087
  "analytics:read",
5180
5088
  "environment:read",
5181
5089
  "domains:read"
5182
- ],
5183
- environmentMapping: {
5184
- SUPABASE_TOKEN: "$secrets.SUPABASE_ACCESS_TOKEN"
5185
- }
5090
+ ]
5186
5091
  }
5187
5092
  },
5188
5093
  todoist: {
@@ -5207,10 +5112,7 @@ var CONNECTOR_TYPES_DEF = {
5207
5112
  oauth: {
5208
5113
  authorizationUrl: "https://todoist.com/oauth/authorize",
5209
5114
  tokenUrl: "https://todoist.com/oauth/access_token",
5210
- scopes: ["data:read_write", "data:delete", "project:delete"],
5211
- environmentMapping: {
5212
- TODOIST_TOKEN: "$secrets.TODOIST_ACCESS_TOKEN"
5213
- }
5115
+ scopes: ["data:read_write", "data:delete", "project:delete"]
5214
5116
  }
5215
5117
  },
5216
5118
  webflow: {
@@ -5262,10 +5164,7 @@ var CONNECTOR_TYPES_DEF = {
5262
5164
  "workspace:read",
5263
5165
  "custom_code:read",
5264
5166
  "custom_code:write"
5265
- ],
5266
- environmentMapping: {
5267
- WEBFLOW_TOKEN: "$secrets.WEBFLOW_ACCESS_TOKEN"
5268
- }
5167
+ ]
5269
5168
  }
5270
5169
  },
5271
5170
  wrike: {
@@ -5314,10 +5213,7 @@ var CONNECTOR_TYPES_DEF = {
5314
5213
  oauth: {
5315
5214
  authorizationUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
5316
5215
  tokenUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/token",
5317
- scopes: ["Mail.ReadWrite", "Mail.Send", "User.Read", "offline_access"],
5318
- environmentMapping: {
5319
- OUTLOOK_MAIL_TOKEN: "$secrets.OUTLOOK_MAIL_ACCESS_TOKEN"
5320
- }
5216
+ scopes: ["Mail.ReadWrite", "Mail.Send", "User.Read", "offline_access"]
5321
5217
  }
5322
5218
  },
5323
5219
  "outlook-calendar": {
@@ -5347,10 +5243,7 @@ var CONNECTOR_TYPES_DEF = {
5347
5243
  oauth: {
5348
5244
  authorizationUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
5349
5245
  tokenUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/token",
5350
- scopes: ["Calendars.ReadWrite", "User.Read", "offline_access"],
5351
- environmentMapping: {
5352
- OUTLOOK_CALENDAR_TOKEN: "$secrets.OUTLOOK_CALENDAR_ACCESS_TOKEN"
5353
- }
5246
+ scopes: ["Calendars.ReadWrite", "User.Read", "offline_access"]
5354
5247
  }
5355
5248
  },
5356
5249
  asana: {
@@ -5379,10 +5272,7 @@ var CONNECTOR_TYPES_DEF = {
5379
5272
  oauth: {
5380
5273
  authorizationUrl: "https://app.asana.com/-/oauth_authorize",
5381
5274
  tokenUrl: "https://app.asana.com/-/oauth_token",
5382
- scopes: [],
5383
- environmentMapping: {
5384
- ASANA_TOKEN: "$secrets.ASANA_ACCESS_TOKEN"
5385
- }
5275
+ scopes: []
5386
5276
  }
5387
5277
  },
5388
5278
  atlassian: {
@@ -5445,10 +5335,7 @@ var CONNECTOR_TYPES_DEF = {
5445
5335
  oauth: {
5446
5336
  authorizationUrl: "https://www.facebook.com/v22.0/dialog/oauth",
5447
5337
  tokenUrl: "https://graph.facebook.com/v22.0/oauth/access_token",
5448
- scopes: ["ads_management", "ads_read", "business_management"],
5449
- environmentMapping: {
5450
- META_ADS_TOKEN: "$secrets.META_ADS_ACCESS_TOKEN"
5451
- }
5338
+ scopes: ["ads_management", "ads_read", "business_management"]
5452
5339
  }
5453
5340
  },
5454
5341
  stripe: {
@@ -5478,10 +5365,7 @@ var CONNECTOR_TYPES_DEF = {
5478
5365
  oauth: {
5479
5366
  authorizationUrl: "https://connect.stripe.com/oauth/authorize",
5480
5367
  tokenUrl: "https://connect.stripe.com/oauth/token",
5481
- scopes: ["read_write"],
5482
- environmentMapping: {
5483
- STRIPE_TOKEN: "$secrets.STRIPE_ACCESS_TOKEN"
5484
- }
5368
+ scopes: ["read_write"]
5485
5369
  }
5486
5370
  },
5487
5371
  openai: {
@@ -5596,11 +5480,7 @@ var CONNECTOR_TYPES_DEF = {
5596
5480
  oauth: {
5597
5481
  authorizationUrl: "https://login.mailchimp.com/oauth2/authorize",
5598
5482
  tokenUrl: "https://login.mailchimp.com/oauth2/token",
5599
- scopes: [],
5600
- environmentMapping: {
5601
- MAILCHIMP_TOKEN: "$secrets.MAILCHIMP_ACCESS_TOKEN",
5602
- MAILCHIMP_DC: "$vars.MAILCHIMP_DC"
5603
- }
5483
+ scopes: []
5604
5484
  }
5605
5485
  },
5606
5486
  chatwoot: {
@@ -6587,6 +6467,9 @@ var CONNECTOR_TYPES_DEF = {
6587
6467
  },
6588
6468
  spotify: {
6589
6469
  label: "Spotify",
6470
+ environmentMapping: {
6471
+ SPOTIFY_TOKEN: "$secrets.SPOTIFY_ACCESS_TOKEN"
6472
+ },
6590
6473
  featureFlag: "spotifyConnector" /* SpotifyConnector */,
6591
6474
  helpText: "Connect your Spotify account to manage playlists, control playback, and access music data",
6592
6475
  authMethods: {
@@ -6629,10 +6512,7 @@ var CONNECTOR_TYPES_DEF = {
6629
6512
  "user-library-read",
6630
6513
  "user-read-email",
6631
6514
  "user-read-private"
6632
- ],
6633
- environmentMapping: {
6634
- SPOTIFY_TOKEN: "$secrets.SPOTIFY_ACCESS_TOKEN"
6635
- }
6515
+ ]
6636
6516
  }
6637
6517
  },
6638
6518
  "slack-webhook": {
@@ -6728,8 +6608,7 @@ var connectorTypeSchema = z21.enum(
6728
6608
  Object.keys(CONNECTOR_TYPES_DEF)
6729
6609
  );
6730
6610
  function getConnectorEnvironmentMapping(type) {
6731
- const config = CONNECTOR_TYPES[type];
6732
- return config.environmentMapping ?? config.oauth?.environmentMapping ?? config.bridgeMapping ?? {};
6611
+ return CONNECTOR_TYPES[type].environmentMapping;
6733
6612
  }
6734
6613
  function getConnectorDerivedNames(secretName) {
6735
6614
  const allTypes = Object.keys(CONNECTOR_TYPES);
@@ -16460,10 +16339,70 @@ var EXPANDED_CONNECTOR_FIREWALLS = Object.fromEntries(
16460
16339
  expandPlaceholders(firewall, type)
16461
16340
  ])
16462
16341
  );
16342
+ function isFirewallConnectorType(type) {
16343
+ return type in CONNECTOR_FIREWALLS;
16344
+ }
16345
+ function getConnectorFirewall(type) {
16346
+ return EXPANDED_CONNECTOR_FIREWALLS[type];
16347
+ }
16463
16348
 
16464
16349
  // ../../packages/core/src/firewall-loader.ts
16465
16350
  var MAX_RESPONSE_SIZE = 128 * 1024;
16466
16351
 
16352
+ // ../../packages/core/src/contracts/firewall-rule-matcher.ts
16353
+ var PARAM_SEG = /^\{([^}]+)\}$/;
16354
+ function matchFirewallPath(path, pattern) {
16355
+ const pathSegs = path.split("/").filter(Boolean);
16356
+ const patternSegs = pattern.split("/").filter(Boolean);
16357
+ const params = {};
16358
+ let pi = 0;
16359
+ for (const seg of patternSegs) {
16360
+ const m = PARAM_SEG.exec(seg);
16361
+ if (m) {
16362
+ const name = m[1];
16363
+ if (name.endsWith("+")) {
16364
+ if (pi >= pathSegs.length) return null;
16365
+ params[name.slice(0, -1)] = pathSegs.slice(pi).join("/");
16366
+ return params;
16367
+ }
16368
+ if (name.endsWith("*")) {
16369
+ params[name.slice(0, -1)] = pathSegs.slice(pi).join("/");
16370
+ return params;
16371
+ }
16372
+ if (pi >= pathSegs.length) return null;
16373
+ params[name] = pathSegs[pi];
16374
+ pi++;
16375
+ } else {
16376
+ if (pi >= pathSegs.length || pathSegs[pi] !== seg) return null;
16377
+ pi++;
16378
+ }
16379
+ }
16380
+ if (pi !== pathSegs.length) return null;
16381
+ return params;
16382
+ }
16383
+ function findMatchingPermissions(method, path, config) {
16384
+ const upperMethod = method.toUpperCase();
16385
+ const matched = /* @__PURE__ */ new Set();
16386
+ for (const api of config.apis) {
16387
+ if (!api.permissions) continue;
16388
+ for (const perm of api.permissions) {
16389
+ if (matched.has(perm.name)) continue;
16390
+ for (const rule of perm.rules) {
16391
+ const spaceIdx = rule.indexOf(" ");
16392
+ if (spaceIdx === -1) continue;
16393
+ const ruleMethod = rule.slice(0, spaceIdx).toUpperCase();
16394
+ const rulePath = rule.slice(spaceIdx + 1);
16395
+ if (ruleMethod !== "ANY" && ruleMethod !== upperMethod) continue;
16396
+ if (matchFirewallPath(path, rulePath) !== null) {
16397
+ matched.add(perm.name);
16398
+ break;
16399
+ }
16400
+ }
16401
+ }
16402
+ }
16403
+ return [...matched];
16404
+ }
16405
+
16467
16406
  // ../../packages/core/src/contracts/zero-user-preferences.ts
16468
16407
  import { z as z22 } from "zod";
16469
16408
  var c14 = initContract();
@@ -19676,11 +19615,49 @@ async function updateZeroAgentInstructions(id, content) {
19676
19615
  handleError(result, `Failed to update instructions for zero agent "${id}"`);
19677
19616
  }
19678
19617
 
19679
- // src/lib/api/domains/integrations-slack.ts
19618
+ // src/lib/api/domains/zero-agent-skills.ts
19680
19619
  import { initClient as initClient16 } from "@ts-rest/core";
19620
+ async function listAgentSkills(agentId) {
19621
+ const config = await getClientConfig();
19622
+ const client = initClient16(zeroAgentSkillsCollectionContract, config);
19623
+ const result = await client.list({ params: { id: agentId } });
19624
+ if (result.status === 200) return result.body;
19625
+ handleError(result, `Failed to list skills for agent "${agentId}"`);
19626
+ }
19627
+ async function createAgentSkill(agentId, body) {
19628
+ const config = await getClientConfig();
19629
+ const client = initClient16(zeroAgentSkillsCollectionContract, config);
19630
+ const result = await client.create({ params: { id: agentId }, body });
19631
+ if (result.status === 201) return result.body;
19632
+ handleError(result, `Failed to create skill "${body.name}"`);
19633
+ }
19634
+ async function getAgentSkill(agentId, name) {
19635
+ const config = await getClientConfig();
19636
+ const client = initClient16(zeroAgentSkillsDetailContract, config);
19637
+ const result = await client.get({ params: { id: agentId, name } });
19638
+ if (result.status === 200) return result.body;
19639
+ handleError(result, `Skill "${name}" not found`);
19640
+ }
19641
+ async function updateAgentSkill(agentId, name, body) {
19642
+ const config = await getClientConfig();
19643
+ const client = initClient16(zeroAgentSkillsDetailContract, config);
19644
+ const result = await client.update({ params: { id: agentId, name }, body });
19645
+ if (result.status === 200) return result.body;
19646
+ handleError(result, `Failed to update skill "${name}"`);
19647
+ }
19648
+ async function deleteAgentSkill(agentId, name) {
19649
+ const config = await getClientConfig();
19650
+ const client = initClient16(zeroAgentSkillsDetailContract, config);
19651
+ const result = await client.delete({ params: { id: agentId, name } });
19652
+ if (result.status === 204) return;
19653
+ handleError(result, `Skill "${name}" not found`);
19654
+ }
19655
+
19656
+ // src/lib/api/domains/integrations-slack.ts
19657
+ import { initClient as initClient17 } from "@ts-rest/core";
19681
19658
  async function sendSlackMessage(body) {
19682
19659
  const config = await getClientConfig();
19683
- const client = initClient16(integrationsSlackMessageContract, config);
19660
+ const client = initClient17(integrationsSlackMessageContract, config);
19684
19661
  const result = await client.sendMessage({ body, headers: {} });
19685
19662
  if (result.status === 200) {
19686
19663
  return result.body;
@@ -19689,10 +19666,10 @@ async function sendSlackMessage(body) {
19689
19666
  }
19690
19667
 
19691
19668
  // src/lib/api/domains/zero-schedules.ts
19692
- import { initClient as initClient17 } from "@ts-rest/core";
19669
+ import { initClient as initClient18 } from "@ts-rest/core";
19693
19670
  async function deployZeroSchedule(body) {
19694
19671
  const config = await getClientConfig();
19695
- const client = initClient17(zeroSchedulesMainContract, config);
19672
+ const client = initClient18(zeroSchedulesMainContract, config);
19696
19673
  const result = await client.deploy({ body });
19697
19674
  if (result.status === 200 || result.status === 201) {
19698
19675
  return result.body;
@@ -19701,7 +19678,7 @@ async function deployZeroSchedule(body) {
19701
19678
  }
19702
19679
  async function listZeroSchedules() {
19703
19680
  const config = await getClientConfig();
19704
- const client = initClient17(zeroSchedulesMainContract, config);
19681
+ const client = initClient18(zeroSchedulesMainContract, config);
19705
19682
  const result = await client.list({ headers: {} });
19706
19683
  if (result.status === 200) {
19707
19684
  return result.body;
@@ -19710,7 +19687,7 @@ async function listZeroSchedules() {
19710
19687
  }
19711
19688
  async function deleteZeroSchedule(params) {
19712
19689
  const config = await getClientConfig();
19713
- const client = initClient17(zeroSchedulesByNameContract, config);
19690
+ const client = initClient18(zeroSchedulesByNameContract, config);
19714
19691
  const result = await client.delete({
19715
19692
  params: { name: params.name },
19716
19693
  query: { agentId: params.agentId }
@@ -19722,7 +19699,7 @@ async function deleteZeroSchedule(params) {
19722
19699
  }
19723
19700
  async function enableZeroSchedule(params) {
19724
19701
  const config = await getClientConfig();
19725
- const client = initClient17(zeroSchedulesEnableContract, config);
19702
+ const client = initClient18(zeroSchedulesEnableContract, config);
19726
19703
  const result = await client.enable({
19727
19704
  params: { name: params.name },
19728
19705
  body: { agentId: params.agentId }
@@ -19734,7 +19711,7 @@ async function enableZeroSchedule(params) {
19734
19711
  }
19735
19712
  async function disableZeroSchedule(params) {
19736
19713
  const config = await getClientConfig();
19737
- const client = initClient17(zeroSchedulesEnableContract, config);
19714
+ const client = initClient18(zeroSchedulesEnableContract, config);
19738
19715
  const result = await client.disable({
19739
19716
  params: { name: params.name },
19740
19717
  body: { agentId: params.agentId }
@@ -19774,24 +19751,24 @@ async function resolveZeroScheduleByAgent(agentIdentifier, scheduleName) {
19774
19751
  }
19775
19752
 
19776
19753
  // src/lib/api/domains/zero-runs.ts
19777
- import { initClient as initClient18 } from "@ts-rest/core";
19754
+ import { initClient as initClient19 } from "@ts-rest/core";
19778
19755
  async function createZeroRun(body) {
19779
19756
  const config = await getClientConfig();
19780
- const client = initClient18(zeroRunsMainContract, config);
19757
+ const client = initClient19(zeroRunsMainContract, config);
19781
19758
  const result = await client.create({ body });
19782
19759
  if (result.status === 201) return result.body;
19783
19760
  handleError(result, "Failed to create zero run");
19784
19761
  }
19785
19762
  async function getZeroRun(id) {
19786
19763
  const config = await getClientConfig();
19787
- const client = initClient18(zeroRunsByIdContract, config);
19764
+ const client = initClient19(zeroRunsByIdContract, config);
19788
19765
  const result = await client.getById({ params: { id } });
19789
19766
  if (result.status === 200) return result.body;
19790
19767
  handleError(result, `Failed to get zero run "${id}"`);
19791
19768
  }
19792
19769
  async function getZeroRunAgentEvents(id, options) {
19793
19770
  const config = await getClientConfig();
19794
- const client = initClient18(zeroRunAgentEventsContract, config);
19771
+ const client = initClient19(zeroRunAgentEventsContract, config);
19795
19772
  const result = await client.getAgentEvents({
19796
19773
  params: { id },
19797
19774
  query: {
@@ -19805,17 +19782,17 @@ async function getZeroRunAgentEvents(id, options) {
19805
19782
  }
19806
19783
 
19807
19784
  // src/lib/api/domains/zero-ask-user.ts
19808
- import { initClient as initClient19 } from "@ts-rest/core";
19785
+ import { initClient as initClient20 } from "@ts-rest/core";
19809
19786
  async function postAskUserQuestion(body) {
19810
19787
  const config = await getClientConfig();
19811
- const client = initClient19(zeroAskUserQuestionContract, config);
19788
+ const client = initClient20(zeroAskUserQuestionContract, config);
19812
19789
  const result = await client.postQuestion({ body, headers: {} });
19813
19790
  if (result.status === 200) return result.body;
19814
19791
  handleError(result, "Failed to post question");
19815
19792
  }
19816
19793
  async function getAskUserAnswer(pendingId) {
19817
19794
  const config = await getClientConfig();
19818
- const client = initClient19(zeroAskUserAnswerContract, config);
19795
+ const client = initClient20(zeroAskUserAnswerContract, config);
19819
19796
  const result = await client.getAnswer({
19820
19797
  query: { pendingId },
19821
19798
  headers: {}
@@ -20706,6 +20683,9 @@ export {
20706
20683
  parseGitHubTreeUrl,
20707
20684
  parseGitHubUrl,
20708
20685
  resolveSkillRef,
20686
+ isFirewallConnectorType,
20687
+ getConnectorFirewall,
20688
+ findMatchingPermissions,
20709
20689
  getInstructionsStorageName,
20710
20690
  getSkillStorageName,
20711
20691
  getInstructionsFilename,
@@ -20767,6 +20747,11 @@ export {
20767
20747
  getZeroAgentUserConnectors,
20768
20748
  setZeroAgentUserConnectors,
20769
20749
  updateZeroAgentInstructions,
20750
+ listAgentSkills,
20751
+ createAgentSkill,
20752
+ getAgentSkill,
20753
+ updateAgentSkill,
20754
+ deleteAgentSkill,
20770
20755
  listZeroConnectors,
20771
20756
  getZeroConnector,
20772
20757
  deleteZeroConnector,
@@ -20811,4 +20796,4 @@ export {
20811
20796
  pollEvents,
20812
20797
  showNextSteps
20813
20798
  };
20814
- //# sourceMappingURL=chunk-AM6X5N5J.js.map
20799
+ //# sourceMappingURL=chunk-KEYG4DHY.js.map