@graview/core 0.1.0 → 0.1.3

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 (296) 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 +807 -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 +148 -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 +1432 -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 +461 -0
  114. package/dist/document/schema.d.ts.map +1 -0
  115. package/dist/document/schema.js +199 -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 +186 -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 +61 -3
  138. package/dist/graph/graph.d.ts.map +1 -1
  139. package/dist/graph/graph.js +187 -20
  140. package/dist/graph/graph.js.map +1 -1
  141. package/dist/index.d.ts +43 -18
  142. package/dist/index.d.ts.map +1 -1
  143. package/dist/index.js +31 -11
  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 +5 -6
  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 +156 -4
  180. package/dist/ops/log.d.ts.map +1 -1
  181. package/dist/ops/log.js +234 -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 +29 -2
  190. package/dist/ops/undo.d.ts.map +1 -1
  191. package/dist/ops/undo.js +110 -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 +66 -0
  202. package/dist/permissions/sight.d.ts.map +1 -0
  203. package/dist/permissions/sight.js +131 -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 +56 -0
  222. package/dist/presence.d.ts.map +1 -1
  223. package/dist/presence.js +62 -2
  224. package/dist/presence.js.map +1 -1
  225. package/dist/refusal.d.ts +34 -0
  226. package/dist/refusal.d.ts.map +1 -0
  227. package/dist/refusal.js +40 -0
  228. package/dist/refusal.js.map +1 -0
  229. package/dist/scaffold/from-template.d.ts +16 -0
  230. package/dist/scaffold/from-template.d.ts.map +1 -0
  231. package/dist/scaffold/from-template.js +157 -0
  232. package/dist/scaffold/from-template.js.map +1 -0
  233. package/dist/scaffold/index.d.ts +10 -1
  234. package/dist/scaffold/index.d.ts.map +1 -1
  235. package/dist/scaffold/index.js +35 -7
  236. package/dist/scaffold/index.js.map +1 -1
  237. package/dist/scaffold/names.d.ts +4 -0
  238. package/dist/scaffold/names.d.ts.map +1 -1
  239. package/dist/scaffold/names.js.map +1 -1
  240. package/dist/scaffold/project.d.ts +1 -1
  241. package/dist/scaffold/project.d.ts.map +1 -1
  242. package/dist/scaffold/project.js +44 -13
  243. package/dist/scaffold/project.js.map +1 -1
  244. package/dist/scaffold/ui.d.ts.map +1 -1
  245. package/dist/scaffold/ui.js +19 -10
  246. package/dist/scaffold/ui.js.map +1 -1
  247. package/dist/schema/define-node.d.ts +20 -0
  248. package/dist/schema/define-node.d.ts.map +1 -1
  249. package/dist/schema/define-node.js +27 -2
  250. package/dist/schema/define-node.js.map +1 -1
  251. package/dist/schema/path.d.ts +19 -0
  252. package/dist/schema/path.d.ts.map +1 -0
  253. package/dist/schema/path.js +34 -0
  254. package/dist/schema/path.js.map +1 -0
  255. package/dist/schema/types.d.ts +17 -0
  256. package/dist/schema/types.d.ts.map +1 -1
  257. package/dist/seen.d.ts +64 -0
  258. package/dist/seen.d.ts.map +1 -0
  259. package/dist/seen.js +200 -0
  260. package/dist/seen.js.map +1 -0
  261. package/dist/store.d.ts +378 -8
  262. package/dist/store.d.ts.map +1 -1
  263. package/dist/store.js +801 -41
  264. package/dist/store.js.map +1 -1
  265. package/dist/testing.d.ts +6 -0
  266. package/dist/testing.d.ts.map +1 -1
  267. package/dist/testing.js +3 -1
  268. package/dist/testing.js.map +1 -1
  269. package/dist/theme/palettes.d.ts.map +1 -1
  270. package/dist/theme/palettes.js +4 -0
  271. package/dist/theme/palettes.js.map +1 -1
  272. package/dist/theme/types.d.ts +9 -0
  273. package/dist/theme/types.d.ts.map +1 -1
  274. package/dist/theme/types.js +4 -0
  275. package/dist/theme/types.js.map +1 -1
  276. package/dist/validate-graph.d.ts +84 -0
  277. package/dist/validate-graph.d.ts.map +1 -0
  278. package/dist/validate-graph.js +295 -0
  279. package/dist/validate-graph.js.map +1 -0
  280. package/dist/version.d.ts +3 -0
  281. package/dist/version.d.ts.map +1 -0
  282. package/dist/version.js +3 -0
  283. package/dist/version.js.map +1 -0
  284. package/dist/views/types.d.ts +8 -0
  285. package/dist/views/types.d.ts.map +1 -1
  286. package/dist/views/types.js +5 -0
  287. package/dist/views/types.js.map +1 -1
  288. package/dist/watched.d.ts +39 -0
  289. package/dist/watched.d.ts.map +1 -1
  290. package/dist/watched.js +94 -1
  291. package/dist/watched.js.map +1 -1
  292. package/dist/who.d.ts +24 -1
  293. package/dist/who.d.ts.map +1 -1
  294. package/dist/who.js +49 -2
  295. package/dist/who.js.map +1 -1
  296. 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,72 @@ 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
