@graview/core 0.1.49 → 0.1.51

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 (255) hide show
  1. package/dist/answer-seen.js +2 -2
  2. package/dist/answer-seen.js.map +1 -1
  3. package/dist/app.d.ts +11 -0
  4. package/dist/app.d.ts.map +1 -1
  5. package/dist/app.js.map +1 -1
  6. package/dist/capabilities.d.ts +7 -1
  7. package/dist/capabilities.d.ts.map +1 -1
  8. package/dist/capabilities.js.map +1 -1
  9. package/dist/cli/check/index.d.ts +1 -0
  10. package/dist/cli/check/index.d.ts.map +1 -1
  11. package/dist/cli/check/index.js +1 -0
  12. package/dist/cli/check/index.js.map +1 -1
  13. package/dist/cli/check/publishing.d.ts +13 -0
  14. package/dist/cli/check/publishing.d.ts.map +1 -0
  15. package/dist/cli/check/publishing.js +36 -0
  16. package/dist/cli/check/publishing.js.map +1 -0
  17. package/dist/cli/check.d.ts.map +1 -1
  18. package/dist/cli/check.js +2 -1
  19. package/dist/cli/check.js.map +1 -1
  20. package/dist/cli/describe.d.ts.map +1 -1
  21. package/dist/cli/describe.js +15 -0
  22. package/dist/cli/describe.js.map +1 -1
  23. package/dist/cli/index.d.ts +1 -0
  24. package/dist/cli/index.d.ts.map +1 -1
  25. package/dist/cli/index.js +3 -1
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/document/compiled.d.ts.map +1 -1
  28. package/dist/document/compiled.js +5 -0
  29. package/dist/document/compiled.js.map +1 -1
  30. package/dist/document/field-spec.d.ts.map +1 -1
  31. package/dist/document/field-spec.js +8 -2
  32. package/dist/document/field-spec.js.map +1 -1
  33. package/dist/document/format-findings.d.ts.map +1 -1
  34. package/dist/document/format-findings.js +5 -0
  35. package/dist/document/format-findings.js.map +1 -1
  36. package/dist/document/schema.d.ts +13 -0
  37. package/dist/document/schema.d.ts.map +1 -1
  38. package/dist/document/schema.js +16 -0
  39. package/dist/document/schema.js.map +1 -1
  40. package/dist/document/to-document.d.ts.map +1 -1
  41. package/dist/document/to-document.js +1 -0
  42. package/dist/document/to-document.js.map +1 -1
  43. package/dist/document.schema.json +42 -2
  44. package/dist/field-sight.js +5 -4
  45. package/dist/field-sight.js.map +1 -1
  46. package/dist/format-error.d.ts +54 -0
  47. package/dist/format-error.d.ts.map +1 -0
  48. package/dist/format-error.js +73 -0
  49. package/dist/format-error.js.map +1 -0
  50. package/dist/formats.d.ts +16 -13
  51. package/dist/formats.d.ts.map +1 -1
  52. package/dist/formats.js +18 -17
  53. package/dist/formats.js.map +1 -1
  54. package/dist/graph/diff.js +1 -1
  55. package/dist/graph/diff.js.map +1 -1
  56. package/dist/graph/edge-fields.d.ts +20 -0
  57. package/dist/graph/edge-fields.d.ts.map +1 -0
  58. package/dist/graph/edge-fields.js +21 -0
  59. package/dist/graph/edge-fields.js.map +1 -0
  60. package/dist/graph/graph.d.ts +3 -0
  61. package/dist/graph/graph.d.ts.map +1 -1
  62. package/dist/graph/graph.js +57 -4
  63. package/dist/graph/graph.js.map +1 -1
  64. package/dist/graph/primitives.d.ts +22 -2
  65. package/dist/graph/primitives.d.ts.map +1 -1
  66. package/dist/graph/primitives.js +20 -0
  67. package/dist/graph/primitives.js.map +1 -1
  68. package/dist/graph/types.d.ts +15 -1
  69. package/dist/graph/types.d.ts.map +1 -1
  70. package/dist/graph/types.js +0 -0
  71. package/dist/graph/types.js.map +1 -1
  72. package/dist/history.d.ts +68 -3
  73. package/dist/history.d.ts.map +1 -1
  74. package/dist/history.js +68 -8
  75. package/dist/history.js.map +1 -1
  76. package/dist/index.d.ts +17 -7
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +11 -2
  79. package/dist/index.js.map +1 -1
  80. package/dist/integrity.d.ts.map +1 -1
  81. package/dist/integrity.js +2 -1
  82. package/dist/integrity.js.map +1 -1
  83. package/dist/linked.d.ts +1 -0
  84. package/dist/linked.d.ts.map +1 -1
  85. package/dist/linked.js +1 -0
  86. package/dist/linked.js.map +1 -1
  87. package/dist/mutations/define-mutation.d.ts +4 -0
  88. package/dist/mutations/define-mutation.d.ts.map +1 -1
  89. package/dist/mutations/define-mutation.js +32 -8
  90. package/dist/mutations/define-mutation.js.map +1 -1
  91. package/dist/mutations/keep-link.d.ts.map +1 -1
  92. package/dist/mutations/keep-link.js +4 -2
  93. package/dist/mutations/keep-link.js.map +1 -1
  94. package/dist/mutations/type-text.d.ts +52 -0
  95. package/dist/mutations/type-text.d.ts.map +1 -0
  96. package/dist/mutations/type-text.js +107 -0
  97. package/dist/mutations/type-text.js.map +1 -0
  98. package/dist/mutations/types.d.ts +8 -0
  99. package/dist/mutations/types.d.ts.map +1 -1
  100. package/dist/mutations/visitor-form.js +1 -1
  101. package/dist/mutations/visitor-form.js.map +1 -1
  102. package/dist/ops/digest.d.ts +40 -6
  103. package/dist/ops/digest.d.ts.map +1 -1
  104. package/dist/ops/digest.js +79 -16
  105. package/dist/ops/digest.js.map +1 -1
  106. package/dist/ops/kept-fields.d.ts +1 -1
  107. package/dist/ops/kept-fields.d.ts.map +1 -1
  108. package/dist/ops/kept-fields.js +4 -1
  109. package/dist/ops/kept-fields.js.map +1 -1
  110. package/dist/ops/log.d.ts.map +1 -1
  111. package/dist/ops/log.js +3 -0
  112. package/dist/ops/log.js.map +1 -1
  113. package/dist/ops/provenance.d.ts.map +1 -1
  114. package/dist/ops/provenance.js +3 -1
  115. package/dist/ops/provenance.js.map +1 -1
  116. package/dist/ops/revisions.d.ts +8 -2
  117. package/dist/ops/revisions.d.ts.map +1 -1
  118. package/dist/ops/revisions.js +12 -3
  119. package/dist/ops/revisions.js.map +1 -1
  120. package/dist/ops/served.d.ts.map +1 -1
  121. package/dist/ops/served.js +30 -4
  122. package/dist/ops/served.js.map +1 -1
  123. package/dist/ops/suggestions.d.ts +14 -0
  124. package/dist/ops/suggestions.d.ts.map +1 -1
  125. package/dist/ops/suggestions.js.map +1 -1
  126. package/dist/ops/types.d.ts +43 -3
  127. package/dist/ops/types.d.ts.map +1 -1
  128. package/dist/ops/types.js +16 -1
  129. package/dist/ops/types.js.map +1 -1
  130. package/dist/ops/undo.d.ts +15 -2
  131. package/dist/ops/undo.d.ts.map +1 -1
  132. package/dist/ops/undo.js +22 -3
  133. package/dist/ops/undo.js.map +1 -1
  134. package/dist/ops/withheld.d.ts.map +1 -1
  135. package/dist/ops/withheld.js +4 -0
  136. package/dist/ops/withheld.js.map +1 -1
  137. package/dist/ops/writers.d.ts.map +1 -1
  138. package/dist/ops/writers.js +3 -0
  139. package/dist/ops/writers.js.map +1 -1
  140. package/dist/past.d.ts +1 -0
  141. package/dist/past.d.ts.map +1 -1
  142. package/dist/past.js +9 -2
  143. package/dist/past.js.map +1 -1
  144. package/dist/persistence/memory.d.ts +1 -1
  145. package/dist/persistence/memory.d.ts.map +1 -1
  146. package/dist/persistence/memory.js +5 -1
  147. package/dist/persistence/memory.js.map +1 -1
  148. package/dist/persistence/sql.d.ts +1 -1
  149. package/dist/persistence/sql.d.ts.map +1 -1
  150. package/dist/persistence/sql.js +45 -5
  151. package/dist/persistence/sql.js.map +1 -1
  152. package/dist/persistence/sqlite.d.ts +1 -0
  153. package/dist/persistence/sqlite.d.ts.map +1 -1
  154. package/dist/persistence/sqlite.js +1 -0
  155. package/dist/persistence/sqlite.js.map +1 -1
  156. package/dist/persistence/types.d.ts +34 -1
  157. package/dist/persistence/types.d.ts.map +1 -1
  158. package/dist/persistence/types.js +35 -1
  159. package/dist/persistence/types.js.map +1 -1
  160. package/dist/presence.d.ts +20 -1
  161. package/dist/presence.d.ts.map +1 -1
  162. package/dist/presence.js +4 -2
  163. package/dist/presence.js.map +1 -1
  164. package/dist/publish.d.ts +78 -0
  165. package/dist/publish.d.ts.map +1 -0
  166. package/dist/publish.js +23 -0
  167. package/dist/publish.js.map +1 -0
  168. package/dist/publishing.d.ts +10 -0
  169. package/dist/publishing.d.ts.map +1 -0
  170. package/dist/publishing.js +168 -0
  171. package/dist/publishing.js.map +1 -0
  172. package/dist/refused.d.ts +13 -6
  173. package/dist/refused.d.ts.map +1 -1
  174. package/dist/refused.js +13 -6
  175. package/dist/refused.js.map +1 -1
  176. package/dist/schema/collaborative-of.d.ts +11 -0
  177. package/dist/schema/collaborative-of.d.ts.map +1 -0
  178. package/dist/schema/collaborative-of.js +45 -0
  179. package/dist/schema/collaborative-of.js.map +1 -0
  180. package/dist/schema/collaborative.d.ts +12 -0
  181. package/dist/schema/collaborative.d.ts.map +1 -0
  182. package/dist/schema/collaborative.js +28 -0
  183. package/dist/schema/collaborative.js.map +1 -0
  184. package/dist/seen.d.ts +44 -1
  185. package/dist/seen.d.ts.map +1 -1
  186. package/dist/seen.js +59 -14
  187. package/dist/seen.js.map +1 -1
  188. package/dist/store.d.ts +79 -5
  189. package/dist/store.d.ts.map +1 -1
  190. package/dist/store.js +138 -32
  191. package/dist/store.js.map +1 -1
  192. package/dist/subscription-shape.d.ts +21 -1
  193. package/dist/subscription-shape.d.ts.map +1 -1
  194. package/dist/subscription-shape.js.map +1 -1
  195. package/dist/subscriptions.d.ts +33 -1
  196. package/dist/subscriptions.d.ts.map +1 -1
  197. package/dist/subscriptions.js +155 -18
  198. package/dist/subscriptions.js.map +1 -1
  199. package/dist/sync/engine.d.ts.map +1 -1
  200. package/dist/sync/engine.js +43 -15
  201. package/dist/sync/engine.js.map +1 -1
  202. package/dist/sync/index.d.ts +1 -1
  203. package/dist/sync/index.d.ts.map +1 -1
  204. package/dist/sync/index.js +1 -1
  205. package/dist/sync/index.js.map +1 -1
  206. package/dist/sync/types.d.ts +10 -0
  207. package/dist/sync/types.d.ts.map +1 -1
  208. package/dist/sync/types.js +8 -0
  209. package/dist/sync/types.js.map +1 -1
  210. package/dist/testing.d.ts.map +1 -1
  211. package/dist/testing.js +1 -0
  212. package/dist/testing.js.map +1 -1
  213. package/dist/text/diff.d.ts +10 -0
  214. package/dist/text/diff.d.ts.map +1 -0
  215. package/dist/text/diff.js +26 -0
  216. package/dist/text/diff.js.map +1 -0
  217. package/dist/text/since.d.ts +38 -0
  218. package/dist/text/since.d.ts.map +1 -0
  219. package/dist/text/since.js +88 -0
  220. package/dist/text/since.js.map +1 -0
  221. package/dist/text/splice.d.ts +39 -0
  222. package/dist/text/splice.d.ts.map +1 -0
  223. package/dist/text/splice.js +46 -0
  224. package/dist/text/splice.js.map +1 -0
  225. package/dist/text/transform.d.ts +14 -0
  226. package/dist/text/transform.d.ts.map +1 -0
  227. package/dist/text/transform.js +59 -0
  228. package/dist/text/transform.js.map +1 -0
  229. package/dist/text/typing-hook.d.ts +43 -0
  230. package/dist/text/typing-hook.d.ts.map +1 -0
  231. package/dist/text/typing-hook.js +16 -0
  232. package/dist/text/typing-hook.js.map +1 -0
  233. package/dist/text/typing-spans.d.ts +11 -0
  234. package/dist/text/typing-spans.d.ts.map +1 -0
  235. package/dist/text/typing-spans.js +35 -0
  236. package/dist/text/typing-spans.js.map +1 -0
  237. package/dist/text/typing-words.d.ts +45 -0
  238. package/dist/text/typing-words.d.ts.map +1 -0
  239. package/dist/text/typing-words.js +85 -0
  240. package/dist/text/typing-words.js.map +1 -0
  241. package/dist/tidying.d.ts +3 -3
  242. package/dist/tidying.d.ts.map +1 -1
  243. package/dist/tidying.js +1 -1
  244. package/dist/tidying.js.map +1 -1
  245. package/dist/typing.d.ts +4 -0
  246. package/dist/typing.d.ts.map +1 -0
  247. package/dist/typing.js +204 -0
  248. package/dist/typing.js.map +1 -0
  249. package/dist/version.d.ts +1 -1
  250. package/dist/version.js +1 -1
  251. package/dist/who.d.ts +1 -1
  252. package/dist/who.d.ts.map +1 -1
  253. package/dist/who.js +5 -2
  254. package/dist/who.js.map +1 -1
  255. package/package.json +12 -2
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Whether a field is typed together: its mark where it has one, under
3
+ * optional, default and nullable; else whether it is declared prose — a
4
+ * Markdown field, or a string declared to hold more than 500 characters.
5
+ */
6
+ export declare function isCollaborativeField(schema: unknown): boolean;
7
+ /** Whether one field of a kind is typed together, read off the declaration: false for a field the kind does not declare. */
8
+ export declare function collaborativeFieldOf(schema: {
9
+ tryDefinition(kind: string): unknown;
10
+ }, kind: string | undefined, field: string): boolean;
11
+ //# sourceMappingURL=collaborative-of.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collaborative-of.d.ts","sourceRoot":"","sources":["../../src/schema/collaborative-of.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAiB7D;AAED,4HAA4H;AAC5H,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAIvI"}
@@ -0,0 +1,45 @@
1
+ import { COLLABORATIVE, defOf } from "./collaborative.js";
2
+ /*
3
+ * WHICH FIELDS ARE TYPED TOGETHER, READ (Roadmap f-collab-text). Apart from
4
+ * `./collaborative.ts`, whose mark every declaration may set, so a page that
5
+ * never types carries none of the reading: the store asks through its
6
+ * typing hook, and `@graview/core/typing` exports it.
7
+ */
8
+ const MARKDOWN = Symbol.for("@graview/core:markdown");
9
+ /** What a string field may hold beyond which it is prose, as a record's page reads it (`isLongText`). */
10
+ const PROSE_ALLOWED = 500;
11
+ /**
12
+ * Whether a field is typed together: its mark where it has one, under
13
+ * optional, default and nullable; else whether it is declared prose — a
14
+ * Markdown field, or a string declared to hold more than 500 characters.
15
+ */
16
+ export function isCollaborativeField(schema) {
17
+ let at = schema;
18
+ for (let depth = 0; depth < 6; depth++) {
19
+ const def = defOf(at);
20
+ if (!def)
21
+ return false;
22
+ if (def[COLLABORATIVE] !== undefined)
23
+ return def[COLLABORATIVE] === 1;
24
+ if (def[MARKDOWN] === 1)
25
+ return true;
26
+ if (def.type === "string") {
27
+ return (def.checks ?? []).some((check) => {
28
+ const said = defOf(check);
29
+ return said?.check === "max_length" && (said.maximum ?? 0) > PROSE_ALLOWED;
30
+ });
31
+ }
32
+ if (def.innerType === undefined)
33
+ return false;
34
+ at = def.innerType;
35
+ }
36
+ return false;
37
+ }
38
+ /** Whether one field of a kind is typed together, read off the declaration: false for a field the kind does not declare. */
39
+ export function collaborativeFieldOf(schema, kind, field) {
40
+ if (kind === undefined || field === "id" || field === "kind")
41
+ return false;
42
+ const shape = schema.tryDefinition(kind)?.fields?.shape;
43
+ return !!shape && Object.prototype.hasOwnProperty.call(shape, field) && isCollaborativeField(shape[field]);
44
+ }
45
+ //# sourceMappingURL=collaborative-of.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collaborative-of.js","sourceRoot":"","sources":["../../src/schema/collaborative-of.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAEtD,yGAAyG;AACzG,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAe;IAClD,IAAI,EAAE,GAAG,MAAM,CAAC;IAChB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACvB,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAuE,CAAC;gBAChG,OAAO,IAAI,EAAE,KAAK,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC;YAC7E,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC9C,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,4HAA4H;AAC5H,MAAM,UAAU,oBAAoB,CAAC,MAAgD,EAAE,IAAwB,EAAE,KAAa;IAC5H,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAC3E,MAAM,KAAK,GAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAkE,EAAE,MAAM,EAAE,KAAK,CAAC;IAC1H,OAAO,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7G,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare const COLLABORATIVE: unique symbol;
2
+ type Def = {
3
+ readonly type?: string;
4
+ readonly innerType?: unknown;
5
+ readonly checks?: readonly unknown[];
6
+ readonly [key: symbol]: unknown;
7
+ };
8
+ export declare const defOf: (schema: unknown) => Def | undefined;
9
+ /** Marks a schema as typed together (`true`, the default) or written whole (`false`), whatever it would be by default. */
10
+ export declare const markCollaborative: <T extends object>(schema: T, on?: boolean) => T;
11
+ export {};
12
+ //# sourceMappingURL=collaborative.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collaborative.d.ts","sourceRoot":"","sources":["../../src/schema/collaborative.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,aAAa,eAA4C,CAAC;AACvE,KAAK,GAAG,GAAG;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAC3I,eAAO,MAAM,KAAK,GAAI,QAAQ,OAAO,KAAG,GAAG,GAAG,SAAyH,CAAC;AAExK,0HAA0H;AAC1H,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAS,KAAG,CAI1E,CAAC"}
@@ -0,0 +1,28 @@
1
+ /*
2
+ * TEXT TYPED TOGETHER (Roadmap f-collab-text, phase 2).
3
+ *
4
+ * Whether two people may type into one text field at once — each keystroke
5
+ * a splice, transformed over the others — is the declaration's to say, and
6
+ * never the value's: an empty draft of an essay is typed together as the
7
+ * essay is. Declared prose is, unless it says otherwise: a Markdown field,
8
+ * a document's `text`, a string declared to hold more than 500 characters
9
+ * (`z.string().max(5000)`). A short string — a name, a code, a status — is
10
+ * written whole, and a stale write of it is a conflict to choose over.
11
+ *
12
+ * The mark is on the schema's def, as Markdown's is (`markdown.ts`), so a
13
+ * clone shares it and a wrapper holds it inside; `markCollaborative(schema,
14
+ * false)` says a long field is written whole, and a document's field says
15
+ * `"collaborative": false | true`, marked where it is built (`fieldSchema`)
16
+ * by the same `Symbol.for`. Read without zod, so the store carries it and
17
+ * not zod's helpers.
18
+ */
19
+ export const COLLABORATIVE = Symbol.for("@graview/core:collaborative");
20
+ export const defOf = (schema) => (typeof schema === "object" && schema !== null ? schema._zod?.def : undefined);
21
+ /** Marks a schema as typed together (`true`, the default) or written whole (`false`), whatever it would be by default. */
22
+ export const markCollaborative = (schema, on = true) => {
23
+ const def = defOf(schema);
24
+ if (def)
25
+ def[COLLABORATIVE] = on ? 1 : 0;
26
+ return schema;
27
+ };
28
+ //# sourceMappingURL=collaborative.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collaborative.js","sourceRoot":"","sources":["../../src/schema/collaborative.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAe,EAAmB,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAE,MAAmC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAExK,0HAA0H;AAC1H,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAmB,MAAS,EAAE,EAAE,GAAG,IAAI,EAAK,EAAE;IAC7E,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAwC,CAAC;IACjE,IAAI,GAAG;QAAE,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
package/dist/seen.d.ts CHANGED
@@ -5,6 +5,7 @@ import type { Operation } from "./ops/types.js";
5
5
  import { type SeatLens } from "./ops/withheld.js";
