@graview/core 0.1.54 → 0.1.55

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 (111) hide show
  1. package/dist/alias-findings.d.ts +40 -0
  2. package/dist/alias-findings.d.ts.map +1 -0
  3. package/dist/alias-findings.js +95 -0
  4. package/dist/alias-findings.js.map +1 -0
  5. package/dist/app.d.ts +13 -0
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js.map +1 -1
  8. package/dist/catalog.d.ts +32 -0
  9. package/dist/catalog.d.ts.map +1 -1
  10. package/dist/catalog.js +17 -1
  11. package/dist/catalog.js.map +1 -1
  12. package/dist/check.d.ts +2 -0
  13. package/dist/check.d.ts.map +1 -1
  14. package/dist/check.js +2 -0
  15. package/dist/check.js.map +1 -1
  16. package/dist/cli/check/aliases.d.ts +11 -0
  17. package/dist/cli/check/aliases.d.ts.map +1 -0
  18. package/dist/cli/check/aliases.js +17 -0
  19. package/dist/cli/check/aliases.js.map +1 -0
  20. package/dist/cli/check/context.d.ts +2 -0
  21. package/dist/cli/check/context.d.ts.map +1 -1
  22. package/dist/cli/check/context.js.map +1 -1
  23. package/dist/cli/check/index.d.ts +2 -0
  24. package/dist/cli/check/index.d.ts.map +1 -1
  25. package/dist/cli/check/index.js +2 -0
  26. package/dist/cli/check/index.js.map +1 -1
  27. package/dist/cli/check/jobs.d.ts +12 -0
  28. package/dist/cli/check/jobs.d.ts.map +1 -0
  29. package/dist/cli/check/jobs.js +25 -0
  30. package/dist/cli/check/jobs.js.map +1 -0
  31. package/dist/cli/check.d.ts +13 -0
  32. package/dist/cli/check.d.ts.map +1 -1
  33. package/dist/cli/check.js +25 -2
  34. package/dist/cli/check.js.map +1 -1
  35. package/dist/cli/describe.d.ts.map +1 -1
  36. package/dist/cli/describe.js +41 -0
  37. package/dist/cli/describe.js.map +1 -1
  38. package/dist/cli/document-schema.d.ts.map +1 -1
  39. package/dist/cli/document-schema.js +7 -0
  40. package/dist/cli/document-schema.js.map +1 -1
  41. package/dist/compose.d.ts +99 -0
  42. package/dist/compose.d.ts.map +1 -0
  43. package/dist/compose.js +245 -0
  44. package/dist/compose.js.map +1 -0
  45. package/dist/document/compile-checked.d.ts.map +1 -1
  46. package/dist/document/compile-checked.js +11 -5
  47. package/dist/document/compile-checked.js.map +1 -1
  48. package/dist/document/compiled.d.ts.map +1 -1
  49. package/dist/document/compiled.js +6 -0
  50. package/dist/document/compiled.js.map +1 -1
  51. package/dist/document/design-findings.d.ts +32 -0
  52. package/dist/document/design-findings.d.ts.map +1 -0
  53. package/dist/document/design-findings.js +593 -0
  54. package/dist/document/design-findings.js.map +1 -0
  55. package/dist/document/edit.d.ts +1 -1
  56. package/dist/document/edit.d.ts.map +1 -1
  57. package/dist/document/edit.js +231 -2
  58. package/dist/document/edit.js.map +1 -1
  59. package/dist/document/findings.d.ts +8 -2
  60. package/dist/document/findings.d.ts.map +1 -1
  61. package/dist/document/findings.js +4 -3
  62. package/dist/document/findings.js.map +1 -1
  63. package/dist/document/graview-template.d.ts +3 -3
  64. package/dist/document/purpose-spec.d.ts +37 -0
  65. package/dist/document/purpose-spec.d.ts.map +1 -0
  66. package/dist/document/purpose-spec.js +41 -0
  67. package/dist/document/purpose-spec.js.map +1 -0
  68. package/dist/document/schema.d.ts +24 -11
  69. package/dist/document/schema.d.ts.map +1 -1
  70. package/dist/document/schema.js +16 -0
  71. package/dist/document/schema.js.map +1 -1
  72. package/dist/document/to-document.d.ts.map +1 -1
  73. package/dist/document/to-document.js +5 -1
  74. package/dist/document/to-document.js.map +1 -1
  75. package/dist/document.schema.json +120 -2
  76. package/dist/friction-record.d.ts +52 -0
  77. package/dist/friction-record.d.ts.map +1 -0
  78. package/dist/friction-record.js +36 -0
  79. package/dist/friction-record.js.map +1 -0
  80. package/dist/friction.d.ts +209 -0
  81. package/dist/friction.d.ts.map +1 -0
  82. package/dist/friction.js +302 -0
  83. package/dist/friction.js.map +1 -0
  84. package/dist/index.d.ts +3 -0
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +2 -0
  87. package/dist/index.js.map +1 -1
  88. package/dist/job-findings.d.ts +39 -0
  89. package/dist/job-findings.d.ts.map +1 -0
  90. package/dist/job-findings.js +171 -0
  91. package/dist/job-findings.js.map +1 -0
  92. package/dist/job-shape.d.ts +57 -0
  93. package/dist/job-shape.d.ts.map +1 -0
  94. package/dist/job-shape.js +5 -0
  95. package/dist/job-shape.js.map +1 -0
  96. package/dist/jobs.d.ts +62 -0
  97. package/dist/jobs.d.ts.map +1 -0
  98. package/dist/jobs.js +112 -0
  99. package/dist/jobs.js.map +1 -0
  100. package/dist/learn.d.ts +151 -0
  101. package/dist/learn.d.ts.map +1 -0
  102. package/dist/learn.js +520 -0
  103. package/dist/learn.js.map +1 -0
  104. package/dist/schema/types.d.ts +9 -0
  105. package/dist/schema/types.d.ts.map +1 -1
  106. package/dist/search.d.ts.map +1 -1
  107. package/dist/search.js +2 -0
  108. package/dist/search.js.map +1 -1
  109. package/dist/version.d.ts +1 -1
  110. package/dist/version.js +1 -1
  111. package/package.json +17 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design-findings.js","sourceRoot":"","sources":["../../src/document/design-findings.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"];
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"];
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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"}
@@ -14,9 +14,13 @@ const refusedFormat = (format, type) => {
14
14
  return `${sentence}; ${fix}`;
15
15
  };