+ }
225
+ /**
226
+ * What `Store.adopt` is handed (FR-53): the server's whole state, as
227
+ * `GET /graview/state` answers it, and this store's own batches as `rebase`
228
+ * names them.
229
+ */
230
+ export interface Adopt<S extends AnySchema> {
231
+ /** The server's graph: it becomes this store's graph, in the server's order. */
232
+ readonly snapshot: GraphSnapshot<NodeOfSchema<S>>;
233
+ /** The server's log, whole or from its undo horizon on: it becomes this store's log. */
234
+ readonly log: readonly Operation[];
235
+ /** The epochs the log folds from (FR-27), the checkpoint among them when it was compacted. */
236
+ readonly epochs?: readonly Epoch[];
237
+ /** The seq `log` begins at when it was compacted and its checkpoint is not among `epochs` (FR-23). */
238
+ readonly horizon?: number;
239
+ /** This store's batches still awaiting a verdict, oldest first: applied again on top. */
240
+ readonly pending?: readonly string[];
241
+ /** This store's batches the server has answered or refused: not applied again. */
242
+ readonly drop?: readonly string[];
243
+ }
244
+ /** What an adoption did. */
245
+ export interface AdoptResult<S extends AnySchema> {
246
+ /** The net change, as subscribers heard it. */
247
+ readonly diff: GraphDiff<NodeOfSchema<S>>;
248
+ /** The server's ops this store did not hold before, as its log numbers them. */
249
+ readonly adopted: readonly Operation[];
250
+ /** The pending batches' ops, applied again. */
251
+ readonly pending: readonly Operation[];
252
+ /** Pending batches that no longer apply on the server's graph, and why; they are not in the log. */
253
+ readonly refused: readonly {
254
+ readonly batch: string;
255
+ readonly error: unknown;
256
+ }[];
257
+ }
114
258
  export declare class Store<S extends AnySchema> {
115
259
  readonly schema: S;
116
260
  readonly graph: Graph<S>;
@@ -130,13 +274,48 @@ export declare class Store<S extends AnySchema> {
130
274
  readonly intelligence: readonly IntelligenceProviderDeclaration[];
131
275
  /** What each declared agent may do, by provider name. */
132
276
  private readonly may;
133
- /** What the enabled modules work out to; every surface reads this one answer. */
134
- readonly modules: ModuleProjection;
277
+ private readonly declaredModules;
278
+ private readonly startingModules;
279
+ /** The projection, and the log it was read from: its length and its last op. */
280
+ private projected;
135
281
  private readonly nextId;
136
282
  private readonly now;
283
+ private readonly validate;
284
+ private readonly mintBatch;
137
285
  private counter;
286
+ /** The default op id generator's count. */
287
+ private opCount;
288
+ /** Above zero while a rebase applies its pending calls again: they are told as one change at the end. */
289
+ private quiet;
138
290
  private readonly listeners;
139
291
  constructor(options: StoreOptions<S>);
292
+ /** Winds the default op and batch counters past every id the log holds, and past the horizon (FR-23). */
293
+ private countPastTheLog;
294
+ /**
295
+ * What the enabled modules work out to; every surface reads this one answer.
296
+ *
297
+ * READ FROM THE LOG (FR-12): the set the last `system · modules` op says,
298
+ * or the one the store was opened with when no op has said one. Kept
299
+ * between reads and re-read only past what it has read — a log only ever
300
+ * grows at its end, and a rebase that cut it is read again from the start.
301
+ */
302
+ get modules(): ModuleProjection;
303
+ /**
304
+ * TURN MODULES OFF OR ON, AS AN OP (FR-12).
305
+ *
306
+ * The enabled set is a fact about the workspace — usually what it pays
307
+ * for — and changing it is history: one op, authored `system · modules`,
308
+ * saying the set it leaves (`enabledModules`) in a sentence a person can
309
+ * read. It touches no record, so it folds to nothing and takes nothing
310
+ * away: a module off is a horizon, and turning it on again brings every
311
+ * record back as it was. Not undone: the set changes by turning a module
312
+ * the other way. `undefined` is every declared module. Nothing is written
313
+ * when the set is the one the store already has.
314
+ */
315
+ setEnabledModules(enabled: readonly string[] | undefined, options?: {
316
+ readonly via?: Via;
317
+ readonly batch?: string;
318
+ }): Operation | undefined;
140
319
  mutation(name: string): AnyMutationDefinition<S>;
141
320
  /** Off by module, or a derived act of a kind the workspace has off. */
142
321
  private mutationDisabled;
@@ -169,6 +348,22 @@ export declare class Store<S extends AnySchema> {
169
348
  * roles allow, which is what "absent means all" has always meant.
170
349
  */
171
350
  private refusesAgent;
351
+ /**
352
+ * A CALL THAT NAMES A RECORD OF A MODULE THAT IS OFF IS REFUSED (FR-12),
353
+ * whoever makes it: the module's own acts are already off, and an act
354
+ * the core owns — a rename that takes any kind — must not reach into a
355
+ * district the workspace does not have. The sentence names the act.
356
+ */
357
+ private namesTurnedOff;
358
+ /**
359
+ * A CALL THAT NAMES A RECORD THE CALLER MAY NOT SEE IS REFUSED (FR-02),
360
+ * before any grant is read: an act on a record is a way of reading it —
361
+ * its preview, its refusal, what its rules say after — and a seat that
362
+ * could act on what it may not see could learn it that way. Only a
363
+ * record that is there is judged; an id that names nothing is the act's
364
+ * own to refuse. The sentence names the act, never the record or its kind.
365
+ */
366
+ private namesUnseen;
172
367
  /**
173
368
  * Whether a principal may run ANY act of a module drawn only for those
174
369
  * who administer it. This is the one question the interface asks before
@@ -176,6 +371,26 @@ export declare class Store<S extends AnySchema> {
176
371
  * from the same policy that refuses the acts.
177
372
  */
178
373
  mayAdminister(module: string, principal?: Principal): boolean;
374
+ /**
375
+ * The store as one principal may see it: its graph, log, history and
376
+ * problems hold only what the policy's `sees` lets them see, and every
377
+ * act still comes here. With no `sees`, this store itself (see `seen.ts`).
378
+ */
379
+ seenBy(principal: Principal): Store<S>;
380
+ /** Whether a principal may see one record (the policy's `sees`). */
381
+ sees(principal: Principal, id: string): boolean;
382
+ private labels;
383
+ /**
384
+ * WHAT A NAME GIVEN FOR A NODE ARGUMENT MEANS, to this principal (FR-33).
385
+ *
386
+ * An id of a record the principal may see is that record, whatever it is
387
+ * called. Otherwise a label, case and accents aside, among the records of
388
+ * the kinds the argument accepts; failing that, the one label the name
389
+ * starts. Only records the principal may see are ever candidates — a
390
+ * name never tells a seat that something it may not see exists. Several
391
+ * matches are refused with every candidate; none says so.
392
+ */
393
+ resolveRef(arg: Pick<NodeRefArg, "name" | "kinds">, given: string, principal?: Principal): RefResolution;
179
394
  /** The kinds of administered modules this principal may not see at all. */
180
395
  kindsKeptFrom(principal?: Principal): ReadonlySet<string>;
181
396
  private subjectIdOf;
@@ -216,11 +431,26 @@ export declare class Store<S extends AnySchema> {
216
431
  */
217
432
  wouldChange(call: MutationCall): boolean;
218
433
  preview(call: MutationCall, context?: InvariantContext): Preview<S>;
434
+ /**
435
+ * What several calls would do as one gesture, without doing any of it
436
+ * (FR-18): each compiles on the graph the one before it left, as
437
+ * `applyAll` would run them, on a copy. The diff is the net of them all,
438
+ * and `introduces` and `resolves` judge the end state against today's.
439
+ * A call that cannot compile throws, as it would on applying; nothing is
440
+ * written, logged or heard either way.
441
+ */
442
+ previewAll(calls: readonly MutationCall[], context?: InvariantContext): Preview<S>;
219
443
  private previewPrimitives;
220
444
  /** Applies one mutation as its own batch, or joins an open batch. */
221
445
  apply(call: MutationCall, options?: ApplyOptions): ApplyResult<S>;
222
446
  /** Applies several mutations as one gesture — one batch, one undo unit. */
223
447
  applyAll(calls: readonly MutationCall[], options?: ApplyOptions): ApplyResult<S>;
448
+ /**
449
+ * `applyAll` itself. Kept apart so a rebase applies pending calls again
450
+ * through the store's own path, whatever a host has wrapped `applyAll` in
451
+ * (`openRemote` sends each one down the wire).
452
+ */
453
+ private applying;
224
454
  /**
225
455
  * OPERATIONS SOMEBODY ELSE ALREADY MADE, taken into this store.
226
456
  *
@@ -252,6 +482,44 @@ export declare class Store<S extends AnySchema> {
252
482
  receive(ops: readonly Operation[], options?: {
253
483
  readonly applied?: boolean;
254
484
  }): readonly Operation[];
485
+ /**
486
+ * OPS A HOST MADE, landed as ordinary history (FR-18): a template's
487
+ * example content, a seeded beginning, a repair or an import the host
488
+ * built itself. Unlike `receive`, which takes ops somebody else's store
489
+ * already made and skips the ones it has, these are new here, so the
490
+ * store fills in what the host left out the way it fills its own: the
491
+ * seq, an id, one batch for the call (`options.batch`, else a fresh one),
492
+ * the time, the inverse (from the primitives), what they write, and no
493
+ * mutation. What the host did say is kept.
494
+ *
495
+ * Each op lands as a write (a default is filled in on the way in, as a
496
+ * fold would), or, when it `undoes` another, as a putting-back. No policy
497
+ * is asked: there is no act to judge, and whoever calls this is the
498
+ * authority, as with `applyPrimitives`. All or nothing: an op that does
499
+ * not fit puts the store back as it was and throws a `ReceiveError`
500
+ * naming it, and an id the log already holds is refused before anything
501
+ * lands. Subscribers hear one change, and every op undoes like any other.
502
+ */
503
+ append(ops: readonly AppendOp[], options?: {
504
+ readonly batch?: string;
505
+ }): readonly Operation[];
506
+ /**
507
+ * PRIMITIVES AS AN ORDINARY CHANGE (FR-21): one batch, one op, logged,
508
+ * attributed to `author` and undoable like any act. For changes that are
509
+ * not a declared mutation — a repair from `repairPlan`, a host's own fix —
510
+ * so they land in the history rather than beside it.
511
+ *
512
+ * No policy is asked: there is no act to judge, so whoever calls this is
513
+ * the authority, the way a migration engine is. All or nothing (FR-26): a
514
+ * primitive that does not fit leaves the store as it was and throws.
515
+ */
516
+ applyPrimitives(primitives: readonly Primitive[], options?: ApplyOptions): ApplyResult<S>;
517
+ /**
518
+ * What in this store no longer fits its declaration (FR-21): the graph
519
+ * as held, judged by `validateGraph` against the schema and the rules
520
+ * this workspace has on. A clean store has none.
521
+ */
522
+ findings(): GraphFinding[];
255
523
  batches(): Batch[];
256
524
  /** Whether a batch can come out on its own, and what blocks it if not. */
257
525
  canUndo(batchIds: string | readonly string[]): UndoCheck;
@@ -267,6 +535,8 @@ export declare class Store<S extends AnySchema> {
267
535
  * than a stack pop.
268
536
  */
269
537
  undo(batchIds: string | readonly string[], options?: ApplyOptions): ApplyResult<S>;
538
+ /** `undo` itself, kept apart for the same reason as `applying`. */
539
+ private undoing;
270
540
  /** Redo is the undo of an undo — no separate stack exists. */
271
541
  redo(undoBatchId: string, options?: ApplyOptions): ApplyResult<S>;
272
542
  /**
@@ -278,7 +548,107 @@ export declare class Store<S extends AnySchema> {
278
548
  * gives the diff without that guarantee.
279
549
  */
280
550
  subscribe(listener: (diff: GraphDiff<NodeOfSchema<S>>, ops: readonly Operation[]) => void): () => void;
281
- private notify;
551
+ /**
552
+ * TELLS EVERY SUBSCRIBER OF A CHANGE: the diff, and the ops that made it.
553
+ * The store calls this for each change it makes; it is public for a host
554
+ * that changes the graph some other way and owes its subscribers the same
555
+ * news (the rebase item of FR-05). A change with no ops and an empty diff
556
+ * is nothing to tell.
557
+ */
558
+ notify(diff: GraphDiff<NodeOfSchema<S>>, ops: readonly Operation[]): void;
559
+ /**
560
+ * AN OPTIMISTIC CLIENT'S ROLLBACK (the rebase item of FR-05).
561
+ *
562
+ * A client applies a press at once and sends it; the server's op is the
563
+ * one that stays. When anything arrives from the server — somebody else's
564
+ * ops, or the verdict on one of this client's — the client's log must
565
+ * read `[confirmed…, pending…]` again. So, in one step:
566
+ *
567
+ * 1. every op of the `pending` and `drop` batches is rolled back, newest
568
+ * first, and cut from the log (they must be its tail: an op after
569
+ * them that is neither is refused, before anything moves);
570
+ * 2. the `confirmed` ops land in the server's order, skipped by id when
571
+ * the log already holds them, all or nothing (`ReceiveError`);
572
+ * 3. the `pending` batches are applied again on top, in the order given,
573
+ * under the same batch ids, author, intent and channel: each call
574
+ * judged and compiled afresh against the graph the server's ops left.
575
+ * One that no longer applies there is left off and said in `refused`;
576
+ * the server's verdict on it will say the rest.
577
+ *
578
+ * `drop` is the batches the server has answered (its own op for them is
579
+ * among `confirmed`) or refused. Subscribers hear ONE change, the net
580
+ * diff, with the confirmed ops and the re-applied ones, so an interface
581
+ * never flickers through the states in between.
582
+ */
583
+ rebase(change: Rebase): RebaseResult<S>;
584
+ /**
585
+ * A CLIENT THAT RESYNCED TAKES THE SERVER'S WHOLE STATE (FR-53).
586
+ *
587
+ * `rebase` lands the server's ops on the confirmed prefix this store
588
+ * holds. When that prefix cannot be trusted — this copy drifted, and an
589
+ * op of the server's no longer fits it, or the server compacted past
590
+ * where this client left off, so `/graview/since` cannot bring the ops in
591
+ * between — the client takes the server's graph and log as they are:
592
+ *
593
+ * 1. the ops of the `pending` batches are read off the log as it stands;
594
+ * 2. the log becomes `log` (with its `epochs` and `horizon`, checked as
595
+ * `OperationLog.from` checks them; one that is not intact is refused
596
+ * before anything moves) and the graph becomes `snapshot`, in the
597
+ * server's order — not put back op by op, as `rebase` puts it;
598
+ * 3. the `pending` batches are applied again on top, in the order given,
599
+ * exactly as `rebase` applies them: under the same batch ids, judged
600
+ * and compiled afresh. One that no longer applies is said in `refused`.
601
+ *
602
+ * `drop` names the batches the server has answered or refused: they are
603
+ * not applied again (nor is any batch left unnamed: the log is the
604
+ * server's). Subscribers hear ONE change, the net diff, with the ops this
605
+ * store did not hold before and the re-applied ones.
606
+ */
607
+ adopt(state: Adopt<S>): AdoptResult<S>;
608
+ /** One pending batch, applied again as it was made: its calls, its undo, or its primitives. */
609
+ private replay;
282
610
  snapshot(): GraphSnapshot<NodeOfSchema<S>>;
611
+ /**
612
+ * WHETHER THE GRAPH IS WHAT ITS LOG SAYS (FR-20).
613
+ *
614
+ * Refolds the log from its last epoch (FR-27), or from empty when it has
615
+ * none, and compares the result with the graph held, by `snapshotHash`. Agreement returns the hash; disagreement returns both
616
+ * hashes and the op after which they part, so a host that finds a store
617
+ * drifted knows where to look rather than only that it should.
618
+ */
619
+ verify(): VerifyResult;
620
+ /**
621
+ * THE CHECKPOINT A COMPACTION WOULD MAKE (FR-23), or `undefined` when
622
+ * nothing is old enough to archive. The horizon is `seq` when given, or
623
+ * else whichever of two keeps more: the ops made in the last `keepDays`
624
+ * days before `now` (default 90), or the last `keepOps` ops (default
625
+ * 1000). It is moved back to the start of the gesture it would split, so
626
+ * a batch is never half behind it.
627
+ *
628
+ * Nothing moves until `compact` is handed the checkpoint, so a host can
629
+ * archive what is behind it first. A store whose graph does not verify
630
+ * against its log is not compacted: the checkpoint would vouch for a
631
+ * history that does not lead to the graph held.
632
+ */
633
+ checkpoint(options?: CompactOptions): Epoch | undefined;
634
+ /**
635
+ * MOVES THE UNDO HORIZON TO `checkpoint` (FR-23): the ops and epochs
636
+ * before it leave the log, which begins at its seq from now on, and are
637
+ * returned for an adapter to archive. The graph is unchanged and still
638
+ * verifies; undo of anything behind the horizon is refused, naming it.
639
+ * Ship's `opened.compact()` archives first and calls this after.
640
+ */
641
+ compact(checkpoint: Epoch): LogArchive;
642
+ }
643
+ /** Where `store.checkpoint` puts the undo horizon (FR-23). */
644
+ export interface CompactOptions {
645
+ /** The seq to put it at. Absent, it follows from `keepDays` and `keepOps`. */
646
+ readonly seq?: number;
647
+ /** Keep every op made in the last this-many days before `now`; one exactly that old is archived. Default 90. */
648
+ readonly keepDays?: number;
649
+ /** Keep at least this many of the latest ops. Default 1000. */
650
+ readonly keepOps?: number;
651
+ /** The time the days count back from, as an ISO string. Defaults to the store's clock. */
652
+ readonly now?: string;
283
653
  }
284
654
  //# 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":"AACA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAA0C,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAA6C,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACV,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAsB,OAAO,EAAwC,MAAM,yBAAyB,CAAC;AAG5G,OAAO,EAAyB,KAAK,MAAM,EAAE,KAAK,SAAS,EAAgB,MAAM,wBAAwB,CAAC;AAC1G,OAAO,EAA+C,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGvE,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,SAAS;IAC/C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IACpC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,KAAK,EAAE,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,KAAK,MAAM,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,+BAA+B,EAAE,CAAC;CACpE;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,oEAAoE;IACpE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,uHAAuH;IACvH,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,SAAS;IAC1C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,SAAS,SAAS,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,IACvC,CAAC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAC/D;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,gDAAgD;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACxC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;CACpB;AAID,sFAAsF;AACtF,eAAO,MAAM,cAAc,EAAE,MAA2D,CAAC;AAezF,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAEjD;AAED;;;;;;;GAOG;AACH;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,KAAK;IAEnC,QAAQ,CAAC,EAAE,EAAE,SAAS;gBAAb,EAAE,EAAE,SAAS,EACtB,KAAK,EAAE,OAAO;CAKjB;AAED,qCAAqC;AACrC,MAAM,WAAW,MAAM;IACrB,gHAAgH;IAChH,QAAQ,CAAC,SAAS,EAAE,SAAS,SAAS,EAAE,CAAC;IACzC,2GAA2G;IAC3G,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,kGAAkG;IAClG,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,yBAAyB;AACzB,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,SAAS;IAC/C,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,SAAS,SAAS,EAAE,CAAC;IACzC,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,2FAA2F;IAC3F,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAClF;AAED;;;;GAIG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,SAAS;IACxC,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,wFAAwF;IACxF,QAAQ,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,CAAC;IACnC,8FAA8F;IAC9F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,KAAK,EAAE,CAAC;IACnC,sGAAsG;IACtG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,yFAAyF;IACzF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,kFAAkF;IAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,4BAA4B;AAC5B,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,SAAS;IAC9C,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,oGAAoG;IACpG,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAClF;AAeD,qBAAa,KAAK,CAAC,CAAC,SAAS,SAAS;IACpC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+C;IACzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAClE,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0C;IAC9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IACxD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,gFAAgF;IAChF,OAAO,CAAC,SAAS,CAAkK;IACnL,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,OAAO,CAAK;IACpB,2CAA2C;IAC3C,OAAO,CAAC,OAAO,CAAK;IACpB,yGAAyG;IACzG,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoF;gBAElG,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IA6EpC,yGAAyG;IACzG,OAAO,CAAC,eAAe;IAavB;;;;;;;OAOG;IACH,IAAI,OAAO,IAAI,gBAAgB,CAsB9B;IAED;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,SAAS,GAAG,SAAS;IAkC/I,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC;IAmBhD,uEAAuE;IACvE,OAAO,CAAC,gBAAgB;IAKxB,YAAY,IAAI,qBAAqB,CAAC,CAAC,CAAC,EAAE;IAI1C,uEAAuE;IACvE,OAAO,CAAC,KAAK;IAKb,aAAa,IAAI,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAE;IAIlD;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;;;;OAMG;IACH,OAAO,CACL,IAAI,EAAE,YAAY,EAClB,SAAS,GAAE,SAAiB,GAC3B,UAAU,CAAC,OAAO,OAAO,CAAC;IAoB7B,wFAAwF;IACxF,OAAO,KAAK,KAAK,GAKhB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAepB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAiBtB;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAoBnB;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,SAAiB,GAAG,OAAO;IAcpE;;;;OAIG;IACH,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;IAItC,oEAAoE;IACpE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/C,OAAO,CAAC,MAAM,CAA4B;IAE1C;;;;;;;;;OASG;IACH,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,SAAiB,GAAG,aAAa;IAgB/G,2EAA2E;IAC3E,aAAa,CAAC,SAAS,GAAE,SAAiB,GAAG,WAAW,CAAC,MAAM,CAAC;IAwBhE,OAAO,CAAC,WAAW;IAOnB;;;;;;OAMG;IACH,kBAAkB,CAAC,SAAS,GAAE,SAAiB,GAAG,SAAS,qBAAqB,CAAC,CAAC,CAAC,EAAE;IAgBrF;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAerB,wEAAwE;IACxE,UAAU,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,EAAE;IAOnD;;;;OAIG;IACH;;;;;;;;;;OAUG;IACH,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAUxC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;IAWnE;;;;;;;OAOG;IACH,UAAU,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;IAqClF,OAAO,CAAC,iBAAiB;IAiCzB,qEAAqE;IACrE,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CAAC,CAAC,CAAC;IAIrE,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CAAC,CAAC,CAAC;IAIpF;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IA6HhB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,OAAO,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,SAAS,SAAS,EAAE;IAwCtG;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,GAAG,EAAE,SAAS,QAAQ,EAAE,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,SAAS,SAAS,EAAE;IAyCjG;;;;;;;;;OASG;IACH,eAAe,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CAAC,CAAC,CAAC;IA+C7F;;;;OAIG;IACH,QAAQ,IAAI,YAAY,EAAE;IAM1B,OAAO,IAAI,KAAK,EAAE;IAIlB,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS;IAIxD;;;OAGG;IACH,WAAW,CACT,QAAQ,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EACpC,OAAO,CAAC,EAAE,gBAAgB,GACzB,WAAW,CAAC,CAAC,CAAC;IAmBjB;;;;;OAKG;IACH,IAAI,CACF,QAAQ,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAAC,CAAC,CAAC;IAIjB,mEAAmE;IACnE,OAAO,CAAC,OAAO;IAgGf,8DAA8D;IAC9D,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CAAC,CAAC,CAAC;IAIrE;;;;;;;OAOG;IACH,SAAS,CACP,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,SAAS,EAAE,KAAK,IAAI,GAC9E,MAAM,IAAI;IAKb;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI;IAMzE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;IAqEvC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAgDtC,+FAA+F;IAC/F,OAAO,CAAC,MAAM;IAoBd,QAAQ,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAI1C;;;;;;;OAOG;IACH,MAAM,IAAI,YAAY;IAQtB;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,OAAO,GAAE,cAAmB,GAAG,KAAK,GAAG,SAAS;IAqB3D;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,EAAE,KAAK,GAAG,UAAU;CAGvC;AAED,8DAA8D;AAC9D,MAAM,WAAW,cAAc;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,gHAAgH;IAChH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB"}