@everworker/oneringai 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -10605,6 +10605,8 @@ interface AuthTemplate {
10605
10605
  defaults: Partial<ConnectorAuth>;
10606
10606
  /** Common scopes for this auth method */
10607
10607
  scopes?: string[];
10608
+ /** Human-readable descriptions for scopes (key = scope ID) */
10609
+ scopeDescriptions?: Record<string, string>;
10608
10610
  }
10609
10611
  /**
10610
10612
  * Known fields that can be required/optional in auth templates
@@ -10744,6 +10746,8 @@ interface VendorInfo {
10744
10746
  type: string;
10745
10747
  description: string;
10746
10748
  requiredFields: string[];
10749
+ scopes?: string[];
10750
+ scopeDescriptions?: Record<string, string>;
10747
10751
  }[];
10748
10752
  }
10749
10753
  /**
@@ -12840,7 +12844,7 @@ declare const desktopTools: (ToolFunction<DesktopScreenshotArgs, DesktopScreensh
12840
12844
  * AUTO-GENERATED FILE - DO NOT EDIT MANUALLY
12841
12845
  *
12842
12846
  * Generated by: scripts/generate-tool-registry.ts
12843
- * Generated at: 2026-02-11T15:50:34.835Z
12847
+ * Generated at: 2026-02-16T17:24:59.049Z
12844
12848
  *
12845
12849
  * To regenerate: npm run generate:tools
12846
12850
  */
package/dist/index.d.ts CHANGED
@@ -10605,6 +10605,8 @@ interface AuthTemplate {
10605
10605
  defaults: Partial<ConnectorAuth>;
10606
10606
  /** Common scopes for this auth method */
10607
10607
  scopes?: string[];
10608
+ /** Human-readable descriptions for scopes (key = scope ID) */
10609
+ scopeDescriptions?: Record<string, string>;
10608
10610
  }
10609
10611
  /**
10610
10612
  * Known fields that can be required/optional in auth templates
@@ -10744,6 +10746,8 @@ interface VendorInfo {
10744
10746
  type: string;
10745
10747
  description: string;
10746
10748
  requiredFields: string[];
10749
+ scopes?: string[];
10750
+ scopeDescriptions?: Record<string, string>;
10747
10751
  }[];
10748
10752
  }
10749
10753
  /**
@@ -12840,7 +12844,7 @@ declare const desktopTools: (ToolFunction<DesktopScreenshotArgs, DesktopScreensh
12840
12844
  * AUTO-GENERATED FILE - DO NOT EDIT MANUALLY
12841
12845
  *
12842
12846
  * Generated by: scripts/generate-tool-registry.ts
12843
- * Generated at: 2026-02-11T15:50:34.835Z
12847
+ * Generated at: 2026-02-16T17:24:59.049Z
12844
12848
  *
12845
12849
  * To regenerate: npm run generate:tools
12846
12850
  */
package/dist/index.js CHANGED
@@ -308,6 +308,10 @@ var init_pkce = __esm({
308
308
  });
309
309
 
310
310
  // src/connectors/oauth/flows/AuthCodePKCE.ts
311
+ function isPublicClientError(responseBody) {
312
+ const lower = responseBody.toLowerCase();
313
+ return lower.includes("aadsts700025") || lower.includes("invalid_client") && lower.includes("public");
314
+ }
311
315
  var AuthCodePKCEFlow;
