@graview/core 0.1.0 → 0.1.2

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 (292) hide show
  1. package/README.md +7 -0
  2. package/dist/app.d.ts +17 -0
  3. package/dist/app.d.ts.map +1 -1
  4. package/dist/app.js.map +1 -1
  5. package/dist/arrange.d.ts +3 -2
  6. package/dist/arrange.d.ts.map +1 -1
  7. package/dist/arrange.js +19 -2
  8. package/dist/arrange.js.map +1 -1
  9. package/dist/beginning.d.ts +5 -2
  10. package/dist/beginning.d.ts.map +1 -1
  11. package/dist/beginning.js +28 -0
  12. package/dist/beginning.js.map +1 -1
  13. package/dist/capabilities.d.ts +32 -0
  14. package/dist/capabilities.d.ts.map +1 -0
  15. package/dist/capabilities.js +31 -0
  16. package/dist/capabilities.js.map +1 -0
  17. package/dist/cli/check/index.d.ts +1 -0
  18. package/dist/cli/check/index.d.ts.map +1 -1
  19. package/dist/cli/check/index.js +1 -0
  20. package/dist/cli/check/index.js.map +1 -1
  21. package/dist/cli/check/lenses.d.ts.map +1 -1
  22. package/dist/cli/check/lenses.js +25 -0
  23. package/dist/cli/check/lenses.js.map +1 -1
  24. package/dist/cli/check/policy.d.ts.map +1 -1
  25. package/dist/cli/check/policy.js +35 -0
  26. package/dist/cli/check/policy.js.map +1 -1
  27. package/dist/cli/check/relations.d.ts.map +1 -1
  28. package/dist/cli/check/relations.js +31 -0
  29. package/dist/cli/check/relations.js.map +1 -1
  30. package/dist/cli/check/views.d.ts +14 -0
  31. package/dist/cli/check/views.d.ts.map +1 -0
  32. package/dist/cli/check/views.js +27 -0
  33. package/dist/cli/check/views.js.map +1 -0
  34. package/dist/cli/check.d.ts.map +1 -1
  35. package/dist/cli/check.js +2 -1
  36. package/dist/cli/check.js.map +1 -1
  37. package/dist/cli/create.d.ts +1 -1
  38. package/dist/cli/create.d.ts.map +1 -1
  39. package/dist/cli/create.js +63 -1
  40. package/dist/cli/create.js.map +1 -1
  41. package/dist/cli/index.d.ts +18 -1
  42. package/dist/cli/index.d.ts.map +1 -1
  43. package/dist/cli/index.js +66 -1
  44. package/dist/cli/index.js.map +1 -1
  45. package/dist/conformance/fixtures.d.ts +41 -0
  46. package/dist/conformance/fixtures.d.ts.map +1 -0
  47. package/dist/conformance/fixtures.js +950 -0
  48. package/dist/conformance/fixtures.js.map +1 -0
  49. package/dist/conformance/index.d.ts +54 -0
  50. package/dist/conformance/index.d.ts.map +1 -0
  51. package/dist/conformance/index.js +81 -0
  52. package/dist/conformance/index.js.map +1 -0
  53. package/dist/document/canonical.d.ts +4 -0
  54. package/dist/document/canonical.d.ts.map +1 -0
  55. package/dist/document/canonical.js +29 -0
  56. package/dist/document/canonical.js.map +1 -0
  57. package/dist/document/compile.d.ts +43 -0
  58. package/dist/document/compile.d.ts.map +1 -0
  59. package/dist/document/compile.js +787 -0
  60. package/dist/document/compile.js.map +1 -0
  61. package/dist/document/diff.d.ts +32 -0
  62. package/dist/document/diff.d.ts.map +1 -0
  63. package/dist/document/diff.js +143 -0
  64. package/dist/document/diff.js.map +1 -0
  65. package/dist/document/edit.d.ts +63 -0
  66. package/dist/document/edit.d.ts.map +1 -0
  67. package/dist/document/edit.js +1420 -0
  68. package/dist/document/edit.js.map +1 -0
  69. package/dist/document/expr/analyze.d.ts +14 -0
  70. package/dist/document/expr/analyze.d.ts.map +1 -0
  71. package/dist/document/expr/analyze.js +52 -0
  72. package/dist/document/expr/analyze.js.map +1 -0
  73. package/dist/document/expr/evaluate.d.ts +36 -0
  74. package/dist/document/expr/evaluate.d.ts.map +1 -0
  75. package/dist/document/expr/evaluate.js +344 -0
  76. package/dist/document/expr/evaluate.js.map +1 -0
  77. package/dist/document/expr/index.d.ts +8 -0
  78. package/dist/document/expr/index.d.ts.map +1 -0
  79. package/dist/document/expr/index.js +5 -0
  80. package/dist/document/expr/index.js.map +1 -0
  81. package/dist/document/expr/parse.d.ts +50 -0
  82. package/dist/document/expr/parse.d.ts.map +1 -0
  83. package/dist/document/expr/parse.js +240 -0
  84. package/dist/document/expr/parse.js.map +1 -0
  85. package/dist/document/expr/print.d.ts +4 -0
  86. package/dist/document/expr/print.d.ts.map +1 -0
  87. package/dist/document/expr/print.js +81 -0
  88. package/dist/document/expr/print.js.map +1 -0
  89. package/dist/document/findings.d.ts +15 -0
  90. package/dist/document/findings.d.ts.map +1 -0
  91. package/dist/document/findings.js +30 -0
  92. package/dist/document/findings.js.map +1 -0
  93. package/dist/document/graview-template.d.ts +148 -0
  94. package/dist/document/graview-template.d.ts.map +1 -0
  95. package/dist/document/graview-template.js +450 -0
  96. package/dist/document/graview-template.js.map +1 -0
  97. package/dist/document/index.d.ts +27 -0
  98. package/dist/document/index.d.ts.map +1 -0
  99. package/dist/document/index.js +16 -0
  100. package/dist/document/index.js.map +1 -0
  101. package/dist/document/migrate.d.ts +41 -0
  102. package/dist/document/migrate.d.ts.map +1 -0
  103. package/dist/document/migrate.js +252 -0
  104. package/dist/document/migrate.js.map +1 -0
  105. package/dist/document/patch.d.ts +16 -0
  106. package/dist/document/patch.d.ts.map +1 -0
  107. package/dist/document/patch.js +79 -0
  108. package/dist/document/patch.js.map +1 -0
  109. package/dist/document/rules.d.ts +40 -0
  110. package/dist/document/rules.d.ts.map +1 -0
  111. package/dist/document/rules.js +88 -0
  112. package/dist/document/rules.js.map +1 -0
  113. package/dist/document/schema.d.ts +459 -0
  114. package/dist/document/schema.d.ts.map +1 -0
  115. package/dist/document/schema.js +197 -0
  116. package/dist/document/schema.js.map +1 -0
  117. package/dist/document/template.d.ts +28 -0
  118. package/dist/document/template.d.ts.map +1 -0
  119. package/dist/document/template.js +117 -0
  120. package/dist/document/template.js.map +1 -0
  121. package/dist/document/to-document.d.ts +34 -0
  122. package/dist/document/to-document.d.ts.map +1 -0
  123. package/dist/document/to-document.js +182 -0
  124. package/dist/document/to-document.js.map +1 -0
  125. package/dist/document/upgrade.d.ts +9 -0
  126. package/dist/document/upgrade.d.ts.map +1 -0
  127. package/dist/document/upgrade.js +19 -0
  128. package/dist/document/upgrade.js.map +1 -0
  129. package/dist/document/views.d.ts +65 -0
  130. package/dist/document/views.d.ts.map +1 -0
  131. package/dist/document/views.js +264 -0
  132. package/dist/document/views.js.map +1 -0
  133. package/dist/formats.d.ts +50 -0
  134. package/dist/formats.d.ts.map +1 -0
  135. package/dist/formats.js +75 -0
  136. package/dist/formats.js.map +1 -0
  137. package/dist/graph/graph.d.ts +52 -3
  138. package/dist/graph/graph.d.ts.map +1 -1
  139. package/dist/graph/graph.js +169 -16
  140. package/dist/graph/graph.js.map +1 -1
  141. package/dist/index.d.ts +40 -17
  142. package/dist/index.d.ts.map +1 -1
  143. package/dist/index.js +29 -10
  144. package/dist/index.js.map +1 -1
  145. package/dist/integrity.d.ts +46 -0
  146. package/dist/integrity.d.ts.map +1 -0
  147. package/dist/integrity.js +179 -0
  148. package/dist/integrity.js.map +1 -0
  149. package/dist/invariants/engine.d.ts +8 -0
  150. package/dist/invariants/engine.d.ts.map +1 -1
  151. package/dist/invariants/engine.js +40 -2
  152. package/dist/invariants/engine.js.map +1 -1
  153. package/dist/invariants/types.d.ts +19 -0
  154. package/dist/invariants/types.d.ts.map +1 -1
  155. package/dist/labels.d.ts +65 -0
  156. package/dist/labels.d.ts.map +1 -0
  157. package/dist/labels.js +123 -0
  158. package/dist/labels.js.map +1 -0
  159. package/dist/mutations/define-mutation.d.ts.map +1 -1
  160. package/dist/mutations/define-mutation.js +2 -3
  161. package/dist/mutations/define-mutation.js.map +1 -1
  162. package/dist/mutations/derive-edits.d.ts.map +1 -1
  163. package/dist/mutations/derive-edits.js +20 -1
  164. package/dist/mutations/derive-edits.js.map +1 -1
  165. package/dist/mutations/form.d.ts +9 -0
  166. package/dist/mutations/form.d.ts.map +1 -1
  167. package/dist/mutations/form.js +20 -0
  168. package/dist/mutations/form.js.map +1 -1
  169. package/dist/mutations/node-ref.d.ts +6 -0
  170. package/dist/mutations/node-ref.d.ts.map +1 -1
  171. package/dist/mutations/node-ref.js +22 -8
  172. package/dist/mutations/node-ref.js.map +1 -1
  173. package/dist/mutations/types.d.ts +8 -0
  174. package/dist/mutations/types.d.ts.map +1 -1
  175. package/dist/mutations/words.d.ts +49 -0
  176. package/dist/mutations/words.d.ts.map +1 -0
  177. package/dist/mutations/words.js +61 -0
  178. package/dist/mutations/words.js.map +1 -0
  179. package/dist/ops/log.d.ts +145 -4
  180. package/dist/ops/log.d.ts.map +1 -1
  181. package/dist/ops/log.js +220 -51
  182. package/dist/ops/log.js.map +1 -1
  183. package/dist/ops/revisions.d.ts +66 -0
  184. package/dist/ops/revisions.d.ts.map +1 -0
  185. package/dist/ops/revisions.js +97 -0
  186. package/dist/ops/revisions.js.map +1 -0
  187. package/dist/ops/types.d.ts +49 -1
  188. package/dist/ops/types.d.ts.map +1 -1
  189. package/dist/ops/undo.d.ts +23 -2
  190. package/dist/ops/undo.d.ts.map +1 -1
  191. package/dist/ops/undo.js +107 -1
  192. package/dist/ops/undo.js.map +1 -1
  193. package/dist/ops/withheld.d.ts +37 -0
  194. package/dist/ops/withheld.d.ts.map +1 -0
  195. package/dist/ops/withheld.js +84 -0
  196. package/dist/ops/withheld.js.map +1 -0
  197. package/dist/permissions/policy.d.ts +15 -0
  198. package/dist/permissions/policy.d.ts.map +1 -1
  199. package/dist/permissions/policy.js +28 -1
  200. package/dist/permissions/policy.js.map +1 -1
  201. package/dist/permissions/sight.d.ts +50 -0
  202. package/dist/permissions/sight.d.ts.map +1 -0
  203. package/dist/permissions/sight.js +76 -0
  204. package/dist/permissions/sight.js.map +1 -0
  205. package/dist/permissions/types.d.ts +26 -0
  206. package/dist/permissions/types.d.ts.map +1 -1
  207. package/dist/permissions/types.js.map +1 -1
  208. package/dist/persistence/memory.d.ts.map +1 -1
  209. package/dist/persistence/memory.js +25 -0
  210. package/dist/persistence/memory.js.map +1 -1
  211. package/dist/persistence/sql.d.ts +43 -0
  212. package/dist/persistence/sql.d.ts.map +1 -0
  213. package/dist/persistence/sql.js +154 -0
  214. package/dist/persistence/sql.js.map +1 -0
  215. package/dist/persistence/sqlite.d.ts +17 -3
  216. package/dist/persistence/sqlite.d.ts.map +1 -1
  217. package/dist/persistence/sqlite.js +32 -96
  218. package/dist/persistence/sqlite.js.map +1 -1
  219. package/dist/persistence/types.d.ts +19 -0
  220. package/dist/persistence/types.d.ts.map +1 -1
  221. package/dist/presence.d.ts +31 -0
  222. package/dist/presence.d.ts.map +1 -1
  223. package/dist/presence.js +36 -0
  224. package/dist/presence.js.map +1 -1
  225. package/dist/scaffold/from-template.d.ts +16 -0
  226. package/dist/scaffold/from-template.d.ts.map +1 -0
  227. package/dist/scaffold/from-template.js +157 -0
  228. package/dist/scaffold/from-template.js.map +1 -0
  229. package/dist/scaffold/index.d.ts +10 -1
  230. package/dist/scaffold/index.d.ts.map +1 -1
  231. package/dist/scaffold/index.js +35 -7
  232. package/dist/scaffold/index.js.map +1 -1
  233. package/dist/scaffold/names.d.ts +4 -0
  234. package/dist/scaffold/names.d.ts.map +1 -1
  235. package/dist/scaffold/names.js.map +1 -1
  236. package/dist/scaffold/project.d.ts +1 -1
  237. package/dist/scaffold/project.d.ts.map +1 -1
  238. package/dist/scaffold/project.js +44 -13
  239. package/dist/scaffold/project.js.map +1 -1
  240. package/dist/scaffold/ui.d.ts.map +1 -1
  241. package/dist/scaffold/ui.js +19 -10
  242. package/dist/scaffold/ui.js.map +1 -1
  243. package/dist/schema/define-node.d.ts +20 -0
  244. package/dist/schema/define-node.d.ts.map +1 -1
  245. package/dist/schema/define-node.js +27 -2
  246. package/dist/schema/define-node.js.map +1 -1
  247. package/dist/schema/path.d.ts +19 -0
  248. package/dist/schema/path.d.ts.map +1 -0
  249. package/dist/schema/path.js +34 -0
  250. package/dist/schema/path.js.map +1 -0
  251. package/dist/schema/types.d.ts +6 -0
  252. package/dist/schema/types.d.ts.map +1 -1
  253. package/dist/seen.d.ts +58 -0
  254. package/dist/seen.d.ts.map +1 -0
  255. package/dist/seen.js +194 -0
  256. package/dist/seen.js.map +1 -0
  257. package/dist/store.d.ts +317 -8
  258. package/dist/store.d.ts.map +1 -1
  259. package/dist/store.js +720 -37
  260. package/dist/store.js.map +1 -1
  261. package/dist/testing.d.ts +6 -0
  262. package/dist/testing.d.ts.map +1 -1
  263. package/dist/testing.js +3 -1
  264. package/dist/testing.js.map +1 -1
  265. package/dist/theme/palettes.d.ts.map +1 -1
  266. package/dist/theme/palettes.js +4 -0
  267. package/dist/theme/palettes.js.map +1 -1
  268. package/dist/theme/types.d.ts +9 -0
  269. package/dist/theme/types.d.ts.map +1 -1
  270. package/dist/theme/types.js +4 -0
  271. package/dist/theme/types.js.map +1 -1
  272. package/dist/validate-graph.d.ts +83 -0
  273. package/dist/validate-graph.d.ts.map +1 -0
  274. package/dist/validate-graph.js +288 -0
  275. package/dist/validate-graph.js.map +1 -0
  276. package/dist/version.d.ts +3 -0
  277. package/dist/version.d.ts.map +1 -0
  278. package/dist/version.js +3 -0
  279. package/dist/version.js.map +1 -0
  280. package/dist/views/types.d.ts +8 -0
  281. package/dist/views/types.d.ts.map +1 -1
  282. package/dist/views/types.js +5 -0
  283. package/dist/views/types.js.map +1 -1
  284. package/dist/watched.d.ts +39 -0
  285. package/dist/watched.d.ts.map +1 -1
  286. package/dist/watched.js +94 -1
  287. package/dist/watched.js.map +1 -1
  288. package/dist/who.d.ts +24 -1
  289. package/dist/who.d.ts.map +1 -1
  290. package/dist/who.js +49 -2
  291. package/dist/who.js.map +1 -1
  292. package/package.json +9 -1
