@graview/core 0.1.60 → 0.1.61

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 (134) hide show
  1. package/README.md +10 -0
  2. package/dist/arrangement.d.ts +2 -0
  3. package/dist/arrangement.d.ts.map +1 -1
  4. package/dist/arrangement.js +14 -0
  5. package/dist/arrangement.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.map +1 -1
  9. package/dist/catalog.js +2 -1
  10. package/dist/catalog.js.map +1 -1
  11. package/dist/cli/check/context.d.ts +5 -0
  12. package/dist/cli/check/context.d.ts.map +1 -1
  13. package/dist/cli/check/context.js.map +1 -1
  14. package/dist/cli/check/face.d.ts +14 -0
  15. package/dist/cli/check/face.d.ts.map +1 -0
  16. package/dist/cli/check/face.js +161 -0
  17. package/dist/cli/check/face.js.map +1 -0
  18. package/dist/cli/check.d.ts.map +1 -1
  19. package/dist/cli/check.js +2 -3
  20. package/dist/cli/check.js.map +1 -1
  21. package/dist/cli/docs.d.ts.map +1 -1
  22. package/dist/cli/docs.js +5 -3
  23. package/dist/cli/docs.js.map +1 -1
  24. package/dist/cli/document-schema.d.ts.map +1 -1
  25. package/dist/cli/document-schema.js +2 -0
  26. package/dist/cli/document-schema.js.map +1 -1
  27. package/dist/cli/index.d.ts +2 -1
  28. package/dist/cli/index.d.ts.map +1 -1
  29. package/dist/cli/index.js +14 -3
  30. package/dist/cli/index.js.map +1 -1
  31. package/dist/cli/types.d.ts.map +1 -1
  32. package/dist/cli/types.js +2 -1
  33. package/dist/cli/types.js.map +1 -1
  34. package/dist/compose.d.ts +6 -0
  35. package/dist/compose.d.ts.map +1 -1
  36. package/dist/compose.js +6 -1
  37. package/dist/compose.js.map +1 -1
  38. package/dist/document/blocks.d.ts.map +1 -1
  39. package/dist/document/blocks.js +2 -1
  40. package/dist/document/blocks.js.map +1 -1
  41. package/dist/document/compile-checked.js +1 -1
  42. package/dist/document/compile-checked.js.map +1 -1
  43. package/dist/document/compile.d.ts.map +1 -1
  44. package/dist/document/compile.js +6 -2
  45. package/dist/document/compile.js.map +1 -1
  46. package/dist/document/compiled.d.ts.map +1 -1
  47. package/dist/document/compiled.js +7 -2
  48. package/dist/document/compiled.js.map +1 -1
  49. package/dist/document/connection-findings.d.ts.map +1 -1
  50. package/dist/document/connection-findings.js +134 -12
  51. package/dist/document/connection-findings.js.map +1 -1
  52. package/dist/document/connection-spec.d.ts +1 -0
  53. package/dist/document/connection-spec.d.ts.map +1 -1
  54. package/dist/document/connection-spec.js +8 -2
  55. package/dist/document/connection-spec.js.map +1 -1
  56. package/dist/document/edit.d.ts +1 -1
  57. package/dist/document/edit.d.ts.map +1 -1
  58. package/dist/document/edit.js +83 -11
  59. package/dist/document/edit.js.map +1 -1
  60. package/dist/document/field-spec.d.ts.map +1 -1
  61. package/dist/document/field-spec.js +5 -0
  62. package/dist/document/field-spec.js.map +1 -1
  63. package/dist/document/findings.d.ts +33 -2
  64. package/dist/document/findings.d.ts.map +1 -1
  65. package/dist/document/findings.js +14 -17
  66. package/dist/document/findings.js.map +1 -1
  67. package/dist/document/migrate.d.ts.map +1 -1
  68. package/dist/document/migrate.js +10 -4
  69. package/dist/document/migrate.js.map +1 -1
  70. package/dist/document/schema.d.ts +5 -0
  71. package/dist/document/schema.d.ts.map +1 -1
  72. package/dist/document/schema.js +8 -0
  73. package/dist/document/schema.js.map +1 -1
  74. package/dist/document.schema.json +44 -2
  75. package/dist/formats.d.ts +21 -13
  76. package/dist/formats.d.ts.map +1 -1
  77. package/dist/formats.js +21 -13
  78. package/dist/formats.js.map +1 -1
  79. package/dist/import/coerce.d.ts.map +1 -1
  80. package/dist/import/coerce.js +16 -4
  81. package/dist/import/coerce.js.map +1 -1
  82. package/dist/kind-list.d.ts +1 -0
  83. package/dist/kind-list.d.ts.map +1 -1
  84. package/dist/kind-list.js +2 -1
  85. package/dist/kind-list.js.map +1 -1
  86. package/dist/mutations/form.d.ts +2 -0
  87. package/dist/mutations/form.d.ts.map +1 -1
  88. package/dist/mutations/form.js +6 -3
  89. package/dist/mutations/form.js.map +1 -1
  90. package/dist/scaffold/agents.d.ts +9 -1
  91. package/dist/scaffold/agents.d.ts.map +1 -1
  92. package/dist/scaffold/agents.js +33 -2
  93. package/dist/scaffold/agents.js.map +1 -1
  94. package/dist/scaffold/project.js +1 -1
  95. package/dist/schema/choice-words.d.ts.map +1 -1
  96. package/dist/schema/choice-words.js +3 -0
  97. package/dist/schema/choice-words.js.map +1 -1
  98. package/dist/starting-document.d.ts +41 -0
  99. package/dist/starting-document.d.ts.map +1 -0
  100. package/dist/starting-document.js +614 -0
  101. package/dist/starting-document.js.map +1 -0
  102. package/dist/store.d.ts +21 -0
  103. package/dist/store.d.ts.map +1 -1
  104. package/dist/store.js +33 -6
  105. package/dist/store.js.map +1 -1
  106. package/dist/sync/connection.d.ts +10 -1
  107. package/dist/sync/connection.d.ts.map +1 -1
  108. package/dist/sync/connection.js +109 -17
  109. package/dist/sync/connection.js.map +1 -1
  110. package/dist/sync/engine.d.ts +13 -4
  111. package/dist/sync/engine.d.ts.map +1 -1
  112. package/dist/sync/engine.js +5 -3
  113. package/dist/sync/engine.js.map +1 -1
  114. package/dist/sync/google-calendar.d.ts.map +1 -1
  115. package/dist/sync/google-calendar.js +4 -2
  116. package/dist/sync/google-calendar.js.map +1 -1
  117. package/dist/sync/notion-types.d.ts +7 -0
  118. package/dist/sync/notion-types.d.ts.map +1 -1
  119. package/dist/sync/notion-types.js +6 -1
  120. package/dist/sync/notion-types.js.map +1 -1
  121. package/dist/sync/recurrence.d.ts +41 -0
  122. package/dist/sync/recurrence.d.ts.map +1 -0
  123. package/dist/sync/recurrence.js +192 -0
  124. package/dist/sync/recurrence.js.map +1 -0
  125. package/dist/traits.d.ts +72 -0
  126. package/dist/traits.d.ts.map +1 -0
  127. package/dist/traits.js +447 -0
  128. package/dist/traits.js.map +1 -0
  129. package/dist/typed.d.ts +4 -0
  130. package/dist/typed.d.ts.map +1 -1
  131. package/dist/typed.js.map +1 -1
  132. package/dist/version.d.ts +1 -1
  133. package/dist/version.js +1 -1
  134. package/package.json +1 -1