312
316
  var init_AuthCodePKCE = __esm({
313
317
  "src/connectors/oauth/flows/AuthCodePKCE.ts"() {
@@ -403,14 +407,32 @@ var init_AuthCodePKCE = __esm({
403
407
  if (this.config.usePKCE !== false && verifierData) {
404
408
  params.append("code_verifier", verifierData.verifier);
405
409
  }
406
- const response = await fetch(this.config.tokenUrl, {
410
+ let response = await fetch(this.config.tokenUrl, {
407
411
  method: "POST",
408
412
  headers: {
409
413
  "Content-Type": "application/x-www-form-urlencoded"
410
414
  },
411
415
  body: params
412
416
  });
413
- if (!response.ok) {
417
+ if (!response.ok && this.config.clientSecret) {
418
+ const errorText = await response.text();
419
+ if (isPublicClientError(errorText)) {
420
+ params.delete("client_secret");
421
+ response = await fetch(this.config.tokenUrl, {
422
+ method: "POST",
423
+ headers: {
424
+ "Content-Type": "application/x-www-form-urlencoded"
425
+ },
426
+ body: params
427
+ });
428
+ if (!response.ok) {
429
+ const retryError = await response.text();
430
+ throw new Error(`Token exchange failed: ${response.status} ${response.statusText} - ${retryError}`);
431
+ }
432
+ } else {
433
+ throw new Error(`Token exchange failed: ${response.status} ${response.statusText} - ${errorText}`);
434
+ }
435
+ } else if (!response.ok) {
414
436
  const error = await response.text();
415
437
  throw new Error(`Token exchange failed: ${response.status} ${response.statusText} - ${error}`);
416
438
  }
@@ -456,14 +478,32 @@ var init_AuthCodePKCE = __esm({
456
478
  if (this.config.clientSecret) {
457
479
  params.append("client_secret", this.config.clientSecret);
458
480
  }
459
- const response = await fetch(this.config.tokenUrl, {
481
+ let response = await fetch(this.config.tokenUrl, {
460
482
  method: "POST",
461
483
  headers: {
462
484
  "Content-Type": "application/x-www-form-urlencoded"
463
485
  },
464
486
  body: params
465
487
  });
466
- if (!response.ok) {
488
+ if (!response.ok && this.config.clientSecret) {
489
+ const errorText = await response.text();
490
+ if (isPublicClientError(errorText)) {
491
+ params.delete("client_secret");
492
+ response = await fetch(this.config.tokenUrl, {
493
+ method: "POST",
494
+ headers: {
495
+ "Content-Type": "application/x-www-form-urlencoded"
496
+ },
497
+ body: params
498
+ });
499
+ if (!response.ok) {
500
+ const retryError = await response.text();
501
+ throw new Error(`Token refresh failed: ${response.status} ${response.statusText} - ${retryError}`);
502
+ }
503
+ } else {
504
+ throw new Error(`Token refresh failed: ${response.status} ${response.statusText} - ${errorText}`);
505
+ }
506
+ } else if (!response.ok) {
467
507
  const error = await response.text();
468
508
  throw new Error(`Token refresh failed: ${response.status} ${response.statusText} - ${error}`);
469
509
  }
@@ -42896,6 +42936,23 @@ var SERVICE_DEFINITIONS = [
42896
42936
  baseURL: "https://api-m.paypal.com/v2",
42897
42937
  docsURL: "https://developer.paypal.com/docs/api/"
42898
42938
  },
42939
+ {
42940
+ id: "quickbooks",
42941
+ name: "QuickBooks",
42942
+ category: "payments",
42943
+ urlPattern: /quickbooks\.api\.intuit\.com|intuit\.com.*quickbooks/i,
42944
+ baseURL: "https://quickbooks.api.intuit.com/v3",
42945
+ docsURL: "https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account",
42946
+ commonScopes: ["com.intuit.quickbooks.accounting"]
42947
+ },
42948
+ {
42949
+ id: "ramp",
42950
+ name: "Ramp",
42951
+ category: "payments",
42952
+ urlPattern: /api\.ramp\.com/i,
42953
+ baseURL: "https://api.ramp.com/developer/v1",
42954
+ docsURL: "https://docs.ramp.com/reference"
42955
+ },
42899
42956
  // ============ Cloud Providers ============
42900
42957
  {
42901
42958
  id: "aws",
@@ -44321,7 +44378,9 @@ function getVendorInfo(vendorId) {
44321
44378
  name: a.name,
44322
44379
  type: a.type,
44323
44380
  description: a.description,
44324
- requiredFields: a.requiredFields
44381
+ requiredFields: a.requiredFields,
44382
+ scopes: a.scopes,
44383
+ scopeDescriptions: a.scopeDescriptions
44325
44384
  }))
44326
44385
  };
44327
44386
  }
@@ -44337,7 +44396,9 @@ function listVendors() {
44337
44396
  name: a.name,
44338
44397
  type: a.type,
44339
44398
  description: a.description,
44340
- requiredFields: a.requiredFields
44399
+ requiredFields: a.requiredFields,
44400
+ scopes: a.scopes,
44401
+ scopeDescriptions: a.scopeDescriptions
44341
44402
  }))
44342
44403
  }));
44343
44404
  }
@@ -44386,14 +44447,49 @@ var microsoftTemplate = {
44386
44447
  scopes: [
44387
44448
  "User.Read",
44388
44449
  "Mail.Read",
44450
+ "Mail.ReadWrite",
44389
44451
  "Mail.Send",
44390
- "Files.ReadWrite",
44391
44452
  "Calendars.ReadWrite",
44453
+ "Contacts.Read",
44454
+ "Contacts.ReadWrite",
44455
+ "Files.ReadWrite",
44456
+ "Sites.Read.All",
44457
+ "Sites.ReadWrite.All",
44458
+ "Notes.Read",
44459
+ "Notes.ReadWrite",
44460
+ "Tasks.ReadWrite",
44392
44461
  "ChannelMessage.Send",
44393
44462
  "Team.ReadBasic.All",
44394
44463
  "Chat.ReadWrite",
44464
+ "People.Read",
44465
+ "Presence.Read",
44466
+ "Directory.Read.All",
44467
+ "BookingsAppointment.ReadWrite.All",
44395
44468
  "offline_access"
44396
- ]
44469
+ ],
44470
+ scopeDescriptions: {
44471
+ "User.Read": "Read your profile",
44472
+ "Mail.Read": "Read your email",
44473
+ "Mail.ReadWrite": "Read and write your email",
44474
+ "Mail.Send": "Send email on your behalf",
44475
+ "Calendars.ReadWrite": "Read and write your calendar",
44476
+ "Contacts.Read": "Read your contacts",
44477
+ "Contacts.ReadWrite": "Read and write your contacts",
44478
+ "Files.ReadWrite": "Read and write your files (OneDrive)",
44479
+ "Sites.Read.All": "Read SharePoint sites",
44480
+ "Sites.ReadWrite.All": "Read and write SharePoint sites",
44481
+ "Notes.Read": "Read your OneNote notebooks",
44482
+ "Notes.ReadWrite": "Read and write your OneNote notebooks",
44483
+ "Tasks.ReadWrite": "Read and write your tasks (To Do / Planner)",
44484
+ "ChannelMessage.Send": "Send messages in Teams channels",
44485
+ "Team.ReadBasic.All": "Read Teams basic info",
44486
+ "Chat.ReadWrite": "Read and write Teams chats",
44487
+ "People.Read": "Read your relevant people list",
44488
+ "Presence.Read": "Read user presence information",
44489
+ "Directory.Read.All": "Read directory data (Azure AD)",
44490
+ "BookingsAppointment.ReadWrite.All": "Manage Bookings appointments",
44491
+ "offline_access": "Maintain access (refresh token)"
44492
+ }
44397
44493
  },
44398
44494
  {
44399
44495
  id: "client-credentials",
@@ -44408,7 +44504,10 @@ var microsoftTemplate = {
44408
44504
  flow: "client_credentials",
44409
44505
  tokenUrl: "https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token"
44410
44506
  },
44411
- scopes: ["https://graph.microsoft.com/.default"]
44507
+ scopes: ["https://graph.microsoft.com/.default"],
44508
+ scopeDescriptions: {
44509
+ "https://graph.microsoft.com/.default": "All permissions granted to the app registration"
44510
+ }
44412
44511
  }
44413
44512
  ]
44414
44513
  };
@@ -44442,9 +44541,24 @@ var googleTemplate = {
44442
44541
  "https://www.googleapis.com/auth/drive",
44443
44542
  "https://www.googleapis.com/auth/calendar",
44444
44543
  "https://www.googleapis.com/auth/gmail.readonly",
44544
+ "https://www.googleapis.com/auth/gmail.send",
44445
44545
  "https://www.googleapis.com/auth/spreadsheets",
44446
- "https://www.googleapis.com/auth/documents"
44447
- ]
44546
+ "https://www.googleapis.com/auth/documents",
44547
+ "https://www.googleapis.com/auth/contacts.readonly",
44548
+ "https://www.googleapis.com/auth/tasks",
44549
+ "https://www.googleapis.com/auth/admin.directory.user.readonly"
44550
+ ],
44551
+ scopeDescriptions: {
44552
+ "https://www.googleapis.com/auth/drive": "Read and write Google Drive files",
44553
+ "https://www.googleapis.com/auth/calendar": "Read and write Google Calendar",
44554
+ "https://www.googleapis.com/auth/gmail.readonly": "Read Gmail messages",
44555
+ "https://www.googleapis.com/auth/gmail.send": "Send Gmail messages",
44556
+ "https://www.googleapis.com/auth/spreadsheets": "Read and write Google Sheets",
44557
+ "https://www.googleapis.com/auth/documents": "Read and write Google Docs",
44558
+ "https://www.googleapis.com/auth/contacts.readonly": "Read Google Contacts",
44559
+ "https://www.googleapis.com/auth/tasks": "Read and write Google Tasks",
44560
+ "https://www.googleapis.com/auth/admin.directory.user.readonly": "Read user directory (Admin)"
44561
+ }
44448
44562
  },