16
16
  import { farEnd } from "./far-end.js";
17
+ import { jobFindings, jobWorldOfDocument } from "../job-findings.js";
18
+ import { JobSpec } from "./purpose-spec.js";
19
+ import { aliasWord, documentAliasFindings } from "../alias-findings.js";
20
+ import { withArticle } from "../schema/define-node.js";
17
21
  import { linkedRelationFindings } from "./linked-relation-findings.js";
18
22
  import { linkedRelationOfSpec, reachesAnotherApp } from "../schema/linked.js";
19
- import { ActSpec, EDGE_NAME, EdgeSpec, FIELD_NAME, FIELD_TYPES, FieldSpec, GrantSpec, KindSpec, NAME, RuleSpec, SightSpec, } from "./schema.js";
23
+ import { ActSpec, ALIAS, MOST_ALIASES, EDGE_NAME, EdgeSpec, FIELD_NAME, FIELD_TYPES, FieldSpec, GrantSpec, KindSpec, NAME, RuleSpec, SightSpec, } from "./schema.js";
20
24
  import { SHIPPED_LENSES, isShippedLens, SHIPPED_LENS_NAMES, unknownLensOption, viewReference } from "../places.js";
21
25
  import { LENSES_THAT_LIST, listsRecords } from "../lenses-that-list.js";
22
26
  import { placeSlug, VIEW_REFERENCE } from "../views/types.js";
@@ -82,6 +86,12 @@ export const EDIT_OPS = [
82
86
  "remove-grant",
83
87
  "add-sight",
84
88
  "remove-sight",
89
+ "set-purpose",
90
+ "add-job",
91
+ "edit-job",
92
+ "remove-job",
93
+ "add-alias",
94
+ "set-aliases",
85
95
  ];
86
96
  /** Words the rule language keeps: a field or relation renamed to one could not be named in a rule. */
87
97
  const KEYWORDS = new Set(["and", "or", "not", "in", "where", "true", "false", "null"]);