6
6
  import { type Judged } from "./permissions/sight.js";
7
7
  import type { Principal } from "./permissions/types.js";
8
+ import { type Publishing } from "./publish.js";
8
9
  /**
9
10
  * WHETHER ANYTHING IS KEPT FROM THIS SEAT: a sight the policy declares
10
11
  * (FR-02), or a module the workspace has off (FR-12). When neither, every
@@ -60,6 +61,36 @@ export declare function seatLens(store: Judged, principal: Principal): SeatLens;
60
61
  export declare function logSeenBy(store: Judged, principal: Principal): readonly Operation[];
61
62
  /** A log reading over a seat's redacted ops, for `checkUndo`. */
62
63
  export declare function readingOf(ops: readonly Operation[], epochs: LogReading["epochs"]): LogReading;
64
+ /**
65
+ * WHERE A SEAT'S VIEW IS SERVED THROUGH (`servedSeq`): the head, for a seat
66
+ * of a live app and a collaborator of one that publishes — the view reads
67
+ * its store as it grows — or what was published, for a reader of one
68
+ * (`servedBehind`), which moves when a publish does. The store a seat's
69
+ * view is of, the module reading what is off and the policy are each the
70
+ * store's own, so the view's key is the seat and this.
71
+ */
72
+ export declare const viewKey: (principal: Principal, served: "head" | "published") => string;
73
+ export declare const bound: (target: object, prop: PropertyKey) => unknown;
74
+ /**
75
+ * THE APP AS THIS SEAT IS SERVED IT.
76
+ *
77
+ * Every surface reads `store.graph` — the scene, the pages, Find, the
78
+ * chat, an agent's tools — and none of them asked who was looking: a
79
+ * storefront showed a stranger every customer's name, email and finance
80
+ * question, because a policy could only say who may ACT. With the policy's
81
+ * `sees` declared, this is the store a surface is handed: its graph, its
82
+ * log, its history and its problems hold only what the principal may see,
83
+ * and every act still goes to the store itself, judged there — at the
84
+ * head — as always. With no `sees`, it is the store, unchanged.
85
+ *
86
+ * What a seat is served is not promised to be the head: it is served
87
+ * through `servedSeq`, which is the head today and which a policy may set
88
+ * behind it (docs/stability.md, "Served state and the head"). Nor is it
89
+ * promised to be one object per principal: the view is kept to save
90
+ * judging again, keyed by what serving depends on (`viewKey`).
91
+ */
92
+ /** The key a seat's view answers with the store it is of and the seat (`seatOf`, `@graview/core/seat-of`'s reading of it). */
93
+ export declare const SEAT: unique symbol;
63
94
  /**
64
95
  * WHAT A SEAT'S VIEW IS A VIEW OF: a store as `seenBy` reads it — beyond
65
96
  * what judges its sight, its graph and its log whole, which the view serves
@@ -84,6 +115,18 @@ export interface Viewed extends Judged {
84
115
  readonly author: Principal;
85
116
  }): unknown;
86
117
  checkpoint(options?: never): Epoch | undefined;
118
+ readonly publishing?: Publishing | undefined;
119
+ readonly publishedSeq?: number | undefined;
120
+ subscribe(listener: never): () => void;
121
+ }
122
+ /** How a seat asks to be served: as it is (the default), or — a collaborator previewing — as readers are, `"published"`. */
123
+ export interface SeenOptions {
124
+ readonly as?: "head" | "published";
87
125
  }
