@graview/core 0.1.54 → 0.1.56

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 (208) hide show
  1. package/dist/alias-findings.d.ts +40 -0
  2. package/dist/alias-findings.d.ts.map +1 -0
  3. package/dist/alias-findings.js +95 -0
  4. package/dist/alias-findings.js.map +1 -0
  5. package/dist/app.d.ts +13 -0
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js.map +1 -1
  8. package/dist/arranging.d.ts +6 -1
  9. package/dist/arranging.d.ts.map +1 -1
  10. package/dist/arranging.js +21 -3
  11. package/dist/arranging.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 +32 -0
  15. package/dist/catalog.d.ts.map +1 -1
  16. package/dist/catalog.js +17 -1
  17. package/dist/catalog.js.map +1 -1
  18. package/dist/check.d.ts +2 -0
  19. package/dist/check.d.ts.map +1 -1
  20. package/dist/check.js +2 -0
  21. package/dist/check.js.map +1 -1
  22. package/dist/cli/check/aliases.d.ts +11 -0
  23. package/dist/cli/check/aliases.d.ts.map +1 -0
  24. package/dist/cli/check/aliases.js +17 -0
  25. package/dist/cli/check/aliases.js.map +1 -0
  26. package/dist/cli/check/context.d.ts +2 -0
  27. package/dist/cli/check/context.d.ts.map +1 -1
  28. package/dist/cli/check/context.js.map +1 -1
  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/jobs.d.ts +12 -0
  34. package/dist/cli/check/jobs.d.ts.map +1 -0
  35. package/dist/cli/check/jobs.js +25 -0
  36. package/dist/cli/check/jobs.js.map +1 -0
  37. package/dist/cli/check.d.ts +13 -0
  38. package/dist/cli/check.d.ts.map +1 -1
  39. package/dist/cli/check.js +25 -2
  40. package/dist/cli/check.js.map +1 -1
  41. package/dist/cli/describe.d.ts.map +1 -1
  42. package/dist/cli/describe.js +41 -0
  43. package/dist/cli/describe.js.map +1 -1
  44. package/dist/cli/document-schema.d.ts.map +1 -1
  45. package/dist/cli/document-schema.js +7 -0
  46. package/dist/cli/document-schema.js.map +1 -1
  47. package/dist/compose.d.ts +99 -0
  48. package/dist/compose.d.ts.map +1 -0
  49. package/dist/compose.js +245 -0
  50. package/dist/compose.js.map +1 -0
  51. package/dist/conformance/fixtures.d.ts.map +1 -1
  52. package/dist/conformance/fixtures.js +15 -5
  53. package/dist/conformance/fixtures.js.map +1 -1
  54. package/dist/days.d.ts +14 -1
  55. package/dist/days.d.ts.map +1 -1
  56. package/dist/days.js +17 -2
  57. package/dist/days.js.map +1 -1
  58. package/dist/document/brand-check.d.ts.map +1 -1
  59. package/dist/document/brand-check.js +6 -2
  60. package/dist/document/brand-check.js.map +1 -1
  61. package/dist/document/compile-checked.d.ts.map +1 -1
  62. package/dist/document/compile-checked.js +11 -5
  63. package/dist/document/compile-checked.js.map +1 -1
  64. package/dist/document/compiled.d.ts.map +1 -1
  65. package/dist/document/compiled.js +20 -4
  66. package/dist/document/compiled.js.map +1 -1
  67. package/dist/document/design-findings.d.ts +32 -0
  68. package/dist/document/design-findings.d.ts.map +1 -0
  69. package/dist/document/design-findings.js +593 -0
  70. package/dist/document/design-findings.js.map +1 -0
  71. package/dist/document/edit.d.ts +1 -1
  72. package/dist/document/edit.d.ts.map +1 -1
  73. package/dist/document/edit.js +303 -16
  74. package/dist/document/edit.js.map +1 -1
  75. package/dist/document/field-spec.d.ts.map +1 -1
  76. package/dist/document/field-spec.js +3 -2
  77. package/dist/document/field-spec.js.map +1 -1
  78. package/dist/document/findings.d.ts +8 -2
  79. package/dist/document/findings.d.ts.map +1 -1
  80. package/dist/document/findings.js +4 -3
  81. package/dist/document/findings.js.map +1 -1
  82. package/dist/document/graview-template.d.ts +3 -3
  83. package/dist/document/purpose-spec.d.ts +37 -0
  84. package/dist/document/purpose-spec.d.ts.map +1 -0
  85. package/dist/document/purpose-spec.js +41 -0
  86. package/dist/document/purpose-spec.js.map +1 -0
  87. package/dist/document/schema.d.ts +29 -11
  88. package/dist/document/schema.d.ts.map +1 -1
  89. package/dist/document/schema.js +26 -0
  90. package/dist/document/schema.js.map +1 -1
  91. package/dist/document/template.js +2 -2
  92. package/dist/document/template.js.map +1 -1
  93. package/dist/document/to-document.d.ts.map +1 -1
  94. package/dist/document/to-document.js +5 -1
  95. package/dist/document/to-document.js.map +1 -1
  96. package/dist/document.schema.json +146 -2
  97. package/dist/friction-record.d.ts +52 -0
  98. package/dist/friction-record.d.ts.map +1 -0
  99. package/dist/friction-record.js +36 -0
  100. package/dist/friction-record.js.map +1 -0
  101. package/dist/friction.d.ts +209 -0
  102. package/dist/friction.d.ts.map +1 -0
  103. package/dist/friction.js +302 -0
  104. package/dist/friction.js.map +1 -0
  105. package/dist/import/coerce.d.ts.map +1 -1
  106. package/dist/import/coerce.js +3 -1
  107. package/dist/import/coerce.js.map +1 -1
  108. package/dist/import/rows.d.ts +8 -0
  109. package/dist/import/rows.d.ts.map +1 -1
  110. package/dist/import/rows.js +19 -3
  111. package/dist/import/rows.js.map +1 -1
  112. package/dist/index.d.ts +5 -1
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +5 -1
  115. package/dist/index.js.map +1 -1
  116. package/dist/job-findings.d.ts +39 -0
  117. package/dist/job-findings.d.ts.map +1 -0
  118. package/dist/job-findings.js +171 -0
  119. package/dist/job-findings.js.map +1 -0
  120. package/dist/job-shape.d.ts +57 -0
  121. package/dist/job-shape.d.ts.map +1 -0
  122. package/dist/job-shape.js +5 -0
  123. package/dist/job-shape.js.map +1 -0
  124. package/dist/jobs.d.ts +62 -0
  125. package/dist/jobs.d.ts.map +1 -0
  126. package/dist/jobs.js +112 -0
  127. package/dist/jobs.js.map +1 -0
  128. package/dist/learn.d.ts +151 -0
  129. package/dist/learn.d.ts.map +1 -0
  130. package/dist/learn.js +520 -0
  131. package/dist/learn.js.map +1 -0
  132. package/dist/mutations/arg-shape.d.ts +2 -0
  133. package/dist/mutations/arg-shape.d.ts.map +1 -1
  134. package/dist/mutations/arg-shape.js +2 -2
  135. package/dist/mutations/arg-shape.js.map +1 -1
  136. package/dist/mutations/define-mutation.d.ts.map +1 -1
  137. package/dist/mutations/define-mutation.js +25 -2
  138. package/dist/mutations/define-mutation.js.map +1 -1
  139. package/dist/mutations/derive-edits.d.ts.map +1 -1
  140. package/dist/mutations/derive-edits.js +17 -3
  141. package/dist/mutations/derive-edits.js.map +1 -1
  142. package/dist/mutations/derive-relations.d.ts +8 -3
  143. package/dist/mutations/derive-relations.d.ts.map +1 -1
  144. package/dist/mutations/derive-relations.js +18 -7
  145. package/dist/mutations/derive-relations.js.map +1 -1
  146. package/dist/mutations/form.d.ts +2 -0
  147. package/dist/mutations/form.d.ts.map +1 -1
  148. package/dist/mutations/form.js +1 -1
  149. package/dist/mutations/form.js.map +1 -1
  150. package/dist/mutations/types.d.ts +7 -0
  151. package/dist/mutations/types.d.ts.map +1 -1
  152. package/dist/ops/tidying.d.ts.map +1 -1
  153. package/dist/ops/tidying.js +3 -0
  154. package/dist/ops/tidying.js.map +1 -1
  155. package/dist/schema/choice-words.d.ts +16 -0
  156. package/dist/schema/choice-words.d.ts.map +1 -0
  157. package/dist/schema/choice-words.js +31 -0
  158. package/dist/schema/choice-words.js.map +1 -0
  159. package/dist/schema/define-node.d.ts +2 -1
  160. package/dist/schema/define-node.d.ts.map +1 -1
  161. package/dist/schema/define-node.js +3 -15
  162. package/dist/schema/define-node.js.map +1 -1
  163. package/dist/schema/humanize.d.ts +3 -0
  164. package/dist/schema/humanize.d.ts.map +1 -0
  165. package/dist/schema/humanize.js +18 -0
  166. package/dist/schema/humanize.js.map +1 -0
  167. package/dist/schema/json-schema.d.ts.map +1 -1
  168. package/dist/schema/json-schema.js +2 -1
  169. package/dist/schema/json-schema.js.map +1 -1
  170. package/dist/schema/reading.d.ts.map +1 -1
  171. package/dist/schema/reading.js +10 -2
  172. package/dist/schema/reading.js.map +1 -1
  173. package/dist/schema/types.d.ts +9 -0
  174. package/dist/schema/types.d.ts.map +1 -1
  175. package/dist/search.d.ts.map +1 -1
  176. package/dist/search.js +2 -0
  177. package/dist/search.js.map +1 -1
  178. package/dist/sync/connection.js +1 -1
  179. package/dist/theme/accent.d.ts.map +1 -1
  180. package/dist/theme/accent.js +2 -2
  181. package/dist/theme/accent.js.map +1 -1
  182. package/dist/theme/derive.d.ts +10 -1
  183. package/dist/theme/derive.d.ts.map +1 -1
  184. package/dist/theme/derive.js +1 -1
  185. package/dist/theme/derive.js.map +1 -1
  186. package/dist/theme/ground-check.d.ts +12 -0
  187. package/dist/theme/ground-check.d.ts.map +1 -1
  188. package/dist/theme/ground-check.js +37 -11
  189. package/dist/theme/ground-check.js.map +1 -1
  190. package/dist/theme/ground.d.ts +28 -7
  191. package/dist/theme/ground.d.ts.map +1 -1
  192. package/dist/theme/ground.js +62 -18
  193. package/dist/theme/ground.js.map +1 -1
  194. package/dist/tidying.d.ts +10 -0
  195. package/dist/tidying.d.ts.map +1 -1
  196. package/dist/tidying.js +17 -0
  197. package/dist/tidying.js.map +1 -1
  198. package/dist/version.d.ts +1 -1
  199. package/dist/version.js +1 -1
  200. package/dist/when-typed.d.ts +7 -0
  201. package/dist/when-typed.d.ts.map +1 -1
  202. package/dist/when-typed.js +24 -0
  203. package/dist/when-typed.js.map +1 -1
  204. package/dist/words.d.ts +1 -1
  205. package/dist/words.d.ts.map +1 -1
  206. package/dist/words.js +1 -1
  207. package/dist/words.js.map +1 -1
  208. package/package.json +17 -1
