@graview/core 0.1.43 → 0.1.45

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 (125) hide show
  1. package/README.md +4 -2
  2. package/dist/app-places.d.ts +19 -5
  3. package/dist/app-places.d.ts.map +1 -1
  4. package/dist/app-places.js +78 -18
  5. package/dist/app-places.js.map +1 -1
  6. package/dist/app.d.ts +9 -0
  7. package/dist/app.d.ts.map +1 -1
  8. package/dist/app.js.map +1 -1
  9. package/dist/archived-seen.d.ts +64 -0
  10. package/dist/archived-seen.d.ts.map +1 -0
  11. package/dist/archived-seen.js +104 -0
  12. package/dist/archived-seen.js.map +1 -0
  13. package/dist/capabilities.js +1 -1
  14. package/dist/capabilities.js.map +1 -1
  15. package/dist/check.d.ts +1 -1
  16. package/dist/check.d.ts.map +1 -1
  17. package/dist/cli/check/context.d.ts +3 -0
  18. package/dist/cli/check/context.d.ts.map +1 -1
  19. package/dist/cli/check/context.js.map +1 -1
  20. package/dist/cli/check/forms.d.ts +14 -0
  21. package/dist/cli/check/forms.d.ts.map +1 -0
  22. package/dist/cli/check/forms.js +105 -0
  23. package/dist/cli/check/forms.js.map +1 -0
  24. package/dist/cli/check/index.d.ts +1 -0
  25. package/dist/cli/check/index.d.ts.map +1 -1
  26. package/dist/cli/check/index.js +1 -0
  27. package/dist/cli/check/index.js.map +1 -1
  28. package/dist/cli/check/lenses.js +1 -1
  29. package/dist/cli/check/lenses.js.map +1 -1
  30. package/dist/cli/check.d.ts +7 -1
  31. package/dist/cli/check.d.ts.map +1 -1
  32. package/dist/cli/check.js +4 -10
  33. package/dist/cli/check.js.map +1 -1
  34. package/dist/describe.d.ts +2 -2
  35. package/dist/describe.d.ts.map +1 -1
  36. package/dist/describe.js +1 -1
  37. package/dist/describe.js.map +1 -1
  38. package/dist/document/compile-checked.js +1 -1
  39. package/dist/document/compile-checked.js.map +1 -1
  40. package/dist/document/compile.d.ts +7 -0
  41. package/dist/document/compile.d.ts.map +1 -1
  42. package/dist/document/compile.js.map +1 -1
  43. package/dist/document/compiled.d.ts.map +1 -1
  44. package/dist/document/compiled.js +2 -0
  45. package/dist/document/compiled.js.map +1 -1
  46. package/dist/document/describe-place.d.ts +16 -1
  47. package/dist/document/describe-place.d.ts.map +1 -1
  48. package/dist/document/describe-place.js +41 -9
  49. package/dist/document/describe-place.js.map +1 -1
  50. package/dist/document/described.d.ts +25 -0
  51. package/dist/document/described.d.ts.map +1 -1
  52. package/dist/document/diff.js +7 -5
  53. package/dist/document/diff.js.map +1 -1
  54. package/dist/document/edit.d.ts +8 -0
  55. package/dist/document/edit.d.ts.map +1 -1
  56. package/dist/document/edit.js +125 -26
  57. package/dist/document/edit.js.map +1 -1
  58. package/dist/document/index.d.ts +2 -0
  59. package/dist/document/index.d.ts.map +1 -1
  60. package/dist/document/index.js +1 -0
  61. package/dist/document/index.js.map +1 -1
  62. package/dist/document/logo.d.ts +16 -0
  63. package/dist/document/logo.d.ts.map +1 -1
  64. package/dist/document/logo.js +19 -0
  65. package/dist/document/logo.js.map +1 -1
  66. package/dist/document/schema.d.ts +9 -0
  67. package/dist/document/schema.d.ts.map +1 -1
  68. package/dist/document/schema.js +15 -0
  69. package/dist/document/schema.js.map +1 -1
  70. package/dist/document/to-document.d.ts.map +1 -1
  71. package/dist/document/to-document.js +1 -0
  72. package/dist/document/to-document.js.map +1 -1
  73. package/dist/document.schema.json +74 -2
  74. package/dist/forms.d.ts +3 -0
  75. package/dist/forms.d.ts.map +1 -1
  76. package/dist/forms.js +3 -0
  77. package/dist/forms.js.map +1 -1
  78. package/dist/index.d.ts +4 -3
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +1 -1
  81. package/dist/index.js.map +1 -1
  82. package/dist/mutations/visitor-form.d.ts +50 -0
  83. package/dist/mutations/visitor-form.d.ts.map +1 -0
  84. package/dist/mutations/visitor-form.js +88 -0
  85. package/dist/mutations/visitor-form.js.map +1 -0
  86. package/dist/ops/log.d.ts +23 -0
  87. package/dist/ops/log.d.ts.map +1 -1
  88. package/dist/ops/log.js.map +1 -1
  89. package/dist/ops/writers.d.ts +21 -3
  90. package/dist/ops/writers.d.ts.map +1 -1
  91. package/dist/ops/writers.js +34 -2
  92. package/dist/ops/writers.js.map +1 -1
  93. package/dist/permissions/sight.d.ts +28 -8
  94. package/dist/permissions/sight.d.ts.map +1 -1
  95. package/dist/permissions/sight.js +37 -20
  96. package/dist/permissions/sight.js.map +1 -1
  97. package/dist/places.d.ts +17 -0
  98. package/dist/places.d.ts.map +1 -1
  99. package/dist/places.js +34 -3
  100. package/dist/places.js.map +1 -1
  101. package/dist/seat.d.ts +4 -1
  102. package/dist/seat.d.ts.map +1 -1
  103. package/dist/seat.js +4 -1
  104. package/dist/seat.js.map +1 -1
  105. package/dist/seen.d.ts.map +1 -1
  106. package/dist/seen.js +27 -4
  107. package/dist/seen.js.map +1 -1
  108. package/dist/store.d.ts +5 -2
  109. package/dist/store.d.ts.map +1 -1
  110. package/dist/store.js +20 -7
  111. package/dist/store.js.map +1 -1
  112. package/dist/version.d.ts +1 -1
  113. package/dist/version.js +1 -1
  114. package/dist/views/types.d.ts +34 -0
  115. package/dist/views/types.d.ts.map +1 -1
  116. package/dist/views/types.js +2 -0
  117. package/dist/views/types.js.map +1 -1
  118. package/dist/visitor-form-shape.d.ts +39 -0
  119. package/dist/visitor-form-shape.d.ts.map +1 -0
  120. package/dist/visitor-form-shape.js +3 -0
  121. package/dist/visitor-form-shape.js.map +1 -0
  122. package/dist/who.d.ts.map +1 -1
  123. package/dist/who.js +3 -0
  124. package/dist/who.js.map +1 -1
  125. package/package.json +1 -1
