@graview/core 0.1.36 → 0.1.37

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 (229) hide show
  1. package/README.md +7 -0
  2. package/dist/answer-seen.d.ts +1 -1
  3. package/dist/answer-seen.d.ts.map +1 -1
  4. package/dist/answer-seen.js.map +1 -1
  5. package/dist/arrange.d.ts +4 -2
  6. package/dist/arrange.d.ts.map +1 -1
  7. package/dist/arrange.js +2 -1
  8. package/dist/arrange.js.map +1 -1
  9. package/dist/arrangement.d.ts +10 -2
  10. package/dist/arrangement.d.ts.map +1 -1
  11. package/dist/arrangement.js +0 -1
  12. package/dist/arrangement.js.map +1 -1
  13. package/dist/blocks.d.ts +1 -1
  14. package/dist/blocks.d.ts.map +1 -1
  15. package/dist/blocks.js +1 -1
  16. package/dist/blocks.js.map +1 -1
  17. package/dist/cli/check/brand.d.ts.map +1 -1
  18. package/dist/cli/check/brand.js +6 -0
  19. package/dist/cli/check/brand.js.map +1 -1
  20. package/dist/cli/check/clock-rules.js +1 -1
  21. package/dist/cli/check/clock-rules.js.map +1 -1
  22. package/dist/cli/check/relations.d.ts +0 -1
  23. package/dist/cli/check/relations.d.ts.map +1 -1
  24. package/dist/cli/check/relations.js +0 -50
  25. package/dist/cli/check/relations.js.map +1 -1
  26. package/dist/cli/check.d.ts.map +1 -1
  27. package/dist/cli/check.js +4 -4
  28. package/dist/cli/check.js.map +1 -1
  29. package/dist/cli/describe.d.ts.map +1 -1
  30. package/dist/cli/describe.js +19 -0
  31. package/dist/cli/describe.js.map +1 -1
  32. package/dist/cli/types.d.ts.map +1 -1
  33. package/dist/cli/types.js +3 -2
  34. package/dist/cli/types.js.map +1 -1
  35. package/dist/clock.d.ts +23 -11
  36. package/dist/clock.d.ts.map +1 -1
  37. package/dist/clock.js +41 -18
  38. package/dist/clock.js.map +1 -1
  39. package/dist/conformance/fixtures.d.ts.map +1 -1
  40. package/dist/conformance/fixtures.js +47 -0
  41. package/dist/conformance/fixtures.js.map +1 -1
  42. package/dist/days.d.ts +67 -16
  43. package/dist/days.d.ts.map +1 -1
  44. package/dist/days.js +145 -22
  45. package/dist/days.js.map +1 -1
  46. package/dist/describe.d.ts +2 -1
  47. package/dist/describe.d.ts.map +1 -1
  48. package/dist/describe.js.map +1 -1
  49. package/dist/document/block-context.js +1 -1
  50. package/dist/document/block-context.js.map +1 -1
  51. package/dist/document/blocks.d.ts +1 -1
  52. package/dist/document/blocks.d.ts.map +1 -1
  53. package/dist/document/blocks.js +6 -6
  54. package/dist/document/blocks.js.map +1 -1
  55. package/dist/document/brand-check.d.ts.map +1 -1
  56. package/dist/document/brand-check.js +5 -0
  57. package/dist/document/brand-check.js.map +1 -1
  58. package/dist/document/brand.d.ts +2 -1
  59. package/dist/document/brand.d.ts.map +1 -1
  60. package/dist/document/brand.js +4 -3
  61. package/dist/document/brand.js.map +1 -1
  62. package/dist/document/compile.d.ts.map +1 -1
  63. package/dist/document/compile.js +3 -2
  64. package/dist/document/compile.js.map +1 -1
  65. package/dist/document/compiled.d.ts +1 -1
  66. package/dist/document/compiled.d.ts.map +1 -1
  67. package/dist/document/compiled.js +5 -2
  68. package/dist/document/compiled.js.map +1 -1
  69. package/dist/document/describe-coverage.d.ts +1 -1
  70. package/dist/document/describe-coverage.d.ts.map +1 -1
  71. package/dist/document/describe-place.d.ts +1 -110
  72. package/dist/document/describe-place.d.ts.map +1 -1
  73. package/dist/document/describe-place.js +3 -3
  74. package/dist/document/describe-place.js.map +1 -1
  75. package/dist/document/described.d.ts +111 -0
  76. package/dist/document/described.d.ts.map +1 -0
  77. package/dist/document/described.js +8 -0
  78. package/dist/document/described.js.map +1 -0
  79. package/dist/document/diff.d.ts +2 -0
  80. package/dist/document/diff.d.ts.map +1 -1
  81. package/dist/document/diff.js +4 -0
  82. package/dist/document/diff.js.map +1 -1
  83. package/dist/document/edit.d.ts.map +1 -1
  84. package/dist/document/edit.js +52 -7
  85. package/dist/document/edit.js.map +1 -1
  86. package/dist/document/field-spec.js +1 -1
  87. package/dist/document/field-spec.js.map +1 -1
  88. package/dist/document/framework-path.d.ts.map +1 -1
  89. package/dist/document/framework-path.js +5 -0
  90. package/dist/document/framework-path.js.map +1 -1
  91. package/dist/document/migrate.d.ts.map +1 -1
  92. package/dist/document/migrate.js +3 -2
  93. package/dist/document/migrate.js.map +1 -1
  94. package/dist/document/money.d.ts +4 -0
  95. package/dist/document/money.d.ts.map +1 -1
  96. package/dist/document/money.js.map +1 -1
  97. package/dist/document/policy-words.d.ts.map +1 -1
  98. package/dist/document/policy-words.js +12 -1
  99. package/dist/document/policy-words.js.map +1 -1
  100. package/dist/document/relation-acts.d.ts +25 -0
  101. package/dist/document/relation-acts.d.ts.map +1 -0
  102. package/dist/document/relation-acts.js +23 -0
  103. package/dist/document/relation-acts.js.map +1 -0
  104. package/dist/document/rule-line.d.ts +1 -1
  105. package/dist/document/rule-line.d.ts.map +1 -1
  106. package/dist/document/rule-line.js +3 -3
  107. package/dist/document/rule-line.js.map +1 -1
  108. package/dist/document/schema.d.ts +16 -2
  109. package/dist/document/schema.d.ts.map +1 -1
  110. package/dist/document/schema.js +7 -3
  111. package/dist/document/schema.js.map +1 -1
  112. package/dist/document/template.d.ts +2 -2
  113. package/dist/document/template.d.ts.map +1 -1
  114. package/dist/document/template.js +19 -6
  115. package/dist/document/template.js.map +1 -1
  116. package/dist/document/to-document.d.ts.map +1 -1
  117. package/dist/document/to-document.js +4 -2
  118. package/dist/document/to-document.js.map +1 -1
  119. package/dist/document/views.d.ts +1 -1
  120. package/dist/document/views.d.ts.map +1 -1
  121. package/dist/document/views.js +3 -3
  122. package/dist/document/views.js.map +1 -1
  123. package/dist/document.schema.json +13 -2
  124. package/dist/field-sight.d.ts +1 -1
  125. package/dist/field-sight.d.ts.map +1 -1
  126. package/dist/import/coerce.d.ts.map +1 -1
  127. package/dist/import/coerce.js +1 -0
  128. package/dist/import/coerce.js.map +1 -1
  129. package/dist/import/rows.js +1 -1
  130. package/dist/import/rows.js.map +1 -1
  131. package/dist/index.d.ts +5 -4
  132. package/dist/index.d.ts.map +1 -1
  133. package/dist/index.js +4 -4
  134. package/dist/index.js.map +1 -1
  135. package/dist/invariants/types.d.ts +2 -1
  136. package/dist/invariants/types.d.ts.map +1 -1
  137. package/dist/kind-list.d.ts +1 -11
  138. package/dist/kind-list.d.ts.map +1 -1
  139. package/dist/kind-list.js +13 -1
  140. package/dist/kind-list.js.map +1 -1
  141. package/dist/mutations/arg-shape.d.ts +2 -1
  142. package/dist/mutations/arg-shape.d.ts.map +1 -1
  143. package/dist/mutations/arg-shape.js +1 -1
  144. package/dist/mutations/arg-shape.js.map +1 -1
  145. package/dist/mutations/derive-edits.d.ts +1 -1
  146. package/dist/mutations/derive-edits.d.ts.map +1 -1
  147. package/dist/mutations/derive-edits.js +6 -4
  148. package/dist/mutations/derive-edits.js.map +1 -1
  149. package/dist/mutations/derive-relations.d.ts +36 -0
  150. package/dist/mutations/derive-relations.d.ts.map +1 -0
  151. package/dist/mutations/derive-relations.js +112 -0
  152. package/dist/mutations/derive-relations.js.map +1 -0
  153. package/dist/mutations/derived-names.d.ts +42 -0
  154. package/dist/mutations/derived-names.d.ts.map +1 -1
  155. package/dist/mutations/derived-names.js +46 -0
  156. package/dist/mutations/derived-names.js.map +1 -1
  157. package/dist/mutations/form.d.ts +1 -0
  158. package/dist/mutations/form.d.ts.map +1 -1
  159. package/dist/mutations/form.js +1 -1
  160. package/dist/mutations/form.js.map +1 -1
  161. package/dist/mutations/keep-link.d.ts +3 -1
  162. package/dist/mutations/keep-link.d.ts.map +1 -1
  163. package/dist/mutations/keep-link.js +3 -1
  164. package/dist/mutations/keep-link.js.map +1 -1
  165. package/dist/mutations/kept-arguments.d.ts +1 -1
  166. package/dist/mutations/kept-arguments.d.ts.map +1 -1
  167. package/dist/mutations/types.d.ts +3 -2
  168. package/dist/mutations/types.d.ts.map +1 -1
  169. package/dist/ops/digest.d.ts +1 -1
  170. package/dist/ops/digest.d.ts.map +1 -1
  171. package/dist/ops/digest.js +5 -4
  172. package/dist/ops/digest.js.map +1 -1
  173. package/dist/past.d.ts.map +1 -1
  174. package/dist/past.js +1 -0
  175. package/dist/past.js.map +1 -1
  176. package/dist/permissions/sight.d.ts +32 -2
  177. package/dist/permissions/sight.d.ts.map +1 -1
  178. package/dist/permissions/sight.js.map +1 -1
  179. package/dist/scaffold/project.d.ts.map +1 -1
  180. package/dist/scaffold/project.js +8 -1
  181. package/dist/scaffold/project.js.map +1 -1
  182. package/dist/scaffold/ui.d.ts.map +1 -1
  183. package/dist/scaffold/ui.js +10 -18
  184. package/dist/scaffold/ui.js.map +1 -1
  185. package/dist/schema/file-field.d.ts +2 -0
  186. package/dist/schema/file-field.d.ts.map +1 -1
  187. package/dist/schema/file-field.js +10 -5
  188. package/dist/schema/file-field.js.map +1 -1
  189. package/dist/schema/file-fields.d.ts +5 -1
  190. package/dist/schema/file-fields.d.ts.map +1 -1
  191. package/dist/schema/file-fields.js +13 -3
  192. package/dist/schema/file-fields.js.map +1 -1
  193. package/dist/schema/files.d.ts +42 -7
  194. package/dist/schema/files.d.ts.map +1 -1
  195. package/dist/schema/files.js +30 -5
  196. package/dist/schema/files.js.map +1 -1
  197. package/dist/schema/reading.d.ts +2 -0
  198. package/dist/schema/reading.d.ts.map +1 -1
  199. package/dist/schema/reading.js +20 -6
  200. package/dist/schema/reading.js.map +1 -1
  201. package/dist/schema/types.d.ts +13 -5
  202. package/dist/schema/types.d.ts.map +1 -1
  203. package/dist/seen.d.ts +31 -36
  204. package/dist/seen.d.ts.map +1 -1
  205. package/dist/seen.js +1 -1
  206. package/dist/seen.js.map +1 -1
  207. package/dist/store.d.ts +20 -4
  208. package/dist/store.d.ts.map +1 -1
  209. package/dist/store.js +79 -13
  210. package/dist/store.js.map +1 -1
  211. package/dist/theme/types.d.ts +9 -0
  212. package/dist/theme/types.d.ts.map +1 -1
  213. package/dist/theme/types.js.map +1 -1
  214. package/dist/typed.d.ts +2 -2
  215. package/dist/typed.d.ts.map +1 -1
  216. package/dist/version.d.ts +1 -1
  217. package/dist/version.js +1 -1
  218. package/dist/wall-time.d.ts +2 -2
  219. package/dist/wall-time.d.ts.map +1 -1
  220. package/dist/wall-time.js +17 -9
  221. package/dist/wall-time.js.map +1 -1
  222. package/dist/watched.d.ts +10 -0
  223. package/dist/watched.d.ts.map +1 -1
  224. package/dist/watched.js +9 -0
  225. package/dist/watched.js.map +1 -1
  226. package/dist/when-typed.d.ts.map +1 -1
  227. package/dist/when-typed.js +14 -3
  228. package/dist/when-typed.js.map +1 -1
  229. package/package.json +1 -1
