import type { TauSdkClientToolExecutionEnvironment } from "../sdk/types.js"; import { type TauCodeModeFilesOptions } from "./files.js"; export declare const TAU_CODE_MODE_DEFAULT_TIMEOUT_MS = 60000; export declare const TAU_CODE_MODE_MAX_OUTPUT_TOKENS = 8192; export type TauCodeModeJsonValue = null | boolean | number | string | TauCodeModeJsonValue[] | { [key: string]: TauCodeModeJsonValue; }; export type TauCodeModeInvocation = { sessionId: string; agentId: string; callId: string; }; export type TauCodeModeHandlerContext = { signal: AbortSignal; invocation: TauCodeModeInvocation | null; executionEnvironment: TauSdkClientToolExecutionEnvironment | null; }; export type TauCodeModeHandler = (args: unknown[], context: TauCodeModeHandlerContext) => unknown | Promise; export type TauCodeModeApi = { [key: string]: TauCodeModeApi | TauCodeModeHandler; }; export type TauCodeModeExecutionStatus = "succeeded" | "failed" | "timed-out" | "cancelled"; type TauCodeModeProjection = { content: string; truncated: boolean; truncatedBy: "lines" | "bytes" | null; totalLines: number; totalBytes: number; outputLines: number; outputBytes: number; maxLines: number; maxTokens: number; }; type TauCodeModeExecutionCapture = { output: string; stdout: string; stderr: string; exitCode: number | null; truncated: boolean; timedOut: boolean; aborted: boolean; closeSignal: string | null; }; export type TauCodeModePersistOutput = (output: { content: string; captureTruncated: boolean; contextTruncated: boolean; status: TauCodeModeExecutionStatus; }, context: TauCodeModeHandlerContext) => Promise<{ path: string; } | undefined>; export type TauCodeModeDefinition = { name: string; documentation: string; api: TauCodeModeApi; timeoutMs?: number; persistOutput?: TauCodeModePersistOutput; }; export type ExecuteTauCodeModeOptions = TauCodeModeDefinition & { code: string; signal?: AbortSignal; invocation?: TauCodeModeInvocation | null; executionEnvironment?: TauSdkClientToolExecutionEnvironment | null; files?: TauCodeModeFilesOptions; }; export type TauCodeModeResult = { content: string; }; export type BuildTauCodeModeToolDescriptionOptions = { name: string; description: string; }; export declare function createTauCodeModeExecutionEnvironmentFiles(agentId: string, executionEnvironment: TauSdkClientToolExecutionEnvironment): TauCodeModeFilesOptions; export type TauCodeModeRuntimeResult = { result: TauCodeModeResult; status: TauCodeModeExecutionStatus; execution: TauCodeModeExecutionCapture; durationMs: number; projection: TauCodeModeProjection; persistedPath?: string; }; export declare function buildTauCodeModeToolDescription({ name, description, }: BuildTauCodeModeToolDescriptionOptions): string; export declare function validateTauCodeModeDefinition(definition: TauCodeModeDefinition): void; export declare function executeTauCodeMode(options: ExecuteTauCodeModeOptions): Promise; export declare function runTauCodeMode(options: ExecuteTauCodeModeOptions): Promise; export {};