@graview/core 0.1.21 → 0.1.23

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.
Files changed (176) hide show
  1. package/README.md +28 -0
  2. package/dist/blocks.d.ts +3 -0
  3. package/dist/blocks.d.ts.map +1 -1
  4. package/dist/blocks.js +2 -0
  5. package/dist/blocks.js.map +1 -1
  6. package/dist/capabilities.js +1 -1
  7. package/dist/capabilities.js.map +1 -1
  8. package/dist/cli/check/computed.d.ts +4 -2
  9. package/dist/cli/check/computed.d.ts.map +1 -1
  10. package/dist/cli/check/computed.js +7 -4
  11. package/dist/cli/check/computed.js.map +1 -1
  12. package/dist/cli/check/lenses.d.ts.map +1 -1
  13. package/dist/cli/check/lenses.js +4 -2
  14. package/dist/cli/check/lenses.js.map +1 -1
  15. package/dist/cli/check/relations.d.ts +0 -11
  16. package/dist/cli/check/relations.d.ts.map +1 -1
  17. package/dist/cli/check/relations.js +21 -46
  18. package/dist/cli/check/relations.js.map +1 -1
  19. package/dist/cli/check/views.d.ts.map +1 -1
  20. package/dist/cli/check/views.js +3 -2
  21. package/dist/cli/check/views.js.map +1 -1
  22. package/dist/cli/check.d.ts.map +1 -1
  23. package/dist/cli/check.js +1 -2
  24. package/dist/cli/check.js.map +1 -1
  25. package/dist/cli/describe.d.ts.map +1 -1
  26. package/dist/cli/describe.js +23 -2
  27. package/dist/cli/describe.js.map +1 -1
  28. package/dist/cli/doctor.d.ts +34 -0
  29. package/dist/cli/doctor.d.ts.map +1 -0
  30. package/dist/cli/doctor.js +346 -0
  31. package/dist/cli/doctor.js.map +1 -0
  32. package/dist/cli/document-schema.d.ts +6 -0
  33. package/dist/cli/document-schema.d.ts.map +1 -0
  34. package/dist/cli/document-schema.js +55 -0
  35. package/dist/cli/document-schema.js.map +1 -0
  36. package/dist/cli/index.d.ts +3 -1
  37. package/dist/cli/index.d.ts.map +1 -1
  38. package/dist/cli/index.js +41 -2
  39. package/dist/cli/index.js.map +1 -1
  40. package/dist/cli/types.d.ts +12 -0
  41. package/dist/cli/types.d.ts.map +1 -0
  42. package/dist/cli/types.js +95 -0
  43. package/dist/cli/types.js.map +1 -0
  44. package/dist/describe.d.ts +3 -1
  45. package/dist/describe.d.ts.map +1 -1
  46. package/dist/describe.js +9 -0
  47. package/dist/describe.js.map +1 -1
  48. package/dist/document/block-context.d.ts +50 -0
  49. package/dist/document/block-context.d.ts.map +1 -0
  50. package/dist/document/block-context.js +69 -0
  51. package/dist/document/block-context.js.map +1 -0
  52. package/dist/document/blocks.d.ts +24 -10
  53. package/dist/document/blocks.d.ts.map +1 -1
  54. package/dist/document/blocks.js +50 -39
  55. package/dist/document/blocks.js.map +1 -1
  56. package/dist/document/compile-checked.d.ts.map +1 -1
  57. package/dist/document/compile-checked.js +6 -3
  58. package/dist/document/compile-checked.js.map +1 -1
  59. package/dist/document/compile.d.ts +1 -1
  60. package/dist/document/compile.d.ts.map +1 -1
  61. package/dist/document/compile.js +8 -3
  62. package/dist/document/compile.js.map +1 -1
  63. package/dist/document/compiled.d.ts +2 -0
  64. package/dist/document/compiled.d.ts.map +1 -1
  65. package/dist/document/compiled.js +31 -27
  66. package/dist/document/compiled.js.map +1 -1
  67. package/dist/document/computed-values.d.ts +6 -1
  68. package/dist/document/computed-values.d.ts.map +1 -1
  69. package/dist/document/computed-values.js +7 -4
  70. package/dist/document/computed-values.js.map +1 -1
  71. package/dist/document/computed.d.ts +21 -0
  72. package/dist/document/computed.d.ts.map +1 -1
  73. package/dist/document/computed.js +54 -4
  74. package/dist/document/computed.js.map +1 -1
  75. package/dist/document/describe-place.d.ts +15 -0
  76. package/dist/document/describe-place.d.ts.map +1 -1
  77. package/dist/document/describe-place.js +33 -28
  78. package/dist/document/describe-place.js.map +1 -1
  79. package/dist/document/diff.d.ts.map +1 -1
  80. package/dist/document/diff.js +22 -0
  81. package/dist/document/diff.js.map +1 -1
  82. package/dist/document/edit.d.ts.map +1 -1
  83. package/dist/document/edit.js +34 -0
  84. package/dist/document/edit.js.map +1 -1
  85. package/dist/document/expr/evaluate.d.ts +7 -1
  86. package/dist/document/expr/evaluate.d.ts.map +1 -1
  87. package/dist/document/expr/evaluate.js +19 -5
  88. package/dist/document/expr/evaluate.js.map +1 -1
  89. package/dist/document/expr/index.d.ts +1 -1
  90. package/dist/document/expr/index.d.ts.map +1 -1
  91. package/dist/document/expr/index.js +1 -1
  92. package/dist/document/expr/index.js.map +1 -1
  93. package/dist/document/expr/parse.js +1 -1
  94. package/dist/document/expr/parse.js.map +1 -1
  95. package/dist/document/fact-values.d.ts +21 -0
  96. package/dist/document/fact-values.d.ts.map +1 -0
  97. package/dist/document/fact-values.js +24 -0
  98. package/dist/document/fact-values.js.map +1 -0
  99. package/dist/document/facts-and-roles.d.ts +17 -0
  100. package/dist/document/facts-and-roles.d.ts.map +1 -0
  101. package/dist/document/facts-and-roles.js +75 -0
  102. package/dist/document/facts-and-roles.js.map +1 -0
  103. package/dist/document/resolve-for.d.ts +29 -0
  104. package/dist/document/resolve-for.d.ts.map +1 -0
  105. package/dist/document/resolve-for.js +23 -0
  106. package/dist/document/resolve-for.js.map +1 -0
  107. package/dist/document/respell.js +2 -2
  108. package/dist/document/respell.js.map +1 -1
  109. package/dist/document/rule-line.js +1 -1
  110. package/dist/document/rule-line.js.map +1 -1
  111. package/dist/document/rules.d.ts.map +1 -1
  112. package/dist/document/rules.js +5 -1
  113. package/dist/document/rules.js.map +1 -1
  114. package/dist/document/schema.d.ts +8 -0
  115. package/dist/document/schema.d.ts.map +1 -1
  116. package/dist/document/schema.js +20 -3
  117. package/dist/document/schema.js.map +1 -1
  118. package/dist/document/to-document.d.ts.map +1 -1
  119. package/dist/document/to-document.js +2 -0
  120. package/dist/document/to-document.js.map +1 -1
  121. package/dist/document/views.d.ts +15 -1
  122. package/dist/document/views.d.ts.map +1 -1
  123. package/dist/document/views.js +82 -34
  124. package/dist/document/views.js.map +1 -1
  125. package/dist/document.schema.json +1655 -0
  126. package/dist/index.d.ts +0 -8
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +1 -4
  129. package/dist/index.js.map +1 -1
  130. package/dist/places.d.ts.map +1 -1
  131. package/dist/places.js +1 -1
  132. package/dist/places.js.map +1 -1
  133. package/dist/scaffold/project.d.ts.map +1 -1
  134. package/dist/scaffold/project.js +6 -0
  135. package/dist/scaffold/project.js.map +1 -1
  136. package/dist/schema/define-node.d.ts.map +1 -1
  137. package/dist/schema/define-node.js +6 -4
  138. package/dist/schema/define-node.js.map +1 -1
  139. package/dist/schema/schema.d.ts +10 -2
  140. package/dist/schema/schema.d.ts.map +1 -1
  141. package/dist/schema/schema.js +4 -1
  142. package/dist/schema/schema.js.map +1 -1
  143. package/dist/snapshot.d.ts +67 -0
  144. package/dist/snapshot.d.ts.map +1 -0
  145. package/dist/snapshot.js +181 -0
  146. package/dist/snapshot.js.map +1 -0
  147. package/dist/store.d.ts +8 -0
  148. package/dist/store.d.ts.map +1 -1
  149. package/dist/store.js +14 -16
  150. package/dist/store.js.map +1 -1
  151. package/dist/sync/engine.d.ts +93 -9
  152. package/dist/sync/engine.d.ts.map +1 -1
  153. package/dist/sync/engine.js +357 -48
  154. package/dist/sync/engine.js.map +1 -1
  155. package/dist/sync/index.d.ts +11 -0
  156. package/dist/sync/index.d.ts.map +1 -0
  157. package/dist/sync/index.js +15 -0
  158. package/dist/sync/index.js.map +1 -0
  159. package/dist/sync/mcp.d.ts +124 -0
  160. package/dist/sync/mcp.d.ts.map +1 -0
  161. package/dist/sync/mcp.js +247 -0
  162. package/dist/sync/mcp.js.map +1 -0
  163. package/dist/sync/types.d.ts +35 -0
  164. package/dist/sync/types.d.ts.map +1 -1
  165. package/dist/sync/types.js.map +1 -1
  166. package/dist/testing.d.ts +30 -0
  167. package/dist/testing.d.ts.map +1 -1
  168. package/dist/testing.js +38 -0
  169. package/dist/testing.js.map +1 -1
  170. package/dist/typed.d.ts +267 -0
  171. package/dist/typed.d.ts.map +1 -0
  172. package/dist/typed.js +35 -0
  173. package/dist/typed.js.map +1 -0
  174. package/dist/version.d.ts +1 -1
  175. package/dist/version.js +1 -1
  176. package/package.json +16 -3