44449
44563
  {
44450
44564
  id: "service-account",
@@ -44463,7 +44577,11 @@ var googleTemplate = {
44463
44577
  scopes: [
44464
44578
  "https://www.googleapis.com/auth/cloud-platform",
44465
44579
  "https://www.googleapis.com/auth/drive"
44466
- ]
44580
+ ],
44581
+ scopeDescriptions: {
44582
+ "https://www.googleapis.com/auth/cloud-platform": "Full access to Google Cloud Platform",
44583
+ "https://www.googleapis.com/auth/drive": "Read and write Google Drive files"
44584
+ }
44467
44585
  }
44468
44586
  ]
44469
44587
  };
@@ -44505,7 +44623,19 @@ var slackTemplate = {
44505
44623
  authorizationUrl: "https://slack.com/oauth/v2/authorize",
44506
44624
  tokenUrl: "https://slack.com/api/oauth.v2.access"
44507
44625
  },
44508
- scopes: ["chat:write", "channels:read", "users:read", "im:write", "groups:read"]
44626
+ scopes: ["chat:write", "channels:read", "users:read", "im:write", "groups:read", "files:read", "files:write", "reactions:read", "reactions:write", "team:read"],
44627
+ scopeDescriptions: {
44628
+ "chat:write": "Send messages as the app",
44629
+ "channels:read": "View basic channel info",
44630
+ "users:read": "View people in the workspace",
44631
+ "im:write": "Send direct messages",
44632
+ "groups:read": "View basic private channel info",
44633
+ "files:read": "View files shared in channels",
44634
+ "files:write": "Upload and manage files",
44635
+ "reactions:read": "View emoji reactions",
44636
+ "reactions:write": "Add and remove emoji reactions",
44637
+ "team:read": "View workspace info"
44638
+ }
44509
44639
  }