@@ -102,6 +112,7 @@ function buildShapes() {
102
112
  const edgeName = z.string().regex(EDGE_NAME, 'relation names are one camelCase word, like "tendedBy"');
103
113
  const actName = z.string().regex(NAME, 'act names are lower-case words joined by hyphens, like "mark-paid"');
104
114
  const lensTitle = z.string().min(1).max(80);
115
+ const jobName = z.string().regex(NAME, 'job names are lower-case words joined by hyphens, like "unbooked-soon"');
105
116
  return {
106
117
  "add-kind": z.object({ op: z.literal("add-kind"), kind: kindName, act: z.boolean().optional() }).passthrough(),
107
118
  "rename-kind": z.object({ op: z.literal("rename-kind"), kind: kindName, to: kindName, noun: z.string().min(1).max(40).optional(), plural: z.string().min(1).max(40).optional() }).strict(),
@@ -229,6 +240,28 @@ function buildShapes() {
229
240
  "remove-grant": z.object({ op: z.literal("remove-grant") }).passthrough(),
230
241
  "add-sight": z.object({ op: z.literal("add-sight") }).passthrough(),
231
242
  "remove-sight": z.object({ op: z.literal("remove-sight") }).passthrough(),
243
+ // Who the app is for, in words (Roadmap f-app-jobs); null takes the sentence away.
244
+ "set-purpose": z.object({ op: z.literal("set-purpose"), for: z.union([z.string().min(1).max(300), z.null()]) }).strict(),
245
+ // A job as the document holds one (`purpose.jobs[]`), placed at `at` or last.
246
+ "add-job": z.object({ op: z.literal("add-job"), job: z.record(z.string(), z.unknown()), at: z.number().int().min(0).optional() }).strict(),
247
+ // A job by its name, each key given set, null clearing an optional one.
248
+ "edit-job": z
249
+ .object({
250
+ op: z.literal("edit-job"),
251
+ name: jobName,
252
+ ask: z.string().min(1).max(200).optional(),
253
+ kind: kindName.optional(),
254
+ where: z.union([z.string().min(1).max(2000), z.null()]).optional(),
255
+ sort: z.union([listKey, z.object({ by: listKey, direction: listDirection }).strict(), z.null()]).optional(),
256
+ act: z.union([actName, z.null()]).optional(),
257
+ roles: z.union([z.array(z.string().regex(NAME)).min(1).max(40), z.null()]).optional(),
258
+ })
259
+ .strict(),
260
+ "remove-job": z.object({ op: z.literal("remove-job"), name: jobName }).strict(),
261
+ // Another word people use for a kind, or for one of its fields (Roadmap f-learned-suggestions).
262
+ "add-alias": z.object({ op: z.literal("add-alias"), kind: kindName, field: fieldName.optional(), alias: z.string().min(1).max(40) }).strict(),
263
+ // All of a kind's or a field's other words at once; null or [] takes them away.
264
+ "set-aliases": z.object({ op: z.literal("set-aliases"), kind: kindName, field: fieldName.optional(), aliases: z.union([z.array(z.string().min(1).max(40)).max(MOST_ALIASES), z.null()]) }).strict(),
232
265
  };
233
266
  }
234
267
  let shapes;
@@ -946,7 +979,144 @@ class Editor {
946
979
  case "add-sight":
947
980
  case "remove-sight":
948
981
  return this.policyEdit(i, e);
982
+ case "set-purpose":
983
+ return this.setPurpose(e);
984
+ case "add-job":
985
+ return this.addJob(i, e);
986
+ case "edit-job":
987
+ return this.editJob(i, e);
988
+ case "remove-job":
989
+ return this.removeJob(i, e.name);
990
+ case "add-alias":
991
+ return this.setAliases(i, e.kind, e.field, [...this.aliasesOf(e.kind, e.field), e.alias], e.alias);
992
+ case "set-aliases":
993
+ return this.setAliases(i, e.kind, e.field, e.aliases ?? []);
994
+ }
995
+ }
996
+ // ── other words for a kind or a field (Roadmap f-learned-suggestions) ──
997
+ aliasesOf(kind, field) {
998
+ const spec = this.doc.kinds[kind];
999
+ return (field ? spec?.fields?.[field]?.aliases : spec?.aliases) ?? [];
1000
+ }
1001
+ /**
1002
+ * A kind's or a field's aliases, as words people search with: lower case,
1003
+ * each once. Refused, in the checker's words, when one is not a word or is
1004
+ * what something else in the app is already called. `added` is the one
1005
+ * word `add-alias` gave, said alone.
1006
+ */
1007
+ setAliases(i, kind, field, given, added) {
1008
+ const spec = this.kind(i, kind);
1009
+ if (!spec)
1010
+ return;
1011
+ const target = field ? this.field(i, kind, field) : spec;
1012
+ if (!target)
1013
+ return;
1014
+ const said = [...new Set(given.map(aliasWord))];
1015
+ const at = added === undefined ? "aliases" : "alias";
1016
+ for (const [n, word] of said.entries())
1017
+ if (!ALIAS.test(word))
1018
+ return this.fail(i, added === undefined ? `aliases.${n}` : at, `"${word}" is not a word people search with: one to three words of letters and digits`, 'like "supplier" or "wedding venue"');
1019
+ if (said.length > MOST_ALIASES)
1020
+ return this.fail(i, at, `at most ${MOST_ALIASES} other words for one ${field ? "field" : "kind"}`);
1021
+ const before = target.aliases;
1022
+ if (said.length === 0)
1023
+ delete target.aliases;
1024
+ else
1025
+ target.aliases = said;
1026
+ const wrong = documentAliasFindings(this.doc).filter((finding) => finding.path.startsWith(`kinds.${kind}${field ? `.fields.${field}` : ""}.aliases`));
1027
+ if (wrong.length > 0) {
1028
+ if (before === undefined)
1029
+ delete target.aliases;
1030
+ else
1031
+ target.aliases = before;
1032
+ return this.fail(i, at, wrong[0].message, wrong[0].fix);
1033
+ }
1034
+ const whose = field ? `${kind}'s ${field}` : withArticle(spec.noun ?? words(kind));
1035
+ if (added !== undefined)
1036
+ this.said.push(`Search and the seat take “${aliasWord(added)}” as another word for ${whose}.`);
1037
+ else
1038
+ this.said.push(said.length === 0 ? `${capitalize(whose)} has no other words now.` : `Other words for ${whose}: ${listOf(said.map((word) => `“${word}”`))}.`);
1039
+ }
1040
+ // ── who the app is for, and what they come to do (Roadmap f-app-jobs) ──
1041
+ setPurpose(e) {
1042
+ const purpose = { ...(this.doc.purpose ?? {}) };
1043
+ if (e.for === null)
1044
+ delete purpose.for;
1045
+ else
1046
+ purpose.for = e.for;
1047
+ this.keepPurpose(purpose);
1048
+ this.said.push(e.for === null ? "The app no longer says whom it is for." : `The app says it is for ${quotedAtTheEnd(e.for)}`);
1049
+ }
1050
+ /** The purpose as it now stands, or none when it says nothing. */
1051
+ keepPurpose(purpose) {
1052
+ if (Array.isArray(purpose.jobs) && purpose.jobs.length === 0)
1053
+ delete purpose.jobs;
1054
+ if (Object.keys(purpose).length === 0)
1055
+ delete this.doc.purpose;
1056
+ else
1057
+ this.doc.purpose = purpose;
1058
+ }
1059
+ /** The job a name names, or -1 having said why. */
1060
+ jobIndex(i, name) {
1061
+ const jobs = this.doc.purpose?.jobs ?? [];
1062
+ const index = jobs.findIndex((job) => job.name === name);
1063
+ if (index < 0)
1064
+ this.fail(i, "name", `there is no job "${name}"${jobs.length > 0 ? `; the jobs are ${jobs.map((job) => `"${job.name}"`).join(", ")}` : ""}`);
1065
+ return index;
1066
+ }
1067
+ /** A job placed among the others, judged as `graview check` judges it (`job-*`): kept only when nothing is wrong with it. */
1068
+ placeJob(i, job, at, replacing) {
1069
+ const jobs = [...(this.doc.purpose?.jobs ?? [])];
1070
+ if (replacing)
1071
+ jobs[at] = job;
1072
+ else
1073
+ jobs.splice(at, 0, job);
1074
+ const wrong = jobFindings({ ...this.doc.purpose, jobs }, jobWorldOfDocument(this.doc)).filter((finding) => finding.index === at || (finding.code === "jobs-too-many" && !replacing) || (finding.code === "job-name-taken" && jobs[finding.index ?? -1]?.name === job.name));
1075
+ for (const finding of wrong)
1076
+ this.failAs(finding.code, i, finding.code === "jobs-too-many" ? "" : `job.${finding.key ?? ""}`, finding.message, finding.fix);
1077
+ if (wrong.length > 0)
1078
+ return false;
1079
+ this.keepPurpose({ ...(this.doc.purpose ?? {}), jobs });
1080
+ return true;
1081
+ }
1082
+ addJob(i, e) {
1083
+ const parsed = JobSpec.safeParse(e.job);
1084
+ if (!parsed.success)
1085
+ return this.refuse(i, parsed.error.issues.map((issue) => ({ ...issue, path: ["job", ...issue.path] })), "a job");
1086
+ const job = parsed.data;
1087
+ const jobs = this.doc.purpose?.jobs ?? [];
1088
+ if (!this.placeJob(i, job, Math.min(e.at ?? jobs.length, jobs.length), false))
1089
+ return;
1090
+ this.said.push(`A new job, ${quoted(job.ask)}: ${jobWords(this.doc, job)}.`);
1091
+ }
1092
+ editJob(i, e) {
1093
+ const index = this.jobIndex(i, e.name);
1094
+ if (index < 0)
1095
+ return;
1096
+ const job = { ...this.doc.purpose.jobs[index] };
1097
+ const changed = ["ask", "kind", "where", "sort", "act", "roles"].filter((key) => e[key] !== undefined);
1098
+ if (changed.length === 0)
1099
+ return this.fail(i, "", "an edit-job names at least one of ask, kind, where, sort, act or roles to change", `{"op": "edit-job", "name": "${e.name}", "ask": "…"}`);
1100
+ for (const key of changed) {
1101
+ if (e[key] === null) {
1102
+ if (key === "ask" || key === "kind")
1103
+ return this.fail(i, key, `a job always has its ${key}`);
1104
+ delete job[key];
1105
+ }
1106
+ else
1107
+ job[key] = e[key];
949
1108
  }
1109
+ if (!this.placeJob(i, job, index, true))
1110
+ return;
1111
+ this.said.push(`The job "${job.name}", ${quoted(job.ask)}, is now ${jobWords(this.doc, job)}.`);
1112
+ }
1113
+ removeJob(i, name) {
1114
+ const index = this.jobIndex(i, name);
1115
+ if (index < 0)
1116
+ return;
1117
+ const [job] = this.doc.purpose.jobs.splice(index, 1);
1118
+ this.keepPurpose({ ...this.doc.purpose });
1119
+ this.said.push(`The job "${job.name}" (${quotedAtTheEnd(job.ask)}) is removed.`);
950
1120
  }
