@graview/primitives 0.1.60 → 0.1.62

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 (90) hide show
  1. package/dist/app-bar.d.ts +20 -1
  2. package/dist/app-bar.d.ts.map +1 -1
  3. package/dist/app-bar.js +41 -4
  4. package/dist/app-bar.js.map +1 -1
  5. package/dist/chat.d.ts.map +1 -1
  6. package/dist/chat.js +99 -2
  7. package/dist/chat.js.map +1 -1
  8. package/dist/editable.d.ts.map +1 -1
  9. package/dist/editable.js +30 -0
  10. package/dist/editable.js.map +1 -1
  11. package/dist/files-door.d.ts +1 -1
  12. package/dist/files-door.d.ts.map +1 -1
  13. package/dist/files.d.ts +10 -3
  14. package/dist/files.d.ts.map +1 -1
  15. package/dist/files.js +69 -8
  16. package/dist/files.js.map +1 -1
  17. package/dist/frame.d.ts +3 -3
  18. package/dist/frame.d.ts.map +1 -1
  19. package/dist/frame.js +1 -1
  20. package/dist/frame.js.map +1 -1
  21. package/dist/home-view.d.ts.map +1 -1
  22. package/dist/home-view.js +2 -1
  23. package/dist/home-view.js.map +1 -1
  24. package/dist/index.d.ts +5 -5
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +2 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/lens/calendar-dates.d.ts +14 -0
  29. package/dist/lens/calendar-dates.d.ts.map +1 -1
  30. package/dist/lens/calendar-dates.js +17 -1
  31. package/dist/lens/calendar-dates.js.map +1 -1
  32. package/dist/lens/calendar-placing.d.ts.map +1 -1
  33. package/dist/lens/calendar-placing.js +6 -4
  34. package/dist/lens/calendar-placing.js.map +1 -1
  35. package/dist/lens/calendar-view.js +13 -2
  36. package/dist/lens/calendar-view.js.map +1 -1
  37. package/dist/notice-stacks.d.ts +7 -2
  38. package/dist/notice-stacks.d.ts.map +1 -1
  39. package/dist/notice-stacks.js +36 -15
  40. package/dist/notice-stacks.js.map +1 -1
  41. package/dist/notices.d.ts +41 -1
  42. package/dist/notices.d.ts.map +1 -1
  43. package/dist/notices.js +16 -2
  44. package/dist/notices.js.map +1 -1
  45. package/dist/reshape-card.d.ts +18 -0
  46. package/dist/reshape-card.d.ts.map +1 -0
  47. package/dist/reshape-card.js +65 -0
  48. package/dist/reshape-card.js.map +1 -0
  49. package/dist/scene-css.d.ts.map +1 -1
  50. package/dist/scene-css.js +3 -2
  51. package/dist/scene-css.js.map +1 -1
  52. package/dist/seat.d.ts.map +1 -1
  53. package/dist/seat.js +1 -0
  54. package/dist/seat.js.map +1 -1
  55. package/dist/shell.d.ts +15 -1
  56. package/dist/shell.d.ts.map +1 -1
  57. package/dist/shell.js +10 -5
  58. package/dist/shell.js.map +1 -1
  59. package/dist/spec-css.d.ts.map +1 -1
  60. package/dist/spec-css.js +1 -0
  61. package/dist/spec-css.js.map +1 -1
  62. package/dist/spec-views.d.ts +3 -2
  63. package/dist/spec-views.d.ts.map +1 -1
  64. package/dist/spec-views.js +28 -8
  65. package/dist/spec-views.js.map +1 -1
  66. package/dist/suggested.d.ts +9 -0
  67. package/dist/suggested.d.ts.map +1 -1
  68. package/dist/suggested.js +54 -11
  69. package/dist/suggested.js.map +1 -1
  70. package/dist/theme.d.ts.map +1 -1
  71. package/dist/theme.js +6 -4
  72. package/dist/theme.js.map +1 -1
  73. package/dist/view-tidying.d.ts.map +1 -1
  74. package/dist/view-tidying.js +4 -1
  75. package/dist/view-tidying.js.map +1 -1
  76. package/dist/workbench/activity-rows.d.ts +27 -0
  77. package/dist/workbench/activity-rows.d.ts.map +1 -0
  78. package/dist/workbench/activity-rows.js +16 -0
  79. package/dist/workbench/activity-rows.js.map +1 -0
  80. package/dist/workbench/activity.d.ts.map +1 -1
  81. package/dist/workbench/activity.js +14 -25
  82. package/dist/workbench/activity.js.map +1 -1
  83. package/dist/workbench/ai-entries.d.ts.map +1 -1
  84. package/dist/workbench/ai-entries.js +2 -1
  85. package/dist/workbench/ai-entries.js.map +1 -1
  86. package/dist/workbench/named-record.d.ts +20 -0
  87. package/dist/workbench/named-record.d.ts.map +1 -0
  88. package/dist/workbench/named-record.js +23 -0
  89. package/dist/workbench/named-record.js.map +1 -0
  90. package/package.json +6 -6