88
- export declare function seenBy<T extends Viewed>(store: T, principal: Principal): T;
126
+ export declare function seenBy<T extends Viewed>(store: T, principal: Principal, options?: SeenOptions): T;
127
+ /** Whether readers of an app that publishes can be served here: true once `@graview/core/publishing` is loaded. */
128
+ export declare const servesReaders: () => boolean;
129
+ export declare function viewsOf(store: object): Map<string, unknown>;
130
+ /** The app as a seat is served it at the head: what its sight reaches, as the store grows. */
131
+ export declare function seatView<T extends Viewed>(store: T, principal: Principal): T;
89
132
  //# sourceMappingURL=seen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seen.d.ts","sourceRoot":"","sources":["../src/seen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seen.d.ts","sourceRoot":"","sources":["../src/seen.ts"],"names":[],"mappings":"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"}
package/dist/seen.js CHANGED
@@ -4,6 +4,8 @@ import { writersOf } from "./ops/writers.js";
4
4
  import { namesUnseen, redact } from "./ops/withheld.js";
5
5
  import { actingAs, grantsTo, isSystem } from "./permissions/policy.js";
6
6
  import { FIELD_SIGHT, fieldsJudged, partialSight, recordsOf, sees } from "./permissions/sight.js";
7
+ import { diffSnapshots } from "./graph/diff.js";
8
+ import { PUBLISHING, readsPublished } from "./publish.js";
7
9
  const NOTHING = new Set();
