import type { RemoteToolSource, ToolDefinition, ToolExecutionContext } from "../../tool/index.js"; import type { ModelRuntime } from "../../provider/index.js"; import type { AgentConfig, AgentSystem, Message } from "../types.js"; import type { ChatSystemMessage } from "../../chat/types.js"; import { type SkillToolAvailability } from "../../skill/allowed-tools.js"; import type { ToolConfigEntry } from "./tool-helpers.js"; import type { SourceIntegrationPolicyManifest } from "../../integrations/source-policy.js"; import type { RemoteIntegrationToolDiscoveryResult } from "../../integrations/remote-tools.js"; import { type ToolExposureCheckpoint, type ToolExposurePlan, type ToolExposureState } from "./tool-exposure.js"; export type AgentRuntimeStepMode = "generate" | "stream"; export type RuntimeStepToolLoader = (toolsConfig: true | Record | undefined, options?: { includeSkillTools?: boolean; includeIntegrationTools?: boolean; allowedRemoteToolNames?: string[]; forwardedRemoteToolDefinitions?: ToolDefinition[]; remoteToolSources?: RemoteToolSource[]; remoteToolContext?: ToolExecutionContext; onIntegrationToolDiscovery?: (result: RemoteIntegrationToolDiscoveryResult) => void; sourceIntegrationPolicy?: SourceIntegrationPolicyManifest; strictConfiguredToolsOnly?: boolean; callerAgentId?: string; }) => Promise; export interface AgentRuntimeStepState { systemPrompt: AgentSystem; context?: Record; } export type RuntimeStepStateResolver = (messages: Message[], runtimeContext: Record | undefined, mode: AgentRuntimeStepMode, step: number, systemPrompt: AgentSystem, providerOptionKey: string | undefined) => Promise; export interface PrepareAgentRuntimeStepInput { agentId: string; activeSkillId?: string | undefined; activeSkillToolAvailability: SkillToolAvailability | undefined; allowedRemoteToolNames: string[] | undefined; config: AgentConfig; effectiveModel?: string; modelRuntime?: ModelRuntime; excludedToolNames?: ReadonlySet; forwardedRemoteToolDefinitions: ToolDefinition[] | undefined; getAvailableTools: RuntimeStepToolLoader; supportsToolCalling: boolean; messages: Message[]; mode: AgentRuntimeStepMode; providerOptionKey?: string; providerToolNames?: readonly string[]; remoteToolSources: RemoteToolSource[] | undefined; sourceIntegrationPolicy?: SourceIntegrationPolicyManifest; resolveRuntimeState: RuntimeStepStateResolver; runtimeContext: Record | undefined; step: number; systemPrompt: AgentSystem; toolContextBase: ToolExecutionContext | undefined; strictConfiguredToolsOnly?: boolean; toolExposureState?: ToolExposureState; toolExposureCheckpoint?: ToolExposureCheckpoint; } export interface PreparedAgentRuntimeStep { integrationToolDiscovery?: RemoteIntegrationToolDiscoveryResult; runtimeContext: Record | undefined; systemPrompt: AgentSystem; toolContext: ToolExecutionContext; tools: ToolDefinition[]; toolExposurePlan: ToolExposurePlan; } export declare function withIntegrationToolDiscoveryStatus(systemPrompt: string, discovery: RemoteIntegrationToolDiscoveryResult | undefined): string; export declare function withIntegrationToolDiscoveryStatus(systemPrompt: ChatSystemMessage[], discovery: RemoteIntegrationToolDiscoveryResult | undefined): ChatSystemMessage[]; export declare function withIntegrationToolDiscoveryStatus(systemPrompt: AgentSystem, discovery: RemoteIntegrationToolDiscoveryResult | undefined): AgentSystem; /** Resolve per-step runtime state and the tools visible for that step. */ export declare function prepareAgentRuntimeStep(input: PrepareAgentRuntimeStepInput): Promise; //# sourceMappingURL=agent-runtime-step.d.ts.map