create-feltdb 0.11.2 → 0.11.3

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.
@@ -1,4 +1,4 @@
1
1
  // One release train keeps generated applications installable. The repository
2
2
  // validation script checks these values against every workspace manifest.
3
- export const FELTDB_PACKAGE_VERSION = '0.11.2';
3
+ export const FELTDB_PACKAGE_VERSION = '0.11.3';
4
4
  export const feltdbPackageRange = `^${FELTDB_PACKAGE_VERSION}`;
@@ -108,6 +108,7 @@ pub mod replica_membership;
108
108
  pub mod replication_manager;
109
109
  pub mod replication_protocol;
110
110
  mod routing;
111
+ pub mod semantic_decision;
111
112
  pub mod sharding;
112
113
  pub mod state_conflict_contract;
113
114
  pub mod state_contract;
@@ -223,6 +224,22 @@ pub use routing::{
223
224
  CapabilityRouter, ExecutionClaim, ExecutionClaimer, ExecutionResultPublisher, PeerStateVersion,
224
225
  RouteDecision,
225
226
  };
227
+ pub use semantic_decision::{
228
+ authorize_context, decide_record, decision_cache_key, deterministic_request_key,
229
+ execute_decision_batch, execute_decision_transport, execute_inline_decision_transport, jev,
230
+ run_choice_diagnostics, run_decision_benchmark, validate_decision_definition,
231
+ validate_decision_result, BinaryDecisionResult, ChoiceDecisionResult, ChoiceDiagnosticsReport,
232
+ ChoiceExpansionObservation, ChoicePermutationObservation, DecisionAuthorizationConfig,
233
+ DecisionAuthorizationDecision, DecisionAuthorizationGate, DecisionBatch, DecisionBatchDecision,
234
+ DecisionBatchEvaluation, DecisionBenchmarkCase, DecisionBenchmarkReport, DecisionContextPacket,
235
+ DecisionDefinition, DecisionError, DecisionEvaluation, DecisionEvidence, DecisionEvidenceField,
236
+ DecisionExecutionMethod, DecisionJudgmentRecord, DecisionKind, DecisionOptions,
237
+ DecisionPrincipal, DecisionProvenance, DecisionRecordRef, DecisionRequest, DecisionResult,
238
+ DecisionRuntime, DecisionRuntimeCapabilities, DecisionRuntimeMetadata, DecisionStateReference,
239
+ DecisionStatus, DecisionTransportAuthorization, DecisionTransportExecutionRequest,
240
+ DecisionTransportExecutionResponse, DecisionTransportRuntime, DeterministicDecisionRuntime,
241
+ ScoreDecisionResult, WeightedOption, DEFAULT_DECISION_COLLECTION,
242
+ };
226
243
  pub use sharding::{
227
244
  HotspotAlert, RebalanceOperation, ShardDistributionSummary, ShardId, ShardKey, ShardManager,
228
245
  ShardMetrics, ShardRange, ShardingStrategy,
@@ -1998,8 +2015,7 @@ impl FeltDb {
1998
2015
  let databases = OPEN_DATABASES.get_or_init(|| Mutex::new(HashMap::new()));
1999
2016
  let mut databases = databases.lock().expect("open database registry poisoned");
2000
2017
  if let Some(open) = databases.get(&path) {
2001
- if let (Some(inner), Some(ownership)) =
2002
- (open.inner.upgrade(), open.ownership.upgrade())
2018
+ if let (Some(inner), Some(ownership)) = (open.inner.upgrade(), open.ownership.upgrade())
2003
2019
  {
2004
2020
  return Ok(Self {
2005
2021
  inner,
@@ -3342,12 +3358,7 @@ impl FeltDb {
3342
3358
  append_event_locked(&mut inner, &row)?;
3343
3359
  let base_revision = inner.authority_revision;
3344
3360
  inner.authority_revision += 1;
3345
- remember_operation_attribution(
3346
- &mut inner,
3347
- &row,
3348
- base_revision,
3349
- base_revision + 1,
3350
- );
3361
+ remember_operation_attribution(&mut inner, &row, base_revision, base_revision + 1);
3351
3362
  inner.put_row(row);
3352
3363
  if let Some(revision) = planned {
3353
3364
  persist_revision_locked(&mut inner, revision)?;
@@ -3428,12 +3439,7 @@ impl FeltDb {
3428
3439
  append_event_locked(&mut inner, &row)?;
3429
3440
  let base_revision = inner.authority_revision;
3430
3441
  inner.authority_revision += 1;
3431
- remember_operation_attribution(
3432
- &mut inner,
3433
- &row,
3434
- base_revision,
3435
- base_revision + 1,
3436
- );
3442
+ remember_operation_attribution(&mut inner, &row, base_revision, base_revision + 1);
3437
3443
  inner.put_row(row);
3438
3444
  if let Some(revision) = planned {
3439
3445
  persist_revision_locked(&mut inner, revision)?;
@@ -5109,15 +5115,12 @@ fn replay_log(inner: &mut Inner) -> Result<()> {
5109
5115
  inner.change_log.observed_versions = header.observed_versions;
5110
5116
  for attribution in header.transaction_history {
5111
5117
  let attribution = normalize_transaction_attribution(attribution);
5112
- inner.authority_revision = inner
5113
- .authority_revision
5114
- .max(attribution.commit_revision);
5115
- inner
5116
- .transaction_revisions
5117
- .insert(
5118
- attribution.transaction_id.clone(),
5119
- (attribution.base_revision, attribution.commit_revision),
5120
- );
5118
+ inner.authority_revision =
5119
+ inner.authority_revision.max(attribution.commit_revision);
5120
+ inner.transaction_revisions.insert(
5121
+ attribution.transaction_id.clone(),
5122
+ (attribution.base_revision, attribution.commit_revision),
5123
+ );
5121
5124
  inner
5122
5125
  .applied_transactions
5123
5126
  .insert(attribution.transaction_id.clone());
@@ -5232,12 +5235,7 @@ fn replay_log(inner: &mut Inner) -> Result<()> {
5232
5235
  let base_revision = inner.authority_revision;
5233
5236
  inner.authority_revision += 1;
5234
5237
  if !snapshot_log {
5235
- remember_operation_attribution(
5236
- inner,
5237
- &row,
5238
- base_revision,
5239
- base_revision + 1,
5240
- );
5238
+ remember_operation_attribution(inner, &row, base_revision, base_revision + 1);
5241
5239
  }
5242
5240
  }
5243
5241
  if let Some(id) = row
@@ -5577,7 +5575,10 @@ mod tests {
5577
5575
  assert_eq!(held, TRANSACTION_ATTRIBUTION_WINDOW);
5578
5576
  let recent = db.recent_transactions(3).expect("attributions");
5579
5577
  assert_eq!(
5580
- recent.iter().map(|value| value.transaction_id.clone()).collect::<Vec<_>>(),
5578
+ recent
5579
+ .iter()
5580
+ .map(|value| value.transaction_id.clone())
5581
+ .collect::<Vec<_>>(),
5581
5582
  vec![
5582
5583
  format!("tx_{}", commits - 1),
5583
5584
  format!("tx_{}", commits - 2),