@graview/core 0.1.55 → 0.1.57

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 (148) hide show
  1. package/dist/arranging.d.ts +6 -1
  2. package/dist/arranging.d.ts.map +1 -1
  3. package/dist/arranging.js +21 -3
  4. package/dist/arranging.js.map +1 -1
  5. package/dist/capabilities.js +1 -1
  6. package/dist/capabilities.js.map +1 -1
  7. package/dist/cli/document-schema.js +2 -2
  8. package/dist/cli/document-schema.js.map +1 -1
  9. package/dist/conformance/fixtures.d.ts.map +1 -1
  10. package/dist/conformance/fixtures.js +15 -5
  11. package/dist/conformance/fixtures.js.map +1 -1
  12. package/dist/days.d.ts +14 -1
  13. package/dist/days.d.ts.map +1 -1
  14. package/dist/days.js +17 -2
  15. package/dist/days.js.map +1 -1
  16. package/dist/document/blocks.d.ts +4 -2
  17. package/dist/document/blocks.d.ts.map +1 -1
  18. package/dist/document/blocks.js +7 -4
  19. package/dist/document/blocks.js.map +1 -1
  20. package/dist/document/brand-check.d.ts.map +1 -1
  21. package/dist/document/brand-check.js +6 -2
  22. package/dist/document/brand-check.js.map +1 -1
  23. package/dist/document/compiled.d.ts.map +1 -1
  24. package/dist/document/compiled.js +33 -5
  25. package/dist/document/compiled.js.map +1 -1
  26. package/dist/document/describe-place.d.ts +2 -0
  27. package/dist/document/describe-place.d.ts.map +1 -1
  28. package/dist/document/describe-place.js +8 -1
  29. package/dist/document/describe-place.js.map +1 -1
  30. package/dist/document/described.d.ts +2 -1
  31. package/dist/document/described.d.ts.map +1 -1
  32. package/dist/document/edit.d.ts +1 -1
  33. package/dist/document/edit.d.ts.map +1 -1
  34. package/dist/document/edit.js +174 -19
  35. package/dist/document/edit.js.map +1 -1
  36. package/dist/document/expr/evaluate.d.ts +1 -1
  37. package/dist/document/expr/evaluate.d.ts.map +1 -1
  38. package/dist/document/expr/evaluate.js +20 -1
  39. package/dist/document/expr/evaluate.js.map +1 -1
  40. package/dist/document/field-spec.d.ts.map +1 -1
  41. package/dist/document/field-spec.js +3 -2
  42. package/dist/document/field-spec.js.map +1 -1
  43. package/dist/document/rule-line.d.ts.map +1 -1
  44. package/dist/document/rule-line.js +2 -0
  45. package/dist/document/rule-line.js.map +1 -1
  46. package/dist/document/schema.d.ts +33 -0
  47. package/dist/document/schema.d.ts.map +1 -1
  48. package/dist/document/schema.js +23 -1
  49. package/dist/document/schema.js.map +1 -1
  50. package/dist/document/template.js +2 -2
  51. package/dist/document/template.js.map +1 -1
  52. package/dist/document/to-document.d.ts.map +1 -1
  53. package/dist/document/to-document.js +4 -2
  54. package/dist/document/to-document.js.map +1 -1
  55. package/dist/document/views.d.ts +6 -1
  56. package/dist/document/views.d.ts.map +1 -1
  57. package/dist/document/views.js +16 -5
  58. package/dist/document/views.js.map +1 -1
  59. package/dist/document.schema.json +66 -2
  60. package/dist/import/coerce.d.ts.map +1 -1
  61. package/dist/import/coerce.js +3 -1
  62. package/dist/import/coerce.js.map +1 -1
  63. package/dist/import/rows.d.ts +8 -0
  64. package/dist/import/rows.d.ts.map +1 -1
  65. package/dist/import/rows.js +19 -3
  66. package/dist/import/rows.js.map +1 -1
  67. package/dist/index.d.ts +2 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +3 -1
  70. package/dist/index.js.map +1 -1
  71. package/dist/mutations/arg-shape.d.ts +2 -0
  72. package/dist/mutations/arg-shape.d.ts.map +1 -1
  73. package/dist/mutations/arg-shape.js +2 -2
  74. package/dist/mutations/arg-shape.js.map +1 -1
  75. package/dist/mutations/define-mutation.d.ts.map +1 -1
  76. package/dist/mutations/define-mutation.js +25 -2
  77. package/dist/mutations/define-mutation.js.map +1 -1
  78. package/dist/mutations/derive-edits.d.ts.map +1 -1
  79. package/dist/mutations/derive-edits.js +17 -3
  80. package/dist/mutations/derive-edits.js.map +1 -1
  81. package/dist/mutations/derive-relations.d.ts +8 -3
  82. package/dist/mutations/derive-relations.d.ts.map +1 -1
  83. package/dist/mutations/derive-relations.js +18 -7
  84. package/dist/mutations/derive-relations.js.map +1 -1
  85. package/dist/mutations/form.d.ts +2 -0
  86. package/dist/mutations/form.d.ts.map +1 -1
  87. package/dist/mutations/form.js +1 -1
  88. package/dist/mutations/form.js.map +1 -1
  89. package/dist/mutations/types.d.ts +7 -0
  90. package/dist/mutations/types.d.ts.map +1 -1
  91. package/dist/ops/tidying.d.ts.map +1 -1
  92. package/dist/ops/tidying.js +3 -0
  93. package/dist/ops/tidying.js.map +1 -1
  94. package/dist/schema/choice-words.d.ts +16 -0
  95. package/dist/schema/choice-words.d.ts.map +1 -0
  96. package/dist/schema/choice-words.js +31 -0
  97. package/dist/schema/choice-words.js.map +1 -0
  98. package/dist/schema/define-node.d.ts +2 -1
  99. package/dist/schema/define-node.d.ts.map +1 -1
  100. package/dist/schema/define-node.js +3 -15
  101. package/dist/schema/define-node.js.map +1 -1
  102. package/dist/schema/field-words.d.ts +10 -0
  103. package/dist/schema/field-words.d.ts.map +1 -1
  104. package/dist/schema/field-words.js +26 -10
  105. package/dist/schema/field-words.js.map +1 -1
  106. package/dist/schema/humanize.d.ts +3 -0
  107. package/dist/schema/humanize.d.ts.map +1 -0
  108. package/dist/schema/humanize.js +18 -0
  109. package/dist/schema/humanize.js.map +1 -0
  110. package/dist/schema/json-schema.d.ts.map +1 -1
  111. package/dist/schema/json-schema.js +2 -1
  112. package/dist/schema/json-schema.js.map +1 -1
  113. package/dist/schema/reading.d.ts.map +1 -1
  114. package/dist/schema/reading.js +15 -4
  115. package/dist/schema/reading.js.map +1 -1
  116. package/dist/schema/types.d.ts +22 -0
  117. package/dist/schema/types.d.ts.map +1 -1
  118. package/dist/sync/connection.js +1 -1
  119. package/dist/theme/accent.d.ts.map +1 -1
  120. package/dist/theme/accent.js +2 -2
  121. package/dist/theme/accent.js.map +1 -1
  122. package/dist/theme/derive.d.ts +10 -1
  123. package/dist/theme/derive.d.ts.map +1 -1
  124. package/dist/theme/derive.js +1 -1
  125. package/dist/theme/derive.js.map +1 -1
  126. package/dist/theme/ground-check.d.ts +12 -0
  127. package/dist/theme/ground-check.d.ts.map +1 -1
  128. package/dist/theme/ground-check.js +37 -11
  129. package/dist/theme/ground-check.js.map +1 -1
  130. package/dist/theme/ground.d.ts +28 -7
  131. package/dist/theme/ground.d.ts.map +1 -1
  132. package/dist/theme/ground.js +62 -18
  133. package/dist/theme/ground.js.map +1 -1
  134. package/dist/tidying.d.ts +10 -0
  135. package/dist/tidying.d.ts.map +1 -1
  136. package/dist/tidying.js +17 -0
  137. package/dist/tidying.js.map +1 -1
  138. package/dist/version.d.ts +1 -1
  139. package/dist/version.js +1 -1
  140. package/dist/when-typed.d.ts +7 -0
  141. package/dist/when-typed.d.ts.map +1 -1
  142. package/dist/when-typed.js +24 -0
  143. package/dist/when-typed.js.map +1 -1
  144. package/dist/words.d.ts +1 -1
  145. package/dist/words.d.ts.map +1 -1
  146. package/dist/words.js +1 -1
  147. package/dist/words.js.map +1 -1
  148. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"describe-place.d.ts","sourceRoot":"","sources":["../../src/document/describe-place.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAOrD,OAAO,KAAK,EAAiB,iBAAiB,EAAmD,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAmCjL,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,SAAS;IACvD,4EAA4E;IAC5E,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC/C;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,gBAAgB,EAAE,CAQ5J;AAeD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CA+OzK;AAwCD,kIAAkI;AAClI,wBAAgB,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,MAAM,CAyD7E"}