package/dist/traits.js ADDED
@@ -0,0 +1,447 @@
1
+ import { toDocument } from "./document/to-document.js";
2
+ import { humanizeField } from "./schema/define-node.js";
3
+ /** The closed vocabulary, in the order traits are said. */
4
+ export const TRAITS = ["owners", "status", "schedule", "budget", "places", "sources", "stock", "votes", "private", "history", "publishing", "roster", "routines", "comparison"];
5
+ /** Each trait in a person's words, as a chip or a question says it ("Does what they described need people who own things?"). */
6
+ export const TRAIT_WORDS = {
7
+ owners: "people who own things",
8
+ status: "a status that moves",
9
+ schedule: "dates it is due by, or a schedule",
10
+ budget: "money against a budget",
11
+ places: "places",
12
+ sources: "sources behind claims",
13
+ stock: "counts in stock",
14
+ votes: "votes or picks",
15
+ private: "private to its owner",
16
+ history: "a history, a record book",
17
+ publishing: "content to publish",
18
+ roster: "a roster of people",
19
+ routines: "repeating routines",
20
+ comparison: "a comparison to pick one from",
21
+ };
22
+ /*
23
+ * THE WORDS THE READING LEANS ON. Kind names that are people, places or
24
+ * the groupings of a record book; field names that say a date is one a
25
+ * record is due by, or one that only records the past; the relation names
26
+ * that say ownership. Each list is what the catalog's own templates say,
27
+ * and nothing a declaration could not have meant.
28
+ */
29
+ const PERSON_NOUNS = new Set(["person", "people", "member", "user", "player", "guest", "candidate", "participant", "traveler", "volunteer", "interviewer", "interviewee", "contact", "trade", "staff", "student", "employee", "teammate", "crew", "attendee", "friend", "customer", "client", "driver", "speaker", "host", "teacher", "parent", "kid", "child", "coach", "patient", "tenant", "resident", "neighbor", "applicant", "recruit", "contributor", "assignee", "worker", "collaborator", "runner"]);
30
+ const PLACE_NOUNS = new Set(["place", "venue", "location", "room", "site", "building", "store", "warehouse", "city", "country", "region", "address", "hall", "stadium", "office", "shelf"]);
31
+ const SOURCE_NOUNS = new Set(["source", "reference", "citation", "evidence"]);
32
+ const GROUPING_NOUNS = new Set(["season", "era", "period", "epoch", "edition", "generation", "age", "campaign", "tournament"]);
33
+ const OWNER_EDGE = /owner|owned|assign|^lead$|responsible|^by$|^by-|done-?by|interviewer|reviewer|maker|author|keeper|givenby|^for-?person$/i;
34
+ export const DUE_FIELD = /due|deadline|until|needed|needby|target|expires|^ends?(on|at)?$|^by$/i;
35
+ const SCHEDULE_FIELD = /^(date|day|when|at|start|starts|startsat|startson|startdate|scheduled|scheduledfor|scheduledon|happens|happenson|held|heldon|from|time|exchangedate|.*date|.*day)$/i;
36
+ const PAST_FIELD = /released|fixed|published|applied|checked|created|added|done|last|first|updated|seen|born|birth|founded|finished|completed|closed/i;
37
+ const STATUS_FIELD = /status|stage|state|phase|progress/i;
38
+ const BUDGET_FIELD = /budget|limit|cap$|allowance/i;
39
+ const MONEY_FIELD = /budget|cost|price|quote|amount|salary|fee|spend|total|paid|owed/i;
40
+ const PLACE_FIELD = /^(place|location|venue|address|where|city|town)$/i;
41
+ const STOCK_FIELD = /reorder|onhand|instock|^stock|quantity|^qty/i;
42
+ const VOTE_FIELD = /^votes?$|votecount|upvotes|^score$|^points$/i;
43
+ const VOTE_EDGE = /^(votes?|votesfor|votedby|voters|picks?|chooses|choices|favorites|likes)$/i;
44
+ const CADENCE_FIELD = /often|frequency|cadence|^every$|repeat|interval/i;
45
+ const LAST_DONE_FIELD = /^last/i;
46
+ const PUBLISHED_OPTION = /^(published|live|public)$/i;
47
+ const ONE_PER_GROUP = /count\(.*\bwhere\b.*\)\s*<=\s*1\b/;
48
+ const lower = (value) => value.toLowerCase();
49
+ const nounOf = (document, kind) => lower(document.kinds[kind]?.noun ?? humanizeField(kind));
50
+ const pluralOf = (document, kind) => lower(document.kinds[kind]?.plural ?? `${nounOf(document, kind)}s`);
51
+ const capital = (words) => words.charAt(0).toUpperCase() + words.slice(1);
52
+ const Plural = (document, kind) => capital(pluralOf(document, kind));
53
+ const an = (noun) => (/^[aeiou]/i.test(noun) ? "an" : "a");
54
+ const listed = (words, join = "and") => (words.length < 2 ? words.join("") : `${words.slice(0, -1).join(", ")} ${join} ${words[words.length - 1]}`);
55
+ /** The identifiers an expression or a template says — field, relation and kind names, quoted or bare. */
56
+ const tokens = (text) => new Set((text ?? "").split(/[^A-Za-z0-9_-]+/).filter(Boolean));
57
+ const kindsOf = (document) => Object.entries(document.kinds);
58
+ const actsOn = (document, kind) => Object.entries(document.acts ?? {}).filter(([, act]) => [act.on ?? []].flat().includes(kind));
59
+ const lensesOf = (document) => (Array.isArray(document.lenses) ? document.lenses : []);
60
+ const titleOf = (lens) => (typeof lens.title === "string" ? lens.title : undefined);
61
+ const bindingsOf = (lens) => (lens.bindings && typeof lens.bindings === "object" ? lens.bindings : {});
62
+ /** A single target kind of this document, where a relation leads to one. */
63
+ const targetOf = (document, to) => (Array.isArray(to) && to.length === 1 && typeof to[0] === "string" && document.kinds[to[0]] ? to[0] : undefined);
64
+ /** Whether the kind stands for people: declared so, or named so. */
65
+ export function isPeopleKind(document, kind) {
66
+ const spec = document.kinds[kind];
67
+ if (!spec)
68
+ return false;
69
+ // A noun spelled with a doubled l elsewhere (a trip's travelers, in British spelling) is the same person.
70
+ const plain = (noun) => lower(noun).replace(/ll/g, "l");
71
+ return spec.people === true || PERSON_NOUNS.has(plain(kind)) || PERSON_NOUNS.has(plain(nounOf(document, kind)));
72
+ }
73
+ const isPlaceKind = (document, kind) => PLACE_NOUNS.has(lower(kind)) || PLACE_NOUNS.has(nounOf(document, kind));
74
+ const isSourceKind = (document, kind) => SOURCE_NOUNS.has(lower(kind)) || SOURCE_NOUNS.has(nounOf(document, kind));
75
+ const isGroupingKind = (document, kind) => GROUPING_NOUNS.has(lower(kind)) || GROUPING_NOUNS.has(nounOf(document, kind));
76
+ const isMoneyField = (name, field) => (field.type === "number" || field.type === "integer") && (field.format === "money" || MONEY_FIELD.test(name));
77
+ const isDate = (field) => field.type === "date" || field.type === "datetime";
78
+ /** Lenses of one name whose bindings name this kind's field in this role (a calendar's `start`, a board's `column`). */
79
+ function lensesBinding(document, name, kind, role, field) {
80
+ return lensesOf(document)
81
+ .filter((lens) => lens.name === name && bindingsOf(lens)[kind]?.[role] === field)
82
+ .map(titleOf)
83
+ .filter((title) => title !== undefined);
84
+ }
85
+ /** Coverage lenses whose rows or columns are the kind. */
86
+ function coveragesOver(document, kind, side, edge) {
87
+ return lensesOf(document)
88
+ .filter((lens) => lens.name === "coverage" && bindingsOf(lens)[side]?.["kind"] === kind && (edge === undefined || bindingsOf(lens)["link"]?.["edge"] === edge))
89
+ .map(titleOf)
90
+ .filter((title) => title !== undefined);
91
+ }
92
+ /** The rules whose expressions or words say any of these names, over any of these kinds (or the graph). */
93
+ function rulesSaying(document, names, over) {
94
+ const wanted = new Set(names);
95
+ return Object.entries(document.rules ?? {})
96
+ .filter(([, rule]) => (over === undefined || rule.over === "graph" || over.includes(rule.over)) && [...tokens(`${rule.when ?? ""} ${rule.require} ${rule.says ?? ""}`)].some((token) => wanted.has(token)))
97
+ .map(([name]) => name);
98
+ }
99
+ /** What one reading found: the carriers, gathered; the sentence, from the first (the kind people see most) unless said otherwise. */
100
+ class Found {
101
+ kinds = new Set();
102
+ fields = new Set();
103
+ relations = new Set();
104
+ rules = new Set();
105
+ lenses = new Set();
106
+ acts = new Set();
107
+ said;
108
+ add = (part, ...names) => {
109
+ for (const name of names)
110
+ this[part].add(name);
111
+ };
112
+ say = (sentence) => {
113
+ this.said ??= sentence;
114
+ };
115
+ any = () => this.kinds.size + this.fields.size + this.relations.size + this.rules.size + this.lenses.size + this.acts.size > 0;
116
+ asTrait = (trait) => ({ trait, words: TRAIT_WORDS[trait], said: this.said ?? TRAIT_WORDS[trait], kinds: [...this.kinds], fields: [...this.fields], relations: [...this.relations], rules: [...this.rules], lenses: [...this.lenses], acts: [...this.acts] });
117
+ }
118
+ /** The kind people see most: the one with the most fields, declared earliest among equals — what `startingDocument` joins a module to. */
119
+ export function mainKindOf(document) {
120
+ let best;
121
+ for (const [kind, spec] of kindsOf(document)) {
122
+ const fields = Object.keys(spec.fields).length + Object.keys(spec.edges ?? {}).length;
123
+ if (!best || fields > best.fields)
124
+ best = { kind, fields };
125
+ }
126
+ return best?.kind;
127
+ }
128
+ /** Kinds in the order a reading walks them: the kind people see most first, then as declared. */
129
+ function walked(document) {
130
+ const main = mainKindOf(document);
131
+ return kindsOf(document).sort(([a], [b]) => Number(b === main) - Number(a === main));
132
+ }
133
+ /** A choice field that moves: an enum whose values named step acts set — a status, a stage — with the acts that move it. */
134
+ export function movingChoices(document, kind) {
135
+ const spec = document.kinds[kind];
136
+ if (!spec)
137
+ return [];
138
+ const found = [];
139
+ for (const [name, field] of Object.entries(spec.fields)) {
140
+ if (field.type !== "enum" || !Array.isArray(field.options) || field.options.length < 2)
141
+ continue;
142
+ const steps = actsOn(document, kind)
143
+ .filter(([, act]) => typeof act.sets?.[name] === "string" && field.options.includes(act.sets[name]))
144
+ .map(([act]) => act);
145
+ const named = STATUS_FIELD.test(name) || spec.lifecycle?.field === name;
146
+ if ((named && steps.length >= 1) || steps.length >= 2)
147
+ found.push({ field: name, options: field.options, steps });
148
+ }
149
+ return found;
150
+ }
151
+ /*
152
+ * THE FOURTEEN READINGS, one a trait. Each walks the kinds people see most
153
+ * first, gathers what carries the trait, and says the first instance.
154
+ */
155
+ const READINGS = {
156
+ owners(document, found) {
157
+ for (const [kind, spec] of walked(document)) {
158
+ for (const [edge, relation] of Object.entries(spec.edges ?? {})) {
159
+ const target = targetOf(document, relation.to);
160
+ if (relation.cardinality !== "one" || !target || !isPeopleKind(document, target) || !OWNER_EDGE.test(edge))
161
+ continue;
162
+ found.add("kinds", kind, target);
163
+ found.add("relations", `${kind}.${edge}`);
164
+ found.add("rules", ...rulesSaying(document, [edge], [kind, target]));
165
+ found.add("lenses", ...coveragesOver(document, kind, "rows", edge));
166
+ found.add("acts", ...actsOn(document, kind).filter(([, act]) => act.connects === edge || act.severs === edge).map(([act]) => act));
167
+ found.say(`Each ${nounOf(document, kind)} has one of the ${pluralOf(document, target)} on it (${edge}).`);
168
+ }
169
+ }
170
+ },
171
+ status(document, found) {
172
+ for (const [kind] of walked(document)) {
173
+ for (const { field, options, steps } of movingChoices(document, kind)) {
174
+ found.add("kinds", kind);
175
+ found.add("fields", `${kind}.${field}`);
176
+ found.add("acts", ...steps);
177
+ found.add("rules", ...rulesSaying(document, [field], [kind]));
178
+ found.add("lenses", ...lensesBinding(document, "columns", kind, "column", field));
179
+ found.say(`${Plural(document, kind)} move through ${listed(options.map(lower))}.`);
180
+ }
181
+ }
182
+ },
183
+ schedule(document, found) {
184
+ for (const [kind, spec] of walked(document)) {
185
+ for (const [name, field] of Object.entries(spec.fields)) {
186
+ if (!isDate(field) || PAST_FIELD.test(name))
187
+ continue;
188
+ const calendars = lensesBinding(document, "calendar", kind, "start", name);
189
+ const due = DUE_FIELD.test(name);
190
+ if (!due && !SCHEDULE_FIELD.test(name) && calendars.length === 0)
191
+ continue;
192
+ found.add("kinds", kind);
193
+ found.add("fields", `${kind}.${name}`);
194
+ found.add("lenses", ...calendars);
195
+ found.add("rules", ...rulesSaying(document, [name], [kind]));
196
+ found.add("acts", ...actsOn(document, kind).filter(([, act]) => (act.writes ?? []).includes(name) || act.sets?.[name] !== undefined).map(([act]) => act));
197
+ const words = /date|day|when|time/i.test(name) ? lower(humanizeField(name)) : `date (${name})`;
198
+ found.say(due ? `${Plural(document, kind)} are due by a date (${name}).` : `${Plural(document, kind)} have ${an(words)} ${words}${calendars.length > 0 ? ", on a calendar" : ""}.`);
199
+ }
200
+ }
201
+ },
202
+ budget(document, found) {
203
+ const budgets = kindsOf(document).flatMap(([kind, spec]) => Object.entries(spec.fields).filter(([name, field]) => (field.type === "number" || field.type === "integer") && BUDGET_FIELD.test(name)).map(([name]) => ({ kind, name })));
204
+ if (budgets.length === 0)
205
+ return;
206
+ const sums = walked(document).flatMap(([kind, spec]) => Object.entries(spec.fields).filter(([name, field]) => isMoneyField(name, field) && !BUDGET_FIELD.test(name)).map(([name]) => ({ kind, name })));
207
+ if (sums.length === 0)
208
+ return;
209
+ const names = [...budgets, ...sums].map((one) => one.name);
210
+ for (const one of [...budgets, ...sums]) {
211
+ found.add("kinds", one.kind);
212
+ found.add("fields", `${one.kind}.${one.name}`);
213
+ found.add("acts", ...actsOn(document, one.kind).filter(([, act]) => (act.writes ?? []).includes(one.name) || act.sets?.[one.name] !== undefined).map(([act]) => act));
214
+ }
215
+ // The rules that hold a sum to a budget: those whose requirement says a budget field's name.
216
+ found.add("rules", ...rulesSaying(document, names).filter((rule) => budgets.some((budget) => tokens(document.rules[rule].require).has(budget.name))));
217
+ const sum = sums[0];
218
+ const budget = budgets.find((one) => one.kind === sum.kind) ?? budgets[0];
219
+ found.say(`${Plural(document, sum.kind)}' ${lower(humanizeField(sum.name))} against ${budget.kind === sum.kind ? "each one's" : `each ${nounOf(document, budget.kind)}'s`} ${lower(humanizeField(budget.name))}.`);
220
+ },
221
+ places(document, found) {
222
+ for (const [kind, spec] of walked(document)) {
223
+ if (isPlaceKind(document, kind)) {
224
+ found.add("kinds", kind);
225
+ found.add("lenses", ...coveragesOver(document, kind, "columns"));
226
+ }
227
+ for (const [edge, relation] of Object.entries(spec.edges ?? {})) {
228
+ const target = targetOf(document, relation.to);
229
+ if (!target || !isPlaceKind(document, target))
230
+ continue;
231
+ found.add("kinds", kind, target);
232
+ found.add("relations", `${kind}.${edge}`);
233
+ found.add("rules", ...rulesSaying(document, [edge], [kind, target]));
234
+ found.say(`${Plural(document, kind)} are at ${pluralOf(document, target)} (${edge}).`);
235
+ }
236
+ for (const [name, field] of Object.entries(spec.fields)) {
237
+ if (field.type !== "place" && !(field.type === "string" && PLACE_FIELD.test(name)))
238
+ continue;
239
+ found.add("kinds", kind);
240
+ found.add("fields", `${kind}.${name}`);
241
+ found.say(`${Plural(document, kind)} say where (${name}).`);
242
+ }
243
+ }
244
+ if (found.any() && !found.said)
245
+ found.say(`${listed([...found.kinds].map((kind) => Plural(document, kind)))} are places.`);
246
+ },
247
+ sources(document, found) {
248
+ for (const [kind, spec] of walked(document)) {
249
+ for (const [edge, relation] of Object.entries(spec.edges ?? {})) {
250
+ const target = targetOf(document, relation.to);
251
+ if (!target || (!isSourceKind(document, target) && !/^cite/i.test(edge)))
252
+ continue;
253
+ found.add("kinds", kind, target);
254
+ found.add("relations", `${kind}.${edge}`);
255
+ found.add("rules", ...rulesSaying(document, [edge, target], [kind, target]));
256
+ found.add("acts", ...actsOn(document, kind).filter(([, act]) => act.connects === edge || act.severs === edge).map(([act]) => act));
257
+ found.say(`${Plural(document, kind)} cite ${pluralOf(document, target)} (${edge}).`);
258
+ }
259
+ for (const [name, field] of Object.entries(spec.fields)) {
260
+ if (field.type !== "url" || !/^source/i.test(name))
261
+ continue;
262
+ found.add("kinds", kind);
263
+ found.add("fields", `${kind}.${name}`);
264
+ found.add("rules", ...rulesSaying(document, [name], [kind]));
265
+ found.say(`${Plural(document, kind)} link to their source (${name}).`);
266
+ }
267
+ }
268
+ },
269
+ stock(document, found) {
270
+ for (const [kind, spec] of walked(document)) {
271
+ const counts = Object.entries(spec.fields).filter(([name, field]) => (field.type === "number" || field.type === "integer") && STOCK_FIELD.test(name)).map(([name]) => name);
272
+ const worked = Object.keys(spec.computed ?? {}).filter((name) => STOCK_FIELD.test(name));
273
+ const reorder = counts.some((name) => /reorder/i.test(name));
274
+ const moved = kindsOf(document).some(([, other]) => Object.entries(other.fields).some(([name, field]) => /^(change|delta|moved)$/i.test(name) && (field.type === "number" || field.type === "integer")));
275
+ if (!reorder && !(worked.length + counts.length > 0 && moved))
276
+ continue;
277
+ found.add("kinds", kind);
278
+ found.add("fields", ...counts.map((name) => `${kind}.${name}`), ...worked.map((name) => `${kind}.${name}`));
279
+ found.add("rules", ...rulesSaying(document, [...counts, ...worked], [kind]));
280
+ found.add("acts", ...actsOn(document, kind).filter(([, act]) => counts.some((name) => (act.writes ?? []).includes(name) || act.sets?.[name] !== undefined)).map(([act]) => act));
281
+ found.say(`${Plural(document, kind)} have a count in stock${reorder ? " and a reorder point" : ""}.`);
282
+ }
283
+ },
284
+ votes(document, found) {
285
+ for (const [kind, spec] of walked(document)) {
286
+ for (const [name, field] of Object.entries(spec.fields)) {
287
+ if ((field.type !== "number" && field.type !== "integer") || !VOTE_FIELD.test(name))
288
+ continue;
289
+ const acts = actsOn(document, kind).filter(([, act]) => act.sets?.[name] !== undefined).map(([act]) => act);
290
+ if (acts.length === 0)
291
+ continue;
292
+ found.add("kinds", kind);
293
+ found.add("fields", `${kind}.${name}`);
294
+ found.add("acts", ...acts);
295
+ found.add("rules", ...rulesSaying(document, [name], [kind]));
296
+ found.say(`${Plural(document, kind)} collect votes (${name}).`);
297
+ }
298
+ for (const [edge, relation] of Object.entries(spec.edges ?? {})) {
299
+ const target = targetOf(document, relation.to);
300
+ if (!target || !VOTE_EDGE.test(edge))
301
+ continue;
302
+ found.add("kinds", kind, target);
303
+ found.add("relations", `${kind}.${edge}`);
304
+ found.add("rules", ...rulesSaying(document, [edge], [kind, target]));
305
+ found.add("acts", ...actsOn(document, kind).filter(([, act]) => act.connects === edge || act.severs === edge).map(([act]) => act));
306
+ found.say(`${Plural(document, kind)} pick ${pluralOf(document, target)} (${edge}).`);
307
+ }
308
+ }
309
+ },
310
+ private(document, found) {
311
+ const kinds = [];
312
+ for (const sight of document.policy?.sees ?? []) {
313
+ if (!sight.own && !sight.via)
314
+ continue;
315
+ for (const kind of sight.kinds) {
316
+ if (!document.kinds[kind])
317
+ continue;
318
+ found.add("kinds", kind);
319
+ if (!kinds.includes(kind))
320
+ kinds.push(kind);
321
+ if (sight.via)
322
+ for (const [from, spec] of kindsOf(document))
323
+ if (spec.edges?.[sight.via])
324
+ found.add("relations", `${from}.${sight.via}`);
325
+ }
326
+ }
327
+ if (kinds.length > 0)
328
+ found.say(`${listed(kinds.map((kind) => Plural(document, kind)))} are seen only by whose they are.`);
329
+ },
330
+ history(document, found) {
331
+ for (const [kind, spec] of walked(document)) {
332
+ for (const [edge, relation] of Object.entries(spec.edges ?? {})) {
333
+ const target = targetOf(document, relation.to);
334
+ if (relation.cardinality !== "one" || !target || !isGroupingKind(document, target))
335
+ continue;
336
+ const dated = Object.entries(spec.fields).some(([name, field]) => isDate(field) || /year|result|outcome|score|finish/i.test(name));
337
+ if (!dated)
338
+ continue;
339
+ found.add("kinds", kind, target);
340
+ found.add("relations", `${kind}.${edge}`);
341
+ found.add("rules", ...rulesSaying(document, [edge, target], [kind, target]));
342
+ found.add("lenses", ...coveragesOver(document, kind, "rows", edge), ...lensesOf(document).filter((lens) => lens.name === "timeline" && bindingsOf(lens)[kind] !== undefined).map(titleOf).filter((title) => title !== undefined));
343
+ found.say(`${Plural(document, kind)} grouped into ${pluralOf(document, target)}, a record book.`);
344
+ }
345
+ }
346
+ },
347
+ publishing(document, found) {
348
+ for (const [kind, spec] of walked(document)) {
349
+ const words = Object.entries(spec.fields).filter(([, field]) => field.type === "text").map(([name]) => name);
350
+ if (words.length === 0)
351
+ continue;
352
+ const moving = movingChoices(document, kind).map((choice) => choice.field);
353
+ for (const [name, field] of Object.entries(spec.fields)) {
354
+ // A status that reaches published — not a type whose values happen to include "live".
355
+ if (field.type !== "enum" || !(STATUS_FIELD.test(name) || moving.includes(name)) || !(field.options ?? []).some((option) => PUBLISHED_OPTION.test(option)))
356
+ continue;
357
+ const published = (field.options ?? []).find((option) => PUBLISHED_OPTION.test(option));
358
+ found.add("kinds", kind);
359
+ found.add("fields", `${kind}.${name}`, ...words.map((word) => `${kind}.${word}`));
360
+ found.add("acts", ...actsOn(document, kind).filter(([, act]) => act.sets?.[name] === published).map(([act]) => act));
361
+ found.add("rules", ...rulesSaying(document, [name, ...words], [kind]).filter((rule) => tokens(`${document.rules[rule].when ?? ""} ${document.rules[rule].require}`).has(published) || words.some((word) => tokens(document.rules[rule].require).has(word))));
362
+ found.say(`${Plural(document, kind)} go from ${lower(field.options[0])} to ${lower(published)}, with their words.`);
363
+ }
364
+ }
365
+ },
366
+ roster(document, found) {
367
+ for (const [kind, spec] of walked(document)) {
368
+ if (!isPeopleKind(document, kind))
369
+ continue;
370
+ const fields = Object.keys(spec.fields);
371
+ if (fields.length < 2)
372
+ continue;
373
+ found.add("kinds", kind);
374
+ found.add("fields", ...fields.map((name) => `${kind}.${name}`));
375
+ found.add("lenses", ...coveragesOver(document, kind, "columns"), ...coveragesOver(document, kind, "rows"));
376
+ found.say(`${Plural(document, kind)}, with ${listed(fields.slice(1).map((name) => lower(humanizeField(name))))}.`);
377
+ }
378
+ },
379
+ routines(document, found) {
380
+ for (const [kind, spec] of walked(document)) {
381
+ const repeating = Object.entries(spec.fields).filter(([, field]) => isDate(field) && field.repeats === true).map(([name]) => name);
382
+ const cadence = Object.entries(spec.fields).filter(([name, field]) => (field.type === "enum" || field.type === "string" || field.type === "integer" || field.type === "number") && CADENCE_FIELD.test(name)).map(([name]) => name);
383
+ const lastDone = Object.entries(spec.fields).filter(([name, field]) => isDate(field) && LAST_DONE_FIELD.test(name)).map(([name]) => name);
384
+ if (repeating.length === 0 && !(cadence.length > 0 && lastDone.length > 0))
385
+ continue;
386
+ const names = [...repeating, ...cadence, ...lastDone];
387
+ found.add("kinds", kind);
388
+ found.add("fields", ...names.map((name) => `${kind}.${name}`));
389
+ found.add("rules", ...rulesSaying(document, names, [kind]));
390
+ found.add("lenses", ...names.flatMap((name) => lensesBinding(document, "calendar", kind, "start", name)));
391
+ found.add("acts", ...actsOn(document, kind).filter(([, act]) => names.some((name) => (act.writes ?? []).includes(name) || act.sets?.[name] !== undefined)).map(([act]) => act));
392
+ found.say(repeating.length > 0 ? `${Plural(document, kind)} repeat (${repeating[0]}).` : `${Plural(document, kind)} come round again, each with when it was last done.`);
393
+ }
394
+ },
395
+ comparison(document, found) {
396
+ for (const [name, rule] of Object.entries(document.rules ?? {})) {
397
+ if (!ONE_PER_GROUP.test(rule.require))
398
+ continue;
399
+ // The kind compared: the one whose relation the count walks in from the group, or the one swept over the whole graph.
400
+ const group = rule.over === "graph" ? undefined : rule.over;
401
+ const walked = /in\('([^']+)'\)/.exec(rule.require)?.[1];
402
+ const swept = /all\('([^']+)'/.exec(rule.require)?.[1];
403
+ const compared = group ? (walked ? kindsOf(document).find(([, spec]) => spec.edges?.[walked])?.[0] : undefined) : swept && document.kinds[swept] ? swept : undefined;
404
+ if (!compared && !group)
405
+ continue;
406
+ const value = /==\s*'([^']+)'/.exec(rule.require)?.[1];
407
+ // The group's relation is the group's, not the comparison's: dropping the comparison leaves the grouping standing.
408
+ found.add("kinds", ...(compared ? [compared] : []), ...(group ? [group] : []));
409
+ found.add("rules", name);
410
+ if (compared && value)
411
+ found.add("acts", ...actsOn(document, compared).filter(([, act]) => Object.values(act.sets ?? {}).includes(value)).map(([act]) => act));
412
+ found.say(compared && group ? `${Plural(document, compared)} compared within each ${nounOf(document, group)}, one ${value ?? "chosen"}.` : compared ? `${Plural(document, compared)} compared, one ${value ?? "chosen"}.` : `One ${value ?? "chosen"} per ${nounOf(document, group)}.`);
413
+ }
414
+ },
415
+ };
416
+ const isDocument = (source) => source.format === "graview-document";
417
+ /**
418
+ * THE TRAITS A DECLARATION CARRIES, in `TRAITS` order, each with what
419
+ * carries it and one sentence. A TypeScript app is read as the document it
420
+ * would be (`toDocument`). Nothing is read off prose: a template that says
421
+ * "budget" in its pitch and declares no budget field has no budget trait,
422
+ * and one that declares a budget beside its quotes has it whatever its
423
+ * pitch says.
424
+ */
425
+ export function traitsOf(source) {
426
+ const document = isDocument(source) ? source : toDocument(source).document;
427
+ const traits = [];
428
+ for (const trait of TRAITS) {
429
+ const found = new Found();
430
+ READINGS[trait](document, found);
431
+ if (found.any())
432
+ traits.push(found.asTrait(trait));
433
+ }
434
+ return traits;
435
+ }
436
+ /** Whether a declaration carries one trait — what a module asks before it adds anything. */
437
+ export function hasTrait(document, trait) {
438
+ const found = new Found();
439
+ READINGS[trait](document, found);
440
+ return found.any();
441
+ }
442
+ /** The words of a trait, for a chip ("people who own things") — a name off the vocabulary is said back as given. */
443
+ export function traitWords(trait) {
444
+ return TRAIT_WORDS[trait] ?? trait;
445
+ }
446
+ export { an, listed as listedWords, nounOf as traitNounOf, pluralOf as traitPluralOf };
447
+ //# sourceMappingURL=traits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traits.js","sourceRoot":"","sources":["../src/traits.ts"],"names":[],"mappings":"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"}
package/dist/typed.d.ts CHANGED
@@ -103,6 +103,10 @@ type Simplify<T> = {
103
103
  } & {};