@@ -236,7 +236,7 @@ function Starter({ onCall }: { onCall: (call: ToolCall) => void }) {
236
236
  }
237
237
  export function pagesTsx(ids) {
238
238
  return `import { isCurrent, nounOf, withArticle } from "@graview/core";
239
- import { Begin, EditableValue, TextBody } from "@graview/primitives";
239
+ import { Begin, EditableValue } from "@graview/primitives";
240
240
  import { useGraviewIfAny } from "@graview/react";
241
241
  import {
242
242
  createPageRegistry,
@@ -246,6 +246,7 @@ import {
246
246
  pageStyles,
247
247
  recordFacts,
248
248
  recordPath,
249
+ RecordField,
249
250
  Repairs,
250
251
  spatialHref,
251
252
  useStoreTick,
@@ -357,25 +358,16 @@ function ${ids.KindPascal}Page({ context }: { context: PageContext<S> }) {
357
358
  * the name, formatted as the declaration says. A page that dropped
358
359
  * them looked finished on the one-kind scaffold, where the only
359
360
  * field is the name, and hid the price of every vehicle a day later.
361
+ * Each is drawn as the derived record page draws it (\`RecordField\`):
362
+ * a picture or a video plays, prose keeps its paragraphs, a date is
363
+ * changed by the date editor where it stands. Drawn here as text, a
364
+ * trailer was a file name and a time took "Change" (the twelfth walk).
360
365
  */}
361
366
  {facts.fields.length > 0 ? (
362
- <dl style={{ ...pageStyles.rule, margin: 0, display: "grid", gridTemplateColumns: "minmax(0, max-content) minmax(0, 1fr)", gap: "6px 18px" }} data-testid="record-fields">
363
- {facts.fields.map((field) =>
364
- /* Prose — a draft, a note — spans the page under its label, its paragraphs and lists kept; Markdown drawn as prose (FR-180). */
365
- field.long ? (
366
- <div key={field.key} style={{ gridColumn: "1 / -1", display: "grid", gap: 4, marginTop: 6 }}>
367
- <dt style={pageStyles.quiet}>{field.label}</dt>
368
- <dd style={{ margin: 0 }}>
369
- <TextBody text={field.value} markdown={field.markdown} />
370
- </dd>
371
- </div>
372
- ) : (
373
- <div key={field.key} style={{ display: "contents" }}>
374
- <dt style={pageStyles.quiet}>{field.label}</dt>
375
- <dd style={{ margin: 0, overflowWrap: "anywhere" }}>{field.value}</dd>
376
- </div>
377
- ),
378
- )}
367
+ <dl style={{ ...pageStyles.rule, margin: 0, display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(200px, 1fr))", gap: "14px 24px" }} data-testid="record-fields">
368
+ {facts.fields.map((field) => (
369
+ <RecordField<S> key={field.key} nodeId={id} node={node} field={field} inPlace={inPlace} />
370
+ ))}
379
371
  </dl>
380
372
  ) : null}
381
373
  {ties.length > 0 ? (
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/scaffold/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhF;;;GAGG;AAEH,MAAM,UAAU,SAAS,CAAC,GAAQ;IAChC,OAAO;;;;SAIA,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;;;;;;;;;;CAU5B,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,GAAQ;IAChC,OAAO;;;;SAIA,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;;;iDAGoB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;eACtD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;MAsB7B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;;;;;;;;;CASzB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAQ;IAC/B,OAAO;WACE,GAAG,CAAC,MAAM;;;;KAIhB,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;;;;;;;;;;SAUlC,GAAG,CAAC,MAAM;;;;;;YAMP,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;;CAEjC,CAAC;AACF,CAAC;AAED,4EAA4E;AAE5E,MAAM,UAAU,QAAQ,CAAC,GAAQ;IAC/B,OAAO;;WAEE,GAAG,CAAC,MAAM;WACV,GAAG,CAAC,SAAS;;;;;;;;;;oEAU4C,GAAG,CAAC,IAAI;;;;;;;uDAOrB,GAAG,CAAC,SAAS,iBAAiB,GAAG,CAAC,SAAS,OAAO,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,MAAM;uCAC9F,GAAG,CAAC,MAAM;;CAEhD,CAAC;AACF,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAQ;IAC/B,OAAO;;;;;;WAME,GAAG,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAS;WAC9C,GAAG,CAAC,QAAQ;gBACP,GAAG,CAAC,UAAU;;;WAGnB,GAAG,CAAC,UAAU;;;;;;;;mBAQN,GAAG,CAAC,YAAY;qBACd,GAAG,CAAC,SAAS;;;;;;;;;;;2CAWS,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;;;;kBAIjD,GAAG,CAAC,YAAY;;;;;;;KAO7B,GAAG,CAAC,YAAY;;;;;;;;;;;eAWN,GAAG,CAAC,QAAQ;kBACT,GAAG,CAAC,MAAM;aACf,GAAG,CAAC,MAAM;;;;;;;;;;;;oCAYa,GAAG,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6BhC,GAAG,CAAC,IAAI;;;;;;;;;;;;;;CAcrB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAQ;IAC/B,OAAO;;;;;;;;;;;;;;;;;;WAkBE,GAAG,CAAC,SAAS,UAAU,GAAG,CAAC,UAAU;;WAErC,GAAG,CAAC,UAAU;;;;;;;wCAOe,GAAG,CAAC,MAAM;;;;;WAKvC,GAAG,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAiCM,GAAG,CAAC,MAAM;;;;;wBAKjB,GAAG,CAAC,MAAM;;;;;;;;+CAQa,GAAG,CAAC,IAAI;;;;;;;iKAO0G,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAwE9I,GAAG,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA8ET,GAAG,CAAC,MAAM;;mDAEN,GAAG,CAAC,SAAS;iBAC/C,GAAG,CAAC,IAAI,gBAAgB,GAAG,CAAC,UAAU;;;CAGtD,CAAC;AACF,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAQ;IAC9B,OAAO;;;;WAIE,GAAG,CAAC,MAAM;WACV,GAAG,CAAC,QAAQ;WACZ,GAAG,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;uCAsBY,GAAG,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;SAuB1C,GAAG,CAAC,MAAM;;;;;;;;;;;;;iBAaF,GAAG,CAAC,QAAQ;;;;;;;;;;oBAUT,GAAG,CAAC,MAAM;eACf,GAAG,CAAC,MAAM;;;;;;;;OAQlB,GAAG,CAAC,YAAY;;;;;;CAMtB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/scaffold/ui.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { z } from "zod";
2
2
  import { type FileValue } from "./files.js";
3
3
  /** A field that holds one picture: a `FileValue` whose type is an image's. */
4
4
  export declare function imageField(): z.ZodType<FileValue>;
5
+ /** A field that holds one video (0.1.37): a `FileValue` whose type is a video's, with its poster, its length and its captions where the host said them. */
6
+ export declare function videoField(): z.ZodType<FileValue>;
5
7
  /** A field that holds one file of any type: a `FileValue`. */
6
8
  export declare function fileField(): z.ZodType<FileValue>;
7
9
  //# sourceMappingURL=file-field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-field.d.ts","sourceRoot":"","sources":["../../src/schema/file-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAA6C,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAiBvF,8EAA8E;AAC9E,wBAAgB,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAEjD;AAED,8DAA8D;AAC9D,wBAAgB,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAEhD"}
1
+ {"version":3,"file":"file-field.d.ts","sourceRoot":"","sources":["../../src/schema/file-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAmE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAkB7G,8EAA8E;AAC9E,wBAAgB,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAEjD;AAED,2JAA2J;AAC3J,wBAAgB,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAEjD;AAED,8DAA8D;AAC9D,wBAAgB,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAEhD"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { fileShape, isFileValue, isImage, markFile } from "./files.js";
2
+ import { fileRefusal, fileShape, isFileValue, isImage, isVideo, markFile } from "./files.js";
3
3
  /*
4
4
  * A DECLARATION'S PICTURE AND DOCUMENT FIELDS (FR-162), in the classic zod a
5
5
  * product writes its kinds in, so they chain like any other field:
@@ -10,13 +10,18 @@ import { fileShape, isFileValue, isImage, markFile } from "./files.js";
10
10
  * papers: z.array(fileField()).max(20),
11
11
  * })
12
12
  *
13
- * A document says the same as `{"type": "image"}`, `{"type": "file"}` and
14
- * `{"type": "list", "of": "image"}`. The value is a `FileValue` the host's
15
- * upload answered; its `href` is a path on the host (see `safeFileHref`).
13
+ * A document says the same as `{"type": "image"}`, `{"type": "video"}`,
14
+ * `{"type": "file"}` and `{"type": "list", "of": "image"}`. The value is a
15
+ * `FileValue` the host's upload answered; its `href` is a path on the host
16
+ * (see `safeFileHref`).
16
17
  */
17
18
  /** A field that holds one picture: a `FileValue` whose type is an image's. */
18
19
  export function imageField() {
19
- return markFile(z.object(fileShape()).refine((v) => isFileValue(v) && isImage(v), "an image the host stored, at a path on this host"), "image");
20
+ return markFile(z.object(fileShape()).refine((v) => isFileValue(v) && isImage(v), fileRefusal("image")), "image");
21
+ }
22
+ /** A field that holds one video (0.1.37): a `FileValue` whose type is a video's, with its poster, its length and its captions where the host said them. */
23
+ export function videoField() {
24
+ return markFile(z.object(fileShape()).refine((v) => isFileValue(v) && isVideo(v), fileRefusal("video")), "video");
20
25
  }
21
26
  /** A field that holds one file of any type: a `FileValue`. */
22
27
  export function fileField() {
@@ -1 +1 @@
1
- {"version":3,"file":"file-field.js","sourceRoot":"","sources":["../../src/schema/file-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAC;AAEvF;;;;;;;;;;;;;GAaG;AAEH,8EAA8E;AAC9E,MAAM,UAAU,UAAU;IACxB,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,kDAAkD,CAAC,EAAE,OAAO,CAAU,CAAC;AAC3J,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,SAAS;IACvB,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,gDAAgD,CAAC,EAAE,MAAM,CAAU,CAAC;AAChI,CAAC"}
1
+ {"version":3,"file":"file-field.js","sourceRoot":"","sources":["../../src/schema/file-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAC;AAE7G;;;;;;;;;;;;;;GAcG;AAEH,8EAA8E;AAC9E,MAAM,UAAU,UAAU;IACxB,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAU,CAAC;AAC7H,CAAC;AAED,2JAA2J;AAC3J,MAAM,UAAU,UAAU;IACxB,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAU,CAAC;AAC7H,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,SAAS;IACvB,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,gDAAgD,CAAC,EAAE,MAAM,CAAU,CAAC;AAChI,CAAC"}
@@ -1,11 +1,15 @@
1
1
  import { type FileValue } from "./files.js";
2
2
  /** What a file is said as where it cannot be seen: its caption, else its name. */
3
3
  export declare const fileWords: (file: FileValue) => string;
4
+ /** What a file is said as to somebody listening: its words, and for a video how long it is (0.1.37): "beach.mov, a 45-second video". */
5
+ export declare const fileSaid: (file: FileValue) => string;
6
+ /** A video's length as a player's clock says it (0.1.37): "0:45", "2:05", "1:02:05". */
7
+ export declare function videoClock(duration: number): string;
4
8
  /** The fields of a kind that hold files — one, or a list of them — in declared order. */
5
9
  export declare function fileFieldsOf(definition: {
6
10
  readonly fields?: unknown;
7
11
  } | undefined): readonly string[];
8
- /** A record's first picture, in its kind's declared order: what a card or a row shows small. */
12
+ /** A record's first picture — or video, drawn by its poster (0.1.37) — in its kind's declared order: what a card or a row shows small. */
9
13
  export declare function firstPicture(node: Readonly<Record<string, unknown>>, definition: {
10
14
  readonly fields?: unknown;
11
15
  } | undefined): FileValue | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"file-fields.d.ts","sourceRoot":"","sources":["../../src/schema/file-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAW1E,kFAAkF;AAClF,eAAO,MAAM,SAAS,GAAI,MAAM,SAAS,KAAG,MAA2C,CAAC;AAExF,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,UAAU,EAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CAOrG;AAED,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAMlJ"}
1
+ {"version":3,"file":"file-fields.d.ts","sourceRoot":"","sources":["../../src/schema/file-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAW/F,kFAAkF;AAClF,eAAO,MAAM,SAAS,GAAI,MAAM,SAAS,KAAG,MAA2C,CAAC;AAExF,wIAAwI;AACxI,eAAO,MAAM,QAAQ,GAAI,MAAM,SAAS,KAAG,MAAuF,CAAC;AAEnI,wFAAwF;AACxF,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,UAAU,EAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CAOrG;AAED,0IAA0I;AAC1I,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAMlJ"}
@@ -1,4 +1,4 @@
1
- import { filesOf, fileKindOf, isImage } from "./files.js";
1
+ import { filesOf, fileKindOf, isImage, isVideo, videoWords } from "./files.js";
2
2
  import { defOf } from "./zod.js";
3
3
  /*
4
4
  * WHAT ONLY A DRAWN RECORD ASKS OF ITS FILES (FR-162): which fields hold
@@ -9,6 +9,16 @@ import { defOf } from "./zod.js";
9
9
  */
10
10
  /** What a file is said as where it cannot be seen: its caption, else its name. */
11
11
  export const fileWords = (file) => file.caption?.trim() || file.name;
12
+ /** What a file is said as to somebody listening: its words, and for a video how long it is (0.1.37): "beach.mov, a 45-second video". */
13
+ export const fileSaid = (file) => (isVideo(file) ? `${fileWords(file)}, ${videoWords(file)}` : fileWords(file));
14
+ /** A video's length as a player's clock says it (0.1.37): "0:45", "2:05", "1:02:05". */
15
+ export function videoClock(duration) {
16
+ const total = Math.max(0, Math.round(duration));
17
+ const two = (n) => String(n).padStart(2, "0");
18
+ const hours = Math.floor(total / 3600);
19
+ const minutes = Math.floor((total % 3600) / 60);
20
+ return hours > 0 ? `${hours}:${two(minutes)}:${two(total % 60)}` : `${minutes}:${two(total % 60)}`;
21
+ }
12
22
  /** The fields of a kind that hold files — one, or a list of them — in declared order. */
13
23
  export function fileFieldsOf(definition) {
14
24
  const shape = definition?.fields?.shape ?? {};
@@ -19,10 +29,10 @@ export function fileFieldsOf(definition) {
19
29
  return fileKindOf(shape[key]) !== undefined || (def?.type === "array" && fileKindOf(def.element) !== undefined);
20
30
  });
21
31
  }
22
- /** A record's first picture, in its kind's declared order: what a card or a row shows small. */
32
+ /** A record's first picture — or video, drawn by its poster (0.1.37) — in its kind's declared order: what a card or a row shows small. */
23
33
  export function firstPicture(node, definition) {
24
34
  for (const key of fileFieldsOf(definition)) {
25
- const found = filesOf(node[key]).find(isImage);
35
+ const found = filesOf(node[key]).find((file) => isImage(file) || isVideo(file));
26
36
  if (found)
27
37
  return found;
28
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-fields.js","sourceRoot":"","sources":["../../src/schema/file-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAkB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC;;;;;;GAMG;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAe,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC;AAExF,yFAAyF;AACzF,MAAM,UAAU,YAAY,CAAC,UAAqD;IAChF,MAAM,KAAK,GAAI,UAAU,EAAE,MAA0D,EAAE,KAAK,IAAI,EAAE,CAAC;IACnG,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACvC,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,OAAO,GAAG,EAAE,SAAS;YAAE,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC;IAClH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,YAAY,CAAC,IAAuC,EAAE,UAAqD;IACzH,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"file-fields.js","sourceRoot":"","sources":["../../src/schema/file-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAkB,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC;;;;;;GAMG;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAe,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC;AAExF,wIAAwI;AACxI,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAe,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAEnI,wFAAwF;AACxF,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAChD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC;AACrG,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,YAAY,CAAC,UAAqD;IAChF,MAAM,KAAK,GAAI,UAAU,EAAE,MAA0D,EAAE,KAAK,IAAI,EAAE,CAAC;IACnG,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACvC,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,OAAO,GAAG,EAAE,SAAS;YAAE,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC;IAClH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0IAA0I;AAC1I,MAAM,UAAU,YAAY,CAAC,IAAuC,EAAE,UAAqD;IACzH,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -9,11 +9,21 @@ export interface FileValue {
9
9
  readonly type: string;
10
10
  /** Its size in bytes. */
11
11
  readonly bytes: number;
12
- /** A picture's size in pixels, where the host knows it. */
12
+ /** A picture's or a video's size in pixels, where the host knows it. */
13
13
  readonly width?: number;
14
14
  readonly height?: number;
15
15
  /** What it shows, in words: a picture's alt text, and what Find matches beside its name. */
16
16
  readonly caption?: string;
17
+ /**
18
+ * A VIDEO'S FACTS (0.1.37), where the host's upload answered them: the
19
+ * picture drawn before it plays (a path on the host, as `href` is), its
20
+ * length in seconds, and its captions (a WebVTT file on the host). Unsaid,
21
+ * the page draws the video's first frame and reads its length from what
22
+ * the player loads first (`preload="metadata"`).
23
+ */
24
+ readonly poster?: string;
25
+ readonly duration?: number;
26
+ readonly captions?: string;
17
27
  }
18
28
  /**
19
29
  * THE HOST'S FILES (FR-163): handed to `mount`, `<Embed>`, `GraviewProvider`
@@ -24,6 +34,12 @@ export interface FileValue {
24
34
  * is sent. Without it, the editor says this host takes no files.
25
35
  */
26
36
  export interface HostFiles {
37
+ /**
38
+ * A video (`video/*` in `kinds`, 0.1.37) is sent as it was picked: the
39
+ * host answers a value a browser plays (an H.264 MP4 made from a phone's
40
+ * HEVC `.mov`, say) with its `poster`, `duration`, `width` and `height`
41
+ * where it knows them.
42
+ */
27
43
  upload(file: Blob, name: string): Promise<FileValue>;
28
44
  readonly maxBytes: number;
29
45
  readonly kinds: readonly string[];
@@ -59,12 +75,28 @@ export declare function isFileValue(value: unknown): value is FileValue;
59
75
  export declare const isImage: (file: {
60
76
  readonly type: string;
61
77
  }) => boolean;
78
+ /** Whether a file is a video a page can play (0.1.37). */
79
+ export declare const isVideo: (file: {
80
+ readonly type: string;
81
+ }) => boolean;
82
+ /** A video's length as a person reads it: "a 45-second video", "a 3-minute video", "a 1-hour 7-minute video"; "a video" where its length is unsaid. */
83
+ export declare function videoWords(file: {
84
+ readonly duration?: number;
85
+ }): string;
86
+ /** What a file field holds: a picture, a video, or a file of any type. */
87
+ export type FileKind = "image" | "video" | "file";
88
+ /** Whether a file is of the sort a field of `as` holds. */
89
+ export declare const fileOfKind: (file: {
90
+ readonly type: string;
91
+ }, as: FileKind) => boolean;
92
+ /** What a field of `as` holds, said where a value is refused. */
93
+ export declare const fileRefusal: (as: FileKind) => string;
62
94
  /** The files a value holds: one, a list of them, or none. */
63
95
  export declare const filesOf: (value: unknown) => readonly FileValue[];
64
- /** Marks a schema as holding an image or a file. */
65
- export declare const markFile: <T extends object>(schema: T, as: "image" | "file") => T;
66
- /** Whether a field holds an image or a file — under optional, default and nullable — or neither. */
67
- export declare function fileKindOf(schema: unknown): "image" | "file" | undefined;
96
+ /** Marks a schema as holding an image, a video or a file. */
97
+ export declare const markFile: <T extends object>(schema: T, as: FileKind) => T;
98
+ /** Whether a field holds an image, a video or a file — under optional, default and nullable — or none of them. */
99
+ export declare function fileKindOf(schema: unknown): FileKind | undefined;
68
100
  /** The value's fields, as a tool schema says them. */
69
101
  export declare const fileShape: () => {
70
102
  href: z.ZodMiniString<string>;
@@ -74,7 +106,10 @@ export declare const fileShape: () => {
74
106
  width: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
75
107
  height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
76
108
  caption: z.ZodMiniOptional<z.ZodMiniString<string>>;
109
+ poster: z.ZodMiniOptional<z.ZodMiniString<string>>;
110
+ duration: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
111
+ captions: z.ZodMiniOptional<z.ZodMiniString<string>>;
77
112
  };
78
- /** A document's `image` or `file` field, in zod/mini. */
79
- export declare function fileSchema(as: "image" | "file"): z.ZodMiniType;
113
+ /** A document's `image`, `video` or `file` field, in zod/mini. */
114
+ export declare function fileSchema(as: FileKind): z.ZodMiniType;
80
115
  //# sourceMappingURL=files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/schema/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAsB9B,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACxB,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;;;;;;OAUG;IACH,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD;;;;;;;OAOG;IACH,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,0JAA0J;AAC1J,eAAO,MAAM,OAAO,GAAI,OAAO,SAAS,GAAG,SAAS,EAAE,MAAM,MAAM,KAAG,MAAoC,CAAC;AAE1G,yGAAyG;AACzG,eAAO,MAAM,YAAY,GAAI,MAAM,OAAO,KAAG,IAAI,IAAI,MAC8E,CAAC;AAKpI,8JAA8J;AAC9J,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAY9D;AAED,mDAAmD;AACnD,eAAO,MAAM,OAAO,GAAI,MAAM;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,OAAyC,CAAC;AAEpG,6DAA6D;AAC7D,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,KAAG,SAAS,SAAS,EAAkE,CAAC;AAU9H,oDAAoD;AACpD,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,OAAO,GAAG,MAAM,KAAG,CAA2F,CAAC;AAEzK,oGAAoG;AACpG,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAGxE;AAED,sDAAsD;AACtD,eAAO,MAAM,SAAS;;;;;;;;CAQpB,CAAC;AAEH,yDAAyD;AACzD,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC,WAAW,CAE9D"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/schema/files.ts"],"names":[],"mappings":"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"}
@@ -16,10 +16,32 @@ export function isFileValue(value) {
16
16
  count(v.bytes, 0) &&
17
17
  count(v.width) &&
18
18
  count(v.height) &&
19
- (v.caption === undefined || (typeof v.caption === "string" && v.caption.length < 501)));
19
+ (v.caption === undefined || (typeof v.caption === "string" && v.caption.length < 501)) &&
20
+ (v.poster === undefined || safeFileHref(v.poster)) &&
21
+ (v.captions === undefined || safeFileHref(v.captions)) &&
22
+ (v.duration === undefined || (typeof v.duration === "number" && Number.isFinite(v.duration) && v.duration > 0)));
20
23
  }
