@feltdb/core 0.6.9 → 0.6.11
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/cli/application-lifecycle.js +112 -0
- package/dist/cli/application.js +10 -0
- package/dist/cli/commands.js +407 -119
- package/dist/cli/development-session.js +54 -0
- package/dist/cli/index.js +1 -1
- package/dist/cli/workspace-integration.js +146 -20
- package/dist/collection.d.ts +110 -2
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +228 -3
- package/dist/create/cli.js +4 -2
- package/dist/create/create.js +42 -6
- package/dist/create/frameworks.js +18 -0
- package/dist/create/package-versions.js +1 -1
- package/dist/create/server-source/crates/feltdb/src/bin/feltdb_node.rs +408 -178
- package/dist/create/server-source/crates/feltdb/src/lib.rs +49 -5
- package/dist/create/server-source/crates/feltdb/src/multi_operation_transaction.rs +659 -0
- package/dist/create/server-source/crates/feltdb/src/p1_application_atomicity.rs +285 -0
- package/dist/create/server-source/crates/feltdb/src/p1_atomicity_acceptance.rs +582 -0
- package/dist/create/server-source/crates/feltdb-server/src/main.rs +141 -0
- package/dist/create/workspace-initialization.js +4 -5
- package/dist/db.d.ts +63 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +145 -4
- package/dist/development-runtime-bridge.d.ts +60 -0
- package/dist/development-runtime-bridge.d.ts.map +1 -0
- package/dist/development-runtime-bridge.js +171 -0
- package/dist/embedded-transaction.d.ts +77 -0
- package/dist/embedded-transaction.d.ts.map +1 -0
- package/dist/embedded-transaction.js +102 -0
- package/dist/feltdb.d.ts +49 -1
- package/dist/feltdb.d.ts.map +1 -1
- package/dist/file-db.d.ts +33 -0
- package/dist/file-db.d.ts.map +1 -1
- package/dist/file-db.js +128 -4
- package/dist/freshness.d.ts +119 -0
- package/dist/freshness.d.ts.map +1 -0
- package/dist/freshness.js +115 -0
- package/dist/http-db.d.ts +48 -0
- package/dist/http-db.d.ts.map +1 -1
- package/dist/http-db.js +77 -1
- package/dist/index-backend.d.ts +8 -0
- package/dist/index-backend.d.ts.map +1 -1
- package/dist/index-backend.js +13 -0
- package/dist/index-core.d.ts +80 -0
- package/dist/index-core.d.ts.map +1 -0
- package/dist/index-core.js +74 -0
- package/dist/index-manager.d.ts +11 -0
- package/dist/index-manager.d.ts.map +1 -1
- package/dist/index-manager.js +30 -13
- package/dist/index-types.d.ts +17 -0
- package/dist/index-types.d.ts.map +1 -1
- package/dist/index.browser.d.ts +14 -0
- package/dist/index.browser.d.ts.map +1 -0
- package/dist/index.browser.js +13 -0
- package/dist/index.d.ts +8 -59
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -54
- package/dist/indexeddb-db.d.ts +32 -0
- package/dist/indexeddb-db.d.ts.map +1 -1
- package/dist/indexeddb-db.js +151 -1
- package/dist/memory-db.d.ts +26 -0
- package/dist/memory-db.d.ts.map +1 -1
- package/dist/memory-db.js +86 -0
- package/dist/runtime-registry.d.ts +32 -0
- package/dist/runtime-registry.d.ts.map +1 -0
- package/dist/runtime-registry.js +38 -0
- package/dist/studio/app.d.ts +2 -1
- package/dist/studio/app.d.ts.map +1 -1
- package/dist/studio/components/StateExplorer.d.ts +2 -1
- package/dist/studio/components/StateExplorer.d.ts.map +1 -1
- package/dist/studio/components/index.js +1 -1
- package/dist/studio/{components-9kDSWiGL.js → components-C5p2TfIU.js} +25 -14
- package/dist/studio/index.js +234 -160
- package/dist/studio-app/assets/{feltdb_wasm-B4wq4mqp.js → feltdb_wasm-CJv3wHzi.js} +1 -1
- package/dist/studio-app/assets/feltdb_wasm_bg-C8TG8r2n.wasm +0 -0
- package/dist/studio-app/assets/index-DospFFYE.js +28 -0
- package/dist/studio-app/index.html +1 -1
- package/dist/transaction.d.ts +98 -0
- package/dist/transaction.d.ts.map +1 -0
- package/dist/transaction.js +86 -0
- package/dist/wasm/feltdb_wasm_bg.wasm +0 -0
- package/dist/workspace/browser.d.ts +22 -0
- package/dist/workspace/browser.d.ts.map +1 -0
- package/dist/workspace/browser.js +17 -0
- package/dist/workspace/development-node.d.ts +16 -0
- package/dist/workspace/development-node.d.ts.map +1 -1
- package/dist/workspace/development-node.js +85 -1
- package/dist/workspace/git-identity.d.ts +35 -0
- package/dist/workspace/git-identity.d.ts.map +1 -0
- package/dist/workspace/git-identity.js +81 -0
- package/dist/workspace/index.d.ts +12 -2
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +7 -1
- package/dist/workspace/investigation-analysis.d.ts +47 -0
- package/dist/workspace/investigation-analysis.d.ts.map +1 -0
- package/dist/workspace/investigation-analysis.js +181 -0
- package/dist/workspace/investigation-lifecycle-manager.d.ts +88 -0
- package/dist/workspace/investigation-lifecycle-manager.d.ts.map +1 -0
- package/dist/workspace/investigation-lifecycle-manager.js +259 -0
- package/dist/workspace/investigation-supervisor.d.ts +100 -0
- package/dist/workspace/investigation-supervisor.d.ts.map +1 -0
- package/dist/workspace/investigation-supervisor.js +238 -0
- package/dist/workspace/runtime-investigation.d.ts +5 -1
- package/dist/workspace/runtime-investigation.d.ts.map +1 -1
- package/dist/workspace/runtime-investigation.js +50 -21
- package/dist/workspace/runtime-observation.d.ts +82 -0
- package/dist/workspace/runtime-observation.d.ts.map +1 -0
- package/dist/workspace/runtime-observation.js +170 -0
- package/dist/workspace/runtime-observer.d.ts +57 -0
- package/dist/workspace/runtime-observer.d.ts.map +1 -0
- package/dist/workspace/runtime-observer.js +272 -0
- package/dist/workspace/workspace-connection.d.ts.map +1 -1
- package/dist/workspace/workspace-connection.js +14 -5
- package/dist/workspace/workspace-identity.d.ts +1 -1
- package/dist/workspace/workspace-identity.d.ts.map +1 -1
- package/dist/workspace/workspace-identity.js +4 -4
- package/dist/workspace/workspace-types.d.ts +208 -0
- package/dist/workspace/workspace-types.d.ts.map +1 -1
- package/package.json +12 -4
- package/dist/create/server-source/crates/feltdb/src/phase_1c_three_node.rs +0 -523
- package/dist/studio-app/assets/feltdb_wasm_bg-Ceyi7l21.wasm +0 -0
- package/dist/studio-app/assets/index-BF45M757.js +0 -28
|
@@ -41,6 +41,7 @@ use feltdb::{
|
|
|
41
41
|
Grant, GrantSigner, GrantStore, Subject as GrantSubject,
|
|
42
42
|
},
|
|
43
43
|
cardinality_endpoint::{CardinalityContext, CardinalityDiagnosticResponse},
|
|
44
|
+
AtomicMutation, AtomicPrecondition,
|
|
44
45
|
policy_evaluation::{Actor, PolicyContext, PolicyEvaluator, PolicySubject},
|
|
45
46
|
state_contract::{
|
|
46
47
|
begin_read, compare_schemas, execute_query as execute_state_query, execute_transaction,
|
|
@@ -6298,6 +6299,8 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
|
6298
6299
|
"/api/connections/{connection_id}",
|
|
6299
6300
|
axum::routing::delete(delete_connection_control),
|
|
6300
6301
|
)
|
|
6302
|
+
.route("/transactions", axum::routing::post(commit_transaction))
|
|
6303
|
+
.route("/revision", get(get_revision))
|
|
6301
6304
|
.route(
|
|
6302
6305
|
"/collections/{collection}",
|
|
6303
6306
|
get(list_records).post(create_record),
|
|
@@ -8974,6 +8977,30 @@ fn put_canonical(
|
|
|
8974
8977
|
}))
|
|
8975
8978
|
}
|
|
8976
8979
|
|
|
8980
|
+
/// The authority's current committed-state revision.
|
|
8981
|
+
///
|
|
8982
|
+
/// This is the value `apply_atomic_transaction` advances and writes into each
|
|
8983
|
+
/// durable transaction record as `state_after`. It already survived restart and
|
|
8984
|
+
/// already refused to move backwards; the only thing missing was a way to read
|
|
8985
|
+
/// it without performing a write, which is what a cache needs.
|
|
8986
|
+
///
|
|
8987
|
+
/// `scope` is the store's instance id. A revision is comparable only against
|
|
8988
|
+
/// another revision carrying the same scope, so a client that fails over to a
|
|
8989
|
+
/// different replica sees a scope change rather than a silently wrong
|
|
8990
|
+
/// comparison against a counter that means something else there.
|
|
8991
|
+
#[derive(Serialize)]
|
|
8992
|
+
struct RevisionResponse {
|
|
8993
|
+
revision: u64,
|
|
8994
|
+
scope: String,
|
|
8995
|
+
}
|
|
8996
|
+
|
|
8997
|
+
async fn get_revision(State(state): State<AppState>) -> Result<Json<RevisionResponse>, ApiError> {
|
|
8998
|
+
Ok(Json(RevisionResponse {
|
|
8999
|
+
revision: state.db.sequence()?,
|
|
9000
|
+
scope: state.db.instance_id()?,
|
|
9001
|
+
}))
|
|
9002
|
+
}
|
|
9003
|
+
|
|
8977
9004
|
async fn list_records(
|
|
8978
9005
|
State(state): State<AppState>,
|
|
8979
9006
|
Path(collection): Path<String>,
|
|
@@ -9000,6 +9027,120 @@ async fn get_record(
|
|
|
9000
9027
|
}))
|
|
9001
9028
|
}
|
|
9002
9029
|
|
|
9030
|
+
/// One operation inside an application transaction.
|
|
9031
|
+
#[derive(Deserialize)]
|
|
9032
|
+
#[serde(rename_all = "camelCase")]
|
|
9033
|
+
struct AtomicTxOperationRequest {
|
|
9034
|
+
collection: String,
|
|
9035
|
+
id: String,
|
|
9036
|
+
/// Absent value means delete.
|
|
9037
|
+
#[serde(default)]
|
|
9038
|
+
value: Option<Map<String, Value>>,
|
|
9039
|
+
/// When set, the record must not already exist for the transaction to commit.
|
|
9040
|
+
#[serde(default)]
|
|
9041
|
+
require_absent: bool,
|
|
9042
|
+
}
|
|
9043
|
+
|
|
9044
|
+
#[derive(Deserialize)]
|
|
9045
|
+
#[serde(rename_all = "camelCase")]
|
|
9046
|
+
struct AtomicTxRequest {
|
|
9047
|
+
/// Caller-supplied identity. Reusing one makes the commit idempotent.
|
|
9048
|
+
transaction_id: String,
|
|
9049
|
+
operations: Vec<AtomicTxOperationRequest>,
|
|
9050
|
+
}
|
|
9051
|
+
|
|
9052
|
+
#[derive(Serialize)]
|
|
9053
|
+
#[serde(rename_all = "camelCase")]
|
|
9054
|
+
struct AtomicTxResponse {
|
|
9055
|
+
transaction_id: String,
|
|
9056
|
+
/// True when this id had already been committed; nothing was reapplied.
|
|
9057
|
+
duplicate: bool,
|
|
9058
|
+
operations: usize,
|
|
9059
|
+
state_before: u64,
|
|
9060
|
+
state_after: u64,
|
|
9061
|
+
}
|
|
9062
|
+
|
|
9063
|
+
/// Commit several operations as one atomic, durable transaction.
|
|
9064
|
+
///
|
|
9065
|
+
/// This is the application-facing entry point to the same atomic commit path
|
|
9066
|
+
/// the substrate uses: preconditions are evaluated first, then one transaction
|
|
9067
|
+
/// record is written and fsynced, and only then is derived state updated.
|
|
9068
|
+
/// There is no second transaction mechanism — the request is translated into
|
|
9069
|
+
/// the store's own atomic transaction and nothing else.
|
|
9070
|
+
async fn commit_transaction(
|
|
9071
|
+
State(state): State<AppState>,
|
|
9072
|
+
Json(request): Json<AtomicTxRequest>,
|
|
9073
|
+
) -> Result<(StatusCode, Json<AtomicTxResponse>), ApiError> {
|
|
9074
|
+
if request.transaction_id.trim().is_empty() {
|
|
9075
|
+
return Err(ApiError(
|
|
9076
|
+
StatusCode::BAD_REQUEST,
|
|
9077
|
+
"transactionId is required".to_string(),
|
|
9078
|
+
));
|
|
9079
|
+
}
|
|
9080
|
+
if request.operations.is_empty() {
|
|
9081
|
+
return Err(ApiError(
|
|
9082
|
+
StatusCode::BAD_REQUEST,
|
|
9083
|
+
"a transaction requires at least one operation".to_string(),
|
|
9084
|
+
));
|
|
9085
|
+
}
|
|
9086
|
+
|
|
9087
|
+
// Validate every operation before any of them is turned into a mutation, so
|
|
9088
|
+
// a malformed request cannot commit a prefix of the transaction.
|
|
9089
|
+
let mut mutations = Vec::with_capacity(request.operations.len());
|
|
9090
|
+
let mut preconditions = Vec::new();
|
|
9091
|
+
let mut seen = std::collections::HashSet::new();
|
|
9092
|
+
for operation in request.operations {
|
|
9093
|
+
let key = record_key(&operation.collection, &operation.id)?;
|
|
9094
|
+
if !seen.insert(key.clone()) {
|
|
9095
|
+
return Err(ApiError(
|
|
9096
|
+
StatusCode::BAD_REQUEST,
|
|
9097
|
+
format!("transaction writes {key} more than once"),
|
|
9098
|
+
));
|
|
9099
|
+
}
|
|
9100
|
+
if operation.require_absent {
|
|
9101
|
+
// The store reads a precondition with no expected version as
|
|
9102
|
+
// "this record must not exist", and evaluates it inside the same
|
|
9103
|
+
// lock as the commit, so there is no window between the check and
|
|
9104
|
+
// the write.
|
|
9105
|
+
preconditions.push(AtomicPrecondition {
|
|
9106
|
+
capability: operation.collection.clone(),
|
|
9107
|
+
key: key.clone(),
|
|
9108
|
+
expected_version: None,
|
|
9109
|
+
});
|
|
9110
|
+
}
|
|
9111
|
+
let value = operation.value.map(|mut fields| {
|
|
9112
|
+
fields.insert("id".to_string(), Value::String(operation.id.clone()));
|
|
9113
|
+
Value::Object(fields)
|
|
9114
|
+
});
|
|
9115
|
+
mutations.push(AtomicMutation {
|
|
9116
|
+
capability: operation.collection,
|
|
9117
|
+
key,
|
|
9118
|
+
value,
|
|
9119
|
+
});
|
|
9120
|
+
}
|
|
9121
|
+
|
|
9122
|
+
let operations = mutations.len();
|
|
9123
|
+
let commit = state
|
|
9124
|
+
.db
|
|
9125
|
+
.apply_atomic_transaction(&request.transaction_id, None, &preconditions, &mutations, None)
|
|
9126
|
+
.map_err(|error| {
|
|
9127
|
+
// A refused transaction applied nothing, so this is a conflict, not
|
|
9128
|
+
// a partially completed request.
|
|
9129
|
+
ApiError(StatusCode::CONFLICT, error.to_string())
|
|
9130
|
+
})?;
|
|
9131
|
+
|
|
9132
|
+
Ok((
|
|
9133
|
+
if commit.duplicate { StatusCode::OK } else { StatusCode::CREATED },
|
|
9134
|
+
Json(AtomicTxResponse {
|
|
9135
|
+
transaction_id: commit.transaction_id,
|
|
9136
|
+
duplicate: commit.duplicate,
|
|
9137
|
+
operations,
|
|
9138
|
+
state_before: commit.state_before,
|
|
9139
|
+
state_after: commit.state_after,
|
|
9140
|
+
}),
|
|
9141
|
+
))
|
|
9142
|
+
}
|
|
9143
|
+
|
|
9003
9144
|
async fn create_record(
|
|
9004
9145
|
State(state): State<AppState>,
|
|
9005
9146
|
Path(collection): Path<String>,
|
|
@@ -7,14 +7,13 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import fs from 'fs';
|
|
9
9
|
import path from 'path';
|
|
10
|
+
import { randomBytes } from 'crypto';
|
|
10
11
|
/**
|
|
11
12
|
* Generate a unique workspace ID
|
|
12
|
-
*
|
|
13
|
+
* Opaque format: ws_<random>. Project identity is stored separately.
|
|
13
14
|
*/
|
|
14
|
-
export function generateWorkspaceId(
|
|
15
|
-
|
|
16
|
-
const random = Math.random().toString(36).substring(2, 9);
|
|
17
|
-
return `ws_${projectId}_${timestamp}_${random}`;
|
|
15
|
+
export function generateWorkspaceId(_projectId) {
|
|
16
|
+
return `ws_${randomBytes(16).toString('hex')}`;
|
|
18
17
|
}
|
|
19
18
|
/**
|
|
20
19
|
* Initialize development workspace for a new project
|
package/dist/db.d.ts
CHANGED
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
* Persistence, indexing, and reactivity are completely transparent.
|
|
6
6
|
*/
|
|
7
7
|
import type { JsDb } from './feltdb.js';
|
|
8
|
+
import { type FreshnessCapability, type Revision } from './freshness.js';
|
|
8
9
|
import { Collection, Relationship } from './collection.js';
|
|
10
|
+
import { type AtomicTransactionOptions, type AtomicTransactionResult, type AtomicTransactionScope } from './transaction.js';
|
|
9
11
|
import { type Cell } from './cell.js';
|
|
10
12
|
import type { AgentRef, AgentDefinition, AgentExecution } from './agent.js';
|
|
11
13
|
import { AgentRegistry } from './agent-registry.js';
|
|
@@ -19,6 +21,7 @@ import { BundleClient } from './bundle.js';
|
|
|
19
21
|
import { ReleaseClient } from './release.js';
|
|
20
22
|
import { ObserveClient } from './observe.js';
|
|
21
23
|
import { ProviderClient } from './provider.js';
|
|
24
|
+
import { type DevelopmentObservationSink } from './development-runtime-bridge.js';
|
|
22
25
|
interface FeltDBBaseOptions {
|
|
23
26
|
namespace: string;
|
|
24
27
|
}
|
|
@@ -244,6 +247,8 @@ export declare class StateFirstDB {
|
|
|
244
247
|
private agentRegistry;
|
|
245
248
|
private agentRuntime;
|
|
246
249
|
private capabilityWorkers;
|
|
250
|
+
private observation?;
|
|
251
|
+
private closeDevelopmentBridge?;
|
|
247
252
|
readonly workloads: WorkloadClient;
|
|
248
253
|
readonly artifacts: ArtifactClient;
|
|
249
254
|
readonly bundle: BundleClient;
|
|
@@ -253,7 +258,7 @@ export declare class StateFirstDB {
|
|
|
253
258
|
readonly workers: WorkerClient;
|
|
254
259
|
readonly workerPools: WorkerPoolClient;
|
|
255
260
|
readonly mesh: MeshClient;
|
|
256
|
-
constructor(jsDb: JsDb);
|
|
261
|
+
constructor(jsDb: JsDb, observation?: DevelopmentObservationSink, closeDevelopmentBridge?: () => Promise<void>);
|
|
257
262
|
/**
|
|
258
263
|
* Detect runtime environment and storage characteristics
|
|
259
264
|
*/
|
|
@@ -280,6 +285,31 @@ export declare class StateFirstDB {
|
|
|
280
285
|
* const allActive = await tasks.where(t => t.status === "active").all();
|
|
281
286
|
*/
|
|
282
287
|
collection<T>(name: string): Collection<T>;
|
|
288
|
+
/**
|
|
289
|
+
* Commit several operations as one atomic, durable transaction.
|
|
290
|
+
*
|
|
291
|
+
* Either every operation commits or none do — including across a crash.
|
|
292
|
+
*
|
|
293
|
+
* @example
|
|
294
|
+
* const result = await db.transaction(async tx => {
|
|
295
|
+
* tx.collection('users').set('u1', user);
|
|
296
|
+
* tx.collection('orders').set('o1', order);
|
|
297
|
+
* tx.collection('audit').set('a1', event);
|
|
298
|
+
* });
|
|
299
|
+
* result.transactionId; // durable identity, stable across restart
|
|
300
|
+
*
|
|
301
|
+
* The callback stages operations; it does not write them. Nothing reaches
|
|
302
|
+
* the authority until the callback returns, so there is no window in which
|
|
303
|
+
* part of the transaction is durable and the rest is not.
|
|
304
|
+
*
|
|
305
|
+
* Throwing from the callback abandons the transaction without sending
|
|
306
|
+
* anything.
|
|
307
|
+
*
|
|
308
|
+
* Requires a runtime backed by an authority that provides atomic
|
|
309
|
+
* transactions. Runtimes that cannot refuse rather than silently degrading
|
|
310
|
+
* the transaction into a sequence of independent writes.
|
|
311
|
+
*/
|
|
312
|
+
transaction(build: (tx: AtomicTransactionScope) => void | Promise<void>, options?: AtomicTransactionOptions): Promise<AtomicTransactionResult>;
|
|
283
313
|
/**
|
|
284
314
|
* Get or create a durable cell.
|
|
285
315
|
*
|
|
@@ -444,10 +474,42 @@ export declare class StateFirstDB {
|
|
|
444
474
|
/**
|
|
445
475
|
* Get the current sequence number for this instance.
|
|
446
476
|
*
|
|
477
|
+
* **Not a freshness signal.** It means a different thing in each runtime and
|
|
478
|
+
* never reflects a write made by another process, tab, or node. Use
|
|
479
|
+
* {@link StateFirstDB.freshness} to find out whether cached state can be validated,
|
|
480
|
+
* and {@link StateFirstDB.revision} to validate it.
|
|
481
|
+
*
|
|
447
482
|
* @example
|
|
448
483
|
* const seq = db.getSequence();
|
|
449
484
|
*/
|
|
450
485
|
getSequence(): number;
|
|
486
|
+
/**
|
|
487
|
+
* What freshness validation this runtime can honestly support.
|
|
488
|
+
*
|
|
489
|
+
* Runtimes differ because their consistency domains differ, not because some
|
|
490
|
+
* are unfinished. A runtime with no serialization authority over its writers
|
|
491
|
+
* reports `validation: 'refresh'`, and that is the correct answer for it.
|
|
492
|
+
*
|
|
493
|
+
* @example
|
|
494
|
+
* const capability = await db.freshness();
|
|
495
|
+
* if (capability.validation === 'revision') {
|
|
496
|
+
* const revision = await db.revision();
|
|
497
|
+
* }
|
|
498
|
+
*/
|
|
499
|
+
freshness(): Promise<FreshnessCapability>;
|
|
500
|
+
/**
|
|
501
|
+
* The current committed-state revision.
|
|
502
|
+
*
|
|
503
|
+
* Throws unless {@link StateFirstDB.freshness} advertises revision validation, and
|
|
504
|
+
* throws if the runtime returns a revision from a scope it did not advertise.
|
|
505
|
+
* A revision is comparable only against one carrying the same scope.
|
|
506
|
+
*
|
|
507
|
+
* @example
|
|
508
|
+
* const before = await db.revision();
|
|
509
|
+
* // ... work ...
|
|
510
|
+
* const stillCurrent = isCacheCurrent(before, await db.revision());
|
|
511
|
+
*/
|
|
512
|
+
revision(): Promise<Revision>;
|
|
451
513
|
/**
|
|
452
514
|
* Register a trigger that maps operations to executions
|
|
453
515
|
*
|
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
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
* High-level, application-facing API that treats FeltDB as application state.
|
|
5
5
|
* Persistence, indexing, and reactivity are completely transparent.
|
|
6
6
|
*/
|
|
7
|
+
import { describeFreshness, readRevision, } from './freshness.js';
|
|
7
8
|
import { Collection, Relationship } from './collection.js';
|
|
9
|
+
import { AtomicTransactionBuilder, AtomicTransactionError, } from './transaction.js';
|
|
8
10
|
import { CellImpl } from './cell.js';
|
|
9
11
|
import { createAgentRef } from './agent.js';
|
|
10
12
|
import { AgentRegistry } from './agent-registry.js';
|
|
@@ -12,7 +14,7 @@ import { AgentRuntime } from './agent-runtime.js';
|
|
|
12
14
|
import { MemoryJsDb } from './memory-db.js';
|
|
13
15
|
import { HttpJsDb } from './http-db.js';
|
|
14
16
|
import { IndexedDbJsDb } from './indexeddb-db.js';
|
|
15
|
-
import {
|
|
17
|
+
import { requireRuntime } from './runtime-registry.js';
|
|
16
18
|
import { emptyFlowSpec, planFlowSpecMigration, validateFlowSpec } from './flowspec.js';
|
|
17
19
|
import { SyncController } from './sync-contract.js';
|
|
18
20
|
import { WorkloadClient } from './workload.js';
|
|
@@ -23,22 +25,55 @@ import { ReleaseClient } from './release.js';
|
|
|
23
25
|
import { ObserveClient } from './observe.js';
|
|
24
26
|
import { ProviderClient } from './provider.js';
|
|
25
27
|
import { emitTelemetry } from './telemetry.js';
|
|
28
|
+
import { attachDevelopmentRuntimeBridge } from './development-runtime-bridge.js';
|
|
26
29
|
export function createFeltDB(options) {
|
|
27
30
|
if (!options?.namespace?.trim()) {
|
|
28
31
|
throw new Error('createFeltDB requires a non-empty namespace');
|
|
29
32
|
}
|
|
30
33
|
const runtime = options.server ? new HttpJsDb(options.server)
|
|
31
34
|
: 'browser' in options && options.browser ? new IndexedDbJsDb(options.namespace)
|
|
32
|
-
: 'path' in options && options.path ?
|
|
35
|
+
: 'path' in options && options.path ? requireRuntime('file', options.path, 'createFeltDB({ path }) needs the Node file runtime, which is not available here. '
|
|
36
|
+
+ 'In a browser use createFeltDB({ browser: true }); in Node import "@feltdb/core" '
|
|
37
|
+
+ 'rather than a browser-conditioned build.')
|
|
33
38
|
: new MemoryJsDb(options.namespace);
|
|
34
|
-
|
|
39
|
+
const runtimeName = options.server ? 'remote' : 'browser' in options && options.browser ? 'browser' : 'path' in options ? 'node' : 'memory';
|
|
40
|
+
const bridge = attachDevelopmentRuntimeBridge({ namespace: options.namespace, runtime: runtimeName });
|
|
41
|
+
return new StateFirstDB(observeRuntime(runtime, bridge.observation), bridge.observation, bridge.close);
|
|
42
|
+
}
|
|
43
|
+
const OBSERVED_BACKEND_OPERATIONS = new Set([
|
|
44
|
+
'get', 'query', 'insert', 'update', 'delete', 'cas', 'putIfAbsent',
|
|
45
|
+
'export_operations', 'apply_operations', 'sync',
|
|
46
|
+
]);
|
|
47
|
+
function observeRuntime(runtime, observation) {
|
|
48
|
+
return new Proxy(runtime, {
|
|
49
|
+
get(target, property, receiver) {
|
|
50
|
+
const value = Reflect.get(target, property, receiver);
|
|
51
|
+
if (typeof property !== 'string' || typeof value !== 'function')
|
|
52
|
+
return value;
|
|
53
|
+
const bound = value.bind(target);
|
|
54
|
+
if (!OBSERVED_BACKEND_OPERATIONS.has(property))
|
|
55
|
+
return bound;
|
|
56
|
+
return (...args) => {
|
|
57
|
+
const key = typeof args[0] === 'string' ? args[0] : undefined;
|
|
58
|
+
const operation = observation.start(property, { collection: key?.includes(':') ? key.split(':', 1)[0] : undefined });
|
|
59
|
+
try {
|
|
60
|
+
const result = bound(...args);
|
|
61
|
+
return Promise.resolve(result).then((resolved) => { operation.complete(); return resolved; }, (error) => { operation.fail(error); throw error; });
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
operation.fail(error);
|
|
65
|
+
throw error;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
},
|
|
69
|
+
});
|
|
35
70
|
}
|
|
36
71
|
/**
|
|
37
72
|
* State-first database interface.
|
|
38
73
|
* Applications use this to treat FeltDB collections as live application state.
|
|
39
74
|
*/
|
|
40
75
|
export class StateFirstDB {
|
|
41
|
-
constructor(jsDb) {
|
|
76
|
+
constructor(jsDb, observation, closeDevelopmentBridge) {
|
|
42
77
|
this.collections = new Map();
|
|
43
78
|
this.cells = new Map();
|
|
44
79
|
this.capabilityWorkers = new Map();
|
|
@@ -52,6 +87,8 @@ export class StateFirstDB {
|
|
|
52
87
|
this.workerPools = new WorkerPoolClient();
|
|
53
88
|
this.mesh = new MeshClient();
|
|
54
89
|
this.jsDb = jsDb;
|
|
90
|
+
this.observation = observation;
|
|
91
|
+
this.closeDevelopmentBridge = closeDevelopmentBridge;
|
|
55
92
|
this.runtimeInfo = this.detectRuntime();
|
|
56
93
|
this.agentRegistry = new AgentRegistry();
|
|
57
94
|
const agentConfig = {
|
|
@@ -135,6 +172,73 @@ export class StateFirstDB {
|
|
|
135
172
|
}
|
|
136
173
|
return this.collections.get(name);
|
|
137
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Commit several operations as one atomic, durable transaction.
|
|
177
|
+
*
|
|
178
|
+
* Either every operation commits or none do — including across a crash.
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* const result = await db.transaction(async tx => {
|
|
182
|
+
* tx.collection('users').set('u1', user);
|
|
183
|
+
* tx.collection('orders').set('o1', order);
|
|
184
|
+
* tx.collection('audit').set('a1', event);
|
|
185
|
+
* });
|
|
186
|
+
* result.transactionId; // durable identity, stable across restart
|
|
187
|
+
*
|
|
188
|
+
* The callback stages operations; it does not write them. Nothing reaches
|
|
189
|
+
* the authority until the callback returns, so there is no window in which
|
|
190
|
+
* part of the transaction is durable and the rest is not.
|
|
191
|
+
*
|
|
192
|
+
* Throwing from the callback abandons the transaction without sending
|
|
193
|
+
* anything.
|
|
194
|
+
*
|
|
195
|
+
* Requires a runtime backed by an authority that provides atomic
|
|
196
|
+
* transactions. Runtimes that cannot refuse rather than silently degrading
|
|
197
|
+
* the transaction into a sequence of independent writes.
|
|
198
|
+
*/
|
|
199
|
+
async transaction(build, options = {}) {
|
|
200
|
+
const builder = new AtomicTransactionBuilder(options.transactionId);
|
|
201
|
+
const observed = this.observation?.start('transaction', { transactionId: builder.transactionId });
|
|
202
|
+
if (!this.jsDb.commit_transaction) {
|
|
203
|
+
const error = new AtomicTransactionError('This FeltDB runtime does not provide atomic transactions. '
|
|
204
|
+
+ 'Connect to a FeltDB authority (createFeltDB({ server: ... })) to use db.transaction(). '
|
|
205
|
+
+ 'FeltDB will not emulate a transaction with separate writes, because that would not be atomic.', builder.transactionId);
|
|
206
|
+
observed?.fail(error);
|
|
207
|
+
throw error;
|
|
208
|
+
}
|
|
209
|
+
try {
|
|
210
|
+
await build(builder);
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
observed?.fail(error);
|
|
214
|
+
throw error;
|
|
215
|
+
}
|
|
216
|
+
const request = builder.seal();
|
|
217
|
+
if (request.operations.length === 0) {
|
|
218
|
+
const error = new AtomicTransactionError('a transaction requires at least one operation', request.transactionId);
|
|
219
|
+
observed?.fail(error);
|
|
220
|
+
throw error;
|
|
221
|
+
}
|
|
222
|
+
try {
|
|
223
|
+
const result = await this.jsDb.commit_transaction(request);
|
|
224
|
+
const completed = {
|
|
225
|
+
transactionId: result.transactionId ?? request.transactionId,
|
|
226
|
+
duplicate: Boolean(result.duplicate),
|
|
227
|
+
operations: result.operations ?? request.operations.length,
|
|
228
|
+
stateBefore: result.stateBefore ?? 0,
|
|
229
|
+
stateAfter: result.stateAfter ?? 0,
|
|
230
|
+
};
|
|
231
|
+
observed?.complete({ operations: completed.operations, duplicate: completed.duplicate });
|
|
232
|
+
return completed;
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
// A refused transaction applied nothing. Surfacing that plainly matters:
|
|
236
|
+
// a caller must never be left wondering whether a prefix landed.
|
|
237
|
+
const transactionError = new AtomicTransactionError(error instanceof Error ? error.message : String(error), request.transactionId);
|
|
238
|
+
observed?.fail(transactionError);
|
|
239
|
+
throw transactionError;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
138
242
|
/**
|
|
139
243
|
* Get or create a durable cell.
|
|
140
244
|
*
|
|
@@ -454,6 +558,7 @@ export class StateFirstDB {
|
|
|
454
558
|
}
|
|
455
559
|
this.collections.clear();
|
|
456
560
|
await this.jsDb.close?.();
|
|
561
|
+
await this.closeDevelopmentBridge?.();
|
|
457
562
|
}
|
|
458
563
|
sync(config) {
|
|
459
564
|
if (config)
|
|
@@ -525,12 +630,48 @@ export class StateFirstDB {
|
|
|
525
630
|
/**
|
|
526
631
|
* Get the current sequence number for this instance.
|
|
527
632
|
*
|
|
633
|
+
* **Not a freshness signal.** It means a different thing in each runtime and
|
|
634
|
+
* never reflects a write made by another process, tab, or node. Use
|
|
635
|
+
* {@link StateFirstDB.freshness} to find out whether cached state can be validated,
|
|
636
|
+
* and {@link StateFirstDB.revision} to validate it.
|
|
637
|
+
*
|
|
528
638
|
* @example
|
|
529
639
|
* const seq = db.getSequence();
|
|
530
640
|
*/
|
|
531
641
|
getSequence() {
|
|
532
642
|
return this.jsDb.get_sequence();
|
|
533
643
|
}
|
|
644
|
+
/**
|
|
645
|
+
* What freshness validation this runtime can honestly support.
|
|
646
|
+
*
|
|
647
|
+
* Runtimes differ because their consistency domains differ, not because some
|
|
648
|
+
* are unfinished. A runtime with no serialization authority over its writers
|
|
649
|
+
* reports `validation: 'refresh'`, and that is the correct answer for it.
|
|
650
|
+
*
|
|
651
|
+
* @example
|
|
652
|
+
* const capability = await db.freshness();
|
|
653
|
+
* if (capability.validation === 'revision') {
|
|
654
|
+
* const revision = await db.revision();
|
|
655
|
+
* }
|
|
656
|
+
*/
|
|
657
|
+
freshness() {
|
|
658
|
+
return describeFreshness(this.jsDb);
|
|
659
|
+
}
|
|
660
|
+
/**
|
|
661
|
+
* The current committed-state revision.
|
|
662
|
+
*
|
|
663
|
+
* Throws unless {@link StateFirstDB.freshness} advertises revision validation, and
|
|
664
|
+
* throws if the runtime returns a revision from a scope it did not advertise.
|
|
665
|
+
* A revision is comparable only against one carrying the same scope.
|
|
666
|
+
*
|
|
667
|
+
* @example
|
|
668
|
+
* const before = await db.revision();
|
|
669
|
+
* // ... work ...
|
|
670
|
+
* const stillCurrent = isCacheCurrent(before, await db.revision());
|
|
671
|
+
*/
|
|
672
|
+
revision() {
|
|
673
|
+
return readRevision(this.jsDb);
|
|
674
|
+
}
|
|
534
675
|
/**
|
|
535
676
|
* Register a trigger that maps operations to executions
|
|
536
677
|
*
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export interface DevelopmentRuntimeSessionIdentity {
|
|
2
|
+
sessionId: string;
|
|
3
|
+
workspaceId: string;
|
|
4
|
+
namespace: string;
|
|
5
|
+
runtime: string;
|
|
6
|
+
authorityUrl: string;
|
|
7
|
+
bridgeUrl: string;
|
|
8
|
+
applicationUrl?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface DevelopmentRuntimeRegistration extends DevelopmentRuntimeSessionIdentity {
|
|
11
|
+
runtimeInstanceId: string;
|
|
12
|
+
applicationId: string;
|
|
13
|
+
}
|
|
14
|
+
export type FeltDBObservationStatus = 'started' | 'completed' | 'failed';
|
|
15
|
+
export interface FeltDBObservation {
|
|
16
|
+
eventId: string;
|
|
17
|
+
correlationId: string;
|
|
18
|
+
timestamp: number;
|
|
19
|
+
workspaceId?: string;
|
|
20
|
+
sessionId?: string;
|
|
21
|
+
runtimeInstanceId: string;
|
|
22
|
+
operation: {
|
|
23
|
+
type: string;
|
|
24
|
+
collection?: string;
|
|
25
|
+
transactionId?: string;
|
|
26
|
+
};
|
|
27
|
+
status: FeltDBObservationStatus;
|
|
28
|
+
durationMs?: number;
|
|
29
|
+
error?: {
|
|
30
|
+
code?: string;
|
|
31
|
+
message: string;
|
|
32
|
+
};
|
|
33
|
+
metadata?: Record<string, unknown>;
|
|
34
|
+
}
|
|
35
|
+
export interface DevelopmentObservationOperation {
|
|
36
|
+
complete(metadata?: Record<string, unknown>): void;
|
|
37
|
+
fail(error: unknown): void;
|
|
38
|
+
}
|
|
39
|
+
export interface DevelopmentObservationSink {
|
|
40
|
+
start(type: string, details?: {
|
|
41
|
+
collection?: string;
|
|
42
|
+
transactionId?: string;
|
|
43
|
+
metadata?: Record<string, unknown>;
|
|
44
|
+
}): DevelopmentObservationOperation;
|
|
45
|
+
}
|
|
46
|
+
/** Maximum unsent events retained by a runtime. New events are dropped beyond this bound. */
|
|
47
|
+
export declare const DEVELOPMENT_OBSERVATION_BUFFER_LIMIT = 256;
|
|
48
|
+
/** Supply ephemeral `feltdb dev` identity. This is a no-op when values are absent. */
|
|
49
|
+
export declare function configureDevelopmentRuntimeBridge(session?: Partial<DevelopmentRuntimeSessionIdentity>): void;
|
|
50
|
+
/** Internal, optional registration hook called by Core runtime construction. */
|
|
51
|
+
export declare function attachDevelopmentRuntimeBridge(input: {
|
|
52
|
+
namespace: string;
|
|
53
|
+
runtime: string;
|
|
54
|
+
applicationId?: string;
|
|
55
|
+
}): {
|
|
56
|
+
runtimeInstanceId: string;
|
|
57
|
+
observation: DevelopmentObservationSink;
|
|
58
|
+
close(): Promise<void>;
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=development-runtime-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"development-runtime-bridge.d.ts","sourceRoot":"","sources":["../src/development-runtime-bridge.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iCAAiC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,8BAA+B,SAAQ,iCAAiC;IACvF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEzE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,MAAM,EAAE,uBAAuB,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACnD,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,+BAA+B,CAAC;CACrJ;AAED,6FAA6F;AAC7F,eAAO,MAAM,oCAAoC,MAAM,CAAC;AAIxD,sFAAsF;AACtF,wBAAgB,iCAAiC,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,iCAAiC,CAAC,GAAG,IAAI,CAI5G;AA8BD,gFAAgF;AAChF,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,0BAA0B,CAAC;IAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAmHjG"}
|