@hanzo/ui 8.27.19 → 8.27.22

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 (113) hide show
  1. package/dist/backends/gui/item.cjs +2 -3
  2. package/dist/backends/gui/item.d.ts.map +1 -1
  3. package/dist/backends/gui/item.js +1 -2
  4. package/dist/backends/gui/item.js.map +1 -1
  5. package/dist/backends/gui/press.cjs +29 -0
  6. package/dist/backends/gui/press.d.ts +28 -0
  7. package/dist/backends/gui/press.d.ts.map +1 -0
  8. package/dist/backends/gui/press.js +26 -0
  9. package/dist/backends/gui/press.js.map +1 -0
  10. package/dist/backends/gui/toggle-group.cjs +2 -3
  11. package/dist/backends/gui/toggle-group.d.ts.map +1 -1
  12. package/dist/backends/gui/toggle-group.js +1 -2
  13. package/dist/backends/gui/toggle-group.js.map +1 -1
  14. package/dist/backends/gui/toggle.cjs +3 -4
  15. package/dist/backends/gui/toggle.d.ts.map +1 -1
  16. package/dist/backends/gui/toggle.js +1 -2
  17. package/dist/backends/gui/toggle.js.map +1 -1
  18. package/dist/catalog/Shelf.cjs +76 -0
  19. package/dist/catalog/Shelf.d.ts +55 -0
  20. package/dist/catalog/Shelf.d.ts.map +1 -0
  21. package/dist/catalog/Shelf.js +74 -0
  22. package/dist/catalog/Shelf.js.map +1 -0
  23. package/dist/catalog/Tile.cjs +72 -0
  24. package/dist/catalog/Tile.d.ts +56 -0
  25. package/dist/catalog/Tile.d.ts.map +1 -0
  26. package/dist/catalog/Tile.js +67 -0
  27. package/dist/catalog/Tile.js.map +1 -0
  28. package/dist/catalog/index.cjs +23 -0
  29. package/dist/catalog/index.d.ts +16 -0
  30. package/dist/catalog/index.d.ts.map +1 -0
  31. package/dist/catalog/index.js +16 -0
  32. package/dist/catalog/index.js.map +1 -0
  33. package/dist/chat/Home.cjs +30 -0
  34. package/dist/chat/Home.d.ts +35 -0
  35. package/dist/chat/Home.d.ts.map +1 -0
  36. package/dist/chat/Home.js +28 -0
  37. package/dist/chat/Home.js.map +1 -0
  38. package/dist/chat/SessionRail.cjs +165 -37
  39. package/dist/chat/SessionRail.d.ts +92 -14
  40. package/dist/chat/SessionRail.d.ts.map +1 -1
  41. package/dist/chat/SessionRail.js +165 -39
  42. package/dist/chat/SessionRail.js.map +1 -1
  43. package/dist/chat/index.cjs +6 -1
  44. package/dist/chat/index.d.ts +2 -1
  45. package/dist/chat/index.d.ts.map +1 -1
  46. package/dist/chat/index.js +2 -1
  47. package/dist/chat/index.js.map +1 -1
  48. package/dist/gallery.cjs +78 -2
  49. package/dist/gallery.d.ts +13 -0
  50. package/dist/gallery.d.ts.map +1 -1
  51. package/dist/gallery.html +47 -3
  52. package/dist/gallery.js +78 -3
  53. package/dist/gallery.js.map +1 -1
  54. package/dist/models/ModelSelector.cjs +19 -4
  55. package/dist/models/ModelSelector.d.ts +10 -1
  56. package/dist/models/ModelSelector.d.ts.map +1 -1
  57. package/dist/models/ModelSelector.js +20 -5
  58. package/dist/models/ModelSelector.js.map +1 -1
  59. package/dist/models/catalog.cjs +19 -0
  60. package/dist/models/catalog.d.ts +13 -0
  61. package/dist/models/catalog.d.ts.map +1 -1
  62. package/dist/models/catalog.js +18 -0
  63. package/dist/models/catalog.js.map +1 -1
  64. package/dist/models/index.cjs +2 -1
  65. package/dist/models/index.d.ts +1 -1
  66. package/dist/models/index.d.ts.map +1 -1
  67. package/dist/models/index.js +1 -1
  68. package/dist/models/index.js.map +1 -1
  69. package/dist/product/ChipSelect.cjs +2 -3
  70. package/dist/product/ChipSelect.d.ts.map +1 -1
  71. package/dist/product/ChipSelect.js +1 -2
  72. package/dist/product/ChipSelect.js.map +1 -1
  73. package/dist/product/MenuRow.cjs +2 -1
  74. package/dist/product/MenuRow.d.ts +11 -7
  75. package/dist/product/MenuRow.d.ts.map +1 -1
  76. package/dist/product/MenuRow.js +3 -2
  77. package/dist/product/MenuRow.js.map +1 -1
  78. package/dist/product/OrgSwitcher.cjs +16 -5
  79. package/dist/product/OrgSwitcher.d.ts.map +1 -1
  80. package/dist/product/OrgSwitcher.js +16 -5
  81. package/dist/product/OrgSwitcher.js.map +1 -1
  82. package/dist/product/UserMenu.cjs +19 -27
  83. package/dist/product/UserMenu.d.ts +2 -21
  84. package/dist/product/UserMenu.d.ts.map +1 -1
  85. package/dist/product/UserMenu.js +23 -31
  86. package/dist/product/UserMenu.js.map +1 -1
  87. package/dist/product/account.cjs +37 -0
  88. package/dist/product/account.d.ts +55 -0
  89. package/dist/product/account.d.ts.map +1 -0
  90. package/dist/product/account.js +35 -0
  91. package/dist/product/account.js.map +1 -0
  92. package/dist/product/menu/roving.cjs +4 -1
  93. package/dist/product/menu/roving.d.ts +8 -3
  94. package/dist/product/menu/roving.d.ts.map +1 -1
  95. package/dist/product/menu/roving.js +4 -1
  96. package/dist/product/menu/roving.js.map +1 -1
  97. package/dist/settings/Section.cjs +71 -0
  98. package/dist/settings/Section.d.ts +78 -0
  99. package/dist/settings/Section.d.ts.map +1 -0
  100. package/dist/settings/Section.js +62 -0
  101. package/dist/settings/Section.js.map +1 -0
  102. package/dist/settings/Settings.cjs +54 -0
  103. package/dist/settings/Settings.d.ts +50 -0
  104. package/dist/settings/Settings.d.ts.map +1 -0
  105. package/dist/settings/Settings.js +52 -0
  106. package/dist/settings/Settings.js.map +1 -0
  107. package/dist/settings/index.cjs +26 -0
  108. package/dist/settings/index.d.ts +15 -0
  109. package/dist/settings/index.d.ts.map +1 -0
  110. package/dist/settings/index.js +15 -0
  111. package/dist/settings/index.js.map +1 -0
  112. package/dist/styles.css +44 -0
  113. package/package.json +19 -1
