@cavelang/store 0.22.0 → 0.27.14
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/README.md +1 -1
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/open.d.ts +20 -0
- package/dist/src/open.d.ts.map +1 -0
- package/dist/src/open.js +53 -0
- package/dist/src/open.js.map +1 -0
- package/dist/src/row.d.ts +7 -0
- package/dist/src/row.d.ts.map +1 -1
- package/dist/src/row.js +7 -0
- package/dist/src/row.js.map +1 -1
- package/dist/src/schema.d.ts +1 -1
- package/dist/src/schema.d.ts.map +1 -1
- package/dist/src/schema.js +2 -0
- package/dist/src/schema.js.map +1 -1
- package/dist/src/store.d.ts +13 -1
- package/dist/src/store.d.ts.map +1 -1
- package/dist/src/store.js +27 -9
- package/dist/src/store.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +4 -2
- package/src/open.ts +82 -0
- package/src/row.ts +9 -0
- package/src/schema.ts +2 -0
- package/src/store.ts +37 -10
package/README.md
CHANGED
|
@@ -83,7 +83,7 @@ store.exportText({ current: true }) // canonical CAVE text back out
|
|
|
83
83
|
| `byTag(key, value?)` | §13.5 | flat (`value` omitted → `IS NULL`) or scoped |
|
|
84
84
|
| `byContext(ctx)` | §13.5 | context filter |
|
|
85
85
|
| `topicMembers(t)` / `topicsOf(e)` | §11.2 | topic layer over `CONTAINS` |
|
|
86
|
-
| `search(q, {raw})` | §13.2 | FTS5; literal phrase by default |
|
|
86
|
+
| `search(q, {raw, limit})` | §13.2 | FTS5; literal phrase by default, `limit` caps in the query |
|
|
87
87
|
| `edgesOf(id)` | §13.2 | qualifier/grouping edges with roles |
|
|
88
88
|
| `toClaim(row)` | | reconstruct the canonical claim + side tables |
|
|
89
89
|
| `exportText({current})` | | emit canonical CAVE text |
|
package/dist/src/index.d.ts
CHANGED
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
export * as Resolve from './resolve.ts';
|
|
15
15
|
export * as Row from './row.ts';
|
|
16
16
|
export * as Schema from './schema.ts';
|
|
17
|
-
export {
|
|
18
|
-
export type {
|
|
17
|
+
export { open } from './open.ts';
|
|
18
|
+
export type { Store } from './open.ts';
|
|
19
|
+
export { defaultDbPath } from './store.ts';
|
|
20
|
+
export type { AppendOptions, ForwardFact, IngestResult, ReverseFact, TraverseOptions } from './store.ts';
|
|
19
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,YAAY,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/src/index.js
CHANGED
|
@@ -14,5 +14,6 @@
|
|
|
14
14
|
export * as Resolve from "./resolve.js";
|
|
15
15
|
export * as Row from "./row.js";
|
|
16
16
|
export * as Schema from "./schema.js";
|
|
17
|
-
export {
|
|
17
|
+
export { open } from "./open.js";
|
|
18
|
+
export { defaultDbPath } from "./store.js";
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as Canonical from '@cavelang/canonical';
|
|
2
|
+
import type { Store as BaseStore } from './store.ts';
|
|
3
|
+
export type Store = BaseStore & {
|
|
4
|
+
/**
|
|
5
|
+
* Verb registry reconstructed from the configured base registry plus
|
|
6
|
+
* declaration rows visible at the transaction-time boundary.
|
|
7
|
+
*/
|
|
8
|
+
readonly registryAsOf: (asOf: string) => Canonical.Registry.t;
|
|
9
|
+
};
|
|
10
|
+
type OpenOptions = {
|
|
11
|
+
readonly registry?: Canonical.Registry.t;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Public store constructor. It retains the configured base registry so
|
|
15
|
+
* transaction-time query views can rebuild vocabulary at the same boundary
|
|
16
|
+
* as their claim rows.
|
|
17
|
+
*/
|
|
18
|
+
export declare const open: (path?: string, options?: OpenOptions) => Store;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=open.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../src/open.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAEhD,OAAO,KAAK,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG;IAC9B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;CAC9D,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;CACzC,CAAA;AAsDD;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,OAAM,MAAmB,EAAE,UAAS,WAAgB,KAAG,KAO3E,CAAA"}
|
package/dist/src/open.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Uuidv7, Verb } from '@cavelang/core';
|
|
2
|
+
import * as Canonical from '@cavelang/canonical';
|
|
3
|
+
import { open as openStore } from "./store.js";
|
|
4
|
+
const upperTxBound = (text) => {
|
|
5
|
+
const hasTime = text.includes('T');
|
|
6
|
+
const start = Date.parse(hasTime ? text : `${text}T00:00:00Z`);
|
|
7
|
+
if (Number.isNaN(start)) {
|
|
8
|
+
throw new Error(`CAVE: cannot parse as-of boundary ${JSON.stringify(text)}`);
|
|
9
|
+
}
|
|
10
|
+
const end = start + (hasTime ? 1_000 : 86_400_000);
|
|
11
|
+
return Uuidv7.at(end, 0, new Uint8Array(8));
|
|
12
|
+
};
|
|
13
|
+
const declarationsAsOf = (store, asOf) => {
|
|
14
|
+
const id = asOf.toLowerCase();
|
|
15
|
+
const [condition, boundary] = Uuidv7.is(id) ?
|
|
16
|
+
['tx <= ?', id] :
|
|
17
|
+
['tx < ?', upperTxBound(asOf)];
|
|
18
|
+
return store.db.prepare(`
|
|
19
|
+
SELECT subject, verb, object FROM cave_claim
|
|
20
|
+
WHERE ${condition}
|
|
21
|
+
AND negated = 0 AND object IS NOT NULL AND verb IN ('REVERSE', 'IS')
|
|
22
|
+
AND id NOT IN (SELECT child_id FROM cave_edge WHERE role IN ('WHEN', 'VIA', 'BECAUSE'))
|
|
23
|
+
ORDER BY tx
|
|
24
|
+
`).all(boundary);
|
|
25
|
+
};
|
|
26
|
+
const applyDeclarations = (baseRegistry, declarations) => {
|
|
27
|
+
let registry = baseRegistry;
|
|
28
|
+
for (const declaration of declarations) {
|
|
29
|
+
if (!Verb.isVerbToken(declaration.subject)) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
if (declaration.verb === 'REVERSE' && Verb.isVerbToken(declaration.object)) {
|
|
33
|
+
registry = Canonical.Registry.declareReverse(registry, declaration.subject, declaration.object).registry;
|
|
34
|
+
}
|
|
35
|
+
else if (declaration.verb === 'IS' && declaration.object === 'verb') {
|
|
36
|
+
registry = Canonical.Registry.declareVerb(registry, declaration.subject);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return registry;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Public store constructor. It retains the configured base registry so
|
|
43
|
+
* transaction-time query views can rebuild vocabulary at the same boundary
|
|
44
|
+
* as their claim rows.
|
|
45
|
+
*/
|
|
46
|
+
export const open = (path = ':memory:', options = {}) => {
|
|
47
|
+
const baseRegistry = options.registry ?? Canonical.standardRegistry;
|
|
48
|
+
const store = openStore(path, options);
|
|
49
|
+
return Object.assign(store, {
|
|
50
|
+
registryAsOf: (asOf) => applyDeclarations(baseRegistry, declarationsAsOf(store, asOf))
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=open.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/open.ts"],"names":[],"mappings":"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"}
|
package/dist/src/row.d.ts
CHANGED
|
@@ -35,6 +35,13 @@ export type Row = {
|
|
|
35
35
|
export type t = Row;
|
|
36
36
|
/** @returns term parsed back from its stored formatted text. */
|
|
37
37
|
export declare const parseTerm: (text: string) => Claim.Term;
|
|
38
|
+
/**
|
|
39
|
+
* SQL predicate: `column` holds an entity-form term — not a `"…"` text or
|
|
40
|
+
* `` `…` `` code literal encoding (the stored-text dual of `parseTerm`).
|
|
41
|
+
* The §13.6 alias closure joins entity endpoints only: a literal names a
|
|
42
|
+
* value, not an entity.
|
|
43
|
+
*/
|
|
44
|
+
export declare const entityTermSql: (column: string) => string;
|
|
38
45
|
/** @returns value parsed back from its stored as-written text. */
|
|
39
46
|
export declare const parseValue: (text: string) => Value.t;
|
|
40
47
|
/** Column values of a claim, in `cave_claim` insert order (id/tx excluded). */
|
package/dist/src/row.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../src/row.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE7C,0BAA0B;AAC1B,MAAM,MAAM,GAAG,GAAG;IAChB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IAClC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,MAAM,CAAA;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,CAAC,GAAG,GAAG,CAAA;AAEnB,gEAAgE;AAChE,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,KAAK,CAAC,IAQ9C,CAAA;AAED,kEAAkE;AAClE,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,KAAK,CAAC,CAQ/C,CAAA;AAED,+EAA+E;AAC/E,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK,CAAC,CAAC,KAAG;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,IAAI,GAAG,MAAM,CAAA;IACrB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACxB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACxB,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAA;IACvB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACxB,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAA;IACvB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,IAAI,GAAG,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CA2BjB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,OAAO,GAClB,KAAK,GAAG,EACR,UAAU,SAAS,MAAM,EAAE,EAC3B,MAAM,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,EAAE,KACrD,KAAK,CAAC,CAkBL,CAAA"}
|
|
1
|
+
{"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../src/row.ts"],"names":[],"mappings":"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"}
|
package/dist/src/row.js
CHANGED
|
@@ -19,6 +19,13 @@ export const parseTerm = (text) => {
|
|
|
19
19
|
}
|
|
20
20
|
return Claim.entity(text);
|
|
21
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* SQL predicate: `column` holds an entity-form term — not a `"…"` text or
|
|
24
|
+
* `` `…` `` code literal encoding (the stored-text dual of `parseTerm`).
|
|
25
|
+
* The §13.6 alias closure joins entity endpoints only: a literal names a
|
|
26
|
+
* value, not an entity.
|
|
27
|
+
*/
|
|
28
|
+
export const entityTermSql = (column) => `NOT (length(${column}) >= 2 AND substr(${column}, 1, 1) = substr(${column}, -1, 1) AND substr(${column}, 1, 1) IN ('\`', '"'))`;
|
|
22
29
|
/** @returns value parsed back from its stored as-written text. */
|
|
23
30
|
export const parseValue = (text) => {
|
|
24
31
|
if (text.length >= 2 && text.startsWith('`') && text.endsWith('`')) {
|
package/dist/src/row.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row.js","sourceRoot":"","sources":["../../src/row.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"row.js","sourceRoot":"","sources":["../../src/row.ts"],"names":[],"mappings":"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"}
|
package/dist/src/schema.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* with `IF NOT EXISTS` added so opening an existing database is idempotent.
|
|
4
4
|
*/
|
|
5
5
|
import type { DatabaseSync } from 'node:sqlite';
|
|
6
|
-
export declare const ddl = "\nCREATE TABLE IF NOT EXISTS cave_claim (\n id TEXT PRIMARY KEY, -- UUIDv7\n tx TEXT NOT NULL, -- UUIDv7, lexicographic = transaction order\n\n subject TEXT NOT NULL, -- canonical (primary) direction\n verb TEXT NOT NULL, -- canonical (primary) verb\n negated INTEGER NOT NULL DEFAULT 0,\n\n object TEXT, -- relation object, entity, literal\n attribute TEXT, -- for HAS attr: value\n value_text TEXT, -- value as written (incl. ~, multiplier, delimiters)\n value_num REAL, -- parsed numeric value when possible\n value_unit TEXT, -- normalized unit string\n value_approx INTEGER NOT NULL DEFAULT 0,\n\n delta_text TEXT,\n delta_num REAL,\n delta_unit TEXT,\n sigma_level REAL DEFAULT 2.0,\n\n conf REAL NOT NULL DEFAULT 1.0,\n importance INTEGER NOT NULL DEFAULT 0,\n\n comment TEXT,\n raw_line TEXT NOT NULL, -- exactly as written, incl. inverse form\n\n claim_key TEXT NOT NULL -- normalized key; shared by forward/inverse readings\n);\n\nCREATE INDEX IF NOT EXISTS idx_cave_claim_key_tx ON cave_claim (claim_key, tx);\nCREATE INDEX IF NOT EXISTS idx_cave_subject ON cave_claim (subject);\nCREATE INDEX IF NOT EXISTS idx_cave_verb ON cave_claim (verb);\nCREATE INDEX IF NOT EXISTS idx_cave_object ON cave_claim (object);\nCREATE INDEX IF NOT EXISTS idx_cave_attribute ON cave_claim (attribute);\nCREATE INDEX IF NOT EXISTS idx_cave_conf ON cave_claim (conf);\n\nCREATE TABLE IF NOT EXISTS cave_context (\n claim_id TEXT NOT NULL,\n context TEXT NOT NULL,\n FOREIGN KEY (claim_id) REFERENCES cave_claim(id)\n);\nCREATE INDEX IF NOT EXISTS idx_cave_context ON cave_context (context);\n\nCREATE TABLE IF NOT EXISTS cave_tag (\n claim_id TEXT NOT NULL,\n key TEXT NOT NULL,\n value TEXT, -- NULL for flat tags (spec \u00A713.2)\n FOREIGN KEY (claim_id) REFERENCES cave_claim(id)\n);\nCREATE INDEX IF NOT EXISTS idx_cave_tag_key ON cave_tag (key, value);\n\nCREATE TABLE IF NOT EXISTS cave_edge (\n parent_id TEXT NOT NULL,\n role TEXT NOT NULL, -- WHEN, VIA, BECAUSE, QUALIFIES\n child_id TEXT NOT NULL,\n FOREIGN KEY (parent_id) REFERENCES cave_claim(id),\n FOREIGN KEY (child_id) REFERENCES cave_claim(id)\n);\nCREATE INDEX IF NOT EXISTS idx_cave_edge_parent ON cave_edge (parent_id);\nCREATE INDEX IF NOT EXISTS idx_cave_edge_child ON cave_edge (child_id);\nCREATE INDEX IF NOT EXISTS idx_cave_edge_role ON cave_edge (role);\n\nCREATE VIRTUAL TABLE IF NOT EXISTS cave_fts USING fts5(\n claim_id, subject, verb, object, attribute, value_text, comment, raw_line\n);\n";
|
|
6
|
+
export declare const ddl = "\nCREATE TABLE IF NOT EXISTS cave_claim (\n id TEXT PRIMARY KEY, -- UUIDv7\n tx TEXT NOT NULL, -- UUIDv7, lexicographic = transaction order\n\n subject TEXT NOT NULL, -- canonical (primary) direction\n verb TEXT NOT NULL, -- canonical (primary) verb\n negated INTEGER NOT NULL DEFAULT 0,\n\n object TEXT, -- relation object, entity, literal\n attribute TEXT, -- for HAS attr: value\n value_text TEXT, -- value as written (incl. ~, multiplier, delimiters)\n value_num REAL, -- parsed numeric value when possible\n value_unit TEXT, -- normalized unit string\n value_approx INTEGER NOT NULL DEFAULT 0,\n\n delta_text TEXT,\n delta_num REAL,\n delta_unit TEXT,\n sigma_level REAL DEFAULT 2.0,\n\n conf REAL NOT NULL DEFAULT 1.0,\n importance INTEGER NOT NULL DEFAULT 0,\n\n comment TEXT,\n raw_line TEXT NOT NULL, -- exactly as written, incl. inverse form\n\n claim_key TEXT NOT NULL -- normalized key; shared by forward/inverse readings\n);\n\nCREATE INDEX IF NOT EXISTS idx_cave_claim_key_tx ON cave_claim (claim_key, tx);\nCREATE INDEX IF NOT EXISTS idx_cave_subject ON cave_claim (subject);\nCREATE INDEX IF NOT EXISTS idx_cave_verb ON cave_claim (verb);\nCREATE INDEX IF NOT EXISTS idx_cave_object ON cave_claim (object);\nCREATE INDEX IF NOT EXISTS idx_cave_attribute ON cave_claim (attribute);\nCREATE INDEX IF NOT EXISTS idx_cave_conf ON cave_claim (conf);\n\nCREATE TABLE IF NOT EXISTS cave_context (\n claim_id TEXT NOT NULL,\n context TEXT NOT NULL,\n FOREIGN KEY (claim_id) REFERENCES cave_claim(id)\n);\nCREATE INDEX IF NOT EXISTS idx_cave_context ON cave_context (context);\nCREATE INDEX IF NOT EXISTS idx_cave_context_claim ON cave_context (claim_id, context);\n\nCREATE TABLE IF NOT EXISTS cave_tag (\n claim_id TEXT NOT NULL,\n key TEXT NOT NULL,\n value TEXT, -- NULL for flat tags (spec \u00A713.2)\n FOREIGN KEY (claim_id) REFERENCES cave_claim(id)\n);\nCREATE INDEX IF NOT EXISTS idx_cave_tag_key ON cave_tag (key, value);\nCREATE INDEX IF NOT EXISTS idx_cave_tag_claim ON cave_tag (claim_id, key, value);\n\nCREATE TABLE IF NOT EXISTS cave_edge (\n parent_id TEXT NOT NULL,\n role TEXT NOT NULL, -- WHEN, VIA, BECAUSE, QUALIFIES\n child_id TEXT NOT NULL,\n FOREIGN KEY (parent_id) REFERENCES cave_claim(id),\n FOREIGN KEY (child_id) REFERENCES cave_claim(id)\n);\nCREATE INDEX IF NOT EXISTS idx_cave_edge_parent ON cave_edge (parent_id);\nCREATE INDEX IF NOT EXISTS idx_cave_edge_child ON cave_edge (child_id);\nCREATE INDEX IF NOT EXISTS idx_cave_edge_role ON cave_edge (role);\n\nCREATE VIRTUAL TABLE IF NOT EXISTS cave_fts USING fts5(\n claim_id, subject, verb, object, attribute, value_text, comment, raw_line\n);\n";
|
|
7
7
|
/** Creates all tables and indexes. */
|
|
8
8
|
export declare const init: (db: DatabaseSync) => void;
|
|
9
9
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/src/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,eAAO,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,eAAO,MAAM,GAAG,k6FAoEf,CAAA;AAED,sCAAsC;AACtC,eAAO,MAAM,IAAI,GAAI,IAAI,YAAY,KAAG,IAEvC,CAAA"}
|
package/dist/src/schema.js
CHANGED
|
@@ -45,6 +45,7 @@ CREATE TABLE IF NOT EXISTS cave_context (
|
|
|
45
45
|
FOREIGN KEY (claim_id) REFERENCES cave_claim(id)
|
|
46
46
|
);
|
|
47
47
|
CREATE INDEX IF NOT EXISTS idx_cave_context ON cave_context (context);
|
|
48
|
+
CREATE INDEX IF NOT EXISTS idx_cave_context_claim ON cave_context (claim_id, context);
|
|
48
49
|
|
|
49
50
|
CREATE TABLE IF NOT EXISTS cave_tag (
|
|
50
51
|
claim_id TEXT NOT NULL,
|
|
@@ -53,6 +54,7 @@ CREATE TABLE IF NOT EXISTS cave_tag (
|
|
|
53
54
|
FOREIGN KEY (claim_id) REFERENCES cave_claim(id)
|
|
54
55
|
);
|
|
55
56
|
CREATE INDEX IF NOT EXISTS idx_cave_tag_key ON cave_tag (key, value);
|
|
57
|
+
CREATE INDEX IF NOT EXISTS idx_cave_tag_claim ON cave_tag (claim_id, key, value);
|
|
56
58
|
|
|
57
59
|
CREATE TABLE IF NOT EXISTS cave_edge (
|
|
58
60
|
parent_id TEXT NOT NULL,
|
package/dist/src/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,MAAM,GAAG,GAAG
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoElB,CAAA;AAED,sCAAsC;AACtC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAgB,EAAQ,EAAE;IAC7C,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACd,CAAC,CAAA"}
|
package/dist/src/store.d.ts
CHANGED
|
@@ -41,6 +41,16 @@ export type AppendOptions = {
|
|
|
41
41
|
* preserve claim keys as exported.
|
|
42
42
|
*/
|
|
43
43
|
readonly source?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Lifecycle stamping (spec §9.5): stamp `@src:<source>` even when the
|
|
46
|
+
* claim already names a source. Connect records, rule conclusions and
|
|
47
|
+
* action effects are found for retraction and attribution by their
|
|
48
|
+
* stamp, so an authored `src:` context must not displace it — both are
|
|
49
|
+
* kept (multi-source rows resolve per §26.3). The exact stamp context
|
|
50
|
+
* is never duplicated. Without this flag an authored source suppresses
|
|
51
|
+
* the stamp.
|
|
52
|
+
*/
|
|
53
|
+
readonly lifecycle?: boolean;
|
|
44
54
|
/**
|
|
45
55
|
* Explicit row identity (spec §28.1), index-aligned with the result's
|
|
46
56
|
* claims: a claim with an id here is replayed under it — inserted with
|
|
@@ -196,10 +206,12 @@ export declare const open: (path?: string, options?: {
|
|
|
196
206
|
* Full-text search, newest first. The query is treated as a literal
|
|
197
207
|
* phrase by default (safe for terms like `token-expiry`, which FTS5
|
|
198
208
|
* would otherwise parse as a column filter); pass `raw` to use full
|
|
199
|
-
* FTS5 MATCH syntax.
|
|
209
|
+
* FTS5 MATCH syntax. `limit` caps the rows inside the query itself,
|
|
210
|
+
* so a broad search never materializes more than the caller reads.
|
|
200
211
|
*/
|
|
201
212
|
search(query: string, options_?: {
|
|
202
213
|
raw?: boolean;
|
|
214
|
+
limit?: number;
|
|
203
215
|
}): Row.t[];
|
|
204
216
|
/**
|
|
205
217
|
* Appends edges between *existing* claim rows (spec §13.2) — the
|
package/dist/src/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,KAAK,EAA8B,MAAM,gBAAgB,CAAA;AAClE,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
|
package/dist/src/store.js
CHANGED
|
@@ -34,14 +34,19 @@ JOIN (
|
|
|
34
34
|
* Alias edges (spec §13.6): current positive `ALIAS` claims read as
|
|
35
35
|
* undirected (`ALIAS` has no `REVERSE`, so each written direction is its
|
|
36
36
|
* own claim key — both assert the same link). Retraction unmerges:
|
|
37
|
-
* `a ALIAS b @ 0%` drops that direction's edge.
|
|
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.
|
|
38
41
|
*/
|
|
39
42
|
const aliasEdgeSql = `alias_edge(a, b) AS (
|
|
40
43
|
SELECT c.subject, c.object FROM (${currentSql}) c
|
|
41
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')}
|
|
42
46
|
UNION
|
|
43
47
|
SELECT c.object, c.subject FROM (${currentSql}) c
|
|
44
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')}
|
|
45
50
|
)`;
|
|
46
51
|
/**
|
|
47
52
|
* The closure walked from a seed entity — the seed is the query's first
|
|
@@ -66,10 +71,19 @@ const aliasPairSql = `alias_pair(a, b) AS (
|
|
|
66
71
|
const aliasClosureSql = `
|
|
67
72
|
WITH RECURSIVE ${aliasEdgeSql}, ${aliasSeedSql}
|
|
68
73
|
`;
|
|
69
|
-
/**
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
74
|
+
/**
|
|
75
|
+
* Stamps `@src:<source>` on a claim without a source context (spec §9.5);
|
|
76
|
+
* with `lifecycle`, on any claim not already carrying that exact stamp.
|
|
77
|
+
*/
|
|
78
|
+
const stampSource = (claim, source, lifecycle) => {
|
|
79
|
+
if (source === undefined) {
|
|
80
|
+
return claim;
|
|
81
|
+
}
|
|
82
|
+
const context = Context.source(source);
|
|
83
|
+
return claim.contexts.includes(context) || (!lifecycle && Context.hasSource(claim.contexts)) ?
|
|
84
|
+
claim :
|
|
85
|
+
{ ...claim, contexts: [...claim.contexts, context] };
|
|
86
|
+
};
|
|
73
87
|
/**
|
|
74
88
|
* Database path used by CLI surfaces when `--db` is omitted: the `CAVE_DB`
|
|
75
89
|
* environment variable, falling back to `cave.db` in the current directory.
|
|
@@ -186,7 +200,7 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
186
200
|
return;
|
|
187
201
|
}
|
|
188
202
|
}
|
|
189
|
-
const claim = stampSource(entry.claim, options_.source);
|
|
203
|
+
const claim = stampSource(entry.claim, options_.source, options_.lifecycle === true);
|
|
190
204
|
const id = explicit ?? Uuidv7.next();
|
|
191
205
|
const columns = Row.toColumns(claim);
|
|
192
206
|
const rawLine = columns.rawLine === '' ? Canonical.emitClaim(claim) : columns.rawLine;
|
|
@@ -399,13 +413,17 @@ export const open = (path = ':memory:', options = {}) => {
|
|
|
399
413
|
* Full-text search, newest first. The query is treated as a literal
|
|
400
414
|
* phrase by default (safe for terms like `token-expiry`, which FTS5
|
|
401
415
|
* would otherwise parse as a column filter); pass `raw` to use full
|
|
402
|
-
* FTS5 MATCH syntax.
|
|
416
|
+
* FTS5 MATCH syntax. `limit` caps the rows inside the query itself,
|
|
417
|
+
* so a broad search never materializes more than the caller reads.
|
|
403
418
|
*/
|
|
404
419
|
search(query, options_ = {}) {
|
|
405
420
|
const match = options_.raw === true ? query : `"${query.replaceAll('"', '""')}"`;
|
|
406
|
-
|
|
421
|
+
const sql = `
|
|
407
422
|
SELECT c.* FROM cave_claim c JOIN cave_fts f ON c.id = f.claim_id
|
|
408
|
-
WHERE cave_fts MATCH ? ORDER BY c.tx DESC
|
|
423
|
+
WHERE cave_fts MATCH ? ORDER BY c.tx DESC`;
|
|
424
|
+
return options_.limit === undefined ?
|
|
425
|
+
rows(sql, match) :
|
|
426
|
+
rows(`${sql} LIMIT ?`, match, options_.limit);
|
|
409
427
|
},
|
|
410
428
|
/**
|
|
411
429
|
* Appends edges between *existing* claim rows (spec §13.2) — the
|
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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cavelang/store",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.27.14",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CAVE persistence on node:sqlite — §13 storage model, append-only belief series, inverse-aware reads.",
|
|
6
6
|
"license": "CC0-1.0",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"access": "public"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@cavelang/canonical": "0.
|
|
36
|
-
"@cavelang/core": "0.
|
|
35
|
+
"@cavelang/canonical": "0.27.14",
|
|
36
|
+
"@cavelang/core": "0.27.14"
|
|
37
37
|
},
|
|
38
38
|
"scripts": {
|
|
39
39
|
"build": "tsc -b",
|
package/src/index.ts
CHANGED
|
@@ -15,5 +15,7 @@
|
|
|
15
15
|
export * as Resolve from './resolve.ts'
|
|
16
16
|
export * as Row from './row.ts'
|
|
17
17
|
export * as Schema from './schema.ts'
|
|
18
|
-
export {
|
|
19
|
-
export type {
|
|
18
|
+
export { open } from './open.ts'
|
|
19
|
+
export type { Store } from './open.ts'
|
|
20
|
+
export { defaultDbPath } from './store.ts'
|
|
21
|
+
export type { AppendOptions, ForwardFact, IngestResult, ReverseFact, TraverseOptions } from './store.ts'
|
package/src/open.ts
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Uuidv7, Verb } from '@cavelang/core'
|
|
2
|
+
import * as Canonical from '@cavelang/canonical'
|
|
3
|
+
import { open as openStore } from './store.ts'
|
|
4
|
+
import type { Store as BaseStore } from './store.ts'
|
|
5
|
+
|
|
6
|
+
export type Store = BaseStore & {
|
|
7
|
+
/**
|
|
8
|
+
* Verb registry reconstructed from the configured base registry plus
|
|
9
|
+
* declaration rows visible at the transaction-time boundary.
|
|
10
|
+
*/
|
|
11
|
+
readonly registryAsOf: (asOf: string) => Canonical.Registry.t
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
type OpenOptions = {
|
|
15
|
+
readonly registry?: Canonical.Registry.t
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
type Declaration = {
|
|
19
|
+
readonly subject: string
|
|
20
|
+
readonly verb: string
|
|
21
|
+
readonly object: string
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const upperTxBound = (text: string): string => {
|
|
25
|
+
const hasTime = text.includes('T')
|
|
26
|
+
const start = Date.parse(hasTime ? text : `${text}T00:00:00Z`)
|
|
27
|
+
if (Number.isNaN(start)) {
|
|
28
|
+
throw new Error(`CAVE: cannot parse as-of boundary ${JSON.stringify(text)}`)
|
|
29
|
+
}
|
|
30
|
+
const end = start + (hasTime ? 1_000 : 86_400_000)
|
|
31
|
+
return Uuidv7.at(end, 0, new Uint8Array(8))
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const declarationsAsOf = (store: BaseStore, asOf: string): Declaration[] => {
|
|
35
|
+
const id = asOf.toLowerCase()
|
|
36
|
+
const [condition, boundary] = Uuidv7.is(id) ?
|
|
37
|
+
['tx <= ?', id] as const :
|
|
38
|
+
['tx < ?', upperTxBound(asOf)] as const
|
|
39
|
+
return store.db.prepare(`
|
|
40
|
+
SELECT subject, verb, object FROM cave_claim
|
|
41
|
+
WHERE ${condition}
|
|
42
|
+
AND negated = 0 AND object IS NOT NULL AND verb IN ('REVERSE', 'IS')
|
|
43
|
+
AND id NOT IN (SELECT child_id FROM cave_edge WHERE role IN ('WHEN', 'VIA', 'BECAUSE'))
|
|
44
|
+
ORDER BY tx
|
|
45
|
+
`).all(boundary) as Declaration[]
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const applyDeclarations = (
|
|
49
|
+
baseRegistry: Canonical.Registry.t,
|
|
50
|
+
declarations: readonly Declaration[]
|
|
51
|
+
): Canonical.Registry.t => {
|
|
52
|
+
let registry = baseRegistry
|
|
53
|
+
for (const declaration of declarations) {
|
|
54
|
+
if (!Verb.isVerbToken(declaration.subject)) {
|
|
55
|
+
continue
|
|
56
|
+
}
|
|
57
|
+
if (declaration.verb === 'REVERSE' && Verb.isVerbToken(declaration.object)) {
|
|
58
|
+
registry = Canonical.Registry.declareReverse(
|
|
59
|
+
registry,
|
|
60
|
+
declaration.subject,
|
|
61
|
+
declaration.object
|
|
62
|
+
).registry
|
|
63
|
+
} else if (declaration.verb === 'IS' && declaration.object === 'verb') {
|
|
64
|
+
registry = Canonical.Registry.declareVerb(registry, declaration.subject)
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return registry
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Public store constructor. It retains the configured base registry so
|
|
72
|
+
* transaction-time query views can rebuild vocabulary at the same boundary
|
|
73
|
+
* as their claim rows.
|
|
74
|
+
*/
|
|
75
|
+
export const open = (path: string = ':memory:', options: OpenOptions = {}): Store => {
|
|
76
|
+
const baseRegistry = options.registry ?? Canonical.standardRegistry
|
|
77
|
+
const store = openStore(path, options)
|
|
78
|
+
return Object.assign(store, {
|
|
79
|
+
registryAsOf: (asOf: string): Canonical.Registry.t =>
|
|
80
|
+
applyDeclarations(baseRegistry, declarationsAsOf(store, asOf))
|
|
81
|
+
})
|
|
82
|
+
}
|
package/src/row.ts
CHANGED
|
@@ -48,6 +48,15 @@ export const parseTerm = (text: string): Claim.Term => {
|
|
|
48
48
|
return Claim.entity(text)
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
+
/**
|
|
52
|
+
* SQL predicate: `column` holds an entity-form term — not a `"…"` text or
|
|
53
|
+
* `` `…` `` code literal encoding (the stored-text dual of `parseTerm`).
|
|
54
|
+
* The §13.6 alias closure joins entity endpoints only: a literal names a
|
|
55
|
+
* value, not an entity.
|
|
56
|
+
*/
|
|
57
|
+
export const entityTermSql = (column: string): string =>
|
|
58
|
+
`NOT (length(${column}) >= 2 AND substr(${column}, 1, 1) = substr(${column}, -1, 1) AND substr(${column}, 1, 1) IN ('\`', '"'))`
|
|
59
|
+
|
|
51
60
|
/** @returns value parsed back from its stored as-written text. */
|
|
52
61
|
export const parseValue = (text: string): Value.t => {
|
|
53
62
|
if (text.length >= 2 && text.startsWith('`') && text.endsWith('`')) {
|
package/src/schema.ts
CHANGED
|
@@ -48,6 +48,7 @@ CREATE TABLE IF NOT EXISTS cave_context (
|
|
|
48
48
|
FOREIGN KEY (claim_id) REFERENCES cave_claim(id)
|
|
49
49
|
);
|
|
50
50
|
CREATE INDEX IF NOT EXISTS idx_cave_context ON cave_context (context);
|
|
51
|
+
CREATE INDEX IF NOT EXISTS idx_cave_context_claim ON cave_context (claim_id, context);
|
|
51
52
|
|
|
52
53
|
CREATE TABLE IF NOT EXISTS cave_tag (
|
|
53
54
|
claim_id TEXT NOT NULL,
|
|
@@ -56,6 +57,7 @@ CREATE TABLE IF NOT EXISTS cave_tag (
|
|
|
56
57
|
FOREIGN KEY (claim_id) REFERENCES cave_claim(id)
|
|
57
58
|
);
|
|
58
59
|
CREATE INDEX IF NOT EXISTS idx_cave_tag_key ON cave_tag (key, value);
|
|
60
|
+
CREATE INDEX IF NOT EXISTS idx_cave_tag_claim ON cave_tag (claim_id, key, value);
|
|
59
61
|
|
|
60
62
|
CREATE TABLE IF NOT EXISTS cave_edge (
|
|
61
63
|
parent_id TEXT NOT NULL,
|
package/src/store.ts
CHANGED
|
@@ -37,14 +37,19 @@ JOIN (
|
|
|
37
37
|
* Alias edges (spec §13.6): current positive `ALIAS` claims read as
|
|
38
38
|
* undirected (`ALIAS` has no `REVERSE`, so each written direction is its
|
|
39
39
|
* own claim key — both assert the same link). Retraction unmerges:
|
|
40
|
-
* `a ALIAS b @ 0%` drops that direction's edge.
|
|
40
|
+
* `a ALIAS b @ 0%` drops that direction's edge. Both endpoints must be
|
|
41
|
+
* entity-form — the closure is defined for entity terms only, so a row
|
|
42
|
+
* naming a `"…"`/`` `…` `` literal contributes no edge and two entities
|
|
43
|
+
* aliasing one literal never link through it.
|
|
41
44
|
*/
|
|
42
45
|
const aliasEdgeSql = `alias_edge(a, b) AS (
|
|
43
46
|
SELECT c.subject, c.object FROM (${currentSql}) c
|
|
44
47
|
WHERE c.verb = 'ALIAS' AND c.negated = 0 AND c.conf > 0 AND c.object IS NOT NULL
|
|
48
|
+
AND ${Row.entityTermSql('c.subject')} AND ${Row.entityTermSql('c.object')}
|
|
45
49
|
UNION
|
|
46
50
|
SELECT c.object, c.subject FROM (${currentSql}) c
|
|
47
51
|
WHERE c.verb = 'ALIAS' AND c.negated = 0 AND c.conf > 0 AND c.object IS NOT NULL
|
|
52
|
+
AND ${Row.entityTermSql('c.subject')} AND ${Row.entityTermSql('c.object')}
|
|
48
53
|
)`
|
|
49
54
|
|
|
50
55
|
/**
|
|
@@ -93,6 +98,16 @@ export type AppendOptions = {
|
|
|
93
98
|
* preserve claim keys as exported.
|
|
94
99
|
*/
|
|
95
100
|
readonly source?: string
|
|
101
|
+
/**
|
|
102
|
+
* Lifecycle stamping (spec §9.5): stamp `@src:<source>` even when the
|
|
103
|
+
* claim already names a source. Connect records, rule conclusions and
|
|
104
|
+
* action effects are found for retraction and attribution by their
|
|
105
|
+
* stamp, so an authored `src:` context must not displace it — both are
|
|
106
|
+
* kept (multi-source rows resolve per §26.3). The exact stamp context
|
|
107
|
+
* is never duplicated. Without this flag an authored source suppresses
|
|
108
|
+
* the stamp.
|
|
109
|
+
*/
|
|
110
|
+
readonly lifecycle?: boolean
|
|
96
111
|
/**
|
|
97
112
|
* Explicit row identity (spec §28.1), index-aligned with the result's
|
|
98
113
|
* claims: a claim with an id here is replayed under it — inserted with
|
|
@@ -104,11 +119,19 @@ export type AppendOptions = {
|
|
|
104
119
|
readonly ids?: readonly (undefined | string)[]
|
|
105
120
|
}
|
|
106
121
|
|
|
107
|
-
/**
|
|
108
|
-
|
|
109
|
-
|
|
122
|
+
/**
|
|
123
|
+
* Stamps `@src:<source>` on a claim without a source context (spec §9.5);
|
|
124
|
+
* with `lifecycle`, on any claim not already carrying that exact stamp.
|
|
125
|
+
*/
|
|
126
|
+
const stampSource = (claim: Claim.t, source: undefined | string, lifecycle: boolean): Claim.t => {
|
|
127
|
+
if (source === undefined) {
|
|
128
|
+
return claim
|
|
129
|
+
}
|
|
130
|
+
const context = Context.source(source)
|
|
131
|
+
return claim.contexts.includes(context) || (!lifecycle && Context.hasSource(claim.contexts)) ?
|
|
110
132
|
claim :
|
|
111
|
-
{ ...claim, contexts: [...claim.contexts,
|
|
133
|
+
{ ...claim, contexts: [...claim.contexts, context] }
|
|
134
|
+
}
|
|
112
135
|
|
|
113
136
|
export type ForwardFact = {
|
|
114
137
|
/** Canonical (primary) verb. */
|
|
@@ -272,7 +295,7 @@ export const open = (path: string = ':memory:', options: { registry?: Canonical.
|
|
|
272
295
|
return
|
|
273
296
|
}
|
|
274
297
|
}
|
|
275
|
-
const claim = stampSource(entry.claim, options_.source)
|
|
298
|
+
const claim = stampSource(entry.claim, options_.source, options_.lifecycle === true)
|
|
276
299
|
const id = explicit ?? Uuidv7.next()
|
|
277
300
|
const columns = Row.toColumns(claim)
|
|
278
301
|
const rawLine = columns.rawLine === '' ? Canonical.emitClaim(claim) : columns.rawLine
|
|
@@ -553,13 +576,17 @@ export const open = (path: string = ':memory:', options: { registry?: Canonical.
|
|
|
553
576
|
* Full-text search, newest first. The query is treated as a literal
|
|
554
577
|
* phrase by default (safe for terms like `token-expiry`, which FTS5
|
|
555
578
|
* would otherwise parse as a column filter); pass `raw` to use full
|
|
556
|
-
* FTS5 MATCH syntax.
|
|
579
|
+
* FTS5 MATCH syntax. `limit` caps the rows inside the query itself,
|
|
580
|
+
* so a broad search never materializes more than the caller reads.
|
|
557
581
|
*/
|
|
558
|
-
search(query: string, options_: { raw?: boolean } = {}): Row.t[] {
|
|
582
|
+
search(query: string, options_: { raw?: boolean, limit?: number } = {}): Row.t[] {
|
|
559
583
|
const match = options_.raw === true ? query : `"${query.replaceAll('"', '""')}"`
|
|
560
|
-
|
|
584
|
+
const sql = `
|
|
561
585
|
SELECT c.* FROM cave_claim c JOIN cave_fts f ON c.id = f.claim_id
|
|
562
|
-
WHERE cave_fts MATCH ? ORDER BY c.tx DESC
|
|
586
|
+
WHERE cave_fts MATCH ? ORDER BY c.tx DESC`
|
|
587
|
+
return options_.limit === undefined ?
|
|
588
|
+
rows(sql, match) :
|
|
589
|
+
rows(`${sql} LIMIT ?`, match, options_.limit)
|
|
563
590
|
},
|
|
564
591
|
|
|
565
592
|
/**
|