@graview/core 0.1.20 → 0.1.22
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 +28 -0
- package/dist/blocks.d.ts +3 -0
- package/dist/blocks.d.ts.map +1 -1
- package/dist/blocks.js +2 -0
- package/dist/blocks.js.map +1 -1
- package/dist/capabilities.js +1 -1
- package/dist/capabilities.js.map +1 -1
- package/dist/cli/check/computed.d.ts +4 -2
- package/dist/cli/check/computed.d.ts.map +1 -1
- package/dist/cli/check/computed.js +7 -4
- package/dist/cli/check/computed.js.map +1 -1
- package/dist/cli/check/lenses.d.ts.map +1 -1
- package/dist/cli/check/lenses.js +4 -2
- package/dist/cli/check/lenses.js.map +1 -1
- package/dist/cli/check/policy.d.ts.map +1 -1
- package/dist/cli/check/policy.js +12 -4
- package/dist/cli/check/policy.js.map +1 -1
- package/dist/cli/check/relations.d.ts +0 -11
- package/dist/cli/check/relations.d.ts.map +1 -1
- package/dist/cli/check/relations.js +21 -46
- package/dist/cli/check/relations.js.map +1 -1
- package/dist/cli/check/views.d.ts.map +1 -1
- package/dist/cli/check/views.js +3 -2
- package/dist/cli/check/views.js.map +1 -1
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +1 -2
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/describe.d.ts.map +1 -1
- package/dist/cli/describe.js +23 -2
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/doctor.d.ts +34 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +346 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/document-schema.d.ts +6 -0
- package/dist/cli/document-schema.d.ts.map +1 -0
- package/dist/cli/document-schema.js +55 -0
- package/dist/cli/document-schema.js.map +1 -0
- package/dist/cli/index.d.ts +3 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +41 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/types.d.ts +12 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +95 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/conformance/fixtures.d.ts.map +1 -1
- package/dist/conformance/fixtures.js +6 -3
- package/dist/conformance/fixtures.js.map +1 -1
- package/dist/describe.d.ts +3 -1
- package/dist/describe.d.ts.map +1 -1
- package/dist/describe.js +9 -0
- package/dist/describe.js.map +1 -1
- package/dist/document/block-context.d.ts +50 -0
- package/dist/document/block-context.d.ts.map +1 -0
- package/dist/document/block-context.js +69 -0
- package/dist/document/block-context.js.map +1 -0
- package/dist/document/blocks.d.ts +24 -10
- package/dist/document/blocks.d.ts.map +1 -1
- package/dist/document/blocks.js +50 -39
- package/dist/document/blocks.js.map +1 -1
- package/dist/document/compile-checked.d.ts.map +1 -1
- package/dist/document/compile-checked.js +6 -3
- package/dist/document/compile-checked.js.map +1 -1
- package/dist/document/compile.d.ts +1 -1
- package/dist/document/compile.d.ts.map +1 -1
- package/dist/document/compile.js +8 -3
- package/dist/document/compile.js.map +1 -1
- package/dist/document/compiled.d.ts +2 -0
- package/dist/document/compiled.d.ts.map +1 -1
- package/dist/document/compiled.js +31 -27
- package/dist/document/compiled.js.map +1 -1
- package/dist/document/computed-values.d.ts +6 -1
- package/dist/document/computed-values.d.ts.map +1 -1
- package/dist/document/computed-values.js +7 -4
- package/dist/document/computed-values.js.map +1 -1
- package/dist/document/computed.d.ts +21 -0
- package/dist/document/computed.d.ts.map +1 -1
- package/dist/document/computed.js +54 -4
- package/dist/document/computed.js.map +1 -1
- package/dist/document/describe-place.d.ts +15 -0
- package/dist/document/describe-place.d.ts.map +1 -1
- package/dist/document/describe-place.js +33 -28
- package/dist/document/describe-place.js.map +1 -1
- package/dist/document/diff.d.ts.map +1 -1
- package/dist/document/diff.js +22 -0
- package/dist/document/diff.js.map +1 -1
- package/dist/document/edit.d.ts.map +1 -1
- package/dist/document/edit.js +34 -0
- package/dist/document/edit.js.map +1 -1
- package/dist/document/expr/evaluate.d.ts +7 -1
- package/dist/document/expr/evaluate.d.ts.map +1 -1
- package/dist/document/expr/evaluate.js +19 -5
- package/dist/document/expr/evaluate.js.map +1 -1
- package/dist/document/expr/index.d.ts +1 -1
- package/dist/document/expr/index.d.ts.map +1 -1
- package/dist/document/expr/index.js +1 -1
- package/dist/document/expr/index.js.map +1 -1
- package/dist/document/expr/parse.js +1 -1
- package/dist/document/expr/parse.js.map +1 -1
- package/dist/document/fact-values.d.ts +21 -0
- package/dist/document/fact-values.d.ts.map +1 -0
- package/dist/document/fact-values.js +24 -0
- package/dist/document/fact-values.js.map +1 -0
- package/dist/document/facts-and-roles.d.ts +17 -0
- package/dist/document/facts-and-roles.d.ts.map +1 -0
- package/dist/document/facts-and-roles.js +75 -0
- package/dist/document/facts-and-roles.js.map +1 -0
- package/dist/document/resolve-for.d.ts +29 -0
- package/dist/document/resolve-for.d.ts.map +1 -0
- package/dist/document/resolve-for.js +23 -0
- package/dist/document/resolve-for.js.map +1 -0
- package/dist/document/respell.js +2 -2
- package/dist/document/respell.js.map +1 -1
- package/dist/document/rule-line.d.ts.map +1 -1
- package/dist/document/rule-line.js +6 -2
- package/dist/document/rule-line.js.map +1 -1
- package/dist/document/rules.d.ts.map +1 -1
- package/dist/document/rules.js +5 -1
- package/dist/document/rules.js.map +1 -1
- package/dist/document/schema.d.ts +8 -0
- package/dist/document/schema.d.ts.map +1 -1
- package/dist/document/schema.js +20 -3
- package/dist/document/schema.js.map +1 -1
- package/dist/document/to-document.d.ts.map +1 -1
- package/dist/document/to-document.js +2 -0
- package/dist/document/to-document.js.map +1 -1
- package/dist/document/views.d.ts +15 -1
- package/dist/document/views.d.ts.map +1 -1
- package/dist/document/views.js +82 -34
- package/dist/document/views.js.map +1 -1
- package/dist/document.schema.json +1655 -0
- package/dist/index.d.ts +1 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -5
- package/dist/index.js.map +1 -1
- package/dist/invariants/engine.d.ts +13 -0
- package/dist/invariants/engine.d.ts.map +1 -1
- package/dist/invariants/engine.js +16 -1
- package/dist/invariants/engine.js.map +1 -1
- package/dist/invariants/types.d.ts +7 -4
- package/dist/invariants/types.d.ts.map +1 -1
- package/dist/lines.d.ts +23 -3
- package/dist/lines.d.ts.map +1 -1
- package/dist/lines.js +38 -6
- package/dist/lines.js.map +1 -1
- package/dist/places.d.ts.map +1 -1
- package/dist/places.js +1 -1
- package/dist/places.js.map +1 -1
- package/dist/scaffold/project.d.ts.map +1 -1
- package/dist/scaffold/project.js +5 -0
- package/dist/scaffold/project.js.map +1 -1
- package/dist/schema/define-node.d.ts.map +1 -1
- package/dist/schema/define-node.js +6 -4
- package/dist/schema/define-node.js.map +1 -1
- package/dist/schema/schema.d.ts +10 -2
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +4 -1
- package/dist/schema/schema.js.map +1 -1
- package/dist/seen.d.ts.map +1 -1
- package/dist/seen.js +5 -2
- package/dist/seen.js.map +1 -1
- package/dist/snapshot.d.ts +67 -0
- package/dist/snapshot.d.ts.map +1 -0
- package/dist/snapshot.js +181 -0
- package/dist/snapshot.js.map +1 -0
- package/dist/store.d.ts +32 -2
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +48 -35
- package/dist/store.js.map +1 -1
- package/dist/sync/engine.d.ts +93 -9
- package/dist/sync/engine.d.ts.map +1 -1
- package/dist/sync/engine.js +357 -48
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync/index.d.ts +11 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +15 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/mcp.d.ts +124 -0
- package/dist/sync/mcp.d.ts.map +1 -0
- package/dist/sync/mcp.js +247 -0
- package/dist/sync/mcp.js.map +1 -0
- package/dist/sync/types.d.ts +35 -0
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/sync/types.js.map +1 -1
- package/dist/testing.d.ts +30 -0
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +38 -0
- package/dist/testing.js.map +1 -1
- package/dist/typed.d.ts +267 -0
- package/dist/typed.d.ts.map +1 -0
- package/dist/typed.js +35 -0
- package/dist/typed.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +16 -3
package/dist/snapshot.js
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/** The first line of every snapshot in the line format. */
|
|
2
|
+
export const SNAPSHOT_FORMAT = 2;
|
|
3
|
+
const encoder = new TextEncoder();
|
|
4
|
+
const byteLength = (text) => encoder.encode(text).length;
|
|
5
|
+
function counted(items, key) {
|
|
6
|
+
const counts = {};
|
|
7
|
+
for (const item of items)
|
|
8
|
+
counts[key(item)] = (counts[key(item)] ?? 0) + 1;
|
|
9
|
+
return counts;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A graph as a snapshot file: the header, each kind's records together in
|
|
13
|
+
* the order they first appear, then the links. `generatedAt` defaults to now.
|
|
14
|
+
*/
|
|
15
|
+
export function writeSnapshot(snapshot, options = {}) {
|
|
16
|
+
const byKind = new Map();
|
|
17
|
+
for (const node of snapshot.nodes) {
|
|
18
|
+
const lines = byKind.get(node.kind) ?? [];
|
|
19
|
+
lines.push(JSON.stringify(node));
|
|
20
|
+
byKind.set(node.kind, lines);
|
|
21
|
+
}
|
|
22
|
+
const groups = [...byKind, [null, snapshot.edges.map((edge) => JSON.stringify(edge))]];
|
|
23
|
+
const parts = [];
|
|
24
|
+
let line = 0;
|
|
25
|
+
let at = 0;
|
|
26
|
+
for (const [kind, lines] of groups) {
|
|
27
|
+
const bytes = lines.reduce((sum, text) => sum + byteLength(text) + 1, 0);
|
|
28
|
+
parts.push({ kind, line, lines: lines.length, at, bytes });
|
|
29
|
+
line += lines.length;
|
|
30
|
+
at += bytes;
|
|
31
|
+
}
|
|
32
|
+
const generatedAt = options.generatedAt ?? new Date();
|
|
33
|
+
const header = {
|
|
34
|
+
graview: "snapshot",
|
|
35
|
+
format: SNAPSHOT_FORMAT,
|
|
36
|
+
generatedAt: typeof generatedAt === "string" ? generatedAt : generatedAt.toISOString(),
|
|
37
|
+
kinds: Object.fromEntries([...byKind].map(([kind, lines]) => [kind, lines.length])),
|
|
38
|
+
edges: counted(snapshot.edges, (edge) => edge.kind),
|
|
39
|
+
parts,
|
|
40
|
+
};
|
|
41
|
+
return [JSON.stringify(header), ...groups.flatMap(([, lines]) => lines)].join("\n") + "\n";
|
|
42
|
+
}
|
|
43
|
+
function isHeader(value) {
|
|
44
|
+
return typeof value === "object" && value !== null && value.graview === "snapshot";
|
|
45
|
+
}
|
|
46
|
+
/** An old `{ nodes, edges }` file, said as a header. */
|
|
47
|
+
function legacy(value) {
|
|
48
|
+
const parsed = value;
|
|
49
|
+
if (typeof parsed !== "object" || parsed === null || !Array.isArray(parsed.nodes) || !Array.isArray(parsed.edges)) {
|
|
50
|
+
throw new Error('This is not a graph snapshot: it needs a snapshot header line, or "nodes" and "edges" arrays.');
|
|
51
|
+
}
|
|
52
|
+
const header = {
|
|
53
|
+
graview: "snapshot",
|
|
54
|
+
format: 1,
|
|
55
|
+
...(typeof parsed.generatedAt === "string" ? { generatedAt: parsed.generatedAt } : {}),
|
|
56
|
+
kinds: counted(parsed.nodes, (node) => node.kind),
|
|
57
|
+
edges: counted(parsed.edges, (edge) => edge.kind),
|
|
58
|
+
parts: [],
|
|
59
|
+
};
|
|
60
|
+
return { header, snapshot: { nodes: parsed.nodes, edges: parsed.edges } };
|
|
61
|
+
}
|
|
62
|
+
function firstLine(text) {
|
|
63
|
+
const end = text.indexOf("\n");
|
|
64
|
+
return end === -1 ? text : text.slice(0, end);
|
|
65
|
+
}
|
|
66
|
+
function parseHeader(line) {
|
|
67
|
+
try {
|
|
68
|
+
const value = JSON.parse(line);
|
|
69
|
+
if (!isHeader(value))
|
|
70
|
+
return undefined;
|
|
71
|
+
if (value.format > SNAPSHOT_FORMAT) {
|
|
72
|
+
throw new Error(`This snapshot is in format ${value.format}, newer than this framework reads (${SNAPSHOT_FORMAT}).`);
|
|
73
|
+
}
|
|
74
|
+
return value;
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
if (error instanceof SyntaxError)
|
|
78
|
+
return undefined;
|
|
79
|
+
throw error;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/** Keeps the records of the asked kinds, and the links whose both ends are kept. */
|
|
83
|
+
function narrowed(snapshot, kinds) {
|
|
84
|
+
if (!kinds)
|
|
85
|
+
return snapshot;
|
|
86
|
+
const nodes = snapshot.nodes.filter((node) => kinds.includes(node.kind));
|
|
87
|
+
const ids = new Set(nodes.map((node) => node.id));
|
|
88
|
+
return { nodes, edges: snapshot.edges.filter((edge) => ids.has(edge.from) && ids.has(edge.to)) };
|
|
89
|
+
}
|
|
90
|
+
/** What a snapshot says about itself, read from its first line alone (an old file is read whole). */
|
|
91
|
+
export function readSnapshotHeader(text) {
|
|
92
|
+
return parseHeader(firstLine(text)) ?? legacy(JSON.parse(text)).header;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* A snapshot file, read: the line format or an old `{ nodes, edges }`. With
|
|
96
|
+
* `kinds`, only those kinds' lines are parsed — the rest are skipped by the
|
|
97
|
+
* header's line counts, never read as JSON.
|
|
98
|
+
*/
|
|
99
|
+
export function readSnapshot(text, options = {}) {
|
|
100
|
+
const header = parseHeader(firstLine(text));
|
|
101
|
+
if (!header) {
|
|
102
|
+
const file = legacy(JSON.parse(text));
|
|
103
|
+
return { header: file.header, snapshot: narrowed(file.snapshot, options.kinds) };
|
|
104
|
+
}
|
|
105
|
+
const lines = text.split("\n");
|
|
106
|
+
const nodes = [];
|
|
107
|
+
let edges = [];
|
|
108
|
+
for (const part of header.parts) {
|
|
109
|
+
if (part.kind !== null && options.kinds && !options.kinds.includes(part.kind))
|
|
110
|
+
continue;
|
|
111
|
+
const body = lines.slice(1 + part.line, 1 + part.line + part.lines).map((line) => JSON.parse(line));
|
|
112
|
+
if (part.kind === null)
|
|
113
|
+
edges = body;
|
|
114
|
+
else
|
|
115
|
+
nodes.push(...body);
|
|
116
|
+
}
|
|
117
|
+
return { header, snapshot: narrowed({ nodes, edges }, options.kinds) };
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* A SNAPSHOT FETCHED A KIND AT A TIME. With `kinds`, the header is fetched
|
|
121
|
+
* first and then only those kinds' bytes and the links', by range; a server
|
|
122
|
+
* that does not serve ranges answers with the whole file, which is read as
|
|
123
|
+
* a whole and narrowed. Without `kinds`, the whole file. An old file is
|
|
124
|
+
* read whole either way.
|
|
125
|
+
*/
|
|
126
|
+
export async function fetchSnapshot(url, options = {}) {
|
|
127
|
+
const send = options.fetch ?? ((input, init) => fetch(input, init));
|
|
128
|
+
const get = async (range) => {
|
|
129
|
+
const response = await send(url, {
|
|
130
|
+
...options.init,
|
|
131
|
+
...(range ? { headers: { ...options.init?.headers, range } } : {}),
|
|
132
|
+
});
|
|
133
|
+
if (!response.ok)
|
|
134
|
+
throw new Error(`The snapshot at ${url} answered ${response.status}.`);
|
|
135
|
+
return response;
|
|
136
|
+
};
|
|
137
|
+
const whole = async () => readSnapshot(await (await get()).text(), options);
|
|
138
|
+
if (!options.kinds)
|
|
139
|
+
return whole();
|
|
140
|
+
const first = await get(`bytes=0-${(options.headerBytes ?? 65_536) - 1}`);
|
|
141
|
+
const opened = await first.text();
|
|
142
|
+
if (first.status !== 206)
|
|
143
|
+
return readSnapshot(opened, options);
|
|
144
|
+
const end = opened.indexOf("\n");
|
|
145
|
+
const header = end === -1 ? undefined : parseHeader(opened.slice(0, end));
|
|
146
|
+
if (!header)
|
|
147
|
+
return whole();
|
|
148
|
+
const start = byteLength(opened.slice(0, end)) + 1;
|
|
149
|
+
const wanted = header.parts.filter((part) => part.bytes > 0 && (part.kind === null || options.kinds.includes(part.kind)));
|
|
150
|
+
// Neighboring parts in one request: the body keeps a kind's lines together, so two kinds side by side are one range.
|
|
151
|
+
const ranges = [];
|
|
152
|
+
for (const part of wanted) {
|
|
153
|
+
const last = ranges[ranges.length - 1];
|
|
154
|
+
if (last && last.to === part.at) {
|
|
155
|
+
last.to = part.at + part.bytes;
|
|
156
|
+
last.parts.push(part);
|
|
157
|
+
}
|
|
158
|
+
else
|
|
159
|
+
ranges.push({ from: part.at, to: part.at + part.bytes, parts: [part] });
|
|
160
|
+
}
|
|
161
|
+
const nodes = [];
|
|
162
|
+
const edges = [];
|
|
163
|
+
for (const range of ranges) {
|
|
164
|
+
const response = await get(`bytes=${start + range.from}-${start + range.to - 1}`);
|
|
165
|
+
const text = await response.text();
|
|
166
|
+
if (response.status !== 206)
|
|
167
|
+
return readSnapshot(text, options);
|
|
168
|
+
const lines = text.split("\n");
|
|
169
|
+
let at = 0;
|
|
170
|
+
for (const part of range.parts) {
|
|
171
|
+
const records = lines.slice(at, at + part.lines).map((line) => JSON.parse(line));
|
|
172
|
+
at += part.lines;
|
|
173
|
+
if (part.kind === null)
|
|
174
|
+
edges.push(...records);
|
|
175
|
+
else
|
|
176
|
+
nodes.push(...records);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return { header, snapshot: narrowed({ nodes, edges }, options.kinds) };
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"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"}
|
package/dist/store.d.ts
CHANGED
|
@@ -110,6 +110,13 @@ export interface StoreOptions<S extends AnySchema> {
|
|
|
110
110
|
* wall in the same way, and an app should not have to remember.
|
|
111
111
|
*/
|
|
112
112
|
readonly intelligence?: readonly IntelligenceProviderDeclaration[];
|
|
113
|
+
/**
|
|
114
|
+
* WHO ACTS WHEN A CHANGE NAMES NOBODY: the reader of this page, so what
|
|
115
|
+
* they do is attributed to them in the log rather than to "a person".
|
|
116
|
+
* An apply or an undo that names its author still says its own. Absent,
|
|
117
|
+
* a person with no name.
|
|
118
|
+
*/
|
|
119
|
+
readonly principal?: Author | Principal;
|
|
113
120
|
}
|
|
114
121
|
export interface ApplyOptions {
|
|
115
122
|
/**
|
|
@@ -230,8 +237,28 @@ export interface AppendOp {
|
|
|
230
237
|
}
|
|
231
238
|
/** Who turns a module off or on: the workspace itself, `system · modules` (FR-12). */
|
|
232
239
|
export declare const MODULES_AUTHOR: Author;
|
|
233
|
-
/**
|
|
234
|
-
|
|
240
|
+
/**
|
|
241
|
+
* A violation's identity across judgments: the rule, what it is about, and
|
|
242
|
+
* what it says. A rule that says its line breaks once per record, so with
|
|
243
|
+
* a line it is the rule and the record: the values the line found, which
|
|
244
|
+
* an act that leaves the rule broken may change, are not who it is (FR-159).
|
|
245
|
+
* `shaped` names those rules for a judgment that has no lines yet — the
|
|
246
|
+
* words not fetched, or one that could not be worked out — so a problem is
|
|
247
|
+
* the same problem before the words arrive and after (`shapedRules`).
|
|
248
|
+
*/
|
|
249
|
+
export declare function violationKey(v: Violation, shaped?: ReadonlySet<string>): string;
|
|
250
|
+
/** The rules that have a shape, by name: what `violationKey` keys by the rule and the record. */
|
|
251
|
+
export declare const shapedRules: (rules: readonly Pick<InvariantDefinition, "name" | "shape">[]) => ReadonlySet<string>;
|
|
252
|
+
/**
|
|
253
|
+
* WHAT A CHANGE BROKE AND MENDED: the problems after it that were not
|
|
254
|
+
* before, and those before that are not after, each known by its
|
|
255
|
+
* `violationKey` — a problem judged before the words arrived is the same
|
|
256
|
+
* problem after.
|
|
257
|
+
*/
|
|
258
|
+
export declare function problemsMoved(rules: readonly Pick<InvariantDefinition, "name" | "shape">[], before: readonly Violation[], after: readonly Violation[]): {
|
|
259
|
+
introduces: Violation[];
|
|
260
|
+
resolves: Violation[];
|
|
261
|
+
};
|
|
235
262
|
/**
|
|
236
263
|
* The unit of the framework an app holds: a graph, the log it folds from,
|
|
237
264
|
* the mutations that may touch it and the invariants that judge it.
|
|
@@ -334,6 +361,7 @@ export declare class Store<S extends AnySchema> {
|
|
|
334
361
|
readonly intelligence: readonly IntelligenceProviderDeclaration[];
|
|
335
362
|
/** What each declared agent may do, by provider name. */
|
|
336
363
|
private readonly may;
|
|
364
|
+
private readonly by;
|
|
337
365
|
private readonly declaredModules;
|
|
338
366
|
private readonly startingModules;
|
|
339
367
|
/** The projection, and the log it was read from: its length and its last op. */
|
|
@@ -391,6 +419,8 @@ export declare class Store<S extends AnySchema> {
|
|
|
391
419
|
allMutations(): AnyMutationDefinition<S>[];
|
|
392
420
|
/** The declared acts a derived act resolves its permission through. */
|
|
393
421
|
private viaOf;
|
|
422
|
+
/** What a change broke and mended, by this store's rules (`problemsMoved`). */
|
|
423
|
+
private moved;
|
|
394
424
|
allInvariants(): readonly InvariantDefinition<S>[];
|
|
395
425
|
/**
|
|
396
426
|
* An invariant is off when its module is, and also when it is scoped to a
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/dist/store.js
CHANGED
|
@@ -18,6 +18,7 @@ import { PermissionDeniedError } from "./permissions/types.js";
|
|
|
18
18
|
import { checkUndo, UndoBlockedError, undoPrimitives } from "./ops/undo.js";
|
|
19
19
|
import { validateGraph } from "./validate-graph.js";
|
|
20
20
|
import { tellTheWatchItsNames, tellTheWatchOfAStore, tellTheWatchOfAnAuthor, tellTheWatchOfARefusal } from "./watched.js";
|
|
21
|
+
import { capitalize } from "./capital.js";
|
|
21
22
|
import { pluralOf } from "./schema/define-node.js";
|
|
22
23
|
/** The batch a preview's ops are under when it was given none: no store mints it. */
|
|
23
24
|
export const PREVIEW_BATCH = "preview";
|
|
@@ -38,9 +39,32 @@ export const MODULES_AUTHOR = { kind: "system", id: "modules", name: "Modules" }
|
|
|
38
39
|
* refused, and says why.
|
|
39
40
|
*/
|
|
40
41
|
const putsBack = (op) => op.mutation === null && op.undoes === undefined;
|
|
41
|
-
/**
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
/**
|
|
43
|
+
* A violation's identity across judgments: the rule, what it is about, and
|
|
44
|
+
* what it says. A rule that says its line breaks once per record, so with
|
|
45
|
+
* a line it is the rule and the record: the values the line found, which
|
|
46
|
+
* an act that leaves the rule broken may change, are not who it is (FR-159).
|
|
47
|
+
* `shaped` names those rules for a judgment that has no lines yet — the
|
|
48
|
+
* words not fetched, or one that could not be worked out — so a problem is
|
|
49
|
+
* the same problem before the words arrive and after (`shapedRules`).
|
|
50
|
+
*/
|
|
51
|
+
export function violationKey(v, shaped) {
|
|
52
|
+
return `${v.invariant}|${v.subjectId ?? ""}|${v.line || shaped?.has(v.invariant) ? v.label : v.message}`;
|
|
53
|
+
}
|
|
54
|
+
/** The rules that have a shape, by name: what `violationKey` keys by the rule and the record. */
|
|
55
|
+
export const shapedRules = (rules) => new Set(rules.filter((rule) => rule.shape).map((rule) => rule.name));
|
|
56
|
+
/**
|
|
57
|
+
* WHAT A CHANGE BROKE AND MENDED: the problems after it that were not
|
|
58
|
+
* before, and those before that are not after, each known by its
|
|
59
|
+
* `violationKey` — a problem judged before the words arrived is the same
|
|
60
|
+
* problem after.
|
|
61
|
+
*/
|
|
62
|
+
export function problemsMoved(rules, before, after) {
|
|
63
|
+
const shaped = shapedRules(rules);
|
|
64
|
+
const key = (v) => violationKey(v, shaped);
|
|
65
|
+
const was = new Set(before.map(key));
|
|
66
|
+
const is = new Set(after.map(key));
|
|
67
|
+
return { introduces: after.filter((v) => !was.has(key(v))), resolves: before.filter((v) => !is.has(key(v))) };
|
|
44
68
|
}
|
|
45
69
|
/**
|
|
46
70
|
* The unit of the framework an app holds: a graph, the log it folds from,
|
|
@@ -111,6 +135,7 @@ export class Store {
|
|
|
111
135
|
intelligence;
|
|
112
136
|
/** What each declared agent may do, by provider name. */
|
|
113
137
|
may = new Map();
|
|
138
|
+
by;
|
|
114
139
|
declaredModules;
|
|
115
140
|
startingModules;
|
|
116
141
|
/** The projection, and the log it was read from: its length and its last op. */
|
|
@@ -139,6 +164,7 @@ export class Store {
|
|
|
139
164
|
this.invariants = options.invariants ?? [];
|
|
140
165
|
this.invariantOptions = options.invariantOptions ?? {};
|
|
141
166
|
this.policy = options.policy;
|
|
167
|
+
this.by = options.principal ?? HUMAN;
|
|
142
168
|
this.intelligence = options.intelligence ?? [];
|
|
143
169
|
for (const provider of options.intelligence ?? []) {
|
|
144
170
|
if (provider.may)
|
|
@@ -171,23 +197,18 @@ export class Store {
|
|
|
171
197
|
}
|
|
172
198
|
tellTheWatchItsNames(options.schema, this.mutations.values(), options.policy);
|
|
173
199
|
const horizon = options.horizon !== undefined ? { horizon: options.horizon } : {};
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
this.graph = Graph.from(options.schema, options.snapshot, {
|
|
178
|
-
validate: options.validate ?? true,
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
else if (options.log) {
|
|
200
|
+
const validate = { validate: this.validate };
|
|
201
|
+
if (options.log) {
|
|
202
|
+
// Hydrate: the history as recorded, and the graph as stored — or, with none stored, folded from the history.
|
|
182
203
|
this.log = OperationLog.from(options.log, options.epochs, horizon);
|
|
183
204
|
const last = this.log.lastEpoch();
|
|
184
|
-
this.graph =
|
|
205
|
+
this.graph = options.snapshot
|
|
206
|
+
? Graph.from(options.schema, options.snapshot, validate)
|
|
207
|
+
: this.log.fold(options.schema, { ...validate, ...(last ? { from: last } : {}) });
|
|
185
208
|
}
|
|
186
209
|
else {
|
|
187
210
|
this.log = OperationLog.from([], options.epochs ?? (options.snapshot ? [{ seq: options.horizon ?? 0, base: options.snapshot }] : []), horizon);
|
|
188
|
-
this.graph = Graph.from(options.schema, options.snapshot ?? { nodes: [], edges: [] },
|
|
189
|
-
validate: options.validate ?? true,
|
|
190
|
-
});
|
|
211
|
+
this.graph = Graph.from(options.schema, options.snapshot ?? { nodes: [], edges: [] }, validate);
|
|
191
212
|
}
|
|
192
213
|
/*
|
|
193
214
|
* A HYDRATED STORE COUNTS ON FROM WHERE THE LOG LEFT OFF.
|
|
@@ -283,7 +304,7 @@ export class Store {
|
|
|
283
304
|
seq: this.log.length,
|
|
284
305
|
batch: options.batch ?? this.mintBatch("batch"),
|
|
285
306
|
author: MODULES_AUTHOR,
|
|
286
|
-
intent:
|
|
307
|
+
intent: capitalize(said),
|
|
287
308
|
mutation: null,
|
|
288
309
|
primitives: [],
|
|
289
310
|
inverse: [],
|
|
@@ -324,6 +345,10 @@ export class Store {
|
|
|
324
345
|
return undefined;
|
|
325
346
|
return derivedVia(this.schema, [...this.mutations.values()], mutation);
|
|
326
347
|
}
|
|
348
|
+
/** What a change broke and mended, by this store's rules (`problemsMoved`). */
|
|
349
|
+
moved(before, after) {
|
|
350
|
+
return problemsMoved(this.allInvariants(), before, after);
|
|
351
|
+
}
|
|
327
352
|
allInvariants() {
|
|
328
353
|
return this.invariants.filter((invariant) => this.invariantEnabled(invariant));
|
|
329
354
|
}
|
|
@@ -740,16 +765,13 @@ export class Store {
|
|
|
740
765
|
...this.invariantOptions,
|
|
741
766
|
...(meta.context === undefined ? {} : { context: meta.context }),
|
|
742
767
|
});
|
|
743
|
-
const beforeKeys = new Set(before.map(violationKey));
|
|
744
|
-
const afterKeys = new Set(after.map(violationKey));
|
|
745
768
|
return {
|
|
746
769
|
diff,
|
|
747
770
|
primitives,
|
|
748
771
|
reads: meta.reads,
|
|
749
772
|
writes: meta.writes,
|
|
750
773
|
intent: meta.intent,
|
|
751
|
-
|
|
752
|
-
resolves: before.filter((v) => !afterKeys.has(violationKey(v))),
|
|
774
|
+
...this.moved(before, after),
|
|
753
775
|
violationsAfter: after,
|
|
754
776
|
};
|
|
755
777
|
}
|
|
@@ -768,7 +790,7 @@ export class Store {
|
|
|
768
790
|
*/
|
|
769
791
|
applying(calls, options, context) {
|
|
770
792
|
const batch = options.batch ?? this.mintBatch("batch");
|
|
771
|
-
const author = options.author ??
|
|
793
|
+
const author = options.author ?? this.by;
|
|
772
794
|
const ops = [];
|
|
773
795
|
const allPrimitives = [];
|
|
774
796
|
const reads = new Set();
|
|
@@ -884,8 +906,6 @@ export class Store {
|
|
|
884
906
|
const diff = diffSnapshots(rollback, this.graph.snapshot());
|
|
885
907
|
this.admitted(options, ops, allPrimitives, diff, rollback, kept);
|
|
886
908
|
const after = this.violations(context);
|
|
887
|
-
const beforeKeys = new Set(before.map(violationKey));
|
|
888
|
-
const afterKeys = new Set(after.map(violationKey));
|
|
889
909
|
this.notify(diff, ops);
|
|
890
910
|
return {
|
|
891
911
|
batch,
|
|
@@ -895,8 +915,7 @@ export class Store {
|
|
|
895
915
|
reads: [...reads],
|
|
896
916
|
writes: [...writes],
|
|
897
917
|
intent: options.intent ?? intents.join("; "),
|
|
898
|
-
|
|
899
|
-
resolves: before.filter((v) => !afterKeys.has(violationKey(v))),
|
|
918
|
+
...this.moved(before, after),
|
|
900
919
|
violationsAfter: after,
|
|
901
920
|
};
|
|
902
921
|
}
|
|
@@ -1044,7 +1063,7 @@ export class Store {
|
|
|
1044
1063
|
*/
|
|
1045
1064
|
applyPrimitives(primitives, options = {}) {
|
|
1046
1065
|
const batch = options.batch ?? this.mintBatch("batch");
|
|
1047
|
-
const author = options.author ??
|
|
1066
|
+
const author = options.author ?? this.by;
|
|
1048
1067
|
const before = this.violations();
|
|
1049
1068
|
const rollback = this.graph.snapshot();
|
|
1050
1069
|
const intent = options.intent ?? "Apply a change";
|
|
@@ -1071,8 +1090,6 @@ export class Store {
|
|
|
1071
1090
|
tellTheWatchOfAnAuthor(author.id);
|
|
1072
1091
|
}
|
|
1073
1092
|
const after = this.violations();
|
|
1074
|
-
const beforeKeys = new Set(before.map(violationKey));
|
|
1075
|
-
const afterKeys = new Set(after.map(violationKey));
|
|
1076
1093
|
const diff = diffSnapshots(rollback, this.graph.snapshot());
|
|
1077
1094
|
this.notify(diff, ops);
|
|
1078
1095
|
return {
|
|
@@ -1083,8 +1100,7 @@ export class Store {
|
|
|
1083
1100
|
reads: [],
|
|
1084
1101
|
writes: ops[0]?.writes ?? [],
|
|
1085
1102
|
intent,
|
|
1086
|
-
|
|
1087
|
-
resolves: before.filter((v) => !afterKeys.has(violationKey(v))),
|
|
1103
|
+
...this.moved(before, after),
|
|
1088
1104
|
violationsAfter: after,
|
|
1089
1105
|
};
|
|
1090
1106
|
}
|
|
@@ -1142,7 +1158,7 @@ export class Store {
|
|
|
1142
1158
|
/** `undo` itself, kept apart for the same reason as `applying`. */
|
|
1143
1159
|
undoing(batchIds, options) {
|
|
1144
1160
|
const ids = typeof batchIds === "string" ? [batchIds] : batchIds;
|
|
1145
|
-
const author = options.author ??
|
|
1161
|
+
const author = options.author ?? this.by;
|
|
1146
1162
|
/*
|
|
1147
1163
|
* JUDGED FIRST AS THIS SEAT SEES THE LOG (FR-16, FR-02). A change it
|
|
1148
1164
|
* may not see is not its to take back, and when one stands in the way
|
|
@@ -1215,8 +1231,6 @@ export class Store {
|
|
|
1215
1231
|
const diff = diffSnapshots(rollback, this.graph.snapshot());
|
|
1216
1232
|
this.admitted(options, ops, ops.flatMap((op) => [...op.primitives]), diff, rollback, kept);
|
|
1217
1233
|
const after = this.violations();
|
|
1218
|
-
const beforeKeys = new Set(before.map(violationKey));
|
|
1219
|
-
const afterKeys = new Set(after.map(violationKey));
|
|
1220
1234
|
this.notify(diff, ops);
|
|
1221
1235
|
return {
|
|
1222
1236
|
batch,
|
|
@@ -1226,8 +1240,7 @@ export class Store {
|
|
|
1226
1240
|
reads: [...new Set(ops.flatMap((op) => [...op.reads]))],
|
|
1227
1241
|
writes: [...new Set(ops.flatMap((op) => [...op.writes]))],
|
|
1228
1242
|
intent: options.intent ?? ops.map((op) => op.intent).join("; "),
|
|
1229
|
-
|
|
1230
|
-
resolves: before.filter((v) => !afterKeys.has(violationKey(v))),
|
|
1243
|
+
...this.moved(before, after),
|
|
1231
1244
|
violationsAfter: after,
|
|
1232
1245
|
};
|
|
1233
1246
|
}
|