@@ -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,CAkEhG;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,CAmEhG;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAGjE"}
@@ -3,7 +3,7 @@ import { isAppLinkField } from "../schema/app-link.js";
3
3
  import { isMarkdownField } from "../schema/markdown.js";
4
4
  import { typedFieldOf } from "../schema/typed-field-of.js";
5
5
  import { descriptionOf } from "../schema/zod.js";
6
- import { isMoment } from "../days.js";
6
+ import { DATE_VALUE, isMoment } from "../days.js";
7
7
  const defOf = (schema) => schema?._zod?.def;
8
8
  const COLLABORATIVE = Symbol.for("@graview/core:collaborative");
9
9
  const DATE = /^\^\\d\{4\}-\\d\{2\}-\\d\{2\}\$$/;
@@ -58,7 +58,8 @@ export function fieldOf(schema) {
58
58
  return { spec: { type: "date", ...base } };
59
59
  if (format === "datetime" || checks.some((check) => check?.["fn"] === isMoment))
60
60
  return { spec: { type: "datetime", ...base } };
61
- if (checks.some((check) => check?.["format"] === "regex" && DATE.test(String(check?.["pattern"]?.source ?? ""))))
61
+ // A day's pattern, or a document date's, which takes a month or a year alone too (Roadmap f-partial-dates).
62
+ if (checks.some((check) => check?.["format"] === "regex" && (DATE.test(String(check?.["pattern"]?.source ?? "")) || check?.["pattern"]?.source === DATE_VALUE.source)))
62
63
  return { spec: { type: "date", ...base } };
63
64
  return { spec: { type: "string", ...base, ...together("string") } };
64
65
  }