package/dist/store.d.ts CHANGED
@@ -3,15 +3,19 @@ import { Graph } from "./graph/graph.js";
3
3
  import { type ModuleMap, type ModuleProjection } from "./modules.js";
4
4
  import { type GraphDiff } from "./graph/diff.js";
5
5
  import { type Primitive } from "./graph/primitives.js";
6
+ import { type RefResolution } from "./labels.js";
7
+ import { type NodeRefArg } from "./mutations/node-ref.js";
6
8
  import type { GraphSnapshot } from "./graph/types.js";
9
+ import { type VerifyResult } from "./integrity.js";
7
10
  import type { EvaluateOptions, InvariantContext, InvariantDefinition, Violation } from "./invariants/types.js";
8
11
  import type { AnyMutationDefinition, MutationCall } from "./mutations/types.js";
9
- import { OperationLog } from "./ops/log.js";
10
- import type { Author, Batch, Operation } from "./ops/types.js";
12
+ import { OperationLog, type Epoch, type LogArchive } from "./ops/log.js";
13
+ import type { Author, Batch, Operation, Via } from "./ops/types.js";
11
14
  import { permits } from "./permissions/policy.js";
12
15
  import { type Policy, type Principal } from "./permissions/types.js";
13
16
  import { type UndoCheck } from "./ops/undo.js";