21
24
  /** Whether a file is a picture a page can draw. */
22
25
  export const isImage = (file) => file.type.startsWith("image/");
26
+ /** Whether a file is a video a page can play (0.1.37). */
27
+ export const isVideo = (file) => file.type.startsWith("video/");
28
+ /** A video's length as a person reads it: "a 45-second video", "a 3-minute video", "a 1-hour 7-minute video"; "a video" where its length is unsaid. */
29
+ export function videoWords(file) {
30
+ const seconds = file.duration === undefined ? 0 : Math.round(file.duration);
31
+ if (seconds < 1)
32
+ return "a video";
33
+ if (seconds < 60)
34
+ return `a ${seconds}-second video`;
35
+ const minutes = Math.round(seconds / 60);
36
+ if (minutes < 60)
37
+ return `a ${minutes}-minute video`;
38
+ const hours = Math.floor(minutes / 60);
39
+ return `a ${hours}-hour${minutes % 60 > 0 ? ` ${minutes % 60}-minute` : ""} video`;
40
+ }
41
+ /** Whether a file is of the sort a field of `as` holds. */
42
+ export const fileOfKind = (file, as) => (as === "image" ? isImage(file) : as === "video" ? isVideo(file) : true);
43
+ /** What a field of `as` holds, said where a value is refused. */
44
+ export const fileRefusal = (as) => `${as === "image" ? "an image" : as === "video" ? "a video" : "a file"} the host stored, at a path on this host`;
23
45
  /** The files a value holds: one, a list of them, or none. */
