@graview/core 0.1.20 → 0.1.22

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 (196) hide show
  1. package/README.md +28 -0
  2. package/dist/blocks.d.ts +3 -0
  3. package/dist/blocks.d.ts.map +1 -1
  4. package/dist/blocks.js +2 -0
  5. package/dist/blocks.js.map +1 -1
  6. package/dist/capabilities.js +1 -1
  7. package/dist/capabilities.js.map +1 -1
  8. package/dist/cli/check/computed.d.ts +4 -2
  9. package/dist/cli/check/computed.d.ts.map +1 -1
  10. package/dist/cli/check/computed.js +7 -4
  11. package/dist/cli/check/computed.js.map +1 -1
  12. package/dist/cli/check/lenses.d.ts.map +1 -1
  13. package/dist/cli/check/lenses.js +4 -2
  14. package/dist/cli/check/lenses.js.map +1 -1
  15. package/dist/cli/check/policy.d.ts.map +1 -1
  16. package/dist/cli/check/policy.js +12 -4
  17. package/dist/cli/check/policy.js.map +1 -1
  18. package/dist/cli/check/relations.d.ts +0 -11
  19. package/dist/cli/check/relations.d.ts.map +1 -1
  20. package/dist/cli/check/relations.js +21 -46
  21. package/dist/cli/check/relations.js.map +1 -1
  22. package/dist/cli/check/views.d.ts.map +1 -1
  23. package/dist/cli/check/views.js +3 -2
  24. package/dist/cli/check/views.js.map +1 -1
  25. package/dist/cli/check.d.ts.map +1 -1
  26. package/dist/cli/check.js +1 -2
  27. package/dist/cli/check.js.map +1 -1
  28. package/dist/cli/describe.d.ts.map +1 -1
  29. package/dist/cli/describe.js +23 -2
  30. package/dist/cli/describe.js.map +1 -1
  31. package/dist/cli/doctor.d.ts +34 -0
  32. package/dist/cli/doctor.d.ts.map +1 -0
  33. package/dist/cli/doctor.js +346 -0
  34. package/dist/cli/doctor.js.map +1 -0
  35. package/dist/cli/document-schema.d.ts +6 -0
  36. package/dist/cli/document-schema.d.ts.map +1 -0
  37. package/dist/cli/document-schema.js +55 -0
  38. package/dist/cli/document-schema.js.map +1 -0
  39. package/dist/cli/index.d.ts +3 -1
  40. package/dist/cli/index.d.ts.map +1 -1
  41. package/dist/cli/index.js +41 -2
  42. package/dist/cli/index.js.map +1 -1
  43. package/dist/cli/types.d.ts +12 -0
  44. package/dist/cli/types.d.ts.map +1 -0
  45. package/dist/cli/types.js +95 -0
  46. package/dist/cli/types.js.map +1 -0
  47. package/dist/conformance/fixtures.d.ts.map +1 -1
  48. package/dist/conformance/fixtures.js +6 -3
  49. package/dist/conformance/fixtures.js.map +1 -1
  50. package/dist/describe.d.ts +3 -1
  51. package/dist/describe.d.ts.map +1 -1
  52. package/dist/describe.js +9 -0
  53. package/dist/describe.js.map +1 -1
  54. package/dist/document/block-context.d.ts +50 -0
  55. package/dist/document/block-context.d.ts.map +1 -0
  56. package/dist/document/block-context.js +69 -0
  57. package/dist/document/block-context.js.map +1 -0
  58. package/dist/document/blocks.d.ts +24 -10
  59. package/dist/document/blocks.d.ts.map +1 -1
  60. package/dist/document/blocks.js +50 -39
  61. package/dist/document/blocks.js.map +1 -1
  62. package/dist/document/compile-checked.d.ts.map +1 -1
  63. package/dist/document/compile-checked.js +6 -3
  64. package/dist/document/compile-checked.js.map +1 -1
  65. package/dist/document/compile.d.ts +1 -1
  66. package/dist/document/compile.d.ts.map +1 -1
  67. package/dist/document/compile.js +8 -3
  68. package/dist/document/compile.js.map +1 -1
  69. package/dist/document/compiled.d.ts +2 -0
  70. package/dist/document/compiled.d.ts.map +1 -1
  71. package/dist/document/compiled.js +31 -27
  72. package/dist/document/compiled.js.map +1 -1
  73. package/dist/document/computed-values.d.ts +6 -1
  74. package/dist/document/computed-values.d.ts.map +1 -1
  75. package/dist/document/computed-values.js +7 -4
  76. package/dist/document/computed-values.js.map +1 -1
  77. package/dist/document/computed.d.ts +21 -0
  78. package/dist/document/computed.d.ts.map +1 -1
  79. package/dist/document/computed.js +54 -4
  80. package/dist/document/computed.js.map +1 -1
  81. package/dist/document/describe-place.d.ts +15 -0
  82. package/dist/document/describe-place.d.ts.map +1 -1
  83. package/dist/document/describe-place.js +33 -28
  84. package/dist/document/describe-place.js.map +1 -1
  85. package/dist/document/diff.d.ts.map +1 -1
  86. package/dist/document/diff.js +22 -0
  87. package/dist/document/diff.js.map +1 -1
  88. package/dist/document/edit.d.ts.map +1 -1
  89. package/dist/document/edit.js +34 -0
  90. package/dist/document/edit.js.map +1 -1
  91. package/dist/document/expr/evaluate.d.ts +7 -1
  92. package/dist/document/expr/evaluate.d.ts.map +1 -1
  93. package/dist/document/expr/evaluate.js +19 -5
  94. package/dist/document/expr/evaluate.js.map +1 -1
  95. package/dist/document/expr/index.d.ts +1 -1
  96. package/dist/document/expr/index.d.ts.map +1 -1
  97. package/dist/document/expr/index.js +1 -1
  98. package/dist/document/expr/index.js.map +1 -1
  99. package/dist/document/expr/parse.js +1 -1
  100. package/dist/document/expr/parse.js.map +1 -1
  101. package/dist/document/fact-values.d.ts +21 -0
  102. package/dist/document/fact-values.d.ts.map +1 -0
  103. package/dist/document/fact-values.js +24 -0
  104. package/dist/document/fact-values.js.map +1 -0
  105. package/dist/document/facts-and-roles.d.ts +17 -0
  106. package/dist/document/facts-and-roles.d.ts.map +1 -0
  107. package/dist/document/facts-and-roles.js +75 -0
  108. package/dist/document/facts-and-roles.js.map +1 -0
  109. package/dist/document/resolve-for.d.ts +29 -0
  110. package/dist/document/resolve-for.d.ts.map +1 -0
  111. package/dist/document/resolve-for.js +23 -0
  112. package/dist/document/resolve-for.js.map +1 -0
  113. package/dist/document/respell.js +2 -2
  114. package/dist/document/respell.js.map +1 -1
  115. package/dist/document/rule-line.d.ts.map +1 -1
  116. package/dist/document/rule-line.js +6 -2
  117. package/dist/document/rule-line.js.map +1 -1
  118. package/dist/document/rules.d.ts.map +1 -1
  119. package/dist/document/rules.js +5 -1
  120. package/dist/document/rules.js.map +1 -1
  121. package/dist/document/schema.d.ts +8 -0
  122. package/dist/document/schema.d.ts.map +1 -1
  123. package/dist/document/schema.js +20 -3
  124. package/dist/document/schema.js.map +1 -1
  125. package/dist/document/to-document.d.ts.map +1 -1
  126. package/dist/document/to-document.js +2 -0
  127. package/dist/document/to-document.js.map +1 -1
  128. package/dist/document/views.d.ts +15 -1
  129. package/dist/document/views.d.ts.map +1 -1
  130. package/dist/document/views.js +82 -34
  131. package/dist/document/views.js.map +1 -1
  132. package/dist/document.schema.json +1655 -0
  133. package/dist/index.d.ts +1 -9
  134. package/dist/index.d.ts.map +1 -1
  135. package/dist/index.js +2 -5
  136. package/dist/index.js.map +1 -1
  137. package/dist/invariants/engine.d.ts +13 -0
  138. package/dist/invariants/engine.d.ts.map +1 -1
  139. package/dist/invariants/engine.js +16 -1
  140. package/dist/invariants/engine.js.map +1 -1
  141. package/dist/invariants/types.d.ts +7 -4
  142. package/dist/invariants/types.d.ts.map +1 -1
  143. package/dist/lines.d.ts +23 -3
  144. package/dist/lines.d.ts.map +1 -1
  145. package/dist/lines.js +38 -6
  146. package/dist/lines.js.map +1 -1
  147. package/dist/places.d.ts.map +1 -1
  148. package/dist/places.js +1 -1
  149. package/dist/places.js.map +1 -1
  150. package/dist/scaffold/project.d.ts.map +1 -1
  151. package/dist/scaffold/project.js +5 -0
  152. package/dist/scaffold/project.js.map +1 -1
  153. package/dist/schema/define-node.d.ts.map +1 -1
  154. package/dist/schema/define-node.js +6 -4
  155. package/dist/schema/define-node.js.map +1 -1
  156. package/dist/schema/schema.d.ts +10 -2
  157. package/dist/schema/schema.d.ts.map +1 -1
  158. package/dist/schema/schema.js +4 -1
  159. package/dist/schema/schema.js.map +1 -1
  160. package/dist/seen.d.ts.map +1 -1
  161. package/dist/seen.js +5 -2
  162. package/dist/seen.js.map +1 -1
  163. package/dist/snapshot.d.ts +67 -0
  164. package/dist/snapshot.d.ts.map +1 -0
  165. package/dist/snapshot.js +181 -0
  166. package/dist/snapshot.js.map +1 -0
  167. package/dist/store.d.ts +32 -2
  168. package/dist/store.d.ts.map +1 -1
  169. package/dist/store.js +48 -35
  170. package/dist/store.js.map +1 -1
  171. package/dist/sync/engine.d.ts +93 -9
  172. package/dist/sync/engine.d.ts.map +1 -1
  173. package/dist/sync/engine.js +357 -48
  174. package/dist/sync/engine.js.map +1 -1
  175. package/dist/sync/index.d.ts +11 -0
  176. package/dist/sync/index.d.ts.map +1 -0
  177. package/dist/sync/index.js +15 -0
  178. package/dist/sync/index.js.map +1 -0
  179. package/dist/sync/mcp.d.ts +124 -0
  180. package/dist/sync/mcp.d.ts.map +1 -0
  181. package/dist/sync/mcp.js +247 -0
  182. package/dist/sync/mcp.js.map +1 -0
  183. package/dist/sync/types.d.ts +35 -0
  184. package/dist/sync/types.d.ts.map +1 -1
  185. package/dist/sync/types.js.map +1 -1
  186. package/dist/testing.d.ts +30 -0
  187. package/dist/testing.d.ts.map +1 -1
  188. package/dist/testing.js +38 -0
  189. package/dist/testing.js.map +1 -1
  190. package/dist/typed.d.ts +267 -0
  191. package/dist/typed.d.ts.map +1 -0
  192. package/dist/typed.js +35 -0
  193. package/dist/typed.js.map +1 -0
  194. package/dist/version.d.ts +1 -1
  195. package/dist/version.js +1 -1
  196. package/package.json +16 -3
