UNPKG

@struktoai/mirage-core

Version:

A Unified Virtual Filesystem For AI Agents

35 lines • 1.82 kB
import type { RuntimeConfig } from '../config.ts'; import type { MountType } from '../types.ts'; /** * How to reach the sandbox: the fields every provider has. * * This base carries only what all providers support; each provider * extends it with its own fields (DockerConfig, DaytonaConfig, * E2BConfig) and its own key list, so an option a provider cannot * honor fails loud at construction. In yaml this is the runtime * entry's `config` block, mirroring a mount's. */ export interface SandboxConfig extends RuntimeConfig { /** Environment set in the sandbox. */ env?: Record<string, string>; /** * How the sandbox sees the workspace: `ssh` serves every prefix the * session sees from the host over SFTP (the image needs sshfs), `fuse` * leaves them to a mirage in the sandbox, `both` serves from the host * what the sandbox does not mount itself. Unset serves nothing. */ mountType?: MountType; } /** A provider config with the shared collection fields always present. */ export type NormalizedSandboxConfig<C extends SandboxConfig = SandboxConfig> = C & Required<Pick<SandboxConfig, 'env'>>; export declare const BASE_CONFIG_KEYS: readonly string[]; /** Fail loud on a `mountType` other than ssh, fuse or both; unset serves nothing. */ export declare function checkMountType(runtime: string, mountType: unknown): MountType | null; /** Whether a configured id is a string with something in it. Mirrors Python's `nonblank`. */ export declare function nonblank(value: unknown): boolean; /** * Fail loud on a required id that is unset or blank, which would otherwise * reach the provider as an empty name. Mirrors Python's `require_id`. */ export declare function requireId(runtime: string, name: string, value: unknown): void; //# sourceMappingURL=config.d.ts.map