UNPKG

@sema-agent/core

Version:

Stateless, task-oriented AI agent core

27 lines (26 loc) • 1.53 kB
import type { TaskSpec } from "../types.js"; import type { WriteFamily } from "./turn-attachments.js"; import type { Prepared, RunState } from "./contracts.js"; export interface RunToolMountFactsInput { /** borrowed-readonly — the task spec: the config overrides the manifest frame reports. */ spec: TaskSpec; /** borrowed-mutable — the leg's prepared seat: `turnSnapshot.onChange` is installed; the roster, the model and the * prompt manifest are read. */ prepared: Prepared; /** borrowed-readonly — the run's mutable state: the attachment state's presence gates the mount facts; the * telemetry is read for the frames. */ rs: RunState; } export interface RunToolMountFactsResult { /** Whether TodoWrite is mounted (and the attachment state exists) — the todo reminder's gate. */ todoToolMounted: boolean; /** Whether TaskCreate is mounted (and the attachment state exists) — the task reminder's gate. */ taskToolsMounted: boolean; /** task #51 F2: the alias-aware write-family resolver (mounted name + aliases → canonical family). */ writeFamilyOf: (name: string) => WriteFamily | undefined; /** Per tool-call id: the execution start time (for the tool_end duration). */ toolStartAt: Map<string, number>; /** Every tool-call id whose start was observed this run and whose result has not been committed yet. */ startedToolCallIds: Set<string>; } export declare function runToolMountFacts(input: RunToolMountFactsInput): RunToolMountFactsResult;