@@ -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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"}
@@ -6,10 +6,16 @@ export interface Finding {
6
6
  readonly message: string;
7
7
  /** What to do about it, when there is something to say. */
8
8
  readonly fix?: string;
9
+ /**
10
+ * The edits that do it, in `editDocument`'s (and `propose_change`'s) words —
11
+ * `{ "op": "remove-lens", "title": "Stage: Planned" }` — where they can be
12
+ * written down: a host applies them as they are.
13
+ */
14
+ readonly edits?: readonly Record<string, unknown>[];
9
15
  }
10
16
  export declare const error: (code: string, path: string, message: string, fix?: string) => Finding;
11
- export declare const warning: (code: string, path: string, message: string, fix?: string) => Finding;
17
+ export declare const warning: (code: string, path: string, message: string, fix?: string, edits?: readonly Record<string, unknown>[]) => Finding;
12
18
  export declare const hasErrors: (findings: readonly Finding[]) => boolean;
13
- /** One line per finding, the way a person reads them in a chat. */
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. */
14
20
  export declare function sayFindings(findings: readonly Finding[]): string;
15
21
  //# 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;CACvB;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,KAAG,OAMlF,CAAC;AAEH,eAAO,MAAM,SAAS,GAAI,UAAU,SAAS,OAAO,EAAE,YAAiD,CAAC;AAExG,mEAAmE;AACnE,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,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"}
@@ -15,16 +15,17 @@ export const error = (code, path, message, fix) => ({
15
15
  message,
16
16
  ...(fix ? { fix } : {}),
17
17
  });
