/** * --owner format validation (B2 v1.12.6). * * Documented MEMORY_ENVELOPE.md contract: owner = `user:` | `agent:` * with id ∈ `[A-Za-z0-9_-]+`. Pre-v1.12.6 any string was accepted, leaving * the documented contract unenforced. * * Default: WARN-ONLY (log + accept) to preserve back-compat with existing * scripted callers passing legacy owner strings. Set `HIPPO_STRICT_OWNER=1` * to reject + exit. Strict mode will become the default once A5 v2 lands * (see `TODOS.md` A3 follow-ups for the migration path). */ export declare const OWNER_RE: RegExp; export declare const OWNER_CONTRACT_HINT = "Must match ^(user|agent):[A-Za-z0-9_-]+$ (e.g. user:alice, agent:capture-bot)."; export interface OwnerValidation { ok: boolean; /** The owner string as the caller should now use it. undefined when no owner was supplied. */ value: string | undefined; /** Human-readable message (warn or error). Empty when ok = true. */ message: string; } /** * Pure validator. Returns `{ ok, value, message }`. Does NOT print or * `process.exit`. The CLI wrapper below handles side effects so this is * unit-testable. * * Behaviour: * - owner undefined → ok=true, value=undefined, no message. * - owner matches OWNER_RE → ok=true, value=owner. * - owner doesn't match + strict=false → ok=true, value=owner (accept), * message contains the warning text. * - owner doesn't match + strict=true → ok=false, value=owner (echoed), * message contains the error text. */ export declare function validateOwner(owner: string | null | undefined, opts?: { strict?: boolean; }): OwnerValidation; /** * Returns true when strict-owner enforcement is enabled via env var. * Centralised here so any future bump to default-strict is one edit. */ export declare function isStrictOwnerEnv(env?: NodeJS.ProcessEnv): boolean; //# sourceMappingURL=owner-validation.d.ts.map