package/dist/app-bar.d.ts CHANGED
@@ -91,6 +91,19 @@ export interface BarFaces {
91
91
  }
92
92
  /** How the switch is drawn: its words beside its marks where there is room, or its marks alone (the words its names). */
93
93
  export type BarSwitch = "words" | "icons";
94
+ /**
95
+ * ONE OF A HOST'S BUTTONS ON THE BAR (FR-227, Roadmap
96
+ * f-host-buttons-in-the-app-bar): a press, named by its label, with a mark
97
+ * beside the word where the host gives one — an emoji, a glyph, or an
98
+ * inline `<svg>`, hidden from a reader who cannot see it. A host's only —
99
+ * never a declaration's, never a sandboxed view's: it reaches the bar from
100
+ * `barActions` on an embed, a frame or the Shell, and from nowhere else.
101
+ */
102
+ export interface BarAction {
103
+ readonly label: string;
104
+ readonly icon?: string;
105
+ readonly onSelect: () => void;
106
+ }
94
107
  /** One size for every tool on the bar (FR-131). */
95
108
  export declare const TOOL = 30;
96
109
  /** The bar's one row, its rule under it included, on a desk and a phone alike (FR-138). */
@@ -142,7 +155,7 @@ export declare const toolStyle: CSSProperties;
142
155
  * person). One row of one height on a desk and a phone; on a phone the
143
156
  * place is the page's first line, under the bar.
144
157
  */
