@graview/primitives 0.1.0 → 0.1.2

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 (64) hide show
  1. package/dist/arrange-bar.d.ts +2 -0
  2. package/dist/arrange-bar.d.ts.map +1 -1
  3. package/dist/arrange-bar.js +50 -3
  4. package/dist/arrange-bar.js.map +1 -1
  5. package/dist/chat.d.ts.map +1 -1
  6. package/dist/chat.js +3 -1
  7. package/dist/chat.js.map +1 -1
  8. package/dist/companion.d.ts.map +1 -1
  9. package/dist/companion.js +19 -6
  10. package/dist/companion.js.map +1 -1
  11. package/dist/connections.js +2 -2
  12. package/dist/connections.js.map +1 -1
  13. package/dist/default-view.d.ts +22 -0
  14. package/dist/default-view.d.ts.map +1 -0
  15. package/dist/default-view.js +56 -0
  16. package/dist/default-view.js.map +1 -0
  17. package/dist/default-views.d.ts.map +1 -1
  18. package/dist/default-views.js +31 -10
  19. package/dist/default-views.js.map +1 -1
  20. package/dist/find.d.ts.map +1 -1
  21. package/dist/find.js +6 -4
  22. package/dist/find.js.map +1 -1
  23. package/dist/index.d.ts +4 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +4 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/lens/coverage.d.ts.map +1 -1
  28. package/dist/lens/coverage.js +14 -6
  29. package/dist/lens/coverage.js.map +1 -1
  30. package/dist/places.d.ts.map +1 -1
  31. package/dist/places.js +2 -1
  32. package/dist/places.js.map +1 -1
  33. package/dist/profile.js +2 -2
  34. package/dist/profile.js.map +1 -1
  35. package/dist/seeding.d.ts +13 -0
  36. package/dist/seeding.d.ts.map +1 -1
  37. package/dist/seeding.js +23 -6
  38. package/dist/seeding.js.map +1 -1
  39. package/dist/shell.d.ts.map +1 -1
  40. package/dist/shell.js +40 -5
  41. package/dist/shell.js.map +1 -1
  42. package/dist/spec-css.d.ts +3 -0
  43. package/dist/spec-css.d.ts.map +1 -0
  44. package/dist/spec-css.js +31 -0
  45. package/dist/spec-css.js.map +1 -0
  46. package/dist/spec-views.d.ts +84 -0
  47. package/dist/spec-views.d.ts.map +1 -0
  48. package/dist/spec-views.js +309 -0
  49. package/dist/spec-views.js.map +1 -0
  50. package/dist/theme.d.ts.map +1 -1
  51. package/dist/theme.js +6 -1
  52. package/dist/theme.js.map +1 -1
  53. package/dist/workbench/activity.d.ts +10 -0
  54. package/dist/workbench/activity.d.ts.map +1 -1
  55. package/dist/workbench/activity.js +14 -8
  56. package/dist/workbench/activity.js.map +1 -1
  57. package/dist/workbench/answer-args.d.ts +2 -1
  58. package/dist/workbench/answer-args.d.ts.map +1 -1
  59. package/dist/workbench/answer-args.js +55 -8
  60. package/dist/workbench/answer-args.js.map +1 -1
  61. package/dist/workbench/inspector.d.ts.map +1 -1
  62. package/dist/workbench/inspector.js +10 -3
  63. package/dist/workbench/inspector.js.map +1 -1
  64. package/package.json +6 -6
