@graview/core 0.1.37 → 0.1.39

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 (77) hide show
  1. package/dist/arrangement.d.ts +5 -0
  2. package/dist/arrangement.d.ts.map +1 -1
  3. package/dist/arrangement.js.map +1 -1
  4. package/dist/arranging.js +1 -1
  5. package/dist/arranging.js.map +1 -1
  6. package/dist/capabilities.js +1 -1
  7. package/dist/capabilities.js.map +1 -1
  8. package/dist/catalog.d.ts +42 -0
  9. package/dist/catalog.d.ts.map +1 -1
  10. package/dist/catalog.js +120 -0
  11. package/dist/catalog.js.map +1 -1
  12. package/dist/cli/check/lenses.d.ts.map +1 -1
  13. package/dist/cli/check/lenses.js +49 -1
  14. package/dist/cli/check/lenses.js.map +1 -1
  15. package/dist/columns.d.ts +19 -0
  16. package/dist/columns.d.ts.map +1 -1
  17. package/dist/columns.js +30 -8
  18. package/dist/columns.js.map +1 -1
  19. package/dist/describe.d.ts +2 -2
  20. package/dist/describe.d.ts.map +1 -1
  21. package/dist/describe.js +1 -1
  22. package/dist/describe.js.map +1 -1
  23. package/dist/document/edit.d.ts.map +1 -1
  24. package/dist/document/edit.js +65 -4
  25. package/dist/document/edit.js.map +1 -1
  26. package/dist/document/index.d.ts +1 -0
  27. package/dist/document/index.d.ts.map +1 -1
  28. package/dist/document/index.js +1 -0
  29. package/dist/document/index.js.map +1 -1
  30. package/dist/document/lens-options.d.ts +14 -0
  31. package/dist/document/lens-options.d.ts.map +1 -0
  32. package/dist/document/lens-options.js +35 -0
  33. package/dist/document/lens-options.js.map +1 -0
  34. package/dist/document/schema.d.ts +2 -0
  35. package/dist/document/schema.d.ts.map +1 -1
  36. package/dist/document/schema.js +5 -1
  37. package/dist/document/schema.js.map +1 -1
  38. package/dist/document.schema.json +18 -8
  39. package/dist/index.d.ts +5 -1
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +5 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/mutations/made.d.ts +14 -0
  44. package/dist/mutations/made.d.ts.map +1 -0
  45. package/dist/mutations/made.js +21 -0
  46. package/dist/mutations/made.js.map +1 -0
  47. package/dist/places.d.ts +23 -4
  48. package/dist/places.d.ts.map +1 -1
  49. package/dist/places.js +53 -6
  50. package/dist/places.js.map +1 -1
  51. package/dist/scaffold/domain.d.ts.map +1 -1
  52. package/dist/scaffold/domain.js +4 -1
  53. package/dist/scaffold/domain.js.map +1 -1
  54. package/dist/scaffold/project.d.ts.map +1 -1
  55. package/dist/scaffold/project.js +8 -6
  56. package/dist/scaffold/project.js.map +1 -1
  57. package/dist/scaffold/ui.d.ts.map +1 -1
  58. package/dist/scaffold/ui.js +18 -3
  59. package/dist/scaffold/ui.js.map +1 -1
  60. package/dist/search.d.ts +3 -1
  61. package/dist/search.d.ts.map +1 -1
  62. package/dist/search.js +14 -1
  63. package/dist/search.js.map +1 -1
  64. package/dist/store.d.ts.map +1 -1
  65. package/dist/store.js +19 -10
  66. package/dist/store.js.map +1 -1
  67. package/dist/version.d.ts +1 -1
  68. package/dist/version.js +1 -1
  69. package/dist/views/kept.d.ts +112 -0
  70. package/dist/views/kept.d.ts.map +1 -0
  71. package/dist/views/kept.js +104 -0
  72. package/dist/views/kept.js.map +1 -0
  73. package/dist/views/types.d.ts +35 -0
  74. package/dist/views/types.d.ts.map +1 -1
  75. package/dist/views/types.js +2 -2
  76. package/dist/views/types.js.map +1 -1
  77. package/package.json +1 -1
@@ -5,7 +5,8 @@ import { arrangeable, listFieldsOf, throughEdges } from "../../arrangement.js";
5
5
  import { kindListFindings } from "../../kind-list.js";
6
6
  import { fieldOf } from "./context.js";
7
7
  import { columnReach } from "../../columns.js";
