@feltdb/core 0.13.0 → 0.15.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/agent-runtime.d.ts +64 -2
- package/dist/agent-runtime.d.ts.map +1 -1
- package/dist/agent-runtime.js +121 -11
- package/dist/agent-state.d.ts +48 -0
- package/dist/agent-state.d.ts.map +1 -1
- package/dist/agent-state.js +174 -12
- package/dist/agent.d.ts +10 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +10 -1
- package/dist/build-identity.json +4 -4
- package/dist/cli/commands.js +27 -6
- package/dist/collection.d.ts +3 -1
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +30 -8
- package/dist/create/build-identity.json +4 -4
- package/dist/create/cli.js +1 -1
- package/dist/create/create.js +4 -6
- package/dist/create/package-versions.js +1 -1
- package/dist/create/server-source/Cargo.lock +6 -6
- package/dist/create/server-source/Cargo.toml +1 -1
- package/dist/create/server-source/crates/feltdb/src/lib.rs +126 -35
- package/dist/create/server-source/crates/feltdb/src/state_contract.rs +162 -53
- package/dist/create/server-source/crates/feltdb/src/worker_mesh.rs +137 -1
- package/dist/create/server-source/crates/feltdb/src/workload.rs +1427 -91
- package/dist/create/server-source/crates/feltdb-client/Cargo.toml +1 -1
- package/dist/create/server-source/crates/feltdb-server/Cargo.toml +1 -1
- package/dist/create/server-source/crates/feltdb-server/README.md +6 -1
- package/dist/create/server-source/crates/feltdb-server/src/app_state.rs +9 -1
- package/dist/create/server-source/crates/feltdb-server/src/auth.rs +85 -25
- package/dist/create/server-source/crates/feltdb-server/src/backup.rs +4 -0
- package/dist/create/server-source/crates/feltdb-server/src/console_accounts.rs +1009 -0
- package/dist/create/server-source/crates/feltdb-server/src/control_authorization.rs +441 -0
- package/dist/create/server-source/crates/feltdb-server/src/identity.rs +68 -6
- package/dist/create/server-source/crates/feltdb-server/src/key_management.rs +355 -23
- package/dist/create/server-source/crates/feltdb-server/src/lib.rs +3 -0
- package/dist/create/server-source/crates/feltdb-server/src/main.rs +879 -84
- package/dist/create/server-source/crates/feltdb-server/src/redaction.rs +208 -0
- package/dist/create/server-source/crates/feltdb-server/src/tenancy.rs +198 -19
- package/dist/create/server-source/crates/feltdb-server/tests/transaction_precondition_contract.rs +403 -0
- package/dist/db.d.ts +64 -9
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +153 -27
- package/dist/deployment.d.ts +19 -0
- package/dist/deployment.d.ts.map +1 -1
- package/dist/deployment.js +38 -2
- package/dist/embedded-query.d.ts.map +1 -1
- package/dist/embedded-query.js +5 -4
- package/dist/embedded-transaction.d.ts +8 -4
- package/dist/embedded-transaction.d.ts.map +1 -1
- package/dist/embedded-transaction.js +55 -19
- package/dist/error-codes.d.ts +31 -2
- package/dist/error-codes.d.ts.map +1 -1
- package/dist/error-codes.js +41 -2
- package/dist/feltdb.d.ts +7 -0
- package/dist/feltdb.d.ts.map +1 -1
- package/dist/file-db.d.ts +27 -0
- package/dist/file-db.d.ts.map +1 -1
- package/dist/file-db.js +145 -7
- package/dist/http-client.d.ts +11 -3
- package/dist/http-client.d.ts.map +1 -1
- package/dist/http-client.js +27 -14
- package/dist/http-db.d.ts +27 -1
- package/dist/http-db.d.ts.map +1 -1
- package/dist/http-db.js +252 -54
- package/dist/index.js +1 -1
- package/dist/local-state-lock.d.ts +34 -0
- package/dist/local-state-lock.d.ts.map +1 -0
- package/dist/local-state-lock.js +225 -0
- package/dist/reactive-graph.d.ts +0 -3
- package/dist/reactive-graph.d.ts.map +1 -1
- package/dist/reactive-graph.js +11 -1
- package/dist/runtime-registry.d.ts +7 -2
- package/dist/runtime-registry.d.ts.map +1 -1
- package/dist/runtime-registry.js +2 -2
- package/dist/studio/components/index.js +1 -1
- package/dist/studio/{components-BSGmHfif.js → components-CJmzntBi.js} +2 -1
- package/dist/studio/index.js +1 -1
- package/dist/studio-app/assets/{feltdb_wasm-3hDngl1h.js → feltdb_wasm-BjM1ylL3.js} +1 -1
- package/dist/studio-app/assets/feltdb_wasm_bg-TseJn2Ax.wasm +0 -0
- package/dist/studio-app/assets/index-1wd0uKua.js +30 -0
- package/dist/studio-app/index.html +1 -1
- package/dist/transaction.d.ts +27 -11
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +20 -14
- package/dist/wasm/feltdb_wasm_bg.wasm +0 -0
- package/dist/wasm/package.json +1 -1
- package/dist/workload.d.ts +31 -3
- package/dist/workload.d.ts.map +1 -1
- package/dist/workload.js +28 -3
- package/package.json +1 -1
- package/dist/studio-app/assets/feltdb_wasm_bg-CFQT4gCy.wasm +0 -0
- package/dist/studio-app/assets/index-Dql1hS5m.js +0 -30
package/dist/create/server-source/crates/feltdb-server/tests/transaction_precondition_contract.rs
ADDED
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
//! The transaction-precondition contract through the Rust client (`feltdb-client`) against this
|
|
2
|
+
//! crate's real server binary, over both transaction routes.
|
|
3
|
+
//!
|
|
4
|
+
//! The same contract is held for the TypeScript SDK by
|
|
5
|
+
//! `e2e/transaction-precondition-contract.test.mjs`. Every test stages the failure the contract
|
|
6
|
+
//! forbids and asserts the authority's structured answer as the Rust client decodes it.
|
|
7
|
+
|
|
8
|
+
use std::{
|
|
9
|
+
io::{BufRead, BufReader},
|
|
10
|
+
path::PathBuf,
|
|
11
|
+
process::{Child, Command, Stdio},
|
|
12
|
+
time::{Duration, SystemTime, UNIX_EPOCH},
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
use feltdb_client::{
|
|
16
|
+
path_segment, AppTransaction, Client, Error, Method, Operation, Precondition,
|
|
17
|
+
PreconditionFailure, Transaction,
|
|
18
|
+
};
|
|
19
|
+
use serde_json::{json, Value};
|
|
20
|
+
|
|
21
|
+
struct Server {
|
|
22
|
+
child: Child,
|
|
23
|
+
url: String,
|
|
24
|
+
directory: PathBuf,
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
impl Server {
|
|
28
|
+
fn start(name: &str) -> Self {
|
|
29
|
+
let directory = std::env::temp_dir().join(format!(
|
|
30
|
+
"feltdb-txp-{name}-{}-{}",
|
|
31
|
+
std::process::id(),
|
|
32
|
+
SystemTime::now()
|
|
33
|
+
.duration_since(UNIX_EPOCH)
|
|
34
|
+
.unwrap()
|
|
35
|
+
.as_nanos()
|
|
36
|
+
));
|
|
37
|
+
std::fs::create_dir_all(&directory).unwrap();
|
|
38
|
+
let data = directory.join("feltdb.log");
|
|
39
|
+
let mut child = Command::new(env!("CARGO_BIN_EXE_feltdb-server"))
|
|
40
|
+
.args([
|
|
41
|
+
"--host",
|
|
42
|
+
"127.0.0.1",
|
|
43
|
+
"--port",
|
|
44
|
+
"0",
|
|
45
|
+
"--namespace",
|
|
46
|
+
"txp",
|
|
47
|
+
"--data",
|
|
48
|
+
data.to_str().unwrap(),
|
|
49
|
+
"--keys",
|
|
50
|
+
directory.join("keys.json").to_str().unwrap(),
|
|
51
|
+
"--audit",
|
|
52
|
+
directory.join("audit.log").to_str().unwrap(),
|
|
53
|
+
])
|
|
54
|
+
.env("FELTDB_MASTER_KEY", "txp-development-key")
|
|
55
|
+
.stdout(Stdio::piped())
|
|
56
|
+
.stderr(Stdio::null())
|
|
57
|
+
.spawn()
|
|
58
|
+
.unwrap();
|
|
59
|
+
let mut lines = BufReader::new(child.stdout.take().unwrap()).lines();
|
|
60
|
+
let url = loop {
|
|
61
|
+
let line = lines
|
|
62
|
+
.next()
|
|
63
|
+
.expect("server exited before readiness")
|
|
64
|
+
.unwrap();
|
|
65
|
+
if let Some(rest) = line.split("ready at ").nth(1) {
|
|
66
|
+
break rest.split_whitespace().next().unwrap().to_owned();
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
std::thread::spawn(move || lines.for_each(drop));
|
|
70
|
+
Self {
|
|
71
|
+
child,
|
|
72
|
+
url,
|
|
73
|
+
directory,
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
fn client(&self) -> Client {
|
|
78
|
+
Client::builder(&self.url).build().unwrap()
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
fn data(&self) -> PathBuf {
|
|
82
|
+
self.directory.join("feltdb.log")
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
impl Drop for Server {
|
|
87
|
+
fn drop(&mut self) {
|
|
88
|
+
let _ = self.child.kill();
|
|
89
|
+
let _ = self.child.wait();
|
|
90
|
+
let _ = std::fs::remove_dir_all(&self.directory);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/// Provision one application with collections `A` and `B` and return its id.
|
|
95
|
+
async fn provision(client: &Client) -> String {
|
|
96
|
+
let tenant = client
|
|
97
|
+
.request(
|
|
98
|
+
Method::POST,
|
|
99
|
+
"/api/tenants",
|
|
100
|
+
Some(&json!({ "name": "txp" })),
|
|
101
|
+
)
|
|
102
|
+
.await
|
|
103
|
+
.unwrap();
|
|
104
|
+
let tenant_id = tenant["tenant_id"]
|
|
105
|
+
.as_str()
|
|
106
|
+
.or(tenant["id"].as_str())
|
|
107
|
+
.unwrap();
|
|
108
|
+
let application = client
|
|
109
|
+
.request(
|
|
110
|
+
Method::POST,
|
|
111
|
+
&format!("/api/tenants/{tenant_id}/applications"),
|
|
112
|
+
Some(&json!({ "name": "txp" })),
|
|
113
|
+
)
|
|
114
|
+
.await
|
|
115
|
+
.unwrap();
|
|
116
|
+
let application_id = application["application_id"]
|
|
117
|
+
.as_str()
|
|
118
|
+
.or(application["id"].as_str())
|
|
119
|
+
.unwrap()
|
|
120
|
+
.to_owned();
|
|
121
|
+
let drafts = format!("/api/applications/{application_id}/drafts");
|
|
122
|
+
let draft = client
|
|
123
|
+
.request(Method::POST, &drafts, Some(&json!({})))
|
|
124
|
+
.await
|
|
125
|
+
.unwrap();
|
|
126
|
+
let draft_id = draft["draft_id"].as_str().unwrap();
|
|
127
|
+
let mut manifest = draft["manifest"].clone();
|
|
128
|
+
let fields = json!([{ "name": "n", "type": "integer", "required": false }]);
|
|
129
|
+
manifest["collections"] = json!([
|
|
130
|
+
{ "name": "A", "fields": fields },
|
|
131
|
+
{ "name": "B", "fields": fields },
|
|
132
|
+
]);
|
|
133
|
+
manifest["policies"] = json!(
|
|
134
|
+
["A", "B"].map(|name| json!({ "name": name, "resource": name,
|
|
135
|
+
"read": "authenticated", "write": "authenticated", "capabilities": [] }))
|
|
136
|
+
);
|
|
137
|
+
let version = draft["version"].as_u64().unwrap().to_string();
|
|
138
|
+
client
|
|
139
|
+
.request_with_headers(
|
|
140
|
+
Method::PUT,
|
|
141
|
+
&format!("{drafts}/{draft_id}"),
|
|
142
|
+
&[("if-version", &version)],
|
|
143
|
+
Some(&json!({ "manifest": manifest })),
|
|
144
|
+
)
|
|
145
|
+
.await
|
|
146
|
+
.unwrap();
|
|
147
|
+
let revision = client
|
|
148
|
+
.request(
|
|
149
|
+
Method::POST,
|
|
150
|
+
&format!("{drafts}/{draft_id}/commit"),
|
|
151
|
+
Some(&json!({})),
|
|
152
|
+
)
|
|
153
|
+
.await
|
|
154
|
+
.unwrap();
|
|
155
|
+
let encoded = path_segment(revision["revision_id"].as_str().unwrap());
|
|
156
|
+
client
|
|
157
|
+
.request(
|
|
158
|
+
Method::POST,
|
|
159
|
+
&format!("/api/applications/{application_id}/revisions/{encoded}/promote"),
|
|
160
|
+
Some(&json!({ "environment": "production", "reason": "txp" })),
|
|
161
|
+
)
|
|
162
|
+
.await
|
|
163
|
+
.unwrap();
|
|
164
|
+
application_id
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
fn failure_body(error: &Error) -> Value {
|
|
168
|
+
match error {
|
|
169
|
+
Error::Api(api) => api.body["failure"].clone(),
|
|
170
|
+
other => panic!("expected an API refusal, got {other}"),
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
#[tokio::test]
|
|
175
|
+
async fn direct_route_a_stale_guard_refuses_every_staged_write_with_a_structured_failure() {
|
|
176
|
+
let server = Server::start("direct-stale");
|
|
177
|
+
let client = server.client();
|
|
178
|
+
client
|
|
179
|
+
.commit(&Transaction::generated().operation(Operation::create("A", "a", json!({}))))
|
|
180
|
+
.await
|
|
181
|
+
.unwrap();
|
|
182
|
+
client
|
|
183
|
+
.commit(&Transaction::generated().operation(Operation::create("B", "b", json!({ "n": 1 }))))
|
|
184
|
+
.await
|
|
185
|
+
.unwrap();
|
|
186
|
+
// Another writer advances A from 1 to 2.
|
|
187
|
+
client
|
|
188
|
+
.commit(
|
|
189
|
+
&Transaction::generated()
|
|
190
|
+
.operation(Operation::put("A", "a", json!({ "n": 2 })).expect_version(1)),
|
|
191
|
+
)
|
|
192
|
+
.await
|
|
193
|
+
.unwrap();
|
|
194
|
+
let refused = client
|
|
195
|
+
.commit(
|
|
196
|
+
&Transaction::generated()
|
|
197
|
+
.precondition(Precondition::version("A", "a", 1))
|
|
198
|
+
.operation(Operation::put("A", "a", json!({ "n": 9 })))
|
|
199
|
+
.operation(Operation::put("B", "b", json!({ "n": 9 }))),
|
|
200
|
+
)
|
|
201
|
+
.await
|
|
202
|
+
.unwrap_err();
|
|
203
|
+
assert_eq!(refused.code(), Some("PRECONDITION_FAILED"));
|
|
204
|
+
assert_eq!(refused.status(), Some(409));
|
|
205
|
+
assert_eq!(
|
|
206
|
+
refused.precondition_failure(),
|
|
207
|
+
Some(&PreconditionFailure::Version {
|
|
208
|
+
collection: "A".into(),
|
|
209
|
+
key: "A:a".into(),
|
|
210
|
+
expected: 1,
|
|
211
|
+
actual: 2
|
|
212
|
+
})
|
|
213
|
+
);
|
|
214
|
+
assert_eq!(
|
|
215
|
+
failure_body(&refused)["id"],
|
|
216
|
+
"a",
|
|
217
|
+
"the failure names the record id"
|
|
218
|
+
);
|
|
219
|
+
assert_eq!(
|
|
220
|
+
client.get("B", "b").await.unwrap().unwrap().value["n"],
|
|
221
|
+
1,
|
|
222
|
+
"B is unchanged"
|
|
223
|
+
);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
#[tokio::test]
|
|
227
|
+
async fn application_route_refusals_name_the_public_collection_and_record() {
|
|
228
|
+
let server = Server::start("app-shape");
|
|
229
|
+
let client = server.client();
|
|
230
|
+
let app = client.application(&provision(&client).await);
|
|
231
|
+
app.commit(
|
|
232
|
+
&AppTransaction::generated()
|
|
233
|
+
.insert("A", "a", json!({ "n": 1 }))
|
|
234
|
+
.insert("B", "b", json!({ "n": 1 })),
|
|
235
|
+
)
|
|
236
|
+
.await
|
|
237
|
+
.unwrap();
|
|
238
|
+
// `__version` is the document version the authority owns: 1 on create, 2 after a fenced write.
|
|
239
|
+
app.commit(
|
|
240
|
+
&AppTransaction::generated()
|
|
241
|
+
.expect_version("A", "a", 1)
|
|
242
|
+
.update("A", "a", json!({ "n": 2 })),
|
|
243
|
+
)
|
|
244
|
+
.await
|
|
245
|
+
.unwrap();
|
|
246
|
+
|
|
247
|
+
let stale = app
|
|
248
|
+
.commit(
|
|
249
|
+
&AppTransaction::generated()
|
|
250
|
+
.expect_version("A", "a", 1)
|
|
251
|
+
.update("A", "a", json!({ "n": 9 }))
|
|
252
|
+
.update("B", "b", json!({ "n": 9 })),
|
|
253
|
+
)
|
|
254
|
+
.await
|
|
255
|
+
.unwrap_err();
|
|
256
|
+
assert_eq!(stale.code(), Some("PRECONDITION_FAILED"), "{stale}");
|
|
257
|
+
assert_eq!(
|
|
258
|
+
stale.precondition_failure(),
|
|
259
|
+
Some(&PreconditionFailure::Version {
|
|
260
|
+
collection: "A".into(),
|
|
261
|
+
key: "A:a".into(),
|
|
262
|
+
expected: 1,
|
|
263
|
+
actual: 2
|
|
264
|
+
}),
|
|
265
|
+
"the refusal names the application's collection, not the authority's storage namespace: {}",
|
|
266
|
+
failure_body(&stale)
|
|
267
|
+
);
|
|
268
|
+
assert_eq!(failure_body(&stale)["id"], "a");
|
|
269
|
+
|
|
270
|
+
// A create of a record that exists is the same structured refusal on every route.
|
|
271
|
+
let present = app
|
|
272
|
+
.commit(&AppTransaction::generated().insert("A", "a", json!({ "n": 1 })))
|
|
273
|
+
.await
|
|
274
|
+
.unwrap_err();
|
|
275
|
+
assert_eq!(present.code(), Some("PRECONDITION_FAILED"), "{present}");
|
|
276
|
+
assert!(
|
|
277
|
+
matches!(
|
|
278
|
+
present.precondition_failure(),
|
|
279
|
+
Some(PreconditionFailure::Present { collection, key }) if collection == "A" && key == "A:a"
|
|
280
|
+
),
|
|
281
|
+
"{present}: {}",
|
|
282
|
+
failure_body(&present)
|
|
283
|
+
);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
#[tokio::test]
|
|
287
|
+
async fn application_route_concurrent_writers_from_one_version_exactly_one_commits() {
|
|
288
|
+
let server = Server::start("app-race");
|
|
289
|
+
let client = server.client();
|
|
290
|
+
let application_id = provision(&client).await;
|
|
291
|
+
let app = client.application(&application_id);
|
|
292
|
+
app.commit(&AppTransaction::generated().insert("A", "a", json!({ "n": 0 })))
|
|
293
|
+
.await
|
|
294
|
+
.unwrap();
|
|
295
|
+
for round in 0..20u64 {
|
|
296
|
+
let from = round + 1;
|
|
297
|
+
let contenders = (0..6u64).map(|index| {
|
|
298
|
+
let app = server.client().application(&application_id);
|
|
299
|
+
tokio::spawn(async move {
|
|
300
|
+
app.commit(
|
|
301
|
+
&AppTransaction::generated()
|
|
302
|
+
.expect_version("A", "a", from)
|
|
303
|
+
.update("A", "a", json!({ "n": index }))
|
|
304
|
+
.insert("B", format!("b-{round}-{index}"), json!({ "n": index })),
|
|
305
|
+
)
|
|
306
|
+
.await
|
|
307
|
+
})
|
|
308
|
+
});
|
|
309
|
+
let outcomes: Vec<_> = futures_join(contenders).await;
|
|
310
|
+
let winners = outcomes.iter().filter(|outcome| outcome.is_ok()).count();
|
|
311
|
+
assert_eq!(winners, 1, "round {round}: {winners} winners");
|
|
312
|
+
for loser in outcomes.iter().filter_map(|outcome| outcome.as_ref().err()) {
|
|
313
|
+
assert!(
|
|
314
|
+
matches!(
|
|
315
|
+
loser.precondition_failure(),
|
|
316
|
+
Some(PreconditionFailure::Version { expected, actual, .. }) if *expected == from && *actual == from + 1
|
|
317
|
+
),
|
|
318
|
+
"round {round}: {loser}"
|
|
319
|
+
);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
async fn futures_join<T: Send + 'static>(
|
|
325
|
+
handles: impl Iterator<Item = tokio::task::JoinHandle<T>>,
|
|
326
|
+
) -> Vec<T> {
|
|
327
|
+
let mut outcomes = Vec::new();
|
|
328
|
+
for handle in handles.collect::<Vec<_>>() {
|
|
329
|
+
outcomes.push(handle.await.unwrap());
|
|
330
|
+
}
|
|
331
|
+
outcomes
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
#[tokio::test]
|
|
335
|
+
async fn application_route_a_duplicate_reports_the_original_commit() {
|
|
336
|
+
let server = Server::start("app-duplicate");
|
|
337
|
+
let client = server.client();
|
|
338
|
+
let app = client.application(&provision(&client).await);
|
|
339
|
+
let original = AppTransaction::new("txp-dup").insert("A", "a", json!({ "n": 1 }));
|
|
340
|
+
let first = app.commit(&original).await.unwrap();
|
|
341
|
+
app.commit(&AppTransaction::generated().insert("B", "b", json!({ "n": 1 })))
|
|
342
|
+
.await
|
|
343
|
+
.unwrap();
|
|
344
|
+
let replay = app.commit(&original).await.unwrap();
|
|
345
|
+
assert!(replay.result.duplicate);
|
|
346
|
+
assert_eq!(replay.result.commit_revision, first.result.commit_revision);
|
|
347
|
+
assert_eq!(replay.result.base_revision, first.result.base_revision);
|
|
348
|
+
assert_eq!(replay.result.state_after, first.result.state_after);
|
|
349
|
+
let different = app
|
|
350
|
+
.commit(&AppTransaction::new("txp-dup").insert("A", "other", json!({ "n": 1 })))
|
|
351
|
+
.await
|
|
352
|
+
.unwrap_err();
|
|
353
|
+
assert_eq!(different.code(), Some("IDEMPOTENCY_CONFLICT"));
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
#[tokio::test]
|
|
357
|
+
async fn a_storage_failure_at_commit_is_a_durability_failure_not_a_conflict() {
|
|
358
|
+
let server = Server::start("direct-storage");
|
|
359
|
+
let client = server.client();
|
|
360
|
+
client
|
|
361
|
+
.commit(&Transaction::generated().operation(Operation::create("A", "a", json!({}))))
|
|
362
|
+
.await
|
|
363
|
+
.unwrap();
|
|
364
|
+
// The next append opens a directory and fails before writing anything.
|
|
365
|
+
let aside = server.data().with_extension("aside");
|
|
366
|
+
std::fs::rename(server.data(), &aside).unwrap();
|
|
367
|
+
std::fs::create_dir(server.data()).unwrap();
|
|
368
|
+
let refused = client
|
|
369
|
+
.commit(&Transaction::generated().operation(Operation::create("A", "b", json!({}))))
|
|
370
|
+
.await
|
|
371
|
+
.unwrap_err();
|
|
372
|
+
std::fs::remove_dir(server.data()).unwrap();
|
|
373
|
+
std::fs::rename(&aside, server.data()).unwrap();
|
|
374
|
+
assert!(
|
|
375
|
+
!refused.is_conflict(),
|
|
376
|
+
"a storage failure was reported as a lost race: {refused}"
|
|
377
|
+
);
|
|
378
|
+
assert_eq!(refused.code(), Some("DURABILITY_FAILURE"), "{refused}");
|
|
379
|
+
assert_eq!(refused.status(), Some(503));
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
#[tokio::test]
|
|
383
|
+
async fn a_write_whose_answer_never_arrives_is_outcome_unknown() {
|
|
384
|
+
// A listener that accepts and never answers: the request is sent, no answer arrives.
|
|
385
|
+
let listener = tokio::net::TcpListener::bind("127.0.0.1:0").await.unwrap();
|
|
386
|
+
let address = listener.local_addr().unwrap();
|
|
387
|
+
tokio::spawn(async move {
|
|
388
|
+
let mut held = Vec::new();
|
|
389
|
+
while let Ok((socket, _)) = listener.accept().await {
|
|
390
|
+
held.push(socket);
|
|
391
|
+
}
|
|
392
|
+
});
|
|
393
|
+
let client = Client::builder(format!("http://{address}"))
|
|
394
|
+
.timeout(Duration::from_millis(300))
|
|
395
|
+
.build()
|
|
396
|
+
.unwrap();
|
|
397
|
+
let error = client
|
|
398
|
+
.commit(&Transaction::new("txp-unknown").operation(Operation::create("A", "a", json!({}))))
|
|
399
|
+
.await
|
|
400
|
+
.unwrap_err();
|
|
401
|
+
assert!(error.is_outcome_unknown(), "{error}");
|
|
402
|
+
assert!(!error.is_conflict());
|
|
403
|
+
}
|
package/dist/db.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ import { type TransactionReadBasis, type TransactionReadSet, type AtomicTransact
|
|
|
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';
|
|
14
|
-
import { AgentRuntime } from './agent-runtime.js';
|
|
14
|
+
import { AgentRuntime, type CreateAgentExecutionOptions, type FindAgentExecutionQuery } from './agent-runtime.js';
|
|
15
15
|
import type { AuthorityQueryPage, AuthorityQueryRequest } from './http-db.js';
|
|
16
16
|
import type { EmbeddedQueryExplanation } from './embedded-query.js';
|
|
17
17
|
import { type FeltDBArchitectureInvariantService } from './architecture-invariant.js';
|
|
@@ -38,9 +38,25 @@ export interface FeltDBOptions extends FeltDBDeploymentConfig {
|
|
|
38
38
|
applicationId?: string;
|
|
39
39
|
environment?: string;
|
|
40
40
|
requestTimeoutMs?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Operator consoles only (FeltDB Studio): a human pastes their own service
|
|
43
|
+
* key into their own browser tab at runtime. Applications must never set
|
|
44
|
+
* this — a service key in an application's browser code is published to
|
|
45
|
+
* every visitor. Without it, a `fdb_live_` key in a browser runtime throws
|
|
46
|
+
* `FeltDBBrowserCredentialError`.
|
|
47
|
+
*/
|
|
48
|
+
operatorConsole?: true;
|
|
41
49
|
};
|
|
42
50
|
memory?: true;
|
|
43
51
|
browser?: true;
|
|
52
|
+
/**
|
|
53
|
+
* Local file runtime only. `exclusive` (default): this process owns the
|
|
54
|
+
* state directory; another process opening it is refused with
|
|
55
|
+
* `LocalStateLockedError` (`STATE_LOCKED`) until `db.close()` or exit.
|
|
56
|
+
* `shared`: several processes may open the directory at once (each commit
|
|
57
|
+
* is still atomic and serialized); use it for multi-process workers.
|
|
58
|
+
*/
|
|
59
|
+
access?: 'exclusive' | 'shared';
|
|
44
60
|
/** Explicit durable authority. Omitted only for legacy unscoped clients. */
|
|
45
61
|
authorityScope?: AuthorityScope;
|
|
46
62
|
}
|
|
@@ -77,6 +93,8 @@ export interface FeltDBRuntimeCapabilities {
|
|
|
77
93
|
replication: boolean;
|
|
78
94
|
remoteAuthority: boolean;
|
|
79
95
|
offline: boolean;
|
|
96
|
+
/** `storeContent` / `acquireContent` are available. */
|
|
97
|
+
content: boolean;
|
|
80
98
|
}
|
|
81
99
|
export interface FeltDBCapabilitySurface {
|
|
82
100
|
(): FeltDBRuntimeCapabilities;
|
|
@@ -249,10 +267,6 @@ export interface RuntimeDiagnostics {
|
|
|
249
267
|
message: string;
|
|
250
268
|
}>;
|
|
251
269
|
}
|
|
252
|
-
/**
|
|
253
|
-
* State-first database interface.
|
|
254
|
-
* Applications use this to treat FeltDB collections as live application state.
|
|
255
|
-
*/
|
|
256
270
|
export declare class StateFirstDB {
|
|
257
271
|
private jsDb;
|
|
258
272
|
private collections;
|
|
@@ -445,6 +459,17 @@ export declare class StateFirstDB {
|
|
|
445
459
|
* transactions. Runtimes that cannot refuse rather than silently degrading
|
|
446
460
|
* the transaction into a sequence of independent writes.
|
|
447
461
|
*/
|
|
462
|
+
/**
|
|
463
|
+
* Tell this process's live collections that a transaction committed.
|
|
464
|
+
*
|
|
465
|
+
* Collection writes publish through the reactive dependency graph; a
|
|
466
|
+
* transaction bypasses the collection, so without this a subscriber on the
|
|
467
|
+
* local file or memory runtime never learns about it. The announcement is
|
|
468
|
+
* a notification only (subscribers re-read committed state), and it runs
|
|
469
|
+
* after the commit is durable: a failing subscriber cannot turn a committed
|
|
470
|
+
* transaction into a reported failure.
|
|
471
|
+
*/
|
|
472
|
+
private announceCommittedTransaction;
|
|
448
473
|
transaction(build: ((tx: AtomicTransactionScope) => void | Promise<void>) | AtomicTransactionDocument, options?: AtomicTransactionOptions): Promise<AtomicTransactionResult>;
|
|
449
474
|
/**
|
|
450
475
|
* Capture a read basis: what the authority holds, now, for a set of records
|
|
@@ -512,14 +537,28 @@ export declare class StateFirstDB {
|
|
|
512
537
|
}>;
|
|
513
538
|
/** Inspect the causal operation that currently materializes a remote record. */
|
|
514
539
|
recordProvenance(collection: string, id: string): Promise<any>;
|
|
515
|
-
/**
|
|
540
|
+
/**
|
|
541
|
+
* Persist immutable content by its SHA-256; repeated bytes deduplicate.
|
|
542
|
+
* Returns `{ hash, bytes, ref: 'sha256:<hash>' }`.
|
|
543
|
+
*
|
|
544
|
+
* A server runtime stores it in the server's content store; the local file
|
|
545
|
+
* runtime stores it under its state directory (`content/<hash>`), durably
|
|
546
|
+
* before this returns. Memory and browser runtimes refuse with
|
|
547
|
+
* `CONTRACT_UNSUPPORTED`.
|
|
548
|
+
*/
|
|
516
549
|
storeContent(content: Uint8Array): Promise<{
|
|
517
550
|
hash: string;
|
|
518
551
|
bytes: number;
|
|
519
552
|
ref: string;
|
|
520
553
|
}>;
|
|
521
|
-
/**
|
|
554
|
+
/**
|
|
555
|
+
* Resolve content by hash: verified against its SHA-256 before it is
|
|
556
|
+
* returned (`CONTENT_INTEGRITY_FAILURE` otherwise), `null` when absent. A
|
|
557
|
+
* server also asks its configured peers; the local runtime reads its own
|
|
558
|
+
* directory only.
|
|
559
|
+
*/
|
|
522
560
|
acquireContent(hash: string): Promise<Uint8Array | null>;
|
|
561
|
+
private contentUnsupported;
|
|
523
562
|
/** Define a durable workflow whose lifecycle is ordinary replicated state. */
|
|
524
563
|
defineWorkflow(name: string, steps: string[]): Promise<any>;
|
|
525
564
|
startWorkflow(name: string, input?: unknown): Promise<any>;
|
|
@@ -572,16 +611,32 @@ export declare class StateFirstDB {
|
|
|
572
611
|
*/
|
|
573
612
|
getAgentRuntime(): AgentRuntime;
|
|
574
613
|
/**
|
|
575
|
-
* Create an agent execution
|
|
614
|
+
* Create an agent execution. It is committed to `_flow_agent_executions`
|
|
615
|
+
* before this returns; pass `taskId` to find it later with
|
|
616
|
+
* `findAgentExecution({ taskId })`.
|
|
576
617
|
*/
|
|
577
|
-
createAgentExecution(agentRef: AgentRef, goal: string, inputs: string[]): Promise<AgentExecution>;
|
|
618
|
+
createAgentExecution(agentRef: AgentRef, goal: string, inputs: string[], options?: CreateAgentExecutionOptions): Promise<AgentExecution>;
|
|
578
619
|
private agentExecutionRecord;
|
|
620
|
+
private agentExecutionIndexesDeclared;
|
|
621
|
+
/** Declare the lookup indexes once per handle, on an embedded runtime only. */
|
|
622
|
+
private declareAgentExecutionIndexes;
|
|
623
|
+
private queryAgentExecution;
|
|
624
|
+
/**
|
|
625
|
+
* The most recently created execution for an agent-state task or an agent,
|
|
626
|
+
* read from durable state through a declared index (one bounded query; it
|
|
627
|
+
* never scans `_flow_agent_executions`). Null when there is none.
|
|
628
|
+
*/
|
|
629
|
+
findAgentExecution(query: FindAgentExecutionQuery): Promise<AgentExecution | null>;
|
|
579
630
|
/** Claim and durably materialize an embedded agent execution. */
|
|
580
631
|
startAgentExecution(execution: AgentExecution, peerId?: string): Promise<void>;
|
|
581
632
|
/** Advance an agent lifecycle and expose the transition as ordinary state. */
|
|
582
633
|
transitionAgentExecution(execution: AgentExecution, status: import('./agent.js').AgentExecutionStatus): Promise<void>;
|
|
634
|
+
/** Resume an execution for `peerId` (status `Observing`), committed before this returns. */
|
|
635
|
+
resumeAgentExecution(execution: AgentExecution, peerId?: string): Promise<void>;
|
|
583
636
|
completeAgentExecution(execution: AgentExecution, resultRef: string): Promise<void>;
|
|
584
637
|
failAgentExecution(execution: AgentExecution, error: string): Promise<void>;
|
|
638
|
+
/** Cancel a non-terminal execution (terminal status `Cancelled`), committed before this returns. */
|
|
639
|
+
cancelAgentExecution(execution: AgentExecution, reason?: string): Promise<void>;
|
|
585
640
|
/**
|
|
586
641
|
* Close the database and clean up resources.
|
|
587
642
|
*/
|
package/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAQL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAY,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAA2B,MAAM,oBAAoB,CAAC;AAG3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAGpE,OAAO,EAAsC,KAAK,kCAAkC,EAAE,MAAM,6BAA6B,CAAC;AAC1H,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EAExB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAChC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAa/C,OAAO,EAAkC,KAAK,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAClH,OAAO,EAAoE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7H,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAEvJ,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EACV,iCAAiC,EACjC,kCAAkC,EACnC,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,aAAc,SAAQ,sBAAsB;IAC3D,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,4EAA4E;IAC5E,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AA8BD,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,YAAY,CA8BtE;AA0BD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gEAAgE;IAChE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAEhD,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAC;IAEhB,mEAAmE;IACnE,UAAU,EAAE,OAAO,CAAC;IAEpB,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;IAElB,iEAAiE;IACjE,OAAO,EAAE,OAAO,CAAC;IAEjB,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAEhB,oDAAoD;IACpD,qBAAqB,EAAE,OAAO,CAAC;IAE/B,iEAAiE;IACjE,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,oBAAoB,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,UAAU,GAAG,mBAAmB,GAAG,WAAW,GAAG,kBAAkB,CAAC;IAChF,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,yBAAyB,CAAC;IAC9B,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CACxG;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IAEpB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IAEjB,sBAAsB;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B,8CAA8C;IAC9C,kBAAkB,EAAE,MAAM,CAAC;IAE3B,+BAA+B;IAC/B,eAAe,EAAE,MAAM,CAAC;IAExB,qCAAqC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAE5B,yBAAyB;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAE3B,0BAA0B;IAC1B,YAAY,EAAE,MAAM,CAAC;IAErB,wCAAwC;IACxC,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IAEd,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC;IAEpB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IAEjB,iDAAiD;IACjD,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAExC,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IAEZ,+CAA+C;IAC/C,KAAK,CAAC,EAAE,GAAG,CAAC;IAEZ,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IAErB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAElB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,aAAa,GACb,cAAc,GACd,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IAEX,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IAEb,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IAEd,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE/B,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IAEb,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IAEX,2BAA2B;IAC3B,QAAQ,EAAE,kBAAkB,CAAC;IAE7B,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,IAAI,EAAE,cAAc,CAAC;IAErB,6BAA6B;IAC7B,KAAK,EAAE,cAAc,EAAE,CAAC;IAExB,6BAA6B;IAC7B,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,OAAO,EAAE;QACP,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;QAC7C,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF,+BAA+B;IAC/B,OAAO,EAAE;QACP,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;QAC7C,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IAEF,6BAA6B;IAC7B,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;QAC7C,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IAEF,gCAAgC;IAChC,MAAM,EAAE;QACN,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;QAC7C,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,+BAA+B;IAC/B,YAAY,EAAE;QACZ,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;QAC7C,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,+BAA+B;IAC/B,SAAS,EAAE;QACT,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;QAC7C,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,sBAAsB;IACtB,QAAQ,EAAE;QACR,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;QAC7C,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,mCAAmC;IACnC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IAE7C,2CAA2C;IAC3C,MAAM,EAAE,KAAK,CAAC;QACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;QACvC,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,SAAS,CAAsD;IACvE,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,iBAAiB,CAAmD;IAC5E,OAAO,CAAC,WAAW,CAAC,CAA6B;IACjD,OAAO,CAAC,sBAAsB,CAAC,CAAsB;IACrD,OAAO,CAAC,UAAU,CAA6B;IAC/C,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,OAAO,CAAC,aAAa,CAAC,CAAqC;IAC3D,OAAO,CAAC,iBAAiB,CAAC,CAAkJ;IAC5K,QAAQ,CAAC,SAAS,iBAAwB;IAC1C,QAAQ,CAAC,SAAS,iBAAwB;IAC1C,QAAQ,CAAC,MAAM,eAAsB;IACrC,QAAQ,CAAC,QAAQ,gBAAuB;IACxC,QAAQ,CAAC,OAAO,gBAAuB;IACvC,QAAQ,CAAC,SAAS,iBAAwB;IAC1C,QAAQ,CAAC,OAAO,eAAsB;IACtC,QAAQ,CAAC,WAAW,mBAA0B;IAC9C,QAAQ,CAAC,IAAI,aAAoB;IACjC,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,EAAE,kCAAkC,CAAC;IAC1D,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,SAAS;oBAAiB,MAAM,UAAS,OAAO,YAAgB;YAAE,cAAc,CAAC,EAAE,MAAM,CAAA;SAAE;MAA6N;IACjU;;;;OAIG;IACH,QAAQ,CAAC,MAAM;oBAAiB,MAAM,UAAS,OAAO,YAAgB;YAAE,cAAc,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE;gBAAE,IAAI,EAAE,cAAc,CAAC;gBAAC,GAAG,EAAE,MAAM,CAAC;gBAAC,GAAG,CAAC,EAAE,MAAM,CAAA;aAAE,GAAG;gBAAE,IAAI,EAAE,iBAAiB,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,OAAO,CAAA;aAAE,CAAA;SAAE;MAAyT;IACziB,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAG5C;IACF,QAAQ,CAAC,iBAAiB;2BACL,iCAAiC,KAAG,OAAO,CAAC,kCAAkC,CAAC;MAMlG;IACF,QAAQ,CAAC,WAAW;;;;;;;;;MAShB;IACJ,QAAQ,CAAC,MAAM;;MAGX;IACJ,QAAQ,CAAC,IAAI;wBACK;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE;wBAC1D;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE;;;MAGnD;gBAEU,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,0BAA0B,EAAE,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,0BAA0B,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,YAAY;IA6C5O,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,WAAW;YAKL,gBAAgB;IAqB9B;;OAEG;IACH,OAAO,CAAC,aAAa;IAmCrB;;;;;;;;OAQG;IACH,OAAO,IAAI,WAAW;IAItB,OAAO,CAAC,mBAAmB;IAoB3B;;;;;;;;;;OAUG;IACH,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;IAO1C,yEAAyE;IACnE,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAOtG,2DAA2D;IACrD,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAK9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,QAAQ,CAAC,CAAC,GAAG,SAAS,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;IACpF,QAAQ,CAAC,CAAC,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC;IA+B/D;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAkCtB,8DAA8D;IACxD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrC,mEAAmE;IAC7D,cAAc,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAiBvF,sEAAsE;IACtE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAWzC,wDAAwD;IAClD,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAO9F;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,WAAW,CACf,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,sBAAsB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,yBAAyB,EACzF,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,uBAAuB,CAAC;IAgHnC;;;;;;;;;OASG;IACG,SAAS,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAUzE;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAO5B,oFAAoF;IAC9E,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAKnE,0FAA0F;IACpF,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAO5E,iEAAiE;IAC3D,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAKzF,yEAAyE;IACzE,wBAAwB,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAMzG,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAiB9E,oGAAoG;IAC9F,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAKrF,iFAAiF;IAC3E,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAA;KAAE,CAAC;IA8CrJ,8EAA8E;IACxE,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAK1C,qFAAqF;IAC/E,gBAAgB,CAAC,aAAa,SAAI,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAMvE,kFAAkF;IAC5E,eAAe,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAcrG,oFAAoF;IAC9E,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAcxH,+FAA+F;IACzF,6BAA6B,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,YAAY,EAAO,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAmB1K,gFAAgF;IAC1E,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAKpE,mFAAmF;IAC7E,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAK9F,2EAA2E;IACrE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAK9D,8EAA8E;IACxE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAK3D,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,OAAc,GAAG,OAAO,CAAC,GAAG,CAAC;IAKhE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAK9F,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,GAAG,CAAC;IAK9G,iGAAiG;IAC3F,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,GAAE,MAAM,EAAO,EAAE,WAAW,GAAE,OAAc,GAAG,OAAO,CAAC,GAAG,CAAC;IAK5G;;;OAGG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,OAAc,EAAE,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAKtN;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,UAAU,EAAE,eAAe,GAAG,QAAQ;IAMlD;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAKzC;;OAEG;IACH,gBAAgB,IAAI,aAAa;IAIjC;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACG,oBAAoB,CACxB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,cAAc,CAAC;IAM1B,OAAO,CAAC,oBAAoB;IAI5B,iEAAiE;IAC3D,mBAAmB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,SAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/F,8EAA8E;IACxE,wBAAwB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,YAAY,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrH,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnF,kBAAkB,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjF;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B;;;;;;OAMG;IACH,IAAI,IAAI,QAAQ;IAChB,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc;IAUxC;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhD;;;;;OAKG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD;;;;;OAKG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAQpF;;;;;OAKG;IACG,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhF;;;;;OAKG;IACH,UAAU,IAAI,MAAM;IAIpB;;;;;;;;;;OAUG;IACH,WAAW,IAAI,MAAM;IAIrB;;;;;;;;;;;;OAYG;IACH,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIzC;;;;;;;;;;;OAWG;IACH,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IAI7B;;;;;;;;;;OAUG;IACG,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD;;;;;;;;;;OAUG;IACG,YAAY,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD;;;;;OAKG;IACG,oBAAoB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAM5C;;;;;OAKG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxE;;;;;;;;OAQG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWnD;;;;;;;;;;;;;OAaG;IACH,MAAM,IAAI,kBAAkB;IA+E5B;;;;;;;;;;;;;;;;;OAiBG;IACG,gBAAgB,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAUnF;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAW5F;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,GAAG,CAAC,MAAM,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAS1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAE5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAC9C,eAAe,EAAE,UAAU,CAAC,KAAK,CAAC,EAClC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,MAAM,GAC5C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAO7B"}
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|