package/dist/shell.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../src/shell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../src/shell.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** The stylesheet the blocks are drawn with: classes over the theme's tokens, and nothing a spec can reach. */
2
+ export declare const SPEC_VIEW_CSS = "\n.graview-spec { display: flex; flex-direction: column; gap: 6px; min-width: 0; color: var(--graview-ink); }\n.graview-spec-row { flex-direction: row; align-items: center; gap: 8px; white-space: nowrap; overflow: hidden; box-sizing: border-box; max-width: 100%; padding: 3px 10px; border: 1px solid var(--graview-edge); border-radius: 999px; background: var(--graview-panel); font-size: 0.875rem; }\n.graview-spec-row[data-selected] { border-color: var(--graview-accent); }\n.graview-spec-row > * { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.graview-spec-page { padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--graview-edge); }\n.graview-spec-title { font-family: var(--graview-font-display, inherit); font-weight: 600; font-size: 1rem; line-height: 1.3; overflow-wrap: anywhere; }\n.graview-spec-text { margin: 0; font-size: 0.875rem; line-height: 1.45; overflow-wrap: anywhere; }\n.graview-spec-text[data-graview-tone] { color: var(--graview-spec-tone); }\n.graview-spec-badge { align-self: flex-start; display: inline-block; max-width: 100%; box-sizing: border-box; padding: 1px 8px; border: 1px solid currentColor; border-radius: 999px; background: var(--graview-panel); color: var(--graview-spec-tone, var(--graview-ink-muted)); font-size: 0.8125rem; font-weight: 600; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.graview-spec-row .graview-spec-badge, .graview-spec-group[data-direction=\"row\"] .graview-spec-badge { align-self: center; }\n.graview-spec [data-graview-tone=\"good\"] { --graview-spec-tone: var(--graview-good); }\n.graview-spec [data-graview-tone=\"bad\"] { --graview-spec-tone: var(--graview-bad); }\n.graview-spec [data-graview-tone=\"warn\"] { --graview-spec-tone: var(--graview-warn); }\n.graview-spec [data-graview-tone=\"accent\"] { --graview-spec-tone: var(--graview-accent); }\n.graview-spec [data-graview-tone=\"neutral\"] { --graview-spec-tone: var(--graview-ink-muted); }\n.graview-spec-field { display: flex; flex-wrap: wrap; gap: 2px 8px; align-items: baseline; min-width: 0; font-size: 0.875rem; line-height: 1.4; }\n.graview-spec-label { color: var(--graview-ink-muted); }\n.graview-spec-value { min-width: 0; color: var(--graview-ink); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }\n.graview-spec-link { position: relative; z-index: 1; color: var(--graview-accent); text-decoration: underline; }\n.graview-spec-progress { display: grid; gap: 4px; font-size: 0.8125rem; }\n.graview-spec-track { display: block; height: 6px; border-radius: 999px; background: var(--graview-edge); overflow: hidden; }\n.graview-spec-fill { display: block; height: 100%; background: var(--graview-accent); }\n.graview-spec-group { display: flex; flex-direction: column; gap: 6px; min-width: 0; }\n.graview-spec-group[data-direction=\"row\"] { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px 10px; }\n.graview-spec-row .graview-spec-group { flex-wrap: nowrap; }\n.graview-spec-divider { width: 100%; margin: 2px 0; border: 0; border-top: 1px solid var(--graview-edge); }\n.graview-spec-figure { display: inline-flex; width: 22px; height: 22px; }\n";
3
+ //# sourceMappingURL=spec-css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-css.d.ts","sourceRoot":"","sources":["../src/spec-css.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,eAAO,MAAM,aAAa,2pGA4BzB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /** The stylesheet the blocks are drawn with: classes over the theme's tokens, and nothing a spec can reach. */
2
+ export const SPEC_VIEW_CSS = `
3
+ .graview-spec { display: flex; flex-direction: column; gap: 6px; min-width: 0; color: var(--graview-ink); }
4
+ .graview-spec-row { flex-direction: row; align-items: center; gap: 8px; white-space: nowrap; overflow: hidden; box-sizing: border-box; max-width: 100%; padding: 3px 10px; border: 1px solid var(--graview-edge); border-radius: 999px; background: var(--graview-panel); font-size: 0.875rem; }
5
+ .graview-spec-row[data-selected] { border-color: var(--graview-accent); }
6
+ .graview-spec-row > * { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
7
+ .graview-spec-page { padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--graview-edge); }
8
+ .graview-spec-title { font-family: var(--graview-font-display, inherit); font-weight: 600; font-size: 1rem; line-height: 1.3; overflow-wrap: anywhere; }
9
+ .graview-spec-text { margin: 0; font-size: 0.875rem; line-height: 1.45; overflow-wrap: anywhere; }
10
+ .graview-spec-text[data-graview-tone] { color: var(--graview-spec-tone); }
11
+ .graview-spec-badge { align-self: flex-start; display: inline-block; max-width: 100%; box-sizing: border-box; padding: 1px 8px; border: 1px solid currentColor; border-radius: 999px; background: var(--graview-panel); color: var(--graview-spec-tone, var(--graview-ink-muted)); font-size: 0.8125rem; font-weight: 600; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
12
+ .graview-spec-row .graview-spec-badge, .graview-spec-group[data-direction="row"] .graview-spec-badge { align-self: center; }
13
+ .graview-spec [data-graview-tone="good"] { --graview-spec-tone: var(--graview-good); }
14
+ .graview-spec [data-graview-tone="bad"] { --graview-spec-tone: var(--graview-bad); }
15
+ .graview-spec [data-graview-tone="warn"] { --graview-spec-tone: var(--graview-warn); }
16
+ .graview-spec [data-graview-tone="accent"] { --graview-spec-tone: var(--graview-accent); }
17
+ .graview-spec [data-graview-tone="neutral"] { --graview-spec-tone: var(--graview-ink-muted); }
18
+ .graview-spec-field { display: flex; flex-wrap: wrap; gap: 2px 8px; align-items: baseline; min-width: 0; font-size: 0.875rem; line-height: 1.4; }
19
+ .graview-spec-label { color: var(--graview-ink-muted); }
20
+ .graview-spec-value { min-width: 0; color: var(--graview-ink); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
21
+ .graview-spec-link { position: relative; z-index: 1; color: var(--graview-accent); text-decoration: underline; }
22
+ .graview-spec-progress { display: grid; gap: 4px; font-size: 0.8125rem; }
23
+ .graview-spec-track { display: block; height: 6px; border-radius: 999px; background: var(--graview-edge); overflow: hidden; }
24
+ .graview-spec-fill { display: block; height: 100%; background: var(--graview-accent); }
25
+ .graview-spec-group { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
26
+ .graview-spec-group[data-direction="row"] { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
27
+ .graview-spec-row .graview-spec-group { flex-wrap: nowrap; }
28
+ .graview-spec-divider { width: 100%; margin: 2px 0; border: 0; border-top: 1px solid var(--graview-edge); }
29
+ .graview-spec-figure { display: inline-flex; width: 22px; height: 22px; }
30
+ `;
31
+ //# sourceMappingURL=spec-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-css.js","sourceRoot":"","sources":["../src/spec-css.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B5B,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { valueWords, type AnyGraphNode, type AnySchema, type GraphReader } from "@graview/core";
2
+ import { VIEW_FIELD_FORMATS, type Expr, type FieldSpec, type KindShape, type TemplatePart, type ViewBlock, type ViewSlot, type ViewSpecsByKind, type ViewTone } from "@graview/core/document";
3
+ import { type ReactViewRegistry } from "@graview/react";
4
+ import type { ReactNode } from "react";
5
+ export { SPEC_VIEW_CSS } from "./spec-css.js";
6
+ type Parsed<T> = T | null;
7
+ type Tone = ViewTone | {
8
+ readonly expr: Parsed<Expr>;
9
+ };
10
+ /** A block, parsed: templates and expressions are read once, when the spec is registered. */
11
+ export type SpecBlock = {
12
+ readonly t: "title";
13
+ readonly parts: Parsed<readonly TemplatePart[]>;
14
+ } | {
15
+ readonly t: "text" | "badge";
16
+ readonly parts: Parsed<readonly TemplatePart[]>;
17
+ readonly tone?: Tone;
18
+ } | {
19
+ readonly t: "field";
20
+ readonly field: string;
21
+ readonly as?: (typeof VIEW_FIELD_FORMATS)[number];
22
+ readonly label?: string;
23
+ } | {
24
+ readonly t: "progress";
25
+ readonly value: Parsed<Expr>;
26
+ readonly max: Parsed<Expr>;
27
+ readonly label?: string;
28
+ } | {
29
+ readonly t: "group";
30
+ readonly blocks: readonly SpecBlock[];
31
+ readonly direction: "row" | "column";
32
+ } | {
33
+ readonly t: "when";
34
+ readonly when: Parsed<Expr>;
35
+ readonly show: readonly SpecBlock[];
36
+ } | {
37
+ readonly t: "divider";
38
+ } | {
39
+ readonly t: "figure";
40
+ };
41
+ /**
42
+ * Parse a spec's blocks. A spec `graview check` passed parses cleanly; a
43
+ * part that does not is drawn as "—", and a block outside the vocabulary is
44
+ * not drawn at all.
45
+ */
46
+ export declare function compileBlocks(blocks: readonly ViewBlock[] | readonly unknown[], depth?: number): readonly SpecBlock[];
47
+ /** Everything a spec reads to draw one record: nothing else reaches it. */
48
+ export interface SpecContext {
49
+ readonly node: AnyGraphNode;
50
+ /** For one-edge hops (`{fills.name}`); without it, a hop draws "—". */
51
+ readonly graph?: GraphReader;
52
+ readonly kinds: ReadonlyMap<string, KindShape>;
53
+ /** The kind's declared fields, in the document's words: which may be a link, which is a date. */
54
+ readonly fields: Readonly<Record<string, FieldSpec>>;
55
+ /** How the declaration says a field and its values (`display.labels`, `display.format`). */
56
+ readonly definition?: Parameters<typeof valueWords>[0];
57
+ readonly today: string;
58
+ readonly figure?: () => ReactNode;
59
+ }
60
+ /** Only http(s) is ever a link; anything else — `javascript:`, `data:`, a typo — is shown as words. */
61
+ export declare function safeHref(value: unknown): string | undefined;
62
+ /** Blocks, drawn for one record. Pure: everything they read is in `ctx`. */
63
+ export declare function SpecBlocks({ blocks, ctx }: {
64
+ readonly blocks: readonly SpecBlock[];
65
+ readonly ctx: SpecContext;
66
+ }): ReactNode;
67
+ /** The drawing context for a record, from the provider every view is drawn under. */
68
+ export declare function useSpecContext(node: AnyGraphNode): SpecContext;
69
+ /** One slot of a spec, drawn for one record. */
70
+ export declare function SpecView({ slot, blocks, node, selected }: {
71
+ readonly slot: ViewSlot;
72
+ readonly blocks: readonly SpecBlock[];
73
+ readonly node: AnyGraphNode;
74
+ readonly selected?: boolean;
75
+ }): import("react").JSX.Element;
76
+ /**
77
+ * A kind's specs, registered into the view matrix over whatever is there:
78
+ * `card` at one × summary, `row` at one × glyph, and `page` at one × full,
79
+ * drawn above the framework's own view for that cell. A kind the schema
80
+ * does not declare is skipped — `graview check` says so. Returns the
81
+ * registry, as `register` does.
82
+ */
83
+ export declare function registerViewSpecs<S extends AnySchema>(registry: ReactViewRegistry<S>, schema: S, specs: ViewSpecsByKind | undefined): ReactViewRegistry<S>;
84
+ //# sourceMappingURL=spec-views.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-views.d.ts","sourceRoot":"","sources":["../src/spec-views.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,309 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { fieldWords, labelOf, valueWords } from "@graview/core";
3
+ import { evaluateExpr, fieldSpecOf, formatValue, parseExpr, parseTemplate, renderTemplate, shapesOfSchema, VIEW_FIELD_FORMATS, VIEW_TONES, } from "@graview/core/document";
4
+ import { useGraview } from "@graview/react";
5
+ import { DefaultView } from "./default-view.js";
6
+ import { KindFigure } from "./figure.js";
7
+ import { Panel } from "./primitives/index.js";
8
+ /*
9
+ * VIEWS AS DATA, DRAWN (FR-03).
10
+ *
11
+ * A view spec is a short list of blocks from a closed set — title, text,
12
+ * badge, field, progress, group, when, divider, figure — bound to the
13
+ * record by templates and conditions in the rule language. This draws them
14
+ * into the framework's own view matrix, so the workbench and the pages face
15
+ * resolve a spec exactly as they resolve a component:
16
+ *
17
+ * card → one × summary the card a record stands as beside the focus, and
18
+ * a card of the pages face's gallery
19
+ * row → one × glyph the one line a record is drawn as among many: a
20
+ * focused group's members, a list page's rows (FR-37)
21
+ * page → one × full ABOVE the default record view, which keeps its
22
+ * rename, fields and connections; on the pages
23
+ * face, above the derived record page
24
+ *
25
+ * NOTHING HERE IS CODE. A block's words come from templates and the rule
26
+ * language, evaluated under a step budget; nothing is parsed as markup,
27
+ * nothing is evaluated as script, and the only styling is a fixed set of
28
+ * classes over the theme's own tokens. The one link a view draws is a `url`
29
+ * field's own value, and only when it is http(s). An expression that cannot
30
+ * be judged draws "—"; a `when` that cannot be judged hides what it guards.
31
+ */
32
+ export { SPEC_VIEW_CSS } from "./spec-css.js";
33
+ const safely = (f) => {
34
+ try {
35
+ return f();
36
+ }
37
+ catch {
38
+ return null;
39
+ }
40
+ };
41
+ const isTone = (value) => typeof value === "string" && VIEW_TONES.includes(value);
42
+ function toneOf(tone) {
43
+ if (tone === undefined)
44
+ return undefined;
45
+ if (isTone(tone))
46
+ return tone;
47
+ if (tone && typeof tone === "object" && typeof tone.expr === "string")
48
+ return { expr: safely(() => parseExpr(tone.expr)) };
49
+ // A tone outside the kit is the check's to refuse; drawn, it is quiet.
50
+ return "neutral";
51
+ }
52
+ const MAX_DEPTH = 4;
53
+ /**
54
+ * Parse a spec's blocks. A spec `graview check` passed parses cleanly; a
55
+ * part that does not is drawn as "—", and a block outside the vocabulary is
56
+ * not drawn at all.
57
+ */
58
+ export function compileBlocks(blocks, depth = 1) {
59
+ if (!Array.isArray(blocks) || depth > MAX_DEPTH)
60
+ return [];
61
+ return blocks.flatMap((raw) => {
62
+ if (!raw || typeof raw !== "object" || Array.isArray(raw))
63
+ return [];
64
+ const block = raw;
65
+ const template = (source) => (typeof source === "string" ? safely(() => parseTemplate(source)) : null);
66
+ const expr = (source) => (typeof source === "string" ? safely(() => parseExpr(source)) : null);
67
+ const tone = toneOf(block["tone"]);
68
+ const label = typeof block["label"] === "string" ? block["label"] : undefined;
69
+ const has = (key) => Object.prototype.hasOwnProperty.call(block, key);
70
+ if (has("title"))
71
+ return [{ t: "title", parts: template(block["title"]) }];
72
+ if (has("text"))
73
+ return [{ t: "text", parts: template(block["text"]), ...(tone ? { tone } : {}) }];
74
+ if (has("badge"))
75
+ return [{ t: "badge", parts: template(block["badge"]), ...(tone ? { tone } : {}) }];
76
+ if (has("field")) {
77
+ const as = VIEW_FIELD_FORMATS.includes(block["as"]) ? block["as"] : undefined;
78
+ return [{ t: "field", field: String(block["field"]), ...(as ? { as } : {}), ...(label ? { label } : {}) }];
79
+ }
80
+ if (has("progress")) {
81
+ const p = (block["progress"] ?? {});
82
+ return [{ t: "progress", value: expr(p.value), max: expr(p.max), ...(label ? { label } : {}) }];
83
+ }
84
+ if (has("group"))
85
+ return [{ t: "group", blocks: compileBlocks(block["group"], depth + 1), direction: block["direction"] === "row" ? "row" : "column" }];
86
+ if (has("when"))
87
+ return [{ t: "when", when: expr(block["when"]), show: compileBlocks(block["show"], depth + 1) }];
88
+ if (has("divider"))
89
+ return [{ t: "divider" }];
90
+ if (has("figure"))
91
+ return [{ t: "figure" }];
92
+ return [];
93
+ });
94
+ }
95
+ const NOTHING = "—";
96
+ const FAILED = Symbol("failed");
97
+ /** The allowance a label's template gets: a card is drawn many times a frame. */
98
+ const BUDGET = 500;
99
+ const EMPTY_GRAPH = {
100
+ getNode: () => undefined,
101
+ allNodes: () => [],
102
+ allEdges: () => [],
103
+ nodesOfKind: () => [],
104
+ edgesOfKind: () => [],
105
+ out: () => [],
106
+ in: () => [],
107
+ neighbors: () => [],
108
+ has: () => false,
109
+ };
110
+ function judge(expr, ctx) {
111
+ if (!expr)
112
+ return FAILED;
113
+ try {
114
+ return evaluateExpr(expr, { graph: ctx.graph ?? EMPTY_GRAPH, subject: ctx.node, kinds: ctx.kinds, today: ctx.today, budget: BUDGET });
115
+ }
116
+ catch {
117
+ return FAILED;
118
+ }
119
+ }
120
+ function words(parts, ctx) {
121
+ if (!parts)
122
+ return NOTHING;
123
+ try {
124
+ return renderTemplate(parts, { node: ctx.node, kinds: ctx.kinds, today: ctx.today, ...(ctx.graph ? { graph: ctx.graph } : {}) });
125
+ }
126
+ catch {
127
+ return NOTHING;
128
+ }
129
+ }
130
+ function toneWord(tone, ctx) {
131
+ if (tone === undefined)
132
+ return undefined;
133
+ if (typeof tone === "string")
134
+ return tone;
135
+ const value = judge(tone.expr, ctx);
136
+ return isTone(value) ? value : "neutral";
137
+ }
138
+ /** Only http(s) is ever a link; anything else — `javascript:`, `data:`, a typo — is shown as words. */
139
+ export function safeHref(value) {
140
+ if (typeof value !== "string")
141
+ return undefined;
142
+ try {
143
+ const url = new URL(value);
144
+ return url.protocol === "http:" || url.protocol === "https:" ? url.href : undefined;
145
+ }
146
+ catch {
147
+ return undefined;
148
+ }
149
+ }
150
+ function fieldText(key, value, ctx, as) {
151
+ if (value === null || value === undefined || value === "")
152
+ return NOTHING;
153
+ if (typeof value === "boolean")
154
+ return value ? "yes" : "no";
155
+ if (as)
156
+ return formatValue(value, as, ctx.today);
157
+ const spec = ctx.fields[key];
158
+ if (ctx.definition?.display?.format?.[key])
159
+ return valueWords(ctx.definition, key, value);
160
+ if (spec?.type === "date")
161
+ return formatValue(value, "date", ctx.today);
162
+ if (spec?.type === "enum" && typeof value === "string")
163
+ return valueWords(ctx.definition, key, value);
164
+ if (typeof value === "number")
165
+ return value.toLocaleString("en-US");
166
+ if (Array.isArray(value))
167
+ return value.map((one) => String(one)).join(", ");
168
+ if (typeof value === "object")
169
+ return NOTHING;
170
+ return String(value);
171
+ }
172
+ function Block({ block, ctx }) {
173
+ switch (block.t) {
174
+ case "title":
175
+ return _jsx("strong", { className: "graview-spec-title", children: words(block.parts, ctx) });
176
+ case "text": {
177
+ const tone = toneWord(block.tone, ctx);
178
+ return (_jsx("p", { className: "graview-spec-text", ...(tone ? { "data-graview-tone": tone } : {}), children: words(block.parts, ctx) }));
179
+ }
180
+ case "badge":
181
+ return (_jsx("span", { className: "graview-spec-badge", "data-graview-tone": toneWord(block.tone, ctx) ?? "neutral", children: words(block.parts, ctx) }));
182
+ case "field": {
183
+ // An OWN field only: a name on the prototype is not a field of the record.
184
+ const raw = Object.prototype.hasOwnProperty.call(ctx.node, block.field) ? ctx.node[block.field] : undefined;
185
+ const label = block.label ?? fieldWords(ctx.definition, block.field);
186
+ const href = ctx.fields[block.field]?.type === "url" && block.as === undefined ? safeHref(raw) : undefined;
187
+ const shown = safely(() => fieldText(block.field, raw, ctx, block.as)) ?? NOTHING;
188
+ return (_jsxs("span", { className: "graview-spec-field", "data-graview-field": block.field, children: [_jsx("span", { className: "graview-spec-label", children: label }), _jsx("span", { className: "graview-spec-value", children: href ? (_jsx("a", { className: "graview-spec-link", href: href, rel: "noopener noreferrer", target: "_blank", children: shown })) : (shown) })] }));
189
+ }
190
+ case "progress": {
191
+ const value = judge(block.value, ctx);
192
+ const max = judge(block.max, ctx);
193
+ const label = block.label ?? "Progress";
194
+ if (!(typeof value === "number" && typeof max === "number" && Number.isFinite(value) && Number.isFinite(max) && max > 0)) {
195
+ return (_jsxs("span", { className: "graview-spec-progress", children: [_jsx("span", { className: "graview-spec-label", children: label }), _jsx("span", { className: "graview-spec-value", children: NOTHING })] }));
196
+ }
197
+ const now = Math.max(0, Math.min(value, max));
198
+ const said = `${formatValue(value, undefined, ctx.today)} of ${formatValue(max, undefined, ctx.today)}`;
199
+ return (_jsxs("span", { className: "graview-spec-progress", children: [_jsx("span", { className: "graview-spec-label", children: label }), _jsx("span", { className: "graview-spec-track", role: "progressbar", "aria-label": label, "aria-valuemin": 0, "aria-valuemax": max, "aria-valuenow": now, "aria-valuetext": said, children: _jsx("span", { className: "graview-spec-fill", style: { width: `${Math.round((now / max) * 100)}%` } }) }), _jsx("span", { className: "graview-spec-value", children: said })] }));
200
+ }
201
+ case "group":
202
+ return (_jsx("span", { className: "graview-spec-group", "data-direction": block.direction, children: _jsx(SpecBlocks, { blocks: block.blocks, ctx: ctx }) }));
203
+ case "when":
204
+ // A condition that cannot be judged hides what it guards, like a rule's `when`.
205
+ return judge(block.when, ctx) === true ? _jsx(SpecBlocks, { blocks: block.show, ctx: ctx }) : null;
206
+ case "divider":
207
+ return _jsx("hr", { className: "graview-spec-divider" });
208
+ case "figure":
209
+ return ctx.figure ? (_jsx("span", { className: "graview-spec-figure", "aria-hidden": "true", children: ctx.figure() })) : null;
210
+ }
211
+ }
212
+ /** Blocks, drawn for one record. Pure: everything they read is in `ctx`. */
213
+ export function SpecBlocks({ blocks, ctx }) {
214
+ return blocks.map((block, i) => _jsx(Block, { block: block, ctx: ctx }, i));
215
+ }
216
+ const today = () => new Date().toISOString().slice(0, 10);
217
+ const SHAPES = new WeakMap();
218
+ const FIELDS = new WeakMap();
219
+ /** What each kind holds, for names and hops: read once per schema. */
220
+ function shapesFor(schema) {
221
+ let shapes = SHAPES.get(schema);
222
+ if (!shapes)
223
+ SHAPES.set(schema, (shapes = shapesOfSchema(schema)));
224
+ return shapes;
225
+ }
226
+ /** A kind's fields in the document's words, read once per schema. */
227
+ function fieldsFor(schema, kind) {
228
+ let byKind = FIELDS.get(schema);
229
+ if (!byKind)
230
+ FIELDS.set(schema, (byKind = new Map()));
231
+ let fields = byKind.get(kind);
232
+ if (!fields) {
233
+ const shape = schema.tryDefinition(kind)?.fields?.shape ?? {};
234
+ const read = {};
235
+ for (const [key, field] of Object.entries(shape)) {
236
+ const spec = fieldSpecOf(field);
237
+ if (spec)
238
+ read[key] = spec;
239
+ }
240
+ byKind.set(kind, (fields = read));
241
+ }
242
+ return fields;
243
+ }
244
+ /** The drawing context for a record, from the provider every view is drawn under. */
245
+ export function useSpecContext(node) {
246
+ const { store, brand } = useGraview();
247
+ const schema = store.schema;
248
+ const definition = schema.tryDefinition(node.kind);
249
+ return {
250
+ node,
251
+ graph: store.graph,
252
+ kinds: shapesFor(schema),
253
+ fields: fieldsFor(schema, node.kind),
254
+ ...(definition ? { definition } : {}),
255
+ today: today(),
256
+ figure: () => _jsx(KindFigure, { kind: node.kind, schema: schema, ...(brand ? { brand } : {}), size: 22 }),
257
+ };
258
+ }
259
+ /** One slot of a spec, drawn for one record. */
260
+ export function SpecView({ slot, blocks, node, selected }) {
261
+ const ctx = useSpecContext(node);
262
+ return (_jsx("div", { className: `graview-spec graview-spec-${slot}`, "data-graview-spec": slot, "data-graview-kind": node.kind, ...(selected ? { "data-selected": "" } : {}), children: _jsx(SpecBlocks, { blocks: blocks, ctx: ctx }) }));
263
+ }
264
+ /** A card: the framework's own Panel, so selection, a broken rule and the theme read as they do on a default card. */
265
+ function SpecCard({ blocks, node, selected, flagged }) {
266
+ const ctx = useSpecContext(node);
267
+ const [first, ...rest] = blocks;
268
+ const titled = first?.t === "title";
269
+ return (_jsx(Panel, { ...(titled ? { title: words(first.parts, ctx) } : {}), selected: selected, tone: flagged ? "warning" : "muted", fit: true, children: _jsx("div", { className: "graview-spec graview-spec-card", "data-graview-spec": "card", "data-graview-kind": node.kind, children: _jsx(SpecBlocks, { blocks: titled ? rest : blocks, ctx: ctx }) }) }));
270
+ }
271
+ /** A row: one line, named for assistive technology by the record's own label. */
272
+ function SpecRow({ blocks, node, selected }) {
273
+ const { store } = useGraview();
274
+ return (_jsx("div", { title: labelOf(store.schema.tryDefinition(node.kind), node), style: { minWidth: 0, maxWidth: "100%" }, children: _jsx(SpecView, { slot: "row", blocks: blocks, node: node, selected: selected }) }));
275
+ }
276
+ /**
277
+ * A kind's specs, registered into the view matrix over whatever is there:
278
+ * `card` at one × summary, `row` at one × glyph, and `page` at one × full,
279
+ * drawn above the framework's own view for that cell. A kind the schema
280
+ * does not declare is skipped — `graview check` says so. Returns the
281
+ * registry, as `register` does.
282
+ */
283
+ export function registerViewSpecs(registry, schema, specs) {
284
+ if (!specs)
285
+ return registry;
286
+ const declared = new Set(schema.kinds);
287
+ for (const [kind, slots] of Object.entries(specs)) {
288
+ if (!declared.has(kind) || !slots)
289
+ continue;
290
+ const at = kind;
291
+ if (slots.card) {
292
+ const blocks = compileBlocks(slots.card);
293
+ const Card = (props) => props.node ? _jsx(SpecCard, { blocks: blocks, node: props.node, selected: props.selected, flagged: props.flagged?.includes(props.node.id) ?? false }) : null;
294
+ registry.register(at, { cardinality: "one", fidelity: "summary" }, Card);
295
+ }
296
+ if (slots.row) {
297
+ const blocks = compileBlocks(slots.row);
298
+ const Row = (props) => (props.node ? _jsx(SpecRow, { blocks: blocks, node: props.node, selected: props.selected }) : null);
299
+ registry.register(at, { cardinality: "one", fidelity: "glyph" }, Row);
300
+ }
301
+ if (slots.page) {
302
+ const blocks = compileBlocks(slots.page);
303
+ const Page = (props) => props.node ? (_jsxs("div", { className: "graview-spec-host", children: [_jsx(SpecView, { slot: "page", blocks: blocks, node: props.node }), _jsx(DefaultView, { ...props })] })) : null;
304
+ registry.register(at, { cardinality: "one", fidelity: "full" }, Page);
305
+ }
306
+ }
307
+ return registry;
308
+ }
309
+ //# sourceMappingURL=spec-views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-views.js","sourceRoot":"","sources":["../src/spec-views.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAYH,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAUhE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAIrD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,KAO3B,CAAC;AA4BF,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAI1D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AA0BD,wBAAgB,QAAQ,CACtB,MAAM,GAAE,MAAe,EACvB,KAAK,GAAE,KAAqB,EAC5B,OAAO,GAAE,eAAoB,GAC5B,MAAM,CA+jDR"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAYH,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAUhE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAKrD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,KAO3B,CAAC;AA8BF,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAI1D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AA0BD,wBAAgB,QAAQ,CACtB,MAAM,GAAE,MAAe,EACvB,KAAK,GAAE,KAAqB,EAC5B,OAAO,GAAE,eAAoB,GAC5B,MAAM,CAikDR"}
package/dist/theme.js CHANGED
@@ -27,6 +27,7 @@
27
27
  */
