@graview/studio 0.1.28 → 0.1.29

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/place.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { INSTALLATION_MODULE, layer } from "@graview/core";
3
3
  import { EMPTY_VIEW, withWithin } from "@graview/layout";
4
- import { GraviewProvider, Scene, createViews, useGraview, useGraviewIfAny, useNavigation, useTheKeyboardLandsSomewhere } from "@graview/react";
4
+ import { BesideTheMap, GraviewProvider, Scene, createViews, useGraview, useGraviewIfAny, useNavigation, useTheKeyboardLandsSomewhere } from "@graview/react";
5
5
  import { ActivityRail, AgentSeat, Inspector, Places, registerDefaultViews } from "@graview/primitives";
6
6
  import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
7
7
  import { createPortal } from "react-dom";
@@ -189,99 +189,107 @@ function StudioOverlay({ app, within, landmark, onClose, onApply, }) {
189
189
  return [call, ...(settling ? current.slice(1) : current)].slice(0, 12);
190
190
  });
191
191
  }, []);
192
- return (_jsx(GraviewProvider, { store: studio.store, views: views, scheme: scheme, principal: principal, ...(brand ? { brand } : {}), ...(ai ? { ai } : {}), initialView: AT_ALTITUDE, children: _jsxs("div", { ref: dialog, "data-testid": "studio", "data-graview-speaks-ids": "", tabIndex: -1, role: "dialog", "aria-modal": "true", "aria-label": `Studio · ${app.name}`,
193
- /*
194
- * ESCAPE CLOSES THE INNERMOST THING.
195
- *
196
- * The studio's own rail and any other popover in it already close on
197
- * Escape; this closed the WHOLE STUDIO at the same time, so opening
198
- * the history and pressing Escape to dismiss it threw away the studio
199
- * around it. Anything marked as an overlay inside gets the press
200
- * first, and the studio takes the next one.
201
- */
202
- onKeyDown: (event) => {
203
- if (event.key !== "Escape")
204
- return;
205
- if (event.currentTarget.querySelector("[data-graview-overlay]"))
206
- return;
207
- onClose();
208
- }, style: {
209
- position: within === "page" ? "fixed" : "absolute",
210
- inset: 0,
192
+ return (
193
+ /*
194
+ * NO PANEL BESIDE THIS MAP. The studio opens inside a face that lists a
195
+ * district beside its own map (the Shell, an embed's scene face), and the
196
+ * context reaches through the portal: "open" on the kinds district chose
197
+ * it for a panel the studio does not draw, and nothing opened. Here a
198
+ * district opens in place, as a card of its records.
199
+ */
200
+ _jsx(BesideTheMap.Provider, { value: false, children: _jsx(GraviewProvider, { store: studio.store, views: views, scheme: scheme, principal: principal, ...(brand ? { brand } : {}), ...(ai ? { ai } : {}), initialView: AT_ALTITUDE, children: _jsxs("div", { ref: dialog, "data-testid": "studio", "data-graview-speaks-ids": "", tabIndex: -1, role: "dialog", "aria-modal": "true", "aria-label": `Studio · ${app.name}`,
211
201
  /*
212
- * OVER EVERYTHING IN THE BOX. Boxed, the studio is drawn from the
213
- * embed's strip, which comes before the embed's own picture, and the
214
- * picture's seat once sat at the studio's own number: later in the
215
- * page and no lower, the embed's seat was drawn over the studio and
216
- * took its presses. A modal dialog is above what it covers — the
217
- * ladder's dialog rung, over every rail (FR-76).
202
+ * ESCAPE CLOSES THE INNERMOST THING.
203
+ *
204
+ * The studio's own rail and any other popover in it already close on
205
+ * Escape; this closed the WHOLE STUDIO at the same time, so opening
206
+ * the history and pressing Escape to dismiss it threw away the studio
207
+ * around it. Anything marked as an overlay inside gets the press
208
+ * first, and the studio takes the next one.
218
209
  */
219
- zIndex: layer("dialog"),
220
- display: "flex",
221
- flexDirection: "column",
222
- background: "var(--graview-ground-deep)",
223
- }, children: [_jsxs("header", { style: {
224
- display: "flex",
225
- alignItems: "center",
226
- flexWrap: "wrap",
227
- gap: 12,
228
- rowGap: 6,
229
- padding: "6px 18px",
230
- minHeight: 49,
231
- boxSizing: "border-box",
232
- flex: "0 0 auto",
233
- borderBottom: "1px solid var(--graview-edge)",
234
- background: "var(--graview-bar)",
235
- }, children: [_jsx("strong", { style: { fontSize: "0.9375rem", fontWeight: 550 }, children: "Studio" }), _jsx("span", { style: { fontSize: "0.875rem", color: "var(--graview-ink-muted)" }, children: app.name }), _jsx(Places, {}), _jsx("span", { "data-testid": "studio-verdict", "data-errors": verdict.errors, "data-warnings": verdict.warnings, style: {
236
- marginLeft: "auto",
237
- fontSize: "0.875rem",
238
- color: verdict.errors > 0 ? "var(--graview-warn)" : "var(--graview-ink-muted)",
239
- }, children: said(verdict) }), _jsx(StudioAgentPanel, { studio: studio }), _jsx(ActivityRail, { calls: calls, seat: _jsx(StudioSeat, { studio: studio, onCall: noteCall }) }), _jsx("button", { type: "button", "data-testid": "studio-apply", onClick: () => {
240
- if (onApply) {
241
- /*
242
- * NOTHING CHANGED, SAID BY THE STUDIO (FR-65). A host handed
243
- * an empty change previews nothing, or refuses it in words
244
- * about something else; the studio knows before it asks.
245
- */
246
- if (studio.unchanged()) {
247
- ++presses.current;
248
- setApplied({ ok: false, unchanged: true });
249
- return;
250
- }
251
- const handed = handedToTheHost(studio, onApply);
252
- if (!handed.ok) {
253
- setApplied({ ok: false, check: handed.check });
254
- return;
255
- }
256
- /*
257
- * KEPT ONLY WHEN THE HOST SAYS SO (FR-60). A refusal is shown
258
- * in the host's own findings, and nothing else moves: the
259
- * studio stays open on the edits as they are. An answer to an
260
- * earlier press that arrives late says nothing.
261
- */
262
- const press = ++presses.current;
263
- const kept = { ok: true, files: handed.files, migration: handed.migration?.title ?? null, door: false, handed: true };
264
- const heard = (verdict) => {
265
- if (press !== presses.current)
210
+ onKeyDown: (event) => {
211
+ if (event.key !== "Escape")
212
+ return;
213
+ if (event.currentTarget.querySelector("[data-graview-overlay]"))
214
+ return;
215
+ onClose();
216
+ }, style: {
217
+ position: within === "page" ? "fixed" : "absolute",
218
+ inset: 0,
219
+ /*
220
+ * OVER EVERYTHING IN THE BOX. Boxed, the studio is drawn from the
221
+ * embed's strip, which comes before the embed's own picture, and the
222
+ * picture's seat once sat at the studio's own number: later in the
223
+ * page and no lower, the embed's seat was drawn over the studio and
224
+ * took its presses. A modal dialog is above what it covers — the
225
+ * ladder's dialog rung, over every rail (FR-76).
226
+ */
227
+ zIndex: layer("dialog"),
228
+ display: "flex",
229
+ flexDirection: "column",
230
+ background: "var(--graview-ground-deep)",
231
+ }, children: [_jsxs("header", { style: {
232
+ display: "flex",
233
+ alignItems: "center",
234
+ flexWrap: "wrap",
235
+ gap: 12,
236
+ rowGap: 6,
237
+ padding: "6px 18px",
238
+ minHeight: 49,
239
+ boxSizing: "border-box",
240
+ flex: "0 0 auto",
241
+ borderBottom: "1px solid var(--graview-edge)",
242
+ background: "var(--graview-bar)",
243
+ }, children: [_jsx("strong", { style: { fontSize: "0.9375rem", fontWeight: 550 }, children: "Studio" }), _jsx("span", { style: { fontSize: "0.875rem", color: "var(--graview-ink-muted)" }, children: app.name }), _jsx(Places, {}), _jsx("span", { "data-testid": "studio-verdict", "data-errors": verdict.errors, "data-warnings": verdict.warnings, style: {
244
+ marginLeft: "auto",
245
+ fontSize: "0.875rem",
246
+ color: verdict.errors > 0 ? "var(--graview-warn)" : "var(--graview-ink-muted)",
247
+ }, children: said(verdict) }), _jsx(StudioAgentPanel, { studio: studio }), _jsx(ActivityRail, { calls: calls, seat: _jsx(StudioSeat, { studio: studio, onCall: noteCall }) }), _jsx("button", { type: "button", "data-testid": "studio-apply", onClick: () => {
248
+ if (onApply) {
249
+ /*
250
+ * NOTHING CHANGED, SAID BY THE STUDIO (FR-65). A host handed
251
+ * an empty change previews nothing, or refuses it in words
252
+ * about something else; the studio knows before it asks.
253
+ */
254
+ if (studio.unchanged()) {
255
+ ++presses.current;
256
+ setApplied({ ok: false, unchanged: true });
266
257
  return;
267
- if (!verdict || verdict.ok !== false)
268
- return setApplied(kept);
269
- const sentence = verdict.sentence?.trim();
270
- setApplied({ ok: false, refused: verdict.findings ?? [], ...(sentence ? { sentence } : {}) });
271
- };
272
- if (isPromise(handed.answer)) {
273
- setApplied({ ...kept, asking: true });
274
- handed.answer.then(heard, (error) => heard({ ok: false, findings: [{ severity: "error", code: "host-refused", path: "", message: error instanceof Error ? error.message : String(error) }] }));
258
+ }
259
+ const handed = handedToTheHost(studio, onApply);
260
+ if (!handed.ok) {
261
+ setApplied({ ok: false, check: handed.check });
262
+ return;
263
+ }
264
+ /*
265
+ * KEPT ONLY WHEN THE HOST SAYS SO (FR-60). A refusal is shown
266
+ * in the host's own findings, and nothing else moves: the
267
+ * studio stays open on the edits as they are. An answer to an
268
+ * earlier press that arrives late says nothing.
269
+ */
270
+ const press = ++presses.current;
271
+ const kept = { ok: true, files: handed.files, migration: handed.migration?.title ?? null, door: false, handed: true };
272
+ const heard = (verdict) => {
273
+ if (press !== presses.current)
274
+ return;
275
+ if (!verdict || verdict.ok !== false)
276
+ return setApplied(kept);
277
+ const sentence = verdict.sentence?.trim();
278
+ setApplied({ ok: false, refused: verdict.findings ?? [], ...(sentence ? { sentence } : {}) });
279
+ };
280
+ if (isPromise(handed.answer)) {
281
+ setApplied({ ...kept, asking: true });
282
+ handed.answer.then(heard, (error) => heard({ ok: false, findings: [{ severity: "error", code: "host-refused", path: "", message: error instanceof Error ? error.message : String(error) }] }));
283
+ }
284
+ else
285
+ heard(handed.answer);
286
+ return;
275
287
  }
276
- else
277
- heard(handed.answer);
278
- return;
279
- }
280
- const result = studio.apply();
281
- setApplied(result.ok
282
- ? { ok: true, files: studio.files(), migration: result.migration?.title ?? null, door: door !== null }
283
- : { ok: false, check: result.check });
284
- }, style: { padding: "3px 11px", fontSize: "0.875rem" }, children: "Apply" }), _jsx("button", { type: "button", "data-testid": "studio-close", onClick: onClose, "aria-label": "Close the studio", style: { padding: "3px 11px", fontSize: "0.875rem" }, children: "Close" })] }), applied ? _jsx(Written, { applied: applied, studio: studio, onDismiss: () => setApplied(null) }) : null, landmark === "main" ? (_jsxs("main", { style: PICTURE, children: [_jsx(Scene, { renderer: "dom" }), _jsx(Inspector, {})] })) : (_jsxs("section", { "aria-label": "The declaration", style: PICTURE, children: [_jsx(Scene, { renderer: "dom" }), _jsx(Inspector, {})] }))] }) }));
288
+ const result = studio.apply();
289
+ setApplied(result.ok
290
+ ? { ok: true, files: studio.files(), migration: result.migration?.title ?? null, door: door !== null }
291
+ : { ok: false, check: result.check });
292
+ }, style: { padding: "3px 11px", fontSize: "0.875rem" }, children: "Apply" }), _jsx("button", { type: "button", "data-testid": "studio-close", onClick: onClose, "aria-label": "Close the studio", style: { padding: "3px 11px", fontSize: "0.875rem" }, children: "Close" })] }), applied ? _jsx(Written, { applied: applied, studio: studio, onDismiss: () => setApplied(null) }) : null, landmark === "main" ? (_jsxs("main", { style: PICTURE, children: [_jsx(Scene, { renderer: "dom" }), _jsx(Inspector, {})] })) : (_jsxs("section", { "aria-label": "The declaration", style: PICTURE, children: [_jsx(Scene, { renderer: "dom" }), _jsx(Inspector, {})] }))] }) }) }));
285
293
  }
