@graview/core 0.1.58 → 0.1.59
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/archived-seen.d.ts.map +1 -1
- package/dist/archived-seen.js +7 -3
- package/dist/archived-seen.js.map +1 -1
- package/dist/catalog.js +1 -1
- package/dist/catalog.js.map +1 -1
- package/dist/cli/check/field-sight.d.ts.map +1 -1
- package/dist/cli/check/field-sight.js +3 -1
- package/dist/cli/check/field-sight.js.map +1 -1
- package/dist/document/brand.js +3 -3
- package/dist/document/brand.js.map +1 -1
- package/dist/document/compiled.d.ts.map +1 -1
- package/dist/document/compiled.js +20 -1
- package/dist/document/compiled.js.map +1 -1
- package/dist/document.schema.json +2 -2
- package/dist/field-sight.js +4 -2
- package/dist/field-sight.js.map +1 -1
- package/dist/fresh.d.ts +26 -0
- package/dist/fresh.d.ts.map +1 -0
- package/dist/fresh.js +33 -0
- package/dist/fresh.js.map +1 -0
- package/dist/friction.d.ts +7 -0
- package/dist/friction.d.ts.map +1 -1
- package/dist/friction.js +2 -1
- package/dist/friction.js.map +1 -1
- package/dist/import/rows.d.ts.map +1 -1
- package/dist/import/rows.js +20 -10
- package/dist/import/rows.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/linked.d.ts.map +1 -1
- package/dist/linked.js +7 -1
- package/dist/linked.js.map +1 -1
- package/dist/mutations/define-mutation.d.ts +14 -0
- package/dist/mutations/define-mutation.d.ts.map +1 -1
- package/dist/mutations/define-mutation.js +9 -4
- package/dist/mutations/define-mutation.js.map +1 -1
- package/dist/mutations/derive-edits.d.ts.map +1 -1
- package/dist/mutations/derive-edits.js +4 -1
- package/dist/mutations/derive-edits.js.map +1 -1
- package/dist/mutations/derive-repeats.d.ts +8 -0
- package/dist/mutations/derive-repeats.d.ts.map +1 -1
- package/dist/mutations/derive-repeats.js +29 -4
- package/dist/mutations/derive-repeats.js.map +1 -1
- package/dist/mutations/type-text.d.ts +6 -1
- package/dist/mutations/type-text.d.ts.map +1 -1
- package/dist/mutations/type-text.js +8 -1
- package/dist/mutations/type-text.js.map +1 -1
- package/dist/mutations/types.d.ts +10 -0
- package/dist/mutations/types.d.ts.map +1 -1
- package/dist/ops/lineage.d.ts +12 -1
- package/dist/ops/lineage.d.ts.map +1 -1
- package/dist/ops/lineage.js +9 -2
- package/dist/ops/lineage.js.map +1 -1
- package/dist/ops/log.d.ts +23 -0
- package/dist/ops/log.d.ts.map +1 -1
- package/dist/ops/log.js +7 -0
- package/dist/ops/log.js.map +1 -1
- package/dist/ops/undo.d.ts.map +1 -1
- package/dist/ops/undo.js +9 -0
- package/dist/ops/undo.js.map +1 -1
- package/dist/permissions/sight.d.ts +8 -0
- package/dist/permissions/sight.d.ts.map +1 -1
- package/dist/permissions/sight.js +8 -0
- package/dist/permissions/sight.js.map +1 -1
- package/dist/publish.d.ts +7 -2
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js.map +1 -1
- package/dist/publishing.d.ts +4 -1
- package/dist/publishing.d.ts.map +1 -1
- package/dist/publishing.js +59 -14
- package/dist/publishing.js.map +1 -1
- package/dist/scaffold/from-template.d.ts.map +1 -1
- package/dist/scaffold/from-template.js +2 -2
- package/dist/scaffold/from-template.js.map +1 -1
- package/dist/scaffold/names.d.ts +10 -0
- package/dist/scaffold/names.d.ts.map +1 -1
- package/dist/scaffold/names.js +20 -1
- package/dist/scaffold/names.js.map +1 -1
- package/dist/scaffold/ui.d.ts.map +1 -1
- package/dist/scaffold/ui.js +9 -8
- package/dist/scaffold/ui.js.map +1 -1
- package/dist/schema/figures.d.ts +9 -2
- package/dist/schema/figures.d.ts.map +1 -1
- package/dist/schema/figures.js +38 -9
- package/dist/schema/figures.js.map +1 -1
- package/dist/schema/linked.d.ts +7 -1
- package/dist/schema/linked.d.ts.map +1 -1
- package/dist/schema/linked.js.map +1 -1
- package/dist/seen.d.ts.map +1 -1
- package/dist/seen.js +21 -2
- package/dist/seen.js.map +1 -1
- package/dist/store.d.ts +29 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +158 -31
- package/dist/store.js.map +1 -1
- package/dist/subscriptions.d.ts +12 -0
- package/dist/subscriptions.d.ts.map +1 -1
- package/dist/subscriptions.js +10 -1
- package/dist/subscriptions.js.map +1 -1
- package/dist/sync/mcp.d.ts +8 -0
- package/dist/sync/mcp.d.ts.map +1 -1
- package/dist/sync/mcp.js +2 -0
- package/dist/sync/mcp.js.map +1 -1
- package/dist/text/typing-hook.d.ts +2 -2
- package/dist/text/typing-hook.d.ts.map +1 -1
- package/dist/theme/fonts.d.ts +10 -0
- package/dist/theme/fonts.d.ts.map +1 -1
- package/dist/theme/fonts.js +25 -1
- package/dist/theme/fonts.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/views/kept.d.ts.map +1 -1
- package/dist/views/kept.js +3 -0
- package/dist/views/kept.js.map +1 -1
- package/package.json +1 -1
package/dist/publishing.js
CHANGED
|
@@ -24,29 +24,46 @@ const bound = (target, prop) => {
|
|
|
24
24
|
let made;
|
|
25
25
|
const act = () => (made ??= { name: NAME, title: "Publish", description: "Publish what collaborators have changed, so readers see it.", input: PUBLISHING.input(), apply() { } });
|
|
26
26
|
export const publishMutation = () => act();
|
|
27
|
+
/**
|
|
28
|
+
* The `publishedThrough` of the standing publish ops before `before`,
|
|
29
|
+
* newest first, as many as `count` — and, when the tail holds fewer, the
|
|
30
|
+
* one its checkpoint kept (FR-23), since what stood published behind the
|
|
31
|
+
* horizon was archived with the ops that said it.
|
|
32
|
+
*/
|
|
33
|
+
function standingPublishes(log, before, count) {
|
|
34
|
+
const ops = log.all();
|
|
35
|
+
const found = [];
|
|
36
|
+
let undone;
|
|
37
|
+
for (let at = ops.length - 1; at >= 0 && found.length < count; at--) {
|
|
38
|
+
const op = ops[at];
|
|
39
|
+
if (op.seq >= before || op.publishedThrough === undefined || (undone ??= log.undoneIds()).has(op.id))
|
|
40
|
+
continue;
|
|
41
|
+
found.push(op.publishedThrough);
|
|
42
|
+
}
|
|
43
|
+
if (found.length < count) {
|
|
44
|
+
const kept = [...log.epochs()].reverse().find((epoch) => epoch.horizon)?.publishedThrough;
|
|
45
|
+
if (kept !== undefined)
|
|
46
|
+
found.push(kept);
|
|
47
|
+
}
|
|
48
|
+
return found;
|
|
49
|
+
}
|
|
27
50
|
/**
|
|
28
51
|
* HOW FAR READERS ARE SERVED: the `publishedThrough` of the last publish
|
|
29
52
|
* op that stands (an undone one does not — undoing a publish takes readers
|
|
30
|
-
* back to the one before),
|
|
31
|
-
*
|
|
53
|
+
* back to the one before), else the one the checkpoint the log begins at
|
|
54
|
+
* kept, or `undefined` when nothing was ever published. Kept per log while
|
|
55
|
+
* its length and last op are the ones it was read at.
|
|
32
56
|
*/
|
|
33
57
|
const READ = new WeakMap();
|
|
34
58
|
export function publishedSeqOf(log) {
|
|
35
59
|
const ops = log.all();
|
|
36
60
|
const last = ops.at(-1)?.id;
|
|
61
|
+
const from = log.epochs();
|
|
37
62
|
const held = READ.get(log);
|
|
38
|
-
if (held && held.length === ops.length && held.last === last)
|
|
63
|
+
if (held && held.length === ops.length && held.last === last && held.from === from)
|
|
39
64
|
return held.seq;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
for (let at = ops.length - 1; at >= 0; at--) {
|
|
43
|
-
const op = ops[at];
|
|
44
|
-
if (op.publishedThrough === undefined || (undone ??= log.undoneIds()).has(op.id))
|
|
45
|
-
continue;
|
|
46
|
-
seq = op.publishedThrough;
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
READ.set(log, { length: ops.length, last, seq });
|
|
65
|
+
const seq = standingPublishes(log, Number.POSITIVE_INFINITY, 1)[0];
|
|
66
|
+
READ.set(log, { length: ops.length, last, from, seq });
|
|
50
67
|
return seq;
|
|
51
68
|
}
|
|
52
69
|
/** Who may publish: a refusal in a sentence when this principal may not — whoever holds none of `publishers` (else `working`), the system aside. */
|
|
@@ -163,6 +180,34 @@ PUBLISHING.verdict = (held, principal) => {
|
|
|
163
180
|
const refusal = publishRefusal(held.publishing, principal);
|
|
164
181
|
return refusal ? { ok: false, refusal } : { ok: true };
|
|
165
182
|
};
|
|
166
|
-
PUBLISHING.seq = (held) =>
|
|
183
|
+
PUBLISHING.seq = (held, at) => {
|
|
184
|
+
const { publishing, log } = held;
|
|
185
|
+
if (!publishes(publishing))
|
|
186
|
+
return undefined;
|
|
187
|
+
return at === undefined ? publishedSeqOf(log) : standingPublishes(log, at, 1)[0];
|
|
188
|
+
};
|
|
189
|
+
PUBLISHING.previous = (held) => {
|
|
190
|
+
const { publishing, log } = held;
|
|
191
|
+
// One behind the horizon is not held: an undo that would go back to it is refused instead (`PUBLISHING.undo`).
|
|
192
|
+
return publishes(publishing) ? standingPublishes(log, Number.POSITIVE_INFINITY, 2).slice(1).filter((seq) => seq >= log.horizon) : [];
|
|
193
|
+
};
|
|
167
194
|
PUBLISHING.op = publishOp;
|
|
195
|
+
/*
|
|
196
|
+
* NOT A PUBLISH WHOSE PREDECESSOR IS BEHIND THE UNDO HORIZON (FR-23).
|
|
197
|
+
* Undoing a publish takes readers back to the one before, served as the
|
|
198
|
+
* app stood then; a past behind the horizon no longer folds from the log,
|
|
199
|
+
* and readers would be served the horizon instead — what the undo meant to
|
|
200
|
+
* withdraw. A publish through an earlier seq the log holds takes back what
|
|
201
|
+
* was published instead.
|
|
202
|
+
*/
|
|
203
|
+
PUBLISHING.undo = (log, ops, horizon) => {
|
|
204
|
+
if (horizon.seq === 0)
|
|
205
|
+
return undefined;
|
|
206
|
+
const taking = new Set(ops.map((op) => op.id));
|
|
207
|
+
const now = standingPublishes(log, Number.POSITIVE_INFINITY, 1)[0];
|
|
208
|
+
const after = standingPublishes({ all: () => log.all().filter((op) => !taking.has(op.id)), undoneIds: () => log.undoneIds(), epochs: () => log.epochs() }, Number.POSITIVE_INFINITY, 1)[0];
|
|
209
|
+
if (after === now || (after !== undefined && after >= horizon.seq))
|
|
210
|
+
return undefined;
|
|
211
|
+
return `Cannot undo this publish: what was published before it is behind the undo horizon at op ${horizon.seq}, so readers could not be served it again. Publish through an earlier change instead.`;
|
|
212
|
+
};
|
|
168
213
|
//# sourceMappingURL=publishing.js.map
|
package/dist/publishing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publishing.js","sourceRoot":"","sources":["../src/publishing.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAMnC,8HAA8H;AAC9H,MAAM,UAAU,GAAqB,CAAE,UAA2D,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AACnJ,mGAAmG;AACnG,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,GAAI,CAAC;AAElC;;;;GAIG;AACH,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,MAAM,SAAS,GAAG,CAAC,UAAkC,EAA4B,EAAE,CAAC,UAAU,EAAE,IAAI,KAAK,YAAY,CAAC;AACtH,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC9C,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,IAAiB,EAAW,EAAE;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAyC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvG,CAAC,CAAC;AAEF;;;;;GAKG;AACH,IAAI,IAAwB,CAAC;AAC7B,MAAM,GAAG,GAAG,GAAW,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,6DAA6D,EAAE,KAAK,EAAE,UAAU,CAAC,KAAM,EAAE,EAAE,KAAK,KAAI,CAAC,EAAE,CAAC,CAAC;AAC1L,MAAM,CAAC,MAAM,eAAe,GAAG,GAAkD,EAAE,CAAC,GAAG,EAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"publishing.js","sourceRoot":"","sources":["../src/publishing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from-template.d.ts","sourceRoot":"","sources":["../../src/scaffold/from-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"from-template.d.ts","sourceRoot":"","sources":["../../src/scaffold/from-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,KAAK,GAAG,EAAyC,MAAM,YAAY,CAAC;AAmB7E,8GAA8G;AAC9G,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAQjI;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAE9D;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAE9D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAmC9C;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAOjD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAiBhD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CA+C7C;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAalE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { escapeString, slugify } from "./names.js";
|
|
1
|
+
import { escapeString, escapeTemplate, slugify } from "./names.js";
|
|
2
2
|
/*
|
|
3
3
|
* A PROJECT FROM A TEMPLATE (FR-08): the same checkout `graview create`
|
|
4
4
|
* always writes, with the declaration KEPT AS THE DOCUMENT.
|
|
@@ -86,7 +86,7 @@ import { ${ids.appVar} } from "./app.js";
|
|
|
86
86
|
function brandOf(): Brand {
|
|
87
87
|
if (${ids.appVar}.brand) return ${ids.appVar}.brand;
|
|
88
88
|
const derived = brandFromAccent({ accent: "${ids.accent}", base: { dark: DARK, light: LIGHT } });
|
|
89
|
-
if (!derived.ok) throw new Error(\`${
|
|
89
|
+
if (!derived.ok) throw new Error(\`${escapeTemplate(ids.name)} cannot be derived from ${ids.accent}: \${derived.why}\`);
|
|
90
90
|
return { name: ${ids.appVar}.name, schemes: derived.schemes };
|
|
91
91
|
}
|
|
92
92
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from-template.js","sourceRoot":"","sources":["../../src/scaffold/from-template.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"from-template.js","sourceRoot":"","sources":["../../src/scaffold/from-template.ts"],"names":[],"mappings":"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"}
|
package/dist/scaffold/names.d.ts
CHANGED
|
@@ -51,6 +51,16 @@ export type Ids = {
|
|
|
51
51
|
fromTemplate: boolean;
|
|
52
52
|
};
|
|
53
53
|
export declare function escapeHtml(text: string): string;
|
|
54
|
+
/** Text for inside a double-quoted string literal. */
|
|
54
55
|
export declare function escapeString(text: string): string;
|
|
56
|
+
/** Text for inside a backtick template literal: a backtick and `${` stay text. */
|
|
55
57
|
export declare function escapeTemplate(text: string): string;
|
|
58
|
+
/** Text for inside a block comment (JS or CSS): nothing in it can close the comment. */
|
|
59
|
+
export declare function escapeComment(text: string): string;
|
|
60
|
+
/**
|
|
61
|
+
* Text for between two JSX tags: plain words stay plain, and a name with a
|
|
62
|
+
* brace, an angle bracket or an ampersand in it is written as a string
|
|
63
|
+
* expression, so JSX reads none of them as markup or code.
|
|
64
|
+
*/
|
|
65
|
+
export declare function escapeJsxText(text: string): string;
|
|
56
66
|
//# sourceMappingURL=names.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../src/scaffold/names.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,IAAI,QAAoC,CAAC;AAEtD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG3C;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,SAAS,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../src/scaffold/names.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,IAAI,QAAoC,CAAC;AAEtD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG3C;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,SAAS,MAAM,EAAE,CA8BpB;AAED,MAAM,MAAM,GAAG,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,KAAK,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAIF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD"}
|
package/dist/scaffold/names.js
CHANGED
|
@@ -36,6 +36,11 @@ export function validateScaffoldOptions(options) {
|
|
|
36
36
|
if (!options.name || options.name.trim().length === 0) {
|
|
37
37
|
problems.push("a name is required — the product's name, as a person would say it");
|
|
38
38
|
}
|
|
39
|
+
else if (/[\u0000-\u001f\u007f\u2028\u2029]/.test(options.name)) {
|
|
40
|
+
// The name is written into comments and string literals of the files
|
|
41
|
+
// made; a line break or a control character in it would end one.
|
|
42
|
+
problems.push("the name has a line break or a control character in it; a name is one line of text");
|
|
43
|
+
}
|
|
39
44
|
const kind = options.kind ?? "item";
|
|
40
45
|
if (!SLUG.test(kind)) {
|
|
41
46
|
problems.push(`the kind "${kind}" must be a slug: lowercase letters, digits and hyphens, starting with a letter`);
|
|
@@ -62,10 +67,24 @@ export function validateScaffoldOptions(options) {
|
|
|
62
67
|
export function escapeHtml(text) {
|
|
63
68
|
return text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
64
69
|
}
|
|
70
|
+
/** Text for inside a double-quoted string literal. */
|
|
65
71
|
export function escapeString(text) {
|
|
66
72
|
return text.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
67
73
|
}
|
|
74
|
+
/** Text for inside a backtick template literal: a backtick and `${` stay text. */
|
|
68
75
|
export function escapeTemplate(text) {
|
|
69
|
-
return text.replace(/\\/g, "\\\\").replace(/`/g, "
|
|
76
|
+
return text.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${");
|
|
77
|
+
}
|
|
78
|
+
/** Text for inside a block comment (JS or CSS): nothing in it can close the comment. */
|
|
79
|
+
export function escapeComment(text) {
|
|
80
|
+
return text.replace(/\*\//g, "* /").replace(/[\r\n\u2028\u2029]/g, " ");
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Text for between two JSX tags: plain words stay plain, and a name with a
|
|
84
|
+
* brace, an angle bracket or an ampersand in it is written as a string
|
|
85
|
+
* expression, so JSX reads none of them as markup or code.
|
|
86
|
+
*/
|
|
87
|
+
export function escapeJsxText(text) {
|
|
88
|
+
return /[{}<>&]/.test(text) ? `{${JSON.stringify(text)}}` : text;
|
|
70
89
|
}
|
|
71
90
|
//# sourceMappingURL=names.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"names.js","sourceRoot":"","sources":["../../src/scaffold/names.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,iCAAiC,CAAC;AAEtD,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI;SACR,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAOvC;IACC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;IACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,aAAa,IAAI,iFAAiF,CAAC,CAAC;IACpH,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,eAAe,MAAM,uEAAuE,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,QAAQ,CAAC,IAAI,CAAC,aAAa,IAAI,iFAAiF,CAAC,CAAC;IACpH,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,wCAAwC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7G,QAAQ,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,WAAW,0BAA0B,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QAChH,QAAQ,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9E,QAAQ,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,MAAM,8CAA8C,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAmCD,4EAA4E;AAE5E,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"names.js","sourceRoot":"","sources":["../../src/scaffold/names.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/scaffold/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/scaffold/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAA0D,MAAM,YAAY,CAAC;AAO9F,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAgB1C;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAyC1C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAyBzC;AAID,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAyBzC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAqHzC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CA2OzC;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAsGxC"}
|
package/dist/scaffold/ui.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { escapeHtml,
|
|
1
|
+
import { escapeComment, escapeHtml, escapeJsxText, escapeString } from "./names.js";
|
|
2
2
|
/*
|
|
3
3
|
* THE FACES A NEW PROJECT HAS: the page, the embed, the scene, the pages
|
|
4
4
|
* face and the entry that opens the store and mounts it.
|
|
@@ -34,8 +34,8 @@ export function embedHtml(ids) {
|
|
|
34
34
|
<title>${escapeHtml(ids.name)}, on somebody else's page</title>
|
|
35
35
|
<link rel="icon" href="data:," />
|
|
36
36
|
<style>
|
|
37
|
-
/* THE HOST PAGE'S OWN LOOK. Nothing here is ${escapeHtml(ids.name)}'s, and
|
|
38
|
-
nothing ${escapeHtml(ids.name)} draws may reach out and change it: the
|
|
37
|
+
/* THE HOST PAGE'S OWN LOOK. Nothing here is ${escapeComment(escapeHtml(ids.name))}'s, and
|
|
38
|
+
nothing ${escapeComment(escapeHtml(ids.name))} draws may reach out and change it: the
|
|
39
39
|
embed themes itself inside its own element. */
|
|
40
40
|
body {
|
|
41
41
|
margin: 0 auto;
|
|
@@ -74,7 +74,7 @@ import { ${ids.appVar}, createStore } from "./domain/app.js";
|
|
|
74
74
|
import { views } from "./ui/views.js";
|
|
75
75
|
|
|
76
76
|
/**
|
|
77
|
-
* ${
|
|
77
|
+
* ${escapeComment(ids.name).toUpperCase()} ON SOMEBODY ELSE'S PAGE.
|
|
78
78
|
*
|
|
79
79
|
* The embed brings its own strip, its own theme scoped to the element it is
|
|
80
80
|
* given, and this app's named places — no Shell, nothing on the host page
|
|
@@ -156,7 +156,7 @@ export interface ${ids.AppComponent}Props {
|
|
|
156
156
|
|
|
157
157
|
/**
|
|
158
158
|
* The whole application. \`Shell\` is the command bar, the scene, the
|
|
159
|
-
* inspector and the rail, derived; what ${
|
|
159
|
+
* inspector and the rail, derived; what ${escapeComment(ids.name)} adds is a
|
|
160
160
|
* sentence for when nothing is wrong and a seat for an agent. If this file
|
|
161
161
|
* grows, ask whether the declaration should have grown instead.
|
|
162
162
|
*/
|
|
@@ -326,7 +326,7 @@ function ${ids.KindPascal}Page({ context }: { context: PageContext<S> }) {
|
|
|
326
326
|
* give the kind a \`noun\` ("car" for a kind called vehicle) and
|
|
327
327
|
* this says it, where a word typed at scaffold time would not.
|
|
328
328
|
*/}
|
|
329
|
-
<p style={pageStyles.eyebrow}>{withArticle(nounOf(store.schema.tryDefinition(node.kind), node.kind)).replace(/^./, (first) => first.toUpperCase())} in ${
|
|
329
|
+
<p style={pageStyles.eyebrow}>{withArticle(nounOf(store.schema.tryDefinition(node.kind), node.kind)).replace(/^./, (first) => first.toUpperCase())} in ${escapeJsxText(ids.name)}</p>
|
|
330
330
|
{/* The name, pressed, is the field that changes it — as on the derived page. */}
|
|
331
331
|
<h1 style={pageStyles.h1}>{inPlace && node["label"] === facts.label ? <EditableValue<S> nodeId={id} field="label" value={facts.label} said={facts.label} /> : facts.label}</h1>
|
|
332
332
|
{/*
|
|
@@ -522,8 +522,9 @@ if (!root) throw new Error("no #root");
|
|
|
522
522
|
/*
|
|
523
523
|
* THE APP REMEMBERS. Persistence is the op log; \`openStore\` is the lifecycle
|
|
524
524
|
* every deployment repeats. Here it is the browser adapter, so an edit
|
|
525
|
-
* survives a reload, attributed and undoable.
|
|
526
|
-
*
|
|
525
|
+
* survives a reload, attributed and undoable. "Start fresh" returns to empty
|
|
526
|
+
* (the address it goes to carries a value only this tab knows, so a link to
|
|
527
|
+
* \`?fresh=1\` from elsewhere discards nothing); a driven browser starts fresh unless it asks to remember (\`?remember=1\`),
|
|
527
528
|
* so a harness specifies the app rather than its own residue.
|
|
528
529
|
*/
|
|
529
530
|
const opened = await openStore({
|
package/dist/scaffold/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/scaffold/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/scaffold/ui.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/figures.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** A kind's figure: inline SVG, or the name of one from the shipped set. */
|
|
2
1
|
export type Figure = string;
|
|
3
2
|
/**
|
|
4
3
|
* THE SHIPPED SET — a small vocabulary, so a first app has something true
|
|
@@ -15,7 +14,15 @@ export type Figure = string;
|
|
|
15
14
|
*/
|
|
16
15
|
export declare const FIGURES: Readonly<Record<string, string>>;
|
|
17
16
|
export declare const FIGURE_NAMES: string[];
|
|
18
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* The SVG a figure names, or the figure itself when it is already one —
|
|
19
|
+
* and only when it is safe to put in a page. What draws a figure hands the
|
|
20
|
+
* art to innerHTML, and a page may be given a figure nothing judged (a
|
|
21
|
+
* document compiled without the check, a brand's own drawing, a proposal),
|
|
22
|
+
* so this asks again, with the reader a logo is drawn by (the closed
|
|
23
|
+
* vocabulary is the checker's to say): art that could run or reach
|
|
24
|
+
* outside itself is no figure, and nothing is drawn.
|
|
25
|
+
*/
|
|
19
26
|
export declare function figureSvg(figure: Figure | undefined): string | undefined;
|
|
20
27
|
/**
|
|
21
28
|
* What is wrong with a figure, in the words of somebody about to fix it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figures.d.ts","sourceRoot":"","sources":["../../src/schema/figures.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"figures.d.ts","sourceRoot":"","sources":["../../src/schema/figures.ts"],"names":[],"mappings":"AA0BA,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyEpD,CAAC;AAEF,eAAO,MAAM,YAAY,UAAuB,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKxE;AA4BD;;;;;;;;GAQG;AACH;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAuB9D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CA2B9D"}
|
package/dist/schema/figures.js
CHANGED
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
* surface can size it; and it must read at twenty pixels, because that is
|
|
21
21
|
* the size a chip gives it.
|
|
22
22
|
*/
|
|
23
|
+
/** A kind's figure: inline SVG, or the name of one from the shipped set. */
|
|
24
|
+
import { svgProblem } from "../theme/marks.js";
|
|
23
25
|
/**
|
|
24
26
|
* THE SHIPPED SET — a small vocabulary, so a first app has something true
|
|
25
27
|
* to point at before anybody draws anything.
|
|
@@ -99,11 +101,22 @@ export const FIGURES = {
|
|
|
99
101
|
'<path d="M8.2 10.6 12.8 12.9"/><path d="M8.2 13.2 11.4 14.8"/></svg>',
|
|
100
102
|
};
|
|
101
103
|
export const FIGURE_NAMES = Object.keys(FIGURES);
|
|
102
|
-
/**
|
|
104
|
+
/**
|
|
105
|
+
* The SVG a figure names, or the figure itself when it is already one —
|
|
106
|
+
* and only when it is safe to put in a page. What draws a figure hands the
|
|
107
|
+
* art to innerHTML, and a page may be given a figure nothing judged (a
|
|
108
|
+
* document compiled without the check, a brand's own drawing, a proposal),
|
|
109
|
+
* so this asks again, with the reader a logo is drawn by (the closed
|
|
110
|
+
* vocabulary is the checker's to say): art that could run or reach
|
|
111
|
+
* outside itself is no figure, and nothing is drawn.
|
|
112
|
+
*/
|
|
103
113
|
export function figureSvg(figure) {
|
|
104
114
|
if (!figure)
|
|
105
115
|
return undefined;
|
|
106
|
-
|
|
116
|
+
const shipped = FIGURES[figure];
|
|
117
|
+
if (shipped)
|
|
118
|
+
return shipped;
|
|
119
|
+
return figure.trimStart().startsWith("<svg") && svgProblem(figure) === null ? figure : undefined;
|
|
107
120
|
}
|
|
108
121
|
/**
|
|
109
122
|
* A FIGURE IS LINE ART, and these are the only things line art is made of.
|
|
@@ -200,21 +213,37 @@ export function figureFaults(figure) {
|
|
|
200
213
|
if (!/stroke\s*=\s*"currentColor"/.test(figure)) {
|
|
201
214
|
faults.push('nothing in it is stroked with currentColor, so it will not be drawn in the kind\'s ink.');
|
|
202
215
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
216
|
+
faults.push(...figureDangers(figure));
|
|
217
|
+
return [...new Set(faults)];
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* What in inline art could act or is not a drawing — the part of the
|
|
221
|
+
* judgment `figureSvg` asks again before anything draws it.
|
|
222
|
+
*
|
|
223
|
+
* THE MARKUP IS READ AS THE PAGE READS IT FIRST. `svgProblem` walks the tags
|
|
224
|
+
* as the HTML parser does — it takes a `/` between attributes as a space,
|
|
225
|
+
* so `<path d="…"/onclick="…"/>` is a path with a handler, not a path —
|
|
226
|
+
* and refuses anything that could run or reach outside the picture.
|
|
227
|
+
*
|
|
228
|
+
* THEN THE VOCABULARY IS CLOSED. Named rather than stripped: a drawing with
|
|
229
|
+
* a script in it is not a drawing with a fixable blemish, and whoever is
|
|
230
|
+
* about to keep it should be told what was in it.
|
|
231
|
+
*/
|
|
232
|
+
function figureDangers(figure) {
|
|
233
|
+
const faults = [];
|
|
234
|
+
const unsafe = svgProblem(figure);
|
|
235
|
+
if (unsafe)
|
|
236
|
+
faults.push(`it cannot be drawn as it is: ${unsafe}.`);
|
|
208
237
|
for (const [, element] of figure.matchAll(/<\s*\/?\s*([a-zA-Z][\w:-]*)/g)) {
|
|
209
238
|
const name = (element ?? "").toLowerCase();
|
|
210
239
|
if (!DRAWING_ELEMENTS.has(name))
|
|
211
240
|
faults.push(`it contains <${element}>, which is not something a line drawing is made of.`);
|
|
212
241
|
}
|
|
213
|
-
for (const [, attribute] of figure.matchAll(/[\s"']([a-zA-Z][\w:-]*)\s*=/g)) {
|
|
242
|
+
for (const [, attribute] of figure.matchAll(/[\s"'/]([a-zA-Z][\w:-]*)\s*=/g)) {
|
|
214
243
|
const name = (attribute ?? "").toLowerCase();
|
|
215
244
|
if (!DRAWING_ATTRIBUTES.has(name))
|
|
216
245
|
faults.push(`it carries ${attribute}, which is not a drawing attribute.`);
|
|
217
246
|
}
|
|
218
|
-
return
|
|
247
|
+
return faults;
|
|
219
248
|
}
|
|
220
249
|
//# sourceMappingURL=figures.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figures.js","sourceRoot":"","sources":["../../src/schema/figures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"figures.js","sourceRoot":"","sources":["../../src/schema/figures.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/linked.d.ts
CHANGED
|
@@ -87,11 +87,17 @@ export interface LinkedRecord {
|
|
|
87
87
|
export type LinkedRecordAnswer = LinkedRecord | {
|
|
88
88
|
readonly denied: true;
|
|
89
89
|
} | null;
|
|
90
|
-
/**
|
|
90
|
+
/**
|
|
91
|
+
* Who is looking, as the host is told: a principal — and the person it acts
|
|
92
|
+
* for, where it acts for one (`onBehalfOf`), so the far app judges it as the
|
|
93
|
+
* near one does: an agent sees what both may, and a system seat acting for
|
|
94
|
+
* somebody is never the system.
|
|
95
|
+
*/
|
|
91
96
|
export type LinkedViewer = {
|
|
92
97
|
readonly kind: string;
|
|
93
98
|
readonly id?: string | undefined;
|
|
94
99
|
readonly roles?: readonly string[] | undefined;
|
|
100
|
+
readonly onBehalfOf?: LinkedViewer | undefined;
|
|
95
101
|
};
|
|
96
102
|
/** What linking asks the host for: records of these kinds in that app, matching words. */
|
|
97
103
|
export interface LinkedSearch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linked.d.ts","sourceRoot":"","sources":["../../src/schema/linked.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"linked.d.ts","sourceRoot":"","sources":["../../src/schema/linked.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linked.js","sourceRoot":"","sources":["../../src/schema/linked.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"linked.js","sourceRoot":"","sources":["../../src/schema/linked.ts"],"names":[],"mappings":"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"}
|
package/dist/seen.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seen.d.ts","sourceRoot":"","sources":["../src/seen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAuB,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAEnG,OAAO,KAAK,EAAS,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAA4D,KAAK,MAAM,EAAgB,MAAM,wBAAwB,CAAC;AAC7H,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"seen.d.ts","sourceRoot":"","sources":["../src/seen.ts"],"names":[],"mappings":"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"}
|
package/dist/seen.js
CHANGED
|
@@ -5,6 +5,7 @@ import { namesUnseen, redact } from "./ops/withheld.js";
|
|
|
5
5
|
import { actingAs, grantsTo, isSystem } from "./permissions/policy.js";
|
|
6
6
|
import { FIELD_SIGHT, fieldsJudged, partialSight, recordsOf, sees } from "./permissions/sight.js";
|
|
7
7
|
import { diffSnapshots } from "./graph/diff.js";
|
|
8
|
+
import { nodeRefKinds } from "./mutations/node-ref.js";
|
|
8
9
|
import { PUBLISHING, readsPublished } from "./publish.js";
|
|
9
10
|
const NOTHING = new Set();
|
|
10
11
|
/**
|
|
@@ -42,8 +43,18 @@ export function seesEveryRecord(store, author) {
|
|
|
42
43
|
const acting = actingAs(author);
|
|
43
44
|
// A sight that shows only some fields shows no record until they can be judged: it fails closed here as in `sees`.
|
|
44
45
|
const judged = fieldsJudged(store);
|
|
45
|
-
const
|
|
46
|
-
|
|
46
|
+
const inSight = (kind) => !off.has(kind) && (sights.length === 0 || sights.some((sight) => sight.kinds.includes(kind) && grantsTo(sight, acting) && !sight.own && !sight.via && (judged || !partialSight(sight))));
|
|
47
|
+
/*
|
|
48
|
+
* AND NONE OF IT WITHHELD WHOLE (`seatLens`): a record whose required
|
|
49
|
+
* field names one the seat may not see is not served to it, so a kind
|
|
50
|
+
* whose every record must name one of a kind not wholly in sight is not
|
|
51
|
+
* wholly served either — an id minted past one of its records would say
|
|
52
|
+
* the record is there. Which ids a field names is judged by sight alone,
|
|
53
|
+
* so this asks no further than one step.
|
|
54
|
+
*/
|
|
55
|
+
const wholly = store.schema.kinds.every(inSight);
|
|
56
|
+
const full = (kind) => inSight(kind) && requiredRefs(store.schema, kind).every((targets) => targets.every((target) => (target === "*" ? wholly : inSight(target))));
|
|
57
|
+
const everything = wholly && store.schema.kinds.every(full);
|
|
47
58
|
return (kind) => everything || (kind !== undefined && full(kind));
|
|
48
59
|
}
|
|
49
60
|
/**
|
|
@@ -73,6 +84,14 @@ export function seesId(store, principal) {
|
|
|
73
84
|
return !off.has(kind) && sees(store.policy, principal, { id, kind }, { out: () => [], in: () => [] }, records, fieldsJudged(store));
|
|
74
85
|
};
|
|
75
86
|
}
|
|
87
|
+
/** The kinds each required field of a kind that names a record may name: what a record of it cannot be served without. */
|
|
88
|
+
function requiredRefs(schema, kind) {
|
|
89
|
+
const shape = schema?.tryDefinition?.(kind)?.fields?.shape ?? {};
|
|
90
|
+
return Object.values(shape).flatMap((declared) => {
|
|
91
|
+
const targets = nodeRefKinds(declared);
|
|
92
|
+
return targets && declared.safeParse?.(undefined).success === false ? [targets] : [];
|
|
93
|
+
});
|
|
94
|
+
}
|
|
76
95
|
const NO_LINKS = { out: () => [], in: () => [] };
|
|
77
96
|
/**
|
|
78
97
|
* THE KIND AN ID THE LOG CANNOT PLACE MAY BE OF (FR-199). A store opened
|