/** * COAIA Narrative - Perspective types of a narrative beat * * A narrative beat records one event as three perspectives read it: the engineer * perspective (structure and consequence), the ceremony perspective (relationship * and accountability) and the story_engine perspective (arc and meaning). * * Beats written before 0.17 stored this list under `metadata.universes` with the * values `engineer-world`, `ceremony-world` and `story-engine-world`. Those records * keep that key: the preservation check in jsonl-preservation.ts fails any rewrite * that drops a key a record already had. New beats are written with * `metadata.perspective_types` and the bare values. Every reader goes through * `readPerspectiveTypes`, so both forms read the same. * * Pure module: no I/O, no imports. */ export declare const PERSPECTIVE_TYPES: readonly ["engineer", "ceremony", "story_engine"]; export type PerspectiveType = (typeof PERSPECTIVE_TYPES)[number]; /** * Map one value to its stored form. Legacy `-world` values become the bare value. * Any other string passes through unchanged: the list has never been an enum, and * a caller's own value is not dropped. */ export declare function normalizePerspectiveType(value: string): string; /** Normalize a list of values, dropping empty strings and repeats. */ export declare function normalizePerspectiveTypes(values: readonly unknown[]): string[]; /** * The perspective types of a stored beat. Reads `perspective_types` first and falls * back to the pre-0.17 `universes` key. Legacy `-world` values come back bare. */ export declare function readPerspectiveTypes(metadata: unknown): string[];