44510
44640
  ]
44511
44641
  };
@@ -44546,7 +44676,16 @@ var discordTemplate = {
44546
44676
  authorizationUrl: "https://discord.com/api/oauth2/authorize",
44547
44677
  tokenUrl: "https://discord.com/api/oauth2/token"
44548
44678
  },
44549
- scopes: ["identify", "guilds", "guilds.members.read", "messages.read"]
44679
+ scopes: ["identify", "email", "guilds", "guilds.members.read", "messages.read", "bot", "connections"],
44680
+ scopeDescriptions: {
44681
+ "identify": "Access your username and avatar",
44682
+ "email": "Access your email address",
44683
+ "guilds": "View your server list",
44684
+ "guilds.members.read": "Read server member info",
44685
+ "messages.read": "Read messages in accessible channels",
44686
+ "bot": "Add a bot to your servers",
44687
+ "connections": "View your connected accounts"
44688
+ }
44550
44689
  }
44551
44690
  ]
44552
44691
  };
@@ -44613,7 +44752,18 @@ var githubTemplate = {
44613
44752
  authorizationUrl: "https://github.com/login/oauth/authorize",
44614
44753
  tokenUrl: "https://github.com/login/oauth/access_token"
44615
44754
  },
44616
- scopes: ["repo", "read:user", "read:org", "workflow", "gist"]
44755
+ scopes: ["repo", "read:user", "user:email", "read:org", "workflow", "gist", "notifications", "delete_repo", "admin:org"],
44756
+ scopeDescriptions: {
44757
+ "repo": "Full control of private repositories",
44758
+ "read:user": "Read user profile data",
44759
+ "user:email": "Access user email addresses",
44760
+ "read:org": "Read org and team membership",
44761
+ "workflow": "Update GitHub Actions workflows",
44762
+ "gist": "Create and manage gists",
44763
+ "notifications": "Access notifications",
44764
+ "delete_repo": "Delete repositories",
44765
+ "admin:org": "Full control of orgs and teams"
44766
+ }
44617
44767
  },
