UNPKG

noa-receipt

Version:

NOA Agent Action Receipt — open, offline-verifiable provenance for AI-agent actions. The governance/receipt organ only; the NOA brain is separate and proprietary.

71 lines (70 loc) • 1.82 kB
export declare const RECEIPT_SPEC: "noa.receipt/0.1"; export type RiskClass = "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | "IRREVERSIBLE"; export type Principal = "HUMAN" | "SERVICE" | "POLICY" | "SANDBOX_SIM"; export type GovernanceMode = "off" | "shadow" | "approvals_on" | "on"; export type Verdict = "ALLOWED" | "BLOCKED" | "DEFERRED" | "EXECUTED" | "FAILED" | "ROLLED_BACK" | "SIMULATED"; export type ParamsHash = string; export interface ReceiptScope { tenant?: string; chain: string; } export interface ReceiptAgent { id: string; model?: string | null; principal: Principal; } export interface ReceiptApproval { by: string; at: string; } export interface ReceiptAction { id: string; canonical: string; riskClass: RiskClass; paramsHash: ParamsHash; reversible: boolean; rollbackRef?: string | null; } export interface ReceiptCompliance { policyHash: string; readSetHash: string; inputsHash: string; verdict?: "ALLOW" | "DENY"; } export interface ReceiptGovernance { mode: GovernanceMode; verdict: Verdict; ruleId?: string | null; approval?: ReceiptApproval | null; sandboxed: boolean; compliance?: ReceiptCompliance | null; } export interface ReceiptChain { seq: number; prevHash: string | null; hash: string; } export interface ReceiptSig { alg: "ed25519"; kid: string; value: string; } export interface Receipt { spec: typeof RECEIPT_SPEC; id: string; ts: string; scope: ReceiptScope; agent: ReceiptAgent; action: ReceiptAction; governance: ReceiptGovernance; chain: ReceiptChain; sig: ReceiptSig; } export interface Checkpoint { spec: "noa.checkpoint/0.1"; chain: string; highestSeq: number; headHash: string; ts: string; sig: ReceiptSig; }