@mastra/playground-ui 68.0.0 → 69.0.0-alpha.1
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/README.md +80 -8
- package/dist/AgentIndicator-Dnv_1hvF.js +1995 -0
- package/dist/AgentIndicator-Dnv_1hvF.js.map +1 -0
- package/dist/AgentIndicator-zCokR2zb.cjs +2012 -0
- package/dist/AgentIndicator-zCokR2zb.cjs.map +1 -0
- package/dist/AttachmentCard-Bt3-QAxJ.js +61 -0
- package/dist/AttachmentCard-Bt3-QAxJ.js.map +1 -0
- package/dist/AttachmentCard-BycDEelL.cjs +66 -0
- package/dist/AttachmentCard-BycDEelL.cjs.map +1 -0
- package/dist/Avatar-DOoEXudh.js +146 -0
- package/dist/Avatar-DOoEXudh.js.map +1 -0
- package/dist/Avatar-Dxpc0YUx.cjs +151 -0
- package/dist/Avatar-Dxpc0YUx.cjs.map +1 -0
- package/dist/Badge-C7NnqmMx.js +149 -0
- package/dist/Badge-C7NnqmMx.js.map +1 -0
- package/dist/Badge-DqaMg7Gy.cjs +154 -0
- package/dist/Badge-DqaMg7Gy.cjs.map +1 -0
- package/dist/Button-BfICfyxD.cjs +276 -0
- package/dist/Button-BfICfyxD.cjs.map +1 -0
- package/dist/Button-Bi7aXd_G.js +233 -0
- package/dist/Button-Bi7aXd_G.js.map +1 -0
- package/dist/Card-C9oCXvxU.cjs +134 -0
- package/dist/Card-C9oCXvxU.cjs.map +1 -0
- package/dist/Card-ClDoUQNb.js +91 -0
- package/dist/Card-ClDoUQNb.js.map +1 -0
- package/dist/CodeEditor-DHIDfP5g.cjs +515 -0
- package/dist/CodeEditor-DHIDfP5g.cjs.map +1 -0
- package/dist/CodeEditor-ZoBu3Gjw.js +466 -0
- package/dist/CodeEditor-ZoBu3Gjw.js.map +1 -0
- package/dist/Comment-2q9SomE2.js +317 -0
- package/dist/Comment-2q9SomE2.js.map +1 -0
- package/dist/Comment-rQxuMDQv.cjs +412 -0
- package/dist/Comment-rQxuMDQv.cjs.map +1 -0
- package/dist/Composer-bVE8qK52.js +357 -0
- package/dist/Composer-bVE8qK52.js.map +1 -0
- package/dist/Composer-u1K6edoZ.cjs +446 -0
- package/dist/Composer-u1K6edoZ.cjs.map +1 -0
- package/dist/DataCodeSection-7SvRJj6f.cjs +236 -0
- package/dist/DataCodeSection-7SvRJj6f.cjs.map +1 -0
- package/dist/DataCodeSection-CTodi9wg.js +231 -0
- package/dist/DataCodeSection-CTodi9wg.js.map +1 -0
- package/dist/DataDetailsPanel-BDoD6pxx.cjs +185 -0
- package/dist/DataDetailsPanel-BDoD6pxx.cjs.map +1 -0
- package/dist/DataDetailsPanel-BU05psHL.js +180 -0
- package/dist/DataDetailsPanel-BU05psHL.js.map +1 -0
- package/dist/DataKeysAndValues-B56je3sK.js +123 -0
- package/dist/DataKeysAndValues-B56je3sK.js.map +1 -0
- package/dist/DataKeysAndValues-BbKeVxrQ.cjs +128 -0
- package/dist/DataKeysAndValues-BbKeVxrQ.cjs.map +1 -0
- package/dist/DataList-B7ho6PrJ.js +408 -0
- package/dist/DataList-B7ho6PrJ.js.map +1 -0
- package/dist/DataList-DTIdllb-.cjs +431 -0
- package/dist/DataList-DTIdllb-.cjs.map +1 -0
- package/dist/DataPanel-BRRAvWYQ.cjs +298 -0
- package/dist/DataPanel-BRRAvWYQ.cjs.map +1 -0
- package/dist/DataPanel-pVr5LVaK.js +292 -0
- package/dist/DataPanel-pVr5LVaK.js.map +1 -0
- package/dist/Dialog-Duy3M1ny.cjs +424 -0
- package/dist/Dialog-Duy3M1ny.cjs.map +1 -0
- package/dist/Dialog-OBPu3rl2.js +334 -0
- package/dist/Dialog-OBPu3rl2.js.map +1 -0
- package/dist/EmptyState-Dc-sP95H.cjs +1524 -0
- package/dist/EmptyState-Dc-sP95H.cjs.map +1 -0
- package/dist/EmptyState-i88y1x75.js +1511 -0
- package/dist/EmptyState-i88y1x75.js.map +1 -0
- package/dist/ErrorBoundary-Bwoum0sT.cjs +138 -0
- package/dist/ErrorBoundary-Bwoum0sT.cjs.map +1 -0
- package/dist/ErrorBoundary-BzmaWe2y.js +131 -0
- package/dist/ErrorBoundary-BzmaWe2y.js.map +1 -0
- package/dist/FilterBar-CFacnMNl.js +861 -0
- package/dist/FilterBar-CFacnMNl.js.map +1 -0
- package/dist/FilterBar-CR8nbvoe.cjs +902 -0
- package/dist/FilterBar-CR8nbvoe.cjs.map +1 -0
- package/dist/KnowledgePageGraph.css +1 -3
- package/dist/LogsDataList-Cdo_U0Ei.js +96 -0
- package/dist/LogsDataList-Cdo_U0Ei.js.map +1 -0
- package/dist/LogsDataList-z0Y2X8P5.cjs +101 -0
- package/dist/LogsDataList-z0Y2X8P5.cjs.map +1 -0
- package/dist/MarkdownRenderer-BSGb65Ze.js +481 -0
- package/dist/MarkdownRenderer-BSGb65Ze.js.map +1 -0
- package/dist/MarkdownRenderer-CDwlvw0Y.cjs +490 -0
- package/dist/MarkdownRenderer-CDwlvw0Y.cjs.map +1 -0
- package/dist/MarkdownRenderer.css +77 -6
- package/dist/Message-CgO_SxI4.cjs +116 -0
- package/dist/Message-CgO_SxI4.cjs.map +1 -0
- package/dist/Message-DnnCoSef.js +87 -0
- package/dist/Message-DnnCoSef.js.map +1 -0
- package/dist/MessageScroller-D-mK1uuu.cjs +976 -0
- package/dist/MessageScroller-D-mK1uuu.cjs.map +1 -0
- package/dist/MessageScroller-nV_zBF3H.js +903 -0
- package/dist/MessageScroller-nV_zBF3H.js.map +1 -0
- package/dist/Metadata-5GJlO4GU.cjs +32 -0
- package/dist/Metadata-5GJlO4GU.cjs.map +1 -0
- package/dist/Metadata-DlVgmRTA.js +27 -0
- package/dist/Metadata-DlVgmRTA.js.map +1 -0
- package/dist/MetricsCard-CSJ4TsNq.cjs +229 -0
- package/dist/MetricsCard-CSJ4TsNq.cjs.map +1 -0
- package/dist/MetricsCard-D6bQfynP.js +224 -0
- package/dist/MetricsCard-D6bQfynP.js.map +1 -0
- package/dist/MetricsKpiCard-1blTbzUs.js +216 -0
- package/dist/MetricsKpiCard-1blTbzUs.js.map +1 -0
- package/dist/MetricsKpiCard-C_9GvRAp.cjs +221 -0
- package/dist/MetricsKpiCard-C_9GvRAp.cjs.map +1 -0
- package/dist/MetricsLineChart-4w5lpH63.js +262 -0
- package/dist/MetricsLineChart-4w5lpH63.js.map +1 -0
- package/dist/MetricsLineChart-BnY9JKzc.cjs +279 -0
- package/dist/MetricsLineChart-BnY9JKzc.cjs.map +1 -0
- package/dist/MetricsStackedBarChart-Bmk0OjYp.js +308 -0
- package/dist/MetricsStackedBarChart-Bmk0OjYp.js.map +1 -0
- package/dist/MetricsStackedBarChart-CJQF99sc.cjs +313 -0
- package/dist/MetricsStackedBarChart-CJQF99sc.cjs.map +1 -0
- package/dist/MetricsTable-CvMoo2vg.cjs +332 -0
- package/dist/MetricsTable-CvMoo2vg.cjs.map +1 -0
- package/dist/MetricsTable-DIjbD5Xk.js +327 -0
- package/dist/MetricsTable-DIjbD5Xk.js.map +1 -0
- package/dist/Notice-B_KjMmA6.cjs +117 -0
- package/dist/Notice-B_KjMmA6.cjs.map +1 -0
- package/dist/Notice-OSlG42lD.js +112 -0
- package/dist/Notice-OSlG42lD.js.map +1 -0
- package/dist/PageLayout-C0Fo3ZQC.cjs +54 -0
- package/dist/PageLayout-C0Fo3ZQC.cjs.map +1 -0
- package/dist/PageLayout-DLll7ZwB.js +49 -0
- package/dist/PageLayout-DLll7ZwB.js.map +1 -0
- package/dist/SankeyChart-lkM5cpOC.js +856 -0
- package/dist/SankeyChart-lkM5cpOC.js.map +1 -0
- package/dist/SankeyChart-m50vrsBS.cjs +921 -0
- package/dist/SankeyChart-m50vrsBS.cjs.map +1 -0
- package/dist/Section-B8MIbDDs.cjs +130 -0
- package/dist/Section-B8MIbDDs.cjs.map +1 -0
- package/dist/Section-C9Fgv-IF.js +113 -0
- package/dist/Section-C9Fgv-IF.js.map +1 -0
- package/dist/ShareBar-DERy_egz.cjs +456 -0
- package/dist/ShareBar-DERy_egz.cjs.map +1 -0
- package/dist/ShareBar-KrzzdcyI.js +451 -0
- package/dist/ShareBar-KrzzdcyI.js.map +1 -0
- package/dist/Tree-D1_VJClB.js +438 -0
- package/dist/Tree-D1_VJClB.js.map +1 -0
- package/dist/Tree-kgLG4IbP.cjs +445 -0
- package/dist/Tree-kgLG4IbP.cjs.map +1 -0
- package/dist/Txt-5efBsb2p.js +21 -0
- package/dist/Txt-5efBsb2p.js.map +1 -0
- package/dist/Txt-_00wWxTd.cjs +26 -0
- package/dist/Txt-_00wWxTd.cjs.map +1 -0
- package/dist/Workflow-CXRv3YXx.js +1316 -0
- package/dist/Workflow-CXRv3YXx.js.map +1 -0
- package/dist/Workflow-DIfTVqZs.cjs +1467 -0
- package/dist/Workflow-DIfTVqZs.cjs.map +1 -0
- package/dist/activity-BH_eegMA.js +450 -0
- package/dist/activity-BH_eegMA.js.map +1 -0
- package/dist/activity-Ciolopq8.cjs +581 -0
- package/dist/activity-Ciolopq8.cjs.map +1 -0
- package/dist/annotations.css +8 -0
- package/dist/ask-user-D4ezQ6pt.js +412 -0
- package/dist/ask-user-D4ezQ6pt.js.map +1 -0
- package/dist/ask-user-DcnUNMM5.cjs +495 -0
- package/dist/ask-user-DcnUNMM5.cjs.map +1 -0
- package/dist/buttons-group-DA_wORqQ.js +35 -0
- package/dist/buttons-group-DA_wORqQ.js.map +1 -0
- package/dist/buttons-group-DM6_Kohs.cjs +48 -0
- package/dist/buttons-group-DM6_Kohs.cjs.map +1 -0
- package/dist/chat-shell-context-0m1GVhS7.js +16 -0
- package/dist/chat-shell-context-0m1GVhS7.js.map +1 -0
- package/dist/chat-shell-context-ONCslAGn.cjs +39 -0
- package/dist/chat-shell-context-ONCslAGn.cjs.map +1 -0
- package/dist/clear-filters-button-C79dzuzA.js +22 -0
- package/dist/clear-filters-button-C79dzuzA.js.map +1 -0
- package/dist/clear-filters-button-CCO-y7kt.cjs +27 -0
- package/dist/clear-filters-button-CCO-y7kt.cjs.map +1 -0
- package/dist/combobox-i723LxeC.cjs +313 -0
- package/dist/combobox-i723LxeC.cjs.map +1 -0
- package/dist/combobox-lbSxWRMl.js +306 -0
- package/dist/combobox-lbSxWRMl.js.map +1 -0
- package/dist/combobox-parts-BeNqgCbj.cjs +582 -0
- package/dist/combobox-parts-BeNqgCbj.cjs.map +1 -0
- package/dist/combobox-parts-C9o4UfH_.js +437 -0
- package/dist/combobox-parts-C9o4UfH_.js.map +1 -0
- package/dist/components/AgentIndicator.cjs.js +1 -1
- package/dist/components/AgentIndicator.es.js +1 -1
- package/dist/components/AlertDialog.cjs.js +2 -2
- package/dist/components/AlertDialog.es.js +2 -2
- package/dist/components/AttachmentCard.cjs.js +1 -1
- package/dist/components/AttachmentCard.es.js +1 -1
- package/dist/components/Avatar.cjs.js +1 -1
- package/dist/components/Avatar.es.js +1 -1
- package/dist/components/Badge.cjs.js +1 -1
- package/dist/components/Badge.es.js +1 -1
- package/dist/components/Breadcrumb.cjs.js +6 -5
- package/dist/components/Breadcrumb.cjs.js.map +1 -1
- package/dist/components/Breadcrumb.es.js +6 -5
- package/dist/components/Breadcrumb.es.js.map +1 -1
- package/dist/components/Button.cjs.js +2 -2
- package/dist/components/Button.es.js +2 -2
- package/dist/components/ButtonsGroup.cjs.js +1 -1
- package/dist/components/ButtonsGroup.es.js +1 -1
- package/dist/components/Card.cjs.js +1 -1
- package/dist/components/Card.es.js +1 -1
- package/dist/components/ChartSkeleton.cjs.js +2 -2
- package/dist/components/ChartSkeleton.es.js +2 -2
- package/dist/components/ChartTooltip.cjs.js +1 -1
- package/dist/components/ChartTooltip.es.js +1 -1
- package/dist/components/ChatShell.cjs.js +33 -9
- package/dist/components/ChatShell.cjs.js.map +1 -1
- package/dist/components/ChatShell.es.js +33 -9
- package/dist/components/ChatShell.es.js.map +1 -1
- package/dist/components/Checkbox.cjs.js +1 -1
- package/dist/components/Checkbox.es.js +1 -1
- package/dist/components/ClampedText.cjs.js +3 -3
- package/dist/components/ClampedText.es.js +3 -3
- package/dist/components/ClearFiltersButton.cjs.js +1 -1
- package/dist/components/ClearFiltersButton.es.js +1 -1
- package/dist/components/CodeBlock.cjs.js +5 -5
- package/dist/components/CodeBlock.es.js +5 -5
- package/dist/components/CodeDiff.cjs.js +3 -3
- package/dist/components/CodeDiff.es.js +2 -2
- package/dist/components/CodeEditor.cjs.js +1 -1
- package/dist/components/CodeEditor.es.js +1 -1
- package/dist/components/Collapsible.cjs.js +1 -1
- package/dist/components/Collapsible.es.js +1 -1
- package/dist/components/CollapsibleBox.cjs.js +1 -1
- package/dist/components/CollapsibleBox.es.js +1 -1
- package/dist/components/Combobox.cjs.js +2 -2
- package/dist/components/Combobox.es.js +2 -2
- package/dist/components/Command.cjs.js +5 -5
- package/dist/components/Command.es.js +5 -5
- package/dist/components/CommandPalette.cjs.js +7 -7
- package/dist/components/CommandPalette.cjs.js.map +1 -1
- package/dist/components/CommandPalette.es.js +7 -7
- package/dist/components/CommandPalette.es.js.map +1 -1
- package/dist/components/Comment.cjs.js +1 -1
- package/dist/components/Comment.es.js +1 -1
- package/dist/components/CompactNumber.cjs.js +2 -2
- package/dist/components/CompactNumber.es.js +2 -2
- package/dist/components/Composer.cjs.js +1 -1
- package/dist/components/Composer.es.js +1 -1
- package/dist/components/ContextMenu.cjs.js +1 -1
- package/dist/components/ContextMenu.es.js +1 -1
- package/dist/components/CopyButton.cjs.js +1 -1
- package/dist/components/CopyButton.es.js +1 -1
- package/dist/components/DataCodeSection.cjs.js +1 -1
- package/dist/components/DataCodeSection.es.js +1 -1
- package/dist/components/DataDetailsPanel.cjs.js +1 -1
- package/dist/components/DataDetailsPanel.es.js +1 -1
- package/dist/components/DataKeysAndValues.cjs.js +1 -1
- package/dist/components/DataKeysAndValues.es.js +1 -1
- package/dist/components/DataList.cjs.js +3 -3
- package/dist/components/DataList.es.js +3 -3
- package/dist/components/DataPanel.cjs.js +1 -1
- package/dist/components/DataPanel.es.js +1 -1
- package/dist/components/DateRangeTimeline.cjs.js +9 -9
- package/dist/components/DateRangeTimeline.cjs.js.map +1 -1
- package/dist/components/DateRangeTimeline.es.js +9 -9
- package/dist/components/DateRangeTimeline.es.js.map +1 -1
- package/dist/components/DateTimePicker.cjs.js +75 -142
- package/dist/components/DateTimePicker.cjs.js.map +1 -1
- package/dist/components/DateTimePicker.es.js +79 -146
- package/dist/components/DateTimePicker.es.js.map +1 -1
- package/dist/components/DateTimeRangePicker.cjs.js +1 -1
- package/dist/components/DateTimeRangePicker.es.js +1 -1
- package/dist/components/Dialog.cjs.js +1 -1
- package/dist/components/Dialog.es.js +1 -1
- package/dist/components/DiffStat.cjs.js +1 -1
- package/dist/components/DiffStat.es.js +1 -1
- package/dist/components/DisabledFeatureButton.cjs.js +3 -3
- package/dist/components/DisabledFeatureButton.es.js +3 -3
- package/dist/components/DisclosureChevron.cjs.js +1 -1
- package/dist/components/DisclosureChevron.es.js +1 -1
- package/dist/components/Drawer.cjs.js +2 -2
- package/dist/components/Drawer.es.js +2 -2
- package/dist/components/DropdownMenu.cjs.js +1 -1
- package/dist/components/DropdownMenu.es.js +1 -1
- package/dist/components/EmptyState.cjs.js +1 -1
- package/dist/components/EmptyState.es.js +1 -1
- package/dist/components/Entity.cjs.js +3 -3
- package/dist/components/Entity.es.js +3 -3
- package/dist/components/EntityHeader.cjs.js +2 -2
- package/dist/components/EntityHeader.es.js +2 -2
- package/dist/components/Entry.cjs.js +1 -1
- package/dist/components/Entry.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +6 -6
- package/dist/components/EnvironmentVariablesEditor.es.js +6 -6
- package/dist/components/ErrorBoundary.cjs.js +1 -1
- package/dist/components/ErrorBoundary.es.js +1 -1
- package/dist/components/Field.cjs.js +2 -2
- package/dist/components/Field.es.js +2 -2
- package/dist/components/FileDropBackdrop.cjs.js +1 -1
- package/dist/components/FileDropBackdrop.es.js +1 -1
- package/dist/components/FilterBar.cjs.js +3 -3
- package/dist/components/FilterBar.es.js +3 -3
- package/dist/components/FormFieldBlocks.cjs.js +5 -5
- package/dist/components/FormFieldBlocks.es.js +6 -6
- package/dist/components/Header.cjs.js +1 -1
- package/dist/components/Header.es.js +1 -1
- package/dist/components/HoverCard.cjs.js +1 -1
- package/dist/components/HoverCard.es.js +1 -1
- package/dist/components/Input.cjs.js +1 -1
- package/dist/components/Input.es.js +1 -1
- package/dist/components/InputGroup.cjs.js +1 -1
- package/dist/components/InputGroup.es.js +1 -1
- package/dist/components/InputNumber.cjs.js +3 -3
- package/dist/components/InputNumber.es.js +3 -3
- package/dist/components/JSONSchemaForm.cjs.js +4 -4
- package/dist/components/JSONSchemaForm.es.js +4 -4
- package/dist/components/Kbd.cjs.js +1 -1
- package/dist/components/Kbd.es.js +1 -1
- package/dist/components/KeyValueList.cjs.js +2 -2
- package/dist/components/KeyValueList.es.js +2 -2
- package/dist/components/ListSearch.cjs.js +1 -1
- package/dist/components/ListSearch.es.js +1 -1
- package/dist/components/LogsDataList.cjs.js +2 -2
- package/dist/components/LogsDataList.es.js +2 -2
- package/dist/components/MainHeader.cjs.js +1 -1
- package/dist/components/MainHeader.es.js +1 -1
- package/dist/components/MarkdownRenderer.cjs.js +1 -1
- package/dist/components/MarkdownRenderer.es.js +1 -1
- package/dist/components/Message.cjs.js +1 -1
- package/dist/components/Message.es.js +1 -1
- package/dist/components/MessageScroller.cjs.js +1 -1
- package/dist/components/MessageScroller.es.js +1 -1
- package/dist/components/Metadata.cjs.js +3 -0
- package/dist/components/Metadata.d.ts +1 -0
- package/dist/components/Metadata.es.js +1 -0
- package/dist/components/Meter.cjs.js +3 -3
- package/dist/components/Meter.es.js +3 -3
- package/dist/components/MetricsCard.cjs.js +1 -1
- package/dist/components/MetricsCard.es.js +1 -1
- package/dist/components/MetricsKpiCard.cjs.js +1 -1
- package/dist/components/MetricsKpiCard.es.js +1 -1
- package/dist/components/MetricsLineChart.cjs.js +1 -1
- package/dist/components/MetricsLineChart.es.js +1 -1
- package/dist/components/MetricsStackedBarChart.cjs.js +1 -1
- package/dist/components/MetricsStackedBarChart.es.js +1 -1
- package/dist/components/MetricsTable.cjs.js +1 -1
- package/dist/components/MetricsTable.es.js +1 -1
- package/dist/components/Notice.cjs.js +1 -1
- package/dist/components/Notice.es.js +1 -1
- package/dist/components/PageHeader.cjs.js +1 -1
- package/dist/components/PageHeader.es.js +1 -1
- package/dist/components/PageLayout.cjs.js +1 -1
- package/dist/components/PageLayout.es.js +1 -1
- package/dist/components/Popover.cjs.js +1 -1
- package/dist/components/Popover.es.js +1 -1
- package/dist/components/PrevNextNav.cjs.js +1 -1
- package/dist/components/PrevNextNav.es.js +1 -1
- package/dist/components/ProductAvatar.cjs.js +2 -2
- package/dist/components/ProductAvatar.es.js +2 -2
- package/dist/components/ProductBadge.cjs.js +2 -2
- package/dist/components/ProductBadge.es.js +2 -2
- package/dist/components/PropertyFilter.cjs.js +9 -9
- package/dist/components/PropertyFilter.cjs.js.map +1 -1
- package/dist/components/PropertyFilter.es.js +9 -9
- package/dist/components/PropertyFilter.es.js.map +1 -1
- package/dist/components/RadioGroup.cjs.js +1 -1
- package/dist/components/RadioGroup.es.js +1 -1
- package/dist/components/RelativeTimestamp.cjs.js +6 -30
- package/dist/components/RelativeTimestamp.cjs.js.map +1 -1
- package/dist/components/RelativeTimestamp.es.js +7 -31
- package/dist/components/RelativeTimestamp.es.js.map +1 -1
- package/dist/components/RuleBuilder.cjs.js +22 -22
- package/dist/components/RuleBuilder.cjs.js.map +1 -1
- package/dist/components/RuleBuilder.es.js +5 -5
- package/dist/components/SankeyChart.cjs.js +1 -1
- package/dist/components/SankeyChart.es.js +1 -1
- package/dist/components/SavedViews.cjs.js +9 -9
- package/dist/components/SavedViews.es.js +9 -9
- package/dist/components/ScatterPlotChart.cjs.js +2 -2
- package/dist/components/ScatterPlotChart.es.js +2 -2
- package/dist/components/ScrollArea.cjs.js +1 -1
- package/dist/components/ScrollArea.es.js +1 -1
- package/dist/components/SearchInput.cjs.js +2 -2
- package/dist/components/SearchInput.es.js +2 -2
- package/dist/components/Section.cjs.js +1 -1
- package/dist/components/Section.es.js +1 -1
- package/dist/components/SectionCard.cjs.js +1 -1
- package/dist/components/SectionCard.es.js +1 -1
- package/dist/components/SegmentedControl.cjs.js +3 -3
- package/dist/components/SegmentedControl.es.js +3 -3
- package/dist/components/Select.cjs.js +1 -1
- package/dist/components/Select.es.js +1 -1
- package/dist/components/ShareBar.cjs.js +1 -1
- package/dist/components/ShareBar.es.js +1 -1
- package/dist/components/SideDialog.cjs.js +8 -8
- package/dist/components/SideDialog.es.js +8 -8
- package/dist/components/Sidebar.cjs.js +14 -14
- package/dist/components/Sidebar.cjs.js.map +1 -1
- package/dist/components/Sidebar.es.js +15 -15
- package/dist/components/Sidebar.es.js.map +1 -1
- package/dist/components/Skeleton.cjs.js +1 -1
- package/dist/components/Skeleton.es.js +1 -1
- package/dist/components/Spinner.cjs.js +1 -1
- package/dist/components/Spinner.es.js +1 -1
- package/dist/components/StatusIndicators.cjs.js +3 -3
- package/dist/components/StatusIndicators.es.js +3 -3
- package/dist/components/Steps.cjs.js +73 -3
- package/dist/components/Steps.cjs.js.map +1 -1
- package/dist/components/Steps.es.js +73 -4
- package/dist/components/Steps.es.js.map +1 -1
- package/dist/components/Switch.cjs.js +2 -2
- package/dist/components/Switch.es.js +2 -2
- package/dist/components/Table.cjs.js +4 -4
- package/dist/components/Table.es.js +4 -4
- package/dist/components/Tabs.cjs.js +2 -2
- package/dist/components/Tabs.es.js +2 -2
- package/dist/components/Text.cjs.js +1 -1
- package/dist/components/Text.es.js +1 -1
- package/dist/components/Textarea.cjs.js +2 -2
- package/dist/components/Textarea.es.js +2 -2
- package/dist/components/ThinkingLevel.cjs.js +5 -5
- package/dist/components/ThinkingLevel.cjs.js.map +1 -1
- package/dist/components/ThinkingLevel.es.js +5 -5
- package/dist/components/ThinkingLevel.es.js.map +1 -1
- package/dist/components/ThreadList.cjs.js +2 -2
- package/dist/components/ThreadList.es.js +2 -2
- package/dist/components/ThreadRail.cjs.js +10 -8
- package/dist/components/ThreadRail.cjs.js.map +1 -1
- package/dist/components/ThreadRail.es.js +10 -8
- package/dist/components/ThreadRail.es.js.map +1 -1
- package/dist/components/Toaster.cjs.js +4 -4
- package/dist/components/Toaster.es.js +3 -3
- package/dist/components/TokenBudget.cjs.js +3 -3
- package/dist/components/TokenBudget.es.js +2 -2
- package/dist/components/Tooltip.cjs.js +2 -2
- package/dist/components/Tooltip.es.js +2 -2
- package/dist/components/Tree.cjs.js +1 -1
- package/dist/components/Tree.es.js +1 -1
- package/dist/components/Truncate.cjs.js +3 -3
- package/dist/components/Truncate.es.js +3 -3
- package/dist/components/Txt.cjs.js +1 -1
- package/dist/components/Txt.es.js +1 -1
- package/dist/components/Workflow.cjs.js +1 -1
- package/dist/components/Workflow.es.js +1 -1
- package/dist/components/ai/activity.cjs.js +1 -1
- package/dist/components/ai/activity.es.js +1 -1
- package/dist/components/ai/annotations.cjs.js +836 -0
- package/dist/components/ai/annotations.cjs.js.map +1 -0
- package/dist/components/ai/annotations.d.ts +1 -0
- package/dist/components/ai/annotations.es.js +831 -0
- package/dist/components/ai/annotations.es.js.map +1 -0
- package/dist/components/ai/ask-user.cjs.js +1 -1
- package/dist/components/ai/ask-user.es.js +1 -1
- package/dist/components/ai/plan.cjs.js +6 -6
- package/dist/components/ai/plan.es.js +6 -6
- package/dist/components/ai/task-list.cjs.js +4 -4
- package/dist/components/ai/task-list.cjs.js.map +1 -1
- package/dist/components/ai/task-list.es.js +4 -4
- package/dist/components/ai/task-list.es.js.map +1 -1
- package/dist/components/ai/tool-approval.cjs.js +1 -1
- package/dist/components/ai/tool-approval.es.js +1 -1
- package/dist/components/ai/tool-call.cjs.js +7 -2
- package/dist/components/ai/tool-call.es.js +3 -3
- package/dist/components/ai/transcript-divider.cjs.js +1 -1
- package/dist/components/ai/transcript-divider.es.js +1 -1
- package/dist/context-menu-6_Kcs8kj.js +204 -0
- package/dist/context-menu-6_Kcs8kj.js.map +1 -0
- package/dist/context-menu-DwB7u7fB.cjs +211 -0
- package/dist/context-menu-DwB7u7fB.cjs.map +1 -0
- package/dist/copy-button-B-_Z6N6y.js +25 -0
- package/dist/copy-button-B-_Z6N6y.js.map +1 -0
- package/dist/copy-button-DuEUYvS2.cjs +30 -0
- package/dist/copy-button-DuEUYvS2.cjs.map +1 -0
- package/dist/data-list-072hHK9L.cjs +1003 -0
- package/dist/data-list-072hHK9L.cjs.map +1 -0
- package/dist/data-list-GzbzPmYR.js +866 -0
- package/dist/data-list-GzbzPmYR.js.map +1 -0
- package/dist/date-time-range-picker-2a-wUBTk.cjs +377 -0
- package/dist/date-time-range-picker-2a-wUBTk.cjs.map +1 -0
- package/dist/date-time-range-picker-BUjjjvo8.js +372 -0
- package/dist/date-time-range-picker-BUjjjvo8.js.map +1 -0
- package/dist/domains/auth/components/permission-denied.cjs.js +1 -1
- package/dist/domains/auth/components/permission-denied.es.js +1 -1
- package/dist/domains/auth/components/session-expired.cjs.js +3 -3
- package/dist/domains/auth/components/session-expired.es.js +3 -3
- package/dist/domains/chat/activity/activity-stretch-line.cjs.js +2 -2
- package/dist/domains/chat/activity/activity-stretch-line.es.js +2 -2
- package/dist/domains/chat/activity/components/activity-fold.cjs.js +54 -58
- package/dist/domains/chat/activity/components/activity-fold.cjs.js.map +1 -1
- package/dist/domains/chat/activity/components/activity-fold.es.js +54 -58
- package/dist/domains/chat/activity/components/activity-fold.es.js.map +1 -1
- package/dist/domains/chat/activity/components/calls-panel.cjs.js +2 -2
- package/dist/domains/chat/activity/components/calls-panel.es.js +2 -2
- package/dist/domains/chat/activity/components/stretch-content.cjs.js +2 -2
- package/dist/domains/chat/activity/components/stretch-content.es.js +2 -2
- package/dist/domains/chat/activity/components/stretch-thought.cjs.js +1 -1
- package/dist/domains/chat/activity/components/stretch-thought.es.js +1 -1
- package/dist/domains/chat/activity/model/activity-segments.cjs.js +1 -1
- package/dist/domains/chat/activity/model/activity-segments.es.js +1 -1
- package/dist/domains/chat/activity/model/activity-words.cjs.js +7 -11
- package/dist/domains/chat/activity/model/activity-words.cjs.js.map +1 -1
- package/dist/domains/chat/activity/model/activity-words.es.js +8 -11
- package/dist/domains/chat/activity/model/activity-words.es.js.map +1 -1
- package/dist/domains/chat/activity.cjs.js +2 -5
- package/dist/domains/chat/activity.es.js +4 -5
- package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +3 -3
- package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +3 -3
- package/dist/domains/chat/attachments/composer-attachment-entry.cjs.js +2 -2
- package/dist/domains/chat/attachments/composer-attachment-entry.es.js +2 -2
- package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +2 -2
- package/dist/domains/chat/attachments/composer-attachment-list.es.js +2 -2
- package/dist/domains/chat/attachments/composer-attachment.cjs.js +4 -4
- package/dist/domains/chat/attachments/composer-attachment.es.js +4 -4
- package/dist/domains/chat/attachments/message-attachment.cjs.js +2 -2
- package/dist/domains/chat/attachments/message-attachment.es.js +2 -2
- package/dist/domains/chat/attachments/message-image-attachment.cjs.js +2 -2
- package/dist/domains/chat/attachments/message-image-attachment.cjs.js.map +1 -1
- package/dist/domains/chat/attachments/message-image-attachment.es.js +2 -2
- package/dist/domains/chat/attachments/message-image-attachment.es.js.map +1 -1
- package/dist/domains/chat/attachments/split-message-attachments.cjs.js +4 -1
- package/dist/domains/chat/attachments/split-message-attachments.cjs.js.map +1 -1
- package/dist/domains/chat/attachments/split-message-attachments.es.js +4 -1
- package/dist/domains/chat/attachments/split-message-attachments.es.js.map +1 -1
- package/dist/domains/chat/components/badge-wrapper.cjs.js +2 -2
- package/dist/domains/chat/components/badge-wrapper.es.js +2 -2
- package/dist/domains/chat/components/loading-badge.cjs.js +2 -2
- package/dist/domains/chat/components/loading-badge.es.js +2 -2
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +4 -4
- package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +4 -4
- package/dist/domains/chat/components/section-label.cjs.js +1 -1
- package/dist/domains/chat/components/section-label.es.js +1 -1
- package/dist/domains/chat/context/chat-context.cjs.js +2 -0
- package/dist/domains/chat/context/chat-context.cjs.js.map +1 -1
- package/dist/domains/chat/context/chat-context.es.js +2 -1
- package/dist/domains/chat/context/chat-context.es.js.map +1 -1
- package/dist/domains/chat/knowledge/knowledge-links.cjs.js +1 -1
- package/dist/domains/chat/knowledge/knowledge-links.es.js +1 -1
- package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js +3 -3
- package/dist/domains/chat/knowledge/pinned-knowledge.es.js +3 -3
- package/dist/domains/chat/knowledge.cjs.js +1 -1
- package/dist/domains/chat/knowledge.es.js +1 -1
- package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
- package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
- package/dist/domains/chat/messages/dataset-save-action.cjs.js +10 -10
- package/dist/domains/chat/messages/dataset-save-action.es.js +11 -11
- package/dist/domains/chat/messages/message-row.cjs.js +20 -20
- package/dist/domains/chat/messages/message-row.cjs.js.map +1 -1
- package/dist/domains/chat/messages/message-row.es.js +20 -20
- package/dist/domains/chat/messages/message-row.es.js.map +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js +5 -5
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js.map +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.es.js +5 -5
- package/dist/domains/chat/messages/notification-signal-notice.es.js.map +1 -1
- package/dist/domains/chat/messages/reasoning-content.cjs.js +1 -1
- package/dist/domains/chat/messages/reasoning-content.es.js +1 -1
- package/dist/domains/chat/messages/renderers/data-part-renderer.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/data-part-renderer.es.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.cjs.js +5 -5
- package/dist/domains/chat/messages/renderers/message-text.es.js +5 -5
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
- package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
- package/dist/domains/chat/messages/renderers/user-file-part-renderer.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/user-file-part-renderer.es.js +1 -1
- package/dist/domains/chat/messages/signal-badge.cjs.js +5 -5
- package/dist/domains/chat/messages/signal-badge.es.js +5 -5
- package/dist/domains/chat/messages/skill-message.cjs.js +4 -4
- package/dist/domains/chat/messages/skill-message.es.js +4 -4
- package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
- package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
- package/dist/domains/chat/messages/tripwire-notice.cjs.js +8 -13
- package/dist/domains/chat/messages/tripwire-notice.cjs.js.map +1 -1
- package/dist/domains/chat/messages/tripwire-notice.es.js +8 -13
- package/dist/domains/chat/messages/tripwire-notice.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +5 -5
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +5 -5
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +7 -6
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js +7 -6
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +5 -5
- package/dist/domains/chat/tools/badges/file-tree-badge.es.js +5 -5
- package/dist/domains/chat/tools/badges/knowledge-body-range.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/knowledge-body-range.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/knowledge-body-range.es.js +2 -2
- package/dist/domains/chat/tools/badges/knowledge-body-range.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js +34 -28
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js +34 -28
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js +28 -24
- package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/mcp-task-chip.es.js +28 -24
- package/dist/domains/chat/tools/badges/mcp-task-chip.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +4 -4
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +4 -4
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +8 -7
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js +8 -7
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +3 -3
- package/dist/domains/chat/tools/badges/observation-renderer.es.js +3 -3
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +25 -34
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +27 -36
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.cjs.js +19 -26
- package/dist/domains/chat/tools/badges/tool-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.es.js +19 -26
- package/dist/domains/chat/tools/badges/tool-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +12 -10
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +12 -10
- package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/workspace-data-parts.cjs.js +13 -0
- package/dist/domains/chat/tools/badges/workspace-data-parts.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/workspace-data-parts.es.js +13 -1
- package/dist/domains/chat/tools/badges/workspace-data-parts.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/workspace-link.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/workspace-link.es.js +1 -1
- package/dist/domains/chat/tools/connect-prompt-tool.cjs.js +8 -8
- package/dist/domains/chat/tools/connect-prompt-tool.es.js +8 -8
- package/dist/domains/chat/tools/mcp-input-request-tool.cjs.js +5 -5
- package/dist/domains/chat/tools/mcp-input-request-tool.es.js +5 -5
- package/dist/domains/chat/tools/submit-plan-tool.cjs.js +4 -4
- package/dist/domains/chat/tools/submit-plan-tool.es.js +4 -4
- package/dist/domains/chat/tools/tool-card-kind.cjs.js +10 -5
- package/dist/domains/chat/tools/tool-card-kind.cjs.js.map +1 -1
- package/dist/domains/chat/tools/tool-card-kind.es.js +10 -5
- package/dist/domains/chat/tools/tool-card-kind.es.js.map +1 -1
- package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-card.es.js +1 -1
- package/dist/domains/chat/tools/tool-groups.cjs.js +2 -2
- package/dist/domains/chat/tools/tool-groups.es.js +2 -2
- package/dist/domains/chat.cjs.js +6 -5
- package/dist/domains/chat.es.js +6 -6
- package/dist/domains/connect.cjs.js +1 -1
- package/dist/domains/connect.es.js +1 -1
- package/dist/domains/dashboards/components/connected-widget.cjs.js +55 -0
- package/dist/domains/dashboards/components/connected-widget.cjs.js.map +1 -0
- package/dist/domains/dashboards/components/connected-widget.d.ts +1 -0
- package/dist/domains/dashboards/components/connected-widget.es.js +54 -0
- package/dist/domains/dashboards/components/connected-widget.es.js.map +1 -0
- package/dist/domains/dashboards/components/dashboard-grid.cjs.js +11 -8
- package/dist/domains/dashboards/components/dashboard-grid.cjs.js.map +1 -1
- package/dist/domains/dashboards/components/dashboard-grid.es.js +11 -8
- package/dist/domains/dashboards/components/dashboard-grid.es.js.map +1 -1
- package/dist/domains/dashboards/components/dashboard-renderer.cjs.js +26 -10
- package/dist/domains/dashboards/components/dashboard-renderer.cjs.js.map +1 -1
- package/dist/domains/dashboards/components/dashboard-renderer.es.js +26 -10
- package/dist/domains/dashboards/components/dashboard-renderer.es.js.map +1 -1
- package/dist/domains/dashboards/components/stateless-widget.cjs.js +30 -0
- package/dist/domains/dashboards/components/stateless-widget.cjs.js.map +1 -0
- package/dist/domains/dashboards/components/stateless-widget.d.ts +1 -0
- package/dist/domains/dashboards/components/stateless-widget.es.js +29 -0
- package/dist/domains/dashboards/components/stateless-widget.es.js.map +1 -0
- package/dist/domains/dashboards/components/view-gate.cjs.js +18 -40
- package/dist/domains/dashboards/components/view-gate.cjs.js.map +1 -1
- package/dist/domains/dashboards/components/view-gate.es.js +18 -40
- package/dist/domains/dashboards/components/view-gate.es.js.map +1 -1
- package/dist/domains/dashboards/components/widget-chrome.cjs.js +1 -1
- package/dist/domains/dashboards/components/widget-chrome.es.js +1 -1
- package/dist/domains/dashboards/components/widget-controls.cjs.js +122 -1
- package/dist/domains/dashboards/components/widget-controls.cjs.js.map +1 -1
- package/dist/domains/dashboards/components/widget-controls.es.js +121 -3
- package/dist/domains/dashboards/components/widget-controls.es.js.map +1 -1
- package/dist/domains/dashboards/components/widget-error.cjs.js +6 -3
- package/dist/domains/dashboards/components/widget-error.cjs.js.map +1 -1
- package/dist/domains/dashboards/components/widget-error.es.js +6 -3
- package/dist/domains/dashboards/components/widget-error.es.js.map +1 -1
- package/dist/domains/dashboards/hooks/use-dashboard-environment.cjs.js +55 -0
- package/dist/domains/dashboards/hooks/use-dashboard-environment.cjs.js.map +1 -0
- package/dist/domains/dashboards/hooks/use-dashboard-environment.d.ts +1 -0
- package/dist/domains/dashboards/hooks/use-dashboard-environment.es.js +53 -0
- package/dist/domains/dashboards/hooks/use-dashboard-environment.es.js.map +1 -0
- package/dist/domains/dashboards/hooks/use-dashboard-requests.cjs.js +24 -0
- package/dist/domains/dashboards/hooks/use-dashboard-requests.cjs.js.map +1 -1
- package/dist/domains/dashboards/hooks/use-dashboard-requests.es.js +23 -1
- package/dist/domains/dashboards/hooks/use-dashboard-requests.es.js.map +1 -1
- package/dist/domains/dashboards/hooks/use-widget-views.cjs.js +10 -6
- package/dist/domains/dashboards/hooks/use-widget-views.cjs.js.map +1 -1
- package/dist/domains/dashboards/hooks/use-widget-views.es.js +10 -7
- package/dist/domains/dashboards/hooks/use-widget-views.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/kpis/kpis-plan.cjs.js +11 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-plan.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-plan.d.ts +1 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-plan.es.js +9 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-plan.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.cjs.js +28 -15
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.es.js +29 -16
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/kpis.cjs.js +4 -1
- package/dist/domains/dashboards/kinds/kpis.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/kpis.es.js +4 -1
- package/dist/domains/dashboards/kinds/kpis.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/scores/scores-plan.cjs.js +27 -0
- package/dist/domains/dashboards/kinds/scores/scores-plan.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/scores/scores-plan.d.ts +1 -0
- package/dist/domains/dashboards/kinds/scores/scores-plan.es.js +24 -0
- package/dist/domains/dashboards/kinds/scores/scores-plan.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/scores/scores-widget.cjs.js +35 -33
- package/dist/domains/dashboards/kinds/scores/scores-widget.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/scores/scores-widget.es.js +35 -33
- package/dist/domains/dashboards/kinds/scores/scores-widget.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/scores.cjs.js +4 -0
- package/dist/domains/dashboards/kinds/scores.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/scores.es.js +4 -0
- package/dist/domains/dashboards/kinds/scores.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-cells.cjs.js +3 -7
- package/dist/domains/dashboards/kinds/table/table-cells.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-cells.es.js +3 -7
- package/dist/domains/dashboards/kinds/table/table-cells.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-columns.cjs.js +5 -3
- package/dist/domains/dashboards/kinds/table/table-columns.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-columns.es.js +5 -3
- package/dist/domains/dashboards/kinds/table/table-columns.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-plan.cjs.js +47 -0
- package/dist/domains/dashboards/kinds/table/table-plan.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-plan.d.ts +1 -0
- package/dist/domains/dashboards/kinds/table/table-plan.es.js +44 -0
- package/dist/domains/dashboards/kinds/table/table-plan.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-tabs.cjs.js +25 -24
- package/dist/domains/dashboards/kinds/table/table-tabs.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-tabs.es.js +26 -25
- package/dist/domains/dashboards/kinds/table/table-tabs.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-view.cjs.js +19 -19
- package/dist/domains/dashboards/kinds/table/table-view.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-view.es.js +19 -19
- package/dist/domains/dashboards/kinds/table/table-view.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-widget.cjs.js +14 -15
- package/dist/domains/dashboards/kinds/table/table-widget.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-widget.es.js +14 -15
- package/dist/domains/dashboards/kinds/table/table-widget.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table.cjs.js +5 -1
- package/dist/domains/dashboards/kinds/table.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/table.es.js +5 -1
- package/dist/domains/dashboards/kinds/table.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.cjs.js +18 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.d.ts +1 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.es.js +16 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.cjs.js +38 -31
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.es.js +39 -32
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/timeseries.cjs.js +4 -1
- package/dist/domains/dashboards/kinds/timeseries.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/timeseries.es.js +4 -1
- package/dist/domains/dashboards/kinds/timeseries.es.js.map +1 -1
- package/dist/domains/dashboards/lib/alert-actions.cjs.js +123 -0
- package/dist/domains/dashboards/lib/alert-actions.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/alert-actions.d.ts +1 -0
- package/dist/domains/dashboards/lib/alert-actions.es.js +118 -0
- package/dist/domains/dashboards/lib/alert-actions.es.js.map +1 -0
- package/dist/domains/dashboards/lib/chrome.cjs.js.map +1 -1
- package/dist/domains/dashboards/lib/chrome.es.js.map +1 -1
- package/dist/domains/dashboards/lib/format.cjs.js +1 -1
- package/dist/domains/dashboards/lib/format.es.js +1 -1
- package/dist/domains/dashboards/lib/gate.cjs.js +62 -0
- package/dist/domains/dashboards/lib/gate.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/gate.d.ts +1 -0
- package/dist/domains/dashboards/lib/gate.es.js +60 -0
- package/dist/domains/dashboards/lib/gate.es.js.map +1 -0
- package/dist/domains/dashboards/lib/pin-actions.cjs.js +16 -0
- package/dist/domains/dashboards/lib/pin-actions.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/pin-actions.d.ts +1 -0
- package/dist/domains/dashboards/lib/pin-actions.es.js +15 -0
- package/dist/domains/dashboards/lib/pin-actions.es.js.map +1 -0
- package/dist/domains/dashboards/lib/plan-widget.cjs.js +41 -0
- package/dist/domains/dashboards/lib/plan-widget.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/plan-widget.d.ts +1 -0
- package/dist/domains/dashboards/lib/plan-widget.es.js +38 -0
- package/dist/domains/dashboards/lib/plan-widget.es.js.map +1 -0
- package/dist/domains/dashboards/lib/requests.cjs.js +49 -2
- package/dist/domains/dashboards/lib/requests.cjs.js.map +1 -1
- package/dist/domains/dashboards/lib/requests.es.js +48 -3
- package/dist/domains/dashboards/lib/requests.es.js.map +1 -1
- package/dist/domains/dashboards/lib/scores.cjs.js +32 -0
- package/dist/domains/dashboards/lib/scores.cjs.js.map +1 -1
- package/dist/domains/dashboards/lib/scores.es.js +31 -1
- package/dist/domains/dashboards/lib/scores.es.js.map +1 -1
- package/dist/domains/dashboards/lib/timeseries.cjs.js +17 -0
- package/dist/domains/dashboards/lib/timeseries.cjs.js.map +1 -1
- package/dist/domains/dashboards/lib/timeseries.es.js +17 -1
- package/dist/domains/dashboards/lib/timeseries.es.js.map +1 -1
- package/dist/domains/dashboards/lib/values.cjs.js.map +1 -1
- package/dist/domains/dashboards/lib/values.es.js.map +1 -1
- package/dist/domains/dashboards/widget-kind.cjs.js.map +1 -1
- package/dist/domains/dashboards/widget-kind.es.js.map +1 -1
- package/dist/domains/dashboards.cjs.js +26 -8
- package/dist/domains/dashboards.es.js +15 -11
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js +11 -11
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js +11 -11
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.cjs.js +3 -3
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.es.js +3 -3
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js +6 -6
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js +6 -6
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +7 -7
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +7 -7
- package/dist/domains/knowledge/components/KnowledgePageCard.cjs.js +3 -2
- package/dist/domains/knowledge/components/KnowledgePageCard.cjs.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageCard.es.js +3 -2
- package/dist/domains/knowledge/components/KnowledgePageCard.es.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js +191 -222
- package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageDetail.es.js +193 -225
- package/dist/domains/knowledge/components/KnowledgePageDetail.es.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js +625 -273
- package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js +626 -274
- package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js +554 -463
- package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageGraph.es.js +557 -466
- package/dist/domains/knowledge/components/KnowledgePageGraph.es.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js +22 -13
- package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageTree.es.js +23 -14
- package/dist/domains/knowledge/components/KnowledgePageTree.es.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgeSourceIcon.cjs.js +16 -0
- package/dist/domains/knowledge/components/KnowledgeSourceIcon.cjs.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgeSourceIcon.d.ts +1 -0
- package/dist/domains/knowledge/components/KnowledgeSourceIcon.es.js +15 -0
- package/dist/domains/knowledge/components/KnowledgeSourceIcon.es.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgeTooltip.cjs.js +10 -0
- package/dist/domains/knowledge/components/KnowledgeTooltip.cjs.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgeTooltip.d.ts +1 -0
- package/dist/domains/knowledge/components/KnowledgeTooltip.es.js +9 -0
- package/dist/domains/knowledge/components/KnowledgeTooltip.es.js.map +1 -0
- package/dist/domains/knowledge/lib/fitViewport.cjs.js +22 -8
- package/dist/domains/knowledge/lib/fitViewport.cjs.js.map +1 -1
- package/dist/domains/knowledge/lib/fitViewport.es.js +22 -9
- package/dist/domains/knowledge/lib/fitViewport.es.js.map +1 -1
- package/dist/domains/knowledge/lib/pageAddress.cjs.js +51 -0
- package/dist/domains/knowledge/lib/pageAddress.cjs.js.map +1 -1
- package/dist/domains/knowledge/lib/pageAddress.es.js +50 -1
- package/dist/domains/knowledge/lib/pageAddress.es.js.map +1 -1
- package/dist/domains/knowledge/lib/pageRefs.cjs.js +43 -2
- package/dist/domains/knowledge/lib/pageRefs.cjs.js.map +1 -1
- package/dist/domains/knowledge/lib/pageRefs.es.js +43 -3
- package/dist/domains/knowledge/lib/pageRefs.es.js.map +1 -1
- package/dist/domains/knowledge/lib/pagesByRefContext.cjs.js +10 -0
- package/dist/domains/knowledge/lib/pagesByRefContext.cjs.js.map +1 -0
- package/dist/domains/knowledge/lib/pagesByRefContext.d.ts +1 -0
- package/dist/domains/knowledge/lib/pagesByRefContext.es.js +10 -0
- package/dist/domains/knowledge/lib/pagesByRefContext.es.js.map +1 -0
- package/dist/domains/llm/models-dev-logo-slugs.cjs.js +230 -0
- package/dist/domains/llm/models-dev-logo-slugs.cjs.js.map +1 -0
- package/dist/domains/llm/models-dev-logo-slugs.d.ts +1 -0
- package/dist/domains/llm/models-dev-logo-slugs.es.js +229 -0
- package/dist/domains/llm/models-dev-logo-slugs.es.js.map +1 -0
- package/dist/domains/llm/provider-logo-monogram.cjs.js +37 -0
- package/dist/domains/llm/provider-logo-monogram.cjs.js.map +1 -0
- package/dist/domains/llm/provider-logo-monogram.d.ts +1 -0
- package/dist/domains/llm/provider-logo-monogram.es.js +36 -0
- package/dist/domains/llm/provider-logo-monogram.es.js.map +1 -0
- package/dist/domains/llm/provider-logo.cjs.js +46 -17
- package/dist/domains/llm/provider-logo.cjs.js.map +1 -1
- package/dist/domains/llm/provider-logo.es.js +46 -17
- package/dist/domains/llm/provider-logo.es.js.map +1 -1
- package/dist/domains/llm/provider-map-icon.cjs.js +1 -1
- package/dist/domains/llm/provider-map-icon.es.js +1 -1
- package/dist/domains/llm.cjs.js +1 -1
- package/dist/domains/llm.es.js +1 -1
- package/dist/domains/logs/components/log-data-panel.cjs.js +11 -7
- package/dist/domains/logs/components/log-data-panel.cjs.js.map +1 -1
- package/dist/domains/logs/components/log-data-panel.es.js +11 -7
- package/dist/domains/logs/components/log-data-panel.es.js.map +1 -1
- package/dist/domains/logs/components/logs-error-content.cjs.js +1 -1
- package/dist/domains/logs/components/logs-error-content.es.js +1 -1
- package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
- package/dist/domains/logs/components/logs-list-view.es.js +2 -2
- package/dist/domains/logs/components/logs-saved-views.cjs.js +1 -1
- package/dist/domains/logs/components/logs-saved-views.es.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
- package/dist/domains/logs/components/no-logs-info.cjs.js +3 -3
- package/dist/domains/logs/components/no-logs-info.cjs.js.map +1 -1
- package/dist/domains/logs/components/no-logs-info.es.js +3 -3
- package/dist/domains/logs/components/no-logs-info.es.js.map +1 -1
- package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
- package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +1 -1
- package/dist/domains/logs.cjs.js +2 -2
- package/dist/domains/logs.es.js +2 -2
- package/dist/domains/mcps/components/mcp-app-tool-result.cjs.js +29 -5
- package/dist/domains/mcps/components/mcp-app-tool-result.cjs.js.map +1 -1
- package/dist/domains/mcps/components/mcp-app-tool-result.es.js +30 -6
- package/dist/domains/mcps/components/mcp-app-tool-result.es.js.map +1 -1
- package/dist/domains/mcps/components/mcp-app-viewer.cjs.js +64 -9
- package/dist/domains/mcps/components/mcp-app-viewer.cjs.js.map +1 -1
- package/dist/domains/mcps/components/mcp-app-viewer.es.js +64 -9
- package/dist/domains/mcps/components/mcp-app-viewer.es.js.map +1 -1
- package/dist/domains/mcps/context/mcp-app-host-context-value.cjs.js +11 -0
- package/dist/domains/mcps/context/mcp-app-host-context-value.cjs.js.map +1 -0
- package/dist/domains/mcps/context/mcp-app-host-context-value.d.ts +1 -0
- package/dist/domains/mcps/context/mcp-app-host-context-value.es.js +9 -0
- package/dist/domains/mcps/context/mcp-app-host-context-value.es.js.map +1 -0
- package/dist/domains/mcps/context/mcp-app-host-context.cjs.js +14 -0
- package/dist/domains/mcps/context/mcp-app-host-context.cjs.js.map +1 -0
- package/dist/domains/mcps/context/mcp-app-host-context.d.ts +1 -0
- package/dist/domains/mcps/context/mcp-app-host-context.es.js +13 -0
- package/dist/domains/mcps/context/mcp-app-host-context.es.js.map +1 -0
- package/dist/domains/mcps/hooks/use-mcp-app-tool-call.cjs.js +37 -0
- package/dist/domains/mcps/hooks/use-mcp-app-tool-call.cjs.js.map +1 -0
- package/dist/domains/mcps/hooks/use-mcp-app-tool-call.d.ts +1 -0
- package/dist/domains/mcps/hooks/use-mcp-app-tool-call.es.js +36 -0
- package/dist/domains/mcps/hooks/use-mcp-app-tool-call.es.js.map +1 -0
- package/dist/domains/mcps.cjs.js +5 -0
- package/dist/domains/mcps.d.ts +1 -0
- package/dist/domains/mcps.es.js +3 -0
- package/dist/domains/memory/components/flame-graph.cjs.js +4 -4
- package/dist/domains/memory/components/flame-graph.es.js +4 -4
- package/dist/domains/memory/components/memory-studio-panel.cjs.js +6 -6
- package/dist/domains/memory/components/memory-studio-panel.es.js +6 -6
- package/dist/domains/memory/components/observation-detail-view.cjs.js +6 -6
- package/dist/domains/memory/components/observation-detail-view.es.js +6 -6
- package/dist/domains/memory/components/thread-context-progress.cjs.js +2 -2
- package/dist/domains/memory/components/thread-context-progress.es.js +2 -2
- package/dist/domains/memory/components.cjs.js +1 -1
- package/dist/domains/memory/components.es.js +1 -1
- package/dist/domains/metrics/components/agent-runs-card.cjs.js +7 -7
- package/dist/domains/metrics/components/agent-runs-card.es.js +7 -7
- package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.cjs.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.es.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-figure.cjs.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-figure.es.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-models-tab.cjs.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-models-tab.es.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-row-mark.cjs.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-row-mark.es.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-row-name.cjs.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-row-name.es.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-tab-body.cjs.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-tab-body.es.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-table.cjs.js +8 -8
- package/dist/domains/metrics/components/breakdown/breakdown-table.es.js +8 -8
- package/dist/domains/metrics/components/breakdown/breakdown-text.cjs.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-text.es.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.cjs.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.es.js +2 -2
- package/dist/domains/metrics/components/breakdown-card.cjs.js +4 -4
- package/dist/domains/metrics/components/breakdown-card.es.js +4 -4
- package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
- package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
- package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
- package/dist/domains/metrics/components/chart-area.es.js +1 -1
- package/dist/domains/metrics/components/chart-card-error.cjs.js +2 -2
- package/dist/domains/metrics/components/chart-card-error.es.js +2 -2
- package/dist/domains/metrics/components/chart-card.cjs.js +21 -5
- package/dist/domains/metrics/components/chart-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/chart-card.es.js +21 -5
- package/dist/domains/metrics/components/chart-card.es.js.map +1 -1
- package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
- package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
- package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.cjs.js +5 -5
- package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.es.js +5 -5
- package/dist/domains/metrics/components/failure-rate-card.cjs.js +7 -7
- package/dist/domains/metrics/components/failure-rate-card.es.js +7 -7
- package/dist/domains/metrics/components/kpi-card.cjs.js +1 -1
- package/dist/domains/metrics/components/kpi-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/kpi-card.es.js +1 -1
- package/dist/domains/metrics/components/kpi-card.es.js.map +1 -1
- package/dist/domains/metrics/components/latency-card.cjs.js +7 -7
- package/dist/domains/metrics/components/latency-card.es.js +7 -7
- package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js +2 -2
- package/dist/domains/metrics/components/metrics-time-range-chip.es.js +2 -2
- package/dist/domains/metrics/components/scores-card.cjs.js +4 -4
- package/dist/domains/metrics/components/scores-card.es.js +4 -4
- package/dist/domains/metrics/components/token-usage-card.cjs.js +8 -8
- package/dist/domains/metrics/components/token-usage-card.es.js +8 -8
- package/dist/domains/metrics/components/trace-aggregate-card.cjs.js +1 -1
- package/dist/domains/metrics/components/trace-aggregate-card.es.js +1 -1
- package/dist/domains/metrics/components/trace-volume-card.cjs.js +4 -4
- package/dist/domains/metrics/components/trace-volume-card.es.js +4 -4
- package/dist/domains/metrics/components/usage-card.cjs.js +5 -5
- package/dist/domains/metrics/components/usage-card.es.js +5 -5
- package/dist/domains/metrics/components.cjs.js +9 -9
- package/dist/domains/metrics/components.es.js +9 -9
- package/dist/domains/metrics/drilldown.cjs.js +1 -1
- package/dist/domains/metrics/drilldown.es.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-activity.cjs.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-activity.es.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-latency.cjs.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-latency.es.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-scores.cjs.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-scores.es.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-span-aggregate.cjs.js +2 -2
- package/dist/domains/metrics/hooks/use-metrics-span-aggregate.es.js +2 -2
- package/dist/domains/metrics/hooks/use-metrics-trace-aggregate.cjs.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-trace-aggregate.es.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics.cjs.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics.es.js +1 -1
- package/dist/domains/metrics/hooks.cjs.js +5 -5
- package/dist/domains/metrics/hooks.es.js +5 -5
- package/dist/domains/metrics/lib/breakdown-table.cjs.js +2 -2
- package/dist/domains/metrics/lib/breakdown-table.es.js +2 -2
- package/dist/domains/metrics/lib/series-colors.cjs.js +279 -0
- package/dist/domains/metrics/lib/series-colors.cjs.js.map +1 -0
- package/dist/domains/metrics/lib/series-colors.d.ts +1 -0
- package/dist/domains/metrics/lib/series-colors.es.js +272 -0
- package/dist/domains/metrics/lib/series-colors.es.js.map +1 -0
- package/dist/domains/metrics/lib.cjs.js +9 -3
- package/dist/domains/metrics/lib.es.js +5 -4
- package/dist/domains/metrics.cjs.js +10 -4
- package/dist/domains/metrics.es.js +6 -5
- package/dist/domains/observability/components/observability-capability-gate.cjs.js +3 -3
- package/dist/domains/observability/components/observability-capability-gate.es.js +3 -3
- package/dist/domains/observability/components/observability-histogram.cjs.js +5 -5
- package/dist/domains/observability/components/observability-histogram.cjs.js.map +1 -1
- package/dist/domains/observability/components/observability-histogram.es.js +5 -5
- package/dist/domains/observability/components/observability-histogram.es.js.map +1 -1
- package/dist/domains/observability/components/observability-page-layout.cjs.js +2 -2
- package/dist/domains/observability/components/observability-page-layout.es.js +2 -2
- package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js +3 -3
- package/dist/domains/observability/hooks/use-observability-list-filters.es.js +3 -3
- package/dist/domains/observability/observability-list-url-state.cjs.js +1 -1
- package/dist/domains/observability/observability-list-url-state.es.js +1 -1
- package/dist/domains/observability/saved-view-state.cjs.js +3 -3
- package/dist/domains/observability/saved-view-state.es.js +3 -3
- package/dist/domains/observability/saved-views/observability-saved-views.cjs.js +1 -1
- package/dist/domains/observability/saved-views/observability-saved-views.es.js +1 -1
- package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js +1 -1
- package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js +1 -1
- package/dist/domains/observability/saved-views.cjs.js +2 -2
- package/dist/domains/observability/saved-views.es.js +2 -2
- package/dist/domains/observability.cjs.js +6 -6
- package/dist/domains/observability.es.js +6 -6
- package/dist/domains/review/components/review-status-badge.cjs.js +1 -1
- package/dist/domains/review/components/review-status-badge.es.js +1 -1
- package/dist/domains/scores/components/score-as-item-dialog.cjs.js +1 -1
- package/dist/domains/scores/components/score-as-item-dialog.es.js +1 -1
- package/dist/domains/scores/components/score-data-panel.cjs.js +7 -7
- package/dist/domains/scores/components/score-data-panel.cjs.js.map +1 -1
- package/dist/domains/scores/components/score-data-panel.es.js +7 -7
- package/dist/domains/scores/components/score-data-panel.es.js.map +1 -1
- package/dist/domains/scores/components/span-scoring.cjs.js +4 -4
- package/dist/domains/scores/components/span-scoring.es.js +4 -4
- package/dist/domains/scores/components/trace-scores-list.cjs.js +5 -5
- package/dist/domains/scores/components/trace-scores-list.es.js +5 -5
- package/dist/domains/scores/components/trace-scores-tab.cjs.js +15 -19
- package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js +15 -19
- package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
- package/dist/domains/scores/components.cjs.js +1 -1
- package/dist/domains/scores/components.es.js +1 -1
- package/dist/domains/skills/skill-simple-form.cjs.js +4 -4
- package/dist/domains/skills/skill-simple-form.es.js +4 -4
- package/dist/domains/spans/components/spans-explorer-body.cjs.js +6 -6
- package/dist/domains/spans/components/spans-explorer-body.es.js +7 -7
- package/dist/domains/spans/components/spans-filter-bar.cjs.js +3 -3
- package/dist/domains/spans/components/spans-filter-bar.es.js +3 -3
- package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js +2 -2
- package/dist/domains/spans/hooks/use-spans-filter-bar.es.js +2 -2
- package/dist/domains/spans/hooks/use-spans-list-source.cjs.js +1 -1
- package/dist/domains/spans/hooks/use-spans-list-source.es.js +1 -1
- package/dist/domains/spans/hooks.cjs.js +1 -1
- package/dist/domains/spans/hooks.es.js +1 -1
- package/dist/domains/threads/components/threads-explorer-body.cjs.js +6 -6
- package/dist/domains/threads/components/threads-explorer-body.es.js +7 -7
- package/dist/domains/threads/components/threads-filter-bar.cjs.js +3 -3
- package/dist/domains/threads/components/threads-filter-bar.es.js +3 -3
- package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js +2 -2
- package/dist/domains/threads/hooks/use-threads-filter-bar.es.js +2 -2
- package/dist/domains/threads/hooks/use-threads-list-source.cjs.js +1 -1
- package/dist/domains/threads/hooks/use-threads-list-source.es.js +1 -1
- package/dist/domains/threads/hooks.cjs.js +1 -1
- package/dist/domains/threads/hooks.es.js +1 -1
- package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js +1 -1
- package/dist/domains/traces/components/columns-menu/columns-menu.es.js +2 -2
- package/dist/domains/traces/components/feedback-options.cjs.js +0 -0
- package/dist/domains/traces/components/feedback-options.d.ts +1 -0
- package/dist/domains/traces/components/feedback-options.es.js +0 -0
- package/dist/domains/traces/components/feedback-thread.cjs.js +16 -10
- package/dist/domains/traces/components/feedback-thread.cjs.js.map +1 -1
- package/dist/domains/traces/components/feedback-thread.es.js +16 -10
- package/dist/domains/traces/components/feedback-thread.es.js.map +1 -1
- package/dist/domains/traces/components/format-trace-thread-messages.cjs.js +1 -1
- package/dist/domains/traces/components/format-trace-thread-messages.es.js +1 -1
- package/dist/domains/traces/components/no-traces-info.cjs.js +2 -2
- package/dist/domains/traces/components/no-traces-info.cjs.js.map +1 -1
- package/dist/domains/traces/components/no-traces-info.es.js +2 -2
- package/dist/domains/traces/components/no-traces-info.es.js.map +1 -1
- package/dist/domains/traces/components/shared.cjs.js +3 -3
- package/dist/domains/traces/components/shared.es.js +3 -3
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +23 -23
- package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-data-panel-view.es.js +23 -23
- package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
- package/dist/domains/traces/components/span-details-view.cjs.js +3 -3
- package/dist/domains/traces/components/span-details-view.es.js +3 -3
- package/dist/domains/traces/components/span-feedback-tab.cjs.js +8 -5
- package/dist/domains/traces/components/span-feedback-tab.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-feedback-tab.es.js +8 -5
- package/dist/domains/traces/components/span-feedback-tab.es.js.map +1 -1
- package/dist/domains/traces/components/span-outcome.cjs.js +1 -1
- package/dist/domains/traces/components/span-outcome.es.js +1 -1
- package/dist/domains/traces/components/span-outcome.utils.cjs.js +3 -3
- package/dist/domains/traces/components/span-outcome.utils.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-outcome.utils.es.js +3 -3
- package/dist/domains/traces/components/span-outcome.utils.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +5 -5
- package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +5 -5
- package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +4 -4
- package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +4 -4
- package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +7 -7
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +7 -7
- package/dist/domains/traces/components/span-payload/span-payload-attachment.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-attachment.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-json.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +14 -9
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +14 -9
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-registry.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +7 -7
- package/dist/domains/traces/components/span-payload/span-payload-section.es.js +7 -7
- package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-processor-mutations.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-processor-mutations.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-signal-details.cjs.js +4 -4
- package/dist/domains/traces/components/span-payload/span-signal-details.es.js +4 -4
- package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +6 -6
- package/dist/domains/traces/components/span-payload/span-tools-section.es.js +6 -6
- package/dist/domains/traces/components/span-payload.cjs.js +4 -4
- package/dist/domains/traces/components/span-payload.es.js +4 -4
- package/dist/domains/traces/components/span-prompt-changes.cjs.js +17 -10
- package/dist/domains/traces/components/span-prompt-changes.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-prompt-changes.es.js +17 -10
- package/dist/domains/traces/components/span-prompt-changes.es.js.map +1 -1
- package/dist/domains/traces/components/span-rows.cjs.js +1 -1
- package/dist/domains/traces/components/span-rows.es.js +1 -1
- package/dist/domains/traces/components/span-summary-description.cjs.js +3 -3
- package/dist/domains/traces/components/span-summary-description.es.js +3 -3
- package/dist/domains/traces/components/span-timeline-row.cjs.js +10 -10
- package/dist/domains/traces/components/span-timeline-row.es.js +10 -10
- package/dist/domains/traces/components/span-timing-hover-card.cjs.js +3 -3
- package/dist/domains/traces/components/span-timing-hover-card.es.js +3 -3
- package/dist/domains/traces/components/span-token-usage.cjs.js +2 -2
- package/dist/domains/traces/components/span-token-usage.es.js +2 -2
- package/dist/domains/traces/components/span-token-usage.utils.cjs.js +2 -2
- package/dist/domains/traces/components/span-token-usage.utils.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-token-usage.utils.es.js +2 -2
- package/dist/domains/traces/components/span-token-usage.utils.es.js.map +1 -1
- package/dist/domains/traces/components/span-type-badge.cjs.js +1 -1
- package/dist/domains/traces/components/span-type-badge.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +3 -3
- package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +3 -3
- package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +4 -4
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +4 -4
- package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +3 -3
- package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +3 -3
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +5 -5
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +5 -5
- package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +6 -6
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +6 -6
- package/dist/domains/traces/components/thread-trace.cjs.js +3 -3
- package/dist/domains/traces/components/thread-trace.es.js +3 -3
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js +12 -10
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.es.js +12 -10
- package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
- package/dist/domains/traces/components/thread-view-skeleton.cjs.js +5 -5
- package/dist/domains/traces/components/thread-view-skeleton.es.js +5 -5
- package/dist/domains/traces/components/timeline-name-col.cjs.js +6 -6
- package/dist/domains/traces/components/timeline-name-col.es.js +6 -6
- package/dist/domains/traces/components/timeline-timing-col.cjs.js +4 -4
- package/dist/domains/traces/components/timeline-timing-col.es.js +4 -4
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +5 -5
- package/dist/domains/traces/components/trace-columns-menu.es.js +5 -5
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +13 -13
- package/dist/domains/traces/components/trace-data-panel-view.es.js +13 -13
- package/dist/domains/traces/components/trace-data-panel.cjs.js +2 -2
- package/dist/domains/traces/components/trace-data-panel.es.js +2 -2
- package/dist/domains/traces/components/trace-details-view.cjs.js +3 -3
- package/dist/domains/traces/components/trace-details-view.es.js +3 -3
- package/dist/domains/traces/components/trace-error-cell.cjs.js +2 -2
- package/dist/domains/traces/components/trace-error-cell.es.js +2 -2
- package/dist/domains/traces/components/trace-error-summary.cjs.js +2 -2
- package/dist/domains/traces/components/trace-error-summary.es.js +2 -2
- package/dist/domains/traces/components/trace-feedback-tab.cjs.js +9 -4
- package/dist/domains/traces/components/trace-feedback-tab.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-feedback-tab.es.js +9 -4
- package/dist/domains/traces/components/trace-feedback-tab.es.js.map +1 -1
- package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
- package/dist/domains/traces/components/trace-id-button.es.js +1 -1
- package/dist/domains/traces/components/trace-messages-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-messages-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-messages-skeleton.cjs.js +1 -1
- package/dist/domains/traces/components/trace-messages-skeleton.es.js +1 -1
- package/dist/domains/traces/components/trace-span-panel.cjs.js +5 -4
- package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-panel.es.js +5 -4
- package/dist/domains/traces/components/trace-span-panel.es.js.map +1 -1
- package/dist/domains/traces/components/trace-span-timeline-markers.cjs.js +6 -6
- package/dist/domains/traces/components/trace-span-timeline-markers.es.js +6 -6
- package/dist/domains/traces/components/trace-span-timeline.cjs.js +5 -5
- package/dist/domains/traces/components/trace-span-timeline.es.js +5 -5
- package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js +2 -2
- package/dist/domains/traces/components/trace-span-tree-skeleton.es.js +2 -2
- package/dist/domains/traces/components/trace-span-tree.cjs.js +2 -2
- package/dist/domains/traces/components/trace-span-tree.es.js +2 -2
- package/dist/domains/traces/components/trace-status-value.cjs.js +1 -1
- package/dist/domains/traces/components/trace-status-value.es.js +1 -1
- package/dist/domains/traces/components/trace-summary-description.cjs.js +5 -5
- package/dist/domains/traces/components/trace-summary-description.es.js +5 -5
- package/dist/domains/traces/components/trace-thread-item-view.cjs.js +5 -5
- package/dist/domains/traces/components/trace-thread-item-view.es.js +5 -5
- package/dist/domains/traces/components/trace-thread-panel.cjs.js +3 -2
- package/dist/domains/traces/components/trace-thread-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-thread-panel.es.js +3 -2
- package/dist/domains/traces/components/trace-thread-panel.es.js.map +1 -1
- package/dist/domains/traces/components/trace-timeline.cjs.js +1 -1
- package/dist/domains/traces/components/trace-timeline.es.js +1 -1
- package/dist/domains/traces/components/traces-error-content.cjs.js +2 -2
- package/dist/domains/traces/components/traces-error-content.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-body.cjs.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-body.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.cjs.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js +14 -9
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js +14 -9
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +16 -3
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +17 -4
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +2 -2
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer.cjs.js +4 -4
- package/dist/domains/traces/components/traces-explorer.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer.es.js +4 -4
- package/dist/domains/traces/components/traces-explorer.es.js.map +1 -1
- package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +2 -2
- package/dist/domains/traces/components/traces-list-mode-toggle.es.js +2 -2
- package/dist/domains/traces/components/traces-list-view.cjs.js +10 -10
- package/dist/domains/traces/components/traces-list-view.es.js +10 -10
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -2
- package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -2
- package/dist/domains/traces/components/traces-spans-switch.cjs.js +3 -3
- package/dist/domains/traces/components/traces-spans-switch.es.js +3 -3
- package/dist/domains/traces/components.cjs.js +15 -15
- package/dist/domains/traces/components.es.js +15 -15
- package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
- package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
- package/dist/domains/traces/hooks/use-traces-list-source.cjs.js +1 -1
- package/dist/domains/traces/hooks/use-traces-list-source.es.js +1 -1
- package/dist/domains/traces/hooks.cjs.js +4 -4
- package/dist/domains/traces/hooks.es.js +4 -4
- package/dist/domains/traces/utils/span-utils.cjs.js +2 -2
- package/dist/domains/traces/utils/span-utils.cjs.js.map +1 -1
- package/dist/domains/traces/utils/span-utils.es.js +2 -2
- package/dist/domains/traces/utils/span-utils.es.js.map +1 -1
- package/dist/domains/traces/utils.cjs.js +2 -2
- package/dist/domains/traces/utils.es.js +2 -2
- package/dist/domains/traces.cjs.js +2 -2
- package/dist/domains/traces.es.js +2 -2
- package/dist/domains/workflows/components/workflow-combobox.cjs.js +4 -3
- package/dist/domains/workflows/components/workflow-combobox.cjs.js.map +1 -1
- package/dist/domains/workflows/components/workflow-combobox.es.js +4 -3
- package/dist/domains/workflows/components/workflow-combobox.es.js.map +1 -1
- package/dist/domains/workflows/components/workflow-entity-header.cjs.js +6 -6
- package/dist/domains/workflows/components/workflow-entity-header.cjs.js.map +1 -1
- package/dist/domains/workflows/components/workflow-entity-header.es.js +6 -6
- package/dist/domains/workflows/components/workflow-entity-header.es.js.map +1 -1
- package/dist/domains/workflows/components/workflow-information.cjs.js +10 -10
- package/dist/domains/workflows/components/workflow-information.es.js +10 -10
- package/dist/domains/workflows/components/workflow-layout.cjs.js +3 -3
- package/dist/domains/workflows/components/workflow-layout.es.js +2 -2
- package/dist/domains/workflows/components/workflow-run-status-icon.cjs.js +3 -3
- package/dist/domains/workflows/components/workflow-run-status-icon.es.js +3 -3
- package/dist/domains/workflows/components/workflow-step-detail.cjs.js +4 -4
- package/dist/domains/workflows/components/workflow-step-detail.es.js +4 -4
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +2 -2
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +2 -2
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +11 -11
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +11 -11
- package/dist/domains/workflows/context/playground-workflow-run-provider.cjs.js +1 -1
- package/dist/domains/workflows/context/playground-workflow-run-provider.es.js +1 -1
- package/dist/domains/workflows/context/use-stream-for-run.cjs.js +1 -1
- package/dist/domains/workflows/context/use-stream-for-run.es.js +1 -1
- package/dist/domains/workflows/context/workflow-run-provider.cjs.js +1 -1
- package/dist/domains/workflows/context/workflow-run-provider.es.js +1 -1
- package/dist/domains/workflows/runs/workflow-run-details.cjs.js +2 -2
- package/dist/domains/workflows/runs/workflow-run-details.es.js +2 -2
- package/dist/domains/workflows/runs/workflow-run-list.cjs.js +26 -21
- package/dist/domains/workflows/runs/workflow-run-list.cjs.js.map +1 -1
- package/dist/domains/workflows/runs/workflow-run-list.es.js +26 -21
- package/dist/domains/workflows/runs/workflow-run-list.es.js.map +1 -1
- package/dist/domains/workflows/workflow/data/use-workflow-data.cjs.js +1 -1
- package/dist/domains/workflows/workflow/data/use-workflow-data.es.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +5 -5
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +5 -5
- package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +8 -8
- package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +8 -8
- package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js.map +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-nodes.cjs.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-nodes.es.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-trigger.cjs.js +3 -3
- package/dist/domains/workflows/workflow/use-workflow-trigger.es.js +3 -3
- package/dist/domains/workflows/workflow/utils.cjs.js +2 -2
- package/dist/domains/workflows/workflow/utils.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-card.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-card.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +6 -6
- package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +6 -6
- package/dist/domains/workflows/workflow/workflow-graph-groups.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-groups.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-groups.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-groups.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +4 -4
- package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +4 -4
- package/dist/domains/workflows/workflow/workflow-graph-layout.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-layout.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +6 -6
- package/dist/domains/workflows/workflow/workflow-input-data.es.js +6 -6
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +4 -4
- package/dist/domains/workflows/workflow/workflow-run-data.es.js +4 -4
- package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +6 -6
- package/dist/domains/workflows/workflow/workflow-run-header.es.js +6 -6
- package/dist/domains/workflows/workflow/workflow-status.cjs.js +7 -7
- package/dist/domains/workflows/workflow/workflow-status.es.js +7 -7
- package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-step-node-utils.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-node-utils.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-steps-status.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-steps-status.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +10 -10
- package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +10 -10
- package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +12 -12
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +12 -12
- package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +4 -4
- package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +4 -4
- package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +9 -9
- package/dist/domains/workflows/workflow/workflow-timeline.es.js +9 -9
- package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +5 -5
- package/dist/domains/workflows/workflow/workflow-trigger.es.js +5 -5
- package/dist/domains/workflows.cjs.js +4 -4
- package/dist/domains/workflows.es.js +4 -4
- package/dist/domains/workspace/components/mount-icon.cjs.js +1 -1
- package/dist/domains/workspace/components/mount-icon.es.js +1 -1
- package/dist/domains/workspace/components/workspace-active-file.cjs.js +4 -4
- package/dist/domains/workspace/components/workspace-active-file.es.js +4 -4
- package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +10 -10
- package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +10 -10
- package/dist/domains/workspace/components/workspace-add-skill.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill.es.js +1 -1
- package/dist/domains/workspace/components/workspace-context.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-context.es.js +1 -1
- package/dist/domains/workspace/components/workspace-create-directory.cjs.js +4 -4
- package/dist/domains/workspace/components/workspace-create-directory.es.js +4 -4
- package/dist/domains/workspace/components/workspace-error.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-error.es.js +1 -1
- package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
- package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
- package/dist/domains/workspace/components/workspace-parts.cjs.js +5 -5
- package/dist/domains/workspace/components/workspace-parts.es.js +5 -5
- package/dist/domains/workspace/components/workspace-search.cjs.js +17 -20
- package/dist/domains/workspace/components/workspace-search.cjs.js.map +1 -1
- package/dist/domains/workspace/components/workspace-search.es.js +18 -21
- package/dist/domains/workspace/components/workspace-search.es.js.map +1 -1
- package/dist/domains/workspace/components/workspace-tree-view.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-tree-view.es.js +1 -1
- package/dist/domains/workspace/components/workspace-tree.cjs.js +11 -11
- package/dist/domains/workspace/components/workspace-tree.cjs.js.map +1 -1
- package/dist/domains/workspace/components/workspace-tree.es.js +11 -11
- package/dist/domains/workspace/components/workspace-tree.es.js.map +1 -1
- package/dist/domains/workspace/components/workspace.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace.es.js +1 -1
- package/dist/domains/workspace.cjs.js +3 -3
- package/dist/domains/workspace.es.js +3 -3
- package/dist/dropdown-menu-D3D8USIY.cjs +249 -0
- package/dist/dropdown-menu-D3D8USIY.cjs.map +1 -0
- package/dist/dropdown-menu-jsf9D-J_.js +242 -0
- package/dist/dropdown-menu-jsf9D-J_.js.map +1 -0
- package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +4 -4
- package/dist/ee/signals/components/entity-index-compact-grid.es.js +4 -4
- package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
- package/dist/ee/signals/components/entity-index-list.es.js +1 -1
- package/dist/ee/signals/components/entity-index-status.cjs.js +2 -2
- package/dist/ee/signals/components/entity-index-status.es.js +2 -2
- package/dist/ee/signals/components/signals-empty-state.cjs.js +12 -21
- package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -1
- package/dist/ee/signals/components/signals-empty-state.es.js +12 -21
- package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +5 -5
- package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +5 -5
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +13 -13
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +14 -14
- package/dist/ee/signals/examples-pager.cjs.js +2 -2
- package/dist/ee/signals/examples-pager.es.js +2 -2
- package/dist/ee/signals/flow-card.cjs.js +4 -4
- package/dist/ee/signals/flow-card.es.js +4 -4
- package/dist/ee/signals/lifeline-point.cjs.js +2 -2
- package/dist/ee/signals/lifeline-point.es.js +2 -2
- package/dist/ee/signals/lifeline-row.cjs.js +6 -6
- package/dist/ee/signals/lifeline-row.cjs.js.map +1 -1
- package/dist/ee/signals/lifeline-row.es.js +6 -6
- package/dist/ee/signals/lifeline-row.es.js.map +1 -1
- package/dist/ee/signals/noise-detail-panel.cjs.js +6 -6
- package/dist/ee/signals/noise-detail-panel.es.js +6 -6
- package/dist/ee/signals/sankey-signals-data.cjs.js +9 -5
- package/dist/ee/signals/sankey-signals-data.cjs.js.map +1 -1
- package/dist/ee/signals/sankey-signals-data.es.js +9 -5
- package/dist/ee/signals/sankey-signals-data.es.js.map +1 -1
- package/dist/ee/signals/sankey-signals.cjs.js +21 -12
- package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
- package/dist/ee/signals/sankey-signals.es.js +21 -12
- package/dist/ee/signals/sankey-signals.es.js.map +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +4 -4
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +4 -4
- package/dist/ee/signals/settings/trace-signal-settings.cjs.js +7 -7
- package/dist/ee/signals/settings/trace-signal-settings.es.js +7 -7
- package/dist/ee/signals/signal-delta-column.cjs.js +3 -3
- package/dist/ee/signals/signal-delta-column.es.js +3 -3
- package/dist/ee/signals/signal-lifelines.cjs.js +5 -5
- package/dist/ee/signals/signal-lifelines.es.js +5 -5
- package/dist/ee/signals/signals-error-state.cjs.js +2 -2
- package/dist/ee/signals/signals-error-state.es.js +2 -2
- package/dist/ee/signals/snapshot-summary.cjs.js +15 -0
- package/dist/ee/signals/snapshot-summary.cjs.js.map +1 -0
- package/dist/ee/signals/snapshot-summary.d.ts +1 -0
- package/dist/ee/signals/snapshot-summary.es.js +14 -0
- package/dist/ee/signals/snapshot-summary.es.js.map +1 -0
- package/dist/ee/signals/snapshot-timeline.cjs.js +4 -4
- package/dist/ee/signals/snapshot-timeline.cjs.js.map +1 -1
- package/dist/ee/signals/snapshot-timeline.es.js +4 -4
- package/dist/ee/signals/snapshot-timeline.es.js.map +1 -1
- package/dist/ee/signals/sortable-signal-headers.cjs.js +6 -6
- package/dist/ee/signals/sortable-signal-headers.es.js +6 -6
- package/dist/ee/signals/theme-compare.cjs.js +15 -7
- package/dist/ee/signals/theme-compare.cjs.js.map +1 -1
- package/dist/ee/signals/theme-compare.es.js +15 -7
- package/dist/ee/signals/theme-compare.es.js.map +1 -1
- package/dist/ee/signals/theme-detail-panel.cjs.js +13 -17
- package/dist/ee/signals/theme-detail-panel.cjs.js.map +1 -1
- package/dist/ee/signals/theme-detail-panel.es.js +13 -17
- package/dist/ee/signals/theme-detail-panel.es.js.map +1 -1
- package/dist/ee/signals/theme-filter-banner.cjs.js +7 -7
- package/dist/ee/signals/theme-filter-banner.cjs.js.map +1 -1
- package/dist/ee/signals/theme-filter-banner.es.js +7 -7
- package/dist/ee/signals/theme-filter-banner.es.js.map +1 -1
- package/dist/ee/signals/theme-lifelines.cjs.js +8 -5
- package/dist/ee/signals/theme-lifelines.cjs.js.map +1 -1
- package/dist/ee/signals/theme-lifelines.es.js +8 -5
- package/dist/ee/signals/theme-lifelines.es.js.map +1 -1
- package/dist/ee/signals/theme-trend-chart.cjs.js +3 -3
- package/dist/ee/signals/theme-trend-chart.cjs.js.map +1 -1
- package/dist/ee/signals/theme-trend-chart.es.js +3 -3
- package/dist/ee/signals/theme-trend-chart.es.js.map +1 -1
- package/dist/ee/signals/trace-insight-view.cjs.js +11 -13
- package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
- package/dist/ee/signals/trace-insight-view.es.js +11 -13
- package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js +10 -15
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js.map +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.es.js +10 -15
- package/dist/ee/signals/trace-intelligence-explainer.es.js.map +1 -1
- package/dist/ee/signals/view-mode-tab.cjs.js +2 -2
- package/dist/ee/signals/view-mode-tab.es.js +2 -2
- package/dist/ee/signals.cjs.js +5 -5
- package/dist/ee/signals.es.js +5 -5
- package/dist/ee/topics/components/topic-trace-details-panel.cjs.js +1 -1
- package/dist/ee/topics/components/topic-trace-details-panel.es.js +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +4 -4
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +4 -4
- package/dist/ee/topics/components/topics-layout.cjs.js +1 -1
- package/dist/ee/topics/components/topics-layout.es.js +1 -1
- package/dist/field-error-id-6ZynvsRO.js +89 -0
- package/dist/field-error-id-6ZynvsRO.js.map +1 -0
- package/dist/field-error-id-VimPQI_b.cjs +100 -0
- package/dist/field-error-id-VimPQI_b.cjs.map +1 -0
- package/dist/filter-bar-chip-DFsbUZ-V.cjs +1545 -0
- package/dist/filter-bar-chip-DFsbUZ-V.cjs.map +1 -0
- package/dist/filter-bar-chip-NBtfDca9.js +1420 -0
- package/dist/filter-bar-chip-NBtfDca9.js.map +1 -0
- package/dist/filter-bar-time-range-CEgdThCy.cjs +83 -0
- package/dist/filter-bar-time-range-CEgdThCy.cjs.map +1 -0
- package/dist/filter-bar-time-range-CHSMbpPd.js +60 -0
- package/dist/filter-bar-time-range-CHSMbpPd.js.map +1 -0
- package/dist/hooks/use-clock.cjs.js +34 -0
- package/dist/hooks/use-clock.cjs.js.map +1 -0
- package/dist/hooks/use-clock.d.ts +1 -0
- package/dist/hooks/use-clock.es.js +33 -0
- package/dist/hooks/use-clock.es.js.map +1 -0
- package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
- package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
- package/dist/hooks/use-text-highlight.cjs.js +3 -5
- package/dist/hooks/use-text-highlight.cjs.js.map +1 -1
- package/dist/hooks/use-text-highlight.es.js +1 -3
- package/dist/hooks/use-text-highlight.es.js.map +1 -1
- package/dist/icons/ByteDanceIcon.cjs.js +37 -0
- package/dist/icons/ByteDanceIcon.cjs.js.map +1 -0
- package/dist/icons/ByteDanceIcon.d.ts +1 -0
- package/dist/icons/ByteDanceIcon.es.js +34 -0
- package/dist/icons/ByteDanceIcon.es.js.map +1 -0
- package/dist/icons/CohereBrandIcon.cjs.js +34 -0
- package/dist/icons/CohereBrandIcon.cjs.js.map +1 -0
- package/dist/icons/CohereBrandIcon.d.ts +1 -0
- package/dist/icons/CohereBrandIcon.es.js +31 -0
- package/dist/icons/CohereBrandIcon.es.js.map +1 -0
- package/dist/icons/ConfluenceIcon.cjs.js +18 -0
- package/dist/icons/ConfluenceIcon.cjs.js.map +1 -0
- package/dist/icons/ConfluenceIcon.d.ts +1 -0
- package/dist/icons/ConfluenceIcon.es.js +15 -0
- package/dist/icons/ConfluenceIcon.es.js.map +1 -0
- package/dist/icons/FireworksIcon.cjs.js +22 -0
- package/dist/icons/FireworksIcon.cjs.js.map +1 -0
- package/dist/icons/FireworksIcon.d.ts +1 -0
- package/dist/icons/FireworksIcon.es.js +19 -0
- package/dist/icons/FireworksIcon.es.js.map +1 -0
- package/dist/icons/Icon.cjs.js +1 -1
- package/dist/icons/Icon.es.js +1 -1
- package/dist/icons/LongCatIcon.cjs.js +22 -0
- package/dist/icons/LongCatIcon.cjs.js.map +1 -0
- package/dist/icons/LongCatIcon.d.ts +1 -0
- package/dist/icons/LongCatIcon.es.js +19 -0
- package/dist/icons/LongCatIcon.es.js.map +1 -0
- package/dist/icons/MicrosoftIcon.cjs.js +34 -0
- package/dist/icons/MicrosoftIcon.cjs.js.map +1 -0
- package/dist/icons/MicrosoftIcon.d.ts +1 -0
- package/dist/icons/MicrosoftIcon.es.js +31 -0
- package/dist/icons/MicrosoftIcon.es.js.map +1 -0
- package/dist/icons/MorphIcon.cjs.js +20 -0
- package/dist/icons/MorphIcon.cjs.js.map +1 -0
- package/dist/icons/MorphIcon.d.ts +1 -0
- package/dist/icons/MorphIcon.es.js +17 -0
- package/dist/icons/MorphIcon.es.js.map +1 -0
- package/dist/icons/NotionIcon.cjs.js +18 -0
- package/dist/icons/NotionIcon.cjs.js.map +1 -0
- package/dist/icons/NotionIcon.d.ts +1 -0
- package/dist/icons/NotionIcon.es.js +15 -0
- package/dist/icons/NotionIcon.es.js.map +1 -0
- package/dist/icons/NousResearchIcon.cjs.js +19 -0
- package/dist/icons/NousResearchIcon.cjs.js.map +1 -0
- package/dist/icons/NousResearchIcon.d.ts +1 -0
- package/dist/icons/NousResearchIcon.es.js +16 -0
- package/dist/icons/NousResearchIcon.es.js.map +1 -0
- package/dist/icons/NovaIcon.cjs.js +41 -0
- package/dist/icons/NovaIcon.cjs.js.map +1 -0
- package/dist/icons/NovaIcon.d.ts +1 -0
- package/dist/icons/NovaIcon.es.js +38 -0
- package/dist/icons/NovaIcon.es.js.map +1 -0
- package/dist/icons/PerplexityIcon.cjs.js +21 -0
- package/dist/icons/PerplexityIcon.cjs.js.map +1 -0
- package/dist/icons/PerplexityIcon.d.ts +1 -0
- package/dist/icons/PerplexityIcon.es.js +18 -0
- package/dist/icons/PerplexityIcon.es.js.map +1 -0
- package/dist/icons/SakanaIcon.cjs.js +20 -0
- package/dist/icons/SakanaIcon.cjs.js.map +1 -0
- package/dist/icons/SakanaIcon.d.ts +1 -0
- package/dist/icons/SakanaIcon.es.js +17 -0
- package/dist/icons/SakanaIcon.es.js.map +1 -0
- package/dist/icons/StepFunIcon.cjs.js +35 -0
- package/dist/icons/StepFunIcon.cjs.js.map +1 -0
- package/dist/icons/StepFunIcon.d.ts +1 -0
- package/dist/icons/StepFunIcon.es.js +32 -0
- package/dist/icons/StepFunIcon.es.js.map +1 -0
- package/dist/icons/TencentIcon.cjs.js +21 -0
- package/dist/icons/TencentIcon.cjs.js.map +1 -0
- package/dist/icons/TencentIcon.d.ts +1 -0
- package/dist/icons/TencentIcon.es.js +18 -0
- package/dist/icons/TencentIcon.es.js.map +1 -0
- package/dist/icons/UpstageIcon.cjs.js +36 -0
- package/dist/icons/UpstageIcon.cjs.js.map +1 -0
- package/dist/icons/UpstageIcon.d.ts +1 -0
- package/dist/icons/UpstageIcon.es.js +33 -0
- package/dist/icons/UpstageIcon.es.js.map +1 -0
- package/dist/icons/ZendeskIcon.cjs.js +18 -0
- package/dist/icons/ZendeskIcon.cjs.js.map +1 -0
- package/dist/icons/ZendeskIcon.d.ts +1 -0
- package/dist/icons/ZendeskIcon.es.js +15 -0
- package/dist/icons/ZendeskIcon.es.js.map +1 -0
- package/dist/input-BpnUsQSt.cjs +55 -0
- package/dist/input-BpnUsQSt.cjs.map +1 -0
- package/dist/input-Cyit5ZSc.js +48 -0
- package/dist/input-Cyit5ZSc.js.map +1 -0
- package/dist/input-group-DBCilXjT.cjs +169 -0
- package/dist/input-group-DBCilXjT.cjs.map +1 -0
- package/dist/input-group-NV4ZzKOk.js +120 -0
- package/dist/input-group-NV4ZzKOk.js.map +1 -0
- package/dist/layout/tabbed-container.cjs.js +1 -1
- package/dist/layout/tabbed-container.es.js +1 -1
- package/dist/lib/form/auto-form.cjs.js +1 -1
- package/dist/lib/form/auto-form.es.js +1 -1
- package/dist/lib/form/components/array-element-wrapper.cjs.js +4 -4
- package/dist/lib/form/components/array-element-wrapper.es.js +4 -4
- package/dist/lib/form/components/array-wrapper.cjs.js +2 -2
- package/dist/lib/form/components/array-wrapper.es.js +2 -2
- package/dist/lib/form/components/boolean-field.cjs.js +1 -1
- package/dist/lib/form/components/boolean-field.es.js +1 -1
- package/dist/lib/form/components/date-field.cjs.js +5 -5
- package/dist/lib/form/components/date-field.es.js +5 -5
- package/dist/lib/form/components/error-message.cjs.js +1 -1
- package/dist/lib/form/components/error-message.es.js +1 -1
- package/dist/lib/form/components/form-submit-row.cjs.js +2 -2
- package/dist/lib/form/components/form-submit-row.es.js +2 -2
- package/dist/lib/form/components/number-field.cjs.js +1 -1
- package/dist/lib/form/components/number-field.es.js +1 -1
- package/dist/lib/form/components/object-wrapper.cjs.js +3 -3
- package/dist/lib/form/components/object-wrapper.es.js +3 -3
- package/dist/lib/form/components/record-field.cjs.js +2 -2
- package/dist/lib/form/components/record-field.es.js +2 -2
- package/dist/lib/form/components/select-field.cjs.js +1 -1
- package/dist/lib/form/components/select-field.es.js +1 -1
- package/dist/lib/form/components/string-field.cjs.js +1 -1
- package/dist/lib/form/components/string-field.es.js +1 -1
- package/dist/lib/form/components/submit-button.cjs.js +1 -1
- package/dist/lib/form/components/submit-button.es.js +1 -1
- package/dist/lib/form/components/union-field.cjs.js +1 -1
- package/dist/lib/form/components/union-field.es.js +1 -1
- package/dist/lib/form/dynamic-form.cjs.js +2 -2
- package/dist/lib/form/dynamic-form.es.js +2 -2
- package/dist/list-search-DUcIMJTk.js +45 -0
- package/dist/list-search-DUcIMJTk.js.map +1 -0
- package/dist/list-search-yF02rvZt.cjs +50 -0
- package/dist/list-search-yF02rvZt.cjs.map +1 -0
- package/dist/new/layout/page-header.cjs.js +1 -1
- package/dist/new/layout/page-header.es.js +1 -1
- package/dist/new/settings.cjs.js +1 -1
- package/dist/new/settings.es.js +1 -1
- package/dist/observability-saved-views-UM8HBJ6J.cjs +304 -0
- package/dist/observability-saved-views-UM8HBJ6J.cjs.map +1 -0
- package/dist/observability-saved-views-lLWk1w0g.js +299 -0
- package/dist/observability-saved-views-lLWk1w0g.js.map +1 -0
- package/dist/page-header-Maytcmgh.js +120 -0
- package/dist/page-header-Maytcmgh.js.map +1 -0
- package/dist/page-header-pZCts_WC.cjs +125 -0
- package/dist/page-header-pZCts_WC.cjs.map +1 -0
- package/dist/popover-BpMi52Tb.js +94 -0
- package/dist/popover-BpMi52Tb.js.map +1 -0
- package/dist/popover-D9AfJmla.cjs +119 -0
- package/dist/popover-D9AfJmla.cjs.map +1 -0
- package/dist/primitives/chart-frame.cjs.js +2 -2
- package/dist/primitives/chart-frame.es.js +2 -2
- package/dist/primitives/chart-time-tick.cjs.js +2 -2
- package/dist/primitives/chart-time-tick.es.js +2 -2
- package/dist/primitives/charts/drag-selection.cjs.js +1 -1
- package/dist/primitives/charts/drag-selection.es.js +1 -1
- package/dist/primitives/menu-item.cjs.js +2 -2
- package/dist/primitives/menu-item.es.js +2 -2
- package/dist/primitives/menu-scroll-area.cjs.js +1 -1
- package/dist/primitives/menu-scroll-area.es.js +1 -1
- package/dist/primitives/resize-handle-indicator.cjs.js +1 -1
- package/dist/primitives/resize-handle-indicator.es.js +1 -1
- package/dist/primitives/trigger-button.cjs.js +2 -2
- package/dist/primitives/trigger-button.es.js +2 -2
- package/dist/property-filter-applied-BBVmWRsC.js +344 -0
- package/dist/property-filter-applied-BBVmWRsC.js.map +1 -0
- package/dist/property-filter-applied-iYDdM1hb.cjs +361 -0
- package/dist/property-filter-applied-iYDdM1hb.cjs.map +1 -0
- package/dist/resize/collapsible-panel.cjs.js +4 -4
- package/dist/resize/collapsible-panel.cjs.js.map +1 -1
- package/dist/resize/collapsible-panel.es.js +4 -4
- package/dist/resize/collapsible-panel.es.js.map +1 -1
- package/dist/resize/panel-drawer.cjs.js +3 -3
- package/dist/resize/panel-drawer.es.js +3 -3
- package/dist/resize/panel-icon-button.cjs.js +1 -2
- package/dist/resize/panel-icon-button.cjs.js.map +1 -1
- package/dist/resize/panel-icon-button.es.js +1 -1
- package/dist/resize/separator.cjs.js +1 -1
- package/dist/resize/separator.es.js +1 -1
- package/dist/scroll-area-9-S7wfSs.js +227 -0
- package/dist/scroll-area-9-S7wfSs.js.map +1 -0
- package/dist/scroll-area-BU_TorPW.cjs +246 -0
- package/dist/scroll-area-BU_TorPW.cjs.map +1 -0
- package/dist/select-CeukeSn_.cjs +176 -0
- package/dist/select-CeukeSn_.cjs.map +1 -0
- package/dist/select-dNX9If-s.js +133 -0
- package/dist/select-dNX9If-s.js.map +1 -0
- package/dist/settings-BEw_bg12.js +106 -0
- package/dist/settings-BEw_bg12.js.map +1 -0
- package/dist/settings-Bminohri.cjs +135 -0
- package/dist/settings-Bminohri.cjs.map +1 -0
- package/dist/span-payload-primitives-CL3hlirm.cjs +217 -0
- package/dist/span-payload-primitives-CL3hlirm.cjs.map +1 -0
- package/dist/span-payload-primitives-KxqoXspn.js +164 -0
- package/dist/span-payload-primitives-KxqoXspn.js.map +1 -0
- package/dist/spinner-B9ykw74u.js +63 -0
- package/dist/spinner-B9ykw74u.js.map +1 -0
- package/dist/spinner-oS6q4pwx.cjs +68 -0
- package/dist/spinner-oS6q4pwx.cjs.map +1 -0
- package/dist/src/domains/chat/activity/index.d.ts +1 -3
- package/dist/src/domains/chat/activity/model/activity-members.d.ts +1 -2
- package/dist/src/domains/chat/activity/model/activity-words.d.ts +1 -2
- package/dist/src/domains/chat/context/chat-context.d.ts +9 -0
- package/dist/src/domains/chat/tools/badges/knowledge-tool-badge.d.ts +2 -1
- package/dist/src/domains/chat/tools/badges/mcp-task-chip.d.ts +1 -1
- package/dist/src/domains/chat/tools/badges/workspace-data-parts.d.ts +6 -0
- package/dist/src/domains/chat/tools/tool-card-kind.d.ts +12 -2
- package/dist/src/domains/dashboards/components/connected-widget.d.ts +9 -0
- package/dist/src/domains/dashboards/components/dashboard-grid.d.ts +4 -1
- package/dist/src/domains/dashboards/components/dashboard-renderer.d.ts +30 -3
- package/dist/src/domains/dashboards/components/stateless-widget.d.ts +40 -0
- package/dist/src/domains/dashboards/components/view-gate.d.ts +2 -10
- package/dist/src/domains/dashboards/components/widget-controls.d.ts +27 -0
- package/dist/src/domains/dashboards/components/widget-error.d.ts +7 -2
- package/dist/src/domains/dashboards/hooks/use-dashboard-environment.d.ts +8 -0
- package/dist/src/domains/dashboards/hooks/use-dashboard-requests.d.ts +11 -1
- package/dist/src/domains/dashboards/hooks/use-widget-views.d.ts +8 -2
- package/dist/src/domains/dashboards/index.d.ts +14 -6
- package/dist/src/domains/dashboards/kinds/kpis/kpis-plan.d.ts +355 -0
- package/dist/src/domains/dashboards/kinds/kpis/kpis-widget.d.ts +1 -1
- package/dist/src/domains/dashboards/kinds/scores/scores-plan.d.ts +358 -0
- package/dist/src/domains/dashboards/kinds/scores/scores-widget.d.ts +1 -1
- package/dist/src/domains/dashboards/kinds/table/table-cells.d.ts +6 -2
- package/dist/src/domains/dashboards/kinds/table/table-columns.d.ts +2 -1
- package/dist/src/domains/dashboards/kinds/table/table-plan.d.ts +18 -0
- package/dist/src/domains/dashboards/kinds/table/table-tabs.d.ts +1 -1
- package/dist/src/domains/dashboards/kinds/table/table-view.d.ts +1 -0
- package/dist/src/domains/dashboards/kinds/timeseries/timeseries-plan.d.ts +355 -0
- package/dist/src/domains/dashboards/lib/alert-actions.d.ts +36 -0
- package/dist/src/domains/dashboards/lib/chrome.d.ts +5 -2
- package/dist/src/domains/dashboards/lib/gate.d.ts +65 -0
- package/dist/src/domains/dashboards/lib/pin-actions.d.ts +7 -0
- package/dist/src/domains/dashboards/lib/plan-widget.d.ts +390 -0
- package/dist/src/domains/dashboards/lib/requests.d.ts +22 -0
- package/dist/src/domains/dashboards/lib/scores.d.ts +11 -1
- package/dist/src/domains/dashboards/lib/timeseries.d.ts +6 -1
- package/dist/src/domains/dashboards/lib/values.d.ts +5 -0
- package/dist/src/domains/dashboards/widget-kind.d.ts +118 -2
- package/dist/src/domains/knowledge/components/KnowledgePageDetail.d.ts +7 -1
- package/dist/src/domains/knowledge/components/KnowledgePageExplorer.d.ts +4 -1
- package/dist/src/domains/knowledge/components/KnowledgePageGraph.d.ts +3 -0
- package/dist/src/domains/knowledge/components/KnowledgeSourceIcon.d.ts +5 -0
- package/dist/src/domains/knowledge/components/KnowledgeTooltip.d.ts +5 -0
- package/dist/src/domains/knowledge/lib/fitViewport.d.ts +9 -2
- package/dist/src/domains/knowledge/lib/pageAddress.d.ts +10 -0
- package/dist/src/domains/knowledge/lib/pageRefs.d.ts +12 -1
- package/dist/src/domains/knowledge/lib/pagesByRefContext.d.ts +6 -0
- package/dist/src/domains/llm/models-dev-logo-slugs.d.ts +1 -0
- package/dist/src/domains/llm/provider-logo-monogram.d.ts +8 -0
- package/dist/src/domains/llm/provider-logo.d.ts +0 -4
- package/dist/src/domains/mcps/components/mcp-app-tool-result.d.ts +4 -1
- package/dist/src/domains/mcps/components/mcp-app-viewer.d.ts +12 -2
- package/dist/src/domains/mcps/context/mcp-app-host-context-value.d.ts +23 -0
- package/dist/src/domains/mcps/context/mcp-app-host-context.d.ts +7 -0
- package/dist/src/domains/mcps/hooks/use-mcp-app-tool-call.d.ts +5 -0
- package/dist/src/domains/mcps/index.d.ts +3 -0
- package/dist/src/domains/metrics/components/chart-card.d.ts +6 -2
- package/dist/src/domains/metrics/components/kpi-card.d.ts +2 -1
- package/dist/src/domains/metrics/lib/index.d.ts +1 -0
- package/dist/src/domains/metrics/lib/series-colors.d.ts +39 -0
- package/dist/src/domains/traces/components/feedback-options.d.ts +8 -0
- package/dist/src/domains/traces/components/feedback-thread.d.ts +2 -1
- package/dist/src/domains/traces/components/span-feedback-tab.d.ts +4 -2
- package/dist/src/domains/traces/components/span-token-usage.utils.d.ts +1 -1
- package/dist/src/domains/traces/components/thread-view-by-trace.d.ts +4 -1
- package/dist/src/domains/traces/components/trace-feedback-tab.d.ts +4 -2
- package/dist/src/domains/traces/components/trace-span-panel.d.ts +3 -1
- package/dist/src/domains/traces/components/trace-thread-panel.d.ts +3 -1
- package/dist/src/domains/traces/components/traces-explorer/index.d.ts +1 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-context.d.ts +2 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-root.d.ts +4 -1
- package/dist/src/domains/workflows/components/workflow-combobox.d.ts +2 -1
- package/dist/src/ds/components/AgentIndicator/paint.d.ts +6 -2
- package/dist/src/ds/components/AgentIndicator/poses/coordination.d.ts +7 -0
- package/dist/src/ds/components/AgentIndicator/poses/documents.d.ts +2 -0
- package/dist/src/ds/components/AgentIndicator/poses/files.d.ts +5 -0
- package/dist/src/ds/components/AgentIndicator/poses/interface.d.ts +8 -0
- package/dist/src/ds/components/AgentIndicator/poses/knowledge-actions.d.ts +6 -0
- package/dist/src/ds/components/AgentIndicator/poses/knowledge.d.ts +2 -0
- package/dist/src/ds/components/AgentIndicator/poses/skills.d.ts +4 -0
- package/dist/src/ds/components/AgentIndicator/poses/terminal.d.ts +4 -0
- package/dist/src/ds/components/AgentIndicator/poses/thinking.d.ts +2 -0
- package/dist/src/ds/components/AgentIndicator/poses.d.ts +1 -1
- package/dist/src/ds/components/AgentIndicator/shapes.d.ts +7 -1
- package/dist/src/ds/components/Breadcrumb/Breadcrumb.d.ts +2 -0
- package/dist/src/ds/components/Breadcrumb/crumb-switcher.d.ts +1 -0
- package/dist/src/ds/components/ChatShell/chat-shell-context.d.ts +9 -0
- package/dist/src/ds/components/ChatShell/chat-shell.d.ts +5 -0
- package/dist/src/ds/components/ChatShell/index.d.ts +2 -1
- package/dist/src/ds/components/Combobox/combobox-parts.d.ts +2 -1
- package/dist/src/ds/components/Combobox/combobox-styles.d.ts +9 -4
- package/dist/src/ds/components/Combobox/combobox.d.ts +4 -2
- package/dist/src/ds/components/CommandPalette/command-palette.d.ts +1 -1
- package/dist/src/ds/components/DateTimePicker/date-picker.d.ts +6 -1
- package/dist/src/ds/components/DateTimePicker/index.d.ts +0 -1
- package/dist/src/ds/components/DateTimeRangePicker/custom-range-editor.d.ts +3 -2
- package/dist/src/ds/components/DropdownMenu/dropdown-menu.d.ts +3 -0
- package/dist/src/ds/components/Message/message-timestamp.d.ts +1 -0
- package/dist/src/ds/components/MessageScroller/message-scroller-context.d.ts +3 -2
- package/dist/src/ds/components/MessageScroller/message-scroller-geometry.d.ts +1 -1
- package/dist/src/ds/components/MessageScroller/message-scroller-hooks.d.ts +2 -8
- package/dist/src/ds/components/MessageScroller/message-scroller-visibility-store.d.ts +8 -0
- package/dist/src/ds/components/Metadata/index.d.ts +2 -0
- package/dist/src/ds/components/Metadata/metadata.d.ts +10 -0
- package/dist/src/ds/components/MetricsCard/index.d.ts +1 -0
- package/dist/src/ds/components/MetricsCard/metrics-card-drag-handle.d.ts +12 -0
- package/dist/src/ds/components/MetricsCard/metrics-card.d.ts +2 -0
- package/dist/src/ds/components/Steps/index.d.ts +1 -0
- package/dist/src/ds/components/Steps/step.d.ts +13 -0
- package/dist/src/ds/components/Steps/steps-context.d.ts +2 -0
- package/dist/src/ds/components/Steps/steps-root.d.ts +18 -0
- package/dist/src/ds/components/Steps/steps.d.ts +7 -0
- package/dist/src/ds/components/Tree/tree-label.d.ts +1 -1
- package/dist/src/ds/components/ai/annotations/annotatable-selection.d.ts +25 -0
- package/dist/src/ds/components/ai/annotations/annotation-comment-card.d.ts +11 -0
- package/dist/src/ds/components/ai/annotations/annotation-comment-popover.d.ts +15 -0
- package/dist/src/ds/components/ai/annotations/annotation-highlights.d.ts +1 -0
- package/dist/src/ds/components/ai/annotations/annotation-marker.d.ts +13 -0
- package/dist/src/ds/components/ai/annotations/annotation-markers.d.ts +9 -0
- package/dist/src/ds/components/ai/annotations/annotation-number.d.ts +4 -0
- package/dist/src/ds/components/ai/annotations/annotation-selection-toolbar.d.ts +7 -0
- package/dist/src/ds/components/ai/annotations/chat-annotations.d.ts +27 -0
- package/dist/src/ds/components/ai/annotations/composer-annotation-list.d.ts +6 -0
- package/dist/src/ds/components/ai/annotations/composer-annotations.d.ts +5 -0
- package/dist/src/ds/components/ai/annotations/format-annotated-message.d.ts +11 -0
- package/dist/src/ds/components/ai/annotations/index.d.ts +5 -0
- package/dist/src/ds/components/ai/annotations/transcript-annotations.d.ts +6 -0
- package/dist/src/ds/components/ai/annotations/use-annotation-placement.d.ts +11 -0
- package/dist/src/ds/components/ai/annotations/use-annotation-selection.d.ts +12 -0
- package/dist/src/ds/components/ai/tool-call/index.d.ts +3 -0
- package/dist/src/ds/components/ai/tool-call/tool-call-body.d.ts +6 -0
- package/dist/src/ds/components/ai/tool-call/tool-call-exit-status.d.ts +11 -0
- package/dist/src/ds/components/ai/tool-call/tool-call-output.d.ts +1 -2
- package/dist/src/ds/components/ai/tool-call/tool-call-view.d.ts +17 -0
- package/dist/src/ds/components/ai/tool-call/tool-phrases.d.ts +127 -138
- package/dist/src/ds/components/ai/tool-call/tool-presentation.d.ts +2 -0
- package/dist/src/ds/components/ai/tool-call/tool-styles.d.ts +10 -0
- package/dist/src/ds/components/ai/transcript-divider/transcript-divider.d.ts +2 -2
- package/dist/src/ds/icons/ByteDanceIcon.d.ts +2 -0
- package/dist/src/ds/icons/CohereBrandIcon.d.ts +2 -0
- package/dist/src/ds/icons/ConfluenceIcon.d.ts +2 -0
- package/dist/src/ds/icons/FireworksIcon.d.ts +2 -0
- package/dist/src/ds/icons/LongCatIcon.d.ts +2 -0
- package/dist/src/ds/icons/MicrosoftIcon.d.ts +2 -0
- package/dist/src/ds/icons/MorphIcon.d.ts +2 -0
- package/dist/src/ds/icons/NotionIcon.d.ts +2 -0
- package/dist/src/ds/icons/NousResearchIcon.d.ts +2 -0
- package/dist/src/ds/icons/NovaIcon.d.ts +2 -0
- package/dist/src/ds/icons/PerplexityIcon.d.ts +2 -0
- package/dist/src/ds/icons/SakanaIcon.d.ts +2 -0
- package/dist/src/ds/icons/StepFunIcon.d.ts +2 -0
- package/dist/src/ds/icons/TencentIcon.d.ts +2 -0
- package/dist/src/ds/icons/UpstageIcon.d.ts +2 -0
- package/dist/src/ds/icons/ZendeskIcon.d.ts +2 -0
- package/dist/src/ds/icons/index.d.ts +16 -0
- package/dist/src/ds/tokens/colors.d.ts +12 -0
- package/dist/src/ee/signals/sankey-signals-data.d.ts +2 -2
- package/dist/src/ee/signals/snapshot-summary.d.ts +7 -0
- package/dist/src/ee/signals/snapshot-timeline.d.ts +2 -1
- package/dist/src/hooks/use-clock.d.ts +5 -0
- package/dist/src/lib/resize/collapsible-panel.d.ts +5 -3
- package/dist/src/lib/string.d.ts +1 -0
- package/dist/src/utils/mcp-app-context.d.ts +6 -0
- package/dist/string-CA5M0mj_.js +19 -0
- package/dist/string-CA5M0mj_.js.map +1 -0
- package/dist/string-EyTazW-F.cjs +42 -0
- package/dist/string-EyTazW-F.cjs.map +1 -0
- package/dist/style.css +400 -179
- package/dist/tabbed-container-9yvqEQON.js +125 -0
- package/dist/tabbed-container-9yvqEQON.js.map +1 -0
- package/dist/tabbed-container-Bmk5dgJ4.cjs +130 -0
- package/dist/tabbed-container-Bmk5dgJ4.cjs.map +1 -0
- package/dist/tabs-content-BGkPZ5EQ.js +29 -0
- package/dist/tabs-content-BGkPZ5EQ.js.map +1 -0
- package/dist/tabs-content-D_ic2ZqI.cjs +34 -0
- package/dist/tabs-content-D_ic2ZqI.cjs.map +1 -0
- package/dist/tabs-tab-CJVS0WED.js +349 -0
- package/dist/tabs-tab-CJVS0WED.js.map +1 -0
- package/dist/tabs-tab-Dj2huH5T.cjs +372 -0
- package/dist/tabs-tab-Dj2huH5T.cjs.map +1 -0
- package/dist/toast-api-Cak5N8pT.js +50 -0
- package/dist/toast-api-Cak5N8pT.js.map +1 -0
- package/dist/toast-api-DDcGCbIw.cjs +55 -0
- package/dist/toast-api-DDcGCbIw.cjs.map +1 -0
- package/dist/tokens.cjs.js +12 -0
- package/dist/tokens.cjs.js.map +1 -1
- package/dist/tokens.es.js +12 -0
- package/dist/tokens.es.js.map +1 -1
- package/dist/tool-approval-C4WNL8VD.cjs +115 -0
- package/dist/tool-approval-C4WNL8VD.cjs.map +1 -0
- package/dist/tool-approval-ZfL3-Vvi.js +98 -0
- package/dist/tool-approval-ZfL3-Vvi.js.map +1 -0
- package/dist/tool-call-BLzYTI-x.js +505 -0
- package/dist/tool-call-BLzYTI-x.js.map +1 -0
- package/dist/tool-call-C4TBpJ6Y.cjs +600 -0
- package/dist/tool-call-C4TBpJ6Y.cjs.map +1 -0
- package/dist/tool-card-BjOV2sXi.js +412 -0
- package/dist/tool-card-BjOV2sXi.js.map +1 -0
- package/dist/tool-card-CO_3C_Bn.cjs +438 -0
- package/dist/tool-card-CO_3C_Bn.cjs.map +1 -0
- package/dist/tool-presentation-C2bYQ7gB.js +874 -0
- package/dist/tool-presentation-C2bYQ7gB.js.map +1 -0
- package/dist/tool-presentation-DPp9h-n2.cjs +915 -0
- package/dist/tool-presentation-DPp9h-n2.cjs.map +1 -0
- package/dist/tooltip-BsExuMO8.cjs +112 -0
- package/dist/tooltip-BsExuMO8.cjs.map +1 -0
- package/dist/tooltip-DJcze2VZ.js +87 -0
- package/dist/tooltip-DJcze2VZ.js.map +1 -0
- package/dist/transcript-divider-DM2HkdeO.js +35 -0
- package/dist/transcript-divider-DM2HkdeO.js.map +1 -0
- package/dist/transcript-divider-DroC3feH.cjs +40 -0
- package/dist/transcript-divider-DroC3feH.cjs.map +1 -0
- package/dist/types-BwdKiX24.js +1909 -0
- package/dist/types-BwdKiX24.js.map +1 -0
- package/dist/types-KjLUPShK.cjs +1922 -0
- package/dist/types-KjLUPShK.cjs.map +1 -0
- package/dist/use-workflow-graph-runtime-B_dKpjUe.js +284 -0
- package/dist/use-workflow-graph-runtime-B_dKpjUe.js.map +1 -0
- package/dist/use-workflow-graph-runtime-D_PpEIQ5.cjs +307 -0
- package/dist/use-workflow-graph-runtime-D_PpEIQ5.cjs.map +1 -0
- package/dist/utils/mcp-app-context.cjs.js +17 -0
- package/dist/utils/mcp-app-context.cjs.js.map +1 -0
- package/dist/utils/mcp-app-context.d.ts +1 -0
- package/dist/utils/mcp-app-context.es.js +15 -0
- package/dist/utils/mcp-app-context.es.js.map +1 -0
- package/dist/utils/string.cjs.js +2 -1
- package/dist/utils/string.es.js +1 -1
- package/dist/utils/toast.cjs.js +1 -1
- package/dist/utils/toast.es.js +1 -1
- package/oxlint/copy-rules.d.ts +4 -0
- package/oxlint/copy-rules.js +29 -0
- package/oxlint/copy-sources.js +223 -0
- package/oxlint/index.d.ts +5 -0
- package/oxlint/index.js +17 -0
- package/package.json +13 -10
- package/theme/data-viz.css +33 -0
- package/dist/AgentIndicator-Bs2S8AWJ.js +0 -847
- package/dist/AgentIndicator-Bs2S8AWJ.js.map +0 -1
- package/dist/AgentIndicator-to30W73z.cjs +0 -864
- package/dist/AgentIndicator-to30W73z.cjs.map +0 -1
- package/dist/AttachmentCard-CciBqu7E.cjs +0 -66
- package/dist/AttachmentCard-CciBqu7E.cjs.map +0 -1
- package/dist/AttachmentCard-DbGp7TYl.js +0 -61
- package/dist/AttachmentCard-DbGp7TYl.js.map +0 -1
- package/dist/Avatar-Dj8aP7OI.js +0 -146
- package/dist/Avatar-Dj8aP7OI.js.map +0 -1
- package/dist/Avatar-Iiqjad9K.cjs +0 -151
- package/dist/Avatar-Iiqjad9K.cjs.map +0 -1
- package/dist/Badge-DZ6r6bcw.cjs +0 -154
- package/dist/Badge-DZ6r6bcw.cjs.map +0 -1
- package/dist/Badge-aVu5iGAF.js +0 -149
- package/dist/Badge-aVu5iGAF.js.map +0 -1
- package/dist/Button-CLXTbAY8.js +0 -233
- package/dist/Button-CLXTbAY8.js.map +0 -1
- package/dist/Button-DLcMcuUL.cjs +0 -276
- package/dist/Button-DLcMcuUL.cjs.map +0 -1
- package/dist/Card-C6iEBgVq.cjs +0 -134
- package/dist/Card-C6iEBgVq.cjs.map +0 -1
- package/dist/Card-LU1aWO7U.js +0 -91
- package/dist/Card-LU1aWO7U.js.map +0 -1
- package/dist/CodeEditor-CLzs0yVc.cjs +0 -515
- package/dist/CodeEditor-CLzs0yVc.cjs.map +0 -1
- package/dist/CodeEditor-COnz9c6B.js +0 -466
- package/dist/CodeEditor-COnz9c6B.js.map +0 -1
- package/dist/Comment-0n98b_f_.js +0 -317
- package/dist/Comment-0n98b_f_.js.map +0 -1
- package/dist/Comment-Cg0f7eLa.cjs +0 -412
- package/dist/Comment-Cg0f7eLa.cjs.map +0 -1
- package/dist/Composer-BcueJvdX.cjs +0 -441
- package/dist/Composer-BcueJvdX.cjs.map +0 -1
- package/dist/Composer-D1gF-0jZ.js +0 -352
- package/dist/Composer-D1gF-0jZ.js.map +0 -1
- package/dist/DataCodeSection-CFxXsQWH.cjs +0 -236
- package/dist/DataCodeSection-CFxXsQWH.cjs.map +0 -1
- package/dist/DataCodeSection-PY9XEg2C.js +0 -231
- package/dist/DataCodeSection-PY9XEg2C.js.map +0 -1
- package/dist/DataDetailsPanel-CohEKPm4.js +0 -180
- package/dist/DataDetailsPanel-CohEKPm4.js.map +0 -1
- package/dist/DataDetailsPanel-DiyjEXqK.cjs +0 -185
- package/dist/DataDetailsPanel-DiyjEXqK.cjs.map +0 -1
- package/dist/DataKeysAndValues-DsH6AbAo.cjs +0 -128
- package/dist/DataKeysAndValues-DsH6AbAo.cjs.map +0 -1
- package/dist/DataKeysAndValues-PwOmGxyp.js +0 -123
- package/dist/DataKeysAndValues-PwOmGxyp.js.map +0 -1
- package/dist/DataList-CUhRQAv6.js +0 -408
- package/dist/DataList-CUhRQAv6.js.map +0 -1
- package/dist/DataList-Cj0mfk19.cjs +0 -431
- package/dist/DataList-Cj0mfk19.cjs.map +0 -1
- package/dist/DataPanel-Coc9h35I.cjs +0 -298
- package/dist/DataPanel-Coc9h35I.cjs.map +0 -1
- package/dist/DataPanel-IgB9D5PO.js +0 -292
- package/dist/DataPanel-IgB9D5PO.js.map +0 -1
- package/dist/Dialog-BvWF9HE-.cjs +0 -424
- package/dist/Dialog-BvWF9HE-.cjs.map +0 -1
- package/dist/Dialog-DaWtxwd9.js +0 -334
- package/dist/Dialog-DaWtxwd9.js.map +0 -1
- package/dist/EmptyState-DxDHlYqD.cjs +0 -1524
- package/dist/EmptyState-DxDHlYqD.cjs.map +0 -1
- package/dist/EmptyState-P-Gy898T.js +0 -1511
- package/dist/EmptyState-P-Gy898T.js.map +0 -1
- package/dist/ErrorBoundary-B5GjmA6V.cjs +0 -138
- package/dist/ErrorBoundary-B5GjmA6V.cjs.map +0 -1
- package/dist/ErrorBoundary-Cat3KU86.js +0 -131
- package/dist/ErrorBoundary-Cat3KU86.js.map +0 -1
- package/dist/FilterBar-BSP2UTjc.cjs +0 -903
- package/dist/FilterBar-BSP2UTjc.cjs.map +0 -1
- package/dist/FilterBar-PSQ1OwqH.js +0 -862
- package/dist/FilterBar-PSQ1OwqH.js.map +0 -1
- package/dist/LogsDataList-BI2C5OJz.js +0 -96
- package/dist/LogsDataList-BI2C5OJz.js.map +0 -1
- package/dist/LogsDataList-CCIfUPGo.cjs +0 -101
- package/dist/LogsDataList-CCIfUPGo.cjs.map +0 -1
- package/dist/MarkdownRenderer-CI30RqdB.js +0 -481
- package/dist/MarkdownRenderer-CI30RqdB.js.map +0 -1
- package/dist/MarkdownRenderer-y65WGBhC.cjs +0 -490
- package/dist/MarkdownRenderer-y65WGBhC.cjs.map +0 -1
- package/dist/Message-CWzi5F_Q.js +0 -76
- package/dist/Message-CWzi5F_Q.js.map +0 -1
- package/dist/Message-jj56lxNL.cjs +0 -105
- package/dist/Message-jj56lxNL.cjs.map +0 -1
- package/dist/MessageScroller-CGsfTd1Z.cjs +0 -952
- package/dist/MessageScroller-CGsfTd1Z.cjs.map +0 -1
- package/dist/MessageScroller-DvaKlm4O.js +0 -879
- package/dist/MessageScroller-DvaKlm4O.js.map +0 -1
- package/dist/MetricsCard-BEwiS7Pe.cjs +0 -216
- package/dist/MetricsCard-BEwiS7Pe.cjs.map +0 -1
- package/dist/MetricsCard-ua6C6b8a.js +0 -211
- package/dist/MetricsCard-ua6C6b8a.js.map +0 -1
- package/dist/MetricsKpiCard-By_-sagx.cjs +0 -221
- package/dist/MetricsKpiCard-By_-sagx.cjs.map +0 -1
- package/dist/MetricsKpiCard-OHbAElTl.js +0 -216
- package/dist/MetricsKpiCard-OHbAElTl.js.map +0 -1
- package/dist/MetricsLineChart-4SwxBbQx.js +0 -262
- package/dist/MetricsLineChart-4SwxBbQx.js.map +0 -1
- package/dist/MetricsLineChart-tZxsauau.cjs +0 -279
- package/dist/MetricsLineChart-tZxsauau.cjs.map +0 -1
- package/dist/MetricsStackedBarChart-CDLE76IB.cjs +0 -313
- package/dist/MetricsStackedBarChart-CDLE76IB.cjs.map +0 -1
- package/dist/MetricsStackedBarChart-D2QyS4-z.js +0 -308
- package/dist/MetricsStackedBarChart-D2QyS4-z.js.map +0 -1
- package/dist/MetricsTable-BSl81oNe.cjs +0 -332
- package/dist/MetricsTable-BSl81oNe.cjs.map +0 -1
- package/dist/MetricsTable-DID6LRoP.js +0 -327
- package/dist/MetricsTable-DID6LRoP.js.map +0 -1
- package/dist/Notice-C-8oOZZF.js +0 -112
- package/dist/Notice-C-8oOZZF.js.map +0 -1
- package/dist/Notice-JZ7SW7q6.cjs +0 -117
- package/dist/Notice-JZ7SW7q6.cjs.map +0 -1
- package/dist/PageLayout-CyM_Op3c.js +0 -49
- package/dist/PageLayout-CyM_Op3c.js.map +0 -1
- package/dist/PageLayout-DFRzcnkf.cjs +0 -54
- package/dist/PageLayout-DFRzcnkf.cjs.map +0 -1
- package/dist/SankeyChart-DHeJ45KN.cjs +0 -921
- package/dist/SankeyChart-DHeJ45KN.cjs.map +0 -1
- package/dist/SankeyChart-E68mYEs2.js +0 -856
- package/dist/SankeyChart-E68mYEs2.js.map +0 -1
- package/dist/Section-CWFQ8jNS.js +0 -113
- package/dist/Section-CWFQ8jNS.js.map +0 -1
- package/dist/Section-CyGQZR7U.cjs +0 -130
- package/dist/Section-CyGQZR7U.cjs.map +0 -1
- package/dist/ShareBar-3Z5np-NY.cjs +0 -456
- package/dist/ShareBar-3Z5np-NY.cjs.map +0 -1
- package/dist/ShareBar-D6dWWl4C.js +0 -451
- package/dist/ShareBar-D6dWWl4C.js.map +0 -1
- package/dist/Tree-BplQcY8u.cjs +0 -444
- package/dist/Tree-BplQcY8u.cjs.map +0 -1
- package/dist/Tree-CoLkeBCL.js +0 -437
- package/dist/Tree-CoLkeBCL.js.map +0 -1
- package/dist/Txt-BM6TVV_c.js +0 -21
- package/dist/Txt-BM6TVV_c.js.map +0 -1
- package/dist/Txt-BnoSqxKE.cjs +0 -26
- package/dist/Txt-BnoSqxKE.cjs.map +0 -1
- package/dist/Workflow-C3SlEdP-.js +0 -1315
- package/dist/Workflow-C3SlEdP-.js.map +0 -1
- package/dist/Workflow-DSWQ-ROz.cjs +0 -1466
- package/dist/Workflow-DSWQ-ROz.cjs.map +0 -1
- package/dist/activity-C8Ql81WM.js +0 -450
- package/dist/activity-C8Ql81WM.js.map +0 -1
- package/dist/activity-CcQZeDYi.cjs +0 -581
- package/dist/activity-CcQZeDYi.cjs.map +0 -1
- package/dist/ask-user-C1p2PEYe.cjs +0 -495
- package/dist/ask-user-C1p2PEYe.cjs.map +0 -1
- package/dist/ask-user-DPznrqGO.js +0 -412
- package/dist/ask-user-DPznrqGO.js.map +0 -1
- package/dist/buttons-group-Dc6R7YSs.cjs +0 -48
- package/dist/buttons-group-Dc6R7YSs.cjs.map +0 -1
- package/dist/buttons-group-DkFlnMiL.js +0 -35
- package/dist/buttons-group-DkFlnMiL.js.map +0 -1
- package/dist/clear-filters-button-Buc973vw.cjs +0 -27
- package/dist/clear-filters-button-Buc973vw.cjs.map +0 -1
- package/dist/clear-filters-button-CNrRuHOY.js +0 -22
- package/dist/clear-filters-button-CNrRuHOY.js.map +0 -1
- package/dist/combobox-D21no8t5.js +0 -302
- package/dist/combobox-D21no8t5.js.map +0 -1
- package/dist/combobox-DIT_6xiG.cjs +0 -309
- package/dist/combobox-DIT_6xiG.cjs.map +0 -1
- package/dist/combobox-parts-C4phOq4t.cjs +0 -567
- package/dist/combobox-parts-C4phOq4t.cjs.map +0 -1
- package/dist/combobox-parts-D90ir0Py.js +0 -428
- package/dist/combobox-parts-D90ir0Py.js.map +0 -1
- package/dist/context-menu-DTFPCyae.cjs +0 -211
- package/dist/context-menu-DTFPCyae.cjs.map +0 -1
- package/dist/context-menu-Dv0NU0oM.js +0 -204
- package/dist/context-menu-Dv0NU0oM.js.map +0 -1
- package/dist/copy-button-BXrbevLn.js +0 -25
- package/dist/copy-button-BXrbevLn.js.map +0 -1
- package/dist/copy-button-DJAQ6_3o.cjs +0 -30
- package/dist/copy-button-DJAQ6_3o.cjs.map +0 -1
- package/dist/data-list-C4Vmq5HA.cjs +0 -1003
- package/dist/data-list-C4Vmq5HA.cjs.map +0 -1
- package/dist/data-list-DHCOoLmj.js +0 -866
- package/dist/data-list-DHCOoLmj.js.map +0 -1
- package/dist/date-time-range-picker-CWGjoR3j.cjs +0 -348
- package/dist/date-time-range-picker-CWGjoR3j.cjs.map +0 -1
- package/dist/date-time-range-picker-CdSiXwB4.js +0 -343
- package/dist/date-time-range-picker-CdSiXwB4.js.map +0 -1
- package/dist/domains/chat/activity/components/activity-timed-trigger.cjs.js +0 -29
- package/dist/domains/chat/activity/components/activity-timed-trigger.cjs.js.map +0 -1
- package/dist/domains/chat/activity/components/activity-timed-trigger.d.ts +0 -1
- package/dist/domains/chat/activity/components/activity-timed-trigger.es.js +0 -28
- package/dist/domains/chat/activity/components/activity-timed-trigger.es.js.map +0 -1
- package/dist/domains/dashboards/hooks/use-scorers.cjs.js +0 -41
- package/dist/domains/dashboards/hooks/use-scorers.cjs.js.map +0 -1
- package/dist/domains/dashboards/hooks/use-scorers.d.ts +0 -1
- package/dist/domains/dashboards/hooks/use-scorers.es.js +0 -40
- package/dist/domains/dashboards/hooks/use-scorers.es.js.map +0 -1
- package/dist/dropdown-menu-B4jY3J9e.js +0 -234
- package/dist/dropdown-menu-B4jY3J9e.js.map +0 -1
- package/dist/dropdown-menu-BETTTPBB.cjs +0 -241
- package/dist/dropdown-menu-BETTTPBB.cjs.map +0 -1
- package/dist/field-error-id-DBSuJ3HM.js +0 -89
- package/dist/field-error-id-DBSuJ3HM.js.map +0 -1
- package/dist/field-error-id-nGAF0330.cjs +0 -100
- package/dist/field-error-id-nGAF0330.cjs.map +0 -1
- package/dist/filter-bar-chip-CABeKrtf.js +0 -1420
- package/dist/filter-bar-chip-CABeKrtf.js.map +0 -1
- package/dist/filter-bar-chip-Cg-UbIwP.cjs +0 -1545
- package/dist/filter-bar-chip-Cg-UbIwP.cjs.map +0 -1
- package/dist/filter-bar-time-range-qlV8p7hp.js +0 -60
- package/dist/filter-bar-time-range-qlV8p7hp.js.map +0 -1
- package/dist/filter-bar-time-range-zdM024JD.cjs +0 -83
- package/dist/filter-bar-time-range-zdM024JD.cjs.map +0 -1
- package/dist/input-0l1uzOBZ.js +0 -48
- package/dist/input-0l1uzOBZ.js.map +0 -1
- package/dist/input-2hRXcZIu.cjs +0 -55
- package/dist/input-2hRXcZIu.cjs.map +0 -1
- package/dist/input-group-DVJLZDBL.cjs +0 -169
- package/dist/input-group-DVJLZDBL.cjs.map +0 -1
- package/dist/input-group-QKKV_ouF.js +0 -120
- package/dist/input-group-QKKV_ouF.js.map +0 -1
- package/dist/list-search-BtRno5As.cjs +0 -50
- package/dist/list-search-BtRno5As.cjs.map +0 -1
- package/dist/list-search-CkhsTFdG.js +0 -45
- package/dist/list-search-CkhsTFdG.js.map +0 -1
- package/dist/observability-saved-views-CjKTEp1V.js +0 -299
- package/dist/observability-saved-views-CjKTEp1V.js.map +0 -1
- package/dist/observability-saved-views-Daizz4tU.cjs +0 -304
- package/dist/observability-saved-views-Daizz4tU.cjs.map +0 -1
- package/dist/page-header-BB6yjtce.cjs +0 -125
- package/dist/page-header-BB6yjtce.cjs.map +0 -1
- package/dist/page-header-BykBsHUy.js +0 -120
- package/dist/page-header-BykBsHUy.js.map +0 -1
- package/dist/popover-BJqa6Hz6.cjs +0 -119
- package/dist/popover-BJqa6Hz6.cjs.map +0 -1
- package/dist/popover-CzHvTPk2.js +0 -94
- package/dist/popover-CzHvTPk2.js.map +0 -1
- package/dist/property-filter-applied--U5EZdaA.js +0 -344
- package/dist/property-filter-applied--U5EZdaA.js.map +0 -1
- package/dist/property-filter-applied-BkkIObRq.cjs +0 -361
- package/dist/property-filter-applied-BkkIObRq.cjs.map +0 -1
- package/dist/scroll-area-BP4gPZ4G.cjs +0 -246
- package/dist/scroll-area-BP4gPZ4G.cjs.map +0 -1
- package/dist/scroll-area-C226l0v0.js +0 -227
- package/dist/scroll-area-C226l0v0.js.map +0 -1
- package/dist/select-BdIZEdcy.js +0 -133
- package/dist/select-BdIZEdcy.js.map +0 -1
- package/dist/select-Dg8L5ROX.cjs +0 -176
- package/dist/select-Dg8L5ROX.cjs.map +0 -1
- package/dist/settings-BaUeaO96.js +0 -106
- package/dist/settings-BaUeaO96.js.map +0 -1
- package/dist/settings-CUVqhBbf.cjs +0 -135
- package/dist/settings-CUVqhBbf.cjs.map +0 -1
- package/dist/span-payload-primitives-CKKIAVPJ.js +0 -164
- package/dist/span-payload-primitives-CKKIAVPJ.js.map +0 -1
- package/dist/span-payload-primitives-D4tHWN2W.cjs +0 -217
- package/dist/span-payload-primitives-D4tHWN2W.cjs.map +0 -1
- package/dist/spinner-C8ZxiA5C.cjs +0 -68
- package/dist/spinner-C8ZxiA5C.cjs.map +0 -1
- package/dist/spinner-CnLgLj9R.js +0 -63
- package/dist/spinner-CnLgLj9R.js.map +0 -1
- package/dist/src/domains/chat/activity/components/activity-timed-trigger.d.ts +0 -9
- package/dist/src/domains/dashboards/hooks/use-scorers.d.ts +0 -66
- package/dist/src/ds/components/DateTimePicker/time-picker.d.ts +0 -7
- package/dist/string-CNKDIc_4.js +0 -16
- package/dist/string-CNKDIc_4.js.map +0 -1
- package/dist/string-DdJJdCv2.cjs +0 -33
- package/dist/string-DdJJdCv2.cjs.map +0 -1
- package/dist/tabbed-container-B4lCBgRP.cjs +0 -130
- package/dist/tabbed-container-B4lCBgRP.cjs.map +0 -1
- package/dist/tabbed-container-DI1GI1Qv.js +0 -125
- package/dist/tabbed-container-DI1GI1Qv.js.map +0 -1
- package/dist/tabs-content-CmXe5ML0.cjs +0 -34
- package/dist/tabs-content-CmXe5ML0.cjs.map +0 -1
- package/dist/tabs-content-D__B9hd-.js +0 -29
- package/dist/tabs-content-D__B9hd-.js.map +0 -1
- package/dist/tabs-tab-CYTZevdV.js +0 -349
- package/dist/tabs-tab-CYTZevdV.js.map +0 -1
- package/dist/tabs-tab-DGwfHVDr.cjs +0 -372
- package/dist/tabs-tab-DGwfHVDr.cjs.map +0 -1
- package/dist/toast-api-D_rrRhNG.js +0 -50
- package/dist/toast-api-D_rrRhNG.js.map +0 -1
- package/dist/toast-api-qtkOucy2.cjs +0 -55
- package/dist/toast-api-qtkOucy2.cjs.map +0 -1
- package/dist/tool-approval-CJvPDL7D.cjs +0 -115
- package/dist/tool-approval-CJvPDL7D.cjs.map +0 -1
- package/dist/tool-approval-DyN11vFA.js +0 -98
- package/dist/tool-approval-DyN11vFA.js.map +0 -1
- package/dist/tool-call-DBn14X-3.cjs +0 -497
- package/dist/tool-call-DBn14X-3.cjs.map +0 -1
- package/dist/tool-call-Dsj43lvJ.js +0 -426
- package/dist/tool-call-Dsj43lvJ.js.map +0 -1
- package/dist/tool-card-BOLXeKIp.cjs +0 -428
- package/dist/tool-card-BOLXeKIp.cjs.map +0 -1
- package/dist/tool-card-HZ5bm7ue.js +0 -402
- package/dist/tool-card-HZ5bm7ue.js.map +0 -1
- package/dist/tool-presentation-CvibOP1J.js +0 -256
- package/dist/tool-presentation-CvibOP1J.js.map +0 -1
- package/dist/tool-presentation-D6nzVruN.cjs +0 -291
- package/dist/tool-presentation-D6nzVruN.cjs.map +0 -1
- package/dist/tooltip-BiRLT3Th.cjs +0 -112
- package/dist/tooltip-BiRLT3Th.cjs.map +0 -1
- package/dist/tooltip-HzcLyGtV.js +0 -87
- package/dist/tooltip-HzcLyGtV.js.map +0 -1
- package/dist/transcript-divider-CQ6sc3nt.cjs +0 -46
- package/dist/transcript-divider-CQ6sc3nt.cjs.map +0 -1
- package/dist/transcript-divider-CvdgElIC.js +0 -41
- package/dist/transcript-divider-CvdgElIC.js.map +0 -1
- package/dist/use-workflow-graph-runtime-BKNhOKsH.js +0 -284
- package/dist/use-workflow-graph-runtime-BKNhOKsH.js.map +0 -1
- package/dist/use-workflow-graph-runtime-DYao-08R.cjs +0 -307
- package/dist/use-workflow-graph-runtime-DYao-08R.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotations.es.js","names":["Popover","PopoverPrimitive","_Fragment","Popover"],"sources":["../../../src/ds/components/ai/annotations/format-annotated-message.ts","../../../src/ds/components/ai/annotations/chat-annotations.tsx","../../../src/ds/components/ai/annotations/annotation-number.tsx","../../../src/ds/components/ai/annotations/annotation-comment-card.tsx","../../../src/ds/components/ai/annotations/annotation-comment-popover.tsx","../../../src/ds/components/ai/annotations/annotation-marker.tsx","../../../src/ds/components/ai/annotations/annotatable-selection.ts","../../../src/ds/components/ai/annotations/annotation-highlights.ts","../../../src/ds/components/ai/annotations/use-annotation-placement.ts","../../../src/ds/components/ai/annotations/annotation-markers.tsx","../../../src/ds/components/ai/annotations/use-annotation-selection.ts","../../../src/ds/components/ai/annotations/annotation-selection-toolbar.tsx","../../../src/ds/components/ai/annotations/transcript-annotations.tsx","../../../src/ds/components/ai/annotations/composer-annotation-list.tsx","../../../src/ds/components/ai/annotations/composer-annotations.tsx"],"sourcesContent":["export function normalizeAnnotationText(text: string): string {\n return text\n .replace(/\\r\\n?/g, '\\n')\n .split('\\n')\n .map(line => line.trimEnd())\n .join('\\n')\n .replace(/\\n{3,}/g, '\\n\\n')\n .trim();\n}\n\nexport interface AnnotatedPassage {\n text: string;\n comment?: string;\n}\n\nfunction formatListItem({ text, comment }: AnnotatedPassage, number: number): string {\n const marker = `${number}. `;\n const pad = ' '.repeat(marker.length);\n const quoted = text.split('\\n').map(line => (line ? `> ${line}` : '>'));\n const quote = `${marker}${quoted.join(`\\n${pad}`)}`;\n const note = comment ? normalizeAnnotationText(comment) : '';\n if (!note) return quote;\n const indentedNote = note.split('\\n').map(line => (line ? `${pad}${line}` : ''));\n return [quote, '', ...indentedNote].join('\\n');\n}\n\n// CommonMark keeps a numbered or indented line that follows the list inside it; an empty link definition ends the list and renders nothing.\nconst JOINS_LIST = /^(?:\\s|\\d{1,9}[.)](?:\\s|$))/;\n\n/**\n * Labelled with the shortest run of slashes the message never holds, so no `[//]` the person wrote turns into\n * a link; that run stays far below CommonMark's 999-character label limit.\n */\nfunction listEnd(message: string): string {\n const runs = new Set(Array.from(message.matchAll(/\\/+/g), match => match[0].length));\n let length = 2;\n while (runs.has(length)) length += 1;\n return `\\n\\n[${'/'.repeat(length)}]: #\\n\\n`;\n}\n\n/**\n * The message the agent receives: the annotations as a numbered Markdown list, each holding its passage\n * as a blockquote and any comment on it, then what the person typed. The list keeps a comment on the\n * last passage apart from the typed message.\n */\nexport function formatAnnotatedMessage(text: string, annotations: readonly AnnotatedPassage[]): string {\n const passages = annotations\n .map(annotation => ({ text: normalizeAnnotationText(annotation.text), comment: annotation.comment }))\n .filter(annotation => annotation.text);\n if (passages.length === 0) return text;\n const list = passages.map((passage, index) => formatListItem(passage, index + 1)).join('\\n\\n');\n if (!text.trim()) return list;\n if (!JOINS_LIST.test(text.replace(/^\\s*\\n/, ''))) return `${list}\\n\\n${text}`;\n return `${list}${listEnd(list + text)}${text}`;\n}\n","/* eslint-disable react-refresh/only-export-components -- the provider and its hook share one context */\nimport { nanoid } from 'nanoid';\nimport { createContext, useContext, useState } from 'react';\nimport type { ReactNode } from 'react';\n\nimport type { AnnotationSource } from './annotatable-selection';\nimport { normalizeAnnotationText } from './format-annotated-message';\n\nexport interface ChatAnnotation {\n id: string;\n text: string;\n source: AnnotationSource;\n comment?: string;\n}\n\nexport const visibleComment = (annotation: ChatAnnotation) => annotation.comment?.trim() || undefined;\n\nexport type NewChatAnnotation = Pick<ChatAnnotation, 'text' | 'source'>;\n\nexport interface ChatAnnotationsApi {\n /** In the order they were added: an annotation's number is its position. */\n annotations: ChatAnnotation[];\n /** Ignores blank text and a passage already waiting. */\n addAnnotation: (annotation: NewChatAnnotation) => void;\n removeAnnotation: (id: string) => void;\n setAnnotationComment: (id: string, comment: string) => void;\n /** Hands every waiting annotation to the message being sent and clears them from the chat. */\n takeAnnotations: () => ChatAnnotation[];\n /** Puts the annotations of a message that failed to send back, ahead of any added since. */\n restoreAnnotations: (annotations: readonly ChatAnnotation[]) => void;\n}\n\nconst ChatAnnotationsContext = createContext<ChatAnnotationsApi | undefined>(undefined);\n\nconst samePassage = (a: AnnotationSource, b: AnnotationSource) =>\n a.element === b.element && a.start === b.start && a.end === b.end;\n\n/** Mount it below whatever remounts when the thread changes, so annotations stay with their thread. */\nexport function ChatAnnotationsProvider({ children }: { children: ReactNode }) {\n const [annotations, setAnnotations] = useState<ChatAnnotation[]>([]);\n\n const value: ChatAnnotationsApi = {\n annotations,\n addAnnotation: ({ text, source }) => {\n const annotation = { text: normalizeAnnotationText(text), source };\n if (!annotation.text) return;\n setAnnotations(current =>\n current.some(waiting => samePassage(waiting.source, source))\n ? current\n : [...current, { id: nanoid(), ...annotation }],\n );\n },\n removeAnnotation: id => setAnnotations(current => current.filter(annotation => annotation.id !== id)),\n setAnnotationComment: (id, comment) =>\n setAnnotations(current =>\n current.map(annotation => (annotation.id === id ? { ...annotation, comment } : annotation)),\n ),\n takeAnnotations: () => {\n const taken = new Set(annotations.map(annotation => annotation.id));\n setAnnotations(current => current.filter(annotation => !taken.has(annotation.id)));\n return annotations;\n },\n restoreAnnotations: restored =>\n setAnnotations(current => {\n const kept = new Set(current.map(annotation => annotation.id));\n return [...restored.filter(annotation => !kept.has(annotation.id)), ...current];\n }),\n };\n\n return <ChatAnnotationsContext.Provider value={value}>{children}</ChatAnnotationsContext.Provider>;\n}\n\nexport function useChatAnnotations(): ChatAnnotationsApi {\n const value = useContext(ChatAnnotationsContext);\n if (!value) throw new Error('useChatAnnotations must be used within a ChatAnnotationsProvider');\n return value;\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\n/** The square bottom-left corner is the bubble's tail: in the transcript it touches the end of its passage. */\nexport const annotationBubbleStyle =\n 'inline-flex h-4.5 min-w-4.5 shrink-0 items-center justify-center gap-0.5 rounded-full rounded-bl-xs bg-info-indicator px-1.25 text-column leading-none text-background tabular-nums';\n\nexport function AnnotationNumber({ className, ...props }: ComponentPropsWithoutRef<'span'>) {\n return <span data-slot=\"annotation-number\" className={cn(annotationBubbleStyle, className)} {...props} />;\n}\n","import { Trash2 } from 'lucide-react';\nimport type { Ref } from 'react';\n\nimport { AnnotationNumber } from './annotation-number';\nimport type { ChatAnnotation } from './chat-annotations';\nimport { Button } from '@/ds/components/Button';\nimport { Textarea } from '@/ds/components/Textarea';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface AnnotationCommentCardProps {\n annotation: ChatAnnotation;\n number: number;\n commentRef?: Ref<HTMLTextAreaElement>;\n onCommentChange: (comment: string) => void;\n onRemove: () => void;\n onDone: () => void;\n}\n\nexport function AnnotationCommentCard({\n annotation,\n number,\n commentRef,\n onCommentChange,\n onRemove,\n onDone,\n}: AnnotationCommentCardProps) {\n return (\n <div data-slot=\"annotation-comment-card\" className=\"flex flex-col gap-2.5\">\n <div className=\"flex items-center gap-2\">\n <AnnotationNumber>{number}</AnnotationNumber>\n <Txt as=\"span\" variant=\"label\" className=\"flex-1\">\n Annotation {number}\n </Txt>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n className=\"-my-1 -me-1\"\n tooltip={`Remove annotation ${number}`}\n onClick={onRemove}\n >\n <Trash2 />\n </Button>\n </div>\n <blockquote className=\"line-clamp-3 border-l-2 border-info-indicator ps-2.5 text-body-sm whitespace-pre-line text-muted-foreground\">\n {annotation.text}\n </blockquote>\n <Textarea\n ref={commentRef}\n aria-label={`Comment on annotation ${number}`}\n placeholder=\"Add a comment\"\n rows={3}\n className=\"min-h-18 resize-none\"\n value={annotation.comment ?? ''}\n onChange={event => onCommentChange(event.target.value)}\n onKeyDown={event => {\n if (event.key === 'Enter' && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n onDone();\n }\n }}\n />\n <div className=\"flex items-center justify-between gap-2\">\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\">\n Sent with your next message\n </Txt>\n <Button type=\"button\" size=\"sm\" onClick={onDone}>\n Done\n </Button>\n </div>\n </div>\n );\n}\n","import { useRef } from 'react';\n\nimport { AnnotationCommentCard } from './annotation-comment-card';\nimport type { ChatAnnotation } from './chat-annotations';\nimport { Popover, PopoverContent } from '@/ds/components/Popover';\n\nexport interface CommentCard {\n id: string;\n anchor: HTMLElement;\n open: boolean;\n}\n\nexport interface AnnotationCommentPopoverProps {\n card: CommentCard;\n annotation: ChatAnnotation;\n number: number;\n onCommentChange: (comment: string) => void;\n onRemove: () => void;\n onClose: () => void;\n}\n\nexport function AnnotationCommentPopover({\n card,\n annotation,\n number,\n onCommentChange,\n onRemove,\n onClose,\n}: AnnotationCommentPopoverProps) {\n const commentRef = useRef<HTMLTextAreaElement>(null);\n\n return (\n <Popover\n open={card.open}\n onOpenChange={(next, { reason, event }) => {\n const target = event instanceof FocusEvent ? event.relatedTarget : event.target;\n // The bubble's own click toggles the card, so pressing or focusing it must not close the card first.\n const towardBubble =\n (reason === 'outside-press' || reason === 'focus-out') &&\n target instanceof Node &&\n card.anchor.contains(target);\n if (!next && !towardBubble) onClose();\n }}\n >\n <PopoverContent\n anchor={card.anchor}\n side=\"top\"\n align=\"start\"\n sideOffset={8}\n initialFocus={commentRef}\n aria-label={`Annotation ${number}`}\n className=\"w-80 max-w-[calc(100vw-2rem)] p-3\"\n >\n <AnnotationCommentCard\n annotation={annotation}\n number={number}\n commentRef={commentRef}\n onCommentChange={onCommentChange}\n onRemove={onRemove}\n onDone={onClose}\n />\n </PopoverContent>\n </Popover>\n );\n}\n","import type { Ref } from 'react';\n\nimport { annotationBubbleStyle } from './annotation-number';\nimport { focusRing } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport interface AnnotationMarkerProps {\n ref: Ref<HTMLButtonElement>;\n commented: boolean;\n number: number;\n active: boolean;\n expanded: boolean;\n onHoverStart: () => void;\n onHoverEnd: () => void;\n onToggle: (anchor: HTMLElement) => void;\n}\n\n/** Starts hidden: `AnnotationMarkers` shows it once the passage is laid out. */\nexport function AnnotationMarker({\n ref,\n commented,\n number,\n active,\n expanded,\n onHoverStart,\n onHoverEnd,\n onToggle,\n}: AnnotationMarkerProps) {\n return (\n <button\n ref={ref}\n type=\"button\"\n data-slot=\"annotation-marker\"\n data-active={active || undefined}\n data-commented={commented || undefined}\n hidden\n aria-label={commented ? `Annotation ${number}, with a comment` : `Annotation ${number}`}\n aria-expanded={expanded}\n aria-haspopup=\"dialog\"\n className={cn(\n annotationBubbleStyle,\n 'pointer-events-auto absolute origin-bottom-left -translate-y-full cursor-pointer shadow-raised',\n 'motion-safe:transition-[scale,background-color] motion-safe:duration-fast motion-safe:ease-out-custom',\n 'hover:scale-115 hover:bg-info-bright data-[active]:scale-115 data-[active]:bg-info-bright',\n focusRing,\n )}\n onPointerEnter={onHoverStart}\n onPointerLeave={onHoverEnd}\n // Keyboard focus only: focus returns here when the card closes, which must not look hovered.\n onFocus={event => {\n if (event.currentTarget.matches(':focus-visible')) onHoverStart();\n }}\n onBlur={onHoverEnd}\n onClick={event => onToggle(event.currentTarget)}\n >\n {number}\n {commented && <span aria-hidden=\"true\" className=\"size-1 rounded-full bg-current\" />}\n </button>\n );\n}\n","import { escapeRegExp } from '@/lib/string';\n\n/** Every `Message` marks its content with this slot, in Studio and Factory alike. */\nconst ANNOTATABLE_SELECTOR = '[data-slot=\"message-content\"]';\n\nexport interface AnnotatablePart {\n element: Element;\n range: Range;\n extendsPastContent: boolean;\n}\n\nexport interface SelectionAnchor {\n getBoundingClientRect: () => DOMRect;\n /** Lets the positioner find the scroll containers it has to follow. */\n contextElement: Element;\n}\n\nconst visibleText = (value: string) => value.replace(/\\s+/g, '');\n\nfunction rangeWithin(range: Range, element: Element): Range {\n const within = element.ownerDocument.createRange();\n within.selectNodeContents(element);\n if (range.compareBoundaryPoints(Range.START_TO_START, within) > 0) {\n within.setStart(range.startContainer, range.startOffset);\n }\n if (range.compareBoundaryPoints(Range.END_TO_END, within) < 0) {\n within.setEnd(range.endContainer, range.endOffset);\n }\n return within;\n}\n\nconst isOutermostMessage = (element: Element) => !element.parentElement?.closest(ANNOTATABLE_SELECTOR);\n\nexport function findAnnotatablePart(container: Element, range: Range): AnnotatablePart | undefined {\n if (!range.intersectsNode(container)) return undefined;\n const selected = visibleText(range.toString());\n if (!selected) return undefined;\n\n const withText = Array.from(container.querySelectorAll(ANNOTATABLE_SELECTOR))\n .filter(element => range.intersectsNode(element) && isOutermostMessage(element))\n .map(element => ({ element, range: rangeWithin(range, element) }))\n .filter(part => visibleText(part.range.toString()));\n const [part, other] = withText;\n if (!part || other) return undefined;\n\n return { ...part, extendsPastContent: visibleText(part.range.toString()) !== selected };\n}\n\nfunction isBackward(selection: Selection): boolean {\n const { anchorNode, anchorOffset, focusNode, focusOffset } = selection;\n if (!anchorNode || !focusNode) return false;\n const anchor = anchorNode.ownerDocument?.createRange();\n if (!anchor) return false;\n anchor.setStart(anchorNode, anchorOffset);\n return anchor.comparePoint(focusNode, focusOffset) < 0;\n}\n\nexport function clampSelection(selection: Selection, part: AnnotatablePart) {\n const { startContainer, startOffset, endContainer, endOffset } = part.range;\n if (isBackward(selection)) selection.setBaseAndExtent(endContainer, endOffset, startContainer, startOffset);\n else selection.setBaseAndExtent(startContainer, startOffset, endContainer, endOffset);\n}\n\nconst lineRects = (range: Range) =>\n Array.from(range.getClientRects()).filter(rect => rect.width > 0 && rect.height > 0);\n\nexport function selectionAnchor(part: AnnotatablePart): SelectionAnchor {\n return {\n getBoundingClientRect: () => lineRects(part.range)[0] ?? part.range.getBoundingClientRect(),\n contextElement: part.element,\n };\n}\n\n/** Offsets rather than a `Range`, so the mark survives the message re-rendering its text nodes. */\nexport interface AnnotationSource {\n element: Element;\n start: number;\n end: number;\n text: string;\n textBefore: string;\n textAfter: string;\n}\n\ninterface Span {\n start: number;\n end: number;\n}\n\nconst SURROUNDING_VISIBLE_CHARS = 16;\n\nfunction surroundings(content: string, { start, end }: Span) {\n return {\n textBefore: visibleText(content.slice(0, start)).slice(-SURROUNDING_VISIBLE_CHARS),\n textAfter: visibleText(content.slice(end)).slice(0, SURROUNDING_VISIBLE_CHARS),\n };\n}\n\nfunction textOffset(element: Element, node: Node, offset: number): number {\n const before = element.ownerDocument.createRange();\n before.selectNodeContents(element);\n before.setEnd(node, offset);\n return before.toString().length;\n}\n\nexport function annotationSource({ element, range }: AnnotatablePart): AnnotationSource {\n const span = {\n start: textOffset(element, range.startContainer, range.startOffset),\n end: textOffset(element, range.endContainer, range.endOffset),\n };\n return { element, ...span, text: visibleText(range.toString()), ...surroundings(element.textContent ?? '', span) };\n}\n\nfunction passagePattern(text: string): RegExp {\n return new RegExp(Array.from(text, escapeRegExp).join('\\\\s*'), 'g');\n}\n\nfunction locate(element: Element, source: AnnotationSource): Span | undefined {\n const content = element.textContent ?? '';\n const surroundingsAgree = (span: Span) => {\n const now = surroundings(content, span);\n return now.textBefore === source.textBefore || now.textAfter === source.textAfter;\n };\n const saved = { start: source.start, end: source.end };\n if (visibleText(content.slice(saved.start, saved.end)) === source.text && surroundingsAgree(saved)) return saved;\n const copies = Array.from(content.matchAll(passagePattern(source.text)), match => ({\n start: match.index,\n end: match.index + match[0].length,\n }));\n if (copies.length <= 1) return copies[0];\n const distance = (copy: Span) => Math.abs(copy.start - source.start);\n return copies.filter(surroundingsAgree).toSorted((a, b) => distance(a) - distance(b))[0];\n}\n\nexport function rangeFromSource(source: AnnotationSource): Range | undefined {\n const { element } = source;\n if (!element.isConnected) return undefined;\n const span = locate(element, source);\n if (!span) return undefined;\n const document = element.ownerDocument;\n const range = document.createRange();\n const walker = document.createTreeWalker(element, NodeFilter.SHOW_TEXT);\n let seen = 0;\n let started = false;\n for (let node = walker.nextNode(); node; node = walker.nextNode()) {\n const length = node.textContent?.length ?? 0;\n if (!started && span.start < seen + length) {\n range.setStart(node, span.start - seen);\n started = true;\n }\n if (started && span.end <= seen + length) {\n range.setEnd(node, span.end - seen);\n return range;\n }\n seen += length;\n }\n return undefined;\n}\n\nexport function passageEndRect(range: Range): DOMRect | undefined {\n return lineRects(range).at(-1);\n}\n","import './annotation-highlights.css';\n\n/** Named in `annotation-highlights.css`. */\nconst HIGHLIGHT = 'chat-annotation';\nconst ACTIVE_HIGHLIGHT = 'chat-annotation-active';\n\nconst paintedByTranscript = new Map<string, { ranges: Range[]; active: Range | undefined }>();\n\nexport function paintHighlights(transcriptId: string, ranges: Range[], active: Range | undefined) {\n if (typeof CSS === 'undefined' || !('highlights' in CSS)) return;\n if (ranges.length === 0) paintedByTranscript.delete(transcriptId);\n else paintedByTranscript.set(transcriptId, { ranges, active });\n const painted = Array.from(paintedByTranscript.values());\n const allRanges = painted.flatMap(entry => entry.ranges);\n const activeRanges = painted.flatMap(entry => (entry.active ? [entry.active] : []));\n if (allRanges.length === 0) CSS.highlights.delete(HIGHLIGHT);\n else CSS.highlights.set(HIGHLIGHT, new Highlight(...allRanges));\n if (activeRanges.length === 0) {\n CSS.highlights.delete(ACTIVE_HIGHLIGHT);\n return;\n }\n const emphasis = new Highlight(...activeRanges);\n emphasis.priority = 1;\n CSS.highlights.set(ACTIVE_HIGHLIGHT, emphasis);\n}\n","import { useEffect, useEffectEvent, useId, useRef } from 'react';\nimport type { RefObject } from 'react';\n\nimport { passageEndRect, rangeFromSource } from './annotatable-selection';\nimport { paintHighlights } from './annotation-highlights';\nimport type { ChatAnnotation } from './chat-annotations';\n\nexport interface AnnotationPlacementOptions {\n containerRef: RefObject<Element | null>;\n annotations: readonly ChatAnnotation[];\n emphasized: string | undefined;\n}\n\ninterface PlacedPassage {\n id: string;\n marker: HTMLButtonElement;\n range: Range;\n end: DOMRect;\n}\n\ninterface PlacedBubble {\n marker: HTMLButtonElement;\n left: number;\n top: number;\n width: number;\n}\n\n// Leaves room for a hovered bubble's 115% scale.\nconst BUBBLE_GAP_PX = 4;\nconst TAIL_INSET_X_PX = 1;\nconst TAIL_DROP_Y_PX = 7;\n\n/** Bubbles on one line sit side by side, in the order their passages end, inside the transcript. */\nfunction spreadLine(line: readonly PlacedBubble[], layerWidth: number): PlacedBubble[] {\n const pushedRight: PlacedBubble[] = [];\n for (const bubble of line.toSorted((a, b) => a.left - b.left)) {\n const previous = pushedRight.at(-1);\n const left = previous ? Math.max(bubble.left, previous.left + previous.width + BUBBLE_GAP_PX) : bubble.left;\n pushedRight.push({ ...bubble, left });\n }\n const fitted: PlacedBubble[] = [];\n for (const bubble of pushedRight.toReversed()) {\n const next = fitted.at(-1);\n const limit = next ? next.left - BUBBLE_GAP_PX : layerWidth;\n fitted.push({ ...bubble, left: Math.min(bubble.left, limit - bubble.width) });\n }\n return fitted;\n}\n\nfunction spreadBubbles(bubbles: readonly PlacedBubble[], layerWidth: number): PlacedBubble[] {\n const lines = new Map<number, PlacedBubble[]>();\n for (const bubble of bubbles) {\n const line = Math.round(bubble.top);\n lines.set(line, [...(lines.get(line) ?? []), bubble]);\n }\n return [...lines.values()].flatMap(line => spreadLine(line, layerWidth));\n}\n\nfunction placedPassage(annotation: ChatAnnotation, marker: HTMLButtonElement): PlacedPassage | undefined {\n const range = rangeFromSource(annotation.source);\n if (!range) return undefined;\n const end = passageEndRect(range);\n if (!end) return undefined;\n return { id: annotation.id, marker, range, end };\n}\n\nexport function useAnnotationPlacement({ containerRef, annotations, emphasized }: AnnotationPlacementOptions) {\n const transcriptId = useId();\n const layerRef = useRef<HTMLDivElement>(null);\n const markersRef = useRef(new Map<string, HTMLButtonElement>());\n const tracking = annotations.length > 0;\n\n // Written straight to the bubbles: layout is read after commit, and nothing renders from it.\n const place = useEffectEvent(() => {\n const layer = layerRef.current;\n if (!layer) return;\n const origin = layer.getBoundingClientRect();\n const shown: PlacedPassage[] = [];\n for (const annotation of annotations) {\n const marker = markersRef.current.get(annotation.id);\n if (!marker) continue;\n const passage = placedPassage(annotation, marker);\n marker.hidden = !passage;\n if (passage) shown.push(passage);\n }\n const bubbles = shown.map(({ marker, end }) => ({\n marker,\n left: end.right - origin.left - TAIL_INSET_X_PX,\n top: end.top - origin.top + TAIL_DROP_Y_PX,\n width: marker.offsetWidth,\n }));\n for (const { marker, left, top } of spreadBubbles(bubbles, origin.width)) {\n marker.style.left = `${left}px`;\n marker.style.top = `${top}px`;\n }\n paintHighlights(\n transcriptId,\n shown.map(passage => passage.range),\n shown.find(passage => passage.id === emphasized)?.range,\n );\n });\n\n useEffect(() => {\n place();\n }, [annotations, emphasized]);\n\n useEffect(() => {\n const layer = layerRef.current;\n const container = containerRef.current;\n if (!tracking || !layer || !container) return;\n let frame = 0;\n const schedule = () => {\n cancelAnimationFrame(frame);\n frame = requestAnimationFrame(() => place());\n };\n const resizes = new ResizeObserver(schedule);\n resizes.observe(layer);\n const mutations = new MutationObserver(schedule);\n mutations.observe(container, { childList: true, characterData: true, subtree: true });\n container.addEventListener('scroll', schedule, { capture: true, passive: true });\n return () => {\n cancelAnimationFrame(frame);\n resizes.disconnect();\n mutations.disconnect();\n container.removeEventListener('scroll', schedule, { capture: true });\n paintHighlights(transcriptId, [], undefined);\n };\n }, [tracking, containerRef, transcriptId]);\n\n const markerRef = (id: string) => (marker: HTMLButtonElement | null) => {\n if (!marker) return;\n markersRef.current.set(id, marker);\n return () => {\n markersRef.current.delete(id);\n };\n };\n\n return { layerRef, markerRef };\n}\n","import { useState } from 'react';\nimport type { RefObject } from 'react';\n\nimport { AnnotationCommentPopover } from './annotation-comment-popover';\nimport type { CommentCard } from './annotation-comment-popover';\nimport { AnnotationMarker } from './annotation-marker';\nimport { visibleComment } from './chat-annotations';\nimport type { ChatAnnotation } from './chat-annotations';\nimport { useAnnotationPlacement } from './use-annotation-placement';\n\nexport interface AnnotationMarkersProps {\n containerRef: RefObject<Element | null>;\n annotations: readonly ChatAnnotation[];\n onCommentChange: (id: string, comment: string) => void;\n onRemove: (id: string) => void;\n}\n\nexport function AnnotationMarkers({ containerRef, annotations, onCommentChange, onRemove }: AnnotationMarkersProps) {\n const [hovered, setHovered] = useState<string>();\n const [card, setCard] = useState<CommentCard>();\n const cardIndex = card ? annotations.findIndex(annotation => annotation.id === card.id) : -1;\n const cardAnnotation = annotations[cardIndex];\n const openId = card?.open ? card.id : undefined;\n const emphasized = openId ?? hovered;\n const { layerRef, markerRef } = useAnnotationPlacement({ containerRef, annotations, emphasized });\n\n const close = () => setCard(current => current && { ...current, open: false });\n\n return (\n <div\n ref={layerRef}\n data-slot=\"annotation-markers\"\n // Above the transcript's own positioned parts, below the docked composer.\n className=\"pointer-events-none absolute inset-0 z-1\"\n >\n {annotations.map((annotation, index) => (\n <AnnotationMarker\n key={annotation.id}\n ref={markerRef(annotation.id)}\n number={index + 1}\n commented={Boolean(visibleComment(annotation))}\n active={annotation.id === emphasized}\n expanded={annotation.id === openId}\n onHoverStart={() => setHovered(annotation.id)}\n onHoverEnd={() => setHovered(current => (current === annotation.id ? undefined : current))}\n onToggle={anchor =>\n setCard(current =>\n current?.open && current.id === annotation.id\n ? { ...current, open: false }\n : { id: annotation.id, anchor, open: true },\n )\n }\n />\n ))}\n {card && cardAnnotation && (\n <AnnotationCommentPopover\n card={card}\n annotation={cardAnnotation}\n number={cardIndex + 1}\n onCommentChange={comment => onCommentChange(cardAnnotation.id, comment)}\n onRemove={() => {\n close();\n onRemove(cardAnnotation.id);\n }}\n onClose={close}\n />\n )}\n </div>\n );\n}\n","import { useEffect, useState } from 'react';\nimport type { RefObject } from 'react';\n\nimport { clampSelection, findAnnotatablePart, selectionAnchor, annotationSource } from './annotatable-selection';\nimport type { SelectionAnchor, AnnotationSource } from './annotatable-selection';\nimport { normalizeAnnotationText } from './format-annotated-message';\n\nexport interface AnnotationSelection {\n text: string;\n source: AnnotationSource;\n anchor: SelectionAnchor;\n}\n\ninterface AnnotationSelectionState {\n open: boolean;\n /** Kept after closing so the toolbar stays in place while it animates out. */\n selection?: AnnotationSelection;\n}\n\nconst CLOSED: AnnotationSelectionState = { open: false };\n\nconst closing = (state: AnnotationSelectionState) => (state.open ? { ...state, open: false } : state);\n\n// Firefox can hold several ranges at once; a passage is exactly one.\nfunction singleRange(selection: Selection | null): Range | undefined {\n if (!selection || selection.isCollapsed) return undefined;\n if (selection.rangeCount !== 1) return undefined;\n return selection.getRangeAt(0);\n}\n\nexport function useAnnotationSelection(containerRef: RefObject<Element | null>, toolbarRef: RefObject<Element | null>) {\n const [state, setState] = useState<AnnotationSelectionState>(CLOSED);\n const dismiss = () => setState(closing);\n\n useEffect(() => {\n let pressing = false;\n let settleTimer: ReturnType<typeof setTimeout> | undefined;\n const close = () => setState(closing);\n\n const reportSelection = (pointerReleased: boolean) => {\n const container = containerRef.current;\n const selection = document.getSelection();\n const range = singleRange(selection);\n if (!container || !selection || !range) return close();\n const part = findAnnotatablePart(container, range);\n if (!part || (part.extendsPastContent && !pointerReleased)) return close();\n if (part.extendsPastContent) clampSelection(selection, part);\n const text = normalizeAnnotationText(selection.toString());\n if (!text) return close();\n setState({ open: true, selection: { text, source: annotationSource(part), anchor: selectionAnchor(part) } });\n };\n\n const onPointerDown = () => {\n pressing = true;\n };\n const endPress = () => {\n pressing = false;\n };\n // Read after the browser finishes the gesture: a click inside a selection collapses it only after release.\n const onPointerUp = () => {\n pressing = false;\n clearTimeout(settleTimer);\n settleTimer = setTimeout(() => reportSelection(true));\n };\n const onSelectionChange = () => {\n // Focus moving into the toolbar can collapse the selection it acts on.\n if (toolbarRef.current?.contains(document.activeElement)) return;\n if (pressing) close();\n else reportSelection(false);\n };\n\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('pointerup', onPointerUp, true);\n document.addEventListener('pointercancel', endPress, true);\n // macOS swallows the pointer release behind a context menu.\n document.addEventListener('contextmenu', endPress, true);\n document.addEventListener('selectionchange', onSelectionChange);\n return () => {\n clearTimeout(settleTimer);\n document.removeEventListener('pointerdown', onPointerDown, true);\n document.removeEventListener('pointerup', onPointerUp, true);\n document.removeEventListener('pointercancel', endPress, true);\n document.removeEventListener('contextmenu', endPress, true);\n document.removeEventListener('selectionchange', onSelectionChange);\n };\n }, [containerRef, toolbarRef]);\n\n return { open: state.open, selection: state.selection, dismiss };\n}\n","import { Popover as PopoverPrimitive } from '@base-ui/react/popover';\nimport { TextQuote } from 'lucide-react';\nimport { useEffect, useRef } from 'react';\nimport type { KeyboardEvent as ReactKeyboardEvent, RefObject } from 'react';\n\nimport type { NewChatAnnotation } from './chat-annotations';\nimport { useAnnotationSelection } from './use-annotation-selection';\nimport { Button } from '@/ds/components/Button';\nimport { FLOATING_POSITION_METHOD } from '@/ds/primitives/floating';\nimport { usePortalContainer } from '@/ds/primitives/portal-container';\nimport { overlaySurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface AnnotationSelectionToolbarProps {\n containerRef: RefObject<HTMLElement | null>;\n onAnnotate: (annotation: NewChatAnnotation) => void;\n}\n\nconst hasModifier = (event: KeyboardEvent | ReactKeyboardEvent) => event.altKey || event.ctrlKey || event.metaKey;\n\nexport function AnnotationSelectionToolbar({ containerRef, onAnnotate }: AnnotationSelectionToolbarProps) {\n const toolbarRef = useRef<HTMLDivElement>(null);\n const { open, selection, dismiss } = useAnnotationSelection(containerRef, toolbarRef);\n const portalContainer = usePortalContainer();\n const addRef = useRef<HTMLElement>(null);\n const actionsRef = useRef<PopoverPrimitive.Root.Actions>(null);\n const originRef = useRef<HTMLElement>(undefined);\n\n useEffect(() => {\n if (!open) return;\n // Focus sits on the scroller around the transcript, outside anything this component renders.\n const onKeyDown = (event: KeyboardEvent) => {\n const add = addRef.current;\n const transcript = containerRef.current;\n const { target } = event;\n if (!add || !transcript || hasModifier(event)) return;\n const holdsTranscript = target instanceof HTMLElement && target !== document.body && target.contains(transcript);\n if (event.key !== 'Tab' || event.shiftKey || !holdsTranscript) return;\n add.focus();\n if (document.activeElement !== add) {\n actionsRef.current?.close();\n return;\n }\n event.preventDefault();\n originRef.current = target;\n };\n document.addEventListener('keydown', onKeyDown);\n return () => {\n document.removeEventListener('keydown', onKeyDown);\n originRef.current = undefined;\n };\n }, [open, containerRef]);\n\n // Without a trigger Base UI cannot route focus out of the toolbar, so it goes back to the scroller it came from.\n const returnFocus = (event: ReactKeyboardEvent) => {\n const origin = originRef.current;\n if (!origin || hasModifier(event)) return;\n if (event.key !== 'Tab' && event.key !== 'Escape') return;\n if (event.key === 'Tab') {\n event.preventDefault();\n actionsRef.current?.close();\n }\n origin.focus();\n };\n\n const addToChat = () => {\n if (!selection) return;\n // Cleared first: the consumer usually focuses its composer next, and that must keep its caret.\n document.getSelection()?.removeAllRanges();\n dismiss();\n onAnnotate({ text: selection.text, source: selection.source });\n };\n\n return (\n <PopoverPrimitive.Root\n actionsRef={actionsRef}\n open={open}\n onOpenChange={next => {\n if (!next) dismiss();\n }}\n >\n <PopoverPrimitive.Portal container={portalContainer}>\n <PopoverPrimitive.Positioner\n anchor={selection?.anchor}\n side=\"top\"\n align=\"start\"\n sideOffset={8}\n collisionPadding={8}\n positionMethod={FLOATING_POSITION_METHOD}\n className=\"z-50 outline-none data-[anchor-hidden]:invisible\"\n >\n <PopoverPrimitive.Popup\n ref={toolbarRef}\n role=\"toolbar\"\n aria-label=\"Selected text\"\n initialFocus={false}\n finalFocus={false}\n // A press here must not collapse the selection it acts on.\n onMouseDown={event => event.preventDefault()}\n data-slot=\"annotation-selection-toolbar\"\n className={cn(\n 'flex origin-(--transform-origin) items-center rounded-full p-1 focus-visible:outline-hidden',\n overlaySurfaceStyle,\n 'motion-safe:data-[closed]:animate-out motion-safe:data-[closed]:fade-out-0 motion-safe:data-[closed]:zoom-out-95',\n 'motion-safe:data-[open]:animate-in motion-safe:data-[open]:fade-in-0 motion-safe:data-[open]:zoom-in-95',\n )}\n >\n <Button\n ref={addRef}\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n icon={<TextQuote />}\n onClick={addToChat}\n onKeyDown={returnFocus}\n >\n Add to chat\n </Button>\n </PopoverPrimitive.Popup>\n </PopoverPrimitive.Positioner>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n );\n}\n","import { AnnotationMarkers } from './annotation-markers';\nimport { AnnotationSelectionToolbar } from './annotation-selection-toolbar';\nimport { useChatAnnotations } from './chat-annotations';\nimport { useChatShellRegions } from '@/ds/components/ChatShell/chat-shell-context';\n\n/**\n * Everything annotations add to a transcript, wired to `ChatAnnotationsProvider`: Add to chat over\n * selected text, and the numbered comment bubbles of what was added. Render it inside\n * `ChatShell.Transcript`; adding an annotation focuses the `ComposerInput` in `ChatShell.Dock`.\n */\nexport function TranscriptAnnotations() {\n const { transcriptRef, composerInputRef } = useChatShellRegions();\n const { annotations, addAnnotation, removeAnnotation, setAnnotationComment } = useChatAnnotations();\n\n return (\n <>\n <AnnotationMarkers\n containerRef={transcriptRef}\n annotations={annotations}\n onRemove={removeAnnotation}\n onCommentChange={setAnnotationComment}\n />\n <AnnotationSelectionToolbar\n containerRef={transcriptRef}\n onAnnotate={annotation => {\n addAnnotation(annotation);\n composerInputRef.current?.focus();\n }}\n />\n </>\n );\n}\n","import { TextQuote, X } from 'lucide-react';\nimport { useState } from 'react';\n\nimport { rangeFromSource } from './annotatable-selection';\nimport { AnnotationNumber } from './annotation-number';\nimport { visibleComment } from './chat-annotations';\nimport type { ChatAnnotation } from './chat-annotations';\nimport { Button } from '@/ds/components/Button';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/ds/components/Popover';\nimport { focusRing } from '@/ds/primitives/transitions';\nimport { pluralize } from '@/lib/string';\nimport { cn } from '@/lib/utils';\n\nexport interface ComposerAnnotationListProps {\n annotations: readonly ChatAnnotation[];\n onRemove: (id: string) => void;\n}\n\nfunction revealSource({ source }: ChatAnnotation): boolean {\n const target = rangeFromSource(source)?.startContainer.parentElement;\n if (!target) return false;\n target.scrollIntoView({ block: 'center', behavior: 'smooth' });\n return true;\n}\n\nexport function ComposerAnnotationList({ annotations, onRemove }: ComposerAnnotationListProps) {\n const [open, setOpen] = useState(false);\n\n return (\n <div data-slot=\"composer-annotations\" className=\"flex px-2 pt-2\">\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger type=\"button\" size=\"sm\">\n <TextQuote aria-hidden=\"true\" />\n {pluralize(annotations.length, 'annotation')}\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n side=\"top\"\n className=\"flex max-h-(--available-height) w-80 max-w-[calc(100vw-2rem)] flex-col gap-1 p-1.5\"\n >\n <ol aria-label=\"Annotations\" className=\"flex min-h-0 flex-col overflow-y-auto\">\n {annotations.map((annotation, index) => {\n const comment = visibleComment(annotation);\n return (\n <li key={annotation.id} className=\"flex items-start gap-2 rounded-lg p-1.5\">\n <AnnotationNumber className=\"mt-px\">{index + 1}</AnnotationNumber>\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n <button\n type=\"button\"\n title=\"Show in chat\"\n className={cn(\n 'line-clamp-3 cursor-pointer rounded-xs text-left text-body-sm whitespace-pre-line text-muted-foreground hover:text-foreground',\n focusRing,\n )}\n onClick={() => {\n if (revealSource(annotation)) setOpen(false);\n }}\n >\n {annotation.text}\n </button>\n {comment && (\n <p className=\"line-clamp-2 text-body-sm whitespace-pre-line text-foreground\">{comment}</p>\n )}\n </div>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n className=\"-my-1\"\n tooltip={`Remove annotation ${index + 1}`}\n onClick={() => onRemove(annotation.id)}\n >\n <X />\n </Button>\n </li>\n );\n })}\n </ol>\n {annotations.length > 1 && (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"shrink-0 self-end\"\n onClick={() => {\n for (const annotation of annotations) onRemove(annotation.id);\n }}\n >\n Remove all\n </Button>\n )}\n </PopoverContent>\n </Popover>\n </div>\n );\n}\n","import { useChatAnnotations } from './chat-annotations';\nimport { ComposerAnnotationList } from './composer-annotation-list';\n\n/**\n * The waiting annotations as one chip at the top of `ComposerBox`, wired to\n * `ChatAnnotationsProvider`. Renders nothing while none is waiting.\n */\nexport function ComposerAnnotations() {\n const { annotations, removeAnnotation } = useChatAnnotations();\n if (annotations.length === 0) return null;\n return <ComposerAnnotationList annotations={annotations} onRemove={removeAnnotation} />;\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_ask_user = require("../../ask-user-
|
|
2
|
+
const require_ask_user = require("../../ask-user-DcnUNMM5.cjs");
|
|
3
3
|
exports.AskUser = require_ask_user.AskUser;
|
|
4
4
|
exports.AskUserBody = require_ask_user.AskUserBody;
|
|
5
5
|
exports.AskUserContainer = require_ask_user.AskUserContainer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as AskUser, c as AskUserBody, c as Body, l as AskUserContainer, r as AskUserCustomAnswer, r as CustomAnswer, u as AskUserLabel, i as AskUserOptionItem, i as Option, d as AskUserOptionRow, a as AskUserOptions, a as Options, f as AskUserOutput, f as Output, p as AskUserPending, p as Pending, m as AskUserQuestion, m as Question, n as AskUserRoot, n as Root, o as AskUserSubmit, o as Submit, s as AskUserTextAnswer, s as TextAnswer } from "../../ask-user-
|
|
1
|
+
export { t as AskUser, c as AskUserBody, c as Body, l as AskUserContainer, r as AskUserCustomAnswer, r as CustomAnswer, u as AskUserLabel, i as AskUserOptionItem, i as Option, d as AskUserOptionRow, a as AskUserOptions, a as Options, f as AskUserOutput, f as Output, p as AskUserPending, p as Pending, m as AskUserQuestion, m as Question, n as AskUserRoot, n as Root, o as AskUserSubmit, o as Submit, s as AskUserTextAnswer, s as TextAnswer } from "../../ask-user-D4ezQ6pt.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const
|
|
2
|
+
const require_Badge = require("../../Badge-DqaMg7Gy.cjs");
|
|
3
|
+
const require_Button = require("../../Button-BfICfyxD.cjs");
|
|
4
|
+
const require_components_CollapsibleBox = require("../CollapsibleBox.cjs.js");
|
|
5
|
+
const require_MarkdownRenderer = require("../../MarkdownRenderer-CDwlvw0Y.cjs");
|
|
6
|
+
const require_Txt = require("../../Txt-_00wWxTd.cjs");
|
|
3
7
|
const require_icons_Icon = require("../../icons/Icon.cjs.js");
|
|
4
|
-
const require_Button = require("../../Button-DLcMcuUL.cjs");
|
|
5
|
-
const require_Txt = require("../../Txt-BnoSqxKE.cjs");
|
|
6
8
|
const require_hooks_use_copy_to_clipboard = require("../../hooks/use-copy-to-clipboard.cjs.js");
|
|
7
|
-
const
|
|
8
|
-
const require_MarkdownRenderer = require("../../MarkdownRenderer-y65WGBhC.cjs");
|
|
9
|
-
const require_components_CollapsibleBox = require("../CollapsibleBox.cjs.js");
|
|
9
|
+
const require_utils = require("../../utils-uDc1ofX1.cjs");
|
|
10
10
|
let react = require("react");
|
|
11
11
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
12
12
|
let lucide_react = require("lucide-react");
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { t as
|
|
1
|
+
import { t as Badge } from "../../Badge-C7NnqmMx.js";
|
|
2
|
+
import { t as Button } from "../../Button-Bi7aXd_G.js";
|
|
3
|
+
import { CollapsibleBox, useCollapsibleBox } from "../CollapsibleBox.es.js";
|
|
4
|
+
import { t as MarkdownRenderer } from "../../MarkdownRenderer-BSGb65Ze.js";
|
|
5
|
+
import { t as Txt } from "../../Txt-5efBsb2p.js";
|
|
2
6
|
import { Icon } from "../../icons/Icon.es.js";
|
|
3
|
-
import { t as Button } from "../../Button-CLXTbAY8.js";
|
|
4
|
-
import { t as Txt } from "../../Txt-BM6TVV_c.js";
|
|
5
7
|
import { useCopyToClipboard } from "../../hooks/use-copy-to-clipboard.es.js";
|
|
6
|
-
import { t as
|
|
7
|
-
import { t as MarkdownRenderer } from "../../MarkdownRenderer-CI30RqdB.js";
|
|
8
|
-
import { CollapsibleBox, useCollapsibleBox } from "../CollapsibleBox.es.js";
|
|
8
|
+
import { t as cn } from "../../utils-DQx8TpNT.js";
|
|
9
9
|
import { createContext, useContext } from "react";
|
|
10
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
11
|
import { CheckIcon, ClipboardList, CopyIcon, Maximize2, Minimize2 } from "lucide-react";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_utils = require("../../utils-uDc1ofX1.cjs");
|
|
3
|
+
const require_scroll_area = require("../../scroll-area-BU_TorPW.cjs");
|
|
4
|
+
const require_tooltip = require("../../tooltip-BsExuMO8.cjs");
|
|
5
|
+
const require_Txt = require("../../Txt-_00wWxTd.cjs");
|
|
3
6
|
const require_primitives_raised_surface = require("../../primitives/raised-surface.cjs.js");
|
|
4
|
-
const require_tooltip = require("../../tooltip-BiRLT3Th.cjs");
|
|
5
7
|
const require_primitives_transitions = require("../../primitives/transitions.cjs.js");
|
|
6
|
-
const require_scroll_area = require("../../scroll-area-BP4gPZ4G.cjs");
|
|
7
|
-
const require_Txt = require("../../Txt-BnoSqxKE.cjs");
|
|
8
8
|
let react = require("react");
|
|
9
9
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
10
|
let lucide_react = require("lucide-react");
|
|
@@ -322,7 +322,7 @@ var TaskListRow = ({ task, className, style, ...props }) => /* @__PURE__ */ (0,
|
|
|
322
322
|
})]
|
|
323
323
|
});
|
|
324
324
|
var LIST_INSET_Y = 10;
|
|
325
|
-
var edgeFades = "mask-no-repeat [--fade-bottom:0.875rem] [--fade-top:0.875rem] [mask-composite:subtract,add] [mask-image:linear-gradient(black,black),linear-gradient(to_bottom,
|
|
325
|
+
var edgeFades = "mask-no-repeat [--fade-bottom:0.875rem] [--fade-top:0.875rem] [mask-composite:subtract,add] [mask-image:linear-gradient(black,black),linear-gradient(to_bottom,black,transparent),linear-gradient(to_top,black,transparent)] [mask-position:0_0,0_0,0_100%] [mask-size:100%_100%,100%_var(--fade-top),100%_var(--fade-bottom)]";
|
|
326
326
|
var edgeFadesWhenScrolled = "data-[overflow-y-end]:[--fade-bottom:2rem] data-[overflow-y-start]:[--fade-top:2rem]";
|
|
327
327
|
var focusedTaskIndex = (tasks) => {
|
|
328
328
|
const activeIndex = tasks.findIndex((task) => task.status === "in_progress");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-list.cjs.js","names":["cn","useId","useRef","useEffectEvent","cn","raisedSurfaceStyle","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","Txt","useState","useId","ScrollArea","ScrollAreaViewport","transitions","focusRing","ChevronDown"],"sources":["../../../src/ds/components/ai/task-list/task-graph-node.ts","../../../src/ds/components/ai/task-list/task-graph.tsx","../../../src/ds/components/ai/task-list/use-focused-row-scroll.ts","../../../src/ds/components/ai/task-list/task-list.tsx"],"sourcesContent":["import type { TaskItem } from '@mastra/core/signals';\n\ntype TaskStatus = TaskItem['status'];\n\nexport const TASK_ROW_HEIGHT = 28;\nexport const TASK_GRAPH_MOTION_MS = 600;\n\n/* One timing for nodes and lines, so a line end never detaches from its node mid-move. */\nexport const taskGraphMotion = 'duration-[600ms] ease-(--resize-ease) motion-reduce:transition-none';\n\n/* left-0.5 centres the 12px node on the trunk (x=8); translate-x-4 lands it on the lane (x=24). */\nexport const taskGraphNodeClass = 'absolute top-1/2 left-0.5 -translate-y-1/2 transition-[translate]';\nexport const taskGraphLaneShift: Record<TaskStatus, string> = {\n completed: 'translate-x-0',\n in_progress: 'translate-x-4',\n pending: 'translate-x-0',\n};\n","import type { TaskItem } from '@mastra/core/signals';\nimport { useId } from 'react';\nimport { TASK_ROW_HEIGHT, taskGraphMotion } from './task-graph-node';\nimport { cn } from '@/lib/utils';\n\ntype TaskStatus = TaskItem['status'];\n\nconst TRUNK_X = 8;\nconst LANE_X = 24;\n\nconst laneX = (status: TaskStatus, singleLane: boolean) => (status === 'in_progress' && !singleLane ? LANE_X : TRUNK_X);\nconst rowCenter = (index: number) => index * TASK_ROW_HEIGHT + TASK_ROW_HEIGHT / 2;\n\nconst ink: Record<TaskStatus, string> = {\n completed: 'var(--success-indicator)',\n in_progress: 'var(--warning-indicator)',\n pending: 'var(--border-strong)',\n};\n\nconst connectorPathData = (upper: TaskStatus, lower: TaskStatus, index: number, singleLane: boolean) => {\n const fromY = rowCenter(index);\n const toY = rowCenter(index + 1);\n const midY = (fromY + toY) / 2;\n const fromX = laneX(upper, singleLane);\n const toX = laneX(lower, singleLane);\n return `M ${fromX} ${fromY} C ${fromX} ${midY} ${toX} ${midY} ${toX} ${toY}`;\n};\n\ninterface TaskGraphSegmentProps {\n upper: TaskStatus;\n lower: TaskStatus;\n index: number;\n graphId: string;\n singleLane: boolean;\n}\n\nconst TaskGraphSegment = ({ upper, lower, index, graphId, singleLane }: TaskGraphSegmentProps) => {\n const pathData = connectorPathData(upper, lower, index, singleLane);\n const d = `path(\"${pathData}\")`;\n const reached = upper !== 'pending' && lower !== 'pending';\n const touchesActive = upper === 'in_progress' || lower === 'in_progress';\n\n return (\n <g>\n <path\n d={pathData}\n fill=\"none\"\n strokeWidth={1}\n mask={`url(#${graphId}-future)`}\n className={cn('transition-[d]', taskGraphMotion)}\n style={{ d, stroke: ink.pending }}\n />\n <path\n d={pathData}\n fill=\"none\"\n strokeWidth={1}\n pathLength={1}\n strokeDasharray=\"1 1\"\n className={cn('transition-[d,stroke-dashoffset,stroke]', taskGraphMotion)}\n style={{ d, strokeDashoffset: reached ? 0 : 1, stroke: touchesActive ? ink.in_progress : ink.completed }}\n />\n </g>\n );\n};\n\ninterface TaskGraphLinesProps {\n statuses: TaskStatus[];\n singleLane?: boolean;\n}\n\nexport const TaskGraphLines = ({ statuses, singleLane = false }: TaskGraphLinesProps) => {\n const graphId = `task-graph${useId().replace(/[^a-zA-Z0-9]/g, '')}`;\n const height = statuses.length * TASK_ROW_HEIGHT;\n const maskBox = { x: -8, y: 0, width: LANE_X + 24, height };\n\n return (\n <svg\n aria-hidden\n width={LANE_X + 8}\n height={height}\n className=\"pointer-events-none absolute top-0 left-0 overflow-visible\"\n >\n <defs>\n <linearGradient id={`${graphId}-fade`} gradientUnits=\"userSpaceOnUse\" x1={0} x2={0} y1={0} y2={height}>\n <stop offset=\"0\" stopColor=\"white\" stopOpacity={1} />\n <stop offset=\"1\" stopColor=\"white\" stopOpacity={0.15} />\n </linearGradient>\n <mask id={`${graphId}-future`} maskUnits=\"userSpaceOnUse\" {...maskBox}>\n <rect {...maskBox} fill={`url(#${graphId}-fade)`} />\n </mask>\n <linearGradient id={`${graphId}-gap`} x1={0} x2={0} y1={0} y2={1}>\n <stop offset=\"0.2\" stopColor=\"white\" stopOpacity={0} />\n <stop offset=\"0.4\" stopColor=\"white\" stopOpacity={1} />\n <stop offset=\"0.6\" stopColor=\"white\" stopOpacity={1} />\n <stop offset=\"0.8\" stopColor=\"white\" stopOpacity={0} />\n </linearGradient>\n <pattern\n id={`${graphId}-gaps`}\n patternUnits=\"userSpaceOnUse\"\n x={maskBox.x}\n y={TASK_ROW_HEIGHT / 2}\n width={maskBox.width}\n height={TASK_ROW_HEIGHT}\n >\n <rect width={maskBox.width} height={TASK_ROW_HEIGHT} fill={`url(#${graphId}-gap)`} />\n </pattern>\n <mask id={`${graphId}-between-nodes`} maskUnits=\"userSpaceOnUse\" {...maskBox}>\n <rect {...maskBox} fill={`url(#${graphId}-gaps)`} />\n </mask>\n </defs>\n <g mask={`url(#${graphId}-between-nodes)`}>\n {statuses.map((status, index) => {\n const next = statuses[index + 1];\n if (!next) return null;\n return (\n <TaskGraphSegment\n key={index}\n upper={status}\n lower={next}\n index={index}\n graphId={graphId}\n singleLane={singleLane}\n />\n );\n })}\n </g>\n </svg>\n );\n};\n","import { useEffect, useEffectEvent, useRef } from 'react';\nimport { TASK_GRAPH_MOTION_MS, TASK_ROW_HEIGHT } from './task-graph-node';\n\nconst prefersReducedMotion = () => window.matchMedia?.('(prefers-reduced-motion: reduce)').matches ?? false;\n\nconst easeOutQuint = (progress: number) => 1 - (1 - progress) ** 5;\n\n/* Scroll position is not a CSS property, so the glide is tweened to match the max-height transition. */\nconst glideScrollTop = (viewport: HTMLElement, top: number) => {\n const start = viewport.scrollTop;\n const distance = top - start;\n if (prefersReducedMotion()) {\n viewport.scrollTo({ top });\n return () => {};\n }\n let frame = 0;\n const startedAt = performance.now();\n const step = (now: number) => {\n const progress = Math.min((now - startedAt) / TASK_GRAPH_MOTION_MS, 1);\n viewport.scrollTo({ top: start + distance * easeOutQuint(progress) });\n if (progress < 1) frame = requestAnimationFrame(step);\n };\n frame = requestAnimationFrame(step);\n return () => cancelAnimationFrame(frame);\n};\n\nconst revealedScrollTop = (rowIndex: number, currentTop: number, windowHeight: number) => {\n const rowTop = rowIndex * TASK_ROW_HEIGHT;\n const rowBottom = rowTop + TASK_ROW_HEIGHT;\n if (rowTop < currentTop) return rowTop;\n if (rowBottom > currentTop + windowHeight) return rowBottom - windowHeight;\n return currentTop;\n};\n\nconst EXPANDED_VISIBLE_ROWS = 4.5;\n\nexport const taskWindowHeight = (rowCount: number, open: boolean) =>\n open ? Math.min(rowCount, EXPANDED_VISIBLE_ROWS) * TASK_ROW_HEIGHT : TASK_ROW_HEIGHT;\n\ninterface ScrollTarget {\n focusIndex: number;\n windowHeight: number;\n open: boolean;\n followFocus: boolean;\n}\n\nconst wantedScrollTop = (currentTop: number, { focusIndex, windowHeight, open, followFocus }: ScrollTarget) => {\n if (!open) return focusIndex * TASK_ROW_HEIGHT;\n if (!followFocus) return currentTop;\n return revealedScrollTop(focusIndex, currentTop, windowHeight);\n};\n\nconst clampScrollTop = (top: number, contentHeight: number, windowHeight: number) =>\n Math.min(Math.max(top, 0), Math.max(contentHeight - windowHeight, 0));\n\ninterface FocusedRowScrollOptions {\n focusIndex: number;\n rowCount: number;\n open: boolean;\n followFocus: boolean;\n}\n\nexport const useFocusedRowScroll = ({ focusIndex, rowCount, open, followFocus }: FocusedRowScrollOptions) => {\n const viewportRef = useRef<HTMLDivElement>(null);\n const cancelGlide = useRef<() => void>(undefined);\n const placedOnce = useRef(false);\n\n const glideForOpen = (nextOpen: boolean) => {\n const viewport = viewportRef.current;\n if (!viewport || typeof viewport.scrollTo !== 'function') return;\n const windowHeight = taskWindowHeight(rowCount, nextOpen);\n const wantedTop = wantedScrollTop(viewport.scrollTop, { focusIndex, windowHeight, open: nextOpen, followFocus });\n const top = clampScrollTop(wantedTop, rowCount * TASK_ROW_HEIGHT, windowHeight);\n cancelGlide.current?.();\n if (!placedOnce.current) {\n placedOnce.current = true;\n viewport.scrollTo({ top });\n return;\n }\n if (top !== viewport.scrollTop) cancelGlide.current = glideScrollTop(viewport, top);\n };\n\n const followFocusedRow = useEffectEvent(() => glideForOpen(open));\n\n useEffect(() => {\n followFocusedRow();\n return () => cancelGlide.current?.();\n }, [focusIndex]);\n\n return { viewportRef, glideForOpen };\n};\n","import type { TaskItem } from '@mastra/core/signals';\nimport { ChevronDown } from 'lucide-react';\nimport { useId, useState } from 'react';\nimport type { ComponentProps } from 'react';\nimport { TaskGraphLines } from './task-graph';\nimport { TASK_ROW_HEIGHT, taskGraphLaneShift, taskGraphMotion, taskGraphNodeClass } from './task-graph-node';\nimport { taskWindowHeight, useFocusedRowScroll } from './use-focused-row-scroll';\nimport { ScrollArea, ScrollAreaViewport } from '@/ds/components/ScrollArea';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { focusRing, transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type TaskListItem = TaskItem;\n\nexport const TaskListContainer = ({ className, ...props }: ComponentProps<'section'>) => (\n <section className={cn(raisedSurfaceStyle, 'overflow-hidden rounded-2xl', className)} {...props} />\n);\n\nconst barColors: Record<TaskListItem['status'], string> = {\n completed: 'bg-success-indicator',\n in_progress: 'bg-warning-indicator',\n pending: 'bg-fill-hover',\n};\n\nexport interface TaskListProgressProps extends Omit<ComponentProps<'span'>, 'children'> {\n tasks: TaskListItem[];\n}\n\nexport const TaskListProgress = ({ tasks, className, ...props }: TaskListProgressProps) => {\n const completed = tasks.filter(task => task.status === 'completed').length;\n return (\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger\n render={\n <span\n role=\"progressbar\"\n aria-label=\"Task completion\"\n aria-valuemin={0}\n aria-valuemax={tasks.length}\n aria-valuenow={completed}\n className={cn('ml-auto flex h-4 w-fit max-w-40 shrink-0 items-center gap-1 overflow-hidden', className)}\n {...props}\n >\n {tasks.map(task => (\n <span\n key={task.id}\n className={cn(\n 'h-full w-0.5 min-w-px shrink rounded-full transition-colors',\n taskGraphMotion,\n barColors[task.status],\n )}\n />\n ))}\n </span>\n }\n />\n <TooltipContent>\n {completed}/{tasks.length} completed\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n};\n\nconst statusLabels: Record<TaskListItem['status'], string> = {\n completed: 'Completed',\n in_progress: 'In progress',\n pending: 'Pending',\n};\n\nconst ringClasses: Record<TaskListItem['status'], string> = {\n completed: 'size-[7px] border-success-indicator bg-card',\n in_progress: 'size-2 border-warning-indicator bg-warning-subtle',\n pending: 'size-1.5 border-muted-foreground/45 bg-card',\n};\n\nexport interface TaskListStatusIconProps extends ComponentProps<'span'> {\n status: TaskListItem['status'];\n}\n\nexport const TaskListStatusIcon = ({ status, className, ...props }: TaskListStatusIconProps) => (\n <span\n role=\"img\"\n aria-label={statusLabels[status]}\n className={cn('grid size-3 shrink-0 place-items-center rounded-full', className)}\n {...props}\n >\n <span\n className={cn(\n 'rounded-full border-[1.5px] transition-[width,height,border-color,background-color]',\n taskGraphMotion,\n ringClasses[status],\n )}\n />\n </span>\n);\n\nconst TaskListLabel = ({ task }: { task: TaskListItem }) => {\n const active = task.status === 'in_progress';\n return (\n <Txt as=\"span\" variant=\"caption\" className=\"grid min-w-0\">\n <span\n aria-hidden={active}\n className={cn(\n 'col-start-1 row-start-1 truncate transition-[opacity,color,translate,filter]',\n taskGraphMotion,\n task.status === 'pending' ? 'text-muted-foreground/70' : 'text-muted-foreground',\n active ? '-translate-y-1 opacity-0 blur-[2px]' : 'translate-y-0 opacity-100 blur-none',\n )}\n >\n <span\n className={cn(\n 'bg-[linear-gradient(currentColor,currentColor)] bg-no-repeat transition-[background-size]',\n taskGraphMotion,\n task.status === 'completed'\n ? 'bg-size-[100%_1px] bg-position-[left_55%]'\n : 'bg-size-[0%_1px] bg-position-[right_55%]',\n )}\n >\n {task.content}\n </span>\n </span>\n <span\n aria-hidden={!active}\n className={cn(\n 'col-start-1 row-start-1 truncate bg-linear-to-r from-warning-indicator to-foreground to-30% bg-size-[200%_100%] bg-clip-text font-medium text-transparent transition-[opacity,translate,filter,background-position]',\n taskGraphMotion,\n active\n ? 'translate-y-0 bg-position-[0%_0] opacity-100 blur-none'\n : 'translate-y-1 bg-position-[100%_0] opacity-0 blur-[2px]',\n )}\n >\n {task.activeForm}\n </span>\n </Txt>\n );\n};\n\nexport interface TaskListRowProps extends ComponentProps<'li'> {\n task: TaskListItem;\n}\n\nexport const TaskListRow = ({ task, className, style, ...props }: TaskListRowProps) => (\n <li className={cn('relative flex items-center', className)} style={{ height: TASK_ROW_HEIGHT, ...style }} {...props}>\n <TaskListStatusIcon\n status={task.status}\n className={cn(\n taskGraphNodeClass,\n taskGraphMotion,\n taskGraphLaneShift[task.status],\n 'group-data-collapsed/task-list:translate-x-0',\n )}\n />\n <span\n className={cn(\n 'flex min-w-0 transition-[padding-left]',\n taskGraphMotion,\n task.status === 'in_progress' ? 'pl-10 group-data-collapsed/task-list:pl-6' : 'pl-6',\n )}\n >\n <TaskListLabel task={task} />\n </span>\n </li>\n);\n\nconst LIST_INSET_Y = 10;\n\n/* A full layer minus one fade per edge; the fades are sized by mask-size, so their depth animates. */\nconst edgeFades =\n 'mask-no-repeat [--fade-bottom:0.875rem] [--fade-top:0.875rem] [mask-composite:subtract,add] [mask-image:linear-gradient(black,black),linear-gradient(to_bottom,black_40%,transparent),linear-gradient(to_top,black_40%,transparent)] [mask-position:0_0,0_0,0_100%] [mask-size:100%_100%,100%_var(--fade-top),100%_var(--fade-bottom)]';\nconst edgeFadesWhenScrolled = 'data-[overflow-y-end]:[--fade-bottom:2rem] data-[overflow-y-start]:[--fade-top:2rem]';\n\nconst focusedTaskIndex = (tasks: TaskListItem[]) => {\n const activeIndex = tasks.findIndex(task => task.status === 'in_progress');\n if (activeIndex >= 0) return activeIndex;\n const pendingIndex = tasks.findIndex(task => task.status === 'pending');\n if (pendingIndex >= 0) return pendingIndex;\n return tasks.length - 1;\n};\n\nexport interface TaskListProps extends Omit<ComponentProps<typeof TaskListContainer>, 'children'> {\n tasks: TaskListItem[];\n hideWhenComplete?: boolean;\n scrollActiveIntoView?: boolean;\n defaultOpen?: boolean;\n}\n\nexport const TaskList = ({\n tasks,\n hideWhenComplete = true,\n scrollActiveIntoView = true,\n defaultOpen = true,\n className,\n ...props\n}: TaskListProps) => {\n const [open, setOpen] = useState(defaultOpen);\n const listId = useId();\n const completed = tasks.filter(task => task.status === 'completed').length;\n const total = tasks.length;\n const focusIndex = focusedTaskIndex(tasks);\n const windowHeight = taskWindowHeight(total, open);\n const { viewportRef, glideForOpen } = useFocusedRowScroll({\n focusIndex,\n rowCount: total,\n open,\n followFocus: scrollActiveIntoView,\n });\n\n const changeOpen = (nextOpen: boolean) => {\n setOpen(nextOpen);\n glideForOpen(nextOpen);\n };\n\n if (total === 0 || (hideWhenComplete && completed === total)) return null;\n\n return (\n <TaskListContainer\n aria-label=\"Task list\"\n data-testid=\"task-list\"\n data-collapsed={open ? undefined : ''}\n onClick={open ? undefined : () => changeOpen(true)}\n className={cn('group/task-list relative', !open && 'cursor-pointer', className)}\n {...props}\n >\n <ScrollArea id={listId} maxHeight={`${windowHeight + 2 * LIST_INSET_Y}px`} mask={false}>\n <ScrollAreaViewport\n ref={viewportRef}\n className={cn(\n edgeFades,\n 'transition-[max-height,mask-size]',\n taskGraphMotion,\n open ? edgeFadesWhenScrolled : 'overflow-hidden!',\n )}\n >\n <div className=\"px-3\" style={{ paddingBlock: LIST_INSET_Y }}>\n <div className=\"relative\">\n <TaskGraphLines statuses={tasks.map(task => task.status)} singleLane={!open} />\n <ul>\n {tasks.map((task, index) => {\n const clippedAway = !open && index !== focusIndex;\n return <TaskListRow key={task.id} task={task} inert={clippedAway} aria-hidden={clippedAway} />;\n })}\n </ul>\n </div>\n </div>\n </ScrollAreaViewport>\n </ScrollArea>\n <div className=\"absolute top-2.5 right-3 flex h-7 items-center bg-linear-to-r from-transparent to-card to-[1.5rem] pl-6\">\n <div\n inert={open}\n aria-hidden={open}\n className={cn(\n 'grid transition-[grid-template-columns,opacity]',\n taskGraphMotion,\n open ? 'grid-cols-[0fr] opacity-0' : 'grid-cols-[1fr] opacity-100',\n )}\n >\n <div className=\"min-w-0 overflow-hidden\">\n <TaskListProgress tasks={tasks} className=\"mr-2\" />\n </div>\n </div>\n <button\n type=\"button\"\n aria-label={open ? 'Collapse tasks' : 'Show all tasks'}\n aria-expanded={open}\n aria-controls={listId}\n onClick={event => {\n event.stopPropagation();\n changeOpen(!open);\n }}\n className={cn(\n 'grid size-6 cursor-pointer place-items-center rounded-md text-muted-foreground hover:text-foreground',\n transitions.colors,\n focusRing,\n !open && 'group-hover/task-list:text-foreground',\n )}\n >\n <ChevronDown\n className={cn('size-3.5 transition-[rotate]', taskGraphMotion, open ? 'rotate-180' : 'rotate-0')}\n />\n </button>\n </div>\n </TaskListContainer>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task-list.cjs.js","names":["cn","useId","useRef","useEffectEvent","cn","raisedSurfaceStyle","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","Txt","useState","useId","ScrollArea","ScrollAreaViewport","transitions","focusRing","ChevronDown"],"sources":["../../../src/ds/components/ai/task-list/task-graph-node.ts","../../../src/ds/components/ai/task-list/task-graph.tsx","../../../src/ds/components/ai/task-list/use-focused-row-scroll.ts","../../../src/ds/components/ai/task-list/task-list.tsx"],"sourcesContent":["import type { TaskItem } from '@mastra/core/signals';\n\ntype TaskStatus = TaskItem['status'];\n\nexport const TASK_ROW_HEIGHT = 28;\nexport const TASK_GRAPH_MOTION_MS = 600;\n\n/* One timing for nodes and lines, so a line end never detaches from its node mid-move. */\nexport const taskGraphMotion = 'duration-[600ms] ease-(--resize-ease) motion-reduce:transition-none';\n\n/* left-0.5 centres the 12px node on the trunk (x=8); translate-x-4 lands it on the lane (x=24). */\nexport const taskGraphNodeClass = 'absolute top-1/2 left-0.5 -translate-y-1/2 transition-[translate]';\nexport const taskGraphLaneShift: Record<TaskStatus, string> = {\n completed: 'translate-x-0',\n in_progress: 'translate-x-4',\n pending: 'translate-x-0',\n};\n","import type { TaskItem } from '@mastra/core/signals';\nimport { useId } from 'react';\nimport { TASK_ROW_HEIGHT, taskGraphMotion } from './task-graph-node';\nimport { cn } from '@/lib/utils';\n\ntype TaskStatus = TaskItem['status'];\n\nconst TRUNK_X = 8;\nconst LANE_X = 24;\n\nconst laneX = (status: TaskStatus, singleLane: boolean) => (status === 'in_progress' && !singleLane ? LANE_X : TRUNK_X);\nconst rowCenter = (index: number) => index * TASK_ROW_HEIGHT + TASK_ROW_HEIGHT / 2;\n\nconst ink: Record<TaskStatus, string> = {\n completed: 'var(--success-indicator)',\n in_progress: 'var(--warning-indicator)',\n pending: 'var(--border-strong)',\n};\n\nconst connectorPathData = (upper: TaskStatus, lower: TaskStatus, index: number, singleLane: boolean) => {\n const fromY = rowCenter(index);\n const toY = rowCenter(index + 1);\n const midY = (fromY + toY) / 2;\n const fromX = laneX(upper, singleLane);\n const toX = laneX(lower, singleLane);\n return `M ${fromX} ${fromY} C ${fromX} ${midY} ${toX} ${midY} ${toX} ${toY}`;\n};\n\ninterface TaskGraphSegmentProps {\n upper: TaskStatus;\n lower: TaskStatus;\n index: number;\n graphId: string;\n singleLane: boolean;\n}\n\nconst TaskGraphSegment = ({ upper, lower, index, graphId, singleLane }: TaskGraphSegmentProps) => {\n const pathData = connectorPathData(upper, lower, index, singleLane);\n const d = `path(\"${pathData}\")`;\n const reached = upper !== 'pending' && lower !== 'pending';\n const touchesActive = upper === 'in_progress' || lower === 'in_progress';\n\n return (\n <g>\n <path\n d={pathData}\n fill=\"none\"\n strokeWidth={1}\n mask={`url(#${graphId}-future)`}\n className={cn('transition-[d]', taskGraphMotion)}\n style={{ d, stroke: ink.pending }}\n />\n <path\n d={pathData}\n fill=\"none\"\n strokeWidth={1}\n pathLength={1}\n strokeDasharray=\"1 1\"\n className={cn('transition-[d,stroke-dashoffset,stroke]', taskGraphMotion)}\n style={{ d, strokeDashoffset: reached ? 0 : 1, stroke: touchesActive ? ink.in_progress : ink.completed }}\n />\n </g>\n );\n};\n\ninterface TaskGraphLinesProps {\n statuses: TaskStatus[];\n singleLane?: boolean;\n}\n\nexport const TaskGraphLines = ({ statuses, singleLane = false }: TaskGraphLinesProps) => {\n const graphId = `task-graph${useId().replace(/[^a-zA-Z0-9]/g, '')}`;\n const height = statuses.length * TASK_ROW_HEIGHT;\n const maskBox = { x: -8, y: 0, width: LANE_X + 24, height };\n\n return (\n <svg\n aria-hidden\n width={LANE_X + 8}\n height={height}\n className=\"pointer-events-none absolute top-0 left-0 overflow-visible\"\n >\n <defs>\n <linearGradient id={`${graphId}-fade`} gradientUnits=\"userSpaceOnUse\" x1={0} x2={0} y1={0} y2={height}>\n <stop offset=\"0\" stopColor=\"white\" stopOpacity={1} />\n <stop offset=\"1\" stopColor=\"white\" stopOpacity={0.15} />\n </linearGradient>\n <mask id={`${graphId}-future`} maskUnits=\"userSpaceOnUse\" {...maskBox}>\n <rect {...maskBox} fill={`url(#${graphId}-fade)`} />\n </mask>\n <linearGradient id={`${graphId}-gap`} x1={0} x2={0} y1={0} y2={1}>\n <stop offset=\"0.2\" stopColor=\"white\" stopOpacity={0} />\n <stop offset=\"0.4\" stopColor=\"white\" stopOpacity={1} />\n <stop offset=\"0.6\" stopColor=\"white\" stopOpacity={1} />\n <stop offset=\"0.8\" stopColor=\"white\" stopOpacity={0} />\n </linearGradient>\n <pattern\n id={`${graphId}-gaps`}\n patternUnits=\"userSpaceOnUse\"\n x={maskBox.x}\n y={TASK_ROW_HEIGHT / 2}\n width={maskBox.width}\n height={TASK_ROW_HEIGHT}\n >\n <rect width={maskBox.width} height={TASK_ROW_HEIGHT} fill={`url(#${graphId}-gap)`} />\n </pattern>\n <mask id={`${graphId}-between-nodes`} maskUnits=\"userSpaceOnUse\" {...maskBox}>\n <rect {...maskBox} fill={`url(#${graphId}-gaps)`} />\n </mask>\n </defs>\n <g mask={`url(#${graphId}-between-nodes)`}>\n {statuses.map((status, index) => {\n const next = statuses[index + 1];\n if (!next) return null;\n return (\n <TaskGraphSegment\n key={index}\n upper={status}\n lower={next}\n index={index}\n graphId={graphId}\n singleLane={singleLane}\n />\n );\n })}\n </g>\n </svg>\n );\n};\n","import { useEffect, useEffectEvent, useRef } from 'react';\nimport { TASK_GRAPH_MOTION_MS, TASK_ROW_HEIGHT } from './task-graph-node';\n\nconst prefersReducedMotion = () => window.matchMedia?.('(prefers-reduced-motion: reduce)').matches ?? false;\n\nconst easeOutQuint = (progress: number) => 1 - (1 - progress) ** 5;\n\n/* Scroll position is not a CSS property, so the glide is tweened to match the max-height transition. */\nconst glideScrollTop = (viewport: HTMLElement, top: number) => {\n const start = viewport.scrollTop;\n const distance = top - start;\n if (prefersReducedMotion()) {\n viewport.scrollTo({ top });\n return () => {};\n }\n let frame = 0;\n const startedAt = performance.now();\n const step = (now: number) => {\n const progress = Math.min((now - startedAt) / TASK_GRAPH_MOTION_MS, 1);\n viewport.scrollTo({ top: start + distance * easeOutQuint(progress) });\n if (progress < 1) frame = requestAnimationFrame(step);\n };\n frame = requestAnimationFrame(step);\n return () => cancelAnimationFrame(frame);\n};\n\nconst revealedScrollTop = (rowIndex: number, currentTop: number, windowHeight: number) => {\n const rowTop = rowIndex * TASK_ROW_HEIGHT;\n const rowBottom = rowTop + TASK_ROW_HEIGHT;\n if (rowTop < currentTop) return rowTop;\n if (rowBottom > currentTop + windowHeight) return rowBottom - windowHeight;\n return currentTop;\n};\n\nconst EXPANDED_VISIBLE_ROWS = 4.5;\n\nexport const taskWindowHeight = (rowCount: number, open: boolean) =>\n open ? Math.min(rowCount, EXPANDED_VISIBLE_ROWS) * TASK_ROW_HEIGHT : TASK_ROW_HEIGHT;\n\ninterface ScrollTarget {\n focusIndex: number;\n windowHeight: number;\n open: boolean;\n followFocus: boolean;\n}\n\nconst wantedScrollTop = (currentTop: number, { focusIndex, windowHeight, open, followFocus }: ScrollTarget) => {\n if (!open) return focusIndex * TASK_ROW_HEIGHT;\n if (!followFocus) return currentTop;\n return revealedScrollTop(focusIndex, currentTop, windowHeight);\n};\n\nconst clampScrollTop = (top: number, contentHeight: number, windowHeight: number) =>\n Math.min(Math.max(top, 0), Math.max(contentHeight - windowHeight, 0));\n\ninterface FocusedRowScrollOptions {\n focusIndex: number;\n rowCount: number;\n open: boolean;\n followFocus: boolean;\n}\n\nexport const useFocusedRowScroll = ({ focusIndex, rowCount, open, followFocus }: FocusedRowScrollOptions) => {\n const viewportRef = useRef<HTMLDivElement>(null);\n const cancelGlide = useRef<() => void>(undefined);\n const placedOnce = useRef(false);\n\n const glideForOpen = (nextOpen: boolean) => {\n const viewport = viewportRef.current;\n if (!viewport || typeof viewport.scrollTo !== 'function') return;\n const windowHeight = taskWindowHeight(rowCount, nextOpen);\n const wantedTop = wantedScrollTop(viewport.scrollTop, { focusIndex, windowHeight, open: nextOpen, followFocus });\n const top = clampScrollTop(wantedTop, rowCount * TASK_ROW_HEIGHT, windowHeight);\n cancelGlide.current?.();\n if (!placedOnce.current) {\n placedOnce.current = true;\n viewport.scrollTo({ top });\n return;\n }\n if (top !== viewport.scrollTop) cancelGlide.current = glideScrollTop(viewport, top);\n };\n\n const followFocusedRow = useEffectEvent(() => glideForOpen(open));\n\n useEffect(() => {\n followFocusedRow();\n return () => cancelGlide.current?.();\n }, [focusIndex]);\n\n return { viewportRef, glideForOpen };\n};\n","import type { TaskItem } from '@mastra/core/signals';\nimport { ChevronDown } from 'lucide-react';\nimport { useId, useState } from 'react';\nimport type { ComponentProps } from 'react';\nimport { TaskGraphLines } from './task-graph';\nimport { TASK_ROW_HEIGHT, taskGraphLaneShift, taskGraphMotion, taskGraphNodeClass } from './task-graph-node';\nimport { taskWindowHeight, useFocusedRowScroll } from './use-focused-row-scroll';\nimport { ScrollArea, ScrollAreaViewport } from '@/ds/components/ScrollArea';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { focusRing, transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type TaskListItem = TaskItem;\n\nexport const TaskListContainer = ({ className, ...props }: ComponentProps<'section'>) => (\n <section className={cn(raisedSurfaceStyle, 'overflow-hidden rounded-2xl', className)} {...props} />\n);\n\nconst barColors: Record<TaskListItem['status'], string> = {\n completed: 'bg-success-indicator',\n in_progress: 'bg-warning-indicator',\n pending: 'bg-fill-hover',\n};\n\nexport interface TaskListProgressProps extends Omit<ComponentProps<'span'>, 'children'> {\n tasks: TaskListItem[];\n}\n\nexport const TaskListProgress = ({ tasks, className, ...props }: TaskListProgressProps) => {\n const completed = tasks.filter(task => task.status === 'completed').length;\n return (\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger\n render={\n <span\n role=\"progressbar\"\n aria-label=\"Task completion\"\n aria-valuemin={0}\n aria-valuemax={tasks.length}\n aria-valuenow={completed}\n className={cn('ml-auto flex h-4 w-fit max-w-40 shrink-0 items-center gap-1 overflow-hidden', className)}\n {...props}\n >\n {tasks.map(task => (\n <span\n key={task.id}\n className={cn(\n 'h-full w-0.5 min-w-px shrink rounded-full transition-colors',\n taskGraphMotion,\n barColors[task.status],\n )}\n />\n ))}\n </span>\n }\n />\n <TooltipContent>\n {completed}/{tasks.length} completed\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n};\n\nconst statusLabels: Record<TaskListItem['status'], string> = {\n completed: 'Completed',\n in_progress: 'In progress',\n pending: 'Pending',\n};\n\nconst ringClasses: Record<TaskListItem['status'], string> = {\n completed: 'size-[7px] border-success-indicator bg-card',\n in_progress: 'size-2 border-warning-indicator bg-warning-subtle',\n pending: 'size-1.5 border-muted-foreground/45 bg-card',\n};\n\nexport interface TaskListStatusIconProps extends ComponentProps<'span'> {\n status: TaskListItem['status'];\n}\n\nexport const TaskListStatusIcon = ({ status, className, ...props }: TaskListStatusIconProps) => (\n <span\n role=\"img\"\n aria-label={statusLabels[status]}\n className={cn('grid size-3 shrink-0 place-items-center rounded-full', className)}\n {...props}\n >\n <span\n className={cn(\n 'rounded-full border-[1.5px] transition-[width,height,border-color,background-color]',\n taskGraphMotion,\n ringClasses[status],\n )}\n />\n </span>\n);\n\nconst TaskListLabel = ({ task }: { task: TaskListItem }) => {\n const active = task.status === 'in_progress';\n return (\n <Txt as=\"span\" variant=\"caption\" className=\"grid min-w-0\">\n <span\n aria-hidden={active}\n className={cn(\n 'col-start-1 row-start-1 truncate transition-[opacity,color,translate,filter]',\n taskGraphMotion,\n task.status === 'pending' ? 'text-muted-foreground/70' : 'text-muted-foreground',\n active ? '-translate-y-1 opacity-0 blur-[2px]' : 'translate-y-0 opacity-100 blur-none',\n )}\n >\n <span\n className={cn(\n 'bg-[linear-gradient(currentColor,currentColor)] bg-no-repeat transition-[background-size]',\n taskGraphMotion,\n task.status === 'completed'\n ? 'bg-size-[100%_1px] bg-position-[left_55%]'\n : 'bg-size-[0%_1px] bg-position-[right_55%]',\n )}\n >\n {task.content}\n </span>\n </span>\n <span\n aria-hidden={!active}\n className={cn(\n 'col-start-1 row-start-1 truncate bg-linear-to-r from-warning-indicator to-foreground to-30% bg-size-[200%_100%] bg-clip-text font-medium text-transparent transition-[opacity,translate,filter,background-position]',\n taskGraphMotion,\n active\n ? 'translate-y-0 bg-position-[0%_0] opacity-100 blur-none'\n : 'translate-y-1 bg-position-[100%_0] opacity-0 blur-[2px]',\n )}\n >\n {task.activeForm}\n </span>\n </Txt>\n );\n};\n\nexport interface TaskListRowProps extends ComponentProps<'li'> {\n task: TaskListItem;\n}\n\nexport const TaskListRow = ({ task, className, style, ...props }: TaskListRowProps) => (\n <li className={cn('relative flex items-center', className)} style={{ height: TASK_ROW_HEIGHT, ...style }} {...props}>\n <TaskListStatusIcon\n status={task.status}\n className={cn(\n taskGraphNodeClass,\n taskGraphMotion,\n taskGraphLaneShift[task.status],\n 'group-data-collapsed/task-list:translate-x-0',\n )}\n />\n <span\n className={cn(\n 'flex min-w-0 transition-[padding-left]',\n taskGraphMotion,\n task.status === 'in_progress' ? 'pl-10 group-data-collapsed/task-list:pl-6' : 'pl-6',\n )}\n >\n <TaskListLabel task={task} />\n </span>\n </li>\n);\n\nconst LIST_INSET_Y = 10;\n\n/* A full layer minus one fade per edge; the fades are sized by mask-size, so their depth animates. */\nconst edgeFades =\n 'mask-no-repeat [--fade-bottom:0.875rem] [--fade-top:0.875rem] [mask-composite:subtract,add] [mask-image:linear-gradient(black,black),linear-gradient(to_bottom,black,transparent),linear-gradient(to_top,black,transparent)] [mask-position:0_0,0_0,0_100%] [mask-size:100%_100%,100%_var(--fade-top),100%_var(--fade-bottom)]';\nconst edgeFadesWhenScrolled = 'data-[overflow-y-end]:[--fade-bottom:2rem] data-[overflow-y-start]:[--fade-top:2rem]';\n\nconst focusedTaskIndex = (tasks: TaskListItem[]) => {\n const activeIndex = tasks.findIndex(task => task.status === 'in_progress');\n if (activeIndex >= 0) return activeIndex;\n const pendingIndex = tasks.findIndex(task => task.status === 'pending');\n if (pendingIndex >= 0) return pendingIndex;\n return tasks.length - 1;\n};\n\nexport interface TaskListProps extends Omit<ComponentProps<typeof TaskListContainer>, 'children'> {\n tasks: TaskListItem[];\n hideWhenComplete?: boolean;\n scrollActiveIntoView?: boolean;\n defaultOpen?: boolean;\n}\n\nexport const TaskList = ({\n tasks,\n hideWhenComplete = true,\n scrollActiveIntoView = true,\n defaultOpen = true,\n className,\n ...props\n}: TaskListProps) => {\n const [open, setOpen] = useState(defaultOpen);\n const listId = useId();\n const completed = tasks.filter(task => task.status === 'completed').length;\n const total = tasks.length;\n const focusIndex = focusedTaskIndex(tasks);\n const windowHeight = taskWindowHeight(total, open);\n const { viewportRef, glideForOpen } = useFocusedRowScroll({\n focusIndex,\n rowCount: total,\n open,\n followFocus: scrollActiveIntoView,\n });\n\n const changeOpen = (nextOpen: boolean) => {\n setOpen(nextOpen);\n glideForOpen(nextOpen);\n };\n\n if (total === 0 || (hideWhenComplete && completed === total)) return null;\n\n return (\n <TaskListContainer\n aria-label=\"Task list\"\n data-testid=\"task-list\"\n data-collapsed={open ? undefined : ''}\n onClick={open ? undefined : () => changeOpen(true)}\n className={cn('group/task-list relative', !open && 'cursor-pointer', className)}\n {...props}\n >\n <ScrollArea id={listId} maxHeight={`${windowHeight + 2 * LIST_INSET_Y}px`} mask={false}>\n <ScrollAreaViewport\n ref={viewportRef}\n className={cn(\n edgeFades,\n 'transition-[max-height,mask-size]',\n taskGraphMotion,\n open ? edgeFadesWhenScrolled : 'overflow-hidden!',\n )}\n >\n <div className=\"px-3\" style={{ paddingBlock: LIST_INSET_Y }}>\n <div className=\"relative\">\n <TaskGraphLines statuses={tasks.map(task => task.status)} singleLane={!open} />\n <ul>\n {tasks.map((task, index) => {\n const clippedAway = !open && index !== focusIndex;\n return <TaskListRow key={task.id} task={task} inert={clippedAway} aria-hidden={clippedAway} />;\n })}\n </ul>\n </div>\n </div>\n </ScrollAreaViewport>\n </ScrollArea>\n <div className=\"absolute top-2.5 right-3 flex h-7 items-center bg-linear-to-r from-transparent to-card to-[1.5rem] pl-6\">\n <div\n inert={open}\n aria-hidden={open}\n className={cn(\n 'grid transition-[grid-template-columns,opacity]',\n taskGraphMotion,\n open ? 'grid-cols-[0fr] opacity-0' : 'grid-cols-[1fr] opacity-100',\n )}\n >\n <div className=\"min-w-0 overflow-hidden\">\n <TaskListProgress tasks={tasks} className=\"mr-2\" />\n </div>\n </div>\n <button\n type=\"button\"\n aria-label={open ? 'Collapse tasks' : 'Show all tasks'}\n aria-expanded={open}\n aria-controls={listId}\n onClick={event => {\n event.stopPropagation();\n changeOpen(!open);\n }}\n className={cn(\n 'grid size-6 cursor-pointer place-items-center rounded-md text-muted-foreground hover:text-foreground',\n transitions.colors,\n focusRing,\n !open && 'group-hover/task-list:text-foreground',\n )}\n >\n <ChevronDown\n className={cn('size-3.5 transition-[rotate]', taskGraphMotion, open ? 'rotate-180' : 'rotate-0')}\n />\n </button>\n </div>\n </TaskListContainer>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as cn } from "../../utils-DQx8TpNT.js";
|
|
2
|
+
import { n as ScrollAreaViewport, t as ScrollArea } from "../../scroll-area-9-S7wfSs.js";
|
|
3
|
+
import { i as TooltipTrigger, n as TooltipContent, r as TooltipProvider, t as Tooltip } from "../../tooltip-DJcze2VZ.js";
|
|
4
|
+
import { t as Txt } from "../../Txt-5efBsb2p.js";
|
|
2
5
|
import { raisedSurfaceStyle } from "../../primitives/raised-surface.es.js";
|
|
3
|
-
import { i as TooltipTrigger, n as TooltipContent, r as TooltipProvider, t as Tooltip } from "../../tooltip-HzcLyGtV.js";
|
|
4
6
|
import { focusRing, transitions } from "../../primitives/transitions.es.js";
|
|
5
|
-
import { n as ScrollAreaViewport, t as ScrollArea } from "../../scroll-area-C226l0v0.js";
|
|
6
|
-
import { t as Txt } from "../../Txt-BM6TVV_c.js";
|
|
7
7
|
import { useEffect, useEffectEvent, useId, useRef, useState } from "react";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
import { ChevronDown } from "lucide-react";
|
|
@@ -321,7 +321,7 @@ var TaskListRow = ({ task, className, style, ...props }) => /* @__PURE__ */ jsxs
|
|
|
321
321
|
})]
|
|
322
322
|
});
|
|
323
323
|
var LIST_INSET_Y = 10;
|
|
324
|
-
var edgeFades = "mask-no-repeat [--fade-bottom:0.875rem] [--fade-top:0.875rem] [mask-composite:subtract,add] [mask-image:linear-gradient(black,black),linear-gradient(to_bottom,
|
|
324
|
+
var edgeFades = "mask-no-repeat [--fade-bottom:0.875rem] [--fade-top:0.875rem] [mask-composite:subtract,add] [mask-image:linear-gradient(black,black),linear-gradient(to_bottom,black,transparent),linear-gradient(to_top,black,transparent)] [mask-position:0_0,0_0,0_100%] [mask-size:100%_100%,100%_var(--fade-top),100%_var(--fade-bottom)]";
|
|
325
325
|
var edgeFadesWhenScrolled = "data-[overflow-y-end]:[--fade-bottom:2rem] data-[overflow-y-start]:[--fade-top:2rem]";
|
|
326
326
|
var focusedTaskIndex = (tasks) => {
|
|
327
327
|
const activeIndex = tasks.findIndex((task) => task.status === "in_progress");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-list.es.js","names":[],"sources":["../../../src/ds/components/ai/task-list/task-graph-node.ts","../../../src/ds/components/ai/task-list/task-graph.tsx","../../../src/ds/components/ai/task-list/use-focused-row-scroll.ts","../../../src/ds/components/ai/task-list/task-list.tsx"],"sourcesContent":["import type { TaskItem } from '@mastra/core/signals';\n\ntype TaskStatus = TaskItem['status'];\n\nexport const TASK_ROW_HEIGHT = 28;\nexport const TASK_GRAPH_MOTION_MS = 600;\n\n/* One timing for nodes and lines, so a line end never detaches from its node mid-move. */\nexport const taskGraphMotion = 'duration-[600ms] ease-(--resize-ease) motion-reduce:transition-none';\n\n/* left-0.5 centres the 12px node on the trunk (x=8); translate-x-4 lands it on the lane (x=24). */\nexport const taskGraphNodeClass = 'absolute top-1/2 left-0.5 -translate-y-1/2 transition-[translate]';\nexport const taskGraphLaneShift: Record<TaskStatus, string> = {\n completed: 'translate-x-0',\n in_progress: 'translate-x-4',\n pending: 'translate-x-0',\n};\n","import type { TaskItem } from '@mastra/core/signals';\nimport { useId } from 'react';\nimport { TASK_ROW_HEIGHT, taskGraphMotion } from './task-graph-node';\nimport { cn } from '@/lib/utils';\n\ntype TaskStatus = TaskItem['status'];\n\nconst TRUNK_X = 8;\nconst LANE_X = 24;\n\nconst laneX = (status: TaskStatus, singleLane: boolean) => (status === 'in_progress' && !singleLane ? LANE_X : TRUNK_X);\nconst rowCenter = (index: number) => index * TASK_ROW_HEIGHT + TASK_ROW_HEIGHT / 2;\n\nconst ink: Record<TaskStatus, string> = {\n completed: 'var(--success-indicator)',\n in_progress: 'var(--warning-indicator)',\n pending: 'var(--border-strong)',\n};\n\nconst connectorPathData = (upper: TaskStatus, lower: TaskStatus, index: number, singleLane: boolean) => {\n const fromY = rowCenter(index);\n const toY = rowCenter(index + 1);\n const midY = (fromY + toY) / 2;\n const fromX = laneX(upper, singleLane);\n const toX = laneX(lower, singleLane);\n return `M ${fromX} ${fromY} C ${fromX} ${midY} ${toX} ${midY} ${toX} ${toY}`;\n};\n\ninterface TaskGraphSegmentProps {\n upper: TaskStatus;\n lower: TaskStatus;\n index: number;\n graphId: string;\n singleLane: boolean;\n}\n\nconst TaskGraphSegment = ({ upper, lower, index, graphId, singleLane }: TaskGraphSegmentProps) => {\n const pathData = connectorPathData(upper, lower, index, singleLane);\n const d = `path(\"${pathData}\")`;\n const reached = upper !== 'pending' && lower !== 'pending';\n const touchesActive = upper === 'in_progress' || lower === 'in_progress';\n\n return (\n <g>\n <path\n d={pathData}\n fill=\"none\"\n strokeWidth={1}\n mask={`url(#${graphId}-future)`}\n className={cn('transition-[d]', taskGraphMotion)}\n style={{ d, stroke: ink.pending }}\n />\n <path\n d={pathData}\n fill=\"none\"\n strokeWidth={1}\n pathLength={1}\n strokeDasharray=\"1 1\"\n className={cn('transition-[d,stroke-dashoffset,stroke]', taskGraphMotion)}\n style={{ d, strokeDashoffset: reached ? 0 : 1, stroke: touchesActive ? ink.in_progress : ink.completed }}\n />\n </g>\n );\n};\n\ninterface TaskGraphLinesProps {\n statuses: TaskStatus[];\n singleLane?: boolean;\n}\n\nexport const TaskGraphLines = ({ statuses, singleLane = false }: TaskGraphLinesProps) => {\n const graphId = `task-graph${useId().replace(/[^a-zA-Z0-9]/g, '')}`;\n const height = statuses.length * TASK_ROW_HEIGHT;\n const maskBox = { x: -8, y: 0, width: LANE_X + 24, height };\n\n return (\n <svg\n aria-hidden\n width={LANE_X + 8}\n height={height}\n className=\"pointer-events-none absolute top-0 left-0 overflow-visible\"\n >\n <defs>\n <linearGradient id={`${graphId}-fade`} gradientUnits=\"userSpaceOnUse\" x1={0} x2={0} y1={0} y2={height}>\n <stop offset=\"0\" stopColor=\"white\" stopOpacity={1} />\n <stop offset=\"1\" stopColor=\"white\" stopOpacity={0.15} />\n </linearGradient>\n <mask id={`${graphId}-future`} maskUnits=\"userSpaceOnUse\" {...maskBox}>\n <rect {...maskBox} fill={`url(#${graphId}-fade)`} />\n </mask>\n <linearGradient id={`${graphId}-gap`} x1={0} x2={0} y1={0} y2={1}>\n <stop offset=\"0.2\" stopColor=\"white\" stopOpacity={0} />\n <stop offset=\"0.4\" stopColor=\"white\" stopOpacity={1} />\n <stop offset=\"0.6\" stopColor=\"white\" stopOpacity={1} />\n <stop offset=\"0.8\" stopColor=\"white\" stopOpacity={0} />\n </linearGradient>\n <pattern\n id={`${graphId}-gaps`}\n patternUnits=\"userSpaceOnUse\"\n x={maskBox.x}\n y={TASK_ROW_HEIGHT / 2}\n width={maskBox.width}\n height={TASK_ROW_HEIGHT}\n >\n <rect width={maskBox.width} height={TASK_ROW_HEIGHT} fill={`url(#${graphId}-gap)`} />\n </pattern>\n <mask id={`${graphId}-between-nodes`} maskUnits=\"userSpaceOnUse\" {...maskBox}>\n <rect {...maskBox} fill={`url(#${graphId}-gaps)`} />\n </mask>\n </defs>\n <g mask={`url(#${graphId}-between-nodes)`}>\n {statuses.map((status, index) => {\n const next = statuses[index + 1];\n if (!next) return null;\n return (\n <TaskGraphSegment\n key={index}\n upper={status}\n lower={next}\n index={index}\n graphId={graphId}\n singleLane={singleLane}\n />\n );\n })}\n </g>\n </svg>\n );\n};\n","import { useEffect, useEffectEvent, useRef } from 'react';\nimport { TASK_GRAPH_MOTION_MS, TASK_ROW_HEIGHT } from './task-graph-node';\n\nconst prefersReducedMotion = () => window.matchMedia?.('(prefers-reduced-motion: reduce)').matches ?? false;\n\nconst easeOutQuint = (progress: number) => 1 - (1 - progress) ** 5;\n\n/* Scroll position is not a CSS property, so the glide is tweened to match the max-height transition. */\nconst glideScrollTop = (viewport: HTMLElement, top: number) => {\n const start = viewport.scrollTop;\n const distance = top - start;\n if (prefersReducedMotion()) {\n viewport.scrollTo({ top });\n return () => {};\n }\n let frame = 0;\n const startedAt = performance.now();\n const step = (now: number) => {\n const progress = Math.min((now - startedAt) / TASK_GRAPH_MOTION_MS, 1);\n viewport.scrollTo({ top: start + distance * easeOutQuint(progress) });\n if (progress < 1) frame = requestAnimationFrame(step);\n };\n frame = requestAnimationFrame(step);\n return () => cancelAnimationFrame(frame);\n};\n\nconst revealedScrollTop = (rowIndex: number, currentTop: number, windowHeight: number) => {\n const rowTop = rowIndex * TASK_ROW_HEIGHT;\n const rowBottom = rowTop + TASK_ROW_HEIGHT;\n if (rowTop < currentTop) return rowTop;\n if (rowBottom > currentTop + windowHeight) return rowBottom - windowHeight;\n return currentTop;\n};\n\nconst EXPANDED_VISIBLE_ROWS = 4.5;\n\nexport const taskWindowHeight = (rowCount: number, open: boolean) =>\n open ? Math.min(rowCount, EXPANDED_VISIBLE_ROWS) * TASK_ROW_HEIGHT : TASK_ROW_HEIGHT;\n\ninterface ScrollTarget {\n focusIndex: number;\n windowHeight: number;\n open: boolean;\n followFocus: boolean;\n}\n\nconst wantedScrollTop = (currentTop: number, { focusIndex, windowHeight, open, followFocus }: ScrollTarget) => {\n if (!open) return focusIndex * TASK_ROW_HEIGHT;\n if (!followFocus) return currentTop;\n return revealedScrollTop(focusIndex, currentTop, windowHeight);\n};\n\nconst clampScrollTop = (top: number, contentHeight: number, windowHeight: number) =>\n Math.min(Math.max(top, 0), Math.max(contentHeight - windowHeight, 0));\n\ninterface FocusedRowScrollOptions {\n focusIndex: number;\n rowCount: number;\n open: boolean;\n followFocus: boolean;\n}\n\nexport const useFocusedRowScroll = ({ focusIndex, rowCount, open, followFocus }: FocusedRowScrollOptions) => {\n const viewportRef = useRef<HTMLDivElement>(null);\n const cancelGlide = useRef<() => void>(undefined);\n const placedOnce = useRef(false);\n\n const glideForOpen = (nextOpen: boolean) => {\n const viewport = viewportRef.current;\n if (!viewport || typeof viewport.scrollTo !== 'function') return;\n const windowHeight = taskWindowHeight(rowCount, nextOpen);\n const wantedTop = wantedScrollTop(viewport.scrollTop, { focusIndex, windowHeight, open: nextOpen, followFocus });\n const top = clampScrollTop(wantedTop, rowCount * TASK_ROW_HEIGHT, windowHeight);\n cancelGlide.current?.();\n if (!placedOnce.current) {\n placedOnce.current = true;\n viewport.scrollTo({ top });\n return;\n }\n if (top !== viewport.scrollTop) cancelGlide.current = glideScrollTop(viewport, top);\n };\n\n const followFocusedRow = useEffectEvent(() => glideForOpen(open));\n\n useEffect(() => {\n followFocusedRow();\n return () => cancelGlide.current?.();\n }, [focusIndex]);\n\n return { viewportRef, glideForOpen };\n};\n","import type { TaskItem } from '@mastra/core/signals';\nimport { ChevronDown } from 'lucide-react';\nimport { useId, useState } from 'react';\nimport type { ComponentProps } from 'react';\nimport { TaskGraphLines } from './task-graph';\nimport { TASK_ROW_HEIGHT, taskGraphLaneShift, taskGraphMotion, taskGraphNodeClass } from './task-graph-node';\nimport { taskWindowHeight, useFocusedRowScroll } from './use-focused-row-scroll';\nimport { ScrollArea, ScrollAreaViewport } from '@/ds/components/ScrollArea';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { focusRing, transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type TaskListItem = TaskItem;\n\nexport const TaskListContainer = ({ className, ...props }: ComponentProps<'section'>) => (\n <section className={cn(raisedSurfaceStyle, 'overflow-hidden rounded-2xl', className)} {...props} />\n);\n\nconst barColors: Record<TaskListItem['status'], string> = {\n completed: 'bg-success-indicator',\n in_progress: 'bg-warning-indicator',\n pending: 'bg-fill-hover',\n};\n\nexport interface TaskListProgressProps extends Omit<ComponentProps<'span'>, 'children'> {\n tasks: TaskListItem[];\n}\n\nexport const TaskListProgress = ({ tasks, className, ...props }: TaskListProgressProps) => {\n const completed = tasks.filter(task => task.status === 'completed').length;\n return (\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger\n render={\n <span\n role=\"progressbar\"\n aria-label=\"Task completion\"\n aria-valuemin={0}\n aria-valuemax={tasks.length}\n aria-valuenow={completed}\n className={cn('ml-auto flex h-4 w-fit max-w-40 shrink-0 items-center gap-1 overflow-hidden', className)}\n {...props}\n >\n {tasks.map(task => (\n <span\n key={task.id}\n className={cn(\n 'h-full w-0.5 min-w-px shrink rounded-full transition-colors',\n taskGraphMotion,\n barColors[task.status],\n )}\n />\n ))}\n </span>\n }\n />\n <TooltipContent>\n {completed}/{tasks.length} completed\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n};\n\nconst statusLabels: Record<TaskListItem['status'], string> = {\n completed: 'Completed',\n in_progress: 'In progress',\n pending: 'Pending',\n};\n\nconst ringClasses: Record<TaskListItem['status'], string> = {\n completed: 'size-[7px] border-success-indicator bg-card',\n in_progress: 'size-2 border-warning-indicator bg-warning-subtle',\n pending: 'size-1.5 border-muted-foreground/45 bg-card',\n};\n\nexport interface TaskListStatusIconProps extends ComponentProps<'span'> {\n status: TaskListItem['status'];\n}\n\nexport const TaskListStatusIcon = ({ status, className, ...props }: TaskListStatusIconProps) => (\n <span\n role=\"img\"\n aria-label={statusLabels[status]}\n className={cn('grid size-3 shrink-0 place-items-center rounded-full', className)}\n {...props}\n >\n <span\n className={cn(\n 'rounded-full border-[1.5px] transition-[width,height,border-color,background-color]',\n taskGraphMotion,\n ringClasses[status],\n )}\n />\n </span>\n);\n\nconst TaskListLabel = ({ task }: { task: TaskListItem }) => {\n const active = task.status === 'in_progress';\n return (\n <Txt as=\"span\" variant=\"caption\" className=\"grid min-w-0\">\n <span\n aria-hidden={active}\n className={cn(\n 'col-start-1 row-start-1 truncate transition-[opacity,color,translate,filter]',\n taskGraphMotion,\n task.status === 'pending' ? 'text-muted-foreground/70' : 'text-muted-foreground',\n active ? '-translate-y-1 opacity-0 blur-[2px]' : 'translate-y-0 opacity-100 blur-none',\n )}\n >\n <span\n className={cn(\n 'bg-[linear-gradient(currentColor,currentColor)] bg-no-repeat transition-[background-size]',\n taskGraphMotion,\n task.status === 'completed'\n ? 'bg-size-[100%_1px] bg-position-[left_55%]'\n : 'bg-size-[0%_1px] bg-position-[right_55%]',\n )}\n >\n {task.content}\n </span>\n </span>\n <span\n aria-hidden={!active}\n className={cn(\n 'col-start-1 row-start-1 truncate bg-linear-to-r from-warning-indicator to-foreground to-30% bg-size-[200%_100%] bg-clip-text font-medium text-transparent transition-[opacity,translate,filter,background-position]',\n taskGraphMotion,\n active\n ? 'translate-y-0 bg-position-[0%_0] opacity-100 blur-none'\n : 'translate-y-1 bg-position-[100%_0] opacity-0 blur-[2px]',\n )}\n >\n {task.activeForm}\n </span>\n </Txt>\n );\n};\n\nexport interface TaskListRowProps extends ComponentProps<'li'> {\n task: TaskListItem;\n}\n\nexport const TaskListRow = ({ task, className, style, ...props }: TaskListRowProps) => (\n <li className={cn('relative flex items-center', className)} style={{ height: TASK_ROW_HEIGHT, ...style }} {...props}>\n <TaskListStatusIcon\n status={task.status}\n className={cn(\n taskGraphNodeClass,\n taskGraphMotion,\n taskGraphLaneShift[task.status],\n 'group-data-collapsed/task-list:translate-x-0',\n )}\n />\n <span\n className={cn(\n 'flex min-w-0 transition-[padding-left]',\n taskGraphMotion,\n task.status === 'in_progress' ? 'pl-10 group-data-collapsed/task-list:pl-6' : 'pl-6',\n )}\n >\n <TaskListLabel task={task} />\n </span>\n </li>\n);\n\nconst LIST_INSET_Y = 10;\n\n/* A full layer minus one fade per edge; the fades are sized by mask-size, so their depth animates. */\nconst edgeFades =\n 'mask-no-repeat [--fade-bottom:0.875rem] [--fade-top:0.875rem] [mask-composite:subtract,add] [mask-image:linear-gradient(black,black),linear-gradient(to_bottom,black_40%,transparent),linear-gradient(to_top,black_40%,transparent)] [mask-position:0_0,0_0,0_100%] [mask-size:100%_100%,100%_var(--fade-top),100%_var(--fade-bottom)]';\nconst edgeFadesWhenScrolled = 'data-[overflow-y-end]:[--fade-bottom:2rem] data-[overflow-y-start]:[--fade-top:2rem]';\n\nconst focusedTaskIndex = (tasks: TaskListItem[]) => {\n const activeIndex = tasks.findIndex(task => task.status === 'in_progress');\n if (activeIndex >= 0) return activeIndex;\n const pendingIndex = tasks.findIndex(task => task.status === 'pending');\n if (pendingIndex >= 0) return pendingIndex;\n return tasks.length - 1;\n};\n\nexport interface TaskListProps extends Omit<ComponentProps<typeof TaskListContainer>, 'children'> {\n tasks: TaskListItem[];\n hideWhenComplete?: boolean;\n scrollActiveIntoView?: boolean;\n defaultOpen?: boolean;\n}\n\nexport const TaskList = ({\n tasks,\n hideWhenComplete = true,\n scrollActiveIntoView = true,\n defaultOpen = true,\n className,\n ...props\n}: TaskListProps) => {\n const [open, setOpen] = useState(defaultOpen);\n const listId = useId();\n const completed = tasks.filter(task => task.status === 'completed').length;\n const total = tasks.length;\n const focusIndex = focusedTaskIndex(tasks);\n const windowHeight = taskWindowHeight(total, open);\n const { viewportRef, glideForOpen } = useFocusedRowScroll({\n focusIndex,\n rowCount: total,\n open,\n followFocus: scrollActiveIntoView,\n });\n\n const changeOpen = (nextOpen: boolean) => {\n setOpen(nextOpen);\n glideForOpen(nextOpen);\n };\n\n if (total === 0 || (hideWhenComplete && completed === total)) return null;\n\n return (\n <TaskListContainer\n aria-label=\"Task list\"\n data-testid=\"task-list\"\n data-collapsed={open ? undefined : ''}\n onClick={open ? undefined : () => changeOpen(true)}\n className={cn('group/task-list relative', !open && 'cursor-pointer', className)}\n {...props}\n >\n <ScrollArea id={listId} maxHeight={`${windowHeight + 2 * LIST_INSET_Y}px`} mask={false}>\n <ScrollAreaViewport\n ref={viewportRef}\n className={cn(\n edgeFades,\n 'transition-[max-height,mask-size]',\n taskGraphMotion,\n open ? edgeFadesWhenScrolled : 'overflow-hidden!',\n )}\n >\n <div className=\"px-3\" style={{ paddingBlock: LIST_INSET_Y }}>\n <div className=\"relative\">\n <TaskGraphLines statuses={tasks.map(task => task.status)} singleLane={!open} />\n <ul>\n {tasks.map((task, index) => {\n const clippedAway = !open && index !== focusIndex;\n return <TaskListRow key={task.id} task={task} inert={clippedAway} aria-hidden={clippedAway} />;\n })}\n </ul>\n </div>\n </div>\n </ScrollAreaViewport>\n </ScrollArea>\n <div className=\"absolute top-2.5 right-3 flex h-7 items-center bg-linear-to-r from-transparent to-card to-[1.5rem] pl-6\">\n <div\n inert={open}\n aria-hidden={open}\n className={cn(\n 'grid transition-[grid-template-columns,opacity]',\n taskGraphMotion,\n open ? 'grid-cols-[0fr] opacity-0' : 'grid-cols-[1fr] opacity-100',\n )}\n >\n <div className=\"min-w-0 overflow-hidden\">\n <TaskListProgress tasks={tasks} className=\"mr-2\" />\n </div>\n </div>\n <button\n type=\"button\"\n aria-label={open ? 'Collapse tasks' : 'Show all tasks'}\n aria-expanded={open}\n aria-controls={listId}\n onClick={event => {\n event.stopPropagation();\n changeOpen(!open);\n }}\n className={cn(\n 'grid size-6 cursor-pointer place-items-center rounded-md text-muted-foreground hover:text-foreground',\n transitions.colors,\n focusRing,\n !open && 'group-hover/task-list:text-foreground',\n )}\n >\n <ChevronDown\n className={cn('size-3.5 transition-[rotate]', taskGraphMotion, open ? 'rotate-180' : 'rotate-0')}\n />\n </button>\n </div>\n </TaskListContainer>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task-list.es.js","names":[],"sources":["../../../src/ds/components/ai/task-list/task-graph-node.ts","../../../src/ds/components/ai/task-list/task-graph.tsx","../../../src/ds/components/ai/task-list/use-focused-row-scroll.ts","../../../src/ds/components/ai/task-list/task-list.tsx"],"sourcesContent":["import type { TaskItem } from '@mastra/core/signals';\n\ntype TaskStatus = TaskItem['status'];\n\nexport const TASK_ROW_HEIGHT = 28;\nexport const TASK_GRAPH_MOTION_MS = 600;\n\n/* One timing for nodes and lines, so a line end never detaches from its node mid-move. */\nexport const taskGraphMotion = 'duration-[600ms] ease-(--resize-ease) motion-reduce:transition-none';\n\n/* left-0.5 centres the 12px node on the trunk (x=8); translate-x-4 lands it on the lane (x=24). */\nexport const taskGraphNodeClass = 'absolute top-1/2 left-0.5 -translate-y-1/2 transition-[translate]';\nexport const taskGraphLaneShift: Record<TaskStatus, string> = {\n completed: 'translate-x-0',\n in_progress: 'translate-x-4',\n pending: 'translate-x-0',\n};\n","import type { TaskItem } from '@mastra/core/signals';\nimport { useId } from 'react';\nimport { TASK_ROW_HEIGHT, taskGraphMotion } from './task-graph-node';\nimport { cn } from '@/lib/utils';\n\ntype TaskStatus = TaskItem['status'];\n\nconst TRUNK_X = 8;\nconst LANE_X = 24;\n\nconst laneX = (status: TaskStatus, singleLane: boolean) => (status === 'in_progress' && !singleLane ? LANE_X : TRUNK_X);\nconst rowCenter = (index: number) => index * TASK_ROW_HEIGHT + TASK_ROW_HEIGHT / 2;\n\nconst ink: Record<TaskStatus, string> = {\n completed: 'var(--success-indicator)',\n in_progress: 'var(--warning-indicator)',\n pending: 'var(--border-strong)',\n};\n\nconst connectorPathData = (upper: TaskStatus, lower: TaskStatus, index: number, singleLane: boolean) => {\n const fromY = rowCenter(index);\n const toY = rowCenter(index + 1);\n const midY = (fromY + toY) / 2;\n const fromX = laneX(upper, singleLane);\n const toX = laneX(lower, singleLane);\n return `M ${fromX} ${fromY} C ${fromX} ${midY} ${toX} ${midY} ${toX} ${toY}`;\n};\n\ninterface TaskGraphSegmentProps {\n upper: TaskStatus;\n lower: TaskStatus;\n index: number;\n graphId: string;\n singleLane: boolean;\n}\n\nconst TaskGraphSegment = ({ upper, lower, index, graphId, singleLane }: TaskGraphSegmentProps) => {\n const pathData = connectorPathData(upper, lower, index, singleLane);\n const d = `path(\"${pathData}\")`;\n const reached = upper !== 'pending' && lower !== 'pending';\n const touchesActive = upper === 'in_progress' || lower === 'in_progress';\n\n return (\n <g>\n <path\n d={pathData}\n fill=\"none\"\n strokeWidth={1}\n mask={`url(#${graphId}-future)`}\n className={cn('transition-[d]', taskGraphMotion)}\n style={{ d, stroke: ink.pending }}\n />\n <path\n d={pathData}\n fill=\"none\"\n strokeWidth={1}\n pathLength={1}\n strokeDasharray=\"1 1\"\n className={cn('transition-[d,stroke-dashoffset,stroke]', taskGraphMotion)}\n style={{ d, strokeDashoffset: reached ? 0 : 1, stroke: touchesActive ? ink.in_progress : ink.completed }}\n />\n </g>\n );\n};\n\ninterface TaskGraphLinesProps {\n statuses: TaskStatus[];\n singleLane?: boolean;\n}\n\nexport const TaskGraphLines = ({ statuses, singleLane = false }: TaskGraphLinesProps) => {\n const graphId = `task-graph${useId().replace(/[^a-zA-Z0-9]/g, '')}`;\n const height = statuses.length * TASK_ROW_HEIGHT;\n const maskBox = { x: -8, y: 0, width: LANE_X + 24, height };\n\n return (\n <svg\n aria-hidden\n width={LANE_X + 8}\n height={height}\n className=\"pointer-events-none absolute top-0 left-0 overflow-visible\"\n >\n <defs>\n <linearGradient id={`${graphId}-fade`} gradientUnits=\"userSpaceOnUse\" x1={0} x2={0} y1={0} y2={height}>\n <stop offset=\"0\" stopColor=\"white\" stopOpacity={1} />\n <stop offset=\"1\" stopColor=\"white\" stopOpacity={0.15} />\n </linearGradient>\n <mask id={`${graphId}-future`} maskUnits=\"userSpaceOnUse\" {...maskBox}>\n <rect {...maskBox} fill={`url(#${graphId}-fade)`} />\n </mask>\n <linearGradient id={`${graphId}-gap`} x1={0} x2={0} y1={0} y2={1}>\n <stop offset=\"0.2\" stopColor=\"white\" stopOpacity={0} />\n <stop offset=\"0.4\" stopColor=\"white\" stopOpacity={1} />\n <stop offset=\"0.6\" stopColor=\"white\" stopOpacity={1} />\n <stop offset=\"0.8\" stopColor=\"white\" stopOpacity={0} />\n </linearGradient>\n <pattern\n id={`${graphId}-gaps`}\n patternUnits=\"userSpaceOnUse\"\n x={maskBox.x}\n y={TASK_ROW_HEIGHT / 2}\n width={maskBox.width}\n height={TASK_ROW_HEIGHT}\n >\n <rect width={maskBox.width} height={TASK_ROW_HEIGHT} fill={`url(#${graphId}-gap)`} />\n </pattern>\n <mask id={`${graphId}-between-nodes`} maskUnits=\"userSpaceOnUse\" {...maskBox}>\n <rect {...maskBox} fill={`url(#${graphId}-gaps)`} />\n </mask>\n </defs>\n <g mask={`url(#${graphId}-between-nodes)`}>\n {statuses.map((status, index) => {\n const next = statuses[index + 1];\n if (!next) return null;\n return (\n <TaskGraphSegment\n key={index}\n upper={status}\n lower={next}\n index={index}\n graphId={graphId}\n singleLane={singleLane}\n />\n );\n })}\n </g>\n </svg>\n );\n};\n","import { useEffect, useEffectEvent, useRef } from 'react';\nimport { TASK_GRAPH_MOTION_MS, TASK_ROW_HEIGHT } from './task-graph-node';\n\nconst prefersReducedMotion = () => window.matchMedia?.('(prefers-reduced-motion: reduce)').matches ?? false;\n\nconst easeOutQuint = (progress: number) => 1 - (1 - progress) ** 5;\n\n/* Scroll position is not a CSS property, so the glide is tweened to match the max-height transition. */\nconst glideScrollTop = (viewport: HTMLElement, top: number) => {\n const start = viewport.scrollTop;\n const distance = top - start;\n if (prefersReducedMotion()) {\n viewport.scrollTo({ top });\n return () => {};\n }\n let frame = 0;\n const startedAt = performance.now();\n const step = (now: number) => {\n const progress = Math.min((now - startedAt) / TASK_GRAPH_MOTION_MS, 1);\n viewport.scrollTo({ top: start + distance * easeOutQuint(progress) });\n if (progress < 1) frame = requestAnimationFrame(step);\n };\n frame = requestAnimationFrame(step);\n return () => cancelAnimationFrame(frame);\n};\n\nconst revealedScrollTop = (rowIndex: number, currentTop: number, windowHeight: number) => {\n const rowTop = rowIndex * TASK_ROW_HEIGHT;\n const rowBottom = rowTop + TASK_ROW_HEIGHT;\n if (rowTop < currentTop) return rowTop;\n if (rowBottom > currentTop + windowHeight) return rowBottom - windowHeight;\n return currentTop;\n};\n\nconst EXPANDED_VISIBLE_ROWS = 4.5;\n\nexport const taskWindowHeight = (rowCount: number, open: boolean) =>\n open ? Math.min(rowCount, EXPANDED_VISIBLE_ROWS) * TASK_ROW_HEIGHT : TASK_ROW_HEIGHT;\n\ninterface ScrollTarget {\n focusIndex: number;\n windowHeight: number;\n open: boolean;\n followFocus: boolean;\n}\n\nconst wantedScrollTop = (currentTop: number, { focusIndex, windowHeight, open, followFocus }: ScrollTarget) => {\n if (!open) return focusIndex * TASK_ROW_HEIGHT;\n if (!followFocus) return currentTop;\n return revealedScrollTop(focusIndex, currentTop, windowHeight);\n};\n\nconst clampScrollTop = (top: number, contentHeight: number, windowHeight: number) =>\n Math.min(Math.max(top, 0), Math.max(contentHeight - windowHeight, 0));\n\ninterface FocusedRowScrollOptions {\n focusIndex: number;\n rowCount: number;\n open: boolean;\n followFocus: boolean;\n}\n\nexport const useFocusedRowScroll = ({ focusIndex, rowCount, open, followFocus }: FocusedRowScrollOptions) => {\n const viewportRef = useRef<HTMLDivElement>(null);\n const cancelGlide = useRef<() => void>(undefined);\n const placedOnce = useRef(false);\n\n const glideForOpen = (nextOpen: boolean) => {\n const viewport = viewportRef.current;\n if (!viewport || typeof viewport.scrollTo !== 'function') return;\n const windowHeight = taskWindowHeight(rowCount, nextOpen);\n const wantedTop = wantedScrollTop(viewport.scrollTop, { focusIndex, windowHeight, open: nextOpen, followFocus });\n const top = clampScrollTop(wantedTop, rowCount * TASK_ROW_HEIGHT, windowHeight);\n cancelGlide.current?.();\n if (!placedOnce.current) {\n placedOnce.current = true;\n viewport.scrollTo({ top });\n return;\n }\n if (top !== viewport.scrollTop) cancelGlide.current = glideScrollTop(viewport, top);\n };\n\n const followFocusedRow = useEffectEvent(() => glideForOpen(open));\n\n useEffect(() => {\n followFocusedRow();\n return () => cancelGlide.current?.();\n }, [focusIndex]);\n\n return { viewportRef, glideForOpen };\n};\n","import type { TaskItem } from '@mastra/core/signals';\nimport { ChevronDown } from 'lucide-react';\nimport { useId, useState } from 'react';\nimport type { ComponentProps } from 'react';\nimport { TaskGraphLines } from './task-graph';\nimport { TASK_ROW_HEIGHT, taskGraphLaneShift, taskGraphMotion, taskGraphNodeClass } from './task-graph-node';\nimport { taskWindowHeight, useFocusedRowScroll } from './use-focused-row-scroll';\nimport { ScrollArea, ScrollAreaViewport } from '@/ds/components/ScrollArea';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { focusRing, transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type TaskListItem = TaskItem;\n\nexport const TaskListContainer = ({ className, ...props }: ComponentProps<'section'>) => (\n <section className={cn(raisedSurfaceStyle, 'overflow-hidden rounded-2xl', className)} {...props} />\n);\n\nconst barColors: Record<TaskListItem['status'], string> = {\n completed: 'bg-success-indicator',\n in_progress: 'bg-warning-indicator',\n pending: 'bg-fill-hover',\n};\n\nexport interface TaskListProgressProps extends Omit<ComponentProps<'span'>, 'children'> {\n tasks: TaskListItem[];\n}\n\nexport const TaskListProgress = ({ tasks, className, ...props }: TaskListProgressProps) => {\n const completed = tasks.filter(task => task.status === 'completed').length;\n return (\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger\n render={\n <span\n role=\"progressbar\"\n aria-label=\"Task completion\"\n aria-valuemin={0}\n aria-valuemax={tasks.length}\n aria-valuenow={completed}\n className={cn('ml-auto flex h-4 w-fit max-w-40 shrink-0 items-center gap-1 overflow-hidden', className)}\n {...props}\n >\n {tasks.map(task => (\n <span\n key={task.id}\n className={cn(\n 'h-full w-0.5 min-w-px shrink rounded-full transition-colors',\n taskGraphMotion,\n barColors[task.status],\n )}\n />\n ))}\n </span>\n }\n />\n <TooltipContent>\n {completed}/{tasks.length} completed\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n};\n\nconst statusLabels: Record<TaskListItem['status'], string> = {\n completed: 'Completed',\n in_progress: 'In progress',\n pending: 'Pending',\n};\n\nconst ringClasses: Record<TaskListItem['status'], string> = {\n completed: 'size-[7px] border-success-indicator bg-card',\n in_progress: 'size-2 border-warning-indicator bg-warning-subtle',\n pending: 'size-1.5 border-muted-foreground/45 bg-card',\n};\n\nexport interface TaskListStatusIconProps extends ComponentProps<'span'> {\n status: TaskListItem['status'];\n}\n\nexport const TaskListStatusIcon = ({ status, className, ...props }: TaskListStatusIconProps) => (\n <span\n role=\"img\"\n aria-label={statusLabels[status]}\n className={cn('grid size-3 shrink-0 place-items-center rounded-full', className)}\n {...props}\n >\n <span\n className={cn(\n 'rounded-full border-[1.5px] transition-[width,height,border-color,background-color]',\n taskGraphMotion,\n ringClasses[status],\n )}\n />\n </span>\n);\n\nconst TaskListLabel = ({ task }: { task: TaskListItem }) => {\n const active = task.status === 'in_progress';\n return (\n <Txt as=\"span\" variant=\"caption\" className=\"grid min-w-0\">\n <span\n aria-hidden={active}\n className={cn(\n 'col-start-1 row-start-1 truncate transition-[opacity,color,translate,filter]',\n taskGraphMotion,\n task.status === 'pending' ? 'text-muted-foreground/70' : 'text-muted-foreground',\n active ? '-translate-y-1 opacity-0 blur-[2px]' : 'translate-y-0 opacity-100 blur-none',\n )}\n >\n <span\n className={cn(\n 'bg-[linear-gradient(currentColor,currentColor)] bg-no-repeat transition-[background-size]',\n taskGraphMotion,\n task.status === 'completed'\n ? 'bg-size-[100%_1px] bg-position-[left_55%]'\n : 'bg-size-[0%_1px] bg-position-[right_55%]',\n )}\n >\n {task.content}\n </span>\n </span>\n <span\n aria-hidden={!active}\n className={cn(\n 'col-start-1 row-start-1 truncate bg-linear-to-r from-warning-indicator to-foreground to-30% bg-size-[200%_100%] bg-clip-text font-medium text-transparent transition-[opacity,translate,filter,background-position]',\n taskGraphMotion,\n active\n ? 'translate-y-0 bg-position-[0%_0] opacity-100 blur-none'\n : 'translate-y-1 bg-position-[100%_0] opacity-0 blur-[2px]',\n )}\n >\n {task.activeForm}\n </span>\n </Txt>\n );\n};\n\nexport interface TaskListRowProps extends ComponentProps<'li'> {\n task: TaskListItem;\n}\n\nexport const TaskListRow = ({ task, className, style, ...props }: TaskListRowProps) => (\n <li className={cn('relative flex items-center', className)} style={{ height: TASK_ROW_HEIGHT, ...style }} {...props}>\n <TaskListStatusIcon\n status={task.status}\n className={cn(\n taskGraphNodeClass,\n taskGraphMotion,\n taskGraphLaneShift[task.status],\n 'group-data-collapsed/task-list:translate-x-0',\n )}\n />\n <span\n className={cn(\n 'flex min-w-0 transition-[padding-left]',\n taskGraphMotion,\n task.status === 'in_progress' ? 'pl-10 group-data-collapsed/task-list:pl-6' : 'pl-6',\n )}\n >\n <TaskListLabel task={task} />\n </span>\n </li>\n);\n\nconst LIST_INSET_Y = 10;\n\n/* A full layer minus one fade per edge; the fades are sized by mask-size, so their depth animates. */\nconst edgeFades =\n 'mask-no-repeat [--fade-bottom:0.875rem] [--fade-top:0.875rem] [mask-composite:subtract,add] [mask-image:linear-gradient(black,black),linear-gradient(to_bottom,black,transparent),linear-gradient(to_top,black,transparent)] [mask-position:0_0,0_0,0_100%] [mask-size:100%_100%,100%_var(--fade-top),100%_var(--fade-bottom)]';\nconst edgeFadesWhenScrolled = 'data-[overflow-y-end]:[--fade-bottom:2rem] data-[overflow-y-start]:[--fade-top:2rem]';\n\nconst focusedTaskIndex = (tasks: TaskListItem[]) => {\n const activeIndex = tasks.findIndex(task => task.status === 'in_progress');\n if (activeIndex >= 0) return activeIndex;\n const pendingIndex = tasks.findIndex(task => task.status === 'pending');\n if (pendingIndex >= 0) return pendingIndex;\n return tasks.length - 1;\n};\n\nexport interface TaskListProps extends Omit<ComponentProps<typeof TaskListContainer>, 'children'> {\n tasks: TaskListItem[];\n hideWhenComplete?: boolean;\n scrollActiveIntoView?: boolean;\n defaultOpen?: boolean;\n}\n\nexport const TaskList = ({\n tasks,\n hideWhenComplete = true,\n scrollActiveIntoView = true,\n defaultOpen = true,\n className,\n ...props\n}: TaskListProps) => {\n const [open, setOpen] = useState(defaultOpen);\n const listId = useId();\n const completed = tasks.filter(task => task.status === 'completed').length;\n const total = tasks.length;\n const focusIndex = focusedTaskIndex(tasks);\n const windowHeight = taskWindowHeight(total, open);\n const { viewportRef, glideForOpen } = useFocusedRowScroll({\n focusIndex,\n rowCount: total,\n open,\n followFocus: scrollActiveIntoView,\n });\n\n const changeOpen = (nextOpen: boolean) => {\n setOpen(nextOpen);\n glideForOpen(nextOpen);\n };\n\n if (total === 0 || (hideWhenComplete && completed === total)) return null;\n\n return (\n <TaskListContainer\n aria-label=\"Task list\"\n data-testid=\"task-list\"\n data-collapsed={open ? undefined : ''}\n onClick={open ? undefined : () => changeOpen(true)}\n className={cn('group/task-list relative', !open && 'cursor-pointer', className)}\n {...props}\n >\n <ScrollArea id={listId} maxHeight={`${windowHeight + 2 * LIST_INSET_Y}px`} mask={false}>\n <ScrollAreaViewport\n ref={viewportRef}\n className={cn(\n edgeFades,\n 'transition-[max-height,mask-size]',\n taskGraphMotion,\n open ? edgeFadesWhenScrolled : 'overflow-hidden!',\n )}\n >\n <div className=\"px-3\" style={{ paddingBlock: LIST_INSET_Y }}>\n <div className=\"relative\">\n <TaskGraphLines statuses={tasks.map(task => task.status)} singleLane={!open} />\n <ul>\n {tasks.map((task, index) => {\n const clippedAway = !open && index !== focusIndex;\n return <TaskListRow key={task.id} task={task} inert={clippedAway} aria-hidden={clippedAway} />;\n })}\n </ul>\n </div>\n </div>\n </ScrollAreaViewport>\n </ScrollArea>\n <div className=\"absolute top-2.5 right-3 flex h-7 items-center bg-linear-to-r from-transparent to-card to-[1.5rem] pl-6\">\n <div\n inert={open}\n aria-hidden={open}\n className={cn(\n 'grid transition-[grid-template-columns,opacity]',\n taskGraphMotion,\n open ? 'grid-cols-[0fr] opacity-0' : 'grid-cols-[1fr] opacity-100',\n )}\n >\n <div className=\"min-w-0 overflow-hidden\">\n <TaskListProgress tasks={tasks} className=\"mr-2\" />\n </div>\n </div>\n <button\n type=\"button\"\n aria-label={open ? 'Collapse tasks' : 'Show all tasks'}\n aria-expanded={open}\n aria-controls={listId}\n onClick={event => {\n event.stopPropagation();\n changeOpen(!open);\n }}\n className={cn(\n 'grid size-6 cursor-pointer place-items-center rounded-md text-muted-foreground hover:text-foreground',\n transitions.colors,\n focusRing,\n !open && 'group-hover/task-list:text-foreground',\n )}\n >\n <ChevronDown\n className={cn('size-3.5 transition-[rotate]', taskGraphMotion, open ? 'rotate-180' : 'rotate-0')}\n />\n </button>\n </div>\n </TaskListContainer>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_tool_approval = require("../../tool-approval-
|
|
2
|
+
const require_tool_approval = require("../../tool-approval-C4WNL8VD.cjs");
|
|
3
3
|
exports.ToolApproval = require_tool_approval.ToolApproval;
|
|
4
4
|
exports.ToolApprovalActions = require_tool_approval.ToolApprovalActions;
|
|
5
5
|
exports.ToolApprovalStatus = require_tool_approval.ToolApprovalStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as ToolApproval, n as ToolApprovalActions, r as ToolApprovalStatus } from "../../tool-approval-
|
|
1
|
+
export { t as ToolApproval, n as ToolApprovalActions, r as ToolApprovalStatus } from "../../tool-approval-ZfL3-Vvi.js";
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_tool_call = require("../../tool-call-
|
|
3
|
-
const require_tool_presentation = require("../../tool-presentation-
|
|
2
|
+
const require_tool_call = require("../../tool-call-C4TBpJ6Y.cjs");
|
|
3
|
+
const require_tool_presentation = require("../../tool-presentation-DPp9h-n2.cjs");
|
|
4
4
|
exports.TOOL_GROUP_MIN = require_tool_call.TOOL_GROUP_MIN;
|
|
5
5
|
exports.ToolCallArguments = require_tool_call.ToolCallArguments;
|
|
6
|
+
exports.ToolCallBody = require_tool_call.ToolCallBody;
|
|
6
7
|
exports.ToolCallCommand = require_tool_call.ToolCallCommand;
|
|
7
8
|
exports.ToolCallEdit = require_tool_call.ToolCallEdit;
|
|
9
|
+
exports.ToolCallExitStatus = require_tool_call.ToolCallExitStatus;
|
|
8
10
|
exports.ToolCallGroup = require_tool_call.ToolCallGroup;
|
|
9
11
|
exports.ToolCallMono = require_tool_call.ToolCallMono;
|
|
10
12
|
exports.ToolCallOutput = require_tool_call.ToolCallOutput;
|
|
11
13
|
exports.ToolCallTime = require_tool_call.ToolCallTime;
|
|
14
|
+
exports.exitedWithFailure = require_tool_presentation.exitedWithFailure;
|
|
12
15
|
exports.groupConsecutive = require_tool_call.groupConsecutive;
|
|
13
16
|
exports.hasToolArguments = require_tool_presentation.hasToolArguments;
|
|
14
17
|
exports.isTaskTool = require_tool_presentation.isTaskTool;
|
|
@@ -16,6 +19,8 @@ exports.presentTool = require_tool_presentation.presentTool;
|
|
|
16
19
|
exports.stringifyToolValue = require_tool_presentation.stringifyToolValue;
|
|
17
20
|
exports.stripAnsi = require_tool_call.stripAnsi;
|
|
18
21
|
exports.stripSerializedAnsi = require_tool_call.stripSerializedAnsi;
|
|
22
|
+
exports.toolCallHasBody = require_tool_call.toolCallHasBody;
|
|
23
|
+
exports.toolCallResultText = require_tool_call.toolCallResultText;
|
|
19
24
|
exports.toolEdit = require_tool_presentation.toolEdit;
|
|
20
25
|
exports.toolPhrases = require_tool_call.toolPhrases;
|
|
21
26
|
exports.visibleToolArgumentsText = require_tool_presentation.visibleToolArgumentsText;
|