24
46
  export const filesOf = (value) => (Array.isArray(value) ? value : [value]).filter(isFileValue);
25
47
  /*
@@ -29,9 +51,9 @@ export const filesOf = (value) => (Array.isArray(value) ? value : [value]).filte
29
51
  * holds it inside, and another copy of the framework reads it alike.
30
52
  */
31
53
  const FILE = Symbol.for("@graview/core:file");
32
- /** Marks a schema as holding an image or a file. */
54
+ /** Marks a schema as holding an image, a video or a file. */
33
55
  export const markFile = (schema, as) => (Object.defineProperty(defOf(schema), FILE, { value: as, enumerable: true }), schema);
34
- /** Whether a field holds an image or a file — under optional, default and nullable — or neither. */
56
+ /** Whether a field holds an image, a video or a file — under optional, default and nullable — or none of them. */
35
57
  export function fileKindOf(schema) {
36
58
  const def = defOf(schema);
37
59
  return def?.[FILE] ?? (def?.innerType ? fileKindOf(def.innerType) : undefined);
@@ -45,9 +67,12 @@ export const fileShape = () => ({
45
67
  width: z.optional(z.number()),
46
68
  height: z.optional(z.number()),
47
69
  caption: z.optional(z.string()),
70
+ poster: z.optional(z.string()),
71
+ duration: z.optional(z.number()),
72
+ captions: z.optional(z.string()),
48
73
  });
49
- /** A document's `image` or `file` field, in zod/mini. */
74
+ /** A document's `image`, `video` or `file` field, in zod/mini. */
50
75
  export function fileSchema(as) {
51
- return markFile(z.object(fileShape()).check(z.refine((v) => isFileValue(v) && (as === "file" || isImage(v)), `${as === "image" ? "an image" : "a file"} the host stored, at a path on this host`)), as);
76
+ return markFile(z.object(fileShape()).check(z.refine((v) => isFileValue(v) && fileOfKind(v, as), fileRefusal(as))), as);
52
77
  }
53
78
  //# sourceMappingURL=files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/schema/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/schema/files.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,8 @@ export declare function readableFields(node: Record<string, unknown>, definition
55
55
  readonly excerpt?: boolean;
56
56
  /** The app's locale its days are said in (FR-178): a reader's a host passed wins, and the page's when unsaid. */
57
57
  readonly locale?: string | undefined;
58
+ /** The app's time zone its instants are said in (Roadmap f-app-time-zone): a person's a host passed wins, and the page's when unsaid. */
59
+ readonly timeZone?: string | undefined;
58
60
  }): readonly ReadableField[];
