logo
  • Docs
  • API Reference
    Overview
    Functions
    acceptChangeProposal
    applyChangeSet
    attachConversation
    attachLabel
    commitIsAncestorOf
    commitIsDescendantOf
    createAccount
    createChangeProposal
    createChangeSet
    createCheckpoint
    createConversation
    createConversationMessage
    createHooks
    createLabel
    createLog
    createLspInMemoryEnvironment
    createQuerySync
    createServerProtocolHandler
    createVersion
    createVersionFromCommit
    detachConversation
    detachLabel
    ebEntity
    getTimestamp
    humanId
    mergeVersion
    nanoId
    newLixFile
    nextSequenceNumber
    normalizeDirectoryPath
    normalizeFilePath
    normalizePathSegment
    openLix
    random
    rejectChangeProposal
    selectCommitDiff
    selectVersionDiff
    selectWorkingDiff
    switchAccount
    switchVersion
    transition
    uuidV7
    uuidV7Sync
    validateLixSchema
    validateLixSchemaDefinition
    withWriterKey
    Type Aliases
    Account
    ActiveAccount
    Change
    ChangeAuthor
    DetectedChange
    EntityStateByVersionView
    EntityStateHistoryView
    EntityStateView
    EnvironmentActorHandle
    FromLixSchemaDefinition
    JSONType
    Lix
    LixActiveVersion
    LixChangeProposal
    LixChangeSet
    LixChangeSetElement
    LixCommit
    LixCommitEdge
    LixConversation
    LixConversationMessage
    LixDatabaseSchema
    LixDirectoryDescriptor
    LixEntity
    LixEntityCanonical
    LixEntityConversation
    LixEntityLabel
    LixFile
    LixFileDescriptor
    LixGenerated
    LixHooks
    LixInsertable
    LixKeyValue
    LixLabel
    LixLog
    LixPlugin
    LixSchemaDefinition
    LixSelectable
    LixServerProtocolHandlerContext
    LixUpdateable
    LixVersion
    LixVersionDescriptor
    LixVersionTip
    NewChange
    NewState
    NewStateByVersion
    NewStateByVersionRow
    NewStateRow
    QuerySync
    RenderDiffArgs
    SpawnActorOptions
    State
    StateByVersion
    StateByVersionRow
    StateByVersionRowUpdate
    StateByVersionUpdate
    StateByVersionView
    StateCommitChange
    StateHistory
    StateRow
    StateRowUpdate
    StateUpdate
    StateView
    StateWithTombstonesRow
    StateWithTombstonesView
    StoredSchema
    ToKysely
    Variables
    JSONTypeSchema
    LixAccountSchema
    LixActiveAccountSchema
    LixActiveVersionSchema
    LixChangeAuthorSchema
    LixChangeProposalSchema
    LixChangeSetElementSchema
    LixChangeSetSchema
    LixCommitEdgeSchema
    LixCommitSchema
    LixConversationMessageSchema
    LixConversationSchema
    LixDirectoryDescriptorSchema
    LixFileDescriptorSchema
    LixKeyValueSchema
    LixLabelSchema
    LixLogSchema
    LixSchemaDefinition
    LixStoredSchemaSchema
    LixVersionDescriptorSchema
    LixVersionTipSchema
    mockJsonPlugin
    Classes
    InMemoryEnvironment
    LixObservable
    OpfsSahEnvironment
    Interfaces
    LixEnvironment
    Previous pageLixLogSchemaNext pageLixStoredSchemaSchema

    #Variable: LixSchemaDefinition

    const LixSchemaDefinition: { $schema: "http://json-schema.org/draft-07/schema#"; allOf: readonly [{ $ref: "http://json-schema.org/draft-07/schema#"; }, { properties: { additionalProperties: { const: false; description: "Objects describing Lix schemas must not allow arbitrary additional properties; set this explicitly to false."; type: "boolean"; }; properties: { additionalProperties: { allOf: readonly [{ $ref: "http://json-schema.org/draft-07/schema#"; }, { properties: { x-lix-default: { description: "CEL expression evaluated to produce the default value when the property is omitted."; format: "cel"; type: "string"; }; }; type: "object"; }]; }; type: "object"; }; x-lix-entity-views: { description: "Restricts which SQL entity views (state/state_by_version/state_history) are generated. When omitted, all views are created."; items: { enum: readonly ["state", "state_by_version", "state_history"]; type: "string"; }; type: "array"; uniqueItems: true; }; x-lix-foreign-keys: { items: { properties: { mode: { description: "Validation mode: immediate (default) or materialized (defer insert/update existence checks)"; enum: readonly ["immediate", "materialized"]; type: "string"; }; properties: { description: "Local JSON-schema property names that participate in the FK"; items: { description: "JSON Pointer referencing the local field."; format: "json-pointer"; type: "string"; }; minItems: 1; type: "array"; uniqueItems: true; }; references: { properties: { properties: { description: "Remote property names (same length as local properties)"; items: { description: ...; format: ...; type: ...; }; minItems: 1; type: "array"; uniqueItems: true; }; schemaKey: { description: "The x-lix-key of the referenced schema"; type: "string"; }; schemaVersion: { description: "Optional version of the referenced schema"; pattern: "^\d+\.\d+$"; type: "string"; }; }; required: readonly ["schemaKey", "properties"]; type: "object"; }; scope: { description: "Implicit columns (version_id and/or file_id) used to scope the foreign key relationship"; items: { enum: readonly ["version_id", "file_id"]; type: "string"; }; type: "array"; uniqueItems: true; }; }; required: readonly ["properties", "references"]; type: "object"; }; type: "array"; }; x-lix-immutable: { description: "When true, entities for this schema cannot be updated after creation."; type: "boolean"; }; x-lix-key: { description: "The schema identifier. Must be snake_case (lowercase, underscores) to safely embed in SQL identifiers."; examples: readonly ["csv_plugin_cell"]; pattern: "^[a-z][a-z0-9_]*$"; type: "string"; }; x-lix-override-lixcols: { additionalProperties: { format: "cel"; type: "string"; }; description: "Default metadata column values (such as lixcol_file_id). Does not affect JSON property defaults."; type: "object"; }; x-lix-primary-key: { items: { description: "JSON Pointer referencing a property that participates in the primary key."; format: "json-pointer"; type: "string"; }; minItems: 1; type: "array"; uniqueItems: true; }; x-lix-unique: { items: { items: { description: "JSON Pointer referencing a property"; format: "json-pointer"; type: "string"; }; minItems: 1; type: "array"; uniqueItems: true; }; type: "array"; }; x-lix-version: { description: "The version of the schema. Use the major version to signal breaking changes. Use the minor version to signal non-breaking changes."; examples: readonly ["1.0"]; pattern: "^\d+\.\d+$"; type: "string"; }; }; required: readonly ["x-lix-key", "x-lix-version", "additionalProperties"]; type: "object"; }]; description: "A JSON schema document that also includes custom x-key and x-version properties for identification and versioning."; title: "Lix Change Schema"; }

    #Type Declaration

    #$schema

    readonly $schema: "http://json-schema.org/draft-07/schema#" = "http://json-schema.org/draft-07/schema#"

    #allOf

    readonly allOf: readonly [{ $ref: "http://json-schema.org/draft-07/schema#"; }, { properties: { additionalProperties: { const: false; description: "Objects describing Lix schemas must not allow arbitrary additional properties; set this explicitly to false."; type: "boolean"; }; properties: { additionalProperties: { allOf: readonly [{ $ref: "http://json-schema.org/draft-07/schema#"; }, { properties: { x-lix-default: { description: "CEL expression evaluated to produce the default value when the property is omitted."; format: "cel"; type: "string"; }; }; type: "object"; }]; }; type: "object"; }; x-lix-entity-views: { description: "Restricts which SQL entity views (state/state_by_version/state_history) are generated. When omitted, all views are created."; items: { enum: readonly ["state", "state_by_version", "state_history"]; type: "string"; }; type: "array"; uniqueItems: true; }; x-lix-foreign-keys: { items: { properties: { mode: { description: "Validation mode: immediate (default) or materialized (defer insert/update existence checks)"; enum: readonly ["immediate", "materialized"]; type: "string"; }; properties: { description: "Local JSON-schema property names that participate in the FK"; items: { description: "JSON Pointer referencing the local field."; format: "json-pointer"; type: "string"; }; minItems: 1; type: "array"; uniqueItems: true; }; references: { properties: { properties: { description: "Remote property names (same length as local properties)"; items: { description: ...; format: ...; type: ...; }; minItems: 1; type: "array"; uniqueItems: true; }; schemaKey: { description: "The x-lix-key of the referenced schema"; type: "string"; }; schemaVersion: { description: "Optional version of the referenced schema"; pattern: "^\d+\.\d+$"; type: "string"; }; }; required: readonly ["schemaKey", "properties"]; type: "object"; }; scope: { description: "Implicit columns (version_id and/or file_id) used to scope the foreign key relationship"; items: { enum: readonly ["version_id", "file_id"]; type: "string"; }; type: "array"; uniqueItems: true; }; }; required: readonly ["properties", "references"]; type: "object"; }; type: "array"; }; x-lix-immutable: { description: "When true, entities for this schema cannot be updated after creation."; type: "boolean"; }; x-lix-key: { description: "The schema identifier. Must be snake_case (lowercase, underscores) to safely embed in SQL identifiers."; examples: readonly ["csv_plugin_cell"]; pattern: "^[a-z][a-z0-9_]*$"; type: "string"; }; x-lix-override-lixcols: { additionalProperties: { format: "cel"; type: "string"; }; description: "Default metadata column values (such as lixcol_file_id). Does not affect JSON property defaults."; type: "object"; }; x-lix-primary-key: { items: { description: "JSON Pointer referencing a property that participates in the primary key."; format: "json-pointer"; type: "string"; }; minItems: 1; type: "array"; uniqueItems: true; }; x-lix-unique: { items: { items: { description: "JSON Pointer referencing a property"; format: "json-pointer"; type: "string"; }; minItems: 1; type: "array"; uniqueItems: true; }; type: "array"; }; x-lix-version: { description: "The version of the schema. Use the major version to signal breaking changes. Use the minor version to signal non-breaking changes."; examples: readonly ["1.0"]; pattern: "^\d+\.\d+$"; type: "string"; }; }; required: readonly ["x-lix-key", "x-lix-version", "additionalProperties"]; type: "object"; }]

    #description

    readonly description: "A JSON schema document that also includes custom x-key and x-version properties for identification and versioning." = "A JSON schema document that also includes custom x-key and x-version properties for identification and versioning."

    #title

    readonly title: "Lix Change Schema" = "Lix Change Schema"