8
- import { deriveMutations } from "../../mutations/derive-edits.js";
8
+ import { nounOf, withArticle } from "../../schema/define-node.js";
9
+ import { deriveMutations, fieldsWrittenBy, subjectKindsOf } from "../../mutations/derive-edits.js";
9
10
  export function checkShippedLenses(ctx) {
10
11
  const { app, add } = ctx;
11
12
  /*
@@ -280,6 +281,33 @@ export function checkDeclaredLenses(ctx) {
280
281
  for (const finding of declared.findings) {
281
282
  ctx.add({ severity: finding.severity, code: finding.code, where: finding.path, message: finding.message, fix: finding.fix });
282
283
  }
284
+ /*
285
+ * WHAT A LENS SHOWS OF ITSELF, AND WHAT IT LEFT OUT (Roadmap
286
+ * f-lens-search-filter): a field Find cannot look in or a chip cannot
287
+ * filter by, a column the field does not have, a cap that is not a count,
288
+ * a move that is not yes or no. `declaredLenses` keeps what it can honor;
289
+ * this says the rest, at its path (here, not there: a page carries that).
290
+ */
291
+ for (const lens of declared.drawn) {
292
+ const given = ctx.app.lenses?.[lens.index]?.options;
293
+ if (!given)
294
+ continue;
295
+ for (const key of ["search", "filters", "collapsed", "hidden", "cap", "move"]) {
296
+ if (!(key in given) || JSON.stringify(given[key]) === JSON.stringify(lens.options[key]))
297
+ continue;
298
+ const kept = Array.isArray(lens.options[key]) ? lens.options[key] : [];
299
+ const strays = Array.isArray(given[key]) ? given[key].filter((one) => !kept.includes(one)) : [given[key]];
300
+ const kind = typeof lens.options["rows"] === "string" ? lens.options["rows"] : lens.kinds[0];
301
+ const what = key === "search" || key === "filters"
302
+ ? [`${key === "search" ? "searches" : "filters by"} ${strays.map((one) => JSON.stringify(one)).join(", ")}, which ${kind} does not have`, `Name fields of ${kind} as a list${key === "filters" ? " — its relations too" : ""}, "label" for its name.`]
303
+ : key === "cap"
304
+ ? [`keeps ${JSON.stringify(given[key])} cards a column, which is not a whole number from 1 to 500`, `Say "cap": 20 to keep each column to its newest twenty, or drop it.`]
305
+ : key === "move"
306
+ ? [`says move is ${JSON.stringify(given[key])}, neither true nor false`, `Say "move": true for a Move button under each card, or drop it: a card moves by drag, by the keyboard and from its menu.`]
307
+ : [`names ${strays.map((one) => JSON.stringify(one)).join(", ")} among its ${key} columns, which the field does not have`, `Name columns by their values, as a list.`];
308
+ ctx.add({ severity: "warning", code: "lens-option", where: `lenses.${lens.index}.options.${key}`, message: `"${lens.title}" ${what[0]}, so it leaves ${strays.length === 1 ? "it" : "them"} out.`, fix: what[1] });
309
+ }
310
+ }
283
311
  /*
284
312
  * TWO PICTURES, ONE NAME, ON DIFFERENT KINDS: each still draws, at an
285
313
  * address that says whose (`?of=`), and every list says whose beside the
@@ -313,6 +341,26 @@ export function checkDeclaredLenses(ctx) {
313
341
  continue;
314
342
  const reach = columnReach(ctx.app.schema, acts, kind, roles.column);
315
343
  const unreached = reach.filter((one) => one.by === "none");
344
+ /*
345
+ * ACTS THAT SAY THEY WRITE THE COLUMN AND NOT TO WHAT (the thirteenth
346
+ * walk): `writes: ["status"]` on an act written in code says it writes
347
+ * the field, never the value, so no column is reached by it and every
348
+ * card's "Move to ›" is withheld with "Nothing in this app moves …".
349
+ */
350
+ const definition = ctx.app.schema.tryDefinition(kind);
351
+ const unsaid = definition && unreached.length > 0 ? own.filter((act) => act.subject !== undefined && act.sets?.[roles.column] === undefined && subjectKindsOf(ctx.app.schema, act).includes(kind) && fieldsWrittenBy(act, definition).includes(roles.column)) : [];
352
+ if (unsaid.length > 0) {
353
+ const names = unsaid.map((act) => `"${act.title ?? act.name}"`);
354
+ const listed = names.length === 1 ? names[0] : `${names.slice(0, -1).join(", ")} and ${names.at(-1)}`;
355
+ ctx.add({
356
+ severity: "warning",
357
+ code: "lens-column-written-unsaid",
358
+ where: `lenses.${lens.index}.bindings.${kind}.column`,
359
+ message: `${listed} write ${roles.column} on ${withArticle(nounOf(definition, kind))} without saying to what, so "${lens.title}" moves no card into ${unreached.map((one) => one.label).join(", ")}.`,
360
+ fix: `Say the value each one writes: sets: { ${roles.column}: "<the value it writes>" } beside writes, and it is the move to that column.`,
361
+ });
362
+ continue;
363
+ }
316
364
  // A board nothing moves on at all is a picture of where things stand, and `describe` says so; the note is for the gaps in one that moves.
317
365
  if (unreached.length === 0 || unreached.length === reach.length)
318
366
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"lenses.js","sourceRoot":"","sources":["../../../src/cli/check/lenses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAgBjD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,MAAM,UAAU,kBAAkB,CAAsB,GAAoB;IAC1E,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IACzB;;;;;;;;;;;OAWG;IACH,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;SAChC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,oEAAoE;SACnE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC;YACF,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAC7D,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YACxC,oFAAoF;YACpF,GAAG,EAAE,SACH,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cACjC,8HAA8H;SAC/H,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAsB,GAAoB;IACzE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAChC,wEAAwE;IACxE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAA4C,CAAC;QAC3F,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACpC;;;;;WAKG;QACH,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAA4C,CAAC;YAClF,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC;oBACxB,GAAG,CAAC;wBACF,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,mBAAmB;wBACzB,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,YAAY;wBACnD,OAAO,EAAE,SAAS,IAAI,CAAC,IAAI,oBAAoB,IAAI,yBAAyB;wBAC5E,GAAG,EAAE,OAAO,IAAI,gFAAgF;qBACjG,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,2EAA2E;YAC3E,MAAM,UAAU,GAAG,CAAC,IAAY,EAAsB,EAAE;gBACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;gBACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACvD,CAAC,CAAC;YAEF,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAO,CAAC,MAAM,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3F,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAO,CAAC,MAAM,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3F,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAO,CAAC,OAAO,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9F;;;;;mBAKG;gBACH,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,MAAM,CAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;gBAClG,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACtB,GAAG,CAAC;4BACF,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,yBAAyB;4BAC/B,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,cAAc,IAAI,EAAE;4BAC3D,OAAO,EAAE,SAAS,IAAI,+CAA+C;4BACrE,GAAG,EAAE,wGAAwG;yBAC9G,CAAC,CAAC;oBACL,CAAC;oBACD;;;;uBAIG;oBACH,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1F,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrN,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAyB,CAAC,CAAC;wBAC9E,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BACjD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,GAAI,IAA0B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;4BACjG,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACjE,GAAG,CAAC;gCACF,QAAQ,EAAE,OAAO;gCACjB,IAAI,EAAE,0BAA0B;gCAChC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,cAAc,IAAI,EAAE;gCAC3D,OAAO,EAAE,SAAS;oCAChB,CAAC,CAAC,SAAS,IAAI,+CAA+C,IAAI,CAAC,OAAO,6DAA6D;oCACvI,CAAC,CAAC,SAAS,IAAI,sBAAsB,IAAI,CAAC,OAAO,SAAS,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,4CAA4C,GAAG;gCACtK,GAAG,EAAE,SAAS;oCACZ,CAAC,CAAC,oCAAoC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oCAC5G,CAAC,CAAC,yBAAyB,IAAI,CAAC,OAAO,SAAS,IAAI,CAAC,IAAI,aAAa;6BACzE,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBACD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;wBACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;4BACrD,GAAG,CAAC;gCACF,QAAQ,EAAE,OAAO;gCACjB,IAAI,EAAE,8BAA8B;gCACpC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,cAAc,IAAI,EAAE;gCAC3D,OAAO,EAAE,SAAS,IAAI,oBAAoB,MAAM,CAAC,IAAI,CAAC,6CAA6C;gCACnG,GAAG,EAAE,eAAe,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;6BACjD,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC;wBACF,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,8BAA8B;wBACpC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,cAAc,IAAI,EAAE;wBAC3D,OAAO,EAAE,SAAS,IAAI,iBAAiB,IAAI,kCAAkC;wBAC7E,GAAG,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;qBAC7C,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/C,GAAG,CAAC;wBACF,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,8BAA8B;wBACpC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,cAAc,IAAI,EAAE;wBAC3D,OAAO,EAAE,SAAS,IAAI,iBAAiB,IAAI,kCAAkC;wBAC7E,GAAG,EAAE,eAAe,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;qBACjD,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAO,CAAC,IAAI,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC;oBACxF,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACtE,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBACnD,GAAG,CAAC;4BACF,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,8BAA8B;4BACpC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,cAAc,IAAI,EAAE;4BAC3D,OAAO,EAAE,SAAS,IAAI,kBAAkB,KAAK,qDAAqD;4BAClG,GAAG,EAAE,qCAAqC;yBAC3C,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAE7C,CAAC;wBACd,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,CAAC;4BAC/B,GAAG,CAAC;gCACF,QAAQ,EAAE,OAAO;gCACjB,IAAI,EAAE,4BAA4B;gCAClC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,cAAc,IAAI,EAAE;gCAC3D,OAAO,EAAE,SAAS,IAAI,oBAAoB,KAAK,aAAa,SAAS,qBAAqB;gCAC1F,GAAG,EAAE,uBAAuB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;6BAC7D,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC1F,GAAG,CAAC;wBACF,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,oBAAoB;wBAC1B,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,cAAc,IAAI,EAAE;wBAC3D,OAAO,EAAE,SAAS,IAAI,kBAAkB;wBACxC,GAAG,EAAE,0HAA0H;qBAChI,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;YACtE,MAAM,QAAQ,GAAG,WAAsC,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC;oBACF,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,8BAA8B;oBACpC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,YAAY;oBACnD,OAAO,EAAE,oBAAoB,IAAI,kCAAkC;oBACnE,GAAG,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;iBAC7C,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,UAAU;gBAAE,SAAS;YAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAgC,CAAC;YACjE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrD;;;;;;;mBAOG;gBACH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,GAAG,CAAC;wBACF,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,0BAA0B;wBAChC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,cAAc,IAAI,IAAI,IAAI,EAAE;wBACnE,OAAO,EAAE,SAAS,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,oDAAoD;wBAChH,GAAG,EAAE,gEAAgE;qBACtE,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,CAAC;oBACtB,GAAG,CAAC;wBACF,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,4BAA4B;wBAClC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,cAAc,IAAI,IAAI,IAAI,EAAE;wBACnE,OAAO,EAAE,SAAS,IAAI,oBAAoB,KAAK,aAAa,IAAI,qBAAqB;wBACrF,GAAG,EAAE,uBAAuB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;qBAC7D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,4HAA4H;YAC5H,MAAM,KAAK,GAA4B,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC/F,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC9B,GAAG,CAAC;wBACF,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,mBAAmB;wBACzB,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,cAAc,IAAI,EAAE;wBAC3D,OAAO,EAAE,SAAS,IAAI,CAAC,IAAI,oBAAoB,IAAI,aAAa,IAAI,kBAAkB;wBACtF,GAAG,EAAE,OAAO,IAAI,yCAAyC,IAAI,IAAI,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,kGAAkG,CAAC,CAAC,CAAC,EAAE,GAAG;qBAC/L,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD;;;;;;;;;;;eAWG;YACH,MAAM,aAAa,GAAG,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAA2B,CAAC;YAC9E,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7B,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,KAAK;oBAAE,SAAS;gBAClF,GAAG,CAAC;oBACF,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,wCAAwC;oBAC9C,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,cAAc,IAAI,IAAI,IAAI,EAAE;oBACnE,OAAO,EAAE,mBAAmB,IAAI,SAAS,KAAK,kBAAkB,IAAI,8BAA8B,QAAQ,yHAAyH;oBACnO,GAAG,EAAE,uLAAuL;iBAC7L,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAsB,GAAoB;IAC3E,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/H,CAAC;IACD;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,GAAG,CAAC,GAAG,CAAC;YACN,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,UAAU,IAAI,CAAC,KAAK,QAAQ;YACnC,OAAO,EAAE,IAAI,IAAI,CAAC,KAAK,4BAA4B,KAAK,CAAC,KAAK,cAAc,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,wDAAwD;YAC7J,GAAG,EAAE,uGAAuG;SAC7G,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH;;;;OAIG;IACH,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/D,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;QAC1E,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAwC,CAAC,EAAE,CAAC;YACpH,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,SAAS;YAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YAC3D,0IAA0I;YAC1I,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;gBAAE,SAAS;YAC1E,GAAG,CAAC,GAAG,CAAC;gBACN,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,uBAAuB;gBAC7B,KAAK,EAAE,UAAU,IAAI,CAAC,KAAK,aAAa,IAAI,SAAS;gBACrD,OAAO,EAAE,IAAI,IAAI,CAAC,KAAK,SAAS,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,8BAA8B,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC5J,GAAG,EAAE,QAAQ,IAAI,qBAAqB,KAAK,CAAC,MAAM,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,0CAA0C,KAAK,CAAC,MAAM,eAAe;aACpL,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,uHAAuH;AACvH,MAAM,UAAU,qBAAqB,CAAsB,GAAoB;IAC7E,KAAK,MAAM,OAAO,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/H,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAA0B,CAAC;IACxD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,eAAe,IAAI,EAAE,EAAE,OAAO,EAAE,sBAAsB,IAAI,+CAA+C,EAAE,GAAG,EAAE,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACxN,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QACvF,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC1C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC;gBAAE,OAAO;YACtD,GAAG,CAAC,GAAG,CAAC;gBACN,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,eAAe,IAAI,YAAY,KAAK,EAAE;gBAC7C,OAAO,EAAE,eAAe,IAAI,2BAA2B,GAAG,0BAA0B;gBACpF,GAAG,EAAE,wEAAwE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;aAC5H,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,yIAAyI;QACzI,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACvF,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAClI,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"lenses.js","sourceRoot":"","sources":["../../../src/cli/check/lenses.ts"],"names":[],"mappings":"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"}
package/dist/columns.d.ts CHANGED
@@ -78,6 +78,25 @@ export declare function columnMoves<S extends AnySchema>(store: Store<S>, princi
78
78
  readonly id: string;
79
79
  readonly kind: string;
80
80
  } & Readonly<Record<string, unknown>>, field: string, columns?: readonly StatusColumn[]): readonly ColumnMove[];
81
+ /** A column a record could go to, as one seat finds it: the move, or why there is none — said, never left out. */
82
+ export interface ColumnChoice {
83
+ readonly to: string;
84
+ readonly label: string;
85
+ readonly move?: ColumnMove;
86
+ /** Why this seat cannot move the record there: the policy's words, the act's refusal, or that nothing does. */
87
+ readonly why?: string;
88
+ }
89
+ /**
90
+ * EVERY OTHER COLUMN, AND WHETHER THIS SEAT MAY MOVE THE RECORD THERE — the
91
+ * card's "Move to ›": the columns it may go to, and the ones withheld, each
92
+ * with the reason a press would have met (the policy's refusal, the step's
93
+ * own `refusal` where its condition does not hold, or that no act reaches
94
+ * the column). `columnMoves` is the ones with a move, asked the same way.
95
+ */
96
+ export declare function columnChoices<S extends AnySchema>(store: Store<S>, principal: Principal, record: {
97
+ readonly id: string;
98
+ readonly kind: string;
99
+ } & Readonly<Record<string, unknown>>, field: string, columns?: readonly StatusColumn[]): readonly ColumnChoice[];
81
100
  /** One column, and the acts that may move a record into it: its named steps, or else the free acts that take the value. */
82
101
  export interface ColumnReach<S extends AnySchema = AnySchema> {
83
102
  readonly value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../src/columns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../src/columns.ts"],"names":[],"mappings":"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"}
package/dist/columns.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { compileMutation } from "./mutations/define-mutation.js";
2
2
  import { fieldsWrittenBy, subjectKindsOf } from "./mutations/derive-edits.js";
3
- import { fieldWords } from "./schema/define-node.js";
3
+ import { fieldWords, nounOf } from "./schema/define-node.js";
4
4
  import { valueWords } from "./schema/value-words.js";
5
5
  import { defOf } from "./schema/zod.js";
6
6
  /** A field's choices, in their declared order, and whether it may be left empty; undefined when it is not a choice. */
@@ -77,30 +77,52 @@ export function columnOf(record, field, columns) {
77
77
  * the first act that passes.
78
78
  */
79
79
  export function columnMoves(store, principal, record, field, columns = statusColumns(store.schema, record.kind, field)) {
80
+ return columnChoices(store, principal, record, field, columns).flatMap((choice) => (choice.move ? [choice.move] : []));
81
+ }
82
+ /**
83
+ * EVERY OTHER COLUMN, AND WHETHER THIS SEAT MAY MOVE THE RECORD THERE — the
84
+ * card's "Move to ›": the columns it may go to, and the ones withheld, each
85
+ * with the reason a press would have met (the policy's refusal, the step's
86
+ * own `refusal` where its condition does not hold, or that no act reaches
87
+ * the column). `columnMoves` is the ones with a move, asked the same way.
88
+ */
89
+ export function columnChoices(store, principal, record, field, columns = statusColumns(store.schema, record.kind, field)) {
80
90
  const reach = columnReach(store.schema, store.allMutations(), record.kind, field, columns);
81
91
  const here = columnOf(record, field, columns);
82
- const moves = [];
83
- for (const { value, by, acts } of reach) {
92
+ const noun = nounOf(store.schema.tryDefinition(record.kind), record.kind);
93
+ const choices = [];
94
+ for (const { value, label, by, acts } of reach) {
84
95
  if (value === here)
85
96
  continue;
97
+ let move;
98
+ /** The first refusal a press would meet: the policy's or the act's own words outrank an act the board cannot call. */
99
+ let refused;
100
+ let asks;
86
101
  for (const act of acts) {
87
102
  const args = by === "step" ? { [act.subject.arg]: record.id } : { [act.subject.arg]: record.id, [field]: value };
88
103
  const call = { name: act.name, args };
89
- if (!act.input.safeParse(args).success)
104
+ if (!act.input.safeParse(args).success) {
105
+ asks ??= `${act.title ?? act.name} asks for more than the ${noun} itself.`;
90
106
  continue;
91
- if (!store.permits(call, principal).ok)
107
+ }
108
+ const permitted = store.permits(call, principal);
109
+ if (!permitted.ok) {
110
+ refused ??= permitted.refusal?.message ?? `You may not ${act.title ?? act.name}.`;
92
111
  continue;
112
+ }
93
113
  try {
94
114
  compileMutation(store.graph, act, args);
95
115
  }
96
- catch {
116
+ catch (error) {
117
+ refused ??= error instanceof Error ? error.message : String(error);
97
118
  continue;
98
119
  }
99
- moves.push({ to: value, call, title: act.title ?? act.name });
120
+ move = { to: value, call, title: act.title ?? act.name };
100
121
  break;
101
122
  }
123
+ choices.push(move ? { to: value, label, move } : { to: value, label, why: refused ?? asks ?? `Nothing in this app moves a ${noun} to ${label}.` });
102
124
  }
103
- return moves;
125
+ return choices;
104
126
  }
105
127
  /**
106
128
  * WHICH ACTS REACH WHICH COLUMN, for any seat (FR-108): each column with a
@@ -1 +1 @@
1
- {"version":3,"file":"columns.js","sourceRoot":"","sources":["../src/columns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columns.js","sourceRoot":"","sources":["../src/columns.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export { describePlace, placeText } from "./document/describe-place.js";
2
- export { columnActs, columnMoves, columnOf, columnReach, columnSteps, statusColumns } from "./columns.js";
3
- export type { ColumnMove, ColumnReach, StatusColumn } from "./columns.js";
2
+ export { columnActs, columnChoices, columnMoves, columnOf, columnReach, columnSteps, statusColumns } from "./columns.js";
3
+ export type { ColumnChoice, ColumnMove, ColumnReach, StatusColumn } from "./columns.js";
4
4
  export type { DescribePlaceOptions } from "./document/describe-place.js";
5
5
  export type { DescribedFact, DescribedItem, DescribedMasthead, DescribedPart, DescribedProblem, DescribePlaceResult, PlaceDescription } from "./document/described.js";
6
6
  export { resolveFor } from "./document/resolve-for.js";
@@ -1 +1 @@
1
- {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAOxE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1G,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AASvK,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,YAAY,CAAC"}
1
+ {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAOxE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACzH,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACxF,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AASvK,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,YAAY,CAAC"}
package/dist/describe.js CHANGED
@@ -15,7 +15,7 @@ export { describePlace, placeText } from "./document/describe-place.js";
15
15
  * the board's own drawing, fetched when it is first drawn, and the
16
16
  * describer reach it.
17
17
  */
18
- export { columnActs, columnMoves, columnOf, columnReach, columnSteps, statusColumns } from "./columns.js";
18
+ export { columnActs, columnChoices, columnMoves, columnOf, columnReach, columnSteps, statusColumns } from "./columns.js";
19
19
  /*
20
20
  * A record's declared blocks — or the home's — resolved over what a seat
21
21
  * may see exactly as the faces and the describer resolve them: one call for
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI1G;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,YAAY,CAAC,CAAC,2FAA2F"}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIzH;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,YAAY,CAAC,CAAC,2FAA2F"}
@@ -1 +1 @@
1
- {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/document/edit.ts"],"names":[],"mappings":"AAMA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAcpD,OAAO,EAaL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAyCrB,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,mFAAmF;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;CAAE,GAC5H;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,CAAC;AAElE,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,sJAAsJ;IACtJ,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,+CAA+C;AAC/C,eAAO,MAAM,QAAQ,4mBA0CX,CAAC;AACX,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C,uFAAuF;AACvF,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AA2nFzF;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,OAAO,EAAE,EAAE,OAAO,GAAE,WAAgB,GAAG,WAAW,CAqCzH;AAED,0HAA0H;AAC1H,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;KAAE,CAAC;CACrI;AAED,4EAA4E;AAC5E,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7F;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACzE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,IAAI,EAAE;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAiBjL"}
1
+ {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/document/edit.ts"],"names":[],"mappings":"AAMA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAcpD,OAAO,EAaL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAyCrB,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,mFAAmF;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;CAAE,GAC5H;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,CAAC;AAElE,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,sJAAsJ;IACtJ,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,+CAA+C;AAC/C,eAAO,MAAM,QAAQ,4mBA0CX,CAAC;AACX,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C,uFAAuF;AACvF,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AA6qFzF;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,OAAO,EAAE,EAAE,OAAO,GAAE,WAAgB,GAAG,WAAW,CAqCzH;AAED,0HAA0H;AAC1H,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;KAAE,CAAC;CACrI;AAED,4EAA4E;AAC5E,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7F;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACzE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,IAAI,EAAE;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAiBjL"}
@@ -17,7 +17,7 @@ import { farEnd } from "./far-end.js";
17
17
  import { linkedRelationFindings } from "./linked-relation-findings.js";
18
18
  import { linkedRelationOfSpec, reachesAnotherApp } from "../schema/linked.js";
19
19
  import { ActSpec, EDGE_NAME, EdgeSpec, FIELD_NAME, FIELD_TYPES, FieldSpec, GrantSpec, KindSpec, NAME, RuleSpec, SightSpec, } from "./schema.js";
20
- import { SHIPPED_LENSES, isShippedLens, SHIPPED_LENS_NAMES } from "../places.js";
20
+ import { SHIPPED_LENSES, isShippedLens, SHIPPED_LENS_NAMES, unknownLensOption } from "../places.js";
21
21
  import { placeSlug } from "../views/types.js";
22
22
  import { documentListFields, kindListFindings, kindListWords, listGroup, listSort, sortTypeOfDocumentField } from "../kind-list.js";
23
23
  import { computedOf, validateComputed } from "./computed.js";
@@ -1017,13 +1017,19 @@ class Editor {
1017
1017
  const clash = lenses.findIndex((other, index) => index !== at && isObject(other) && typeof other["title"] === "string" && placeSlug(other["title"]) === placeSlug(e.title) && (e.on === undefined || other["on"] === undefined || other["on"] === e.on));
1018
1018
  if (clash >= 0)
1019
1019
  return this.fail(i, "title", `there is already a lens called "${String(lenses[clash]["title"])}"`, 'give it its own title, or say "replace" with the title of the lens it takes the place of');
1020
+ // An option the lens does not take would apply and do nothing: refused in the checker's own words (FR-190).
1021
+ const stray = isObject(e.options) ? Object.keys(e.options).find((key) => !SHIPPED_LENSES[name].options.includes(key)) : undefined;
1022
+ if (stray !== undefined) {
1023
+ const said = unknownLensOption(name, stray, e.title);
1024
+ return this.failAs("lens-option-unknown", i, `options.${stray}`, said.message, said.fix);
1025
+ }
1020
1026
  if (name === "blocks") {
1021
1027
  if (e.on === undefined)
1022
1028
  return this.fail(i, "on", "a lens drawn from blocks says which kind it is a place of", 'say "on": "<kind>"');
1023
1029
  if (!Array.isArray(e.options?.blocks) || e.options.blocks.length === 0)
1024
1030
  return this.fail(i, "options.blocks", 'a lens drawn from blocks has blocks: "options": {"blocks": [{"headline": "…"}, {"list": "all(\'<kind>\')", "as": "card"}]}');
1025
1031
  }
1026
- if (name === "columns" && !this.columnsHold(i, e.bindings))
1032
+ if (name === "columns" && !(this.columnsHold(i, e.bindings) && this.boardOptionsHold(i, e.bindings, e.options)))
1027
1033
  return;
1028
1034
  if (was)
1029
1035
  lenses[at] = lens;
@@ -1077,6 +1083,47 @@ class Editor {
1077
1083
  }
1078
1084
  return true;
1079
1085
  }
1086
+ /**
1087
+ * WHAT A BOARD SHOWS OF ITSELF (Roadmap f-lens-search-filter): fields of
1088
+ * its kind for Find and the chips, columns of its field to open shut or
1089
+ * leave off, a count of cards a column keeps, and whether a Move button
1090
+ * stands under each card. Refused here, where a person can still say it
1091
+ * again; the checker says the same of a declaration written by hand.
1092
+ */
1093
+ boardOptionsHold(i, bindings, options) {
1094
+ if (options === undefined)
1095
+ return true;
1096
+ if (!isObject(options))
1097
+ return (this.fail(i, "options", "a board's options are an object", '"options": {"search": ["label"], "filters": ["status"], "collapsed": ["done"]}'), false);
1098
+ const kind = Object.keys(bindings)[0];
1099
+ const fields = this.doc.kinds[kind].fields;
1100
+ const column = fields[bindings[kind]["column"]];
1101
+ const values = (Array.isArray(column["options"]) ? column["options"] : []);
1102
+ const relations = Object.keys(this.doc.kinds[kind].edges ?? {});
1103
+ for (const key of ["search", "filters"]) {
1104
+ const given = options[key];
1105
+ if (given === undefined)
1106
+ continue;
1107
+ const known = ["label", ...Object.keys(fields), ...(key === "filters" ? ["is", ...relations] : [])];
1108
+ const stray = Array.isArray(given) ? given.find((one) => typeof one !== "string" || !known.includes(key === "filters" ? one.split(".")[0] : one)) : given;
1109
+ if (!Array.isArray(given) || stray !== undefined)
1110
+ return (this.fail(i, `options.${key}`, `${kind} has no field ${JSON.stringify(stray)} to ${key === "search" ? "search" : "filter by"}`, `name fields of ${kind}, as a list: ${known.slice(0, 8).join(", ")}`), false);
1111
+ }
1112
+ for (const key of ["collapsed", "hidden"]) {
1113
+ const given = options[key];
1114
+ if (given === undefined)
1115
+ continue;
1116
+ const stray = Array.isArray(given) ? given.find((one) => typeof one !== "string" || !values.includes(one)) : given;
1117
+ if (!Array.isArray(given) || stray !== undefined)
1118
+ return (this.fail(i, `options.${key}`, `${JSON.stringify(stray)} is not one of the board's columns`, `name columns by their values, as a list: ${values.join(", ")}`), false);
1119
+ }
1120
+ const cap = options["cap"];
1121
+ if (cap !== undefined && !(Number.isInteger(cap) && cap >= 1 && cap <= 500))
1122
+ return (this.fail(i, "options.cap", "a board keeps a whole number of cards per column, from 1 to 500", '"cap": 20'), false);
1123
+ if (options["move"] !== undefined && typeof options["move"] !== "boolean")
1124
+ return (this.fail(i, "options.move", "move is true or false", '"move": true puts a Move button under each card'), false);
1125
+ return true;
1126
+ }
1080
1127
  /**
1081
1128
  * A LENS KEPT OFF THE LISTS, or put back on them: still a place at its
1082
1129
  * address, reached by a link or `navigate`, but not offered by the bar,
@@ -2787,9 +2834,20 @@ class Editor {
2787
2834
  draws = false;
2788
2835
  options["blocks"] = blocks;
2789
2836
  }
2790
- for (const [key, value] of Object.entries(options))
2791
- if (key !== "blocks" && value === r.from && (r.t !== "field" || lensStandsOn(lens, r.kind)))
2837
+ for (const [key, value] of Object.entries(options)) {
2838
+ if (key === "blocks")
2839
+ continue;
2840
+ // What Find looks in and the chips filter by lose a field that goes, as the rest of the options do.
2841
+ if (Array.isArray(value) && (key === "search" || key === "filters") && (r.t !== "field" || lensStandsOn(lens, r.kind))) {
2842
+ const kept = value.filter((one) => one !== r.from && !(typeof one === "string" && one.startsWith(`${r.from}.`)));
2843
+ if (kept.length > 0)
2844
+ options[key] = kept;
2845
+ else
2846
+ delete options[key];
2847
+ }
2848
+ else if (value === r.from && (r.t !== "field" || lensStandsOn(lens, r.kind)))
2792
2849
  delete options[key];
2850
+ }
2793
2851
  }
2794
2852
  if (!draws)
2795
2853
  leaving.push(index);
@@ -3086,6 +3144,9 @@ function rewriteLens(doc, lens, r) {
3086
3144
  for (const [key, value] of Object.entries(options)) {
3087
3145
  if (key === "blocks" && Array.isArray(value))
3088
3146
  options["blocks"] = mapBlocks(value, (b) => rewriteBlock(doc, b, NONE, r, null));
3147
+ // What Find looks in and the chips filter by follow a field or relation by its new name.
3148
+ else if (Array.isArray(value) && (key === "search" || key === "filters") && (r.t !== "field" || lensStandsOn(lens, r.kind)))
3149
+ options[key] = value.map((one) => (one === r.from ? r.to : typeof one === "string" && one.startsWith(`${r.from}.`) ? `${r.to}${one.slice(r.from.length)}` : one));
3089
3150
  else if (value === r.from && (r.t !== "field" || lensStandsOn(lens, r.kind)))
3090
3151
  options[key] = r.to;
3091
3152
  }