@@ -1,41 +1,55 @@
1
1
  'use client';
2
2
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  /**
4
- * SessionRail — the left rail of a sessions surface: start one, go somewhere,
5
- * reopen a recent one, and who you are.
4
+ * SessionRail — the left rail of a sessions surface: who it is, find one, start
5
+ * one, go somewhere, reopen a recent one, and who you are.
6
6
  *
7
+ * Hanzo Build the brand; pressing it starts a new session
8
+ * [⌕ Search ] finds a session
7
9
  * + New the primary row; the current view on a fresh pane
8
10
  * Artifacts · Customize … the surface's own places, as `links`
9
11
  * More ⌄ a disclosure over `more`, when there are more
10
12
  * Recents ⇅ the sessions, newest first, each with a status dot
11
- * (z) z@hanzo.ai ⌄ ⚙ ⌕ the account, then settings and search
13
+ * [ Try Hanzo in Slack × ] `notice` — a `RailNotice`, when the host has one
14
+ * (D) Dave ⌄ ◧ the account and its menu, then collapse
15
+ * acme
12
16
  *
13
17
  * Presentational: no routing, no fetching. `active` comes in, `onOpen` goes out.
14
18
  *
15
- * THE SIDEBAR CANON (console, hanzo.app, hanzo.chat, the extension):
19
+ * THE SIDEBAR CANON (console, hanzo.app, hanzo.chat, hanzo.build, the extension):
16
20
  * - Collapse is an EXPLICIT toggle and the host persists it. `collapsed` in,
17
21
  * `onCollapse` out. There is no hover-to-expand and no pin.
18
22
  * - Collapsed is a narrow RAIL that stays on screen — icons only, labels as
19
23
  * tooltips — and its top row is the expand control.
20
- * - Below `md` there is no rail at all. The column hides, and the same
21
- * contents open as a drawer from the left when the host says so (`open`,
22
- * `onOpenChange`) — typically from a menu button only a phone shows.
24
+ * - Below `md` there is no rail at all. The column hides, `RailBar` is the
25
+ * pane's header (menu · brand · search), and its menu opens the same
26
+ * contents as a drawer from the left (`open`, `onOpenChange`). Anything
27
+ * chosen in the drawer closes it: the drawer is the way to a place, not a
28
+ * place.
29
+ *
30
+ * ONE WAY to each thing. Search is the box in the head (an icon on the collapsed
31
+ * rail); settings, usage and signing out are rows of the account menu. There is
32
+ * no second search or settings control at the foot.
23
33
  *
24
34
  * Built from the chat `Sidebar` column and its icon button, so the rail is the
25
- * same material as every other chat surface's.
35
+ * same material as every other chat surface's. The account menu is the same
36
+ * body `UserMenu` draws (`product/account.tsx`), anchored to the account row
37
+ * itself — above it on the open rail, beside it on the collapsed one.
26
38
  */
27
39
  import { ScrollView, SizableText, XStack, YStack } from '@hanzo/gui';
28
- import { ArrowDownUp, ChevronDown, ChevronUp, PanelLeft, Plus, Search, Settings, } from '@hanzogui/lucide-icons-2';
29
- import { useId, useState } from 'react';
40
+ import { ArrowDownUp, ChevronDown, ChevronUp, Menu, PanelLeft, Plus, Search, X, } from '@hanzogui/lucide-icons-2';
41
+ import { useId, useRef, useState } from 'react';
42
+ import { Button } from '../backends/gui/button.js';
43
+ import { Popover, PopoverContent, PopoverTrigger } from '../backends/gui/popover.js';
44
+ import { press, RING } from '../backends/gui/press.js';
30
45
  import { Sheet, SheetContent, SheetTitle } from '../backends/gui/sheet.js';
31
46
  import { slot, tip } from '../backends/gui/slot.js';
47
+ import { Account } from '../product/account.js';
32
48
  import { Sidebar, SidebarIconButton } from './Sidebar.js';
33
49
  /** Expanded width, px — the column's own width, its hairline outside it. */
34
50
  const WIDTH = 272;
35
51
  /** Collapsed width, px. The same rail width every chat surface collapses to. */
36
52
  const RAIL = 56;
37
- /** The keyboard focus ring every control in the package draws. */
38
- const RING = { outlineColor: '$outlineColor', outlineWidth: 2, outlineStyle: 'solid' };
39
53
  /** One row: 32px, the 8px radius, icon then label. */
40
54
  const ROW = { minH: 32, px: '$2', rounded: '$3', gap: '$2.5' };
41
55
  /** The status mark: a 6px dot, filled while something is happening. */
@@ -48,47 +62,159 @@ export function StatusDot({ status = 'idle' }) {
48
62
  }
49
63
  /** Where a row starts: the 16px column every icon and dot sits centred in. */
50
64
  const Lead = ({ children }) => (_jsx(XStack, { width: 16, height: 16, shrink: 0, items: "center", justify: "center", children: children }));
65
+ /**
66
+ * The surface's name, the head's first line and the phone bar's middle. A
67
+ * press when there is somewhere to go; the words alone otherwise.
68
+ */
69
+ function Brand({ brand, onPress }) {
70
+ const face = typeof brand === 'string' ? (_jsx(SizableText, { size: "$5", fontWeight: "600", color: "$ink", numberOfLines: 1, children: brand })) : (brand);
71
+ if (!onPress)
72
+ return _jsx(XStack, { ...slot('rail-brand'), items: "center", minW: 0, children: face });
73
+ return (_jsx(XStack, { ...slot('rail-brand'), ...press(onPress), items: "center", minW: 0, rounded: "$2", cursor: "pointer", focusVisibleStyle: RING, children: face }));
74
+ }
51
75
  /** One nav row. On the rail it is the icon alone, the label its tooltip and name. */