package/README.md CHANGED
@@ -59,12 +59,40 @@ Everything a Graview app declares, and the checker that verifies it.
59
59
  `serializeCompiled(compiled)`, and the page builds the same app with
60
60
  `appFrom` or `appFromOrCompile` from `@graview/core/compiled`, which
61
61
  carries no compiler (the format is `graview-compiled@1`).
62
+ - **A document's shape, for an editor and a compiler** — every version
63
+ ships `@graview/core/document.schema.json`, the document format as JSON
64
+ Schema, written by the build from the shape the compiler reads. A
65
+ document that says
66
+ `"$schema": "./node_modules/@graview/core/dist/document.schema.json"`
67
+ (or the version's own address, its `$id`) is checked as it is typed: an
68
+ unknown key is underlined in the editor, not refused at run time.
69
+ `@graview/core/typed` is the same document in TypeScript: `defineDocument`
70
+ returns the JSON document unchanged, and a key the format does not have,
71
+ an edge to a kind nobody declares, a glance or lifecycle field the kind
72
+ lacks, a relation an act connects or a kind a rule is over that is not
73
+ declared is a type error. `graview types <document> --out document.d.ts`
74
+ writes a document's kinds, fields (an enum's options as a union) and
75
+ relations as types, `TypesOf<typeof document>` derives the same from a
76
+ `defineDocument`, and `typedReader<Types>(store)` reads a store through
77
+ them (`reader.fieldOf(node, "status")`, `reader.edgesOf(node, "under")`
78
+ and the rest), so a renamed field or relation fails `tsc` in the product
79
+ that reads it.
62
80
  - **A part that tries again** — `@graview/core/retry`, for a page only:
63
81
  `retryingImport(() => import("./part.js"))` is a loader that asks again
64
82
  after the import failed, with a URL of its own (`?retry=<n>`) where the
65
83
  engine keeps a failed module for the page's life, as Chromium and Firefox
66
84
  do. Never from a server's code: workerd
67
85
  refuses a script with a computed `import()` in it.
86
+ - **A snapshot file** — `@graview/core/snapshot`: `writeSnapshot(graph)`
87
+ writes a header line (when it was made, records and links per kind, where
88
+ each kind's lines are) and then a record per line; `readSnapshot(text,
89
+ { kinds })` parses only the kinds asked for, `fetchSnapshot(url, { kinds })`
90
+ fetches only their bytes, and an old `{ nodes, edges }` file still reads.
91
+ - **Two-way sync** — `@graview/core/sync`: `SyncEngine` over the op log, with
92
+ a conflict policy (`report`, `theirs`, `ours`), resources the remote owns
93
+ (`readonly`, refused here with their `because`), links seeded from a
94
+ version field, and transports for Google Calendar and for a tool server
95
+ over MCP (`mcpClient`, `mcpDoor`, `doorClient`, `mcpRemote`).
68
96
  - **The city** — `@graview/core/scene`: `sceneThumbnail` draws a document
69
97
  (or an app) as the Scene draws it from altitude — the same districts on
70
98
  the same map, in their hues — as one SVG string, with no DOM, for a host
package/dist/blocks.d.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  export { compileBlocks, fieldSpecsOf, isTallBlock, resolveBlocks, safeHref, sayNumber, whatBlocksSay } from "./document/blocks.js";
2
2
  export type { BlockContext, BlocksSaid, ResolvedBlock, ResolvedList, SpecBlock } from "./document/blocks.js";
3
3
  export { computedNames, computedValues, withComputed } from "./document/computed-values.js";
4
+ export { factNames, factValues } from "./document/fact-values.js";
4
5
  export type { ComputedRecord, ComputedValues, PlainComputed } from "./document/computed-values.js";
6
+ export { blockContextFor, CARD_BUDGET, PAGE_BUDGET } from "./document/block-context.js";
7
+ export type { BlockContextOptions, BlockSource } from "./document/block-context.js";
5
8
  //# sourceMappingURL=blocks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../src/blocks.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnI,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC5F,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../src/blocks.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnI,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACxF,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC"}
package/dist/blocks.js CHANGED
@@ -11,4 +11,6 @@
11
11
  */
12
12
  export { compileBlocks, fieldSpecsOf, isTallBlock, resolveBlocks, safeHref, sayNumber, whatBlocksSay } from "./document/blocks.js";
13
13
  export { computedNames, computedValues, withComputed } from "./document/computed-values.js";
14
+ export { factNames, factValues } from "./document/fact-values.js";
15
+ export { blockContextFor, CARD_BUDGET, PAGE_BUDGET } from "./document/block-context.js";
14
16
  //# sourceMappingURL=blocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../src/blocks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEnI,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../src/blocks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEnI,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,6BAA6B,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-156", "FR-157"];
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"];
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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAE/B;;;;;;GAMG;AACH,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAE54C;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,oBAAoB,CAAU,CAAC;AAehE,oGAAoG;AACpG,MAAM,UAAU,YAAY;IAC1B,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;AAClJ,CAAC"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,10 @@ import type { CheckContext } from "./context.js";
7
7
  * `kinds.<kind>.computed` is asked, in the same words: a name that is
8
8
  * already a field or relation, an expression that does not parse or names
9
9
  * nothing the kind has, a cycle among the kind's computed fields, and work
10
- * that grows faster than a page can afford. A document's are judged when it
11
- * is read, at its own paths, so an app compiled from one is not asked twice.
10
+ * that grows faster than a page can afford. And the whole graph's facts —
11
+ * `createSchema(kinds, computed)` — are asked the same, as a document's
12
+ * top-level `computed` is. A document's are judged when it is read, at its
13
+ * own paths, so an app compiled from one is not asked twice.
12
14
  */
13
15
  export declare function checkComputed<S extends AnySchema>(ctx: CheckContext<S>): void;
14
16
  //# sourceMappingURL=computed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"computed.d.ts","sourceRoot":"","sources":["../../../src/cli/check/computed.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAkB7E"}
1
+ {"version":3,"file":"computed.d.ts","sourceRoot":"","sources":["../../../src/cli/check/computed.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAmB7E"}
@@ -1,4 +1,4 @@
1
- import { computedOf, validateComputed } from "../../document/computed.js";
1
+ import { computedOf, validateComputed, WHOLE_GRAPH, withFacts } from "../../document/computed.js";
2
2
  import { documentOf } from "../../document/to-document.js";
3
3
  /**
4
4
  * COMPUTED FIELDS, HELD TO THE DECLARATION (FR-83).
@@ -7,8 +7,10 @@ import { documentOf } from "../../document/to-document.js";
7
7
  * `kinds.<kind>.computed` is asked, in the same words: a name that is
8
8
  * already a field or relation, an expression that does not parse or names
9
9
  * nothing the kind has, a cycle among the kind's computed fields, and work
10
- * that grows faster than a page can afford. A document's are judged when it
11
- * is read, at its own paths, so an app compiled from one is not asked twice.
10
+ * that grows faster than a page can afford. And the whole graph's facts —
11
+ * `createSchema(kinds, computed)` — are asked the same, as a document's
12
+ * top-level `computed` is. A document's are judged when it is read, at its
13
+ * own paths, so an app compiled from one is not asked twice.
12
14
  */
13
15
  export function checkComputed(ctx) {
14
16
  const { app, add } = ctx;
@@ -19,9 +21,10 @@ export function checkComputed(ctx) {
19
21
  const definition = app.schema.tryDefinition(kind);
20
22
  kinds.set(kind, { fields: new Set(Object.keys(definition?.fields?.shape ?? {})), edges: new Set(Object.keys(definition?.edges ?? {})), computed: computedOf(definition) });
21
23
  }
24
+ withFacts(kinds, app.schema);
22
25
  if (![...kinds.values()].some((k) => k.computed.size > 0))
23
26
  return;
24
- for (const finding of validateComputed(kinds, (kind, name) => `defineNode("${kind}").computed.${name}`)) {
27
+ for (const finding of validateComputed(kinds, (kind, name) => (kind === WHOLE_GRAPH ? `createSchema(…).computed.${name}` : `defineNode("${kind}").computed.${name}`))) {
25
28
  add({
26
29
  severity: finding.severity,
27
30
  code: finding.code,
@@ -1 +1 @@
1
- {"version":3,"file":"computed.js","sourceRoot":"","sources":["../../../src/cli/check/computed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAqB,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAI3D;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAsB,GAAoB;IACrE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IACzB,IAAI,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO;IAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,KAA0B,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAyH,CAAC;QAC1K,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7K,CAAC;IACD,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QAAE,OAAO;IAClE,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,IAAI,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QACxG,GAAG,CAAC;YACF,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,IAAI;YACnB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,6EAA6E;SAClG,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"computed.js","sourceRoot":"","sources":["../../../src/cli/check/computed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAqB,MAAM,4BAA4B,CAAC;AACrH,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAI3D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAsB,GAAoB;IACrE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IACzB,IAAI,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO;IAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,KAA0B,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAyH,CAAC;QAC1K,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7K,CAAC;IACD,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QAAE,OAAO;IAClE,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,eAAe,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACtK,GAAG,CAAC;YACF,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,IAAI;YACnB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,6EAA6E;SAClG,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lenses.d.ts","sourceRoot":"","sources":["../../../src/cli/check/lenses.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAMjD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA+BlF;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAwOjF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA4BnF;AAED,sGAAsG;AACtG,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAIrF"}
1
+ {"version":3,"file":"lenses.d.ts","sourceRoot":"","sources":["../../../src/cli/check/lenses.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAMjD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA+BlF;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA0OjF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA4BnF;AAED,sGAAsG;AACtG,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAIrF"}
@@ -223,14 +223,16 @@ export function checkLensBindings(ctx) {
223
223
  });
224
224
  }
225
225
  }
226
+ // A start the lens leaves unbound is the kind's natural time, where its `fieldRoles.when` says it: the lens draws it there.
227
+ const roles = { start: definition.fieldRoles?.["when"], ...bindings };
226
228
  for (const role of requiredRolesOf(lens)) {
227
- if (!(role in bindings)) {
229
+ if (roles[role] === undefined) {
228
230
  add({
229
231
  severity: "error",
230
232
  code: "lens-role-unbound",
231
233
  where: `lens "${lens.title ?? lens.name}" bindings.${kind}`,
232
234
  message: `Lens "${lens.name}" requires role "${role}", which "${kind}" does not bind.`,
233
- fix: `Add ${role}: "<field name>" to the bindings for "${kind}".`,
235
+ fix: `Add ${role}: "<field name>" to the bindings for "${kind}"${role === "start" ? `, or say which field is its natural time once, on the kind: fieldRoles: { when: "<field name>" }` : ""}.`,
234
236
  });
235
237
  }
236
238
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lenses.js","sourceRoot":"","sources":["../../../src/cli/check/lenses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lenses.js","sourceRoot":"","sources":["../../../src/cli/check/lenses.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/cli/check/policy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAsK3E"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/cli/check/policy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA8K3E"}
@@ -48,13 +48,21 @@ export function checkPolicy(ctx) {
48
48
  const via = derivedVia(app.schema, declaredMutations, mutation);
49
49
  return subjectKinds.some((kind) => permits(app.policy, { kind: "human", id: "themselves", roles: [role] }, mutation.name, kind, via, "themselves").ok);
50
50
  });
51
- if (!canDo) {
51
+ /*
52
+ * A ROLE THAT ONLY READS IS A READER, NOT A MISTAKE. A viewer that
53
+ * may run nothing is the point of a viewer: it reads every kind where
54
+ * the policy keeps no kind from anybody (no `sees`), and what a sight
55
+ * names it for where it does. Only a role that can neither act nor
56
+ * see a thing is one nobody could use.
57
+ */
58
+ const canRead = !app.policy.sees?.length || app.policy.sees.some((sight) => sight.roles === "*" || sight.roles.includes(role));
59
+ if (!canDo && !canRead) {
52
60
  add({
53
61
  severity: "warning",
54
62
  code: "role-may-do-nothing",
55
- where: `policy.grants (role "${role}")`,
56
- message: `"${role}" may run no mutation, so anyone holding it can only read.`,
57
- fix: "Grant it something, or drop the role if read-only was the intent.",
63
+ where: `policy (role "${role}")`,
64
+ message: `"${role}" may run no mutation and see no kind, so anyone holding it can do nothing at all.`,
65
+ fix: `Grant it a mutation (policy.grants) or a kind to read (policy.sees), or drop the role.`,
58
66
  });
59
67
  }
60
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/cli/check/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/cli/check/policy.ts"],"names":[],"mappings":"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"}
@@ -13,17 +13,6 @@ import type { AnySchema } from "../../schema/schema.js";
13
13
  */
14
14
  import type { CheckContext } from "./context.js";
15
15
  export declare function checkReadings<S extends AnySchema>(ctx: CheckContext<S>): void;
16
- /**
17
- * ONE EDGE NAME, ONE RELATION. Every surface treats an edge kind as a single
18
- * relation: the connections on a record, the pages' groups, the captions
19
- * over a band, the arrangement's `by:` all key on its name. Declared on two
20
- * kinds with two sets of words — `by` on a song ("the artist whose song it
21
- * is" / "their songs") and on an album ("the artist whose release it is" /
22
- * "their releases") — the artist's page listed thirty-five songs and six
23
- * albums together under "Their releases". Declaring the same relation from
24
- * several kinds in the SAME words is fine and is left alone.
25
- */
26
- export declare function checkEdgeNamesAgree<S extends AnySchema>(ctx: CheckContext<S>): void;
27
16
  export declare function checkActsFromEnds<S extends AnySchema>(ctx: CheckContext<S>, writtenByAModel: ReadonlySet<string>): void;
28
17
  export declare function checkUnmakeable<S extends AnySchema>(ctx: CheckContext<S>): void;
29
18
  //# sourceMappingURL=relations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../src/cli/check/relations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA8B7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA0BnF;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAyNvH;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAgD/E"}
1
+ {"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../src/cli/check/relations.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAMjD,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA8B7E;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAiOvH;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAgD/E"}
@@ -1,6 +1,10 @@
1
- import { nodeRefArgs } from "../../mutations/node-ref.js";
1
+ import { describeArg, nodeRefArgs } from "../../mutations/node-ref.js";
2
+ import { roleProblem } from "../../document/facts-and-roles.js";
3
+ import { documentOf } from "../../document/to-document.js";
2
4
  import { withArticle } from "../../schema/define-node.js";
3
5
  import { bounded } from "./context.js";
6
+ /** What a field's schema says it holds, in the words a role is judged in. */
7
+ const ARG_ROLE_TYPES = { date: "date", text: "string", choice: "enum", number: "number", boolean: "boolean", several: "list", unknown: "structured" };
4
8
  export function checkReadings(ctx) {
5
9
  const { app, add } = ctx;
6
10
  /*
@@ -31,45 +35,6 @@ export function checkReadings(ctx) {
31
35
  }
32
36
  }
33
37
  }
34
- /**
35
- * ONE EDGE NAME, ONE RELATION. Every surface treats an edge kind as a single
36
- * relation: the connections on a record, the pages' groups, the captions
37
- * over a band, the arrangement's `by:` all key on its name. Declared on two
38
- * kinds with two sets of words — `by` on a song ("the artist whose song it
39
- * is" / "their songs") and on an album ("the artist whose release it is" /
40
- * "their releases") — the artist's page listed thirty-five songs and six
41
- * albums together under "Their releases". Declaring the same relation from
42
- * several kinds in the SAME words is fine and is left alone.
43
- */
44
- export function checkEdgeNamesAgree(ctx) {
45
- const { app, add } = ctx;
46
- const declared = new Map();
47
- for (const definition of app.schema.definitions) {
48
- for (const [edgeKind, edge] of Object.entries(definition.edges)) {
49
- const held = declared.get(edgeKind) ?? [];
50
- held.push({ kind: definition.kind, ...(edge.description ? { description: edge.description } : {}), ...(edge.inverse ? { inverse: edge.inverse } : {}) });
51
- declared.set(edgeKind, held);
52
- }
53
- }
54
- for (const [edgeKind, ends] of declared) {
55
- if (ends.length < 2)
56
- continue;
57
- const words = new Set(ends.map((end) => `${end.description ?? ""}|${end.inverse ?? ""}`));
58
- if (words.size < 2)
59
- continue;
60
- const said = ends
61
- .map((end) => `on ${withArticle(end.kind)} ("${end.description ?? edgeKind}" / "${end.inverse ?? edgeKind}")`)
62
- .join(" and ");
63
- const [first, second] = ends;
64
- add({
65
- severity: "error",
66
- code: "edge-name-shared",
67
- where: ends.map((end) => `defineNode("${end.kind}").edges["${edgeKind}"]`).join(", "),
68
- message: `"${edgeKind}" is declared ${said}, but to every surface an edge name is ONE relation: from the far end both are listed together under ${JSON.stringify(first.inverse ?? edgeKind)}, including the ${second.kind === first.kind ? "second" : `${second.kind}s`}.`,
69
- fix: `Give each relation its own name (say "${edgeKind}" on ${withArticle(first.kind)} and "${second.kind}-${edgeKind}" on ${withArticle(second.kind)}), or give every declaration the same description and inverse.`,
70
- });
71
- }
72
- }
73
38
  export function checkActsFromEnds(ctx, writtenByAModel) {
74
39
  const { app, kinds, mutations, add } = ctx;
75
40
  /*
@@ -212,12 +177,16 @@ export function checkActsFromEnds(ctx, writtenByAModel) {
212
177
  });
213
178
  }
214
179
  if (readable.length > 5 && !definition.display?.glance) {
180
+ // Unchosen, a glance says the author and the natural time first, where the kind's roles name them, then the fields as declared.
181
+ const roles = definition.fieldRoles ?? {};
182
+ const led = [roles["who"], roles["when"]].filter((field) => field !== undefined && readable.includes(field));
183
+ const first = [...new Set([...led, ...readable])].slice(0, 3);
215
184
  add({
216
185
  severity: "note",
217
186
  code: "glance-unchosen",
218
187
  where: `defineNode("${definition.kind}").display`,
219
- message: `${withArticle(definition.kind).replace(/^./, (first) => first.toUpperCase())} has ${readable.length} fields and a card shows three — the first three in the order they were declared (${readable.slice(0, 3).join(", ")}).`,
220
- fix: `Say which: display: { glance: ["${readable.slice(0, 3).join('", "')}"] } — the facts a person compares one by, at a glance.`,
188
+ message: `${withArticle(definition.kind).replace(/^./, (first) => first.toUpperCase())} has ${readable.length} fields and a card shows three — ${led.length > 0 ? `${led.map((field) => (field === roles["who"] ? "its author" : "its time")).join(" and ")} first, then the rest in the order they were declared` : "the first three in the order they were declared"} (${first.join(", ")}).`,
189
+ fix: `Say which: display: { glance: ["${first.join('", "')}"] } — the facts a person compares one by, at a glance.`,
221
190
  });
222
191
  }
223
192
  }
@@ -249,15 +218,21 @@ export function checkActsFromEnds(ctx, writtenByAModel) {
249
218
  });
250
219
  }
251
220
  }
221
+ // A document's roles are judged when it is read, at its own paths (`kinds.<kind>.fieldRoles`).
222
+ if (documentOf(app))
223
+ continue;
252
224
  for (const [role, field] of Object.entries(definition.fieldRoles ?? {})) {
253
225
  const shape = definition.fields.shape;
254
- if (!(field in shape)) {
226
+ if (role === "label" && field === "label")
227
+ continue;
228
+ const problem = roleProblem(role, field, definition.kind, field in shape ? ARG_ROLE_TYPES[describeArg(shape[field]).type] : undefined, Object.keys(shape));
229
+ if (problem) {
255
230
  add({
256
231
  severity: "error",
257
- code: "field-role-missing-field",
232
+ code: problem.code,
258
233
  where: `defineNode("${definition.kind}").fieldRoles.${role}`,
259
- message: `Field role "${role}" maps to field "${field}", which is not in this kind's fields.`,
260
- fix: `Point the role at one of: ${Object.keys(shape).join(", ")}.`,
234
+ message: `${problem.message[0].toUpperCase()}${problem.message.slice(1)}.`,
235
+ fix: `${problem.fix[0].toUpperCase()}${problem.fix.slice(1)}.`,
261
236
  });
