chore(a2a-server): if a2a task creation fails return error to user (#8106)

Co-authored-by: cornmander <shikhman@google.com>
This commit is contained in:
Adam Weidman
2025-09-10 12:08:58 -04:00
committed by GitHub
parent 50e7c88aa4
commit bd0f085ae8
4 changed files with 91 additions and 15 deletions
+20 -10
View File
@@ -36,6 +36,7 @@ import { loadSettings } from '../config/settings.js';
import { loadExtensions } from '../config/extension.js';
import { Task } from './task.js';
import { requestStorage } from '../http/requestStorage.js';
import { pushTaskStateFailed } from '../utils/executor_utils.js';
/**
* Provides a wrapper for Task. Passes data from Task to SDKTask.
@@ -116,8 +117,8 @@ export class CoderAgentExecutor implements AgentExecutor {
const agentSettings = persistedState._agentSettings;
const config = await this.getConfig(agentSettings, sdkTask.id);
const contextId =
(metadata['_contextId'] as string) || (sdkTask.contextId as string);
const contextId: string =
(metadata['_contextId'] as string) || sdkTask.contextId;
const runtimeTask = await Task.create(
sdkTask.id,
contextId,
@@ -280,10 +281,10 @@ export class CoderAgentExecutor implements AgentExecutor {
const sdkTask = requestContext.task as SDKTask | undefined;
const taskId = sdkTask?.id || userMessage.taskId || uuidv4();
const contextId =
const contextId: string =
userMessage.contextId ||
sdkTask?.contextId ||
sdkTask?.metadata?.['_contextId'] ||
(sdkTask?.metadata?.['_contextId'] as string) ||
uuidv4();
logger.info(
@@ -381,12 +382,21 @@ export class CoderAgentExecutor implements AgentExecutor {
const agentSettings = userMessage.metadata?.[
'coderAgent'
] as AgentSettings;
wrapper = await this.createTask(
taskId,
contextId as string,
agentSettings,
eventBus,
);
try {
wrapper = await this.createTask(
taskId,
contextId,
agentSettings,
eventBus,
);
} catch (error) {
logger.error(
`[CoderAgentExecutor] Error creating task ${taskId}:`,
error,
);
pushTaskStateFailed(error, eventBus, taskId, contextId);
return;
}
const newTaskSDK = wrapper.toSDKTask();
eventBus.publish({
...newTaskSDK,