@cavelang/store 0.27.14 → 0.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Authors.md +5 -0
- package/License.md +6 -0
- package/README.md +121 -14
- package/dist/src/adapter-entry.d.ts +9 -0
- package/dist/src/adapter-entry.d.ts.map +1 -0
- package/dist/src/adapter-entry.js +7 -0
- package/dist/src/adapter-entry.js.map +1 -0
- package/dist/src/adapter.d.ts +51 -0
- package/dist/src/adapter.d.ts.map +1 -0
- package/dist/src/adapter.js +3 -0
- package/dist/src/adapter.js.map +1 -0
- package/dist/src/backup.d.ts +23 -0
- package/dist/src/backup.d.ts.map +1 -0
- package/dist/src/backup.js +164 -0
- package/dist/src/backup.js.map +1 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/node-adapter-entry.d.ts +3 -0
- package/dist/src/node-adapter-entry.d.ts.map +1 -0
- package/dist/src/node-adapter-entry.js +3 -0
- package/dist/src/node-adapter-entry.js.map +1 -0
- package/dist/src/node-adapter.d.ts +4 -0
- package/dist/src/node-adapter.d.ts.map +1 -0
- package/dist/src/node-adapter.js +20 -0
- package/dist/src/node-adapter.js.map +1 -0
- package/dist/src/open.d.ts +3 -18
- package/dist/src/open.d.ts.map +1 -1
- package/dist/src/open.js +4 -52
- package/dist/src/open.js.map +1 -1
- package/dist/src/provenance.d.ts +24 -0
- package/dist/src/provenance.d.ts.map +1 -0
- package/dist/src/provenance.js +75 -0
- package/dist/src/provenance.js.map +1 -0
- package/dist/src/query-sql.d.ts +45 -0
- package/dist/src/query-sql.d.ts.map +1 -0
- package/dist/src/query-sql.js +77 -0
- package/dist/src/query-sql.js.map +1 -0
- package/dist/src/record.d.ts +29 -0
- package/dist/src/record.d.ts.map +1 -0
- package/dist/src/record.js +50 -0
- package/dist/src/record.js.map +1 -0
- package/dist/src/resolve.d.ts +2 -2
- package/dist/src/resolve.d.ts.map +1 -1
- package/dist/src/resolve.js +0 -0
- package/dist/src/resolve.js.map +1 -1
- package/dist/src/runtime.d.ts +16 -0
- package/dist/src/runtime.d.ts.map +1 -0
- package/dist/src/runtime.js +43 -0
- package/dist/src/runtime.js.map +1 -0
- package/dist/src/schema.d.ts +10 -6
- package/dist/src/schema.d.ts.map +1 -1
- package/dist/src/schema.js +111 -9
- package/dist/src/schema.js.map +1 -1
- package/dist/src/sensitivity.d.ts +24 -0
- package/dist/src/sensitivity.d.ts.map +1 -0
- package/dist/src/sensitivity.js +34 -0
- package/dist/src/sensitivity.js.map +1 -0
- package/dist/src/store.d.ts +37 -13
- package/dist/src/store.d.ts.map +1 -1
- package/dist/src/store.js +107 -72
- package/dist/src/store.js.map +1 -1
- package/package.json +25 -6
- package/src/adapter-entry.ts +18 -0
- package/src/adapter.ts +57 -0
- package/src/backup.ts +188 -0
- package/src/index.ts +8 -0
- package/src/node-adapter-entry.ts +3 -0
- package/src/node-adapter.ts +23 -0
- package/src/open.ts +7 -80
- package/src/provenance.ts +109 -0
- package/src/query-sql.ts +99 -0
- package/src/record.ts +82 -0
- package/src/resolve.ts +0 -0
- package/src/runtime.ts +78 -0
- package/src/schema.ts +135 -10
- package/src/sensitivity.ts +42 -0
- package/src/store.ts +134 -80
package/dist/src/store.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The CAVE store (spec §13) — append-only claim persistence on the Node.js
|
|
3
|
-
*
|
|
3
|
+
* through an explicit synchronous SQLite adapter.
|
|
4
4
|
*
|
|
5
5
|
* - one row per fact, canonical direction; inverses are query-time views
|
|
6
6
|
* over existing indexes, never materialized rows (spec §13.3);
|
|
7
7
|
* - current belief = latest tx per claim key (spec §9.1, §13.5);
|
|
8
8
|
* - the verb registry is rebuilt from stored in-band declaration claims on
|
|
9
|
-
* open, so a reopened database keeps its inverse vocabulary;
|
|
9
|
+
* open, so a reopened database keeps its inverse and lifecycle vocabulary;
|
|
10
10
|
* - full-text search over subjects, objects, values, comments and raw
|
|
11
11
|
* lines via FTS5;
|
|
12
|
-
* - appends
|
|
12
|
+
* - appends record actor provenance and keep compatibility stamps (spec §9.5): pass `source` and every
|
|
13
13
|
* claim without a `src:` context gets `@src:<actor>` — applied before the
|
|
14
14
|
* claim key is computed, so different actors keep separate belief series;
|
|
15
15
|
* - contradiction resolution (spec §26): coexisting series about one fact
|
|
@@ -17,60 +17,23 @@
|
|
|
17
17
|
* confidence and tx — `resolvedBeliefs`, `contested`, and the `resolve`
|
|
18
18
|
* traversal opt-in.
|
|
19
19
|
*/
|
|
20
|
-
import { DatabaseSync } from 'node:sqlite';
|
|
21
20
|
import { Claim, Context, Key, Uuidv7, Verb } from '@cavelang/core';
|
|
22
21
|
import * as Canonical from '@cavelang/canonical';
|
|
22
|
+
import * as QuerySql from "./query-sql.js";
|
|
23
23
|
import * as Resolve from "./resolve.js";
|
|
24
24
|
import * as Row from "./row.js";
|
|
25
25
|
import * as Schema from "./schema.js";
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
FROM cave_claim GROUP BY claim_key
|
|
31
|
-
) latest ON c.claim_key = latest.claim_key AND c.tx = latest.max_tx
|
|
32
|
-
`;
|
|
33
|
-
/**
|
|
34
|
-
* Alias edges (spec §13.6): current positive `ALIAS` claims read as
|
|
35
|
-
* undirected (`ALIAS` has no `REVERSE`, so each written direction is its
|
|
36
|
-
* own claim key — both assert the same link). Retraction unmerges:
|
|
37
|
-
* `a ALIAS b @ 0%` drops that direction's edge. Both endpoints must be
|
|
38
|
-
* entity-form — the closure is defined for entity terms only, so a row
|
|
39
|
-
* naming a `"…"`/`` `…` `` literal contributes no edge and two entities
|
|
40
|
-
* aliasing one literal never link through it.
|
|
41
|
-
*/
|
|
42
|
-
const aliasEdgeSql = `alias_edge(a, b) AS (
|
|
43
|
-
SELECT c.subject, c.object FROM (${currentSql}) c
|
|
44
|
-
WHERE c.verb = 'ALIAS' AND c.negated = 0 AND c.conf > 0 AND c.object IS NOT NULL
|
|
45
|
-
AND ${Row.entityTermSql('c.subject')} AND ${Row.entityTermSql('c.object')}
|
|
46
|
-
UNION
|
|
47
|
-
SELECT c.object, c.subject FROM (${currentSql}) c
|
|
48
|
-
WHERE c.verb = 'ALIAS' AND c.negated = 0 AND c.conf > 0 AND c.object IS NOT NULL
|
|
49
|
-
AND ${Row.entityTermSql('c.subject')} AND ${Row.entityTermSql('c.object')}
|
|
50
|
-
)`;
|
|
26
|
+
import * as Sensitivity from "./sensitivity.js";
|
|
27
|
+
import * as Provenance from "./provenance.js";
|
|
28
|
+
import * as Record from "./record.js";
|
|
29
|
+
const currentSql = QuerySql.current();
|
|
51
30
|
/**
|
|
52
31
|
* The closure walked from a seed entity — the seed is the query's first
|
|
53
32
|
* positional parameter. Requires `alias_edge` in scope.
|
|
54
33
|
*/
|
|
55
|
-
const aliasSeedSql =
|
|
56
|
-
SELECT ?
|
|
57
|
-
UNION
|
|
58
|
-
SELECT e.b FROM alias_closure s JOIN alias_edge e ON e.a = s.name
|
|
59
|
-
)`;
|
|
60
|
-
/**
|
|
61
|
-
* The full transitive closure as ordered pairs — every two names currently
|
|
62
|
-
* believed to denote one entity. Resolution grouping widens through it
|
|
63
|
-
* (spec §26.1). Requires `alias_edge` in scope.
|
|
64
|
-
*/
|
|
65
|
-
const aliasPairSql = `alias_pair(a, b) AS (
|
|
66
|
-
SELECT a, b FROM alias_edge
|
|
67
|
-
UNION
|
|
68
|
-
SELECT p.a, e.b FROM alias_pair p JOIN alias_edge e ON e.a = p.b
|
|
69
|
-
)`;
|
|
34
|
+
const aliasSeedSql = QuerySql.aliasSeed();
|
|
70
35
|
/** Seeded alias closure (spec §13.6), ready to prefix a SELECT. */
|
|
71
|
-
const aliasClosureSql =
|
|
72
|
-
WITH RECURSIVE ${aliasEdgeSql}, ${aliasSeedSql}
|
|
73
|
-
`;
|
|
36
|
+
const aliasClosureSql = QuerySql.aliasClosure(currentSql);
|
|
74
37
|
/**
|
|
75
38
|
* Stamps `@src:<source>` on a claim without a source context (spec §9.5);
|
|
76
39
|
* with `lifecycle`, on any claim not already carrying that exact stamp.
|
|
@@ -84,6 +47,10 @@ const stampSource = (claim, source, lifecycle) => {
|
|
|
84
47
|
claim :
|
|
85
48
|
{ ...claim, contexts: [...claim.contexts, context] };
|
|
86
49
|
};
|
|
50
|
+
const addContexts = (claim, contexts = []) => {
|
|
51
|
+
const combined = Context.dedupe([...claim.contexts, ...contexts]);
|
|
52
|
+
return combined.length === claim.contexts.length ? claim : { ...claim, contexts: combined };
|
|
53
|
+
};
|
|
87
54
|
/**
|
|
88
55
|
* Database path used by CLI surfaces when `--db` is omitted: the `CAVE_DB`
|
|
89
56
|
* environment variable, falling back to `cave.db` in the current directory.
|
|
@@ -97,17 +64,30 @@ export const defaultDbPath = () => process.env['CAVE_DB'] ?? 'cave.db';
|
|
|
97
64
|
* already stored; pass `Canonical.Registry.empty` for a declaration-free
|
|
98
65
|
* start.
|
|
99
66
|
*/
|
|
100
|
-
export const open = (path = ':memory:', options = {}) => {
|
|
101
|
-
const db =
|
|
67
|
+
export const open = (adapter, path = ':memory:', options = {}) => {
|
|
68
|
+
const db = adapter.open(path);
|
|
69
|
+
// Concurrent writers wait for the database allocation lock instead of
|
|
70
|
+
// failing immediately with SQLITE_BUSY.
|
|
71
|
+
db.exec('PRAGMA busy_timeout = 5000');
|
|
102
72
|
db.exec('PRAGMA foreign_keys = ON');
|
|
103
|
-
|
|
73
|
+
try {
|
|
74
|
+
Schema.init(db, adapter.capabilities);
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
db.close();
|
|
78
|
+
throw error;
|
|
79
|
+
}
|
|
104
80
|
// The receive rule (spec §28.2): the store, not the wall clock, is the
|
|
105
81
|
// monotonic authority — every append outsorts every tx already stored,
|
|
106
82
|
// merged history from fast-clocked origins included.
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
83
|
+
const selectMaxTx = db.prepare('SELECT MAX(tx) AS tx FROM cave_claim');
|
|
84
|
+
const observeMaxTx = () => {
|
|
85
|
+
const maxTx = selectMaxTx.get();
|
|
86
|
+
if (maxTx?.tx != null) {
|
|
87
|
+
Uuidv7.observe(maxTx.tx);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
observeMaxTx();
|
|
111
91
|
const baseRegistry = options.registry ?? Canonical.standardRegistry;
|
|
112
92
|
let registry = baseRegistry;
|
|
113
93
|
const insertClaim = db.prepare(`
|
|
@@ -119,6 +99,7 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
119
99
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
120
100
|
`);
|
|
121
101
|
const insertContext = db.prepare('INSERT INTO cave_context (claim_id, context) VALUES (?, ?)');
|
|
102
|
+
const insertProvenance = db.prepare('INSERT OR IGNORE INTO cave_provenance (claim_id, dimension, value) VALUES (?, ?, ?)');
|
|
122
103
|
const insertTag = db.prepare('INSERT INTO cave_tag (claim_id, key, value) VALUES (?, ?, ?)');
|
|
123
104
|
const insertEdge = db.prepare('INSERT INTO cave_edge (parent_id, role, child_id) VALUES (?, ?, ?)');
|
|
124
105
|
const insertFts = db.prepare(`
|
|
@@ -136,7 +117,7 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
136
117
|
const rebuildRegistry = () => {
|
|
137
118
|
const declarations = db.prepare(`
|
|
138
119
|
SELECT subject, verb, object FROM cave_claim
|
|
139
|
-
WHERE negated = 0 AND object IS NOT NULL AND verb IN ('REVERSE', 'IS')
|
|
120
|
+
WHERE negated = 0 AND object IS NOT NULL AND verb IN ('REVERSE', 'RENAMED-TO', 'IS')
|
|
140
121
|
AND id NOT IN (SELECT child_id FROM cave_edge WHERE role IN ('WHEN', 'VIA', 'BECAUSE'))
|
|
141
122
|
ORDER BY tx
|
|
142
123
|
`).all();
|
|
@@ -147,6 +128,9 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
147
128
|
if (declaration.verb === 'REVERSE' && Verb.isVerbToken(declaration.object)) {
|
|
148
129
|
registry = Canonical.Registry.declareReverse(registry, declaration.subject, declaration.object).registry;
|
|
149
130
|
}
|
|
131
|
+
else if (declaration.verb === 'RENAMED-TO' && Verb.isVerbToken(declaration.object)) {
|
|
132
|
+
registry = Canonical.Registry.declareRename(registry, declaration.subject, declaration.object).registry;
|
|
133
|
+
}
|
|
150
134
|
else if (declaration.verb === 'IS' && declaration.object === 'verb') {
|
|
151
135
|
registry = Canonical.Registry.declareVerb(registry, declaration.subject);
|
|
152
136
|
}
|
|
@@ -154,26 +138,36 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
154
138
|
};
|
|
155
139
|
rebuildRegistry();
|
|
156
140
|
/**
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
141
|
+
* The outer transaction takes SQLite's write-reservation lock before any
|
|
142
|
+
* transaction id is allocated, serializing concurrent processes. Nested
|
|
143
|
+
* transactions use savepoints, so a caller can still wrap several appends
|
|
144
|
+
* and checks and roll the group back by throwing (spec §20.3 write gating).
|
|
145
|
+
* Rollback also restores the in-memory verb registry.
|
|
162
146
|
*/
|
|
163
147
|
let transactionDepth = 0;
|
|
164
148
|
const transaction = (body) => {
|
|
149
|
+
const outer = transactionDepth === 0;
|
|
165
150
|
const savepoint = `cave_tx_${transactionDepth}`;
|
|
166
151
|
transactionDepth += 1;
|
|
167
152
|
const savedRegistry = registry;
|
|
168
|
-
|
|
153
|
+
let started = false;
|
|
169
154
|
try {
|
|
155
|
+
db.exec(outer ? 'BEGIN IMMEDIATE' : `SAVEPOINT ${savepoint}`);
|
|
156
|
+
started = true;
|
|
170
157
|
const result = body();
|
|
171
|
-
db.exec(`RELEASE ${savepoint}`);
|
|
158
|
+
db.exec(outer ? 'COMMIT' : `RELEASE ${savepoint}`);
|
|
172
159
|
return result;
|
|
173
160
|
}
|
|
174
161
|
catch (error) {
|
|
175
|
-
|
|
176
|
-
|
|
162
|
+
if (started) {
|
|
163
|
+
if (outer) {
|
|
164
|
+
db.exec('ROLLBACK');
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
db.exec(`ROLLBACK TO ${savepoint}`);
|
|
168
|
+
db.exec(`RELEASE ${savepoint}`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
177
171
|
registry = savedRegistry;
|
|
178
172
|
throw error;
|
|
179
173
|
}
|
|
@@ -188,6 +182,12 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
188
182
|
const ids = [];
|
|
189
183
|
const replay = options_.ids !== undefined;
|
|
190
184
|
let skipped = 0;
|
|
185
|
+
// BEGIN IMMEDIATE makes this read and all following inserts one
|
|
186
|
+
// database-serialized allocation step. A process that opened before a
|
|
187
|
+
// fast-clock peer wrote now observes that peer before minting (§28.2).
|
|
188
|
+
if (result.claims.some((_, index) => options_.ids?.[index] === undefined)) {
|
|
189
|
+
observeMaxTx();
|
|
190
|
+
}
|
|
191
191
|
result.claims.forEach((entry, index) => {
|
|
192
192
|
const explicit = options_.ids?.[index];
|
|
193
193
|
if (explicit !== undefined) {
|
|
@@ -200,7 +200,14 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
200
200
|
return;
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
|
-
const
|
|
203
|
+
const authored = addContexts(entry.claim, options_.contexts);
|
|
204
|
+
const claim = stampSource(authored, options_.source, options_.lifecycle === true);
|
|
205
|
+
const provided = options_.provenance ?? {};
|
|
206
|
+
const provenance = Provenance.entries(authored.contexts, {
|
|
207
|
+
...provided,
|
|
208
|
+
actor: provided.actor ?? options_.source,
|
|
209
|
+
run: provided.run ?? (options_.lifecycle === true ? options_.source : undefined)
|
|
210
|
+
});
|
|
204
211
|
const id = explicit ?? Uuidv7.next();
|
|
205
212
|
const columns = Row.toColumns(claim);
|
|
206
213
|
const rawLine = columns.rawLine === '' ? Canonical.emitClaim(claim) : columns.rawLine;
|
|
@@ -208,6 +215,9 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
208
215
|
for (const context of claim.contexts) {
|
|
209
216
|
insertContext.run(id, context);
|
|
210
217
|
}
|
|
218
|
+
for (const entry of provenance) {
|
|
219
|
+
insertProvenance.run(id, entry.dimension, entry.value);
|
|
220
|
+
}
|
|
211
221
|
for (const tag of claim.tags) {
|
|
212
222
|
insertTag.run(id, tag.key, tag.value ?? null);
|
|
213
223
|
}
|
|
@@ -232,6 +242,15 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
232
242
|
.map(row => row.context);
|
|
233
243
|
const tagsOf = (id) => db.prepare('SELECT key, value FROM cave_tag WHERE claim_id = ?').all(id);
|
|
234
244
|
const toClaim = (row) => Row.toClaim(row, contextsOf(row.id), tagsOf(row.id));
|
|
245
|
+
const provenanceOf = (row) => {
|
|
246
|
+
const id = typeof row === 'string' ? row : row.id;
|
|
247
|
+
const entries = db.prepare(`
|
|
248
|
+
SELECT dimension, value FROM cave_provenance WHERE claim_id = ? ORDER BY dimension, value
|
|
249
|
+
`).all(id);
|
|
250
|
+
return Provenance.fromEntries(entries);
|
|
251
|
+
};
|
|
252
|
+
/** Stable, versioned public representation of one storage row. */
|
|
253
|
+
const recordOf = (row) => Record.of(row, toClaim(row), provenanceOf(row));
|
|
235
254
|
const traversalFilter = (options) => (options.negated === true ? '' : ' AND negated = 0') +
|
|
236
255
|
(options.retracted === true ? '' : ' AND conf > 0');
|
|
237
256
|
/**
|
|
@@ -244,7 +263,7 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
244
263
|
const withAliases = (options) => options.aliases === true ?
|
|
245
264
|
// Resolution grouping needs the pair closure too (spec §26.1).
|
|
246
265
|
(options.resolve === true ?
|
|
247
|
-
`\nWITH RECURSIVE ${
|
|
266
|
+
`\nWITH RECURSIVE ${QuerySql.aliasPairs(currentSql)}, ${aliasSeedSql}\n` :
|
|
248
267
|
aliasClosureSql) :
|
|
249
268
|
'';
|
|
250
269
|
const readPolicy = () => Resolve.readPolicy(db, currentSql);
|
|
@@ -256,10 +275,14 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
256
275
|
Resolve.resolvedSql(readPolicy(), currentSql, { aliases: options.aliases === true }) :
|
|
257
276
|
currentSql;
|
|
258
277
|
return {
|
|
259
|
-
/**
|
|
278
|
+
/** Adapter that owns this database connection and its capabilities. */
|
|
279
|
+
adapter,
|
|
280
|
+
/** Raw adapter database handle — used by `@cavelang/query`; treat as read-only. */
|
|
260
281
|
db,
|
|
261
282
|
/** Current verb registry (input registry + stored + ingested declarations). */
|
|
262
283
|
registry: () => registry,
|
|
284
|
+
/** Configured registry before any in-band declarations are applied. */
|
|
285
|
+
baseRegistry: () => baseRegistry,
|
|
263
286
|
/**
|
|
264
287
|
* Rebuilds the registry from the base plus stored declarations — after
|
|
265
288
|
* rows arrive outside `ingest`/`insertResult` (a §28 merge writes
|
|
@@ -325,7 +348,7 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
325
348
|
*/
|
|
326
349
|
resolvedBeliefs(options_ = {}) {
|
|
327
350
|
const aliases = options_.aliases === true;
|
|
328
|
-
const prefix = aliases ? `WITH RECURSIVE ${
|
|
351
|
+
const prefix = aliases ? `WITH RECURSIVE ${QuerySql.aliasPairs(currentSql)}\n` : '';
|
|
329
352
|
return rows(`${prefix}SELECT * FROM (${Resolve.resolvedSql(readPolicy(), currentSql, { aliases })}) ORDER BY tx`);
|
|
330
353
|
},
|
|
331
354
|
/**
|
|
@@ -337,7 +360,7 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
337
360
|
*/
|
|
338
361
|
contested(options_ = {}) {
|
|
339
362
|
const aliases = options_.aliases === true;
|
|
340
|
-
const prefix = aliases ? `WITH RECURSIVE ${
|
|
363
|
+
const prefix = aliases ? `WITH RECURSIVE ${QuerySql.aliasPairs(currentSql)}\n` : '';
|
|
341
364
|
const ranked = rows(`${prefix}SELECT * FROM (${Resolve.rankedSql(readPolicy(), currentSql, { aliases })}) ORDER BY res_group, res_rank`);
|
|
342
365
|
const groups = [];
|
|
343
366
|
for (const row of ranked) {
|
|
@@ -401,6 +424,16 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
401
424
|
SELECT c.* FROM cave_claim c JOIN cave_context ctx ON c.id = ctx.claim_id
|
|
402
425
|
WHERE ctx.context = ? ORDER BY c.tx DESC`, context);
|
|
403
426
|
},
|
|
427
|
+
/** Rows carrying one explicit provenance dimension, newest first. */
|
|
428
|
+
byProvenance(dimension, value) {
|
|
429
|
+
return rows(`
|
|
430
|
+
SELECT c.* FROM cave_claim c JOIN cave_provenance p ON c.id = p.claim_id
|
|
431
|
+
WHERE p.dimension = ? AND p.value = ? ORDER BY c.tx DESC`, dimension, value);
|
|
432
|
+
},
|
|
433
|
+
/** Explicit actor, physical source, lifecycle run, and domain metadata. */
|
|
434
|
+
provenanceOf,
|
|
435
|
+
/** Map a database-shaped row to the stable `cave.claim/v1` contract. */
|
|
436
|
+
recordOf,
|
|
404
437
|
/** Members of a topic — forward `CONTAINS` traversal (spec §11.2). */
|
|
405
438
|
topicMembers(topic, options_ = {}) {
|
|
406
439
|
return rows(`${withAliases(options_)} SELECT * FROM (${universe(options_)}) WHERE ${entityMatch('subject', options_)} AND verb = 'CONTAINS' AND object IS NOT NULL${traversalFilter(options_)} ORDER BY tx`, topic).map(row => row.object);
|
|
@@ -420,7 +453,8 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
420
453
|
const match = options_.raw === true ? query : `"${query.replaceAll('"', '""')}"`;
|
|
421
454
|
const sql = `
|
|
422
455
|
SELECT c.* FROM cave_claim c JOIN cave_fts f ON c.id = f.claim_id
|
|
423
|
-
WHERE cave_fts MATCH ?
|
|
456
|
+
WHERE cave_fts MATCH ?${options_.maxSensitivity === undefined ? '' : ` AND ${Sensitivity.sql('c', options_.maxSensitivity)}`}
|
|
457
|
+
ORDER BY c.tx DESC`;
|
|
424
458
|
return options_.limit === undefined ?
|
|
425
459
|
rows(sql, match) :
|
|
426
460
|
rows(`${sql} LIMIT ?`, match, options_.limit);
|
|
@@ -463,9 +497,10 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
463
497
|
*/
|
|
464
498
|
exportText(options_ = {}) {
|
|
465
499
|
const current = options_.current === true;
|
|
500
|
+
const maximum = options_.maxSensitivity ?? Sensitivity.defaultMaximum;
|
|
466
501
|
const claimRows = current ?
|
|
467
|
-
rows(`${currentSql} ORDER BY c.tx`) :
|
|
468
|
-
rows(
|
|
502
|
+
rows(`${currentSql} WHERE ${Sensitivity.sql('c', maximum)} ORDER BY c.tx`) :
|
|
503
|
+
rows(`SELECT c.* FROM cave_claim c WHERE ${Sensitivity.sql('c', maximum)} ORDER BY c.tx`);
|
|
469
504
|
const indexById = new Map(claimRows.map((row, index) => [row.id, index]));
|
|
470
505
|
let resolve = (id) => indexById.get(id);
|
|
471
506
|
if (current) {
|
package/dist/src/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cavelang/store",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.1",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "CAVE persistence
|
|
5
|
+
"description": "CAVE SQLite persistence — explicit runtime adapters, append-only belief series, and lifecycle-aware reads.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"cave",
|
|
8
|
+
"knowledge-graph",
|
|
9
|
+
"knowledge-representation",
|
|
10
|
+
"typescript"
|
|
11
|
+
],
|
|
12
|
+
"homepage": "https://github.com/mirek/cave#readme",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/mirek/cave/issues"
|
|
15
|
+
},
|
|
6
16
|
"license": "CC0-1.0",
|
|
7
17
|
"author": "Mirek Rusin (https://github.com/mirek)",
|
|
8
18
|
"repository": {
|
|
@@ -17,6 +27,14 @@
|
|
|
17
27
|
".": {
|
|
18
28
|
"types": "./dist/src/index.d.ts",
|
|
19
29
|
"default": "./dist/src/index.js"
|
|
30
|
+
},
|
|
31
|
+
"./adapter": {
|
|
32
|
+
"types": "./dist/src/adapter-entry.d.ts",
|
|
33
|
+
"default": "./dist/src/adapter-entry.js"
|
|
34
|
+
},
|
|
35
|
+
"./adapter/node": {
|
|
36
|
+
"types": "./dist/src/node-adapter-entry.d.ts",
|
|
37
|
+
"default": "./dist/src/node-adapter-entry.js"
|
|
20
38
|
}
|
|
21
39
|
},
|
|
22
40
|
"files": [
|
|
@@ -26,18 +44,19 @@
|
|
|
26
44
|
"src",
|
|
27
45
|
"!src/**/*.test.ts",
|
|
28
46
|
"README.md",
|
|
29
|
-
"License.md"
|
|
47
|
+
"License.md",
|
|
48
|
+
"Authors.md"
|
|
30
49
|
],
|
|
31
50
|
"publishConfig": {
|
|
32
51
|
"access": "public"
|
|
33
52
|
},
|
|
34
53
|
"dependencies": {
|
|
35
|
-
"@cavelang/canonical": "0.
|
|
36
|
-
"@cavelang/core": "0.
|
|
54
|
+
"@cavelang/canonical": "0.29.1",
|
|
55
|
+
"@cavelang/core": "0.29.1"
|
|
37
56
|
},
|
|
38
57
|
"scripts": {
|
|
39
58
|
"build": "tsc -b",
|
|
40
|
-
"test": "node --disable-warning=ExperimentalWarning --test
|
|
59
|
+
"test": "node --disable-warning=ExperimentalWarning --test \"test/*.test.ts\"",
|
|
41
60
|
"typecheck": "tsc -b"
|
|
42
61
|
}
|
|
43
62
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Explicit, runtime-neutral SQLite composition surface. */
|
|
2
|
+
|
|
3
|
+
export { openWith } from './runtime.ts'
|
|
4
|
+
export type { Store } from './runtime.ts'
|
|
5
|
+
export * as Resolve from './resolve.ts'
|
|
6
|
+
export * as Row from './row.ts'
|
|
7
|
+
export * as QuerySql from './query-sql.ts'
|
|
8
|
+
export * as Record from './record.ts'
|
|
9
|
+
export type {
|
|
10
|
+
Adapter as SqliteAdapter,
|
|
11
|
+
BackupCapability as SqliteBackupCapability,
|
|
12
|
+
Capabilities as SqliteCapabilities,
|
|
13
|
+
Database as SqliteDatabase,
|
|
14
|
+
OpenOptions as SqliteOpenOptions,
|
|
15
|
+
Row as SqliteRow,
|
|
16
|
+
Statement as SqliteStatement,
|
|
17
|
+
Value as SqliteValue,
|
|
18
|
+
} from './adapter.ts'
|
package/src/adapter.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/** Runtime-neutral SQLite contract used by the CAVE store. */
|
|
2
|
+
|
|
3
|
+
export type Value = null | number | bigint | string | Uint8Array
|
|
4
|
+
export type Row = Record<string, unknown>
|
|
5
|
+
|
|
6
|
+
export type Statement = {
|
|
7
|
+
readonly all: (...params: Value[]) => Row[]
|
|
8
|
+
readonly get: (...params: Value[]) => Row | undefined
|
|
9
|
+
readonly run: (...params: Value[]) => {
|
|
10
|
+
readonly changes: number | bigint
|
|
11
|
+
readonly lastInsertRowid: number | bigint
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type Database = {
|
|
16
|
+
readonly exec: (sql: string) => void
|
|
17
|
+
readonly prepare: (sql: string) => Statement
|
|
18
|
+
readonly close: () => void
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type OpenOptions = {
|
|
22
|
+
readonly readOnly?: boolean
|
|
23
|
+
/** Permit native extension loading when the implementation supports it. */
|
|
24
|
+
readonly allowExtension?: boolean
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export type BackupCapability = {
|
|
28
|
+
/** Absolute or implementation-defined source location; null for memory stores. */
|
|
29
|
+
readonly location: (db: Database) => string | null
|
|
30
|
+
readonly inTransaction: (db: Database) => boolean
|
|
31
|
+
/** Write a transactionally consistent standalone database image. */
|
|
32
|
+
readonly write: (db: Database, destination: string) => void
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export type Capabilities = {
|
|
36
|
+
/** CAVE requires immediate write transactions and nested savepoints. */
|
|
37
|
+
readonly transactions: {
|
|
38
|
+
readonly immediate: true
|
|
39
|
+
readonly savepoints: true
|
|
40
|
+
}
|
|
41
|
+
/** Full-text virtual-table implementation used by the schema. */
|
|
42
|
+
readonly fullText: 'fts4' | 'fts5'
|
|
43
|
+
/** Optional loading of native SQLite extensions. */
|
|
44
|
+
readonly loadExtension?: (db: Database, path: string) => void
|
|
45
|
+
/** Optional exact snapshot support. */
|
|
46
|
+
readonly backup?: BackupCapability
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* A synchronous SQLite implementation. Runtime selection happens by passing
|
|
51
|
+
* one of these to `openWith`, never by replacing source modules at build time.
|
|
52
|
+
*/
|
|
53
|
+
export type Adapter = {
|
|
54
|
+
readonly name: string
|
|
55
|
+
readonly capabilities: Capabilities
|
|
56
|
+
readonly open: (path: string, options?: OpenOptions) => Database
|
|
57
|
+
}
|