14
17
  import type { AnySchema, NodeOfSchema } from "./schema/schema.js";
18
+ import { type GraphFinding } from "./validate-graph.js";
15
19
  export interface StoreOptions<S extends AnySchema> {
16
20
  readonly schema: S;
17
21
  readonly mutations?: readonly AnyMutationDefinition<S>[];
@@ -24,10 +28,49 @@ export interface StoreOptions<S extends AnySchema> {
24
28
  * seed was never an operation and folding the log alone would lose it.
25
29
  * Either way the log is live: what was done before is still attributed,
26
30
  * still in the activity, and still undoable.
31
+ *
32
+ * REOPENING ON A SNAPSHOT NEVER FOLDS THE LOG (FR-18). The snapshot is
33
+ * judged by this declaration (held as stored, FR-28; `findings()` says
34
+ * what no longer fits) and the log is only history, so a log that names
35
+ * a kind this declaration dropped opens: its ops stay attributed and
36
+ * listed, and their primitives are not applied again. What touches them
37
+ * afterwards is the declaration change's epoch: a migration that dropped
38
+ * the kind begins one (`epochs`, with `change`), `verify()` folds from
39
+ * it rather than from ops in the old words, and undo does not reach back
40
+ * across it. A log alone, with no snapshot, IS folded (from its last
41
+ * epoch), and a record of a dropped kind it makes is held as written,
42
+ * with `findings()` naming it `kind-unknown` until a repair removes it.
27
43
  */
28
44
  readonly log?: readonly Operation[];
45
+ /**
46
+ * The epochs `log` folds from (FR-27): a base graph and the seq it starts
47
+ * at, one for each declaration version the log spans. `verify()` folds
48
+ * from the last one, and undo does not cross one that changed the
49
+ * declaration. A store opened on a snapshot alone takes the snapshot as
50
+ * its first epoch.
51
+ */
52
+ readonly epochs?: readonly Epoch[];
53
+ /**
54
+ * The seq `log` begins at, when it was compacted behind an undo horizon
55
+ * and its checkpoint is not among `epochs` (FR-23): a client hydrating on
56
+ * a snapshot is handed the tail and the horizon, not the base. Absent,
57
+ * the log begins at its checkpoint's seq, or at 0.
58
+ */
59
+ readonly horizon?: number;
29
60
  /** Defaults to a monotonic counter so tests stay deterministic. */
30
61
  readonly ids?: () => string;
62
+ /**
63
+ * Mints a batch id: `kind` is `batch` for a change and `undo` for a
64
+ * take-back. Defaults to `<kind>:<this store's tag>:<n>`, the tag drawn
65
+ * fresh for each store, so two stores opened from the same log, two
66
+ * browsers on one roster, never mint the same batch id. A server that
67
+ * mints them its own way says so here.
68
+ */
69
+ readonly batchIds?: (kind: "batch" | "undo") => string;
70
+ /**
71
+ * The clock each op is stamped by, as an ISO string. Defaults to the
72
+ * current time (FR-18); a test or a replay that needs a fixed one says so.
73
+ */
31
74
  readonly now?: () => string;
32
75
  readonly validate?: boolean;
33
76
  readonly invariantOptions?: EvaluateOptions<S>;
@@ -43,9 +86,9 @@ export interface StoreOptions<S extends AnySchema> {
43
86
  * The app's declared modules, and which are on for THIS installation.
44
87
  *
45
88
  * `enabledModules` absent means everything — a store that never heard of
46
- * modules behaves exactly as before. The projection is fixed at
47
- * construction: a workspace toggle is an entitlement change, and the
48
- * honest response to one is building the store the new workspace gets.
89
+ * modules behaves exactly as before. It is the set the store starts
90
+ * from: a log that says otherwise (an op `setEnabledModules` wrote) has
91
+ * the last word, because turning a module off or on is history (FR-12).
49
92
  */
50
93
  readonly modules?: ModuleMap;
51
94
  readonly enabledModules?: readonly string[];
@@ -76,7 +119,15 @@ export interface ApplyOptions {
76
119
  readonly author?: Author | Principal;
77
120
  /** Groups several mutations under one gesture or one agent turn. */
78
121
  readonly batch?: string;
122
+ /**
123
+ * What the gesture was for. Recorded beside each op's own sentence, as
124
+ * `batchIntent`, and read as the batch's intent; it no longer replaces
125
+ * the sentence each act's `describe()` gave (FR-18). For an act with no
126
+ * `describe`, it is the op's sentence too.
127
+ */
79
128
  readonly intent?: string;
129
+ /** What the change came through — `web`, `mcp:<client>`, `view:<name>`, `api`, `cli` — recorded on each op (FR-06). */
130
+ readonly via?: Via;
80
131
  }
81
132
  export interface Preview<S extends AnySchema> {
82
133
  readonly diff: GraphDiff<NodeOfSchema<S>>;
@@ -101,6 +152,33 @@ export type UndoPreview<S extends AnySchema> = ({
101
152
  readonly ok: false;
102
153
  readonly check: UndoCheck;
103
154
  };
155
+ /**
156
+ * An op a host built itself, for `Store.append` (FR-18): what it does, who
157
+ * did it and why. Everything else is filled in as the store fills its own
158
+ * ops, and kept when the host gave it. A whole `Operation` fits too; its
159
+ * `seq` is renumbered to this log.
160
+ */
161
+ export interface AppendOp {
162
+ readonly primitives: readonly Primitive[];
163
+ readonly author: Author;
164
+ /** What was meant, in a sentence: what the activity and every undo say. */
165
+ readonly intent: string;
166
+ readonly id?: string;
167
+ readonly batch?: string;
168
+ readonly batchIntent?: string;
169
+ /** Defaults to the primitives inverted, newest first. */
170
+ readonly inverse?: readonly Primitive[];
171
+ readonly reads?: readonly string[];
172
+ /** Defaults to the ids the primitives write. */
173
+ readonly writes?: readonly string[];
174
+ readonly mutation?: MutationCall | null;
175
+ /** Defaults to the store's clock. */
176
+ readonly at?: string;
177
+ readonly undoes?: string;
178
+ readonly via?: Via;
179
+ }
180
+ /** Who turns a module off or on: the workspace itself, `system · modules` (FR-12). */
181
+ export declare const MODULES_AUTHOR: Author;
104
182
  /** A violation's identity across judgements: the rule, what it is about, and what it says. */
105
183
  export declare function violationKey(v: Violation): string;
106
184
  /**
@@ -111,6 +189,39 @@ export declare function violationKey(v: Violation): string;
111
189
  * agent's work needs no bespoke observability layer — it produces the same
112
190
  * diff a human edit does, carrying the same attribution.
113
191
  */
192
+ /**
193
+ * An op a store could not take: its primitives do not fit the graph (a node
194
+ * it patches is not there, an edge to nowhere, a field the schema refuses).
195
+ * Nothing it was handed has landed — the store is as it was — and `op` says
196
+ * which one, with the graph's own error as `cause`.
197
+ */
198
+ export declare class ReceiveError extends Error {
199
+ readonly op: Operation;
200
+ constructor(op: Operation, cause: unknown);
201
+ }
202
+ /** What `Store.rebase` is handed. */
203
+ export interface Rebase {
204
+ /** The server's ops, in its order, to land under whatever is pending. Ops the log already holds are skipped. */
205
+ readonly confirmed: readonly Operation[];
206
+ /** This store's batches still awaiting a verdict, oldest first: rolled back, then applied again on top. */
207
+ readonly pending: readonly string[];
208
+ /** This store's batches the server has answered or refused: rolled back and not applied again. */
209
+ readonly drop?: readonly string[];
210
+ }
211
+ /** What a rebase did. */
212
+ export interface RebaseResult<S extends AnySchema> {
213
+ /** The net change, as subscribers heard it. */
214
+ readonly diff: GraphDiff<NodeOfSchema<S>>;
215
+ /** The server's ops that landed, as this log numbers them. */
216
+ readonly confirmed: readonly Operation[];
217
+ /** The pending batches' ops, applied again. */
218
+ readonly pending: readonly Operation[];
219
+ /** Pending batches that no longer apply on top, and why; they are no longer in the log. */
220
+ readonly refused: readonly {
221
+ readonly batch: string;
222
+ readonly error: unknown;
223
+ }[];
224
+ }
114
225
  export declare class Store<S extends AnySchema> {
115
226
  readonly schema: S;
116
227
  readonly graph: Graph<S>;
@@ -130,13 +241,44 @@ export declare class Store<S extends AnySchema> {
130
241
  readonly intelligence: readonly IntelligenceProviderDeclaration[];
131
242
  /** What each declared agent may do, by provider name. */
132
243
  private readonly may;
133
- /** What the enabled modules work out to; every surface reads this one answer. */
134
- readonly modules: ModuleProjection;
244
+ private readonly declaredModules;
245
+ private readonly startingModules;
246
+ /** The projection, and the log it was read from: its length and its last op. */
247
+ private projected;
135
248
  private readonly nextId;
136
249
  private readonly now;
250
+ private readonly validate;
251
+ private readonly mintBatch;
137
252
  private counter;
253
+ /** Above zero while a rebase applies its pending calls again: they are told as one change at the end. */
254
+ private quiet;
138
255
  private readonly listeners;
139
256
  constructor(options: StoreOptions<S>);
257
+ /**
258
+ * What the enabled modules work out to; every surface reads this one answer.
259
+ *
260
+ * READ FROM THE LOG (FR-12): the set the last `system · modules` op says,
261
+ * or the one the store was opened with when no op has said one. Kept
262
+ * between reads and re-read only past what it has read — a log only ever
263
+ * grows at its end, and a rebase that cut it is read again from the start.
264
+ */
265
+ get modules(): ModuleProjection;
266
+ /**
267
+ * TURN MODULES OFF OR ON, AS AN OP (FR-12).
268
+ *
269
+ * The enabled set is a fact about the workspace — usually what it pays
270
+ * for — and changing it is history: one op, authored `system · modules`,
271
+ * saying the set it leaves (`enabledModules`) in a sentence a person can
272
+ * read. It touches no record, so it folds to nothing and takes nothing
273
+ * away: a module off is a horizon, and turning it on again brings every
274
+ * record back as it was. Not undone: the set changes by turning a module
275
+ * the other way. `undefined` is every declared module. Nothing is written
276
+ * when the set is the one the store already has.
277
+ */
278
+ setEnabledModules(enabled: readonly string[] | undefined, options?: {
279
+ readonly via?: Via;
280
+ readonly batch?: string;
281
+ }): Operation | undefined;
140
282
  mutation(name: string): AnyMutationDefinition<S>;
141
283
  /** Off by module, or a derived act of a kind the workspace has off. */
142
284
  private mutationDisabled;
@@ -169,6 +311,22 @@ export declare class Store<S extends AnySchema> {
169
311
  * roles allow, which is what "absent means all" has always meant.
170
312
  */
171
313
  private refusesAgent;
314
+ /**
315
+ * A CALL THAT NAMES A RECORD OF A MODULE THAT IS OFF IS REFUSED (FR-12),
316
+ * whoever makes it: the module's own acts are already off, and an act
317
+ * the core owns — a rename that takes any kind — must not reach into a
318
+ * district the workspace does not have. The sentence names the act.
319
+ */
320
+ private namesTurnedOff;
321
+ /**
322
+ * A CALL THAT NAMES A RECORD THE CALLER MAY NOT SEE IS REFUSED (FR-02),
323
+ * before any grant is read: an act on a record is a way of reading it —
324
+ * its preview, its refusal, what its rules say after — and a seat that
325
+ * could act on what it may not see could learn it that way. Only a
326
+ * record that is there is judged; an id that names nothing is the act's
327
+ * own to refuse. The sentence names the act, never the record or its kind.
328
+ */
329
+ private namesUnseen;
172
330
  /**
173
331
  * Whether a principal may run ANY act of a module drawn only for those
174
332
  * who administer it. This is the one question the interface asks before
@@ -176,6 +334,26 @@ export declare class Store<S extends AnySchema> {
176
334
  * from the same policy that refuses the acts.
177
335
  */
178
336
  mayAdminister(module: string, principal?: Principal): boolean;
337
+ /**
338
+ * The store as one principal may see it: its graph, log, history and
339
+ * problems hold only what the policy's `sees` lets them see, and every
340
+ * act still comes here. With no `sees`, this store itself (see `seen.ts`).
341
+ */
342
+ seenBy(principal: Principal): Store<S>;
343
+ /** Whether a principal may see one record (the policy's `sees`). */
344
+ sees(principal: Principal, id: string): boolean;
345
+ private labels;
346
+ /**
347
+ * WHAT A NAME GIVEN FOR A NODE ARGUMENT MEANS, to this principal (FR-33).
348
+ *
349
+ * An id of a record the principal may see is that record, whatever it is
350
+ * called. Otherwise a label, case and accents aside, among the records of
351
+ * the kinds the argument accepts; failing that, the one label the name
352
+ * starts. Only records the principal may see are ever candidates — a
353
+ * name never tells a seat that something it may not see exists. Several
354
+ * matches are refused with every candidate; none says so.
355
+ */
356
+ resolveRef(arg: Pick<NodeRefArg, "name" | "kinds">, given: string, principal?: Principal): RefResolution;
179
357
  /** The kinds of administered modules this principal may not see at all. */
180
358
  kindsKeptFrom(principal?: Principal): ReadonlySet<string>;
181
359
  private subjectIdOf;
@@ -216,11 +394,26 @@ export declare class Store<S extends AnySchema> {
216
394
  */
217
395
  wouldChange(call: MutationCall): boolean;
218
396
  preview(call: MutationCall, context?: InvariantContext): Preview<S>;
397
+ /**
398
+ * What several calls would do as one gesture, without doing any of it
399
+ * (FR-18): each compiles on the graph the one before it left, as
400
+ * `applyAll` would run them, on a copy. The diff is the net of them all,
401
+ * and `introduces` and `resolves` judge the end state against today's.
402
+ * A call that cannot compile throws, as it would on applying; nothing is
403
+ * written, logged or heard either way.
404
+ */
405
+ previewAll(calls: readonly MutationCall[], context?: InvariantContext): Preview<S>;
219
406
  private previewPrimitives;
220
407
  /** Applies one mutation as its own batch, or joins an open batch. */
221
408
  apply(call: MutationCall, options?: ApplyOptions): ApplyResult<S>;
222
409
  /** Applies several mutations as one gesture — one batch, one undo unit. */
223
410
  applyAll(calls: readonly MutationCall[], options?: ApplyOptions): ApplyResult<S>;
411
+ /**
412
+ * `applyAll` itself. Kept apart so a rebase applies pending calls again
413
+ * through the store's own path, whatever a host has wrapped `applyAll` in
414
+ * (`openRemote` sends each one down the wire).
415
+ */
416
+ private applying;
224
417
  /**
225
418
  * OPERATIONS SOMEBODY ELSE ALREADY MADE, taken into this store.
226
419
  *
@@ -252,6 +445,44 @@ export declare class Store<S extends AnySchema> {
252
445
  receive(ops: readonly Operation[], options?: {
253
446
  readonly applied?: boolean;
254
447
  }): readonly Operation[];
448
+ /**
449
+ * OPS A HOST MADE, landed as ordinary history (FR-18): a template's
450
+ * example content, a seeded beginning, a repair or an import the host
451
+ * built itself. Unlike `receive`, which takes ops somebody else's store
452
+ * already made and skips the ones it has, these are new here, so the
453
+ * store fills in what the host left out the way it fills its own: the
454
+ * seq, an id, one batch for the call (`options.batch`, else a fresh one),
455
+ * the time, the inverse (from the primitives), what they write, and no
456
+ * mutation. What the host did say is kept.
457
+ *
458
+ * Each op lands as a write (a default is filled in on the way in, as a
459
+ * fold would), or, when it `undoes` another, as a putting-back. No policy
460
+ * is asked: there is no act to judge, and whoever calls this is the
461
+ * authority, as with `applyPrimitives`. All or nothing: an op that does
462
+ * not fit puts the store back as it was and throws a `ReceiveError`
463
+ * naming it, and an id the log already holds is refused before anything
464
+ * lands. Subscribers hear one change, and every op undoes like any other.
465
+ */
466
+ append(ops: readonly AppendOp[], options?: {
467
+ readonly batch?: string;
468
+ }): readonly Operation[];
469
+ /**
470
+ * PRIMITIVES AS AN ORDINARY CHANGE (FR-21): one batch, one op, logged,
471
+ * attributed to `author` and undoable like any act. For changes that are
472
+ * not a declared mutation — a repair from `repairPlan`, a host's own fix —
473
+ * so they land in the history rather than beside it.
474
+ *
475
+ * No policy is asked: there is no act to judge, so whoever calls this is
476
+ * the authority, the way a migration engine is. All or nothing (FR-26): a
477
+ * primitive that does not fit leaves the store as it was and throws.
478
+ */
479
+ applyPrimitives(primitives: readonly Primitive[], options?: ApplyOptions): ApplyResult<S>;
480
+ /**
481
+ * What in this store no longer fits its declaration (FR-21): the graph
482
+ * as held, judged by `validateGraph` against the schema and the rules
483
+ * this workspace has on. A clean store has none.
484
+ */
485
+ findings(): GraphFinding[];
255
486
  batches(): Batch[];
256
487
  /** Whether a batch can come out on its own, and what blocks it if not. */
257
488
  canUndo(batchIds: string | readonly string[]): UndoCheck;
@@ -267,6 +498,8 @@ export declare class Store<S extends AnySchema> {
267
498
  * than a stack pop.
268
499
  */
269
500
  undo(batchIds: string | readonly string[], options?: ApplyOptions): ApplyResult<S>;
501
+ /** `undo` itself, kept apart for the same reason as `applying`. */
502
+ private undoing;
270
503
  /** Redo is the undo of an undo — no separate stack exists. */
271
504
  redo(undoBatchId: string, options?: ApplyOptions): ApplyResult<S>;
272
505
  /**
@@ -278,7 +511,83 @@ export declare class Store<S extends AnySchema> {
278
511
  * gives the diff without that guarantee.
279
512
  */
280
513
  subscribe(listener: (diff: GraphDiff<NodeOfSchema<S>>, ops: readonly Operation[]) => void): () => void;
281
- private notify;
514
+ /**
515
+ * TELLS EVERY SUBSCRIBER OF A CHANGE: the diff, and the ops that made it.
516
+ * The store calls this for each change it makes; it is public for a host
517
+ * that changes the graph some other way and owes its subscribers the same
518
+ * news (the rebase item of FR-05). A change with no ops and an empty diff
519
+ * is nothing to tell.
520
+ */
521
+ notify(diff: GraphDiff<NodeOfSchema<S>>, ops: readonly Operation[]): void;
522
+ /**
523
+ * AN OPTIMISTIC CLIENT'S ROLLBACK (the rebase item of FR-05).
524
+ *
525
+ * A client applies a press at once and sends it; the server's op is the
526
+ * one that stays. When anything arrives from the server — somebody else's
527
+ * ops, or the verdict on one of this client's — the client's log must
528
+ * read `[confirmed…, pending…]` again. So, in one step:
529
+ *
530
+ * 1. every op of the `pending` and `drop` batches is rolled back, newest
531
+ * first, and cut from the log (they must be its tail: an op after
532
+ * them that is neither is refused, before anything moves);
533
+ * 2. the `confirmed` ops land in the server's order, skipped by id when
534
+ * the log already holds them, all or nothing (`ReceiveError`);
535
+ * 3. the `pending` batches are applied again on top, in the order given,
536
+ * under the same batch ids, author, intent and channel: each call
537
+ * judged and compiled afresh against the graph the server's ops left.
538
+ * One that no longer applies there is left off and said in `refused`;
539
+ * the server's verdict on it will say the rest.
540
+ *
541
+ * `drop` is the batches the server has answered (its own op for them is
542
+ * among `confirmed`) or refused. Subscribers hear ONE change, the net
543
+ * diff, with the confirmed ops and the re-applied ones, so an interface
544
+ * never flickers through the states in between.
545
+ */
546
+ rebase(change: Rebase): RebaseResult<S>;
547
+ /** One pending batch, applied again as it was made: its calls, its undo, or its primitives. */
548
+ private replay;
282
549
  snapshot(): GraphSnapshot<NodeOfSchema<S>>;
550
+ /**
551
+ * WHETHER THE GRAPH IS WHAT ITS LOG SAYS (FR-20).
552
+ *
553
+ * Refolds the log from its last epoch (FR-27), or from empty when it has
554
+ * none, and compares the result with the graph held, by `snapshotHash`. Agreement returns the hash; disagreement returns both
555
+ * hashes and the op after which they part, so a host that finds a store
556
+ * drifted knows where to look rather than only that it should.
557
+ */
558
+ verify(): VerifyResult;
559
+ /**
560
+ * THE CHECKPOINT A COMPACTION WOULD MAKE (FR-23), or `undefined` when
561
+ * nothing is old enough to archive. The horizon is `seq` when given, or
562
+ * else whichever of two keeps more: the ops made in the last `keepDays`
563
+ * days before `now` (default 90), or the last `keepOps` ops (default
564
+ * 1000). It is moved back to the start of the gesture it would split, so
565
+ * a batch is never half behind it.
566
+ *
567
+ * Nothing moves until `compact` is handed the checkpoint, so a host can
568
+ * archive what is behind it first. A store whose graph does not verify
569
+ * against its log is not compacted: the checkpoint would vouch for a
570
+ * history that does not lead to the graph held.
571
+ */
572
+ checkpoint(options?: CompactOptions): Epoch | undefined;
573
+ /**
574
+ * MOVES THE UNDO HORIZON TO `checkpoint` (FR-23): the ops and epochs
575
+ * before it leave the log, which begins at its seq from now on, and are
576
+ * returned for an adapter to archive. The graph is unchanged and still
577
+ * verifies; undo of anything behind the horizon is refused, naming it.
578
+ * Ship's `opened.compact()` archives first and calls this after.
579
+ */
580
+ compact(checkpoint: Epoch): LogArchive;
581
+ }
582
+ /** Where `store.checkpoint` puts the undo horizon (FR-23). */
583
+ export interface CompactOptions {
584
+ /** The seq to put it at. Absent, it follows from `keepDays` and `keepOps`. */
585
+ readonly seq?: number;
586
+ /** Keep every op made in the last this-many days before `now`; one exactly that old is archived. Default 90. */
587
+ readonly keepDays?: number;
588
+ /** Keep at least this many of the latest ops. Default 1000. */
589
+ readonly keepOps?: number;
590
+ /** The time the days count back from, as an ISO string. Defaults to the store's clock. */
591
+ readonly now?: string;
283
592
  }
284
593
  //# sourceMappingURL=store.d.ts.map
@@ -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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"}