@mastra/playground-ui 65.0.0-alpha.2 → 65.0.0-alpha.4
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 +10 -0
- package/components.css +7 -0
- package/dist/{Avatar-98bsFrSV.js → Avatar-BjaG9NU_.js} +10 -8
- package/dist/Avatar-BjaG9NU_.js.map +1 -0
- package/dist/{Avatar-BCj8SvOb.cjs → Avatar-DM90rmwx.cjs} +10 -8
- package/dist/Avatar-DM90rmwx.cjs.map +1 -0
- package/dist/{Button-DH1aTzbs.cjs → Button-C4I05uT4.cjs} +17 -10
- package/dist/Button-C4I05uT4.cjs.map +1 -0
- package/dist/{Button-EGoajBQY.js → Button-D8a5EWJ5.js} +18 -11
- package/dist/Button-D8a5EWJ5.js.map +1 -0
- package/dist/{ErrorBoundary-DQPzT6am.js → ErrorBoundary-C6JifxpQ.js} +2 -2
- package/dist/{ErrorBoundary-DQPzT6am.js.map → ErrorBoundary-C6JifxpQ.js.map} +1 -1
- package/dist/{ErrorBoundary-CpUob9SO.cjs → ErrorBoundary-DP1JqmTo.cjs} +2 -2
- package/dist/{ErrorBoundary-CpUob9SO.cjs.map → ErrorBoundary-DP1JqmTo.cjs.map} +1 -1
- package/dist/Notice-BioYTS4b.js.map +1 -1
- package/dist/Notice-DYgIy4FO.cjs.map +1 -1
- package/dist/{activity-CsTUr5_l.js → activity-B7c_nQMn.js} +2 -2
- package/dist/activity-B7c_nQMn.js.map +1 -0
- package/dist/{activity-2tovEdIP.cjs → activity-D3iI9pYN.cjs} +2 -2
- package/dist/activity-D3iI9pYN.cjs.map +1 -0
- package/dist/{alert-dialog-B7JTnkF4.js → alert-dialog-B13NSeKN.js} +3 -3
- package/dist/{alert-dialog-B7JTnkF4.js.map → alert-dialog-B13NSeKN.js.map} +1 -1
- package/dist/{alert-dialog-B1gWLQm2.cjs → alert-dialog-DY2JJAnk.cjs} +3 -3
- package/dist/{alert-dialog-B1gWLQm2.cjs.map → alert-dialog-DY2JJAnk.cjs.map} +1 -1
- package/dist/arrival-C1hkyLHm.js.map +1 -1
- package/dist/arrival-Cvxloi0B.cjs.map +1 -1
- package/dist/{ask-user-card-DroerVbm.cjs → ask-user-card-DiFQcUzM.cjs} +2 -2
- package/dist/ask-user-card-DiFQcUzM.cjs.map +1 -0
- package/dist/{ask-user-card-BCjsjimu.js → ask-user-card-DnvW7jXS.js} +2 -2
- package/dist/{ask-user-card-BCjsjimu.js.map → ask-user-card-DnvW7jXS.js.map} +1 -1
- package/dist/{avatar-size-CNR0U-LW.js → avatar-size-BXzy28Bx.js} +4 -1
- package/dist/avatar-size-BXzy28Bx.js.map +1 -0
- package/dist/{avatar-size-DxStOo5A.cjs → avatar-size-DIFE4I8A.cjs} +4 -1
- package/dist/avatar-size-DIFE4I8A.cjs.map +1 -0
- package/dist/buttons-group.css +0 -4
- package/dist/code-DJReJPSX.cjs.map +1 -1
- package/dist/code-DLuATvYu.js.map +1 -1
- package/dist/{code-block-vpcX2sDQ.cjs → code-block-C79fiykv.cjs} +4 -4
- package/dist/{code-block-vpcX2sDQ.cjs.map → code-block-C79fiykv.cjs.map} +1 -1
- package/dist/{code-block-DIDa6lg6.js → code-block-D6A1DMv-.js} +4 -4
- package/dist/{code-block-DIDa6lg6.js.map → code-block-D6A1DMv-.js.map} +1 -1
- package/dist/{code-editor-BDxYMkGm.js → code-editor-8Fpinga4.js} +2 -2
- package/dist/{code-editor-BDxYMkGm.js.map → code-editor-8Fpinga4.js.map} +1 -1
- package/dist/{code-editor-DQuJ1XXd.cjs → code-editor-Bd-Cldem.cjs} +2 -2
- package/dist/{code-editor-DQuJ1XXd.cjs.map → code-editor-Bd-Cldem.cjs.map} +1 -1
- package/dist/{collapsible-box-B9ATVQzW.cjs → collapsible-box-CzU0OwJx.cjs} +2 -2
- package/dist/{collapsible-box-B9ATVQzW.cjs.map → collapsible-box-CzU0OwJx.cjs.map} +1 -1
- package/dist/{collapsible-box-CMBYunuM.js → collapsible-box-DotFa3hr.js} +2 -2
- package/dist/{collapsible-box-CMBYunuM.js.map → collapsible-box-DotFa3hr.js.map} +1 -1
- package/dist/{combobox-Bw13EcK0.js → combobox-BCoCVZHs.js} +7 -5
- package/dist/combobox-BCoCVZHs.js.map +1 -0
- package/dist/{combobox-BNlVCFgY.cjs → combobox-DbZAWh8q.cjs} +7 -5
- package/dist/combobox-DbZAWh8q.cjs.map +1 -0
- package/dist/{combobox-styles-Dr66ofEp.js → combobox-styles-Cens2tsx.js} +2 -2
- package/dist/{combobox-styles-Dr66ofEp.js.map → combobox-styles-Cens2tsx.js.map} +1 -1
- package/dist/{combobox-styles-BK2nGTNl.cjs → combobox-styles-Cy4rpw03.cjs} +2 -2
- package/dist/{combobox-styles-BK2nGTNl.cjs.map → combobox-styles-Cy4rpw03.cjs.map} +1 -1
- package/dist/{command-UEPxVJlE.cjs → command-Duh5C_Pm.cjs} +2 -2
- package/dist/command-Duh5C_Pm.cjs.map +1 -0
- package/dist/{command-V9rsKc7P.js → command-xIH7ZTdl.js} +2 -2
- package/dist/command-xIH7ZTdl.js.map +1 -0
- package/dist/components/AlertDialog.cjs.js +1 -1
- package/dist/components/AlertDialog.es.js +1 -1
- package/dist/components/Avatar.cjs.js +1 -1
- package/dist/components/Avatar.es.js +1 -1
- package/dist/components/Breadcrumb.cjs.js +7 -4
- package/dist/components/Breadcrumb.cjs.js.map +1 -1
- package/dist/components/Breadcrumb.es.js +7 -4
- package/dist/components/Breadcrumb.es.js.map +1 -1
- package/dist/components/Button.cjs.js +1 -1
- package/dist/components/Button.es.js +2 -2
- package/dist/components/ClampedText.cjs.js +2 -2
- package/dist/components/ClampedText.cjs.js.map +1 -1
- package/dist/components/ClampedText.es.js +2 -2
- package/dist/components/ClampedText.es.js.map +1 -1
- package/dist/components/CodeBlock.cjs.js +1 -1
- package/dist/components/CodeBlock.es.js +1 -1
- package/dist/components/CodeEditor.cjs.js +1 -1
- package/dist/components/CodeEditor.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 +1 -1
- package/dist/components/Command.es.js +1 -1
- package/dist/components/CommandPalette.cjs.js +1 -1
- package/dist/components/CommandPalette.es.js +1 -1
- package/dist/components/Comment.cjs.js +2 -2
- package/dist/components/Comment.es.js +2 -2
- 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 +2 -2
- package/dist/components/DataDetailsPanel.es.js +2 -2
- package/dist/components/DataKeysAndValues.cjs.js +1 -1
- package/dist/components/DataKeysAndValues.es.js +1 -1
- package/dist/components/DataList.cjs.js +15 -17
- package/dist/components/DataList.cjs.js.map +1 -1
- package/dist/components/DataList.es.js +4 -5
- package/dist/components/DataList.es.js.map +1 -1
- package/dist/components/DataPanel.cjs.js +1 -1
- package/dist/components/DataPanel.es.js +1 -1
- package/dist/components/DateRangeTimeline.cjs.js +1 -1
- package/dist/components/DateRangeTimeline.es.js +1 -1
- package/dist/components/DateTimePicker.cjs.js +2 -2
- package/dist/components/DateTimePicker.es.js +2 -2
- package/dist/components/DateTimeRangePicker.cjs.js +1 -1
- package/dist/components/DateTimeRangePicker.es.js +1 -1
- package/dist/components/Dialog.cjs.js +2 -2
- package/dist/components/Dialog.es.js +2 -2
- package/dist/components/DisabledFeatureButton.cjs.js +1 -1
- package/dist/components/DisabledFeatureButton.es.js +1 -1
- package/dist/components/Drawer.cjs.js +1 -1
- package/dist/components/Drawer.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +3 -3
- package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
- package/dist/components/EnvironmentVariablesEditor.es.js +3 -3
- package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
- package/dist/components/ErrorBoundary.cjs.js +1 -1
- package/dist/components/ErrorBoundary.es.js +1 -1
- package/dist/components/FilterBar.cjs.js +8 -31
- package/dist/components/FilterBar.cjs.js.map +1 -1
- package/dist/components/FilterBar.es.js +10 -33
- package/dist/components/FilterBar.es.js.map +1 -1
- package/dist/components/FormFieldBlocks.cjs.js +3 -3
- package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
- package/dist/components/FormFieldBlocks.es.js +3 -3
- package/dist/components/FormFieldBlocks.es.js.map +1 -1
- package/dist/components/InputGroup.cjs.js +1 -1
- package/dist/components/InputGroup.es.js +1 -1
- package/dist/components/InputNumber.cjs.js +2 -2
- package/dist/components/InputNumber.es.js +2 -2
- package/dist/components/JSONSchemaForm.cjs.js +2 -2
- package/dist/components/JSONSchemaForm.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 +5 -2
- package/dist/components/LogsDataList.cjs.js.map +1 -1
- package/dist/components/LogsDataList.es.js +5 -2
- package/dist/components/LogsDataList.es.js.map +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/MetricsCard.cjs.js +1 -1
- package/dist/components/MetricsCard.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 -1
- package/dist/components/ProductAvatar.cjs.js.map +1 -1
- package/dist/components/ProductAvatar.es.js +2 -1
- package/dist/components/ProductAvatar.es.js.map +1 -1
- package/dist/components/PropertyFilter.cjs.js +4 -4
- package/dist/components/PropertyFilter.cjs.js.map +1 -1
- package/dist/components/PropertyFilter.es.js +5 -5
- package/dist/components/PropertyFilter.es.js.map +1 -1
- package/dist/components/RuleBuilder.cjs.js +3 -2
- package/dist/components/RuleBuilder.cjs.js.map +1 -1
- package/dist/components/RuleBuilder.es.js +3 -2
- package/dist/components/RuleBuilder.es.js.map +1 -1
- package/dist/components/SavedViews.cjs.js +4 -8
- package/dist/components/SavedViews.cjs.js.map +1 -1
- package/dist/components/SavedViews.es.js +5 -9
- package/dist/components/SavedViews.es.js.map +1 -1
- package/dist/components/SearchInput.cjs.js +1 -1
- package/dist/components/SearchInput.es.js +1 -1
- package/dist/components/Select.cjs.js +1 -1
- package/dist/components/Select.es.js +1 -1
- package/dist/components/SideDialog.cjs.js +1 -1
- package/dist/components/SideDialog.es.js +1 -1
- package/dist/components/Sidebar.cjs.js +3 -3
- package/dist/components/Sidebar.cjs.js.map +1 -1
- package/dist/components/Sidebar.es.js +3 -3
- package/dist/components/Sidebar.es.js.map +1 -1
- package/dist/components/StatusIndicators.cjs.js.map +1 -1
- package/dist/components/StatusIndicators.es.js.map +1 -1
- package/dist/components/Table.cjs.js.map +1 -1
- package/dist/components/Table.es.js.map +1 -1
- package/dist/components/Tabs.cjs.js +1 -1
- package/dist/components/Tabs.es.js +1 -1
- package/dist/components/ThreadList.cjs.js +1 -1
- package/dist/components/ThreadList.es.js +1 -1
- package/dist/components/ThreadRail.cjs.js.map +1 -1
- package/dist/components/ThreadRail.es.js.map +1 -1
- package/dist/components/Truncate.cjs.js +1 -1
- package/dist/components/Truncate.es.js +1 -1
- package/dist/components/Workflow.cjs.js +6 -6
- package/dist/components/Workflow.es.js +6 -6
- package/dist/components/ai/activity.cjs.js +4 -4
- package/dist/components/ai/activity.es.js +4 -4
- 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 +1 -1
- package/dist/components/ai/plan.es.js +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 +4 -4
- package/dist/components/ai/tool-call.es.js +4 -4
- package/dist/composer-Bs4iyUfe.js.map +1 -1
- package/dist/composer-CDQnP3og.cjs.map +1 -1
- package/dist/context-menu-C67xhcfa.js.map +1 -1
- package/dist/context-menu-jNuzE86D.cjs.map +1 -1
- package/dist/{copy-button-Cd0keCti.cjs → copy-button-BC02oZJo.cjs} +2 -2
- package/dist/{copy-button-Cd0keCti.cjs.map → copy-button-BC02oZJo.cjs.map} +1 -1
- package/dist/{copy-button-C_M3Tu_-.js → copy-button-B_i9lwFJ.js} +2 -2
- package/dist/{copy-button-C_M3Tu_-.js.map → copy-button-B_i9lwFJ.js.map} +1 -1
- package/dist/{data-code-section-lj3PaHjc.cjs → data-code-section-BJa6NDgN.cjs} +5 -5
- package/dist/{data-code-section-lj3PaHjc.cjs.map → data-code-section-BJa6NDgN.cjs.map} +1 -1
- package/dist/{data-code-section-mpRgtM8j.js → data-code-section-Cjs-piiY.js} +5 -5
- package/dist/{data-code-section-mpRgtM8j.js.map → data-code-section-Cjs-piiY.js.map} +1 -1
- package/dist/{data-keys-and-values-1lYi60YK.cjs → data-keys-and-values-DBXIqeXt.cjs} +2 -2
- package/dist/data-keys-and-values-DBXIqeXt.cjs.map +1 -0
- package/dist/{data-keys-and-values-CHpxKsfq.js → data-keys-and-values-DHp6cHJo.js} +2 -2
- package/dist/data-keys-and-values-DHp6cHJo.js.map +1 -0
- package/dist/{data-list-top-DJh08vFA.cjs → data-list-DlXU1PLQ.cjs} +339 -13
- package/dist/data-list-DlXU1PLQ.cjs.map +1 -0
- package/dist/{data-list-top-T-mtdIUp.js → data-list-Tor18oy5.js} +332 -5
- package/dist/data-list-Tor18oy5.js.map +1 -0
- package/dist/{data-list-skeleton-bNfITSHs.js → data-list-skeleton-CXUB-u3p.js} +2 -2
- package/dist/{data-list-skeleton-bNfITSHs.js.map → data-list-skeleton-CXUB-u3p.js.map} +1 -1
- package/dist/{data-list-skeleton-sdcaabdX.cjs → data-list-skeleton-DY0F40WQ.cjs} +6 -6
- package/dist/{data-list-skeleton-sdcaabdX.cjs.map → data-list-skeleton-DY0F40WQ.cjs.map} +1 -1
- package/dist/{data-panel-BkfjzriB.cjs → data-panel-DGNV14pm.cjs} +20 -9
- package/dist/data-panel-DGNV14pm.cjs.map +1 -0
- package/dist/{data-panel-CMkR6Avv.js → data-panel-DjtnX70w.js} +20 -9
- package/dist/data-panel-DjtnX70w.js.map +1 -0
- package/dist/{date-time-range-picker-BjQVCVUM.cjs → date-time-range-picker-CXGab8Nj.cjs} +3 -3
- package/dist/{date-time-range-picker-BjQVCVUM.cjs.map → date-time-range-picker-CXGab8Nj.cjs.map} +1 -1
- package/dist/{date-time-range-picker-D-EECKzz.js → date-time-range-picker-CcnDMZJu.js} +3 -3
- package/dist/{date-time-range-picker-D-EECKzz.js.map → date-time-range-picker-CcnDMZJu.js.map} +1 -1
- package/dist/{dialog-j2e95YNV.js → dialog-AzCRnEo3.js} +3 -3
- package/dist/{dialog-j2e95YNV.js.map → dialog-AzCRnEo3.js.map} +1 -1
- package/dist/{dialog-BMUfQ9XU.cjs → dialog-SSeOqRnH.cjs} +3 -3
- package/dist/{dialog-BMUfQ9XU.cjs.map → dialog-SSeOqRnH.cjs.map} +1 -1
- package/dist/{dialog-action-CmFDNyZX.cjs → dialog-action-Caa-pb85.cjs} +3 -3
- package/dist/{dialog-action-CmFDNyZX.cjs.map → dialog-action-Caa-pb85.cjs.map} +1 -1
- package/dist/{dialog-action-zKqvuroE.js → dialog-action-DykMOK2W.js} +3 -3
- package/dist/{dialog-action-zKqvuroE.js.map → dialog-action-DykMOK2W.js.map} +1 -1
- package/dist/domains/auth/components/session-expired.cjs.js +1 -1
- package/dist/domains/auth/components/session-expired.es.js +1 -1
- package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
- package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
- package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
- package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
- package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
- 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 +5 -5
- package/dist/domains/chat/messages/dataset-save-action.es.js +5 -5
- package/dist/domains/chat/messages/message-row.cjs.js +4 -4
- package/dist/domains/chat/messages/message-row.es.js +4 -4
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.cjs.js.map +1 -1
- package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.es.js.map +1 -1
- 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/signal-badge.cjs.js +1 -1
- package/dist/domains/chat/messages/signal-badge.es.js +1 -1
- package/dist/domains/chat/messages/skill-message.cjs.js +3 -3
- package/dist/domains/chat/messages/skill-message.es.js +3 -3
- 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/om/om-parts-converter.cjs.js.map +1 -1
- package/dist/domains/chat/om/om-parts-converter.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 +4 -4
- package/dist/domains/chat/tools/badges/agent-badge.es.js +4 -4
- 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 +3 -3
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +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 +3 -3
- package/dist/domains/chat/tools/badges/tool-badge.es.js +3 -3
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +6 -3
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +6 -3
- package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/submit-plan-tool.cjs.js +2 -2
- package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
- 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/datasets/components/save-as-dataset-item-dialog.cjs.js +4 -4
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +4 -4
- package/dist/domains/logs/components/log-data-panel.cjs.js +4 -4
- package/dist/domains/logs/components/log-data-panel.es.js +4 -4
- package/dist/domains/logs/components/logs-list-view.cjs.js +3 -2
- package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
- package/dist/domains/logs/components/logs-list-view.es.js +3 -2
- package/dist/domains/logs/components/logs-list-view.es.js.map +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 +1 -1
- package/dist/domains/logs/components/no-logs-info.es.js +1 -1
- package/dist/domains/mcps/components/mcp-app-viewer.cjs.js.map +1 -1
- package/dist/domains/mcps/components/mcp-app-viewer.es.js.map +1 -1
- package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
- package/dist/domains/memory/components/flame-graph.es.js +1 -1
- package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
- package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
- package/dist/domains/metrics/components/agent-runs-card.cjs.js +1 -1
- package/dist/domains/metrics/components/agent-runs-card.es.js +1 -1
- 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 +1 -1
- package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
- package/dist/domains/metrics/components/chart-card.cjs.js +1 -1
- package/dist/domains/metrics/components/chart-card.es.js +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/failure-rate-card.cjs.js +1 -1
- package/dist/domains/metrics/components/failure-rate-card.es.js +1 -1
- package/dist/domains/metrics/components/latency-card.cjs.js +1 -1
- package/dist/domains/metrics/components/latency-card.es.js +1 -1
- package/dist/domains/metrics/components/scores-card.cjs.js +1 -1
- package/dist/domains/metrics/components/scores-card.es.js +1 -1
- package/dist/domains/metrics/components/token-usage-card.cjs.js +1 -1
- package/dist/domains/metrics/components/token-usage-card.es.js +1 -1
- package/dist/domains/metrics/components/trace-volume-card.cjs.js +1 -1
- package/dist/domains/metrics/components/trace-volume-card.es.js +1 -1
- package/dist/domains/metrics/components/usage-card.cjs.js +1 -1
- package/dist/domains/metrics/components/usage-card.es.js +1 -1
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +4 -4
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +4 -4
- package/dist/domains/scores/components/score-data-panel.cjs.js +3 -3
- package/dist/domains/scores/components/score-data-panel.es.js +3 -3
- package/dist/domains/scores/components/span-scoring.cjs.js +3 -3
- package/dist/domains/scores/components/span-scoring.es.js +3 -3
- package/dist/domains/scores/components/trace-scores-tab.cjs.js +2 -1
- package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js +2 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
- package/dist/domains/traces/components/feedback-thread.cjs.js +4 -4
- package/dist/domains/traces/components/feedback-thread.cjs.js.map +1 -1
- package/dist/domains/traces/components/feedback-thread.es.js +4 -4
- package/dist/domains/traces/components/feedback-thread.es.js.map +1 -1
- package/dist/domains/traces/components/shared.cjs.js +4 -3
- package/dist/domains/traces/components/shared.cjs.js.map +1 -1
- package/dist/domains/traces/components/shared.es.js +5 -4
- package/dist/domains/traces/components/shared.es.js.map +1 -1
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +4 -4
- 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 +4 -4
- package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
- package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
- package/dist/domains/traces/components/span-details-view.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-registry.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-section.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +2 -2
- package/dist/domains/traces/components/span-rows.cjs.js +5 -0
- package/dist/domains/traces/components/span-rows.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-rows.es.js +5 -0
- package/dist/domains/traces/components/span-rows.es.js.map +1 -1
- package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
- package/dist/domains/traces/components/span-summary-description.es.js +1 -1
- package/dist/domains/traces/components/span-timeline-row.cjs.js +34 -28
- package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-timeline-row.es.js +34 -28
- package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -1
- package/dist/domains/traces/components/span-timing-hover-card.cjs.js +1 -1
- package/dist/domains/traces/components/span-timing-hover-card.es.js +1 -1
- package/dist/domains/traces/components/span-token-usage.cjs.js +1 -1
- package/dist/domains/traces/components/span-token-usage.es.js +1 -1
- package/dist/domains/traces/components/span-tree-rail.cjs.js +50 -0
- package/dist/domains/traces/components/span-tree-rail.cjs.js.map +1 -0
- package/dist/domains/traces/components/span-tree-rail.d.ts +2 -0
- package/dist/domains/traces/components/span-tree-rail.es.js +42 -0
- package/dist/domains/traces/components/span-tree-rail.es.js.map +1 -0
- package/dist/domains/traces/components/span-tree-row.cjs.js +2 -2
- package/dist/domains/traces/components/span-tree-row.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-tree-row.es.js +2 -2
- package/dist/domains/traces/components/span-tree-row.es.js.map +1 -1
- package/dist/domains/traces/components/span-type-badge.cjs.js +29 -0
- package/dist/domains/traces/components/span-type-badge.cjs.js.map +1 -0
- package/dist/domains/traces/components/span-type-badge.d.ts +2 -0
- package/dist/domains/traces/components/span-type-badge.es.js +25 -0
- package/dist/domains/traces/components/span-type-badge.es.js.map +1 -0
- package/dist/domains/traces/components/span-type-legend.cjs.js +2 -2
- package/dist/domains/traces/components/span-type-legend.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-type-legend.es.js +2 -2
- package/dist/domains/traces/components/span-type-legend.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +2 -2
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js +2 -1
- 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 +2 -1
- package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.cjs.js +53 -27
- package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.es.js +54 -28
- package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-structure-sign.cjs.js +23 -14
- package/dist/domains/traces/components/timeline-structure-sign.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-structure-sign.es.js +24 -15
- package/dist/domains/traces/components/timeline-structure-sign.es.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +4 -4
- package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.es.js +4 -4
- package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +32 -5
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.es.js +32 -5
- package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel.cjs.js +5 -2
- package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel.es.js +5 -2
- package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
- package/dist/domains/traces/components/trace-error-cell.cjs.js +35 -0
- package/dist/domains/traces/components/trace-error-cell.cjs.js.map +1 -0
- package/dist/domains/traces/components/trace-error-cell.d.ts +2 -0
- package/dist/domains/traces/components/trace-error-cell.es.js +31 -0
- package/dist/domains/traces/components/trace-error-cell.es.js.map +1 -0
- package/dist/domains/traces/components/trace-error-details.cjs.js +22 -0
- package/dist/domains/traces/components/trace-error-details.cjs.js.map +1 -0
- package/dist/domains/traces/components/trace-error-details.d.ts +2 -0
- package/dist/domains/traces/components/trace-error-details.es.js +18 -0
- package/dist/domains/traces/components/trace-error-details.es.js.map +1 -0
- package/dist/domains/traces/components/trace-error-summary.cjs.js +31 -0
- package/dist/domains/traces/components/trace-error-summary.cjs.js.map +1 -0
- package/dist/domains/traces/components/trace-error-summary.d.ts +2 -0
- package/dist/domains/traces/components/trace-error-summary.es.js +27 -0
- package/dist/domains/traces/components/trace-error-summary.es.js.map +1 -0
- 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-span-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-span-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js +7 -7
- package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-tree-skeleton.es.js +7 -7
- package/dist/domains/traces/components/trace-span-tree-skeleton.es.js.map +1 -1
- package/dist/domains/traces/components/trace-span-tree.cjs.js +1 -2
- package/dist/domains/traces/components/trace-span-tree.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-tree.es.js +2 -3
- package/dist/domains/traces/components/trace-span-tree.es.js.map +1 -1
- package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
- package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
- package/dist/domains/traces/components/trace-thread-item-view.cjs.js +1 -1
- package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
- package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
- package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
- package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
- package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
- package/dist/domains/traces/components/traces-list-view.cjs.js +10 -7
- package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view.es.js +9 -6
- package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +4 -1
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js +4 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-list-navigation.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-list-navigation.es.js.map +1 -1
- package/dist/domains/traces/utils/flatten-to-search-text.cjs.js.map +1 -1
- package/dist/domains/traces/utils/flatten-to-search-text.es.js.map +1 -1
- package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
- package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
- package/dist/domains/workflows/components/workflow-information.cjs.js +1 -1
- package/dist/domains/workflows/components/workflow-information.es.js +1 -1
- package/dist/domains/workflows/components/workflow-step-detail.cjs.js +3 -3
- package/dist/domains/workflows/components/workflow-step-detail.es.js +3 -3
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
- package/dist/domains/workflows/runs/workflow-run-list.cjs.js +2 -2
- package/dist/domains/workflows/runs/workflow-run-list.es.js +2 -2
- 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 +2 -2
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
- 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 +1 -1
- package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.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-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-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 +3 -3
- package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-input-data.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-input-data.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-input-data.es.js.map +1 -1
- 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 +3 -3
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-run-data.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-header.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
- package/dist/domains/workspace/components/workspace-active-file.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +5 -5
- package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +5 -5
- 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-create-directory.cjs.js +2 -2
- package/dist/domains/workspace/components/workspace-create-directory.es.js +2 -2
- 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-search.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-search.es.js +1 -1
- package/dist/domains/workspace/components/workspace-tree.cjs.js +2 -2
- package/dist/domains/workspace/components/workspace-tree.es.js +2 -2
- package/dist/{drawer-DROYPMUm.cjs → drawer-DdTU-nBR.cjs} +2 -2
- package/dist/{drawer-DROYPMUm.cjs.map → drawer-DdTU-nBR.cjs.map} +1 -1
- package/dist/{drawer-C-8E9yHN.js → drawer-mj-G7-Tu.js} +2 -2
- package/dist/{drawer-C-8E9yHN.js.map → drawer-mj-G7-Tu.js.map} +1 -1
- package/dist/dropdown-menu-CQ_48tVI.js.map +1 -1
- package/dist/dropdown-menu-CsynT1aD.cjs.map +1 -1
- package/dist/ee/signals/components/entity-index-list.cjs.js +3 -1
- package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
- package/dist/ee/signals/components/entity-index-list.es.js +3 -1
- package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
- package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
- package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +6 -4
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +6 -4
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
- package/dist/ee/signals/examples-pager.cjs.js +1 -1
- package/dist/ee/signals/examples-pager.es.js +1 -1
- package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
- package/dist/ee/signals/noise-detail-panel.es.js +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
- package/dist/ee/signals/settings/trace-signal-settings.cjs.js +1 -1
- package/dist/ee/signals/settings/trace-signal-settings.es.js +1 -1
- package/dist/ee/signals/signals-error-state.cjs.js +1 -1
- package/dist/ee/signals/signals-error-state.es.js +1 -1
- package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
- package/dist/ee/signals/snapshot-timeline.es.js +1 -1
- package/dist/ee/signals/theme-detail-panel.cjs.js +1 -1
- package/dist/ee/signals/theme-detail-panel.es.js +1 -1
- package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
- package/dist/ee/signals/theme-filter-banner.es.js +1 -1
- package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
- package/dist/ee/signals/trace-insight-view.es.js +1 -1
- package/dist/ee/signals/trace-intelligence-provider.cjs.js.map +1 -1
- package/dist/ee/signals/trace-intelligence-provider.es.js.map +1 -1
- package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
- package/dist/ee/signals/view-mode-tab.es.js +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
- package/dist/{field-error-id-Dbe6IInA.cjs → field-error-id-0yYYU0ar.cjs} +2 -2
- package/dist/{field-error-id-Dbe6IInA.cjs.map → field-error-id-0yYYU0ar.cjs.map} +1 -1
- package/dist/{field-error-id-Sqhk00e4.js → field-error-id-CdzuQK5c.js} +2 -2
- package/dist/{field-error-id-Sqhk00e4.js.map → field-error-id-CdzuQK5c.js.map} +1 -1
- package/dist/{filter-bar-chip-BarAq1S2.js → filter-bar-chip-C9CXOudu.js} +3 -3
- package/dist/filter-bar-chip-C9CXOudu.js.map +1 -0
- package/dist/{filter-bar-chip-BJJ6ytJ4.cjs → filter-bar-chip-DgvuQv6c.cjs} +3 -3
- package/dist/filter-bar-chip-DgvuQv6c.cjs.map +1 -0
- package/dist/hooks/use-environment-variables-editor.cjs.js.map +1 -1
- package/dist/hooks/use-environment-variables-editor.es.js.map +1 -1
- package/dist/hooks/use-fluid-hover.cjs.js.map +1 -1
- package/dist/hooks/use-fluid-hover.es.js.map +1 -1
- package/dist/icons/Icon.cjs.js.map +1 -1
- package/dist/icons/Icon.es.js.map +1 -1
- package/dist/icons/SkillIcon.cjs.js.map +1 -1
- package/dist/icons/SkillIcon.es.js.map +1 -1
- package/dist/icons/icon-size-classes.cjs.js +4 -4
- package/dist/icons/icon-size-classes.cjs.js.map +1 -1
- package/dist/icons/icon-size-classes.es.js +4 -4
- package/dist/icons/icon-size-classes.es.js.map +1 -1
- package/dist/{input-group-CiBbTaPP.js → input-group-BAg6iSIe.js} +2 -2
- package/dist/{input-group-CiBbTaPP.js.map → input-group-BAg6iSIe.js.map} +1 -1
- package/dist/{input-group-DSW5WoSU.cjs → input-group-DRXUthxe.cjs} +2 -2
- package/dist/{input-group-DSW5WoSU.cjs.map → input-group-DRXUthxe.cjs.map} +1 -1
- package/dist/keyboard/keyboard-dispatcher.cjs.js +2 -4
- package/dist/keyboard/keyboard-dispatcher.cjs.js.map +1 -1
- package/dist/keyboard/keyboard-dispatcher.es.js +2 -4
- package/dist/keyboard/keyboard-dispatcher.es.js.map +1 -1
- package/dist/keyboard/keyboard-shortcuts-context.cjs.js.map +1 -1
- package/dist/keyboard/keyboard-shortcuts-context.es.js.map +1 -1
- package/dist/keyboard/use-keydown.cjs.js +2 -0
- package/dist/keyboard/use-keydown.cjs.js.map +1 -1
- package/dist/keyboard/use-keydown.es.js +2 -0
- package/dist/keyboard/use-keydown.es.js.map +1 -1
- package/dist/layout/tabbed-container.cjs.js +4 -4
- package/dist/layout/tabbed-container.es.js +4 -4
- package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
- package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/array-wrapper.es.js +1 -1
- package/dist/lib/form/components/date-field.cjs.js +1 -1
- package/dist/lib/form/components/date-field.es.js +1 -1
- package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
- package/dist/lib/form/components/form-submit-row.es.js +1 -1
- package/dist/lib/form/components/record-field.cjs.js +1 -1
- package/dist/lib/form/components/record-field.es.js +1 -1
- 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/submit-button.cjs.js +1 -1
- package/dist/lib/form/components/submit-button.es.js +1 -1
- package/dist/lib/form/zod-provider.cjs.js.map +1 -1
- package/dist/lib/form/zod-provider.es.js.map +1 -1
- package/dist/{list-search-D3I6xt0B.js → list-search-ByJdIxIh.js} +2 -2
- package/dist/{list-search-D3I6xt0B.js.map → list-search-ByJdIxIh.js.map} +1 -1
- package/dist/{list-search-DHiQ1-O6.cjs → list-search-DNJVeHmK.cjs} +2 -2
- package/dist/{list-search-DHiQ1-O6.cjs.map → list-search-DNJVeHmK.cjs.map} +1 -1
- package/dist/{logs-data-list-Cb85LPcT.js → logs-data-list-CGerYgSd.js} +2 -3
- package/dist/{logs-data-list-Cb85LPcT.js.map → logs-data-list-CGerYgSd.js.map} +1 -1
- package/dist/{logs-data-list-DlQxxrNw.cjs → logs-data-list-DEZuSjqt.cjs} +21 -22
- package/dist/{logs-data-list-DlQxxrNw.cjs.map → logs-data-list-DEZuSjqt.cjs.map} +1 -1
- package/dist/{markdown-renderer-HIfFphpI.cjs → markdown-renderer-BcpwvSl9.cjs} +3 -3
- package/dist/{markdown-renderer-HIfFphpI.cjs.map → markdown-renderer-BcpwvSl9.cjs.map} +1 -1
- package/dist/{markdown-renderer-BYxWiHRj.js → markdown-renderer-CHLpv5n5.js} +3 -3
- package/dist/{markdown-renderer-BYxWiHRj.js.map → markdown-renderer-CHLpv5n5.js.map} +1 -1
- package/dist/{message-copy-button-CnVgCy9y.cjs → message-copy-button-D3O4hWDV.cjs} +2 -2
- package/dist/{message-copy-button-CnVgCy9y.cjs.map → message-copy-button-D3O4hWDV.cjs.map} +1 -1
- package/dist/{message-copy-button-Ctew41Rr.js → message-copy-button-OI1mwAaS.js} +2 -2
- package/dist/{message-copy-button-Ctew41Rr.js.map → message-copy-button-OI1mwAaS.js.map} +1 -1
- package/dist/{metrics-card-DaFApxZY.cjs → metrics-card-CpjGYNBP.cjs} +2 -2
- package/dist/{metrics-card-DaFApxZY.cjs.map → metrics-card-CpjGYNBP.cjs.map} +1 -1
- package/dist/{metrics-card-Z_moDiV5.js → metrics-card-D6ty6a6Z.js} +2 -2
- package/dist/{metrics-card-Z_moDiV5.js.map → metrics-card-D6ty6a6Z.js.map} +1 -1
- package/dist/{notification-activity-MR63WqZm.cjs → notification-activity-BSNuqJDd.cjs} +2 -2
- package/dist/{notification-activity-MR63WqZm.cjs.map → notification-activity-BSNuqJDd.cjs.map} +1 -1
- package/dist/{notification-activity-FJcMFxIj.js → notification-activity-BWXHmlTn.js} +2 -2
- package/dist/{notification-activity-FJcMFxIj.js.map → notification-activity-BWXHmlTn.js.map} +1 -1
- package/dist/{plan-BoOK_LAB.cjs → plan-Cm3yHvs3.cjs} +4 -4
- package/dist/{plan-BoOK_LAB.cjs.map → plan-Cm3yHvs3.cjs.map} +1 -1
- package/dist/{plan-m0hj6Zgv.js → plan-TtrepVnQ.js} +4 -4
- package/dist/{plan-m0hj6Zgv.js.map → plan-TtrepVnQ.js.map} +1 -1
- package/dist/primitives/form-element.cjs.js.map +1 -1
- package/dist/primitives/form-element.es.js.map +1 -1
- package/dist/primitives/menu-item.cjs.js +4 -2
- package/dist/primitives/menu-item.cjs.js.map +1 -1
- package/dist/primitives/menu-item.es.js +4 -2
- package/dist/primitives/menu-item.es.js.map +1 -1
- package/dist/primitives/popup-anchor.cjs.js +34 -0
- package/dist/primitives/popup-anchor.cjs.js.map +1 -0
- package/dist/primitives/popup-anchor.d.ts +2 -0
- package/dist/primitives/popup-anchor.es.js +10 -0
- package/dist/primitives/popup-anchor.es.js.map +1 -0
- package/dist/primitives/trigger-button.cjs.js +1 -1
- package/dist/primitives/trigger-button.es.js +1 -1
- package/dist/{property-filter-applied-J9ob_Rss.js → property-filter-applied-BMmMf4DE.js} +2 -2
- package/dist/property-filter-applied-BMmMf4DE.js.map +1 -0
- package/dist/{property-filter-applied-CtSglSaH.cjs → property-filter-applied-Bj-bh9gv.cjs} +2 -2
- package/dist/property-filter-applied-Bj-bh9gv.cjs.map +1 -0
- package/dist/{reasoning-activity-5MFE3mzw.js → reasoning-activity-C-sJt2A9.js} +3 -3
- package/dist/{reasoning-activity-5MFE3mzw.js.map → reasoning-activity-C-sJt2A9.js.map} +1 -1
- package/dist/{reasoning-activity-DMvughvN.cjs → reasoning-activity-DpYFjxuL.cjs} +3 -3
- package/dist/{reasoning-activity-DMvughvN.cjs.map → reasoning-activity-DpYFjxuL.cjs.map} +1 -1
- package/dist/resize/panel-drawer.cjs.js +1 -1
- package/dist/resize/panel-drawer.es.js +1 -1
- package/dist/{search-input-BPqubJZC.js → search-input-C9qFBzn6.js} +2 -2
- package/dist/{search-input-BPqubJZC.js.map → search-input-C9qFBzn6.js.map} +1 -1
- package/dist/{search-input-BUMYRaUW.cjs → search-input-CMNy0JWd.cjs} +2 -2
- package/dist/{search-input-BUMYRaUW.cjs.map → search-input-CMNy0JWd.cjs.map} +1 -1
- package/dist/section-CctlZIXp.cjs.map +1 -1
- package/dist/section-D0hKTVXt.js.map +1 -1
- package/dist/{select-CQtsggxJ.js → select-7rYaECQf.js} +2 -2
- package/dist/select-7rYaECQf.js.map +1 -0
- package/dist/{select-CbNLtiAs.cjs → select-A3AFKLd9.cjs} +2 -2
- package/dist/select-A3AFKLd9.cjs.map +1 -0
- package/dist/shimmer-BCSr3Rqf.js.map +1 -1
- package/dist/shimmer-Co-XPvF9.cjs.map +1 -1
- package/dist/{side-dialog-bm8NPDXy.js → side-dialog-DSvj8H6x.js} +4 -4
- package/dist/{side-dialog-bm8NPDXy.js.map → side-dialog-DSvj8H6x.js.map} +1 -1
- package/dist/{side-dialog-BzULMBaH.cjs → side-dialog-SJCWBnbw.cjs} +4 -4
- package/dist/{side-dialog-BzULMBaH.cjs.map → side-dialog-SJCWBnbw.cjs.map} +1 -1
- package/dist/{signal-activity-D-_u7DFm.cjs → signal-activity-C_bihjcd.cjs} +2 -2
- package/dist/{signal-activity-D-_u7DFm.cjs.map → signal-activity-C_bihjcd.cjs.map} +1 -1
- package/dist/{signal-activity-BkFexFiJ.js → signal-activity-J9kpnwAF.js} +2 -2
- package/dist/{signal-activity-BkFexFiJ.js.map → signal-activity-J9kpnwAF.js.map} +1 -1
- package/dist/{span-payload-primitives-wujxDKfA.cjs → span-payload-primitives-C0KYtmtV.cjs} +3 -3
- package/dist/{span-payload-primitives-wujxDKfA.cjs.map → span-payload-primitives-C0KYtmtV.cjs.map} +1 -1
- package/dist/{span-payload-primitives-jQiJK0qI.js → span-payload-primitives-D_N9LeLk.js} +3 -3
- package/dist/{span-payload-primitives-jQiJK0qI.js.map → span-payload-primitives-D_N9LeLk.js.map} +1 -1
- package/dist/src/domains/traces/components/span-rows.d.ts +2 -0
- package/dist/src/domains/traces/components/span-tree-rail.d.ts +23 -0
- package/dist/src/domains/traces/components/span-type-badge.d.ts +9 -0
- package/dist/src/domains/traces/components/timeline-name-col.d.ts +2 -2
- package/dist/src/domains/traces/components/timeline-structure-sign.d.ts +14 -1
- package/dist/src/domains/traces/components/trace-error-cell.d.ts +8 -0
- package/dist/src/domains/traces/components/trace-error-details.d.ts +10 -0
- package/dist/src/domains/traces/components/trace-error-summary.d.ts +8 -0
- package/dist/src/domains/traces/components/trace-span-tree-skeleton.d.ts +1 -1
- package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +1 -0
- package/dist/src/ds/components/Avatar/avatar-size.d.ts +1 -1
- package/dist/src/ds/components/Breadcrumb/crumb-switcher.d.ts +0 -1
- package/dist/src/ds/components/Button/Button.d.ts +1 -1
- package/dist/src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-context.d.ts +1 -2
- package/dist/src/ds/components/SavedViews/saved-view-editor.d.ts +1 -1
- package/dist/src/ds/components/Select/select.d.ts +1 -1
- package/dist/src/ds/primitives/popup-anchor.d.ts +4 -0
- package/dist/src/hooks/use-environment-variables-editor.d.ts +1 -1
- package/dist/src/lib/keyboard/keyboard-dispatcher.d.ts +2 -0
- package/dist/src/lib/keyboard/use-keydown.d.ts +8 -1
- package/dist/style.css +121 -143
- package/dist/{tabs-tab-DRaRUvQ3.cjs → tabs-tab-B0W25Dm2.cjs} +2 -2
- package/dist/{tabs-tab-DRaRUvQ3.cjs.map → tabs-tab-B0W25Dm2.cjs.map} +1 -1
- package/dist/{tabs-tab-CIVJEMoY.js → tabs-tab-CkLyKrL0.js} +2 -2
- package/dist/{tabs-tab-CIVJEMoY.js.map → tabs-tab-CkLyKrL0.js.map} +1 -1
- package/dist/{thread-list-BANpytn3.cjs → thread-list-BBPZYHh8.cjs} +2 -2
- package/dist/thread-list-BBPZYHh8.cjs.map +1 -0
- package/dist/{thread-list-lXnXsPul.js → thread-list-BGjKZfEH.js} +2 -2
- package/dist/thread-list-BGjKZfEH.js.map +1 -0
- package/dist/{time-picker-BpCfTfoe.js → time-picker-Bzdboi4W.js} +2 -2
- package/dist/{time-picker-BpCfTfoe.js.map → time-picker-Bzdboi4W.js.map} +1 -1
- package/dist/{time-picker-DhekkO5t.cjs → time-picker-CyvG-fwX.cjs} +2 -2
- package/dist/{time-picker-DhekkO5t.cjs.map → time-picker-CyvG-fwX.cjs.map} +1 -1
- package/dist/{tool-approval-BrqoN_mP.js → tool-approval-P8rUFAYp.js} +4 -4
- package/dist/{tool-approval-BrqoN_mP.js.map → tool-approval-P8rUFAYp.js.map} +1 -1
- package/dist/{tool-approval-zBfJ20iR.cjs → tool-approval-zhWdp8i6.cjs} +4 -4
- package/dist/{tool-approval-zBfJ20iR.cjs.map → tool-approval-zhWdp8i6.cjs.map} +1 -1
- package/dist/{tool-call-arguments-DwMeGQHD.cjs → tool-call-arguments-DzpFckIm.cjs} +3 -3
- package/dist/{tool-call-arguments-DwMeGQHD.cjs.map → tool-call-arguments-DzpFckIm.cjs.map} +1 -1
- package/dist/{tool-call-arguments-Dx4LW1Ni.js → tool-call-arguments-goEdIs4f.js} +3 -3
- package/dist/{tool-call-arguments-Dx4LW1Ni.js.map → tool-call-arguments-goEdIs4f.js.map} +1 -1
- package/dist/{tool-call-group-DJsiIb-B.cjs → tool-call-group-C56oARyx.cjs} +4 -4
- package/dist/tool-call-group-C56oARyx.cjs.map +1 -0
- package/dist/{tool-call-group-ZDNZog5K.js → tool-call-group-DU4T72Xn.js} +4 -4
- package/dist/tool-call-group-DU4T72Xn.js.map +1 -0
- package/dist/{tool-call-mono-Bs7y-1Cq.js → tool-call-mono-DPW6hN91.js} +2 -2
- package/dist/{tool-call-mono-Bs7y-1Cq.js.map → tool-call-mono-DPW6hN91.js.map} +1 -1
- package/dist/{tool-call-mono-I-vdqzCe.cjs → tool-call-mono-aheL8CkL.cjs} +2 -2
- package/dist/{tool-call-mono-I-vdqzCe.cjs.map → tool-call-mono-aheL8CkL.cjs.map} +1 -1
- package/dist/{tool-call-output-Dd8zlhLd.js → tool-call-output-BQYzMMMi.js} +2 -2
- package/dist/{tool-call-output-Dd8zlhLd.js.map → tool-call-output-BQYzMMMi.js.map} +1 -1
- package/dist/{tool-call-output-BrNg0Lkd.cjs → tool-call-output-CuwM5IHd.cjs} +2 -2
- package/dist/{tool-call-output-BrNg0Lkd.cjs.map → tool-call-output-CuwM5IHd.cjs.map} +1 -1
- package/dist/{tool-card-D4yrR2AE.js → tool-card-aclA3iVz.js} +4 -4
- package/dist/{tool-card-D4yrR2AE.js.map → tool-card-aclA3iVz.js.map} +1 -1
- package/dist/{tool-card-D6UdNzIX.cjs → tool-card-yii3vGHu.cjs} +4 -4
- package/dist/{tool-card-D6UdNzIX.cjs.map → tool-card-yii3vGHu.cjs.map} +1 -1
- package/dist/{traces-data-list-Bhhg9drs.cjs → traces-data-list-Co9k5J4f.cjs} +18 -20
- package/dist/{traces-data-list-Bhhg9drs.cjs.map → traces-data-list-Co9k5J4f.cjs.map} +1 -1
- package/dist/{traces-data-list-DMWPJFBc.js → traces-data-list-TCKjOldO.js} +2 -4
- package/dist/{traces-data-list-DMWPJFBc.js.map → traces-data-list-TCKjOldO.js.map} +1 -1
- package/dist/use-data-list-keyboard-DF3tLe10.cjs.map +1 -1
- package/dist/use-data-list-keyboard-DFQr4t38.js.map +1 -1
- package/dist/{use-workflow-graph-runtime-DF-56pIR.cjs → use-workflow-graph-runtime-DcQD5eA6.cjs} +3 -3
- package/dist/{use-workflow-graph-runtime-DF-56pIR.cjs.map → use-workflow-graph-runtime-DcQD5eA6.cjs.map} +1 -1
- package/dist/{use-workflow-graph-runtime-BrHXo49Q.js → use-workflow-graph-runtime-xq_aSXPh.js} +3 -3
- package/dist/{use-workflow-graph-runtime-BrHXo49Q.js.map → use-workflow-graph-runtime-xq_aSXPh.js.map} +1 -1
- package/dist/utils/workspace-compat.cjs.js.map +1 -1
- package/dist/utils/workspace-compat.es.js.map +1 -1
- package/dist/{workflow-code-dialog-content-CfVy6bGG.cjs → workflow-code-dialog-content-B_BQCuFW.cjs} +3 -3
- package/dist/{workflow-code-dialog-content-CfVy6bGG.cjs.map → workflow-code-dialog-content-B_BQCuFW.cjs.map} +1 -1
- package/dist/{workflow-code-dialog-content-DviJz1jB.js → workflow-code-dialog-content-CFEaeYUX.js} +3 -3
- package/dist/{workflow-code-dialog-content-DviJz1jB.js.map → workflow-code-dialog-content-CFEaeYUX.js.map} +1 -1
- package/dist/{workflow-condition-card-BRwhMmNO.cjs → workflow-condition-card-CMzoK307.cjs} +3 -3
- package/dist/{workflow-condition-card-BRwhMmNO.cjs.map → workflow-condition-card-CMzoK307.cjs.map} +1 -1
- package/dist/{workflow-condition-card-sFdOjlab.js → workflow-condition-card-CbQ4fCxY.js} +3 -3
- package/dist/{workflow-condition-card-sFdOjlab.js.map → workflow-condition-card-CbQ4fCxY.js.map} +1 -1
- package/dist/{workflow-data-edge-view-DpPhr9gZ.cjs → workflow-data-edge-view-0utEB4Yb.cjs} +2 -2
- package/dist/{workflow-data-edge-view-DpPhr9gZ.cjs.map → workflow-data-edge-view-0utEB4Yb.cjs.map} +1 -1
- package/dist/{workflow-data-edge-view-CuSzc6YI.js → workflow-data-edge-view-gwwJEvXz.js} +2 -2
- package/dist/{workflow-data-edge-view-CuSzc6YI.js.map → workflow-data-edge-view-gwwJEvXz.js.map} +1 -1
- package/dist/{workflow-debug-controls-CAn_6S8K.cjs → workflow-debug-controls-B5zqE_rm.cjs} +2 -2
- package/dist/{workflow-debug-controls-CAn_6S8K.cjs.map → workflow-debug-controls-B5zqE_rm.cjs.map} +1 -1
- package/dist/{workflow-debug-controls-CLzbxd5O.js → workflow-debug-controls-CPpdNzD9.js} +2 -2
- package/dist/{workflow-debug-controls-CLzbxd5O.js.map → workflow-debug-controls-CPpdNzD9.js.map} +1 -1
- package/dist/{workflow-edge-data-button-Dtt_OUz9.js → workflow-edge-data-button-YWjfx-W0.js} +4 -4
- package/dist/{workflow-edge-data-button-Dtt_OUz9.js.map → workflow-edge-data-button-YWjfx-W0.js.map} +1 -1
- package/dist/{workflow-edge-data-button-B8rQaAoK.cjs → workflow-edge-data-button-tDvziS5v.cjs} +4 -4
- package/dist/{workflow-edge-data-button-B8rQaAoK.cjs.map → workflow-edge-data-button-tDvziS5v.cjs.map} +1 -1
- package/dist/{workflow-step-action-DqFjktfs.js → workflow-step-action-D8MVfEIl.js} +2 -2
- package/dist/{workflow-step-action-DqFjktfs.js.map → workflow-step-action-D8MVfEIl.js.map} +1 -1
- package/dist/{workflow-step-action-Cu01omgz.cjs → workflow-step-action-DZgS0_fL.cjs} +2 -2
- package/dist/{workflow-step-action-Cu01omgz.cjs.map → workflow-step-action-DZgS0_fL.cjs.map} +1 -1
- package/package.json +11 -13
- package/theme/scale.css +7 -0
- package/dist/Avatar-98bsFrSV.js.map +0 -1
- package/dist/Avatar-BCj8SvOb.cjs.map +0 -1
- package/dist/Button-DH1aTzbs.cjs.map +0 -1
- package/dist/Button-EGoajBQY.js.map +0 -1
- package/dist/activity-2tovEdIP.cjs.map +0 -1
- package/dist/activity-CsTUr5_l.js.map +0 -1
- package/dist/ask-user-card-DroerVbm.cjs.map +0 -1
- package/dist/avatar-size-CNR0U-LW.js.map +0 -1
- package/dist/avatar-size-DxStOo5A.cjs.map +0 -1
- package/dist/combobox-BNlVCFgY.cjs.map +0 -1
- package/dist/combobox-Bw13EcK0.js.map +0 -1
- package/dist/command-UEPxVJlE.cjs.map +0 -1
- package/dist/command-V9rsKc7P.js.map +0 -1
- package/dist/data-keys-and-values-1lYi60YK.cjs.map +0 -1
- package/dist/data-keys-and-values-CHpxKsfq.js.map +0 -1
- package/dist/data-list-CmjTe8xE.cjs +0 -142
- package/dist/data-list-CmjTe8xE.cjs.map +0 -1
- package/dist/data-list-DT1LVR29.js +0 -138
- package/dist/data-list-DT1LVR29.js.map +0 -1
- package/dist/data-list-spacer-CdlT6bDd.cjs +0 -218
- package/dist/data-list-spacer-CdlT6bDd.cjs.map +0 -1
- package/dist/data-list-spacer-D--gDmOm.js +0 -209
- package/dist/data-list-spacer-D--gDmOm.js.map +0 -1
- package/dist/data-list-top-DJh08vFA.cjs.map +0 -1
- package/dist/data-list-top-T-mtdIUp.js.map +0 -1
- package/dist/data-panel-BkfjzriB.cjs.map +0 -1
- package/dist/data-panel-CMkR6Avv.js.map +0 -1
- package/dist/filter-bar-chip-BJJ6ytJ4.cjs.map +0 -1
- package/dist/filter-bar-chip-BarAq1S2.js.map +0 -1
- package/dist/property-filter-applied-CtSglSaH.cjs.map +0 -1
- package/dist/property-filter-applied-J9ob_Rss.js.map +0 -1
- package/dist/select-CQtsggxJ.js.map +0 -1
- package/dist/select-CbNLtiAs.cjs.map +0 -1
- package/dist/thread-list-BANpytn3.cjs.map +0 -1
- package/dist/thread-list-lXnXsPul.js.map +0 -1
- package/dist/tool-call-group-DJsiIb-B.cjs.map +0 -1
- package/dist/tool-call-group-ZDNZog5K.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-data-panel-view.cjs.js","sources":["../../../../src/domains/traces/components/span-data-panel-view.tsx"],"sourcesContent":["import { describeProcessorPipeline, describeSpanInput, describeSpanOutput } from '@mastra/core/observability';\nimport { BracesIcon, FileInputIcon, FileOutputIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport type { SpanRecord } from '../types';\nimport { getTokenLimitMessage, isTokenLimitExceeded } from '../utils/span-utils';\nimport {\n SpanErrorRenderer,\n SpanInputRenderer,\n SpanOutputRenderer,\n SpanPayloadSection,\n SpanProcessorAttributes,\n} from './span-payload';\nimport { asCoreSpan } from './span-payload/span-payload-registry';\nimport { SpanSummaryDescription } from './span-summary-description';\nimport { SpanTokenUsage } from './span-token-usage';\nimport type { TokenUsage } from './span-token-usage';\nimport { TraceIdButton } from './trace-id-button';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { DataPanel } from '@/ds/components/DataPanel';\nimport { Notice } from '@/ds/components/Notice';\nimport { Tab, TabContent, TabList, Tabs } from '@/ds/components/Tabs';\nimport { cn } from '@/lib/utils';\n\n// Mirrors `DataPanel.Content` padding without requiring the Drawer root (this view also renders standalone).\nconst BODY_CLASS = 'min-h-0 flex-1 overflow-y-auto px-2 py-3';\n\nexport interface SpanDataPanelViewProps {\n traceId: string;\n spanId: string;\n /** Full span record. Caller fetches via useSpanDetail. */\n span: SpanRecord | undefined;\n isLoading?: boolean;\n onPrevious?: () => void;\n onNext?: () => void;\n /** When provided, an × button in the header closes the span column. */\n onClose?: () => void;\n activeTab?: string;\n onTabChange?: (tab: string) => void;\n /**\n * When provided, a \"Feedback\" tab appears; the slot receives the loaded span and renders\n * whatever feedback UI the consumer wants.\n */\n feedbackTabSlot?: (args: { span: SpanRecord; traceId: string; spanId: string }) => ReactNode;\n /** Optional indicator rendered after the \"Feedback\" tab label (e.g. a needs-review dot). */\n feedbackTabBadge?: ReactNode;\n /**\n * Whether this span is the displayed root of the current view (trace root or\n * branch anchor). Controls visibility of trace-level metadata fields. Defaults\n * to `span.parentSpanId == null` (trace case) when omitted.\n */\n isAnchor?: boolean;\n /** Extra classes for the panel root (e.g. flattening the card when nested in the trace panel). */\n className?: string;\n}\n\nexport function SpanDataPanelView({\n traceId,\n spanId,\n span,\n isLoading,\n onPrevious,\n onNext,\n onClose,\n activeTab,\n onTabChange,\n feedbackTabSlot,\n feedbackTabBadge,\n isAnchor,\n className,\n}: SpanDataPanelViewProps) {\n // Not a DataPanel: this is the span column rendered inside `TraceDataPanelView`,\n // which already provides the panel chrome.\n return (\n <section className={cn('flex min-h-0 flex-1 flex-col overflow-hidden', className)}>\n <DataPanel.Header>\n <DataPanel.HeaderContent>\n <DataPanel.Heading>\n Span\n <TraceIdButton id={spanId} />\n </DataPanel.Heading>\n {span && <SpanSummaryDescription span={span} />}\n </DataPanel.HeaderContent>\n <DataPanel.HeaderActions>\n <DataPanel.NextPrevNav\n onPrevious={onPrevious}\n onNext={onNext}\n previousLabel=\"Go to previous span\"\n nextLabel=\"Go to next span\"\n />\n {onClose && <DataPanel.CloseButton icon=\"x\" onClick={onClose} label=\"Close span\" tooltip=\"Close span\" />}\n </DataPanel.HeaderActions>\n </DataPanel.Header>\n\n {isLoading ? (\n <DataPanel.LoadingData>Loading span details...</DataPanel.LoadingData>\n ) : !span ? (\n <DataPanel.NoData>Span not found.</DataPanel.NoData>\n ) : (\n <SpanDataPanelContent\n span={span}\n traceId={traceId}\n spanId={spanId}\n activeTab={activeTab}\n onTabChange={onTabChange}\n feedbackTabSlot={feedbackTabSlot}\n feedbackTabBadge={feedbackTabBadge}\n isAnchor={isAnchor}\n />\n )}\n </section>\n );\n}\n\nfunction SpanDataPanelContent({\n span,\n traceId,\n spanId,\n activeTab,\n onTabChange,\n feedbackTabSlot,\n feedbackTabBadge,\n isAnchor,\n}: {\n span: SpanRecord;\n traceId: string;\n spanId: string;\n activeTab?: string;\n onTabChange?: (tab: string) => void;\n feedbackTabSlot?: (args: { span: SpanRecord; traceId: string; spanId: string }) => ReactNode;\n feedbackTabBadge?: ReactNode;\n isAnchor?: boolean;\n}) {\n const usage = span.attributes?.usage as TokenUsage | undefined;\n const hasContext =\n (isAnchor ?? span.parentSpanId == null) &&\n Boolean(\n span.tags?.length || span.sessionId || span.requestId || span.userId || span.organizationId || span.experimentId,\n );\n\n const detailsBody = (\n <>\n {isTokenLimitExceeded(span) && (\n <div className=\"mb-3\">\n <Notice variant=\"warning\" title=\"Token Limit Exceeded\">\n <Notice.Message>{getTokenLimitMessage(span)}</Notice.Message>\n </Notice>\n </div>\n )}\n\n <SpanPayloadSection title=\"Error\" raw={span.error} className=\"mb-3\">\n <SpanErrorRenderer span={span} />\n </SpanPayloadSection>\n\n {usage && <SpanTokenUsage usage={usage} className=\"mb-3\" />}\n\n {hasContext && (\n <DataKeysAndValues>\n {/* Anchor-only: rich trace-context fields. Live on the full SpanRecord, not on the\n * lightweight payload, so they only have values once the full span is loaded. */}\n {(isAnchor ?? span.parentSpanId == null) && (\n <>\n {span.tags && span.tags.length > 0 && (\n <>\n <DataKeysAndValues.Key>Tags</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{span.tags.join(', ')}</DataKeysAndValues.Value>\n </>\n )}\n {span.sessionId && (\n <>\n <DataKeysAndValues.Key>Session Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Session Id to clipboard\"\n copyValue={span.sessionId}\n >\n {span.sessionId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.requestId && (\n <>\n <DataKeysAndValues.Key>Request Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Request Id to clipboard\"\n copyValue={span.requestId}\n >\n {span.requestId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.userId && (\n <>\n <DataKeysAndValues.Key>User Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn copyTooltip=\"Copy User Id to clipboard\" copyValue={span.userId}>\n {span.userId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.organizationId && (\n <>\n <DataKeysAndValues.Key>Organization Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Organization Id to clipboard\"\n copyValue={span.organizationId}\n >\n {span.organizationId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.experimentId && (\n <>\n <DataKeysAndValues.Key>Experiment Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Experiment Id to clipboard\"\n copyValue={span.experimentId}\n >\n {span.experimentId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n </>\n )}\n </DataKeysAndValues>\n )}\n\n <div className={cn('grid gap-4', hasContext && 'mt-4')}>\n <SpanPayloadSection\n title=\"Input\"\n icon={<FileInputIcon />}\n raw={span.input}\n hasPreview={describeSpanInput(asCoreSpan(span))?.type !== 'json'}\n >\n <SpanInputRenderer span={span} />\n </SpanPayloadSection>\n <SpanPayloadSection\n title=\"Output\"\n icon={<FileOutputIcon />}\n raw={span.output}\n hasPreview={describeSpanOutput(asCoreSpan(span))?.type !== 'json'}\n >\n <SpanOutputRenderer span={span} />\n </SpanPayloadSection>\n <SpanPayloadSection title=\"Metadata\" icon={<BracesIcon />} raw={span.metadata} hasPreview={false}>\n {null}\n </SpanPayloadSection>\n <SpanPayloadSection\n title=\"Attributes\"\n icon={<BracesIcon />}\n raw={span.attributes}\n hasPreview={describeProcessorPipeline(asCoreSpan(span)) !== undefined}\n >\n <SpanProcessorAttributes span={span} />\n </SpanPayloadSection>\n </div>\n </>\n );\n\n // No extra tab slots → render details directly without the Tabs/TabList wrapper.\n if (!feedbackTabSlot) {\n return <div className={BODY_CLASS}>{detailsBody}</div>;\n }\n\n // Same chrome as the trace column: tab list in a header row, content scrolling beneath it.\n return (\n <Tabs\n defaultTab=\"details\"\n value={activeTab}\n onValueChange={onTabChange}\n className=\"grid min-h-0 flex-1 grid-rows-[auto_1fr]\"\n >\n <DataPanel.Header>\n <TabList variant=\"pill-ghost\" size=\"sm\">\n <Tab value=\"details\">Details</Tab>\n <Tab value=\"feedback\">Feedback{feedbackTabBadge != null && <> ({feedbackTabBadge})</>}</Tab>\n </TabList>\n </DataPanel.Header>\n\n <TabContent value=\"details\" flush>\n <div className={BODY_CLASS}>{detailsBody}</div>\n </TabContent>\n <TabContent value=\"feedback\" flush>\n <div className={BODY_CLASS}>{feedbackTabSlot({ span, traceId, spanId })}</div>\n </TabContent>\n </Tabs>\n );\n}\n"],"names":["cn","jsxs","DataPanel","jsx","TraceIdButton","SpanSummaryDescription","Fragment","isTokenLimitExceeded","Notice","SpanPayloadSection","SpanErrorRenderer","SpanTokenUsage","DataKeysAndValues","FileInputIcon","describeSpanInput","asCoreSpan","SpanInputRenderer","FileOutputIcon","describeSpanOutput","SpanOutputRenderer","BracesIcon","describeProcessorPipeline","SpanProcessorAttributes","Tabs","TabList","Tab","TabContent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"span-data-panel-view.cjs.js","sources":["../../../../src/domains/traces/components/span-data-panel-view.tsx"],"sourcesContent":["import { describeProcessorPipeline, describeSpanInput, describeSpanOutput } from '@mastra/core/observability';\nimport { BracesIcon, FileInputIcon, FileOutputIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport type { SpanRecord } from '../types';\nimport { getTokenLimitMessage, isTokenLimitExceeded } from '../utils/span-utils';\nimport {\n SpanErrorRenderer,\n SpanInputRenderer,\n SpanOutputRenderer,\n SpanPayloadSection,\n SpanProcessorAttributes,\n} from './span-payload';\nimport { asCoreSpan } from './span-payload/span-payload-registry';\nimport { SpanSummaryDescription } from './span-summary-description';\nimport { SpanTokenUsage } from './span-token-usage';\nimport type { TokenUsage } from './span-token-usage';\nimport { TraceIdButton } from './trace-id-button';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { DataPanel } from '@/ds/components/DataPanel';\nimport { Notice } from '@/ds/components/Notice';\nimport { Tab, TabContent, TabList, Tabs } from '@/ds/components/Tabs';\nimport { cn } from '@/lib/utils';\n\n// Mirrors `DataPanel.Content` padding without requiring the Drawer root (this view also renders standalone).\nconst BODY_CLASS = 'min-h-0 flex-1 overflow-y-auto px-2 py-3';\n\nexport interface SpanDataPanelViewProps {\n traceId: string;\n spanId: string;\n /** Full span record. Caller fetches via useSpanDetail. */\n span: SpanRecord | undefined;\n isLoading?: boolean;\n onPrevious?: () => void;\n onNext?: () => void;\n /** When provided, an × button in the header closes the span column. */\n onClose?: () => void;\n activeTab?: string;\n onTabChange?: (tab: string) => void;\n /**\n * When provided, a \"Feedback\" tab appears; the slot receives the loaded span and renders\n * whatever feedback UI the consumer wants.\n */\n feedbackTabSlot?: (args: { span: SpanRecord; traceId: string; spanId: string }) => ReactNode;\n /** Optional indicator rendered after the \"Feedback\" tab label (e.g. a needs-review dot). */\n feedbackTabBadge?: ReactNode;\n /**\n * Whether this span is the displayed root of the current view (trace root or\n * branch anchor). Controls visibility of trace-level metadata fields. Defaults\n * to `span.parentSpanId == null` (trace case) when omitted.\n */\n isAnchor?: boolean;\n /** Extra classes for the panel root (e.g. flattening the card when nested in the trace panel). */\n className?: string;\n}\n\nexport function SpanDataPanelView({\n traceId,\n spanId,\n span,\n isLoading,\n onPrevious,\n onNext,\n onClose,\n activeTab,\n onTabChange,\n feedbackTabSlot,\n feedbackTabBadge,\n isAnchor,\n className,\n}: SpanDataPanelViewProps) {\n // Not a DataPanel: this is the span column rendered inside `TraceDataPanelView`,\n // which already provides the panel chrome.\n return (\n <section className={cn('flex min-h-0 flex-1 flex-col overflow-hidden', className)}>\n <DataPanel.Header>\n <DataPanel.HeaderContent>\n <DataPanel.Heading>\n Span\n <TraceIdButton id={spanId} />\n </DataPanel.Heading>\n {span && <SpanSummaryDescription span={span} />}\n </DataPanel.HeaderContent>\n <DataPanel.HeaderActions>\n <DataPanel.NextPrevNav\n onPrevious={onPrevious}\n onNext={onNext}\n previousLabel=\"Go to previous span\"\n nextLabel=\"Go to next span\"\n />\n {onClose && <DataPanel.CloseButton icon=\"x\" onClick={onClose} label=\"Close span\" tooltip=\"Close span\" />}\n </DataPanel.HeaderActions>\n </DataPanel.Header>\n\n {isLoading ? (\n <DataPanel.LoadingData>Loading span details...</DataPanel.LoadingData>\n ) : !span ? (\n <DataPanel.NoData>Span not found.</DataPanel.NoData>\n ) : (\n <SpanDataPanelContent\n span={span}\n traceId={traceId}\n spanId={spanId}\n activeTab={activeTab}\n onTabChange={onTabChange}\n feedbackTabSlot={feedbackTabSlot}\n feedbackTabBadge={feedbackTabBadge}\n isAnchor={isAnchor}\n />\n )}\n </section>\n );\n}\n\nfunction SpanDataPanelContent({\n span,\n traceId,\n spanId,\n activeTab,\n onTabChange,\n feedbackTabSlot,\n feedbackTabBadge,\n isAnchor,\n}: {\n span: SpanRecord;\n traceId: string;\n spanId: string;\n activeTab?: string;\n onTabChange?: (tab: string) => void;\n feedbackTabSlot?: (args: { span: SpanRecord; traceId: string; spanId: string }) => ReactNode;\n feedbackTabBadge?: ReactNode;\n isAnchor?: boolean;\n}) {\n // oxlint-disable-next-line typescript/no-unnecessary-type-assertion -- Built SDK declarations type attributes.usage as unknown.\n const usage = span.attributes?.usage as TokenUsage | undefined;\n const hasContext =\n (isAnchor ?? span.parentSpanId == null) &&\n Boolean(\n span.tags?.length || span.sessionId || span.requestId || span.userId || span.organizationId || span.experimentId,\n );\n\n const detailsBody = (\n <>\n {isTokenLimitExceeded(span) && (\n <div className=\"mb-3\">\n <Notice variant=\"warning\" title=\"Token Limit Exceeded\">\n <Notice.Message>{getTokenLimitMessage(span)}</Notice.Message>\n </Notice>\n </div>\n )}\n\n <SpanPayloadSection title=\"Error\" raw={span.error} className=\"mb-3\">\n <SpanErrorRenderer span={span} />\n </SpanPayloadSection>\n\n {usage && <SpanTokenUsage usage={usage} className=\"mb-3\" />}\n\n {hasContext && (\n <DataKeysAndValues>\n {/* Anchor-only: rich trace-context fields. Live on the full SpanRecord, not on the\n * lightweight payload, so they only have values once the full span is loaded. */}\n {(isAnchor ?? span.parentSpanId == null) && (\n <>\n {span.tags && span.tags.length > 0 && (\n <>\n <DataKeysAndValues.Key>Tags</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{span.tags.join(', ')}</DataKeysAndValues.Value>\n </>\n )}\n {span.sessionId && (\n <>\n <DataKeysAndValues.Key>Session Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Session Id to clipboard\"\n copyValue={span.sessionId}\n >\n {span.sessionId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.requestId && (\n <>\n <DataKeysAndValues.Key>Request Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Request Id to clipboard\"\n copyValue={span.requestId}\n >\n {span.requestId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.userId && (\n <>\n <DataKeysAndValues.Key>User Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn copyTooltip=\"Copy User Id to clipboard\" copyValue={span.userId}>\n {span.userId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.organizationId && (\n <>\n <DataKeysAndValues.Key>Organization Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Organization Id to clipboard\"\n copyValue={span.organizationId}\n >\n {span.organizationId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.experimentId && (\n <>\n <DataKeysAndValues.Key>Experiment Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Experiment Id to clipboard\"\n copyValue={span.experimentId}\n >\n {span.experimentId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n </>\n )}\n </DataKeysAndValues>\n )}\n\n <div className={cn('grid gap-4', hasContext && 'mt-4')}>\n <SpanPayloadSection\n title=\"Input\"\n icon={<FileInputIcon />}\n raw={span.input}\n hasPreview={describeSpanInput(asCoreSpan(span))?.type !== 'json'}\n >\n <SpanInputRenderer span={span} />\n </SpanPayloadSection>\n <SpanPayloadSection\n title=\"Output\"\n icon={<FileOutputIcon />}\n raw={span.output}\n hasPreview={describeSpanOutput(asCoreSpan(span))?.type !== 'json'}\n >\n <SpanOutputRenderer span={span} />\n </SpanPayloadSection>\n <SpanPayloadSection title=\"Metadata\" icon={<BracesIcon />} raw={span.metadata} hasPreview={false}>\n {null}\n </SpanPayloadSection>\n <SpanPayloadSection\n title=\"Attributes\"\n icon={<BracesIcon />}\n raw={span.attributes}\n hasPreview={describeProcessorPipeline(asCoreSpan(span)) !== undefined}\n >\n <SpanProcessorAttributes span={span} />\n </SpanPayloadSection>\n </div>\n </>\n );\n\n // No extra tab slots → render details directly without the Tabs/TabList wrapper.\n if (!feedbackTabSlot) {\n return <div className={BODY_CLASS}>{detailsBody}</div>;\n }\n\n // Same chrome as the trace column: tab list in a header row, content scrolling beneath it.\n return (\n <Tabs\n defaultTab=\"details\"\n value={activeTab}\n onValueChange={onTabChange}\n className=\"grid min-h-0 flex-1 grid-rows-[auto_1fr]\"\n >\n <DataPanel.Header>\n <TabList variant=\"pill-ghost\" size=\"sm\">\n <Tab value=\"details\">Details</Tab>\n <Tab value=\"feedback\">Feedback{feedbackTabBadge != null && <> ({feedbackTabBadge})</>}</Tab>\n </TabList>\n </DataPanel.Header>\n\n <TabContent value=\"details\" flush>\n <div className={BODY_CLASS}>{detailsBody}</div>\n </TabContent>\n <TabContent value=\"feedback\" flush>\n <div className={BODY_CLASS}>{feedbackTabSlot({ span, traceId, spanId })}</div>\n </TabContent>\n </Tabs>\n );\n}\n"],"names":["cn","jsxs","DataPanel","jsx","TraceIdButton","SpanSummaryDescription","Fragment","isTokenLimitExceeded","Notice","SpanPayloadSection","SpanErrorRenderer","SpanTokenUsage","DataKeysAndValues","FileInputIcon","describeSpanInput","asCoreSpan","SpanInputRenderer","FileOutputIcon","describeSpanOutput","SpanOutputRenderer","BracesIcon","describeProcessorPipeline","SpanProcessorAttributes","Tabs","TabList","Tab","TabContent"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import { c as cn } from '../../../cn-CQUhN5Jx.js';
|
|
|
11
11
|
import 'react';
|
|
12
12
|
import '../../chat/attachments/composer-attachment-context.es.js';
|
|
13
13
|
import '@base-ui/react/use-render';
|
|
14
|
-
import '../../../Button-
|
|
14
|
+
import '../../../Button-D8a5EWJ5.js';
|
|
15
15
|
import '../../chat/context/chat-context.es.js';
|
|
16
16
|
import './span-payload/span-payload-processor.es.js';
|
|
17
17
|
import { SpanProcessorAttributes } from './span-payload/span-processor-attributes.es.js';
|
|
@@ -19,12 +19,12 @@ import { asCoreSpan } from './span-payload/span-payload-registry.es.js';
|
|
|
19
19
|
import { SpanSummaryDescription } from './span-summary-description.es.js';
|
|
20
20
|
import { SpanTokenUsage } from './span-token-usage.es.js';
|
|
21
21
|
import { TraceIdButton } from './trace-id-button.es.js';
|
|
22
|
-
import { D as DataKeysAndValues } from '../../../data-keys-and-values-
|
|
23
|
-
import { D as DataPanel } from '../../../data-panel-
|
|
22
|
+
import { D as DataKeysAndValues } from '../../../data-keys-and-values-DHp6cHJo.js';
|
|
23
|
+
import { D as DataPanel } from '../../../data-panel-DjtnX70w.js';
|
|
24
24
|
import { N as Notice } from '../../../Notice-BioYTS4b.js';
|
|
25
25
|
import { T as Tabs } from '../../../tabs-root-CI7WQrJF.js';
|
|
26
26
|
import { T as TabList } from '../../../tabs-list-BCnrYcX1.js';
|
|
27
|
-
import { T as Tab } from '../../../tabs-tab-
|
|
27
|
+
import { T as Tab } from '../../../tabs-tab-CkLyKrL0.js';
|
|
28
28
|
import { T as TabContent } from '../../../tabs-content-DEnFKGyJ.js';
|
|
29
29
|
|
|
30
30
|
const BODY_CLASS = "min-h-0 flex-1 overflow-y-auto px-2 py-3";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-data-panel-view.es.js","sources":["../../../../src/domains/traces/components/span-data-panel-view.tsx"],"sourcesContent":["import { describeProcessorPipeline, describeSpanInput, describeSpanOutput } from '@mastra/core/observability';\nimport { BracesIcon, FileInputIcon, FileOutputIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport type { SpanRecord } from '../types';\nimport { getTokenLimitMessage, isTokenLimitExceeded } from '../utils/span-utils';\nimport {\n SpanErrorRenderer,\n SpanInputRenderer,\n SpanOutputRenderer,\n SpanPayloadSection,\n SpanProcessorAttributes,\n} from './span-payload';\nimport { asCoreSpan } from './span-payload/span-payload-registry';\nimport { SpanSummaryDescription } from './span-summary-description';\nimport { SpanTokenUsage } from './span-token-usage';\nimport type { TokenUsage } from './span-token-usage';\nimport { TraceIdButton } from './trace-id-button';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { DataPanel } from '@/ds/components/DataPanel';\nimport { Notice } from '@/ds/components/Notice';\nimport { Tab, TabContent, TabList, Tabs } from '@/ds/components/Tabs';\nimport { cn } from '@/lib/utils';\n\n// Mirrors `DataPanel.Content` padding without requiring the Drawer root (this view also renders standalone).\nconst BODY_CLASS = 'min-h-0 flex-1 overflow-y-auto px-2 py-3';\n\nexport interface SpanDataPanelViewProps {\n traceId: string;\n spanId: string;\n /** Full span record. Caller fetches via useSpanDetail. */\n span: SpanRecord | undefined;\n isLoading?: boolean;\n onPrevious?: () => void;\n onNext?: () => void;\n /** When provided, an × button in the header closes the span column. */\n onClose?: () => void;\n activeTab?: string;\n onTabChange?: (tab: string) => void;\n /**\n * When provided, a \"Feedback\" tab appears; the slot receives the loaded span and renders\n * whatever feedback UI the consumer wants.\n */\n feedbackTabSlot?: (args: { span: SpanRecord; traceId: string; spanId: string }) => ReactNode;\n /** Optional indicator rendered after the \"Feedback\" tab label (e.g. a needs-review dot). */\n feedbackTabBadge?: ReactNode;\n /**\n * Whether this span is the displayed root of the current view (trace root or\n * branch anchor). Controls visibility of trace-level metadata fields. Defaults\n * to `span.parentSpanId == null` (trace case) when omitted.\n */\n isAnchor?: boolean;\n /** Extra classes for the panel root (e.g. flattening the card when nested in the trace panel). */\n className?: string;\n}\n\nexport function SpanDataPanelView({\n traceId,\n spanId,\n span,\n isLoading,\n onPrevious,\n onNext,\n onClose,\n activeTab,\n onTabChange,\n feedbackTabSlot,\n feedbackTabBadge,\n isAnchor,\n className,\n}: SpanDataPanelViewProps) {\n // Not a DataPanel: this is the span column rendered inside `TraceDataPanelView`,\n // which already provides the panel chrome.\n return (\n <section className={cn('flex min-h-0 flex-1 flex-col overflow-hidden', className)}>\n <DataPanel.Header>\n <DataPanel.HeaderContent>\n <DataPanel.Heading>\n Span\n <TraceIdButton id={spanId} />\n </DataPanel.Heading>\n {span && <SpanSummaryDescription span={span} />}\n </DataPanel.HeaderContent>\n <DataPanel.HeaderActions>\n <DataPanel.NextPrevNav\n onPrevious={onPrevious}\n onNext={onNext}\n previousLabel=\"Go to previous span\"\n nextLabel=\"Go to next span\"\n />\n {onClose && <DataPanel.CloseButton icon=\"x\" onClick={onClose} label=\"Close span\" tooltip=\"Close span\" />}\n </DataPanel.HeaderActions>\n </DataPanel.Header>\n\n {isLoading ? (\n <DataPanel.LoadingData>Loading span details...</DataPanel.LoadingData>\n ) : !span ? (\n <DataPanel.NoData>Span not found.</DataPanel.NoData>\n ) : (\n <SpanDataPanelContent\n span={span}\n traceId={traceId}\n spanId={spanId}\n activeTab={activeTab}\n onTabChange={onTabChange}\n feedbackTabSlot={feedbackTabSlot}\n feedbackTabBadge={feedbackTabBadge}\n isAnchor={isAnchor}\n />\n )}\n </section>\n );\n}\n\nfunction SpanDataPanelContent({\n span,\n traceId,\n spanId,\n activeTab,\n onTabChange,\n feedbackTabSlot,\n feedbackTabBadge,\n isAnchor,\n}: {\n span: SpanRecord;\n traceId: string;\n spanId: string;\n activeTab?: string;\n onTabChange?: (tab: string) => void;\n feedbackTabSlot?: (args: { span: SpanRecord; traceId: string; spanId: string }) => ReactNode;\n feedbackTabBadge?: ReactNode;\n isAnchor?: boolean;\n}) {\n const usage = span.attributes?.usage as TokenUsage | undefined;\n const hasContext =\n (isAnchor ?? span.parentSpanId == null) &&\n Boolean(\n span.tags?.length || span.sessionId || span.requestId || span.userId || span.organizationId || span.experimentId,\n );\n\n const detailsBody = (\n <>\n {isTokenLimitExceeded(span) && (\n <div className=\"mb-3\">\n <Notice variant=\"warning\" title=\"Token Limit Exceeded\">\n <Notice.Message>{getTokenLimitMessage(span)}</Notice.Message>\n </Notice>\n </div>\n )}\n\n <SpanPayloadSection title=\"Error\" raw={span.error} className=\"mb-3\">\n <SpanErrorRenderer span={span} />\n </SpanPayloadSection>\n\n {usage && <SpanTokenUsage usage={usage} className=\"mb-3\" />}\n\n {hasContext && (\n <DataKeysAndValues>\n {/* Anchor-only: rich trace-context fields. Live on the full SpanRecord, not on the\n * lightweight payload, so they only have values once the full span is loaded. */}\n {(isAnchor ?? span.parentSpanId == null) && (\n <>\n {span.tags && span.tags.length > 0 && (\n <>\n <DataKeysAndValues.Key>Tags</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{span.tags.join(', ')}</DataKeysAndValues.Value>\n </>\n )}\n {span.sessionId && (\n <>\n <DataKeysAndValues.Key>Session Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Session Id to clipboard\"\n copyValue={span.sessionId}\n >\n {span.sessionId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.requestId && (\n <>\n <DataKeysAndValues.Key>Request Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Request Id to clipboard\"\n copyValue={span.requestId}\n >\n {span.requestId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.userId && (\n <>\n <DataKeysAndValues.Key>User Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn copyTooltip=\"Copy User Id to clipboard\" copyValue={span.userId}>\n {span.userId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.organizationId && (\n <>\n <DataKeysAndValues.Key>Organization Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Organization Id to clipboard\"\n copyValue={span.organizationId}\n >\n {span.organizationId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.experimentId && (\n <>\n <DataKeysAndValues.Key>Experiment Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Experiment Id to clipboard\"\n copyValue={span.experimentId}\n >\n {span.experimentId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n </>\n )}\n </DataKeysAndValues>\n )}\n\n <div className={cn('grid gap-4', hasContext && 'mt-4')}>\n <SpanPayloadSection\n title=\"Input\"\n icon={<FileInputIcon />}\n raw={span.input}\n hasPreview={describeSpanInput(asCoreSpan(span))?.type !== 'json'}\n >\n <SpanInputRenderer span={span} />\n </SpanPayloadSection>\n <SpanPayloadSection\n title=\"Output\"\n icon={<FileOutputIcon />}\n raw={span.output}\n hasPreview={describeSpanOutput(asCoreSpan(span))?.type !== 'json'}\n >\n <SpanOutputRenderer span={span} />\n </SpanPayloadSection>\n <SpanPayloadSection title=\"Metadata\" icon={<BracesIcon />} raw={span.metadata} hasPreview={false}>\n {null}\n </SpanPayloadSection>\n <SpanPayloadSection\n title=\"Attributes\"\n icon={<BracesIcon />}\n raw={span.attributes}\n hasPreview={describeProcessorPipeline(asCoreSpan(span)) !== undefined}\n >\n <SpanProcessorAttributes span={span} />\n </SpanPayloadSection>\n </div>\n </>\n );\n\n // No extra tab slots → render details directly without the Tabs/TabList wrapper.\n if (!feedbackTabSlot) {\n return <div className={BODY_CLASS}>{detailsBody}</div>;\n }\n\n // Same chrome as the trace column: tab list in a header row, content scrolling beneath it.\n return (\n <Tabs\n defaultTab=\"details\"\n value={activeTab}\n onValueChange={onTabChange}\n className=\"grid min-h-0 flex-1 grid-rows-[auto_1fr]\"\n >\n <DataPanel.Header>\n <TabList variant=\"pill-ghost\" size=\"sm\">\n <Tab value=\"details\">Details</Tab>\n <Tab value=\"feedback\">Feedback{feedbackTabBadge != null && <> ({feedbackTabBadge})</>}</Tab>\n </TabList>\n </DataPanel.Header>\n\n <TabContent value=\"details\" flush>\n <div className={BODY_CLASS}>{detailsBody}</div>\n </TabContent>\n <TabContent value=\"feedback\" flush>\n <div className={BODY_CLASS}>{feedbackTabSlot({ span, traceId, spanId })}</div>\n </TabContent>\n </Tabs>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"span-data-panel-view.es.js","sources":["../../../../src/domains/traces/components/span-data-panel-view.tsx"],"sourcesContent":["import { describeProcessorPipeline, describeSpanInput, describeSpanOutput } from '@mastra/core/observability';\nimport { BracesIcon, FileInputIcon, FileOutputIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport type { SpanRecord } from '../types';\nimport { getTokenLimitMessage, isTokenLimitExceeded } from '../utils/span-utils';\nimport {\n SpanErrorRenderer,\n SpanInputRenderer,\n SpanOutputRenderer,\n SpanPayloadSection,\n SpanProcessorAttributes,\n} from './span-payload';\nimport { asCoreSpan } from './span-payload/span-payload-registry';\nimport { SpanSummaryDescription } from './span-summary-description';\nimport { SpanTokenUsage } from './span-token-usage';\nimport type { TokenUsage } from './span-token-usage';\nimport { TraceIdButton } from './trace-id-button';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { DataPanel } from '@/ds/components/DataPanel';\nimport { Notice } from '@/ds/components/Notice';\nimport { Tab, TabContent, TabList, Tabs } from '@/ds/components/Tabs';\nimport { cn } from '@/lib/utils';\n\n// Mirrors `DataPanel.Content` padding without requiring the Drawer root (this view also renders standalone).\nconst BODY_CLASS = 'min-h-0 flex-1 overflow-y-auto px-2 py-3';\n\nexport interface SpanDataPanelViewProps {\n traceId: string;\n spanId: string;\n /** Full span record. Caller fetches via useSpanDetail. */\n span: SpanRecord | undefined;\n isLoading?: boolean;\n onPrevious?: () => void;\n onNext?: () => void;\n /** When provided, an × button in the header closes the span column. */\n onClose?: () => void;\n activeTab?: string;\n onTabChange?: (tab: string) => void;\n /**\n * When provided, a \"Feedback\" tab appears; the slot receives the loaded span and renders\n * whatever feedback UI the consumer wants.\n */\n feedbackTabSlot?: (args: { span: SpanRecord; traceId: string; spanId: string }) => ReactNode;\n /** Optional indicator rendered after the \"Feedback\" tab label (e.g. a needs-review dot). */\n feedbackTabBadge?: ReactNode;\n /**\n * Whether this span is the displayed root of the current view (trace root or\n * branch anchor). Controls visibility of trace-level metadata fields. Defaults\n * to `span.parentSpanId == null` (trace case) when omitted.\n */\n isAnchor?: boolean;\n /** Extra classes for the panel root (e.g. flattening the card when nested in the trace panel). */\n className?: string;\n}\n\nexport function SpanDataPanelView({\n traceId,\n spanId,\n span,\n isLoading,\n onPrevious,\n onNext,\n onClose,\n activeTab,\n onTabChange,\n feedbackTabSlot,\n feedbackTabBadge,\n isAnchor,\n className,\n}: SpanDataPanelViewProps) {\n // Not a DataPanel: this is the span column rendered inside `TraceDataPanelView`,\n // which already provides the panel chrome.\n return (\n <section className={cn('flex min-h-0 flex-1 flex-col overflow-hidden', className)}>\n <DataPanel.Header>\n <DataPanel.HeaderContent>\n <DataPanel.Heading>\n Span\n <TraceIdButton id={spanId} />\n </DataPanel.Heading>\n {span && <SpanSummaryDescription span={span} />}\n </DataPanel.HeaderContent>\n <DataPanel.HeaderActions>\n <DataPanel.NextPrevNav\n onPrevious={onPrevious}\n onNext={onNext}\n previousLabel=\"Go to previous span\"\n nextLabel=\"Go to next span\"\n />\n {onClose && <DataPanel.CloseButton icon=\"x\" onClick={onClose} label=\"Close span\" tooltip=\"Close span\" />}\n </DataPanel.HeaderActions>\n </DataPanel.Header>\n\n {isLoading ? (\n <DataPanel.LoadingData>Loading span details...</DataPanel.LoadingData>\n ) : !span ? (\n <DataPanel.NoData>Span not found.</DataPanel.NoData>\n ) : (\n <SpanDataPanelContent\n span={span}\n traceId={traceId}\n spanId={spanId}\n activeTab={activeTab}\n onTabChange={onTabChange}\n feedbackTabSlot={feedbackTabSlot}\n feedbackTabBadge={feedbackTabBadge}\n isAnchor={isAnchor}\n />\n )}\n </section>\n );\n}\n\nfunction SpanDataPanelContent({\n span,\n traceId,\n spanId,\n activeTab,\n onTabChange,\n feedbackTabSlot,\n feedbackTabBadge,\n isAnchor,\n}: {\n span: SpanRecord;\n traceId: string;\n spanId: string;\n activeTab?: string;\n onTabChange?: (tab: string) => void;\n feedbackTabSlot?: (args: { span: SpanRecord; traceId: string; spanId: string }) => ReactNode;\n feedbackTabBadge?: ReactNode;\n isAnchor?: boolean;\n}) {\n // oxlint-disable-next-line typescript/no-unnecessary-type-assertion -- Built SDK declarations type attributes.usage as unknown.\n const usage = span.attributes?.usage as TokenUsage | undefined;\n const hasContext =\n (isAnchor ?? span.parentSpanId == null) &&\n Boolean(\n span.tags?.length || span.sessionId || span.requestId || span.userId || span.organizationId || span.experimentId,\n );\n\n const detailsBody = (\n <>\n {isTokenLimitExceeded(span) && (\n <div className=\"mb-3\">\n <Notice variant=\"warning\" title=\"Token Limit Exceeded\">\n <Notice.Message>{getTokenLimitMessage(span)}</Notice.Message>\n </Notice>\n </div>\n )}\n\n <SpanPayloadSection title=\"Error\" raw={span.error} className=\"mb-3\">\n <SpanErrorRenderer span={span} />\n </SpanPayloadSection>\n\n {usage && <SpanTokenUsage usage={usage} className=\"mb-3\" />}\n\n {hasContext && (\n <DataKeysAndValues>\n {/* Anchor-only: rich trace-context fields. Live on the full SpanRecord, not on the\n * lightweight payload, so they only have values once the full span is loaded. */}\n {(isAnchor ?? span.parentSpanId == null) && (\n <>\n {span.tags && span.tags.length > 0 && (\n <>\n <DataKeysAndValues.Key>Tags</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{span.tags.join(', ')}</DataKeysAndValues.Value>\n </>\n )}\n {span.sessionId && (\n <>\n <DataKeysAndValues.Key>Session Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Session Id to clipboard\"\n copyValue={span.sessionId}\n >\n {span.sessionId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.requestId && (\n <>\n <DataKeysAndValues.Key>Request Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Request Id to clipboard\"\n copyValue={span.requestId}\n >\n {span.requestId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.userId && (\n <>\n <DataKeysAndValues.Key>User Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn copyTooltip=\"Copy User Id to clipboard\" copyValue={span.userId}>\n {span.userId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.organizationId && (\n <>\n <DataKeysAndValues.Key>Organization Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Organization Id to clipboard\"\n copyValue={span.organizationId}\n >\n {span.organizationId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n {span.experimentId && (\n <>\n <DataKeysAndValues.Key>Experiment Id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn\n copyTooltip=\"Copy Experiment Id to clipboard\"\n copyValue={span.experimentId}\n >\n {span.experimentId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n </>\n )}\n </DataKeysAndValues>\n )}\n\n <div className={cn('grid gap-4', hasContext && 'mt-4')}>\n <SpanPayloadSection\n title=\"Input\"\n icon={<FileInputIcon />}\n raw={span.input}\n hasPreview={describeSpanInput(asCoreSpan(span))?.type !== 'json'}\n >\n <SpanInputRenderer span={span} />\n </SpanPayloadSection>\n <SpanPayloadSection\n title=\"Output\"\n icon={<FileOutputIcon />}\n raw={span.output}\n hasPreview={describeSpanOutput(asCoreSpan(span))?.type !== 'json'}\n >\n <SpanOutputRenderer span={span} />\n </SpanPayloadSection>\n <SpanPayloadSection title=\"Metadata\" icon={<BracesIcon />} raw={span.metadata} hasPreview={false}>\n {null}\n </SpanPayloadSection>\n <SpanPayloadSection\n title=\"Attributes\"\n icon={<BracesIcon />}\n raw={span.attributes}\n hasPreview={describeProcessorPipeline(asCoreSpan(span)) !== undefined}\n >\n <SpanProcessorAttributes span={span} />\n </SpanPayloadSection>\n </div>\n </>\n );\n\n // No extra tab slots → render details directly without the Tabs/TabList wrapper.\n if (!feedbackTabSlot) {\n return <div className={BODY_CLASS}>{detailsBody}</div>;\n }\n\n // Same chrome as the trace column: tab list in a header row, content scrolling beneath it.\n return (\n <Tabs\n defaultTab=\"details\"\n value={activeTab}\n onValueChange={onTabChange}\n className=\"grid min-h-0 flex-1 grid-rows-[auto_1fr]\"\n >\n <DataPanel.Header>\n <TabList variant=\"pill-ghost\" size=\"sm\">\n <Tab value=\"details\">Details</Tab>\n <Tab value=\"feedback\">Feedback{feedbackTabBadge != null && <> ({feedbackTabBadge})</>}</Tab>\n </TabList>\n </DataPanel.Header>\n\n <TabContent value=\"details\" flush>\n <div className={BODY_CLASS}>{detailsBody}</div>\n </TabContent>\n <TabContent value=\"feedback\" flush>\n <div className={BODY_CLASS}>{feedbackTabSlot({ span, traceId, spanId })}</div>\n </TabContent>\n </Tabs>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ require('../../../code-DJReJPSX.cjs');
|
|
|
13
13
|
require('react');
|
|
14
14
|
require('../../chat/attachments/composer-attachment-context.cjs.js');
|
|
15
15
|
require('@base-ui/react/use-render');
|
|
16
|
-
require('../../../Button-
|
|
16
|
+
require('../../../Button-C4I05uT4.cjs');
|
|
17
17
|
require('../../chat/context/chat-context.cjs.js');
|
|
18
18
|
require('./span-payload/span-payload-processor.cjs.js');
|
|
19
19
|
const domains_traces_components_spanPayload_spanProcessorAttributes = require('./span-payload/span-processor-attributes.cjs.js');
|
|
@@ -9,7 +9,7 @@ import '../../../code-DLuATvYu.js';
|
|
|
9
9
|
import 'react';
|
|
10
10
|
import '../../chat/attachments/composer-attachment-context.es.js';
|
|
11
11
|
import '@base-ui/react/use-render';
|
|
12
|
-
import '../../../Button-
|
|
12
|
+
import '../../../Button-D8a5EWJ5.js';
|
|
13
13
|
import '../../chat/context/chat-context.es.js';
|
|
14
14
|
import './span-payload/span-payload-processor.es.js';
|
|
15
15
|
import { SpanProcessorAttributes } from './span-payload/span-processor-attributes.es.js';
|
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
const observability = require('@mastra/core/observability');
|
|
7
7
|
const domains_traces_components_spanPayload_spanPayloadJson = require('./span-payload-json.cjs.js');
|
|
8
|
-
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-
|
|
8
|
+
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-C0KYtmtV.cjs');
|
|
9
9
|
const domains_traces_components_spanPayload_spanPayloadRegistry = require('./span-payload-registry.cjs.js');
|
|
10
|
-
const dataKeysAndValues = require('../../../../data-keys-and-values-
|
|
10
|
+
const dataKeysAndValues = require('../../../../data-keys-and-values-DBXIqeXt.cjs');
|
|
11
11
|
const Notice = require('../../../../Notice-DYgIy4FO.cjs');
|
|
12
12
|
|
|
13
13
|
function SpanErrorRenderer({ span, className }) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { describeSpanError } from '@mastra/core/observability';
|
|
3
3
|
import { SpanPayloadJson } from './span-payload-json.es.js';
|
|
4
|
-
import { c as SpanPayloadCollapsible } from '../../../../span-payload-primitives-
|
|
4
|
+
import { c as SpanPayloadCollapsible } from '../../../../span-payload-primitives-D_N9LeLk.js';
|
|
5
5
|
import { asCoreSpan } from './span-payload-registry.es.js';
|
|
6
|
-
import { D as DataKeysAndValues } from '../../../../data-keys-and-values-
|
|
6
|
+
import { D as DataKeysAndValues } from '../../../../data-keys-and-values-DHp6cHJo.js';
|
|
7
7
|
import { N as Notice } from '../../../../Notice-BioYTS4b.js';
|
|
8
8
|
|
|
9
9
|
function SpanErrorRenderer({ span, className }) {
|
|
@@ -6,11 +6,11 @@ const jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
const observability = require('@mastra/core/observability');
|
|
7
7
|
const domains_traces_components_spanPayload_spanPayloadJson = require('./span-payload-json.cjs.js');
|
|
8
8
|
const domains_traces_components_spanPayload_spanPayloadMessages = require('./span-payload-messages.cjs.js');
|
|
9
|
-
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-
|
|
9
|
+
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-C0KYtmtV.cjs');
|
|
10
10
|
const domains_traces_components_spanPayload_spanPayloadProcessor = require('./span-payload-processor.cjs.js');
|
|
11
11
|
const domains_traces_components_spanPayload_spanPayloadRegistry = require('./span-payload-registry.cjs.js');
|
|
12
12
|
const Card = require('../../../../Card-BIXkMUyT.cjs');
|
|
13
|
-
const dataKeysAndValues = require('../../../../data-keys-and-values-
|
|
13
|
+
const dataKeysAndValues = require('../../../../data-keys-and-values-DBXIqeXt.cjs');
|
|
14
14
|
|
|
15
15
|
function SpanTextRenderer({ value }) {
|
|
16
16
|
return /* @__PURE__ */ jsxRuntime.jsx(domains_traces_components_spanPayload_spanPayloadTool.SpanPayloadMarkdown, { children: value });
|
|
@@ -2,11 +2,11 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
|
2
2
|
import { describeSpanInput } from '@mastra/core/observability';
|
|
3
3
|
import { SpanPayloadJson } from './span-payload-json.es.js';
|
|
4
4
|
import { SpanPayloadMessages } from './span-payload-messages.es.js';
|
|
5
|
-
import { S as SpanPayloadField, a as SpanPayloadMarkdown } from '../../../../span-payload-primitives-
|
|
5
|
+
import { S as SpanPayloadField, a as SpanPayloadMarkdown } from '../../../../span-payload-primitives-D_N9LeLk.js';
|
|
6
6
|
import { SpanPayloadProcessor } from './span-payload-processor.es.js';
|
|
7
7
|
import { asCoreSpan, pickRenderer } from './span-payload-registry.es.js';
|
|
8
8
|
import { C as Card, a as CardContent } from '../../../../Card-DXYPCPLh.js';
|
|
9
|
-
import { D as DataKeysAndValues } from '../../../../data-keys-and-values-
|
|
9
|
+
import { D as DataKeysAndValues } from '../../../../data-keys-and-values-DHp6cHJo.js';
|
|
10
10
|
|
|
11
11
|
function SpanTextRenderer({ value }) {
|
|
12
12
|
return /* @__PURE__ */ jsx(SpanPayloadMarkdown, { children: value });
|
|
@@ -6,12 +6,12 @@ const jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
const observability = require('@mastra/core/observability');
|
|
7
7
|
const domains_traces_components_spanPayload_spanPayloadAttachment = require('./span-payload-attachment.cjs.js');
|
|
8
8
|
const domains_traces_components_spanPayload_spanPayloadJson = require('./span-payload-json.cjs.js');
|
|
9
|
-
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-
|
|
9
|
+
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-C0KYtmtV.cjs');
|
|
10
10
|
const domains_traces_components_spanPayload_spanPayloadProcessor = require('./span-payload-processor.cjs.js');
|
|
11
11
|
const domains_traces_components_spanPayload_spanPayloadRegistry = require('./span-payload-registry.cjs.js');
|
|
12
|
-
const reasoningActivity = require('../../../../reasoning-activity-
|
|
12
|
+
const reasoningActivity = require('../../../../reasoning-activity-DpYFjxuL.cjs');
|
|
13
13
|
const Card = require('../../../../Card-BIXkMUyT.cjs');
|
|
14
|
-
const dataKeysAndValues = require('../../../../data-keys-and-values-
|
|
14
|
+
const dataKeysAndValues = require('../../../../data-keys-and-values-DBXIqeXt.cjs');
|
|
15
15
|
const inlineCode = require('../../../../inline-code-Di41CmTo.cjs');
|
|
16
16
|
const Notice = require('../../../../Notice-DYgIy4FO.cjs');
|
|
17
17
|
const Txt = require('../../../../Txt-CIS2G5Jx.cjs');
|
|
@@ -2,12 +2,12 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
|
2
2
|
import { describeSpanOutput } from '@mastra/core/observability';
|
|
3
3
|
import { SpanPayloadAttachment } from './span-payload-attachment.es.js';
|
|
4
4
|
import { SpanPayloadJson } from './span-payload-json.es.js';
|
|
5
|
-
import { a as SpanPayloadMarkdown, S as SpanPayloadField, b as SpanPayloadToolCalls, c as SpanPayloadCollapsible } from '../../../../span-payload-primitives-
|
|
5
|
+
import { a as SpanPayloadMarkdown, S as SpanPayloadField, b as SpanPayloadToolCalls, c as SpanPayloadCollapsible } from '../../../../span-payload-primitives-D_N9LeLk.js';
|
|
6
6
|
import { SpanPayloadProcessor } from './span-payload-processor.es.js';
|
|
7
7
|
import { asCoreSpan, pickRenderer, hasItems } from './span-payload-registry.es.js';
|
|
8
|
-
import { R as ReasoningActivity } from '../../../../reasoning-activity-
|
|
8
|
+
import { R as ReasoningActivity } from '../../../../reasoning-activity-C-sJt2A9.js';
|
|
9
9
|
import { C as Card, a as CardContent } from '../../../../Card-DXYPCPLh.js';
|
|
10
|
-
import { D as DataKeysAndValues } from '../../../../data-keys-and-values-
|
|
10
|
+
import { D as DataKeysAndValues } from '../../../../data-keys-and-values-DHp6cHJo.js';
|
|
11
11
|
import { I as InlineCode } from '../../../../inline-code-Dim6D75C.js';
|
|
12
12
|
import { N as Notice } from '../../../../Notice-BioYTS4b.js';
|
|
13
13
|
import { T as Txt } from '../../../../Txt-BtIGLRk1.js';
|
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
const domains_traces_components_spanPayload_spanPayloadAttachment = require('./span-payload-attachment.cjs.js');
|
|
7
7
|
const domains_traces_components_spanPayload_spanPayloadJson = require('./span-payload-json.cjs.js');
|
|
8
|
-
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-
|
|
9
|
-
const reasoningActivity = require('../../../../reasoning-activity-
|
|
8
|
+
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-C0KYtmtV.cjs');
|
|
9
|
+
const reasoningActivity = require('../../../../reasoning-activity-DpYFjxuL.cjs');
|
|
10
10
|
const message = require('../../../../message-CiPLqZGx.cjs');
|
|
11
11
|
|
|
12
12
|
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { SpanPayloadAttachment } from './span-payload-attachment.es.js';
|
|
3
3
|
import { SpanPayloadJson } from './span-payload-json.es.js';
|
|
4
|
-
import { d as SpanPayloadLabel, a as SpanPayloadMarkdown, e as SpanPayloadTool } from '../../../../span-payload-primitives-
|
|
5
|
-
import { R as ReasoningActivity } from '../../../../reasoning-activity-
|
|
4
|
+
import { d as SpanPayloadLabel, a as SpanPayloadMarkdown, e as SpanPayloadTool } from '../../../../span-payload-primitives-D_N9LeLk.js';
|
|
5
|
+
import { R as ReasoningActivity } from '../../../../reasoning-activity-C-sJt2A9.js';
|
|
6
6
|
import { a as Message } from '../../../../message-Bgp6d6X_.js';
|
|
7
7
|
|
|
8
8
|
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
5
|
require('react/jsx-runtime');
|
|
6
|
-
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-
|
|
6
|
+
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-C0KYtmtV.cjs');
|
|
7
7
|
require('../../../../collapsible-pzbQxp_4.cjs');
|
|
8
8
|
require('../../../../disclosure-chevron-D0KwJ8Zc.cjs');
|
|
9
|
-
require('../../../../markdown-renderer-
|
|
9
|
+
require('../../../../markdown-renderer-BcpwvSl9.cjs');
|
|
10
10
|
require('../../../../Txt-CIS2G5Jx.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'react/jsx-runtime';
|
|
2
|
-
export { c as SpanPayloadCollapsible, S as SpanPayloadField, d as SpanPayloadLabel, a as SpanPayloadMarkdown, b as SpanPayloadToolCalls } from '../../../../span-payload-primitives-
|
|
2
|
+
export { c as SpanPayloadCollapsible, S as SpanPayloadField, d as SpanPayloadLabel, a as SpanPayloadMarkdown, b as SpanPayloadToolCalls } from '../../../../span-payload-primitives-D_N9LeLk.js';
|
|
3
3
|
import '../../../../collapsible-BqerB7is.js';
|
|
4
4
|
import '../../../../disclosure-chevron-qzDAjl55.js';
|
|
5
|
-
import '../../../../markdown-renderer-
|
|
5
|
+
import '../../../../markdown-renderer-CHLpv5n5.js';
|
|
6
6
|
import '../../../../Txt-BtIGLRk1.js';
|
|
7
7
|
//# sourceMappingURL=span-payload-primitives.es.js.map
|
|
@@ -6,9 +6,9 @@ const jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
const React = require('react');
|
|
7
7
|
const domains_traces_components_spanPayload_spanPayloadJson = require('./span-payload-json.cjs.js');
|
|
8
8
|
const domains_traces_components_spanPayload_spanPayloadMessages = require('./span-payload-messages.cjs.js');
|
|
9
|
-
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-
|
|
9
|
+
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-C0KYtmtV.cjs');
|
|
10
10
|
const domains_traces_components_spanPayload_spanPayloadRegistry = require('./span-payload-registry.cjs.js');
|
|
11
|
-
const dataKeysAndValues = require('../../../../data-keys-and-values-
|
|
11
|
+
const dataKeysAndValues = require('../../../../data-keys-and-values-DBXIqeXt.cjs');
|
|
12
12
|
|
|
13
13
|
const isScalar = (value) => typeof value === "string" || typeof value === "boolean" || typeof value === "number" && Number.isFinite(value);
|
|
14
14
|
const isText = (value) => typeof value === "string" && value.length > 0;
|
|
@@ -2,9 +2,9 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { Fragment } from 'react';
|
|
3
3
|
import { SpanPayloadJson } from './span-payload-json.es.js';
|
|
4
4
|
import { SpanPayloadMessages } from './span-payload-messages.es.js';
|
|
5
|
-
import { S as SpanPayloadField, b as SpanPayloadToolCalls, a as SpanPayloadMarkdown, c as SpanPayloadCollapsible } from '../../../../span-payload-primitives-
|
|
5
|
+
import { S as SpanPayloadField, b as SpanPayloadToolCalls, a as SpanPayloadMarkdown, c as SpanPayloadCollapsible } from '../../../../span-payload-primitives-D_N9LeLk.js';
|
|
6
6
|
import { hasItems } from './span-payload-registry.es.js';
|
|
7
|
-
import { D as DataKeysAndValues } from '../../../../data-keys-and-values-
|
|
7
|
+
import { D as DataKeysAndValues } from '../../../../data-keys-and-values-DHp6cHJo.js';
|
|
8
8
|
|
|
9
9
|
const isScalar = (value) => typeof value === "string" || typeof value === "boolean" || typeof value === "number" && Number.isFinite(value);
|
|
10
10
|
const isText = (value) => typeof value === "string" && value.length > 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-payload-registry.cjs.js","sources":["../../../../../src/domains/traces/components/span-payload/span-payload-registry.ts"],"sourcesContent":["import type { describeSpanInput } from '@mastra/core/observability';\nimport type { ComponentType } from 'react';\nimport type { SpanRecord } from '../../types';\n\ntype CoreSpanRecord = Parameters<typeof describeSpanInput>[0];\n\ntype Described = { type: string; value: unknown };\n\n/** A component per description tag, typed against the value that tag carries. */\nexport type PayloadRegistry<D extends Described> = {\n [T in D['type']]: ComponentType<{ value: Extract<D, { type: T }>['value'] }>;\n};\n\n/**\n * Picks the registry entry for `description.type`. The registry is exhaustive by type,\n * so the entry always exists; the cast only erases the per-tag prop refinement TS cannot\n * carry through an indexed lookup.\n */\nexport function pickRenderer<D extends Described>(\n registry: PayloadRegistry<D>,\n description: D,\n): ComponentType<{ value: D['value'] }> {\n return registry[description.type as D['type']] as ComponentType<{ value: D['value'] }>;\n}\n\n/**\n * The client-js span (API response: ISO-string dates, string-literal enums) is the core\n * span over the wire. `describeSpan*` only read `spanType`, `metadata`, `input`, `output`\n * and `error`, which are identical in both, so this is the one place the two types meet.\n */\nexport function asCoreSpan(span: SpanRecord): CoreSpanRecord {\n return span as unknown as CoreSpanRecord;\n}\n\nexport const hasItems = (value: unknown): value is unknown[] => Array.isArray(value) && value.length > 0;\n"],"names":[],"mappings":";;;;AAkBO,SAAS,YAAA,CACd,UACA,WAAA,EACsC;AACtC,EAAA,OAAO,QAAA,CAAS,YAAY,IAAiB,CAAA;AAC/C;AAOO,SAAS,WAAW,IAAA,EAAkC;
|
|
1
|
+
{"version":3,"file":"span-payload-registry.cjs.js","sources":["../../../../../src/domains/traces/components/span-payload/span-payload-registry.ts"],"sourcesContent":["import type { describeSpanInput } from '@mastra/core/observability';\nimport type { ComponentType } from 'react';\nimport type { SpanRecord } from '../../types';\n\ntype CoreSpanRecord = Parameters<typeof describeSpanInput>[0];\n\ntype Described = { type: string; value: unknown };\n\n/** A component per description tag, typed against the value that tag carries. */\nexport type PayloadRegistry<D extends Described> = {\n [T in D['type']]: ComponentType<{ value: Extract<D, { type: T }>['value'] }>;\n};\n\n/**\n * Picks the registry entry for `description.type`. The registry is exhaustive by type,\n * so the entry always exists; the cast only erases the per-tag prop refinement TS cannot\n * carry through an indexed lookup.\n */\nexport function pickRenderer<D extends Described>(\n registry: PayloadRegistry<D>,\n description: D,\n): ComponentType<{ value: D['value'] }> {\n return registry[description.type as D['type']] as ComponentType<{ value: D['value'] }>;\n}\n\n/**\n * The client-js span (API response: ISO-string dates, string-literal enums) is the core\n * span over the wire. `describeSpan*` only read `spanType`, `metadata`, `input`, `output`\n * and `error`, which are identical in both, so this is the one place the two types meet.\n */\nexport function asCoreSpan(span: SpanRecord): CoreSpanRecord {\n // oxlint-disable-next-line typescript/no-unnecessary-type-assertion -- Generated SDK and core span types differ once workspace declarations are built.\n return span as unknown as CoreSpanRecord;\n}\n\nexport const hasItems = (value: unknown): value is unknown[] => Array.isArray(value) && value.length > 0;\n"],"names":[],"mappings":";;;;AAkBO,SAAS,YAAA,CACd,UACA,WAAA,EACsC;AACtC,EAAA,OAAO,QAAA,CAAS,YAAY,IAAiB,CAAA;AAC/C;AAOO,SAAS,WAAW,IAAA,EAAkC;AAE3D,EAAA,OAAO,IAAA;AACT;AAEO,MAAM,QAAA,GAAW,CAAC,KAAA,KAAuC,KAAA,CAAM,QAAQ,KAAK,CAAA,IAAK,MAAM,MAAA,GAAS;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-payload-registry.es.js","sources":["../../../../../src/domains/traces/components/span-payload/span-payload-registry.ts"],"sourcesContent":["import type { describeSpanInput } from '@mastra/core/observability';\nimport type { ComponentType } from 'react';\nimport type { SpanRecord } from '../../types';\n\ntype CoreSpanRecord = Parameters<typeof describeSpanInput>[0];\n\ntype Described = { type: string; value: unknown };\n\n/** A component per description tag, typed against the value that tag carries. */\nexport type PayloadRegistry<D extends Described> = {\n [T in D['type']]: ComponentType<{ value: Extract<D, { type: T }>['value'] }>;\n};\n\n/**\n * Picks the registry entry for `description.type`. The registry is exhaustive by type,\n * so the entry always exists; the cast only erases the per-tag prop refinement TS cannot\n * carry through an indexed lookup.\n */\nexport function pickRenderer<D extends Described>(\n registry: PayloadRegistry<D>,\n description: D,\n): ComponentType<{ value: D['value'] }> {\n return registry[description.type as D['type']] as ComponentType<{ value: D['value'] }>;\n}\n\n/**\n * The client-js span (API response: ISO-string dates, string-literal enums) is the core\n * span over the wire. `describeSpan*` only read `spanType`, `metadata`, `input`, `output`\n * and `error`, which are identical in both, so this is the one place the two types meet.\n */\nexport function asCoreSpan(span: SpanRecord): CoreSpanRecord {\n return span as unknown as CoreSpanRecord;\n}\n\nexport const hasItems = (value: unknown): value is unknown[] => Array.isArray(value) && value.length > 0;\n"],"names":[],"mappings":"AAkBO,SAAS,YAAA,CACd,UACA,WAAA,EACsC;AACtC,EAAA,OAAO,QAAA,CAAS,YAAY,IAAiB,CAAA;AAC/C;AAOO,SAAS,WAAW,IAAA,EAAkC;
|
|
1
|
+
{"version":3,"file":"span-payload-registry.es.js","sources":["../../../../../src/domains/traces/components/span-payload/span-payload-registry.ts"],"sourcesContent":["import type { describeSpanInput } from '@mastra/core/observability';\nimport type { ComponentType } from 'react';\nimport type { SpanRecord } from '../../types';\n\ntype CoreSpanRecord = Parameters<typeof describeSpanInput>[0];\n\ntype Described = { type: string; value: unknown };\n\n/** A component per description tag, typed against the value that tag carries. */\nexport type PayloadRegistry<D extends Described> = {\n [T in D['type']]: ComponentType<{ value: Extract<D, { type: T }>['value'] }>;\n};\n\n/**\n * Picks the registry entry for `description.type`. The registry is exhaustive by type,\n * so the entry always exists; the cast only erases the per-tag prop refinement TS cannot\n * carry through an indexed lookup.\n */\nexport function pickRenderer<D extends Described>(\n registry: PayloadRegistry<D>,\n description: D,\n): ComponentType<{ value: D['value'] }> {\n return registry[description.type as D['type']] as ComponentType<{ value: D['value'] }>;\n}\n\n/**\n * The client-js span (API response: ISO-string dates, string-literal enums) is the core\n * span over the wire. `describeSpan*` only read `spanType`, `metadata`, `input`, `output`\n * and `error`, which are identical in both, so this is the one place the two types meet.\n */\nexport function asCoreSpan(span: SpanRecord): CoreSpanRecord {\n // oxlint-disable-next-line typescript/no-unnecessary-type-assertion -- Generated SDK and core span types differ once workspace declarations are built.\n return span as unknown as CoreSpanRecord;\n}\n\nexport const hasItems = (value: unknown): value is unknown[] => Array.isArray(value) && value.length > 0;\n"],"names":[],"mappings":"AAkBO,SAAS,YAAA,CACd,UACA,WAAA,EACsC;AACtC,EAAA,OAAO,QAAA,CAAS,YAAY,IAAiB,CAAA;AAC/C;AAOO,SAAS,WAAW,IAAA,EAAkC;AAE3D,EAAA,OAAO,IAAA;AACT;AAEO,MAAM,QAAA,GAAW,CAAC,KAAA,KAAuC,KAAA,CAAM,QAAQ,KAAK,CAAA,IAAK,MAAM,MAAA,GAAS;;;;"}
|
|
@@ -6,11 +6,11 @@ const jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
const lucideReact = require('lucide-react');
|
|
7
7
|
const React = require('react');
|
|
8
8
|
const domains_traces_components_spanPayload_spanPayloadJson = require('./span-payload-json.cjs.js');
|
|
9
|
-
const Button = require('../../../../Button-
|
|
9
|
+
const Button = require('../../../../Button-C4I05uT4.cjs');
|
|
10
10
|
const buttonsGroup = require('../../../../buttons-group-Bg9Unm6G.cjs');
|
|
11
|
-
const collapsibleBox = require('../../../../collapsible-box-
|
|
11
|
+
const collapsibleBox = require('../../../../collapsible-box-CzU0OwJx.cjs');
|
|
12
12
|
const useCollapsibleBox = require('../../../../use-collapsible-box-BI80L4h_.cjs');
|
|
13
|
-
const copyButton = require('../../../../copy-button-
|
|
13
|
+
const copyButton = require('../../../../copy-button-BC02oZJo.cjs');
|
|
14
14
|
const dataPanelSectionHeading = require('../../../../data-panel-section-heading-B0gV5xGy.cjs');
|
|
15
15
|
const utils_cn = require('../../../../cn-DlOJCxrS.cjs');
|
|
16
16
|
|
|
@@ -2,11 +2,11 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { Minimize2, Maximize2 } from 'lucide-react';
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
import { SpanPayloadJson } from './span-payload-json.es.js';
|
|
5
|
-
import { B as Button } from '../../../../Button-
|
|
5
|
+
import { B as Button } from '../../../../Button-D8a5EWJ5.js';
|
|
6
6
|
import { B as ButtonsGroup } from '../../../../buttons-group-DGWioDP3.js';
|
|
7
|
-
import { C as CollapsibleBox } from '../../../../collapsible-box-
|
|
7
|
+
import { C as CollapsibleBox } from '../../../../collapsible-box-DotFa3hr.js';
|
|
8
8
|
import { u as useCollapsibleBox } from '../../../../use-collapsible-box-B0t2_SvP.js';
|
|
9
|
-
import { C as CopyButton } from '../../../../copy-button-
|
|
9
|
+
import { C as CopyButton } from '../../../../copy-button-B_i9lwFJ.js';
|
|
10
10
|
import { D as DataPanelSectionHeading } from '../../../../data-panel-section-heading-Dq_x8H7-.js';
|
|
11
11
|
import { c as cn } from '../../../../cn-CQUhN5Jx.js';
|
|
12
12
|
|
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4
4
|
|
|
5
5
|
require('react/jsx-runtime');
|
|
6
6
|
require('./span-payload-json.cjs.js');
|
|
7
|
-
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-
|
|
7
|
+
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-C0KYtmtV.cjs');
|
|
8
8
|
require('../../../chat/components/badge-wrapper.cjs.js');
|
|
9
|
-
require('../../../../activity-
|
|
9
|
+
require('../../../../activity-D3iI9pYN.cjs');
|
|
10
10
|
require('../../../../tool-presentation-WLS6d1ws.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'react/jsx-runtime';
|
|
2
2
|
import './span-payload-json.es.js';
|
|
3
|
-
export { e as SpanPayloadTool } from '../../../../span-payload-primitives-
|
|
3
|
+
export { e as SpanPayloadTool } from '../../../../span-payload-primitives-D_N9LeLk.js';
|
|
4
4
|
import '../../../chat/components/badge-wrapper.es.js';
|
|
5
|
-
import '../../../../activity-
|
|
5
|
+
import '../../../../activity-B7c_nQMn.js';
|
|
6
6
|
import '../../../../tool-presentation-BXAo24Ir.js';
|
|
7
7
|
//# sourceMappingURL=span-payload-tool.es.js.map
|
|
@@ -6,10 +6,10 @@ const jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
const observability = require('@mastra/core/observability');
|
|
7
7
|
const domains_traces_components_spanPayload_spanPayloadJson = require('./span-payload-json.cjs.js');
|
|
8
8
|
const domains_traces_components_spanPayload_spanPayloadMessages = require('./span-payload-messages.cjs.js');
|
|
9
|
-
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-
|
|
9
|
+
const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-C0KYtmtV.cjs');
|
|
10
10
|
const domains_traces_components_spanPayload_spanPayloadRegistry = require('./span-payload-registry.cjs.js');
|
|
11
11
|
const Card = require('../../../../Card-BIXkMUyT.cjs');
|
|
12
|
-
const dataKeysAndValues = require('../../../../data-keys-and-values-
|
|
12
|
+
const dataKeysAndValues = require('../../../../data-keys-and-values-DBXIqeXt.cjs');
|
|
13
13
|
const Notice = require('../../../../Notice-DYgIy4FO.cjs');
|
|
14
14
|
const Txt = require('../../../../Txt-CIS2G5Jx.cjs');
|
|
15
15
|
const utils_duration = require('../../../../utils/duration.cjs.js');
|
|
@@ -2,10 +2,10 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
|
2
2
|
import { describeProcessorPipeline } from '@mastra/core/observability';
|
|
3
3
|
import { SpanPayloadJson } from './span-payload-json.es.js';
|
|
4
4
|
import { SpanPayloadMessages } from './span-payload-messages.es.js';
|
|
5
|
-
import { c as SpanPayloadCollapsible, S as SpanPayloadField } from '../../../../span-payload-primitives-
|
|
5
|
+
import { c as SpanPayloadCollapsible, S as SpanPayloadField } from '../../../../span-payload-primitives-D_N9LeLk.js';
|
|
6
6
|
import { asCoreSpan } from './span-payload-registry.es.js';
|
|
7
7
|
import { C as Card, a as CardContent } from '../../../../Card-DXYPCPLh.js';
|
|
8
|
-
import { D as DataKeysAndValues } from '../../../../data-keys-and-values-
|
|
8
|
+
import { D as DataKeysAndValues } from '../../../../data-keys-and-values-DHp6cHJo.js';
|
|
9
9
|
import { N as Notice } from '../../../../Notice-BioYTS4b.js';
|
|
10
10
|
import { T as Txt } from '../../../../Txt-BtIGLRk1.js';
|
|
11
11
|
import { formatDuration } from '../../../../utils/duration.es.js';
|
|
@@ -17,6 +17,7 @@ function SpanRows({ spans, ...rowProps }) {
|
|
|
17
17
|
span,
|
|
18
18
|
depth: 0,
|
|
19
19
|
isLastChild: idx === spans.length - 1,
|
|
20
|
+
guides: [],
|
|
20
21
|
overallLatency,
|
|
21
22
|
overallStartTime,
|
|
22
23
|
...rowProps
|
|
@@ -28,6 +29,7 @@ function SpanRow({
|
|
|
28
29
|
span,
|
|
29
30
|
depth,
|
|
30
31
|
isLastChild,
|
|
32
|
+
guides,
|
|
31
33
|
overallLatency,
|
|
32
34
|
overallStartTime,
|
|
33
35
|
renderRow,
|
|
@@ -56,6 +58,7 @@ function SpanRow({
|
|
|
56
58
|
setExpandedSpanIds((prev) => !prev || prev.includes(span.id) ? prev ?? [span.id] : [...prev, span.id]);
|
|
57
59
|
}
|
|
58
60
|
}, [featuredSpanIds, allDescendantIds]);
|
|
61
|
+
const childGuides = isRootSpan ? [] : [...guides, !isLastChild];
|
|
59
62
|
const toggleChildren = () => {
|
|
60
63
|
if (!setExpandedSpanIds) return;
|
|
61
64
|
setExpandedSpanIds((prev) => {
|
|
@@ -69,6 +72,7 @@ function SpanRow({
|
|
|
69
72
|
depth,
|
|
70
73
|
isRootSpan,
|
|
71
74
|
isLastChild,
|
|
75
|
+
guides,
|
|
72
76
|
isExpanded,
|
|
73
77
|
isSelected: selectedSpanId === span.id,
|
|
74
78
|
isFaded,
|
|
@@ -90,6 +94,7 @@ function SpanRow({
|
|
|
90
94
|
span: childSpan,
|
|
91
95
|
depth: depth + 1,
|
|
92
96
|
isLastChild: idx === array.length - 1,
|
|
97
|
+
guides: childGuides,
|
|
93
98
|
overallLatency,
|
|
94
99
|
overallStartTime,
|
|
95
100
|
renderRow,
|