@lix-js/sdk 0.5.0-preview.0 → 0.5.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account/create-account.d.ts +5 -5
- package/dist/account/create-account.d.ts.map +1 -1
- package/dist/account/create-account.js +2 -2
- package/dist/account/create-account.js.map +1 -1
- package/dist/account/index.d.ts +1 -1
- package/dist/account/index.d.ts.map +1 -1
- package/dist/account/schema.d.ts +23 -7
- package/dist/account/schema.d.ts.map +1 -1
- package/dist/account/schema.js +84 -27
- package/dist/account/schema.js.map +1 -1
- package/dist/account/schema.test.js +87 -83
- package/dist/account/schema.test.js.map +1 -1
- package/dist/account/switch-account.d.ts +2 -2
- package/dist/account/switch-account.d.ts.map +1 -1
- package/dist/account/switch-account.js +3 -4
- package/dist/account/switch-account.js.map +1 -1
- package/dist/account/switch-account.test.js +4 -4
- package/dist/account/switch-account.test.js.map +1 -1
- package/dist/change/apply-changes.d.ts +13 -0
- package/dist/change/apply-changes.d.ts.map +1 -1
- package/dist/change/apply-changes.js +14 -4
- package/dist/change/apply-changes.js.map +1 -1
- package/dist/change/apply-changes.test.js +91 -1
- package/dist/change/apply-changes.test.js.map +1 -1
- package/dist/change/create-change-v2.d.ts +11 -0
- package/dist/change/create-change-v2.d.ts.map +1 -0
- package/dist/change/create-change-v2.js +31 -0
- package/dist/change/create-change-v2.js.map +1 -0
- package/dist/change/create-change-v2.test.d.ts +2 -0
- package/dist/change/create-change-v2.test.d.ts.map +1 -0
- package/dist/change/create-change-v2.test.js +39 -0
- package/dist/change/create-change-v2.test.js.map +1 -0
- package/dist/change/create-change.d.ts +2 -2
- package/dist/change/create-change.d.ts.map +1 -1
- package/dist/change/create-change.js +3 -1
- package/dist/change/create-change.js.map +1 -1
- package/dist/change/create-change.test.js +4 -6
- package/dist/change/create-change.test.js.map +1 -1
- package/dist/change/index.d.ts +1 -1
- package/dist/change/index.d.ts.map +1 -1
- package/dist/change/index.js.map +1 -1
- package/dist/change/schema.d.ts +40 -2
- package/dist/change/schema.d.ts.map +1 -1
- package/dist/change/schema.js +50 -9
- package/dist/change/schema.js.map +1 -1
- package/dist/change/schema.test.js +33 -0
- package/dist/change/schema.test.js.map +1 -1
- package/dist/change-author/index.d.ts +1 -1
- package/dist/change-author/index.d.ts.map +1 -1
- package/dist/change-author/index.js +1 -1
- package/dist/change-author/index.js.map +1 -1
- package/dist/change-author/schema.d.ts +12 -9
- package/dist/change-author/schema.d.ts.map +1 -1
- package/dist/change-author/schema.js +16 -10
- package/dist/change-author/schema.js.map +1 -1
- package/dist/change-author/schema.test.js +283 -229
- package/dist/change-author/schema.test.js.map +1 -1
- package/dist/change-proposal/create-change-proposal.d.ts +3 -3
- package/dist/change-proposal/create-change-proposal.d.ts.map +1 -1
- package/dist/change-proposal/database-schema.js +1 -1
- package/dist/change-set/apply-change-set.d.ts +2 -2
- package/dist/change-set/apply-change-set.d.ts.map +1 -1
- package/dist/change-set/apply-change-set.js +40 -51
- package/dist/change-set/apply-change-set.js.map +1 -1
- package/dist/change-set/apply-change-set.test.js +6 -3
- package/dist/change-set/apply-change-set.test.js.map +1 -1
- package/dist/change-set/before-after-of-file.d.ts +31 -0
- package/dist/change-set/before-after-of-file.d.ts.map +1 -0
- package/dist/change-set/before-after-of-file.js +191 -0
- package/dist/change-set/before-after-of-file.js.map +1 -0
- package/dist/change-set/before-after-of-file.test.d.ts +2 -0
- package/dist/change-set/before-after-of-file.test.d.ts.map +1 -0
- package/dist/change-set/before-after-of-file.test.js +221 -0
- package/dist/change-set/before-after-of-file.test.js.map +1 -0
- package/dist/change-set/change-set-element-in-symmetric-difference.d.ts +2 -1
- package/dist/change-set/change-set-element-in-symmetric-difference.d.ts.map +1 -1
- package/dist/change-set/change-set-element-in-symmetric-difference.js.map +1 -1
- package/dist/change-set/change-set-element-in-symmetric-difference.test.js +204 -34
- package/dist/change-set/change-set-element-in-symmetric-difference.test.js.map +1 -1
- package/dist/change-set/checkout-change-set.d.ts +15 -0
- package/dist/change-set/checkout-change-set.d.ts.map +1 -0
- package/dist/change-set/checkout-change-set.js +64 -0
- package/dist/change-set/checkout-change-set.js.map +1 -0
- package/dist/change-set/checkout-change-set.test.d.ts +2 -0
- package/dist/change-set/checkout-change-set.test.d.ts.map +1 -0
- package/dist/change-set/checkout-change-set.test.js +127 -0
- package/dist/change-set/checkout-change-set.test.js.map +1 -0
- package/dist/change-set/create-change-set.d.ts +7 -9
- package/dist/change-set/create-change-set.d.ts.map +1 -1
- package/dist/change-set/create-change-set.js +3 -25
- package/dist/change-set/create-change-set.js.map +1 -1
- package/dist/change-set/create-change-set.test.js +0 -31
- package/dist/change-set/create-change-set.test.js.map +1 -1
- package/dist/change-set/create-checkpoint.d.ts.map +1 -1
- package/dist/change-set/create-checkpoint.js +11 -2
- package/dist/change-set/create-checkpoint.js.map +1 -1
- package/dist/change-set/create-checkpoint.test.js +53 -0
- package/dist/change-set/create-checkpoint.test.js.map +1 -1
- package/dist/change-set/create-merge-change-set.d.ts +4 -4
- package/dist/change-set/create-merge-change-set.d.ts.map +1 -1
- package/dist/change-set/create-transition-change-set.d.ts +4 -4
- package/dist/change-set/create-transition-change-set.d.ts.map +1 -1
- package/dist/change-set/create-undo-change-set.d.ts +5 -5
- package/dist/change-set/create-undo-change-set.d.ts.map +1 -1
- package/dist/change-set/create-undo-change-set.js +4 -3
- package/dist/change-set/create-undo-change-set.js.map +1 -1
- package/dist/change-set/database-schema.d.ts +39 -0
- package/dist/change-set/database-schema.d.ts.map +1 -0
- package/dist/change-set/database-schema.js +86 -0
- package/dist/change-set/database-schema.js.map +1 -0
- package/dist/change-set/database-schema.test.d.ts +2 -0
- package/dist/change-set/database-schema.test.d.ts.map +1 -0
- package/dist/change-set/database-schema.test.js +547 -0
- package/dist/change-set/database-schema.test.js.map +1 -0
- package/dist/change-set/diff-for-file.d.ts +29 -0
- package/dist/change-set/diff-for-file.d.ts.map +1 -0
- package/dist/change-set/diff-for-file.js +19 -0
- package/dist/change-set/diff-for-file.js.map +1 -0
- package/dist/change-set/get-before-after-of-file.d.ts +31 -0
- package/dist/change-set/get-before-after-of-file.d.ts.map +1 -0
- package/dist/change-set/get-before-after-of-file.js +189 -0
- package/dist/change-set/get-before-after-of-file.js.map +1 -0
- package/dist/change-set/get-before-after-of-file.test.d.ts +2 -0
- package/dist/change-set/get-before-after-of-file.test.d.ts.map +1 -0
- package/dist/change-set/get-before-after-of-file.test.js +220 -0
- package/dist/change-set/get-before-after-of-file.test.js.map +1 -0
- package/dist/change-set/index.d.ts +1 -5
- package/dist/change-set/index.d.ts.map +1 -1
- package/dist/change-set/index.js +1 -5
- package/dist/change-set/index.js.map +1 -1
- package/dist/change-set/merge-change-sets.d.ts +23 -0
- package/dist/change-set/merge-change-sets.d.ts.map +1 -0
- package/dist/change-set/merge-change-sets.js +69 -0
- package/dist/change-set/merge-change-sets.js.map +1 -0
- package/dist/change-set/merge-change-sets.test.d.ts +2 -0
- package/dist/change-set/merge-change-sets.test.d.ts.map +1 -0
- package/dist/change-set/merge-change-sets.test.js +184 -0
- package/dist/change-set/merge-change-sets.test.js.map +1 -0
- package/dist/change-set/restore-change-set.d.ts +14 -0
- package/dist/change-set/restore-change-set.d.ts.map +1 -0
- package/dist/change-set/restore-change-set.js +98 -0
- package/dist/change-set/restore-change-set.js.map +1 -0
- package/dist/change-set/restore-change-set.test.d.ts +2 -0
- package/dist/change-set/restore-change-set.test.d.ts.map +1 -0
- package/dist/change-set/restore-change-set.test.js +238 -0
- package/dist/change-set/restore-change-set.test.js.map +1 -0
- package/dist/change-set/schema.d.ts +28 -72
- package/dist/change-set/schema.d.ts.map +1 -1
- package/dist/change-set/schema.js +37 -84
- package/dist/change-set/schema.js.map +1 -1
- package/dist/change-set/schema.test.js +0 -247
- package/dist/change-set/schema.test.js.map +1 -1
- package/dist/change-set-edge/database-schema.d.ts +11 -0
- package/dist/change-set-edge/database-schema.d.ts.map +1 -0
- package/dist/change-set-edge/database-schema.js +29 -0
- package/dist/change-set-edge/database-schema.js.map +1 -0
- package/dist/change-set-edge/database-schema.test.d.ts +2 -0
- package/dist/change-set-edge/database-schema.test.d.ts.map +1 -0
- package/dist/change-set-edge/database-schema.test.js +166 -0
- package/dist/change-set-edge/database-schema.test.js.map +1 -0
- package/dist/change-set-edge/index.d.ts +2 -0
- package/dist/change-set-edge/index.d.ts.map +1 -0
- package/dist/change-set-edge/index.js +2 -0
- package/dist/change-set-edge/index.js.map +1 -0
- package/dist/change-set-v2/apply-change-set.d.ts +10 -0
- package/dist/change-set-v2/apply-change-set.d.ts.map +1 -0
- package/dist/change-set-v2/apply-change-set.js +147 -0
- package/dist/change-set-v2/apply-change-set.js.map +1 -0
- package/dist/change-set-v2/apply-change-set.test.d.ts +2 -0
- package/dist/change-set-v2/apply-change-set.test.d.ts.map +1 -0
- package/dist/change-set-v2/apply-change-set.test.js +270 -0
- package/dist/change-set-v2/apply-change-set.test.js.map +1 -0
- package/dist/change-set-v2/create-change-set.d.ts +10 -0
- package/dist/change-set-v2/create-change-set.d.ts.map +1 -0
- package/dist/change-set-v2/create-change-set.js +57 -0
- package/dist/change-set-v2/create-change-set.js.map +1 -0
- package/dist/change-set-v2/create-change-set.test.d.ts +2 -0
- package/dist/change-set-v2/create-change-set.test.d.ts.map +1 -0
- package/dist/change-set-v2/create-change-set.test.js +59 -0
- package/dist/change-set-v2/create-change-set.test.js.map +1 -0
- package/dist/change-set-v2/create-checkpoint.d.ts +7 -0
- package/dist/change-set-v2/create-checkpoint.d.ts.map +1 -0
- package/dist/change-set-v2/create-checkpoint.js +79 -0
- package/dist/change-set-v2/create-checkpoint.js.map +1 -0
- package/dist/change-set-v2/create-checkpoint.test.d.ts +2 -0
- package/dist/change-set-v2/create-checkpoint.test.d.ts.map +1 -0
- package/dist/change-set-v2/create-checkpoint.test.js +289 -0
- package/dist/change-set-v2/create-checkpoint.test.js.map +1 -0
- package/dist/change-set-v2/create-merge-change-set.d.ts +23 -0
- package/dist/change-set-v2/create-merge-change-set.d.ts.map +1 -0
- package/dist/change-set-v2/create-merge-change-set.js +68 -0
- package/dist/change-set-v2/create-merge-change-set.js.map +1 -0
- package/dist/change-set-v2/create-merge-change-set.test.d.ts +2 -0
- package/dist/change-set-v2/create-merge-change-set.test.d.ts.map +1 -0
- package/dist/change-set-v2/create-merge-change-set.test.js +223 -0
- package/dist/change-set-v2/create-merge-change-set.test.js.map +1 -0
- package/dist/change-set-v2/index.d.ts +5 -0
- package/dist/change-set-v2/index.d.ts.map +1 -0
- package/dist/change-set-v2/index.js +5 -0
- package/dist/change-set-v2/index.js.map +1 -0
- package/dist/change-set-v2/schema.d.ts +50 -0
- package/dist/change-set-v2/schema.d.ts.map +1 -0
- package/dist/change-set-v2/schema.js +347 -0
- package/dist/change-set-v2/schema.js.map +1 -0
- package/dist/change-set-v2/schema.test.d.ts +2 -0
- package/dist/change-set-v2/schema.test.d.ts.map +1 -0
- package/dist/change-set-v2/schema.test.js +713 -0
- package/dist/change-set-v2/schema.test.js.map +1 -0
- package/dist/commit/apply-commit.d.ts +32 -0
- package/dist/commit/apply-commit.d.ts.map +1 -0
- package/dist/commit/apply-commit.js +63 -0
- package/dist/commit/apply-commit.js.map +1 -0
- package/dist/commit/apply-commit.test.d.ts +2 -0
- package/dist/commit/apply-commit.test.d.ts.map +1 -0
- package/dist/commit/apply-commit.test.js +367 -0
- package/dist/commit/apply-commit.test.js.map +1 -0
- package/dist/commit/create-checkpoint.d.ts +19 -0
- package/dist/commit/create-checkpoint.d.ts.map +1 -0
- package/dist/commit/create-checkpoint.js +118 -0
- package/dist/commit/create-checkpoint.js.map +1 -0
- package/dist/commit/create-checkpoint.test.d.ts +2 -0
- package/dist/commit/create-checkpoint.test.d.ts.map +1 -0
- package/dist/commit/create-checkpoint.test.js +472 -0
- package/dist/commit/create-checkpoint.test.js.map +1 -0
- package/dist/commit/create-commit.d.ts +38 -0
- package/dist/commit/create-commit.d.ts.map +1 -0
- package/dist/commit/create-commit.js +68 -0
- package/dist/commit/create-commit.js.map +1 -0
- package/dist/commit/create-merge-commit.d.ts +24 -0
- package/dist/commit/create-merge-commit.d.ts.map +1 -0
- package/dist/commit/create-merge-commit.js +103 -0
- package/dist/commit/create-merge-commit.js.map +1 -0
- package/dist/commit/create-merge-commit.test.d.ts +2 -0
- package/dist/commit/create-merge-commit.test.d.ts.map +1 -0
- package/dist/commit/create-merge-commit.test.js +242 -0
- package/dist/commit/create-merge-commit.test.js.map +1 -0
- package/dist/commit/create-transition-commit.d.ts +18 -0
- package/dist/commit/create-transition-commit.d.ts.map +1 -0
- package/dist/commit/create-transition-commit.js +136 -0
- package/dist/commit/create-transition-commit.js.map +1 -0
- package/dist/commit/create-transition-commit.test.d.ts +2 -0
- package/dist/commit/create-transition-commit.test.d.ts.map +1 -0
- package/dist/commit/create-transition-commit.test.js +221 -0
- package/dist/commit/create-transition-commit.test.js.map +1 -0
- package/dist/commit/create-undo-commit.d.ts +27 -0
- package/dist/commit/create-undo-commit.d.ts.map +1 -0
- package/dist/commit/create-undo-commit.js +143 -0
- package/dist/commit/create-undo-commit.js.map +1 -0
- package/dist/commit/create-undo-commit.test.d.ts +2 -0
- package/dist/commit/create-undo-commit.test.d.ts.map +1 -0
- package/dist/commit/create-undo-commit.test.js +298 -0
- package/dist/commit/create-undo-commit.test.js.map +1 -0
- package/dist/commit/index.d.ts +6 -0
- package/dist/commit/index.d.ts.map +1 -0
- package/dist/commit/index.js +6 -0
- package/dist/commit/index.js.map +1 -0
- package/dist/commit/schema.d.ts +73 -0
- package/dist/commit/schema.d.ts.map +1 -0
- package/dist/commit/schema.js +90 -0
- package/dist/commit/schema.js.map +1 -0
- package/dist/commit/schema.test.d.ts +2 -0
- package/dist/commit/schema.test.d.ts.map +1 -0
- package/dist/commit/schema.test.js +216 -0
- package/dist/commit/schema.test.js.map +1 -0
- package/dist/database/apply-schema.d.ts +3 -0
- package/dist/database/apply-schema.d.ts.map +1 -1
- package/dist/database/apply-schema.js +91 -258
- package/dist/database/apply-schema.js.map +1 -1
- package/dist/database/index.d.ts +0 -2
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +0 -2
- package/dist/database/index.js.map +1 -1
- package/dist/database/init-db.d.ts.map +1 -1
- package/dist/database/init-db.js +83 -44
- package/dist/database/init-db.js.map +1 -1
- package/dist/database/init-db.test.js +2 -480
- package/dist/database/init-db.test.js.map +1 -1
- package/dist/database/kysely-plugin/json-column-plugin.d.ts +5 -1
- package/dist/database/kysely-plugin/json-column-plugin.d.ts.map +1 -1
- package/dist/database/kysely-plugin/json-column-plugin.js +52 -10
- package/dist/database/kysely-plugin/json-column-plugin.js.map +1 -1
- package/dist/database/kysely-plugin/json-column-plugin.test.d.ts +2 -0
- package/dist/database/kysely-plugin/json-column-plugin.test.d.ts.map +1 -0
- package/dist/database/kysely-plugin/json-column-plugin.test.js +329 -0
- package/dist/database/kysely-plugin/json-column-plugin.test.js.map +1 -0
- package/dist/database/mutation-log/database-schema.d.ts.map +1 -1
- package/dist/database/mutation-log/database-schema.js +0 -4
- package/dist/database/mutation-log/database-schema.js.map +1 -1
- package/dist/database/nano-id.d.ts +4 -1
- package/dist/database/nano-id.d.ts.map +1 -1
- package/dist/database/nano-id.js +4 -1
- package/dist/database/nano-id.js.map +1 -1
- package/dist/database/nano-id.test.js +3 -3
- package/dist/database/nano-id.test.js.map +1 -1
- package/dist/database/schema.d.ts +21 -14
- package/dist/database/schema.d.ts.map +1 -1
- package/dist/database/schema.js +9 -5
- package/dist/database/schema.js.map +1 -1
- package/dist/deterministic/generate-human-id.d.ts +20 -0
- package/dist/deterministic/generate-human-id.d.ts.map +1 -0
- package/dist/deterministic/generate-human-id.js +86 -0
- package/dist/deterministic/generate-human-id.js.map +1 -0
- package/dist/deterministic/generate-human-id.test.d.ts +2 -0
- package/dist/deterministic/generate-human-id.test.d.ts.map +1 -0
- package/dist/deterministic/generate-human-id.test.js +123 -0
- package/dist/deterministic/generate-human-id.test.js.map +1 -0
- package/dist/deterministic/index.d.ts +8 -0
- package/dist/deterministic/index.d.ts.map +1 -0
- package/dist/deterministic/index.js +8 -0
- package/dist/deterministic/index.js.map +1 -0
- package/dist/deterministic/is-deterministic-mode.d.ts +14 -0
- package/dist/deterministic/is-deterministic-mode.d.ts.map +1 -0
- package/dist/deterministic/is-deterministic-mode.js +25 -0
- package/dist/deterministic/is-deterministic-mode.js.map +1 -0
- package/dist/deterministic/is-deterministic-mode.test.d.ts +2 -0
- package/dist/deterministic/is-deterministic-mode.test.d.ts.map +1 -0
- package/dist/deterministic/is-deterministic-mode.test.js +103 -0
- package/dist/deterministic/is-deterministic-mode.test.js.map +1 -0
- package/dist/deterministic/nano-id.d.ts +61 -0
- package/dist/deterministic/nano-id.d.ts.map +1 -0
- package/dist/deterministic/nano-id.js +161 -0
- package/dist/deterministic/nano-id.js.map +1 -0
- package/dist/deterministic/nano-id.test.d.ts +2 -0
- package/dist/deterministic/nano-id.test.d.ts.map +1 -0
- package/dist/deterministic/nano-id.test.js +163 -0
- package/dist/deterministic/nano-id.test.js.map +1 -0
- package/dist/deterministic/options.d.ts +53 -0
- package/dist/deterministic/options.d.ts.map +1 -0
- package/dist/deterministic/options.js +52 -0
- package/dist/deterministic/options.js.map +1 -0
- package/dist/deterministic/options.test.d.ts +2 -0
- package/dist/deterministic/options.test.d.ts.map +1 -0
- package/dist/deterministic/options.test.js +111 -0
- package/dist/deterministic/options.test.js.map +1 -0
- package/dist/deterministic/random.d.ts +68 -0
- package/dist/deterministic/random.d.ts.map +1 -0
- package/dist/deterministic/random.js +225 -0
- package/dist/deterministic/random.js.map +1 -0
- package/dist/deterministic/random.test.d.ts +2 -0
- package/dist/deterministic/random.test.d.ts.map +1 -0
- package/dist/deterministic/random.test.js +244 -0
- package/dist/deterministic/random.test.js.map +1 -0
- package/dist/deterministic/sequence.d.ts +56 -0
- package/dist/deterministic/sequence.d.ts.map +1 -0
- package/dist/deterministic/sequence.js +107 -0
- package/dist/deterministic/sequence.js.map +1 -0
- package/dist/deterministic/sequence.test.d.ts +2 -0
- package/dist/deterministic/sequence.test.d.ts.map +1 -0
- package/dist/deterministic/sequence.test.js +71 -0
- package/dist/deterministic/sequence.test.js.map +1 -0
- package/dist/deterministic/timestamp.d.ts +47 -0
- package/dist/deterministic/timestamp.d.ts.map +1 -0
- package/dist/deterministic/timestamp.js +74 -0
- package/dist/deterministic/timestamp.js.map +1 -0
- package/dist/deterministic/timestamp.test.d.ts +2 -0
- package/dist/deterministic/timestamp.test.d.ts.map +1 -0
- package/dist/deterministic/timestamp.test.js +145 -0
- package/dist/deterministic/timestamp.test.js.map +1 -0
- package/dist/deterministic/uuid-v7.d.ts +49 -0
- package/dist/deterministic/uuid-v7.d.ts.map +1 -0
- package/dist/deterministic/uuid-v7.js +75 -0
- package/dist/deterministic/uuid-v7.js.map +1 -0
- package/dist/deterministic/uuid-v7.test.d.ts +2 -0
- package/dist/deterministic/uuid-v7.test.d.ts.map +1 -0
- package/dist/deterministic/uuid-v7.test.js +114 -0
- package/dist/deterministic/uuid-v7.test.js.map +1 -0
- package/dist/discussion/create-discussion.d.ts +2 -1
- package/dist/discussion/create-discussion.d.ts.map +1 -1
- package/dist/discussion/create-discussion.js.map +1 -1
- package/dist/discussion/create-discussion.test.js +13 -2
- package/dist/discussion/create-discussion.test.js.map +1 -1
- package/dist/entity/eb-entity.d.ts +76 -0
- package/dist/entity/eb-entity.d.ts.map +1 -0
- package/dist/entity/eb-entity.js +156 -0
- package/dist/entity/eb-entity.js.map +1 -0
- package/dist/entity/eb-entity.test.d.ts +2 -0
- package/dist/entity/eb-entity.test.d.ts.map +1 -0
- package/dist/entity/eb-entity.test.js +573 -0
- package/dist/entity/eb-entity.test.js.map +1 -0
- package/dist/entity/index.d.ts +7 -0
- package/dist/entity/index.d.ts.map +1 -0
- package/dist/entity/index.js +4 -0
- package/dist/entity/index.js.map +1 -0
- package/dist/entity/label/create-entity-label.d.ts +61 -0
- package/dist/entity/label/create-entity-label.d.ts.map +1 -0
- package/dist/entity/label/create-entity-label.js +92 -0
- package/dist/entity/label/create-entity-label.js.map +1 -0
- package/dist/entity/label/create-entity-label.test.d.ts +2 -0
- package/dist/entity/label/create-entity-label.test.d.ts.map +1 -0
- package/dist/entity/label/create-entity-label.test.js +261 -0
- package/dist/entity/label/create-entity-label.test.js.map +1 -0
- package/dist/entity/label/schema.d.ts +40 -0
- package/dist/entity/label/schema.d.ts.map +1 -0
- package/dist/entity/label/schema.js +42 -0
- package/dist/entity/label/schema.js.map +1 -0
- package/dist/entity/label/schema.test.d.ts +2 -0
- package/dist/entity/label/schema.test.d.ts.map +1 -0
- package/dist/entity/label/schema.test.js +596 -0
- package/dist/entity/label/schema.test.js.map +1 -0
- package/dist/entity/schema.d.ts +13 -0
- package/dist/entity/schema.d.ts.map +1 -0
- package/dist/entity/schema.js +5 -0
- package/dist/entity/schema.js.map +1 -0
- package/dist/entity/thread/create-entity-thread.d.ts +75 -0
- package/dist/entity/thread/create-entity-thread.d.ts.map +1 -0
- package/dist/entity/thread/create-entity-thread.js +109 -0
- package/dist/entity/thread/create-entity-thread.js.map +1 -0
- package/dist/entity/thread/create-entity-thread.test.d.ts +2 -0
- package/dist/entity/thread/create-entity-thread.test.d.ts.map +1 -0
- package/dist/entity/thread/create-entity-thread.test.js +240 -0
- package/dist/entity/thread/create-entity-thread.test.js.map +1 -0
- package/dist/entity/thread/query-threads.test.d.ts +2 -0
- package/dist/entity/thread/query-threads.test.d.ts.map +1 -0
- package/dist/entity/thread/query-threads.test.js +330 -0
- package/dist/entity/thread/query-threads.test.js.map +1 -0
- package/dist/entity/thread/schema.d.ts +40 -0
- package/dist/entity/thread/schema.d.ts.map +1 -0
- package/dist/entity/thread/schema.js +42 -0
- package/dist/entity/thread/schema.js.map +1 -0
- package/dist/entity/thread/schema.test.d.ts +2 -0
- package/dist/entity/thread/schema.test.d.ts.map +1 -0
- package/dist/entity/thread/schema.test.js +144 -0
- package/dist/entity/thread/schema.test.js.map +1 -0
- package/dist/entity-views/entity-state-all.d.ts +52 -0
- package/dist/entity-views/entity-state-all.d.ts.map +1 -1
- package/dist/entity-views/entity-state-all.js +19 -11
- package/dist/entity-views/entity-state-all.js.map +1 -1
- package/dist/entity-views/entity-state-all.test.js +173 -0
- package/dist/entity-views/entity-state-all.test.js.map +1 -1
- package/dist/entity-views/entity-state-history.d.ts +55 -15
- package/dist/entity-views/entity-state-history.d.ts.map +1 -1
- package/dist/entity-views/entity-state-history.js +7 -4
- package/dist/entity-views/entity-state-history.js.map +1 -1
- package/dist/entity-views/entity-state-history.test.js +70 -15
- package/dist/entity-views/entity-state-history.test.js.map +1 -1
- package/dist/entity-views/entity-state.d.ts +52 -0
- package/dist/entity-views/entity-state.d.ts.map +1 -1
- package/dist/entity-views/entity-state.js +18 -10
- package/dist/entity-views/entity-state.js.map +1 -1
- package/dist/entity-views/entity-state.test.js +120 -1
- package/dist/entity-views/entity-state.test.js.map +1 -1
- package/dist/entity-views/entity-view-builder.test.js +6 -6
- package/dist/entity-views/entity-view-builder.test.js.map +1 -1
- package/dist/entity-views/types.d.ts +2 -2
- package/dist/file/database-schema.d.ts +25 -0
- package/dist/file/database-schema.d.ts.map +1 -0
- package/dist/file/database-schema.js +26 -0
- package/dist/file/database-schema.js.map +1 -0
- package/dist/file/database-schema.test.d.ts +2 -0
- package/dist/file/database-schema.test.d.ts.map +1 -0
- package/dist/file/database-schema.test.js +60 -0
- package/dist/file/database-schema.test.js.map +1 -0
- package/dist/file/file-handlers.d.ts.map +1 -1
- package/dist/file/file-handlers.js +36 -0
- package/dist/file/file-handlers.js.map +1 -1
- package/dist/file/file-handlers.test.js +4 -4
- package/dist/file/file-handlers.test.js.map +1 -1
- package/dist/file/materialize-file-data-at-changeset.d.ts +1 -1
- package/dist/file/materialize-file-data-at-changeset.d.ts.map +1 -1
- package/dist/file/materialize-file-data-at-changeset.js +55 -29
- package/dist/file/materialize-file-data-at-changeset.js.map +1 -1
- package/dist/file/materialize-file-data-at-commit.d.ts +9 -0
- package/dist/file/materialize-file-data-at-commit.d.ts.map +1 -0
- package/dist/file/materialize-file-data-at-commit.js +119 -0
- package/dist/file/materialize-file-data-at-commit.js.map +1 -0
- package/dist/file/schema.d.ts +68 -5
- package/dist/file/schema.d.ts.map +1 -1
- package/dist/file/schema.js +118 -50
- package/dist/file/schema.js.map +1 -1
- package/dist/file/schema.test.js +543 -35
- package/dist/file/schema.test.js.map +1 -1
- package/dist/file-queue/database-schema.d.ts +17 -0
- package/dist/file-queue/database-schema.d.ts.map +1 -0
- package/dist/file-queue/database-schema.js +53 -0
- package/dist/file-queue/database-schema.js.map +1 -0
- package/dist/file-queue/file-handlers.d.ts +1 -1
- package/dist/file-queue/file-handlers.d.ts.map +1 -1
- package/dist/file-queue/file-handlers.js +60 -29
- package/dist/file-queue/file-handlers.js.map +1 -1
- package/dist/file-queue/file-queue-process.d.ts.map +1 -1
- package/dist/file-queue/file-queue-process.js +26 -17
- package/dist/file-queue/file-queue-process.js.map +1 -1
- package/dist/file-queue/file-queue-process.test.js +133 -43
- package/dist/file-queue/file-queue-process.test.js.map +1 -1
- package/dist/file-queue/with-skip-file-queue.d.ts +18 -0
- package/dist/file-queue/with-skip-file-queue.d.ts.map +1 -1
- package/dist/file-queue/with-skip-file-queue.js +56 -10
- package/dist/file-queue/with-skip-file-queue.js.map +1 -1
- package/dist/file-queue/with-skip-file-queue.test.js +28 -12
- package/dist/file-queue/with-skip-file-queue.test.js.map +1 -1
- package/dist/hooks/create-hooks.d.ts +4 -26
- package/dist/hooks/create-hooks.d.ts.map +1 -1
- package/dist/hooks/create-hooks.js +3 -7
- package/dist/hooks/create-hooks.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/key-value/database-schema.d.ts +3 -2
- package/dist/key-value/database-schema.d.ts.map +1 -1
- package/dist/key-value/database-schema.js +3 -3
- package/dist/key-value/database-schema.test.js +13 -4
- package/dist/key-value/database-schema.test.js.map +1 -1
- package/dist/key-value/index.d.ts +1 -1
- package/dist/key-value/index.d.ts.map +1 -1
- package/dist/key-value/index.js.map +1 -1
- package/dist/key-value/schema.d.ts +63 -3
- package/dist/key-value/schema.d.ts.map +1 -1
- package/dist/key-value/schema.js +8 -2
- package/dist/key-value/schema.js.map +1 -1
- package/dist/key-value/schema.test.js +91 -2
- package/dist/key-value/schema.test.js.map +1 -1
- package/dist/key-value-v2/schema.d.ts +27 -0
- package/dist/key-value-v2/schema.d.ts.map +1 -0
- package/dist/key-value-v2/schema.js +73 -0
- package/dist/key-value-v2/schema.js.map +1 -0
- package/dist/key-value-v2/schema.test.d.ts +2 -0
- package/dist/key-value-v2/schema.test.d.ts.map +1 -0
- package/dist/key-value-v2/schema.test.js +144 -0
- package/dist/key-value-v2/schema.test.js.map +1 -0
- package/dist/label/create-label.d.ts +5 -5
- package/dist/label/create-label.d.ts.map +1 -1
- package/dist/label/create-label.js +2 -2
- package/dist/label/create-label.js.map +1 -1
- package/dist/label/index.d.ts +1 -1
- package/dist/label/index.d.ts.map +1 -1
- package/dist/label/index.js.map +1 -1
- package/dist/label/schema.d.ts +3 -3
- package/dist/label/schema.d.ts.map +1 -1
- package/dist/label/schema.js +4 -6
- package/dist/label/schema.js.map +1 -1
- package/dist/lix/close-lix.d.ts +1 -10
- package/dist/lix/close-lix.d.ts.map +1 -1
- package/dist/lix/close-lix.js +1 -10
- package/dist/lix/close-lix.js.map +1 -1
- package/dist/lix/merge.test.js +4 -1
- package/dist/lix/merge.test.js.map +1 -1
- package/dist/lix/new-lix.d.ts +4 -2
- package/dist/lix/new-lix.d.ts.map +1 -1
- package/dist/lix/new-lix.js +244 -60
- package/dist/lix/new-lix.js.map +1 -1
- package/dist/lix/new-lix.test.js +175 -1
- package/dist/lix/new-lix.test.js.map +1 -1
- package/dist/lix/open-lix-in-memory.d.ts +1 -9
- package/dist/lix/open-lix-in-memory.d.ts.map +1 -1
- package/dist/lix/open-lix-in-memory.js +7 -15
- package/dist/lix/open-lix-in-memory.js.map +1 -1
- package/dist/lix/open-lix-in-memory.test.js +2 -1
- package/dist/lix/open-lix-in-memory.test.js.map +1 -1
- package/dist/lix/open-lix.d.ts +12 -13
- package/dist/lix/open-lix.d.ts.map +1 -1
- package/dist/lix/open-lix.js +147 -55
- package/dist/lix/open-lix.js.map +1 -1
- package/dist/lix/open-lix.test.js +242 -3
- package/dist/lix/open-lix.test.js.map +1 -1
- package/dist/lix/storage/in-memory.d.ts +7 -6
- package/dist/lix/storage/in-memory.d.ts.map +1 -1
- package/dist/lix/storage/in-memory.js +10 -17
- package/dist/lix/storage/in-memory.js.map +1 -1
- package/dist/lix/storage/in-memory.test.js +7 -68
- package/dist/lix/storage/in-memory.test.js.map +1 -1
- package/dist/lix/storage/lix-storage-adapter.d.ts +35 -5
- package/dist/lix/storage/lix-storage-adapter.d.ts.map +1 -1
- package/dist/lix/storage/opfs.d.ts +39 -10
- package/dist/lix/storage/opfs.d.ts.map +1 -1
- package/dist/lix/storage/opfs.js +148 -37
- package/dist/lix/storage/opfs.js.map +1 -1
- package/dist/lix/storage/opfs.test.js +203 -24
- package/dist/lix/storage/opfs.test.js.map +1 -1
- package/dist/lix/to-blob.d.ts +2 -9
- package/dist/lix/to-blob.d.ts.map +1 -1
- package/dist/lix/to-blob.js +2 -9
- package/dist/lix/to-blob.js.map +1 -1
- package/dist/log/create-lix-own-log.d.ts +9 -1
- package/dist/log/create-lix-own-log.d.ts.map +1 -1
- package/dist/log/create-lix-own-log.js +14 -25
- package/dist/log/create-lix-own-log.js.map +1 -1
- package/dist/log/create-lix-own-log.test.js +9 -5
- package/dist/log/create-lix-own-log.test.js.map +1 -1
- package/dist/log/create-log.d.ts +2 -2
- package/dist/log/create-log.d.ts.map +1 -1
- package/dist/log/create-log.js +2 -2
- package/dist/log/create-log.js.map +1 -1
- package/dist/log/database-schema.d.ts +33 -0
- package/dist/log/database-schema.d.ts.map +1 -0
- package/dist/log/database-schema.js +14 -0
- package/dist/log/database-schema.js.map +1 -0
- package/dist/log/database-schema.test.d.ts +2 -0
- package/dist/log/database-schema.test.d.ts.map +1 -0
- package/dist/log/database-schema.test.js +22 -0
- package/dist/log/database-schema.test.js.map +1 -0
- package/dist/log/index.d.ts +1 -1
- package/dist/log/index.d.ts.map +1 -1
- package/dist/log/index.js.map +1 -1
- package/dist/log/schema.d.ts +3 -3
- package/dist/log/schema.d.ts.map +1 -1
- package/dist/log/schema.js +4 -5
- package/dist/log/schema.js.map +1 -1
- package/dist/observe/create-observe.d.ts.map +1 -1
- package/dist/observe/create-observe.js +32 -3
- package/dist/observe/create-observe.js.map +1 -1
- package/dist/observe/create-observe.test.js +298 -44
- package/dist/observe/create-observe.test.js.map +1 -1
- package/dist/observe/determine-schema-keys.d.ts +6 -0
- package/dist/observe/determine-schema-keys.d.ts.map +1 -0
- package/dist/observe/determine-schema-keys.js +145 -0
- package/dist/observe/determine-schema-keys.js.map +1 -0
- package/dist/observe/determine-schema-keys.test.d.ts +2 -0
- package/dist/observe/determine-schema-keys.test.d.ts.map +1 -0
- package/dist/observe/determine-schema-keys.test.js +266 -0
- package/dist/observe/determine-schema-keys.test.js.map +1 -0
- package/dist/own-change-control/apply-own-change.d.ts +5 -1
- package/dist/own-change-control/apply-own-change.d.ts.map +1 -1
- package/dist/own-change-control/apply-own-change.js +26 -12
- package/dist/own-change-control/apply-own-change.js.map +1 -1
- package/dist/own-change-control/apply-own-change.test.js +86 -48
- package/dist/own-change-control/apply-own-change.test.js.map +1 -1
- package/dist/own-change-control/change-controlled-tables.d.ts +5 -7
- package/dist/own-change-control/change-controlled-tables.d.ts.map +1 -1
- package/dist/own-change-control/change-controlled-tables.js +27 -21
- package/dist/own-change-control/change-controlled-tables.js.map +1 -1
- package/dist/own-change-control/change-controlled-tables.test.js +35 -5
- package/dist/own-change-control/change-controlled-tables.test.js.map +1 -1
- package/dist/own-change-control/database-triggers.d.ts +2 -1
- package/dist/own-change-control/database-triggers.d.ts.map +1 -1
- package/dist/own-change-control/database-triggers.js +209 -67
- package/dist/own-change-control/database-triggers.js.map +1 -1
- package/dist/own-change-control/database-triggers.test.js +139 -8
- package/dist/own-change-control/database-triggers.test.js.map +1 -1
- package/dist/own-change-control/with-skip-own-change-control.d.ts.map +1 -1
- package/dist/own-change-control/with-skip-own-change-control.js +28 -6
- package/dist/own-change-control/with-skip-own-change-control.js.map +1 -1
- package/dist/own-change-control/with-skip-own-change-control.test.js +38 -1
- package/dist/own-change-control/with-skip-own-change-control.test.js.map +1 -1
- package/dist/plugin/lix-plugin.d.ts +3 -3
- package/dist/plugin/lix-plugin.d.ts.map +1 -1
- package/dist/plugin/load-plugin.d.ts.map +1 -1
- package/dist/plugin/load-plugin.js.map +1 -1
- package/dist/prototype/database-schema.d.ts +43 -0
- package/dist/prototype/database-schema.d.ts.map +1 -0
- package/dist/prototype/database-schema.js +72 -0
- package/dist/prototype/database-schema.js.map +1 -0
- package/dist/prototype/file-handlers.d.ts +24 -0
- package/dist/prototype/file-handlers.d.ts.map +1 -0
- package/dist/prototype/file-handlers.js +129 -0
- package/dist/prototype/file-handlers.js.map +1 -0
- package/dist/prototype/file-schema.d.ts +47 -0
- package/dist/prototype/file-schema.d.ts.map +1 -0
- package/dist/prototype/file-schema.js +135 -0
- package/dist/prototype/file-schema.js.map +1 -0
- package/dist/prototype/file-schema.test.d.ts +2 -0
- package/dist/prototype/file-schema.test.d.ts.map +1 -0
- package/dist/prototype/file-schema.test.js +146 -0
- package/dist/prototype/file-schema.test.js.map +1 -0
- package/dist/prototype/get-and-materialize-row.d.ts +5 -0
- package/dist/prototype/get-and-materialize-row.d.ts.map +1 -0
- package/dist/prototype/get-and-materialize-row.js +99 -0
- package/dist/prototype/get-and-materialize-row.js.map +1 -0
- package/dist/prototype/json-plugin.d.ts +49 -0
- package/dist/prototype/json-plugin.d.ts.map +1 -0
- package/dist/prototype/json-plugin.js +104 -0
- package/dist/prototype/json-plugin.js.map +1 -0
- package/dist/prototype/validate-file-path.d.ts +16 -0
- package/dist/prototype/validate-file-path.d.ts.map +1 -0
- package/dist/prototype/validate-file-path.js +44 -0
- package/dist/prototype/validate-file-path.js.map +1 -0
- package/dist/prototype/validate-file-path.test.d.ts +2 -0
- package/dist/prototype/validate-file-path.test.d.ts.map +1 -0
- package/dist/prototype/validate-file-path.test.js +36 -0
- package/dist/prototype/validate-file-path.test.js.map +1 -0
- package/dist/prototype/version-schema.d.ts +34 -0
- package/dist/prototype/version-schema.d.ts.map +1 -0
- package/dist/prototype/version-schema.js +86 -0
- package/dist/prototype/version-schema.js.map +1 -0
- package/dist/prototype/version-schema.test.d.ts +2 -0
- package/dist/prototype/version-schema.test.d.ts.map +1 -0
- package/dist/prototype/version-schema.test.js +114 -0
- package/dist/prototype/version-schema.test.js.map +1 -0
- package/dist/query-filter/change-conflict-in-version.d.ts +2 -0
- package/dist/query-filter/change-conflict-in-version.d.ts.map +1 -1
- package/dist/query-filter/change-conflict-in-version.js +2 -0
- package/dist/query-filter/change-conflict-in-version.js.map +1 -1
- package/dist/query-filter/change-in-version.d.ts +2 -0
- package/dist/query-filter/change-in-version.d.ts.map +1 -1
- package/dist/query-filter/change-in-version.js +2 -0
- package/dist/query-filter/change-in-version.js.map +1 -1
- package/dist/query-filter/change-is-leaf-in-version.d.ts +1 -0
- package/dist/query-filter/change-is-leaf-in-version.d.ts.map +1 -1
- package/dist/query-filter/change-is-leaf-in-version.js +1 -0
- package/dist/query-filter/change-is-leaf-in-version.js.map +1 -1
- package/dist/query-filter/change-is-leaf-of.d.ts +2 -0
- package/dist/query-filter/change-is-leaf-of.d.ts.map +1 -1
- package/dist/query-filter/change-is-leaf-of.js +2 -0
- package/dist/query-filter/change-is-leaf-of.js.map +1 -1
- package/dist/query-filter/change-is-leaf-v2.d.ts +69 -0
- package/dist/query-filter/change-is-leaf-v2.d.ts.map +1 -0
- package/dist/query-filter/change-is-leaf-v2.js +116 -0
- package/dist/query-filter/change-is-leaf-v2.js.map +1 -0
- package/dist/query-filter/change-is-leaf-v2.test.d.ts +2 -0
- package/dist/query-filter/change-is-leaf-v2.test.d.ts.map +1 -0
- package/dist/query-filter/change-is-leaf-v2.test.js +237 -0
- package/dist/query-filter/change-is-leaf-v2.test.js.map +1 -0
- package/dist/query-filter/change-is-leaf.d.ts +2 -0
- package/dist/query-filter/change-is-leaf.d.ts.map +1 -1
- package/dist/query-filter/change-is-leaf.js +2 -0
- package/dist/query-filter/change-is-leaf.js.map +1 -1
- package/dist/query-filter/change-is-lowest-common-ancestor-of.d.ts +2 -0
- package/dist/query-filter/change-is-lowest-common-ancestor-of.d.ts.map +1 -1
- package/dist/query-filter/change-is-lowest-common-ancestor-of.js +4 -0
- package/dist/query-filter/change-is-lowest-common-ancestor-of.js.map +1 -1
- package/dist/query-filter/change-is-lowest-common-ancestor-of.test.js +5 -3
- package/dist/query-filter/change-is-lowest-common-ancestor-of.test.js.map +1 -1
- package/dist/query-filter/change-set-element-in-ancestry-of.d.ts +10 -10
- package/dist/query-filter/change-set-element-in-ancestry-of.d.ts.map +1 -1
- package/dist/query-filter/change-set-element-in-ancestry-of.js +22 -17
- package/dist/query-filter/change-set-element-in-ancestry-of.js.map +1 -1
- package/dist/query-filter/change-set-element-in-ancestry-of.test.js +99 -26
- package/dist/query-filter/change-set-element-in-ancestry-of.test.js.map +1 -1
- package/dist/query-filter/change-set-element-in-symmetric-difference-of.d.ts +21 -0
- package/dist/query-filter/change-set-element-in-symmetric-difference-of.d.ts.map +1 -0
- package/dist/query-filter/change-set-element-in-symmetric-difference-of.js +37 -0
- package/dist/query-filter/change-set-element-in-symmetric-difference-of.js.map +1 -0
- package/dist/query-filter/change-set-element-in-symmetric-difference-of.test.d.ts +2 -0
- package/dist/query-filter/change-set-element-in-symmetric-difference-of.test.d.ts.map +1 -0
- package/dist/query-filter/change-set-element-in-symmetric-difference-of.test.js +276 -0
- package/dist/query-filter/change-set-element-in-symmetric-difference-of.test.js.map +1 -0
- package/dist/query-filter/change-set-element-in-symmetric-difference.d.ts +2 -2
- package/dist/query-filter/change-set-element-in-symmetric-difference.d.ts.map +1 -1
- package/dist/query-filter/change-set-element-in-symmetric-difference.js.map +1 -1
- package/dist/query-filter/change-set-element-in-symmetric-difference.test.js.map +1 -1
- package/dist/query-filter/change-set-element-is-leaf-of.d.ts +11 -11
- package/dist/query-filter/change-set-element-is-leaf-of.d.ts.map +1 -1
- package/dist/query-filter/change-set-element-is-leaf-of.js +58 -36
- package/dist/query-filter/change-set-element-is-leaf-of.js.map +1 -1
- package/dist/query-filter/change-set-element-is-leaf-of.test.js +83 -24
- package/dist/query-filter/change-set-element-is-leaf-of.test.js.map +1 -1
- package/dist/query-filter/change-set-is-ancestor-of.d.ts +2 -2
- package/dist/query-filter/change-set-is-ancestor-of.d.ts.map +1 -1
- package/dist/query-filter/change-set-is-ancestor-of.js.map +1 -1
- package/dist/query-filter/change-set-is-descendant-of.d.ts +2 -2
- package/dist/query-filter/change-set-is-descendant-of.d.ts.map +1 -1
- package/dist/query-filter/change-set-is-descendant-of.js.map +1 -1
- package/dist/query-filter/commit-is-ancestor-of.d.ts +51 -0
- package/dist/query-filter/commit-is-ancestor-of.d.ts.map +1 -0
- package/dist/query-filter/commit-is-ancestor-of.js +63 -0
- package/dist/query-filter/commit-is-ancestor-of.js.map +1 -0
- package/dist/query-filter/commit-is-ancestor-of.test.d.ts +2 -0
- package/dist/query-filter/commit-is-ancestor-of.test.d.ts.map +1 -0
- package/dist/query-filter/commit-is-ancestor-of.test.js +292 -0
- package/dist/query-filter/commit-is-ancestor-of.test.js.map +1 -0
- package/dist/query-filter/commit-is-descendant-of.d.ts +44 -0
- package/dist/query-filter/commit-is-descendant-of.d.ts.map +1 -0
- package/dist/query-filter/commit-is-descendant-of.js +56 -0
- package/dist/query-filter/commit-is-descendant-of.js.map +1 -0
- package/dist/query-filter/commit-is-descendant-of.test.d.ts +2 -0
- package/dist/query-filter/commit-is-descendant-of.test.d.ts.map +1 -0
- package/dist/query-filter/commit-is-descendant-of.test.js +325 -0
- package/dist/query-filter/commit-is-descendant-of.test.js.map +1 -0
- package/dist/query-filter/index.d.ts +2 -4
- package/dist/query-filter/index.d.ts.map +1 -1
- package/dist/query-filter/index.js +2 -4
- package/dist/query-filter/index.js.map +1 -1
- package/dist/query-filter/version-change-in-difference.d.ts +2 -0
- package/dist/query-filter/version-change-in-difference.d.ts.map +1 -1
- package/dist/query-filter/version-change-in-difference.js +2 -0
- package/dist/query-filter/version-change-in-difference.js.map +1 -1
- package/dist/query-filter/version-change-in-symmetric-difference.d.ts +2 -0
- package/dist/query-filter/version-change-in-symmetric-difference.d.ts.map +1 -1
- package/dist/query-filter/version-change-in-symmetric-difference.js +2 -0
- package/dist/query-filter/version-change-in-symmetric-difference.js.map +1 -1
- package/dist/schema-definition/definition.d.ts +73 -30
- package/dist/schema-definition/definition.d.ts.map +1 -1
- package/dist/schema-definition/definition.js +38 -14
- package/dist/schema-definition/definition.js.map +1 -1
- package/dist/schema-definition/definition.test.js +70 -25
- package/dist/schema-definition/definition.test.js.map +1 -1
- package/dist/schema-definition/validate-lix-schema.d.ts.map +1 -1
- package/dist/schema-definition/validate-lix-schema.js.map +1 -1
- package/dist/schema-definition/validate-lix-schema.test.js +1 -1
- package/dist/schema-definition/validate-lix-schema.test.js.map +1 -1
- package/dist/server-protocol-handler/environment/create-in-memory-environment.test.js +2 -2
- package/dist/server-protocol-handler/environment/create-in-memory-environment.test.js.map +1 -1
- package/dist/server-protocol-handler/routes/push-v1.test.js +1 -1
- package/dist/server-protocol-handler/routes/push-v1.test.js.map +1 -1
- package/dist/services/env-variables/index.js +1 -1
- package/dist/services/env-variables/index.js.map +1 -1
- package/dist/snapshot/create-snapshot.d.ts +2 -2
- package/dist/snapshot/create-snapshot.d.ts.map +1 -1
- package/dist/snapshot/create-snapshot.test.js +3 -3
- package/dist/snapshot/create-snapshot.test.js.map +1 -1
- package/dist/snapshot/database-schema.d.ts +19 -0
- package/dist/snapshot/database-schema.d.ts.map +1 -0
- package/dist/snapshot/database-schema.js +33 -0
- package/dist/snapshot/database-schema.js.map +1 -0
- package/dist/snapshot/database-schema.test.d.ts +2 -0
- package/dist/snapshot/database-schema.test.d.ts.map +1 -0
- package/dist/snapshot/database-schema.test.js +58 -0
- package/dist/snapshot/database-schema.test.js.map +1 -0
- package/dist/snapshot/schema.d.ts.map +1 -1
- package/dist/snapshot/schema.js +10 -2
- package/dist/snapshot/schema.js.map +1 -1
- package/dist/snapshot/schema.test.js +86 -0
- package/dist/snapshot/schema.test.js.map +1 -1
- package/dist/state/cache/clear-state-cache.d.ts +8 -0
- package/dist/state/cache/clear-state-cache.d.ts.map +1 -0
- package/dist/state/cache/clear-state-cache.js +14 -0
- package/dist/state/cache/clear-state-cache.js.map +1 -0
- package/dist/state/cache/clear-state-cache.test.d.ts +2 -0
- package/dist/state/cache/clear-state-cache.test.d.ts.map +1 -0
- package/dist/state/cache/clear-state-cache.test.js +34 -0
- package/dist/state/cache/clear-state-cache.test.js.map +1 -0
- package/dist/state/cache/is-stale-state-cache.d.ts +5 -0
- package/dist/state/cache/is-stale-state-cache.d.ts.map +1 -0
- package/dist/state/cache/is-stale-state-cache.js +22 -0
- package/dist/state/cache/is-stale-state-cache.js.map +1 -0
- package/dist/state/cache/is-stale-state-cache.test.d.ts +2 -0
- package/dist/state/cache/is-stale-state-cache.test.d.ts.map +1 -0
- package/dist/state/cache/is-stale-state-cache.test.js +27 -0
- package/dist/state/cache/is-stale-state-cache.test.js.map +1 -0
- package/dist/state/cache/mark-state-cache-as-stale.d.ts +10 -0
- package/dist/state/cache/mark-state-cache-as-stale.d.ts.map +1 -0
- package/dist/state/cache/mark-state-cache-as-stale.js +42 -0
- package/dist/state/cache/mark-state-cache-as-stale.js.map +1 -0
- package/dist/state/cache/populate-state-cache.d.ts +9 -0
- package/dist/state/cache/populate-state-cache.d.ts.map +1 -0
- package/dist/state/cache/populate-state-cache.js +106 -0
- package/dist/state/cache/populate-state-cache.js.map +1 -0
- package/dist/state/cache/populate-state-cache.test.d.ts +2 -0
- package/dist/state/cache/populate-state-cache.test.d.ts.map +1 -0
- package/dist/state/cache/populate-state-cache.test.js +204 -0
- package/dist/state/cache/populate-state-cache.test.js.map +1 -0
- package/dist/state/cache/schema.d.ts +20 -0
- package/dist/state/cache/schema.d.ts.map +1 -0
- package/dist/state/cache/schema.js +21 -0
- package/dist/state/cache/schema.js.map +1 -0
- package/dist/state/cache/update-state-cache.d.ts +21 -0
- package/dist/state/cache/update-state-cache.d.ts.map +1 -0
- package/dist/state/cache/update-state-cache.js +294 -0
- package/dist/state/cache/update-state-cache.js.map +1 -0
- package/dist/state/cache/update-state-cache.test.d.ts +2 -0
- package/dist/state/cache/update-state-cache.test.d.ts.map +1 -0
- package/dist/state/cache/update-state-cache.test.js +440 -0
- package/dist/state/cache/update-state-cache.test.js.map +1 -0
- package/dist/state/commit.d.ts +18 -0
- package/dist/state/commit.d.ts.map +1 -0
- package/dist/state/commit.js +457 -0
- package/dist/state/commit.js.map +1 -0
- package/dist/state/commit.test.d.ts +2 -0
- package/dist/state/commit.test.d.ts.map +1 -0
- package/dist/state/commit.test.js +1173 -0
- package/dist/state/commit.test.js.map +1 -0
- package/dist/state/get-version-record-by-id-or-throw.d.ts +2 -2
- package/dist/state/get-version-record-by-id-or-throw.d.ts.map +1 -1
- package/dist/state/get-version-record-by-id-or-throw.js.map +1 -1
- package/dist/state/handle-state-mutation.d.ts +0 -12
- package/dist/state/handle-state-mutation.d.ts.map +1 -1
- package/dist/state/handle-state-mutation.js +11 -206
- package/dist/state/handle-state-mutation.js.map +1 -1
- package/dist/state/handle-state-mutation.test.js +213 -159
- package/dist/state/handle-state-mutation.test.js.map +1 -1
- package/dist/state/insert-transaction-state.d.ts +71 -0
- package/dist/state/insert-transaction-state.d.ts.map +1 -0
- package/dist/state/insert-transaction-state.js +272 -0
- package/dist/state/insert-transaction-state.js.map +1 -0
- package/dist/state/insert-transaction-state.test.d.ts +2 -0
- package/dist/state/insert-transaction-state.test.d.ts.map +1 -0
- package/dist/state/insert-transaction-state.test.js +789 -0
- package/dist/state/insert-transaction-state.test.js.map +1 -0
- package/dist/state/materialize-state.d.ts +3 -0
- package/dist/state/materialize-state.d.ts.map +1 -0
- package/dist/state/materialize-state.js +230 -0
- package/dist/state/materialize-state.js.map +1 -0
- package/dist/state/materialize-state.test.d.ts +2 -0
- package/dist/state/materialize-state.test.d.ts.map +1 -0
- package/dist/state/materialize-state.test.js +1934 -0
- package/dist/state/materialize-state.test.js.map +1 -0
- package/dist/state/primary-key.d.ts +39 -0
- package/dist/state/primary-key.d.ts.map +1 -0
- package/dist/state/primary-key.js +62 -0
- package/dist/state/primary-key.js.map +1 -0
- package/dist/state/primary-key.test.d.ts +2 -0
- package/dist/state/primary-key.test.d.ts.map +1 -0
- package/dist/state/primary-key.test.js +114 -0
- package/dist/state/primary-key.test.js.map +1 -0
- package/dist/state/resolved-state-view.d.ts +33 -0
- package/dist/state/resolved-state-view.d.ts.map +1 -0
- package/dist/state/resolved-state-view.js +182 -0
- package/dist/state/resolved-state-view.js.map +1 -0
- package/dist/state/resolved-state-view.test.d.ts +2 -0
- package/dist/state/resolved-state-view.test.d.ts.map +1 -0
- package/dist/state/resolved-state-view.test.js +433 -0
- package/dist/state/resolved-state-view.test.js.map +1 -0
- package/dist/state/schema.d.ts +6 -19
- package/dist/state/schema.d.ts.map +1 -1
- package/dist/state/schema.js +533 -796
- package/dist/state/schema.js.map +1 -1
- package/dist/state/schema.test.js +1684 -1013
- package/dist/state/schema.test.js.map +1 -1
- package/dist/state/untracked/schema.d.ts +25 -0
- package/dist/state/untracked/schema.d.ts.map +1 -0
- package/dist/state/untracked/schema.js +38 -0
- package/dist/state/untracked/schema.js.map +1 -0
- package/dist/state/untracked/schema.test.d.ts +2 -0
- package/dist/state/untracked/schema.test.d.ts.map +1 -0
- package/dist/state/untracked/schema.test.js +275 -0
- package/dist/state/untracked/schema.test.js.map +1 -0
- package/dist/state/untracked/update-untracked-state.d.ts +36 -0
- package/dist/state/untracked/update-untracked-state.d.ts.map +1 -0
- package/dist/state/untracked/update-untracked-state.js +113 -0
- package/dist/state/untracked/update-untracked-state.js.map +1 -0
- package/dist/state/untracked/update-untracked-state.test.d.ts +2 -0
- package/dist/state/untracked/update-untracked-state.test.d.ts.map +1 -0
- package/dist/state/untracked/update-untracked-state.test.js +417 -0
- package/dist/state/untracked/update-untracked-state.test.js.map +1 -0
- package/dist/state/validate-snapshot-content.d.ts +9 -0
- package/dist/state/validate-snapshot-content.d.ts.map +1 -0
- package/dist/state/validate-snapshot-content.js +42 -0
- package/dist/state/validate-snapshot-content.js.map +1 -0
- package/dist/state/validate-snapshot-content.test.d.ts +2 -0
- package/dist/state/validate-snapshot-content.test.d.ts.map +1 -0
- package/dist/state/validate-snapshot-content.test.js +67 -0
- package/dist/state/validate-snapshot-content.test.js.map +1 -0
- package/dist/state/validate-state-mutation.d.ts +2 -2
- package/dist/state/validate-state-mutation.d.ts.map +1 -1
- package/dist/state/validate-state-mutation.js +211 -51
- package/dist/state/validate-state-mutation.js.map +1 -1
- package/dist/state/validate-state-mutation.test.js +910 -75
- package/dist/state/validate-state-mutation.test.js.map +1 -1
- package/dist/state-history/schema.d.ts +29 -19
- package/dist/state-history/schema.d.ts.map +1 -1
- package/dist/state-history/schema.js +49 -37
- package/dist/state-history/schema.js.map +1 -1
- package/dist/state-history/schema.test.js +221 -67
- package/dist/state-history/schema.test.js.map +1 -1
- package/dist/stored-schema/index.d.ts +1 -1
- package/dist/stored-schema/index.d.ts.map +1 -1
- package/dist/stored-schema/index.js +1 -1
- package/dist/stored-schema/index.js.map +1 -1
- package/dist/stored-schema/schema.d.ts +1 -1
- package/dist/stored-schema/schema.d.ts.map +1 -1
- package/dist/stored-schema/schema.test.js.map +1 -1
- package/dist/sync/push-to-server.test.js.map +1 -1
- package/dist/test-utilities/simulation-test/cache-miss-simulation.d.ts +8 -0
- package/dist/test-utilities/simulation-test/cache-miss-simulation.d.ts.map +1 -0
- package/dist/test-utilities/simulation-test/cache-miss-simulation.js +79 -0
- package/dist/test-utilities/simulation-test/cache-miss-simulation.js.map +1 -0
- package/dist/test-utilities/simulation-test/cache-miss-simulation.test.d.ts +2 -0
- package/dist/test-utilities/simulation-test/cache-miss-simulation.test.d.ts.map +1 -0
- package/dist/test-utilities/simulation-test/cache-miss-simulation.test.js +127 -0
- package/dist/test-utilities/simulation-test/cache-miss-simulation.test.js.map +1 -0
- package/dist/test-utilities/simulation-test/chaotic-timestamp-simulation.d.ts +2 -0
- package/dist/test-utilities/simulation-test/chaotic-timestamp-simulation.d.ts.map +1 -0
- package/dist/test-utilities/simulation-test/chaotic-timestamp-simulation.js +2 -0
- package/dist/test-utilities/simulation-test/chaotic-timestamp-simulation.js.map +1 -0
- package/dist/test-utilities/simulation-test/out-of-order-sequence-simulation.d.ts +10 -0
- package/dist/test-utilities/simulation-test/out-of-order-sequence-simulation.d.ts.map +1 -0
- package/dist/test-utilities/simulation-test/out-of-order-sequence-simulation.js +52 -0
- package/dist/test-utilities/simulation-test/out-of-order-sequence-simulation.js.map +1 -0
- package/dist/test-utilities/simulation-test/out-of-order-sequence-simulation.test.d.ts +2 -0
- package/dist/test-utilities/simulation-test/out-of-order-sequence-simulation.test.d.ts.map +1 -0
- package/dist/test-utilities/simulation-test/out-of-order-sequence-simulation.test.js +71 -0
- package/dist/test-utilities/simulation-test/out-of-order-sequence-simulation.test.js.map +1 -0
- package/dist/test-utilities/simulation-test/simulation-test.d.ts +82 -0
- package/dist/test-utilities/simulation-test/simulation-test.d.ts.map +1 -0
- package/dist/test-utilities/simulation-test/simulation-test.js +85 -0
- package/dist/test-utilities/simulation-test/simulation-test.js.map +1 -0
- package/dist/test-utilities/simulation-test/simulation-test.test.d.ts +2 -0
- package/dist/test-utilities/simulation-test/simulation-test.test.d.ts.map +1 -0
- package/dist/test-utilities/simulation-test/simulation-test.test.js +310 -0
- package/dist/test-utilities/simulation-test/simulation-test.test.js.map +1 -0
- package/dist/thread/comment-utils.d.ts +2 -0
- package/dist/thread/comment-utils.d.ts.map +1 -0
- package/dist/thread/comment-utils.js +2 -0
- package/dist/thread/comment-utils.js.map +1 -0
- package/dist/thread/comment.d.ts +24 -0
- package/dist/thread/comment.d.ts.map +1 -0
- package/dist/thread/comment.js +43 -0
- package/dist/thread/comment.js.map +1 -0
- package/dist/thread/create-thread-comment.d.ts +2 -2
- package/dist/thread/create-thread-comment.d.ts.map +1 -1
- package/dist/thread/create-thread-comment.js +20 -3
- package/dist/thread/create-thread-comment.js.map +1 -1
- package/dist/thread/create-thread-comment.test.js +49 -3
- package/dist/thread/create-thread-comment.test.js.map +1 -1
- package/dist/thread/create-thread.d.ts +18 -4
- package/dist/thread/create-thread.d.ts.map +1 -1
- package/dist/thread/create-thread.js +24 -3
- package/dist/thread/create-thread.js.map +1 -1
- package/dist/thread/create-thread.test.js +149 -0
- package/dist/thread/create-thread.test.js.map +1 -1
- package/dist/thread/database-schema.d.ts +20 -0
- package/dist/thread/database-schema.d.ts.map +1 -0
- package/dist/thread/database-schema.js +57 -0
- package/dist/thread/database-schema.js.map +1 -0
- package/dist/thread/database-schema.test.d.ts +2 -0
- package/dist/thread/database-schema.test.d.ts.map +1 -0
- package/dist/thread/database-schema.test.js +59 -0
- package/dist/thread/database-schema.test.js.map +1 -0
- package/dist/thread/index.d.ts +2 -1
- package/dist/thread/index.d.ts.map +1 -1
- package/dist/thread/schema.d.ts +13 -10
- package/dist/thread/schema.d.ts.map +1 -1
- package/dist/thread/schema.js +20 -14
- package/dist/thread/schema.js.map +1 -1
- package/dist/thread/schema.test.js +65 -0
- package/dist/thread/schema.test.js.map +1 -1
- package/dist/version/create-version.d.ts +14 -9
- package/dist/version/create-version.d.ts.map +1 -1
- package/dist/version/create-version.js +40 -12
- package/dist/version/create-version.js.map +1 -1
- package/dist/version/create-version.test.js +80 -25
- package/dist/version/create-version.test.js.map +1 -1
- package/dist/version/database-schema.d.ts +21 -0
- package/dist/version/database-schema.d.ts.map +1 -0
- package/dist/version/database-schema.js +169 -0
- package/dist/version/database-schema.js.map +1 -0
- package/dist/version/database-schema.test.d.ts +2 -0
- package/dist/version/database-schema.test.d.ts.map +1 -0
- package/dist/version/database-schema.test.js +625 -0
- package/dist/version/database-schema.test.js.map +1 -0
- package/dist/version/index.d.ts +1 -1
- package/dist/version/index.d.ts.map +1 -1
- package/dist/version/merge-version.d.ts +3 -0
- package/dist/version/merge-version.d.ts.map +1 -1
- package/dist/version/merge-version.js +3 -0
- package/dist/version/merge-version.js.map +1 -1
- package/dist/version/merge-version.test.js +10 -5
- package/dist/version/merge-version.test.js.map +1 -1
- package/dist/version/schema.d.ts +28 -23
- package/dist/version/schema.d.ts.map +1 -1
- package/dist/version/schema.js +42 -30
- package/dist/version/schema.js.map +1 -1
- package/dist/version/schema.test.js +311 -88
- package/dist/version/schema.test.js.map +1 -1
- package/dist/version/select-active-version.d.ts +7 -0
- package/dist/version/select-active-version.d.ts.map +1 -0
- package/dist/version/select-active-version.js +7 -0
- package/dist/version/select-active-version.js.map +1 -0
- package/dist/version/switch-version.d.ts +3 -3
- package/dist/version/switch-version.d.ts.map +1 -1
- package/dist/version/switch-version.js +1 -1
- package/dist/version/switch-version.test.js +1 -1
- package/dist/version/switch-version.test.js.map +1 -1
- package/dist/version/update-changes-in-version.d.ts +2 -0
- package/dist/version/update-changes-in-version.d.ts.map +1 -1
- package/dist/version/update-changes-in-version.js +2 -0
- package/dist/version/update-changes-in-version.js.map +1 -1
- package/dist/version-v2/create-version.d.ts +18 -0
- package/dist/version-v2/create-version.d.ts.map +1 -0
- package/dist/version-v2/create-version.js +35 -0
- package/dist/version-v2/create-version.js.map +1 -0
- package/dist/version-v2/create-version.test.d.ts +2 -0
- package/dist/version-v2/create-version.test.d.ts.map +1 -0
- package/dist/version-v2/create-version.test.js +88 -0
- package/dist/version-v2/create-version.test.js.map +1 -0
- package/dist/version-v2/database-schema.d.ts +21 -0
- package/dist/version-v2/database-schema.d.ts.map +1 -0
- package/dist/version-v2/database-schema.js +169 -0
- package/dist/version-v2/database-schema.js.map +1 -0
- package/dist/version-v2/database-schema.test.d.ts +2 -0
- package/dist/version-v2/database-schema.test.d.ts.map +1 -0
- package/dist/version-v2/database-schema.test.js +625 -0
- package/dist/version-v2/database-schema.test.js.map +1 -0
- package/dist/version-v2/index.d.ts +2 -0
- package/dist/version-v2/index.d.ts.map +1 -0
- package/dist/version-v2/index.js +2 -0
- package/dist/version-v2/index.js.map +1 -0
- package/dist/version-v2/swich-version.d.ts +27 -0
- package/dist/version-v2/swich-version.d.ts.map +1 -0
- package/dist/version-v2/swich-version.js +46 -0
- package/dist/version-v2/swich-version.js.map +1 -0
- package/dist/version-v2/switch-version.d.ts +27 -0
- package/dist/version-v2/switch-version.d.ts.map +1 -0
- package/dist/version-v2/switch-version.js +91 -0
- package/dist/version-v2/switch-version.js.map +1 -0
- package/dist/version-v2/switch-version.test.d.ts +2 -0
- package/dist/version-v2/switch-version.test.d.ts.map +1 -0
- package/dist/version-v2/switch-version.test.js +110 -0
- package/dist/version-v2/switch-version.test.js.map +1 -0
- package/dist/version-v2/with-skip-update-working-change-set.d.ts +3 -0
- package/dist/version-v2/with-skip-update-working-change-set.d.ts.map +1 -0
- package/dist/version-v2/with-skip-update-working-change-set.js +50 -0
- package/dist/version-v2/with-skip-update-working-change-set.js.map +1 -0
- package/dist/version-v2/with-skip-update-working-change-set.test.d.ts +2 -0
- package/dist/version-v2/with-skip-update-working-change-set.test.d.ts.map +1 -0
- package/dist/version-v2/with-skip-update-working-change-set.test.js +49 -0
- package/dist/version-v2/with-skip-update-working-change-set.test.js.map +1 -0
- package/package.json +3 -3
- package/src/account/create-account.ts +7 -7
- package/src/account/index.ts +2 -2
- package/src/account/schema.test.ts +99 -99
- package/src/account/schema.ts +91 -35
- package/src/account/switch-account.test.ts +4 -4
- package/src/account/switch-account.ts +6 -6
- package/src/change/index.ts +4 -1
- package/src/change/schema.test.ts +38 -0
- package/src/change/schema.ts +91 -11
- package/src/change-author/index.ts +4 -1
- package/src/change-author/schema.test.ts +306 -242
- package/src/change-author/schema.ts +18 -12
- package/src/change-proposal/create-change-proposal.ts +3 -3
- package/src/change-proposal/database-schema.ts +1 -1
- package/src/change-set/apply-change-set.test.ts +10 -7
- package/src/change-set/apply-change-set.ts +44 -56
- package/src/change-set/create-change-set.test.ts +0 -39
- package/src/change-set/create-change-set.ts +9 -33
- package/src/change-set/index.ts +3 -11
- package/src/change-set/schema.test.ts +0 -310
- package/src/change-set/schema.ts +43 -100
- package/src/commit/apply-commit.test.ts +426 -0
- package/src/commit/apply-commit.ts +74 -0
- package/src/{change-set → commit}/create-checkpoint.test.ts +244 -26
- package/src/commit/create-checkpoint.ts +140 -0
- package/src/commit/create-commit.ts +80 -0
- package/src/{change-set/create-merge-change-set.test.ts → commit/create-merge-commit.test.ts} +50 -19
- package/src/{change-set/create-merge-change-set.ts → commit/create-merge-commit.ts} +55 -16
- package/src/{change-set/create-transition-change-set.test.ts → commit/create-transition-commit.test.ts} +43 -32
- package/src/{change-set/create-transition-change-set.ts → commit/create-transition-commit.ts} +60 -22
- package/src/{change-set/create-undo-change-set.test.ts → commit/create-undo-commit.test.ts} +52 -23
- package/src/{change-set/create-undo-change-set.ts → commit/create-undo-commit.ts} +59 -26
- package/src/commit/index.ts +11 -0
- package/src/commit/schema.test.ts +257 -0
- package/src/commit/schema.ts +104 -0
- package/src/database/index.ts +0 -2
- package/src/database/init-db.ts +113 -45
- package/src/database/kysely-plugin/json-column-plugin.test.ts +404 -0
- package/src/database/kysely-plugin/json-column-plugin.ts +80 -15
- package/src/database/nano-id.test.ts +3 -3
- package/src/database/nano-id.ts +4 -1
- package/src/database/schema.ts +26 -24
- package/src/deterministic/generate-human-id.test.ts +154 -0
- package/src/deterministic/generate-human-id.ts +94 -0
- package/src/deterministic/index.ts +7 -0
- package/src/deterministic/is-deterministic-mode.test.ts +133 -0
- package/src/deterministic/is-deterministic-mode.ts +32 -0
- package/src/deterministic/nano-id.test.ts +200 -0
- package/src/deterministic/nano-id.ts +188 -0
- package/src/deterministic/options.test.ts +157 -0
- package/src/deterministic/options.ts +62 -0
- package/src/deterministic/random.test.ts +293 -0
- package/src/deterministic/random.ts +261 -0
- package/src/deterministic/sequence.test.ts +93 -0
- package/src/deterministic/sequence.ts +132 -0
- package/src/deterministic/timestamp.test.ts +170 -0
- package/src/deterministic/timestamp.ts +83 -0
- package/src/deterministic/uuid-v7.test.ts +144 -0
- package/src/deterministic/uuid-v7.ts +82 -0
- package/src/entity/eb-entity.test.ts +687 -0
- package/src/entity/eb-entity.ts +203 -0
- package/src/entity/index.ts +12 -0
- package/src/entity/label/create-entity-label.test.ts +316 -0
- package/src/entity/label/create-entity-label.ts +113 -0
- package/src/entity/label/schema.test.ts +692 -0
- package/src/entity/label/schema.ts +55 -0
- package/src/entity/schema.ts +22 -0
- package/src/entity/thread/create-entity-thread.test.ts +282 -0
- package/src/entity/thread/create-entity-thread.ts +134 -0
- package/src/entity/thread/query-threads.test.ts +394 -0
- package/src/entity/thread/schema.test.ts +170 -0
- package/src/entity/thread/schema.ts +55 -0
- package/src/entity-views/README.md +214 -0
- package/src/entity-views/entity-state-all.test.ts +202 -0
- package/src/entity-views/entity-state-all.ts +80 -11
- package/src/entity-views/entity-state-history.test.ts +78 -16
- package/src/entity-views/entity-state-history.ts +68 -19
- package/src/entity-views/entity-state.test.ts +141 -1
- package/src/entity-views/entity-state.ts +79 -10
- package/src/entity-views/entity-view-builder.test.ts +6 -6
- package/src/entity-views/types.ts +2 -2
- package/src/file/file-handlers.test.ts +4 -4
- package/src/file/file-handlers.ts +40 -0
- package/src/file/materialize-file-data-at-commit.ts +157 -0
- package/src/file/schema.test.ts +693 -37
- package/src/file/schema.ts +183 -56
- package/src/hooks/create-hooks.ts +7 -40
- package/src/index.ts +3 -0
- package/src/key-value/index.ts +1 -1
- package/src/key-value/schema.test.ts +103 -2
- package/src/key-value/schema.ts +66 -5
- package/src/label/create-label.ts +7 -7
- package/src/label/index.ts +1 -1
- package/src/label/schema.ts +7 -10
- package/src/lix/new-lix.test.ts +202 -2
- package/src/lix/new-lix.ts +305 -81
- package/src/lix/open-lix.test.ts +308 -5
- package/src/lix/open-lix.ts +169 -68
- package/src/lix/storage/in-memory.test.ts +9 -83
- package/src/lix/storage/in-memory.ts +13 -18
- package/src/lix/storage/lix-storage-adapter.ts +41 -5
- package/src/lix/storage/opfs.test.ts +254 -31
- package/src/lix/storage/opfs.ts +178 -40
- package/src/log/create-lix-own-log.test.ts +11 -7
- package/src/log/create-lix-own-log.ts +21 -32
- package/src/log/create-log.ts +4 -4
- package/src/log/index.ts +1 -1
- package/src/log/schema.ts +6 -10
- package/src/observe/create-observe.test.ts +395 -60
- package/src/observe/create-observe.ts +41 -3
- package/src/observe/determine-schema-keys.test.ts +371 -0
- package/src/observe/determine-schema-keys.ts +165 -0
- package/src/plugin/lix-plugin.ts +3 -3
- package/src/query-filter/change-set-element-in-ancestry-of.test.ts +112 -26
- package/src/query-filter/change-set-element-in-ancestry-of.ts +25 -20
- package/src/query-filter/change-set-element-in-symmetric-difference.test.ts +6 -6
- package/src/query-filter/change-set-element-in-symmetric-difference.ts +3 -3
- package/src/query-filter/change-set-element-is-leaf-of.test.ts +83 -24
- package/src/query-filter/change-set-element-is-leaf-of.ts +61 -39
- package/src/query-filter/commit-is-ancestor-of.test.ts +333 -0
- package/src/query-filter/commit-is-ancestor-of.ts +77 -0
- package/src/query-filter/commit-is-descendant-of.test.ts +365 -0
- package/src/query-filter/commit-is-descendant-of.ts +70 -0
- package/src/query-filter/index.ts +2 -4
- package/src/schema-definition/definition.test.ts +73 -25
- package/src/schema-definition/definition.ts +87 -30
- package/src/schema-definition/index.ts +1 -1
- package/src/schema-definition/validate-lix-schema.test.ts +14 -5
- package/src/schema-definition/validate-lix-schema.ts +9 -13
- package/src/server-protocol-handler/environment/create-in-memory-environment.test.ts +2 -2
- package/src/server-protocol-handler/routes/push-v1.test.ts +1 -1
- package/src/snapshot/schema.test.ts +113 -0
- package/src/snapshot/schema.ts +10 -2
- package/src/state/README.md +95 -0
- package/src/state/cache/clear-state-cache.test.ts +43 -0
- package/src/state/cache/clear-state-cache.ts +16 -0
- package/src/state/cache/is-stale-state-cache.test.ts +35 -0
- package/src/state/cache/is-stale-state-cache.ts +29 -0
- package/src/state/cache/mark-state-cache-as-stale.ts +53 -0
- package/src/state/cache/populate-state-cache.test.ts +259 -0
- package/src/state/cache/populate-state-cache.ts +124 -0
- package/src/state/cache/schema.ts +41 -0
- package/src/state/cache/update-state-cache.test.ts +510 -0
- package/src/state/cache/update-state-cache.ts +317 -0
- package/src/state/commit.test.ts +1402 -0
- package/src/state/commit.ts +587 -0
- package/src/state/insert-transaction-state.test.ts +928 -0
- package/src/state/insert-transaction-state.ts +306 -0
- package/src/state/materialize-state.test.ts +2358 -0
- package/src/state/materialize-state.ts +235 -0
- package/src/state/primary-key.test.ts +158 -0
- package/src/state/primary-key.ts +80 -0
- package/src/state/resolved-state-view.test.ts +521 -0
- package/src/state/resolved-state-view.ts +202 -0
- package/src/state/schema.test.ts +3116 -2272
- package/src/state/schema.ts +614 -910
- package/src/state/untracked/schema.test.ts +301 -0
- package/src/state/untracked/schema.ts +55 -0
- package/src/state/untracked/update-untracked-state.test.ts +466 -0
- package/src/state/untracked/update-untracked-state.ts +133 -0
- package/src/state/validate-state-mutation.test.ts +1032 -77
- package/src/state/validate-state-mutation.ts +270 -68
- package/src/state-history/schema.test.ts +246 -71
- package/src/state-history/schema.ts +78 -55
- package/src/stored-schema/index.ts +4 -1
- package/src/stored-schema/schema.test.ts +7 -7
- package/src/stored-schema/schema.ts +1 -1
- package/src/sync/push-to-server.test.ts +6 -6
- package/src/test-utilities/simulation-test/cache-miss-simulation.test.ts +162 -0
- package/src/test-utilities/simulation-test/cache-miss-simulation.ts +99 -0
- package/src/test-utilities/simulation-test/chaotic-timestamp-simulation.ts +0 -0
- package/src/test-utilities/simulation-test/out-of-order-sequence-simulation.test.ts +88 -0
- package/src/test-utilities/simulation-test/out-of-order-sequence-simulation.ts +69 -0
- package/src/test-utilities/simulation-test/simulation-test.test.ts +400 -0
- package/src/test-utilities/simulation-test/simulation-test.ts +176 -0
- package/src/thread/create-thread-comment.test.ts +62 -3
- package/src/thread/create-thread-comment.ts +34 -6
- package/src/thread/create-thread.test.ts +180 -0
- package/src/thread/create-thread.ts +32 -7
- package/src/thread/index.ts +3 -2
- package/src/thread/schema.test.ts +81 -0
- package/src/thread/schema.ts +24 -19
- package/src/version/create-version.test.ts +92 -26
- package/src/version/create-version.ts +49 -19
- package/src/version/index.ts +2 -2
- package/src/version/schema.test.ts +328 -92
- package/src/version/schema.ts +47 -33
- package/src/version/select-active-version.ts +18 -0
- package/src/version/switch-version.test.ts +1 -1
- package/src/version/switch-version.ts +3 -3
- package/dist/entity-views/entity-state_history.d.ts +0 -67
- package/dist/entity-views/entity-state_history.d.ts.map +0 -1
- package/dist/entity-views/entity-state_history.js +0 -58
- package/dist/entity-views/entity-state_history.js.map +0 -1
- package/dist/entity-views/generic-types.d.ts +0 -128
- package/dist/entity-views/generic-types.d.ts.map +0 -1
- package/dist/entity-views/generic-types.js +0 -2
- package/dist/entity-views/generic-types.js.map +0 -1
- package/dist/entity-views/generic-types.test.d.ts +0 -2
- package/dist/entity-views/generic-types.test.d.ts.map +0 -1
- package/dist/entity-views/generic-types.test.js +0 -99
- package/dist/entity-views/generic-types.test.js.map +0 -1
- package/dist/lix/to-blob.test.d.ts +0 -2
- package/dist/lix/to-blob.test.d.ts.map +0 -1
- package/dist/lix/to-blob.test.js +0 -18
- package/dist/lix/to-blob.test.js.map +0 -1
- package/dist/repository/comparison-example.js +0 -173
- package/dist/repository/comparison-example.js.map +0 -1
- package/dist/repository/entity-repository.d.ts +0 -53
- package/dist/repository/entity-repository.d.ts.map +0 -1
- package/dist/repository/entity-repository.js +0 -187
- package/dist/repository/entity-repository.js.map +0 -1
- package/dist/repository/entity-repository.test.d.ts +0 -2
- package/dist/repository/entity-repository.test.d.ts.map +0 -1
- package/dist/repository/entity-repository.test.js +0 -94
- package/dist/repository/entity-repository.test.js.map +0 -1
- package/dist/repository/example.d.ts +0 -6
- package/dist/repository/example.d.ts.map +0 -1
- package/dist/repository/example.js +0 -87
- package/dist/repository/example.js.map +0 -1
- package/dist/repository/file-repository.d.ts +0 -39
- package/dist/repository/file-repository.d.ts.map +0 -1
- package/dist/repository/file-repository.js +0 -93
- package/dist/repository/file-repository.js.map +0 -1
- package/dist/repository/file-repository.test.d.ts +0 -2
- package/dist/repository/file-repository.test.d.ts.map +0 -1
- package/dist/repository/file-repository.test.js +0 -165
- package/dist/repository/file-repository.test.js.map +0 -1
- package/dist/repository/index.d.ts +0 -6
- package/dist/repository/index.d.ts.map +0 -1
- package/dist/repository/index.js +0 -6
- package/dist/repository/index.js.map +0 -1
- package/dist/repository/integration.test.d.ts +0 -2
- package/dist/repository/integration.test.d.ts.map +0 -1
- package/dist/repository/integration.test.js +0 -136
- package/dist/repository/integration.test.js.map +0 -1
- package/dist/repository/key-value-repository.d.ts +0 -30
- package/dist/repository/key-value-repository.d.ts.map +0 -1
- package/dist/repository/key-value-repository.js +0 -60
- package/dist/repository/key-value-repository.js.map +0 -1
- package/dist/repository/key-value-repository.test.d.ts +0 -2
- package/dist/repository/key-value-repository.test.d.ts.map +0 -1
- package/dist/repository/key-value-repository.test.js +0 -122
- package/dist/repository/key-value-repository.test.js.map +0 -1
- package/dist/repository/markdown-plugin-example.js +0 -118
- package/dist/repository/markdown-plugin-example.js.map +0 -1
- package/dist/repository/query-builder.d.ts +0 -69
- package/dist/repository/query-builder.d.ts.map +0 -1
- package/dist/repository/query-builder.js +0 -155
- package/dist/repository/query-builder.js.map +0 -1
- package/dist/repository/query-builder.test.d.ts +0 -2
- package/dist/repository/query-builder.test.d.ts.map +0 -1
- package/dist/repository/query-builder.test.js +0 -244
- package/dist/repository/query-builder.test.js.map +0 -1
- package/dist/repository/repository-manager.d.ts +0 -27
- package/dist/repository/repository-manager.d.ts.map +0 -1
- package/dist/repository/repository-manager.js +0 -19
- package/dist/repository/repository-manager.js.map +0 -1
- package/dist/repository/repository-manager.test.d.ts +0 -2
- package/dist/repository/repository-manager.test.d.ts.map +0 -1
- package/dist/repository/repository-manager.test.js +0 -65
- package/dist/repository/repository-manager.test.js.map +0 -1
- package/dist/repository/test-helpers.js +0 -402
- package/dist/repository/test-helpers.js.map +0 -1
- package/dist/schema-definition/lix-generated.test.d.ts +0 -2
- package/dist/schema-definition/lix-generated.test.d.ts.map +0 -1
- package/dist/schema-definition/lix-generated.test.js +0 -127
- package/dist/schema-definition/lix-generated.test.js.map +0 -1
- package/dist/state/entity-view-builder.d.ts +0 -145
- package/dist/state/entity-view-builder.d.ts.map +0 -1
- package/dist/state/entity-view-builder.js +0 -280
- package/dist/state/entity-view-builder.js.map +0 -1
- package/dist/state/entity-view-builder.test.d.ts +0 -2
- package/dist/state/entity-view-builder.test.d.ts.map +0 -1
- package/dist/state/entity-view-builder.test.js +0 -523
- package/dist/state/entity-view-builder.test.js.map +0 -1
- package/src/change-set/create-checkpoint.ts +0 -101
- package/src/file/materialize-file-data-at-changeset.ts +0 -123
- package/src/query-filter/change-has-label.test.ts +0 -79
- package/src/query-filter/change-has-label.ts +0 -45
- package/src/query-filter/change-set-has-label.test.ts +0 -42
- package/src/query-filter/change-set-has-label.ts +0 -50
- package/src/query-filter/change-set-is-ancestor-of.test.ts +0 -178
- package/src/query-filter/change-set-is-ancestor-of.ts +0 -77
- package/src/query-filter/change-set-is-descendant-of.test.ts +0 -169
- package/src/query-filter/change-set-is-descendant-of.ts +0 -70
- package/src/state/create-changeset-for-transaction.ts +0 -321
- package/src/state/get-version-record-by-id-or-throw.ts +0 -51
- package/src/state/handle-state-mutation.test.ts +0 -761
- package/src/state/handle-state-mutation.ts +0 -418
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import type { SqliteWasmDatabase } from "sqlite-wasm-kysely";
|
|
2
|
+
|
|
3
|
+
export function applyMaterializeStateSchema(sqlite: SqliteWasmDatabase): void {
|
|
4
|
+
// View 1: Version tips - one row per version with its current tip commit
|
|
5
|
+
// Rule: "if a version entity exists, the version is active. even if other versions 'build' on this version by branching away from the commit"
|
|
6
|
+
// A commit C is the tip for version V iff:
|
|
7
|
+
// • C appears in at least one lix_version change row for V AND
|
|
8
|
+
// • there is no commit that is both a child of C in lix_commit_edge table AND referenced by any lix_version row of the same version V
|
|
9
|
+
sqlite.exec(`
|
|
10
|
+
CREATE VIEW IF NOT EXISTS internal_materialization_version_tips AS
|
|
11
|
+
WITH
|
|
12
|
+
-- 1. every (version, commit) ever recorded
|
|
13
|
+
version_commits(version_id, commit_id) AS (
|
|
14
|
+
SELECT
|
|
15
|
+
v.entity_id,
|
|
16
|
+
json_extract(v.snapshot_content,'$.commit_id')
|
|
17
|
+
FROM change v
|
|
18
|
+
WHERE v.schema_key = 'lix_version'
|
|
19
|
+
),
|
|
20
|
+
-- 2. mark (version, commit) pairs that still have a child commit referenced by the same version
|
|
21
|
+
non_tips AS (
|
|
22
|
+
SELECT DISTINCT
|
|
23
|
+
vc.version_id,
|
|
24
|
+
vc.commit_id
|
|
25
|
+
FROM version_commits vc
|
|
26
|
+
JOIN change e -- commit-edge
|
|
27
|
+
ON e.schema_key = 'lix_commit_edge'
|
|
28
|
+
AND json_extract(e.snapshot_content,'$.parent_id') = vc.commit_id
|
|
29
|
+
JOIN version_commits vc_child
|
|
30
|
+
ON vc_child.commit_id = json_extract(e.snapshot_content,'$.child_id')
|
|
31
|
+
AND vc_child.version_id = vc.version_id -- same version!
|
|
32
|
+
)
|
|
33
|
+
-- 3. tips = version commits that are NOT in the non_tip set
|
|
34
|
+
SELECT
|
|
35
|
+
vc.version_id,
|
|
36
|
+
vc.commit_id AS tip_commit_id
|
|
37
|
+
FROM version_commits vc
|
|
38
|
+
WHERE NOT EXISTS (
|
|
39
|
+
SELECT 1
|
|
40
|
+
FROM non_tips nt
|
|
41
|
+
WHERE nt.version_id = vc.version_id
|
|
42
|
+
AND nt.commit_id = vc.commit_id
|
|
43
|
+
);
|
|
44
|
+
`);
|
|
45
|
+
|
|
46
|
+
// View 2: Commit graph - lineage with depth (combines old views 3 & 4)
|
|
47
|
+
sqlite.exec(`
|
|
48
|
+
CREATE VIEW IF NOT EXISTS internal_materialization_commit_graph AS
|
|
49
|
+
WITH RECURSIVE commit_paths(commit_id, version_id, depth, path) AS (
|
|
50
|
+
-- Start from version tips at depth 0
|
|
51
|
+
SELECT
|
|
52
|
+
tip_commit_id,
|
|
53
|
+
version_id,
|
|
54
|
+
0,
|
|
55
|
+
',' || tip_commit_id || ',' -- Path for cycle detection
|
|
56
|
+
FROM internal_materialization_version_tips
|
|
57
|
+
|
|
58
|
+
UNION ALL
|
|
59
|
+
|
|
60
|
+
-- Walk up parent chain, incrementing depth
|
|
61
|
+
SELECT
|
|
62
|
+
json_extract(edge.snapshot_content,'$.parent_id'),
|
|
63
|
+
g.version_id,
|
|
64
|
+
g.depth + 1,
|
|
65
|
+
g.path || json_extract(edge.snapshot_content,'$.parent_id') || ','
|
|
66
|
+
FROM change edge
|
|
67
|
+
JOIN commit_paths g ON json_extract(edge.snapshot_content,'$.child_id') = g.commit_id
|
|
68
|
+
WHERE edge.schema_key = 'lix_commit_edge'
|
|
69
|
+
AND json_extract(edge.snapshot_content,'$.parent_id') IS NOT NULL
|
|
70
|
+
-- Cycle detection: stop if parent already in path
|
|
71
|
+
AND INSTR(g.path, ',' || json_extract(edge.snapshot_content,'$.parent_id') || ',') = 0
|
|
72
|
+
)
|
|
73
|
+
-- Group by commit_id and version_id, taking MIN depth for merge commits
|
|
74
|
+
SELECT
|
|
75
|
+
commit_id,
|
|
76
|
+
version_id,
|
|
77
|
+
MIN(depth) as depth
|
|
78
|
+
FROM commit_paths
|
|
79
|
+
GROUP BY commit_id, version_id;
|
|
80
|
+
`);
|
|
81
|
+
|
|
82
|
+
// View 3: Latest visible state - first seen wins, with proper timestamps
|
|
83
|
+
sqlite.exec(`
|
|
84
|
+
CREATE VIEW IF NOT EXISTS internal_materialization_latest_visible_state AS
|
|
85
|
+
WITH commit_changes AS (
|
|
86
|
+
SELECT
|
|
87
|
+
cg.version_id,
|
|
88
|
+
cg.commit_id,
|
|
89
|
+
cg.depth,
|
|
90
|
+
c.id as change_id,
|
|
91
|
+
c.entity_id,
|
|
92
|
+
c.schema_key,
|
|
93
|
+
c.file_id,
|
|
94
|
+
c.plugin_key,
|
|
95
|
+
c.snapshot_content,
|
|
96
|
+
c.schema_version,
|
|
97
|
+
c.created_at,
|
|
98
|
+
ROW_NUMBER() OVER (
|
|
99
|
+
PARTITION BY cg.version_id, c.entity_id, c.schema_key, c.file_id
|
|
100
|
+
ORDER BY cg.depth ASC
|
|
101
|
+
) as first_seen,
|
|
102
|
+
-- Get timestamps based on commit graph depth, not wall-clock time
|
|
103
|
+
-- Deepest ancestor (highest depth) → created_at
|
|
104
|
+
FIRST_VALUE(c.created_at) OVER (
|
|
105
|
+
PARTITION BY cg.version_id, c.entity_id, c.schema_key, c.file_id
|
|
106
|
+
ORDER BY cg.depth DESC
|
|
107
|
+
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
|
|
108
|
+
) as entity_created_at,
|
|
109
|
+
-- Current tip (depth 0) → updated_at
|
|
110
|
+
FIRST_VALUE(c.created_at) OVER (
|
|
111
|
+
PARTITION BY cg.version_id, c.entity_id, c.schema_key, c.file_id
|
|
112
|
+
ORDER BY cg.depth ASC
|
|
113
|
+
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
|
|
114
|
+
) as entity_updated_at
|
|
115
|
+
FROM internal_materialization_commit_graph cg
|
|
116
|
+
-- Get commit's change_set_id
|
|
117
|
+
JOIN change cmt ON cmt.entity_id = cg.commit_id
|
|
118
|
+
AND cmt.schema_key = 'lix_commit'
|
|
119
|
+
-- Get changes in this change_set
|
|
120
|
+
JOIN change cse ON cse.schema_key = 'lix_change_set_element'
|
|
121
|
+
AND json_extract(cse.snapshot_content,'$.change_set_id') = json_extract(cmt.snapshot_content,'$.change_set_id')
|
|
122
|
+
-- Get the actual change
|
|
123
|
+
JOIN change c ON c.id = json_extract(cse.snapshot_content,'$.change_id')
|
|
124
|
+
)
|
|
125
|
+
SELECT
|
|
126
|
+
version_id,
|
|
127
|
+
commit_id,
|
|
128
|
+
depth,
|
|
129
|
+
change_id,
|
|
130
|
+
entity_id,
|
|
131
|
+
schema_key,
|
|
132
|
+
file_id,
|
|
133
|
+
plugin_key,
|
|
134
|
+
snapshot_content,
|
|
135
|
+
schema_version,
|
|
136
|
+
entity_created_at as created_at,
|
|
137
|
+
entity_updated_at as updated_at
|
|
138
|
+
FROM commit_changes
|
|
139
|
+
WHERE first_seen = 1;
|
|
140
|
+
-- Note: We do NOT filter out NULL snapshots here to allow deletion tracking
|
|
141
|
+
`);
|
|
142
|
+
|
|
143
|
+
// View 4: Version ancestry - computes the complete ancestral lineage for each version
|
|
144
|
+
// This view recursively follows inherits_from_version_id relationships to build
|
|
145
|
+
// the full ancestry tree. Each version sees:
|
|
146
|
+
// - Itself as an ancestor at depth 0
|
|
147
|
+
// - Its direct parent at depth 1 (if it inherits)
|
|
148
|
+
// - Its grandparent at depth 2
|
|
149
|
+
// - And so on up the inheritance chain
|
|
150
|
+
// Used by the state materializer to implement multi-level inheritance where
|
|
151
|
+
// child versions can see state from all ancestors unless overridden
|
|
152
|
+
sqlite.exec(`
|
|
153
|
+
CREATE VIEW IF NOT EXISTS internal_materialization_version_ancestry AS
|
|
154
|
+
WITH RECURSIVE version_ancestry(version_id, ancestor_version_id, inheritance_depth, path) AS (
|
|
155
|
+
-- Each version is its own ancestor at depth 0
|
|
156
|
+
SELECT
|
|
157
|
+
entity_id as version_id,
|
|
158
|
+
entity_id as ancestor_version_id,
|
|
159
|
+
0 as inheritance_depth,
|
|
160
|
+
',' || entity_id || ',' -- Path for cycle detection
|
|
161
|
+
FROM change
|
|
162
|
+
WHERE schema_key = 'lix_version'
|
|
163
|
+
|
|
164
|
+
UNION ALL
|
|
165
|
+
|
|
166
|
+
-- Recursively find all ancestors
|
|
167
|
+
SELECT
|
|
168
|
+
va.version_id,
|
|
169
|
+
json_extract(parent_v.snapshot_content,'$.inherits_from_version_id'),
|
|
170
|
+
va.inheritance_depth + 1,
|
|
171
|
+
va.path || json_extract(parent_v.snapshot_content,'$.inherits_from_version_id') || ','
|
|
172
|
+
FROM version_ancestry va
|
|
173
|
+
JOIN change parent_v
|
|
174
|
+
ON parent_v.entity_id = va.ancestor_version_id
|
|
175
|
+
AND parent_v.schema_key = 'lix_version'
|
|
176
|
+
WHERE json_extract(parent_v.snapshot_content,'$.inherits_from_version_id') IS NOT NULL
|
|
177
|
+
-- Cycle detection: stop if ancestor already in path
|
|
178
|
+
AND INSTR(va.path, ',' || json_extract(parent_v.snapshot_content,'$.inherits_from_version_id') || ',') = 0
|
|
179
|
+
)
|
|
180
|
+
SELECT version_id, ancestor_version_id, inheritance_depth
|
|
181
|
+
FROM version_ancestry;
|
|
182
|
+
`);
|
|
183
|
+
|
|
184
|
+
// View 5: Final state materializer with multi-level inheritance
|
|
185
|
+
sqlite.exec(`
|
|
186
|
+
CREATE VIEW IF NOT EXISTS internal_state_materializer AS
|
|
187
|
+
WITH all_possible_states AS (
|
|
188
|
+
SELECT
|
|
189
|
+
va.version_id,
|
|
190
|
+
s.entity_id,
|
|
191
|
+
s.schema_key,
|
|
192
|
+
s.file_id,
|
|
193
|
+
s.plugin_key,
|
|
194
|
+
s.snapshot_content,
|
|
195
|
+
s.schema_version,
|
|
196
|
+
s.created_at,
|
|
197
|
+
s.updated_at,
|
|
198
|
+
s.change_id,
|
|
199
|
+
s.commit_id,
|
|
200
|
+
va.ancestor_version_id,
|
|
201
|
+
va.inheritance_depth,
|
|
202
|
+
-- Rank by inheritance depth - closer ancestors win
|
|
203
|
+
ROW_NUMBER() OVER (
|
|
204
|
+
PARTITION BY va.version_id, s.entity_id, s.schema_key, s.file_id
|
|
205
|
+
ORDER BY va.inheritance_depth ASC
|
|
206
|
+
) as inheritance_rank
|
|
207
|
+
FROM internal_materialization_version_ancestry va
|
|
208
|
+
JOIN internal_materialization_latest_visible_state s
|
|
209
|
+
ON s.version_id = va.ancestor_version_id
|
|
210
|
+
)
|
|
211
|
+
SELECT
|
|
212
|
+
entity_id,
|
|
213
|
+
schema_key,
|
|
214
|
+
file_id,
|
|
215
|
+
version_id,
|
|
216
|
+
plugin_key,
|
|
217
|
+
snapshot_content,
|
|
218
|
+
schema_version,
|
|
219
|
+
created_at,
|
|
220
|
+
updated_at,
|
|
221
|
+
CASE
|
|
222
|
+
WHEN inheritance_depth > 0 THEN ancestor_version_id
|
|
223
|
+
ELSE NULL
|
|
224
|
+
END as inherited_from_version_id,
|
|
225
|
+
0 as untracked,
|
|
226
|
+
change_id,
|
|
227
|
+
commit_id
|
|
228
|
+
FROM all_possible_states
|
|
229
|
+
-- inheritance_rank = 1 means this is the closest ancestor that has state for this entity
|
|
230
|
+
-- (rank 1 = direct state, rank 2 = parent state, rank 3 = grandparent state, etc.)
|
|
231
|
+
-- We only want the most specific/closest state, not all inherited variants
|
|
232
|
+
WHERE inheritance_rank = 1;
|
|
233
|
+
-- Note: Now includes tombstones (null snapshot_content) for proper deletion handling
|
|
234
|
+
`);
|
|
235
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { test, expect } from "vitest";
|
|
2
|
+
import {
|
|
3
|
+
serializeStatePk,
|
|
4
|
+
parseStatePk,
|
|
5
|
+
type StatePkTag,
|
|
6
|
+
} from "./primary-key.js";
|
|
7
|
+
|
|
8
|
+
test("makePk creates correct composite key for simple values", () => {
|
|
9
|
+
const pk = serializeStatePk("U", "file1", "entity1", "version1");
|
|
10
|
+
// No special characters, so no encoding needed
|
|
11
|
+
expect(pk).toBe("U~file1~entity1~version1");
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
test("makePk handles special characters in fields", () => {
|
|
15
|
+
const pk = serializeStatePk(
|
|
16
|
+
"C",
|
|
17
|
+
"file|with|pipes",
|
|
18
|
+
"entity-123",
|
|
19
|
+
"ver/sion:1"
|
|
20
|
+
);
|
|
21
|
+
// Special characters should be percent-encoded
|
|
22
|
+
expect(pk).toBe("C~file%7Cwith%7Cpipes~entity-123~ver%2Fsion%3A1");
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
test("parsePk correctly parses simple composite key", () => {
|
|
26
|
+
const result = parseStatePk("UI~file1~entity1~version1");
|
|
27
|
+
expect(result).toEqual({
|
|
28
|
+
tag: "UI",
|
|
29
|
+
fileId: "file1",
|
|
30
|
+
entityId: "entity1",
|
|
31
|
+
versionId: "version1",
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
test("parsePk handles fields with special characters", () => {
|
|
36
|
+
// Test with encoded values
|
|
37
|
+
const result = parseStatePk(
|
|
38
|
+
"CI~file%7Cwith%7Cpipes~entity-123~ver%2Fsion%3A1"
|
|
39
|
+
);
|
|
40
|
+
expect(result).toEqual({
|
|
41
|
+
tag: "CI",
|
|
42
|
+
fileId: "file|with|pipes",
|
|
43
|
+
entityId: "entity-123",
|
|
44
|
+
versionId: "ver/sion:1",
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
test("roundtrip encoding and decoding preserves data", () => {
|
|
49
|
+
const testCases: Array<[StatePkTag, string, string, string]> = [
|
|
50
|
+
["U", "simple", "test", "v1"],
|
|
51
|
+
["UI", "file-with-dash", "entity", "version"],
|
|
52
|
+
["C", "file", "entity_with_underscore", "version"],
|
|
53
|
+
["CI", "file", "entity", "version.with.dot"],
|
|
54
|
+
["U", "a|b", "c:d", "e/f"], // various special chars
|
|
55
|
+
["C", "---", "test", "v1"], // multiple dashes
|
|
56
|
+
["UI", "", "", ""], // empty strings
|
|
57
|
+
["CI", "file-", "-entity", "-version-"], // dashes at edges
|
|
58
|
+
];
|
|
59
|
+
|
|
60
|
+
for (const [tag, fileId, entityId, versionId] of testCases) {
|
|
61
|
+
const pk = serializeStatePk(tag, fileId, entityId, versionId);
|
|
62
|
+
const parsed = parseStatePk(pk);
|
|
63
|
+
|
|
64
|
+
expect(parsed).toEqual({
|
|
65
|
+
tag,
|
|
66
|
+
fileId,
|
|
67
|
+
entityId,
|
|
68
|
+
versionId,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
test("parsePk handles edge cases", () => {
|
|
74
|
+
// Empty strings are valid values
|
|
75
|
+
const result1 = parseStatePk("U~~~");
|
|
76
|
+
expect(result1).toEqual({
|
|
77
|
+
tag: "U",
|
|
78
|
+
fileId: "",
|
|
79
|
+
entityId: "",
|
|
80
|
+
versionId: "",
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
// Complex field values
|
|
84
|
+
const result2 = parseStatePk(
|
|
85
|
+
"C~file/path/to/resource~com.example.entity~v1.2.3"
|
|
86
|
+
);
|
|
87
|
+
expect(result2).toEqual({
|
|
88
|
+
tag: "C",
|
|
89
|
+
fileId: "file/path/to/resource",
|
|
90
|
+
entityId: "com.example.entity",
|
|
91
|
+
versionId: "v1.2.3",
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
test("all tag types are handled", () => {
|
|
96
|
+
const tags: StatePkTag[] = ["U", "UI", "C", "CI"];
|
|
97
|
+
|
|
98
|
+
for (const tag of tags) {
|
|
99
|
+
const pk = serializeStatePk(tag, "file", "entity", "version");
|
|
100
|
+
const parsed = parseStatePk(pk);
|
|
101
|
+
expect(parsed.tag).toBe(tag);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
test("makePk and parsePk handle Unicode correctly", () => {
|
|
106
|
+
const pk = serializeStatePk(
|
|
107
|
+
"U",
|
|
108
|
+
"文件-file",
|
|
109
|
+
"エンティティ-entity",
|
|
110
|
+
"版本-version"
|
|
111
|
+
);
|
|
112
|
+
const parsed = parseStatePk(pk);
|
|
113
|
+
|
|
114
|
+
expect(parsed).toEqual({
|
|
115
|
+
tag: "U",
|
|
116
|
+
fileId: "文件-file",
|
|
117
|
+
entityId: "エンティティ-entity",
|
|
118
|
+
versionId: "版本-version",
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
test("handles entity IDs with tildes", () => {
|
|
123
|
+
// This is the critical test - entity ID contains a tilde
|
|
124
|
+
const pk = serializeStatePk("C", "test_file", "cat1~id1", "version1");
|
|
125
|
+
// The tilde in entity ID should be encoded as %7E
|
|
126
|
+
expect(pk).toBe("C~test_file~cat1%7Eid1~version1");
|
|
127
|
+
|
|
128
|
+
// And it should parse back correctly
|
|
129
|
+
const parsed = parseStatePk(pk);
|
|
130
|
+
expect(parsed).toEqual({
|
|
131
|
+
tag: "C",
|
|
132
|
+
fileId: "test_file",
|
|
133
|
+
entityId: "cat1~id1",
|
|
134
|
+
versionId: "version1",
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
test("parsePk throws on malformed input", () => {
|
|
139
|
+
// Missing parts
|
|
140
|
+
expect(() => parseStatePk("U")).toThrow(
|
|
141
|
+
"Invalid composite key: U - expected 4 parts"
|
|
142
|
+
);
|
|
143
|
+
|
|
144
|
+
// Only tag and one field
|
|
145
|
+
expect(() => parseStatePk("C~file")).toThrow(
|
|
146
|
+
"Invalid composite key: C~file - expected 4 parts"
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
// Two fields
|
|
150
|
+
expect(() => parseStatePk("UI~file~entity")).toThrow(
|
|
151
|
+
"Invalid composite key: UI~file~entity - expected 4 parts"
|
|
152
|
+
);
|
|
153
|
+
|
|
154
|
+
// Too many fields
|
|
155
|
+
expect(() => parseStatePk("CI~file~entity~version~extra")).toThrow(
|
|
156
|
+
"Invalid composite key: CI~file~entity~version~extra - expected 4 parts"
|
|
157
|
+
);
|
|
158
|
+
});
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities for encoding/decoding composite primary keys for the resolved state virtual table.
|
|
3
|
+
*
|
|
4
|
+
* The composite key format is: tag~file_id~entity_id~version_id
|
|
5
|
+
* Using ~ as delimiter since it's URL-safe and unlikely to appear in identifiers
|
|
6
|
+
*
|
|
7
|
+
* Tag meanings:
|
|
8
|
+
*
|
|
9
|
+
* - U: Untracked direct (from internal_state_all_untracked in child version)
|
|
10
|
+
* - UI: Untracked inherited (from internal_state_all_untracked in parent version)
|
|
11
|
+
* - C: Cache-tracked direct (from internal_state_cache in child version)
|
|
12
|
+
* - CI: Cache-tracked inherited (from internal_state_cache in parent version)
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
export type StatePkTag = "U" | "UI" | "C" | "CI";
|
|
16
|
+
|
|
17
|
+
const DELIM = "~"; // still our global separator
|
|
18
|
+
const DELIM_ENC = "%7E"; // RFC 3986 percent-encoding for '~'
|
|
19
|
+
|
|
20
|
+
/** Encode one segment so it cannot contain the delimiter or raw '%' */
|
|
21
|
+
export function encodeStatePkPart(part: string): string {
|
|
22
|
+
// encodeURIComponent protects '%' and other reserved chars,
|
|
23
|
+
// then we additionally escape the delimiter itself.
|
|
24
|
+
return encodeURIComponent(part).replace(/~/g, DELIM_ENC);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** Reverse of encodeStatePkPart */
|
|
28
|
+
function decodeStatePkPart(encoded: string): string {
|
|
29
|
+
// decodeURIComponent happily turns %7E → ~ and %25 → %
|
|
30
|
+
return decodeURIComponent(encoded);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Build primary key string from components.
|
|
35
|
+
*
|
|
36
|
+
* @param tag - The tag indicating the source and ownership
|
|
37
|
+
* @param fileId - The file ID
|
|
38
|
+
* @param entityId - The entity ID
|
|
39
|
+
* @param versionId - The version ID
|
|
40
|
+
* @returns The encoded composite key
|
|
41
|
+
*/
|
|
42
|
+
export function serializeStatePk(
|
|
43
|
+
tag: StatePkTag,
|
|
44
|
+
fileId: string,
|
|
45
|
+
entityId: string,
|
|
46
|
+
versionId: string
|
|
47
|
+
): string {
|
|
48
|
+
return [
|
|
49
|
+
tag,
|
|
50
|
+
encodeStatePkPart(fileId),
|
|
51
|
+
encodeStatePkPart(entityId),
|
|
52
|
+
encodeStatePkPart(versionId),
|
|
53
|
+
].join(DELIM);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Parse primary key back into parts.
|
|
58
|
+
*
|
|
59
|
+
* @param pk - The encoded composite key
|
|
60
|
+
* @returns The decoded components
|
|
61
|
+
*/
|
|
62
|
+
export function parseStatePk(pk: string): {
|
|
63
|
+
tag: StatePkTag;
|
|
64
|
+
fileId: string;
|
|
65
|
+
entityId: string;
|
|
66
|
+
versionId: string;
|
|
67
|
+
} {
|
|
68
|
+
const parts = pk.split(DELIM);
|
|
69
|
+
|
|
70
|
+
if (parts.length !== 4) {
|
|
71
|
+
throw new Error(`Invalid composite key: ${pk} - expected 4 parts`);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return {
|
|
75
|
+
tag: parts[0] as StatePkTag,
|
|
76
|
+
fileId: decodeStatePkPart(parts[1] ?? ""),
|
|
77
|
+
entityId: decodeStatePkPart(parts[2] ?? ""),
|
|
78
|
+
versionId: decodeStatePkPart(parts[3] ?? ""),
|
|
79
|
+
};
|
|
80
|
+
}
|