eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
51 lines (50 loc) • 2.53 kB
TypeScript
import type { FlexibleSchema, ToolSet } from "ai";
import type * as CodeModeModule from "#compiled/@ai-sdk/code-mode/index.js";
type WorkflowSandboxModule = {
readonly CodeModeToolError: typeof CodeModeModule.CodeModeToolError;
readonly continueCodeModeInterrupt: typeof CodeModeModule.experimental_continueCodeModeInterrupt;
readonly createCodeModeTool: typeof CodeModeModule.experimental_createCodeModeTool;
readonly requestCodeModeInterrupt: typeof CodeModeModule.experimental_requestCodeModeInterrupt;
readonly unwrapCodeModeResult: typeof CodeModeModule.experimental_unwrapCodeModeResult;
};
export type WorkflowSandboxInterrupt = CodeModeModule.CodeModeInterrupt;
export type WorkflowSandboxContinuationSecurity = CodeModeModule.CodeModeContinuationSecurityOptions;
export declare function installWorkflowSandboxModule(module: WorkflowSandboxModule): void;
export declare function createWorkflowSandboxTool(input: {
readonly bridgeRequestLimit: number;
readonly continuationSecurity: WorkflowSandboxContinuationSecurity;
readonly hostTools: ToolSet;
}): Promise<ToolSet[string]>;
export declare function continueWorkflowSandboxInterrupt(input: {
readonly bridgeRequestLimit: number;
readonly continuationSecurity: WorkflowSandboxContinuationSecurity;
readonly interrupt: WorkflowSandboxInterrupt;
readonly resolution: unknown;
readonly tools: ToolSet;
}): Promise<unknown>;
export declare function unwrapWorkflowSandboxResult(value: unknown, continuationSecurity: WorkflowSandboxContinuationSecurity): Promise<{
readonly output: unknown;
readonly status: "completed";
} | {
readonly interrupt: WorkflowSandboxInterrupt;
readonly status: "interrupted";
}>;
export type WorkflowSandboxResolution = {
readonly status: "completed";
readonly output: unknown;
} | {
readonly status: "failed";
readonly error: string;
};
/** A host tool that parks on first call and consumes its resolution on replay. */
export declare function createParkingHostTool(input: {
readonly description: string;
readonly inputSchema: FlexibleSchema;
readonly outputSchema?: FlexibleSchema | null;
readonly interrupt: (toolInput: unknown) => {
readonly kind: string;
} & Record<string, unknown>;
}): ToolSet[string];
/** Reconstructs every unresolved interruption from the authenticated continuation. */
export declare function getWorkflowSandboxPendingInterrupts(interrupt: WorkflowSandboxInterrupt): WorkflowSandboxInterrupt[];
export {};