@@ -0,0 +1,67 @@
1
+ import type { GraphSnapshot } from "./graph/types.js";
2
+ /** One kind's lines in the body (`kind` null: the links), by line and by byte from the body's start. */
3
+ export interface SnapshotPart {
4
+ readonly kind: string | null;
5
+ /** The part's first line, counted from the line after the header. */
6
+ readonly line: number;
7
+ readonly lines: number;
8
+ /** The part's first byte, counted from the byte after the header's newline. */
9
+ readonly at: number;
10
+ readonly bytes: number;
11
+ }
12
+ export interface SnapshotHeader {
13
+ readonly graview: "snapshot";
14
+ /** 2 for the lines; 1 for an old `{ nodes, edges }` file, which says no time and has no parts. */
15
+ readonly format: 1 | 2;
16
+ /** When the snapshot was made, as an ISO time — absent when the writer never said. */
17
+ readonly generatedAt?: string;
18
+ /** Records of each kind, in the order the body holds them. */
19
+ readonly kinds: Readonly<Record<string, number>>;
20
+ /** Links of each kind. */
21
+ readonly edges: Readonly<Record<string, number>>;
22
+ readonly parts: readonly SnapshotPart[];
23
+ }
24
+ export interface SnapshotFile {
25
+ readonly header: SnapshotHeader;
26
+ /** What was read: every record, or the kinds asked for and the links among them. */
27
+ readonly snapshot: GraphSnapshot;
28
+ }
29
+ export interface ReadSnapshotOptions {
30
+ /** Only these kinds of record, and only the links whose both ends are among them. */
31
+ readonly kinds?: readonly string[];
32
+ }
33
+ /** The first line of every snapshot in the line format. */
34
+ export declare const SNAPSHOT_FORMAT = 2;
35
+ /**
36
+ * A graph as a snapshot file: the header, each kind's records together in
37
+ * the order they first appear, then the links. `generatedAt` defaults to now.
38
+ */
39
+ export declare function writeSnapshot(snapshot: GraphSnapshot, options?: {
40
+ readonly generatedAt?: string | Date;
41
+ }): string;
42
+ /** What a snapshot says about itself, read from its first line alone (an old file is read whole). */
43
+ export declare function readSnapshotHeader(text: string): SnapshotHeader;
44
+ /**
45
+ * A snapshot file, read: the line format or an old `{ nodes, edges }`. With
46
+ * `kinds`, only those kinds' lines are parsed — the rest are skipped by the
47
+ * header's line counts, never read as JSON.
48
+ */
49
+ export declare function readSnapshot(text: string, options?: ReadSnapshotOptions): SnapshotFile;
50
+ type Fetch = (input: string, init?: RequestInit) => Promise<Response>;
51
+ export interface FetchSnapshotOptions extends ReadSnapshotOptions {
52
+ readonly fetch?: Fetch;
53
+ /** How many bytes the first request asks for, to find the header in. Default 64 KB. */
54
+ readonly headerBytes?: number;
55
+ /** Anything else each request carries — credentials, a cache mode. */
56
+ readonly init?: RequestInit;
57
+ }
58
+ /**
59
+ * A SNAPSHOT FETCHED A KIND AT A TIME. With `kinds`, the header is fetched
60
+ * first and then only those kinds' bytes and the links', by range; a server
61
+ * that does not serve ranges answers with the whole file, which is read as
62
+ * a whole and narrowed. Without `kinds`, the whole file. An old file is
63
+ * read whole either way.
64
+ */
65
+ export declare function fetchSnapshot(url: string, options?: FetchSnapshotOptions): Promise<SnapshotFile>;
66
+ export {};
67
+ //# sourceMappingURL=snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjE,wGAAwG;AACxG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,kGAAkG;IAClG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;IACvB,sFAAsF;IACtF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,0BAA0B;IAC1B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,2DAA2D;AAC3D,eAAO,MAAM,eAAe,IAAI,CAAC;AAWjC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAAG,MAAM,CA2BrH;AAkDD,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAgB1F;AAED,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEtE,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,uFAAuF;IACvF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CA+C1G"}
@@ -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
  /**
@@ -354,6 +361,7 @@ export declare class Store<S extends AnySchema> {
354
361
  readonly intelligence: readonly IntelligenceProviderDeclaration[];
355
362
  /** What each declared agent may do, by provider name. */