52
- function Row({ label, icon, onPress, active, rail, quiet, expanded, controls, data = 'rail-row' }) {
53
- return (_jsxs(XStack, { ...slot(data), ...(rail ? tip(label) : null), ...ROW, items: "center", justify: rail ? 'center' : 'flex-start', cursor: "pointer", role: "button", tabIndex: 0, "aria-label": rail ? label : undefined, "aria-current": active ? 'page' : undefined, "aria-expanded": expanded, "aria-controls": controls, bg: active ? '$raised' : undefined, hoverStyle: { bg: active ? '$raised' : '$hover' }, pressStyle: { bg: '$raised' }, focusVisibleStyle: RING, onPress: onPress, onKeyDown: (e) => {
54
- if (e?.key !== 'Enter' && e?.key !== ' ')
55
- return;
56
- e.preventDefault?.();
57
- onPress?.();
58
- }, children: [_jsx(Lead, { children: icon }), rail ? null : (_jsx(SizableText, { size: "$3", numberOfLines: 1, flex: 1, color: quiet ? '$soft' : '$ink', children: label }))] }));
76
+ function Item({ label, icon, onPress, active, rail, quiet, expanded, controls, data = 'rail-row' }) {
77
+ return (_jsxs(XStack, { ...slot(data), ...(rail ? tip(label) : null), ...press(onPress), ...ROW, items: "center", justify: rail ? 'center' : 'flex-start', cursor: "pointer", "aria-label": rail ? label : undefined, "aria-current": active ? 'page' : undefined, "aria-expanded": expanded, "aria-controls": controls, bg: active ? '$raised' : undefined, hoverStyle: { bg: active ? '$raised' : '$hover' }, pressStyle: { bg: '$raised' }, focusVisibleStyle: RING, children: [_jsx(Lead, { children: icon }), rail ? null : (_jsx(SizableText, { size: "$3", numberOfLines: 1, flex: 1, color: quiet ? '$soft' : '$ink', children: label }))] }));
59
78
  }
60
- /** The account line: avatar, the name clamped, the caret. */
61
- function Account({ account, rail }) {
62
- const face = (_jsx(XStack, { width: 24, height: 24, rounded: 9999, items: "center", justify: "center", bg: "$raised", overflow: "hidden", shrink: 0, children: account.avatar ?? (_jsx(SizableText, { size: "$1", fontWeight: "600", color: "$ink", children: account.name.charAt(0).toUpperCase() })) }));
63
- return (_jsxs(XStack, { ...slot('rail-account'), ...(rail ? tip(account.name) : null), ...ROW, gap: "$2", px: "$1", flex: rail ? undefined : 1, minW: 0, items: "center", justify: rail ? 'center' : 'flex-start', cursor: account.onPress ? 'pointer' : undefined, role: account.onPress ? 'button' : undefined, tabIndex: account.onPress ? 0 : undefined, "aria-label": account.onPress ? `Account: ${account.name}` : undefined, "aria-haspopup": account.onPress ? 'menu' : undefined, hoverStyle: account.onPress ? { bg: '$hover' } : undefined, onPress: account.onPress, onKeyDown: (e) => {
64
- if (!account.onPress || (e?.key !== 'Enter' && e?.key !== ' '))
65
- return;
66
- e.preventDefault?.();
67
- account.onPress();
68
- }, children: [face, rail ? null : (_jsxs(_Fragment, { children: [_jsx(SizableText, { size: "$3", numberOfLines: 1, flex: 1, minW: 0, color: "$ink", children: account.name }), account.onPress ? _jsx(ChevronDown, { size: 14, color: "$soft" }) : null] }))] }));
79
+ /** The menu exists when there is something in it to do. */
80
+ const hasMenu = (a) => Boolean(a.onSignOut || a.groups?.some((g) => (Array.isArray(g) ? g : g.items).length));
81
+ /**
82
+ * The account row: avatar, the name over its second line, the caret — and the
83
+ * menu it opens, anchored to the row itself.
84
+ */
85
+ function Who({ account, rail }) {
86
+ const [open, setOpen] = useState(false);
87
+ // The row, so closing the menu can hand focus back to it: the popover's own
88
+ // return goes through a trigger ref that an `asChild` stack never fills.
89
+ const row = useRef(null);
90
+ const menu = hasMenu(account);
91
+ const acts = menu || Boolean(account.onPress);
92
+ const said = account.sub ? `${account.name} · ${account.sub}` : account.name;
93
+ const face = (_jsx(XStack, { width: 24, height: 24, rounded: 9999, items: "center", justify: "center", bg: "$raised", overflow: "hidden", shrink: 0, "aria-hidden": true, children: account.avatar ?? (_jsx(SizableText, { size: "$1", fontWeight: "600", color: "$ink", children: account.name.charAt(0).toUpperCase() })) }));
94
+ const look = {
95
+ ...slot('rail-account'),
96
+ ...(rail ? tip(said) : null),
97
+ ...ROW,
98
+ gap: '$2',
99
+ px: '$1',
100
+ flex: rail ? undefined : 1,
101
+ minW: 0,
102
+ items: 'center',
103
+ justify: rail ? 'center' : 'flex-start',
104
+ cursor: acts ? 'pointer' : undefined,
105
+ hoverStyle: acts ? { bg: '$hover' } : undefined,
106
+ focusVisibleStyle: acts ? RING : undefined,
107
+ };
108
+ const body = (_jsxs(_Fragment, { children: [face, rail ? null : (_jsxs(_Fragment, { children: [_jsxs(YStack, { flex: 1, minW: 0, children: [_jsx(SizableText, { size: "$3", numberOfLines: 1, color: "$ink", children: account.name }), account.sub ? (_jsx(SizableText, { ...slot('rail-account-sub'), size: "$1", numberOfLines: 1, color: "$soft", children: account.sub })) : null] }), acts ? _jsx(ChevronDown, { size: 14, color: "$soft" }) : null] }))] }));
109
+ if (!menu)
110
+ return account.onPress ? (_jsx(XStack, { ...look, ...press(account.onPress), "aria-label": `Account: ${said}`, children: body })) : (_jsx(XStack, { ...look, children: body }));
111
+ return (_jsxs(Popover, { open: open, onOpenChange: setOpen,
112
+ // Above the row on the open rail, where the row spans the column; beside
113
+ // it on the collapsed rail, where above would cover the rail's icons.
114
+ placement: rail ? 'right-end' : 'top-start', allowFlip: true, stayInFrame: true, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(XStack, { ref: row, ...look, role: "button", tabIndex: 0, "aria-label": `Account: ${said}`, "aria-haspopup": "menu", "aria-expanded": open,
115
+ // The trigger opens on a press; the keyboard is this row's own (gui
116
+ // does not activate role="button" on Enter).
117
+ onKeyDown: (e) => {
118
+ if (e?.key !== 'Enter' && e?.key !== ' ')
119
+ return;
120
+ e.preventDefault?.();
121
+ setOpen(!open);
122
+ }, children: body }) }), _jsx(PopoverContent, { ...slot('rail-menu'), role: "menu", "aria-label": "Account", sideOffset: 6,
123
+ // A menu's rows run its full width; gui's popper centres children.
124
+ // 260 fits a 390 phone's drawer, and the popper keeps it in frame.
125
+ items: "stretch", width: 260, p: "$1", rounded: "$3", elevation: "$2", onCloseAutoFocus: (e) => {
126
+ e.preventDefault();
127
+ row.current?.focus();
128
+ }, children: _jsx(Account, { name: account.name, email: account.email, groups: account.groups, onSignOut: account.onSignOut, signOutLabel: account.signOutLabel, onDone: () => setOpen(false), component: "SessionRail" }) })] }));
69
129
  }