44618
44768
  {
44619
44769
  id: "github-app",
@@ -44668,7 +44818,13 @@ var gitlabTemplate = {
44668
44818
  authorizationUrl: "https://gitlab.com/oauth/authorize",
44669
44819
  tokenUrl: "https://gitlab.com/oauth/token"
44670
44820
  },
44671
- scopes: ["api", "read_user", "read_repository", "write_repository"]
44821
+ scopes: ["api", "read_user", "read_repository", "write_repository"],
44822
+ scopeDescriptions: {
44823
+ "api": "Full API access",
44824
+ "read_user": "Read user profile",
44825
+ "read_repository": "Read repository contents",
44826
+ "write_repository": "Write to repositories"
44827
+ }
44672
44828
  }
44673
44829
  ]
44674
44830
  };
@@ -44710,7 +44866,14 @@ var jiraTemplate = {
44710
44866
  authorizationUrl: "https://auth.atlassian.com/authorize",
44711
44867
  tokenUrl: "https://auth.atlassian.com/oauth/token"
44712
44868
  },
44713
- scopes: ["read:jira-work", "write:jira-work", "read:jira-user"]
44869
+ scopes: ["read:jira-work", "write:jira-work", "read:jira-user", "manage:jira-project", "manage:jira-configuration"],
44870
+ scopeDescriptions: {
44871
+ "read:jira-work": "Read issues, projects, boards",
44872
+ "write:jira-work": "Create and update issues",
44873
+ "read:jira-user": "Read user information",
44874
+ "manage:jira-project": "Manage projects and components",
44875
+ "manage:jira-configuration": "Manage Jira settings"
44876
+ }
44714
44877
  }
44715
44878
  ]
44716
44879
  };
@@ -44750,7 +44913,14 @@ var confluenceTemplate = {
44750
44913
  authorizationUrl: "https://auth.atlassian.com/authorize",
44751
44914
  tokenUrl: "https://auth.atlassian.com/oauth/token"
44752
44915
  },
44753
- scopes: ["read:confluence-content.all", "write:confluence-content", "read:confluence-space.summary"]
44916
+ scopes: ["read:confluence-content.all", "write:confluence-content", "read:confluence-space.summary", "write:confluence-space", "read:confluence-user"],
44917
+ scopeDescriptions: {
44918
+ "read:confluence-content.all": "Read all pages and blog posts",
44919
+ "write:confluence-content": "Create and update pages",
44920
+ "read:confluence-space.summary": "Read space summaries",
44921
+ "write:confluence-space": "Create and manage spaces",
44922
+ "read:confluence-user": "Read user information"
44923
+ }
44754
44924
  }
44755
44925
  ]
44756
44926
  };
@@ -44789,7 +44959,16 @@ var bitbucketTemplate = {
44789
44959
  authorizationUrl: "https://bitbucket.org/site/oauth2/authorize",
44790
44960
  tokenUrl: "https://bitbucket.org/site/oauth2/access_token"
44791
44961
  },
44792
- scopes: ["repository", "pullrequest", "account"]
44962
+ scopes: ["repository", "repository:write", "pullrequest", "pullrequest:write", "account", "pipeline", "wiki"],
44963
+ scopeDescriptions: {
44964
+ "repository": "Read repositories",
44965
+ "repository:write": "Write to repositories",
44966
+ "pullrequest": "Read pull requests",
44967
+ "pullrequest:write": "Create and update pull requests",
44968
+ "account": "Read account information",
44969
+ "pipeline": "Access Pipelines (CI/CD)",
44970
+ "wiki": "Access repository wiki"
44971
+ }
44793
44972
  }
44794
44973
  ]
44795
44974
  };
@@ -44829,7 +45008,12 @@ var trelloTemplate = {
44829
45008
  authorizationUrl: "https://trello.com/1/authorize",
44830
45009
  tokenUrl: "https://trello.com/1/OAuthGetAccessToken"
44831
45010
  },
44832
- scopes: ["read", "write", "account"]
45011
+ scopes: ["read", "write", "account"],
45012
+ scopeDescriptions: {
45013
+ "read": "Read boards, lists, and cards",
45014
+ "write": "Create and update boards, lists, and cards",
45015
+ "account": "Read member information"
45016
+ }
44833
45017
  }
