@feltdb/core 0.11.8 → 0.12.0
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/composition.d.ts +697 -0
- package/dist/composition.d.ts.map +1 -0
- package/dist/composition.js +1218 -0
- package/dist/create/package-versions.js +1 -1
- package/dist/create/server-source/crates/feltdb/src/lib.rs +363 -2
- package/dist/create/server-source/crates/feltdb/src/read_basis.rs +257 -0
- package/dist/create/server-source/crates/feltdb/src/state_contract.rs +442 -73
- package/dist/create/server-source/crates/feltdb/src/workload_diagnostics.rs +18 -4
- package/dist/create/server-source/crates/feltdb-server/src/main.rs +198 -10
- package/dist/db.d.ts +12 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +19 -1
- package/dist/embedded-transaction.d.ts +21 -1
- package/dist/embedded-transaction.d.ts.map +1 -1
- package/dist/embedded-transaction.js +96 -0
- package/dist/feltdb.d.ts +8 -0
- package/dist/feltdb.d.ts.map +1 -1
- package/dist/file-db.d.ts +8 -1
- package/dist/file-db.d.ts.map +1 -1
- package/dist/file-db.js +20 -1
- package/dist/flowspec.d.ts +7 -0
- package/dist/flowspec.d.ts.map +1 -1
- package/dist/flowspec.js +13 -1
- package/dist/http-db.d.ts +7 -0
- package/dist/http-db.d.ts.map +1 -1
- package/dist/http-db.js +38 -6
- 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/indexeddb-db.d.ts +3 -1
- package/dist/indexeddb-db.d.ts.map +1 -1
- package/dist/indexeddb-db.js +50 -2
- package/dist/intent.d.ts +4 -2
- package/dist/intent.d.ts.map +1 -1
- package/dist/memory-db.d.ts +2 -1
- package/dist/memory-db.d.ts.map +1 -1
- package/dist/memory-db.js +13 -1
- package/dist/proposal.d.ts +5 -0
- package/dist/proposal.d.ts.map +1 -1
- package/dist/proposal.js +6 -2
- package/dist/state-impact.d.ts +245 -0
- package/dist/state-impact.d.ts.map +1 -0
- package/dist/state-impact.js +404 -0
- package/dist/studio-app/assets/{feltdb_wasm-D58hv7aa.js → feltdb_wasm-DYfWAV0E.js} +1 -1
- package/dist/studio-app/assets/feltdb_wasm_bg-DHiOUhoQ.wasm +0 -0
- package/dist/studio-app/assets/index-6f6KVx5R.js +30 -0
- package/dist/studio-app/index.html +1 -1
- package/dist/transaction.d.ts +61 -1
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +59 -0
- package/dist/wasm/feltdb_wasm_bg.wasm +0 -0
- package/package.json +1 -1
- package/dist/create/server-source/crates/feltdb-wasm/test_wasm.db.lock +0 -0
- package/dist/studio-app/assets/feltdb_wasm_bg-BgFXYOtc.wasm +0 -0
- package/dist/studio-app/assets/index-Ccecp6rc.js +0 -30
|
@@ -135,10 +135,18 @@ pub enum Phase {
|
|
|
135
135
|
/// AuditWrite` is therefore routing plus decode plus encode, measured as a
|
|
136
136
|
/// difference of two spans rather than asserted.
|
|
137
137
|
HandlerBody,
|
|
138
|
+
/// Resolving a managed request's application contract: the revision, the
|
|
139
|
+
/// runtime inventory it is validated against, and the resolved runtime.
|
|
140
|
+
/// Every `/v1` request pays it, so it must not depend on unrelated state.
|
|
141
|
+
ContractResolution,
|
|
142
|
+
/// Cloning one state namespace's rows for a state-contract read or
|
|
143
|
+
/// transaction. Proportional to that application's stored rows, not to
|
|
144
|
+
/// other applications'.
|
|
145
|
+
NamespaceSnapshot,
|
|
138
146
|
}
|
|
139
147
|
|
|
140
148
|
impl Phase {
|
|
141
|
-
pub const ALL: [Phase;
|
|
149
|
+
pub const ALL: [Phase; 27] = [
|
|
142
150
|
Phase::StateLockWait,
|
|
143
151
|
Phase::StateLockHold,
|
|
144
152
|
Phase::IndexedQuery,
|
|
@@ -164,6 +172,8 @@ impl Phase {
|
|
|
164
172
|
Phase::AuditGroupSync,
|
|
165
173
|
Phase::AuditClose,
|
|
166
174
|
Phase::HandlerBody,
|
|
175
|
+
Phase::ContractResolution,
|
|
176
|
+
Phase::NamespaceSnapshot,
|
|
167
177
|
];
|
|
168
178
|
|
|
169
179
|
/// The stable name this phase is reported under.
|
|
@@ -194,6 +204,8 @@ impl Phase {
|
|
|
194
204
|
Phase::AuditGroupSync => "audit_group_sync",
|
|
195
205
|
Phase::AuditClose => "audit_close",
|
|
196
206
|
Phase::HandlerBody => "handler_body",
|
|
207
|
+
Phase::ContractResolution => "contract_resolution",
|
|
208
|
+
Phase::NamespaceSnapshot => "namespace_snapshot",
|
|
197
209
|
}
|
|
198
210
|
}
|
|
199
211
|
|
|
@@ -210,9 +222,11 @@ impl Phase {
|
|
|
210
222
|
// The predicate runs on both executions, so its parent is the lock
|
|
211
223
|
// rather than either query phase.
|
|
212
224
|
Phase::PredicateEvaluation => Some(Phase::StateLockHold),
|
|
213
|
-
Phase::Authorization
|
|
214
|
-
|
|
215
|
-
|
|
225
|
+
Phase::Authorization
|
|
226
|
+
| Phase::AuditWrite
|
|
227
|
+
| Phase::HandlerBody
|
|
228
|
+
| Phase::ContractResolution
|
|
229
|
+
| Phase::NamespaceSnapshot => Some(Phase::HttpHandler),
|
|
216
230
|
Phase::Ordering | Phase::ResultMaterialization => Some(Phase::HandlerBody),
|
|
217
231
|
Phase::RecordMutation | Phase::IndexMaintenance | Phase::Persistence => {
|
|
218
232
|
Some(Phase::StateLockHold)
|
|
@@ -601,6 +601,14 @@ struct CanonicalTransactionRequest {
|
|
|
601
601
|
environment: String,
|
|
602
602
|
transaction: TransactionRequest,
|
|
603
603
|
}
|
|
604
|
+
#[derive(Deserialize)]
|
|
605
|
+
struct CanonicalReadBasisRequest {
|
|
606
|
+
application_id: String,
|
|
607
|
+
revision_id: String,
|
|
608
|
+
#[serde(default = "production_environment")]
|
|
609
|
+
environment: String,
|
|
610
|
+
reads: feltdb::ReadSet,
|
|
611
|
+
}
|
|
604
612
|
fn production_environment() -> String {
|
|
605
613
|
"production".into()
|
|
606
614
|
}
|
|
@@ -1207,6 +1215,7 @@ async fn push_sync(
|
|
|
1207
1215
|
),
|
|
1208
1216
|
operations: vec![operation.operation.clone()],
|
|
1209
1217
|
preconditions: vec![],
|
|
1218
|
+
fences: vec![],
|
|
1210
1219
|
};
|
|
1211
1220
|
let _transaction_permit = state
|
|
1212
1221
|
.state_transaction_admission
|
|
@@ -4620,12 +4629,15 @@ fn runtime_inventory(
|
|
|
4620
4629
|
.filter(|value| value.status == ConnectionStatus::Active)
|
|
4621
4630
|
.map(|value| value.id)
|
|
4622
4631
|
.collect();
|
|
4623
|
-
|
|
4632
|
+
// Every managed request resolves its contract through here, so this reads
|
|
4633
|
+
// only the capability registry's own rows. A whole-database snapshot would
|
|
4634
|
+
// clone, sort, and hash every tenant's state per request.
|
|
4624
4635
|
let mut capabilities = BTreeSet::new();
|
|
4625
|
-
for row in
|
|
4626
|
-
.
|
|
4636
|
+
for row in state
|
|
4637
|
+
.db
|
|
4638
|
+
.list_collection("_flow_capabilities")?
|
|
4627
4639
|
.iter()
|
|
4628
|
-
.filter(|row|
|
|
4640
|
+
.filter(|row| !row.deleted)
|
|
4629
4641
|
{
|
|
4630
4642
|
if let Some(name) = row.value.get("name").and_then(Value::as_str) {
|
|
4631
4643
|
capabilities.insert(name.to_string());
|
|
@@ -4653,6 +4665,8 @@ fn revision_contract(
|
|
|
4653
4665
|
revision_id: &str,
|
|
4654
4666
|
environment: &str,
|
|
4655
4667
|
) -> Result<ApplicationRuntimeContract, ApiError> {
|
|
4668
|
+
let _span =
|
|
4669
|
+
feltdb::workload_diagnostics::span(feltdb::workload_diagnostics::Phase::ContractResolution);
|
|
4656
4670
|
let tenant = application_scope(state, actor, application_id, "application:revision:read")?;
|
|
4657
4671
|
let revision = state
|
|
4658
4672
|
.applications
|
|
@@ -7209,6 +7223,7 @@ async fn run_runtime_action(
|
|
|
7209
7223
|
if_version,
|
|
7210
7224
|
}],
|
|
7211
7225
|
preconditions: vec![],
|
|
7226
|
+
fences: vec![],
|
|
7212
7227
|
};
|
|
7213
7228
|
let write_policy = contract
|
|
7214
7229
|
.policies
|
|
@@ -7658,11 +7673,34 @@ async fn execute_canonical_query(
|
|
|
7658
7673
|
&input.revision_id,
|
|
7659
7674
|
&input.environment,
|
|
7660
7675
|
)?;
|
|
7676
|
+
let authorization = if feltdb::state_contract::is_substrate_collection(&input.query.collection)
|
|
7677
|
+
{
|
|
7678
|
+
let mut authorization = state_authorization_legacy(
|
|
7679
|
+
&principal,
|
|
7680
|
+
&tenant,
|
|
7681
|
+
&input.application_id,
|
|
7682
|
+
&contract.revision_id,
|
|
7683
|
+
"state:denied",
|
|
7684
|
+
);
|
|
7685
|
+
if application_scope(
|
|
7686
|
+
&state,
|
|
7687
|
+
&principal.key_id,
|
|
7688
|
+
&input.application_id,
|
|
7689
|
+
"composition:read",
|
|
7690
|
+
)
|
|
7691
|
+
.is_ok()
|
|
7692
|
+
{
|
|
7693
|
+
authorization.capabilities.insert("composition:read".into());
|
|
7694
|
+
}
|
|
7695
|
+
authorization
|
|
7696
|
+
} else {
|
|
7697
|
+
state_authorization(&principal, &contract, &input.query.collection, "read")
|
|
7698
|
+
};
|
|
7661
7699
|
let context = feltdb::state_contract::begin_query_read(
|
|
7662
7700
|
&state.db,
|
|
7663
7701
|
&contract.state.schema,
|
|
7664
7702
|
&contract.environment.state_namespace,
|
|
7665
|
-
|
|
7703
|
+
authorization,
|
|
7666
7704
|
)
|
|
7667
7705
|
.map_err(state_contract_error)?;
|
|
7668
7706
|
|
|
@@ -7885,6 +7923,76 @@ async fn execute_revision_recovery(
|
|
|
7885
7923
|
Ok(Json(response))
|
|
7886
7924
|
}
|
|
7887
7925
|
|
|
7926
|
+
/// Whether `principal` may read every record of `collection` — the condition
|
|
7927
|
+
/// for a read basis, captured or committed, to cover it.
|
|
7928
|
+
///
|
|
7929
|
+
/// A token digests every row it covers, and a refused fence reveals that one
|
|
7930
|
+
/// of them changed. Both are reads, so both require the right to read the whole
|
|
7931
|
+
/// collection: `state:read` under a read policy that does not depend on the
|
|
7932
|
+
/// record (none, or `authenticated`), or `composition:read` for a substrate
|
|
7933
|
+
/// collection. Owner, member, and self policies filter rows per actor; a read
|
|
7934
|
+
/// basis over such a collection is refused rather than digested.
|
|
7935
|
+
fn read_basis_readable(
|
|
7936
|
+
state: &AppState,
|
|
7937
|
+
principal: &Principal,
|
|
7938
|
+
contract: &ApplicationRuntimeContract,
|
|
7939
|
+
collection: &str,
|
|
7940
|
+
) -> bool {
|
|
7941
|
+
if feltdb::state_contract::is_substrate_collection(collection) {
|
|
7942
|
+
return application_scope(
|
|
7943
|
+
state,
|
|
7944
|
+
&principal.key_id,
|
|
7945
|
+
&contract.application_id,
|
|
7946
|
+
"composition:read",
|
|
7947
|
+
)
|
|
7948
|
+
.is_ok();
|
|
7949
|
+
}
|
|
7950
|
+
if !state_authorization(principal, contract, collection, "read")
|
|
7951
|
+
.capabilities
|
|
7952
|
+
.contains("state:read")
|
|
7953
|
+
{
|
|
7954
|
+
return false;
|
|
7955
|
+
}
|
|
7956
|
+
matches!(
|
|
7957
|
+
matching_state_policy(contract, collection)
|
|
7958
|
+
.and_then(|policy| policy.read.as_deref())
|
|
7959
|
+
.and_then(PolicySubject::from_str),
|
|
7960
|
+
None | Some(PolicySubject::Authenticated)
|
|
7961
|
+
)
|
|
7962
|
+
}
|
|
7963
|
+
|
|
7964
|
+
/// Capture a read basis over the application's state namespace.
|
|
7965
|
+
async fn capture_canonical_read_basis(
|
|
7966
|
+
State(state): State<AppState>,
|
|
7967
|
+
Extension(principal): Extension<Principal>,
|
|
7968
|
+
headers: HeaderMap,
|
|
7969
|
+
Json(input): Json<CanonicalReadBasisRequest>,
|
|
7970
|
+
) -> Result<Json<Value>, ApiError> {
|
|
7971
|
+
let tenant = application_scope(
|
|
7972
|
+
&state,
|
|
7973
|
+
&principal.key_id,
|
|
7974
|
+
&input.application_id,
|
|
7975
|
+
"state:read",
|
|
7976
|
+
)?;
|
|
7977
|
+
require_bound_tenant(&headers, &tenant)?;
|
|
7978
|
+
let contract = revision_contract(
|
|
7979
|
+
&state,
|
|
7980
|
+
&principal.key_id,
|
|
7981
|
+
&input.application_id,
|
|
7982
|
+
&input.revision_id,
|
|
7983
|
+
&input.environment,
|
|
7984
|
+
)?;
|
|
7985
|
+
let basis = feltdb::state_contract::capture_read_basis(
|
|
7986
|
+
&state.db,
|
|
7987
|
+
&contract.state.schema,
|
|
7988
|
+
&contract.environment.state_namespace,
|
|
7989
|
+
&input.reads,
|
|
7990
|
+
&|collection| read_basis_readable(&state, &principal, &contract, collection),
|
|
7991
|
+
)
|
|
7992
|
+
.map_err(state_contract_error)?;
|
|
7993
|
+
Ok(Json(json!(basis)))
|
|
7994
|
+
}
|
|
7995
|
+
|
|
7888
7996
|
async fn execute_canonical_transaction(
|
|
7889
7997
|
State(state): State<AppState>,
|
|
7890
7998
|
Extension(principal): Extension<Principal>,
|
|
@@ -7921,14 +8029,49 @@ async fn execute_canonical_transaction(
|
|
|
7921
8029
|
input.transaction.revision_id = contract.revision_id.clone();
|
|
7922
8030
|
input.transaction.schema_version = contract.state.schema.schema_version;
|
|
7923
8031
|
input.transaction.state_namespace = Some(contract.environment.state_namespace.clone());
|
|
7924
|
-
let collections = input
|
|
8032
|
+
let (substrate, collections): (Vec<String>, Vec<String>) = input
|
|
7925
8033
|
.transaction
|
|
7926
8034
|
.operations
|
|
7927
8035
|
.iter()
|
|
7928
8036
|
.map(|operation| operation.collection.clone())
|
|
7929
|
-
.
|
|
7930
|
-
let (authorized, write_policies) =
|
|
7931
|
-
|
|
8037
|
+
.partition(|collection| feltdb::state_contract::is_substrate_collection(collection));
|
|
8038
|
+
let (authorized, write_policies) = if collections.is_empty() && !substrate.is_empty() {
|
|
8039
|
+
(tenant == contract.tenant_id, BTreeMap::new())
|
|
8040
|
+
} else {
|
|
8041
|
+
authorize_transaction_collections(&principal, &contract, &tenant, &collections)
|
|
8042
|
+
};
|
|
8043
|
+
// Substrate records are written only under the dedicated capability.
|
|
8044
|
+
let substrate_authorized = substrate.is_empty()
|
|
8045
|
+
|| application_scope(
|
|
8046
|
+
&state,
|
|
8047
|
+
&principal.key_id,
|
|
8048
|
+
&input.application_id,
|
|
8049
|
+
"composition:write",
|
|
8050
|
+
)
|
|
8051
|
+
.is_ok();
|
|
8052
|
+
// A fence is a read of everything it covers: the committer must be able to
|
|
8053
|
+
// read all of it, exactly as capturing it required.
|
|
8054
|
+
for fence in &input.transaction.fences {
|
|
8055
|
+
for collection in fence
|
|
8056
|
+
.reads
|
|
8057
|
+
.records
|
|
8058
|
+
.iter()
|
|
8059
|
+
.map(|record| record.collection.as_str())
|
|
8060
|
+
.chain(
|
|
8061
|
+
fence
|
|
8062
|
+
.reads
|
|
8063
|
+
.predicates
|
|
8064
|
+
.iter()
|
|
8065
|
+
.map(|predicate| predicate.collection.as_str()),
|
|
8066
|
+
)
|
|
8067
|
+
{
|
|
8068
|
+
if !read_basis_readable(&state, &principal, &contract, collection) {
|
|
8069
|
+
return Err(state_contract_error(
|
|
8070
|
+
feltdb::state_contract::read_basis_denied(collection),
|
|
8071
|
+
));
|
|
8072
|
+
}
|
|
8073
|
+
}
|
|
8074
|
+
}
|
|
7932
8075
|
input.transaction.authorization = state_authorization_legacy(
|
|
7933
8076
|
&principal,
|
|
7934
8077
|
&tenant,
|
|
@@ -7940,6 +8083,13 @@ async fn execute_canonical_transaction(
|
|
|
7940
8083
|
"state:denied"
|
|
7941
8084
|
},
|
|
7942
8085
|
);
|
|
8086
|
+
if authorized && substrate_authorized && !substrate.is_empty() {
|
|
8087
|
+
input
|
|
8088
|
+
.transaction
|
|
8089
|
+
.authorization
|
|
8090
|
+
.capabilities
|
|
8091
|
+
.insert("composition:write".into());
|
|
8092
|
+
}
|
|
7943
8093
|
let _transaction_permit = state
|
|
7944
8094
|
.state_transaction_admission
|
|
7945
8095
|
.acquire()
|
|
@@ -9036,6 +9186,10 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
|
9036
9186
|
"/v1/transactions",
|
|
9037
9187
|
axum::routing::post(execute_canonical_transaction),
|
|
9038
9188
|
)
|
|
9189
|
+
.route(
|
|
9190
|
+
"/v1/transactions/read-basis",
|
|
9191
|
+
axum::routing::post(capture_canonical_read_basis),
|
|
9192
|
+
)
|
|
9039
9193
|
.route(
|
|
9040
9194
|
"/v1/revision/recover",
|
|
9041
9195
|
axum::routing::post(execute_revision_recovery),
|
|
@@ -9312,6 +9466,10 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
|
9312
9466
|
axum::routing::delete(delete_connection_control),
|
|
9313
9467
|
)
|
|
9314
9468
|
.route("/transactions", axum::routing::post(commit_transaction))
|
|
9469
|
+
.route(
|
|
9470
|
+
"/transactions/read-basis",
|
|
9471
|
+
axum::routing::post(capture_read_basis),
|
|
9472
|
+
)
|
|
9315
9473
|
.route("/query", axum::routing::post(execute_bounded_query))
|
|
9316
9474
|
.route("/revision", get(get_revision))
|
|
9317
9475
|
.route(
|
|
@@ -9631,6 +9789,8 @@ async fn authenticate(
|
|
|
9631
9789
|
|| path == "/v1/state/conflicts"
|
|
9632
9790
|
|| path == "/v1/state/reconciliation/plan"
|
|
9633
9791
|
|| path == "/v1/experimental/semantic-decisions"
|
|
9792
|
+
|| path == "/transactions/read-basis"
|
|
9793
|
+
|| path == "/v1/transactions/read-basis"
|
|
9634
9794
|
{
|
|
9635
9795
|
// Describing state is reading it. These are POSTs because they take
|
|
9636
9796
|
// three revision identities and a plan, not because they change
|
|
@@ -13873,6 +14033,28 @@ struct AtomicTxRequest {
|
|
|
13873
14033
|
/// exactly as before.
|
|
13874
14034
|
#[serde(default)]
|
|
13875
14035
|
preconditions: Vec<AtomicTxPreconditionRequest>,
|
|
14036
|
+
/// Read bases this authority issued (`POST /transactions/read-basis`),
|
|
14037
|
+
/// re-evaluated inside the commit lock. Absent means no fence.
|
|
14038
|
+
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
|
14039
|
+
fences: Vec<feltdb::ReadBasis>,
|
|
14040
|
+
}
|
|
14041
|
+
|
|
14042
|
+
/// Capture a read basis: what the authority holds, now, for a set of records
|
|
14043
|
+
/// and equality predicates. Reading, so it requires `state:read`.
|
|
14044
|
+
async fn capture_read_basis(
|
|
14045
|
+
State(state): State<AppState>,
|
|
14046
|
+
Json(reads): Json<feltdb::ReadSet>,
|
|
14047
|
+
) -> Result<Json<feltdb::ReadBasis>, ApiError> {
|
|
14048
|
+
state
|
|
14049
|
+
.db
|
|
14050
|
+
.read_basis(&reads)
|
|
14051
|
+
.map(Json)
|
|
14052
|
+
.map_err(|error| match error {
|
|
14053
|
+
FlowError::CapabilityError(message) if message.starts_with("INVALID_READ_SET:") => {
|
|
14054
|
+
ApiError(StatusCode::BAD_REQUEST, message)
|
|
14055
|
+
}
|
|
14056
|
+
other => ApiError(StatusCode::INTERNAL_SERVER_ERROR, other.to_string()),
|
|
14057
|
+
})
|
|
13876
14058
|
}
|
|
13877
14059
|
|
|
13878
14060
|
#[derive(Serialize)]
|
|
@@ -13934,6 +14116,8 @@ async fn commit_transaction(
|
|
|
13934
14116
|
let mut record_preconditions: Vec<RecordPrecondition> = Vec::new();
|
|
13935
14117
|
let mut seen = std::collections::HashSet::new();
|
|
13936
14118
|
|
|
14119
|
+
let fences = request.fences.clone();
|
|
14120
|
+
|
|
13937
14121
|
// Transaction-level preconditions first, on records the transaction need
|
|
13938
14122
|
// not write at all.
|
|
13939
14123
|
for condition in &request.preconditions {
|
|
@@ -14011,12 +14195,13 @@ async fn commit_transaction(
|
|
|
14011
14195
|
let operations = mutations.len();
|
|
14012
14196
|
let commit = state
|
|
14013
14197
|
.db
|
|
14014
|
-
.
|
|
14198
|
+
.apply_atomic_transaction_fenced(
|
|
14015
14199
|
&request.transaction_id,
|
|
14016
14200
|
Some(&payload_hash),
|
|
14017
14201
|
None,
|
|
14018
14202
|
&[],
|
|
14019
14203
|
&record_preconditions,
|
|
14204
|
+
&fences,
|
|
14020
14205
|
&mutations,
|
|
14021
14206
|
None,
|
|
14022
14207
|
)
|
|
@@ -14036,6 +14221,9 @@ async fn commit_transaction(
|
|
|
14036
14221
|
"failure": *failure,
|
|
14037
14222
|
}),
|
|
14038
14223
|
),
|
|
14224
|
+
FlowError::CapabilityError(message) if message.starts_with("INVALID_READ_SET:") => {
|
|
14225
|
+
ApiError(StatusCode::BAD_REQUEST, message)
|
|
14226
|
+
}
|
|
14039
14227
|
FlowError::CapabilityError(message)
|
|
14040
14228
|
if message.starts_with("TRANSACTION_ID_PAYLOAD_MISMATCH:") =>
|
|
14041
14229
|
{
|
package/dist/db.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import type { JsDb } from './feltdb.js';
|
|
8
8
|
import { type FreshnessCapability, type Revision } from './freshness.js';
|
|
9
9
|
import { Collection, Relationship } from './collection.js';
|
|
10
|
-
import { type AtomicTransactionDocument, type AtomicTransactionOptions, type AtomicTransactionResult, type AtomicTransactionScope } from './transaction.js';
|
|
10
|
+
import { type TransactionReadBasis, type TransactionReadSet, type AtomicTransactionDocument, type AtomicTransactionOptions, type AtomicTransactionResult, type AtomicTransactionScope } from './transaction.js';
|
|
11
11
|
import { type Cell } from './cell.js';
|
|
12
12
|
import type { AgentRef, AgentDefinition, AgentExecution } from './agent.js';
|
|
13
13
|
import { AgentRegistry } from './agent-registry.js';
|
|
@@ -432,6 +432,17 @@ export declare class StateFirstDB {
|
|
|
432
432
|
* the transaction into a sequence of independent writes.
|
|
433
433
|
*/
|
|
434
434
|
transaction(build: ((tx: AtomicTransactionScope) => void | Promise<void>) | AtomicTransactionDocument, options?: AtomicTransactionOptions): Promise<AtomicTransactionResult>;
|
|
435
|
+
/**
|
|
436
|
+
* Capture a read basis: what the authority holds, now, for a set of records
|
|
437
|
+
* and equality predicates.
|
|
438
|
+
*
|
|
439
|
+
* Pass it to `tx.fence(basis)` and the transaction commits only if that same
|
|
440
|
+
* state is unchanged at the moment of commit — evaluated by the authority,
|
|
441
|
+
* inside its commit decision, whichever write path changed it. State outside
|
|
442
|
+
* the set never conflicts. A runtime that cannot evaluate a fence inside its
|
|
443
|
+
* commit boundary refuses rather than committing unfenced.
|
|
444
|
+
*/
|
|
445
|
+
readBasis(reads: TransactionReadSet): Promise<TransactionReadBasis>;
|
|
435
446
|
/**
|
|
436
447
|
* Get or create a durable cell.
|
|
437
448
|
*
|
package/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
package/dist/db.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { describeFreshness, readRevision, } from './freshness.js';
|
|
8
8
|
import { Collection, Relationship } from './collection.js';
|
|
9
|
-
import { AtomicTransactionBuilder, AtomicTransactionError, ConditionalConflictError, conditionalRefusal, } from './transaction.js';
|
|
9
|
+
import { AtomicTransactionBuilder, AtomicTransactionError, ConditionalConflictError, conditionalRefusal, normaliseReadSet, } from './transaction.js';
|
|
10
10
|
import { CellImpl } from './cell.js';
|
|
11
11
|
import { createAgentRef } from './agent.js';
|
|
12
12
|
import { AgentRegistry } from './agent-registry.js';
|
|
@@ -507,6 +507,8 @@ export class StateFirstDB {
|
|
|
507
507
|
return this.transaction(tx => {
|
|
508
508
|
for (const condition of document.preconditions ?? [])
|
|
509
509
|
tx.require(condition);
|
|
510
|
+
for (const basis of document.fences ?? [])
|
|
511
|
+
tx.fence(basis);
|
|
510
512
|
for (const operation of document.operations) {
|
|
511
513
|
const collection = tx.collection(operation.collection);
|
|
512
514
|
if (operation.value === undefined) {
|
|
@@ -572,6 +574,22 @@ export class StateFirstDB {
|
|
|
572
574
|
throw transactionError;
|
|
573
575
|
}
|
|
574
576
|
}
|
|
577
|
+
/**
|
|
578
|
+
* Capture a read basis: what the authority holds, now, for a set of records
|
|
579
|
+
* and equality predicates.
|
|
580
|
+
*
|
|
581
|
+
* Pass it to `tx.fence(basis)` and the transaction commits only if that same
|
|
582
|
+
* state is unchanged at the moment of commit — evaluated by the authority,
|
|
583
|
+
* inside its commit decision, whichever write path changed it. State outside
|
|
584
|
+
* the set never conflicts. A runtime that cannot evaluate a fence inside its
|
|
585
|
+
* commit boundary refuses rather than committing unfenced.
|
|
586
|
+
*/
|
|
587
|
+
async readBasis(reads) {
|
|
588
|
+
if (!this.jsDb.read_basis) {
|
|
589
|
+
throw new FeltDBServiceError('This FeltDB runtime cannot evaluate read-basis fences inside its commit boundary.', FeltDBErrorCode.CONTRACT_UNSUPPORTED);
|
|
590
|
+
}
|
|
591
|
+
return this.jsDb.read_basis(normaliseReadSet(reads));
|
|
592
|
+
}
|
|
575
593
|
/**
|
|
576
594
|
* Get or create a durable cell.
|
|
577
595
|
*
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
* transaction before touching storage and then apply the plan in one atomic
|
|
32
32
|
* step. That ordering is what makes partial application impossible.
|
|
33
33
|
*/
|
|
34
|
-
import type { AtomicTransactionRequest, AtomicTransactionResult, ConditionalConflictDetail } from './transaction.js';
|
|
34
|
+
import type { AtomicTransactionRequest, AtomicTransactionResult, ConditionalConflictDetail, TransactionReadSet } from './transaction.js';
|
|
35
35
|
/** One resolved mutation. An absent `value` means delete. */
|
|
36
36
|
export interface EmbeddedMutation {
|
|
37
37
|
/** Storage key, `collection:id`. */
|
|
@@ -55,7 +55,27 @@ export interface EmbeddedTransactionState {
|
|
|
55
55
|
* defect this primitive exists to remove.
|
|
56
56
|
*/
|
|
57
57
|
read?(key: string): Record<string, unknown> | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* Every current record of each named collection, for evaluating read-basis
|
|
60
|
+
* predicates. A runtime that cannot enumerate a collection inside its commit
|
|
61
|
+
* boundary leaves this undefined, and a fenced transaction is then refused.
|
|
62
|
+
*/
|
|
63
|
+
scan?(collections: readonly string[]): Map<string, Array<Record<string, unknown>>>;
|
|
58
64
|
}
|
|
65
|
+
/** Token prefix for read bases evaluated by the embedded runtimes. */
|
|
66
|
+
export declare const EMBEDDED_READ_BASIS_PREFIX = "fb1:";
|
|
67
|
+
/**
|
|
68
|
+
* What the state named by a read set is, now, as one opaque token.
|
|
69
|
+
*
|
|
70
|
+
* Every record is read in full, including its `__version`: a write that
|
|
71
|
+
* changes a record's content, its version, or its existence changes the
|
|
72
|
+
* token, whichever write path made it. A predicate covers the records that
|
|
73
|
+
* match it now, so a record that starts or stops matching changes the token
|
|
74
|
+
* too. Records outside the set are never read.
|
|
75
|
+
*/
|
|
76
|
+
export declare function readBasisToken(reads: TransactionReadSet, state: Required<Pick<EmbeddedTransactionState, 'read' | 'scan'>>): string;
|
|
77
|
+
/** Group every row by collection, for runtimes that hold rows keyed `collection:id`. */
|
|
78
|
+
export declare function scanRows(entries: Iterable<[string, unknown]>, collections: readonly string[]): Map<string, Array<Record<string, unknown>>>;
|
|
59
79
|
export type EmbeddedPlan = {
|
|
60
80
|
kind: 'duplicate';
|
|
61
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedded-transaction.d.ts","sourceRoot":"","sources":["../src/embedded-transaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAEV,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"embedded-transaction.d.ts","sourceRoot":"","sources":["../src/embedded-transaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAEV,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EAEzB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAI1B,6DAA6D;AAC7D,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,6DAA6D;AAC7D,MAAM,WAAW,wBAAwB;IACvC,yCAAyC;IACzC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,8DAA8D;IAC9D,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3C;;;;;;;OAOG;IACH,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACxD;;;;OAIG;IACH,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACpF;AAED,sEAAsE;AACtE,eAAO,MAAM,0BAA0B,SAAS,CAAC;AAkBjD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,GAC/D,MAAM,CAgBR;AAED,wFAAwF;AACxF,wBAAgB,QAAQ,CACtB,OAAO,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACpC,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAS7C;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE;AACvB;;;;;;GAMG;GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,yBAAyB,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAAC;AAErD,2CAA2C;AAC3C,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEhE;AAID;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,wBAAwB,GAC9B,YAAY,CAuNd;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,wBAAwB,EACjC,SAAS,EAAE,OAAO,EAClB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,uBAAuB,CAazB;AAED;;;;;;;GAOG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,yBAAyB,CAAC;gBACxC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB;CAQhE"}
|