From 09d8ef90b79f4d7bd7787f19adc6b4d0893aeaee Mon Sep 17 00:00:00 2001 From: Tom Milewski Date: Mon, 9 Mar 2026 17:12:21 -0400 Subject: [PATCH 1/3] chore(backend): Rename taskId -> agentTaskId --- .../backend/src/api/__tests__/AgentTaskApi.test.ts | 10 ++++++---- packages/backend/src/api/resources/AgentTask.ts | 7 ++++++- packages/backend/src/api/resources/JSON.ts | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/backend/src/api/__tests__/AgentTaskApi.test.ts b/packages/backend/src/api/__tests__/AgentTaskApi.test.ts index 8f77842f5f1..5aa1313cdca 100644 --- a/packages/backend/src/api/__tests__/AgentTaskApi.test.ts +++ b/packages/backend/src/api/__tests__/AgentTaskApi.test.ts @@ -13,7 +13,8 @@ describe('AgentTaskAPI', () => { const mockAgentTaskResponse = { object: 'agent_task', agent_id: 'agent_123', - task_id: 'task_456', + task_id: 'agent_task_456', + agent_task_id: 'agent_task_456', url: 'https://example.com/agent-task', }; @@ -51,9 +52,9 @@ describe('AgentTaskAPI', () => { redirectUrl: 'https://example.com/callback', sessionMaxDurationInSeconds: 1800, }); - expect(response.agentId).toBe('agent_123'); - expect(response.taskId).toBe('task_456'); + expect(response.taskId).toBe('agent_task_456'); + expect(response.agentTaskId).toBe('agent_task_456'); expect(response.url).toBe('https://example.com/agent-task'); }); @@ -90,7 +91,8 @@ describe('AgentTaskAPI', () => { }); expect(response.agentId).toBe('agent_123'); - expect(response.taskId).toBe('task_456'); + expect(response.taskId).toBe('agent_task_456'); + expect(response.agentTaskId).toBe('agent_task_456'); }); }); }); diff --git a/packages/backend/src/api/resources/AgentTask.ts b/packages/backend/src/api/resources/AgentTask.ts index e5e821320f6..46db553938d 100644 --- a/packages/backend/src/api/resources/AgentTask.ts +++ b/packages/backend/src/api/resources/AgentTask.ts @@ -14,8 +14,13 @@ export class AgentTask { readonly agentId: string, /** * A unique identifier for this agent task. + * @deprecated Use agentTaskId instead. */ readonly taskId: string, + /** + * A unique identifier for this agent task. + */ + readonly agentTaskId: string, /** * The FAPI URL that, when visited, creates a session for the user. */ @@ -29,6 +34,6 @@ export class AgentTask { * @returns A new AgentTask instance */ static fromJSON(data: AgentTaskJSON): AgentTask { - return new AgentTask(data.agent_id, data.task_id, data.url); + return new AgentTask(data.agent_id, data.agent_task_id, data.agent_task_id, data.url); } } diff --git a/packages/backend/src/api/resources/JSON.ts b/packages/backend/src/api/resources/JSON.ts index 2da34e59185..bf6789e479c 100644 --- a/packages/backend/src/api/resources/JSON.ts +++ b/packages/backend/src/api/resources/JSON.ts @@ -516,7 +516,7 @@ export interface SignInTokenJSON extends ClerkResourceJSON { export interface AgentTaskJSON extends ClerkResourceJSON { object: typeof ObjectType.AgentTask; agent_id: string; - task_id: string; + agent_task_id: string; url: string; } From 10292ef3be6fa73ff01029a85c4459d0509039f3 Mon Sep 17 00:00:00 2001 From: Tom Milewski Date: Mon, 9 Mar 2026 17:18:39 -0400 Subject: [PATCH 2/3] chore: Add changeset --- .changeset/cute-places-wear.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/cute-places-wear.md diff --git a/.changeset/cute-places-wear.md b/.changeset/cute-places-wear.md new file mode 100644 index 00000000000..b8bca049b93 --- /dev/null +++ b/.changeset/cute-places-wear.md @@ -0,0 +1,5 @@ +--- +'@clerk/backend': patch +--- + +Adds `agentTaskId` and deprecates `taskId` to Agent Tasks Create response. From 5c576d0dac9204e9647f4f39e29fd6e01bfe3846 Mon Sep 17 00:00:00 2001 From: Tom Milewski Date: Mon, 9 Mar 2026 17:46:34 -0400 Subject: [PATCH 3/3] chore: Harden the output --- packages/backend/src/api/resources/AgentTask.ts | 3 ++- packages/backend/src/api/resources/JSON.ts | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/api/resources/AgentTask.ts b/packages/backend/src/api/resources/AgentTask.ts index 46db553938d..5053f0a828b 100644 --- a/packages/backend/src/api/resources/AgentTask.ts +++ b/packages/backend/src/api/resources/AgentTask.ts @@ -34,6 +34,7 @@ export class AgentTask { * @returns A new AgentTask instance */ static fromJSON(data: AgentTaskJSON): AgentTask { - return new AgentTask(data.agent_id, data.agent_task_id, data.agent_task_id, data.url); + const agentTaskId = data.agent_task_id ?? data.task_id ?? ''; + return new AgentTask(data.agent_id, agentTaskId, agentTaskId, data.url); } } diff --git a/packages/backend/src/api/resources/JSON.ts b/packages/backend/src/api/resources/JSON.ts index bf6789e479c..1029596bdc0 100644 --- a/packages/backend/src/api/resources/JSON.ts +++ b/packages/backend/src/api/resources/JSON.ts @@ -517,6 +517,10 @@ export interface AgentTaskJSON extends ClerkResourceJSON { object: typeof ObjectType.AgentTask; agent_id: string; agent_task_id: string; + /** + * @deprecated Use `agent_task_id` instead. + */ + task_id: string; url: string; }