59
61
  /**
60
62
  * WHETHER A FIELD'S VALUE IS PROSE (FR-147): a string field declared to hold
@@ -1 +1 @@
1
- {"version":3,"file":"reading.d.ts","sourceRoot":"","sources":["../../src/schema/reading.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAYnF,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,YAAY,CAAC;AAWhE;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,EAC1E,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,GAC5D,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA8BrB;AAGD,wEAAwE;AACxE,wBAAgB,YAAY,CAC1B,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3D,MAAM,CAKR;AAcD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,OAAO,GAAE;IACP,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAChD;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,iHAAiH;IACjH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,GACL,SAAS,aAAa,EAAE,CAkI1B;AA4DD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,iBAAiB,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAI1G;AAED,qFAAqF;AACrF,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,aAAa;IAC9E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,UAAU,EAAE,iBAAiB,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAa5J"}
1
+ {"version":3,"file":"reading.d.ts","sourceRoot":"","sources":["../../src/schema/reading.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAYnF,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,YAAY,CAAC;AAWhE;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,EAC1E,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,GAC5D,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA2CrB;AAGD,wEAAwE;AACxE,wBAAgB,YAAY,CAC1B,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3D,MAAM,CAKR;AAcD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,OAAO,GAAE;IACP,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAChD;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,iHAAiH;IACjH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,yIAAyI;IACzI,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,GACL,SAAS,aAAa,EAAE,CAkI1B;AA4DD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,iBAAiB,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAI1G;AAED,qFAAqF;AACrF,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,aAAa;IAC9E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,UAAU,EAAE,iBAAiB,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAa5J"}
@@ -1,7 +1,7 @@
1
1
  import { dayAsRead, ISO_DAY, ISO_MOMENT, momentAsRead } from "../days.js";
2
2
  import { fieldWords, labelOf, nounOf } from "./define-node.js";
3
3
  import { valueWords } from "./value-words.js";
4
- import { filesOf } from "./files.js";
4
+ import { filesOf, isVideo, videoWords } from "./files.js";
5
5
  import { isAppLinkField } from "./app-link.js";
6
6
  import { linkedRefsOf, linkedRelationOf } from "./linked.js";
7
7
  import { repeatingDateAsRead } from "../repeat-words.js";
@@ -52,10 +52,24 @@ export function tellApart(nodes, definitionOf) {
52
52
  // A word before a number: "single" and "album" say more than two dates.
53
53
  const wordy = (key) => facts.every((fact) => !/\d/.test(fact.get(key) ?? ""));
54
54
  const ordered = [...keys.filter(wordy), ...keys.filter((key) => !wordy(key))];
55
- const telling = ordered.find((key) => new Set(facts.map((fact) => fact.get(key) ?? "")).size === alike.length);
55
+ const says = (at, chosen) => chosen.map((key) => facts[at].get(key) ?? "").filter(Boolean).join(" · ");
56
+ const tells = (chosen) => new Set(alike.map((_, at) => says(at, chosen))).size === alike.length && alike.every((_, at) => says(at, chosen) !== "");
57
+ const one = ordered.find((key) => tells([key]));
58
+ /*
59
+ * NEVER ITS ID (the twelfth walk): three films called "Small Harbor"
60
+ * with no one fact telling all three apart read "film:small-harbor"
61
+ * in every picker. Two facts together, else a fact of its own, else
62
+ * which of them it is, in the order they were made.
63
+ */
64
+ const two = one ? undefined : ordered.flatMap((first, at) => ordered.slice(at + 1).map((second) => [first, second])).find((pair) => tells(pair));
56
65
  alike.forEach((node, at) => {
57
- const fact = telling ? facts[at].get(telling) : undefined;
58
- apart.set(node.id, fact ?? node.id);
66
+ if (one || two)
67
+ return void apart.set(node.id, says(at, one ? [one] : two));
68
+ const own = ordered.find((key) => {
69
+ const value = facts[at].get(key);
70
+ return value !== undefined && value !== "" && facts.every((fact, other) => other === at || fact.get(key) !== value);
71
+ });
72
+ apart.set(node.id, own ? facts[at].get(own) : `${at + 1} of ${alike.length}`);
59
73
  });
