/** * The compiler (TypeScript port): natural language -> mandate -> signed payload. * The rule-based parser mirrors the Python one; an LLM parser can be injected as * `parser` to handle arbitrary phrasing (off-the-shelf model, no fine-tuning). */ import { type Amount } from "./mandate.ts"; import { type SignedMandate } from "./signing.ts"; export interface ParsedConstraints { intent?: string; categories?: string[]; merchants?: { allow?: string[]; deny?: string[]; }; max_amount?: Amount; expires_at?: Date; } export type Parser = (text: string, now?: Date) => ParsedConstraints; export declare const ruleBasedParser: Parser; export interface CompileOptions { agentId: string; privateKey: Buffer; parser?: Parser; ttlDays?: number; now?: Date; } export declare function compile(text: string, opts: CompileOptions): SignedMandate; //# sourceMappingURL=compiler.d.ts.map