UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

32 lines 1.7 kB
import type { World } from '#compiled/@workflow/world/index.js'; type WorldSpecVersionMetadata = Pick<World, 'specVersion'>; /** * Rejects a World this runtime cannot speak to. * * The accepted range is * `[SPEC_VERSION_SUPPORTS_SLOT_IDENTITY, SPEC_VERSION_MAX_SUPPORTED]`. Below * the floor means an old World package paired with a new runtime, which cannot * serve the protocol this runtime speaks. A World that does not number events * by position allocates ids the runtime cannot read positions out of. Above the * ceiling means a World built against a newer spec than this runtime knows how * to read. * * The floor is deliberately the slot-identity version rather than * `SPEC_VERSION_CURRENT`, which now sits one above it at the sealed log. Two * reasons, and both are about the window a spec bump is staged over: * * - `WORKFLOW_SEALED_LOG=0` puts a deployment back on slot identity, so its * World declares the lower version. Flooring at the version we stamp by * default would make that kill switch reject the very World it selects, * turning a rollback into a startup failure. * - A World package one version behind the runtime it ships alongside is the * normal state mid-bump, and it can still serve the protocol: slot identity * is what the runtime actually requires, and sealed logs are a capability on * top of it that only the backend implements. * * The range narrows again when the sealed log becomes mandatory and the flag * goes away, exactly as slot identity's own floor did. */ export declare function assertWorldSupportsRuntimeProtocol(world: WorldSpecVersionMetadata): void; export {}; //# sourceMappingURL=world-compatibility.d.ts.map