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. 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..5053f0a828b 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,7 @@ export class AgentTask { * @returns A new AgentTask instance */ static fromJSON(data: AgentTaskJSON): AgentTask { - return new AgentTask(data.agent_id, data.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 2da34e59185..1029596bdc0 100644 --- a/packages/backend/src/api/resources/JSON.ts +++ b/packages/backend/src/api/resources/JSON.ts @@ -516,6 +516,10 @@ export interface SignInTokenJSON extends ClerkResourceJSON { 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; }