@graview/core 0.1.9 → 0.1.12

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 (200) hide show
  1. package/README.md +19 -8
  2. package/dist/app.d.ts +41 -2
  3. package/dist/app.d.ts.map +1 -1
  4. package/dist/app.js.map +1 -1
  5. package/dist/blocks.d.ts +5 -0
  6. package/dist/blocks.d.ts.map +1 -0
  7. package/dist/blocks.js +14 -0
  8. package/dist/blocks.js.map +1 -0
  9. package/dist/capabilities.js +1 -1
  10. package/dist/capabilities.js.map +1 -1
  11. package/dist/check.d.ts +8 -0
  12. package/dist/check.d.ts.map +1 -0
  13. package/dist/check.js +19 -0
  14. package/dist/check.js.map +1 -0
  15. package/dist/cli/check/arrangement.d.ts.map +1 -1
  16. package/dist/cli/check/arrangement.js +3 -2
  17. package/dist/cli/check/arrangement.js.map +1 -1
  18. package/dist/cli/check/brand.d.ts.map +1 -1
  19. package/dist/cli/check/brand.js +21 -0
  20. package/dist/cli/check/brand.js.map +1 -1
  21. package/dist/cli/check/computed.d.ts +14 -0
  22. package/dist/cli/check/computed.d.ts.map +1 -0
  23. package/dist/cli/check/computed.js +34 -0
  24. package/dist/cli/check/computed.js.map +1 -0
  25. package/dist/cli/check/hidden-reads.d.ts +4 -0
  26. package/dist/cli/check/hidden-reads.d.ts.map +1 -0
  27. package/dist/cli/check/hidden-reads.js +152 -0
  28. package/dist/cli/check/hidden-reads.js.map +1 -0
  29. package/dist/cli/check/index.d.ts +2 -0
  30. package/dist/cli/check/index.d.ts.map +1 -1
  31. package/dist/cli/check/index.js +2 -0
  32. package/dist/cli/check/index.js.map +1 -1
  33. package/dist/cli/check/lenses.d.ts +10 -0
  34. package/dist/cli/check/lenses.d.ts.map +1 -1
  35. package/dist/cli/check/lenses.js +37 -19
  36. package/dist/cli/check/lenses.js.map +1 -1
  37. package/dist/cli/check/relations.d.ts.map +1 -1
  38. package/dist/cli/check/relations.js +2 -1
  39. package/dist/cli/check/relations.js.map +1 -1
  40. package/dist/cli/check/views.d.ts.map +1 -1
  41. package/dist/cli/check/views.js +13 -3
  42. package/dist/cli/check/views.js.map +1 -1
  43. package/dist/cli/check.d.ts.map +1 -1
  44. package/dist/cli/check.js +5 -1
  45. package/dist/cli/check.js.map +1 -1
  46. package/dist/cli/create.d.ts.map +1 -1
  47. package/dist/cli/create.js +1 -1
  48. package/dist/cli/create.js.map +1 -1
  49. package/dist/cli/describe.d.ts.map +1 -1
  50. package/dist/cli/describe.js +66 -1
  51. package/dist/cli/describe.js.map +1 -1
  52. package/dist/cli/index.d.ts +2 -2
  53. package/dist/cli/index.d.ts.map +1 -1
  54. package/dist/cli/index.js +23 -2
  55. package/dist/cli/index.js.map +1 -1
  56. package/dist/columns.d.ts +73 -0
  57. package/dist/columns.d.ts.map +1 -0
  58. package/dist/columns.js +100 -0
  59. package/dist/columns.js.map +1 -0
  60. package/dist/conformance/index.js +1 -1
  61. package/dist/conformance/index.js.map +1 -1
  62. package/dist/describe.d.ts +5 -0
  63. package/dist/describe.d.ts.map +1 -0
  64. package/dist/describe.js +19 -0
  65. package/dist/describe.js.map +1 -0
  66. package/dist/document/blocks.d.ts +187 -0
  67. package/dist/document/blocks.d.ts.map +1 -0
  68. package/dist/document/blocks.js +372 -0
  69. package/dist/document/blocks.js.map +1 -0
  70. package/dist/document/compile-checked.d.ts +8 -0
  71. package/dist/document/compile-checked.d.ts.map +1 -0
  72. package/dist/document/compile-checked.js +36 -0
  73. package/dist/document/compile-checked.js.map +1 -0
  74. package/dist/document/compile.d.ts +8 -6
  75. package/dist/document/compile.d.ts.map +1 -1
  76. package/dist/document/compile.js +68 -46
  77. package/dist/document/compile.js.map +1 -1
  78. package/dist/document/computed-values.d.ts +33 -0
  79. package/dist/document/computed-values.d.ts.map +1 -0
  80. package/dist/document/computed-values.js +60 -0
  81. package/dist/document/computed-values.js.map +1 -0
  82. package/dist/document/computed.d.ts +42 -0
  83. package/dist/document/computed.d.ts.map +1 -0
  84. package/dist/document/computed.js +173 -0
  85. package/dist/document/computed.js.map +1 -0
  86. package/dist/document/describe-place.d.ts +95 -0
  87. package/dist/document/describe-place.d.ts.map +1 -0
  88. package/dist/document/describe-place.js +286 -0
  89. package/dist/document/describe-place.js.map +1 -0
  90. package/dist/document/diff.d.ts.map +1 -1
  91. package/dist/document/diff.js +78 -4
  92. package/dist/document/diff.js.map +1 -1
  93. package/dist/document/edit.d.ts +1 -1
  94. package/dist/document/edit.d.ts.map +1 -1
  95. package/dist/document/edit.js +908 -107
  96. package/dist/document/edit.js.map +1 -1
  97. package/dist/document/expr/analyze.d.ts +22 -0
  98. package/dist/document/expr/analyze.d.ts.map +1 -1
  99. package/dist/document/expr/analyze.js +51 -4
  100. package/dist/document/expr/analyze.js.map +1 -1
  101. package/dist/document/expr/evaluate.d.ts +7 -1
  102. package/dist/document/expr/evaluate.d.ts.map +1 -1
  103. package/dist/document/expr/evaluate.js +121 -8
  104. package/dist/document/expr/evaluate.js.map +1 -1
  105. package/dist/document/expr/index.d.ts +1 -1
  106. package/dist/document/expr/index.d.ts.map +1 -1
  107. package/dist/document/expr/index.js +1 -1
  108. package/dist/document/expr/index.js.map +1 -1
  109. package/dist/document/expr/parse.d.ts +2 -1
  110. package/dist/document/expr/parse.d.ts.map +1 -1
  111. package/dist/document/expr/parse.js +6 -3
  112. package/dist/document/expr/parse.js.map +1 -1
  113. package/dist/document/expr/print.d.ts.map +1 -1
  114. package/dist/document/expr/print.js +4 -2
  115. package/dist/document/expr/print.js.map +1 -1
  116. package/dist/document/graview-template.d.ts +20 -12
  117. package/dist/document/graview-template.d.ts.map +1 -1
  118. package/dist/document/graview-template.js +5 -44
  119. package/dist/document/graview-template.js.map +1 -1
  120. package/dist/document/index.d.ts +8 -8
  121. package/dist/document/index.d.ts.map +1 -1
  122. package/dist/document/index.js +5 -5
  123. package/dist/document/index.js.map +1 -1
  124. package/dist/document/instantiate-template.d.ts +14 -0
  125. package/dist/document/instantiate-template.d.ts.map +1 -0
  126. package/dist/document/instantiate-template.js +46 -0
  127. package/dist/document/instantiate-template.js.map +1 -0
  128. package/dist/document/rules.d.ts +2 -1
  129. package/dist/document/rules.d.ts.map +1 -1
  130. package/dist/document/rules.js +5 -1
  131. package/dist/document/rules.js.map +1 -1
  132. package/dist/document/schema.d.ts +46 -5
  133. package/dist/document/schema.d.ts.map +1 -1
  134. package/dist/document/schema.js +31 -3
  135. package/dist/document/schema.js.map +1 -1
  136. package/dist/document/template.d.ts +33 -2
  137. package/dist/document/template.d.ts.map +1 -1
  138. package/dist/document/template.js +156 -18
  139. package/dist/document/template.js.map +1 -1
  140. package/dist/document/thumbnail.d.ts +5 -4
  141. package/dist/document/thumbnail.d.ts.map +1 -1
  142. package/dist/document/thumbnail.js +29 -21
  143. package/dist/document/thumbnail.js.map +1 -1
  144. package/dist/document/to-document.d.ts.map +1 -1
  145. package/dist/document/to-document.js +6 -1
  146. package/dist/document/to-document.js.map +1 -1
  147. package/dist/document/views.d.ts +58 -3
  148. package/dist/document/views.d.ts.map +1 -1
  149. package/dist/document/views.js +356 -24
  150. package/dist/document/views.js.map +1 -1
  151. package/dist/figures.d.ts +3 -0
  152. package/dist/figures.d.ts.map +1 -0
  153. package/dist/figures.js +14 -0
  154. package/dist/figures.js.map +1 -0
  155. package/dist/index.d.ts +3 -12
  156. package/dist/index.d.ts.map +1 -1
  157. package/dist/index.js +2 -7
  158. package/dist/index.js.map +1 -1
  159. package/dist/mutations/types.d.ts +12 -0
  160. package/dist/mutations/types.d.ts.map +1 -1
  161. package/dist/places.d.ts +197 -0
  162. package/dist/places.d.ts.map +1 -0
  163. package/dist/places.js +376 -0
  164. package/dist/places.js.map +1 -0
  165. package/dist/scaffold/domain.js +1 -1
  166. package/dist/scaffold/from-template.d.ts.map +1 -1
  167. package/dist/scaffold/from-template.js +3 -3
  168. package/dist/scaffold/from-template.js.map +1 -1
  169. package/dist/scaffold/project.d.ts.map +1 -1
  170. package/dist/scaffold/project.js +13 -0
  171. package/dist/scaffold/project.js.map +1 -1
  172. package/dist/scaffold/ui.d.ts.map +1 -1
  173. package/dist/scaffold/ui.js +13 -10
  174. package/dist/scaffold/ui.js.map +1 -1
  175. package/dist/scene-districts.d.ts +5 -1
  176. package/dist/scene-districts.d.ts.map +1 -1
  177. package/dist/scene-districts.js +11 -4
  178. package/dist/scene-districts.js.map +1 -1
  179. package/dist/scene.d.ts +7 -0
  180. package/dist/scene.d.ts.map +1 -0
  181. package/dist/scene.js +16 -0
  182. package/dist/scene.js.map +1 -0
  183. package/dist/schema/define-node.d.ts +3 -0
  184. package/dist/schema/define-node.d.ts.map +1 -1
  185. package/dist/schema/define-node.js +3 -1
  186. package/dist/schema/define-node.js.map +1 -1
  187. package/dist/schema/types.d.ts +17 -0
  188. package/dist/schema/types.d.ts.map +1 -1
  189. package/dist/theme/types.d.ts +9 -0
  190. package/dist/theme/types.d.ts.map +1 -1
  191. package/dist/theme/types.js.map +1 -1
  192. package/dist/version.d.ts +1 -1
  193. package/dist/version.d.ts.map +1 -1
  194. package/dist/version.js +1 -1
  195. package/dist/version.js.map +1 -1
  196. package/dist/views/types.d.ts +19 -0
  197. package/dist/views/types.d.ts.map +1 -1
  198. package/dist/views/types.js +14 -0
  199. package/dist/views/types.js.map +1 -1
  200. package/package.json +21 -1
package/README.md CHANGED
@@ -21,15 +21,26 @@ Everything a Graview app declares, and the checker that verifies it.
21
21
  resolved for a brand by `shapeOf` and `typographyOf` — so a page outside
22
22
  the app can dress as one without importing a stylesheet.
23
23
  - **`graview check`** — reads a declaration and reports what is wrong with it,
24
- in terms an agent can act on.
24
+ in terms an agent can act on. In code it is `@graview/core/check`:
25
+ `checkApp`, `describeApp`, the agent docs (`generateLlmsTxt`), and
26
+ `compileDocument`, a document compiled and checked.
25
27
  - **Documents** — `@graview/core/document`: a whole app as one JSON object,
26
- compiled by `compileDocument` into the same app `defineApp` declares and
27
- never run as code; `toDocument` writes an app back out. Rules say what must
28
- hold in a small, budgeted language (`expressionRule`). Every command that
29
- takes an entry takes `--document <file>`. `sceneThumbnail` draws a
30
- document (or an app) as the Scene draws it from altitude — the same
31
- districts on the same map, in their hues — as one SVG string, with no DOM,
32
- for a host listing apps; `sceneDistricts` is the same answer as data.
28
+ compiled by `compileDocumentWithoutCheck` into the same app `defineApp`
29
+ declares and never run as code (`compileDocument` from
30
+ `@graview/core/check` also asks the checker); `toDocument` writes an app
31
+ back out. Rules say what must hold in a small, budgeted language
32
+ (`expressionRule`). Every command that takes an entry takes
33
+ `--document <file>`. A view's blocks resolve with `@graview/core/blocks`.
34
+ - **The city** — `@graview/core/scene`: `sceneThumbnail` draws a document
35
+ (or an app) as the Scene draws it from altitude — the same districts on
36
+ the same map, in their hues — as one SVG string, with no DOM, for a host
37
+ listing apps; `sceneDistricts` is the same answer as data. A kind's
38
+ figures are `@graview/core/figures`.
39
+ - **What a page loads first** — `@graview/core` and `@graview/core/document`
40
+ hold only what a page draws with. The checker, the city, the figures and
41
+ the block resolver are on the subpaths above because a bundler places a
42
+ whole module in every chunk that can reach it: a hosted page imports both
43
+ barrels up front, and would otherwise carry them before a face is fetched.
33
44
  - **Conformance** — `@graview/core/conformance`: fixtures a host runs against
34
45
  a version (`conformance()`) to prove it reads, compiles and derives the same.
35
46
 
package/dist/app.d.ts CHANGED
@@ -8,7 +8,8 @@ import type { GraphSnapshot } from "./graph/types.js";
8
8
  import type { Primitive } from "./graph/primitives.js";
9
9
  import type { AnySchema } from "./schema/schema.js";
10
10
  import type { ViewRegistry } from "./views/types.js";
11
- import type { ViewSpecsByKind } from "./document/views.js";
11
+ import type { HomeView, ViewSpecsByKind } from "./document/views.js";
12
+ import type { PagesArrangement } from "./places.js";
12
13
  /**
13
14
  * Everything one application declares, in one object. `graview check` and
14
15
  * the docs generator both read exactly this — an app that can be checked is
@@ -58,8 +59,30 @@ export type EntityBinding = {
58
59
  readonly on: string;
59
60
  };
60
61
  export interface LensDeclaration {
62
+ /** Which lens: one the framework ships (`SHIPPED_LENSES`) or one this app wrote. */
61
63
  readonly name: string;
62
- readonly requiredRoles: readonly string[];
64
+ /**
65
+ * The roles it requires. A shipped lens knows its own, so a declaration
66
+ * of one may leave them out (`requiredRolesOf`).
67
+ */
68
+ readonly requiredRoles?: readonly string[];
69
+ /**
70
+ * A DECLARED LENS DRAWS (FR-79). Given a title, a shipped lens is a named
71
+ * place over the kinds it binds — a pill on the bar, a drive-in from
72
+ * altitude, a page at `/places/<as>` — drawn by the framework from this
73
+ * declaration alone, with no registration in the app's UI. Without one
74
+ * it is bindings the checker holds.
75
+ */
76
+ readonly title?: string;
77
+ /** The kind it is a place over, when its bindings do not say (the reach lens) or say several. */
78
+ readonly on?: string;
79
+ /**
80
+ * What the lens's factory takes beyond its roles, as data — a calendar's
81
+ * `range`, a timeline's `columns`, a coverage's `rowGroup`.
82
+ * `SHIPPED_LENSES[name].options` lists each lens's; anything that cannot
83
+ * be data is derived where it is drawn.
84
+ */
85
+ readonly options?: Readonly<Record<string, unknown>>;
63
86
  /**
64
87
  * WHERE THE REUSE WAS PROVED — for a lens this app wrote.
65
88
  *
@@ -119,6 +142,15 @@ export interface GraviewApp<S extends AnySchema = AnySchema> {
119
142
  * the default at one × full. A document's `views` compile to this.
120
143
  */