8
10
  /**
9
11
  * The kinds kept from a seat because their module is off (FR-12): from
@@ -293,7 +295,7 @@ const touchedIds = (ops) => {
293
295
  for (const primitive of op.primitives) {
294
296
  if (primitive.op === "add-node" || primitive.op === "remove-node")
295
297
  ids.add(primitive.node.id);
296
- else if (primitive.op === "patch-node")
298
+ else if (primitive.op === "patch-node" || primitive.op === "splice-text")
297
299
  ids.add(primitive.id);
298
300
  else {
299
301
  ids.add(primitive.edge.from);
@@ -370,17 +372,33 @@ export function readingOf(ops, epochs) {
370
372
  return { all: () => ops, undoneIds: () => undoneIn(ops), epochs };
371
373
  }
372
374
  const VIEWS = new WeakMap();
373
- /** A seat, keyed by the seat the policy judges: an agent for Nick is not the same agent alone. */
375
+ /**
376
+ * A seat, keyed by the seat the policy judges: an agent for Nick is not the
377
+ * same agent alone. It is everything serving reads of the principal — its
378
+ * kind, the id and roles sight is judged by (`actingAs`), and whether it
379
+ * acts for somebody — and nothing it does not (a session, a name), so two
380
+ * tabs of one seat share what they are served.
381
+ */
374
382
  function seatKey(principal) {
375
383
  const judged = isSystem(principal) ? principal : actingAs(principal);
376
- return `${principal.kind}|${judged.id ?? ""}|${(judged.roles ?? []).join(",")}|${principal.onBehalfOf ? "for" : ""}`;
384
+ // An agent's own id too: two agents for one person are two seats, and each view answers as its own (`seenFor`, `wouldChange`, `preview`).
385
+ return `${principal.kind}|${judged.id ?? ""}|${(judged.roles ?? []).join(",")}|${principal.onBehalfOf ? `for:${principal.id ?? ""}` : ""}`;
377
386
  }