356
363
  private readonly may;
364
+ private readonly by;
357
365
  private readonly declaredModules;
358
366
  private readonly startingModules;
359
367
  /** The projection, and the log it was read from: its length and its last op. */
@@ -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";
@@ -134,6 +135,7 @@ export class Store {
134
135
  intelligence;
135
136
  /** What each declared agent may do, by provider name. */
136
137
  may = new Map();
138
+ by;
137
139
  declaredModules;
138
140
  startingModules;
139
141
  /** The projection, and the log it was read from: its length and its last op. */
@@ -162,6 +164,7 @@ export class Store {
162
164
  this.invariants = options.invariants ?? [];
163
165
  this.invariantOptions = options.invariantOptions ?? {};
164
166
  this.policy = options.policy;
167
+ this.by = options.principal ?? HUMAN;
165
168
  this.intelligence = options.intelligence ?? [];
166
169
  for (const provider of options.intelligence ?? []) {
167
170
  if (provider.may)
@@ -194,23 +197,18 @@ export class Store {
194
197
  }
195
198
  tellTheWatchItsNames(options.schema, this.mutations.values(), options.policy);
196
199
  const horizon = options.horizon !== undefined ? { horizon: options.horizon } : {};
197
- if (options.log && options.snapshot) {
198
- // Hydrate: the graph as stored, the history as recorded.
199
- this.log = OperationLog.from(options.log, options.epochs, horizon);
200
- this.graph = Graph.from(options.schema, options.snapshot, {
201
- validate: options.validate ?? true,
202
- });
203
- }
204
- 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.
205
203
  this.log = OperationLog.from(options.log, options.epochs, horizon);
206
204
  const last = this.log.lastEpoch();
207
- this.graph = this.log.fold(options.schema, { validate: options.validate ?? true, ...(last ? { from: last } : {}) });
205
+ this.graph = options.snapshot
206
+ ? Graph.from(options.schema, options.snapshot, validate)
207
+ : this.log.fold(options.schema, { ...validate, ...(last ? { from: last } : {}) });
208
208
  }
209
209
  else {
210
210
  this.log = OperationLog.from([], options.epochs ?? (options.snapshot ? [{ seq: options.horizon ?? 0, base: options.snapshot }] : []), horizon);
211
- this.graph = Graph.from(options.schema, options.snapshot ?? { nodes: [], edges: [] }, {
212
- validate: options.validate ?? true,
213
- });
211
+ this.graph = Graph.from(options.schema, options.snapshot ?? { nodes: [], edges: [] }, validate);
214
212
  }
215
213
  /*
216
214
  * A HYDRATED STORE COUNTS ON FROM WHERE THE LOG LEFT OFF.
@@ -306,7 +304,7 @@ export class Store {
306
304
  seq: this.log.length,
307
305
  batch: options.batch ?? this.mintBatch("batch"),
308
306
  author: MODULES_AUTHOR,
309
- intent: said.charAt(0).toUpperCase() + said.slice(1),
307
+ intent: capitalize(said),
310
308
  mutation: null,
311
309
  primitives: [],
312
310
  inverse: [],
@@ -792,7 +790,7 @@ export class Store {
792
790
  */
793
791
  applying(calls, options, context) {
794
792
  const batch = options.batch ?? this.mintBatch("batch");
795
- const author = options.author ?? HUMAN;
793
+ const author = options.author ?? this.by;
796
794
  const ops = [];
797
795
  const allPrimitives = [];
798
796
  const reads = new Set();
@@ -1065,7 +1063,7 @@ export class Store {
1065
1063
  */
1066
1064
  applyPrimitives(primitives, options = {}) {
1067
1065
  const batch = options.batch ?? this.mintBatch("batch");
1068
- const author = options.author ?? HUMAN;
1066
+ const author = options.author ?? this.by;
1069
1067
  const before = this.violations();
1070
1068
  const rollback = this.graph.snapshot();
1071
1069
  const intent = options.intent ?? "Apply a change";
@@ -1160,7 +1158,7 @@ export class Store {
1160
1158
  /** `undo` itself, kept apart for the same reason as `applying`. */
1161
1159
  undoing(batchIds, options) {
1162
1160
  const ids = typeof batchIds === "string" ? [batchIds] : batchIds;
1163
- const author = options.author ?? HUMAN;
1161
+ const author = options.author ?? this.by;
1164
1162
  /*
1165
1163
  * JUDGED FIRST AS THIS SEAT SEES THE LOG (FR-16, FR-02). A change it
1166
1164
  * may not see is not its to take back, and when one stands in the way