Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/cute-places-wear.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@clerk/backend': patch
---

Adds `agentTaskId` and deprecates `taskId` to Agent Tasks Create response.
10 changes: 6 additions & 4 deletions packages/backend/src/api/__tests__/AgentTaskApi.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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',
};

Expand Down Expand Up @@ -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');
});

Expand Down Expand Up @@ -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');
});
});
});
8 changes: 7 additions & 1 deletion packages/backend/src/api/resources/AgentTask.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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.
*/
Expand All @@ -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);
}
}
4 changes: 4 additions & 0 deletions packages/backend/src/api/resources/JSON.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Comment thread
tmilewski marked this conversation as resolved.
}
Expand Down
Loading