/** * `EventType` canonical-registry tooling. * * The `EventType` enum (in `./index.ts`) is the closed vocabulary of * event-log entry discriminators that flow through every motebit's * append-only event substrate. Every `EventLogEntry` carries an * `event_type` field; sync peers, federation participants, audit * verifiers, and consolidation cycles dispatch on it. Cross- * implementation drift would break interop — a motebit emitting an * unknown event_type to a peer would surface as a silent * type-narrowing failure on the receiving side. * * Promoted to a registered registry per * `docs/doctrine/registry-pattern-canonical.md` on 2026-05-14 — the * sixth instance after `SuiteId`, `TokenAudience`, * `ContentArtifactType`, `TaskShape`, and `SensitivityLevel`. The * arc validates the meta-gate's claim that adding a sixth registry * is template growth, not new design. * * Same shape as `audience.ts`, `artifact-type.ts`, `routing.ts`'s * `ALL_TASK_SHAPES`/`isTaskShape` pair, and `sensitivity.ts`'s * `ALL_SENSITIVITY_LEVELS`/`isSensitivityLevel` pair. * * Pure deterministic data + type guard. Permissive-floor primitive * per `packages/protocol/CLAUDE.md` rule 1 (closed-registry tooling * is structural, not policy). */ import type { EventType } from "./index.js"; /** * Canonical iteration order over `EventType`, frozen. The single * source of truth for "every event type" — drift gates, exhaustive * switches, sync filters, and the protocol's registry-coverage gate * (`check-event-type-canonical`) all enumerate through this array. * * Ordered in declaration order from the enum in `index.ts`. The * gate's sibling-alignment block verifies the array mirrors the * enum exactly — a registry append in the enum without a * corresponding array append fails CI. * * Same shape as `ALL_SUITE_IDS`, `ALL_TOKEN_AUDIENCES`, * `ALL_CONTENT_ARTIFACT_TYPES`, `ALL_TASK_SHAPES`, * `ALL_SENSITIVITY_LEVELS`. Adding an event type is intentional * protocol-level work: new enum entry + new entry here + gate * reference update + spec/event-log entry if wire-format-relevant. * * Values are the enum's string literals (not enum members) to avoid * the init-order cycle the file's `import type` already documents. */ export declare const ALL_EVENT_TYPES: readonly EventType[]; /** * Type guard — narrows `unknown` to `EventType`. Drift-gate-driven * literal scanners use this to validate values pulled from * wire-format payloads; consumers that derive event types from * external sources (sync intake, federation peer payloads) call * this before dispatching so an unchecked cast is a fail-open path * the type system can't catch. * * Same shape as `isSuiteId`, `isTokenAudience`, * `isContentArtifactType`, `isTaskShape`, `isSensitivityLevel`. */ export declare function isEventType(value: unknown): value is EventType; //# sourceMappingURL=event-type.d.ts.map