286
294
  const PICTURE = { position: "relative", flex: "1 1 auto", minHeight: 0, containerType: "size" };
287
295
  /**
package/dist/place.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"place.js","sourceRoot":"","sources":["../src/place.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"place.js","sourceRoot":"","sources":["../src/place.tsx"],"names":[],"mappings":"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"}
package/dist/source.d.ts CHANGED
@@ -42,13 +42,15 @@ export declare class Read {
42
42
  out(from: string, kind: string): Node[];
43
43
  in(to: string, kind: string): Node[];
44
44
  }
45
- export declare function zodSource(type: FieldType, required: boolean, options?: readonly string[]): string;
45
+ export declare function zodSource(type: FieldType, required: boolean, options?: readonly string[], uses?: ZodUses, markdown?: boolean): string;
46
46
  /** A kind's fields, as the graph holds them. */
47
47
  export declare function fieldsOf(read: Read, kind: Node): {
48
48
  name: string;
49
49
  type: FieldType;
50
50
  required: boolean;
51
51
  options: string[] | undefined;
52
+ markdown: boolean;
53
+ repeats: boolean;
52
54
  }[];
53
55
  /** An edge's declaration, one property per entry: `to: ["gardener"]`, `cardinality: "one"`, … */
54
56
  export declare function edgeParts(read: Read, edge: Node): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"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"}
