defineJsonArtifact
Purpose and behavior
Section titled “Purpose and behavior”Declare a named, versioned contract for a lossless JSON value; schema validates it on publish and again on read. Throws when name or version is empty or longer than 1024 characters.
Complete example and detailed rules.
Parameters and properties
Section titled “Parameters and properties”optionsRequiredJsonArtifactOptions<T>Contract name, version and the schema applied on publish and on read.options.nameRequiredstringContract name, nonempty and at most 1024 characters. A read requires the same name.options.versionRequiredstringContract version you choose, nonempty and at most 1024 characters. A read requires the same version, so change it when the format changes.options.schemaRequiredStandardValidator<T> | ((input: unknown) => T | Promise<T>)Standard Schema validator (Zod, Valibot…) or a function that returns the checked value or throws. Runs before encoding and after decoding; its output is the value stored and returned.