378
- const bound = (target, prop) => {
387
+ /**
388
+ * WHERE A SEAT'S VIEW IS SERVED THROUGH (`servedSeq`): the head, for a seat
389
+ * of a live app and a collaborator of one that publishes — the view reads
390
+ * its store as it grows — or what was published, for a reader of one
391
+ * (`servedBehind`), which moves when a publish does. The store a seat's
392
+ * view is of, the module reading what is off and the policy are each the
393
+ * store's own, so the view's key is the seat and this.
394
+ */
395
+ export const viewKey = (principal, served) => `${seatKey(principal)}@${served}`;
396
+ export const bound = (target, prop) => {
379
397
  const value = Reflect.get(target, prop, target);
380
398
  return typeof value === "function" ? value.bind(target) : value;
381
399
  };
382
400
  /**
383
- * THE STORE AS ONE PRINCIPAL MAY SEE IT.
401
+ * THE APP AS THIS SEAT IS SERVED IT.
384
402
  *
385
403
  * Every surface reads `store.graph` — the scene, the pages, Find, the
386
404
  * chat, an agent's tools — and none of them asked who was looking: a
@@ -388,19 +406,41 @@ const bound = (target, prop) => {
388
406
  * question, because a policy could only say who may ACT. With the policy's
389
407
  * `sees` declared, this is the store a surface is handed: its graph, its
390
408
  * log, its history and its problems hold only what the principal may see,
391
- * and every act still goes to the store itself, judged there as always.
392
- * With no `sees`, it is the store, unchanged.
409
+ * and every act still goes to the store itself, judged there — at the
410
+ * head — as always. With no `sees`, it is the store, unchanged.
411
+ *
412
+ * What a seat is served is not promised to be the head: it is served
413
+ * through `servedSeq`, which is the head today and which a policy may set
414
+ * behind it (docs/stability.md, "Served state and the head"). Nor is it
415
+ * promised to be one object per principal: the view is kept to save
416
+ * judging again, keyed by what serving depends on (`viewKey`).
393
417
  */
394
418
  /** The key a seat's view answers with the store it is of and the seat (`seatOf`, `@graview/core/seat-of`'s reading of it). */
395
- const SEAT = Symbol.for("@graview/core:seat");
396
- export function seenBy(store, principal) {
397
- // A module off keeps its kinds from every seat as a sight would (FR-12); the view reads which are off as it goes. The system is kept from nothing.
398
- if (!hidesFrom(store, principal))
399
- return store;
400
- const key = seatKey(principal);
419
+ export const SEAT = Symbol.for("@graview/core:seat");
420
+ export function seenBy(store, principal, options = {}) {
421
+ // A reader of an app that publishes is served what was published (Roadmap f-publishing-lifecycle), once `@graview/core/publishing` says how; until then, refused — never the head.
422
+ if (readsPublished(store.publishing, principal, options.as)) {
423
+ if (PUBLISHING.served)
424
+ return PUBLISHING.served(store, principal);
425
+ throw new Error("Load @graview/core/publishing to serve a reader of an app that publishes.");
426
+ }
427
+ return seatView(store, principal);
428
+ }
429
+ /** Whether readers of an app that publishes can be served here: true once `@graview/core/publishing` is loaded. */
430
+ export const servesReaders = () => PUBLISHING.served !== undefined;
431
+ export function viewsOf(store) {
401
432
  let views = VIEWS.get(store);
402
433
  if (!views)
403
434
  VIEWS.set(store, (views = new Map()));
435
+ return views;
436
+ }
437
+ /** The app as a seat is served it at the head: what its sight reaches, as the store grows. */
438
+ export function seatView(store, principal) {
439
+ // A module off keeps its kinds from every seat as a sight would (FR-12); the view reads which are off as it goes. The system is kept from nothing.
440
+ if (!hidesFrom(store, principal))
441
+ return store;
442
+ const key = viewKey(principal, "head");
443
+ const views = viewsOf(store);
404
444
  const held = views.get(key);
405
445
  if (held)
406
446
  return held;
@@ -577,9 +617,12 @@ export function seenBy(store, principal) {
577
617
  case "preview":
578
618
  return (call, context, options) => target.preview(call, context, { author: principal, ...options });
579
619
  case "seenBy":
580
- return (other) => seenBy(target, other);
620
+ return (other, options) => seenBy(target, other, options);
581
621
  case "seenFor":
582
622
  return principal;
623
+ // Where what this seat is served ends: the store's own (`servedSeq`) — its head, or a past's seq; never set through the view.
624
+ case "servedSeq":
625
+ return target.servedSeq;
583
626
  // A checkpoint taken through the seat's view is the one it is served.
584
627
  case "checkpoint":
585
628
  return (options) => servedIf(target.checkpoint(options));
@@ -591,4 +634,6 @@ export function seenBy(store, principal) {
591
634
  views.set(key, view);
592
635
  return view;
593
636
  }
637
+ // What the reader's view borrows of this module (`@graview/core/publishing`), lent rather than imported.
638
+ PUBLISHING.kit = { seatView: seatView, viewsOf, viewKey, diff: diffSnapshots, reads: readsPublished };
594
639
  //# sourceMappingURL=seen.js.map
package/dist/seen.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"seen.js","sourceRoot":"","sources":["../src/seen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seen.js","sourceRoot":"","sources":["../src/seen.ts"],"names":[],"mappings":"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"}
package/dist/store.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { type SeenOptions } from "./seen.js";
1
2
  import type { IntelligenceProviderDeclaration } from "./app.js";
2
3
  import { Graph, GraphError, MissingRecordError } from "./graph/graph.js";
3
4
  import { type ModuleMap, type ModuleProjection } from "./modules.js";
@@ -12,12 +13,14 @@ import type { AnyMutationDefinition, MutationCall } from "./mutations/types.js";
12
13
  import { OperationLog, type Epoch, type LogArchive } from "./ops/log.js";
13
14
  import type { Author, Batch, Operation, Via } from "./ops/types.js";
14
15
  import { type Lineage } from "./ops/lineage.js";
16
+ import type { FieldRevision } from "./ops/revisions.js";
15
17
  import { permits } from "./permissions/policy.js";
16
18
  import { type Policy, type Principal } from "./permissions/types.js";
17
19
  import { type UndoCheck } from "./ops/undo.js";
18
20
  import type { AnySchema, NodeOfSchema } from "./schema/schema.js";
19
21
  import { type GraphFinding } from "./validate-graph.js";
20
22
  import { type Tick } from "./clock.js";
23
+ import { type Publishing } from "./publish.js";
21
24
  export interface StoreOptions<S extends AnySchema> {
22
25
  readonly schema: S;
23
26
  readonly mutations?: readonly AnyMutationDefinition<S>[];
@@ -92,6 +95,13 @@ export interface StoreOptions<S extends AnySchema> {
92
95
  * permission system — it is a suggestion, and the agent seat is the bypass.
93
96
  */
94
97
  readonly policy?: Policy;
98
+ /**
99
+ * WHEN EDITS REACH READERS (Roadmap f-publishing-lifecycle): absent or
100
+ * `"live"`, as they are made; `"on-publish"`, when a publisher publishes
101
+ * them, the `working` roles editing the head meanwhile. On the store, as
102
+ * the policy is, so every surface that reads a seat's view is served it.
103
+ */
104
+ readonly publishing?: Publishing;
95
105
  /**
96
106
  * The app's declared modules, and which are on for THIS installation.
97
107
  *
@@ -199,6 +209,15 @@ export interface ApplyOptions {
199
209
  * subscribers are as if the change was never asked. Returning keeps it.
200
210
  */
201
211
  readonly admit?: (planned: PlannedChange) => void;
212
+ /**
213
+ * WHAT THE CALLER LAST READ (Roadmap f-collab-text): each field it writes,
214
+ * at the revision it read it at, as a call over the wire says it. A whole
215
+ * value written over a field typed together is merged three ways — what
216
+ * the caller changed in the text it read, carried over what others typed
217
+ * since — rather than written over theirs; a field it names no revision
218
+ * of is diffed against its text now.
219
+ */
220
+ readonly base?: readonly FieldRevision[];
202
221
  }
203
222
  /**
204
223
  * WHAT A CHANGE WOULD DO, before it is kept (`ApplyOptions.admit`): its
@@ -238,6 +257,12 @@ export interface Preview<S extends AnySchema> {
238
257
  export interface ApplyResult<S extends AnySchema> extends Preview<S> {
239
258
  readonly ops: readonly Operation[];
240
259
  readonly batch: string;
260
+ /**
261
+ * The id each call's act minted first, by the call's index — the one an
262
+ * `id` argument names (Roadmap f-1-0-client-ids) — where it minted one:
263
+ * what a client sends with the call, so the server makes the same record.
264
+ */
265
+ readonly minted?: readonly (string | undefined)[];
241
266
  }
242
267
  /**
243
268
  * WHAT `previewAll` TAKES (FR-56): everything `applyAll` takes — the author
@@ -407,9 +432,13 @@ export declare class Store<S extends AnySchema> {
407
432
  private readonly mutations;
408
433
  /** The store's own "Keep this link" (FR-172), when the app declared none by that name. */
409
434
  private keeper;
435
+ /** "Type text", when the store answers to its own (Roadmap f-collab-text). */
436
+ private typer;
410
437
  private readonly invariants;
411
438
  private readonly invariantOptions;
412
439
  readonly policy: Policy | undefined;
440
+ /** When edits reach readers (`StoreOptions.publishing`). */
441
+ readonly publishing: Publishing | undefined;
413
442
  /**
414
443
  * The intelligence the app declared, so a surface can read the DOORS.
415
444
  *
@@ -473,6 +502,29 @@ export declare class Store<S extends AnySchema> {
473
502
  * between reads and re-read only past what it has read — a log only ever
474
503
  * grows at its end, and a rebase that cut it is read again from the start.
475
504
  */
505
+ /**
506
+ * WHERE WHAT THIS STORE SERVES ENDS: the ops before this seq are in what
507
+ * it reads, none after. A store's own is its head (`log.length`), a past
508
+ * (`pastOf(store, seq)`) is `seq`, and a seat's view (`seenBy`) is the
509
+ * seq that seat is served through — the head today. A seat's served state
510
+ * may end before the head, chosen by policy (docs/stability.md, "Served
511
+ * state and the head"), as narrowing; a write is always judged at the
512
+ * head, whatever this says. Read-only: nothing sets it.
513
+ */
514
+ get servedSeq(): number;
515
+ /**
516
+ * HOW FAR READERS ARE SERVED (Roadmap f-publishing-lifecycle): the
517
+ * `publishedThrough` of the last publish that stands, or `undefined`
518
+ * when nothing was ever published. Read from the log, as the modules
519
+ * are, and kept between reads while the log is the one it was read from.
520
+ */
521
+ get publishedSeq(): number | undefined;
522
+ /**
523
+ * "PUBLISH" (Roadmap f-publishing-lifecycle): answered by every store of
524
+ * an app whose readers are served what was published, and that declared
525
+ * no act by the name, once `@graview/core/publishing` is loaded.
526
+ */
527
+ private get publisher();
476
528
  get modules(): ModuleProjection;
477
529
  /**
478
530
  * TURN MODULES OFF OR ON, AS AN OP (FR-12).
@@ -555,6 +607,14 @@ export declare class Store<S extends AnySchema> {
555
607
  * the store's own graph.
556
608
  */
557
609
  private sighted;
610
+ /**
611
+ * WHETHER ONE FIELD OF A RECORD IS TYPED TOGETHER (Roadmap f-collab-text),
612
+ * read off the declaration of the record's kind, never off its value:
613
+ * `isCollaborativeField`. False for a record that is not here.
614
+ */
615
+ collaborative(node: string, field: string): boolean;
616
+ /** A whole value written over text typed together, as a splice, where `@graview/core/typing` is loaded; as written otherwise. */
617
+ private asSplices;
558
618
  /**
559
619
  * A CALL THAT NAMES A RECORD THAT IS NOT THERE FOR ITS CALLER IS REFUSED
560
620
  * AS MISSING (FR-02, FR-55) — one that does not exist, and one the caller
@@ -577,11 +637,16 @@ export declare class Store<S extends AnySchema> {
577
637
  */
578
638
  mayAdminister(module: string, principal?: Principal): boolean;
579
639
  /**
580
- * The store as one principal may see it: its graph, log, history and
581
- * problems hold only what the policy's `sees` lets them see, and every
582
- * act still comes here. With no `sees`, this store itself (see `seen.ts`).
640
+ * The app as this seat is served it: its graph, log, history and problems
641
+ * hold only what the policy's `sees` lets the seat see, through the seq it
642
+ * is served (`servedSeq`), and every act still comes here, judged at the
643
+ * head. A reader of an `on-publish` app is served what was published; a
644
+ * collaborator the head, or — `{ as: "published" }` — what readers are
645
+ * served, to preview it. With no `sees` and nothing held back, this store
646
+ * itself (see `seen.ts`). Nothing promises it is the head, nor that one
647
+ * principal has one view.
583
648
  */
584
- seenBy(principal: Principal): Store<S>;
649
+ seenBy(principal: Principal, options?: SeenOptions): Store<S>;
585
650
  /** Whether a principal may see one record (the policy's `sees`). */
586
651
  sees(principal: Principal, id: string): boolean;
587
652
  private labels;
@@ -891,7 +956,7 @@ export declare class Store<S extends AnySchema> {
891
956
  * store did not hold before and the re-applied ones.
892
957
  */
893
958
  adopt(state: Adopt<S>): AdoptResult<S>;
894
- /** One pending batch, applied again as it was made: its calls, its undo, or its primitives. */
959
+ /** One pending batch, applied again as it was made: its calls (or the ones its typing is carried to), its undo, or its primitives. */
895
960
  private replay;
896
961
  snapshot(): GraphSnapshot<NodeOfSchema<S>>;
897
962
  /**
@@ -942,5 +1007,14 @@ export interface CompactOptions {
942
1007
  readonly keepOps?: number;
943
1008
  /** The time the days count back from, as an ISO string. Defaults to the store's clock. */
944
1009
  readonly now?: string;
1010
+ /**
1011
+ * SEQS SOMEBODY IS SERVED AT, which the horizon never passes: a host
1012
+ * passes the seq it serves readers through (a published seq, say), and
1013
+ * the checkpoint stops at the lowest of them — `seq` and the days and
1014
+ * ops above are each held to it — so `pastOf(store, pin)` still folds
1015
+ * from the log. A pin at or behind the horizon leaves nothing to
1016
+ * compact; one past the head holds nothing back.
1017
+ */
1018
+ readonly pins?: readonly number[];
945
1019
  }
946
1020
  //# sourceMappingURL=store.d.ts.map