60
74
  }
61
75
  }
@@ -177,7 +191,7 @@ export function readableFields(node, definition, options = {}) {
177
191
  continue;
178
192
  // A date that repeats says how, and the next one: "Every Tuesday, next Oct 27".
179
193
  const repeated = typeof value === "string" && !format ? repeatingDateAsRead(value, node[`${key}Repeat`], { locale: options.locale }) : undefined;
180
- const stored = files[0] ? files.map((file) => (file.caption ? `${file.name} — ${file.caption}` : file.name)).join(", ") : Array.isArray(value) ? value.join(", ") : typeof value === "boolean" ? (value ? "Yes" : "No") : String(value);
194
+ const stored = files[0] ? files.map((file) => `${file.caption ? `${file.name} — ${file.caption}` : file.name}${isVideo(file) ? ` (${videoWords(file)})` : ""}`).join(", ") : Array.isArray(value) ? value.join(", ") : typeof value === "boolean" ? (value ? "Yes" : "No") : String(value);
181
195
  // A phone, a place or a duration, said as one: "(555) 123-4567", "1 h 30 min".
182
196
  const typed = format ? undefined : fieldSays(definition, key);
183
197
  const href = typedHref(typed, value);
@@ -205,7 +219,7 @@ export function readableFields(node, definition, options = {}) {
205
219
  typeof value === "string" && ISO_DAY.test(value)
206
220
  ? dayAsRead(value, options.locale)
207
221
  : typeof value === "string" && ISO_MOMENT.test(value)
208
- ? momentAsRead(value, options.locale)
222
+ ? momentAsRead(value, options.locale, options.timeZone)
209
223
  : typeof value === "string" && isChoice(definition, key)
210
224
  ? valueWords(definition, key, value)
211
225
  : stored);
@@ -1 +1 @@
1
- {"version":3,"file":"reading.js","sourceRoot":"","sources":["../../src/schema/reading.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reading.js","sourceRoot":"","sources":["../../src/schema/reading.ts"],"names":[],"mappings":"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"}
@@ -31,11 +31,11 @@ export interface EdgeDeclaration<TargetKind extends string = string> {
31
31
  readonly inverse?: string;
32
32
  /**
33
33
  * Declares that this relation, once made, is never unmade — an entry in a
34
- * record, not a tie anyone severs. `graview check` warns about any edge
35
- * kind some mutation can make and none can break (`edge-without-severer`),
36
- * because a way in with no way out is usually an oversight; this is the
37
- * declaration that says it is not. The suppression is the documentation:
38
- * a reader of the schema learns the edge is append-only on purpose.
34
+ * record, not a tie anyone severs. Every relation no act severs is given
35
+ * a derived `disconnect-<kind>-<relation>`, because a way in with no way
36
+ * out is usually an oversight; this is the declaration that says it is
37
+ * not, and the relation is given no disconnect. A reader of the schema
38
+ * learns the edge is append-only on purpose.
39
39
  */
40
40
  readonly appendOnly?: boolean;
41
41
  /**
@@ -45,6 +45,14 @@ export interface EdgeDeclaration<TargetKind extends string = string> {
45
45
  * the relation is tidied like any other.
46
46
  */
47
47
  readonly tidying?: "never";
48
+ /**
49
+ * `"none"`: NO ACT MAKES OR BREAKS THIS RELATION — it is read from what
50
+ * was declared or imported, as the studio reads an act's `creates` from
51
+ * the declaration it opened. Every other relation no act connects or
52
+ * severs is given a derived `connect-<kind>-<relation>` and
53
+ * `disconnect-<kind>-<relation>`; this one is given neither.
54
+ */
55
+ readonly acts?: "none";
48
56
  }
49
57
  export type EdgeMap = Readonly<Record<string, EdgeDeclaration>>;
50
58
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"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"}