package/README.md CHANGED
@@ -137,8 +137,10 @@ Everything a Graview app declares, and the checker that verifies it.
137
137
  `tellApart`), what an argument asks for (`argShape`, `describeArg`), an
138
138
  argument and a refusal in the record's words (`argumentWords`,
139
139
  `failureWords`) and `viaSaid`. `@graview/core/seat`: an act's answer as
140
- its seat may see it (`answerSeenBy`), every place an app has (`placesOf`,
141
- `placesFrom`) and the order things are made in (`beginning`). Judging the
140
+ its seat may see it (`answerSeenBy`), the archive behind the undo horizon
141
+ as a seat may see it (`archivedSeenBy`, a host's `HistoryHost.archived`
142
+ answer), every place an app has (`placesOf`, `placesFrom`) and the order
143
+ things are made in (`beginning`). Judging the
142
144
  arrangement (`arrangementFindings`) is `@graview/core/check`'s.
143
145
  - **What a page loads first** — `@graview/core` and `@graview/core/document`
144
146
  hold only what a page draws with. The checker, the city, the figures and
@@ -1,9 +1,17 @@
1
1
  import type { GraviewApp } from "./app.js";
2
2
  import { type PlaceFinding, type ShippedLensName } from "./places.js";
3
3
  import type { AnySchema } from "./schema/schema.js";
4
- import { type PagesArrangement, type Place } from "./views/types.js";
5
- /** What the arrangement asks that the declaration cannot honor: kinds and places that do not exist, and lenses kept off the lists that cannot be. */
6
- export declare function arrangementFindings<S extends AnySchema>(app: GraviewApp<S>, places?: readonly Place[]): readonly PlaceFinding[];
4
+ import { type HostView, type PagesArrangement, type Place } from "./views/types.js";
5
+ /**
6
+ * What the arrangement asks that the declaration cannot honor: kinds and
7
+ * places that do not exist, and lenses kept off the lists that cannot be.
8
+ * `views` are the host's (`HostView`), when it says them: a `view:<name>`
9
+ * none of them is, is a warning; unsaid, a view the app's own registry does
10
+ * not hold is only a note — the host registers its views as the page opens.
11
+ */
12
+ export declare function arrangementFindings<S extends AnySchema>(app: GraviewApp<S>, options?: {
13
+ readonly views?: readonly HostView[];
14
+ }): readonly PlaceFinding[];
7
15
  /**
8
16
  * ONE OF AN APP'S NAMED PLACES, as a host lists them (FR-79, FR-80): what it
9
17
  * is called, what it is over, and its address on each face — `address` on
@@ -24,6 +32,8 @@ export interface AppPlace {
24
32
  readonly stop: string;
25
33
  /** Which shipped lens draws it, when a declared lens does. */
26
34
  readonly lens?: ShippedLensName;
35
+ /** The host's name for it, when it is a view the host keeps (its manifest's `name`): what `view:<name>` names. */
36
+ readonly view?: string;
27
37
  /** A kind left off the home by `pages.hide`, or a lens kept off the lists (`hidden`); still reachable at its address. */
28
38
  readonly hidden?: boolean;
29
39
  /** Where the app opens (`pages.first`). */
@@ -34,9 +44,13 @@ export interface AppPlace {
34
44
  * (and each place its registered views name, when the app carries them),
35
45
  * and each kind — in the arrangement's order. What Graview Cloud's
36
46
  * connector lists when an app is opened, and what a chat can send somebody
37
- * to.
47
+ * to. `views` are the host's own (its kept script views' manifests): each
48
+ * titled picture of a kind is a place, `name` its manifest's, listed where
49
+ * `pages.order` names it (`view:<name>`) and first where `pages.first` does.
38
50
  */
