UNPKG

@sema-agent/core

Version:

Stateless, task-oriented AI agent core

27 lines (26 loc) • 1.63 kB
import { type ArtifactCallContext, type ArtifactHost, type ArtifactHostCapabilities, type ArtifactPublishOutcome, type ArtifactPublishRequest, type ArtifactRef } from "../../core/artifact-host.js"; export declare const EVAL_STUB_URL_PREFIX = "eval-stub://artifact/"; export declare const LOCAL_STUB_MAX_FILE_BYTES: number; export declare const LOCAL_STUB_MAX_TOTAL_BYTES: number; export interface LocalArtifactStubOptions { /** The storage directory. Required: the library never guesses a location on the host filesystem. Contract: it must * lie OUTSIDE every root the run may write or read (the task root, `additionalDirectories`, * `additionalReadDirectories`); the engine refuses to mount a stub whose store is inside one — a ledger the model * can edit through the fs tools is not a trust boundary. */ dir: string; } export declare class LocalArtifactStub implements ArtifactHost { #private; readonly dir: string; constructor(opts: LocalArtifactStubOptions); capabilities(): ArtifactHostCapabilities; onMount(runId: string): void; /** The slugs a run may name through `url` (inspection; a copy). */ ownMinted(runId: string): ReadonlySet<string>; publish(req: ArtifactPublishRequest, ctx: ArtifactCallContext): Promise<ArtifactPublishOutcome>; /** The ledger rows (inspection for hosts and tests; a copy). */ rows(): ReadonlyArray<ArtifactRef>; /** The published paths of one version (inspection). */ versionFiles(slug: string, version: number): string[]; } export declare function localArtifactStub(opts: LocalArtifactStubOptions): LocalArtifactStub;