70
130
  /** The rail's contents — the same tree in the column and in the drawer. */
71
- function Contents({ onNew, newLabel = 'New', fresh = false, links = [], more = [], moreLabel = 'More', recents, recentsLabel = 'Recents', active = null, onOpen, onSort, sortLabel = 'Sort and filter', empty, notice, account, onSettings, onSearch, collapsed = false, onCollapse, mark, rail, }) {
131
+ function Contents({ brand, onBrand, onSearch, searchLabel = 'Search', onNew, newLabel = 'New', fresh = false, links = [], more = [], moreLabel = 'More', recents, recentsLabel = 'Recents', active = null, onOpen, onSort, sortLabel = 'Sort and filter', empty, notice, account, collapsed = false, onCollapse, mark, rail, }) {
72
132
  const [unfolded, setUnfolded] = useState(false);
73
133
  const id = useId();
74
134
  const moreId = `${id}-more`;
75
135
  const headId = `${id}-recents`;
76
- return (_jsxs(_Fragment, { children: [rail ? (_jsx(XStack, { justify: "center", pb: "$1", children: _jsx(SidebarIconButton, { label: "Expand sidebar", width: 36, height: 36, onPress: () => onCollapse?.(false), children: mark ?? _jsx(PanelLeft, { size: 16 }) }) })) : null, _jsxs(YStack, { ...slot('rail-nav'), gap: "$0", role: "list", children: [onNew ? (_jsx(YStack, { role: "listitem", children: _jsx(Row, { label: newLabel, icon: _jsx(Plus, { size: 16 }), onPress: onNew, active: fresh, rail: rail, data: "rail-new" }) })) : null, links.map((link) => (_jsx(YStack, { role: "listitem", children: _jsx(Row, { label: link.label, icon: link.icon, onPress: link.onPress, active: link.active, rail: rail }) }, link.id))), more.length ? (_jsxs(YStack, { role: "listitem", children: [_jsx(Row, { label: moreLabel, icon: unfolded ? _jsx(ChevronUp, { size: 16 }) : _jsx(ChevronDown, { size: 16 }), onPress: () => setUnfolded((v) => !v), rail: rail, quiet: true, expanded: unfolded, controls: moreId, data: "rail-more" }), unfolded ? (_jsx(YStack, { id: moreId, role: "list", gap: "$0", children: more.map((link) => (_jsx(YStack, { role: "listitem", children: _jsx(Row, { label: link.label, icon: link.icon, onPress: link.onPress, active: link.active, rail: rail }) }, link.id))) })) : null] })) : null] }), rail ? (_jsx(YStack, { flex: 1 })) : (_jsxs(YStack, { ...slot('rail-recents'), flex: 1, minH: 0, mt: "$5", children: [_jsxs(XStack, { items: "center", justify: "space-between", height: 28, pl: "$2", pr: "$1", shrink: 0, children: [_jsx(SizableText, { id: headId, size: "$2", color: "$soft", children: recentsLabel }), onSort ? (_jsx(SidebarIconButton, { label: sortLabel, onPress: onSort, width: 24, height: 24, children: _jsx(ArrowDownUp, { size: 14 }) })) : null] }), _jsx(ScrollView, { flex: 1, showsVerticalScrollIndicator: false, children: recents.length === 0 ? (empty ? (_jsx(YStack, { px: "$2", py: "$2", children: typeof empty === 'string' ? (_jsx(SizableText, { size: "$2", color: "$soft", children: empty })) : (empty) })) : null) : (_jsx(YStack, { role: "list", "aria-labelledby": headId, gap: 1, children: recents.map((s) => {
136
+ return (_jsxs(_Fragment, { children: [rail ? (_jsxs(YStack, { items: "center", gap: "$1", pb: "$1", children: [_jsx(SidebarIconButton, { label: "Expand sidebar", width: 36, height: 36, onPress: () => onCollapse?.(false), children: mark ?? _jsx(PanelLeft, { size: 16 }) }), onSearch ? (_jsx(Item, { label: searchLabel, icon: _jsx(Search, { size: 16 }), onPress: onSearch, rail: true, data: "rail-search" })) : null] })) : brand || onSearch ? (_jsxs(YStack, { ...slot('rail-head'), gap: "$2.5", pt: 2, pb: "$4", shrink: 0, children: [brand ? (_jsx(XStack, { px: "$2.5", children: _jsx(Brand, { brand: brand, onPress: onBrand ?? onNew }) })) : null, onSearch ? (_jsxs(XStack, { ...slot('rail-search'), ...press(onSearch), "aria-label": searchLabel, items: "center", gap: "$2", px: "$2.5", height: 34, rounded: "$3", borderWidth: 1, borderColor: "$borderColor", bg: "$panel", cursor: "pointer", hoverStyle: { bg: '$hover' }, focusVisibleStyle: RING, children: [_jsx(Search, { size: 15, color: "$soft" }), _jsx(SizableText, { size: "$2", color: "$soft", children: searchLabel })] })) : null] })) : null, _jsxs(YStack, { ...slot('rail-nav'), gap: "$0", role: "list", children: [onNew ? (_jsx(YStack, { role: "listitem", children: _jsx(Item, { label: newLabel, icon: _jsx(Plus, { size: 16 }), onPress: onNew, active: fresh, rail: rail, data: "rail-new" }) })) : null, links.map((link) => (_jsx(YStack, { role: "listitem", children: _jsx(Item, { label: link.label, icon: link.icon, onPress: link.onPress, active: link.active, rail: rail }) }, link.id))), more.length ? (_jsxs(YStack, { role: "listitem", children: [_jsx(Item, { label: moreLabel, icon: unfolded ? _jsx(ChevronUp, { size: 16 }) : _jsx(ChevronDown, { size: 16 }), onPress: () => setUnfolded((v) => !v), rail: rail, quiet: true, expanded: unfolded, controls: moreId, data: "rail-more" }), unfolded ? (_jsx(YStack, { id: moreId, role: "list", gap: "$0", children: more.map((link) => (_jsx(YStack, { role: "listitem", children: _jsx(Item, { label: link.label, icon: link.icon, onPress: link.onPress, active: link.active, rail: rail }) }, link.id))) })) : null] })) : null] }), rail ? (_jsx(YStack, { flex: 1 })) : (_jsxs(YStack, { ...slot('rail-recents'), flex: 1, minH: 0, mt: "$5", children: [_jsxs(XStack, { items: "center", justify: "space-between", height: 28, pl: "$2", pr: "$1", shrink: 0, children: [_jsx(SizableText, { id: headId, size: "$2", color: "$soft", children: recentsLabel }), onSort ? (_jsx(SidebarIconButton, { label: sortLabel, onPress: onSort, width: 24, height: 24, children: _jsx(ArrowDownUp, { size: 14 }) })) : null] }), _jsx(ScrollView, { flex: 1, showsVerticalScrollIndicator: false, children: recents.length === 0 ? (empty ? (_jsx(YStack, { px: "$2", py: "$2", children: typeof empty === 'string' ? (_jsx(SizableText, { size: "$2", color: "$soft", children: empty })) : (empty) })) : null) : (_jsx(YStack, { role: "list", "aria-labelledby": headId, gap: 1, children: recents.map((s) => {
77
137
  const on = s.id === active;
78
- return (_jsx(YStack, { role: "listitem", children: _jsxs(XStack, { ...slot('rail-session'), ...ROW, items: "center", cursor: "pointer", role: "button", tabIndex: 0, "aria-current": on ? 'page' : undefined, bg: on ? '$raised' : undefined, hoverStyle: { bg: on ? '$raised' : '$hover' }, pressStyle: { bg: '$raised' }, focusVisibleStyle: RING, onPress: () => onOpen(s.id), onKeyDown: (e) => {
79
- if (e?.key !== 'Enter' && e?.key !== ' ')
80
- return;
81
- e.preventDefault?.();
82
- onOpen(s.id);
83
- }, children: [_jsx(Lead, { children: _jsx(StatusDot, { status: s.status }) }), _jsx(SizableText, { size: "$3", numberOfLines: 1, flex: 1, minW: 0, color: on ? '$ink' : '$quiet', children: s.title })] }) }, s.id));
84
- }) })) })] })), notice && !rail ? _jsx(YStack, { pt: "$2", children: notice }) : null, _jsxs(XStack, { ...slot('rail-foot'), items: "center", gap: "$1", pt: "$2", mt: "$1", borderTopWidth: 1, borderColor: "$borderColor", flexDirection: rail ? 'column' : 'row', children: [account ? _jsx(Account, { account: account, rail: rail }) : _jsx(XStack, { flex: 1 }), onSettings ? (_jsx(SidebarIconButton, { label: "Settings", onPress: onSettings, children: _jsx(Settings, { size: 16 }) })) : null, onSearch ? (_jsx(SidebarIconButton, { label: "Search", onPress: onSearch, children: _jsx(Search, { size: 16 }) })) : null, onCollapse && !rail ? (_jsx(SidebarIconButton, { label: "Collapse sidebar", onPress: () => onCollapse(!collapsed), children: _jsx(PanelLeft, { size: 16 }) })) : null] })] }));
138
+ return (_jsx(YStack, { role: "listitem", children: _jsxs(XStack, { ...slot('rail-session'), ...press(() => onOpen(s.id)), ...ROW, items: "center", cursor: "pointer", "aria-current": on ? 'page' : undefined, bg: on ? '$raised' : undefined, hoverStyle: { bg: on ? '$raised' : '$hover' }, pressStyle: { bg: '$raised' }, focusVisibleStyle: RING, children: [_jsx(Lead, { children: _jsx(StatusDot, { status: s.status }) }), _jsx(SizableText, { size: "$3", numberOfLines: 1, flex: 1, minW: 0, color: on ? '$ink' : '$quiet', children: s.title })] }) }, s.id));
139
+ }) })) })] })), notice && !rail ? _jsx(YStack, { pt: "$2", children: notice }) : null, _jsxs(XStack, { ...slot('rail-foot'), items: "center", gap: "$1", pt: "$2", mt: "$1", borderTopWidth: 1, borderColor: "$borderColor", flexDirection: rail ? 'column' : 'row', children: [account ? _jsx(Who, { account: account, rail: rail }) : _jsx(XStack, { flex: 1 }), onCollapse && !rail ? (_jsx(SidebarIconButton, { label: "Collapse sidebar", onPress: () => onCollapse(!collapsed), children: _jsx(PanelLeft, { size: 16 }) })) : null] })] }));
85
140
  }
141
+ /** `run`, then close the drawer — or nothing, when there is nothing to run. */
142
+ const closing = (close) => (run) => run ? (...args) => (close(), run(...args)) : undefined;
86
143
  export function SessionRail(props) {
87
144
  const {
88
145
  // Everything the contents read is named here, so none of it reaches the
89
146
  // column as a stray DOM attribute through `rest`.
90
- onNew, newLabel, fresh, links, more, moreLabel, recents, recentsLabel, active, onOpen, onSort, sortLabel, empty, notice, account, onSettings, onSearch, collapsed = false, onCollapse, mark, open = false, onOpenChange, label = 'Sessions', width = WIDTH, ...rest } = props;
147
+ brand, onBrand, onSearch, searchLabel, onNew, newLabel, fresh, links, more, moreLabel, recents, recentsLabel, active, onOpen, onSort, sortLabel, empty, notice, account, collapsed = false, onCollapse, mark, open = false, onOpenChange, label = 'Sessions', width = WIDTH, ...rest } = props;
91
148
  const rail = collapsed;
92
- return (_jsxs(_Fragment, { children: [_jsx(Sidebar, { ...slot('session-rail'), role: "navigation", "aria-label": label, "data-collapsed": rail ? 'true' : 'false', width: rail ? RAIL : width, gap: "$0", px: rail ? '$1.5' : '$2', py: "$2", "$max-md": { display: 'none' }, ...rest, children: _jsx(Contents, { ...props, rail: rail }) }), open ? (_jsx(Sheet, { open: open, onOpenChange: onOpenChange, children: _jsxs(SheetContent, { side: "left", width: width, maxW: "86%", p: "$2", gap: "$0", bg: "$panel", children: [_jsx(SheetTitle, { ...slot('session-rail-title'), position: "absolute", opacity: 0, pointerEvents: "none", children: label }), _jsx(YStack, { ...slot('session-rail-drawer'), role: "navigation", "aria-label": label, flex: 1, minH: 0, children: _jsx(Contents, { ...props, rail: false, collapsed: false, onCollapse: undefined, onNew: onNew ? () => (onOpenChange?.(false), onNew()) : undefined, onOpen: (sid) => (onOpenChange?.(false), onOpen(sid)) }) })] }) })) : null] }));
149
+ // Where focus was when the drawer opened — the phone bar's menu button — and
150
+ // where it goes back to when the drawer closes, by Escape or by a choice. A
151
+ // dialog returns focus to its own trigger, and this drawer has none: the host
152
+ // opens it from `RailBar`, which the dialog cannot see.
153
+ //
154
+ // Read in RENDER, on the one render where `open` turns true — before the
155
+ // drawer exists. gui's Dialog is a native `<dialog>`, and a browser moves focus
156
+ // into one the moment it opens, so by any effect (the focus scope's own
157
+ // `onOpenAutoFocus` included, which then never fires because focus is already
158
+ // inside) the opener is gone. jsdom's `<dialog>` moves nothing, which is why
159
+ // the unit suite could not see this and the consumer suite asserts it.
160
+ const back = useRef(null);
161
+ const was = useRef(false);
162
+ if (open && !was.current && typeof document !== 'undefined')
163
+ back.current = document.activeElement;
164
+ was.current = open;
165
+ // One way out, said ONCE per gesture. A choice closes the drawer, and the
166
+ // dialog can also report its own dismissal while it unmounts in that same
167
+ // turn; the host hears one `onOpenChange(false)`. The latch lets go after the
168
+ // turn, so a host that keeps the drawer open still hears the next choice.
169
+ const closed = useRef(false);
170
+ const close = () => {
171
+ if (closed.current)
172
+ return;
173
+ closed.current = true;
174
+ setTimeout(() => {
175
+ closed.current = false;
176
+ }, 0);
177
+ onOpenChange?.(false);
178
+ };
179
+ const shut = closing(close);
180
+ const relink = (list) => list?.map((l) => ({ ...l, onPress: shut(l.onPress) }));
181
+ return (_jsxs(_Fragment, { children: [_jsx(Sidebar, { ...slot('session-rail'), role: "navigation", "aria-label": label, "data-collapsed": rail ? 'true' : 'false', width: rail ? RAIL : width, gap: "$0", px: rail ? '$1.5' : '$2', py: "$2", "$max-md": { display: 'none' }, ...rest, children: _jsx(Contents, { ...props, rail: rail }) }), open ? (_jsx(Sheet, { open: open, onOpenChange: (next) => (next ? onOpenChange?.(true) : close()), children: _jsxs(SheetContent, { side: "left", width: width, maxW: "86%", p: "$2", gap: "$0", bg: "$panel", onCloseAutoFocus: (e) => {
182
+ const to = back.current;
183
+ if (!to?.isConnected)
184
+ return;
185
+ e.preventDefault();
186
+ // After the event that closed it: a tap on the overlay dismisses on
187
+ // pointerdown, and the mousedown that follows would blur this
188
+ // focus straight back to the page.
189
+ setTimeout(() => {
190
+ if (to.isConnected)
191
+ to.focus();
192
+ }, 0);
193
+ }, children: [_jsx(SheetTitle, { ...slot('session-rail-title'), position: "absolute", opacity: 0, pointerEvents: "none", children: label }), _jsx(YStack, { ...slot('session-rail-drawer'), role: "navigation", "aria-label": label, flex: 1, minH: 0, children: _jsx(Contents, { ...props, rail: false, collapsed: false, onCollapse: undefined, onBrand: shut(onBrand ?? onNew), onSearch: shut(onSearch), onNew: shut(onNew), onOpen: shut(onOpen), links: relink(links), more: relink(more), account: account && {
194
+ ...account,
195
+ onPress: shut(account.onPress),
196
+ onSignOut: shut(account.onSignOut),
197
+ groups: account.groups?.map((g) => Array.isArray(g)
198
+ ? g.map((i) => ({ ...i, onPress: shut(i.onPress) }))
199
+ : { ...g, items: g.items.map((i) => ({ ...i, onPress: shut(i.onPress) })) }),
200
+ } }) })] }) })) : null] }));
201
+ }
202
+ /**
203
+ * RailNotice — a small card at the rail's foot, above the account: an offer
204
+ * ("Try Hanzo in Slack"), its one action, and a way to put it away. Pass it as
205
+ * `SessionRail notice`; the host decides when it shows and remembers a dismissal.
206
+ */
207
+ export function RailNotice({ icon, title, action, onAction, onDismiss, dismissLabel = 'Dismiss', ...rest }) {
208
+ const id = useId();
209
+ return (_jsxs(XStack, { ...slot('rail-notice'), items: "center", gap: "$2.5", px: "$3", py: "$2.5", rounded: "$3", borderWidth: 1, borderColor: "$borderColor", bg: "$panel", ...rest, children: [icon ? (_jsx(XStack, { shrink: 0, "aria-hidden": true, children: icon })) : null, _jsxs(YStack, { flex: 1, minW: 0, gap: "$0.5", children: [_jsx(SizableText, { id: `${id}-title`, size: "$2", color: "$ink", numberOfLines: 1, children: title }), action && onAction ? (_jsx(XStack, { ...slot('rail-notice-action'), ...press(onAction), "aria-describedby": `${id}-title`, self: "flex-start", cursor: "pointer", rounded: "$1", focusVisibleStyle: RING, children: _jsx(SizableText, { size: "$1", color: "$soft", textDecorationLine: "underline", children: action }) })) : null] }), onDismiss ? (_jsx(XStack, { ...slot('rail-notice-dismiss'), ...press(onDismiss), ...tip(dismissLabel), "aria-label": dismissLabel, p: "$1", rounded: "$2", cursor: "pointer", hoverStyle: { bg: '$hover' }, focusVisibleStyle: RING, children: _jsx(X, { size: 14 }) })) : null] }));
210
+ }
211
+ /**
212
+ * RailBar — the phone's header for a surface with a `SessionRail`: the menu
213
+ * that opens the rail's drawer, the brand, and search on the right. Only below
214
+ * `md`, where there is no rail; from `md` up it draws nothing and the rail's own
215
+ * head carries the same three. Place it at the top of the pane, in flow.
216
+ */
217
+ export function RailBar({ onMenu, menuLabel = 'Open menu', brand, onBrand, onSearch, searchLabel = 'Search', ...rest }) {
218
+ return (_jsxs(XStack, { ...slot('rail-bar'), height: 44, px: "$2", gap: "$2", items: "center", shrink: 0, $md: { display: 'none' }, ...rest, children: [_jsx(Button, { variant: "ghost", size: "icon-sm", onPress: onMenu, "aria-label": menuLabel, children: _jsx(Menu, { size: 18 }) }), brand ? _jsx(Brand, { brand: brand, onPress: onBrand }) : null, _jsx(XStack, { flex: 1 }), onSearch ? (_jsx(Button, { variant: "ghost", size: "icon-sm", onPress: onSearch, "aria-label": searchLabel, children: _jsx(Search, { size: 18 }) })) : null] }));
93
219
  }
