From 07b88d99fda40f4c86602e4d34c67f0f2987a831 Mon Sep 17 00:00:00 2001 From: Jason Endo Date: Thu, 3 Jul 2025 12:55:26 -1000 Subject: [PATCH] add scope as an optional parameter to backendClient --- packages/sdk/CHANGELOG.md | 6 ++++++ packages/sdk/package.json | 2 +- packages/sdk/src/server/index.ts | 12 ++++++++++++ pnpm-lock.yaml | 6 ++---- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/packages/sdk/CHANGELOG.md b/packages/sdk/CHANGELOG.md index 6946daf37818b..43471d8d43a77 100644 --- a/packages/sdk/CHANGELOG.md +++ b/packages/sdk/CHANGELOG.md @@ -2,6 +2,12 @@ # Changelog +## [1.7.0] - 2025-07-03 + +### Added + +- Added optional scope parameter to backendClient creation. + ## [1.6.11] - 2025-07-02 ### Added diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 66b56180e1f9a..774c3089e24a4 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,7 +1,7 @@ { "name": "@pipedream/sdk", "type": "module", - "version": "1.6.11", + "version": "1.7.0", "description": "Pipedream SDK", "main": "./dist/server.js", "module": "./dist/server.js", diff --git a/packages/sdk/src/server/index.ts b/packages/sdk/src/server/index.ts index ff426614bd5a5..610f424652b4f 100644 --- a/packages/sdk/src/server/index.ts +++ b/packages/sdk/src/server/index.ts @@ -56,6 +56,11 @@ export type BackendClientOpts = { * https://pipedream.com/docs/workflows/domains */ workflowDomain?: string; + + /** + * OAuth scope to request when obtaining access tokens + */ + scope?: string[]; }; /** @@ -197,6 +202,7 @@ export class BackendClient extends BaseClient { }; protected override projectId: string = ""; private staticAccessToken?: string; + private scope?: string[]; /** * Constructs a new ServerClient instance. @@ -209,6 +215,7 @@ export class BackendClient extends BaseClient { this.ensureValidEnvironment(opts.environment); this.projectId = opts.projectId; + this.scope = opts.scope; if ("accessToken" in opts.credentials) { this.staticAccessToken = opts.credentials.accessToken; } else { @@ -294,6 +301,11 @@ export class BackendClient extends BaseClient { } const parameters = new URLSearchParams(); + if (this.scope && this.scope.length > 0) { + parameters.set("scope", this.scope.join(" ")); + } + parameters.set("project_id", this.projectId); + parameters.set("environment", this.environment); try { const response = await oauth.clientCredentialsGrantRequest(as, client, clientAuth, parameters); const oauthTokenResponse = await oauth.processClientCredentialsResponse(as, client, response); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 15fda1f3665b3..882c772e013c0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14443,8 +14443,7 @@ importers: specifier: 3.2.2 version: 3.2.2 - components/veriff: - specifiers: {} + components/veriff: {} components/verifiedemail: {} @@ -14746,8 +14745,7 @@ importers: specifier: ^3.0.0 version: 3.0.3 - components/webscrape_ai: - specifiers: {} + components/webscrape_ai: {} components/webscraper_io: dependencies: