@graview/core 0.1.60 → 0.1.62

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 (307) hide show
  1. package/README.md +23 -1
  2. package/dist/app-places.d.ts.map +1 -1
  3. package/dist/app-places.js +2 -2
  4. package/dist/app-places.js.map +1 -1
  5. package/dist/app.d.ts +10 -0
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js.map +1 -1
  8. package/dist/arrangement.d.ts +2 -0
  9. package/dist/arrangement.d.ts.map +1 -1
  10. package/dist/arrangement.js +14 -0
  11. package/dist/arrangement.js.map +1 -1
  12. package/dist/capabilities.js +1 -1
  13. package/dist/capabilities.js.map +1 -1
  14. package/dist/catalog.d.ts.map +1 -1
  15. package/dist/catalog.js +2 -1
  16. package/dist/catalog.js.map +1 -1
  17. package/dist/cli/check/context.d.ts +5 -0
  18. package/dist/cli/check/context.d.ts.map +1 -1
  19. package/dist/cli/check/context.js.map +1 -1
  20. package/dist/cli/check/face.d.ts +14 -0
  21. package/dist/cli/check/face.d.ts.map +1 -0
  22. package/dist/cli/check/face.js +161 -0
  23. package/dist/cli/check/face.js.map +1 -0
  24. package/dist/cli/check/hidden-reads.d.ts.map +1 -1
  25. package/dist/cli/check/hidden-reads.js +26 -0
  26. package/dist/cli/check/hidden-reads.js.map +1 -1
  27. package/dist/cli/check/index.d.ts +1 -0
  28. package/dist/cli/check/index.d.ts.map +1 -1
  29. package/dist/cli/check/index.js +1 -0
  30. package/dist/cli/check/index.js.map +1 -1
  31. package/dist/cli/check/tidying.d.ts +14 -0
  32. package/dist/cli/check/tidying.d.ts.map +1 -0
  33. package/dist/cli/check/tidying.js +24 -0
  34. package/dist/cli/check/tidying.js.map +1 -0
  35. package/dist/cli/check.d.ts.map +1 -1
  36. package/dist/cli/check.js +4 -4
  37. package/dist/cli/check.js.map +1 -1
  38. package/dist/cli/describe.d.ts.map +1 -1
  39. package/dist/cli/describe.js +14 -1
  40. package/dist/cli/describe.js.map +1 -1
  41. package/dist/cli/docs.d.ts.map +1 -1
  42. package/dist/cli/docs.js +5 -3
  43. package/dist/cli/docs.js.map +1 -1
  44. package/dist/cli/document-schema.d.ts.map +1 -1
  45. package/dist/cli/document-schema.js +8 -2
  46. package/dist/cli/document-schema.js.map +1 -1
  47. package/dist/cli/index.d.ts +2 -1
  48. package/dist/cli/index.d.ts.map +1 -1
  49. package/dist/cli/index.js +15 -4
  50. package/dist/cli/index.js.map +1 -1
  51. package/dist/cli/types.d.ts.map +1 -1
  52. package/dist/cli/types.js +2 -1
  53. package/dist/cli/types.js.map +1 -1
  54. package/dist/compose.d.ts +14 -0
  55. package/dist/compose.d.ts.map +1 -1
  56. package/dist/compose.js +16 -1
  57. package/dist/compose.js.map +1 -1
  58. package/dist/css/sanitize.d.ts +125 -0
  59. package/dist/css/sanitize.d.ts.map +1 -0
  60. package/dist/css/sanitize.js +989 -0
  61. package/dist/css/sanitize.js.map +1 -0
  62. package/dist/css/tables.d.ts +55 -0
  63. package/dist/css/tables.d.ts.map +1 -0
  64. package/dist/css/tables.js +137 -0
  65. package/dist/css/tables.js.map +1 -0
  66. package/dist/css.d.ts +20 -0
  67. package/dist/css.d.ts.map +1 -0
  68. package/dist/css.js +19 -0
  69. package/dist/css.js.map +1 -0
  70. package/dist/days.d.ts +15 -0
  71. package/dist/days.d.ts.map +1 -1
  72. package/dist/days.js +21 -0
  73. package/dist/days.js.map +1 -1
  74. package/dist/describe.d.ts +1 -1
  75. package/dist/describe.d.ts.map +1 -1
  76. package/dist/document/act-findings.d.ts.map +1 -1
  77. package/dist/document/act-findings.js +80 -1
  78. package/dist/document/act-findings.js.map +1 -1
  79. package/dist/document/blocks.d.ts.map +1 -1
  80. package/dist/document/blocks.js +2 -1
  81. package/dist/document/blocks.js.map +1 -1
  82. package/dist/document/brand-check.d.ts +15 -1
  83. package/dist/document/brand-check.d.ts.map +1 -1
  84. package/dist/document/brand-check.js +80 -0
  85. package/dist/document/brand-check.js.map +1 -1
  86. package/dist/document/brand.d.ts.map +1 -1
  87. package/dist/document/brand.js +2 -0
  88. package/dist/document/brand.js.map +1 -1
  89. package/dist/document/compile-checked.d.ts.map +1 -1
  90. package/dist/document/compile-checked.js +4 -3
  91. package/dist/document/compile-checked.js.map +1 -1
  92. package/dist/document/compile.d.ts.map +1 -1
  93. package/dist/document/compile.js +54 -9
  94. package/dist/document/compile.js.map +1 -1
  95. package/dist/document/compiled.d.ts +18 -3
  96. package/dist/document/compiled.d.ts.map +1 -1
  97. package/dist/document/compiled.js +91 -10
  98. package/dist/document/compiled.js.map +1 -1
  99. package/dist/document/connection-findings.d.ts.map +1 -1
  100. package/dist/document/connection-findings.js +219 -19
  101. package/dist/document/connection-findings.js.map +1 -1
  102. package/dist/document/connection-spec.d.ts +7 -0
  103. package/dist/document/connection-spec.d.ts.map +1 -1
  104. package/dist/document/connection-spec.js +26 -2
  105. package/dist/document/connection-spec.js.map +1 -1
  106. package/dist/document/covers.d.ts +48 -0
  107. package/dist/document/covers.d.ts.map +1 -0
  108. package/dist/document/covers.js +90 -0
  109. package/dist/document/covers.js.map +1 -0
  110. package/dist/document/describe-place.d.ts +3 -0
  111. package/dist/document/describe-place.d.ts.map +1 -1
  112. package/dist/document/describe-place.js +11 -0
  113. package/dist/document/describe-place.js.map +1 -1
  114. package/dist/document/described.d.ts +28 -0
  115. package/dist/document/described.d.ts.map +1 -1
  116. package/dist/document/diff.js +10 -1
  117. package/dist/document/diff.js.map +1 -1
  118. package/dist/document/edit.d.ts +1 -1
  119. package/dist/document/edit.d.ts.map +1 -1
  120. package/dist/document/edit.js +186 -18
  121. package/dist/document/edit.js.map +1 -1
  122. package/dist/document/expr/evaluate.d.ts +10 -1
  123. package/dist/document/expr/evaluate.d.ts.map +1 -1
  124. package/dist/document/expr/evaluate.js +110 -2
  125. package/dist/document/expr/evaluate.js.map +1 -1
  126. package/dist/document/expr/index.d.ts +1 -0
  127. package/dist/document/expr/index.d.ts.map +1 -1
  128. package/dist/document/expr/index.js +2 -0
  129. package/dist/document/expr/index.js.map +1 -1
  130. package/dist/document/expr/typing.d.ts +24 -0
  131. package/dist/document/expr/typing.d.ts.map +1 -0
  132. package/dist/document/expr/typing.js +219 -0
  133. package/dist/document/expr/typing.js.map +1 -0
  134. package/dist/document/expr/when.d.ts +52 -0
  135. package/dist/document/expr/when.d.ts.map +1 -0
  136. package/dist/document/expr/when.js +215 -0
  137. package/dist/document/expr/when.js.map +1 -0
  138. package/dist/document/expr-type-findings.d.ts +5 -0
  139. package/dist/document/expr-type-findings.d.ts.map +1 -0
  140. package/dist/document/expr-type-findings.js +90 -0
  141. package/dist/document/expr-type-findings.js.map +1 -0
  142. package/dist/document/field-spec.d.ts.map +1 -1
  143. package/dist/document/field-spec.js +5 -0
  144. package/dist/document/field-spec.js.map +1 -1
  145. package/dist/document/findings.d.ts +33 -2
  146. package/dist/document/findings.d.ts.map +1 -1
  147. package/dist/document/findings.js +14 -17
  148. package/dist/document/findings.js.map +1 -1
  149. package/dist/document/index.d.ts +6 -3
  150. package/dist/document/index.d.ts.map +1 -1
  151. package/dist/document/index.js +5 -2
  152. package/dist/document/index.js.map +1 -1
  153. package/dist/document/linked-findings.js +1 -1
  154. package/dist/document/linked-findings.js.map +1 -1
  155. package/dist/document/migrate.d.ts.map +1 -1
  156. package/dist/document/migrate.js +10 -4
  157. package/dist/document/migrate.js.map +1 -1
  158. package/dist/document/rule-line.d.ts +7 -3
  159. package/dist/document/rule-line.d.ts.map +1 -1
  160. package/dist/document/rule-line.js +17 -2
  161. package/dist/document/rule-line.js.map +1 -1
  162. package/dist/document/rule-reads.d.ts.map +1 -1
  163. package/dist/document/rule-reads.js +3 -1
  164. package/dist/document/rule-reads.js.map +1 -1
  165. package/dist/document/rules.d.ts +30 -0
  166. package/dist/document/rules.d.ts.map +1 -1
  167. package/dist/document/rules.js +74 -0
  168. package/dist/document/rules.js.map +1 -1
  169. package/dist/document/schema.d.ts +80 -2
  170. package/dist/document/schema.d.ts.map +1 -1
  171. package/dist/document/schema.js +90 -4
  172. package/dist/document/schema.js.map +1 -1
  173. package/dist/document/to-document.d.ts.map +1 -1
  174. package/dist/document/to-document.js +3 -1
  175. package/dist/document/to-document.js.map +1 -1
  176. package/dist/document.schema.json +304 -5
  177. package/dist/formats.d.ts +21 -13
  178. package/dist/formats.d.ts.map +1 -1
  179. package/dist/formats.js +21 -13
  180. package/dist/formats.js.map +1 -1
  181. package/dist/import/coerce.d.ts.map +1 -1
  182. package/dist/import/coerce.js +16 -4
  183. package/dist/import/coerce.js.map +1 -1
  184. package/dist/index.d.ts +6 -5
  185. package/dist/index.d.ts.map +1 -1
  186. package/dist/index.js +5 -3
  187. package/dist/index.js.map +1 -1
  188. package/dist/invariants/types.d.ts +7 -2
  189. package/dist/invariants/types.d.ts.map +1 -1
  190. package/dist/kind-list.d.ts +1 -0
  191. package/dist/kind-list.d.ts.map +1 -1
  192. package/dist/kind-list.js +2 -1
  193. package/dist/kind-list.js.map +1 -1
  194. package/dist/lines.d.ts.map +1 -1
  195. package/dist/lines.js +6 -2
  196. package/dist/lines.js.map +1 -1
  197. package/dist/mutations/form.d.ts +2 -0
  198. package/dist/mutations/form.d.ts.map +1 -1
  199. package/dist/mutations/form.js +6 -3
  200. package/dist/mutations/form.js.map +1 -1
  201. package/dist/mutations/types.d.ts +9 -0
  202. package/dist/mutations/types.d.ts.map +1 -1
  203. package/dist/mutations/vote-suggestion.d.ts +67 -0
  204. package/dist/mutations/vote-suggestion.d.ts.map +1 -0
  205. package/dist/mutations/vote-suggestion.js +36 -0
  206. package/dist/mutations/vote-suggestion.js.map +1 -0
  207. package/dist/navigate.d.ts +7 -3
  208. package/dist/navigate.d.ts.map +1 -1
  209. package/dist/navigate.js +7 -3
  210. package/dist/navigate.js.map +1 -1
  211. package/dist/ops/lineage.d.ts +11 -1
  212. package/dist/ops/lineage.d.ts.map +1 -1
  213. package/dist/ops/lineage.js +6 -2
  214. package/dist/ops/lineage.js.map +1 -1
  215. package/dist/ops/suggestions.d.ts +33 -1
  216. package/dist/ops/suggestions.d.ts.map +1 -1
  217. package/dist/ops/suggestions.js +44 -2
  218. package/dist/ops/suggestions.js.map +1 -1
  219. package/dist/ops/types.d.ts +13 -0
  220. package/dist/ops/types.d.ts.map +1 -1
  221. package/dist/ops/types.js.map +1 -1
  222. package/dist/place-names.d.ts +42 -0
  223. package/dist/place-names.d.ts.map +1 -0
  224. package/dist/place-names.js +43 -0
  225. package/dist/place-names.js.map +1 -0
  226. package/dist/places.d.ts +2 -0
  227. package/dist/places.d.ts.map +1 -1
  228. package/dist/places.js +2 -0
  229. package/dist/places.js.map +1 -1
  230. package/dist/scaffold/agents.d.ts +9 -1
  231. package/dist/scaffold/agents.d.ts.map +1 -1
  232. package/dist/scaffold/agents.js +33 -2
  233. package/dist/scaffold/agents.js.map +1 -1
  234. package/dist/scaffold/project.js +1 -1
  235. package/dist/schema/choice-words.d.ts.map +1 -1
  236. package/dist/schema/choice-words.js +3 -0
  237. package/dist/schema/choice-words.js.map +1 -1
  238. package/dist/starting-document.d.ts +73 -0
  239. package/dist/starting-document.d.ts.map +1 -0
  240. package/dist/starting-document.js +645 -0
  241. package/dist/starting-document.js.map +1 -0
  242. package/dist/store.d.ts +50 -0
  243. package/dist/store.d.ts.map +1 -1
  244. package/dist/store.js +167 -27
  245. package/dist/store.js.map +1 -1
  246. package/dist/sync/connection.d.ts +20 -1
  247. package/dist/sync/connection.d.ts.map +1 -1
  248. package/dist/sync/connection.js +198 -34
  249. package/dist/sync/connection.js.map +1 -1
  250. package/dist/sync/engine.d.ts +13 -4
  251. package/dist/sync/engine.d.ts.map +1 -1
  252. package/dist/sync/engine.js +10 -6
  253. package/dist/sync/engine.js.map +1 -1
  254. package/dist/sync/google-calendar.d.ts +8 -0
  255. package/dist/sync/google-calendar.d.ts.map +1 -1
  256. package/dist/sync/google-calendar.js +16 -4
  257. package/dist/sync/google-calendar.js.map +1 -1
  258. package/dist/sync/guests.d.ts +44 -0
  259. package/dist/sync/guests.d.ts.map +1 -0
  260. package/dist/sync/guests.js +57 -0
  261. package/dist/sync/guests.js.map +1 -0
  262. package/dist/sync/notion-types.d.ts +7 -0
  263. package/dist/sync/notion-types.d.ts.map +1 -1
  264. package/dist/sync/notion-types.js +6 -1
  265. package/dist/sync/notion-types.js.map +1 -1
  266. package/dist/sync/recurrence.d.ts +41 -0
  267. package/dist/sync/recurrence.d.ts.map +1 -0
  268. package/dist/sync/recurrence.js +192 -0
  269. package/dist/sync/recurrence.js.map +1 -0
  270. package/dist/sync/types.d.ts +9 -0
  271. package/dist/sync/types.d.ts.map +1 -1
  272. package/dist/sync/types.js.map +1 -1
  273. package/dist/testing.js +1 -1
  274. package/dist/testing.js.map +1 -1
  275. package/dist/theme/contrast.d.ts +2 -0
  276. package/dist/theme/contrast.d.ts.map +1 -1
  277. package/dist/theme/contrast.js +4 -0
  278. package/dist/theme/contrast.js.map +1 -1
  279. package/dist/theme/ground.d.ts +1 -2
  280. package/dist/theme/ground.d.ts.map +1 -1
  281. package/dist/theme/ground.js +2 -5
  282. package/dist/theme/ground.js.map +1 -1
  283. package/dist/theme/marks.d.ts +14 -2
  284. package/dist/theme/marks.d.ts.map +1 -1
  285. package/dist/theme/marks.js +20 -3
  286. package/dist/theme/marks.js.map +1 -1
  287. package/dist/theme/types.d.ts +22 -0
  288. package/dist/theme/types.d.ts.map +1 -1
  289. package/dist/theme/types.js.map +1 -1
  290. package/dist/tidying.d.ts +30 -4
  291. package/dist/tidying.d.ts.map +1 -1
  292. package/dist/tidying.js +110 -5
  293. package/dist/tidying.js.map +1 -1
  294. package/dist/trait-vocabulary.d.ts +17 -0
  295. package/dist/trait-vocabulary.d.ts.map +1 -0
  296. package/dist/trait-vocabulary.js +16 -0
  297. package/dist/trait-vocabulary.js.map +1 -0
  298. package/dist/traits.d.ts +79 -0
  299. package/dist/traits.d.ts.map +1 -0
  300. package/dist/traits.js +468 -0
  301. package/dist/traits.js.map +1 -0
  302. package/dist/typed.d.ts +4 -0
  303. package/dist/typed.d.ts.map +1 -1
  304. package/dist/typed.js.map +1 -1
  305. package/dist/version.d.ts +1 -1
  306. package/dist/version.js +1 -1
  307. package/package.json +11 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typing.js","sourceRoot":"","sources":["../../../src/document/expr/typing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ export declare const WEEKDAYS: readonly ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
