@feltdb/core 0.12.0 → 0.12.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/agent-state.d.ts +489 -0
- package/dist/agent-state.d.ts.map +1 -0
- package/dist/agent-state.js +993 -0
- package/dist/build-identity.json +19 -0
- package/dist/create/build-identity.json +19 -0
- package/dist/create/package-versions.js +1 -1
- package/dist/create/server-source/crates/feltdb/src/lib.rs +11 -0
- package/dist/create/server-source/crates/feltdb/src/query_performance.rs +4 -1
- package/dist/create/server-source/crates/feltdb/src/state_model.rs +854 -155
- package/dist/create/server-source/crates/feltdb/tests/generalized_version_control_substrate_completion.rs +31 -13
- package/dist/create/server-source/crates/feltdb/tests/state_ref_authority.rs +918 -0
- package/dist/create/server-source/crates/feltdb/tests/workload_envelope_contract.rs +15 -2
- package/dist/create/server-source/crates/feltdb-server/Cargo.toml +4 -0
- package/dist/create/server-source/crates/feltdb-server/benches/query_shape_observer.rs +136 -0
- package/dist/create/server-source/crates/feltdb-server/src/app_state.rs +3 -0
- package/dist/create/server-source/crates/feltdb-server/src/lib.rs +1 -0
- package/dist/create/server-source/crates/feltdb-server/src/main.rs +74 -5
- package/dist/create/server-source/crates/feltdb-server/src/query_shape.rs +1137 -0
- package/dist/create/server-source/crates/feltdb-server/tests/fixtures/query-shape-trace.expected.json +300 -0
- package/dist/create/server-source/crates/feltdb-server/tests/fixtures/query-shape-trace.json +25 -0
- package/dist/create/server-source/crates/feltdb-server/tests/query_shape_trace.rs +128 -0
- package/dist/index-core.d.ts +1 -0
- package/dist/index-core.d.ts.map +1 -1
- package/dist/index-core.js +1 -0
- package/dist/studio/app.d.ts.map +1 -1
- package/dist/studio/components/GlobalSearch.d.ts.map +1 -1
- package/dist/studio/components/index.js +1 -1
- package/dist/studio/{components-BHTKlUgT.js → components-Bivm2lX6.js} +2 -1
- package/dist/studio/control-plane/Agents.d.ts.map +1 -1
- package/dist/studio/control-plane/Data.d.ts.map +1 -1
- package/dist/studio/control-plane/Operations.d.ts.map +1 -1
- package/dist/studio/control-plane/Overview.d.ts.map +1 -1
- package/dist/studio/control-plane/Schema.d.ts.map +1 -1
- package/dist/studio/control-plane/State.d.ts +11 -0
- package/dist/studio/control-plane/State.d.ts.map +1 -1
- package/dist/studio/control-plane/index.d.ts +1 -1
- package/dist/studio/control-plane/index.d.ts.map +1 -1
- package/dist/studio/control-plane/index.js +2 -2
- package/dist/studio/control-plane/primitives.d.ts +14 -2
- package/dist/studio/control-plane/primitives.d.ts.map +1 -1
- package/dist/studio/control-plane-CLm69XwX.js +4121 -0
- package/dist/studio/index.js +266 -235
- package/dist/studio/studio.css +1 -1
- package/dist/studio-app/assets/{feltdb_wasm-DYfWAV0E.js → feltdb_wasm-DACcD-zs.js} +1 -1
- package/dist/studio-app/assets/feltdb_wasm_bg-BejThWID.wasm +0 -0
- package/dist/studio-app/assets/index-CiC8VY-a.css +1 -0
- package/dist/studio-app/assets/index-CoZaxnlm.js +30 -0
- package/dist/studio-app/index.html +2 -2
- package/dist/wasm/feltdb_wasm_bg.wasm +0 -0
- package/package.json +2 -2
- package/dist/studio/control-plane-DP8ljTDO.js +0 -3207
- package/dist/studio-app/assets/feltdb_wasm_bg-DHiOUhoQ.wasm +0 -0
- package/dist/studio-app/assets/index-6f6KVx5R.js +0 -30
- package/dist/studio-app/assets/index-BrsF-kWL.css +0 -1
|
@@ -201,11 +201,17 @@ fn gc_root_discovery_and_unreachable_collection() {
|
|
|
201
201
|
let store = StateStore::new_volatile();
|
|
202
202
|
let (_a, _b, _c, _d) = setup_gc_graph(&store);
|
|
203
203
|
let report = collect(&store);
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
204
|
+
// Roots are refs, each resource's latest revisions, and anything younger
|
|
205
|
+
// than the grace period (adrs/state-ref-authority-and-safe-reclamation.md,
|
|
206
|
+
// option A). Before that decision this test asserted that a store with no
|
|
207
|
+
// refs collected all four revisions, which is the history loss the
|
|
208
|
+
// decision removes. Collection of a stale fork is covered, with an explicit
|
|
209
|
+
// clock, by `state_model::tests::gc_keeps_latest_revisions_refs_and_all_their_ancestors`.
|
|
210
|
+
assert_eq!(report.roots.len(), 0, "no refs");
|
|
211
|
+
assert_eq!(report.reachable_revisions.len(), 4);
|
|
212
|
+
assert_eq!(report.reachable_objects.len(), 4);
|
|
213
|
+
assert!(report.collected_revisions.is_empty());
|
|
214
|
+
assert!(report.collected_objects.is_empty());
|
|
209
215
|
}
|
|
210
216
|
|
|
211
217
|
#[test]
|
|
@@ -222,14 +228,23 @@ fn gc_parent_and_content_traversal_preserves_shared_history() {
|
|
|
222
228
|
let keep_all = collect(&store);
|
|
223
229
|
assert!(keep_all.collected_revisions.is_empty());
|
|
224
230
|
|
|
231
|
+
// Shared history is reached through both refs.
|
|
232
|
+
for ancestor in [&a, &b] {
|
|
233
|
+
assert!(keep_all.reachable_revisions.contains(ancestor));
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// Deleting d's ref no longer makes d collectable: d ties c at the highest
|
|
237
|
+
// sequence, so it is one of the resource's latest revisions, and it is
|
|
238
|
+
// younger than the grace period. (Before option A this asserted that d was
|
|
239
|
+
// collected.) Its ancestors are still reached, and nothing is lost.
|
|
225
240
|
store.delete_ref("refs", "d", Some(1)).unwrap();
|
|
226
241
|
let after_delete = collect(&store);
|
|
227
|
-
assert!(after_delete.collected_revisions.
|
|
228
|
-
assert!(
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
242
|
+
assert!(after_delete.collected_revisions.is_empty());
|
|
243
|
+
assert!(after_delete.collected_objects.is_empty());
|
|
244
|
+
for kept in [&a, &b, &c, &d] {
|
|
245
|
+
assert!(store.exists(kept));
|
|
246
|
+
assert!(after_delete.reachable_revisions.contains(kept));
|
|
247
|
+
}
|
|
233
248
|
}
|
|
234
249
|
|
|
235
250
|
#[test]
|
|
@@ -275,7 +290,10 @@ fn substrate_is_domain_neutral_for_refs_materialization_and_gc() {
|
|
|
275
290
|
.delete_ref("heads", &reference.name, Some(reference.version))
|
|
276
291
|
.unwrap();
|
|
277
292
|
}
|
|
293
|
+
// Without their refs each resource's only revision is still its latest, so
|
|
294
|
+
// nothing is collected. (Before option A this asserted all three were.)
|
|
278
295
|
let collected = collect(&store);
|
|
279
|
-
|
|
280
|
-
|
|
296
|
+
assert!(collected.collected_revisions.is_empty());
|
|
297
|
+
assert!(collected.collected_objects.is_empty());
|
|
298
|
+
assert_eq!(collected.reachable_revisions.len(), 3);
|
|
281
299
|
}
|