18
- export const warning = (code, path, message, fix) => ({
18
+ export const warning = (code, path, message, fix, edits) => ({
19
19
  severity: "warning",
20
20
  code,
21
21
  path,
22
22
  message,
23
23
  ...(fix ? { fix } : {}),
24
+ ...(edits && edits.length > 0 ? { edits } : {}),
24
25
  });
25
26
  export const hasErrors = (findings) => findings.some((f) => f.severity === "error");
26
- /** One line per finding, the way a person reads them in a chat. */
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. */
27
28
  export function sayFindings(findings) {
28
- return findings.map((f) => `${f.severity === "error" ? "✗" : f.severity === "warning" ? "!" : "·"} ${f.path || "(document)"}: ${f.message}${f.fix ? ` — ${f.fix}` : ""}`).join("\n");
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");
29
30
  }
30
31
  //# sourceMappingURL=findings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findings.js","sourceRoot":"","sources":["../../src/document/findings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,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,EAAW,EAAE,CAAC,CAAC;IAC9F,QAAQ,EAAE,SAAS;IACnB,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,SAAS,GAAG,CAAC,QAA4B,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;AAExG,mEAAmE;AACnE,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,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvL,CAAC"}
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"}
@@ -14,8 +14,8 @@ declare function buildShapes(): {
14
14
  string: "string";
15
15
  number: "number";
16
16
  date: "date";
17
- list: "list";
18
17
  text: "text";
18
+ list: "list";
19
19
  choice: "choice";
20
20
  }>;
21
21
  options: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -72,8 +72,8 @@ declare function buildShapes(): {
72
72
  string: "string";
73
73
  number: "number";
74
74
  date: "date";
75
- list: "list";
76
75
  text: "text";
76
+ list: "list";
77
77
  choice: "choice";
78
78
  }>;
79
79
  options: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -125,8 +125,8 @@ export declare const TemplateSpec: z.ZodLazy<z.ZodObject<{
125
125
  string: "string";
126
126
  number: "number";
127
127
  date: "date";
128
- list: "list";
129
128
  text: "text";
129
+ list: "list";
130
130
  choice: "choice";
131
131
  }>;
132
132
  options: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -0,0 +1,37 @@
1
+ import * as z from "../schema/zod.js";
2
+ export declare const JobSpec: z.ZodMiniLazy<z.ZodMiniObject<{
3
+ name: z.ZodMiniString<string>;
4
+ ask: z.ZodMiniString<string>;
5
+ kind: z.ZodMiniString<string>;
6
+ where: z.ZodMiniOptional<z.ZodMiniString<string>>;
7
+ sort: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
8
+ by: z.ZodMiniString<string>;
9
+ direction: z.ZodMiniOptional<z.ZodMiniEnum<{
10
+ asc: "asc";
11
+ desc: "desc";
12
+ }>>;
13
+ }, z.core.$strict>]>>;
14
+ act: z.ZodMiniOptional<z.ZodMiniString<string>>;
15
+ roles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
16
+ }, z.core.$strict>>;
17
+ export declare const PurposeSpec: z.ZodMiniLazy<z.ZodMiniObject<{
18
+ for: z.ZodMiniOptional<z.ZodMiniString<string>>;
19
+ jobs: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
20
+ name: z.ZodMiniString<string>;
21
+ ask: z.ZodMiniString<string>;
22
+ kind: z.ZodMiniString<string>;
23
+ where: z.ZodMiniOptional<z.ZodMiniString<string>>;
24
+ sort: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
25
+ by: z.ZodMiniString<string>;
26
+ direction: z.ZodMiniOptional<z.ZodMiniEnum<{
27
+ asc: "asc";
28
+ desc: "desc";
29
+ }>>;
30
+ }, z.core.$strict>]>>;
31
+ act: z.ZodMiniOptional<z.ZodMiniString<string>>;
32
+ roles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
33
+ }, z.core.$strict>>>;
34
+ }, z.core.$strict>>;
35
+ export type JobSpec = z.infer<typeof JobSpec>;
36
+ export type PurposeSpec = z.infer<typeof PurposeSpec>;
37
+ //# sourceMappingURL=purpose-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purpose-spec.d.ts","sourceRoot":"","sources":["../../src/document/purpose-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AAyCtC,eAAO,MAAM,OAAO;;;;;;;;;;;;;;mBAAiC,CAAC;AACtD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;mBAAqC,CAAC;AAC9D,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAC9C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC"}
@@ -0,0 +1,41 @@
1
+ import * as z from "../schema/zod.js";
2
+ import { NAME } from "./schema.js";
3
+ /*
4
+ * A PURPOSE'S SHAPE, apart from the document's (Roadmap f-app-jobs): a page
5
+ * that draws an app reads `purpose` loosely and answers no job, so this is
6
+ * reached only by the checker (`documentJobFindings`), an edit (`add-job`),
7
+ * and the JSON schema an editor reads (`cli/document-schema.ts`).
8
+ */
9
+ /* Built the first time a purpose is read (each shape is `z.lazy` over it), not when the module loads. */
10
+ function build() {
11
+ const str = (min, max) => z.string().check(z.minLength(min), z.maxLength(max));
12
+ const name = (what) => z.string().check(z.regex(NAME, `${what} names are kebab-case, lower-case words joined by hyphens like "unbooked-soon"`));
13
+ const key = str(1, 120);
14
+ /**
15
+ * A JOB: a question its people bring to the app, in their words (`ask`),
16
+ * answered by the records of one kind (`kind`) its rule-language condition
17
+ * holds for (`where`, the record as subject), in an order (`sort`, as a
18
+ * kind's list takes one), with the act they usually take next on one
19
+ * (`act`), for some roles or everybody (`roles`).
20
+ */
21
+ const JobSpec = z.strictObject({
22
+ name: name("job"),
23
+ ask: str(1, 200),
24
+ kind: name("kind"),
25
+ where: z.optional(str(1, 2000)),
26
+ sort: z.optional(z.union([key, z.strictObject({ by: key, direction: z.optional(z.enum(["asc", "desc"])) })])),
27
+ act: z.optional(name("act")),
28
+ roles: z.optional(z.array(name("role")).check(z.minLength(1), z.maxLength(40))),
29
+ });
30
+ /** Who the app is for, in words, and the jobs they come to it to do — a dozen at most, which the checker says (`jobs-too-many`). */
31
+ const PurposeSpec = z.strictObject({
32
+ for: z.optional(str(1, 300)),
33
+ jobs: z.optional(z.array(JobSpec).check(z.maxLength(40))),
34
+ });
35
+ return { JobSpec, PurposeSpec };
36
+ }
37
+ let built;
38
+ const shapes = () => (built ??= build());
39
+ export const JobSpec = z.lazy(() => shapes().JobSpec);
40
+ export const PurposeSpec = z.lazy(() => shapes().PurposeSpec);
41
+ //# sourceMappingURL=purpose-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purpose-spec.js","sourceRoot":"","sources":["../../src/document/purpose-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;;;;GAKG;AAEH,yGAAyG;AACzG,SAAS,KAAK;IACZ,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,gFAAgF,CAAC,CAAC,CAAC;IACxJ,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxB;;;;;;OAMG;IACH,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC;QAC7B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;QACjB,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;QAChB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7G,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;KAChF,CAAC,CAAC;IACH,oIAAoI;IACpI,MAAM,WAAW,GAAG,CAAC,CAAC,YAAY,CAAC;QACjC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;KAC1D,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC;AACD,IAAI,KAA2C,CAAC;AAChD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import * as z from "../schema/zod.js";
2
+ import type { AppPurpose } from "../job-shape.js";
2
3
  export declare const FORMAT = "graview-document";
3
4
  export declare const FORMAT_VERSION = 1;