44834
45018
  ]
44835
45019
  };
@@ -45024,7 +45208,15 @@ var salesforceTemplate = {
45024
45208
  authorizationUrl: "https://login.salesforce.com/services/oauth2/authorize",
45025
45209
  tokenUrl: "https://login.salesforce.com/services/oauth2/token"
45026
45210
  },
45027
- scopes: ["api", "refresh_token", "offline_access"]
45211
+ scopes: ["api", "refresh_token", "offline_access", "chatter_api", "wave_api", "full"],
45212
+ scopeDescriptions: {
45213
+ "api": "Access and manage your data",
45214
+ "refresh_token": "Maintain access with refresh tokens",
45215
+ "offline_access": "Access data while you are offline",
45216
+ "chatter_api": "Access Chatter feeds and posts",
45217
+ "wave_api": "Access Analytics (Wave) API",
45218
+ "full": "Full access to all data"
45219
+ }
45028
45220
  },
45029
45221
  {
45030
45222
  id: "jwt-bearer",
@@ -45079,7 +45271,26 @@ var hubspotTemplate = {
45079
45271
  authorizationUrl: "https://app.hubspot.com/oauth/authorize",
45080
45272
  tokenUrl: "https://api.hubapi.com/oauth/v1/token"
45081
45273
  },
45082
- scopes: ["crm.objects.contacts.read", "crm.objects.contacts.write", "crm.objects.companies.read"]
45274
+ scopes: [
45275
+ "crm.objects.contacts.read",
45276
+ "crm.objects.contacts.write",
45277
+ "crm.objects.companies.read",
45278
+ "crm.objects.companies.write",
45279
+ "crm.objects.deals.read",
45280
+ "crm.objects.deals.write",
45281
+ "tickets",
45282
+ "e-commerce"
45283
+ ],
45284
+ scopeDescriptions: {
45285
+ "crm.objects.contacts.read": "Read contacts",
45286
+ "crm.objects.contacts.write": "Create and update contacts",
45287
+ "crm.objects.companies.read": "Read companies",
45288
+ "crm.objects.companies.write": "Create and update companies",
45289
+ "crm.objects.deals.read": "Read deals",
45290
+ "crm.objects.deals.write": "Create and update deals",
45291
+ "tickets": "Read and write support tickets",
45292
+ "e-commerce": "Access e-commerce data (products, line items)"
45293
+ }
45083
45294
  }
45084
45295
  ]
45085
45296
  };
@@ -45192,6 +45403,86 @@ var paypalTemplate = {
45192
45403
  ]
45193
45404
  };
45194
45405
 