1
+ {"version":3,"file":"describe-place.d.ts","sourceRoot":"","sources":["../../src/document/describe-place.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAOrD,OAAO,KAAK,EAAiB,iBAAiB,EAAmD,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAmCjL,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,SAAS;IACvD,4EAA4E;IAC5E,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC/C;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,gBAAgB,EAAE,CAQ5J;AAeD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAqPzK;AAwCD,kIAAkI;AAClI,wBAAgB,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,MAAM,CAyD7E"}
@@ -199,7 +199,9 @@ export function describePlace(store, principal, place, options) {
199
199
  described = { slug: at.slug, title: at.title, kind: at.kind, address: at.address };
200
200
  const lens = at.lens ? declaredLenses(app).drawn.find((one) => one.as === at.slug && (at.kind === null || one.kinds.includes(at.kind))) : undefined;
201
201
  // Where a kind's records are listed, the acts that make one are offered — unless the lens's page leaves them off (`create: false`): each form said field by field, as this seat is asked it.
202
- if (at.kind !== null && lens?.create !== false && at.view === undefined)
202
+ /* A kind's list page a view of many the host keeps replaces (FR-203): the view alone under the heading, and no form but what it offers. */
203
+ const listView = at.kind !== null && at.view === undefined && !lens ? options.views?.find((one) => one.attach === at.kind && one.cardinality === "many" && one.replaces === "page" && !one.hidden) : undefined;
204
+ if (at.kind !== null && lens?.create !== false && at.view === undefined && !listView)
203
205
  forms = creatingActs(store, principal, at.kind).map((act) => describeActForm(store, principal, act));
204
206
  if (at.view !== undefined && !lens) {
205
207
  /*
@@ -291,6 +293,11 @@ export function describePlace(store, principal, place, options) {
291
293
  parts.push({ t: "text", text: `A ${lens.lens} of ${members.length} ${lens.kinds.map((kind) => kindWord(schema, kind, members.length)).join(" and ")}.` });
292
294
  parts.push({ t: "list", as: "name", columns: 1, groups: [{ items: members.map((node) => item(node, "name", 1)) }] });
293
295
  }
296
+ else if (listView) {
297
+ drawnBy = `view:${listView.name}`;
298
+ parts.push({ t: "heading", level: 1, text: at.title });
299
+ parts.push({ t: "view", name: listView.name, ...(listView.title ? { title: listView.title } : {}), replaces: true, ...(listView.parts ? { parts: listView.parts } : {}) });
300
+ }
294
301
  else {
295
302
  // A kind's list page: each current record by its row.
296
303
  drawnBy = "derived";
@@ -1 +1 @@
1
- {"version":3,"file":"describe-place.js","sourceRoot":"","sources":["../../src/document/describe-place.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"describe-place.js","sourceRoot":"","sources":["../../src/document/describe-place.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,8 @@ export type DescribedPart = {
53
53
  * a titled view's own place (`DescribePlaceOptions.views`): by its
54
54
  * manifest's name, with what it drew when the host said (`parts`, a
55
55
  * headless run's). `replaces`: it is the whole page, and nothing of the
56
- * record's own is drawn beside it. `flows`: on its own place, whether it
56
+ * record's own — or, on a kind's list page (FR-203), no list — is drawn
57
+ * beside it. `flows`: on its own place, whether it
57
58
  * flows with the page (`true`) or keeps a frame of its own (`false`), as
58
59
  * the host said; unsaid when the host did not.
59
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"described.d.ts","sourceRoot":"","sources":["../../src/document/described.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"described.d.ts","sourceRoot":"","sources":["../../src/document/described.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export interface EditOptions {
31
31
  readonly views?: readonly HostView[];
32
32
  }
33
33
  /** The ops, for tool schemas and the guide. */
34
- export declare const EDIT_OPS: readonly ["add-kind", "rename-kind", "remove-kind", "add-field", "rename-field", "retype-field", "set-options", "set-range", "set-format", "set-required", "set-default", "set-repeats", "remove-field", "add-relation", "rename-relation", "remove-relation", "add-act", "remove-act", "add-rule", "remove-rule", "set-brand", "set-name", "set-description", "set-label", "set-describe", "set-view", "set-glance", "set-page-fields", "add-lens", "remove-lens", "set-lens-hidden", "set-lens-export", "set-home", "arrange-pages", "set-computed", "set-people", "set-archives", "set-tidying", "add-grant", "remove-grant", "add-sight", "remove-sight", "set-purpose", "add-job", "edit-job", "remove-job", "add-alias", "set-aliases"];
34
+ export declare const EDIT_OPS: readonly ["add-kind", "rename-kind", "remove-kind", "add-field", "rename-field", "retype-field", "set-options", "set-range", "set-format", "set-required", "set-default", "set-repeats", "remove-field", "add-relation", "rename-relation", "remove-relation", "add-act", "remove-act", "add-rule", "remove-rule", "set-brand", "set-name", "set-description", "set-label", "set-describe", "set-view", "rename-view", "set-glance", "set-page-fields", "add-lens", "remove-lens", "set-lens-hidden", "set-lens-export", "set-home", "arrange-pages", "set-computed", "set-people", "set-archives", "set-tidying", "add-grant", "remove-grant", "add-sight", "remove-sight", "set-purpose", "add-job", "edit-job", "remove-job", "add-alias", "set-aliases"];
35
35
  export type EditOp = (typeof EDIT_OPS)[number];
36
36
  /** One edit as `editDocument` takes it: an op from EDIT_OPS and that op's own keys. */
37
37
  export type DocumentEdit = {
@@ -1 +1 @@
1
- {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/document/edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/document/edit.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ import { farEnd } from "./far-end.js";
17
17
  import { jobFindings, jobWorldOfDocument } from "../job-findings.js";
18
18
  import { JobSpec } from "./purpose-spec.js";
19
19
  import { aliasWord, documentAliasFindings } from "../alias-findings.js";
20
- import { withArticle } from "../schema/define-node.js";
20
+ import { humanizeField, withArticle } from "../schema/define-node.js";
21
21
  import { linkedRelationFindings } from "./linked-relation-findings.js";
22
22
  import { linkedRelationOfSpec, reachesAnotherApp } from "../schema/linked.js";
23
23
  import { ActSpec, ALIAS, MOST_ALIASES, EDGE_NAME, EdgeSpec, FIELD_NAME, FIELD_TYPES, FieldSpec, GrantSpec, KindSpec, NAME, RuleSpec, SightSpec, } from "./schema.js";
@@ -37,7 +37,7 @@ import { isRecord as isObject, respellDocument } from "./respell.js";
37
37
  import { refName } from "./compiled.js";
38
38
  import { localeSentence, timeZoneSentence } from "./diff.js";
39
39
  import { accentProblem } from "../theme/accent.js";
40
- import { groundProblem } from "../theme/ground-check.js";
40
+ import { darkPageFor, groundProblem } from "../theme/ground-check.js";
41
41
  import { pageFieldFindings, pageNames, renamedOnPage, withoutOnPage } from "./page-fields.js";
42
42
  import { capitalize, listed as listOf } from "../capital.js";
43
43
  import { quoted } from "./quote.js";
@@ -70,6 +70,7 @@ export const EDIT_OPS = [
70
70
  "set-label",
71
71
  "set-describe",
72
72
  "set-view",
73
+ "rename-view",
73
74
  "set-glance",
74
75
  "set-page-fields",
75
76
  "add-lens",
@@ -96,6 +97,8 @@ export const EDIT_OPS = [
96
97
  /** Words the rule language keeps: a field or relation renamed to one could not be named in a rule. */
97
98
  const KEYWORDS = new Set(["and", "or", "not", "in", "where", "true", "false", "null"]);
98
99
  const MAX_EDITS = 50;
100
+ /** A view's name, as a worker view's manifest must say it (`@graview/guest`'s `manifestFindings`). */
101
+ const VIEW_NAME = /^[a-z0-9][a-z0-9-]{0,62}$/;
99
102
  // ── shapes ─────────────────────────────────────────────────────────────────
100
103
  /*
101
104
  * Each op's shape, built the first time an edit is read rather than when the
@@ -120,7 +123,7 @@ function buildShapes() {
120
123
  "add-field": z.object({ op: z.literal("add-field"), kind: kindName, field: fieldName, fill: z.unknown().optional(), spec: z.record(z.string(), z.unknown()).optional() }).passthrough(),
121
124
  "rename-field": z.object({ op: z.literal("rename-field"), kind: kindName, field: fieldName, to: fieldName }).strict(),
122
125
  "retype-field": z.object({ op: z.literal("retype-field"), kind: kindName, field: fieldName, type: z.enum(FIELD_TYPES), options: z.array(z.string().min(1).max(80)).min(1).max(100).optional(), of: z.enum(["string", "number", "date", "image", "video", "file"]).optional(), format: z.enum(["money", "percent", "duration", "markdown"]).optional() }).strict(),
123
- "set-options": z.object({ op: z.literal("set-options"), kind: kindName, field: fieldName, add: z.array(z.string().min(1).max(80)).optional(), remove: z.array(z.string().min(1).max(80)).optional() }).strict(),
126
+ "set-options": z.object({ op: z.literal("set-options"), kind: kindName, field: fieldName, add: z.array(z.string().min(1).max(80)).optional(), remove: z.array(z.string().min(1).max(80)).optional(), labels: z.record(z.string().min(1).max(80), z.union([z.string().min(1).max(80), z.null()])).optional() }).strict(),
124
127
  "set-format": z.object({ op: z.literal("set-format"), kind: kindName, field: fieldName, format: z.union([z.enum(["money", "percent", "duration", "markdown"]), z.null()]).optional(), unit: z.union([z.string().min(1).max(12), z.null()]).optional() }).strict(),
125
128
  "set-range": z.object({ op: z.literal("set-range"), kind: kindName, field: fieldName, min: z.union([z.number(), z.null()]).optional(), max: z.union([z.number(), z.null()]).optional(), step: z.union([z.number().positive(), z.null()]).optional() }).strict(),
126
129
  "set-required": z.object({ op: z.literal("set-required"), kind: kindName, field: fieldName, required: z.boolean() }).strict(),
@@ -170,6 +173,8 @@ function buildShapes() {
170
173
  "set-describe": z.object({ op: z.literal("set-describe"), kind: kindName, describe: z.union([z.string().min(1).max(300), z.null()]) }).strict(),
171
174
  // A kind's slot; the front page (`slot: "home"`, no kind); or a blocks lens's blocks, by its title (FR-84).
172
175
  "set-view": z.object({ op: z.literal("set-view"), kind: kindName.optional(), slot: z.enum([...VIEW_SLOTS, "home"]).optional(), lens: lensTitle.optional(), blocks: z.union([z.array(z.unknown()).min(1), z.null()]) }).strict(),
176
+ // A view the host keeps, by its name (`view:<name>` or bare), and what it is called now (Roadmap f-rename-view).
177
+ "rename-view": z.object({ op: z.literal("rename-view"), view: z.string().min(1).max(80), to: z.string().min(1).max(80) }).strict(),
173
178
  "set-glance": z.object({ op: z.literal("set-glance"), kind: kindName, fields: z.array(fieldName).max(20) }).strict(),
174
179
  // How a record's page orders and groups its facts (FR-148): these first, then each group under its title; none of either takes the choice away.
175
180
  "set-page-fields": z
@@ -228,6 +233,8 @@ function buildShapes() {
228
233
  expr: z.union([z.string().min(1).max(2000), z.null()]).optional(),
229
234
  label: z.union([z.string().min(1).max(60), z.null()]).optional(),
230
235
  description: z.union([z.string().min(1).max(500), z.null()]).optional(),
236
+ // Kept off a record's page, card and CSV, still worked out for a sort, a rule or a view (FR-217): true hides it, false or null shows it.
237
+ hidden: z.union([z.boolean(), z.null()]).optional(),
231
238
  })
232
239
  .strict(),
233
240
  // Who the people are, and who may do and see what (FR-170): a grant and a sight as the document holds one.
@@ -597,9 +604,48 @@ class Editor {
597
604
  else if (e.accent !== undefined) {
598
605
  if (!/^#[0-9a-fA-F]{6}$/.test(e.accent))
599
606
  return this.fail(i, "accent", 'an accent is a color like "#c2577a"');
600
- const refused = accentProblem(e.accent);
607
+ }
608
+ /*
609
+ * The accent and the ground are judged together, as the page draws
610
+ * them: the ground first — the words on it — then the
611
+ * accent on the ground it is actually drawn on, this edit's or the
612
+ * app's (Roadmap f-dark-brand-accent), then the whole palette once
613
+ * more, so what is kept is what `checkBrandContrast` passes.
614
+ */
615
+ const accent = e.accent === null ? undefined : (e.accent ?? brand["accent"]);
616
+ const ground = e.ground === null ? undefined : (e.ground ?? brand["ground"]);
617
+ const json = (value) => JSON.stringify(value).replace(/","/g, '", "').replace(/":"/g, '": "');
618
+ const fixed = (ground, also = "") => `{"op": "set-brand", "ground": ${json(ground)}${also}}`;
619
+ if (e.ground !== undefined && e.ground !== null) {
620
+ // With the accent the app keeps, the ground is judged with it; an accent this edit also sets is judged on the ground next.
621
+ const refused = groundProblem(e.ground, e.accent === undefined ? accent : undefined);
601
622
  if (refused)
602
- return this.fail(i, "accent", refused.sentence, refused.suggestion ? `{"op": "set-brand", "accent": "${refused.suggestion}"}` : "pick a color of another hue");
623
+ return this.fail(i, "ground", refused.sentence, refused.suggestion ? fixed(typeof e.ground === "string" ? refused.suggestion : { ...e.ground, [refused.scheme]: refused.suggestion }) : "pick a lighter color for the light scheme, a darker one for the dark");
624
+ }
625
+ if (accent !== undefined && (e.accent !== undefined || e.ground !== undefined)) {
626
+ const unread = accentProblem(accent, ground);
627
+ if (unread) {
628
+ // A bright accent that reads on a dark page is answered with that pair as well as with a darker shade, never refused outright.
629
+ const page = darkPageFor(accent, ground);
630
+ if (e.accent !== undefined) {
631
+ // The shade is judged on this edit's ground, so the fix carries it.
632
+ const withGround = e.ground !== undefined ? `, "ground": ${json(e.ground)}` : "";
633
+ const fixes = [
634
+ ...(unread.suggestion ? [`{"op": "set-brand", "accent": "${unread.suggestion}"${withGround}}`] : []),
635
+ ...(page ? [`keep ${accent} on a dark page: {"op": "set-brand", "accent": "${accent}", "ground": ${json(page)}}`] : []),
636
+ ];
637
+ return this.fail(i, "accent", unread.sentence, fixes.length > 0 ? capitalize(fixes.join(", or ")) : "pick a color of another hue");
638
+ }
639
+ // The accent the app keeps is judged on the new ground as it was on the old (FR-126).
640
+ return this.fail(i, "ground", unread.sentence, unread.suggestion ? fixed(e.ground, `, "accent": "${unread.suggestion}"`) : "pick another ground, or another accent");
641
+ }
642
+ }
643
+ if (ground !== undefined && (e.accent !== undefined || e.ground !== undefined)) {
644
+ const refused = groundProblem(ground, accent);
645
+ if (refused)
646
+ return this.fail(i, e.ground !== undefined ? "ground" : "accent", refused.sentence, refused.suggestion ? fixed(typeof ground === "string" ? refused.suggestion : { ...ground, [refused.scheme]: refused.suggestion }) : "pick another ground, or another accent");
647
+ }
648
+ if (e.accent !== undefined && e.accent !== null) {
603
649
  brand["accent"] = e.accent;
604
650
  this.said.push(`The app's accent color becomes ${e.accent}.`);
605
651
  }
@@ -609,15 +655,6 @@ class Editor {
609
655
  delete brand["ground"];
610
656
  }
611
657
  else if (e.ground !== undefined) {
612
- const accent = brand["accent"];
613
- const refused = groundProblem(e.ground, accent);
614
- const fixed = (ground, also = "") => `{"op": "set-brand", "ground": ${JSON.stringify(ground).replace(/","/g, '", "').replace(/":"/g, '": "')}${also}}`;
615
- if (refused)
616
- return this.fail(i, "ground", refused.sentence, refused.suggestion ? fixed(typeof e.ground === "string" ? refused.suggestion : { ...e.ground, [refused.scheme]: refused.suggestion }) : "pick a lighter color for the light scheme, a darker one for the dark");
617
- // The accent the app keeps is judged on the new ground as it was on the old (FR-126).
618
- const unread = accent ? accentProblem(accent, e.ground) : null;
619
- if (unread)
620
- return this.fail(i, "ground", unread.sentence, unread.suggestion ? fixed(e.ground, `, "accent": "${unread.suggestion}"`) : "pick another ground, or another accent");
621
658
  brand["ground"] = e.ground;
622
659
  this.said.push(groundWords(e.ground));
623
660
  }
@@ -926,6 +963,8 @@ class Editor {
926
963
  }
927
964
  case "set-view":
928
965
  return this.setView(i, e);
966
+ case "rename-view":
967
+ return this.renameView(i, e.view, e.to);
929
968
  case "set-glance": {
930
969
  // What a glance at one says (FR-39): fields of this kind, each once, in the order given; none takes the choice away.
931
970
  const spec = this.kind(i, e.kind);
@@ -1779,7 +1818,7 @@ class Editor {
1779
1818
  */
1780
1819
  viewNamed(i, path, word) {
1781
1820
  const name = viewReference(word.trim());
1782
- const views = this.options.views?.filter((view) => view.attach !== "home" && view.cardinality !== "one" && Boolean(view.title));
1821
+ const views = this.keptViews()?.filter((view) => view.attach !== "home" && view.cardinality !== "one" && Boolean(view.title));
1783
1822
  if (!views) {
1784
1823
  if (name === undefined)
1785
1824
  return undefined;
@@ -1794,11 +1833,65 @@ class Editor {
1794
1833
  return undefined;
1795
1834
  return (this.fail(i, path, `the host keeps no view named "${name}"`, `name one of ${views.map((one) => `"${VIEW_REFERENCE}${one.name}" (${one.title})`).join(", ") || "none: the host keeps no picture of a kind"}`), null);
1796
1835
  }
1836
+ /** The views the host keeps, under the names this batch has given them so far (`rename-view`). */
1837
+ keptViews() {
1838
+ if (this.renamedViews.size === 0)
1839
+ return this.options.views;
1840
+ return this.options.views?.map((view) => (this.renamedViews.has(view.name) ? { ...view, name: this.renamedViews.get(view.name) } : view));
1841
+ }
1842
+ /** Each view this batch renamed: its name as the host keeps it, to the name it has now. */
1843
+ renamedViews = new Map();
1844
+ /**
1845
+ * A VIEW RENAMED (Roadmap f-rename-view): every `view:<name>` the
1846
+ * arrangement holds — the order, the place the app opens on, the bar —
1847
+ * follows the new name. The view itself, and every version of it the
1848
+ * host keeps, is the host's to move: this edit is what tells it to.
1849
+ * Refused: a name that is no view's name (a manifest's rule), a name
1850
+ * another view has, and a view nothing names — the host's list where it
1851
+ * says its views, the document's own references where it does not.
1852
+ */
1853
+ renameView(i, word, to) {
1854
+ const from = viewReference(word.trim()) ?? word.trim();
1855
+ const name = viewReference(to.trim()) ?? to.trim();
1856
+ if (!VIEW_NAME.test(name))
1857
+ return this.fail(i, "to", `"${to}" is not a view's name: lower-case letters, digits and hyphens, like "${placeSlug(to) || "vendor-board"}"`);
1858
+ const pages = (this.doc.pages ?? {});
1859
+ const named = (one) => pages.first === VIEW_REFERENCE + one || ["order", "primary"].some((part) => Array.isArray(pages[part]) && pages[part].includes(VIEW_REFERENCE + one));
1860
+ const views = this.keptViews();
1861
+ const view = views?.find((one) => one.name === from);
1862
+ if (views ? !view : !named(from))
1863
+ return this.fail(i, "view", views ? `the host keeps no view named "${from}"` : `nothing in this app names a view "${from}", and its host did not say its views`, views ? `name one of ${views.map((one) => `"${one.name}"`).join(", ") || "none: the host keeps no view"}` : undefined);
1864
+ if (name === from)
1865
+ return this.fail(i, "to", `the view is already called "${from}"`);
1866
+ const other = views?.find((one) => one.name === name);
1867
+ if (other || named(name))
1868
+ return this.fail(i, "to", `another view is already called "${name}"${other?.title ? ` (${other.title})` : ""}`, "choose a name no other view has");
1869
+ const moved = [];
1870
+ const rename = (one) => (one === VIEW_REFERENCE + from ? VIEW_REFERENCE + name : one);
1871
+ if (Array.isArray(pages.order) && pages.order.includes(VIEW_REFERENCE + from)) {
1872
+ pages.order = pages.order.map(rename);
1873
+ moved.push("the order");
1874
+ }
1875
+ if (pages.first === VIEW_REFERENCE + from) {
1876
+ pages.first = VIEW_REFERENCE + name;
1877
+ moved.push("the place the app opens on");
1878
+ }
1879
+ if (Array.isArray(pages.primary) && pages.primary.includes(VIEW_REFERENCE + from)) {
1880
+ pages.primary = pages.primary.map(rename);
1881
+ moved.push("the bar");
1882
+ }
1883
+ const original = [...this.renamedViews].find(([, now]) => now === from)?.[0] ?? from;
1884
+ this.renamedViews.set(original, name);
1885
+ if (this.pending.delete(from))
1886
+ this.pending.add(name);
1887
+ const called = view?.attach === "home" ? `The home's view "${from}"` : `The view "${view?.title ?? from}"`;
1888
+ this.said.push(`${called} is now called "${name}"${moved.length > 0 ? `; ${listOf(moved)} name it so` : ""}.`);
1889
+ }
1797
1890
  /** The views this edit names on the host's word, said once they are written. */
1798
1891
  pending = new Set();
1799
1892
  /** What a fix says a view is named by. */
1800
1893
  viewsSaid() {
1801
- const views = this.options.views?.filter((view) => view.attach !== "home" && view.cardinality !== "one" && Boolean(view.title));
1894
+ const views = this.keptViews()?.filter((view) => view.attach !== "home" && view.cardinality !== "one" && Boolean(view.title));
1802
1895
  if (!views)
1803
1896
  return `a view its host keeps, as "${VIEW_REFERENCE}<its name>"`;
1804
1897
  return views.length > 0 ? `a view its host keeps (${views.map((one) => `"${one.title}"`).join(", ")})` : "a view (its host keeps none)";
@@ -1806,7 +1899,7 @@ class Editor {
1806
1899
  /** A host's view in a sentence: its title, where the host said it. */
1807
1900
  viewWords(word) {
1808
1901
  const name = viewReference(word);
1809
- const title = this.options.views?.find((view) => view.name === name)?.title;
1902
+ const title = this.keptViews()?.find((view) => view.name === name)?.title;
1810
1903
  return `the view "${title ?? name}"${this.pending.has(name) ? " (once the host registers it)" : ""}`;
1811
1904
  }
1812
1905
  opens(first) {
@@ -1853,6 +1946,10 @@ class Editor {
1853
1946
  else if (e[key] !== undefined)
1854
1947
  next[key] = e[key];
1855
1948
  }
1949
+ if (e.hidden === true)
1950
+ next.hidden = true;
1951
+ else if (e.hidden === false || e.hidden === null)
1952
+ delete next.hidden;
1856
1953
  try {
1857
1954
  parseExpr(next.expr);
1858
1955
  }
@@ -1862,7 +1959,7 @@ class Editor {
1862
1959
  throw err;
1863
1960
  }
1864
1961
  // Kept short where it was said short: a bare expression is the same field as { expr }.
1865
- (spec.computed ??= {})[name] = next.label === undefined && next.description === undefined ? next.expr : next;
1962
+ (spec.computed ??= {})[name] = Object.keys(next).length === 1 ? next.expr : next;
1866
1963
  const findings = validateComputed(new Map(Object.entries(this.doc.kinds).map(([kind, k]) => [kind, { fields: new Set(Object.keys(k.fields)), edges: new Set(Object.keys(k.edges ?? {})), computed: computedOf(k) }])), (kind, n) => `kinds.${kind}.computed.${n}`).filter((f) => f.severity === "error" && f.path === `kinds.${e.kind}.computed.${name}`);
1867
1964
  for (const f of findings)
1868
1965
  this.fail(i, "expr", f.message, f.fix);
@@ -1872,6 +1969,8 @@ class Editor {
1872
1969
  this.said.push(`${plural} work out "${name}": ${next.expr}${next.label ? `, shown as "${next.label}"` : ""}.`);
1873
1970
  else if (was.expr !== next.expr)
1874
1971
  this.said.push(`How ${pluralWords(this.doc, e.kind)} work out "${name}" changes: ${next.expr}.`);
1972
+ else if (e.hidden !== undefined && e.label === undefined && e.description === undefined)
1973
+ this.said.push(next.hidden ? `${plural}' "${name}" is kept off their pages, cards and CSV, and still worked out for sorts, rules and views.` : `${plural}' "${name}" is shown on their pages, cards and CSV.`);
1875
1974
  else
1876
1975
  this.said.push(`${plural}' "${name}" is ${next.label ? `shown as "${next.label}"` : "shown by its name"}${next.description ? `, described as "${next.description}"` : ""}.`);
1877
1976
  }
@@ -2395,6 +2494,12 @@ class Editor {
2395
2494
  f.options = e.options ?? f.options;
2396
2495
  else
2397
2496
  delete f.options;
2497
+ // An option's label goes with the option.
2498
+ if (f.optionLabels) {
2499
+ f.optionLabels = Object.fromEntries(Object.entries(f.optionLabels).filter(([o]) => (f.options ?? []).includes(o)));
2500
+ if (Object.keys(f.optionLabels).length === 0)
2501
+ delete f.optionLabels;
2502
+ }
2398
2503
  if (e.type === "list")
2399
2504
  f.of = e.of ?? f.of ?? "string";
2400
2505
  else
@@ -2432,6 +2537,9 @@ class Editor {
2432
2537
  * The values stay as they are; every face says them anew.
2433
2538
  */
2434
2539
  setFormat(i, e) {
2540
+ const worked = this.doc.kinds[e.kind]?.computed?.[e.field];
2541
+ if (worked !== undefined && !this.doc.kinds[e.kind].fields[e.field])
2542
+ return this.setComputedFormat(i, e, worked);
2435
2543
  const f = this.field(i, e.kind, e.field);
2436
2544
  if (!f)
2437
2545
  return;
@@ -2461,6 +2569,31 @@ class Editor {
2461
2569
  const now = formatWords(f, this.doc.brand);
2462
2570
  this.said.push(`${e.kind}'s ${e.field} is said as ${now ?? "a plain number"}${before ? `, where it was ${before.replace(/ — .*/, "")}` : ""}; its values are kept.`);
2463
2571
  }
2572
+ /**
2573
+ * HOW A COMPUTED FIELD'S NUMBER IS SAID (FR-217), as a number field's is:
2574
+ * money, a percent or a duration, and a unit — each set by a value,
2575
+ * cleared by `null`, kept when left out. A computed field works out a
2576
+ * number, so Markdown is no format of one. Kept short where nothing but
2577
+ * its expression is left.
2578
+ */
2579
+ setComputedFormat(i, e, worked) {
2580
+ if (e.format === undefined && e.unit === undefined)
2581
+ return this.fail(i, "format", 'say a "format" ("money", "percent" or "duration", or null for none), a "unit" ("EUR", "kg", or null), or both');
2582
+ if (e.format === "markdown")
2583
+ return this.fail(i, "format", `${e.field} is worked out, not written, so it cannot be Markdown; a computed field is said as "money", "percent" or "duration"`);
2584
+ const spec = this.doc.kinds[e.kind];
2585
+ const next = typeof worked === "string" ? { expr: worked } : { ...worked };
2586
+ const before = formatWords(next, this.doc.brand);
2587
+ for (const key of ["format", "unit"]) {
2588
+ if (e[key] === null)
2589
+ delete next[key];
2590
+ else if (e[key] !== undefined)
2591
+ next[key] = e[key];
2592
+ }
2593
+ spec.computed[e.field] = Object.keys(next).length === 1 ? next.expr : next;
2594
+ const now = formatWords(next, this.doc.brand);
2595
+ this.said.push(`${e.kind}'s ${e.field} is worked out as before and said as ${now ?? "a plain number"}${before ? `, where it was ${before.replace(/ — .*/, "")}` : ""}.`);
2596
+ }
2464
2597
  /** A number's range (FR-114): a key given sets it, `null` clears it, one left out stays. */
2465
2598
  setRange(i, e) {
2466
2599
  const f = this.field(i, e.kind, e.field);
@@ -2502,12 +2635,34 @@ class Editor {
2502
2635
  const options = [...f.options.filter((o) => !remove.includes(o)), ...add];
2503
2636
  if (options.length === 0)
2504
2637
  return this.fail(i, "remove", "a choice keeps at least one option");
2638
+ // What an option is called on screen (Roadmap f-option-labels): a label given sets it, `null` goes back to the option's id spoken.
2639
+ const labels = Object.entries((e.labels ?? {}));
2640
+ const unlabeled = labels.filter(([o]) => !options.includes(o)).map(([o]) => o);
2641
+ if (unlabeled.length)
2642
+ return this.fail(i, "labels", `${e.field} does not offer ${unlabeled.map((o) => `"${o}"`).join(", ")}; label one of ${options.join(", ")}`);
2643
+ if (!add.length && !remove.length && !labels.length)
2644
+ return this.fail(i, "add", 'say what to "add", what to "remove", or the "labels" of options');
2505
2645
  f.options = options;
2646
+ const kept = Object.fromEntries(Object.entries((f.optionLabels ?? {})).filter(([o]) => options.includes(o)));
2647
+ for (const [o, label] of labels) {
2648
+ if (label === null)
2649
+ delete kept[o];
2650
+ else
2651
+ kept[o] = label;
2652
+ }
2653
+ if (Object.keys(kept).length > 0)
2654
+ f.optionLabels = kept;
2655
+ else
2656
+ delete f.optionLabels;
2657
+ const spoken = (o) => (kept[o] !== undefined && kept[o] !== o ? `"${o}" (${kept[o]})` : `"${o}"`);
2506
2658
  const out = [];
2507
2659
  if (add.length)
2508
- out.push(`now also offers ${add.map((o) => `"${o}"`).join(", ")}`);
2660
+ out.push(`now also offers ${add.map(spoken).join(", ")}`);
2509
2661
  if (remove.length)
2510
2662
  out.push(`no longer offers ${remove.map((o) => `"${o}"`).join(", ")}`);
2663
+ const relabeled = labels.filter(([o]) => !add.includes(o));
2664
+ if (relabeled.length)
2665
+ out.push(relabeled.map(([o, label]) => (label === null ? `says "${o}" as ${humanizeField(o)}` : `says "${o}" as ${label}`)).join(", "));
2511
2666
  if (f.default !== undefined && remove.includes(f.default)) {
2512
2667
  delete f.default;
2513
2668
  out.push("has no default now");