28
28
  export { DARK, LIGHT, SCHEMES } from "@graview/core";
29
29
  import { SCHEMES, kitVariables, resolveKit } from "@graview/core";
30
+ import { SPEC_VIEW_CSS } from "./spec-css.js";
30
31
  /**
31
32
  * The framework's own brand, expressed as an ordinary declared one.
32
33
  *
@@ -59,6 +60,8 @@ const VARIABLE = {
59
60
  accentDim: "--graview-accent-dim",
60
61
  accentInk: "--graview-accent-ink",
61
62
  warn: "--graview-warn",
63
+ good: "--graview-good",
64
+ bad: "--graview-bad",
62
65
  glow: "--graview-glow",
63
66
  bar: "--graview-bar",
64
67
  float: "--graview-float",
@@ -1687,6 +1690,8 @@ code { color: var(--graview-ink-muted); font-size: 0.8125rem; letter-spacing: 0.
1687
1690
  ${stillness(`${motionRoot}:not([data-graview-motion='full'])`, text)}
1688
1691
  }
1689
1692
  ${stillness(`${motionRoot}[data-graview-motion='reduce']`, text)}
1690
- `;
1693
+
1694
+ /* VIEWS AS DATA (FR-03): the blocks a view spec is drawn with, over the tokens above. */
1695
+ ${SPEC_VIEW_CSS}`;
1691
1696
  }
1692
1697
  //# sourceMappingURL=theme.js.map
package/dist/theme.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAeH;;;;;;;GAOG;AACH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAU;IAClC,IAAI,EAAE,SAAS;IACf,UAAU,EAAE;QACV,IAAI,EAAE,iEAAiE;QACvE,IAAI,EAAE,2DAA2D;KAClE;IACD,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,QAAQ,GAAsC;IAClD,MAAM,EAAE,kBAAkB;IAC1B,UAAU,EAAE,uBAAuB;IACnC,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,iBAAiB;IACxB,UAAU,EAAE,uBAAuB;IACnC,YAAY,EAAE,yBAAyB;IACvC,IAAI,EAAE,gBAAgB;IACtB,UAAU,EAAE,uBAAuB;IACnC,GAAG,EAAE,eAAe;IACpB,QAAQ,EAAE,qBAAqB;IAC/B,QAAQ,EAAE,qBAAqB;IAC/B,MAAM,EAAE,kBAAkB;IAC1B,SAAS,EAAE,sBAAsB;IACjC,SAAS,EAAE,sBAAsB;IACjC,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,gBAAgB;IACtB,GAAG,EAAE,eAAe;IACpB,IAAI,EAAE,gBAAgB;IACtB,GAAG,EAAE,eAAe;IACpB,KAAK,EAAE,iBAAiB;IACxB,OAAO,EAAE,oBAAoB;IAC7B,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,sBAAsB;IACjC,aAAa,EAAE,0BAA0B;IACzC,SAAS,EAAE,sBAAsB;CAClC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,MAAmB;IAChD,OAAQ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAA2B;SACpD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;SACnD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAmBD;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,MAAc,EAAE,MAAc;IAC/C,uEAAuE;IACvE,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,EAAE,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;IAC9D,OAAO,KAAK,EAAE;IACZ,EAAE;IACF,EAAE;IACF,EAAE;;;;IAIF,EAAE;IACF,EAAE,0FAA0F,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,SAAiB,MAAM,EACvB,QAAe,aAAa,EAC5B,UAA2B,EAAE;IAE7B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;IACtC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC;IAC9C;;;;;;;;;;;OAWG;IACH,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;IACrC;;;;;;;;;OASG;IACH,MAAM,UAAU,GAAG,OAAO,CAAC;IAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC;IAC1C,MAAM,IAAI,GACR,KAAK,CAAC,UAAU,EAAE,IAAI;QACtB,iEAAiE,CAAC;IACpE,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,IAAI;EACd,cAAc,CAAC,MAAM,CAAC;EACtB,YAAY,CAAC,GAAG,CAAC;yBACM,IAAI;4BACD,KAAK,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI;yBACpC,KAAK,CAAC,UAAU,EAAE,IAAI,IAAI,2DAA2D;;sBAExF,MAAM;yBACH,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;mBAC5C,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC;sBACrB,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC;mBAC3B,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC;kBACxB,MAAM;;;EAGtB,OAAO;;;;;;;;;;;;;;;EAeP,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAkHwC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB;iDAC3D,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA4GrE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;4CACzE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;;;;;wBAKtD,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,6BAA6B;;;;0CAIpE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;oBA0BhG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;wEAqBiB,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gFA2b1B,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA2R/G,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,+BAC7D;;;sCAGoC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACpE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,wBAAwB;;;;sCAI9C,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;;;sCAG1C,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAyD5E,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,8BAC3D;;;;;;;;;uCASqC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAiM1D,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;iDAoBN,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;;;;;;;;;;;;;;gBAclE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,MAAM;;;;;;gBAOzE,MAAM,KAAK,OAAO;QAChB,CAAC,CAAC,oEAAoE;QACtE,CAAC,CAAC,0EACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiNA,SAAS,CAAC,GAAG,UAAU,oCAAoC,EAAE,IAAI,CAAC;;EAElE,SAAS,CAAC,GAAG,UAAU,gCAAgC,EAAE,IAAI,CAAC;;;EAG9D,aAAa,EAAE,CAAC;AAClB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type Author } from "@graview/core";
1
2
  import type { ToolCall } from "@graview/tools";
2
3
  import { type ReactNode } from "react";
3
4
  export interface Change {
@@ -5,8 +6,17 @@ export interface Change {
5
6
  readonly author: string;
6
7
  /** The author's own id, for seats that are not the person at the keyboard. */
7
8
  readonly authorId?: string;
9
+ /** The whole author — their own name, and who they acted for (FR-06, FR-17). */
10
+ readonly by?: Author;
11
+ /** What the change came through, when it said ("via Claude"). */
12
+ readonly via?: string;
8
13
  readonly touched: readonly string[];
9
14
  readonly batch: string;
15
+ /**
16
+ * A CHANGE YOU CANNOT SEE (FR-16): every op of it was withheld from this
17
+ * seat. Shown as having happened, with nothing it touched and no undo.
18
+ */
19
+ readonly withheld?: true;
10
20
  }
11
21
  /**
12
22
  * The last few changes, with who made them — READ FROM THE LOG, not
@@ -1 +1 @@
1
- {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/workbench/activity.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAM7E,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAI,GAAG,SAAS,MAAM,EAAE,CAiB7D;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,sCAgF7D;AAED;;;;;;;GAOG;AACH;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,gCAmCzB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,SAAiB,GAClB,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B,sCAsQA"}
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/workbench/activity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAM7E,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAI,GAAG,SAAS,MAAM,EAAE,CAqB7D;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,sCAgF7D;AAED;;;;;;;GAOG;AACH;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,gCAmCzB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,SAAiB,GAClB,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B,sCAkRA"}