45406
+ // src/connectors/vendors/templates/quickbooks.ts
45407
+ var quickbooksTemplate = {
45408
+ id: "quickbooks",
45409
+ name: "QuickBooks",
45410
+ serviceType: "quickbooks",
45411
+ baseURL: "https://quickbooks.api.intuit.com/v3",
45412
+ docsURL: "https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account",
45413
+ credentialsSetupURL: "https://developer.intuit.com/app/developer/dashboard",
45414
+ category: "payments",
45415
+ notes: "Use sandbox URL (sandbox-quickbooks.api.intuit.com) for testing. Requires company/realm ID in API paths.",
45416
+ authTemplates: [
45417
+ {
45418
+ id: "oauth-user",
45419
+ name: "OAuth (User Authorization)",
45420
+ type: "oauth",
45421
+ flow: "authorization_code",
45422
+ description: "Standard OAuth 2.0 flow for accessing QuickBooks on behalf of a user. Create an app at developer.intuit.com",
45423
+ requiredFields: ["clientId", "clientSecret", "redirectUri"],
45424
+ optionalFields: ["scope"],
45425
+ defaults: {
45426
+ type: "oauth",
45427
+ flow: "authorization_code",
45428
+ authorizationUrl: "https://appcenter.intuit.com/connect/oauth2",
45429
+ tokenUrl: "https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer"
45430
+ },
45431
+ scopes: ["com.intuit.quickbooks.accounting", "com.intuit.quickbooks.payment"]
45432
+ }
45433
+ ]
45434
+ };
45435
+
45436
+ // src/connectors/vendors/templates/ramp.ts
45437
+ var rampTemplate = {
45438
+ id: "ramp",
45439
+ name: "Ramp",
45440
+ serviceType: "ramp",
45441
+ baseURL: "https://api.ramp.com/developer/v1",
45442
+ docsURL: "https://docs.ramp.com",
45443
+ credentialsSetupURL: "https://app.ramp.com/settings/developer",
45444
+ category: "payments",
45445
+ authTemplates: [
45446
+ {
45447
+ id: "oauth-client-credentials",
45448
+ name: "OAuth (Client Credentials)",
45449
+ type: "oauth",
45450
+ flow: "client_credentials",
45451
+ description: "App-level authentication using client credentials. Create an API application in Ramp developer settings",
45452
+ requiredFields: ["clientId", "clientSecret"],
45453
+ defaults: {
45454
+ type: "oauth",
45455
+ flow: "client_credentials",
45456
+ tokenUrl: "https://api.ramp.com/developer/v1/token"
45457
+ }
45458
+ },
45459
+ {
45460
+ id: "oauth-user",
45461
+ name: "OAuth (User Authorization)",
45462
+ type: "oauth",
45463
+ flow: "authorization_code",
45464
+ description: "OAuth 2.0 authorization code flow for accessing Ramp on behalf of a user",
45465
+ requiredFields: ["clientId", "clientSecret", "redirectUri"],
45466
+ optionalFields: ["scope"],
45467
+ defaults: {
45468
+ type: "oauth",
45469
+ flow: "authorization_code",
45470
+ authorizationUrl: "https://app.ramp.com/v1/authorize",
45471
+ tokenUrl: "https://api.ramp.com/developer/v1/token"
45472
+ },
45473
+ scopes: [
45474
+ "transactions:read",
45475
+ "users:read",
45476
+ "users:write",
45477
+ "cards:read",
45478
+ "cards:write",
45479
+ "departments:read",
45480
+ "reimbursements:read"
45481
+ ]
45482
+ }
45483
+ ]
45484
+ };
45485
+
45195
45486
  // src/connectors/vendors/templates/aws.ts
45196
45487
  var awsTemplate = {
45197
45488
  id: "aws",
@@ -45244,7 +45535,16 @@ var dropboxTemplate = {
45244
45535
  tokenUrl: "https://api.dropboxapi.com/oauth2/token",
45245
45536
  usePKCE: true
45246
45537
  },
45247
- scopes: ["files.content.read", "files.content.write", "files.metadata.read"]
45538
+ scopes: ["files.content.read", "files.content.write", "files.metadata.read", "files.metadata.write", "sharing.read", "sharing.write", "account_info.read"],
45539
+ scopeDescriptions: {
45540
+ "files.content.read": "Read file contents",
45541
+ "files.content.write": "Upload and modify files",
45542
+ "files.metadata.read": "Read file and folder metadata",
45543
+ "files.metadata.write": "Modify file and folder metadata",
45544
+ "sharing.read": "View sharing settings",
45545
+ "sharing.write": "Manage sharing settings",
45546
+ "account_info.read": "Read account information"
45547
+ }
45248
45548
  }
45249
45549
  ]
45250
45550
  };
@@ -45272,6 +45572,13 @@ var boxTemplate = {
45272
45572
  flow: "authorization_code",
45273
45573
  authorizationUrl: "https://account.box.com/api/oauth2/authorize",
45274
45574
  tokenUrl: "https://api.box.com/oauth2/token"
45575
+ },
45576
+ scopes: ["root_readwrite", "manage_users", "manage_groups", "manage_enterprise"],
45577
+ scopeDescriptions: {
45578
+ "root_readwrite": "Read and write all files and folders",
45579
+ "manage_users": "Manage enterprise users",
45580
+ "manage_groups": "Manage enterprise groups",
45581
+ "manage_enterprise": "Manage enterprise settings"
45275
45582
  }
45276
45583
  },
45277
45584
  {
@@ -45448,6 +45755,11 @@ var pagerdutyTemplate = {
45448
45755
  flow: "authorization_code",
45449
45756
  authorizationUrl: "https://app.pagerduty.com/oauth/authorize",
45450
45757
  tokenUrl: "https://app.pagerduty.com/oauth/token"
45758
+ },
45759
+ scopes: ["read", "write"],
45760
+ scopeDescriptions: {
45761
+ "read": "Read incidents, services, and schedules",
45762
+ "write": "Create and update incidents and services"
45451
45763
  }
45452
45764
  }
