/** * Spec version utilities for backwards compatibility. * * Uses a branded type to ensure packages import the version constants * from @workflow/world rather than using arbitrary numbers. */ declare const SpecVersionBrand: unique symbol; /** * Branded type for spec versions. Must be created via SPEC_VERSION constants. * This ensures all packages use the canonical version from @workflow/world. */ export type SpecVersion = number & { readonly [SpecVersionBrand]: typeof SpecVersionBrand; }; /** * Legacy spec version (pre-event-sourcing). Also used for runs without specVersion. * This is the only true legacy version — specVersion 2+ all use the event-sourced model. */ export declare const SPEC_VERSION_LEGACY: SpecVersion; export declare const SPEC_VERSION_SUPPORTS_EVENT_SOURCING: SpecVersion; export declare const SPEC_VERSION_SUPPORTS_CBOR_QUEUE_TRANSPORT: SpecVersion; export declare const SPEC_VERSION_SUPPORTS_ATTRIBUTES: SpecVersion; /** Current spec version (event-sourced architecture with native attributes). */ export declare const SPEC_VERSION_CURRENT: SpecVersion; /** * Check if a spec version is legacy (<= SPEC_VERSION_LEGACY or undefined). * Legacy runs require different handling - they use direct entity mutation * instead of the event-sourced model. * * Checks against SPEC_VERSION_LEGACY (1), not SPEC_VERSION_CURRENT, so that * intermediate versions (e.g. 2) are not incorrectly treated as legacy when * SPEC_VERSION_CURRENT is bumped. * * @param v - The spec version number, or undefined/null for legacy runs * @returns true if the run is a legacy run */ export declare function isLegacySpecVersion(v: number | undefined | null): boolean; /** * Check if a spec version requires a newer world (> SPEC_VERSION_CURRENT). * This happens when a run was created by a newer SDK version. * * @param v - The spec version number, or undefined/null for legacy runs * @returns true if the run requires a newer world version */ export declare function requiresNewerWorld(v: number | undefined | null): boolean; export {}; //# sourceMappingURL=spec-version.d.ts.map