39
- export declare function placesOf<S extends AnySchema>(app: GraviewApp<S>): readonly AppPlace[];
51
+ export declare function placesOf<S extends AnySchema>(app: GraviewApp<S>, options?: {
52
+ readonly views?: readonly HostView[];
53
+ }): readonly AppPlace[];
40
54
  /**
41
55
  * THE SAME LIST FROM WHAT A FACE HOLDS: the schema, the places its view
42
56
  * registry names, and the arrangement — what `placesOf` makes from the
@@ -1 +1 @@
1
- {"version":3,"file":"app-places.d.ts","sourceRoot":"","sources":["../src/app-places.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAA8G,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAClL,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAqD,KAAK,gBAAgB,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAYxH,qJAAqJ;AACrJ,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,GAAE,SAAS,KAAK,EAAwB,GAAG,SAAS,YAAY,EAAE,CAgHpJ;AAeD;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4GAA4G;IAC5G,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,6HAA6H;IAC7H,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;IAChC,yHAAyH;IACzH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,QAAQ,EAAE,CAErF;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,SAAS,KAAK,EAAE,EAC5B,OAAO,GAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GACpM,SAAS,QAAQ,EAAE,CA2CrB"}
1
+ {"version":3,"file":"app-places.d.ts","sourceRoot":"","sources":["../src/app-places.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAkI,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACtM,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAA6E,KAAK,QAAQ,EAAE,KAAK,gBAAgB,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAY/J;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAA;CAAO,GAAG,SAAS,YAAY,EAAE,CAkJ5J;AAqBD;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4GAA4G;IAC5G,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,6HAA6H;IAC7H,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;IAChC,kHAAkH;IAClH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,yHAAyH;IACzH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAA;CAAO,GAAG,SAAS,QAAQ,EAAE,CAE7I;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,SAAS,KAAK,EAAE,EAC5B,OAAO,GAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GACpM,SAAS,QAAQ,EAAE,CAqDrB"}
@@ -1,6 +1,6 @@
1
- import { declaredLenses, MOST_STANDING, openingOf, orderKinds, OVERVIEW_PATH, OVERVIEW_SLUG, pagesTitle, sceneTitle } from "./places.js";
1
+ import { arrangedEntries, declaredLenses, MOST_STANDING, openingOf, OVERVIEW_PATH, OVERVIEW_SLUG, pagesTitle, sceneTitle, viewReference } from "./places.js";
2
2
  import { allLabel, nounOf, pluralLabel, pluralOf } from "./schema/define-node.js";
3
- import { kindPath, onePerPicture, placePath, sharesItsName } from "./views/types.js";
3
+ import { kindPath, onePerPicture, placePath, placeSlug, samePicture, sharesItsName } from "./views/types.js";
4
4
  /*
5
5
  * EVERY PLACE AN APP HAS, AND WHAT ITS ARRANGEMENT ASKS THAT IT CANNOT
6
6
  * HONOR. A file of its own (FR-179): the seat lists the places an ask can
@@ -9,8 +9,15 @@ import { kindPath, onePerPicture, placePath, sharesItsName } from "./views/types
9
9
  * the places that stand from `./places.ts` (`@graview/core/seat`,
10
10
  * `@graview/core/check`).
11
11
  */
12
- /** What the arrangement asks that the declaration cannot honor: kinds and places that do not exist, and lenses kept off the lists that cannot be. */
13
- export function arrangementFindings(app, places = placesOfLenses(app)) {
12
+ /**
13
+ * What the arrangement asks that the declaration cannot honor: kinds and
14
+ * places that do not exist, and lenses kept off the lists that cannot be.
15
+ * `views` are the host's (`HostView`), when it says them: a `view:<name>`
16
+ * none of them is, is a warning; unsaid, a view the app's own registry does
17
+ * not hold is only a note — the host registers its views as the page opens.
18
+ */
19
+ export function arrangementFindings(app, options = {}) {
20
+ const places = placesOfLenses(app, options.views);
14
21
  const pages = app.pages;
15
22
  const findings = [];
16
23
  /* A LENS KEPT OFF THE LISTS says so with true, and is a place to keep off them: it has a title. */
@@ -60,8 +67,41 @@ export function arrangementFindings(app, places = placesOfLenses(app)) {
60
67
  });
61
68
  }
62
69
  const kinds = app.schema.kinds;