45453
45765
  ]
@@ -45486,6 +45798,14 @@ var sentryTemplate = {
45486
45798
  flow: "authorization_code",
45487
45799
  authorizationUrl: "https://sentry.io/oauth/authorize/",
45488
45800
  tokenUrl: "https://sentry.io/oauth/token/"
45801
+ },
45802
+ scopes: ["project:read", "project:write", "event:read", "org:read", "member:read"],
45803
+ scopeDescriptions: {
45804
+ "project:read": "Read project settings",
45805
+ "project:write": "Manage project settings",
45806
+ "event:read": "Read error events and issues",
45807
+ "org:read": "Read organization info",
45808
+ "member:read": "Read org member info"
45489
45809
  }
45490
45810
  }
45491
45811
  ]
@@ -45683,7 +46003,13 @@ var zendeskTemplate = {
45683
46003
  authorizationUrl: "https://{subdomain}.zendesk.com/oauth/authorizations/new",
45684
46004
  tokenUrl: "https://{subdomain}.zendesk.com/oauth/tokens"
45685
46005
  },
45686
- scopes: ["read", "write", "tickets:read", "tickets:write"]
46006
+ scopes: ["read", "write", "tickets:read", "tickets:write"],
46007
+ scopeDescriptions: {
46008
+ "read": "Read all resources",
46009
+ "write": "Create and update resources",
46010
+ "tickets:read": "Read support tickets",
46011
+ "tickets:write": "Create and update tickets"
46012
+ }
45687
46013
  }
45688
46014
  ]
45689
46015
  };
@@ -45761,7 +46087,19 @@ var shopifyTemplate = {
45761
46087
  authorizationUrl: "https://{subdomain}.myshopify.com/admin/oauth/authorize",
45762
46088
  tokenUrl: "https://{subdomain}.myshopify.com/admin/oauth/access_token"
45763
46089
  },
45764
- scopes: ["read_products", "write_products", "read_orders", "write_orders"]
46090
+ scopes: ["read_products", "write_products", "read_orders", "write_orders", "read_customers", "write_customers", "read_inventory", "write_inventory", "read_fulfillments", "write_fulfillments"],
46091
+ scopeDescriptions: {
46092
+ "read_products": "Read products and collections",
46093
+ "write_products": "Create and update products",
46094
+ "read_orders": "Read orders and transactions",
46095
+ "write_orders": "Create and update orders",
46096
+ "read_customers": "Read customer information",
46097
+ "write_customers": "Create and update customers",
46098
+ "read_inventory": "Read inventory levels",
46099
+ "write_inventory": "Update inventory levels",
46100
+ "read_fulfillments": "Read fulfillment data",
46101
+ "write_fulfillments": "Create and update fulfillments"
46102
+ }
45765
46103
  }
45766
46104
  ]
45767
46105
  };
@@ -45794,6 +46132,8 @@ var allVendorTemplates = [
45794
46132
  // Payments
45795
46133
  stripeTemplate,
45796
46134
  paypalTemplate,
46135
+ quickbooksTemplate,
46136
+ rampTemplate,
45797
46137
  // Cloud
45798
46138
  awsTemplate,
45799
46139
  // Storage
@@ -45856,6 +46196,9 @@ var VENDOR_ICON_MAP = {
45856
46196
  // Payments
45857
46197
  stripe: "stripe",
45858
46198
  paypal: "paypal",
46199
+ quickbooks: "quickbooks",
46200
+ ramp: null,
46201
+ // No Simple Icon available
45859
46202
  // Email
45860
46203
  sendgrid: "sendgrid",
45861
46204
  mailchimp: "mailchimp",
@@ -45902,6 +46245,8 @@ var FALLBACK_PLACEHOLDERS = {
45902
46245
  // Email (trademark removed)
45903
46246
  sendgrid: { color: "#1A82E2", letter: "S" },
45904
46247
  postmark: { color: "#FFDE00", letter: "P" },
46248
+ // Payments (no Simple Icon available)
46249
+ ramp: { color: "#F2C94C", letter: "R" },
45905
46250
  // Search (no Simple Icon available)
45906
46251
  serper: { color: "#4A90A4", letter: "S" },
45907
46252
  tavily: { color: "#7C3AED", letter: "T" },