From 00411ef0ed0dc7316d79ace27df2db60ca21a036 Mon Sep 17 00:00:00 2001 From: Jared Hanson Date: Wed, 21 May 2025 13:11:29 -0700 Subject: [PATCH 1/2] Allow Agent instance to override the OAuth provider. --- packages/agents/src/index.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/agents/src/index.ts b/packages/agents/src/index.ts index 157d3c09..c0d3fc78 100644 --- a/packages/agents/src/index.ts +++ b/packages/agents/src/index.ts @@ -831,9 +831,9 @@ export class Agent extends Server { private async _scheduleNextAlarm() { // Find the next schedule that needs to be executed const result = this.sql` - SELECT time FROM cf_agents_schedules + SELECT time FROM cf_agents_schedules WHERE time > ${Math.floor(Date.now() / 1000)} - ORDER BY time ASC + ORDER BY time ASC LIMIT 1 `; if (!result) return; @@ -986,11 +986,7 @@ export class Agent extends Server { oauthClientId?: string; } ): Promise<{ id: string; authUrl: string | undefined }> { - const authProvider = new DurableObjectOAuthClientProvider( - this.ctx.storage, - this.name, - callbackUrl - ); + const authProvider = this.createOAuthProvider(callbackUrl); if (reconnect) { authProvider.serverId = reconnect.id; @@ -1084,6 +1080,14 @@ export class Agent extends Server { return mcpState; } + + createOAuthProvider(callbackUrl: string): AgentsOAuthProvider { + return new DurableObjectOAuthClientProvider( + this.ctx.storage, + this.name, + callbackUrl + ); + } } /** From b472ae34f5f74f84715c17d72746d749de3171b5 Mon Sep 17 00:00:00 2001 From: Jared Hanson Date: Wed, 28 May 2025 04:30:14 -0700 Subject: [PATCH 2/2] Add changeset. --- .changeset/fuzzy-states-matter.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fuzzy-states-matter.md diff --git a/.changeset/fuzzy-states-matter.md b/.changeset/fuzzy-states-matter.md new file mode 100644 index 00000000..bf47cf1e --- /dev/null +++ b/.changeset/fuzzy-states-matter.md @@ -0,0 +1,5 @@ +--- +"agents": patch +--- + +Allow agents to customize OAuth client behavior