import { discoverAgents as defaultDiscoverAgents, findAgent as defaultFindAgent, type DiscoveredAgent } from "../server/agent-discovery.js"; import { type AnthropicManagedAgentContinuation } from "./anthropic-managed-agents.js"; import { callAction as defaultCallAction, callAgent as defaultCallAgent } from "./client.js"; import type { A2ACorrelationMetadata, A2AReadOnlyActionResult } from "./types.js"; export type AgentInvocationErrorCode = "missing-target" | "missing-prompt" | "missing-action" | "invalid-input" | "invalid-url" | "invalid-response" | "unsupported-action" | "self-call" | "discovery-failed" | "not-found"; export declare class AgentInvocationError extends Error { readonly code: AgentInvocationErrorCode; readonly target?: string; readonly availableAgents?: DiscoveredAgent[]; constructor(code: AgentInvocationErrorCode, message: string, options?: { target?: string; availableAgents?: DiscoveredAgent[]; cause?: unknown; }); } export interface ResolvedAgentInvocationTarget { kind: "discovered" | "url"; id?: string; name: string; description?: string; url: string; color?: string; cardUrl?: string; } export interface AgentInvocationResult { target: ResolvedAgentInvocationTarget; prompt: string; responseText: string; taskState?: "input-required"; continuation?: AnthropicManagedAgentContinuation; } export interface AgentActionInvocationResult { target: ResolvedAgentInvocationTarget; action: string; result: A2AReadOnlyActionResult; } export interface AgentInvocationRuntime { findAgent: typeof defaultFindAgent; discoverAgents: typeof defaultDiscoverAgents; callAgent: typeof defaultCallAgent; callAction: typeof defaultCallAction; } export interface ResolveAgentInvocationTargetOptions { selfAppId?: string; selfUrl?: string; userEmail?: string; orgId?: string; runtime?: Partial; } export interface InvokeAgentOptions extends ResolveAgentInvocationTargetOptions { target: string; prompt: string; apiKey?: string; contextId?: string; userEmail?: string; orgId?: string; orgDomain?: string; orgSecret?: string; async?: boolean; timeoutMs?: number; pollIntervalMs?: number; includeInvocationHint?: boolean; correlation?: A2ACorrelationMetadata; idempotencyKey?: string; cardUrl?: string; runtime?: Partial; } export interface InvokeAgentActionOptions extends ResolveAgentInvocationTargetOptions { target: string; action: string; input?: Record; apiKey?: string; userEmail?: string; orgDomain?: string; orgSecret?: string; requestTimeoutMs?: number; correlation?: A2ACorrelationMetadata; cardUrl?: string; runtime?: Partial; } export declare function resolveAgentInvocationTarget(target: string, options?: ResolveAgentInvocationTargetOptions): Promise; export declare function invokeAgent(options: InvokeAgentOptions): Promise; export declare function invokeAgentAction(options: InvokeAgentActionOptions): Promise; export declare function buildAgentInvocationPrompt(prompt: string, agentUrl: string): string; export declare function looksLikeAgentUrl(value: string): boolean;