basalt-ui 1.40.3 → 2.0.0
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/AGENTS.md +50 -45
- package/CHANGELOG.md +543 -513
- package/MIGRATING.md +969 -37
- package/README.md +172 -367
- package/agent/rules/basalt-batteries.md +19 -74
- package/agent/rules/basalt-charts.md +21 -95
- package/agent/rules/basalt-controls.md +23 -131
- package/agent/rules/basalt-mantine.md +26 -99
- package/agent/rules/basalt-state.md +21 -103
- package/agent/rules/basalt-tokens.md +33 -114
- package/agent/skills/basalt-app/SKILL.md +229 -72
- package/agent/skills/basalt-charts/SKILL.md +23 -57
- package/agent/skills/basalt-design/SKILL.md +12 -70
- package/agent/templates/AGENTS-block.md.tpl +30 -0
- package/agent/templates/DESIGN.md.tpl +2 -2
- package/agent/templates/__root.tpl +9 -16
- package/agent/templates/main.tpl +21 -0
- package/agent/templates/nav.tpl +18 -0
- package/configs/check.yml +1 -1
- package/configs/oxlint-basalt.json +4 -10
- package/configs/oxlint-plugin.js +468 -847
- package/configs/oxlint-plugin.test.ts +662 -710
- package/configs/oxlint.json +10 -2
- package/dist/agent/ai-sdk-transport.d.ts +19 -7
- package/dist/agent/ai-sdk-transport.d.ts.map +1 -1
- package/dist/agent/ai-sdk-transport.js +10 -7
- package/dist/{agent-chat → agent/chat}/composer.d.ts +16 -16
- package/dist/agent/chat/composer.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/composer.js +10 -9
- package/dist/{agent-chat → agent/chat}/message-affordances.d.ts +7 -6
- package/dist/agent/chat/message-affordances.d.ts.map +1 -0
- package/dist/agent/chat/relative-time.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/thread-feed-row.d.ts +18 -16
- package/dist/agent/chat/thread-feed-row.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/thread-feed-row.js +12 -11
- package/dist/{agent-chat → agent/chat}/thread-feed.d.ts +8 -8
- package/dist/agent/chat/thread-feed.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/thread-feed.js +12 -10
- package/dist/{agent-chat → agent/chat}/thread-message.d.ts +12 -9
- package/dist/agent/chat/thread-message.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/thread-message.js +15 -13
- package/dist/{agent-chat → agent/chat}/thread-outcome-card.d.ts +2 -2
- package/dist/agent/chat/thread-outcome-card.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/thread-outcome-card.js +3 -3
- package/dist/{agent-chat → agent/chat}/tool-chip.d.ts +5 -5
- package/dist/agent/chat/tool-chip.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/tool-chip.js +4 -4
- package/dist/agent/chat/use-keyboard-inset.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/use-keyboard-inset.js +1 -1
- package/dist/{agent-chat → agent/chat}/virtualize.d.ts +7 -7
- package/dist/agent/chat/virtualize.d.ts.map +1 -0
- package/dist/agent/error.d.ts +31 -0
- package/dist/agent/error.d.ts.map +1 -0
- package/dist/agent/error.js +18 -0
- package/dist/agent/foreign.d.ts +3 -2
- package/dist/agent/foreign.d.ts.map +1 -1
- package/dist/agent/history.d.ts +2 -36
- package/dist/agent/history.d.ts.map +1 -1
- package/dist/agent/history.js +0 -32
- package/dist/agent/id.d.ts +4 -5
- package/dist/agent/id.d.ts.map +1 -1
- package/dist/agent/index.d.ts +19 -52
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +10 -32
- package/dist/agent/outcome.d.ts +3 -14
- package/dist/agent/outcome.d.ts.map +1 -1
- package/dist/agent/outcome.js +0 -30
- package/dist/agent/part-list.d.ts +3 -3
- package/dist/agent/part-list.d.ts.map +1 -1
- package/dist/agent/parts.d.ts +23 -24
- package/dist/agent/parts.d.ts.map +1 -1
- package/dist/agent/run-committer.d.ts +23 -0
- package/dist/agent/run-committer.d.ts.map +1 -0
- package/dist/agent/run-committer.js +41 -0
- package/dist/agent/run-records.d.ts +77 -0
- package/dist/agent/run-records.d.ts.map +1 -0
- package/dist/agent/run-records.js +69 -0
- package/dist/agent/thread.d.ts +23 -47
- package/dist/agent/thread.d.ts.map +1 -1
- package/dist/agent/thread.js +3 -134
- package/dist/agent/transport.d.ts +6 -69
- package/dist/agent/transport.d.ts.map +1 -1
- package/dist/agent/transport.js +0 -18
- package/dist/agent/use-agent-thread-runs.d.ts +63 -26
- package/dist/agent/use-agent-thread-runs.d.ts.map +1 -1
- package/dist/agent/use-agent-thread-runs.js +202 -66
- package/dist/charts/BandStrip.d.ts +46 -0
- package/dist/charts/BandStrip.d.ts.map +1 -0
- package/dist/charts/BandStrip.js +151 -0
- package/dist/charts/Bars.d.ts +19 -0
- package/dist/charts/Bars.d.ts.map +1 -0
- package/dist/charts/Bars.js +77 -0
- package/dist/charts/CartesianChart.d.ts +57 -0
- package/dist/charts/CartesianChart.d.ts.map +1 -0
- package/dist/charts/CartesianChart.js +121 -0
- package/dist/charts/ChartCard.d.ts +34 -0
- package/dist/charts/ChartCard.d.ts.map +1 -0
- package/dist/charts/ChartCard.js +115 -0
- package/dist/charts/Donut.d.ts +25 -0
- package/dist/charts/Donut.d.ts.map +1 -0
- package/dist/charts/Donut.js +191 -0
- package/dist/charts/DualPanel.d.ts +47 -0
- package/dist/charts/DualPanel.d.ts.map +1 -0
- package/dist/charts/DualPanel.js +214 -0
- package/dist/charts/Heatmap.d.ts +41 -0
- package/dist/charts/Heatmap.d.ts.map +1 -0
- package/dist/charts/Heatmap.js +216 -0
- package/dist/charts/Lines.d.ts +11 -0
- package/dist/charts/Lines.d.ts.map +1 -0
- package/dist/charts/Lines.js +114 -0
- package/dist/charts/MirroredBars.d.ts +44 -0
- package/dist/charts/MirroredBars.d.ts.map +1 -0
- package/dist/charts/MirroredBars.js +190 -0
- package/dist/charts/Sparkline.d.ts +22 -0
- package/dist/charts/Sparkline.d.ts.map +1 -0
- package/dist/charts/Sparkline.js +129 -0
- package/dist/charts/StackedArea.d.ts +15 -0
- package/dist/charts/StackedArea.d.ts.map +1 -0
- package/dist/charts/StackedArea.js +46 -0
- package/dist/charts/box.d.ts +38 -0
- package/dist/charts/box.d.ts.map +1 -0
- package/dist/charts/box.js +72 -0
- package/dist/charts/card-context.d.ts +3 -0
- package/dist/charts/card-context.d.ts.map +1 -0
- package/dist/charts/card-context.js +7 -0
- package/dist/charts/chart-box.module.css +64 -0
- package/{src/content/article-card.module.css.d.ts → dist/charts/chart-box.module.css.d.ts} +5 -9
- package/dist/charts/chart-card.module.css +25 -0
- package/dist/{dashboard/widget-grid.module.css.d.ts → charts/chart-card.module.css.d.ts} +1 -3
- package/dist/charts/chart-legend.module.css +38 -0
- package/{src/dashboard/widget-grid.module.css.d.ts → dist/charts/chart-legend.module.css.d.ts} +3 -3
- package/dist/charts/compile.d.ts +62 -0
- package/dist/charts/compile.d.ts.map +1 -0
- package/dist/charts/compile.js +386 -0
- package/dist/charts/cursor.d.ts +50 -0
- package/dist/charts/cursor.d.ts.map +1 -0
- package/dist/charts/cursor.js +157 -0
- package/dist/charts/curves.d.ts +12 -0
- package/dist/charts/curves.d.ts.map +1 -0
- package/dist/charts/curves.js +86 -0
- package/dist/charts/donut.module.css +54 -0
- package/dist/{content/article-card.module.css.d.ts → charts/donut.module.css.d.ts} +2 -9
- package/dist/charts/host.d.ts +17 -0
- package/dist/charts/host.d.ts.map +1 -0
- package/dist/charts/host.js +35 -0
- package/dist/charts/index.d.ts +18 -53
- package/dist/charts/index.d.ts.map +1 -1
- package/dist/charts/index.js +17 -189
- package/dist/charts/legend.d.ts +23 -0
- package/dist/charts/legend.d.ts.map +1 -0
- package/dist/charts/legend.js +160 -0
- package/dist/charts/marks.d.ts +25 -0
- package/dist/charts/marks.d.ts.map +1 -0
- package/dist/charts/marks.js +128 -0
- package/dist/charts/panel.d.ts +56 -0
- package/dist/charts/panel.d.ts.map +1 -0
- package/dist/charts/panel.js +123 -0
- package/dist/charts/scales.d.ts +44 -0
- package/dist/charts/scales.d.ts.map +1 -0
- package/dist/charts/scales.js +163 -0
- package/dist/charts/sizing.d.ts +12 -0
- package/dist/charts/sizing.d.ts.map +1 -0
- package/dist/charts/sizing.js +33 -0
- package/dist/charts/state.d.ts +17 -0
- package/dist/charts/state.d.ts.map +1 -0
- package/dist/charts/state.js +53 -0
- package/dist/charts/theme.d.ts +38 -19
- package/dist/charts/theme.d.ts.map +1 -1
- package/dist/charts/theme.js +48 -26
- package/dist/charts/types.d.ts +227 -0
- package/dist/charts/types.d.ts.map +1 -0
- package/dist/charts/types.js +4 -0
- package/dist/cli/audit-allows.d.ts +4 -17
- package/dist/cli/audit-allows.d.ts.map +1 -1
- package/dist/cli/config.d.ts +14 -43
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/doctor-upgrade.d.ts +31 -0
- package/dist/cli/doctor-upgrade.d.ts.map +1 -0
- package/dist/cli/doctor-upgrade.js +269 -0
- package/dist/cli/doctor.d.ts +13 -26
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +79 -8
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +2 -4
- package/dist/cli/index.d.ts +68 -135
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +89 -76
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +43 -27
- package/dist/cli/sync.d.ts +5 -21
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +4 -6
- package/dist/cli/tokens-css.d.ts +7 -28
- package/dist/cli/tokens-css.d.ts.map +1 -1
- package/dist/commands/ShortcutsHelp.d.ts.map +1 -1
- package/dist/commands/ShortcutsHelp.js +4 -5
- package/dist/commands/define-commands.d.ts +15 -31
- package/dist/commands/define-commands.d.ts.map +1 -1
- package/dist/commands/define-commands.js +1 -11
- package/dist/commands/define-overlays.d.ts +5 -19
- package/dist/commands/define-overlays.d.ts.map +1 -1
- package/dist/commands/define-overlays.js +3 -11
- package/dist/commands/index.d.ts +10 -40
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +9 -46
- package/dist/{notifications → commands/notifications}/bell.d.ts +1 -1
- package/dist/commands/notifications/bell.d.ts.map +1 -0
- package/dist/{notifications → commands/notifications}/center.d.ts +2 -2
- package/dist/commands/notifications/center.d.ts.map +1 -0
- package/dist/{notifications → commands/notifications}/center.js +2 -2
- package/dist/{notifications → commands/notifications}/define-notifications.d.ts +3 -3
- package/dist/commands/notifications/define-notifications.d.ts.map +1 -0
- package/dist/commands/notifications/notify.d.ts +44 -0
- package/dist/commands/notifications/notify.d.ts.map +1 -0
- package/dist/commands/notifications/notify.js +79 -0
- package/dist/{notifications → commands/notifications}/store.d.ts +2 -0
- package/dist/commands/notifications/store.d.ts.map +1 -0
- package/dist/{notifications → commands/notifications}/store.js +4 -0
- package/dist/commands/projectors.d.ts +1 -131
- package/dist/commands/projectors.d.ts.map +1 -1
- package/dist/commands/projectors.js +2 -73
- package/dist/commands/shell-bridge.d.ts +3 -3
- package/dist/commands/shortcut-format.d.ts +5 -4
- package/dist/commands/shortcut-format.d.ts.map +1 -1
- package/dist/common/errors.d.ts +3 -3
- package/dist/common/use-measured-widths.d.ts.map +1 -1
- package/dist/common/use-measured-widths.js +5 -3
- package/dist/common/validate.d.ts +2 -2
- package/dist/content/article-layout.d.ts.map +1 -1
- package/dist/content/article-layout.js +3 -3
- package/dist/content/article-model.d.ts +1 -46
- package/dist/content/article-model.d.ts.map +1 -1
- package/dist/content/article-model.js +1 -29
- package/dist/content/copy-action.d.ts +1 -1
- package/dist/content/glyphs.d.ts +1 -1
- package/dist/content/index.d.ts +11 -41
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/index.js +3 -35
- package/dist/content/markdown.d.ts +1 -1
- package/dist/content/markdown.d.ts.map +1 -1
- package/dist/content/markdown.js +1 -1
- package/dist/content/mermaid.d.ts.map +1 -1
- package/dist/content/mermaid.js +7 -7
- package/dist/content/slug.d.ts +1 -8
- package/dist/content/slug.d.ts.map +1 -1
- package/dist/content/slug.js +1 -8
- package/dist/content/url-hardening.d.ts +2 -2
- package/dist/content/url-hardening.d.ts.map +1 -1
- package/dist/content/url-hardening.js +2 -0
- package/dist/controls/actions.d.ts +16 -1
- package/dist/controls/actions.d.ts.map +1 -1
- package/dist/controls/enum-filter.d.ts +1 -1
- package/dist/controls/enum-filter.d.ts.map +1 -1
- package/dist/controls/filter-context.d.ts.map +1 -1
- package/dist/controls/filter-context.js +3 -1
- package/dist/controls/filter-set.js +4 -6
- package/dist/controls/form-layout.d.ts +1 -1
- package/dist/controls/form-layout.d.ts.map +1 -1
- package/dist/controls/form-layout.js +1 -1
- package/dist/controls/glyphs.d.ts +0 -2
- package/dist/controls/glyphs.d.ts.map +1 -1
- package/dist/controls/glyphs.js +0 -7
- package/dist/controls/index.d.ts +12 -17
- package/dist/controls/index.d.ts.map +1 -1
- package/dist/controls/index.js +5 -39
- package/dist/controls/multi-select-filter.d.ts +4 -3
- package/dist/controls/multi-select-filter.d.ts.map +1 -1
- package/dist/controls/number-filter.d.ts +4 -3
- package/dist/controls/number-filter.d.ts.map +1 -1
- package/dist/controls/number-filter.js +3 -1
- package/dist/controls/range-filter.d.ts +4 -3
- package/dist/controls/range-filter.d.ts.map +1 -1
- package/dist/controls/search-filter.d.ts +4 -3
- package/dist/controls/search-filter.d.ts.map +1 -1
- package/dist/controls/search-filter.js +19 -14
- package/dist/controls/select-filter.d.ts +4 -3
- package/dist/controls/select-filter.d.ts.map +1 -1
- package/dist/controls/sync-button.d.ts.map +1 -1
- package/dist/controls/sync-button.js +12 -15
- package/dist/controls/toggle-filter.d.ts +4 -3
- package/dist/controls/toggle-filter.d.ts.map +1 -1
- package/dist/controls/uncontrolled.d.ts +12 -0
- package/dist/controls/uncontrolled.d.ts.map +1 -0
- package/dist/controls/view-tabs.d.ts +2 -2
- package/dist/controls/view-tabs.d.ts.map +1 -1
- package/dist/controls-dates/index.d.ts +0 -1
- package/dist/controls-dates/index.d.ts.map +1 -1
- package/dist/dashboard/index.d.ts +7 -9
- package/dist/dashboard/index.d.ts.map +1 -1
- package/dist/dashboard/index.js +3 -23
- package/dist/dashboard/section.d.ts +4 -6
- package/dist/dashboard/section.d.ts.map +1 -1
- package/dist/dashboard/section.js +4 -10
- package/dist/dashboard/stat-card.d.ts +4 -4
- package/dist/dashboard/stat-card.d.ts.map +1 -1
- package/dist/dashboard/stat-card.js +3 -3
- package/dist/dashboard/widget-header.module.css +9 -7
- package/dist/dev-dock.d.ts.map +1 -1
- package/dist/dev-dock.js +6 -1
- package/dist/format/date.d.ts +0 -34
- package/dist/format/date.d.ts.map +1 -1
- package/dist/format/date.js +0 -54
- package/dist/format/index.d.ts +7 -22
- package/dist/format/index.d.ts.map +1 -1
- package/dist/format/index.js +2 -43
- package/dist/format/number.d.ts +3 -14
- package/dist/format/number.d.ts.map +1 -1
- package/dist/format/number.js +0 -13
- package/dist/format/shared.d.ts +2 -3
- package/dist/format/shared.d.ts.map +1 -1
- package/dist/forms/index.d.ts +0 -11
- package/dist/forms/index.d.ts.map +1 -1
- package/dist/forms/index.js +1 -14
- package/dist/guard/index.d.ts +6 -21
- package/dist/guard/index.d.ts.map +1 -1
- package/dist/guard/index.js +27 -115
- package/dist/guard/types.d.ts +7 -18
- package/dist/guard/types.d.ts.map +1 -1
- package/dist/index.d.ts +16 -48
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -117
- package/dist/provider/create-router.d.ts +44 -0
- package/dist/provider/create-router.d.ts.map +1 -0
- package/dist/provider/create-router.js +62 -0
- package/dist/provider/hotkeys.d.ts +8 -0
- package/dist/provider/hotkeys.d.ts.map +1 -0
- package/dist/provider/hotkeys.js +50 -0
- package/dist/provider/index.d.ts +33 -110
- package/dist/provider/index.d.ts.map +1 -1
- package/dist/provider/index.js +182 -82
- package/dist/provider/lab-theme.d.ts.map +1 -1
- package/dist/provider/route-transition.d.ts +76 -0
- package/dist/provider/route-transition.d.ts.map +1 -0
- package/dist/provider/route-transition.js +98 -0
- package/dist/provider/spotlight-actions.d.ts +10 -0
- package/dist/provider/spotlight-actions.d.ts.map +1 -0
- package/dist/provider/spotlight-actions.js +55 -0
- package/dist/provider/test-router.d.ts +6 -0
- package/dist/provider/test-router.d.ts.map +1 -0
- package/dist/provider/test-router.js +18 -0
- package/dist/query-client.d.ts +4 -20
- package/dist/query-client.d.ts.map +1 -1
- package/dist/query-client.js +2 -2
- package/dist/router-tanstack/index.d.ts +18 -64
- package/dist/router-tanstack/index.d.ts.map +1 -1
- package/dist/router-tanstack/index.js +2 -16
- package/dist/router-tanstack/nav.d.ts +12 -1
- package/dist/router-tanstack/nav.d.ts.map +1 -1
- package/dist/router-tanstack/nav.js +8 -1
- package/dist/router-tanstack/search-store.d.ts +1 -1
- package/dist/router-tanstack/search-store.d.ts.map +1 -1
- package/dist/router-tanstack/use-nav.d.ts +8 -9
- package/dist/router-tanstack/use-nav.d.ts.map +1 -1
- package/dist/router-tanstack/use-nav.js +20 -1
- package/dist/shell/app-mobile-nav.d.ts.map +1 -1
- package/dist/shell/app-sidebar.js +1 -1
- package/dist/shell/index.d.ts +31 -10
- package/dist/shell/index.d.ts.map +1 -1
- package/dist/shell/index.js +14 -3
- package/dist/shell/page-aside.d.ts +2 -2
- package/dist/shell/page-aside.d.ts.map +1 -1
- package/dist/shell/page-aside.js +31 -12
- package/dist/shell/page-bar.d.ts +2 -2
- package/dist/shell/page-bar.d.ts.map +1 -1
- package/dist/shell/page-bar.js +1 -1
- package/dist/state.d.ts +10 -12
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +4 -6
- package/dist/styles.css +107 -7
- package/dist/surfaces.d.ts +28 -103
- package/dist/surfaces.d.ts.map +1 -1
- package/dist/surfaces.js +54 -143
- package/dist/{data → table}/data-table-state.d.ts +1 -1
- package/dist/table/data-table-state.d.ts.map +1 -0
- package/dist/{data → table}/data-table-state.js +4 -3
- package/dist/{data → table}/data-table.d.ts +28 -49
- package/dist/table/data-table.d.ts.map +1 -0
- package/dist/{data → table}/data-table.js +74 -60
- package/dist/table/index.d.ts +18 -0
- package/dist/table/index.d.ts.map +1 -0
- package/dist/{data/table.js → table/index.js} +1 -1
- package/dist/table/query-branch.d.ts.map +1 -0
- package/dist/table/table-features.d.ts +69 -0
- package/dist/table/table-features.d.ts.map +1 -0
- package/dist/table/table-features.js +49 -0
- package/dist/telemetry.d.ts +77 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +33 -0
- package/dist/theme/index.d.ts +10 -21
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +3 -14
- package/dist/theme/theme-toggle.d.ts.map +1 -1
- package/dist/theme/theme-toggle.js +7 -33
- package/dist/theme/theme-toggle.module.css +30 -0
- package/dist/theme/theme-toggle.module.css.d.ts +10 -0
- package/dist/theme-lab/derive-controls.d.ts.map +1 -1
- package/dist/theme-lab/derive-controls.js +5 -3
- package/dist/theme-lab/derive-state.d.ts.map +1 -1
- package/dist/theme-lab/derive-state.js +2 -1
- package/dist/tokens/core.d.ts +360 -0
- package/dist/tokens/core.d.ts.map +1 -0
- package/dist/tokens/core.js +708 -0
- package/dist/tokens/derive.d.ts +1 -1
- package/dist/tokens/derive.d.ts.map +1 -1
- package/dist/tokens/index.d.ts +5 -373
- package/dist/tokens/index.d.ts.map +1 -1
- package/dist/tokens/index.js +8 -700
- package/dist/tokens/palette.d.ts +2 -6
- package/dist/tokens/palette.d.ts.map +1 -1
- package/dist/tokens/palette.js +1 -4
- package/dist/vite.d.ts +4 -3
- package/dist/vite.d.ts.map +1 -1
- package/llms.txt +43 -85
- package/package.json +77 -170
- package/src/agent/ai-sdk-transport.ts +57 -37
- package/src/{agent-chat → agent/chat}/composer.tsx +29 -30
- package/src/{agent-chat → agent/chat}/message-affordances.ts +8 -5
- package/src/{agent-chat → agent/chat}/thread-feed-row.tsx +30 -35
- package/src/{agent-chat → agent/chat}/thread-feed.tsx +40 -35
- package/src/{agent-chat → agent/chat}/thread-message.tsx +37 -35
- package/src/{agent-chat → agent/chat}/thread-outcome-card.tsx +5 -5
- package/src/{agent-chat → agent/chat}/tool-chip.tsx +12 -12
- package/src/{agent-chat → agent/chat}/use-keyboard-inset.ts +1 -1
- package/src/{agent-chat → agent/chat}/virtualize.ts +5 -5
- package/src/agent/error.ts +43 -0
- package/src/agent/foreign.ts +3 -2
- package/src/agent/history.ts +2 -107
- package/src/agent/id.ts +4 -5
- package/src/agent/index.ts +23 -112
- package/src/agent/outcome.ts +3 -56
- package/src/agent/part-list.tsx +3 -3
- package/src/agent/parts.ts +23 -22
- package/src/agent/run-committer.ts +64 -0
- package/src/agent/run-records.ts +147 -0
- package/src/agent/thread.ts +24 -231
- package/src/agent/transport.ts +6 -96
- package/src/agent/use-agent-thread-runs.ts +364 -199
- package/src/charts/BandStrip.tsx +276 -0
- package/src/charts/Bars.tsx +141 -0
- package/src/charts/CartesianChart.tsx +206 -0
- package/src/charts/ChartCard.tsx +178 -0
- package/src/charts/Donut.tsx +256 -0
- package/src/charts/DualPanel.tsx +326 -0
- package/src/charts/Heatmap.tsx +282 -0
- package/src/charts/Lines.tsx +151 -0
- package/src/charts/MirroredBars.tsx +303 -0
- package/src/charts/Sparkline.tsx +176 -0
- package/src/charts/StackedArea.tsx +80 -0
- package/src/charts/box.tsx +96 -0
- package/src/charts/card-context.ts +11 -0
- package/src/charts/chart-box.module.css +64 -0
- package/src/charts/chart-box.module.css.d.ts +12 -0
- package/src/charts/chart-card.module.css +25 -0
- package/src/charts/chart-card.module.css.d.ts +8 -0
- package/src/charts/chart-legend.module.css +38 -0
- package/src/charts/chart-legend.module.css.d.ts +10 -0
- package/src/charts/compile.ts +585 -0
- package/src/charts/cursor.ts +282 -0
- package/src/charts/curves.ts +111 -0
- package/src/charts/donut.module.css +54 -0
- package/src/charts/donut.module.css.d.ts +9 -0
- package/src/charts/host.tsx +60 -0
- package/src/charts/index.ts +41 -178
- package/src/charts/legend.tsx +204 -0
- package/src/charts/marks.ts +201 -0
- package/src/charts/panel.tsx +227 -0
- package/src/charts/scales.ts +237 -0
- package/src/charts/sizing.ts +47 -0
- package/src/charts/state.tsx +80 -0
- package/src/charts/theme.ts +65 -0
- package/src/charts/types.ts +242 -0
- package/src/cli/audit-allows.ts +8 -30
- package/src/cli/config.ts +14 -43
- package/src/cli/doctor-upgrade.ts +392 -0
- package/src/cli/doctor.ts +120 -68
- package/src/cli/help.ts +2 -4
- package/src/cli/index.ts +161 -276
- package/src/cli/init.ts +60 -37
- package/src/cli/sync.ts +13 -45
- package/src/cli/tokens-css.ts +7 -28
- package/src/commands/ShortcutsHelp.tsx +8 -9
- package/src/commands/define-commands.ts +16 -43
- package/src/commands/define-overlays.ts +12 -36
- package/src/commands/index.ts +11 -94
- package/src/{notifications → commands/notifications}/bell.tsx +2 -2
- package/src/{notifications → commands/notifications}/center.tsx +7 -5
- package/src/{notifications → commands/notifications}/define-notifications.ts +3 -3
- package/src/commands/notifications/notify.tsx +158 -0
- package/src/{notifications → commands/notifications}/store.ts +10 -2
- package/src/commands/projectors.ts +5 -225
- package/src/commands/shell-bridge.ts +5 -5
- package/src/commands/shortcut-format.ts +5 -4
- package/src/common/errors.ts +3 -3
- package/src/common/use-measured-widths.ts +6 -3
- package/src/common/validate.ts +2 -2
- package/src/content/article-layout.tsx +37 -38
- package/src/content/article-model.ts +1 -84
- package/src/content/copy-action.tsx +1 -1
- package/src/content/glyphs.tsx +1 -1
- package/src/content/index.ts +12 -83
- package/src/content/markdown.tsx +4 -3
- package/src/content/mermaid.tsx +9 -7
- package/src/content/slug.ts +1 -16
- package/src/content/url-hardening.ts +8 -2
- package/src/controls/actions.tsx +24 -1
- package/src/controls/enum-filter.tsx +1 -1
- package/src/controls/filter-context.tsx +3 -1
- package/src/controls/filter-set.tsx +5 -7
- package/src/controls/form-layout.tsx +2 -2
- package/src/controls/glyphs.tsx +0 -10
- package/src/controls/index.ts +13 -64
- package/src/controls/multi-select-filter.tsx +5 -4
- package/src/controls/number-filter.tsx +8 -4
- package/src/controls/range-filter.tsx +5 -4
- package/src/controls/search-filter.tsx +25 -19
- package/src/controls/select-filter.tsx +5 -4
- package/src/controls/sync-button.tsx +18 -20
- package/src/controls/toggle-filter.tsx +5 -4
- package/src/controls/uncontrolled.ts +12 -0
- package/src/controls/view-tabs.tsx +3 -3
- package/src/controls-dates/date-range-picker.tsx +1 -1
- package/src/controls-dates/index.ts +0 -1
- package/src/dashboard/index.ts +7 -48
- package/src/dashboard/section.tsx +11 -40
- package/src/dashboard/stat-card.tsx +14 -16
- package/src/dashboard/widget-header.module.css +9 -7
- package/src/dev-dock.tsx +14 -27
- package/src/format/date.ts +2 -92
- package/src/format/index.ts +7 -53
- package/src/format/number.ts +3 -26
- package/src/format/shared.ts +2 -3
- package/src/forms/index.ts +0 -23
- package/src/guard/index.ts +37 -192
- package/src/guard/types.ts +6 -19
- package/src/index.ts +30 -282
- package/src/provider/create-router.tsx +138 -0
- package/src/provider/hotkeys.ts +70 -0
- package/src/provider/index.tsx +260 -230
- package/src/provider/lab-theme.ts +3 -2
- package/src/provider/route-transition.ts +199 -0
- package/src/provider/spotlight-actions.tsx +69 -0
- package/src/provider/test-router.tsx +25 -0
- package/src/query-client.ts +4 -22
- package/src/router-tanstack/index.ts +18 -112
- package/src/router-tanstack/nav.ts +28 -2
- package/src/router-tanstack/search-store.ts +9 -2
- package/src/router-tanstack/use-nav.ts +47 -13
- package/src/shell/app-mobile-nav.tsx +3 -2
- package/src/shell/app-sidebar.tsx +1 -1
- package/src/shell/aside-docking.ts +1 -1
- package/src/shell/index.tsx +61 -20
- package/src/shell/page-aside.tsx +47 -23
- package/src/shell/page-bar.tsx +3 -3
- package/src/shell/page-title.tsx +1 -1
- package/src/state.ts +11 -37
- package/src/styles.css +107 -7
- package/src/surfaces.ts +56 -151
- package/src/{data → table}/data-table-state.ts +5 -4
- package/src/{data → table}/data-table.tsx +170 -161
- package/src/table/index.ts +18 -0
- package/src/table/table-features.ts +102 -0
- package/src/telemetry.ts +110 -0
- package/src/theme/index.ts +22 -47
- package/src/theme/theme-toggle.module.css +30 -0
- package/src/theme/theme-toggle.module.css.d.ts +10 -0
- package/src/theme/theme-toggle.tsx +15 -43
- package/src/theme-lab/derive-controls.tsx +5 -3
- package/src/theme-lab/derive-state.ts +2 -1
- package/src/tokens/core.ts +1163 -0
- package/src/tokens/derive.ts +1 -1
- package/src/tokens/index.ts +14 -1181
- package/src/tokens/palette.ts +3 -7
- package/src/vite.ts +3 -3
- package/agent/templates/CLAUDE-block.md.tpl +0 -40
- package/agent/templates/query-client.ts.tpl +0 -26
- package/dist/agent/adapter.d.ts +0 -150
- package/dist/agent/adapter.d.ts.map +0 -1
- package/dist/agent/adapter.js +0 -482
- package/dist/agent/use-agent-stream.d.ts +0 -35
- package/dist/agent/use-agent-stream.d.ts.map +0 -1
- package/dist/agent/use-agent-stream.js +0 -59
- package/dist/agent-chat/composer.d.ts.map +0 -1
- package/dist/agent-chat/index.d.ts +0 -31
- package/dist/agent-chat/index.d.ts.map +0 -1
- package/dist/agent-chat/index.js +0 -19
- package/dist/agent-chat/message-affordances.d.ts.map +0 -1
- package/dist/agent-chat/relative-time.d.ts.map +0 -1
- package/dist/agent-chat/thread-detail-panel.d.ts +0 -28
- package/dist/agent-chat/thread-detail-panel.d.ts.map +0 -1
- package/dist/agent-chat/thread-detail-panel.js +0 -115
- package/dist/agent-chat/thread-feed-row.d.ts.map +0 -1
- package/dist/agent-chat/thread-feed.d.ts.map +0 -1
- package/dist/agent-chat/thread-message.d.ts.map +0 -1
- package/dist/agent-chat/thread-outcome-card.d.ts.map +0 -1
- package/dist/agent-chat/thread-workspace.d.ts +0 -44
- package/dist/agent-chat/thread-workspace.d.ts.map +0 -1
- package/dist/agent-chat/thread-workspace.js +0 -153
- package/dist/agent-chat/tool-chip.d.ts.map +0 -1
- package/dist/agent-chat/use-keyboard-inset.d.ts.map +0 -1
- package/dist/agent-chat/virtualize.d.ts.map +0 -1
- package/dist/charts/cursor/resolve.d.ts +0 -75
- package/dist/charts/cursor/resolve.d.ts.map +0 -1
- package/dist/charts/cursor/resolve.js +0 -91
- package/dist/charts/cursor/scope.d.ts +0 -20
- package/dist/charts/cursor/scope.d.ts.map +0 -1
- package/dist/charts/cursor/scope.js +0 -20
- package/dist/charts/cursor/store.d.ts +0 -35
- package/dist/charts/cursor/store.d.ts.map +0 -1
- package/dist/charts/cursor/store.js +0 -25
- package/dist/charts/cursor/touch-pin.d.ts +0 -45
- package/dist/charts/cursor/touch-pin.d.ts.map +0 -1
- package/dist/charts/cursor/touch-pin.js +0 -79
- package/dist/charts/hooks/use-discrete-cursor.d.ts +0 -66
- package/dist/charts/hooks/use-discrete-cursor.d.ts.map +0 -1
- package/dist/charts/hooks/use-discrete-cursor.js +0 -198
- package/dist/charts/hooks/use-hysteresis.d.ts +0 -18
- package/dist/charts/hooks/use-hysteresis.d.ts.map +0 -1
- package/dist/charts/hooks/use-hysteresis.js +0 -12
- package/dist/charts/hooks/useBandPlot.d.ts +0 -145
- package/dist/charts/hooks/useBandPlot.d.ts.map +0 -1
- package/dist/charts/hooks/useBandPlot.js +0 -178
- package/dist/charts/hooks/useChartCursor.d.ts +0 -75
- package/dist/charts/hooks/useChartCursor.d.ts.map +0 -1
- package/dist/charts/hooks/useChartCursor.js +0 -200
- package/dist/charts/hooks/useChartSize.d.ts +0 -29
- package/dist/charts/hooks/useChartSize.d.ts.map +0 -1
- package/dist/charts/hooks/useChartSize.js +0 -8
- package/dist/charts/kinds/BandStrip.d.ts +0 -132
- package/dist/charts/kinds/BandStrip.d.ts.map +0 -1
- package/dist/charts/kinds/BandStrip.js +0 -241
- package/dist/charts/kinds/Bars.d.ts +0 -141
- package/dist/charts/kinds/Bars.d.ts.map +0 -1
- package/dist/charts/kinds/Bars.js +0 -343
- package/dist/charts/kinds/Donut.d.ts +0 -77
- package/dist/charts/kinds/Donut.d.ts.map +0 -1
- package/dist/charts/kinds/Donut.js +0 -245
- package/dist/charts/kinds/DualPanel.d.ts +0 -111
- package/dist/charts/kinds/DualPanel.d.ts.map +0 -1
- package/dist/charts/kinds/DualPanel.js +0 -471
- package/dist/charts/kinds/Heatmap.d.ts +0 -85
- package/dist/charts/kinds/Heatmap.d.ts.map +0 -1
- package/dist/charts/kinds/Heatmap.js +0 -243
- package/dist/charts/kinds/MirroredBars.d.ts +0 -98
- package/dist/charts/kinds/MirroredBars.d.ts.map +0 -1
- package/dist/charts/kinds/MirroredBars.js +0 -292
- package/dist/charts/kinds/MultiLine.d.ts +0 -87
- package/dist/charts/kinds/MultiLine.d.ts.map +0 -1
- package/dist/charts/kinds/MultiLine.js +0 -176
- package/dist/charts/kinds/StackedArea.d.ts +0 -73
- package/dist/charts/kinds/StackedArea.d.ts.map +0 -1
- package/dist/charts/kinds/StackedArea.js +0 -135
- package/dist/charts/kinds/ZonedLine.d.ts +0 -97
- package/dist/charts/kinds/ZonedLine.d.ts.map +0 -1
- package/dist/charts/kinds/ZonedLine.js +0 -155
- package/dist/charts/kinds/band-chrome.d.ts +0 -31
- package/dist/charts/kinds/band-chrome.d.ts.map +0 -1
- package/dist/charts/kinds/band-chrome.js +0 -71
- package/dist/charts/kinds/donut-layout.d.ts +0 -47
- package/dist/charts/kinds/donut-layout.d.ts.map +0 -1
- package/dist/charts/kinds/donut-layout.js +0 -52
- package/dist/charts/layout/auto-margin.d.ts +0 -122
- package/dist/charts/layout/auto-margin.d.ts.map +0 -1
- package/dist/charts/layout/auto-margin.js +0 -81
- package/dist/charts/layout/end-labels.d.ts +0 -64
- package/dist/charts/layout/end-labels.d.ts.map +0 -1
- package/dist/charts/layout/end-labels.js +0 -76
- package/dist/charts/layout/log-ticks.d.ts +0 -27
- package/dist/charts/layout/log-ticks.d.ts.map +0 -1
- package/dist/charts/layout/log-ticks.js +0 -42
- package/dist/charts/primitives/AreaGradient.d.ts +0 -18
- package/dist/charts/primitives/AreaGradient.d.ts.map +0 -1
- package/dist/charts/primitives/AreaGradient.js +0 -13
- package/dist/charts/primitives/Axes.d.ts +0 -83
- package/dist/charts/primitives/Axes.d.ts.map +0 -1
- package/dist/charts/primitives/Axes.js +0 -168
- package/dist/charts/primitives/CartesianChart.d.ts +0 -257
- package/dist/charts/primitives/CartesianChart.d.ts.map +0 -1
- package/dist/charts/primitives/CartesianChart.js +0 -549
- package/dist/charts/primitives/ChartCard.d.ts +0 -66
- package/dist/charts/primitives/ChartCard.d.ts.map +0 -1
- package/dist/charts/primitives/ChartCard.js +0 -143
- package/dist/charts/primitives/ChartFrame.d.ts +0 -156
- package/dist/charts/primitives/ChartFrame.d.ts.map +0 -1
- package/dist/charts/primitives/ChartFrame.js +0 -241
- package/dist/charts/primitives/ChartLegend.d.ts +0 -67
- package/dist/charts/primitives/ChartLegend.d.ts.map +0 -1
- package/dist/charts/primitives/ChartLegend.js +0 -292
- package/dist/charts/primitives/ChartPending.d.ts +0 -113
- package/dist/charts/primitives/ChartPending.d.ts.map +0 -1
- package/dist/charts/primitives/ChartPending.js +0 -117
- package/dist/charts/primitives/ChartTooltip.d.ts +0 -59
- package/dist/charts/primitives/ChartTooltip.d.ts.map +0 -1
- package/dist/charts/primitives/ChartTooltip.js +0 -197
- package/dist/charts/primitives/Crosshair.d.ts +0 -26
- package/dist/charts/primitives/Crosshair.d.ts.map +0 -1
- package/dist/charts/primitives/Crosshair.js +0 -23
- package/dist/charts/primitives/HatchPattern.d.ts +0 -31
- package/dist/charts/primitives/HatchPattern.d.ts.map +0 -1
- package/dist/charts/primitives/HatchPattern.js +0 -31
- package/dist/charts/primitives/HoverOverlay.d.ts +0 -45
- package/dist/charts/primitives/HoverOverlay.d.ts.map +0 -1
- package/dist/charts/primitives/HoverOverlay.js +0 -72
- package/dist/charts/primitives/HoverOverlay.module.css +0 -13
- package/dist/charts/primitives/HoverOverlay.module.css.d.ts +0 -8
- package/dist/charts/primitives/XZoneRects.d.ts +0 -54
- package/dist/charts/primitives/XZoneRects.d.ts.map +0 -1
- package/dist/charts/primitives/XZoneRects.js +0 -65
- package/dist/charts/primitives/ZoneRects.d.ts +0 -38
- package/dist/charts/primitives/ZoneRects.d.ts.map +0 -1
- package/dist/charts/primitives/ZoneRects.js +0 -30
- package/dist/charts/primitives/chart-card-context.d.ts +0 -33
- package/dist/charts/primitives/chart-card-context.d.ts.map +0 -1
- package/dist/charts/primitives/chart-card-context.js +0 -18
- package/dist/charts/primitives/chart-frame-layout.d.ts +0 -185
- package/dist/charts/primitives/chart-frame-layout.d.ts.map +0 -1
- package/dist/charts/primitives/chart-frame-layout.js +0 -175
- package/dist/charts/primitives/chart-layout.d.ts +0 -112
- package/dist/charts/primitives/chart-layout.d.ts.map +0 -1
- package/dist/charts/primitives/chart-layout.js +0 -175
- package/dist/charts/primitives/chart-tier.d.ts +0 -16
- package/dist/charts/primitives/chart-tier.d.ts.map +0 -1
- package/dist/charts/primitives/chart-tier.js +0 -44
- package/dist/charts/primitives/legend-disclosure.d.ts +0 -27
- package/dist/charts/primitives/legend-disclosure.d.ts.map +0 -1
- package/dist/charts/primitives/legend-disclosure.js +0 -153
- package/dist/charts/series.d.ts +0 -189
- package/dist/charts/series.d.ts.map +0 -1
- package/dist/charts/series.js +0 -84
- package/dist/charts/sparklines/BarSparkline.d.ts +0 -37
- package/dist/charts/sparklines/BarSparkline.d.ts.map +0 -1
- package/dist/charts/sparklines/BarSparkline.js +0 -53
- package/dist/charts/sparklines/LineSparkline.d.ts +0 -15
- package/dist/charts/sparklines/LineSparkline.d.ts.map +0 -1
- package/dist/charts/sparklines/LineSparkline.js +0 -51
- package/dist/charts/sparklines/index.d.ts +0 -3
- package/dist/charts/sparklines/index.d.ts.map +0 -1
- package/dist/charts/sparklines/index.js +0 -6
- package/dist/charts/utils/domain.d.ts +0 -35
- package/dist/charts/utils/domain.d.ts.map +0 -1
- package/dist/charts/utils/domain.js +0 -12
- package/dist/charts/utils/format.d.ts +0 -8
- package/dist/charts/utils/format.d.ts.map +0 -1
- package/dist/charts/utils/format.js +0 -20
- package/dist/charts/utils/measure-text.d.ts +0 -25
- package/dist/charts/utils/measure-text.d.ts.map +0 -1
- package/dist/charts/utils/measure-text.js +0 -64
- package/dist/charts/utils/ticks.d.ts +0 -103
- package/dist/charts/utils/ticks.d.ts.map +0 -1
- package/dist/charts/utils/ticks.js +0 -92
- package/dist/commands/overlays-mount.d.ts +0 -122
- package/dist/commands/overlays-mount.d.ts.map +0 -1
- package/dist/commands/overlays-mount.js +0 -125
- package/dist/commands/useCommandHotkeys.d.ts +0 -14
- package/dist/commands/useCommandHotkeys.d.ts.map +0 -1
- package/dist/commands/useCommandHotkeys.js +0 -45
- package/dist/content/article-actions.d.ts +0 -39
- package/dist/content/article-actions.d.ts.map +0 -1
- package/dist/content/article-actions.js +0 -28
- package/dist/content/article-card.d.ts +0 -58
- package/dist/content/article-card.d.ts.map +0 -1
- package/dist/content/article-card.js +0 -79
- package/dist/content/article-card.module.css +0 -111
- package/dist/content/mdx.d.ts +0 -20
- package/dist/content/mdx.d.ts.map +0 -1
- package/dist/content/mdx.js +0 -64
- package/dist/controls/compare-filter.d.ts +0 -42
- package/dist/controls/compare-filter.d.ts.map +0 -1
- package/dist/controls/compare-filter.js +0 -38
- package/dist/controls/slider-control.d.ts +0 -36
- package/dist/controls/slider-control.d.ts.map +0 -1
- package/dist/controls/slider-control.js +0 -64
- package/dist/dashboard/widget-grid.d.ts +0 -27
- package/dist/dashboard/widget-grid.d.ts.map +0 -1
- package/dist/dashboard/widget-grid.js +0 -40
- package/dist/dashboard/widget-grid.module.css +0 -69
- package/dist/data/data-table-state.d.ts.map +0 -1
- package/dist/data/data-table.d.ts.map +0 -1
- package/dist/data/query-branch.d.ts.map +0 -1
- package/dist/data/table.d.ts +0 -24
- package/dist/data/table.d.ts.map +0 -1
- package/dist/data/virtual-list.d.ts +0 -133
- package/dist/data/virtual-list.d.ts.map +0 -1
- package/dist/data/virtual-list.js +0 -157
- package/dist/data/virtual.d.ts +0 -21
- package/dist/data/virtual.d.ts.map +0 -1
- package/dist/data/virtual.js +0 -4
- package/dist/forms/FormErrorSummary.d.ts +0 -30
- package/dist/forms/FormErrorSummary.d.ts.map +0 -1
- package/dist/forms/FormErrorSummary.js +0 -30
- package/dist/forms/use-field-array.d.ts +0 -60
- package/dist/forms/use-field-array.d.ts.map +0 -1
- package/dist/forms/use-field-array.js +0 -20
- package/dist/forms/use-form-draft.d.ts +0 -76
- package/dist/forms/use-form-draft.d.ts.map +0 -1
- package/dist/forms/use-form-draft.js +0 -92
- package/dist/forms/use-form-submit.d.ts +0 -88
- package/dist/forms/use-form-submit.d.ts.map +0 -1
- package/dist/forms/use-form-submit.js +0 -63
- package/dist/notifications/bell.d.ts.map +0 -1
- package/dist/notifications/center.d.ts.map +0 -1
- package/dist/notifications/define-notifications.d.ts.map +0 -1
- package/dist/notifications/index.d.ts +0 -40
- package/dist/notifications/index.d.ts.map +0 -1
- package/dist/notifications/index.js +0 -54
- package/dist/notifications/mount-guard.d.ts +0 -8
- package/dist/notifications/mount-guard.d.ts.map +0 -1
- package/dist/notifications/mount-guard.js +0 -18
- package/dist/notifications/notify.d.ts +0 -149
- package/dist/notifications/notify.d.ts.map +0 -1
- package/dist/notifications/notify.js +0 -171
- package/dist/notifications/store.d.ts.map +0 -1
- package/dist/provider/connectivity-indicator.d.ts +0 -13
- package/dist/provider/connectivity-indicator.d.ts.map +0 -1
- package/dist/provider/connectivity-indicator.js +0 -205
- package/dist/provider/connectivity-provider.d.ts +0 -7
- package/dist/provider/connectivity-provider.d.ts.map +0 -1
- package/dist/provider/connectivity-provider.js +0 -128
- package/dist/provider/connectivity-types.d.ts +0 -36
- package/dist/provider/connectivity-types.d.ts.map +0 -1
- package/dist/provider/use-connectivity.d.ts +0 -3
- package/dist/provider/use-connectivity.d.ts.map +0 -1
- package/dist/provider/use-connectivity.js +0 -14
- package/dist/query-devtools.d.ts +0 -21
- package/dist/query-devtools.d.ts.map +0 -1
- package/dist/query-devtools.js +0 -13
- package/src/agent/adapter.ts +0 -945
- package/src/agent/use-agent-stream.ts +0 -154
- package/src/agent-chat/index.ts +0 -54
- package/src/agent-chat/thread-detail-panel.tsx +0 -201
- package/src/agent-chat/thread-workspace.tsx +0 -279
- package/src/charts/cursor/resolve.ts +0 -198
- package/src/charts/cursor/scope.tsx +0 -35
- package/src/charts/cursor/store.ts +0 -58
- package/src/charts/cursor/touch-pin.ts +0 -138
- package/src/charts/hooks/use-discrete-cursor.ts +0 -335
- package/src/charts/hooks/use-hysteresis.ts +0 -26
- package/src/charts/hooks/useBandPlot.ts +0 -383
- package/src/charts/hooks/useChartCursor.ts +0 -367
- package/src/charts/hooks/useChartSize.ts +0 -35
- package/src/charts/kinds/BandStrip.tsx +0 -449
- package/src/charts/kinds/Bars.tsx +0 -589
- package/src/charts/kinds/Donut.tsx +0 -368
- package/src/charts/kinds/DualPanel.tsx +0 -712
- package/src/charts/kinds/Heatmap.tsx +0 -396
- package/src/charts/kinds/MirroredBars.tsx +0 -469
- package/src/charts/kinds/MultiLine.tsx +0 -322
- package/src/charts/kinds/StackedArea.tsx +0 -267
- package/src/charts/kinds/ZonedLine.tsx +0 -301
- package/src/charts/kinds/band-chrome.tsx +0 -91
- package/src/charts/kinds/donut-layout.ts +0 -82
- package/src/charts/layout/auto-margin.ts +0 -242
- package/src/charts/layout/end-labels.ts +0 -135
- package/src/charts/layout/log-ticks.ts +0 -90
- package/src/charts/primitives/AreaGradient.tsx +0 -26
- package/src/charts/primitives/Axes.tsx +0 -271
- package/src/charts/primitives/CartesianChart.tsx +0 -1002
- package/src/charts/primitives/ChartCard.tsx +0 -280
- package/src/charts/primitives/ChartFrame.tsx +0 -493
- package/src/charts/primitives/ChartLegend.tsx +0 -422
- package/src/charts/primitives/ChartPending.tsx +0 -243
- package/src/charts/primitives/ChartTooltip.tsx +0 -265
- package/src/charts/primitives/Crosshair.tsx +0 -43
- package/src/charts/primitives/HatchPattern.tsx +0 -55
- package/src/charts/primitives/HoverOverlay.module.css +0 -13
- package/src/charts/primitives/HoverOverlay.module.css.d.ts +0 -8
- package/src/charts/primitives/HoverOverlay.tsx +0 -109
- package/src/charts/primitives/XZoneRects.tsx +0 -132
- package/src/charts/primitives/ZoneRects.tsx +0 -67
- package/src/charts/primitives/chart-card-context.ts +0 -46
- package/src/charts/primitives/chart-frame-layout.ts +0 -430
- package/src/charts/primitives/chart-layout.ts +0 -318
- package/src/charts/primitives/chart-tier.tsx +0 -76
- package/src/charts/primitives/legend-disclosure.tsx +0 -178
- package/src/charts/series.ts +0 -276
- package/src/charts/sparklines/BarSparkline.tsx +0 -94
- package/src/charts/sparklines/LineSparkline.tsx +0 -71
- package/src/charts/sparklines/index.ts +0 -2
- package/src/charts/theme.tsx +0 -53
- package/src/charts/utils/domain.ts +0 -41
- package/src/charts/utils/format.ts +0 -19
- package/src/charts/utils/measure-text.ts +0 -109
- package/src/charts/utils/ticks.ts +0 -239
- package/src/commands/overlays-mount.tsx +0 -333
- package/src/commands/useCommandHotkeys.ts +0 -114
- package/src/content/article-actions.ts +0 -72
- package/src/content/article-card.module.css +0 -111
- package/src/content/article-card.tsx +0 -174
- package/src/content/mdx.tsx +0 -127
- package/src/controls/compare-filter.tsx +0 -81
- package/src/controls/slider-control.tsx +0 -159
- package/src/dashboard/widget-grid.module.css +0 -69
- package/src/dashboard/widget-grid.tsx +0 -146
- package/src/data/table.ts +0 -39
- package/src/data/virtual-list.tsx +0 -356
- package/src/data/virtual.ts +0 -26
- package/src/forms/FormErrorSummary.tsx +0 -71
- package/src/forms/use-field-array.ts +0 -94
- package/src/forms/use-form-draft.ts +0 -262
- package/src/forms/use-form-submit.ts +0 -199
- package/src/notifications/index.ts +0 -88
- package/src/notifications/mount-guard.ts +0 -38
- package/src/notifications/notify.tsx +0 -379
- package/src/provider/connectivity-indicator.tsx +0 -267
- package/src/provider/connectivity-provider.tsx +0 -189
- package/src/provider/connectivity-types.ts +0 -42
- package/src/provider/use-connectivity.ts +0 -26
- package/src/query-devtools.tsx +0 -40
- /package/dist/{agent-chat → agent/chat}/message-affordances.js +0 -0
- /package/dist/{agent-chat → agent/chat}/relative-time.d.ts +0 -0
- /package/dist/{agent-chat → agent/chat}/relative-time.js +0 -0
- /package/dist/{agent-chat → agent/chat}/use-keyboard-inset.d.ts +0 -0
- /package/dist/{agent-chat → agent/chat}/virtualize.js +0 -0
- /package/dist/{notifications → commands/notifications}/bell.js +0 -0
- /package/dist/{notifications → commands/notifications}/define-notifications.js +0 -0
- /package/dist/{provider/connectivity-types.js → controls/uncontrolled.js} +0 -0
- /package/dist/{data → table}/data-table.module.css +0 -0
- /package/dist/{data → table}/data-table.module.css.d.ts +0 -0
- /package/dist/{data → table}/query-branch.d.ts +0 -0
- /package/dist/{data → table}/query-branch.js +0 -0
- /package/src/{agent-chat → agent/chat}/relative-time.ts +0 -0
- /package/src/{data → table}/data-table.module.css +0 -0
- /package/src/{data → table}/data-table.module.css.d.ts +0 -0
- /package/src/{data → table}/query-branch.ts +0 -0
|
@@ -12,12 +12,15 @@ import {
|
|
|
12
12
|
} from "@mantine/core";
|
|
13
13
|
import { useDisclosure, useFocusWithin, useHover, useMergedRef } from "@mantine/hooks";
|
|
14
14
|
import { Fragment, lazy, memo, Suspense, useLayoutEffect, useMemo, useRef } from "react";
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
15
|
+
import { isLiveStatus } from "../thread.js";
|
|
16
|
+
import { coalesceParts } from "../coalesce.js";
|
|
17
|
+
import { narrowAgentPart } from "../foreign.js";
|
|
18
|
+
import { PartList } from "../part-list.js";
|
|
19
|
+
import { cx } from "../../common/props.js";
|
|
20
|
+
import { assertRequiredProps } from "../../common/validate.js";
|
|
21
|
+
import { Markdown } from "../../content/markdown.js";
|
|
22
|
+
import { CopyAction } from "../../content/copy-action.js";
|
|
23
|
+
import { VX } from "../../tokens/index.js";
|
|
21
24
|
import { DEFAULT_AFFORDANCES } from "./message-affordances.js";
|
|
22
25
|
import { formatRelativeTime } from "./relative-time.js";
|
|
23
26
|
import { ToolChip } from "./tool-chip.js";
|
|
@@ -399,7 +402,9 @@ function VirtualizedTranscript(props) {
|
|
|
399
402
|
const EMPTY_RENDERERS = {};
|
|
400
403
|
function useStableCallback(callback) {
|
|
401
404
|
const callbackRef = useRef(callback);
|
|
402
|
-
|
|
405
|
+
useLayoutEffect(() => {
|
|
406
|
+
callbackRef.current = callback;
|
|
407
|
+
});
|
|
403
408
|
const stable = useMemo(
|
|
404
409
|
() => (...args) => callbackRef.current?.(...args),
|
|
405
410
|
[]
|
|
@@ -438,11 +443,8 @@ function ThreadTranscript(props) {
|
|
|
438
443
|
() => ({
|
|
439
444
|
timestamp: affordancesProp?.timestamp ?? DEFAULT_AFFORDANCES.timestamp,
|
|
440
445
|
copy: affordancesProp?.copy ?? DEFAULT_AFFORDANCES.copy,
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
// widening `MessageAffordances` itself to accept an explicit `undefined`.
|
|
444
|
-
...stableOnRegenerate !== void 0 && { onRegenerate: stableOnRegenerate },
|
|
445
|
-
...actions !== void 0 && { actions }
|
|
446
|
+
onRegenerate: stableOnRegenerate,
|
|
447
|
+
actions
|
|
446
448
|
}),
|
|
447
449
|
[affordancesProp?.timestamp, affordancesProp?.copy, stableOnRegenerate, actions]
|
|
448
450
|
);
|
|
@@ -481,7 +483,7 @@ function ThreadTranscript(props) {
|
|
|
481
483
|
MessageBlock,
|
|
482
484
|
{
|
|
483
485
|
message: liveMessage,
|
|
484
|
-
streaming: liveStatus
|
|
486
|
+
streaming: isLiveStatus(liveStatus),
|
|
485
487
|
renderers,
|
|
486
488
|
fallbackRenderer
|
|
487
489
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { JSX } from 'react';
|
|
2
|
-
import type { AgentThread } from '../
|
|
3
|
-
import type { BasaltProps } from '
|
|
2
|
+
import type { AgentThread } from '../thread.js';
|
|
3
|
+
import type { BasaltProps } from '../../common/props.js';
|
|
4
4
|
export type ThreadOutcomeCardProps = BasaltProps & {
|
|
5
5
|
readonly thread: AgentThread;
|
|
6
6
|
/** Whether this row is the active/open thread — applies a subtle highlight. */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-outcome-card.d.ts","sourceRoot":"","sources":["../../../src/agent/chat/thread-outcome-card.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,WAAW,CAAA;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAiGrD,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG;IACjD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;CAC9B,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,GACN,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAkCtC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Badge, Group, Skeleton, Stack, Text, UnstyledButton } from "@mantine/core";
|
|
3
3
|
import { useHover } from "@mantine/hooks";
|
|
4
|
-
import { assertRequiredProps } from "
|
|
5
|
-
import { cx } from "
|
|
6
|
-
import { alpha, VX } from "
|
|
4
|
+
import { assertRequiredProps } from "../../common/validate.js";
|
|
5
|
+
import { cx } from "../../common/props.js";
|
|
6
|
+
import { alpha, VX } from "../../tokens/index.js";
|
|
7
7
|
import { formatRelativeTime } from "./relative-time.js";
|
|
8
8
|
const STATUS_BADGE = {
|
|
9
9
|
attention: { label: "Needs review", statusToken: VX.status.warn },
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { JSX } from 'react';
|
|
2
|
-
import type { ToolCallPart } from '../
|
|
3
|
-
import type { BasaltProps } from '
|
|
2
|
+
import type { ToolCallPart } from '../parts.js';
|
|
3
|
+
import type { BasaltProps } from '../../common/props.js';
|
|
4
4
|
export type ToolChipProps = BasaltProps & {
|
|
5
5
|
readonly part: ToolCallPart;
|
|
6
|
-
readonly defaultExpanded?: boolean;
|
|
6
|
+
readonly defaultExpanded?: boolean | undefined;
|
|
7
7
|
/** Rendered only in 'approval-requested'. Omit both to render a read-only chip. */
|
|
8
|
-
readonly onApprove?: (approvalId: string) => void;
|
|
9
|
-
readonly onDeny?: (approvalId: string, reason?: string) => void;
|
|
8
|
+
readonly onApprove?: ((approvalId: string) => void) | undefined;
|
|
9
|
+
readonly onDeny?: ((approvalId: string, reason?: string) => void) | undefined;
|
|
10
10
|
};
|
|
11
11
|
/**
|
|
12
12
|
* A collapsed-by-default row for a single tool-call part. All seven wire states render something
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-chip.d.ts","sourceRoot":"","sources":["../../../src/agent/chat/tool-chip.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AA6ErD,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IACxC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9C,mFAAmF;IACnF,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;CAC9E,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,eAAuB,EACvB,SAAS,EACT,MAAM,EACN,SAAS,EACT,KAAK,GACN,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAkG7B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Button, Collapse, Group, Stack, Text, UnstyledButton } from "@mantine/core";
|
|
3
3
|
import { useDisclosure } from "@mantine/hooks";
|
|
4
|
-
import { isToolCallSettled } from "../
|
|
5
|
-
import { cx } from "
|
|
6
|
-
import { assertRequiredProps } from "
|
|
7
|
-
import { alpha, VX } from "
|
|
4
|
+
import { isToolCallSettled } from "../parts.js";
|
|
5
|
+
import { cx } from "../../common/props.js";
|
|
6
|
+
import { assertRequiredProps } from "../../common/validate.js";
|
|
7
|
+
import { alpha, VX } from "../../tokens/index.js";
|
|
8
8
|
const MICRO_LABEL_STYLE = {
|
|
9
9
|
fontFamily: "var(--basalt-font-mono)",
|
|
10
10
|
fontSize: VX.text.micro,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-keyboard-inset.d.ts","sourceRoot":"","sources":["../../../src/agent/chat/use-keyboard-inset.ts"],"names":[],"mappings":"AAiCA,wBAAgB,mBAAmB,IAAI,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAkCtE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback, useState } from "react";
|
|
2
|
-
import { useIsomorphicLayoutEffect } from "
|
|
2
|
+
import { useIsomorphicLayoutEffect } from "../../common/isomorphic-layout-effect.js";
|
|
3
3
|
const KEYBOARD_INSET_VAR = "--vx-keyboard-inset";
|
|
4
4
|
function useKeyboardInsetRef() {
|
|
5
5
|
const [node, setNode] = useState(null);
|
|
@@ -87,13 +87,13 @@
|
|
|
87
87
|
/** Tuning knobs passed through to `@tanstack/react-virtual`'s `useVirtualizer`. */
|
|
88
88
|
export type VirtualizeOptions = {
|
|
89
89
|
/** Extra rows rendered beyond the visible viewport, each side. Library default: 1. */
|
|
90
|
-
readonly overscan?: number;
|
|
90
|
+
readonly overscan?: number | undefined;
|
|
91
91
|
/** Estimated row height in px, used before a row has been measured. */
|
|
92
|
-
readonly estimateSize?: number;
|
|
92
|
+
readonly estimateSize?: number | undefined;
|
|
93
93
|
/** Where the transcript sits on first mount. Default 'end' — a chat transcript opens at the
|
|
94
94
|
newest message. 'start' opens at the oldest. See this module's fourth composition rule
|
|
95
95
|
above for the mechanism and why a consumer restoring its own scroll position wants 'start'. */
|
|
96
|
-
readonly initialScroll?: 'end' | 'start';
|
|
96
|
+
readonly initialScroll?: 'end' | 'start' | undefined;
|
|
97
97
|
};
|
|
98
98
|
/**
|
|
99
99
|
* `virtualize: false` (or omitted) → no `height` prop (content-sized, non-scrolling-owner layout).
|
|
@@ -101,8 +101,8 @@ export type VirtualizeOptions = {
|
|
|
101
101
|
* scroll container, so there is no valid virtualized layout without one.
|
|
102
102
|
*/
|
|
103
103
|
export type VirtualizeProps = {
|
|
104
|
-
readonly virtualize?: false;
|
|
105
|
-
readonly height?:
|
|
104
|
+
readonly virtualize?: false | undefined;
|
|
105
|
+
readonly height?: undefined;
|
|
106
106
|
} | {
|
|
107
107
|
readonly virtualize: true | VirtualizeOptions;
|
|
108
108
|
readonly height: number | string;
|
|
@@ -126,8 +126,8 @@ export type ResolvedVirtualize = {
|
|
|
126
126
|
* transcript body with inner scroll, no `@tanstack/react-virtual` peer installed).
|
|
127
127
|
*/
|
|
128
128
|
export type RowHeightProps = {
|
|
129
|
-
readonly virtualize?: false;
|
|
130
|
-
readonly height?: number | string;
|
|
129
|
+
readonly virtualize?: false | undefined;
|
|
130
|
+
readonly height?: number | string | undefined;
|
|
131
131
|
} | {
|
|
132
132
|
readonly virtualize: true | VirtualizeOptions;
|
|
133
133
|
readonly height: number | string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"virtualize.d.ts","sourceRoot":"","sources":["../../../src/agent/chat/virtualize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AAEH,mFAAmF;AACnF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,uEAAuE;IACvE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C;;sGAEkG;IAClG,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAAA;CACrD,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GACxE;IAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,iBAAiB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAA;AAEvF,uFAAuF;AACvF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CACjC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,GAC1F;IAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,iBAAiB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAA;AAEvF,gGAAgG;AAChG,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAA;CAAE,GACzE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE,CAAA;AAEtC;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,iBAAiB,CAezE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,kBAAkB,GAAG,IAAI,CAUnF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentError — the closed, serializable shape of a failed turn (V2-SPEC § 6).
|
|
3
|
+
*
|
|
4
|
+
* `useAgentThreadRuns({ onError })` keeps the raw thrown value; `ThreadRunState.error` and the
|
|
5
|
+
* `chat.turn` telemetry carry this union instead, so a consumer switches on `kind` rather than
|
|
6
|
+
* parsing an error body. Classification is duck-typed on purpose: this module must never resolve
|
|
7
|
+
* the optional `ai` peer at runtime.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* - `http`: the chat endpoint answered with a non-2xx `status` (AI SDK's `APICallError`).
|
|
11
|
+
* - `stream`: the UI-message stream was malformed (AI SDK's `UIMessageStreamError`).
|
|
12
|
+
* - `server`: an `error` chunk arrived mid-stream, or any other failure; `message` is the server's
|
|
13
|
+
* `errorText` or the thrown error's message.
|
|
14
|
+
* - `aborted`: the request was aborted by something other than `stop()`.
|
|
15
|
+
*/
|
|
16
|
+
export type AgentError = {
|
|
17
|
+
readonly kind: 'http';
|
|
18
|
+
readonly status: number;
|
|
19
|
+
} | {
|
|
20
|
+
readonly kind: 'stream';
|
|
21
|
+
readonly chunkType: string;
|
|
22
|
+
readonly chunkId: string;
|
|
23
|
+
} | {
|
|
24
|
+
readonly kind: 'server';
|
|
25
|
+
readonly message: string;
|
|
26
|
+
} | {
|
|
27
|
+
readonly kind: 'aborted';
|
|
28
|
+
};
|
|
29
|
+
/** Maps whatever a transport threw onto the closed `AgentError` union. */
|
|
30
|
+
export declare function toAgentError(error: unknown): AgentError;
|
|
31
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/agent/error.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjF;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAQhC,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAavD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
function stringField(value, key) {
|
|
2
|
+
if (typeof value !== "object" || value === null) return void 0;
|
|
3
|
+
const field = value[key];
|
|
4
|
+
return typeof field === "string" ? field : void 0;
|
|
5
|
+
}
|
|
6
|
+
function toAgentError(error) {
|
|
7
|
+
if (stringField(error, "name") === "AbortError") return { kind: "aborted" };
|
|
8
|
+
const status = typeof error === "object" && error !== null ? error["statusCode"] : void 0;
|
|
9
|
+
if (typeof status === "number") return { kind: "http", status };
|
|
10
|
+
const chunkType = stringField(error, "chunkType");
|
|
11
|
+
const chunkId = stringField(error, "chunkId");
|
|
12
|
+
if (chunkType !== void 0 && chunkId !== void 0)
|
|
13
|
+
return { kind: "stream", chunkType, chunkId };
|
|
14
|
+
return { kind: "server", message: stringField(error, "message") ?? String(error) };
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
toAgentError
|
|
18
|
+
};
|
package/dist/agent/foreign.d.ts
CHANGED
|
@@ -69,8 +69,9 @@ export type PartRenderContext<TPart = ForeignPart> = {
|
|
|
69
69
|
};
|
|
70
70
|
export type PartRenderer<TPart = ForeignPart> = (ctx: PartRenderContext<TPart>) => ReactNode;
|
|
71
71
|
/**
|
|
72
|
-
* Canonical const-generic factory (`packages/basalt-ui/
|
|
73
|
-
*
|
|
72
|
+
* Canonical const-generic factory (`packages/basalt-ui/MAINTAINING.md` § "Token system — the
|
|
73
|
+
* derived palette", "Series color is consumer data") — identity passthrough, exact-keyed return,
|
|
74
|
+
* no builder, no config bag. Mirrors
|
|
74
75
|
* `defineSeries` (`tokens/index.ts:648-650`) and `defineNotifications`
|
|
75
76
|
* (`notifications/define-notifications.ts:112-115`).
|
|
76
77
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foreign.d.ts","sourceRoot":"","sources":["../../src/agent/foreign.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC,gGAAgG;AAChG,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAC9B,CAAA;AAED,uGAAuG;AACvG,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,CAAA;AAuBpD,kFAAkF;AAClF,MAAM,MAAM,YAAY,GAAG,cAAc,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,SAAS,WAAW,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAA;AAIpG;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,GACtD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,GACnD;IAAE,QAAQ,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CAAE,CAAA;AAE9F,uEAAuE;AACvE,MAAM,MAAM,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI;IACnD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,KAAK,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA;AAE5F
|
|
1
|
+
{"version":3,"file":"foreign.d.ts","sourceRoot":"","sources":["../../src/agent/foreign.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC,gGAAgG;AAChG,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAC9B,CAAA;AAED,uGAAuG;AACvG,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,CAAA;AAuBpD,kFAAkF;AAClF,MAAM,MAAM,YAAY,GAAG,cAAc,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,SAAS,WAAW,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAA;AAIpG;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,GACtD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,GACnD;IAAE,QAAQ,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CAAE,CAAA;AAE9F,uEAAuE;AACvE,MAAM,MAAM,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI;IACnD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,KAAK,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA;AAE5F;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,aAAa,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAE5E;AAaD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAEtE"}
|
package/dist/agent/history.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** ChatMessage — the typed message shape every thread carries. */
|
|
1
2
|
import type { AgentPart } from './parts.js';
|
|
2
3
|
/**
|
|
3
4
|
* A single chat message. The `id` is a stable identifier for React keys and de-duplication.
|
|
@@ -17,41 +18,6 @@ export type ChatMessage<TPart = AgentPart> = {
|
|
|
17
18
|
readonly parts: TPart[];
|
|
18
19
|
readonly createdAt: number;
|
|
19
20
|
/** How the turn ended. Absent on user messages and on pre-1.11 persisted assistant messages. */
|
|
20
|
-
readonly finish?: 'complete' | 'stopped' | 'error';
|
|
21
|
+
readonly finish?: 'complete' | 'stopped' | 'error' | undefined;
|
|
21
22
|
};
|
|
22
|
-
export type ChatHistoryStoreOptions = {
|
|
23
|
-
/** localStorage key (namespaced as `basalt:<key>`). Stable — changes key lose history. */
|
|
24
|
-
readonly key: string;
|
|
25
|
-
/** Envelope version. Increment when the ChatMessage shape changes to clear old data. */
|
|
26
|
-
readonly version: number;
|
|
27
|
-
/**
|
|
28
|
-
* Maximum number of messages to retain. Oldest messages are dropped when exceeded.
|
|
29
|
-
* @default 100
|
|
30
|
-
*/
|
|
31
|
-
readonly max?: number;
|
|
32
|
-
};
|
|
33
|
-
export type ChatHistoryStore<TPart = AgentPart> = {
|
|
34
|
-
/** All retained messages, oldest first. */
|
|
35
|
-
readonly messages: ChatMessage<TPart>[];
|
|
36
|
-
/** Append a message. Trims to `max` if needed (ring-buffer: drops oldest). */
|
|
37
|
-
readonly append: (message: ChatMessage<TPart>) => void;
|
|
38
|
-
/** Clear all messages. */
|
|
39
|
-
readonly clear: () => void;
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* Creates a stable persisted chat history hook for the given key + version.
|
|
43
|
-
*
|
|
44
|
-
* Call this ONCE per module (not inside a component). The returned hook can be called in any
|
|
45
|
-
* component that needs access to the same history. All instances sharing the same key stay
|
|
46
|
-
* in sync across tabs via the 'storage' event.
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* // src/chat/history.ts — ONE stable creation per key:
|
|
50
|
-
* export const useChatHistory = createChatHistoryStore({ key: 'main-chat', version: 1 })
|
|
51
|
-
*
|
|
52
|
-
* // In a component:
|
|
53
|
-
* const { messages, append, clear } = useChatHistory()
|
|
54
|
-
* append({ id: crypto.randomUUID(), role: 'user', parts: [...], createdAt: Date.now() })
|
|
55
|
-
*/
|
|
56
|
-
export declare function createChatHistoryStore<TPart = AgentPart>(opts: ChatHistoryStoreOptions): () => ChatHistoryStore<TPart>;
|
|
57
23
|
//# sourceMappingURL=history.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/agent/history.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/agent/history.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,CAAC,KAAK,GAAG,SAAS,IAAI;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,gGAAgG;IAChG,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;CAC/D,CAAA"}
|
package/dist/agent/history.js
CHANGED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { useCallback, useRef } from "react";
|
|
2
|
-
import { createPersistedState } from "../state.js";
|
|
3
|
-
function createChatHistoryStore(opts) {
|
|
4
|
-
const max = opts.max ?? 100;
|
|
5
|
-
const usePersistedMessages = createPersistedState({
|
|
6
|
-
key: opts.key,
|
|
7
|
-
version: opts.version,
|
|
8
|
-
initial: []
|
|
9
|
-
});
|
|
10
|
-
return function useChatHistoryStore() {
|
|
11
|
-
const [messages, setMessages] = usePersistedMessages();
|
|
12
|
-
const ref = useRef(messages);
|
|
13
|
-
ref.current = messages;
|
|
14
|
-
const append = useCallback(
|
|
15
|
-
(message) => {
|
|
16
|
-
const next = [...ref.current, message];
|
|
17
|
-
const trimmed = next.length > max ? next.slice(next.length - max) : next;
|
|
18
|
-
ref.current = trimmed;
|
|
19
|
-
setMessages(trimmed);
|
|
20
|
-
},
|
|
21
|
-
[setMessages]
|
|
22
|
-
);
|
|
23
|
-
const clear = useCallback(() => {
|
|
24
|
-
ref.current = [];
|
|
25
|
-
setMessages([]);
|
|
26
|
-
}, [setMessages]);
|
|
27
|
-
return { messages, append, clear };
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
export {
|
|
31
|
-
createChatHistoryStore
|
|
32
|
-
};
|
package/dist/agent/id.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Id-minting helpers shared across the agent layer: `mintThreadId` (a low-stakes client-side id —
|
|
3
|
-
* threads, run/chat namespaces — used by
|
|
4
|
-
* `
|
|
5
|
-
* id
|
|
6
|
-
* treats as its only idempotency key), and `withPartIds` (stamps sequence ids onto streamed
|
|
3
|
+
* threads, run/chat namespaces — used by `useAgentThreadRuns`'s per-send run id and
|
|
4
|
+
* `aiSdkTransport`'s fixed chat id; the thread store itself is consumer-owned), `mintMessageId`
|
|
5
|
+
* (the higher-stakes id `appendMessage` treats as its only idempotency key), and `withPartIds` (stamps sequence ids onto streamed
|
|
7
6
|
* parts). Grouped here because they're the id-minting leaves every store/hook/transport in this
|
|
8
7
|
* layer sits above — not because they share a mechanism (`mintMessageId` deliberately diverges
|
|
9
8
|
* from `mintThreadId` on rung 3; see its own doc).
|
|
@@ -106,7 +105,7 @@ export declare function mintMessageId(): string;
|
|
|
106
105
|
* }
|
|
107
106
|
*/
|
|
108
107
|
export declare function withPartIds<TPart extends {
|
|
109
|
-
id?: string;
|
|
108
|
+
id?: string | undefined;
|
|
110
109
|
}>(runId: string, source: AsyncGenerator<TPart>): AsyncGenerator<TPart & {
|
|
111
110
|
id: string;
|
|
112
111
|
}>;
|
package/dist/agent/id.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/agent/id.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/agent/id.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmBH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAQrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAYtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAuB,WAAW,CAAC,KAAK,SAAS;IAAE,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAC1E,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,GAC5B,cAAc,CAAC,KAAK,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAUxC"}
|
package/dist/agent/index.d.ts
CHANGED
|
@@ -1,60 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* basalt-ui/agent —
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* (ai, use-stick-to-bottom) are all lazily loaded — importing this module does NOT eagerly resolve
|
|
7
|
-
* either of them. This module ships no markdown renderer — `agent/** -> content` is lint-blocked
|
|
8
|
-
* by design, so `PartList` takes a consumer-supplied `components.text`; basalt's own is
|
|
9
|
-
* `basalt-ui/content`'s `Markdown`.
|
|
10
|
-
*
|
|
11
|
-
* Install optional peers:
|
|
12
|
-
* bun add ai # aiSdkTransport
|
|
13
|
-
* bun add use-stick-to-bottom # BasaltStickToBottom
|
|
2
|
+
* basalt-ui/agent — the AI chat surface: a Mantine-free streaming runtime (`src/agent/**` outside
|
|
3
|
+
* `chat/`) plus the chat UI (`src/agent/chat/**`). `aiSdkTransport` (the `ai` npm package) is the
|
|
4
|
+
* one transport; `useAgentThreadRuns` is the one runner. Optional peers (`ai`,
|
|
5
|
+
* `use-stick-to-bottom`) load lazily — importing this module does not resolve either.
|
|
14
6
|
*
|
|
15
7
|
* @example
|
|
16
|
-
* import {
|
|
17
|
-
*
|
|
18
|
-
* const transport = edenTransport((input, signal) =>
|
|
19
|
-
* api.chat.post({ body: { message: input }, fetch: { signal } }),
|
|
20
|
-
* )
|
|
21
|
-
*
|
|
22
|
-
* function Chat() {
|
|
23
|
-
* const { parts, status, send, stop } = useAgentStream({ transport })
|
|
24
|
-
* return (
|
|
25
|
-
* <BasaltStickToBottom style={{ height: '400px', overflow: 'auto' }}>
|
|
26
|
-
* <PartList parts={parts} />
|
|
27
|
-
* <button onClick={() => send('Hello')}>Send</button>
|
|
28
|
-
* {status === 'streaming' && <button onClick={stop}>Stop</button>}
|
|
29
|
-
* </BasaltStickToBottom>
|
|
30
|
-
* )
|
|
31
|
-
* }
|
|
8
|
+
* import { aiSdkTransport, useAgentThreadRuns, ThreadFeed, Composer } from 'basalt-ui/agent'
|
|
32
9
|
*/
|
|
33
|
-
export type { AgentPart,
|
|
34
|
-
export { parseAgentPart
|
|
35
|
-
export {
|
|
36
|
-
export { withPartIds } from './id.js';
|
|
37
|
-
export { coalesceParts } from './coalesce.js';
|
|
38
|
-
export { definePartRenderers, narrowAgentPart } from './foreign.js';
|
|
39
|
-
export type { ForeignPart, TranscriptPart, ConsumerPart, PartRenderers, PartRenderContext, PartRenderer, } from './foreign.js';
|
|
40
|
-
export type { AgentTransport, ResumableAgentTransport } from './transport.js';
|
|
41
|
-
export { edenTransport, isResumable } from './transport.js';
|
|
10
|
+
export type { AgentPart, ToolCallPart } from './parts.js';
|
|
11
|
+
export { parseAgentPart } from './parts.js';
|
|
12
|
+
export type { ForeignPart, TranscriptPart, PartRenderers, PartRenderer } from './foreign.js';
|
|
42
13
|
export { aiSdkTransport } from './ai-sdk-transport.js';
|
|
43
|
-
export type { AiSdkTransport, AiSdkTransportOptions } from './ai-sdk-transport.js';
|
|
44
|
-
export { useAgentStream } from './use-agent-stream.js';
|
|
45
|
-
export type { StreamStatus, UseAgentStreamReturn } from './use-agent-stream.js';
|
|
46
14
|
export { useAgentThreadRuns } from './use-agent-thread-runs.js';
|
|
47
|
-
export type { ThreadRunState
|
|
48
|
-
export {
|
|
49
|
-
export type {
|
|
50
|
-
export {
|
|
51
|
-
export type { BasaltStickToBottomProps } from './stick-to-bottom.js';
|
|
52
|
-
export { createChatHistoryStore } from './history.js';
|
|
53
|
-
export type { ChatMessage, ChatHistoryStore, ChatHistoryStoreOptions } from './history.js';
|
|
54
|
-
export { createThreadsStore } from './thread.js';
|
|
55
|
-
export type { AgentThread, ThreadStatus, ThreadsStore, ThreadsStoreOptions } from './thread.js';
|
|
56
|
-
export { heuristicOutcome } from './outcome.js';
|
|
15
|
+
export type { ThreadRunState } from './use-agent-thread-runs.js';
|
|
16
|
+
export type { AgentError } from './error.js';
|
|
17
|
+
export type { ChatMessage } from './history.js';
|
|
18
|
+
export type { AgentThread, ThreadStatus, ThreadsStore } from './thread.js';
|
|
57
19
|
export type { AgentOutcome, OutcomeResolver } from './outcome.js';
|
|
58
|
-
export {
|
|
59
|
-
export
|
|
20
|
+
export type { AgentTransport, ResumableAgentTransport } from './transport.js';
|
|
21
|
+
export { ThreadFeed } from './chat/thread-feed.js';
|
|
22
|
+
export { ThreadFeedRow } from './chat/thread-feed-row.js';
|
|
23
|
+
export type { MessageAffordances } from './chat/message-affordances.js';
|
|
24
|
+
export { Composer } from './chat/composer.js';
|
|
25
|
+
export type { ComposerHandle, ComposerSubmit } from './chat/composer.js';
|
|
26
|
+
export { ToolChip } from './chat/tool-chip.js';
|
|
60
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGzF,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC9D,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAG1E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA"}
|
package/dist/agent/index.js
CHANGED
|
@@ -1,38 +1,16 @@
|
|
|
1
|
-
import { parseAgentPart
|
|
2
|
-
import { mergePart } from "./merge.js";
|
|
3
|
-
import { withPartIds } from "./id.js";
|
|
4
|
-
import { coalesceParts } from "./coalesce.js";
|
|
5
|
-
import { definePartRenderers, narrowAgentPart } from "./foreign.js";
|
|
6
|
-
import { edenTransport, isResumable } from "./transport.js";
|
|
1
|
+
import { parseAgentPart } from "./parts.js";
|
|
7
2
|
import { aiSdkTransport } from "./ai-sdk-transport.js";
|
|
8
|
-
import { useAgentStream } from "./use-agent-stream.js";
|
|
9
3
|
import { useAgentThreadRuns } from "./use-agent-thread-runs.js";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { heuristicOutcome } from "./outcome.js";
|
|
15
|
-
import { createAdapterThreadsStore, threadsStoreAdapterContract } from "./adapter.js";
|
|
4
|
+
import { ThreadFeed } from "./chat/thread-feed.js";
|
|
5
|
+
import { ThreadFeedRow } from "./chat/thread-feed-row.js";
|
|
6
|
+
import { Composer } from "./chat/composer.js";
|
|
7
|
+
import { ToolChip } from "./chat/tool-chip.js";
|
|
16
8
|
export {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
Composer,
|
|
10
|
+
ThreadFeed,
|
|
11
|
+
ThreadFeedRow,
|
|
12
|
+
ToolChip,
|
|
20
13
|
aiSdkTransport,
|
|
21
|
-
coalesceParts,
|
|
22
|
-
createAdapterThreadsStore,
|
|
23
|
-
createChatHistoryStore,
|
|
24
|
-
createThreadsStore,
|
|
25
|
-
definePartRenderers,
|
|
26
|
-
edenTransport,
|
|
27
|
-
heuristicOutcome,
|
|
28
|
-
isResumable,
|
|
29
|
-
isStartPart,
|
|
30
|
-
isToolCallSettled,
|
|
31
|
-
mergePart,
|
|
32
|
-
narrowAgentPart,
|
|
33
14
|
parseAgentPart,
|
|
34
|
-
|
|
35
|
-
useAgentStream,
|
|
36
|
-
useAgentThreadRuns,
|
|
37
|
-
withPartIds
|
|
15
|
+
useAgentThreadRuns
|
|
38
16
|
};
|
package/dist/agent/outcome.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* multi-thread feed — only a short, past-tense summary of what happened. AgentOutcome is
|
|
6
6
|
* that DIFFERENT, smaller shape: a title, a one-line summary, and a status. Producing one
|
|
7
7
|
* is the job of an OutcomeResolver (typically an LLM-backed summarizer wired by the
|
|
8
|
-
* consumer)
|
|
8
|
+
* consumer).
|
|
9
9
|
*
|
|
10
10
|
* @example
|
|
11
11
|
* import type { AgentOutcome } from 'basalt-ui/agent'
|
|
@@ -29,12 +29,12 @@ import type { AgentThread } from './thread.js';
|
|
|
29
29
|
* turn has settled, so those never apply here.
|
|
30
30
|
*
|
|
31
31
|
* Note there are THREE overlapping status-shaped unions in this module family, one per layer:
|
|
32
|
-
* `StreamStatus` (single-turn stream lifecycle, `./
|
|
32
|
+
* the internal `StreamStatus` (single-turn stream lifecycle, `./thread`), `ThreadStatus` (persisted
|
|
33
33
|
* thread lifecycle, `./thread`), and this `AgentOutcome['status']` (feed-facing terminal
|
|
34
34
|
* projection). They are related but not identical — `StreamStatus`'s `'idle'` (no turn in
|
|
35
35
|
* flight) corresponds to `ThreadStatus`'s `'pending'` (thread created, no turn started yet); the
|
|
36
36
|
* literal rename from `'idle'` to `'pending'` is intentionally deferred since it would ripple
|
|
37
|
-
* into `
|
|
37
|
+
* into `useAgentThreadRuns` and its call sites.
|
|
38
38
|
*
|
|
39
39
|
* @example
|
|
40
40
|
* const outcome: AgentOutcome = { title: 'New chat', summary: '', status: 'done' }
|
|
@@ -57,15 +57,4 @@ export type AgentOutcome = {
|
|
|
57
57
|
* }
|
|
58
58
|
*/
|
|
59
59
|
export type OutcomeResolver<TPart = AgentPart> = (thread: AgentThread<TPart>) => AgentOutcome | Promise<AgentOutcome>;
|
|
60
|
-
/**
|
|
61
|
-
* DEMO-ONLY provisional heuristic — never the production path. Coalesces the last assistant
|
|
62
|
-
* message's text parts into one string and derives a title/summary/status from it with no
|
|
63
|
-
* model call. Real apps should wire an OutcomeResolver backed by an LLM summarizer; this
|
|
64
|
-
* exists purely so a feed has something to render before that wiring lands.
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* const outcome = heuristicOutcome(thread)
|
|
68
|
-
* // { title: 'Fixed the flaky test', summary: 'Fixed the flaky test by awaiting…', status: 'done' }
|
|
69
|
-
*/
|
|
70
|
-
export declare function heuristicOutcome(thread: AgentThread): AgentOutcome;
|
|
71
60
|
//# sourceMappingURL=outcome.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../../src/agent/outcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAI3C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAA;CAChD,CAAA;AAID;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,CAAC,KAAK,GAAG,SAAS,IAAI,CAC/C,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,KACvB,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA
|
|
1
|
+
{"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../../src/agent/outcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAI3C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAA;CAChD,CAAA;AAID;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,CAAC,KAAK,GAAG,SAAS,IAAI,CAC/C,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,KACvB,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA"}
|
package/dist/agent/outcome.js
CHANGED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
const TITLE_MAX = 48;
|
|
2
|
-
const SUMMARY_MAX = 88;
|
|
3
|
-
function truncate(text, max) {
|
|
4
|
-
if (text.length <= max) return text;
|
|
5
|
-
return `${text.slice(0, max - 1).trimEnd()}\u2026`;
|
|
6
|
-
}
|
|
7
|
-
function firstClause(text) {
|
|
8
|
-
const match = text.match(/^[^.!?]+[.!?]?/);
|
|
9
|
-
return (match?.[0] ?? text).trim();
|
|
10
|
-
}
|
|
11
|
-
function heuristicOutcome(thread) {
|
|
12
|
-
const lastAssistant = thread.messages.toReversed().find((message) => message.role === "assistant");
|
|
13
|
-
if (lastAssistant === void 0) {
|
|
14
|
-
return { title: "New chat", summary: "", status: "done" };
|
|
15
|
-
}
|
|
16
|
-
const text = lastAssistant.parts.filter((part) => part.type === "text").map((part) => part.text).join("").trim();
|
|
17
|
-
if (text.length === 0) {
|
|
18
|
-
return { title: "New chat", summary: "", status: "done" };
|
|
19
|
-
}
|
|
20
|
-
const lastPart = lastAssistant.parts[lastAssistant.parts.length - 1];
|
|
21
|
-
const status = lastPart?.type === "error" ? "error" : "done";
|
|
22
|
-
return {
|
|
23
|
-
title: truncate(firstClause(text), TITLE_MAX),
|
|
24
|
-
summary: truncate(text, SUMMARY_MAX),
|
|
25
|
-
status
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
export {
|
|
29
|
-
heuristicOutcome
|
|
30
|
-
};
|