2
+ export type Weekday = (typeof WEEKDAYS)[number];
3
+ /** A moment as the language holds one: its day on the app's wall, the minutes after midnight where it has a time, and the instant where it names one. */
4
+ export interface When {
5
+ readonly day: string;
6
+ readonly minutes?: number;
7
+ /** The instant, where the value named one (`…Z`, an offset): what minutes are added to. */
8
+ readonly stamp?: number;
9
+ }
10
+ /** The zone the language reads and builds moments in: the app's, else the page's app's, else UTC. */
11
+ export declare const zoneOf: (timeZone: string | undefined) => string;
12
+ /**
13
+ * A stored value as a moment, or undefined for anything that is not one. A
14
+ * month or a year alone reads as its first day; an instant is read on the
15
+ * app's wall; a wall time written without a zone is the time written.
16
+ */
17
+ export declare function whenOf(value: string, zone: string): When | undefined;
18
+ /** Why a pattern cannot be said, as a sentence, or undefined when it can. What `graview check` says of a `format(…)`. */
19
+ export declare function patternProblem(pattern: string): string | undefined;
20
+ /** Whether a pattern asks for a time of day — which a day alone has none of. */
21
+ export declare function patternHasTime(pattern: string): boolean;
22
+ /**
23
+ * A moment said by a pattern, in the app's locale: weekday and month
24
+ * names as the locale says them, the rest in figures. A day with no time
25
+ * says nothing for a time piece.
26
+ */
27
+ export declare function formatWhen(when: When, pattern: string, locale: string | undefined): string | {
28
+ readonly problem: string;
29
+ };
30
+ /** A time of day written `HH:MM` as minutes after midnight; undefined for anything else. */
31
+ export declare function minutesOfTime(time: string): number | undefined;
32
+ /**
33
+ * The moment a day reaches at a time on the app's wall — `datetime(due,
34
+ * '09:30')` — as an instant: 9:30 in New York is 13:30Z in summer and
35
+ * 14:30Z in winter, and the day the clock springs forward has no 02:30, so
36
+ * the time written then lands on the clock's next reading of it.
37
+ */
38
+ export declare function datetimeAt(when: When, minutes: number, zone: string): string;
39
+ /**
40
+ * A moment some minutes later (earlier, for a negative count). An instant
41
+ * stays an instant, so ninety minutes across a change of the clock are
42
+ * ninety minutes; a wall time stays a wall time; a day with no time becomes
43
+ * the wall time that many minutes after its midnight.
44
+ */
45
+ export declare function addMinutesTo(when: When, count: number): string;
46
+ /** The day of the week a moment falls on, on the app's wall: `mon` to `sun`. */
47
+ export declare const weekdayOfWhen: (when: When) => Weekday;
48
+ /** The day a moment's week starts on — the last `first` (`mon` unless said) at or before it — as a day. */
49
+ export declare function startOfWeekOf(when: When, first: Weekday): string;
50
+ /** Whether a word names a weekday as the language says them. */
51
+ export declare const isWeekday: (value: unknown) => value is Weekday;
52
+ //# sourceMappingURL=when.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when.d.ts","sourceRoot":"","sources":["../../../src/document/expr/when.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,QAAQ,4DAA6D,CAAC;AACnF,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD,yJAAyJ;AACzJ,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,2FAA2F;IAC3F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qGAAqG;AACrG,eAAO,MAAM,MAAM,GAAI,UAAU,MAAM,GAAG,SAAS,KAAG,MAAuC,CAAC;AAE9F;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAWpE;AAoDD,yHAAyH;AACzH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGlE;AAID,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGvD;AAoBD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAkCzH;AAID,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM9D;AAQD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED,gFAAgF;AAChF,eAAO,MAAM,aAAa,GAAI,MAAM,IAAI,KAAG,OAAyC,CAAC;AAErF,2GAA2G;AAC3G,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAGhE;AAED,gEAAgE;AAChE,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,OAAuF,CAAC"}
@@ -0,0 +1,215 @@
1
+ import { appLocaleFor, dayZoneFor, instantIn, ISO_DAY, ISO_MOMENT, PARTIAL_DAY, wallIn } from "../../days.js";
2
+ /*
3
+ * The day arithmetic `wall-time.ts` has, said again here on purpose: the
4
+ * evaluator is in every hosted page's first load, and reaching that module
5
+ * from it would carry the date editor's helpers up front with it.
6
+ */
7
+ const DAY_MS = 86_400_000;
8
+ const pad = (n) => String(n).padStart(2, "0");
9
+ const dayOfUtc = (stamp) => new Date(stamp).toISOString().slice(0, 10);
10
+ const utcOf = (day) => Date.UTC(+day.slice(0, 4), +day.slice(5, 7) - 1, +day.slice(8, 10));
11
+ const addDays = (day, days) => dayOfUtc(utcOf(day) + days * DAY_MS);
12
+ const weekdayOf = (day) => new Date(utcOf(day)).getUTCDay();
13
+ /** Whether a stored moment names an instant: it carries a `Z` or an offset after its time. */
14
+ const namesInstant = (value) => /T\d\d:\d\d(:[\d.]+)?(Z|[+-]\d\d:?\d\d)$/.test(value);
15
+ /*
16
+ * A DATE-TIME BUILT AND SAID BY THE RULE LANGUAGE (Roadmap
17
+ * f-formula-text-datetime). A computed title or an act's value could add
18
+ * words and count days, and could not say "Mon, Oct 27 · 9:30 AM" or make
19
+ * the moment a plan item's event starts at. The arithmetic is here, on
20
+ * what a record keeps: a day (`2026-10-27`), a month or a year alone, a
21
+ * wall time written without a zone (`2026-10-27T09:30`), or an instant
22
+ * (`2026-10-27T13:30:00Z`). Every answer is on the APP'S clock — its
23
+ * `brand.timeZone`, else the zone of the app the page draws, else UTC —
24
+ * and in the app's locale, never the reader's: a value the language builds
25
+ * may be kept on a record, and a server and a page keep the same one.
26
+ */
27
+ export const WEEKDAYS = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
28
+ /** The zone the language reads and builds moments in: the app's, else the page's app's, else UTC. */
29
+ export const zoneOf = (timeZone) => dayZoneFor(timeZone) ?? "UTC";
30
+ /**
31
+ * A stored value as a moment, or undefined for anything that is not one. A
32
+ * month or a year alone reads as its first day; an instant is read on the
33
+ * app's wall; a wall time written without a zone is the time written.
34
+ */
35
+ export function whenOf(value, zone) {
36
+ if (ISO_DAY.test(value))
37
+ return dayOfUtc(utcOf(value)) === value ? { day: value } : undefined;
38
+ if (PARTIAL_DAY.test(value))
39
+ return { day: value.length === 4 ? `${value}-01-01` : `${value}-01` };
40
+ if (ISO_MOMENT.test(value) && !namesInstant(value)) {
41
+ const day = value.slice(0, 10);
42
+ if (dayOfUtc(utcOf(day)) !== day)
43
+ return undefined;
44
+ return { day, minutes: Number(value.slice(11, 13)) * 60 + Number(value.slice(14, 16)) };
45
+ }
46
+ const stamp = Date.parse(value);
47
+ if (Number.isNaN(stamp))
48
+ return undefined;
49
+ return { ...wallIn(stamp, zone), stamp };
50
+ }
51
+ /* THE PATTERN `format(when, pattern)` TAKES: a closed vocabulary, so a token it does not know is a finding, never a letter said as itself. */
52
+ const TOKENS = ["EEEE", "EEE", "MMMM", "MMM", "yyyy", "HH", "mm", "h", "a", "d"];
53
+ const LETTERS = /[A-Za-z]+/y;
54
+ /** The pattern, read: each piece a token, or words to say as they are. */
55
+ function pieces(pattern) {
56
+ const out = [];
57
+ let i = 0;
58
+ while (i < pattern.length) {
59
+ const c = pattern[i];
60
+ if (c === "'") {
61
+ let text = "";
62
+ let j = i + 1;
63
+ for (; j < pattern.length; j++) {
64
+ if (pattern[j] === "'") {
65
+ // Two quotes inside a quoted piece say one.
66
+ if (pattern[j + 1] === "'") {
67
+ text += "'";
68
+ j++;
69
+ continue;
70
+ }
71
+ break;
72
+ }
73
+ text += pattern[j];
74
+ }
75
+ if (j >= pattern.length)
76
+ return `the quoted words in "${pattern}" are never closed`;
77
+ out.push({ text });
78
+ i = j + 1;
79
+ continue;
80
+ }
81
+ LETTERS.lastIndex = i;
82
+ const run = LETTERS.exec(pattern);
83
+ if (run) {
84
+ let rest = run[0];
85
+ while (rest.length > 0) {
86
+ const token = TOKENS.find((t) => rest.startsWith(t));
87
+ if (!token)
88
+ return `"${rest}" is not a piece of a date pattern; the pieces are ${TOKENS.map((t) => `${t}`).join(", ")}, and other words go in single quotes`;
89
+ out.push(token);
90
+ rest = rest.slice(token.length);
91
+ }
92
+ i += run[0].length;
93
+ continue;
94
+ }
95
+ out.push({ text: c });
96
+ i++;
97
+ }
98
+ return out;
99
+ }
100
+ /** Why a pattern cannot be said, as a sentence, or undefined when it can. What `graview check` says of a `format(…)`. */
101
+ export function patternProblem(pattern) {
102
+ const read = pieces(pattern);
103
+ return typeof read === "string" ? read : undefined;
104
+ }
105
+ const TIME_PIECES = new Set(["HH", "mm", "h", "a"]);
106
+ /** Whether a pattern asks for a time of day — which a day alone has none of. */
107
+ export function patternHasTime(pattern) {
108
+ const read = pieces(pattern);
109
+ return typeof read !== "string" && read.some((piece) => typeof piece === "string" && TIME_PIECES.has(piece));
110
+ }
111
+ const UTC = "UTC";
112
+ const formats = new Map();
113
+ function intl(locale, options) {
114
+ const key = `${locale}|${JSON.stringify(options)}`;
115
+ let format = formats.get(key);
116
+ if (!format) {
117
+ try {
118
+ format = new Intl.DateTimeFormat(locale, { ...options, timeZone: UTC });
119
+ }
120
+ catch {
121
+ format = new Intl.DateTimeFormat("en-US", { ...options, timeZone: UTC });
122
+ }
123
+ formats.set(key, format);
124
+ }
125
+ return format;
126
+ }
127
+ const part = (locale, options, stamp, type) => intl(locale, options).formatToParts(stamp).find((one) => one.type === type)?.value ?? "";
128
+ /**
129
+ * A moment said by a pattern, in the app's locale: weekday and month
130
+ * names as the locale says them, the rest in figures. A day with no time
131
+ * says nothing for a time piece.
132
+ */
133
+ export function formatWhen(when, pattern, locale) {
134
+ const read = pieces(pattern);
135
+ if (typeof read === "string")
136
+ return { problem: read };
137
+ const said = appLocaleFor(locale);
138
+ const dayStamp = utcOf(when.day);
139
+ const minutes = when.minutes;
140
+ const timeStamp = minutes === undefined ? undefined : dayStamp + minutes * 60_000;
141
+ return read
142
+ .map((piece) => {
143
+ if (typeof piece !== "string")
144
+ return piece.text;
145
+ switch (piece) {
146
+ case "EEEE":
147
+ return part(said, { weekday: "long" }, dayStamp, "weekday");
148
+ case "EEE":
149
+ return part(said, { weekday: "short" }, dayStamp, "weekday");
150
+ case "MMMM":
151
+ return part(said, { month: "long" }, dayStamp, "month");
152
+ case "MMM":
153
+ return part(said, { month: "short" }, dayStamp, "month");
154
+ case "yyyy":
155
+ return when.day.slice(0, 4);
156
+ case "d":
157
+ return String(Number(when.day.slice(8, 10)));
158
+ case "HH":
159
+ return minutes === undefined ? "" : pad(Math.floor(minutes / 60));
160
+ case "mm":
161
+ return minutes === undefined ? "" : pad(minutes % 60);
162
+ case "h":
163
+ return minutes === undefined ? "" : String(((Math.floor(minutes / 60) + 11) % 12) + 1);
164
+ case "a":
165
+ return timeStamp === undefined ? "" : part(said, { hour: "numeric", hour12: true }, timeStamp, "dayPeriod");
166
+ }
167
+ })
168
+ .join("");
169
+ }
170
+ const TIME_OF_DAY = /^(\d{1,2}):(\d{2})$/;
171
+ /** A time of day written `HH:MM` as minutes after midnight; undefined for anything else. */
172
+ export function minutesOfTime(time) {
173
+ const match = TIME_OF_DAY.exec(time.trim());
174
+ if (!match)
175
+ return undefined;
176
+ const hours = Number(match[1]);
177
+ const minutes = Number(match[2]);
178
+ return hours <= 23 && minutes <= 59 ? hours * 60 + minutes : undefined;
179
+ }
180
+ /** An instant as a datetime field keeps one: in UTC, to the second. */
181
+ const instantSaid = (stamp) => new Date(stamp).toISOString().replace(/\.\d{3}Z$/, "Z");
182
+ /** A moment on the app's wall, as the field keeps a wall time written without a zone. */
183
+ const wallSaid = (day, minutes) => `${day}T${pad(Math.floor(minutes / 60))}:${pad(minutes % 60)}`;
184
+ /**
185
+ * The moment a day reaches at a time on the app's wall — `datetime(due,
186
+ * '09:30')` — as an instant: 9:30 in New York is 13:30Z in summer and
187
+ * 14:30Z in winter, and the day the clock springs forward has no 02:30, so
188
+ * the time written then lands on the clock's next reading of it.
189
+ */
190
+ export function datetimeAt(when, minutes, zone) {
191
+ return instantSaid(instantIn(when.day, minutes, zone));
192
+ }
193
+ /**
194
+ * A moment some minutes later (earlier, for a negative count). An instant
195
+ * stays an instant, so ninety minutes across a change of the clock are
196
+ * ninety minutes; a wall time stays a wall time; a day with no time becomes
197
+ * the wall time that many minutes after its midnight.
198
+ */
199
+ export function addMinutesTo(when, count) {
200
+ if (when.stamp !== undefined)
201
+ return instantSaid(when.stamp + count * 60_000);
202
+ const stamp = utcOf(when.day) + (when.minutes ?? 0) * 60_000 + count * 60_000;
203
+ const day = dayOfUtc(stamp);
204
+ return wallSaid(day, Math.round((stamp - utcOf(day)) / 60_000));
205
+ }
206
+ /** The day of the week a moment falls on, on the app's wall: `mon` to `sun`. */
207
+ export const weekdayOfWhen = (when) => WEEKDAYS[weekdayOf(when.day)];
208
+ /** The day a moment's week starts on — the last `first` (`mon` unless said) at or before it — as a day. */
209
+ export function startOfWeekOf(when, first) {
210
+ const back = (weekdayOf(when.day) - WEEKDAYS.indexOf(first) + 7) % 7;
211
+ return addDays(when.day, -back);
212
+ }
213
+ /** Whether a word names a weekday as the language says them. */
214
+ export const isWeekday = (value) => typeof value === "string" && WEEKDAYS.includes(value);
215
+ //# sourceMappingURL=when.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when.js","sourceRoot":"","sources":["../../../src/document/expr/when.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type Finding } from "./findings.js";
2
+ import type { GraviewDocument } from "./schema.js";
3
+ /** The type mistakes the declaration alone shows in every expression it holds: computed fields, facts, acts' values and conditions, rules. */
4
+ export declare function exprTypeFindings(document: GraviewDocument): Finding[];
5
+ //# sourceMappingURL=expr-type-findings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expr-type-findings.d.ts","sourceRoot":"","sources":["../../src/document/expr-type-findings.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAW,eAAe,EAAa,MAAM,aAAa,CAAC;AA6DvE,8IAA8I;AAC9I,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,EAAE,CAwBrE"}
@@ -0,0 +1,90 @@
1
+ import { parseExpr } from "./expr/parse.js";
2
+ import { typeProblemsOf } from "./expr/typing.js";
3
+ import { farEnd } from "./far-end.js";
4
+ import { error } from "./findings.js";
5
+ import { refName } from "./compiled.js";
6
+ const asArray = (v) => [v ?? []].flat();
7
+ const NONE = () => undefined;
8
+ /** The declared type of a bare name read from a record of these kinds, when every kind that has the field agrees on it. */
9
+ function fieldTypesOf(document, kinds) {
10
+ if (kinds === "*")
11
+ return NONE;
12
+ return (name) => {
13
+ const types = new Set(kinds.flatMap((kind) => document.kinds[kind]?.fields[name]?.type ?? []));
14
+ return types.size === 1 ? [...types][0] : undefined;
15
+ };
16
+ }
17
+ /** The expression a value sets, when it is one. */
18
+ const exprOf = (value) => (value && typeof value === "object" && !Array.isArray(value) && "expr" in value && typeof value.expr === "string" ? value.expr : undefined);
19
+ /** Every expression a document's acts work a value out with, its path, and whose fields its bare names read. */
20
+ function actExpressions(name, act, document) {
21
+ const at = `acts.${name}`;
22
+ const subject = asArray(act.on);
23
+ const out = [];
24
+ const values = (set, path, kinds) => {
25
+ for (const value of Object.values(set ?? {})) {
26
+ const source = exprOf(value);
27
+ if (source !== undefined)
28
+ out.push({ source, path, kinds });
29
+ }
30
+ };
31
+ // The paths the compile says a value's expression at: a shorthand's at the act, a listed effect's at the effect.
32
+ values(act.sets, `${at}.set`, subject);
33
+ const relation = act.connects ?? act.severs;
34
+ if (act.setsOther && relation)
35
+ values(act.setsOther, `${at}.set`, farEnd(document.kinds, relation, subject)?.kinds ?? "*");
36
+ for (const [through, set] of Object.entries(act.setsLinked ?? {}))
37
+ values(set, `${at}.setsLinked.${through}`, subject);
38
+ const made = new Map();
39
+ if (act.creates)
40
+ made.set("new", act.creates);
41
+ (act.effects ?? []).forEach((effect, i) => {
42
+ const where = `${at}.effects.${i}.set`;
43
+ if ("create" in effect) {
44
+ if (effect.as)
45
+ made.set(effect.as, effect.create);
46
+ values(effect.set, where, [effect.create]);
47
+ }
48
+ else if ("set" in effect) {
49
+ const target = refName(effect.target ?? "$subject");
50
+ values(effect.set, where, target === "subject" ? subject : made.has(target ?? "") ? [made.get(target)] : "*");
51
+ }
52
+ });
53
+ if (act.allowedWhen)
54
+ out.push({ source: act.allowedWhen, path: `${at}.allowedWhen`, kinds: subject });
55
+ return out;
56
+ }
57
+ /** The type mistakes the declaration alone shows in every expression it holds: computed fields, facts, acts' values and conditions, rules. */
58
+ export function exprTypeFindings(document) {
59
+ const findings = [];
60
+ const judge = (source, path, fieldTypeOf) => {
61
+ let expr;
62
+ try {
63
+ expr = parseExpr(source);
64
+ }
65
+ catch {
66
+ return; // The compile's to refuse.
67
+ }
68
+ for (const problem of typeProblemsOf(expr, fieldTypeOf))
69
+ findings.push(error(problem.code, path, problem.sentence, problem.fix));
70
+ };
71
+ for (const [kind, spec] of Object.entries(document.kinds)) {
72
+ const types = fieldTypesOf(document, [kind]);
73
+ for (const [name, computed] of Object.entries(spec.computed ?? {}))
74
+ judge(typeof computed === "string" ? computed : computed.expr, `kinds.${kind}.computed.${name}`, types);
75
+ }
76
+ for (const [name, fact] of Object.entries(document.computed ?? {}))
77
+ judge(typeof fact === "string" ? fact : fact.expr, `computed.${name}`, NONE);
78
+ for (const [name, act] of Object.entries(document.acts ?? {})) {
79
+ for (const one of actExpressions(name, act, document))
80
+ judge(one.source, one.path, fieldTypesOf(document, one.kinds));
81
+ }
82
+ for (const [name, rule] of Object.entries(document.rules ?? {})) {
83
+ const types = fieldTypesOf(document, rule.over === "graph" ? [] : [rule.over]);
84
+ for (const key of ["when", "require"])
85
+ if (rule[key])
86
+ judge(rule[key], `rules.${name}.${key}`, types);
87
+ }
88
+ return findings;
89
+ }
90
+ //# sourceMappingURL=expr-type-findings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expr-type-findings.js","sourceRoot":"","sources":["../../src/document/expr-type-findings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"field-spec.d.ts","sourceRoot":"","sources":["../../src/document/field-spec.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiB7C,kEAAkE;AAClE,wBAAgB,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAmEhG;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAGjE"}
1
+ {"version":3,"file":"field-spec.d.ts","sourceRoot":"","sources":["../../src/document/field-spec.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiB7C,kEAAkE;AAClE,wBAAgB,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAwEhG;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAGjE"}
@@ -87,6 +87,11 @@ export function fieldOf(schema) {
87
87
  }
88
88
  case "array": {
89
89
  const element = defOf(def["element"]);
90
+ // A choice that takes several of its options (FR-233): an enum that is `multiple`, not a list.
91
+ if (element?.["type"] === "enum") {
92
+ const options = Object.keys(element["entries"] ?? {});
93
+ return options.length > 0 ? { spec: { type: "enum", multiple: true, options, ...base } } : { why: "it is a list of an enum with no options" };
94
+ }
90
95
  const of = fileKindOf(def["element"]) ?? (element?.["type"] === "number" ? "number" : element?.["type"] === "string" ? "string" : undefined);
91
96
  return of ? { spec: { type: "list", of, ...base } } : { why: `it is a list of ${String(element?.["type"] ?? "something")}, and a document lists words, numbers, dates, images, videos or files` };
92
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"field-spec.js","sourceRoot":"","sources":["../../src/document/field-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-spec.js","sourceRoot":"","sources":["../../src/document/field-spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,15 @@
1
1
  export type Severity = "error" | "warning" | "note";
2
+ /**
3
+ * ONE WAY OUT OF A FINDING, as a host offers it — a button a person presses
4
+ * (Roadmap f-connection-refusal-in-plain-words, FR-229): what it does, in
5
+ * the person's words, and the edits that do it where they can be written
6
+ * down. One with no `edits` is a way the person takes by hand (a field
7
+ * mapped to a property the app cannot name for them).
8
+ */
9
+ export interface FindingFix {
10
+ readonly label: string;
11
+ readonly edits?: readonly Record<string, unknown>[];
12
+ }
2
13
  export interface Finding {
3
14
  readonly severity: Severity;
4
15
  readonly code: string;
@@ -12,10 +23,30 @@ export interface Finding {
12
23
  * written down: a host applies them as they are.
13
24
  */
14
25
  readonly edits?: readonly Record<string, unknown>[];
26
+ /**
27
+ * The same, in the framework's words, for an agent and the CLI — the act
28
+ * that asks, the fields it asks for — where `message` is the sentence a
29
+ * person filling a form reads (FR-229).
30
+ */
31
+ readonly details?: string;
32
+ /** The ways out, each one a host offers as a button, with its edits where they can be written. */
33
+ readonly fixes?: readonly FindingFix[];
15
34
  }
16
- export declare const error: (code: string, path: string, message: string, fix?: string) => Finding;
35
+ /** What a finding says beyond its sentence and its fix: given only where there is something to say, so a finding carries no empty key. */
36
+ export interface FindingMore {
37
+ readonly edits?: readonly Record<string, unknown>[];
38
+ readonly details?: string;
39
+ readonly fixes?: readonly FindingFix[];
40
+ }
41
+ export declare const error: (code: string, path: string, message: string, fix?: string, more?: FindingMore) => Finding;
17
42
  export declare const warning: (code: string, path: string, message: string, fix?: string, edits?: readonly Record<string, unknown>[]) => Finding;
18
43
  export declare const hasErrors: (findings: readonly Finding[]) => boolean;
19
- /** One line per finding, the way a person reads them in a chat; the edits that fix it, one to a line beneath it. */
44
+ /** The lines beneath a finding's sentence: its edits, its details, and each way out with the edits that do it. */
45
+ export declare function moreLines(f: {
46
+ readonly edits?: readonly Record<string, unknown>[];
47
+ readonly details?: string;
48
+ readonly fixes?: readonly FindingFix[];
49
+ }, indent: string): string;
50
+ /** One line per finding, the way a person reads them in a chat; the edits that fix it, its details and its ways out, one to a line beneath it. */
20
51
  export declare function sayFindings(findings: readonly Finding[]): string;
21
52
  //# sourceMappingURL=findings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"findings.d.ts","sourceRoot":"","sources":["../../src/document/findings.ts"],"names":[],"mappings":"AAWA,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,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACrD;AAED,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,MAAM,MAAM,KAAG,OAMhF,CAAC;AAEH,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,MAAM,MAAM,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAG,OAO9H,CAAC;AAEH,eAAO,MAAM,SAAS,GAAI,UAAU,SAAS,OAAO,EAAE,YAAiD,CAAC;AAExG,oHAAoH;AACpH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAEhE"}
1
+ {"version":3,"file":"findings.d.ts","sourceRoot":"","sources":["../../src/document/findings.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpD;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,kGAAkG;IAClG,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CACxC;AAED,0IAA0I;AAC1I,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CACxC;AAED,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,MAAM,MAAM,EAAE,OAAO,WAAW,KAAG,OAAyF,CAAC;AAEhM,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,MAAM,MAAM,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAG,OAA+G,CAAC;AAEhP,eAAO,MAAM,SAAS,GAAI,UAAU,SAAS,OAAO,EAAE,YAAiD,CAAC;AAExG,kHAAkH;AAClH,wBAAgB,SAAS,CAAC,CAAC,EAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ/K;AAED,kJAAkJ;AAClJ,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAEhE"}
@@ -8,24 +8,21 @@
8
8
  * point at the line. `path` is dotted from the document root
9
9
  * ("kinds.vendor.fields.status.options").
10
10
  */
11
- export const error = (code, path, message, fix) => ({
12
- severity: "error",
13
- code,
14
- path,
15
- message,
16
- ...(fix ? { fix } : {}),
17
- });
18
- export const warning = (code, path, message, fix, edits) => ({
19
- severity: "warning",
20
- code,
21
- path,
22
- message,
23
- ...(fix ? { fix } : {}),
24
- ...(edits && edits.length > 0 ? { edits } : {}),
25
- });
11
+ export const error = (code, path, message, fix, more) => ({ severity: "error", code, path, message, ...(fix ? { fix } : {}), ...more });
12
+ export const warning = (code, path, message, fix, edits) => ({ ...error(code, path, message, fix, edits?.length ? { edits } : undefined), severity: "warning" });
26
13
  export const hasErrors = (findings) => findings.some((f) => f.severity === "error");
27
- /** One line per finding, the way a person reads them in a chat; the edits that fix it, one to a line beneath it. */
14
+ /** The lines beneath a finding's sentence: its edits, its details, and each way out with the edits that do it. */
15
+ export function moreLines(f, indent) {
16
+ return [
17
+ ...(f.edits ?? []).map((edit) => `${indent}edit: ${JSON.stringify(edit)}`),
18
+ ...(f.details ? [`${indent}details: ${f.details}`] : []),
19
+ ...(f.fixes ?? []).flatMap((fix) => [`${indent}fix: ${fix.label}`, ...(fix.edits ?? []).map((edit) => `${indent} edit: ${JSON.stringify(edit)}`)]),
20
+ ]
21
+ .map((line) => `\n${line}`)
22
+ .join("");
23
+ }
24
+ /** One line per finding, the way a person reads them in a chat; the edits that fix it, its details and its ways out, one to a line beneath it. */
28
25
  export function sayFindings(findings) {
29
- return findings.map((f) => `${f.severity === "error" ? "✗" : f.severity === "warning" ? "!" : "·"} ${f.path || "(document)"}: ${f.message}${f.fix ? ` — ${f.fix}` : ""}${(f.edits ?? []).map((edit) => `\n edit: ${JSON.stringify(edit)}`).join("")}`).join("\n");
26
+ return findings.map((f) => `${f.severity === "error" ? "✗" : f.severity === "warning" ? "!" : "·"} ${f.path || "(document)"}: ${f.message}${f.fix ? ` — ${f.fix}` : ""}${moreLines(f, " ")}`).join("\n");
30
27
  }
31
28
  //# sourceMappingURL=findings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findings.js","sourceRoot":"","sources":["../../src/document/findings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmBH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,OAAe,EAAE,GAAY,EAAW,EAAE,CAAC,CAAC;IAC5F,QAAQ,EAAE,OAAO;IACjB,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,OAAe,EAAE,GAAY,EAAE,KAA0C,EAAW,EAAE,CAAC,CAAC;IAC1I,QAAQ,EAAE,SAAS;IACnB,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAA4B,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;AAExG,oHAAoH;AACpH,MAAM,UAAU,WAAW,CAAC,QAA4B;IACtD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,YAAY,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvQ,CAAC"}
1
+ {"version":3,"file":"findings.js","sourceRoot":"","sources":["../../src/document/findings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA8CH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,OAAe,EAAE,GAAY,EAAE,IAAkB,EAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;AAEhM,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,OAAe,EAAE,GAAY,EAAE,KAA0C,EAAW,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;AAEhP,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAA4B,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;AAExG,kHAAkH;AAClH,MAAM,UAAU,SAAS,CAAC,CAA6H,EAAE,MAAc;IACrK,OAAO;QACL,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,MAAM,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KACpJ;SACE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;SAC1B,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,kJAAkJ;AAClJ,MAAM,UAAU,WAAW,CAAC,QAA4B;IACtD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,YAAY,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9M,CAAC"}
@@ -27,11 +27,14 @@ export { upgradeDocument, UPGRADES } from "./upgrade.js";
27
27
  export type { Upgrade, Upgraded } from "./upgrade.js";
28
28
  export { RESPELLED, respellDocument } from "./respell.js";
29
29
  export type { Respelled, Respelling } from "./respell.js";
30
- export { expressionRule, shapesOfSchema } from "./rules.js";
30
+ export { coverageRule, expressionRule, shapesOfSchema } from "./rules.js";
31
+ export { resolveCovers, uncovered } from "./covers.js";
32
+ export type { CoverPlan, CoverProblem, CoverStep, RelationEnds } from "./covers.js";
31
33
  export { computedOf, validateComputed } from "./computed.js";
32
34
  export type { ComputedEntry, ComputedKind } from "./computed.js";
33
- export type { ExpressionRuleSpec } from "./rules.js";
34
- export { documentOf, toDocument } from "./to-document.js";
35
+ export type { CoverageRuleSpec, ExpressionRuleSpec } from "./rules.js";
36
+ export { toDocument } from "./to-document.js";
37
+ export { documentOf, rememberDocument } from "./remembered.js";
35
38
  export { isGraviewTemplate, readGraviewTemplate, templateSeedPrimitives, TemplateSpec, TEMPLATE_FORMAT, TEMPLATE_FORMAT_VERSION, TEMPLATE_QUESTION_TYPES } from "./graview-template.js";
36
39
  export type { GraviewTemplate, InstantiatedTemplate, RefusedTemplate, TemplateCall, TemplateQuestion, TemplateSeed, TemplateSeedNode, TemplateSetupStep } from "./graview-template.js";
37
40
  export type { ToDocumentResult } from "./to-document.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/document/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/document/index.ts"],"names":[],"mappings":"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"}