export type Law = 'Solidarity Oath' | 'Renewal Mandate' | 'Treasury Equilibrium' | 'Harm Shield' | 'Transparency Covenant';
export interface Capability { skill_id: string; description: string; amount: string; model?: 'per_call' | 'per_minute' | 'flat' | 'free' }
export interface ZimakriConfig {
zimakri: 1;
name: string;
/** did:key of the agent's own Ed25519 key */
did: string;
created_at: string;
endpoint: string;
endpoint_is_placeholder: boolean;
description: string;
category: string;
capabilities: Capability[];
soul_file: 'SOUL.md';
soul_sha256: string;
key_file: '.zimakri/identity/agent.key';
memory: { root: 'memory'; index: string; dirs: string[] };
wake: { file: 'WAKE.md'; steps: string[] };
offer_file: 'lax-offer.json';
laws: Law[];
mandates: { max_spend_usdc_per_day: string; note?: string };
}
export interface InitOptions {
dir?: string; name?: string; endpoint?: string; description?: string; category?: string; purpose?: string;
skill?: string; skillDescription?: string; price?: string; force?: boolean; now?: number | string;
}
export interface LaxOffer {
lax_version: '1.0'; name: string; description: string; category: string; endpoint: string; agent_did: string;
capabilities: { skill_id: string; description: string; pricing: { model: string; amount: string; currency: 'USDC'; rail: 'x402' } }[];
constitutional_constraints: Law[]; payment_rails: string[];
}
export interface InitResult { dir: string; did: string; config: ZimakriConfig; offer: LaxOffer; files: string[] }
export declare function init(opts?: InitOptions): InitResult;
export declare function check(dir?: string): string[];
export declare function buildOffer(cfg: Pick<ZimakriConfig, 'name' | 'description' | 'category' | 'endpoint' | 'did' | 'capabilities'>): LaxOffer;
export declare function checkOffer(offer: unknown): string[];
export declare function defineConfig(c: ZimakriConfig): ZimakriConfig;
export declare function didKeyFromPublic(raw: Uint8Array): string;
export declare function publicFromDidKey(did: string): Uint8Array;
export declare const FIVE_LAWS: readonly Law[];
export declare const LAW_TEXT: Readonly<Record<Law, string>>;
export declare const CONFIG_FILE: 'zimakri.config.json';
export declare const KEY_FILE: '.zimakri/identity/agent.key';
export declare const MEMORY_DIRS: string[];
export declare const WAKE_STEPS: { id: string; does: string }[];
agentgate-source: code mirror on Cloudflare Pages. All repos