104
104
  /** What a field of one declared type holds: its options for an enum, a number for a number (and a duration, in minutes), words for the rest. */
105
105
  export type ValueOf<F> = F extends {
106
+ readonly type: "enum";
107
+ readonly multiple: true;
108
+ readonly options: readonly (infer O)[];
109
+ } ? readonly O[] : F extends {
106
110
  readonly type: "enum";
107
111
  readonly options: readonly (infer O)[];
108
112
  } ? O : F extends {
@@ -1 +1 @@
1
- {"version":3,"file":"typed.d.ts","sourceRoot":"","sources":["../src/typed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed.d.ts","sourceRoot":"","sources":["../src/typed.ts"],"names":[],"mappings":"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"}
package/dist/typed.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"typed.js","sourceRoot":"","sources":["../src/typed.ts"],"names":[],"mappings":"AAgGA;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAA0B,MAAmD;IACtG,MAAM,KAAK,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACxD,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;QAChD,IAAI,EAAE,CAAC,EAAU,EAAE,IAAa,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAyB,CAAC;YACvD,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,CAAC;QACD,EAAE,EAAE,CAAC,IAAa,EAAE,IAAY,EAAE,EAAE,CAAE,IAAgD,EAAE,IAAI,KAAK,IAAI;QACrG,OAAO,EAAE,CAAC,IAAc,EAAE,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QACvD,OAAO,EAAE,CAAC,IAAc,EAAE,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;QACnE,QAAQ,EAAE,CAAC,IAAc,EAAE,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;KACpE,CAAC;IACF,OAAO,MAAmC,CAAC;AAC7C,CAAC;AAgID;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAgC,QAAgC;IAC5F,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"typed.js","sourceRoot":"","sources":["../src/typed.ts"],"names":[],"mappings":"AAgGA;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAA0B,MAAmD;IACtG,MAAM,KAAK,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACxD,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;QAChD,IAAI,EAAE,CAAC,EAAU,EAAE,IAAa,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAyB,CAAC;YACvD,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,CAAC;QACD,EAAE,EAAE,CAAC,IAAa,EAAE,IAAY,EAAE,EAAE,CAAE,IAAgD,EAAE,IAAI,KAAK,IAAI;QACrG,OAAO,EAAE,CAAC,IAAc,EAAE,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QACvD,OAAO,EAAE,CAAC,IAAc,EAAE,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;QACnE,QAAQ,EAAE,CAAC,IAAc,EAAE,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;KACpE,CAAC;IACF,OAAO,MAAmC,CAAC;AAC7C,CAAC;AAkID;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAgC,QAAgC;IAC5F,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  /** The version of @graview/* that this build is — every package shares it. Written by scripts/write-framework-version.mjs. */
2
- export declare const FRAMEWORK_VERSION = "0.1.60";
2
+ export declare const FRAMEWORK_VERSION = "0.1.61";
3
3
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /** The version of @graview/* that this build is — every package shares it. Written by scripts/write-framework-version.mjs. */
2
- export const FRAMEWORK_VERSION = "0.1.60";
2
+ export const FRAMEWORK_VERSION = "0.1.61";
3
3
  //# sourceMappingURL=version.js.map