94
220
  //# sourceMappingURL=SessionRail.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionRail.js","sourceRoot":"","sources":["../../src/chat/SessionRail.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionRail.js","sourceRoot":"","sources":["../../src/chat/SessionRail.tsx"],"names":[],"mappings":"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"}
@@ -14,7 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.clip = exports.Persona = exports.SourceCard = exports.Sources = exports.Inspector = exports.Preview = exports.made = exports.answer = exports.read = exports.stage = exports.EMPTY = exports.TOOLS = exports.Failure = exports.Step = exports.Code = exports.Aside = exports.AsideToggle = exports.ShareButton = exports.HeaderButton = exports.Header = exports.StatusDot = exports.SessionRail = exports.SidebarUser = exports.SidebarFolder = exports.SidebarItem = exports.SidebarSection = exports.SidebarScroll = exports.SidebarNewChat = exports.SidebarIconButton = exports.SidebarHeader = exports.Sidebar = exports.SLACK = exports.pinned = exports.sends = exports.ready = exports.Thread = exports.Message = exports.Caret = exports.NEXT = exports.EmptyPrompt = exports.ASK = exports.ComposerTool = exports.Composer = exports.join = exports.Piece = exports.Parts = exports.words = exports.Chat = void 0;
17
+ exports.Persona = exports.SourceCard = exports.Sources = exports.Inspector = exports.Preview = exports.made = exports.answer = exports.read = exports.stage = exports.EMPTY = exports.TOOLS = exports.Failure = exports.Step = exports.Code = exports.Aside = exports.AsideToggle = exports.ShareButton = exports.HeaderButton = exports.Header = exports.StatusDot = exports.RailNotice = exports.RailBar = exports.SessionRail = exports.SidebarUser = exports.SidebarFolder = exports.SidebarItem = exports.SidebarSection = exports.SidebarScroll = exports.SidebarNewChat = exports.SidebarIconButton = exports.SidebarHeader = exports.Sidebar = exports.SLACK = exports.pinned = exports.sends = exports.ready = exports.Thread = exports.Message = exports.Caret = exports.Home = exports.NEXT = exports.EmptyPrompt = exports.ASK = exports.ComposerTool = exports.Composer = exports.join = exports.Piece = exports.Parts = exports.words = exports.Chat = void 0;
18
+ exports.clip = void 0;
18
19
  /**
19
20
  * @hanzo/ui/chat — the one chat shell, on @hanzo/gui primitives.
20
21
  *
@@ -65,6 +66,8 @@ Object.defineProperty(exports, "ASK", { enumerable: true, get: function () { ret
65
66
  var EmptyPrompt_1 = require("./EmptyPrompt.cjs");
66
67
  Object.defineProperty(exports, "EmptyPrompt", { enumerable: true, get: function () { return EmptyPrompt_1.EmptyPrompt; } });
67
68
  Object.defineProperty(exports, "NEXT", { enumerable: true, get: function () { return EmptyPrompt_1.NEXT; } });
69
+ var Home_1 = require("./Home.cjs");
70
+ Object.defineProperty(exports, "Home", { enumerable: true, get: function () { return Home_1.Home; } });
68
71
  var Message_1 = require("./Message.cjs");
69
72
  Object.defineProperty(exports, "Caret", { enumerable: true, get: function () { return Message_1.Caret; } });
70
73
  Object.defineProperty(exports, "Message", { enumerable: true, get: function () { return Message_1.Message; } });
@@ -88,6 +91,8 @@ Object.defineProperty(exports, "SidebarFolder", { enumerable: true, get: functio
88
91
  Object.defineProperty(exports, "SidebarUser", { enumerable: true, get: function () { return Sidebar_1.SidebarUser; } });
89
92
  var SessionRail_1 = require("./SessionRail.cjs");
90
93
  Object.defineProperty(exports, "SessionRail", { enumerable: true, get: function () { return SessionRail_1.SessionRail; } });
94
+ Object.defineProperty(exports, "RailBar", { enumerable: true, get: function () { return SessionRail_1.RailBar; } });
95
+ Object.defineProperty(exports, "RailNotice", { enumerable: true, get: function () { return SessionRail_1.RailNotice; } });
91
96
  Object.defineProperty(exports, "StatusDot", { enumerable: true, get: function () { return SessionRail_1.StatusDot; } });
92
97
  var Header_1 = require("./Header.cjs");
93
98
  Object.defineProperty(exports, "Header", { enumerable: true, get: function () { return Header_1.Header; } });
@@ -38,12 +38,13 @@ export { words, type Part, type Said } from './words.js';
38
38
  export { Parts, Piece, join, type MessagePart, type PartActions, type PartsProps, type PieceProps, } from './Parts.js';
39
39
  export { Composer, ComposerTool, ASK, type ComposerProps, type ComposerToolProps, } from './Composer.js';
40
40
  export { EmptyPrompt, NEXT, type EmptyPromptProps } from './EmptyPrompt.js';
41
+ export { Home, type HomeProps } from './Home.js';
41
42
  export { Caret, Message, type MessageProps, type Role } from './Message.js';
42
43
  export { Thread, type ThreadProps } from './Thread.js';
43
44
  export { ready, sends, type Mods } from './send.js';
44
45
  export { pinned, SLACK, type Track } from './stick.js';
45
46
  export { Sidebar, SidebarHeader, SidebarIconButton, SidebarNewChat, SidebarScroll, SidebarSection, SidebarItem, SidebarFolder, SidebarUser, type SidebarProps, type SidebarHeaderProps, type SidebarIconButtonProps, type SidebarNewChatProps, type SidebarSectionProps, type SidebarItemProps, type SidebarFolderProps, type SidebarUserProps, } from './Sidebar.js';
46
- export { SessionRail, StatusDot, type RailAccount, type RailLink, type RailSession, type SessionRailProps, type SessionStatus, } from './SessionRail.js';
47
+ export { SessionRail, RailBar, RailNotice, StatusDot, type RailAccount, type RailBarProps, type RailLink, type RailNoticeProps, type RailSession, type SessionRailProps, type SessionStatus, } from './SessionRail.js';
47
48
  export { Header, HeaderButton, ShareButton, AsideToggle, Aside, type HeaderProps, type HeaderButtonProps, type ShareButtonProps, type AsideToggleProps, type AsideProps, } from './Header.js';
48
49
  export { Code, type CodeProps } from './Code.js';
49
50
  export { Step, type StepProps, type Ran } from './Step.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"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"}
@@ -38,12 +38,13 @@ export { words } from './words.js';
38
38
  export { Parts, Piece, join, } from './Parts.js';
39
39
  export { Composer, ComposerTool, ASK, } from './Composer.js';
40
40
  export { EmptyPrompt, NEXT } from './EmptyPrompt.js';
41
+ export { Home } from './Home.js';
41
42
  export { Caret, Message } from './Message.js';
42
43
  export { Thread } from './Thread.js';
43
44
  export { ready, sends } from './send.js';
44
45
  export { pinned, SLACK } from './stick.js';
45
46
  export { Sidebar, SidebarHeader, SidebarIconButton, SidebarNewChat, SidebarScroll, SidebarSection, SidebarItem, SidebarFolder, SidebarUser, } from './Sidebar.js';
46
- export { SessionRail, StatusDot, } from './SessionRail.js';
47
+ export { SessionRail, RailBar, RailNotice, StatusDot, } from './SessionRail.js';
47
48
  export { Header, HeaderButton, ShareButton, AsideToggle, Aside, } from './Header.js';
48
49
  export { Code } from './Code.js';
49
50
  export { Step } from './Step.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAE,IAAI,EAA6B,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,KAAK,EAAwB,MAAM,SAAS,CAAA;AACrD,OAAO,EACL,KAAK,EACL,KAAK,EACL,IAAI,GAKL,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,GAAG,GAGJ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAyB,MAAM,eAAe,CAAA;AACxE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAa,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAc,MAAM,SAAS,CAAA;AAEnD,OAAO,EACL,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,GASZ,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,WAAW,EACX,SAAS,GAMV,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,MAAM,EACN,YAAY,EACZ,WAAW,EACX,WAAW,EACX,KAAK,GAMN,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,IAAI,EAA4B,MAAM,QAAQ,CAAA;AACvD,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAA;AAEtD;;;;;;;;GAQG;AACH,OAAO,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAI,GAOL,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,SAAS,EAAqC,MAAM,aAAa,CAAA;AAE1E,OAAO,EACL,OAAO,EACP,UAAU,GAIX,MAAM,WAAW,CAAA;AAElB;;;;;;;GAOG;AACH,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAgD,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAE,IAAI,EAA6B,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,KAAK,EAAwB,MAAM,SAAS,CAAA;AACrD,OAAO,EACL,KAAK,EACL,KAAK,EACL,IAAI,GAKL,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,GAAG,GAGJ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAyB,MAAM,eAAe,CAAA;AACxE,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAa,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAc,MAAM,SAAS,CAAA;AAEnD,OAAO,EACL,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,GASZ,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,SAAS,GAQV,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,MAAM,EACN,YAAY,EACZ,WAAW,EACX,WAAW,EACX,KAAK,GAMN,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,IAAI,EAA4B,MAAM,QAAQ,CAAA;AACvD,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAA;AAEtD;;;;;;;;GAQG;AACH,OAAO,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAI,GAOL,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,SAAS,EAAqC,MAAM,aAAa,CAAA;AAE1E,OAAO,EACL,OAAO,EACP,UAAU,GAIX,MAAM,WAAW,CAAA;AAElB;;;;;;;GAOG;AACH,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAgD,MAAM,WAAW,CAAA"}