4
5
  export declare const MAX_DOCUMENT_BYTES: number;
@@ -6,6 +7,10 @@ export declare const MAX_DOCUMENT_BYTES: number;
6
7
  export declare const NAME: RegExp;
7
8
  /** Field names are identifiers so a rule can say them bare: `quote != null`. */
8
9
  export declare const FIELD_NAME: RegExp;
10
+ /** Another word for a kind or a field (Roadmap f-learned-suggestions): one to three lower-case words of letters, digits, `'` and `-`, at most 40 characters. */
11
+ export declare const ALIAS: RegExp;
12
+ /** The most aliases a kind or a field keeps. */
13
+ export declare const MOST_ALIASES = 12;
9
14
  /**
10
15
  * A RELATION'S NAME may be kebab-case or one camelCase word. camelCase is
11
16
  * recommended: a rule can then walk it bare (`tendedBy.name`), where
@@ -32,8 +37,8 @@ export declare const FieldSpec: z.ZodMiniLazy<z.ZodMiniObject<{
32
37
  url: "url";
33
38
  datetime: "datetime";
34
39
  duration: "duration";
35
- list: "list";
36
40
  text: "text";
41
+ list: "list";
37
42
  image: "image";
38
43
  video: "video";
39
44
  "app-link": "app-link";
@@ -43,7 +48,9 @@ export declare const FieldSpec: z.ZodMiniLazy<z.ZodMiniObject<{
43
48
  required: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
44
49
  description: z.ZodMiniOptional<z.ZodMiniString<string>>;
45
50
  label: z.ZodMiniOptional<z.ZodMiniString<string>>;
51
+ aliases: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
46
52
  options: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
53
+ optionLabels: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
47
54
  of: z.ZodMiniOptional<z.ZodMiniEnum<{
48
55
  string: "string";
49
56
  number: "number";
@@ -87,6 +94,7 @@ export declare const ComputedSpec: z.ZodMiniLazy<z.ZodMiniUnion<readonly [z.ZodM
87
94
  export declare const KindSpec: z.ZodMiniLazy<z.ZodMiniObject<{
88
95
  noun: z.ZodMiniOptional<z.ZodMiniString<string>>;
89
96
  plural: z.ZodMiniOptional<z.ZodMiniString<string>>;
97
+ aliases: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
90
98
  description: z.ZodMiniOptional<z.ZodMiniString<string>>;
91
99
  fields: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
92
100
  type: z.ZodMiniEnum<{
@@ -101,8 +109,8 @@ export declare const KindSpec: z.ZodMiniLazy<z.ZodMiniObject<{
101
109
  url: "url";
102
110
  datetime: "datetime";
103
111
  duration: "duration";
104
- list: "list";
105
112
  text: "text";
113
+ list: "list";
106
114
  image: "image";
107
115
  video: "video";
108
116
  "app-link": "app-link";
@@ -112,7 +120,9 @@ export declare const KindSpec: z.ZodMiniLazy<z.ZodMiniObject<{
112
120
  required: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
113
121
  description: z.ZodMiniOptional<z.ZodMiniString<string>>;
114
122
  label: z.ZodMiniOptional<z.ZodMiniString<string>>;
123
+ aliases: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
115
124
  options: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
125
+ optionLabels: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
116
126
  of: z.ZodMiniOptional<z.ZodMiniEnum<{
117
127
  string: "string";
118
128
  number: "number";
@@ -232,8 +242,8 @@ export declare const ActSpec: z.ZodMiniLazy<z.ZodMiniObject<{
232
242
  url: "url";
233
243
  datetime: "datetime";
234
244
  duration: "duration";
235
- list: "list";
236
245
  text: "text";
246
+ list: "list";
237
247
  image: "image";
238
248
  video: "video";
239
249
  "app-link": "app-link";
@@ -243,7 +253,9 @@ export declare const ActSpec: z.ZodMiniLazy<z.ZodMiniObject<{
243
253
  required: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
244
254
  description: z.ZodMiniOptional<z.ZodMiniString<string>>;
245
255
  label: z.ZodMiniOptional<z.ZodMiniString<string>>;
256
+ aliases: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
246
257
  options: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
258
+ optionLabels: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
247
259
  of: z.ZodMiniOptional<z.ZodMiniEnum<{
248
260
  string: "string";
249
261
  number: "number";
@@ -400,14 +412,14 @@ export declare const PagesSpec: z.ZodMiniLazy<z.ZodMiniObject<{
400
412
  sort: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
401
413
  by: z.ZodMiniString<string>;
402
414
  direction: z.ZodMiniOptional<z.ZodMiniEnum<{
403
- desc: "desc";
404
415
  asc: "asc";
416
+ desc: "desc";
405
417
  }>>;
406
418
  then: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
407
419
  by: z.ZodMiniString<string>;
408
420
  direction: z.ZodMiniOptional<z.ZodMiniEnum<{
409
- desc: "desc";
410
421
  asc: "asc";
422
+ desc: "desc";
411
423
  }>>;
412
424
  }, z.core.$strict>]>>;
413
425
  }, z.core.$strict>]>>;
@@ -429,6 +441,7 @@ export declare const DocumentSpec: z.ZodMiniLazy<z.ZodMiniObject<{
429
441
  kinds: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
430
442
  noun: z.ZodMiniOptional<z.ZodMiniString<string>>;
431
443
  plural: z.ZodMiniOptional<z.ZodMiniString<string>>;
444
+ aliases: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
432
445
  description: z.ZodMiniOptional<z.ZodMiniString<string>>;
433
446
  fields: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
434
447
  type: z.ZodMiniEnum<{
@@ -443,8 +456,8 @@ export declare const DocumentSpec: z.ZodMiniLazy<z.ZodMiniObject<{
443
456
  url: "url";
444
457
  datetime: "datetime";
445
458
  duration: "duration";
446
- list: "list";
447
459
  text: "text";
460
+ list: "list";
448
461
  image: "image";
449
462
  video: "video";
450
463
  "app-link": "app-link";
@@ -454,7 +467,9 @@ export declare const DocumentSpec: z.ZodMiniLazy<z.ZodMiniObject<{
454
467
  required: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
455
468
  description: z.ZodMiniOptional<z.ZodMiniString<string>>;
456
469
  label: z.ZodMiniOptional<z.ZodMiniString<string>>;
470
+ aliases: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
457
471
  options: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
472
+ optionLabels: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
458
473
  of: z.ZodMiniOptional<z.ZodMiniEnum<{
459
474
  string: "string";
460
475
  number: "number";
@@ -554,8 +569,8 @@ export declare const DocumentSpec: z.ZodMiniLazy<z.ZodMiniObject<{
554
569
  url: "url";
555
570
  datetime: "datetime";
556
571
  duration: "duration";
557
- list: "list";
558
572
  text: "text";
573
+ list: "list";
559
574
  image: "image";
560
575
  video: "video";
561
576
  "app-link": "app-link";
@@ -565,7 +580,9 @@ export declare const DocumentSpec: z.ZodMiniLazy<z.ZodMiniObject<{
565
580
  required: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
566
581
  description: z.ZodMiniOptional<z.ZodMiniString<string>>;
567
582
  label: z.ZodMiniOptional<z.ZodMiniString<string>>;
583
+ aliases: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
568
584
  options: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
585
+ optionLabels: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
569
586
  of: z.ZodMiniOptional<z.ZodMiniEnum<{
570
587
  string: "string";
571
588
  number: "number";
@@ -656,15 +673,15 @@ export declare const DocumentSpec: z.ZodMiniLazy<z.ZodMiniObject<{
656
673
  sort: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
657
674
  by: z.ZodMiniString<string>;
658
675
  direction: z.ZodMiniOptional<z.ZodMiniEnum<{
659
- desc: "desc";
660
676
  asc: "asc";
677
+ desc: "desc";
661
678
  }>>;
662
679
  }, z.core.$strict>]>>;
663
680
  columnSort: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
664
681
  by: z.ZodMiniString<string>;
665
682
  direction: z.ZodMiniOptional<z.ZodMiniEnum<{
666
- desc: "desc";
667
683
  asc: "asc";
684
+ desc: "desc";
668
685
  }>>;
669
686
  }, z.core.$strict>]>>;
670
687
  search: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
@@ -689,14 +706,14 @@ export declare const DocumentSpec: z.ZodMiniLazy<z.ZodMiniObject<{
689
706
  sort: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
690
707
  by: z.ZodMiniString<string>;
691
708
  direction: z.ZodMiniOptional<z.ZodMiniEnum<{
692
- desc: "desc";
693
709
  asc: "asc";
710
+ desc: "desc";
694
711
  }>>;
695
712
  then: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
696
713
  by: z.ZodMiniString<string>;
697
714
  direction: z.ZodMiniOptional<z.ZodMiniEnum<{
698
- desc: "desc";
699
715
  asc: "asc";
716
+ desc: "desc";
700
717
  }>>;
701
718
  }, z.core.$strict>]>>;
702
719
  }, z.core.$strict>]>>;
@@ -755,6 +772,7 @@ export declare const DocumentSpec: z.ZodMiniLazy<z.ZodMiniObject<{
755
772
  settings: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>>;
756
773
  migrations: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>>;
757
774
  connections: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>>;
775
+ purpose: z.ZodMiniOptional<z.ZodMiniType<AppPurpose, unknown, z.core.$ZodTypeInternals<AppPurpose, unknown>>>;
758
776
  forms: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
759
777
  act: z.ZodMiniString<string>;
760
778
  title: z.ZodMiniOptional<z.ZodMiniString<string>>;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/document/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/document/schema.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,10 @@ const MARK_MAX = 64 * 1024;
20
20
  export const NAME = /^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/;
21
21
  /** Field names are identifiers so a rule can say them bare: `quote != null`. */