145
- export declare function AppBar({ brand, name, heading, home, faces, places, current, reach, tools, find, description, findBox, onFind, switch: switchForm, scenePlaces, skips, named, }: {
158
+ export declare function AppBar({ brand, name, heading, home, faces, places, current, reach, tools, find, description, findBox, onFind, switch: switchForm, scenePlaces, skips, named, actions, }: {
146
159
  readonly brand: Brand | undefined;
147
160
  readonly name: string;
148
161
  /** Whether the app's mark and name are drawn, the way home: not under a host's own bar that says them. */
@@ -190,5 +203,11 @@ export declare function AppBar({ brand, name, heading, home, faces, places, curr
190
203
  } | undefined;
191
204
  /** The ways past the bar (`SkipLinks`), the first stops Tab reaches: the face says where they go. */
192
205
  readonly skips?: ReactNode;
206
+ /**
207
+ * THE HOST'S BUTTONS (FR-227): presses drawn on the row before the tools,
208
+ * where the bar has their width over a phone's, and folded into one
209
+ * control that lists them where it does not. None, and nothing is drawn.
210
+ */
211
+ readonly actions?: readonly BarAction[] | undefined;
193
212
  }): import("react").JSX.Element;
194
213
  //# sourceMappingURL=app-bar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-bar.d.ts","sourceRoot":"","sources":["../src/app-bar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-bar.d.ts","sourceRoot":"","sources":["../src/app-bar.tsx"],"names":[],"mappings":"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"}
package/dist/app-bar.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { allLabel, arrangedEntries, hueFor, kindPath, MOST_STANDING, offeredPlaces, onePerPicture, OVERVIEW_SLUG, placeLabel, placePath, pluralLabel, primaryOf, samePicture, sharesItsName, supportingKinds } from "@graview/core";
2
+ import { allLabel, arrangedEntries, hueFor, isInlineSvg, kindPath, MOST_STANDING, offeredPlaces, onePerPicture, OVERVIEW_SLUG, placeLabel, placePath, pluralLabel, primaryOf, samePicture, sharesItsName, supportingKinds } from "@graview/core";
3
3
  import { POPOVER_STYLE, useGraviewIfAny, usePopover } from "@graview/react/provider";
4
4
  import { useQuickAskDrawn } from "./quick-ask-desk.js";
5
5
  import { createContext, Suspense, useCallback, useContext, useEffect, useLayoutEffect, useRef, useState } from "react";
6
6
  import { AppMark } from "./app-title.js";
7
+ import { useMarkup } from "./markup.js";
7
8
  import { barPanes } from "./bar-panes-door.js";
8
9
  /* The places' foot, Hidden and Recently deleted (Roadmap f-place-menu-views): fetched with the panes, and the tidying with it, once there is something to list and the list is open. */
9
10
  const TidyFoot = barPanes.part((panes, props) => _jsx(panes.TidyFoot, { ...props }), { quiet: true });
@@ -243,6 +244,13 @@ const BAR_CSS = `
243
244
  .graview-bar-tools>:is(.graview-bar-find,.graview-bar-find-open){margin-left:auto}
244
245
  .graview-bar-own{display:flex;align-items:center;flex:0 0 auto}
245
246
  .graview-bar-own:empty{display:none}
247
+ .graview-bar-host{display:flex;align-items:center;gap:2px;flex:0 0 auto}
248
+ .graview-bar-host-action{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;min-width:${TOOL}px;height:${TOOL}px;margin:0;padding:0 10px;border-radius:8px;border:1px solid transparent;background:none;box-shadow:none;font:inherit;font-size:.875rem;font-weight:500;letter-spacing:normal;text-transform:none;white-space:nowrap;color:var(--graview-ink-muted);cursor:pointer}
249
+ .graview-bar-host-action:is(:hover,[aria-expanded=true]){border-color:var(--graview-edge);color:var(--graview-ink)}
250
+ .graview-bar-host-action[data-folded]{padding:0}
251
+ .graview-bar-host-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:16px;height:16px;font-size:.9375rem;line-height:1}
252
+ .graview-bar-host-mark svg{width:16px;height:16px}
253
+ .graview-bar-list .graview-bar-host-action{width:100%;justify-content:flex-start;white-space:normal;overflow-wrap:anywhere}
246
254
  .graview-bar-find{position:relative;display:flex;min-width:7.5rem;flex:0 600 9rem;--graview-bar-find-end:3.25em}
247
255
  .graview-bar-find-slot{display:flex;flex:1;min-width:0}
248
256
  .graview-bar-find-keys{position:absolute;right:10px;line-height:30px;pointer-events:none;font-size:.75rem;color:var(--graview-ink-faint)}
@@ -293,7 +301,7 @@ export const toolStyle = {
293
301
  * person). One row of one height on a desk and a phone; on a phone the
294
302
  * place is the page's first line, under the bar.
295
303
  */
296
- export function AppBar({ brand, name, heading = 1, home, faces, places, current, reach, tools, find = true, description, findBox, onFind, switch: switchForm = "words", scenePlaces, skips, named = true, }) {
304
+ export function AppBar({ brand, name, heading = 1, home, faces, places, current, reach, tools, find = true, description, findBox, onFind, switch: switchForm = "words", scenePlaces, skips, named = true, actions, }) {
297
305
  const bar = useRef(null);
298
306
  // Anybody else here, by the provider's presence (FR-155); none where no provider is.
299
307
  const company = useGraviewIfAny()?.who.size;
@@ -305,6 +313,8 @@ export function AppBar({ brand, name, heading = 1, home, faces, places, current,
305
313
  const [roomy, setRoomy] = useState(true);
306
314
  // Which places stand on the row, by their place in the list ("0,1,2"); null, the one control (FR-145).
307
315
  const [standing, setStanding] = useState(null);
316
+ // Whether the host's buttons stand on the row (FR-227): where the bar has their width over a phone's; folded where it does not.
317
+ const [hostStands, setHostStands] = useState(true);
308
318
  // The places on the face drawn: the routed face's, or the scene's (FR-144) — a scene with no pages to switch to has its places too.
309
319
  const onPages = faces ? faces.pages.current : !scenePlaces;
310
320
  /*
@@ -339,6 +349,9 @@ export function AppBar({ brand, name, heading = 1, home, faces, places, current,
339
349
  const read = () => {
340
350
  const width = element.getBoundingClientRect().width;
341
351
  setCompact(width < BAR_PHONE);
352
+ // The host's buttons as they would stand, off their ruler: they stand where the bar has their width over a phone's.
353
+ const host = element.querySelector("[data-graview-bar-host-ruler]");
354
+ setHostStands(width >= BAR_PHONE + (host?.getBoundingClientRect().width ?? 0));
342
355
  // What hangs from the bar as wide as it (a phone's Find sheet) is told the bar's width, not the screen's.
343
356
  element.style.setProperty("--graview-bar-width", `${Math.round(width)}px`);
344
357
  weigh();
@@ -405,7 +418,7 @@ export function AppBar({ brand, name, heading = 1, home, faces, places, current,
405
418
  useLayoutEffect(weigh, [weigh, name, brand, said, list?.current, onPages, compact, switchForm, find]);
406
419
  // The marks alone on a phone's bar, when asked, or when the words do not fit.
407
420
  const drawn = switchForm === "icons" || !roomy || compact ? "icons" : "words";
408
- return (_jsxs(_Fragment, { children: [_jsxs("header", { ref: bar, className: "graview-bar", "data-testid": "app-bar", "data-graview-app-bar": "", ...(finding && compact ? { "data-finding": "" } : {}), children: [_jsx("style", { children: BAR_CSS }), skips, _jsxs("div", { className: "graview-bar-row", children: [named ? _jsx("div", { className: "graview-bar-app", children: _jsx(Heading, { className: "graview-bar-name", children: _jsxs(Home, { ...(home.href !== undefined ? { href: home.href, onClick: press(home.go) } : { type: "button", onClick: home.go }), "data-testid": "app-home", ...(home.current ? { "aria-current": "page" } : {}), title: description ? `${name} — ${description}` : `${name} — home`, className: "graview-bar-home", children: [_jsx(AppMark, { brand: brand, size: 20 }), _jsx("span", { className: "graview-bar-app-name", "data-testid": "app-name", children: name })] }) }) }) : null, faces ? _jsx(FaceSwitch, { faces: faces, form: switchForm, drawn: drawn }) : null, _jsx("div", { className: "graview-bar-mid", ...(stands ? { "data-places": "standing" } : !compact && placeControl ? { "data-place": "" } : {}), children: compact ? null : placeControl }), !compact && list && list.places.length > 1 ? (_jsxs("span", { className: "graview-bar-ruler", "aria-hidden": "true", "data-graview-bar-ruler": "", children: [list.places.map((place) => (_jsx("span", { className: "graview-bar-at", children: place.label }, place.key))), _jsxs("span", { className: "graview-bar-at", children: [MORE, _jsx(Chevron, {})] })] })) : null, named ? (_jsx("span", { className: "graview-bar-ruler", "aria-hidden": "true", children: _jsx("span", { className: "graview-bar-name", children: name }) })) : null, _jsxs("div", { className: "graview-bar-tools", children: [find ? (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", className: "graview-bar-find-open", ref: opener, "data-testid": "app-find-open", "aria-label": "Find", title: "Find", onClick: openFind, style: { ...toolStyle, display: undefined }, children: _jsx(FindMark, {}) }), _jsxs("div", { className: "graview-bar-find", "data-testid": "app-find", onBlur: (event) => {
421
+ return (_jsxs(_Fragment, { children: [_jsxs("header", { ref: bar, className: "graview-bar", "data-testid": "app-bar", "data-graview-app-bar": "", ...(finding && compact ? { "data-finding": "" } : {}), children: [_jsx("style", { children: BAR_CSS }), skips, _jsxs("div", { className: "graview-bar-row", children: [named ? _jsx("div", { className: "graview-bar-app", children: _jsx(Heading, { className: "graview-bar-name", children: _jsxs(Home, { ...(home.href !== undefined ? { href: home.href, onClick: press(home.go) } : { type: "button", onClick: home.go }), "data-testid": "app-home", ...(home.current ? { "aria-current": "page" } : {}), title: description ? `${name} — ${description}` : `${name} — home`, className: "graview-bar-home", children: [_jsx(AppMark, { brand: brand, size: 20 }), _jsx("span", { className: "graview-bar-app-name", "data-testid": "app-name", children: name })] }) }) }) : null, faces ? _jsx(FaceSwitch, { faces: faces, form: switchForm, drawn: drawn }) : null, _jsx("div", { className: "graview-bar-mid", ...(stands ? { "data-places": "standing" } : !compact && placeControl ? { "data-place": "" } : {}), children: compact ? null : placeControl }), !compact && list && list.places.length > 1 ? (_jsxs("span", { className: "graview-bar-ruler", "aria-hidden": "true", "data-graview-bar-ruler": "", children: [list.places.map((place) => (_jsx("span", { className: "graview-bar-at", children: place.label }, place.key))), _jsxs("span", { className: "graview-bar-at", children: [MORE, _jsx(Chevron, {})] })] })) : null, actions && actions.length > 0 ? (_jsx("span", { className: "graview-bar-ruler", "aria-hidden": "true", "data-graview-bar-host-ruler": "", children: _jsx("span", { className: "graview-bar-host", children: actions.map((action) => (_jsxs("span", { className: "graview-bar-host-action", children: [action.icon ? _jsx(HostMark, { icon: action.icon }) : null, _jsx("span", { children: action.label })] }, action.label))) }) })) : null, named ? (_jsx("span", { className: "graview-bar-ruler", "aria-hidden": "true", children: _jsx("span", { className: "graview-bar-name", children: name }) })) : null, _jsxs("div", { className: "graview-bar-tools", children: [find ? (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", className: "graview-bar-find-open", ref: opener, "data-testid": "app-find-open", "aria-label": "Find", title: "Find", onClick: openFind, style: { ...toolStyle, display: undefined }, children: _jsx(FindMark, {}) }), _jsxs("div", { className: "graview-bar-find", "data-testid": "app-find", onBlur: (event) => {
409
422
  // Put away on a phone when the keyboard leaves it with nothing typed.
410
423
  const next = event.relatedTarget;
411
424
  if (next instanceof Node && event.currentTarget.contains(next))
@@ -423,7 +436,7 @@ export function AppBar({ brand, name, heading = 1, home, faces, places, current,
423
436
  putAway();
424
437
  else
425
438
  escaping.current = false;
426
- }, children: [_jsx("div", { ref: setSlot, className: "graview-bar-find-slot", children: findBox }), _jsx(FindKeys, {})] })] })) : null, _jsx("div", { ref: setOwn, className: "graview-bar-own", "data-graview-bar-own": "" }), company ? (_jsx(Suspense, { fallback: null, children: _jsx(Here, { scene: !onPages, compact: compact }) })) : null, _jsx(TheirChanges, {}), tools] })] })] }), compact && placeControl ? (_jsx("div", { className: "graview-bar-line", "data-graview-place-line": "", "data-testid": "app-place-line", children: placeControl })) : null] }));
439
+ }, children: [_jsx("div", { ref: setSlot, className: "graview-bar-find-slot", children: findBox }), _jsx(FindKeys, {})] })] })) : null, _jsx("div", { ref: setOwn, className: "graview-bar-own", "data-graview-bar-own": "" }), company ? (_jsx(Suspense, { fallback: null, children: _jsx(Here, { scene: !onPages, compact: compact }) })) : null, _jsx(TheirChanges, {}), actions && actions.length > 0 ? _jsx(HostButtons, { actions: actions, folded: compact || !hostStands }) : null, tools] })] })] }), compact && placeControl ? (_jsx("div", { className: "graview-bar-line", "data-graview-place-line": "", "data-testid": "app-place-line", children: placeControl })) : null] }));
427
440
  }
428
441
  /**
429
442
  * THE SWITCH (FR-137): the scene and the pages, side by side, an icon and a
@@ -555,6 +568,30 @@ function PlaceMark({ place }) {
555
568
  const GROUPS = [{ group: "home" }, { group: "lists", heading: "Lists" }, { group: "pictures", heading: "Pictures" }];
556
569
  /** The word the places that do not stand on the row fold under (FR-145). */
557
570
  const MORE = "More";
571
+ /**
572
+ * THE HOST'S BUTTONS ON THE ROW (FR-227): each a button named by its label,
573
+ * its mark hidden from the reader, in the order the host gave; folded, one
574
+ * control named "More" and what it holds, whose list is the same buttons,
575
+ * one of the bar's own family of popovers (closed by a press, Escape, or a
576
+ * press away, the keyboard back on the control).
577
+ */
578
+ function HostButtons({ actions, folded }) {
579
+ const popover = usePopover("host-actions", { popover: folded });
580
+ const names = actions.map((action) => action.label).join(", ");
581
+ const buttons = (done) => actions.map((action) => (_jsxs("button", { type: "button", className: folded ? "graview-bar-host-action graview-bar-item" : "graview-bar-host-action", "data-testid": "host-bar-action", onClick: () => {
582
+ done();
583
+ action.onSelect();
584
+ }, children: [action.icon ? _jsx(HostMark, { icon: action.icon }) : null, _jsx("span", { children: action.label })] }, action.label)));
585
+ if (!folded) {
586
+ return (_jsx("div", { className: "graview-bar-host", "data-testid": "host-bar-actions-standing", role: "group", "aria-label": "From the host", children: buttons(() => undefined) }));
587
+ }
588
+ return (_jsxs("div", { className: "graview-bar-host", children: [_jsx("button", { type: "button", className: "graview-bar-host-action", "data-testid": "host-bar-actions-open", "data-folded": "", ...popover.trigger, onClick: popover.toggle, "aria-label": `${MORE} — ${names}`, title: names, children: _jsxs(Mark, { size: 16, children: [_jsx("circle", { cx: "3", cy: "8", r: "1.4", fill: "currentColor" }), _jsx("circle", { cx: "8", cy: "8", r: "1.4", fill: "currentColor" }), _jsx("circle", { cx: "13", cy: "8", r: "1.4", fill: "currentColor" })] }) }), _jsx("div", { ...popover.pane, "data-testid": "host-bar-actions", hidden: !popover.open, className: "graview-bar-list", style: POPOVER_STYLE, "aria-label": "From the host", children: buttons(() => popover.setOpen(false)) })] }));
589
+ }
590
+ /** A host button's mark: an inline `<svg>` drawn as one, anything else as the glyph it is; hidden from a reader who cannot see it, the label says it. */
591
+ function HostMark({ icon }) {
592
+ const markup = useMarkup(isInlineSvg(icon) ? icon : undefined);
593
+ return markup ? _jsx("span", { className: "graview-bar-host-mark", "aria-hidden": "true", dangerouslySetInnerHTML: markup }) : _jsx("span", { className: "graview-bar-host-mark", "aria-hidden": "true", children: icon });
594
+ }
558
595
  /**
559
596
  * ONE PLACE, AS THE BAR OFFERS IT — in the list, or standing on the row: a
560
597
  * link where it has an address, a press where the bar decides; marked
@@ -1 +1 @@
1
- {"version":3,"file":"app-bar.js","sourceRoot":"","sources":["../src/app-bar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-bar.js","sourceRoot":"","sources":["../src/app-bar.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../src/chat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,eAAe,CAAC;AAI3D,OAAO,EAUL,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,QAAQ,EAEd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAyD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ9F;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,SAAS;IACjD,mEAAmE;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC3C,qHAAqH;IACrH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,iGAAiG;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AA2BD,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,EAC7C,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAe,EACf,KAAK,EACL,MAAc,EACd,QAAe,EACf,MAAM,EACN,KAAK,EACL,OAAO,GACR,EAAE,cAAc,CAAC,CAAC,CAAC,+BAyZnB;AAED,gFAAgF;AAChF,eAAO,MAAM,YAAY;;;;;;;;;;;CAWf,CAAC;AAEX,uFAAuF;AACvF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;CAcP,CAAC"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../src/chat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,eAAe,CAAC;AAI3D,OAAO,EAcL,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,QAAQ,EAEd,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAyD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAS9F;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,SAAS;IACjD,mEAAmE;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC3C,qHAAqH;IACrH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,iGAAiG;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAoCD,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,EAC7C,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAe,EACf,KAAK,EACL,MAAc,EACd,QAAe,EACf,MAAM,EACN,KAAK,EACL,OAAO,GACR,EAAE,cAAc,CAAC,CAAC,CAAC,+BAifnB;AAED,gFAAgF;AAChF,eAAO,MAAM,YAAY;;;;;;;;;;;CAWf,CAAC;AAEX,uFAAuF;AACvF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;CAcP,CAAC"}
package/dist/chat.js CHANGED
@@ -2,10 +2,11 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { useAttention } from "@graview/react/drawing";
3
3
  import { useGraview, useSeatTalkState, useSelection } from "@graview/react/provider";
4
4
  import { kindCardId, withFocus, withOverview, withSelection } from "@graview/layout/view";
5
- import { completionFor, createToolRuntime, describeProposal, loadPins, resolveProposal, seatResponder, stillNeeded, withNotNow, } from "@graview/tools";
5
+ import { aiOff, completionFor, createToolRuntime, decideFor, describeProposal, loadPins, mayChangeDeclaration, resolveProposal, seatResponder, stillNeeded, withNotNow, } from "@graview/tools";
6
6
  import { useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
7
7
  import { dismissalsOf } from "./dismissals.js";
8
8
  import { useLensKeeping } from "./lens-keeping.js";
9
+ import { ReshapeCard } from "./reshape-card.js";
9
10
  import { useSceneGo } from "./seat-move.js";
10
11
  import { useSubject } from "./subject.js";
11
12
  import { proposalKey, SeatComposer, SeatThread, Settled, useSeatConversation } from "./seat.js";
@@ -14,6 +15,15 @@ import { AnswerArgs } from "./workbench/index.js";
14
15
  const DRAW = /\b(?:board|kanban|timeline|calendar|gantt|who covers|covers what|coverage|floor plan|layout|draw|chart|(?:list|table) of|as an? (?:list|table|board|calendar|timeline|grid))\b/i;
15
16
  /** An ask that changes the view on screen: group by, sort by, only, call it, as a … */
16
17
  const REFINE = /\b(?:group(?:ed)? by|split by|sort(?:ed)? by|order(?:ed)? by|only|call it|name it|as an? (?:board|kanban|calendar|timeline|list|table|cards|rows|grid|plan|layout)|show all|all of them|clear the filter|no filter)\b/i;
18
+ /**
19
+ * AN ASK ABOUT THE APP ITSELF (Roadmap f-seat-reshape): a new thing to keep
20
+ * track of, a part to drop, a split. Read conservatively — "we also need",
21
+ * "keep track of who", "add a field", "we don't need … any more" — so a
22
+ * sentence about a record ("we need to pay the florist") is never sent to
23
+ * the composer; and even one that is, which the reading finds adds and
24
+ * drops nothing, falls through to the usual answer.
25
+ */
26
+ const RESHAPE = /\b(?:(?:we|i) (?:also|still|now) need|also (?:need|track|keep)|(?:keep )?track (?:of )?(?:who|which|what|where|when|how much)|add (?:a|an|another|the) (?:field|column|kind|status|stage|date|deadline|due date|budget|place|location|person|people|owner|assignee)|(?:don'?t|do not|no longer|never) need(?: the| any| our| these| those)?\b[^.?!]*?\b(?:any ?more|any longer|at all)|no longer need|get rid of|split (?:this|it|them|the \w+) into|stop (?:tracking|keeping))\b/i;
17
27
  // Never an acronym's: "CVEs by severity" stays, never "cVEs by severity".
18
28
  const lowerFirst = (text) => (/^.\p{Lu}/u.test(text) ? text : text.charAt(0).toLowerCase() + text.slice(1));
19
29
  /** What a move is called in the sentence that says it: a link that goes there again. */
@@ -33,7 +43,7 @@ function linked(said, moves, link) {
33
43
  return parts.length === 0 ? said : [...parts, rest];
34
44
  }
35
45
  export function ChatPanel({ respond, onCall, onPick, testId = "chat", empty, shared = false, composer = true, onMove, place, onDraft, }) {
36
- const { store, views, view, principal, setView, seatWho, noteSeat, session, ai, seatTalk, brand, app, subscriptions, signIn, dismissals } = useGraview();
46
+ const { store, views, view, principal, setView, seatWho, noteSeat, session, ai, seatTalk, brand, app, subscriptions, signIn, dismissals, onProposeChange } = useGraview();
37
47
  const sceneGo = useSceneGo();
38
48
  const go = onMove ?? sceneGo;
39
49
  const { takeBack } = useLensKeeping(go);
@@ -68,6 +78,28 @@ export function ChatPanel({ respond, onCall, onPick, testId = "chat", empty, sha
68
78
  }), dismissalsOf(dismissals, app?.name ?? "app", principal)), [store, principal, author, views, app, ai.near, subscriptions, signIn, dismissals]);
69
79
  /* THE GRAPH FIRST, THE HOST'S MODEL AFTER IT: a host that passes `respond` answers in its place. */
70
80
  const answer = useMemo(() => respond ?? seatResponder(ai), [respond, ai]);
81
+ /*
82
+ * A SEAT THAT MAY CHANGE THE APP ITSELF (Roadmap f-seat-reshape): only
83
+ * where the host handed `onProposeChange`, gave a model that decides,
84
+ * mounted the app, and this seat's role may change the declaration —
85
+ * the judgment the studio's door makes (`mayChangeDeclaration`). For any
86
+ * other seat the tool does not exist: no door, no card, nothing refused.
87
+ */
88
+ const decide = useMemo(() => (aiOff(ai) ? undefined : (ai.fast?.decide ?? decideFor(ai))), [ai]);
89
+ const reshape = useMemo(() => {
90
+ if (!onProposeChange || !app || !decide || respond)
91
+ return undefined;
92
+ if (!mayChangeDeclaration(store, { ...author, ...(principal.roles ? { roles: principal.roles } : {}) }))
93
+ return undefined;
94
+ /*
95
+ * The app's document, remembered from the one it compiled from or written
96
+ * from the app, fetched when first asked for — through the reshape door,
97
+ * never by importing `@graview/core/document` here: a page that fetched
98
+ * that entry when asked made its whole namespace live, and the editor it
99
+ * re-exports rode up front with the first draw.
100
+ */
101
+ return { decide, document: async () => (await import("@graview/tools/reshape")).documentOfApp(app) };
102
+ }, [onProposeChange, app, decide, respond, store, author, principal]);
71
103
  useEffect(() => (onCall ? runtime.onCall(onCall) : undefined), [runtime, onCall]);
72
104
  // What the conversation looked at reaches the picture, like any seat's reads.
73
105
  useAttention(runtime);
@@ -106,6 +138,26 @@ export function ChatPanel({ respond, onCall, onPick, testId = "chat", empty, sha
106
138
  onDraft?.();
107
139
  return { say: `Here is ${lowerFirst(result.said)} Ask to change it, or keep it as a lens.`, proposals: [], grounded: true };
108
140
  };
141
+ /*
142
+ * ASKED FOR A CHANGE TO THE APP, THE SEAT COMPOSES IT (`@graview/tools/reshape`,
143
+ * fetched with the first such ask): the words go to the host's `decide`
144
+ * as the starter's questions, code composes the edits, and the answer is
145
+ * a card. A reading that adds and drops nothing is no answer, and the ask
146
+ * goes on to the model or the graph as any other would.
147
+ */
148
+ const reshapeIfAsked = async (text) => {
149
+ if (!reshape || !RESHAPE.test(text))
150
+ return undefined;
151
+ const engine = await import("@graview/tools/reshape");
152
+ const document = typeof reshape.document === "function" ? await reshape.document() : reshape.document;
153
+ // An app declared in code has no document to change: the words go on to the usual answer.
154
+ if (!document)
155
+ return undefined;
156
+ const made = await engine.proposeReshape({ said: text, document, decide: reshape.decide });
157
+ if (!made.proposal)
158
+ return undefined;
159
+ return { say: made.proposal.card.said, proposals: [], reshape: made.proposal, grounded: true };
160
+ };
109
161
  const conversation = useSeatConversation({
110
162
  ...(shared ? { talk: seatTalk } : {}),
111
163
  said: (proposal) => describeProposal(store, proposal),
@@ -114,6 +166,9 @@ export function ChatPanel({ respond, onCall, onPick, testId = "chat", empty, sha
114
166
  const drawn = await drawIfAsked(text);
115
167
  if (drawn)
116
168
  return drawn;
169
+ const reshaped = await reshapeIfAsked(text);
170
+ if (reshaped)
171
+ return reshaped;
117
172
  /* The places this seat may go to, and where it stands: what "go to The week" and "here" are read against. */
118
173
  const { placesFromViews } = await import("@graview/tools/go");
119
174
  const here = place ?? view.within?.["view"];
@@ -129,6 +184,8 @@ export function ChatPanel({ respond, onCall, onPick, testId = "chat", empty, sha
129
184
  ...(today ? { today } : {}),
130
185
  // And a host's turn reads with the same tools: its `describe_place` knows the app too.
131
186
  ...(app ? { app: app } : {}),
187
+ // And, for a seat that may change the app with a host to apply it, the one tool that proposes it.
188
+ ...(reshape ? { reshape } : {}),
132
189
  });
133
190
  },
134
191
  onReply: (reply) => {
@@ -202,6 +259,40 @@ export function ChatPanel({ respond, onCall, onPick, testId = "chat", empty, sha
202
259
  settle(key, { state: "applied", said });
203
260
  return true;
204
261
  };
262
+ /*
263
+ * A CHANGE TO THE APP ACCEPTED goes to the host, which applies it as the
264
+ * person, as one undoable change, under its own policy — or declines it.
265
+ * Either answer is said where the card stood; the host's refusal is a
266
+ * refusal said at the seat, never a card that stays live.
267
+ */
268
+ const acceptReshape = async (proposal, key) => {
269
+ if (!onProposeChange)
270
+ return;
271
+ try {
272
+ const answered = await onProposeChange(proposal);
273
+ if (answered === "applied") {
274
+ settle(key, { state: "applied", said: proposal.card.said });
275
+ noteSeat({ type: "said", author, say: `Changed the app: ${lowerFirst(proposal.card.said)}` });
276
+ }
277
+ else {
278
+ settle(key, { state: "refused", error: "The host declined this change to the app." });
279
+ noteSeat({ type: "refused", author, where: null, say: "The host declined this change to the app." });
280
+ }
281
+ }
282
+ catch (error) {
283
+ settle(key, { state: "refused", error: error instanceof Error ? error.message : String(error) });
284
+ }
285
+ };
286
+ /* The card said again, for a chip toggled: the same words over the same document; the host composes what is accepted. */
287
+ const recompose = reshape
288
+ ? async (said, add, drop) => {
289
+ const engine = await import("@graview/tools/reshape");
290
+ const document = typeof reshape.document === "function" ? await reshape.document() : reshape.document;
291
+ if (!document)
292
+ throw new Error("This app's declaration is code, not a document the seat can change.");
293
+ return engine.reshapeCard({ said, document, add, drop });
294
+ }
295
+ : undefined;
205
296
  /* ONE REQUEST, ONE PRESS: a turn's proposals in order, stopping at the first that asks or is refused. */
206
297
  const applyAll = async (turn, proposals) => {
207
298
  for (const [at, proposal] of proposals.entries()) {
@@ -255,6 +346,12 @@ export function ChatPanel({ respond, onCall, onPick, testId = "chat", empty, sha
255
346
  }, style: { display: "grid", gridTemplateColumns: "minmax(0, 1fr)", alignContent: "start", gap: 8, minWidth: 0, minHeight: 0 }, children: [conversation.turns.length === 0 ? empty ?? null : null, _jsx(SeatThread, { turns: conversation.turns, outcomes: outcomes, busy: conversation.busy, testId: testId, minHeight: 0, maxHeight: "none", empty: empty !== undefined ? null : (_jsxs(_Fragment, { children: ["Ask what's wrong, ask about anything by name, or say a change in its own words.", selection.length > 0 ? " “This” means what you have selected." : ""] })), renderProposal: (proposal, { key, turn, at }) => offerOne(turn, at, proposal, key), ready: (proposal) => permitted(proposal), onApplyAll: (turn, proposals) => void applyAll(turn, proposals), applyAllLabel: "Do all", renderSaid: (turn, said) => turn.moves?.length
256
347
  ? linked(said, turn.moves, (move, words) => (_jsx("button", { type: "button", "data-testid": `${testId}-went`, title: `Go to ${words}`, onClick: () => go(move), style: { ...LINK, fontSize: "inherit" }, children: words }, `${move.address}:${words}`)))
257
348
  : said, renderAfter: (turn, index) => [
349
+ /* A CHANGE TO THE APP ITSELF, as a card of chips the person toggles, with Accept (Roadmap f-seat-reshape). */
350
+ ...(turn.reshape
351
+ ? [
352
+ _jsx(ReshapeCard, { proposal: turn.reshape, testId: testId, outcome: outcomes.get(`${index}:reshape`), ...(recompose ? { recompose: (add, drop) => recompose(turn.reshape.said, add, drop) } : {}), onAccept: (proposal) => acceptReshape(proposal, `${index}:reshape`), onDecline: (proposal) => settle(`${index}:reshape`, { state: "declined", said: proposal.card.said }) }, `${index}:reshape`),
353
+ ]
354
+ : []),
258
355
  /* A PICTURE THE MOVES COULD NOT SHOW, offered: drawn when pressed. */
259
356
  ...(turn.offer
260
357
  ? [