951
1121
  /** How a record's page orders and groups its facts (FR-148): judged as the compile judges `kinds.<kind>.page`. */
952
1122
  setPageFields(i, e) {
@@ -2090,7 +2260,7 @@ class Editor {
2090
2260
  gone.push(...this.dropComputed(other, name));
2091
2261
  }
2092
2262
  }
2093
- gone.push(...this.pruneViews(swept), ...this.pruneLenses(swept));
2263
+ gone.push(...this.pruneViews(swept), ...this.pruneLenses(swept), ...this.pruneJobs(swept));
2094
2264
  // The arrangement names kinds (FR-80): a kind that is gone is no longer ordered or hidden, nor where the app opens.
2095
2265
  if (this.doc.pages) {
2096
2266
  for (const part of ["order", "hide", "primary"]) {
@@ -2556,6 +2726,13 @@ class Editor {
2556
2726
  else
2557
2727
  delete rule.repairs;
2558
2728
  }
2729
+ // A job asks the same question without it: only what people do next is let go.
2730
+ for (const job of (this.doc.purpose?.jobs ?? [])) {
2731
+ if (job.act !== act)
2732
+ continue;
2733
+ delete job.act;
2734
+ gone.push(`what the job "${job.name}" does next`);
2735
+ }
2559
2736
  return gone;
2560
2737
  }
2561
2738
  addRule(i, e) {
@@ -2585,6 +2762,9 @@ class Editor {
2585
2762
  for (const r of rule.repairs ?? [])
2586
2763
  if (r.act === from)
2587
2764
  r.act = to;
2765
+ for (const job of (this.doc.purpose?.jobs ?? []))
2766
+ if (job.act === from)
2767
+ job.act = to;
2588
2768
  }
2589
2769
  // ── every place a name is said ──
2590
2770
  /**
@@ -2836,8 +3016,46 @@ class Editor {
2836
3016
  if (JSON.stringify(doc.pages) !== before)
2837
3017
  touched.push("the pages");
2838
3018
  }
3019
+ // Jobs (Roadmap f-app-jobs): what each is answered by, what its where reads, what it sorts by and the act it names.
3020
+ for (const job of (doc.purpose?.jobs ?? [])) {
3021
+ const before = JSON.stringify(job);
3022
+ if (job.where !== undefined)
3023
+ job.where = exprAt(job.where, new Set([job.kind]));
3024
+ const by = typeof job.sort === "string" ? job.sort : job.sort?.by;
3025
+ if (r.t === "field" && job.kind === r.kind && by === r.from)
3026
+ job.sort = typeof job.sort === "string" ? r.to : { ...job.sort, by: r.to };
3027
+ if (r.t === "kind" && job.kind === r.from)
3028
+ job.kind = r.to;
3029
+ if (job.act !== undefined && r.t === "kind")
3030
+ job.act = renamedAct(job.act, r.from, r.to);
3031
+ if (job.act !== undefined && (r.t === "kind" || r.t === "edge"))
3032
+ job.act = renamedRelationAct(job.act, doc.kinds, r);
3033
+ if (JSON.stringify(job) !== before)
3034
+ touched.push(`the job "${job.name}"`);
3035
+ }
2839
3036
  return touched;
2840
3037
  }
3038
+ /** Jobs that can no longer be answered as asked go — a where that reads what is going, a kind that is gone — and an order by it is let go. */
3039
+ pruneJobs(r) {
3040
+ const purpose = this.doc.purpose;
3041
+ if (!purpose?.jobs)
3042
+ return [];
3043
+ const gone = [];
3044
+ purpose.jobs = purpose.jobs.filter((job) => {
3045
+ if ((r.t === "kind" && job.kind === r.from) || exprMentions(this.doc, job.where, new Set([job.kind]), r)) {
3046
+ gone.push(`the job "${job.name}"`);
3047
+ return false;
3048
+ }
3049
+ const by = typeof job.sort === "string" ? job.sort : job.sort?.by;
3050
+ if (r.t === "field" && job.kind === r.kind && by === r.from) {
3051
+ delete job.sort;
3052
+ gone.push(`the order of the job "${job.name}"`);
3053
+ }
3054
+ return true;
3055
+ });
3056
+ this.keepPurpose({ ...purpose });
3057
+ return gone;
3058
+ }
2841
3059
  /**
2842
3060
  * Remove what mentions a field or relation that is going: acts that write or walk
2843
3061
  * it, rules that judge it, view blocks that show it; templates that show it fall
@@ -2934,6 +3152,7 @@ class Editor {
2934
3152
  delete doc.rules;
2935
3153
  gone.push(...this.pruneViews(r));
2936
3154
  gone.push(...this.pruneLenses(r));
3155
+ gone.push(...this.pruneJobs(r));
2937
3156
  return gone;
2938
3157
  }
2939
3158
  /** Computed fields being dropped, so a cycle among them ends. */
@@ -3138,6 +3357,16 @@ class Editor {
3138
3357
  return said;
3139
3358
  }
3140
3359
  }
3360
+ /** How a job is answered, in words: "answered by the vendors where status != 'booked', sorted by due, then book". */
3361
+ function jobWords(doc, job) {
3362
+ const sort = typeof job.sort === "string" ? { by: job.sort, direction: "asc" } : job.sort;
3363
+ return [
3364
+ `answered by the ${pluralWords(doc, job.kind).toLowerCase()}${job.where ? ` where ${job.where}` : ""}`,
3365
+ ...(sort ? [`sorted by ${sort.by}${sort.direction === "desc" ? ", highest first" : ""}`] : []),
3366
+ ...(job.act ? [`then "${job.act}"`] : []),
3367
+ ...(job.roles ? [`for ${listOf(job.roles)}`] : []),
3368
+ ].join(", ");
3369
+ }
3141
3370
  /** What the people and the policy make together, as `graview check` judges it (`checkPeople`), said over the document. */
3142
3371
  function peopleProblems(doc, at) {
3143
3372
  const out = [];