@graview/core 0.1.64 → 0.1.65
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.
- package/dist/catalog.d.ts +32 -2
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +1 -0
- package/dist/catalog.js.map +1 -1
- package/dist/compose.d.ts +25 -1
- package/dist/compose.d.ts.map +1 -1
- package/dist/compose.js +56 -0
- package/dist/compose.js.map +1 -1
- package/dist/conformance/index.d.ts +6 -0
- package/dist/conformance/index.d.ts.map +1 -1
- package/dist/conformance/index.js +3 -0
- package/dist/conformance/index.js.map +1 -1
- package/dist/conformance/plan-host.d.ts +73 -0
- package/dist/conformance/plan-host.d.ts.map +1 -0
- package/dist/conformance/plan-host.js +64 -0
- package/dist/conformance/plan-host.js.map +1 -0
- package/dist/conformance/told-host.d.ts +40 -0
- package/dist/conformance/told-host.d.ts.map +1 -0
- package/dist/conformance/told-host.js +57 -0
- package/dist/conformance/told-host.js.map +1 -0
- package/dist/conformance/view-revision-host.d.ts +36 -0
- package/dist/conformance/view-revision-host.d.ts.map +1 -0
- package/dist/conformance/view-revision-host.js +42 -0
- package/dist/conformance/view-revision-host.js.map +1 -0
- package/dist/document.schema.json +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/intelligence-bridge.d.ts +2 -0
- package/dist/intelligence-bridge.d.ts.map +1 -1
- package/dist/plan-edits.d.ts +55 -0
- package/dist/plan-edits.d.ts.map +1 -0
- package/dist/plan-edits.js +84 -0
- package/dist/plan-edits.js.map +1 -0
- package/dist/presence.d.ts +10 -0
- package/dist/presence.d.ts.map +1 -1
- package/dist/presence.js.map +1 -1
- package/dist/revisions/beyond.d.ts +56 -0
- package/dist/revisions/beyond.d.ts.map +1 -0
- package/dist/revisions/beyond.js +112 -0
- package/dist/revisions/beyond.js.map +1 -0
- package/dist/revisions/pictured.d.ts +52 -0
- package/dist/revisions/pictured.d.ts.map +1 -0
- package/dist/revisions/pictured.js +85 -0
- package/dist/revisions/pictured.js.map +1 -0
- package/dist/revisions/problems.d.ts +57 -0
- package/dist/revisions/problems.d.ts.map +1 -0
- package/dist/revisions/problems.js +51 -0
- package/dist/revisions/problems.js.map +1 -0
- package/dist/revisions/sections.d.ts +18 -0
- package/dist/revisions/sections.d.ts.map +1 -0
- package/dist/revisions/sections.js +91 -0
- package/dist/revisions/sections.js.map +1 -0
- package/dist/revisions/view.d.ts +71 -0
- package/dist/revisions/view.d.ts.map +1 -0
- package/dist/revisions/view.js +338 -0
- package/dist/revisions/view.js.map +1 -0
- package/dist/revisions.d.ts +11 -0
- package/dist/revisions.d.ts.map +1 -0
- package/dist/revisions.js +20 -0
- package/dist/revisions.js.map +1 -0
- package/dist/told.d.ts +306 -0
- package/dist/told.d.ts.map +1 -0
- package/dist/told.js +409 -0
- package/dist/told.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/views/kept.d.ts +44 -0
- package/dist/views/kept.d.ts.map +1 -1
- package/dist/views/kept.js +30 -0
- package/dist/views/kept.js.map +1 -1
- package/package.json +9 -1
package/dist/told.js
ADDED
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
// ── the shape ───────────────────────────────────────────────────────────────
|
|
2
|
+
/** How a telling ended: still on the card, taken (Yes, Take, Accept), set aside (No, Dismiss), taken back, or closed with nothing done. */
|
|
3
|
+
export const TELLING_OUTCOMES = ["previewed", "accepted", "declined", "undone", "abandoned"];
|
|
4
|
+
/** Which slot decided it: the graph by the Fast slot (Jev), the light model, or the full one. */
|
|
5
|
+
export const TELLING_SLOTS = ["graph", "light", "full"];
|
|
6
|
+
/** The caps on what a telling keeps. */
|
|
7
|
+
export const TOLD_LIMITS = { words: 300, should: 300, name: 80, records: 200, people: 20, stages: 8, examples: 5 };
|
|
8
|
+
/** How long a host keeps tellings when it says nothing: a year. */
|
|
9
|
+
export const TOLD_RETENTION_DAYS = 365;
|
|
10
|
+
/** The most a kept list holds, oldest let go first. */
|
|
11
|
+
export const TOLD_KEPT_MOST = 5000;
|
|
12
|
+
// eslint-disable-next-line no-control-regex
|
|
13
|
+
const UNSEEN = new RegExp("[\\u0000-\\u001f\\u007f-\\u009f\\u200b-\\u200f\\u2028-\\u202e\\u2066-\\u2069]", "g");
|
|
14
|
+
/** Text as data: control characters gone, whitespace folded, cut to `max`. Empty is nothing. */
|
|
15
|
+
function textOf(value, max) {
|
|
16
|
+
if (typeof value !== "string")
|
|
17
|
+
return undefined;
|
|
18
|
+
const clean = value.replace(UNSEEN, " ").replace(/\s+/g, " ").trim();
|
|
19
|
+
return clean.length === 0 ? undefined : clean.slice(0, max).trimEnd();
|
|
20
|
+
}
|
|
21
|
+
/** A declared name or a record's id: letters, digits, `-`, `_`, `.`, `:` and `/`, or nothing. */
|
|
22
|
+
function nameOf(value) {
|
|
23
|
+
return typeof value === "string" && value.length > 0 && value.length <= TOLD_LIMITS.name && /^[\p{L}\p{N}_][\p{L}\p{N}_.:/-]*$/u.test(value) ? value : undefined;
|
|
24
|
+
}
|
|
25
|
+
const namesOf = (value, most) => (Array.isArray(value) ? [...new Set(value.flatMap((one) => nameOf(one) ?? []))].slice(0, most) : []);
|
|
26
|
+
/** Who, as a telling keeps them: the kind and id, and whom an agent acted for — no session, no name. */
|
|
27
|
+
function whoOf(author) {
|
|
28
|
+
const id = typeof author.id === "string" ? author.id.slice(0, TOLD_LIMITS.name) : undefined;
|
|
29
|
+
return { kind: author.kind, ...(id !== undefined ? { id } : {}), ...(author.onBehalfOf ? { onBehalfOf: whoOf(author.onBehalfOf) } : {}) };
|
|
30
|
+
}
|
|
31
|
+
/** A visitor — who never joined, answering a form — or an agent acting for one. */
|
|
32
|
+
const isVisitor = (author) => author?.kind === "visitor" || author?.onBehalfOf?.kind === "visitor";
|
|
33
|
+
/** A fresh telling id. */
|
|
34
|
+
export const tellingId = () => `tl-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
|
|
35
|
+
const TARGETS = new Set(["record", "field", "selection", "list", "lens", "place", "act"]);
|
|
36
|
+
function decidedOf(value) {
|
|
37
|
+
const asked = value;
|
|
38
|
+
const count = (one) => (typeof one === "number" && Number.isFinite(one) && one >= 0 ? Math.min(10_000, Math.round(one)) : 0);
|
|
39
|
+
switch (asked?.["type"]) {
|
|
40
|
+
case "act": {
|
|
41
|
+
const act = nameOf(asked["act"]);
|
|
42
|
+
return act ? { type: "act", act, records: count(asked["records"]) } : undefined;
|
|
43
|
+
}
|
|
44
|
+
case "plan":
|
|
45
|
+
return { type: "plan", edits: count(asked["edits"]) };
|
|
46
|
+
case "answer":
|
|
47
|
+
return { type: "answer" };
|
|
48
|
+
case "refusal":
|
|
49
|
+
return { type: "refusal" };
|
|
50
|
+
case "view": {
|
|
51
|
+
const section = typeof asked["section"] === "string" ? asked["section"].replace(/\s+/g, " ").trim().slice(0, TOLD_LIMITS.name) : "";
|
|
52
|
+
return section ? { type: "view", section } : undefined;
|
|
53
|
+
}
|
|
54
|
+
default:
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* A DRAFT, KEPT AS A TELLING: its words bounded, its names and ids checked,
|
|
60
|
+
* stamped with an id, a time and its author — the door's, never the
|
|
61
|
+
* draft's. Undefined for a visitor and for a draft with no words or no
|
|
62
|
+
* decision.
|
|
63
|
+
*/
|
|
64
|
+
export function tellingOf(draft, by, options = {}) {
|
|
65
|
+
if (!draft || typeof draft !== "object" || !by || isVisitor(by))
|
|
66
|
+
return undefined;
|
|
67
|
+
const asked = draft;
|
|
68
|
+
const words = textOf(asked["words"], TOLD_LIMITS.words);
|
|
69
|
+
const decided = decidedOf(asked["decided"]);
|
|
70
|
+
const targetAsked = asked["target"];
|
|
71
|
+
if (!words || !decided || !targetAsked || !TARGETS.has(String(targetAsked["on"])))
|
|
72
|
+
return undefined;
|
|
73
|
+
const target = {
|
|
74
|
+
on: targetAsked["on"],
|
|
75
|
+
...(nameOf(targetAsked["kind"]) ? { kind: nameOf(targetAsked["kind"]) } : {}),
|
|
76
|
+
...(nameOf(targetAsked["id"]) ? { id: nameOf(targetAsked["id"]) } : {}),
|
|
77
|
+
...(nameOf(targetAsked["place"]) ? { place: nameOf(targetAsked["place"]) } : {}),
|
|
78
|
+
};
|
|
79
|
+
const readingAsked = asked["reading"];
|
|
80
|
+
const reading = readingAsked && (readingAsked["which"] === "itself" || readingAsked["which"] === "held") && nameOf(readingAsked["kind"])
|
|
81
|
+
? { which: readingAsked["which"], kind: nameOf(readingAsked["kind"]), records: namesOf(readingAsked["records"], TOLD_LIMITS.records) }
|
|
82
|
+
: undefined;
|
|
83
|
+
const people = namesOf(asked["people"], TOLD_LIMITS.people);
|
|
84
|
+
const stages = Array.isArray(asked["stages"])
|
|
85
|
+
? asked["stages"].flatMap((one) => {
|
|
86
|
+
const stage = one;
|
|
87
|
+
const name = nameOf(stage?.["stage"]);
|
|
88
|
+
const ms = stage?.["ms"];
|
|
89
|
+
return name && typeof ms === "number" && Number.isFinite(ms) && ms >= 0 ? [{ stage: name, ms: Math.round(ms), ...(nameOf(stage["model"]) ? { model: nameOf(stage["model"]) } : {}) }] : [];
|
|
90
|
+
}).slice(0, TOLD_LIMITS.stages)
|
|
91
|
+
: [];
|
|
92
|
+
const outcome = TELLING_OUTCOMES.includes(asked["outcome"]) ? asked["outcome"] : "previewed";
|
|
93
|
+
const slot = TELLING_SLOTS.includes(asked["slot"]) ? asked["slot"] : undefined;
|
|
94
|
+
const rating = asked["rating"] === "up" || asked["rating"] === "down" ? asked["rating"] : undefined;
|
|
95
|
+
const should = rating === "down" ? textOf(asked["should"], TOLD_LIMITS.should) : undefined;
|
|
96
|
+
const ms = typeof asked["ms"] === "number" && Number.isFinite(asked["ms"]) && asked["ms"] >= 0 ? Math.round(asked["ms"]) : undefined;
|
|
97
|
+
const id = options.id ?? nameOf(asked["id"]) ?? tellingId();
|
|
98
|
+
const conversation = nameOf(asked["conversation"]) ?? id;
|
|
99
|
+
const follows = nameOf(asked["follows"]);
|
|
100
|
+
const interaction = nameOf(asked["interaction"]);
|
|
101
|
+
const examples = namesOf(asked["examples"], TOLD_LIMITS.examples);
|
|
102
|
+
return {
|
|
103
|
+
id,
|
|
104
|
+
at: options.at ?? new Date().toISOString(),
|
|
105
|
+
by: whoOf(by),
|
|
106
|
+
words,
|
|
107
|
+
target,
|
|
108
|
+
...(reading ? { reading } : {}),
|
|
109
|
+
...(people.length > 0 ? { people } : {}),
|
|
110
|
+
decided,
|
|
111
|
+
...(slot ? { slot } : {}),
|
|
112
|
+
...(stages.length > 0 ? { stages } : {}),
|
|
113
|
+
...(ms !== undefined ? { ms } : {}),
|
|
114
|
+
outcome,
|
|
115
|
+
...(rating ? { rating } : {}),
|
|
116
|
+
...(should ? { should } : {}),
|
|
117
|
+
conversation,
|
|
118
|
+
...(follows ? { follows } : {}),
|
|
119
|
+
...(interaction ? { interaction } : {}),
|
|
120
|
+
...(examples.length > 0 ? { examples } : {}),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
/** The change a teller may make (outcome, rating, what it should have done, examples) and an owner may make (pinned, excluded), checked. */
|
|
124
|
+
export function tellingChange(asked) {
|
|
125
|
+
if (!asked || typeof asked !== "object")
|
|
126
|
+
return undefined;
|
|
127
|
+
const one = asked;
|
|
128
|
+
const change = {};
|
|
129
|
+
if (TELLING_OUTCOMES.includes(one["outcome"]))
|
|
130
|
+
change["outcome"] = one["outcome"];
|
|
131
|
+
if (one["rating"] === "up" || one["rating"] === "down" || one["rating"] === null)
|
|
132
|
+
change["rating"] = one["rating"];
|
|
133
|
+
if (one["should"] === null)
|
|
134
|
+
change["should"] = null;
|
|
135
|
+
else if (textOf(one["should"], TOLD_LIMITS.should))
|
|
136
|
+
change["should"] = textOf(one["should"], TOLD_LIMITS.should);
|
|
137
|
+
if (Array.isArray(one["examples"]))
|
|
138
|
+
change["examples"] = namesOf(one["examples"], TOLD_LIMITS.examples);
|
|
139
|
+
if (typeof one["pinned"] === "boolean")
|
|
140
|
+
change["pinned"] = one["pinned"];
|
|
141
|
+
if (typeof one["excluded"] === "boolean")
|
|
142
|
+
change["excluded"] = one["excluded"];
|
|
143
|
+
return Object.keys(change).length > 0 ? change : undefined;
|
|
144
|
+
}
|
|
145
|
+
/** Whether a change is only an owner's to make: pinning and excluding. */
|
|
146
|
+
export const curatesOnly = (change) => change.pinned !== undefined || change.excluded !== undefined;
|
|
147
|
+
/** Whether a change is only its teller's to make: how it ended, how it was rated, what it should have done. */
|
|
148
|
+
export const tellsOnly = (change) => change.outcome !== undefined || change.rating !== undefined || change.should !== undefined || change.examples !== undefined;
|
|
149
|
+
/**
|
|
150
|
+
* A TELLING CHANGED. An outcome never goes back to "previewed", and once a
|
|
151
|
+
* telling was accepted it ends only as undone: a card closed after its Yes
|
|
152
|
+
* did not abandon it. A rating taken away takes its "should" with it; a 👍
|
|
153
|
+
* keeps none.
|
|
154
|
+
*/
|
|
155
|
+
export function changedTelling(telling, change) {
|
|
156
|
+
const outcome = change.outcome === undefined || change.outcome === "previewed"
|
|
157
|
+
? telling.outcome
|
|
158
|
+
: telling.outcome === "accepted" && change.outcome !== "undone"
|
|
159
|
+
? telling.outcome
|
|
160
|
+
: telling.outcome === "undone" || ((telling.outcome === "declined" || telling.outcome === "abandoned") && change.outcome === "abandoned")
|
|
161
|
+
? telling.outcome
|
|
162
|
+
: change.outcome;
|
|
163
|
+
const rating = change.rating === undefined ? telling.rating : change.rating ?? undefined;
|
|
164
|
+
const should = rating !== "down" ? undefined : change.should === undefined ? telling.should : change.should ?? undefined;
|
|
165
|
+
const { rating: _rating, should: _should, ...rest } = telling;
|
|
166
|
+
return {
|
|
167
|
+
...rest,
|
|
168
|
+
outcome,
|
|
169
|
+
...(rating ? { rating } : {}),
|
|
170
|
+
...(should ? { should } : {}),
|
|
171
|
+
...(change.examples ? { examples: change.examples } : {}),
|
|
172
|
+
...(change.pinned !== undefined ? { pinned: change.pinned } : {}),
|
|
173
|
+
...(change.excluded !== undefined ? { excluded: change.excluded } : {}),
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/** What a store keeps: within the retention, at most `most`, oldest let go first, one per id (the later kept). */
|
|
177
|
+
export function keptTold(tellings, options = {}) {
|
|
178
|
+
const since = (options.now ?? Date.now()) - (options.retentionDays ?? TOLD_RETENTION_DAYS) * 86_400_000;
|
|
179
|
+
const byId = new Map();
|
|
180
|
+
for (const telling of tellings) {
|
|
181
|
+
const time = Date.parse(telling.at);
|
|
182
|
+
if (Number.isFinite(time) && time >= since && !isVisitor(telling.by))
|
|
183
|
+
byId.set(telling.id, telling);
|
|
184
|
+
}
|
|
185
|
+
const kept = [...byId.values()];
|
|
186
|
+
const most = options.most ?? TOLD_KEPT_MOST;
|
|
187
|
+
return kept.length > most ? kept.slice(kept.length - most) : kept;
|
|
188
|
+
}
|
|
189
|
+
/** The tellings after one is added, changed or removed: what every held store does. */
|
|
190
|
+
export function toldAfter(tellings, step, options = {}) {
|
|
191
|
+
if ("add" in step)
|
|
192
|
+
return keptTold([...tellings, step.add], options);
|
|
193
|
+
if ("remove" in step)
|
|
194
|
+
return tellings.filter((one) => one.id !== step.remove);
|
|
195
|
+
return tellings.map((one) => (one.id === step.change ? changedTelling(one, step.with) : one));
|
|
196
|
+
}
|
|
197
|
+
/** Tellings kept in memory for as long as the process (or the page) runs. */
|
|
198
|
+
export function memoryTold(options = {}) {
|
|
199
|
+
let held = [];
|
|
200
|
+
return {
|
|
201
|
+
add: (telling) => void (held = toldAfter(held, { add: telling }, options)),
|
|
202
|
+
change: (id, change) => void (held = toldAfter(held, { change: id, with: change })),
|
|
203
|
+
remove: (id) => void (held = toldAfter(held, { remove: id })),
|
|
204
|
+
list: () => keptTold(held, options),
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
/** The wire's path: `graview serve` answers it, and `toldOver` asks it. */
|
|
208
|
+
export const TOLD_PATH = "/graview/told";
|
|
209
|
+
/**
|
|
210
|
+
* A PAGE'S DOOR TO A SERVED HOST'S TELLINGS: `POST` one, `PATCH <id>` a
|
|
211
|
+
* change, `DELETE <id>`, `GET` what the asker may read. The server says who,
|
|
212
|
+
* from the session; nothing is awaited by whoever recorded; a host that
|
|
213
|
+
* keeps none (404, 410) is never asked again. `url` is the store's address
|
|
214
|
+
* (`TOLD_PATH` is added) or, with `path`, the door's own.
|
|
215
|
+
*/
|
|
216
|
+
export function toldOver(url, options = {}) {
|
|
217
|
+
const doFetch = options.fetch ?? ((...args) => fetch(...args));
|
|
218
|
+
const at = `${url.replace(/\/$/, "")}${options.path ?? TOLD_PATH}`;
|
|
219
|
+
const headers = { "content-type": "application/json", ...options.headers };
|
|
220
|
+
let closed = false;
|
|
221
|
+
const send = async (path, method, body) => {
|
|
222
|
+
if (closed)
|
|
223
|
+
return;
|
|
224
|
+
try {
|
|
225
|
+
const answer = await doFetch(`${at}${path}`, { method, headers, ...(body === undefined ? {} : { body: JSON.stringify(body) }) });
|
|
226
|
+
if (answer.status === 404 || answer.status === 410)
|
|
227
|
+
closed = true;
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
// Keeping a telling is never why a page fails.
|
|
231
|
+
}
|
|
232
|
+
};
|
|
233
|
+
return {
|
|
234
|
+
add: (telling) => send("", "POST", { telling }),
|
|
235
|
+
change: (id, change) => send(`/${encodeURIComponent(id)}`, "PATCH", { change }),
|
|
236
|
+
remove: (id) => send(`/${encodeURIComponent(id)}`, "DELETE"),
|
|
237
|
+
async list() {
|
|
238
|
+
if (closed)
|
|
239
|
+
return [];
|
|
240
|
+
try {
|
|
241
|
+
const answer = await doFetch(at, { headers });
|
|
242
|
+
if (answer.status === 404 || answer.status === 410)
|
|
243
|
+
closed = true;
|
|
244
|
+
if (!answer.ok)
|
|
245
|
+
return [];
|
|
246
|
+
return (await answer.json()).tellings ?? [];
|
|
247
|
+
}
|
|
248
|
+
catch {
|
|
249
|
+
return [];
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
// ── reading it back ─────────────────────────────────────────────────────────
|
|
255
|
+
/** The person a telling is of: whom an agent acted for, else the author. */
|
|
256
|
+
const personOf = (author) => (author.onBehalfOf ? personOf(author.onBehalfOf) : author.id !== undefined ? `${author.kind}:${author.id}` : `${author.kind}:?`);
|
|
257
|
+
/** Every record a telling names: its target, the records it was read as, the people. */
|
|
258
|
+
export const recordsOfTelling = (telling) => [...new Set([...(telling.target.id ? [telling.target.id] : []), ...(telling.reading?.records ?? []), ...(telling.people ?? [])])];
|
|
259
|
+
/**
|
|
260
|
+
* WHAT A VIEWER MAY READ BACK: a telling about a record they may not see is
|
|
261
|
+
* hidden from them whole — its words would say what is there. `sees` is the
|
|
262
|
+
* viewer's sight (`seesId(store, principal)`).
|
|
263
|
+
*/
|
|
264
|
+
export function toldSeenBy(tellings, sees) {
|
|
265
|
+
return tellings.filter((telling) => recordsOfTelling(telling).every(sees));
|
|
266
|
+
}
|
|
267
|
+
/** A person's own tellings, and an agent's acting for them. A seat with no id has none. */
|
|
268
|
+
export function ownTold(tellings, principal) {
|
|
269
|
+
if (principal.id === undefined && principal.onBehalfOf?.id === undefined)
|
|
270
|
+
return [];
|
|
271
|
+
const me = personOf(principal);
|
|
272
|
+
return tellings.filter((telling) => personOf(telling.by) === me);
|
|
273
|
+
}
|
|
274
|
+
/** Whether a telling worked: accepted or 👍, never 👎, never excluded, never undone. */
|
|
275
|
+
export const tellingWorked = (telling) => !telling.excluded && telling.rating !== "down" && telling.outcome !== "undone" && (telling.outcome === "accepted" || telling.rating === "up");
|
|
276
|
+
/** What a telling teaches: the act and the kind it was over, or the plan's kind — the same thing told, by whoever. */
|
|
277
|
+
const lessonOf = (telling) => {
|
|
278
|
+
const kind = telling.reading?.kind ?? telling.target.kind ?? "";
|
|
279
|
+
return telling.decided.type === "act" ? `act:${telling.decided.act}:${kind}:${telling.reading?.which ?? ""}` : telling.decided.type === "plan" ? `plan:${kind}` : undefined;
|
|
280
|
+
};
|
|
281
|
+
/**
|
|
282
|
+
* THE LESSONS ENOUGH PEOPLE AGREE ON: each act-over-a-kind (or plan on a
|
|
283
|
+
* kind) that worked for at least `minPeople` distinct people other than
|
|
284
|
+
* the reader. Only these of other people's tellings are ever suggested.
|
|
285
|
+
*/
|
|
286
|
+
export function agreedLessons(tellings, options = {}) {
|
|
287
|
+
const minPeople = Math.max(1, options.minPeople ?? 2);
|
|
288
|
+
const reader = options.reader ? personOf(options.reader) : undefined;
|
|
289
|
+
const people = new Map();
|
|
290
|
+
for (const telling of tellings) {
|
|
291
|
+
const lesson = lessonOf(telling);
|
|
292
|
+
if (!lesson || !tellingWorked(telling) || personOf(telling.by) === reader)
|
|
293
|
+
continue;
|
|
294
|
+
people.set(lesson, (people.get(lesson) ?? new Set()).add(personOf(telling.by)));
|
|
295
|
+
}
|
|
296
|
+
return new Set([...people].filter(([, who]) => who.size >= minPeople).map(([lesson]) => lesson));
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* WHAT A READER IS SERVED: everything, for an owner (`curator`); else their
|
|
300
|
+
* own, and of other people's only those that worked in a lesson enough
|
|
301
|
+
* people agree on (`agreedLessons`) — so one person's words are never shown
|
|
302
|
+
* to another until others told the app the same. Sight is `toldSeenBy`'s.
|
|
303
|
+
*/
|
|
304
|
+
export function toldFor(tellings, reader, options = {}) {
|
|
305
|
+
if (options.curator)
|
|
306
|
+
return tellings;
|
|
307
|
+
const me = personOf(reader);
|
|
308
|
+
const agreed = agreedLessons(tellings, { reader, ...(options.minPeople !== undefined ? { minPeople: options.minPeople } : {}) });
|
|
309
|
+
return tellings.filter((telling) => (reader.id !== undefined && personOf(telling.by) === me) || (tellingWorked(telling) && agreed.has(lessonOf(telling) ?? "")));
|
|
310
|
+
}
|
|
311
|
+
export function toldMatching(tellings, filter) {
|
|
312
|
+
return tellings.filter((telling) => (filter.rating === undefined || (filter.rating === "none" ? telling.rating === undefined : telling.rating === filter.rating)) &&
|
|
313
|
+
(filter.outcome === undefined || telling.outcome === filter.outcome) &&
|
|
314
|
+
(filter.kind === undefined || (telling.reading?.kind ?? telling.target.kind) === filter.kind));
|
|
315
|
+
}
|
|
316
|
+
/** The tellings that teach: those that worked, act or plan, not excluded. */
|
|
317
|
+
export const teachingTold = (tellings) => tellings.filter((telling) => tellingWorked(telling) && lessonOf(telling) !== undefined);
|
|
318
|
+
/** What is teaching the system, in a sentence: "Suggestions come from 23 rated tellings in this app." */
|
|
319
|
+
export function toldTeachingWords(tellings) {
|
|
320
|
+
const count = teachingTold(tellings).length;
|
|
321
|
+
return count === 0 ? "Nothing told here teaches suggestions yet: a telling that is accepted or rated 👍 will." : `Suggestions come from ${count} rated ${count === 1 ? "telling" : "tellings"} in this app.`;
|
|
322
|
+
}
|
|
323
|
+
/** What a telling did, in words: "An act over 6 records", "A plan of 3 changes", "An open answer", "Nothing it could do". */
|
|
324
|
+
export function tellingDidWords(telling, titleOf = (act) => act) {
|
|
325
|
+
switch (telling.decided.type) {
|
|
326
|
+
case "act":
|
|
327
|
+
return `${titleOf(telling.decided.act)}, over ${telling.decided.records} ${telling.decided.records === 1 ? "record" : "records"}`;
|
|
328
|
+
case "plan":
|
|
329
|
+
return `A plan of ${telling.decided.edits} ${telling.decided.edits === 1 ? "change" : "changes"} to the app`;
|
|
330
|
+
case "answer":
|
|
331
|
+
return "An open answer";
|
|
332
|
+
case "refusal":
|
|
333
|
+
return "Nothing it could do";
|
|
334
|
+
case "view":
|
|
335
|
+
return `A revision of “${telling.decided.section}”`;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
/** How a telling ended, in words. */
|
|
339
|
+
export const TELLING_OUTCOME_WORDS = { previewed: "Previewed", accepted: "Accepted", declined: "Declined", undone: "Undone", abandoned: "Closed with nothing done" };
|
|
340
|
+
// ── like ones ───────────────────────────────────────────────────────────────
|
|
341
|
+
/** Words too common to tell two tellings apart. */
|
|
342
|
+
const STOP = new Set("a an and are as at be by can do does for from has have how i in is it its me my of on or our please the their them these they this those to was we what when where which who why will with you your all each every".split(" "));
|
|
343
|
+
/** Words as they are compared: lower case, no accents, a plural's `s` gone, the common ones out. */
|
|
344
|
+
export function tellingWordsOf(words) {
|
|
345
|
+
return [
|
|
346
|
+
...new Set(words
|
|
347
|
+
.toLowerCase()
|
|
348
|
+
.normalize("NFKD")
|
|
349
|
+
.replace(/[̀-ͯ]/g, "")
|
|
350
|
+
.split(/[^\p{L}\p{N}]+/u)
|
|
351
|
+
.filter((word) => word.length > 1 && !STOP.has(word))
|
|
352
|
+
.map((word) => (word.length > 3 && word.endsWith("s") && !word.endsWith("ss") ? word.slice(0, -1) : word))),
|
|
353
|
+
];
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* TELLINGS LIKE THESE WORDS THAT WORKED: accepted or 👍, never excluded,
|
|
357
|
+
* never 👎, never undone, ranked by how alike their words are (by the words'
|
|
358
|
+
* overlap, a typed word that begins one of theirs counting), the same kind
|
|
359
|
+
* and the same act — an owner's pinned first among equals. Cheap and local:
|
|
360
|
+
* no model. Another person's is offered only where `minPeople` people agree
|
|
361
|
+
* (`agreedLessons`); the reader's own always. One per lesson, so two
|
|
362
|
+
* suggestions say two things.
|
|
363
|
+
*/
|
|
364
|
+
export function similarTellings(tellings, like, options = {}) {
|
|
365
|
+
const typed = tellingWordsOf(like.words);
|
|
366
|
+
if (typed.length === 0)
|
|
367
|
+
return [];
|
|
368
|
+
const reader = options.reader ? personOf(options.reader) : undefined;
|
|
369
|
+
const agreed = agreedLessons(tellings, { ...(options.reader ? { reader: options.reader } : {}), ...(options.minPeople !== undefined ? { minPeople: options.minPeople } : {}) });
|
|
370
|
+
const scored = tellings.flatMap((telling) => {
|
|
371
|
+
const lesson = lessonOf(telling);
|
|
372
|
+
if (!lesson || !tellingWorked(telling) || (options.rated && telling.rating !== "up"))
|
|
373
|
+
return [];
|
|
374
|
+
const own = reader !== undefined && personOf(telling.by) === reader;
|
|
375
|
+
if (!own && !agreed.has(lesson))
|
|
376
|
+
return [];
|
|
377
|
+
const theirs = tellingWordsOf(telling.words);
|
|
378
|
+
const shared = typed.filter((word) => theirs.some((one) => one === word || (word.length >= 3 && one.startsWith(word)))).length;
|
|
379
|
+
if (shared === 0)
|
|
380
|
+
return [];
|
|
381
|
+
const words = shared / new Set([...typed, ...theirs]).size;
|
|
382
|
+
// The same kind it was said on (a list), or the kind it was over (its tasks).
|
|
383
|
+
const kind = like.kind !== undefined && (telling.target.kind === like.kind || telling.reading?.kind === like.kind) ? 0.25 : like.kind !== undefined ? -0.25 : 0;
|
|
384
|
+
const act = like.act !== undefined && telling.decided.type === "act" && telling.decided.act === like.act ? 0.15 : 0;
|
|
385
|
+
const score = Math.max(0, Math.min(1, words * 0.6 + 0.25 + kind + act + (telling.pinned ? 0.1 : 0)));
|
|
386
|
+
return score >= (options.floor ?? 0.35) ? [{ telling, score, lesson }] : [];
|
|
387
|
+
});
|
|
388
|
+
scored.sort((a, b) => b.score - a.score || Number(b.telling.pinned ?? false) - Number(a.telling.pinned ?? false) || (a.telling.at < b.telling.at ? 1 : -1));
|
|
389
|
+
const seen = new Set();
|
|
390
|
+
const out = [];
|
|
391
|
+
for (const one of scored) {
|
|
392
|
+
if (seen.has(one.lesson))
|
|
393
|
+
continue;
|
|
394
|
+
seen.add(one.lesson);
|
|
395
|
+
out.push({ telling: one.telling, score: one.score });
|
|
396
|
+
if (out.length >= (options.most ?? 2))
|
|
397
|
+
break;
|
|
398
|
+
}
|
|
399
|
+
return out;
|
|
400
|
+
}
|
|
401
|
+
/** The like tellings that worked, as the Fast slot and the light model are given them. */
|
|
402
|
+
export function tellingExamples(similar) {
|
|
403
|
+
return similar.map(({ telling }) => ({
|
|
404
|
+
said: telling.words,
|
|
405
|
+
did: telling.decided.type === "act" ? `act ${telling.decided.act} over ${telling.reading?.which === "itself" ? "the record itself" : "each record it holds"}` : telling.decided.type === "plan" ? "a plan that changes the app" : telling.decided.type === "view" ? "a revision of a view's section" : telling.decided.type,
|
|
406
|
+
...(telling.reading ? { reading: telling.reading.which } : {}),
|
|
407
|
+
}));
|
|
408
|
+
}
|
|
409
|
+
//# sourceMappingURL=told.js.map
|
package/dist/told.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"told.js","sourceRoot":"","sources":["../src/told.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/dist/views/kept.d.ts
CHANGED
|
@@ -80,7 +80,43 @@ export interface KeptViews {
|
|
|
80
80
|
}): void | Promise<void>;
|
|
81
81
|
restore(name: string): void | Promise<void>;
|
|
82
82
|
lens?(edit: LensTidyEdit): void | Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* A SCRIPT VIEW REVISED (Roadmap f-make-this-section-better): "Make this
|
|
85
|
+
* better" on a section of a view composed a whole new source — the
|
|
86
|
+
* section replaced, the rest kept byte for byte — and the page judged it
|
|
87
|
+
* (`compareViewRevision`, the view's own checks) before offering it. Keep
|
|
88
|
+
* hands it here: the host keeps it as it keeps a view a chat replaced
|
|
89
|
+
* (Graview Cloud: `propose_view` and `apply_view`), its replaced version
|
|
90
|
+
* among the view's own, and answers once it is kept — with the one way
|
|
91
|
+
* back where it has its own (`undo`), and a line the card says (`note`).
|
|
92
|
+
* Without `undo` the page's Undo hands the code before back here. Throws,
|
|
93
|
+
* in words, what it refused. Unsaid, no section is offered for revising.
|
|
94
|
+
* Offered only where `current().may.views`.
|
|
95
|
+
*/
|
|
96
|
+
revise?(revision: ViewRevisionKept): ViewReviseAnswer | Promise<ViewReviseAnswer>;
|
|
97
|
+
/** The code the host keeps for a view it revised, where it says (a conformance check reads it back). */
|
|
98
|
+
revised?(name: string): string | undefined;
|
|
99
|
+
}
|
|
100
|
+
/** A revision of a script view, as Keep hands it to the host. */
|
|
101
|
+
export interface ViewRevisionKept {
|
|
102
|
+
/** The view, by its manifest name, and its title. */
|
|
103
|
+
readonly name: string;
|
|
104
|
+
readonly title: string;
|
|
105
|
+
/** The whole new source, and the source it replaces. */
|
|
106
|
+
readonly source: string;
|
|
107
|
+
readonly before: string;
|
|
108
|
+
/** The section it revised, by name ("This week"). */
|
|
109
|
+
readonly section: string;
|
|
110
|
+
/** What changed, in a sentence, as the card said it. */
|
|
111
|
+
readonly said: string;
|
|
112
|
+
/** Set when this hands back the code before, as the page's Undo. */
|
|
113
|
+
readonly undoes?: true;
|
|
83
114
|
}
|
|
115
|
+
/** What a host answers a kept revision: nothing, or a line to say and its own way back. */
|
|
116
|
+
export type ViewReviseAnswer = void | undefined | {
|
|
117
|
+
readonly note?: string;
|
|
118
|
+
readonly undo?: () => void | Promise<void>;
|
|
119
|
+
};
|
|
84
120
|
/** How long a deleted view is kept: thirty days. */
|
|
85
121
|
export declare const REMOVED_VIEW_DAYS = 30;
|
|
86
122
|
/** The name a removed declared lens is listed and restored by. */
|
|
@@ -118,4 +154,12 @@ export interface MemoryViewsOptions {
|
|
|
118
154
|
* as `initial`.
|
|
119
155
|
*/
|
|
120
156
|
export declare function memoryViews(options?: MemoryViewsOptions): KeptViews;
|
|
157
|
+
/**
|
|
158
|
+
* REVISIONS KEPT IN MEMORY (Roadmap f-make-this-section-better): the views
|
|
159
|
+
* a host keeps, with `revise` keeping each view's new code here — said
|
|
160
|
+
* "Kept until this page reloads", its undo putting the code before back —
|
|
161
|
+
* and `revised` reading it. Refused to a seat that may not change views. A
|
|
162
|
+
* dev server's, a test's; a host that keeps views for good writes its own.
|
|
163
|
+
*/
|
|
164
|
+
export declare function withMemoryRevisions(views: KeptViews): KeptViews;
|
|
121
165
|
//# sourceMappingURL=kept.d.ts.map
|
package/dist/views/kept.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kept.d.ts","sourceRoot":"","sources":["../../src/views/kept.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAoBxC,yHAAyH;AACzH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,8GAA8G;AAC9G,MAAM,WAAW,WAAW;IAC1B,wGAAwG;IACxG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,2IAA2I;AAC3I,MAAM,WAAW,cAAc;IAC7B,iIAAiI;IACjI,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC1G;IAAE,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC1G;IAAE,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,IAAI,cAAc,CAAC;IAC1B,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,oGAAoG;IACpG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"kept.d.ts","sourceRoot":"","sources":["../../src/views/kept.ts"],"names":[],"mappings":"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"}
|
package/dist/views/kept.js
CHANGED
|
@@ -104,4 +104,34 @@ export function memoryViews(options = {}) {
|
|
|
104
104
|
: {}),
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* REVISIONS KEPT IN MEMORY (Roadmap f-make-this-section-better): the views
|
|
109
|
+
* a host keeps, with `revise` keeping each view's new code here — said
|
|
110
|
+
* "Kept until this page reloads", its undo putting the code before back —
|
|
111
|
+
* and `revised` reading it. Refused to a seat that may not change views. A
|
|
112
|
+
* dev server's, a test's; a host that keeps views for good writes its own.
|
|
113
|
+
*/
|
|
114
|
+
export function withMemoryRevisions(views) {
|
|
115
|
+
const revised = new Map();
|
|
116
|
+
return {
|
|
117
|
+
...views,
|
|
118
|
+
current: () => views.current(),
|
|
119
|
+
revise(revision) {
|
|
120
|
+
if (!views.current().may.views)
|
|
121
|
+
throw new Error("Only someone who may change this app's views can keep a revision of one.");
|
|
122
|
+
const had = revised.get(revision.name);
|
|
123
|
+
revised.set(revision.name, revision.source);
|
|
124
|
+
return {
|
|
125
|
+
note: "Kept until this page reloads.",
|
|
126
|
+
undo: () => {
|
|
127
|
+
if (had === undefined)
|
|
128
|
+
revised.delete(revision.name);
|
|
129
|
+
else
|
|
130
|
+
revised.set(revision.name, had);
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
},
|
|
134
|
+
revised: (name) => revised.get(name),
|
|
135
|
+
};
|
|
136
|
+
}
|
|
107
137
|
//# sourceMappingURL=kept.js.map
|
package/dist/views/kept.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kept.js","sourceRoot":"","sources":["../../src/views/kept.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kept.js","sourceRoot":"","sources":["../../src/views/kept.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graview/core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.65",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -57,6 +57,10 @@
|
|
|
57
57
|
"types": "./dist/head.d.ts",
|
|
58
58
|
"default": "./dist/head.js"
|
|
59
59
|
},
|
|
60
|
+
"./revisions": {
|
|
61
|
+
"types": "./dist/revisions.d.ts",
|
|
62
|
+
"default": "./dist/revisions.js"
|
|
63
|
+
},
|
|
60
64
|
"./csv": {
|
|
61
65
|
"types": "./dist/csv.d.ts",
|
|
62
66
|
"default": "./dist/csv.js"
|
|
@@ -109,6 +113,10 @@
|
|
|
109
113
|
"types": "./dist/learn.d.ts",
|
|
110
114
|
"default": "./dist/learn.js"
|
|
111
115
|
},
|
|
116
|
+
"./told": {
|
|
117
|
+
"types": "./dist/told.d.ts",
|
|
118
|
+
"default": "./dist/told.js"
|
|
119
|
+
},
|
|
112
120
|
"./compose": {
|
|
113
121
|
"types": "./dist/compose.d.ts",
|
|
114
122
|
"default": "./dist/compose.js"
|