import type { ConversationRunChunkMirror } from "../conversation/run-chunk-mirror.js"; import { type ConversationHostedTerminalAdapter, createConversationHostedTerminalAdapter } from "../conversation/hosted-terminal.js"; import type { HostedChatExecutionLifecycleAdapter } from "./chat-execution-lifecycle-types.js"; import type { HostedConversationRootRunState } from "../conversation/root-run-lifecycle.js"; import { type AgentTraceAttributes } from "./trace-attributes.js"; /** Public API contract for hosted agent run span. */ export interface HostedAgentRunSpan { setAttributes: (attributes: AgentTraceAttributes) => void; finish: () => void; withContext: (fn: () => T) => T; } /** Public API contract for hosted agent run tracer. */ export interface HostedAgentRunTracer { startSpan: (name: string) => HostedAgentRunSpan; } /** State for hosted agent run span final. */ export interface HostedAgentRunSpanFinalState { status: "completed" | "failed" | "cancelled"; modelId?: string | null; usage?: { inputTokens?: number; outputTokens?: number; totalTokens?: number; cachedInputTokens?: number; cacheCreationInputTokens?: number; cacheReadInputTokens?: number; reasoningTokens?: number; }; terminalErrorCode?: string | null; terminalErrorMessage?: string | null; } /** Public API contract for hosted agent run span controller. */ export interface HostedAgentRunSpanController { withContext: (fn: () => T) => T; setAttributes: (attributes: AgentTraceAttributes) => void; setMessageId: (messageId: string) => void; finalize: (finalState: HostedAgentRunSpanFinalState) => void; } /** Input payload for create hosted agent run span controller. */ export interface CreateHostedAgentRunSpanControllerInput { tracer: HostedAgentRunTracer; spanName?: string; operationName: "chat" | "invoke_agent"; conversationId?: string; projectId: string | null; userId: string; agentId: string; agentName?: string; modelId?: string; rootRun?: Pick | null; upstreamParentConversationId?: string; upstreamParentRunId?: string; spawnedFromToolCallId?: string; traceAttributes?: AgentTraceAttributes; } /** Create hosted agent run span controller. */ export declare function createHostedAgentRunSpanController(input: CreateHostedAgentRunSpanControllerInput): HostedAgentRunSpanController; /** Public API contract for hosted root run lifecycle runtime adapter. */ export interface HostedRootRunLifecycleRuntimeAdapter extends HostedChatExecutionLifecycleAdapter { durableRootRun: HostedConversationRootRunState | null; durableRunMirror: ConversationRunChunkMirror | null; } /** Input payload for create hosted root run lifecycle runtime adapter. */ export interface CreateHostedRootRunLifecycleRuntimeAdapterInput { authToken: string; apiUrl: string; modelId: string; durableRootRun: HostedConversationRootRunState | null; durableRunMirror: ConversationRunChunkMirror | null; agentRunSpan: Pick; resolveProvider: (modelId: string) => string; createTerminalAdapter?: (input: Parameters[0]) => ConversationHostedTerminalAdapter; } /** Create hosted root run lifecycle runtime adapter. */ export declare function createHostedRootRunLifecycleRuntimeAdapter(input: CreateHostedRootRunLifecycleRuntimeAdapterInput): HostedRootRunLifecycleRuntimeAdapter; //# sourceMappingURL=agent-run-lifecycle.d.ts.map