22
22
  export const FIELD_NAME = /^[a-z][A-Za-z0-9]*$/;
23
+ /** Another word for a kind or a field (Roadmap f-learned-suggestions): one to three lower-case words of letters, digits, `'` and `-`, at most 40 characters. */
24
+ export const ALIAS = /^[a-z0-9\u00df-\u00ff'-]+( [a-z0-9\u00df-\u00ff'-]+){0,2}$/;
25
+ /** The most aliases a kind or a field keeps. */
26
+ export const MOST_ALIASES = 12;
23
27
  const RESERVED_FIELDS = new Set(["id", "kind"]);
24
28
  /**
25
29
  * A RELATION'S NAME may be kebab-case or one camelCase word. camelCase is
@@ -60,6 +64,8 @@ function build() {
60
64
  .string()
61
65
  .check(z.regex(FIELD_NAME, 'field names are one word or camelCase, like "dueDate", so rules say them bare (kind names are kebab-case, like "tool-note")'), z.refine((n) => !RESERVED_FIELDS.has(n), 'a field cannot be called "id" or "kind" — the framework keeps those; try "type" or "category"'), notInherited);
62
66
  const sentence = str(1, 500);
67
+ /** Another word for a kind or a field: lower-case words, as people search with them. */
68
+ const alias = z.string().check(z.maxLength(40), z.regex(ALIAS, 'an alias is up to three lower-case words, like "supplier"'));
63
69
  const expression = str(1, 2000);