262
237
  }
263
238
  }
@@ -1 +1 @@
1
- {"version":3,"file":"relations.js","sourceRoot":"","sources":["../../../src/cli/check/relations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relations.js","sourceRoot":"","sources":["../../../src/cli/check/relations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../../src/cli/check/views.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAqB9E"}
1
+ {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../../src/cli/check/views.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAsB9E"}
@@ -1,5 +1,5 @@
1
1
  import { documentOf } from "../../document/to-document.js";
2
- import { validateViewSpecs, viewBraces } from "../../document/views.js";
2
+ import { validateViewSpecs, viewBraces, viewKeys } from "../../document/views.js";
3
3
  /**
4
4
  * VIEWS AS DATA, HELD TO THE DECLARATION (FR-03).
5
5
  *
@@ -22,8 +22,9 @@ export function checkViewSpecs(ctx) {
22
22
  ...(blockLenses ? { lenses: app.lenses } : {}),
23
23
  });
24
24
  // Braces in a block's plain words (FR-99); a document's are said by compileDocument, at its own paths.
25
+ // And each block's key its own in its view, so a face claims one block by it.
25
26
  if (!documentOf(app))
26
- findings.push(...viewBraces(app.viewSpecs, "viewSpecs", app.home, app.lenses));
27
+ findings.push(...viewBraces(app.viewSpecs, "viewSpecs", app.home, app.lenses), ...viewKeys(app.viewSpecs, "viewSpecs", app.home, app.lenses));
27
28
  for (const finding of findings) {
28
29
  add({
29
30
  severity: finding.severity,
@@ -1 +1 @@
1
- {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../src/cli/check/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIxE;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAsB,GAAoB;IACtE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IACzB,mFAAmF;IACnF,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC9E,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,WAAW;QAAE,OAAO;IACrE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE;QAC5D,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC,CAAC;IACH,uGAAuG;IACvG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACrG,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,GAAG,CAAC;YACF,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,IAAI;YACnB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,4EAA4E;SACjG,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../src/cli/check/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIlF;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAsB,GAAoB;IACtE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IACzB,mFAAmF;IACnF,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC9E,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,WAAW;QAAE,OAAO;IACrE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE;QAC5D,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC,CAAC;IACH,uGAAuG;IACvG,8EAA8E;IAC9E,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpK,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,GAAG,CAAC;YACF,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,IAAI;YACnB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,4EAA4E;SACjG,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AA2CrD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;GAMG;AAEH;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CA2C7E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAiB1D"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AA0CrD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;GAMG;AAEH;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CA0C7E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAiB1D"}
package/dist/cli/check.js CHANGED
@@ -11,7 +11,7 @@ import { deriveEditMutations, deriveRemoveMutations } from "../mutations/derive-
11
11
  * the warnings that matter. So they have their own voice: counted, printed,
12
12
  * and never a failure.
13
13
  */
14
- import { checkAccents, checkActsFromEnds, checkBlankInstallation, checkEditableFields, checkFigures, checkLensBindings, checkDeclaredLenses, checkPagesArrangement, checkMigrations, checkModelWritten, checkModules, checkPalette, checkPlots, checkPolicy, checkProviders, checkReadings, checkEdgeNamesAgree, checkRoutes, checkSettings, checkShippedLenses, checkUnmakeable, checkArrangement, checkViewSpecs, checkComputed, checkHiddenReads, } from "./check/index.js";
14
+ import { checkAccents, checkActsFromEnds, checkBlankInstallation, checkEditableFields, checkFigures, checkLensBindings, checkDeclaredLenses, checkPagesArrangement, checkMigrations, checkModelWritten, checkModules, checkPalette, checkPlots, checkPolicy, checkProviders, checkReadings, checkRoutes, checkSettings, checkShippedLenses, checkUnmakeable, checkArrangement, checkViewSpecs, checkComputed, checkHiddenReads, } from "./check/index.js";
15
15
  /**
16
16
  * The build-time safety net. Most of these mistakes are already typecheck
17
17
  * failures — an edge to an undeclared kind, a view for a kind nobody
@@ -47,7 +47,6 @@ export function checkApp(app) {
47
47
  checkAccents(ctx);
48
48
  checkModules(ctx);
49
49
  checkReadings(ctx);
50
- checkEdgeNamesAgree(ctx);
51
50
  checkActsFromEnds(ctx, writtenByAModel);
52
51
  checkUnmakeable(ctx);
53
52
  checkEditableFields(ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAG1F;;;;;;;;;;;GAWG;AACH,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAyB1B;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAsB,GAAkB;IAC9D,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,GAAG,CAAC,MAAM,CAAC,KAA0B,CAAC,CAAC;IACrE,MAAM,iBAAiB,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC5E,iGAAiG;IACjG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,iBAAiB,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9G,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3E,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAoB,EAAE,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAEzH,WAAW,CAAC,GAAG,CAAC,CAAC;IACjB,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxB,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5B,cAAc,CAAC,GAAG,CAAC,CAAC;IACpB,UAAU,CAAC,GAAG,CAAC,CAAC;IAChB,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,eAAe,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC/C,aAAa,CAAC,GAAG,CAAC,CAAC;IACnB,eAAe,CAAC,GAAG,CAAC,CAAC;IACrB,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,aAAa,CAAC,GAAG,CAAC,CAAC;IACnB,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,iBAAiB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACxC,eAAe,CAAC,GAAG,CAAC,CAAC;IACrB,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,WAAW,CAAC,GAAG,CAAC,CAAC;IACjB,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvB,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtB,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3B,cAAc,CAAC,GAAG,CAAC,CAAC;IACpB,aAAa,CAAC,GAAG,CAAC,CAAC;IACnB,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEtB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACrE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAClD,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAmB;IAChD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,kBAAkB,MAAM,CAAC,GAAG,uBAAuB,CAAC;IAC7D,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAW,CAAC;IAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAC/B,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI;QAC9C,WAAW,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC,GAAG,EAAE,CAChD,CAAC;IACF,OAAO;QACL,kBAAkB,MAAM,CAAC,GAAG,EAAE;QAC9B,GAAG,KAAK;QACR,GAAG,MAAM,CAAC,MAAM,cAAc,MAAM,CAAC,QAAQ,cAC3C,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EACnD,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"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"}