@lix-js/sdk 0.6.0-preview.2 → 0.6.0-preview.4
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/SKILL.md +46 -8
- package/dist/engine-wasm/wasm/lix_engine.d.ts +25 -1
- package/dist/engine-wasm/wasm/lix_engine.js +60 -2
- package/dist/engine-wasm/wasm/lix_engine.wasm +0 -0
- package/dist/engine-wasm/wasm/lix_engine.wasm.d.ts +5 -0
- package/dist/generated/builtin-schemas.d.ts +87 -162
- package/dist/generated/builtin-schemas.js +139 -236
- package/dist/open-lix.d.ts +10 -3
- package/dist/open-lix.js +39 -0
- package/dist-engine-src/src/binary_cas/types.rs +0 -6
- package/dist-engine-src/src/catalog/context.rs +412 -0
- package/dist-engine-src/src/catalog/mod.rs +10 -0
- package/dist-engine-src/src/catalog/schema.rs +4 -0
- package/dist-engine-src/src/catalog/snapshot.rs +1114 -0
- package/dist-engine-src/src/cel/mod.rs +1 -1
- package/dist-engine-src/src/cel/provider.rs +1 -1
- package/dist-engine-src/src/commit_graph/context.rs +328 -1015
- package/dist-engine-src/src/commit_graph/mod.rs +2 -3
- package/dist-engine-src/src/commit_graph/types.rs +7 -43
- package/dist-engine-src/src/commit_graph/walker.rs +57 -81
- package/dist-engine-src/src/commit_store/codec.rs +887 -0
- package/dist-engine-src/src/commit_store/context.rs +944 -0
- package/dist-engine-src/src/commit_store/materialization.rs +84 -0
- package/dist-engine-src/src/commit_store/mod.rs +16 -0
- package/dist-engine-src/src/commit_store/storage.rs +600 -0
- package/dist-engine-src/src/commit_store/types.rs +215 -0
- package/dist-engine-src/src/common/identity.rs +15 -5
- package/dist-engine-src/src/common/json_pointer.rs +67 -0
- package/dist-engine-src/src/common/metadata.rs +17 -12
- package/dist-engine-src/src/common/mod.rs +5 -5
- package/dist-engine-src/src/domain.rs +324 -0
- package/dist-engine-src/src/engine.rs +29 -43
- package/dist-engine-src/src/entity_identity.rs +238 -118
- package/dist-engine-src/src/functions/context.rs +17 -52
- package/dist-engine-src/src/functions/deterministic.rs +1 -1
- package/dist-engine-src/src/functions/mod.rs +1 -1
- package/dist-engine-src/src/functions/provider.rs +4 -4
- package/dist-engine-src/src/functions/state.rs +39 -66
- package/dist-engine-src/src/functions/types.rs +1 -1
- package/dist-engine-src/src/init.rs +204 -151
- package/dist-engine-src/src/json_store/context.rs +354 -60
- package/dist-engine-src/src/json_store/encoded.rs +6 -6
- package/dist-engine-src/src/json_store/mod.rs +4 -1
- package/dist-engine-src/src/json_store/store.rs +884 -11
- package/dist-engine-src/src/json_store/types.rs +166 -1
- package/dist-engine-src/src/lib.rs +11 -10
- package/dist-engine-src/src/live_state/context.rs +608 -830
- package/dist-engine-src/src/live_state/mod.rs +3 -3
- package/dist-engine-src/src/live_state/overlay.rs +7 -7
- package/dist-engine-src/src/live_state/reader.rs +5 -5
- package/dist-engine-src/src/live_state/types.rs +19 -36
- package/dist-engine-src/src/live_state/visibility.rs +19 -14
- package/dist-engine-src/src/plugin/archive.rs +3 -6
- package/dist-engine-src/src/plugin/install.rs +0 -18
- package/dist-engine-src/src/plugin/plugin_manifest.json +0 -1
- package/dist-engine-src/src/schema/annotations/defaults.rs +2 -7
- package/dist-engine-src/src/schema/builtin/lix_account.json +0 -1
- package/dist-engine-src/src/schema/builtin/lix_active_account.json +0 -1
- package/dist-engine-src/src/schema/builtin/lix_binary_blob_ref.json +0 -1
- package/dist-engine-src/src/schema/builtin/lix_change.json +11 -10
- package/dist-engine-src/src/schema/builtin/lix_change_author.json +0 -1
- package/dist-engine-src/src/schema/builtin/lix_commit.json +8 -46
- package/dist-engine-src/src/schema/builtin/lix_commit_edge.json +29 -22
- package/dist-engine-src/src/schema/builtin/lix_directory_descriptor.json +0 -1
- package/dist-engine-src/src/schema/builtin/lix_file_descriptor.json +0 -1
- package/dist-engine-src/src/schema/builtin/lix_key_value.json +0 -1
- package/dist-engine-src/src/schema/builtin/lix_label.json +10 -3
- package/dist-engine-src/src/schema/builtin/lix_label_assignment.json +74 -0
- package/dist-engine-src/src/schema/builtin/lix_registered_schema.json +2 -8
- package/dist-engine-src/src/schema/builtin/lix_version_descriptor.json +0 -1
- package/dist-engine-src/src/schema/builtin/lix_version_ref.json +0 -1
- package/dist-engine-src/src/schema/builtin/mod.rs +10 -59
- package/dist-engine-src/src/schema/compatibility.rs +787 -0
- package/dist-engine-src/src/schema/definition.json +47 -17
- package/dist-engine-src/src/schema/definition.rs +202 -96
- package/dist-engine-src/src/schema/key.rs +9 -77
- package/dist-engine-src/src/schema/mod.rs +4 -4
- package/dist-engine-src/src/schema/tests.rs +133 -92
- package/dist-engine-src/src/session/context.rs +86 -48
- package/dist-engine-src/src/session/create_version.rs +22 -14
- package/dist-engine-src/src/session/execute.rs +117 -23
- package/dist-engine-src/src/session/merge/apply.rs +4 -4
- package/dist-engine-src/src/session/merge/conflicts.rs +3 -2
- package/dist-engine-src/src/session/merge/stats.rs +1 -1
- package/dist-engine-src/src/session/merge/version.rs +35 -45
- package/dist-engine-src/src/session/mod.rs +9 -7
- package/dist-engine-src/src/session/optimization9_sql2_bench.rs +100 -0
- package/dist-engine-src/src/session/switch_version.rs +17 -28
- package/dist-engine-src/src/session/transaction.rs +76 -0
- package/dist-engine-src/src/sql2/change_provider.rs +14 -20
- package/dist-engine-src/src/sql2/classify.rs +75 -48
- package/dist-engine-src/src/sql2/context.rs +22 -18
- package/dist-engine-src/src/sql2/directory_history_provider.rs +28 -20
- package/dist-engine-src/src/sql2/directory_provider.rs +131 -83
- package/dist-engine-src/src/sql2/entity_history_provider.rs +10 -14
- package/dist-engine-src/src/sql2/entity_provider.rs +680 -169
- package/dist-engine-src/src/sql2/error.rs +24 -5
- package/dist-engine-src/src/sql2/execute.rs +426 -272
- package/dist-engine-src/src/sql2/file_history_provider.rs +29 -21
- package/dist-engine-src/src/sql2/file_provider.rs +533 -108
- package/dist-engine-src/src/sql2/filesystem_planner.rs +58 -94
- package/dist-engine-src/src/sql2/filesystem_visibility.rs +37 -23
- package/dist-engine-src/src/sql2/history_projection.rs +3 -27
- package/dist-engine-src/src/sql2/history_provider.rs +11 -17
- package/dist-engine-src/src/sql2/history_route.rs +22 -8
- package/dist-engine-src/src/sql2/lix_state_provider.rs +178 -96
- package/dist-engine-src/src/sql2/mod.rs +8 -4
- package/dist-engine-src/src/sql2/predicate_typecheck.rs +246 -0
- package/dist-engine-src/src/sql2/public_bind/assignment.rs +46 -0
- package/dist-engine-src/src/sql2/public_bind/capability.rs +41 -0
- package/dist-engine-src/src/sql2/public_bind/dml.rs +172 -0
- package/dist-engine-src/src/sql2/public_bind/mod.rs +26 -0
- package/dist-engine-src/src/sql2/public_bind/table.rs +168 -0
- package/dist-engine-src/src/sql2/read_only.rs +10 -12
- package/dist-engine-src/src/sql2/session.rs +7 -10
- package/dist-engine-src/src/sql2/udfs/lix_timestamp.rs +76 -0
- package/dist-engine-src/src/sql2/udfs/mod.rs +8 -1
- package/dist-engine-src/src/sql2/udfs/public_call.rs +238 -0
- package/dist-engine-src/src/sql2/version_provider.rs +46 -31
- package/dist-engine-src/src/sql2/version_scope.rs +4 -4
- package/dist-engine-src/src/storage_bench.rs +1782 -325
- package/dist-engine-src/src/test_support.rs +183 -36
- package/dist-engine-src/src/tracked_state/by_file_index.rs +20 -24
- package/dist-engine-src/src/tracked_state/codec.rs +1519 -181
- package/dist-engine-src/src/tracked_state/context.rs +1155 -271
- package/dist-engine-src/src/tracked_state/diff.rs +249 -57
- package/dist-engine-src/src/tracked_state/materialization.rs +365 -103
- package/dist-engine-src/src/tracked_state/materializer.rs +488 -0
- package/dist-engine-src/src/tracked_state/merge.rs +37 -19
- package/dist-engine-src/src/tracked_state/mod.rs +8 -7
- package/dist-engine-src/src/tracked_state/storage.rs +138 -6
- package/dist-engine-src/src/tracked_state/tree.rs +695 -252
- package/dist-engine-src/src/tracked_state/types.rs +176 -6
- package/dist-engine-src/src/transaction/commit.rs +695 -435
- package/dist-engine-src/src/transaction/context.rs +551 -310
- package/dist-engine-src/src/transaction/live_state_overlay.rs +9 -8
- package/dist-engine-src/src/transaction/mod.rs +2 -0
- package/dist-engine-src/src/transaction/normalization.rs +311 -447
- package/dist-engine-src/src/transaction/prep.rs +37 -0
- package/dist-engine-src/src/transaction/schema_resolver.rs +93 -71
- package/dist-engine-src/src/transaction/staging.rs +701 -406
- package/dist-engine-src/src/transaction/types.rs +231 -122
- package/dist-engine-src/src/transaction/validation.rs +2717 -1698
- package/dist-engine-src/src/untracked_state/codec.rs +40 -96
- package/dist-engine-src/src/untracked_state/context.rs +21 -5
- package/dist-engine-src/src/untracked_state/materialization.rs +10 -104
- package/dist-engine-src/src/untracked_state/mod.rs +3 -5
- package/dist-engine-src/src/untracked_state/storage.rs +105 -57
- package/dist-engine-src/src/untracked_state/types.rs +63 -13
- package/dist-engine-src/src/version/context.rs +1 -13
- package/dist-engine-src/src/version/lifecycle.rs +221 -0
- package/dist-engine-src/src/version/mod.rs +3 -2
- package/dist-engine-src/src/version/refs.rs +12 -103
- package/dist-engine-src/src/version/stage_rows.rs +15 -19
- package/package.json +1 -1
- package/dist-engine-src/src/changelog/codec.rs +0 -321
- package/dist-engine-src/src/changelog/context.rs +0 -92
- package/dist-engine-src/src/changelog/materialization.rs +0 -121
- package/dist-engine-src/src/changelog/mod.rs +0 -13
- package/dist-engine-src/src/changelog/reader.rs +0 -20
- package/dist-engine-src/src/changelog/storage.rs +0 -220
- package/dist-engine-src/src/changelog/types.rs +0 -38
- package/dist-engine-src/src/schema/builtin/lix_change_set.json +0 -18
- package/dist-engine-src/src/schema/builtin/lix_change_set_element.json +0 -75
- package/dist-engine-src/src/schema/builtin/lix_entity_label.json +0 -63
- package/dist-engine-src/src/schema_registry.rs +0 -294
- package/dist-engine-src/src/sql2/commit_derived_provider.rs +0 -591
- package/dist-engine-src/src/tracked_state/rebuild.rs +0 -771
- package/dist-engine-src/src/tracked_state/tree_types.rs +0 -176
|
@@ -20,7 +20,6 @@ use futures_util::stream;
|
|
|
20
20
|
use serde_json::Value as JsonValue;
|
|
21
21
|
use tokio::sync::Mutex;
|
|
22
22
|
|
|
23
|
-
use crate::changelog::MaterializedCanonicalChange;
|
|
24
23
|
use crate::commit_graph::CommitGraphReader;
|
|
25
24
|
use crate::serialize_row_metadata;
|
|
26
25
|
use crate::LixError;
|
|
@@ -34,7 +33,8 @@ use super::history_route::{
|
|
|
34
33
|
load_history_entries, parse_history_filter, HistoryColumnStyle, HistoryRoute,
|
|
35
34
|
HistoryViewDescriptor, HISTORY_COL_START_COMMIT_ID,
|
|
36
35
|
};
|
|
37
|
-
use super::
|
|
36
|
+
use super::SqlCommitStoreQuerySource;
|
|
37
|
+
use crate::commit_store::MaterializedChange;
|
|
38
38
|
|
|
39
39
|
/// Schema-specific history surface backed directly by the commit graph.
|
|
40
40
|
///
|
|
@@ -45,7 +45,7 @@ pub(crate) struct EntityHistoryProvider {
|
|
|
45
45
|
spec: Arc<EntitySurfaceSpec>,
|
|
46
46
|
schema: SchemaRef,
|
|
47
47
|
commit_graph: Arc<Mutex<Box<dyn CommitGraphReader>>>,
|
|
48
|
-
query_source:
|
|
48
|
+
query_source: SqlCommitStoreQuerySource,
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
impl std::fmt::Debug for EntityHistoryProvider {
|
|
@@ -60,7 +60,7 @@ impl EntityHistoryProvider {
|
|
|
60
60
|
pub(crate) fn new(
|
|
61
61
|
spec: Arc<EntitySurfaceSpec>,
|
|
62
62
|
commit_graph: Arc<Mutex<Box<dyn CommitGraphReader>>>,
|
|
63
|
-
query_source:
|
|
63
|
+
query_source: SqlCommitStoreQuerySource,
|
|
64
64
|
) -> Self {
|
|
65
65
|
Self {
|
|
66
66
|
schema: entity_surface_schema(&spec, EntityProviderVariant::History),
|
|
@@ -124,7 +124,7 @@ impl TableProvider for EntityHistoryProvider {
|
|
|
124
124
|
struct EntityHistoryScanExec {
|
|
125
125
|
spec: Arc<EntitySurfaceSpec>,
|
|
126
126
|
commit_graph: Arc<Mutex<Box<dyn CommitGraphReader>>>,
|
|
127
|
-
query_source:
|
|
127
|
+
query_source: SqlCommitStoreQuerySource,
|
|
128
128
|
schema: SchemaRef,
|
|
129
129
|
route: HistoryRoute,
|
|
130
130
|
limit: Option<usize>,
|
|
@@ -145,7 +145,7 @@ impl EntityHistoryScanExec {
|
|
|
145
145
|
fn new(
|
|
146
146
|
spec: Arc<EntitySurfaceSpec>,
|
|
147
147
|
commit_graph: Arc<Mutex<Box<dyn CommitGraphReader>>>,
|
|
148
|
-
query_source:
|
|
148
|
+
query_source: SqlCommitStoreQuerySource,
|
|
149
149
|
schema: SchemaRef,
|
|
150
150
|
route: HistoryRoute,
|
|
151
151
|
limit: Option<usize>,
|
|
@@ -244,7 +244,7 @@ impl ExecutionPlan for EntityHistoryScanExec {
|
|
|
244
244
|
|
|
245
245
|
#[derive(Debug, Clone)]
|
|
246
246
|
struct EntityHistoryRow {
|
|
247
|
-
change:
|
|
247
|
+
change: MaterializedChange,
|
|
248
248
|
observed_commit_id: String,
|
|
249
249
|
commit_created_at: String,
|
|
250
250
|
start_commit_id: String,
|
|
@@ -254,7 +254,7 @@ struct EntityHistoryRow {
|
|
|
254
254
|
async fn load_entity_history_rows(
|
|
255
255
|
spec: &EntitySurfaceSpec,
|
|
256
256
|
commit_graph: Arc<Mutex<Box<dyn CommitGraphReader>>>,
|
|
257
|
-
query_source:
|
|
257
|
+
query_source: SqlCommitStoreQuerySource,
|
|
258
258
|
route: &HistoryRoute,
|
|
259
259
|
limit: Option<usize>,
|
|
260
260
|
) -> Result<Vec<EntityHistoryRow>, LixError> {
|
|
@@ -364,7 +364,7 @@ fn entity_history_column_value(
|
|
|
364
364
|
return Ok(snapshot.get(column_name).cloned());
|
|
365
365
|
}
|
|
366
366
|
|
|
367
|
-
let entity_id = row.change.entity_id.
|
|
367
|
+
let entity_id = row.change.entity_id.as_json_array_text().map_err(|error| {
|
|
368
368
|
DataFusionError::Execution(format!(
|
|
369
369
|
"sql2 entity history provider failed to project entity id: {error}"
|
|
370
370
|
))
|
|
@@ -388,7 +388,7 @@ fn entity_history_system_column_array(
|
|
|
388
388
|
Some(
|
|
389
389
|
row.change
|
|
390
390
|
.entity_id
|
|
391
|
-
.
|
|
391
|
+
.as_json_array_text()
|
|
392
392
|
.expect("canonical change entity identity should project"),
|
|
393
393
|
)
|
|
394
394
|
})
|
|
@@ -405,10 +405,6 @@ fn entity_history_system_column_array(
|
|
|
405
405
|
.map(|row| row.change.metadata.as_ref().map(serialize_row_metadata))
|
|
406
406
|
.collect::<Vec<_>>(),
|
|
407
407
|
)) as ArrayRef,
|
|
408
|
-
"schema_version" => string_array(
|
|
409
|
-
rows.iter()
|
|
410
|
-
.map(|row| Some(row.change.schema_version.as_str())),
|
|
411
|
-
),
|
|
412
408
|
"change_id" => string_array(rows.iter().map(|row| Some(row.change.id.as_str()))),
|
|
413
409
|
"observed_commit_id" => {
|
|
414
410
|
string_array(rows.iter().map(|row| Some(row.observed_commit_id.as_str())))
|