70
+ /*
71
+ * A HOST'S VIEW BY NAME (`view:<name>`), in the order, the first place or
72
+ * on the bar: where the host is not here to say its views, a name the
73
+ * app's own registry does not hold is drawn once the host registers it.
74
+ */
75
+ const viewWords = [
76
+ ...(pages.order ?? []).map((word, index) => [word, `pages.order.${index}`]),
77
+ ...(pages.primary ?? []).map((word, index) => [word, `pages.primary.${index}`]),
78
+ ...(pages.first !== undefined ? [[pages.first, "pages.first"]] : []),
79
+ ];
80
+ for (const [word, path] of viewWords) {
81
+ const name = viewReference(word);
82
+ if (name === undefined || places.some((place) => place.name === name))
83
+ continue;
84
+ const said = options.views?.find((view) => view.name === name);
85
+ findings.push(options.views
86
+ ? {
87
+ severity: "warning",
88
+ code: "pages-view-unknown",
89
+ path,
90
+ message: said ? `${path} names the view "${name}", which is not a picture of a kind (it ${said.attach === "home" ? "is the home's" : "draws one record"}), so it is passed over.` : `${path} names the view "${name}", which this app's host does not keep, so it is passed over.`,
91
+ fix: `Name a view the host keeps by its name (${options.views.filter((view) => view.attach !== "home" && view.cardinality !== "one").map((view) => `"view:${view.name}"`).join(", ") || "it keeps none"}), or take it out.`,
92
+ }
93
+ : {
94
+ severity: "note",
95
+ code: "pages-view-not-drawn-here",
96
+ path,
97
+ message: `${path} names the view "${name}", which the host registers as the page opens: not drawn here yet, it stands where it is named once it is, and is passed over until then.`,
98
+ fix: `Nothing to change if the host keeps a view by that name. Its manifest's "name" is what follows "view:".`,
99
+ });
100
+ }
63
101
  for (const part of ["order", "hide"]) {
64
102
  (pages[part] ?? []).forEach((kind, index) => {
103
+ if (part === "order" && viewReference(kind) !== undefined)
104
+ return;
65
105
  if (!kinds.includes(kind)) {
66
106
  findings.push({ severity: "warning", code: "pages-kind-unknown", path: `pages.${part}.${index}`, message: `pages.${part} names "${kind}", which is not a kind, so it is passed over.`, fix: `Use one of: ${kinds.join(", ")}.` });
67
107
  }
@@ -69,7 +109,7 @@ export function arrangementFindings(app, places = placesOfLenses(app)) {
69
109
  }
70
110
  (pages.primary ?? []).forEach((word, index) => {
71
111
  const opening = openingOf(word, app.schema, places);
72
- if (opening === undefined || opening.to === "home") {
112
+ if ((opening === undefined && viewReference(word) === undefined) || opening?.to === "home") {
73
113
  findings.push({
74
114
  severity: "warning",
75
115
  code: "pages-primary-unknown",
@@ -102,7 +142,7 @@ export function arrangementFindings(app, places = placesOfLenses(app)) {
102
142
  fix: `Name the ${MOST_STANDING - 1} a person reaches for most.`,
103
143
  });
104
144
  }
105
- if (pages.first !== undefined && openingOf(pages.first, app.schema, places) === undefined) {
145
+ if (pages.first !== undefined && openingOf(pages.first, app.schema, places) === undefined && viewReference(pages.first) === undefined) {
106
146
  findings.push({
107
147
  severity: "warning",
108
148
  code: "pages-first-unknown",
@@ -125,15 +165,21 @@ export function arrangementFindings(app, places = placesOfLenses(app)) {
125
165
  }
126
166
  return findings;
127
167
  }
128
- /** The places a declaration's lenses make, with any its registered views name. */
129
- function placesOfLenses(app) {
168
+ /** A host's view as a place: a titled picture of a kind, by its manifest name. */
169
+ function placeOfView(view) {
170
+ if (view.attach === "home" || view.cardinality === "one" || !view.title)
171
+ return undefined;
172
+ return { kind: view.attach, title: view.title, as: placeSlug(view.title), name: view.name, lens: "view", ...(view.hidden ? { hidden: true } : {}) };
173
+ }
174
+ /** The places a declaration's lenses make, with any its registered views name, and the host's views it is told of. */
175
+ function placesOfLenses(app, views = []) {
130
176
  const out = [];
131
177
  for (const lens of declaredLenses(app).drawn) {
132
178
  // One picture over several kinds is a place on each, and says so (`over`): every list names it once.
133
179
  for (const kind of lens.kinds)
134
180
  out.push({ kind, title: lens.title, as: lens.as, ...(lens.across ? { across: lens.across } : {}), ...(lens.kinds.length > 1 ? { over: lens.kinds } : {}), ...(lens.hidden ? { hidden: true } : {}) });
135
181
  }
136
- for (const place of app.views?.places?.() ?? []) {
182
+ for (const place of [...(app.views?.places?.() ?? []), ...views.flatMap((view) => placeOfView(view) ?? [])]) {
137
183
  if (!out.some((held) => held.kind === place.kind && held.as === place.as))
138
184
  out.push(place);
139
185
  }
@@ -144,10 +190,12 @@ function placesOfLenses(app) {
144
190
  * (and each place its registered views name, when the app carries them),
145
191
  * and each kind — in the arrangement's order. What Graview Cloud's
146
192
  * connector lists when an app is opened, and what a chat can send somebody
147
- * to.
193
+ * to. `views` are the host's own (its kept script views' manifests): each
194
+ * titled picture of a kind is a place, `name` its manifest's, listed where
195
+ * `pages.order` names it (`view:<name>`) and first where `pages.first` does.
148
196
  */
149
- export function placesOf(app) {
150
- return placesFrom(app.schema, placesOfLenses(app), { ...(app.pages ? { pages: app.pages } : {}), lenses: declaredLenses(app).drawn, home: (app.home?.length ?? 0) > 0 });
197
+ export function placesOf(app, options = {}) {
198
+ return placesFrom(app.schema, placesOfLenses(app, options.views), { ...(app.pages ? { pages: app.pages } : {}), lenses: declaredLenses(app).drawn, home: (app.home?.length ?? 0) > 0 });
151
199
  }
152
200
  /**
153
201
  * THE SAME LIST FROM WHAT A FACE HOLDS: the schema, the places its view
@@ -162,7 +210,10 @@ export function placesFrom(schema, lensPlaces, options = {}) {
162
210
  const places = lensPlaces.filter((place) => kindsDeclared.includes(place.kind));
163
211
  const opening = openingOf(pages?.first, schema, places);
164
212
  const hidden = new Set(pages?.hide ?? []);
165
- const kinds = orderKinds(kindsDeclared, pages?.order);
213
+ // The kinds and the host's views `order` names, in its order: a view it names is listed there, among the kinds, not with the other pictures.
214
+ const arranged = arrangedEntries(kindsDeclared, pages?.order, places);
215
+ const kinds = arranged.flatMap((entry) => (entry.view ? [] : [entry.kind]));
216
+ const ordered = arranged.flatMap((entry) => (entry.view ? [entry.view] : []));
166
217
  const out = [
167
218
  { slug: "home", title: "Home", kind: null, cardinality: "many", address: "/", stop: "#", ...(opening?.to === "home" || (opening === undefined && options.home) ? { first: true } : {}) },
168
219
  // The scene, a place like the others (FR-132): its stop rides on its address.
@@ -170,10 +221,10 @@ export function placesFrom(schema, lensPlaces, options = {}) {
170
221
  ];
171
222
  // A picture over several kinds once, under the first of them in the arrangement's order.
172
223
  const byKind = onePerPicture([...places].sort((a, b) => kinds.indexOf(a.kind) - kinds.indexOf(b.kind)));
173
- for (const place of byKind) {
224
+ const entryOf = (place) => {
174
225
  const lens = options.lenses?.find((one) => one.as === place.as && one.kinds.includes(place.kind));
175
226
  const shared = sharesItsName(place, places);
176
- out.push({
227
+ return {
177
228
  slug: place.as,
178
229
  title: place.title,
179
230
  kind: place.kind,
@@ -182,11 +233,20 @@ export function placesFrom(schema, lensPlaces, options = {}) {
182
233
  address: placePath(place.as, shared ? kindPath(schema, place.kind).slice(1) : undefined),
183
234
  stop: shared ? `#focus=aggregate:${place.kind}&in.view=${encodeURIComponent(place.as)}` : `#view=${encodeURIComponent(place.as)}`,
184
235
  ...(lens ? { lens: lens.lens } : {}),
236
+ ...(place.name !== undefined ? { view: place.name } : {}),
185
237
  ...(place.hidden ? { hidden: true } : {}),
186
238
  ...(opening?.to === "place" && opening.place.as === place.as && (opening.place.kind === place.kind || place.over?.includes(opening.place.kind)) ? { first: true } : {}),
187
- });
188
- }
189
- for (const kind of kinds) {
239
+ };
240
+ };
241
+ for (const place of byKind)
242
+ if (!ordered.some((view) => samePicture(view, place)))
243
+ out.push(entryOf(place));
244
+ for (const entry of arranged) {
245
+ if (entry.view) {
246
+ out.push(entryOf(entry.view));
247
+ continue;
248
+ }
249
+ const kind = entry.kind;
190
250
  out.push({
191
251
  slug: kindPath(schema, kind).slice(1),
192
252
  title: pluralLabel(schema, kind),
@@ -1 +1 @@
1
- {"version":3,"file":"app-places.js","sourceRoot":"","sources":["../src/app-places.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-places.js","sourceRoot":"","sources":["../src/app-places.ts"],"names":[],"mappings":"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"}
package/dist/app.d.ts CHANGED
@@ -11,6 +11,7 @@ import type { AnySchema } from "./schema/schema.js";
11
11
  import type { ViewRegistry } from "./views/types.js";
12
12
  import type { HomeView, ViewSpecsByKind } from "./document/views.js";
13
13
  import type { PagesArrangement } from "./views/types.js";
14
+ import type { VisitorFormDeclaration } from "./visitor-form-shape.js";
14
15
  /**
15
16
  * Everything one application declares, in one object. `graview check` and
16
17
  * the docs generator both read exactly this — an app that can be checked is
@@ -255,6 +256,14 @@ export interface GraviewApp<S extends AnySchema = AnySchema> {
255
256
  * host hands them its own tokens.
256
257
  */
257
258
  readonly connections?: Readonly<Record<string, ConnectionSpec>>;
259
+ /**
260
+ * FORMS FOR VISITORS, by name (Roadmap f-public-forms): one act each,
261
+ * drawn alone for somebody with no account (`@graview/embed/form`) and
262
+ * run as a visitor the host mints per submission (`formVisitor`). What
263
+ * the visitor may do and see is the policy's, as for anybody: grant the
264
+ * form's role (`visitor`) its act, and name it in no sight.
265
+ */
266
+ readonly forms?: Readonly<Record<string, VisitorFormDeclaration>>;
258
267
  }
259
268
  /**
260
269
  * One thing a reader may set for themselves.
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEtE;;;;GAIG;AACH;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC3B;;;;;;;;;;;;;;;;;;;;;GAqBG;GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACpC;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,iGAAiG;IACjG,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EACd,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC,CAAC,CAAC,GACxH,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,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,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1C;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,+BAA+B,EAAE,CAAC;IACnE;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAClD;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAChE;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC;CACnE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,kBAAkB;IACjC,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IACtD,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChF,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,SAAS,SAAS,EAAE,CAAC;CACnE;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAElE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC;AAEzE,qDAAqD;AACrD,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,EAC7C,UAAU,EAAE,sBAAsB,GACjC,OAAO,CAET;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,SAAS,sBAAsB,EAAE,CAYxF;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,sBAAsB,GAAG,MAAM,CAW7E;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,0EAA0E;IAC1E,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC9C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAEhF"}
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAyUA;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,QAA6C,EAC7C,UAAkC;IAElC,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,IAAsB;IACnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC/B,KAAK,UAAU;YACb,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,KAAK,KAAK,CAAC;QACX,KAAK,UAAU;YACb,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxC;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,kBAAkB,CAAC,UAAkC;IACnE,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,8BAA8B,CAAC;QACxC,KAAK,QAAQ;YACX,OAAO,sDAAsD,CAAC;QAChE,KAAK,SAAS;YACZ,OAAO,0CAA0C,CAAC;QACpD;YACE,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AA+BD,MAAM,UAAU,SAAS,CAAsB,GAAkB;IAC/D,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAkVA;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,QAA6C,EAC7C,UAAkC;IAElC,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,IAAsB;IACnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC/B,KAAK,UAAU;YACb,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,KAAK,KAAK,CAAC;QACX,KAAK,UAAU;YACb,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxC;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,kBAAkB,CAAC,UAAkC;IACnE,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,8BAA8B,CAAC;QACxC,KAAK,QAAQ;YACX,OAAO,sDAAsD,CAAC;QAChE,KAAK,SAAS;YACZ,OAAO,0CAA0C,CAAC;QACpD;YACE,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AA+BD,MAAM,UAAU,SAAS,CAAsB,GAAkB;IAC/D,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * THE ARCHIVE AS ONE SEAT MAY SEE IT (FR-198): what a host answers
3
+ * `HistoryHost.archived(from, to)` with for a seat, judged as the seat's
4
+ * own view of the whole history judges — its ops redacted as `logSeenBy`
5
+ * redacts them, and its epochs' graphs served as `seenBy` serves an epoch:
6
+ * the records the seat may see, the fields its sight shows of them, the
7
+ * links between them, and who made only those.
8
+ *
9
+ * WHY THE WHOLE HISTORY. A compacted store's seat view judges from the
10
+ * checkpoint and the tail: the checkpoint keeps what kind each record
11
+ * removed behind the horizon was (FR-199), which is enough for the graph
12
+ * and the tail, but an archived op is judged at its own moment — who it
13
+ * touched, linked and named then, and who had written each field — which
14
+ * only the ops before it say. So the seat is judged here
15
+ * over a store of everything: the archive's ops from seq 0, the store's
16
+ * tail after them, every epoch, and the graph as it stands now — the same
17
+ * judgment the seat's live log is served by, so the past it folds from
18
+ * these epochs and ops meets the present it is served.
19
+ *
20
+ * Apart from the store and the page: a host's server reads it, so it is on
21
+ * `@graview/core/seat`, and imports nothing of the store's or the seat
22
+ * view's modules — it makes the whole store with the store's own class.
23
+ */
24
+ import type { ArchivedOps } from "./history.js";
25
+ import type { Epoch } from "./ops/log.js";
26
+ import type { Operation } from "./ops/types.js";
27
+ import type { Principal } from "./permissions/types.js";
28
+ import type { AnySchema } from "./schema/schema.js";
29
+ import type { Store } from "./store.js";
30
+ /** What `archivedSeenBy` answers: a valid `HistoryHost.archived` answer, every op of the range in its place and the epochs in it, judged for one seat. */
31
+ export interface ArchivedSeen {
32
+ /** The ops of the range, oldest first, each at its seq: one the seat may not see withheld, and no id it may not see in any. */
33
+ readonly ops: readonly Operation[];
34
+ /** The epochs whose seq is in the range, each with its graph as the seat is served it. */
35
+ readonly epochs: readonly Epoch[];
36
+ }
37
+ /**
38
+ * THE ARCHIVE OF A RANGE AS ONE SEAT MAY SEE IT (FR-198): for seqs `from`
39
+ * up to but not including `to`, the ops and the epochs `archive` holds —
40
+ * what `store.compact` returned, every compaction's together, with its ops
41
+ * from seq 0 to the store's horizon — judged for `principal` under the
42
+ * store's policy and modules as its view of the whole history judges:
43
+ *
44
+ * - every op of the range at its seq, one that touched what the seat may
45
+ * not see withheld and none naming such a record anywhere (FR-16,
46
+ * FR-55) — the same ops `logSeenBy` serves the seat of a store that was
47
+ * never compacted;
48
+ * - every epoch in the range, its graph the records the seat is served
49
+ * then, as its sight shows them (kinds, `own`, `via`, the fields a
50
+ * sight hides, a field naming a record it may not see cleared or the
51
+ * record withheld), the links between those, and who made each only
52
+ * for those.
53
+ *
54
+ * The answer is a `HistoryHost.archived` answer, and a seat's playback
55
+ * folding from its epochs draws only what the seat may see. `store` is the
56
+ * app as it stands, compacted or not (a seat's view is read as the store
57
+ * behind it). An archive with a gap behind the horizon is refused, since
58
+ * what the gap held could not be judged.
59
+ */
60
+ export declare function archivedSeenBy<S extends AnySchema>(store: Store<S>, archive: ArchivedOps, principal: Principal, range: {
61
+ readonly from: number;
62
+ readonly to: number;
63
+ }): ArchivedSeen;
64
+ //# sourceMappingURL=archived-seen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archived-seen.d.ts","sourceRoot":"","sources":["../src/archived-seen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAU,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAgB,MAAM,YAAY,CAAC;AAEtD,0JAA0J;AAC1J,MAAM,WAAW,YAAY;IAC3B,+HAA+H;IAC/H,QAAQ,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,CAAC;IACnC,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;CACnC;AA+ED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAWpL"}
@@ -0,0 +1,104 @@
1
+ import { seatOf } from "./seat-of.js";
2
+ const WHOLE = new WeakMap();
3
+ const given = (key, value) => (value === undefined ? {} : { [key]: value });
4
+ /** An epoch as it stands in a whole log: an earlier checkpoint is no horizon there. */
5
+ const unmarked = (epoch) => {
6
+ if (!epoch.horizon)
7
+ return epoch;
8
+ const { horizon: _horizon, ...rest } = epoch;
9
+ return rest;
10
+ };
11
+ /**
12
+ * THE STORE OF EVERYTHING: the archive's ops behind the horizon, which must
13
+ * reach back to seq 0 without a gap — a record made and removed in a gap
14
+ * would be judged by nothing — then the store's tail, every epoch, and the
15
+ * graph the store holds now.
16
+ */
17
+ function wholeOf(store, archive) {
18
+ const log = store.log;
19
+ const horizon = log.horizon;
20
+ const tail = log.all();
21
+ let kept = WHOLE.get(archive);
22
+ if (!kept)
23
+ WHOLE.set(archive, (kept = new WeakMap()));
24
+ const held = kept.get(store);
25
+ if (held && held.length === log.length && held.horizon === horizon && held.last === tail.at(-1))
26
+ return held.store;
27
+ const behind = new Map();
28
+ for (const op of archive.ops)
29
+ if (Number.isInteger(op?.seq) && op.seq >= 0 && op.seq < horizon && !behind.has(op.seq))
30
+ behind.set(op.seq, op);
31
+ const ops = [];
32
+ for (let seq = 0; seq < horizon; seq++) {
33
+ const op = behind.get(seq);
34
+ if (!op) {
35
+ throw new RangeError(`The archive is missing the change at seq ${seq}: a seat's view of the archive is judged from the whole history, and without it a record made and removed there could be named to a seat that may not see it`);
36
+ }
37
+ ops.push(op);
38
+ }
39
+ ops.push(...tail);
40
+ const epochs = new Map();
41
+ for (const epoch of archive.epochs ?? [])
42
+ if (Number.isInteger(epoch?.seq) && epoch.seq < horizon && epoch.base && !epochs.has(epoch.seq))
43
+ epochs.set(epoch.seq, unmarked(epoch));
44
+ for (const epoch of log.epochs())
45
+ epochs.set(epoch.seq, unmarked(epoch));
46
+ const inside = store;
47
+ // The store's own class, so this module imports none of it (`seat-of.ts` says why).
48
+ const Made = store.constructor;
49
+ const whole = new Made({
50
+ schema: store.schema,
51
+ invariants: inside.invariants,
52
+ invariantOptions: inside.invariantOptions,
53
+ ...given("policy", store.policy),
54
+ ...given("modules", inside.declaredModules),
55
+ ...given("enabledModules", inside.startingModules),
56
+ ...given("timeZone", store.timeZone),
57
+ principal: inside.by,
58
+ log: ops,
59
+ epochs: [...epochs.values()].sort((a, b) => a.seq - b.seq),
60
+ snapshot: store.graph.snapshot(),
61
+ validate: false,
62
+ now: inside.now,
63
+ });
64
+ kept.set(store, { length: log.length, horizon, last: tail.at(-1), store: whole });
65
+ return whole;
66
+ }
67
+ /**
68
+ * THE ARCHIVE OF A RANGE AS ONE SEAT MAY SEE IT (FR-198): for seqs `from`
69
+ * up to but not including `to`, the ops and the epochs `archive` holds —
70
+ * what `store.compact` returned, every compaction's together, with its ops
71
+ * from seq 0 to the store's horizon — judged for `principal` under the
72
+ * store's policy and modules as its view of the whole history judges:
73
+ *
74
+ * - every op of the range at its seq, one that touched what the seat may
75
+ * not see withheld and none naming such a record anywhere (FR-16,
76
+ * FR-55) — the same ops `logSeenBy` serves the seat of a store that was
77
+ * never compacted;
78
+ * - every epoch in the range, its graph the records the seat is served
79
+ * then, as its sight shows them (kinds, `own`, `via`, the fields a
80
+ * sight hides, a field naming a record it may not see cleared or the
81
+ * record withheld), the links between those, and who made each only
82
+ * for those.
83
+ *
84
+ * The answer is a `HistoryHost.archived` answer, and a seat's playback
85
+ * folding from its epochs draws only what the seat may see. `store` is the
86
+ * app as it stands, compacted or not (a seat's view is read as the store
87
+ * behind it). An archive with a gap behind the horizon is refused, since
88
+ * what the gap held could not be judged.
89
+ */
90
+ export function archivedSeenBy(store, archive, principal, range) {
91
+ const seat = seatOf(store);
92
+ if (seat)
93
+ return archivedSeenBy(seat.store, archive, principal, range);
94
+ const { from, to } = range;
95
+ if (!Number.isInteger(from) || !Number.isInteger(to) || from < 0 || to < from)
96
+ throw new RangeError(`No range from seq ${from} to seq ${to}`);
97
+ const view = wholeOf(store, archive).seenBy(principal);
98
+ const ops = view.log.all();
99
+ return {
100
+ ops: ops.slice(Math.min(from, ops.length), Math.min(to, ops.length)),
101
+ epochs: view.log.epochs().filter((epoch) => epoch.seq >= from && epoch.seq < to),
102
+ };
103
+ }
104
+ //# sourceMappingURL=archived-seen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archived-seen.js","sourceRoot":"","sources":["../src/archived-seen.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAuBtC,MAAM,KAAK,GAAG,IAAI,OAAO,EAAkC,CAAC;AAE5D,MAAM,KAAK,GAAG,CAAsB,GAAM,EAAE,KAAoB,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAA8B,CAAC;AAEhJ,uFAAuF;AACvF,MAAM,QAAQ,GAAG,CAAC,KAAY,EAAS,EAAE;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;GAKG;AACH,SAAS,OAAO,CAAsB,KAAe,EAAE,OAAoB;IACzE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI;QAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,KAA4B,CAAC;IAE1I,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC5C,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,GAAG;QAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9I,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,UAAU,CAClB,4CAA4C,GAAG,8JAA8J,CAC9M,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAClB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE;QAAE,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAClL,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAG,KAA6B,CAAC;IAC7C,oFAAoF;IACpF,MAAM,IAAI,GAAG,KAAK,CAAC,WAAyD,CAAC;IAC7E,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC;QACrB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;QAChC,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC;QAC3C,GAAG,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC;QAClD,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;QACpC,SAAS,EAAE,MAAM,CAAC,EAAE;QACpB,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC1D,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,KAAK;QACf,GAAG,EAAE,MAAM,CAAC,GAAG;KAChB,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAoC,EAAE,CAAC,CAAC;IACjH,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,cAAc,CAAsB,KAAe,EAAE,OAAoB,EAAE,SAAoB,EAAE,KAAqD;IACpK,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,IAAI;QAAE,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACvE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI;QAAE,MAAM,IAAI,UAAU,CAAC,qBAAqB,IAAI,WAAW,EAAE,EAAE,CAAC,CAAC;IAC9I,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC3B,OAAO;QACL,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;KACjF,CAAC;AACJ,CAAC"}
@@ -17,7 +17,7 @@ export const WIRE_PROTOCOL = 1;
17
17
  * id is named in the changeset that shipped it; `capabilities.test.ts`
18
18
  * holds the two lists to each other.
19
19
  */
20
- const SHIPPED = ["FR-01", "FR-02", "FR-03", "FR-04", "FR-05", "FR-06", "FR-07", "FR-08", "FR-09", "FR-10", "FR-11", "FR-12", "FR-13", "FR-15", "FR-16", "FR-17", "FR-18", "FR-19", "FR-20", "FR-21", "FR-22", "FR-23", "FR-24", "FR-25", "FR-26", "FR-27", "FR-28", "FR-29", "FR-30", "FR-31", "FR-32", "FR-33", "FR-34", "FR-35", "FR-36", "FR-37", "FR-38", "FR-39", "FR-40", "FR-41", "FR-42", "FR-43", "FR-44", "FR-45", "FR-46", "FR-47", "FR-49", "FR-50", "FR-51", "FR-52", "FR-53", "FR-54", "FR-55", "FR-56", "FR-57", "FR-58", "FR-59", "FR-60", "FR-61", "FR-62", "FR-63", "FR-64", "FR-65", "FR-66", "FR-67", "FR-68", "FR-69", "FR-70", "FR-71", "FR-72", "FR-73", "FR-74", "FR-75", "FR-76", "FR-77", "FR-78", "FR-79", "FR-80", "FR-81", "FR-82", "FR-83", "FR-84", "FR-85", "FR-86", "FR-87", "FR-88", "FR-89", "FR-90", "FR-91", "FR-92", "FR-93", "FR-94", "FR-95", "FR-96", "FR-97", "FR-99", "FR-100", "FR-101", "FR-102", "FR-103", "FR-104", "FR-105", "FR-106", "FR-107", "FR-108", "FR-109", "FR-110", "FR-111", "FR-112", "FR-113", "FR-114", "FR-115", "FR-116", "FR-117", "FR-118", "FR-119", "FR-120", "FR-121", "FR-122", "FR-123", "FR-124", "FR-125", "FR-126", "FR-127", "FR-128", "FR-129", "FR-130", "FR-131", "FR-132", "FR-133", "FR-134", "FR-136", "FR-137", "FR-138", "FR-139", "FR-140", "FR-141", "FR-142", "FR-143", "FR-144", "FR-145", "FR-146", "FR-147", "FR-148", "FR-149", "FR-150", "FR-151", "FR-152", "FR-153", "FR-154", "FR-155", "FR-156", "FR-157", "FR-158", "FR-159", "FR-160", "FR-161", "FR-162", "FR-163", "FR-164", "FR-165", "FR-166", "FR-167", "FR-168", "FR-169", "FR-170", "FR-171", "FR-172", "FR-173", "FR-174", "FR-175", "FR-176", "FR-177", "FR-178", "FR-179", "FR-180", "FR-181", "FR-182", "FR-183", "FR-184", "FR-185", "FR-186", "FR-187", "FR-188", "FR-189", "FR-190", "FR-191", "FR-192", "FR-193", "FR-194", "FR-195", "FR-196"];
20
+ const SHIPPED = ["FR-01", "FR-02", "FR-03", "FR-04", "FR-05", "FR-06", "FR-07", "FR-08", "FR-09", "FR-10", "FR-11", "FR-12", "FR-13", "FR-15", "FR-16", "FR-17", "FR-18", "FR-19", "FR-20", "FR-21", "FR-22", "FR-23", "FR-24", "FR-25", "FR-26", "FR-27", "FR-28", "FR-29", "FR-30", "FR-31", "FR-32", "FR-33", "FR-34", "FR-35", "FR-36", "FR-37", "FR-38", "FR-39", "FR-40", "FR-41", "FR-42", "FR-43", "FR-44", "FR-45", "FR-46", "FR-47", "FR-49", "FR-50", "FR-51", "FR-52", "FR-53", "FR-54", "FR-55", "FR-56", "FR-57", "FR-58", "FR-59", "FR-60", "FR-61", "FR-62", "FR-63", "FR-64", "FR-65", "FR-66", "FR-67", "FR-68", "FR-69", "FR-70", "FR-71", "FR-72", "FR-73", "FR-74", "FR-75", "FR-76", "FR-77", "FR-78", "FR-79", "FR-80", "FR-81", "FR-82", "FR-83", "FR-84", "FR-85", "FR-86", "FR-87", "FR-88", "FR-89", "FR-90", "FR-91", "FR-92", "FR-93", "FR-94", "FR-95", "FR-96", "FR-97", "FR-99", "FR-100", "FR-101", "FR-102", "FR-103", "FR-104", "FR-105", "FR-106", "FR-107", "FR-108", "FR-109", "FR-110", "FR-111", "FR-112", "FR-113", "FR-114", "FR-115", "FR-116", "FR-117", "FR-118", "FR-119", "FR-120", "FR-121", "FR-122", "FR-123", "FR-124", "FR-125", "FR-126", "FR-127", "FR-128", "FR-129", "FR-130", "FR-131", "FR-132", "FR-133", "FR-134", "FR-136", "FR-137", "FR-138", "FR-139", "FR-140", "FR-141", "FR-142", "FR-143", "FR-144", "FR-145", "FR-146", "FR-147", "FR-148", "FR-149", "FR-150", "FR-151", "FR-152", "FR-153", "FR-154", "FR-155", "FR-156", "FR-157", "FR-158", "FR-159", "FR-160", "FR-161", "FR-162", "FR-163", "FR-164", "FR-165", "FR-166", "FR-167", "FR-168", "FR-169", "FR-170", "FR-171", "FR-172", "FR-173", "FR-174", "FR-175", "FR-176", "FR-177", "FR-178", "FR-179", "FR-180", "FR-181", "FR-182", "FR-183", "FR-184", "FR-185", "FR-186", "FR-187", "FR-188", "FR-189", "FR-190", "FR-191", "FR-192", "FR-193", "FR-194", "FR-195", "FR-196", "FR-197", "FR-198", "FR-199"];
21
21
  /**
22
22
  * The declaration-document formats `@graview/core/document` parses, as
23
23
  * `<format>@<version>`. Said here rather than imported, so the main entry
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
package/dist/check.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { checkApp, formatFindings } from "./cli/check.js";
2
2
  export { arrangementFindings } from "./app-places.js";
3
- export type { CheckResult, Finding, Severity } from "./cli/check.js";
3
+ export type { CheckOptions, CheckResult, Finding, Severity } from "./cli/check.js";
4
4
  export { compileDocument } from "./document/compile-checked.js";
5
5
  export { instantiateTemplate } from "./document/instantiate-template.js";
6
6
  export { describeApp } from "./cli/describe.js";
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { HostView } from "../../views/types.js";
1
2
  import type { GraviewApp } from "../../app.js";
2
3
  import type { AnySchema } from "../../schema/schema.js";
3
4
  import type { AnyMutationDefinition } from "../../mutations/types.js";
@@ -39,6 +40,8 @@ export interface CheckContext<S extends AnySchema> {
39
40
  readonly derivedRemoves: readonly AnyMutationDefinition<S>[];
40
41
  readonly mutations: ReadonlyMap<string, AnyMutationDefinition<S>>;
41
42
  readonly invariants: ReadonlyMap<string, NonNullable<GraviewApp<S>["invariants"]>[number]>;
43
+ /** The host's views, when it says them (`CheckOptions.views`): what `view:<name>` in the arrangement may name. */
44
+ readonly views?: readonly HostView[];
42
45
  add(finding: Finding): void;
43
46
  }
44
47
  /**