UNPKG

@struktoai/mirage-core

Version:

A Unified Virtual Filesystem For AI Agents

55 lines • 2.34 kB
import { z } from 'zod'; import type { Claim, Claimant, Decision, HandOff, Occurrence, Outcome } from '../policy/types.ts'; import { type Wire } from './policy.ts'; /** Decode one stateless approval result from the shared policy stream. */ export declare function approvalQuery<T>(query: Wire, result: z.ZodType<T>): T; /** One existing record, with an invocation-local identity distinct from its public id. */ export declare function recordWire(record: Decision, key: number, rule: number | null, argv: readonly string[], cwd: string): Wire; /** Mechanical identity transport for a synchronous Rust approval query. */ export declare class ApprovalSnapshot { private readonly records; private static readonly RESPONSE; readonly recordObjects: Decision[]; readonly holderObjects: HandOff[]; readonly claimObjects: Claim[]; readonly occurrenceObjects: Occurrence[]; private readonly recordKeys; private readonly holderKeys; private readonly claimKeys; private readonly occurrenceKeys; private readonly live; constructor(records?: readonly Decision[], live?: Iterable<HandOff>, roots?: readonly HandOff[]); recordKey(record: Decision): number; holderKey(holder: HandOff): number; occurrenceKey(occurrence: Occurrence | null): number | null; record(key: number): Decision; holder(key: number): HandOff; private originalClaim; private recordsWire; get wire(): Wire; plan(recordRules: readonly number[], rules: readonly number[], argv: readonly string[], cwd: string, claimant: Claimant | null): { answers: (Decision | null)[]; denied: number | null; missing: number[]; once: Decision[]; waiting: (Decision | null)[]; claim: { records: Decision[]; live: HandOff[]; } | null; }; waiting(argv: readonly string[], cwd: string): Decision | null; answer(id: string, outcome: Outcome): Decision | null; claim(holder: HandOff, records: readonly Decision[]): { records: Decision[]; live: HandOff[]; }; split(holder: HandOff, scope: Occurrence): Claim[]; handUp(holder: HandOff): { parent: HandOff; claims: Claim[]; live: HandOff[]; }; revoke(holder: HandOff): Decision[]; } //# sourceMappingURL=approvals.d.ts.map