@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.
- package/dist/answer-seen.js +2 -2
- package/dist/answer-seen.js.map +1 -1
- package/dist/app.d.ts +11 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js.map +1 -1
- package/dist/capabilities.d.ts +7 -1
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js.map +1 -1
- package/dist/cli/check/index.d.ts +1 -0
- package/dist/cli/check/index.d.ts.map +1 -1
- package/dist/cli/check/index.js +1 -0
- package/dist/cli/check/index.js.map +1 -1
- package/dist/cli/check/publishing.d.ts +13 -0
- package/dist/cli/check/publishing.d.ts.map +1 -0
- package/dist/cli/check/publishing.js +36 -0
- package/dist/cli/check/publishing.js.map +1 -0
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +2 -1
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/describe.d.ts.map +1 -1
- package/dist/cli/describe.js +15 -0
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +3 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/document/compiled.d.ts.map +1 -1
- package/dist/document/compiled.js +5 -0
- package/dist/document/compiled.js.map +1 -1
- package/dist/document/field-spec.d.ts.map +1 -1
- package/dist/document/field-spec.js +8 -2
- package/dist/document/field-spec.js.map +1 -1
- package/dist/document/format-findings.d.ts.map +1 -1
- package/dist/document/format-findings.js +5 -0
- package/dist/document/format-findings.js.map +1 -1
- package/dist/document/schema.d.ts +13 -0
- package/dist/document/schema.d.ts.map +1 -1
- package/dist/document/schema.js +16 -0
- package/dist/document/schema.js.map +1 -1
- package/dist/document/to-document.d.ts.map +1 -1
- package/dist/document/to-document.js +1 -0
- package/dist/document/to-document.js.map +1 -1
- package/dist/document.schema.json +42 -2
- package/dist/field-sight.js +5 -4
- package/dist/field-sight.js.map +1 -1
- package/dist/format-error.d.ts +54 -0
- package/dist/format-error.d.ts.map +1 -0
- package/dist/format-error.js +73 -0
- package/dist/format-error.js.map +1 -0
- package/dist/formats.d.ts +16 -13
- package/dist/formats.d.ts.map +1 -1
- package/dist/formats.js +18 -17
- package/dist/formats.js.map +1 -1
- package/dist/graph/diff.js +1 -1
- package/dist/graph/diff.js.map +1 -1
- package/dist/graph/edge-fields.d.ts +20 -0
- package/dist/graph/edge-fields.d.ts.map +1 -0
- package/dist/graph/edge-fields.js +21 -0
- package/dist/graph/edge-fields.js.map +1 -0
- package/dist/graph/graph.d.ts +3 -0
- package/dist/graph/graph.d.ts.map +1 -1
- package/dist/graph/graph.js +57 -4
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/primitives.d.ts +22 -2
- package/dist/graph/primitives.d.ts.map +1 -1
- package/dist/graph/primitives.js +20 -0
- package/dist/graph/primitives.js.map +1 -1
- package/dist/graph/types.d.ts +15 -1
- package/dist/graph/types.d.ts.map +1 -1
- package/dist/graph/types.js +0 -0
- package/dist/graph/types.js.map +1 -1
- package/dist/history.d.ts +68 -3
- package/dist/history.d.ts.map +1 -1
- package/dist/history.js +68 -8
- package/dist/history.js.map +1 -1
- package/dist/index.d.ts +17 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/integrity.d.ts.map +1 -1
- package/dist/integrity.js +2 -1
- package/dist/integrity.js.map +1 -1
- package/dist/linked.d.ts +1 -0
- package/dist/linked.d.ts.map +1 -1
- package/dist/linked.js +1 -0
- package/dist/linked.js.map +1 -1
- package/dist/mutations/define-mutation.d.ts +4 -0
- package/dist/mutations/define-mutation.d.ts.map +1 -1
- package/dist/mutations/define-mutation.js +32 -8
- package/dist/mutations/define-mutation.js.map +1 -1
- package/dist/mutations/keep-link.d.ts.map +1 -1
- package/dist/mutations/keep-link.js +4 -2
- package/dist/mutations/keep-link.js.map +1 -1
- package/dist/mutations/type-text.d.ts +52 -0
- package/dist/mutations/type-text.d.ts.map +1 -0
- package/dist/mutations/type-text.js +107 -0
- package/dist/mutations/type-text.js.map +1 -0
- package/dist/mutations/types.d.ts +8 -0
- package/dist/mutations/types.d.ts.map +1 -1
- package/dist/mutations/visitor-form.js +1 -1
- package/dist/mutations/visitor-form.js.map +1 -1
- package/dist/ops/digest.d.ts +40 -6
- package/dist/ops/digest.d.ts.map +1 -1
- package/dist/ops/digest.js +79 -16
- package/dist/ops/digest.js.map +1 -1
- package/dist/ops/kept-fields.d.ts +1 -1
- package/dist/ops/kept-fields.d.ts.map +1 -1
- package/dist/ops/kept-fields.js +4 -1
- package/dist/ops/kept-fields.js.map +1 -1
- package/dist/ops/log.d.ts.map +1 -1
- package/dist/ops/log.js +3 -0
- package/dist/ops/log.js.map +1 -1
- package/dist/ops/provenance.d.ts.map +1 -1
- package/dist/ops/provenance.js +3 -1
- package/dist/ops/provenance.js.map +1 -1
- package/dist/ops/revisions.d.ts +8 -2
- package/dist/ops/revisions.d.ts.map +1 -1
- package/dist/ops/revisions.js +12 -3
- package/dist/ops/revisions.js.map +1 -1
- package/dist/ops/served.d.ts.map +1 -1
- package/dist/ops/served.js +30 -4
- package/dist/ops/served.js.map +1 -1
- package/dist/ops/suggestions.d.ts +14 -0
- package/dist/ops/suggestions.d.ts.map +1 -1
- package/dist/ops/suggestions.js.map +1 -1
- package/dist/ops/types.d.ts +43 -3
- package/dist/ops/types.d.ts.map +1 -1
- package/dist/ops/types.js +16 -1
- package/dist/ops/types.js.map +1 -1
- package/dist/ops/undo.d.ts +15 -2
- package/dist/ops/undo.d.ts.map +1 -1
- package/dist/ops/undo.js +22 -3
- package/dist/ops/undo.js.map +1 -1
- package/dist/ops/withheld.d.ts.map +1 -1
- package/dist/ops/withheld.js +4 -0
- package/dist/ops/withheld.js.map +1 -1
- package/dist/ops/writers.d.ts.map +1 -1
- package/dist/ops/writers.js +3 -0
- package/dist/ops/writers.js.map +1 -1
- package/dist/past.d.ts +1 -0
- package/dist/past.d.ts.map +1 -1
- package/dist/past.js +9 -2
- package/dist/past.js.map +1 -1
- package/dist/persistence/memory.d.ts +1 -1
- package/dist/persistence/memory.d.ts.map +1 -1
- package/dist/persistence/memory.js +5 -1
- package/dist/persistence/memory.js.map +1 -1
- package/dist/persistence/sql.d.ts +1 -1
- package/dist/persistence/sql.d.ts.map +1 -1
- package/dist/persistence/sql.js +45 -5
- package/dist/persistence/sql.js.map +1 -1
- package/dist/persistence/sqlite.d.ts +1 -0
- package/dist/persistence/sqlite.d.ts.map +1 -1
- package/dist/persistence/sqlite.js +1 -0
- package/dist/persistence/sqlite.js.map +1 -1
- package/dist/persistence/types.d.ts +34 -1
- package/dist/persistence/types.d.ts.map +1 -1
- package/dist/persistence/types.js +35 -1
- package/dist/persistence/types.js.map +1 -1
- package/dist/presence.d.ts +20 -1
- package/dist/presence.d.ts.map +1 -1
- package/dist/presence.js +4 -2
- package/dist/presence.js.map +1 -1
- package/dist/publish.d.ts +78 -0
- package/dist/publish.d.ts.map +1 -0
- package/dist/publish.js +23 -0
- package/dist/publish.js.map +1 -0
- package/dist/publishing.d.ts +10 -0
- package/dist/publishing.d.ts.map +1 -0
- package/dist/publishing.js +168 -0
- package/dist/publishing.js.map +1 -0
- package/dist/refused.d.ts +13 -6
- package/dist/refused.d.ts.map +1 -1
- package/dist/refused.js +13 -6
- package/dist/refused.js.map +1 -1
- package/dist/schema/collaborative-of.d.ts +11 -0
- package/dist/schema/collaborative-of.d.ts.map +1 -0
- package/dist/schema/collaborative-of.js +45 -0
- package/dist/schema/collaborative-of.js.map +1 -0
- package/dist/schema/collaborative.d.ts +12 -0
- package/dist/schema/collaborative.d.ts.map +1 -0
- package/dist/schema/collaborative.js +28 -0
- package/dist/schema/collaborative.js.map +1 -0
- package/dist/seen.d.ts +44 -1
- package/dist/seen.d.ts.map +1 -1
- package/dist/seen.js +59 -14
- package/dist/seen.js.map +1 -1
- package/dist/store.d.ts +79 -5
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +138 -32
- package/dist/store.js.map +1 -1
- package/dist/subscription-shape.d.ts +21 -1
- package/dist/subscription-shape.d.ts.map +1 -1
- package/dist/subscription-shape.js.map +1 -1
- package/dist/subscriptions.d.ts +33 -1
- package/dist/subscriptions.d.ts.map +1 -1
- package/dist/subscriptions.js +155 -18
- package/dist/subscriptions.js.map +1 -1
- package/dist/sync/engine.d.ts.map +1 -1
- package/dist/sync/engine.js +43 -15
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync/index.d.ts +1 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +1 -1
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/types.d.ts +10 -0
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/sync/types.js +8 -0
- package/dist/sync/types.js.map +1 -1
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +1 -0
- package/dist/testing.js.map +1 -1
- package/dist/text/diff.d.ts +10 -0
- package/dist/text/diff.d.ts.map +1 -0
- package/dist/text/diff.js +26 -0
- package/dist/text/diff.js.map +1 -0
- package/dist/text/since.d.ts +38 -0
- package/dist/text/since.d.ts.map +1 -0
- package/dist/text/since.js +88 -0
- package/dist/text/since.js.map +1 -0
- package/dist/text/splice.d.ts +39 -0
- package/dist/text/splice.d.ts.map +1 -0
- package/dist/text/splice.js +46 -0
- package/dist/text/splice.js.map +1 -0
- package/dist/text/transform.d.ts +14 -0
- package/dist/text/transform.d.ts.map +1 -0
- package/dist/text/transform.js +59 -0
- package/dist/text/transform.js.map +1 -0
- package/dist/text/typing-hook.d.ts +43 -0
- package/dist/text/typing-hook.d.ts.map +1 -0
- package/dist/text/typing-hook.js +16 -0
- package/dist/text/typing-hook.js.map +1 -0
- package/dist/text/typing-spans.d.ts +11 -0
- package/dist/text/typing-spans.d.ts.map +1 -0
- package/dist/text/typing-spans.js +35 -0
- package/dist/text/typing-spans.js.map +1 -0
- package/dist/text/typing-words.d.ts +45 -0
- package/dist/text/typing-words.d.ts.map +1 -0
- package/dist/text/typing-words.js +85 -0
- package/dist/text/typing-words.js.map +1 -0
- package/dist/tidying.d.ts +3 -3
- package/dist/tidying.d.ts.map +1 -1
- package/dist/tidying.js +1 -1
- package/dist/tidying.js.map +1 -1
- package/dist/typing.d.ts +4 -0
- package/dist/typing.d.ts.map +1 -0
- package/dist/typing.js +204 -0
- package/dist/typing.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/who.d.ts +1 -1
- package/dist/who.d.ts.map +1 -1
- package/dist/who.js +5 -2
- package/dist/who.js.map +1 -1
- 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
|
package/dist/seen.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seen.d.ts","sourceRoot":"","sources":["../src/seen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAuB,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAEnG,OAAO,KAAK,EAAS,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAA4D,KAAK,MAAM,EAAgB,MAAM,wBAAwB,CAAC;AAC7H,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
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
|
-
/**
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
398
|
-
if (
|
|
399
|
-
|
|
400
|
-
|
|
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
|
|
581
|
-
*
|
|
582
|
-
*
|
|
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
|