64
70
  const template = str(1, 300);
65
71
  const FieldSpec = z
@@ -69,7 +75,15 @@ function build() {
69
75
  description: z.optional(sentence),
70
76
  /** What the field is called on screen, where its name does not say it. */
71
77
  label: z.optional(str(1, 60)),
78
+ /** Other words people say for it ("cost" for a price): said to a model and by describe, never shown as its name (Roadmap f-learned-suggestions). */
79
+ aliases: z.optional(some(alias, 1, MOST_ALIASES)),
72
80
  options: z.optional(some(str(1, 80), 1, 100)),
81
+ /**
82
+ * What an enum field's options are called on screen, by option
83
+ * (Roadmap f-option-labels): `{ "state-sponsored": "State-sponsored" }`.
84
+ * An option without one is said as its id spoken ("State sponsored").
85
+ */
86
+ optionLabels: z.optional(z.record(str(1, 80), str(1, 80))),
73
87
  of: z.optional(z.enum(["string", "number", "date", "image", "video", "file"])),
74
88
  default: z.optional(z.unknown()),
75
89
  unit: z.optional(str(undefined, 12)),
@@ -100,6 +114,10 @@ function build() {
100
114
  ctx.addIssue({ code: "custom", message: 'an enum field lists its "options"', path: ["options"] });
101
115
  if (f.type !== "enum" && f.options)
102
116
  ctx.addIssue({ code: "custom", message: '"options" belongs only on an enum field', path: ["options"] });
117
+ for (const option of Object.keys(f.optionLabels ?? {})) {
118
+ if (!f.options?.includes(option))
119
+ ctx.addIssue({ code: "custom", message: `"${option}" is labeled, and is none of the field's options`, path: ["optionLabels", option] });
120
+ }
103
121
  if (f.type !== "list" && f.of)
104
122
  ctx.addIssue({ code: "custom", message: '"of" belongs only on a list field', path: ["of"] });
105
123
  if (f.repeats && f.type !== "date" && f.type !== "datetime")
@@ -128,6 +146,8 @@ function build() {
128
146
  const KindSpec = z.strictObject({
129
147
  noun: z.optional(str(1, 40)),
130
148
  plural: z.optional(str(1, 40)),
149
+ /** Other words people say for one ("supplier" for a vendor): search finds the kind by them, and a model is told them (Roadmap f-learned-suggestions). */
150
+ aliases: z.optional(some(alias, 1, MOST_ALIASES)),
131
151
  description: z.optional(sentence),
132
152
  fields: z.record(fieldName, FieldSpec).check(z.refine((f) => Object.keys(f).length > 0, "a kind has at least one field")),
133
153
  label: z.optional(template),
@@ -440,6 +460,12 @@ function build() {
440
460
  * checker's to judge, and the JSON schema says it to an editor.
441
461
  */
442
462
  connections: z.optional(z.record(name("connection"), loose)),
463
+ /**
464
+ * Who the app is for, and the jobs they come to it to do (Roadmap f-app-jobs, `job-shape.ts`). Read
465
+ * loosely here, as a page that draws the app answers no job; its shape (`PurposeSpec`,
466
+ * `./purpose-spec.ts`) is the checker's to judge and an edit's to hold, and the JSON schema says it.
467
+ */
468
+ purpose: z.optional(loose),
443
469
  /** Forms for visitors, by name: each one act, its fields, and what the visitor is told once it is received. */
444
470
  forms: z.optional(z.record(name("form"), FormSpec)),
445
471
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/document/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CAAC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,GAAG,IAAI,CAAC;AAC7C,4EAA4E;AAC5E,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3B,6DAA6D;AAC7D,MAAM,CAAC,MAAM,IAAI,GAAG,iCAAiC,CAAC;AACtD,gFAAgF;AAChF,MAAM,CAAC,MAAM,UAAU,GAAG,qBAAqB,CAAC;AAChD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,uDAAuD,CAAC;AAEjF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC;AAG/M;;;;;;;GAOG;AACH,SAAS,KAAK;IACZ;;;;;OAKG;IACH,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC;IACvD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAS,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,qDAAqD,CAAC,CAAC;IAE3H,oFAAoF;IACpF,MAAM,KAAK,GAAG,CAAC,GAAY,EAAE,GAAY,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnJ,MAAM,GAAG,GAAG,CAAC,GAAY,EAAE,GAAY,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,CAA0B,EAAK,EAAE,GAAY,EAAE,GAAY,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAEnH,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,0IAA0I,CAAC,CAAC,CAAC;IAClN,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,0GAA0G,CAAC,EAAE,YAAY,CAAC,CAAC;IAChL,MAAM,SAAS,GAAG,CAAC;SAChB,MAAM,EAAE;SACR,KAAK,CACJ,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,6HAA6H,CAAC,EAClJ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,+FAA+F,CAAC,EACjJ,YAAY,CACb,CAAC;IACJ,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAE7B,MAAM,SAAS,GAAG,CAAC;SAChB,YAAY,CAAC;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACzB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACjC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACjC,0EAA0E;QAC1E,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9E,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpC,0KAA0K;QAC1K,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QACxE,gJAAgJ;QAChJ,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3B,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,iGAAiG;QACjG,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9D;;;;WAIG;QACH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAChC;;;;;WAKG;QACH,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;KACvC,CAAC;SACD,KAAK,CACJ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO;YAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mCAAmC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACvI,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO;YAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,yCAAyC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5I,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE;YAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mCAAmC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5H,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;YAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oDAAoD,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClL,CAAC,CAAC,CACH,CAAC;IAEJ;;;;;OAKG;IACH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,uGAAuG,CAAC,CAAC,CAAC;IAE5M,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC;QAC9B,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAChD,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACjC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACnC,0EAA0E;QAC1E,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACnC,yGAAyG;QACzG,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KACxC,CAAC,CAAC;IAEH,iGAAiG;IACjG,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnJ,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACjC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,+BAA+B,CAAC,CAAC;QAClJ,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC3B,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC9B,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7H,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC1C,kIAAkI;QAClI,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C;;;;;WAKG;QACH,IAAI,EAAE,CAAC,CAAC,QAAQ,CACd,CAAC,CAAC,YAAY,CAAC;YACb,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;SACvG,CAAC,CACH;QACD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/C;;;;WAIG;QACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,6CAA6C,CAAC,CAAC,CAAC;QACpL;;;;;;WAMG;QACH,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,wEAAwE;QACxE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,kJAAkJ;QAClJ,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/B,2IAA2I;QAC3I,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,yJAAyJ;QACzJ,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;KACnD,CAAC,CAAC;IAEH,wGAAwG;IACxG,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvI,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,0BAA0B,EAAE,0DAA0D,CAAC,CAAC,CAAC;IAE9H,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QAChJ,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChF,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;QACzD,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;QACvD,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;KAChC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC;QAC7B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACjC,oFAAoF;QACpF,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACtC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC9B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5B;;;;WAIG;QACH,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrD;;;;WAIG;QACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5C,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACnC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7B,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;KACrC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC;QAChC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;KAClD,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC;QAC9B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9B,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACjC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5B,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC1B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;KACrD,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC;QAC/B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7B,8EAA8E;QAC9E,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;KAChC,CAAC,CAAC;IAEH;;;;;OAKG;IACH,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC;QAC/B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5B,4GAA4G;QAC5G,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5B,6FAA6F;QAC7F,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzB,wFAAwF;QACxF,MAAM,EAAE,UAAU;QAClB,qHAAqH;QACrH,IAAI,EAAE,UAAU;KACjB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC;QAChC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KACrC,CAAC,CAAC;IAEH;;;;;;;OAOG;IACH,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAAE,qCAAqC,CAAC,CAAC,CAAC;QACzG;;;;;;WAMG;QACH,MAAM,EAAE,CAAC,CAAC,QAAQ,CAChB,CAAC,CAAC,KAAK,CAAC;YACN,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAAE,oCAAoC,CAAC,CAAC;YACpF,CAAC,CAAC,YAAY,CAAC;gBACb,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAAE,oCAAoC,CAAC,CAAC,CAAC;gBACvG,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAAE,oCAAoC,CAAC,CAAC,CAAC;aACvG,CAAC;SACH,CAAC,CACH;QACD,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,0DAA0D,CAAC,CAAC,CAAC;QACzH,4FAA4F;QAC5F,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,oGAAoG;QACpG,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhC;;;;;WAKG;QACH,IAAI,EAAE,CAAC,CAAC,QAAQ,CAChB,CAAC,CAAC,KAAK,CAAC;YACN,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC;YAChB,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YACvE,kJAAkJ;YAClJ,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;SAC7J,CAAC,CACH;QACC,4IAA4I;QAC5I,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACvF,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1I,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,YAAY,CAAC;YACb,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YACjE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SACvE,CAAC,CACH;QACD,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACrD;;;;;WAKG;QACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAEhD,2EAA2E;IAC3E,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjI,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtE;;;;;;;;;;;OAWG;IACH,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC;QAC7B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC,CAAC,QAAQ,CACjB,CAAC,CAAC,WAAW,CAAC;YACZ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC9B,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;YACpC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACrD,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC5O,CAAC,CACH;KACF,CAAC,CAAC;IAEH,2GAA2G;IAC3G,MAAM,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC;QACnC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KACvC,CAAC,CAAC;IAEH,mHAAmH;IACnH,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,KAAK,CAAC;YACb,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;YACX,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACzI,CAAC,CAAC;IACL,CAAC,CAAC;IACF,sIAAsI;IACtI,MAAM,aAAa,GAAG,GAAG,EAAE,CACzB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvK;;;;;OAKG;IACH,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC;QAC9B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACrC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,gHAAgH;QAChH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACpD;;;;WAIG;QACH,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B;;;WAGG;QACH,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,MAAM,CACN,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,YAAY,CAAC;YACb,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACrD,6GAA6G;YAC7G,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAChC,oHAAoH;YACpH,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAClC,kGAAkG;YAClG,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAChC,CAAC,CACH,CACF;KACF,CAAC,CAAC;IAEH;;;OAGG;IACH,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC;QAC9B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC3B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzB,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC/B,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;QAClC,yHAAyH;QACzH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACzB,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QACxC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACjC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,KAAK,EAAE,CAAC;aACL,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;aAC9B,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,uCAAuC,CAAC,EAC5G,CAAC,CAAC,MAAM,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,sCAAsC,CAAC,CAC9G;QACH;;;;;WAKG;QACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QAChD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC9B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5B,0GAA0G;QAC1G,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC;;;;;WAKG;QACH,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5D,+GAA+G;QAC/G,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnD;;;WAGG;QACH,UAAU,EAAE,CAAC,CAAC,QAAQ,CACpB,CAAC,CAAC,YAAY,CAAC;YACb,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACpC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC;YAC1C,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;SAClD,CAAC,CACH;KACF,CAAC,CAAC;IACH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AACrL,CAAC;AAED,IAAI,KAA2C,CAAC;AAChD,qEAAqE;AACrE,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/document/schema.ts"],"names":[],"mappings":"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"}