UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

46 lines (45 loc) 2.7 kB
import type { SessionAuth, SessionParent, SessionTurn } from "#context/keys.js"; import type { SandboxProviderRuntime } from "#shared/sandbox-provider.js"; import type { RuntimeSandboxSession, RuntimeSandboxSessionFor, SandboxSession } from "#shared/sandbox-session.js"; declare const ENVIRONMENT: unique symbol; declare const PROVIDER_RUNTIME: unique symbol; declare const CONFIGURATION_HASH: unique symbol; export interface SandboxSelectorContext { readonly session: { readonly auth: SessionAuth; readonly id: string; readonly parent?: SessionParent; readonly turn: SessionTurn; }; } export type SandboxSelector = (context: SandboxSelectorContext) => Promise<RuntimeSandboxSession> | RuntimeSandboxSession; export type SandboxOpenArguments<Options> = Options extends undefined ? [] : Record<never, never> extends Options ? [options?: Options] : [options: Options]; export interface SandboxEnvironmentIdentity { readonly [CONFIGURATION_HASH]: string; readonly [ENVIRONMENT]: true; readonly [PROVIDER_RUNTIME]: SandboxProviderRuntime; readonly provider: string; } export interface SandboxEnvironment<Options extends object | undefined = object, Session extends SandboxSession = SandboxSession> extends SandboxEnvironmentIdentity { open(...args: SandboxOpenArguments<Options>): Promise<RuntimeSandboxSessionFor<Session>>; } interface ConstructorRuntime { open(input: { readonly configurationHash: string; readonly environment: object; readonly environmentConfigurationHash: string; readonly options: object | undefined; readonly provider: SandboxProviderRuntime; }): Promise<RuntimeSandboxSession>; } export declare function createSandboxEnvironment<Options extends object | undefined = object, Session extends SandboxSession = SandboxSession>(input: { readonly configuration?: unknown; readonly runtime: SandboxProviderRuntime; }): SandboxEnvironment<Options, Session>; export declare function getSandboxEnvironmentConfigurationHash(environment: SandboxEnvironmentIdentity): string; export declare function getSandboxEnvironmentRuntime(environment: SandboxEnvironmentIdentity): SandboxProviderRuntime; export declare function bindSandboxEnvironment(selector: SandboxSelector, environment: SandboxEnvironmentIdentity): SandboxSelector; export declare function getBoundSandboxEnvironment(value: unknown): SandboxEnvironmentIdentity | undefined; export declare function isSandboxEnvironment(value: unknown): value is SandboxEnvironmentIdentity; export declare function runWithSandboxConstructorRuntime<T>(runtime: ConstructorRuntime, callback: () => Promise<T> | T): Promise<T>; export {};