package/dist/source.js CHANGED
@@ -1,6 +1,7 @@
1
+ import { isMarkdownField } from "@graview/core/words";
1
2
  import { fieldTypeOf } from "./from-declaration.js";
2
3
  import { computedFor, pageWhile } from "./to-declaration.js";
3
- import { printZod } from "./zod-source.js";
4
+ import { helpersUsed, printZod } from "./zod-source.js";
4
5
  export const q = (text) => JSON.stringify(text);
5
6
  export const camel = (slug) => slug.replace(/-([a-z0-9])/g, (_, c) => c.toUpperCase());
6
7
  const pascal = (slug) => {
@@ -32,7 +33,21 @@ export class Read {
32
33
  return this.reading.edges.filter((edge) => edge.to === to && edge.kind === kind).map((edge) => this.byId.get(edge.from)).filter((node) => node !== undefined);
33
34
  }
34
35
  }
35
- export function zodSource(type, required, options) {
36
+ export function zodSource(type, required, options, uses, markdown) {
37
+ // Prose written in Markdown (FR-180): the framework's own field, imported beside `z`.
38
+ if (type === "text" && markdown) {
39
+ if (uses)
40
+ uses.markdownField = true;
41
+ return required ? "markdownField()" : "markdownField().optional()";
42
+ }
43
+ // Another app's address (FR-171), a picture, a document (FR-162): the framework's own field, imported beside `z`.
44
+ // A phone, a place and a length of time likewise: a tel: link, a map, minutes said "1 h 30 min".
45
+ if (type === "app-link" || type === "image" || type === "file" || type === "phone" || type === "place" || type === "duration") {
46
+ const helper = type === "app-link" ? "appLinkField" : type === "image" ? "imageField" : type === "file" ? "fileField" : `${type}Field`;
47
+ if (uses)
48
+ uses[helper] = true;
49
+ return required ? `${helper}()` : `${helper}().optional()`;
50
+ }
36
51
  const base = type === "number"
37
52
  ? "z.number()"
38
53
  : type === "integer"
@@ -54,7 +69,7 @@ export function zodSource(type, required, options) {
54
69
  : "z.string()";
55
70
  return required ? base : `${base}.optional()`;
56
71
  }
57
- const defaultSource = (type, options) => type === "number" || type === "integer" ? "0" : type === "datetime" ? "new Date().toISOString()" : type === "boolean" ? "false" : type === "enum" ? q(options?.[0] ?? "") : type === "list" ? "[]" : type === "date" ? "new Date().toISOString().slice(0, 10)" : '""';
72
+ const defaultSource = (type, options) => type === "number" || type === "integer" || type === "duration" ? "0" : type === "datetime" ? "new Date().toISOString()" : type === "boolean" ? "false" : type === "enum" ? q(options?.[0] ?? "") : type === "list" ? "[]" : type === "date" ? "new Date().toISOString().slice(0, 10)" : '""';
58
73
  /**
59
74
  * The lines of a `defineNode` the studio carries from the checkout rather
60
75
  * than from its graph, narrowed to the fields that still exist — a label
@@ -114,6 +129,9 @@ export function fieldsOf(read, kind) {
114
129
  type: (str(field, "type") ?? "string"),
115
130
  required: bool(field, "required"),
116
131
  options: list(field, "options"),
132
+ repeats: bool(field, "repeats"),
133
+ // Written in Markdown (FR-180).
134
+ markdown: str(field, "type") === "text" && bool(field, "markdown"),
117
135
  }));
118
136
  }
119
137
  /** An edge's declaration, one property per entry: `to: ["gardener"]`, `cardinality: "one"`, … */
@@ -141,12 +159,13 @@ export function kindLines(read, kind, base, keptFormats, uses = { nodeRef: false
141
159
  const was = fieldTypeOf(own);
142
160
  const same = was.type === field.type &&
143
161
  was.required === field.required &&
144
- (was.options ?? []).join("|") === (field.options ?? []).join("|");
162
+ (was.options ?? []).join("|") === (field.options ?? []).join("|") &&
163
+ isMarkdownField(own) === field.markdown;
145
164
  const printed = same ? printZod(own, uses) : null;
146
165
  if (printed !== null)
147
166
  return printed;
148
167
  }
149
- return zodSource(field.type, field.required, field.options);
168
+ return zodSource(field.type, field.required, field.options, uses, field.markdown);
150
169
  };
151
170
  const edges = read.in(kind.id, "from-kind");
152
171
  const lifecycleField = str(kind, "lifecycleField");
@@ -157,6 +176,13 @@ export function kindLines(read, kind, base, keptFormats, uses = { nodeRef: false
157
176
  lines.push(` fields: z.object({`);
158
177
  for (const field of fields)
159
178
  lines.push(` ${/^[a-z_$][\w$]*$/i.test(field.name) ? field.name : q(field.name)}: ${fieldSource(field)},`);
179
+ // A date that repeats keeps how beside it: the framework's own field, `<date>Repeat`.
180
+ for (const field of fields) {
181
+ if (!field.repeats || (field.type !== "date" && field.type !== "datetime"))
182
+ continue;
183
+ uses.repeatField = true;
184
+ lines.push(` ${field.name}Repeat: repeatField(),`);
185
+ }
160
186
  lines.push(` }),`);
161
187
  if (edges.length > 0) {
162
188
  lines.push(` edges: {`);
@@ -188,6 +214,8 @@ export function kindLines(read, kind, base, keptFormats, uses = { nodeRef: false
188
214
  lines.push(` figure: ${q(str(kind, "figure"))},`);
189
215
  if (bool(kind, "people"))
190
216
  lines.push(` people: true,`);
217
+ if (bool(kind, "neverArchived"))
218
+ lines.push(` archives: false,`);
191
219
  // What the kind works out (FR-83), as an app writes it: the expression, or the expression with its words.
192
220
  const computed = computedFor(read, kind);
193
221
  if (computed) {
@@ -259,7 +287,7 @@ export function actLines(read, act, kept, checkout, uses = { nodeRef: true, isoD
259
287
  const kindNode = read.ofKind("kind").find((node) => label(node) === kind);
260
288
  const fields = kindNode ? fieldsOf(read, kindNode).filter((field) => field.name !== "label") : [];
261
289
  const asked = fields.filter((field) => field.required && field.type !== "list");
262
- lines.push(` input: z.object({ label: z.string().min(1)${asked.map((field) => `, ${field.name}: ${zodSource(field.type, false, field.options)}`).join("")} }),`);
290
+ lines.push(` input: z.object({ label: z.string().min(1)${asked.map((field) => `, ${field.name}: ${zodSource(field.type, false, field.options, uses)}`).join("")} }),`);
263
291
  lines.push(` describe: (args) => \`${str(act, "title") ?? actName}: \${args.label}\`,`);
264
292
  body.push(` ctx.addNode({`);
265
293
  body.push(` id: ctx.freshId(args.label, ${q(kind)}),`);
@@ -284,7 +312,7 @@ export function actLines(read, act, kept, checkout, uses = { nodeRef: true, isoD
284
312
  if (on.includes(label(kindNode)))
285
313
  for (const field of fieldsOf(read, kindNode))
286
314
  declared.set(field.name, { type: field.type, options: field.options });
287
- lines.push(` input: z.object({ ${arg}: nodeRef(${subjectKinds})${writes.map((field) => `, ${field}: ${declared.has(field) ? zodSource(declared.get(field).type, false, declared.get(field).options) : "z.string().optional()"}`).join("")} }),`);
315
+ lines.push(` input: z.object({ ${arg}: nodeRef(${subjectKinds})${writes.map((field) => `, ${field}: ${declared.has(field) ? zodSource(declared.get(field).type, false, declared.get(field).options, uses) : "z.string().optional()"}`).join("")} }),`);
288
316
  lines.push(` describe: (args, graph) => \`${str(act, "title") ?? actName}: \${nameOf(graph as Reader, args.${arg})}\`,`);
289
317
  if (writes.length > 0) {
290
318
  body.push(` const patch: Record<string, unknown> = {};`);
@@ -372,6 +400,9 @@ export function ruleLines(read, rule, kept) {
372
400
  lines.push(` repairs: [${repairs.map(q).join(", ")}],`);
373
401
  if (bool(rule, "judgesPast"))
374
402
  lines.push(` judgesPast: true,`);
403
+ // A rule that is a function says it reads the day; the studio cannot read its body to know (W-199).
404
+ if (bool(rule, "readsTheClock"))
405
+ lines.push(` readsTheClock: true,`);
375
406
  lines.push(` evaluate(): Violation[] {`);
376
407
  if (kept) {
377
408
  /*
@@ -411,7 +442,7 @@ export function declarationFiles(snapshot, options = {}) {
411
442
  const schemaUses = { nodeRef: false, isoDate: false };
412
443
  const kindText = kinds.flatMap((kind) => ["", ...kindLines(read, kind, options.base, keptFormats, schemaUses)]);
413
444
  const schemaTs = [
414
- `import { createSchema, defineNode, ${schemaUses.isoDate ? "isoDate, " : ""}z } from "@graview/core";`,
445
+ `import { ${helpersUsed(schemaUses)}createSchema, defineNode, ${schemaUses.isoDate ? "isoDate, " : ""}z } from "@graview/core";`,
415
446
  ``,
416
447
  `/*`,
417
448
  ` * ${name}'s kinds, written by the studio. The shape is the declaration's;`,
@@ -433,7 +464,7 @@ export function declarationFiles(snapshot, options = {}) {
433
464
  return ["", ...actLines(read, act, kept, checkout, actUses)];
434
465
  });
435
466
  const mutationsTs = [
436
- `import { bindSchema, ${actUses.isoDate ? "isoDate, " : ""}nodeRef, z, type GraphReader } from "@graview/core";`,
467
+ `import { ${helpersUsed(actUses)}bindSchema, ${actUses.isoDate ? "isoDate, " : ""}nodeRef, z, type GraphReader } from "@graview/core";`,
437
468
  `import { ${schemaVar} } from "./schema.js";`,
438
469
  ``,
439
470
  `const { defineMutation } = bindSchema(${schemaVar});`,
@@ -537,6 +568,8 @@ function sightLines(read) {
537
568
  `kinds: [${kinds.map(q).join(", ")}]`,
538
569
  ...(bool(sight, "own") ? ["own: true"] : []),
539
570
  ...(str(sight, "via") ? [`via: ${q(str(sight, "via"))}`] : []),
571
+ ...(list(sight, "fields") ? [`fields: [${list(sight, "fields").map(q).join(", ")}]`] : []),
572
+ ...(list(sight, "hide")?.length ? [`hide: [${list(sight, "hide").map(q).join(", ")}]`] : []),
540
573
  ...(str(sight, "describe") ? [`describe: ${q(str(sight, "describe"))}`] : []),
541
574
  ];
542
575
  return ` { ${parts.join(", ")} },`;