(config: AgentConfig, params: {
message: string
images?: Array<{ base64: string; mediaType: string }>
sessionId?: string
streamId: string
threadId?: string
options?: AgentRequestOptions
})
| 601 | // --- Entry point (SDK path) --- |
| 602 | |
| 603 | export async function executeAgent(config: AgentConfig, params: { |
| 604 | message: string |
| 605 | images?: Array<{ base64: string; mediaType: string }> |
| 606 | sessionId?: string |
| 607 | streamId: string |
| 608 | threadId?: string |
| 609 | options?: AgentRequestOptions |
| 610 | }) { |
| 611 | const traceId = params.threadId ?? params.streamId |
| 612 | initTrace(params.streamId, traceId, publish) |
| 613 | const agentName = (config as { name?: string }).name || "main" |
| 614 | |
| 615 | const rootKey = "root" |
| 616 | const rootSpanId = spanManager.startSpan(rootKey, { |
| 617 | name: "agent:" + agentName, |
| 618 | kind: "agent", |
| 619 | attributes: { |
| 620 | "agent.name": agentName, |
| 621 | ...(config.model ? { "agent.model": config.model } : {}), |
| 622 | "stream.id": params.streamId, |
| 623 | "tool.input": JSON.stringify({ message: params.message }).slice(0, 10_000), |
| 624 | }, |
| 625 | }) |
| 626 | spanManager.setRootSpanId(rootSpanId) |
| 627 | |
| 628 | try { |
| 629 | const sdkOptions = buildSdkOptions(config, { sessionId: params.sessionId, requestOptions: params.options }) |
| 630 | const prompt = buildPrompt(params.message, params.images) |
| 631 | const queryStream = claudeQuery({ prompt, options: sdkOptions }) |
| 632 | |
| 633 | await processStream(queryStream, params.streamId, config) |
| 634 | |
| 635 | spanManager.endSpan(rootKey, { status: "completed" }) |
| 636 | } catch (error: any) { |
| 637 | spanManager.endSpan(rootKey, { status: "error", error: error?.message ?? String(error) }) |
| 638 | throw error |
| 639 | } finally { |
| 640 | flushTrace() |
| 641 | } |
| 642 | } |
| 643 | |
| 644 | // --- Entry point (ACP path) --- |
| 645 |
nothing calls this directly
no test coverage detected