121
144
  readonly viewSpecs?: ViewSpecsByKind;
145
+ /**
146
+ * THE HOME VIEW, AS DATA (FR-81): blocks from the same closed set —
147
+ * `headline`, `figure`, `list` and the rest — about no one record, drawn
148
+ * as the home's body on both faces in place of the derived one. A
149
+ * document writes it as `views.home`.
150
+ *
151
+ * home: [{ headline: "{count(all('offer')) | words} offers" }, { list: "all('offer')", as: "card" }]
152
+ */
153
+ readonly home?: HomeView;
122
154
  /**
123
155
  * Roles a lens requires an app to bind, and what it binds them to.
124
156
  *
@@ -132,6 +164,13 @@ export interface GraviewApp<S extends AnySchema = AnySchema> {
132
164
  * existed, which is the usual way that assumption gets found.
133
165
  */
134
166
  readonly lenses?: readonly LensDeclaration[];
167
+ /**
168
+ * HOW THE HOME IS ARRANGED AND WHERE THE APP OPENS (FR-80): the kinds in
169
+ * order, the kinds the home leaves off, and the place it opens on. Both
170
+ * faces honour it — the routed face's gallery and nav, the city's order —
171
+ * and `graview check` names a kind or place it cannot find.
172
+ */
173
+ readonly pages?: PagesArrangement;
135
174
  /**
136
175
  * Who may run what. Declared on the app so `graview check` can read it —
137
176
  * a mutation no role can ever run and a role that may do nothing are both
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":"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"}
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AA0QA;;;;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":"AAiTA;;;;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,5 @@
1
+ export { compileBlocks, fieldSpecsOf, isTallBlock, resolveBlocks, safeHref, sayNumber } from "./document/blocks.js";
2
+ export type { BlockContext, ResolvedBlock, ResolvedList, SpecBlock } from "./document/blocks.js";
3
+ export { computedNames, computedValues, withComputed } from "./document/computed-values.js";
4
+ export type { ComputedRecord, ComputedValues, PlainComputed } from "./document/computed-values.js";
5
+ //# sourceMappingURL=blocks.d.ts.map
@@ -0,0 +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,MAAM,sBAAsB,CAAC;AACpH,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjG,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"}
package/dist/blocks.js ADDED
@@ -0,0 +1,14 @@
1
+ /*
2
+ * `@graview/core/blocks` — a view's blocks resolved against a record, and
3
+ * the computed values they read.
4
+ *
5
+ * An entry of its own, not part of `@graview/core/document`: a hosted page
6
+ * imports that barrel up front to compile its document, and a bundler
7
+ * places a whole module in every chunk that can reach it — so a resolver
8
+ * only the faces call, once they are fetched to draw, rode in what every
9
+ * hosted page loads first. The views that draw blocks, the pages and an
10
+ * agent's seat import it from here, and it loads when they do.
11
+ */
12
+ export { compileBlocks, fieldSpecsOf, isTallBlock, resolveBlocks, safeHref, sayNumber } from "./document/blocks.js";
13
+ export { computedNames, computedValues, withComputed } from "./document/computed-values.js";
14
+ //# sourceMappingURL=blocks.js.map
@@ -0,0 +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,MAAM,sBAAsB,CAAC;AAEpH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,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"];
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"];
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,CAAU,CAAC;AAEtsB;;;;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":"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,CAAU,CAAC;AAEt7B;;;;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"}
@@ -0,0 +1,8 @@
1
+ export { checkApp, formatFindings } from "./cli/check.js";
2
+ export type { CheckResult, Finding, Severity } from "./cli/check.js";
3
+ export { compileDocument } from "./document/compile-checked.js";
4
+ export { instantiateTemplate } from "./document/instantiate-template.js";
5
+ export { describeApp } from "./cli/describe.js";
6
+ export type { DescribeOptions } from "./cli/describe.js";
7
+ export { generateAgentsMd, generateLlmsTxt } from "./cli/docs.js";
8
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +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,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"}
package/dist/check.js ADDED
@@ -0,0 +1,19 @@
1
+ /*
2
+ * `@graview/core/check` — the checker, and the app read out in words: what
3
+ * `graview check`, `graview describe` and `graview docs` say of a
4
+ * declaration, and a document or a template compiled WITH the checker.
5
+ *
6
+ * An entry of its own, not part of `@graview/core` or
7
+ * `@graview/core/document`: a hosted page imports both barrels up front, and
8
+ * a bundler places a whole module in every chunk that can reach it — so the
9
+ * checker's reach (the city, the figures, the order things are made in)
10
+ * rode in what every hosted page loads first, though the page compiles with
11
+ * `compileDocumentWithoutCheck` and never asks for a verdict. A host, the
12
+ * command line and a test import the checker from here.
13
+ */
14
+ export { checkApp, formatFindings } from "./cli/check.js";
15
+ export { compileDocument } from "./document/compile-checked.js";
16
+ export { instantiateTemplate } from "./document/instantiate-template.js";
17
+ export { describeApp } from "./cli/describe.js";
18
+ export { generateAgentsMd, generateLlmsTxt } from "./cli/docs.js";
19
+ //# sourceMappingURL=check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"arrangement.d.ts","sourceRoot":"","sources":["../../../src/cli/check/arrangement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA6ChF"}
1
+ {"version":3,"file":"arrangement.d.ts","sourceRoot":"","sources":["../../../src/cli/check/arrangement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA6ChF"}
@@ -1,4 +1,5 @@
1
1
  import { admitArrangement, arrangeable, parseArrangement } from "../../arrange.js";
2
+ import { bindsOf } from "../../places.js";
2
3
  /**
3
4
  * WHAT A KIND SAYS IT IS ARRANGED BY has to be something it has.
4
5
  *
@@ -35,7 +36,7 @@ export function checkArrangement(ctx) {
35
36
  */
36
37
  const bound = new Set();
37
38
  for (const [key, binding] of Object.entries(lens.bindings ?? {})) {
38
- if (lens.binds === "entities") {
39
+ if (bindsOf(lens) === "entities") {
39
40
  const kind = binding.kind;
40
41
  if (typeof kind === "string")
41
42
  bound.add(kind);
@@ -53,7 +54,7 @@ export function checkArrangement(ctx) {
53
54
  add({
54
55
  severity: "note",
55
56
  code: "lens-arrangement-unknown",
56
- where: `lens "${lens.name}" arrangedBy`,
57
+ where: `lens "${lens.title ?? lens.name}" arrangedBy`,
57
58
  message: `The lens opens arranged by "${part}", and none of ${[...bound].join(", ")} can be arranged that way — the picture will open unarranged there.`,
58
59
  fix: `Name a field, an edge or \`is\` the bound kind has; \`graview describe\` lists what each kind can be arranged by.`,
59
60
  });
@@ -1 +1 @@
1
- {"version":3,"file":"arrangement.js","sourceRoot":"","sources":["../../../src/cli/check/arrangement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arrangement.js","sourceRoot":"","sources":["../../../src/cli/check/arrangement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEnF,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAsB,GAAoB;IACxE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IACzB,KAAK,MAAM,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAC;QACzE,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,IAAI,KAAK;YAAE,SAAS;QAClD,GAAG,CAAC;YACF,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,eAAe,UAAU,CAAC,IAAI,qBAAqB;YAC1D,OAAO,EAAE,IAAI,UAAU,CAAC,IAAI,uBAAuB,KAAK,iDAAiD;YACzG,GAAG,EAAE,yBAAyB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,eAAe;SAC3F,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,SAAS;QAC/B;;;;WAIG;QACH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;YACjE,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAI,OAA8B,CAAC,IAAI,CAAC;gBAClD,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;YAAE,SAAS;QAC/B,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACzG,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3H,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC;gBACF,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,0BAA0B;gBAChC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,cAAc;gBACrD,OAAO,EAAE,+BAA+B,IAAI,kBAAkB,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qEAAqE;gBACxJ,GAAG,EAAE,mHAAmH;aACzH,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../../src/cli/check/brand.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,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA2B5E;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA2H5E"}
1
+ {"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../../src/cli/check/brand.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,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA+C5E;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA2H5E"}
@@ -27,6 +27,27 @@ export function checkAccents(ctx) {
27
27
  });
28
28
  }
29
29
  }
30
+ /*
31
+ * THE APP'S MONEY (FR-100). A currency or a locale the runtime cannot
32
+ * format with is said as a plain number everywhere — a brand decision
33
+ * that looks applied and is not — so it is refused here by name.
34
+ */
35
+ const { currency, locale } = app.brand ?? {};
36
+ const formats = (options, at) => {
37
+ try {
38
+ new Intl.NumberFormat(at ?? "en-US", options);
39
+ return true;
40
+ }
41
+ catch {
42
+ return false;
43
+ }
44
+ };
45
+ if (currency !== undefined && (!/^[A-Z]{3}$/.test(currency) || !formats({ style: "currency", currency }))) {
46
+ add({ severity: "error", code: "brand-currency", where: "brand.currency", message: `"${currency}" is not a currency's three-letter code, so money would be said with no symbol.`, fix: 'Use an ISO 4217 code, like "USD", "EUR" or "GBP".' });
47
+ }
48
+ if (locale !== undefined && !formats({}, locale)) {
49
+ add({ severity: "error", code: "brand-locale", where: "brand.locale", message: `"${locale}" is not a locale, so money could not be written for it.`, fix: 'Use a language tag, like "en-US" or "de-DE".' });
50
+ }
30
51
  }
31
52
  export function checkPalette(ctx) {
32
53
  const { app, kinds, add } = ctx;
@@ -1 +1 @@
1
- {"version":3,"file":"brand.js","sourceRoot":"","sources":["../../../src/cli/check/brand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brand.js","sourceRoot":"","sources":["../../../src/cli/check/brand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { AnySchema } from "../../schema/schema.js";
2
+ import type { CheckContext } from "./context.js";
3
+ /**
4
+ * COMPUTED FIELDS, HELD TO THE DECLARATION (FR-83).
5
+ *
6
+ * `defineNode({ computed: { net: "…" } })` is asked what a document's
7
+ * `kinds.<kind>.computed` is asked, in the same words: a name that is
8
+ * already a field or relation, an expression that does not parse or names
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.
12
+ */
13
+ export declare function checkComputed<S extends AnySchema>(ctx: CheckContext<S>): void;
14
+ //# sourceMappingURL=computed.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,34 @@
1
+ import { computedOf, validateComputed } from "../../document/computed.js";
2
+ import { documentOf } from "../../document/to-document.js";
3
+ /**
4
+ * COMPUTED FIELDS, HELD TO THE DECLARATION (FR-83).
5
+ *
6
+ * `defineNode({ computed: { net: "…" } })` is asked what a document's
7
+ * `kinds.<kind>.computed` is asked, in the same words: a name that is
8
+ * already a field or relation, an expression that does not parse or names
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.
12
+ */
13
+ export function checkComputed(ctx) {
14
+ const { app, add } = ctx;
15
+ if (documentOf(app))
16
+ return;
17
+ const kinds = new Map();
18
+ for (const kind of app.schema.kinds) {
19
+ const definition = app.schema.tryDefinition(kind);
20
+ kinds.set(kind, { fields: new Set(Object.keys(definition?.fields?.shape ?? {})), edges: new Set(Object.keys(definition?.edges ?? {})), computed: computedOf(definition) });
21
+ }
22
+ if (![...kinds.values()].some((k) => k.computed.size > 0))
23
+ return;
24
+ for (const finding of validateComputed(kinds, (kind, name) => `defineNode("${kind}").computed.${name}`)) {
25
+ add({
26
+ severity: finding.severity,
27
+ code: finding.code,
28
+ where: finding.path,
29
+ message: finding.message,
30
+ fix: finding.fix ?? "Work it out from the kind's own fields and relations, in the rule language.",
31
+ });
32
+ }
33
+ }
34
+ //# sourceMappingURL=computed.js.map
@@ -0,0 +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"}
@@ -0,0 +1,4 @@
1
+ import type { AnySchema } from "../../schema/schema.js";
2
+ import type { CheckContext } from "./context.js";
3
+ export declare function checkHiddenReads<S extends AnySchema>(ctx: CheckContext<S>): void;
4
+ //# sourceMappingURL=hidden-reads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hidden-reads.d.ts","sourceRoot":"","sources":["../../../src/cli/check/hidden-reads.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAyHjD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAqChF"}
@@ -0,0 +1,152 @@
1
+ import { documentOf } from "../../document/to-document.js";
2
+ import { parseExpr } from "../../document/expr/parse.js";
3
+ import { perMember } from "../../document/expr/analyze.js";
4
+ import { parseTemplate } from "../../document/template.js";
5
+ import { nodeRefKinds } from "../../mutations/node-ref.js";
6
+ import { withArticle } from "../../schema/define-node.js";
7
+ import { permits, rolesOf } from "../../permissions/policy.js";
8
+ /** The kinds an expression reads, standing on `from`: swept, walked to, or read by a relation's name. */
9
+ function kindsRead(expr, from, schema, into, why) {
10
+ const definition = (kind) => schema.tryDefinition(kind);
11
+ const targets = (kinds, edge) => kinds.flatMap((kind) => {
12
+ const to = definition(kind)?.edges?.[edge]?.to;
13
+ return to === "*" ? [...schema.kinds] : [...(to ?? [])];
14
+ });
15
+ const sources = (edge) => schema.kinds.filter((kind) => definition(kind)?.edges?.[edge]);
16
+ const note = (kinds) => kinds.forEach((kind) => into.has(kind) || into.set(kind, why));
17
+ const every = schema.kinds;
18
+ const visit = (e, at) => {
19
+ switch (e.t) {
20
+ case "ident": {
21
+ const reached = targets(at, e.name);
22
+ note(reached);
23
+ return reached;
24
+ }
25
+ case "member": {
26
+ const reached = targets(visit(e.object, at), e.name);
27
+ note(reached);
28
+ return reached;
29
+ }
30
+ case "where": {
31
+ const set = visit(e.set, at);
32
+ visit(e.filter, set);
33
+ return set;
34
+ }
35
+ case "list":
36
+ e.items.forEach((x) => visit(x, at));
37
+ return [];
38
+ case "unary":
39
+ visit(e.operand, at);
40
+ return [];
41
+ case "binary":
42
+ return [...visit(e.left, at), ...visit(e.right, at)];
43
+ case "call": {
44
+ const word = (i) => (e.args[i]?.t === "lit" && typeof e.args[i].value === "string" ? (e.args[i].value) : undefined);
45
+ let reached = [];
46
+ if (e.fn === "all" && word(0))
47
+ reached = [word(0)];
48
+ else if ((e.fn === "out" || e.fn === "in") && word(e.args.length === 2 ? 1 : 0)) {
49
+ // A walk from the record, or from every member of a set (FR-101).
50
+ const edge = word(e.args.length === 2 ? 1 : 0);
51
+ const from = e.args.length === 2 ? visit(e.args[0], at) : at;
52
+ reached = e.fn === "out" ? targets(from, edge) : sources(edge);
53
+ }
54
+ else {
55
+ const set = e.args[0] ? visit(e.args[0], at) : [];
56
+ e.args.slice(1).forEach((x, i) => visit(x, perMember(e, i + 1) ? (set.length > 0 ? set : every) : at));
57
+ return e.fn === "first" || e.fn === "sort" || e.fn === "either" ? set : [];
58
+ }
59
+ note(reached);
60
+ return reached;
61
+ }
62
+ default:
63
+ return [];
64
+ }
65
+ };
66
+ visit(expr, from);
67
+ }
68
+ /** What a document's act reads, by kind, and where: its condition, its refusal, its sets and effects. */
69
+ function documentActReads(act, schema) {
70
+ const reads = new Map();
71
+ const on = act["on"];
72
+ const from = typeof on === "string" ? [on] : Array.isArray(on) ? on : [];
73
+ const read = (source, why) => {
74
+ if (typeof source !== "string")
75
+ return;
76
+ try {
77
+ kindsRead(parseExpr(source), from, schema, reads, why);
78
+ }
79
+ catch {
80
+ // An expression that does not parse is the compile's to refuse.
81
+ }
82
+ };
83
+ read(act["allowedWhen"], "its condition");
84
+ if (typeof act["refusal"] === "string") {
85
+ try {
86
+ for (const part of parseTemplate(act["refusal"]))
87
+ if (part.source)
88
+ read(part.source, "its refusal");
89
+ }
90
+ catch {
91
+ // As above.
92
+ }
93
+ }
94
+ const values = (set, why) => {
95
+ if (set && typeof set === "object")
96
+ for (const value of Object.values(set))
97
+ if (value && typeof value === "object" && "expr" in value)
98
+ read(value.expr, why);
99
+ };
100
+ values(act["sets"], "a value it sets");
101
+ for (const effect of act["effects"] ?? [])
102
+ values(effect.set, "a value it sets");
103
+ return reads;
104
+ }
105
+ export function checkHiddenReads(ctx) {
106
+ const { app, declaredMutations, add } = ctx;
107
+ const sights = app.policy?.sees ?? [];
108
+ if (!app.policy || sights.length === 0)
109
+ return;
110
+ const schema = app.schema;
111
+ const acts = (documentOf(app)?.acts ?? {});
112
+ /** A role sees a kind when some sight names it for the role, and not only where it is the role's own. */
113
+ const sees = (role, kind) => sights.some((sight) => sight.kinds.includes(kind) && (sight.roles === "*" || sight.roles.includes(role)));
114
+ const roles = [...new Set([...rolesOf(app.policy), ...sights.flatMap((sight) => (sight.roles === "*" ? [] : sight.roles))])].sort();
115
+ for (const mutation of declaredMutations) {
116
+ const reads = Object.prototype.hasOwnProperty.call(acts, mutation.name) ? documentActReads(acts[mutation.name], schema) : new Map();
117
+ for (const kind of mutation.reads ?? [])
118
+ if (!reads.has(kind))
119
+ reads.set(kind, "what it declares it reads");
120
+ const shape = mutation.input.shape ?? {};
121
+ for (const [arg, field] of Object.entries(shape)) {
122
+ if (arg === mutation.subject?.arg)
123
+ continue;
124
+ for (const kind of nodeRefKinds(field) ?? [])
125
+ if (kind !== "*" && !reads.has(kind))
126
+ reads.set(kind, `its argument "${arg}"`);
127
+ }
128
+ if (reads.size === 0)
129
+ continue;
130
+ const subjects = mutation.subject && mutation.subject.kinds !== "*" ? mutation.subject.kinds : [undefined];
131
+ for (const role of roles) {
132
+ const runs = subjects.some((kind) => permits(app.policy, { kind: "human", id: "themselves", roles: [role] }, mutation.name, kind, undefined, "themselves").ok);
133
+ if (!runs)
134
+ continue;
135
+ for (const [kind, why] of reads) {
136
+ if (sees(role, kind))
137
+ continue;
138
+ const argument = why.startsWith("its argument");
139
+ add({
140
+ severity: "warning",
141
+ code: "act-reads-hidden-kind",
142
+ where: mutation.name,
143
+ message: argument
144
+ ? `"${mutation.name}" asks for ${kind} records (${why}), and "${role}" may run it but may not see one, so "${role}" can never give one: the store refuses it as missing.`
145
+ : `"${mutation.name}" reads ${kind} records (${why}), which "${role}" may run it but may not see: whether it is allowed, what it refuses with or what it writes can tell "${role}" that ${withArticle(kind)} they cannot see exists.`,
146
+ fix: `Let "${role}" see ${kind}, keep "${mutation.name}" from "${role}", or have it read only what "${role}" sees.`,
147
+ });
148
+ }
149
+ }
150
+ }
151
+ }
152
+ //# sourceMappingURL=hidden-reads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hidden-reads.js","sourceRoot":"","sources":["../../../src/cli/check/hidden-reads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAa,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAkC/D,yGAAyG;AACzG,SAAS,SAAS,CAAC,IAAU,EAAE,IAAuB,EAAE,MAAiB,EAAE,IAAyB,EAAE,GAAW;IAC/G,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAA6E,CAAC;IAC5I,MAAM,OAAO,GAAG,CAAC,KAAwB,EAAE,IAAY,EAAY,EAAE,CACnE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAC/C,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAI,MAAM,CAAC,KAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IACL,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAAE,MAAM,CAAC,KAA2B,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACxH,MAAM,IAAI,GAAG,CAAC,KAAwB,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1G,MAAM,KAAK,GAAG,MAAM,CAAC,KAA0B,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,CAAO,EAAE,EAAqB,EAAqB,EAAE;QAClE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACZ,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACd,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,CAAC,OAAO,CAAC,CAAC;gBACd,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC7B,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACrB,OAAO,GAAG,CAAC;YACb,CAAC;YACD,KAAK,MAAM;gBACT,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACrC,OAAO,EAAE,CAAC;YACZ,KAAK,OAAO;gBACV,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,KAAK,QAAQ;gBACX,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;YACvD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,OAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAwB,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC3K,IAAI,OAAO,GAAsB,EAAE,CAAC;gBACpC,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;oBAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;qBAC/C,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChF,kEAAkE;oBAClE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;oBAChD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9D,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjE,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACvG,OAAO,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,CAAC;gBACd,OAAO,OAAO,CAAC;YACjB,CAAC;YACD;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACpB,CAAC;AAED,yGAAyG;AACzG,SAAS,gBAAgB,CAAC,GAA4B,EAAE,MAAiB;IACvE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,IAAI,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,EAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,MAAM,IAAI,GAAG,CAAC,MAAe,EAAE,GAAW,EAAE,EAAE;QAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO;QACvC,IAAI,CAAC;YACH,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC;IAC1C,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAAE,IAAI,IAAI,CAAC,MAAM;oBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACtG,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAY,EAAE,GAAW,EAAE,EAAE;QAC3C,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;gBAAE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;oBAAE,IAAI,CAAE,KAA2B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtL,CAAC,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACvC,KAAK,MAAM,MAAM,IAAK,GAAG,CAAC,SAAS,CAA2B,IAAI,EAAE;QAAE,MAAM,CAAE,MAA4B,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACnI,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAsB,GAAoB;IACxE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAmB,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAA4C,CAAC;IACtF,yGAAyG;IACzG,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvJ,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpI,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAkB,CAAC;QACrJ,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,EAAE;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;QAC5G,MAAM,KAAK,GAAI,QAAQ,CAAC,KAA6C,CAAC,KAAK,IAAI,EAAE,CAAC;QAClF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,GAAG,KAAK,QAAQ,CAAC,OAAO,EAAE,GAAG;gBAAE,SAAS;YAC5C,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE;gBAAE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,GAAG,GAAG,CAAC,CAAC;QAC/H,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;YAAE,SAAS;QAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAE,QAAQ,CAAC,OAAO,CAAC,KAA2B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClI,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/J,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;oBAAE,SAAS;gBAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAChD,GAAG,CAAC;oBACF,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,uBAAuB;oBAC7B,KAAK,EAAE,QAAQ,CAAC,IAAI;oBACpB,OAAO,EAAE,QAAQ;wBACf,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,cAAc,IAAI,aAAa,GAAG,WAAW,IAAI,yCAAyC,IAAI,wDAAwD;wBACzK,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,WAAW,IAAI,aAAa,GAAG,aAAa,IAAI,yGAAyG,IAAI,UAAU,WAAW,CAAC,IAAI,CAAC,0BAA0B;oBACvO,GAAG,EAAE,QAAQ,IAAI,SAAS,IAAI,WAAW,QAAQ,CAAC,IAAI,WAAW,IAAI,iCAAiC,IAAI,SAAS;iBACpH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -12,4 +12,6 @@ export * from "./fields.js";
12
12
  export * from "./policy.js";
13
13
  export * from "./arrangement.js";
14
14
  export * from "./views.js";
15
+ export * from "./computed.js";
16
+ export * from "./hidden-reads.js";
15
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/check/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/check/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
@@ -12,4 +12,6 @@ export * from "./fields.js";
12
12
  export * from "./policy.js";
13
13
  export * from "./arrangement.js";
14
14
  export * from "./views.js";
15
+ export * from "./computed.js";
16
+ export * from "./hidden-reads.js";
15
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/check/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/check/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}