@mastra/playground-ui 65.0.0-alpha.8 → 65.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ask-user-card-DnvW7jXS.js → ask-user-card-B9q_GFTt.js} +2 -2
- package/dist/{ask-user-card-DnvW7jXS.js.map → ask-user-card-B9q_GFTt.js.map} +1 -1
- package/dist/{ask-user-card-DiFQcUzM.cjs → ask-user-card-C-N5rpYG.cjs} +2 -2
- package/dist/{ask-user-card-DiFQcUzM.cjs.map → ask-user-card-C-N5rpYG.cjs.map} +1 -1
- package/dist/{code-block-CAV4Flrx.cjs → code-block-BSJzgBt1.cjs} +2 -2
- package/dist/{code-block-CAV4Flrx.cjs.map → code-block-BSJzgBt1.cjs.map} +1 -1
- package/dist/{code-block-BB-5HSl3.js → code-block-JWCkGm3Q.js} +2 -2
- package/dist/{code-block-BB-5HSl3.js.map → code-block-JWCkGm3Q.js.map} +1 -1
- package/dist/{code-editor-CbyCb7CW.cjs → code-editor-4ukTuvqG.cjs} +18 -2
- package/dist/code-editor-4ukTuvqG.cjs.map +1 -0
- package/dist/{code-editor-DOv4jc-0.js → code-editor-8qu58Npy.js} +18 -2
- package/dist/code-editor-8qu58Npy.js.map +1 -0
- package/dist/{combobox-BCoCVZHs.js → combobox-Cff50hgT.js} +37 -49
- package/dist/combobox-Cff50hgT.js.map +1 -0
- package/dist/{combobox-DbZAWh8q.cjs → combobox-RlGW9Erz.cjs} +37 -49
- package/dist/combobox-RlGW9Erz.cjs.map +1 -0
- package/dist/components/BillingIllustration.cjs.js +524 -1
- package/dist/components/BillingIllustration.cjs.js.map +1 -1
- package/dist/components/BillingIllustration.es.js +524 -1
- package/dist/components/BillingIllustration.es.js.map +1 -1
- package/dist/components/Button.cjs.js +1 -1
- package/dist/components/Button.es.js +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/Combobox.cjs.js +1 -1
- package/dist/components/Combobox.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 +1 -1
- package/dist/components/Comment.es.js +1 -1
- package/dist/components/DataCodeSection.cjs.js +1 -1
- package/dist/components/DataCodeSection.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/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/EnvironmentVariablesEditor.cjs.js +2 -2
- package/dist/components/EnvironmentVariablesEditor.es.js +2 -2
- package/dist/components/Field.cjs.js +1 -1
- package/dist/components/Field.es.js +1 -1
- package/dist/components/FilterBar.cjs.js +8 -844
- package/dist/components/FilterBar.cjs.js.map +1 -1
- package/dist/components/FilterBar.es.js +4 -841
- package/dist/components/FilterBar.es.js.map +1 -1
- package/dist/components/FormFieldBlocks.cjs.js +1 -1
- package/dist/components/FormFieldBlocks.es.js +1 -1
- package/dist/components/JSONSchemaForm.cjs.js +2 -2
- package/dist/components/JSONSchemaForm.es.js +2 -2
- package/dist/components/Kbd.cjs.js +1 -1
- package/dist/components/Kbd.es.js +1 -1
- 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/PageLayout.cjs.js +3 -56
- package/dist/components/PageLayout.cjs.js.map +1 -1
- package/dist/components/PageLayout.es.js +1 -58
- package/dist/components/PageLayout.es.js.map +1 -1
- package/dist/components/PropertyFilter.cjs.js +2 -2
- package/dist/components/PropertyFilter.es.js +2 -2
- package/dist/components/RuleBuilder.cjs.js +1 -1
- package/dist/components/RuleBuilder.es.js +1 -1
- package/dist/components/SavedViews.cjs.js +1 -1
- package/dist/components/SavedViews.es.js +1 -1
- package/dist/components/SearchInput.cjs.js +1 -1
- package/dist/components/SearchInput.es.js +1 -1
- package/dist/components/Section.cjs.js +1 -1
- package/dist/components/Section.es.js +1 -1
- package/dist/components/Select.cjs.js +2 -1
- package/dist/components/Select.cjs.js.map +1 -1
- package/dist/components/Select.es.js +1 -1
- package/dist/components/SideDialog.cjs.js +225 -2
- package/dist/components/SideDialog.cjs.js.map +1 -1
- package/dist/components/SideDialog.es.js +210 -1
- package/dist/components/SideDialog.es.js.map +1 -1
- package/dist/components/Sidebar.cjs.js +64 -60
- package/dist/components/Sidebar.cjs.js.map +1 -1
- package/dist/components/Sidebar.es.js +65 -62
- package/dist/components/Sidebar.es.js.map +1 -1
- package/dist/components/Workflow.cjs.js +3 -3
- package/dist/components/Workflow.es.js +3 -3
- package/dist/components/ai/activity.cjs.js +2 -2
- package/dist/components/ai/activity.es.js +2 -2
- 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 +1 -1
- package/dist/components/ai/tool-call.es.js +1 -1
- package/dist/{data-code-section-BjyHoHEB.cjs → data-code-section-BsvdKW08.cjs} +2 -2
- package/dist/{data-code-section-BjyHoHEB.cjs.map → data-code-section-BsvdKW08.cjs.map} +1 -1
- package/dist/{data-code-section-BWzfg-1n.js → data-code-section-y1BMLr3c.js} +2 -2
- package/dist/{data-code-section-BWzfg-1n.js.map → data-code-section-y1BMLr3c.js.map} +1 -1
- package/dist/{data-list-top-DJh08vFA.cjs → data-list-4t6Ueon8.cjs} +365 -16
- package/dist/data-list-4t6Ueon8.cjs.map +1 -0
- package/dist/{data-list-top-T-mtdIUp.js → data-list-BQMBFAyK.js} +357 -7
- package/dist/data-list-BQMBFAyK.js.map +1 -0
- package/dist/{data-list-skeleton-sdcaabdX.cjs → data-list-skeleton-CVXZYY0k.cjs} +6 -6
- package/dist/{data-list-skeleton-sdcaabdX.cjs.map → data-list-skeleton-CVXZYY0k.cjs.map} +1 -1
- package/dist/{data-list-skeleton-bNfITSHs.js → data-list-skeleton-D54r1ycU.js} +3 -3
- package/dist/{data-list-skeleton-bNfITSHs.js.map → data-list-skeleton-D54r1ycU.js.map} +1 -1
- package/dist/{data-panel-CUqcB4Vn.js → data-panel-DSgidnnv.js} +2 -2
- package/dist/{data-panel-CUqcB4Vn.js.map → data-panel-DSgidnnv.js.map} +1 -1
- package/dist/{data-panel-CGRPVnEe.cjs → data-panel-xqrai98b.cjs} +2 -2
- package/dist/{data-panel-CGRPVnEe.cjs.map → data-panel-xqrai98b.cjs.map} +1 -1
- package/dist/{date-time-range-picker-CcnDMZJu.js → date-time-range-picker-BnYWCqei.js} +3 -3
- package/dist/{date-time-range-picker-CcnDMZJu.js.map → date-time-range-picker-BnYWCqei.js.map} +1 -1
- package/dist/{date-time-range-picker-CXGab8Nj.cjs → date-time-range-picker-_2RJBOUn.cjs} +3 -3
- package/dist/{date-time-range-picker-CXGab8Nj.cjs.map → date-time-range-picker-_2RJBOUn.cjs.map} +1 -1
- package/dist/domains/capabilities.cjs.js +4 -0
- package/dist/domains/capabilities.cjs.js.map +1 -1
- package/dist/domains/capabilities.es.js +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
- package/dist/domains/chat/messages/dataset-save-action.cjs.js +4 -3
- package/dist/domains/chat/messages/dataset-save-action.cjs.js.map +1 -1
- package/dist/domains/chat/messages/dataset-save-action.es.js +4 -3
- package/dist/domains/chat/messages/dataset-save-action.es.js.map +1 -1
- package/dist/domains/chat/messages/message-row.cjs.js +1 -1
- package/dist/domains/chat/messages/message-row.es.js +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js +23 -3
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js.map +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.es.js +24 -6
- package/dist/domains/chat/messages/notification-signal-notice.es.js.map +1 -1
- package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.es.js +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-data.cjs.js +12 -0
- package/dist/domains/chat/messages/signal-data.cjs.js.map +1 -1
- package/dist/domains/chat/messages/signal-data.es.js +12 -1
- package/dist/domains/chat/messages/signal-data.es.js.map +1 -1
- package/dist/domains/chat/messages/skill-message.cjs.js +1 -1
- package/dist/domains/chat/messages/skill-message.es.js +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 +2 -2
- package/dist/domains/chat/tools/badges/agent-badge.es.js +2 -2
- 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 +1 -1
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +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 +1 -1
- package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js +1 -1
- 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/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 +2 -2
- package/dist/domains/chat/tools/badges/tool-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +5 -1
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +5 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/submit-plan-tool.cjs.js +1 -1
- package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
- package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-card.es.js +1 -1
- package/dist/domains/chat.cjs.js +1 -0
- package/dist/domains/chat.cjs.js.map +1 -1
- package/dist/domains/chat.es.js +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js +334 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js +330 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.cjs.js +78 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.es.js +74 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.cjs.js +25 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.es.js +21 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.cjs.js +22 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.es.js +18 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.cjs.js +54 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.es.js +50 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.cjs.js +21 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.es.js +17 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js +180 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js +176 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.cjs.js +57 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.es.js +45 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.cjs.js +17 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.es.js +13 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog.cjs.js +10 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog.es.js +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog.es.js.map +1 -0
- 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/datasets/components.cjs.js +2 -0
- package/dist/domains/datasets/components.cjs.js.map +1 -1
- package/dist/domains/datasets/components.es.js +1 -0
- package/dist/domains/datasets/components.es.js.map +1 -1
- package/dist/domains/datasets.cjs.js +2 -0
- package/dist/domains/datasets.cjs.js.map +1 -1
- package/dist/domains/datasets.es.js +1 -0
- package/dist/domains/datasets.es.js.map +1 -1
- package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
- package/dist/domains/logs/components/log-data-panel.es.js +1 -1
- 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/hooks/use-logs-filter-persistence.cjs.js.map +1 -1
- package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js.map +1 -1
- package/dist/domains/logs/hooks/use-logs-url-state.cjs.js.map +1 -1
- package/dist/domains/logs/hooks/use-logs-url-state.es.js.map +1 -1
- package/dist/domains/memory/components/observation-detail-view.cjs.js +1 -1
- package/dist/domains/memory/components/observation-detail-view.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/drilldown.cjs.js +1 -1
- package/dist/domains/metrics/drilldown.es.js +1 -1
- package/dist/domains/metrics/metrics-filters.cjs.js +1 -1
- package/dist/domains/metrics/metrics-filters.es.js +1 -1
- package/dist/domains/observability/components/trace-as-item-dialog.cjs.js +45 -38
- package/dist/domains/observability/components/trace-as-item-dialog.cjs.js.map +1 -1
- package/dist/domains/observability/components/trace-as-item-dialog.es.js +45 -38
- package/dist/domains/observability/components/trace-as-item-dialog.es.js.map +1 -1
- package/dist/domains/scores/components/score-as-item-dialog.cjs.js +1 -0
- package/dist/domains/scores/components/score-as-item-dialog.cjs.js.map +1 -1
- package/dist/domains/scores/components/score-as-item-dialog.es.js +1 -0
- package/dist/domains/scores/components/score-as-item-dialog.es.js.map +1 -1
- package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
- package/dist/domains/scores/components/score-data-panel.es.js +1 -1
- package/dist/domains/scores/components/span-scoring.cjs.js +1 -1
- package/dist/domains/scores/components/span-scoring.es.js +1 -1
- 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/span-data-panel-view.cjs.js +1 -1
- package/dist/domains/traces/components/span-data-panel-view.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
- 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 +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +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/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-view-by-trace.cjs.js +2 -0
- 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 -0
- package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +2 -2
- package/dist/domains/traces/components/trace-columns-menu.es.js +2 -2
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +3 -8
- 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 +4 -9
- package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel.cjs.js +4 -0
- package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel.es.js +4 -0
- package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
- package/dist/domains/traces/components/trace-error-cell.cjs.js +3 -1
- package/dist/domains/traces/components/trace-error-cell.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-error-cell.es.js +3 -1
- package/dist/domains/traces/components/trace-error-cell.es.js.map +1 -1
- package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
- package/dist/domains/traces/components/trace-id-button.es.js +1 -1
- package/dist/domains/traces/components/trace-span-panel.cjs.js +0 -2
- package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-panel.es.js +0 -2
- package/dist/domains/traces/components/trace-span-panel.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-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 +3 -3
- package/dist/domains/traces/components/trace-time-range-chip.es.js +3 -3
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js +117 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js +94 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.cjs.js +20 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.es.js +16 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.cjs.js +39 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.es.js +35 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.cjs.js +16 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.es.js +12 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js +56 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js +40 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +78 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +72 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.cjs.js +52 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.es.js +48 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js +71 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js +67 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js +58 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js +54 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js +134 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js +130 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +154 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +150 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-discovery.cjs.js +14 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-discovery.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-discovery.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-discovery.es.js +10 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-discovery.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +86 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +81 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer.cjs.js +42 -0
- package/dist/domains/traces/components/traces-explorer.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer.es.js +25 -0
- package/dist/domains/traces/components/traces-explorer.es.js.map +1 -0
- package/dist/domains/traces/components/traces-list-view.cjs.js +4 -5
- package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view.es.js +3 -4
- 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-traces-list-source.cjs.js +38 -10
- package/dist/domains/traces/hooks/use-traces-list-source.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-traces-list-source.es.js +39 -13
- package/dist/domains/traces/hooks/use-traces-list-source.es.js.map +1 -1
- package/dist/domains/traces/hooks.cjs.js +0 -4
- package/dist/domains/traces/hooks.cjs.js.map +1 -1
- package/dist/domains/traces/hooks.es.js +0 -2
- package/dist/domains/traces/hooks.es.js.map +1 -1
- package/dist/domains/traces/trace-filters.cjs.js +1 -1
- package/dist/domains/traces/trace-filters.es.js +1 -1
- package/dist/domains/traces/trace-query-filters.cjs.js +2 -1
- package/dist/domains/traces/trace-query-filters.cjs.js.map +1 -1
- package/dist/domains/traces/trace-query-filters.es.js +1 -1
- package/dist/domains/traces.cjs.js +2 -5
- package/dist/domains/traces.cjs.js.map +1 -1
- package/dist/domains/traces.es.js +1 -3
- package/dist/domains/traces.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-step-detail.cjs.js +2 -2
- package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
- 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/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 +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +2 -2
- package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +2 -2
- package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +2 -2
- package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +2 -2
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
- package/dist/domains/workflows/workflow/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-data-edge.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-data.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 +1 -1
- package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +1 -1
- 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 +2 -2
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +2 -2
- 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 +4 -4
- package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +4 -4
- 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/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/trace-intelligence-entity-index.cjs.js +5 -3
- 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 +5 -3
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js +1 -0
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js.map +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.es.js +1 -0
- package/dist/ee/signals/trace-intelligence-explainer.es.js.map +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
- package/dist/{field-BCU5ZtWV.cjs → field-CZ5fldpM.cjs} +2 -1
- package/dist/{field-BCU5ZtWV.cjs.map → field-CZ5fldpM.cjs.map} +1 -1
- package/dist/{field-Dl1zeXTv.js → field-CfA5-ixH.js} +2 -1
- package/dist/{field-Dl1zeXTv.js.map → field-CfA5-ixH.js.map} +1 -1
- package/dist/filter-bar-CjBb01b6.cjs +849 -0
- package/dist/filter-bar-CjBb01b6.cjs.map +1 -0
- package/dist/{filter-bar-chip-DgvuQv6c.cjs → filter-bar-chip-C_64m7nX.cjs} +2 -2
- package/dist/{filter-bar-chip-DgvuQv6c.cjs.map → filter-bar-chip-C_64m7nX.cjs.map} +1 -1
- package/dist/{filter-bar-chip-C9CXOudu.js → filter-bar-chip-D2kKMSRA.js} +3 -3
- package/dist/{filter-bar-chip-C9CXOudu.js.map → filter-bar-chip-D2kKMSRA.js.map} +1 -1
- package/dist/filter-bar-pXSJt2ye.js +842 -0
- package/dist/filter-bar-pXSJt2ye.js.map +1 -0
- package/dist/{kbd-Xgv5HKEi.cjs → kbd-B2zbS_A6.cjs} +2 -2
- package/dist/{kbd-Xgv5HKEi.cjs.map → kbd-B2zbS_A6.cjs.map} +1 -1
- package/dist/{kbd-7Xx2pm9f.js → kbd-CYtMrOov.js} +2 -2
- package/dist/{kbd-7Xx2pm9f.js.map → kbd-CYtMrOov.js.map} +1 -1
- package/dist/layout/tabbed-container.cjs.js +3 -3
- package/dist/layout/tabbed-container.es.js +3 -3
- package/dist/lib/form/components/boolean-field.cjs.js +1 -1
- package/dist/lib/form/components/boolean-field.es.js +1 -1
- package/dist/lib/form/components/field-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/field-wrapper.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/{list-search-ByJdIxIh.js → list-search-8jVOq9LK.js} +2 -2
- package/dist/{list-search-ByJdIxIh.js.map → list-search-8jVOq9LK.js.map} +1 -1
- package/dist/{list-search-DNJVeHmK.cjs → list-search-C7ckmZHa.cjs} +2 -2
- package/dist/{list-search-DNJVeHmK.cjs.map → list-search-C7ckmZHa.cjs.map} +1 -1
- package/dist/{logs-data-list-DCj8Pj77.cjs → logs-data-list-C4Z4rw62.cjs} +21 -22
- package/dist/{logs-data-list-DCj8Pj77.cjs.map → logs-data-list-C4Z4rw62.cjs.map} +1 -1
- package/dist/{logs-data-list-Db5dBRmc.js → logs-data-list-CL3iq_6r.js} +2 -3
- package/dist/{logs-data-list-Db5dBRmc.js.map → logs-data-list-CL3iq_6r.js.map} +1 -1
- package/dist/{markdown-renderer-CQ_pSSO7.cjs → markdown-renderer-73CdjgS4.cjs} +2 -2
- package/dist/{markdown-renderer-CQ_pSSO7.cjs.map → markdown-renderer-73CdjgS4.cjs.map} +1 -1
- package/dist/{markdown-renderer-DEoJ5aBR.js → markdown-renderer-Qv9-1YIp.js} +2 -2
- package/dist/{markdown-renderer-DEoJ5aBR.js.map → markdown-renderer-Qv9-1YIp.js.map} +1 -1
- package/dist/new/settings.cjs.js +3 -2
- package/dist/new/settings.cjs.js.map +1 -1
- package/dist/new/settings.es.js +2 -1
- package/dist/new/settings.es.js.map +1 -1
- package/dist/{notification-activity-BWXHmlTn.js → notification-activity-BRW1Xlj1.js} +9 -5
- package/dist/notification-activity-BRW1Xlj1.js.map +1 -0
- package/dist/{notification-activity-BSNuqJDd.cjs → notification-activity-DAZOALWI.cjs} +9 -5
- package/dist/notification-activity-DAZOALWI.cjs.map +1 -0
- package/dist/page-layout-D1AXJJrp.cjs +61 -0
- package/dist/page-layout-D1AXJJrp.cjs.map +1 -0
- package/dist/page-layout-DCMg_kJB.js +59 -0
- package/dist/page-layout-DCMg_kJB.js.map +1 -0
- package/dist/{plan-TYss51JK.cjs → plan-DBvoFFHO.cjs} +2 -2
- package/dist/{plan-TYss51JK.cjs.map → plan-DBvoFFHO.cjs.map} +1 -1
- package/dist/{plan-B6td0b8h.js → plan-TBs5kj_X.js} +2 -2
- package/dist/{plan-B6td0b8h.js.map → plan-TBs5kj_X.js.map} +1 -1
- package/dist/{reasoning-activity-I5-HcGou.cjs → reasoning-activity-BrZbS7pa.cjs} +2 -2
- package/dist/{reasoning-activity-I5-HcGou.cjs.map → reasoning-activity-BrZbS7pa.cjs.map} +1 -1
- package/dist/{reasoning-activity-Dz2hk9pU.js → reasoning-activity-CyMhxRL2.js} +2 -2
- package/dist/{reasoning-activity-Dz2hk9pU.js.map → reasoning-activity-CyMhxRL2.js.map} +1 -1
- package/dist/resize/collapsible-panel.cjs.js +1 -1
- package/dist/resize/collapsible-panel.es.js +1 -1
- package/dist/{search-input-CMNy0JWd.cjs → search-input-CGNENJDh.cjs} +2 -2
- package/dist/{search-input-CMNy0JWd.cjs.map → search-input-CGNENJDh.cjs.map} +1 -1
- package/dist/{search-input-C9qFBzn6.js → search-input-cIYk0pl3.js} +2 -2
- package/dist/{search-input-C9qFBzn6.js.map → search-input-cIYk0pl3.js.map} +1 -1
- package/dist/{section-CctlZIXp.cjs → section-BikCyHdf.cjs} +4 -3
- package/dist/{section-CctlZIXp.cjs.map → section-BikCyHdf.cjs.map} +1 -1
- package/dist/{section-D0hKTVXt.js → section-C71zDLKM.js} +3 -2
- package/dist/{section-D0hKTVXt.js.map → section-C71zDLKM.js.map} +1 -1
- package/dist/{select-A3AFKLd9.cjs → select-BqHt-fOI.cjs} +12 -1
- package/dist/select-BqHt-fOI.cjs.map +1 -0
- package/dist/{select-7rYaECQf.js → select-CCpQUIEg.js} +13 -3
- package/dist/select-CCpQUIEg.js.map +1 -0
- package/dist/settings-container-D6LsO77E.js +42 -0
- package/dist/settings-container-D6LsO77E.js.map +1 -0
- package/dist/settings-container-umHxLp1a.cjs +45 -0
- package/dist/settings-container-umHxLp1a.cjs.map +1 -0
- package/dist/{settings-row-m_4gDCwS.cjs → settings-row-C9lT2BJS.cjs} +3 -42
- package/dist/settings-row-C9lT2BJS.cjs.map +1 -0
- package/dist/{settings-row-yuQjwWTl.js → settings-row-CRpU1an-.js} +4 -41
- package/dist/settings-row-CRpU1an-.js.map +1 -0
- package/dist/{span-payload-primitives-n5uf4hOk.cjs → span-payload-primitives-CE124T1P.cjs} +2 -2
- package/dist/{span-payload-primitives-n5uf4hOk.cjs.map → span-payload-primitives-CE124T1P.cjs.map} +1 -1
- package/dist/{span-payload-primitives-CaT3DT8h.js → span-payload-primitives-v0iS2w26.js} +2 -2
- package/dist/{span-payload-primitives-CaT3DT8h.js.map → span-payload-primitives-v0iS2w26.js.map} +1 -1
- package/dist/src/domains/capabilities/index.d.ts +1 -1
- package/dist/src/domains/chat/messages/notification-signal-notice.d.ts +2 -0
- package/dist/src/domains/chat/messages/signal-data.d.ts +9 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.d.ts +28 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.d.ts +28 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.d.ts +14 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.d.ts +8 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/dataset-picker.d.ts +11 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/field-errors.d.ts +10 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/index.d.ts +2 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.d.ts +11 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/trajectory-types.d.ts +50 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.d.ts +7 -0
- package/dist/src/domains/datasets/components/index.d.ts +1 -0
- package/dist/src/domains/logs/hooks/use-logs-filter-persistence.d.ts +2 -3
- package/dist/src/domains/logs/hooks/use-logs-url-state.d.ts +1 -1
- package/dist/src/domains/memory/components/flame-graph-data.d.ts +1 -1
- package/dist/src/domains/observability/components/trace-as-item-dialog.d.ts +3 -5
- package/dist/src/domains/traces/components/trace-data-panel-view.d.ts +1 -5
- package/dist/src/domains/traces/components/trace-span-panel.d.ts +1 -2
- package/dist/src/domains/traces/components/traces-explorer/index.d.ts +27 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-actions.d.ts +113 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.d.ts +1 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-columns-menu.d.ts +1 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-columns-provider.d.ts +9 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-context.d.ts +114 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-filter-bar.d.ts +24 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-layout.d.ts +14 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-list-provider.d.ts +13 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-list.d.ts +1 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-panel.d.ts +18 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-root.d.ts +21 -0
- package/dist/src/domains/traces/components/traces-explorer/use-traces-discovery.d.ts +15 -0
- package/dist/src/domains/traces/components/traces-explorer/use-traces-filter-bar.d.ts +15 -0
- package/dist/src/domains/traces/hooks/index.d.ts +1 -2
- package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +7 -1
- package/dist/src/domains/traces/trace-query-filters.d.ts +2 -0
- package/dist/src/domains/workflows/context/use-persisted-workflow-run.d.ts +5 -5
- package/dist/src/ds/components/BillingIllustration/art/credits-art.d.ts +2 -0
- package/dist/src/ds/components/BillingIllustration/art/plan-art.d.ts +5 -0
- package/dist/src/ds/components/BillingIllustration/billing-illustration.d.ts +1 -1
- package/dist/src/ds/components/CodeEditor/code-editor.d.ts +4 -0
- package/dist/src/ds/components/Combobox/combobox-parts.d.ts +1 -1
- package/dist/src/ds/components/DataList/data-list-root.d.ts +2 -0
- package/dist/src/ds/components/Select/select.d.ts +5 -1
- package/dist/src/ds/components/Sidebar/header/sidebar-badge.d.ts +7 -0
- package/dist/src/ds/components/Sidebar/header/sidebar-button-hint.d.ts +7 -0
- package/dist/src/ds/components/Sidebar/header/sidebar-search-trigger.d.ts +14 -3
- package/dist/src/ds/components/Sidebar/index.d.ts +1 -0
- package/dist/src/ds/components/Sidebar/root/sidebar-trigger.d.ts +2 -2
- package/dist/src/ds/components/Sidebar/sidebar.d.ts +5 -1
- package/dist/src/ds/components/ai/activity/presets/notification-activity.d.ts +5 -1
- package/dist/style.css +101 -13
- package/dist/{time-picker-CyvG-fwX.cjs → time-picker-BGtAkRRp.cjs} +2 -2
- package/dist/{time-picker-CyvG-fwX.cjs.map → time-picker-BGtAkRRp.cjs.map} +1 -1
- package/dist/{time-picker-Bzdboi4W.js → time-picker-D1VsACkg.js} +2 -2
- package/dist/{time-picker-Bzdboi4W.js.map → time-picker-D1VsACkg.js.map} +1 -1
- package/dist/{tool-approval-meJYp8az.js → tool-approval-CW6YjYlc.js} +2 -2
- package/dist/{tool-approval-meJYp8az.js.map → tool-approval-CW6YjYlc.js.map} +1 -1
- package/dist/{tool-approval-tRkskd9l.cjs → tool-approval-DNw_9w1C.cjs} +2 -2
- package/dist/{tool-approval-tRkskd9l.cjs.map → tool-approval-DNw_9w1C.cjs.map} +1 -1
- package/dist/{tool-call-arguments-D4D9tT7-.cjs → tool-call-arguments-BdHtc5O4.cjs} +2 -2
- package/dist/{tool-call-arguments-D4D9tT7-.cjs.map → tool-call-arguments-BdHtc5O4.cjs.map} +1 -1
- package/dist/{tool-call-arguments-CyKLhuQC.js → tool-call-arguments-CByjFWnk.js} +2 -2
- package/dist/{tool-call-arguments-CyKLhuQC.js.map → tool-call-arguments-CByjFWnk.js.map} +1 -1
- package/dist/{tool-card-D9jh-XXM.cjs → tool-card-DULALXIR.cjs} +2 -2
- package/dist/{tool-card-D9jh-XXM.cjs.map → tool-card-DULALXIR.cjs.map} +1 -1
- package/dist/{tool-card-B7s_wQuV.js → tool-card-DyZaGWgD.js} +2 -2
- package/dist/{tool-card-B7s_wQuV.js.map → tool-card-DyZaGWgD.js.map} +1 -1
- package/dist/{trace-filters-tC2TkI42.cjs → trace-filters-BtyiQq7Y.cjs} +9 -5
- package/dist/trace-filters-BtyiQq7Y.cjs.map +1 -0
- package/dist/{trace-filters-D1Cs5f24.js → trace-filters-DXW-RdDz.js} +10 -7
- package/dist/trace-filters-DXW-RdDz.js.map +1 -0
- package/dist/{traces-data-list-CF_LFvnf.cjs → traces-data-list-BOHhsgDI.cjs} +18 -20
- package/dist/{traces-data-list-CF_LFvnf.cjs.map → traces-data-list-BOHhsgDI.cjs.map} +1 -1
- package/dist/{traces-data-list-SpVFLEy8.js → traces-data-list-CP6knkOn.js} +2 -4
- package/dist/{traces-data-list-SpVFLEy8.js.map → traces-data-list-CP6knkOn.js.map} +1 -1
- package/dist/{use-workflow-graph-runtime-B0k2hrMc.cjs → use-workflow-graph-runtime-CWgTtW-I.cjs} +2 -2
- package/dist/{use-workflow-graph-runtime-B0k2hrMc.cjs.map → use-workflow-graph-runtime-CWgTtW-I.cjs.map} +1 -1
- package/dist/{use-workflow-graph-runtime-DiiAs2oN.js → use-workflow-graph-runtime-vYcO5MFZ.js} +2 -2
- package/dist/{use-workflow-graph-runtime-DiiAs2oN.js.map → use-workflow-graph-runtime-vYcO5MFZ.js.map} +1 -1
- package/dist/{workflow-code-dialog-content-yV6Lecry.cjs → workflow-code-dialog-content-BeB3jC3z.cjs} +2 -2
- package/dist/{workflow-code-dialog-content-yV6Lecry.cjs.map → workflow-code-dialog-content-BeB3jC3z.cjs.map} +1 -1
- package/dist/{workflow-code-dialog-content-lRHRkDdW.js → workflow-code-dialog-content-BpWrCzH0.js} +2 -2
- package/dist/{workflow-code-dialog-content-lRHRkDdW.js.map → workflow-code-dialog-content-BpWrCzH0.js.map} +1 -1
- package/dist/{workflow-data-edge-view-DadIXKjI.cjs → workflow-data-edge-view-CYsZxUHx.cjs} +2 -2
- package/dist/{workflow-data-edge-view-DadIXKjI.cjs.map → workflow-data-edge-view-CYsZxUHx.cjs.map} +1 -1
- package/dist/{workflow-data-edge-view-BcLEbr1i.js → workflow-data-edge-view-Cqbhavjw.js} +2 -2
- package/dist/{workflow-data-edge-view-BcLEbr1i.js.map → workflow-data-edge-view-Cqbhavjw.js.map} +1 -1
- package/dist/{workflow-edge-data-button-AwaLTE7H.js → workflow-edge-data-button-BPUmnY9J.js} +2 -2
- package/dist/{workflow-edge-data-button-AwaLTE7H.js.map → workflow-edge-data-button-BPUmnY9J.js.map} +1 -1
- package/dist/{workflow-edge-data-button-B4_tt1pL.cjs → workflow-edge-data-button-DinmgZoJ.cjs} +2 -2
- package/dist/{workflow-edge-data-button-B4_tt1pL.cjs.map → workflow-edge-data-button-DinmgZoJ.cjs.map} +1 -1
- package/package.json +11 -11
- package/dist/code-editor-CbyCb7CW.cjs.map +0 -1
- package/dist/code-editor-DOv4jc-0.js.map +0 -1
- package/dist/combobox-BCoCVZHs.js.map +0 -1
- package/dist/combobox-DbZAWh8q.cjs.map +0 -1
- package/dist/data-list-CGD9hzcp.cjs +0 -142
- package/dist/data-list-CGD9hzcp.cjs.map +0 -1
- package/dist/data-list-aFlt9Du-.js +0 -138
- package/dist/data-list-aFlt9Du-.js.map +0 -1
- package/dist/data-list-spacer-BFAQT_lQ.js +0 -209
- package/dist/data-list-spacer-BFAQT_lQ.js.map +0 -1
- package/dist/data-list-spacer-Dpoj55mv.cjs +0 -218
- package/dist/data-list-spacer-Dpoj55mv.cjs.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/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +0 -204
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js.map +0 -1
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.d.ts +0 -2
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +0 -200
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js.map +0 -1
- package/dist/domains/traces/hooks/use-trace-filter-persistence.cjs.js +0 -52
- package/dist/domains/traces/hooks/use-trace-filter-persistence.cjs.js.map +0 -1
- package/dist/domains/traces/hooks/use-trace-filter-persistence.d.ts +0 -2
- package/dist/domains/traces/hooks/use-trace-filter-persistence.es.js +0 -48
- package/dist/domains/traces/hooks/use-trace-filter-persistence.es.js.map +0 -1
- package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +0 -373
- package/dist/domains/traces/hooks/use-trace-url-state.cjs.js.map +0 -1
- package/dist/domains/traces/hooks/use-trace-url-state.d.ts +0 -2
- package/dist/domains/traces/hooks/use-trace-url-state.es.js +0 -369
- package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +0 -1
- package/dist/notification-activity-BSNuqJDd.cjs.map +0 -1
- package/dist/notification-activity-BWXHmlTn.js.map +0 -1
- package/dist/select-7rYaECQf.js.map +0 -1
- package/dist/select-A3AFKLd9.cjs.map +0 -1
- package/dist/settings-row-m_4gDCwS.cjs.map +0 -1
- package/dist/settings-row-yuQjwWTl.js.map +0 -1
- package/dist/side-dialog-C-XvsAm_.cjs +0 -231
- package/dist/side-dialog-C-XvsAm_.cjs.map +0 -1
- package/dist/side-dialog-cUpWIkKq.js +0 -211
- package/dist/side-dialog-cUpWIkKq.js.map +0 -1
- package/dist/src/domains/observability/components/add-trace-mocks-to-item-dialog.d.ts +0 -9
- package/dist/src/domains/traces/hooks/use-trace-filter-persistence.d.ts +0 -22
- package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +0 -83
- package/dist/trace-filters-D1Cs5f24.js.map +0 -1
- package/dist/trace-filters-tC2TkI42.cjs.map +0 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useTraceUsage } from '@mastra/react/hooks/traces';
|
|
3
|
+
import { TracesListView } from '../traces-list-view.es.js';
|
|
4
|
+
import { useTracesConfig, useTracesList, useTracesFilters, useTracesSelection, useTraceUsageColumns } from './traces-explorer-context.es.js';
|
|
5
|
+
import { useTracesFilterBar } from './use-traces-filter-bar.es.js';
|
|
6
|
+
|
|
7
|
+
function TracesExplorerList() {
|
|
8
|
+
const { listId } = useTracesConfig();
|
|
9
|
+
const {
|
|
10
|
+
rows,
|
|
11
|
+
isLoading,
|
|
12
|
+
isFetchingNextPage,
|
|
13
|
+
hasNextPage,
|
|
14
|
+
setEndOfListElement,
|
|
15
|
+
autoRefetch,
|
|
16
|
+
sortDirection,
|
|
17
|
+
onSortChange
|
|
18
|
+
} = useTracesList();
|
|
19
|
+
const { filtersApplied } = useTracesFilters();
|
|
20
|
+
const { onFilterByField } = useTracesFilterBar();
|
|
21
|
+
const { selectedTraceId, selectTrace, closeTrace } = useTracesSelection();
|
|
22
|
+
const { displayedPreferences, usageEnabled } = useTraceUsageColumns();
|
|
23
|
+
const { data: usageByTraceId } = useTraceUsage({
|
|
24
|
+
traceIds: rows.map((row) => row.traceId),
|
|
25
|
+
enabled: usageEnabled,
|
|
26
|
+
autoRefetch
|
|
27
|
+
});
|
|
28
|
+
const handleTraceClick = (trace) => {
|
|
29
|
+
if (trace.traceId === selectedTraceId) closeTrace();
|
|
30
|
+
else selectTrace(trace.traceId);
|
|
31
|
+
};
|
|
32
|
+
return /* @__PURE__ */ jsx(
|
|
33
|
+
TracesListView,
|
|
34
|
+
{
|
|
35
|
+
listId,
|
|
36
|
+
traces: rows,
|
|
37
|
+
isLoading,
|
|
38
|
+
isFetchingNextPage,
|
|
39
|
+
hasNextPage,
|
|
40
|
+
setEndOfListElement,
|
|
41
|
+
filtersApplied,
|
|
42
|
+
featuredTraceId: selectedTraceId,
|
|
43
|
+
columnPreferences: displayedPreferences,
|
|
44
|
+
usageByTraceId,
|
|
45
|
+
createdSort: sortDirection,
|
|
46
|
+
onSortChange,
|
|
47
|
+
onFilterByField,
|
|
48
|
+
onTraceClick: handleTraceClick
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export { TracesExplorerList };
|
|
54
|
+
//# sourceMappingURL=traces-explorer-list.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traces-explorer-list.es.js","sources":["../../../../../src/domains/traces/components/traces-explorer/traces-explorer-list.tsx"],"sourcesContent":["import { useTraceUsage } from '@mastra/react/hooks/traces';\nimport { TracesListView } from '../traces-list-view';\nimport type { TracesListViewTrace } from '../traces-list-view';\nimport {\n useTraceUsageColumns,\n useTracesConfig,\n useTracesFilters,\n useTracesList,\n useTracesSelection,\n} from './traces-explorer-context';\nimport { useTracesFilterBar } from './use-traces-filter-bar';\n\nexport function TracesExplorerList() {\n const { listId } = useTracesConfig();\n const {\n rows,\n isLoading,\n isFetchingNextPage,\n hasNextPage,\n setEndOfListElement,\n autoRefetch,\n sortDirection,\n onSortChange,\n } = useTracesList();\n const { filtersApplied } = useTracesFilters();\n const { onFilterByField } = useTracesFilterBar();\n const { selectedTraceId, selectTrace, closeTrace } = useTracesSelection();\n const { displayedPreferences, usageEnabled } = useTraceUsageColumns();\n\n const { data: usageByTraceId } = useTraceUsage({\n traceIds: rows.map(row => row.traceId),\n enabled: usageEnabled,\n autoRefetch,\n });\n\n // Clicking the open row closes it; any other row opens.\n const handleTraceClick = (trace: TracesListViewTrace) => {\n if (trace.traceId === selectedTraceId) closeTrace();\n else selectTrace(trace.traceId);\n };\n\n return (\n <TracesListView\n listId={listId}\n traces={rows}\n isLoading={isLoading}\n isFetchingNextPage={isFetchingNextPage}\n hasNextPage={hasNextPage}\n setEndOfListElement={setEndOfListElement}\n filtersApplied={filtersApplied}\n featuredTraceId={selectedTraceId}\n columnPreferences={displayedPreferences}\n usageByTraceId={usageByTraceId}\n createdSort={sortDirection}\n onSortChange={onSortChange}\n onFilterByField={onFilterByField}\n onTraceClick={handleTraceClick}\n />\n );\n}\n"],"names":[],"mappings":";;;;;;AAYO,SAAS,kBAAA,GAAqB;AACnC,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,eAAA,EAAgB;AACnC,EAAA,MAAM;AAAA,IACJ,IAAA;AAAA,IACA,SAAA;AAAA,IACA,kBAAA;AAAA,IACA,WAAA;AAAA,IACA,mBAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,MACE,aAAA,EAAc;AAClB,EAAA,MAAM,EAAE,cAAA,EAAe,GAAI,gBAAA,EAAiB;AAC5C,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAI,kBAAA,EAAmB;AAC/C,EAAA,MAAM,EAAE,eAAA,EAAiB,WAAA,EAAa,UAAA,KAAe,kBAAA,EAAmB;AACxE,EAAA,MAAM,EAAE,oBAAA,EAAsB,YAAA,EAAa,GAAI,oBAAA,EAAqB;AAEpE,EAAA,MAAM,EAAE,IAAA,EAAM,cAAA,EAAe,GAAI,aAAA,CAAc;AAAA,IAC7C,QAAA,EAAU,IAAA,CAAK,GAAA,CAAI,CAAA,GAAA,KAAO,IAAI,OAAO,CAAA;AAAA,IACrC,OAAA,EAAS,YAAA;AAAA,IACT;AAAA,GACD,CAAA;AAGD,EAAA,MAAM,gBAAA,GAAmB,CAAC,KAAA,KAA+B;AACvD,IAAA,IAAI,KAAA,CAAM,OAAA,KAAY,eAAA,EAAiB,UAAA,EAAW;AAAA,SAC7C,WAAA,CAAY,MAAM,OAAO,CAAA;AAAA,EAChC,CAAA;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,MAAA;AAAA,MACA,MAAA,EAAQ,IAAA;AAAA,MACR,SAAA;AAAA,MACA,kBAAA;AAAA,MACA,WAAA;AAAA,MACA,mBAAA;AAAA,MACA,cAAA;AAAA,MACA,eAAA,EAAiB,eAAA;AAAA,MACjB,iBAAA,EAAmB,oBAAA;AAAA,MACnB,cAAA;AAAA,MACA,WAAA,EAAa,aAAA;AAAA,MACb,YAAA;AAAA,MACA,eAAA;AAAA,MACA,YAAA,EAAc;AAAA;AAAA,GAChB;AAEJ;;;;"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
const scores = require('@mastra/react/hooks/scores');
|
|
7
|
+
const traces = require('@mastra/react/hooks/traces');
|
|
8
|
+
const React = require('react');
|
|
9
|
+
const domains_traces_hooks_useTraceListNavigation = require('../../hooks/use-trace-list-navigation.cjs.js');
|
|
10
|
+
const domains_traces_components_spanFeedbackTab = require('../span-feedback-tab.cjs.js');
|
|
11
|
+
const domains_traces_components_traceFeedbackTab = require('../trace-feedback-tab.cjs.js');
|
|
12
|
+
const domains_traces_components_traceSpanPanel = require('../trace-span-panel.cjs.js');
|
|
13
|
+
const domains_traces_components_tracesExplorer_tracesExplorerContext = require('./traces-explorer-context.cjs.js');
|
|
14
|
+
const domains_observability_components_traceAsItemDialog = require('../../../observability/components/trace-as-item-dialog.cjs.js');
|
|
15
|
+
require('lucide-react');
|
|
16
|
+
require('@base-ui/react/combobox');
|
|
17
|
+
require('../../../../toast-DxKdVSyw.cjs');
|
|
18
|
+
const domains_scores_components_traceScoresTab = require('../../../scores/components/trace-scores-tab.cjs.js');
|
|
19
|
+
const domains_scores_components_scoreDataPanel = require('../../../scores/components/score-data-panel.cjs.js');
|
|
20
|
+
require('@mastra/core/utils/safe-stringify');
|
|
21
|
+
require('@mastra/react/hooks/datasets');
|
|
22
|
+
require('../../../../Button-C4I05uT4.cjs');
|
|
23
|
+
require('../../../../highlight-DfnRU-Am.cjs');
|
|
24
|
+
require('../../../../field-control-aria-WzMGs0A4.cjs');
|
|
25
|
+
require('@base-ui/react/use-render');
|
|
26
|
+
require('../../../../lib/framework.cjs.js');
|
|
27
|
+
require('../../../datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js');
|
|
28
|
+
|
|
29
|
+
function TracesExplorerPanel({
|
|
30
|
+
onOpenScore,
|
|
31
|
+
renderCreateDatasetDialog,
|
|
32
|
+
headerActionsSlot,
|
|
33
|
+
traceHref,
|
|
34
|
+
withAddTraceToDataset = true
|
|
35
|
+
}) {
|
|
36
|
+
const { withQueryTrace, withFeedback } = domains_traces_components_tracesExplorer_tracesExplorerContext.useTracesConfig();
|
|
37
|
+
const { rows, autoRefetch, isLoading: isListLoading } = domains_traces_components_tracesExplorer_tracesExplorerContext.useTracesList();
|
|
38
|
+
const { selection, selectTrace, closeTrace, selectSpan, setSpanTab, setSpanView, selectScore, highlightSpans } = domains_traces_components_tracesExplorer_tracesExplorerContext.useTracesSelection();
|
|
39
|
+
const { usageEnabled } = domains_traces_components_tracesExplorer_tracesExplorerContext.useTraceUsageColumns();
|
|
40
|
+
const traceId = selection.traceId;
|
|
41
|
+
const spanId = selection.spanId;
|
|
42
|
+
const [datasetDialogTarget, setDatasetDialogTarget] = React.useState(null);
|
|
43
|
+
const [fullThreadTraceId, setFullThreadTraceId] = React.useState(null);
|
|
44
|
+
const { data: traceFeedbackData } = traces.useTraceFeedback({
|
|
45
|
+
traceId,
|
|
46
|
+
queryOptions: { enabled: withFeedback && !!traceId }
|
|
47
|
+
});
|
|
48
|
+
const { data: spanFeedbackData } = traces.useSpanFeedback({
|
|
49
|
+
traceId,
|
|
50
|
+
spanId,
|
|
51
|
+
queryOptions: { enabled: withFeedback && !!traceId && !!spanId }
|
|
52
|
+
});
|
|
53
|
+
const {
|
|
54
|
+
spans,
|
|
55
|
+
anchorSpanId,
|
|
56
|
+
isLoading: isLoadingSpans
|
|
57
|
+
} = traces.useTraceOrBranchSpans({ traceId: traceId ?? null, listMode: "traces", anchorSpanId: null });
|
|
58
|
+
const anchorSpan = anchorSpanId ? spans?.find((s) => s.spanId === anchorSpanId) : spans?.find((s) => s.parentSpanId == null);
|
|
59
|
+
const { data: spanScoresData } = scores.useTraceSpanScores({
|
|
60
|
+
traceId,
|
|
61
|
+
spanId: anchorSpan?.spanId,
|
|
62
|
+
queryOptions: { enabled: !!traceId && !!anchorSpan?.spanId }
|
|
63
|
+
});
|
|
64
|
+
const featuredScore = selection.scoreId ? spanScoresData?.scores?.find((score) => score.id === selection.scoreId) : void 0;
|
|
65
|
+
const rowIds = rows.map((row) => row.traceId);
|
|
66
|
+
const isListed = !!traceId && rowIds.includes(traceId);
|
|
67
|
+
const { data: usageByTraceId } = traces.useTraceUsage({
|
|
68
|
+
traceIds: isListed ? rowIds : traceId ? [traceId] : [],
|
|
69
|
+
enabled: usageEnabled && !isListLoading,
|
|
70
|
+
autoRefetch
|
|
71
|
+
});
|
|
72
|
+
const usage = traceId ? usageByTraceId?.get(traceId) : void 0;
|
|
73
|
+
const { handlePreviousTrace, handleNextTrace } = domains_traces_hooks_useTraceListNavigation.useTraceListNavigation(rows, traceId, null, selectTrace);
|
|
74
|
+
const isFullThreadOpen = !!traceId && fullThreadTraceId === traceId;
|
|
75
|
+
const depth = isFullThreadOpen ? 3 : 2;
|
|
76
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
77
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
78
|
+
domains_traces_components_traceSpanPanel.TraceSpanPanel,
|
|
79
|
+
{
|
|
80
|
+
title: "Trace details",
|
|
81
|
+
size: spanId ? "full" : "wide",
|
|
82
|
+
traceId,
|
|
83
|
+
spans,
|
|
84
|
+
anchorSpanId,
|
|
85
|
+
usage,
|
|
86
|
+
isLoadingSpans,
|
|
87
|
+
selectedSpanId: spanId ?? null,
|
|
88
|
+
onClose: () => {
|
|
89
|
+
setFullThreadTraceId(null);
|
|
90
|
+
closeTrace();
|
|
91
|
+
},
|
|
92
|
+
isFullThreadOpen,
|
|
93
|
+
withQueryTrace,
|
|
94
|
+
withFeedback,
|
|
95
|
+
onOpenScore,
|
|
96
|
+
onFullThreadOpenChange: (open) => setFullThreadTraceId(open ? traceId ?? null : null),
|
|
97
|
+
onSpanSelect: (id) => selectSpan(id ?? null),
|
|
98
|
+
onSaveAsDatasetItem: withAddTraceToDataset ? setDatasetDialogTarget : void 0,
|
|
99
|
+
initialSpanId: spanId,
|
|
100
|
+
onPrevious: handlePreviousTrace,
|
|
101
|
+
onNext: handleNextTrace,
|
|
102
|
+
showPartialThread: true,
|
|
103
|
+
featuredSpanIds: selection.highlightSpanIds,
|
|
104
|
+
onHighlightSpans: highlightSpans,
|
|
105
|
+
feedbackTabBadge: withFeedback ? traceFeedbackData?.pagination?.total ?? void 0 : void 0,
|
|
106
|
+
feedbackTabSlot: withFeedback ? ({ traceId: tid }) => /* @__PURE__ */ jsxRuntime.jsx(domains_traces_components_traceFeedbackTab.TraceFeedbackTab, { traceId: tid }) : void 0,
|
|
107
|
+
scoresTabBadge: spanScoresData?.pagination?.total ?? void 0,
|
|
108
|
+
scoresTabSlot: ({ traceId: tid, rootSpanId }) => rootSpanId ? /* @__PURE__ */ jsxRuntime.jsx(domains_scores_components_traceScoresTab.TraceScoresTab, { traceId: tid, spanId: rootSpanId, onScoreSelect: selectScore }) : null,
|
|
109
|
+
spanView: selection.spanView,
|
|
110
|
+
onSpanViewChange: setSpanView,
|
|
111
|
+
spanActiveTab: selection.spanTab ?? "details",
|
|
112
|
+
onSpanTabChange: (tab) => setSpanTab(tab),
|
|
113
|
+
spanFeedbackTabBadge: withFeedback ? spanFeedbackData?.pagination?.total ?? void 0 : void 0,
|
|
114
|
+
spanFeedbackTabSlot: withFeedback ? ({ traceId: tid, spanId: sid }) => tid && sid ? /* @__PURE__ */ jsxRuntime.jsx(domains_traces_components_spanFeedbackTab.SpanFeedbackTab, { traceId: tid, spanId: sid }, `${tid}:${sid}`) : null : void 0,
|
|
115
|
+
headerActionsSlot: traceId && headerActionsSlot ? headerActionsSlot({ traceId, spans }) : void 0,
|
|
116
|
+
traceHref: traceId && traceHref ? traceHref(traceId) : void 0
|
|
117
|
+
}
|
|
118
|
+
),
|
|
119
|
+
/* @__PURE__ */ jsxRuntime.jsx(domains_scores_components_scoreDataPanel.ScoreDataPanel, { depth, score: featuredScore, onClose: () => selectScore(null) }),
|
|
120
|
+
withAddTraceToDataset && /* @__PURE__ */ jsxRuntime.jsx(
|
|
121
|
+
domains_observability_components_traceAsItemDialog.TraceAsItemDialog,
|
|
122
|
+
{
|
|
123
|
+
rootSpanId: datasetDialogTarget?.rootSpanId,
|
|
124
|
+
traceId: datasetDialogTarget?.traceId,
|
|
125
|
+
isOpen: !!datasetDialogTarget,
|
|
126
|
+
onClose: () => setDatasetDialogTarget(null),
|
|
127
|
+
renderCreateDatasetDialog
|
|
128
|
+
}
|
|
129
|
+
)
|
|
130
|
+
] });
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
exports.TracesExplorerPanel = TracesExplorerPanel;
|
|
134
|
+
//# sourceMappingURL=traces-explorer-panel.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traces-explorer-panel.cjs.js","sources":["../../../../../src/domains/traces/components/traces-explorer/traces-explorer-panel.tsx"],"sourcesContent":["import { useTraceSpanScores } from '@mastra/react/hooks/scores';\nimport { useSpanFeedback, useTraceFeedback, useTraceOrBranchSpans, useTraceUsage } from '@mastra/react/hooks/traces';\nimport { useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { useTraceListNavigation } from '../../hooks/use-trace-list-navigation';\nimport type { SpanTab } from '../../types';\nimport { SpanFeedbackTab } from '../span-feedback-tab';\nimport { TraceFeedbackTab } from '../trace-feedback-tab';\nimport { TraceSpanPanel } from '../trace-span-panel';\nimport type { TraceSpanPanelProps } from '../trace-span-panel';\nimport { useTraceUsageColumns, useTracesConfig, useTracesList, useTracesSelection } from './traces-explorer-context';\nimport { TraceAsItemDialog } from '@/domains/observability/components/trace-as-item-dialog';\nimport { ScoreDataPanel, TraceScoresTab } from '@/domains/scores';\n\nexport type TracesExplorerPanelProps = {\n /** Opens a score of one of the full thread's traces (the host owns routing). */\n onOpenScore: (traceId: string, scoreId: string) => void;\n renderCreateDatasetDialog?: ComponentProps<typeof TraceAsItemDialog>['renderCreateDatasetDialog'];\n /** Host integration actions rendered alongside the trace controls. */\n headerActionsSlot?: (args: { traceId: string; spans: TraceSpanPanelProps['spans'] }) => ReactNode;\n /** Builds the href of the dedicated trace page; without it the drawer offers no \"Open trace page\" link. */\n traceHref?: (traceId: string) => string;\n /** Shows \"Add full trace to dataset\" in the trace actions menu. Defaults to `true`. */\n withAddTraceToDataset?: boolean;\n};\n\ntype DatasetDialogTarget = { traceId: string; rootSpanId: string | undefined };\n\nexport function TracesExplorerPanel({\n onOpenScore,\n renderCreateDatasetDialog,\n headerActionsSlot,\n traceHref,\n withAddTraceToDataset = true,\n}: TracesExplorerPanelProps) {\n const { withQueryTrace, withFeedback } = useTracesConfig();\n const { rows, autoRefetch, isLoading: isListLoading } = useTracesList();\n const { selection, selectTrace, closeTrace, selectSpan, setSpanTab, setSpanView, selectScore, highlightSpans } =\n useTracesSelection();\n const { usageEnabled } = useTraceUsageColumns();\n const traceId = selection.traceId;\n const spanId = selection.spanId;\n\n const [datasetDialogTarget, setDatasetDialogTarget] = useState<DatasetDialogTarget | null>(null);\n // Keyed by trace id so selecting another trace (row click, prev/next) falls back to the trace panel.\n const [fullThreadTraceId, setFullThreadTraceId] = useState<string | null>(null);\n\n // Tab badge counts; the tab bodies re-use these first-page queries through React Query's cache.\n const { data: traceFeedbackData } = useTraceFeedback({\n traceId,\n queryOptions: { enabled: withFeedback && !!traceId },\n });\n const { data: spanFeedbackData } = useSpanFeedback({\n traceId,\n spanId,\n queryOptions: { enabled: withFeedback && !!traceId && !!spanId },\n });\n\n const {\n spans,\n anchorSpanId,\n isLoading: isLoadingSpans,\n } = useTraceOrBranchSpans({ traceId: traceId ?? null, listMode: 'traces', anchorSpanId: null });\n const anchorSpan = anchorSpanId\n ? spans?.find(s => s.spanId === anchorSpanId)\n : spans?.find(s => s.parentSpanId == null);\n\n const { data: spanScoresData } = useTraceSpanScores({\n traceId,\n spanId: anchorSpan?.spanId,\n queryOptions: { enabled: !!traceId && !!anchorSpan?.spanId },\n });\n const featuredScore = selection.scoreId\n ? spanScoresData?.scores?.find(score => score.id === selection.scoreId)\n : undefined;\n\n // Same key as the list's usage query when the trace is listed, so React Query serves it from cache.\n // Waits for the list so a deep-linked trace doesn't fetch its own usage before the rows arrive.\n const rowIds = rows.map(row => row.traceId);\n const isListed = !!traceId && rowIds.includes(traceId);\n const { data: usageByTraceId } = useTraceUsage({\n traceIds: isListed ? rowIds : traceId ? [traceId] : [],\n enabled: usageEnabled && !isListLoading,\n autoRefetch,\n });\n const usage = traceId ? usageByTraceId?.get(traceId) : undefined;\n\n const { handlePreviousTrace, handleNextTrace } = useTraceListNavigation(rows, traceId, null, selectTrace);\n\n const isFullThreadOpen = !!traceId && fullThreadTraceId === traceId;\n const depth = isFullThreadOpen ? 3 : 2;\n\n return (\n <>\n <TraceSpanPanel\n title=\"Trace details\"\n size={spanId ? 'full' : 'wide'}\n traceId={traceId}\n spans={spans}\n anchorSpanId={anchorSpanId}\n usage={usage}\n isLoadingSpans={isLoadingSpans}\n selectedSpanId={spanId ?? null}\n onClose={() => {\n setFullThreadTraceId(null);\n closeTrace();\n }}\n isFullThreadOpen={isFullThreadOpen}\n withQueryTrace={withQueryTrace}\n withFeedback={withFeedback}\n onOpenScore={onOpenScore}\n onFullThreadOpenChange={open => setFullThreadTraceId(open ? (traceId ?? null) : null)}\n onSpanSelect={id => selectSpan(id ?? null)}\n onSaveAsDatasetItem={withAddTraceToDataset ? setDatasetDialogTarget : undefined}\n initialSpanId={spanId}\n onPrevious={handlePreviousTrace}\n onNext={handleNextTrace}\n showPartialThread\n featuredSpanIds={selection.highlightSpanIds}\n onHighlightSpans={highlightSpans}\n feedbackTabBadge={withFeedback ? (traceFeedbackData?.pagination?.total ?? undefined) : undefined}\n feedbackTabSlot={withFeedback ? ({ traceId: tid }) => <TraceFeedbackTab traceId={tid} /> : undefined}\n scoresTabBadge={spanScoresData?.pagination?.total ?? undefined}\n scoresTabSlot={({ traceId: tid, rootSpanId }) =>\n rootSpanId ? <TraceScoresTab traceId={tid} spanId={rootSpanId} onScoreSelect={selectScore} /> : null\n }\n spanView={selection.spanView}\n onSpanViewChange={setSpanView}\n spanActiveTab={selection.spanTab ?? 'details'}\n onSpanTabChange={tab => setSpanTab(tab as SpanTab)}\n spanFeedbackTabBadge={withFeedback ? (spanFeedbackData?.pagination?.total ?? undefined) : undefined}\n spanFeedbackTabSlot={\n withFeedback\n ? ({ traceId: tid, spanId: sid }) =>\n tid && sid ? <SpanFeedbackTab key={`${tid}:${sid}`} traceId={tid} spanId={sid} /> : null\n : undefined\n }\n headerActionsSlot={traceId && headerActionsSlot ? headerActionsSlot({ traceId, spans }) : undefined}\n traceHref={traceId && traceHref ? traceHref(traceId) : undefined}\n />\n <ScoreDataPanel depth={depth} score={featuredScore} onClose={() => selectScore(null)} />\n {withAddTraceToDataset && (\n <TraceAsItemDialog\n rootSpanId={datasetDialogTarget?.rootSpanId}\n traceId={datasetDialogTarget?.traceId}\n isOpen={!!datasetDialogTarget}\n onClose={() => setDatasetDialogTarget(null)}\n renderCreateDatasetDialog={renderCreateDatasetDialog}\n />\n )}\n </>\n );\n}\n"],"names":["useTracesConfig","useTracesList","useTracesSelection","useTraceUsageColumns","useState","useTraceFeedback","useSpanFeedback","useTraceOrBranchSpans","useTraceSpanScores","useTraceUsage","useTraceListNavigation","jsxs","Fragment","jsx","TraceSpanPanel","TraceFeedbackTab","TraceScoresTab","SpanFeedbackTab","ScoreDataPanel","TraceAsItemDialog"],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useTraceSpanScores } from '@mastra/react/hooks/scores';
|
|
3
|
+
import { useTraceFeedback, useSpanFeedback, useTraceOrBranchSpans, useTraceUsage } from '@mastra/react/hooks/traces';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import { useTraceListNavigation } from '../../hooks/use-trace-list-navigation.es.js';
|
|
6
|
+
import { SpanFeedbackTab } from '../span-feedback-tab.es.js';
|
|
7
|
+
import { TraceFeedbackTab } from '../trace-feedback-tab.es.js';
|
|
8
|
+
import { TraceSpanPanel } from '../trace-span-panel.es.js';
|
|
9
|
+
import { useTracesConfig, useTracesList, useTracesSelection, useTraceUsageColumns } from './traces-explorer-context.es.js';
|
|
10
|
+
import { TraceAsItemDialog } from '../../../observability/components/trace-as-item-dialog.es.js';
|
|
11
|
+
import 'lucide-react';
|
|
12
|
+
import '@base-ui/react/combobox';
|
|
13
|
+
import '../../../../toast-5aQbZBbY.js';
|
|
14
|
+
import { TraceScoresTab } from '../../../scores/components/trace-scores-tab.es.js';
|
|
15
|
+
import { ScoreDataPanel } from '../../../scores/components/score-data-panel.es.js';
|
|
16
|
+
import '@mastra/core/utils/safe-stringify';
|
|
17
|
+
import '@mastra/react/hooks/datasets';
|
|
18
|
+
import '../../../../Button-D8a5EWJ5.js';
|
|
19
|
+
import '../../../../highlight-CXDme3FZ.js';
|
|
20
|
+
import '../../../../field-control-aria-DB6y41tQ.js';
|
|
21
|
+
import '@base-ui/react/use-render';
|
|
22
|
+
import '../../../../lib/framework.es.js';
|
|
23
|
+
import '../../../datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js';
|
|
24
|
+
|
|
25
|
+
function TracesExplorerPanel({
|
|
26
|
+
onOpenScore,
|
|
27
|
+
renderCreateDatasetDialog,
|
|
28
|
+
headerActionsSlot,
|
|
29
|
+
traceHref,
|
|
30
|
+
withAddTraceToDataset = true
|
|
31
|
+
}) {
|
|
32
|
+
const { withQueryTrace, withFeedback } = useTracesConfig();
|
|
33
|
+
const { rows, autoRefetch, isLoading: isListLoading } = useTracesList();
|
|
34
|
+
const { selection, selectTrace, closeTrace, selectSpan, setSpanTab, setSpanView, selectScore, highlightSpans } = useTracesSelection();
|
|
35
|
+
const { usageEnabled } = useTraceUsageColumns();
|
|
36
|
+
const traceId = selection.traceId;
|
|
37
|
+
const spanId = selection.spanId;
|
|
38
|
+
const [datasetDialogTarget, setDatasetDialogTarget] = useState(null);
|
|
39
|
+
const [fullThreadTraceId, setFullThreadTraceId] = useState(null);
|
|
40
|
+
const { data: traceFeedbackData } = useTraceFeedback({
|
|
41
|
+
traceId,
|
|
42
|
+
queryOptions: { enabled: withFeedback && !!traceId }
|
|
43
|
+
});
|
|
44
|
+
const { data: spanFeedbackData } = useSpanFeedback({
|
|
45
|
+
traceId,
|
|
46
|
+
spanId,
|
|
47
|
+
queryOptions: { enabled: withFeedback && !!traceId && !!spanId }
|
|
48
|
+
});
|
|
49
|
+
const {
|
|
50
|
+
spans,
|
|
51
|
+
anchorSpanId,
|
|
52
|
+
isLoading: isLoadingSpans
|
|
53
|
+
} = useTraceOrBranchSpans({ traceId: traceId ?? null, listMode: "traces", anchorSpanId: null });
|
|
54
|
+
const anchorSpan = anchorSpanId ? spans?.find((s) => s.spanId === anchorSpanId) : spans?.find((s) => s.parentSpanId == null);
|
|
55
|
+
const { data: spanScoresData } = useTraceSpanScores({
|
|
56
|
+
traceId,
|
|
57
|
+
spanId: anchorSpan?.spanId,
|
|
58
|
+
queryOptions: { enabled: !!traceId && !!anchorSpan?.spanId }
|
|
59
|
+
});
|
|
60
|
+
const featuredScore = selection.scoreId ? spanScoresData?.scores?.find((score) => score.id === selection.scoreId) : void 0;
|
|
61
|
+
const rowIds = rows.map((row) => row.traceId);
|
|
62
|
+
const isListed = !!traceId && rowIds.includes(traceId);
|
|
63
|
+
const { data: usageByTraceId } = useTraceUsage({
|
|
64
|
+
traceIds: isListed ? rowIds : traceId ? [traceId] : [],
|
|
65
|
+
enabled: usageEnabled && !isListLoading,
|
|
66
|
+
autoRefetch
|
|
67
|
+
});
|
|
68
|
+
const usage = traceId ? usageByTraceId?.get(traceId) : void 0;
|
|
69
|
+
const { handlePreviousTrace, handleNextTrace } = useTraceListNavigation(rows, traceId, null, selectTrace);
|
|
70
|
+
const isFullThreadOpen = !!traceId && fullThreadTraceId === traceId;
|
|
71
|
+
const depth = isFullThreadOpen ? 3 : 2;
|
|
72
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
73
|
+
/* @__PURE__ */ jsx(
|
|
74
|
+
TraceSpanPanel,
|
|
75
|
+
{
|
|
76
|
+
title: "Trace details",
|
|
77
|
+
size: spanId ? "full" : "wide",
|
|
78
|
+
traceId,
|
|
79
|
+
spans,
|
|
80
|
+
anchorSpanId,
|
|
81
|
+
usage,
|
|
82
|
+
isLoadingSpans,
|
|
83
|
+
selectedSpanId: spanId ?? null,
|
|
84
|
+
onClose: () => {
|
|
85
|
+
setFullThreadTraceId(null);
|
|
86
|
+
closeTrace();
|
|
87
|
+
},
|
|
88
|
+
isFullThreadOpen,
|
|
89
|
+
withQueryTrace,
|
|
90
|
+
withFeedback,
|
|
91
|
+
onOpenScore,
|
|
92
|
+
onFullThreadOpenChange: (open) => setFullThreadTraceId(open ? traceId ?? null : null),
|
|
93
|
+
onSpanSelect: (id) => selectSpan(id ?? null),
|
|
94
|
+
onSaveAsDatasetItem: withAddTraceToDataset ? setDatasetDialogTarget : void 0,
|
|
95
|
+
initialSpanId: spanId,
|
|
96
|
+
onPrevious: handlePreviousTrace,
|
|
97
|
+
onNext: handleNextTrace,
|
|
98
|
+
showPartialThread: true,
|
|
99
|
+
featuredSpanIds: selection.highlightSpanIds,
|
|
100
|
+
onHighlightSpans: highlightSpans,
|
|
101
|
+
feedbackTabBadge: withFeedback ? traceFeedbackData?.pagination?.total ?? void 0 : void 0,
|
|
102
|
+
feedbackTabSlot: withFeedback ? ({ traceId: tid }) => /* @__PURE__ */ jsx(TraceFeedbackTab, { traceId: tid }) : void 0,
|
|
103
|
+
scoresTabBadge: spanScoresData?.pagination?.total ?? void 0,
|
|
104
|
+
scoresTabSlot: ({ traceId: tid, rootSpanId }) => rootSpanId ? /* @__PURE__ */ jsx(TraceScoresTab, { traceId: tid, spanId: rootSpanId, onScoreSelect: selectScore }) : null,
|
|
105
|
+
spanView: selection.spanView,
|
|
106
|
+
onSpanViewChange: setSpanView,
|
|
107
|
+
spanActiveTab: selection.spanTab ?? "details",
|
|
108
|
+
onSpanTabChange: (tab) => setSpanTab(tab),
|
|
109
|
+
spanFeedbackTabBadge: withFeedback ? spanFeedbackData?.pagination?.total ?? void 0 : void 0,
|
|
110
|
+
spanFeedbackTabSlot: withFeedback ? ({ traceId: tid, spanId: sid }) => tid && sid ? /* @__PURE__ */ jsx(SpanFeedbackTab, { traceId: tid, spanId: sid }, `${tid}:${sid}`) : null : void 0,
|
|
111
|
+
headerActionsSlot: traceId && headerActionsSlot ? headerActionsSlot({ traceId, spans }) : void 0,
|
|
112
|
+
traceHref: traceId && traceHref ? traceHref(traceId) : void 0
|
|
113
|
+
}
|
|
114
|
+
),
|
|
115
|
+
/* @__PURE__ */ jsx(ScoreDataPanel, { depth, score: featuredScore, onClose: () => selectScore(null) }),
|
|
116
|
+
withAddTraceToDataset && /* @__PURE__ */ jsx(
|
|
117
|
+
TraceAsItemDialog,
|
|
118
|
+
{
|
|
119
|
+
rootSpanId: datasetDialogTarget?.rootSpanId,
|
|
120
|
+
traceId: datasetDialogTarget?.traceId,
|
|
121
|
+
isOpen: !!datasetDialogTarget,
|
|
122
|
+
onClose: () => setDatasetDialogTarget(null),
|
|
123
|
+
renderCreateDatasetDialog
|
|
124
|
+
}
|
|
125
|
+
)
|
|
126
|
+
] });
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export { TracesExplorerPanel };
|
|
130
|
+
//# sourceMappingURL=traces-explorer-panel.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traces-explorer-panel.es.js","sources":["../../../../../src/domains/traces/components/traces-explorer/traces-explorer-panel.tsx"],"sourcesContent":["import { useTraceSpanScores } from '@mastra/react/hooks/scores';\nimport { useSpanFeedback, useTraceFeedback, useTraceOrBranchSpans, useTraceUsage } from '@mastra/react/hooks/traces';\nimport { useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { useTraceListNavigation } from '../../hooks/use-trace-list-navigation';\nimport type { SpanTab } from '../../types';\nimport { SpanFeedbackTab } from '../span-feedback-tab';\nimport { TraceFeedbackTab } from '../trace-feedback-tab';\nimport { TraceSpanPanel } from '../trace-span-panel';\nimport type { TraceSpanPanelProps } from '../trace-span-panel';\nimport { useTraceUsageColumns, useTracesConfig, useTracesList, useTracesSelection } from './traces-explorer-context';\nimport { TraceAsItemDialog } from '@/domains/observability/components/trace-as-item-dialog';\nimport { ScoreDataPanel, TraceScoresTab } from '@/domains/scores';\n\nexport type TracesExplorerPanelProps = {\n /** Opens a score of one of the full thread's traces (the host owns routing). */\n onOpenScore: (traceId: string, scoreId: string) => void;\n renderCreateDatasetDialog?: ComponentProps<typeof TraceAsItemDialog>['renderCreateDatasetDialog'];\n /** Host integration actions rendered alongside the trace controls. */\n headerActionsSlot?: (args: { traceId: string; spans: TraceSpanPanelProps['spans'] }) => ReactNode;\n /** Builds the href of the dedicated trace page; without it the drawer offers no \"Open trace page\" link. */\n traceHref?: (traceId: string) => string;\n /** Shows \"Add full trace to dataset\" in the trace actions menu. Defaults to `true`. */\n withAddTraceToDataset?: boolean;\n};\n\ntype DatasetDialogTarget = { traceId: string; rootSpanId: string | undefined };\n\nexport function TracesExplorerPanel({\n onOpenScore,\n renderCreateDatasetDialog,\n headerActionsSlot,\n traceHref,\n withAddTraceToDataset = true,\n}: TracesExplorerPanelProps) {\n const { withQueryTrace, withFeedback } = useTracesConfig();\n const { rows, autoRefetch, isLoading: isListLoading } = useTracesList();\n const { selection, selectTrace, closeTrace, selectSpan, setSpanTab, setSpanView, selectScore, highlightSpans } =\n useTracesSelection();\n const { usageEnabled } = useTraceUsageColumns();\n const traceId = selection.traceId;\n const spanId = selection.spanId;\n\n const [datasetDialogTarget, setDatasetDialogTarget] = useState<DatasetDialogTarget | null>(null);\n // Keyed by trace id so selecting another trace (row click, prev/next) falls back to the trace panel.\n const [fullThreadTraceId, setFullThreadTraceId] = useState<string | null>(null);\n\n // Tab badge counts; the tab bodies re-use these first-page queries through React Query's cache.\n const { data: traceFeedbackData } = useTraceFeedback({\n traceId,\n queryOptions: { enabled: withFeedback && !!traceId },\n });\n const { data: spanFeedbackData } = useSpanFeedback({\n traceId,\n spanId,\n queryOptions: { enabled: withFeedback && !!traceId && !!spanId },\n });\n\n const {\n spans,\n anchorSpanId,\n isLoading: isLoadingSpans,\n } = useTraceOrBranchSpans({ traceId: traceId ?? null, listMode: 'traces', anchorSpanId: null });\n const anchorSpan = anchorSpanId\n ? spans?.find(s => s.spanId === anchorSpanId)\n : spans?.find(s => s.parentSpanId == null);\n\n const { data: spanScoresData } = useTraceSpanScores({\n traceId,\n spanId: anchorSpan?.spanId,\n queryOptions: { enabled: !!traceId && !!anchorSpan?.spanId },\n });\n const featuredScore = selection.scoreId\n ? spanScoresData?.scores?.find(score => score.id === selection.scoreId)\n : undefined;\n\n // Same key as the list's usage query when the trace is listed, so React Query serves it from cache.\n // Waits for the list so a deep-linked trace doesn't fetch its own usage before the rows arrive.\n const rowIds = rows.map(row => row.traceId);\n const isListed = !!traceId && rowIds.includes(traceId);\n const { data: usageByTraceId } = useTraceUsage({\n traceIds: isListed ? rowIds : traceId ? [traceId] : [],\n enabled: usageEnabled && !isListLoading,\n autoRefetch,\n });\n const usage = traceId ? usageByTraceId?.get(traceId) : undefined;\n\n const { handlePreviousTrace, handleNextTrace } = useTraceListNavigation(rows, traceId, null, selectTrace);\n\n const isFullThreadOpen = !!traceId && fullThreadTraceId === traceId;\n const depth = isFullThreadOpen ? 3 : 2;\n\n return (\n <>\n <TraceSpanPanel\n title=\"Trace details\"\n size={spanId ? 'full' : 'wide'}\n traceId={traceId}\n spans={spans}\n anchorSpanId={anchorSpanId}\n usage={usage}\n isLoadingSpans={isLoadingSpans}\n selectedSpanId={spanId ?? null}\n onClose={() => {\n setFullThreadTraceId(null);\n closeTrace();\n }}\n isFullThreadOpen={isFullThreadOpen}\n withQueryTrace={withQueryTrace}\n withFeedback={withFeedback}\n onOpenScore={onOpenScore}\n onFullThreadOpenChange={open => setFullThreadTraceId(open ? (traceId ?? null) : null)}\n onSpanSelect={id => selectSpan(id ?? null)}\n onSaveAsDatasetItem={withAddTraceToDataset ? setDatasetDialogTarget : undefined}\n initialSpanId={spanId}\n onPrevious={handlePreviousTrace}\n onNext={handleNextTrace}\n showPartialThread\n featuredSpanIds={selection.highlightSpanIds}\n onHighlightSpans={highlightSpans}\n feedbackTabBadge={withFeedback ? (traceFeedbackData?.pagination?.total ?? undefined) : undefined}\n feedbackTabSlot={withFeedback ? ({ traceId: tid }) => <TraceFeedbackTab traceId={tid} /> : undefined}\n scoresTabBadge={spanScoresData?.pagination?.total ?? undefined}\n scoresTabSlot={({ traceId: tid, rootSpanId }) =>\n rootSpanId ? <TraceScoresTab traceId={tid} spanId={rootSpanId} onScoreSelect={selectScore} /> : null\n }\n spanView={selection.spanView}\n onSpanViewChange={setSpanView}\n spanActiveTab={selection.spanTab ?? 'details'}\n onSpanTabChange={tab => setSpanTab(tab as SpanTab)}\n spanFeedbackTabBadge={withFeedback ? (spanFeedbackData?.pagination?.total ?? undefined) : undefined}\n spanFeedbackTabSlot={\n withFeedback\n ? ({ traceId: tid, spanId: sid }) =>\n tid && sid ? <SpanFeedbackTab key={`${tid}:${sid}`} traceId={tid} spanId={sid} /> : null\n : undefined\n }\n headerActionsSlot={traceId && headerActionsSlot ? headerActionsSlot({ traceId, spans }) : undefined}\n traceHref={traceId && traceHref ? traceHref(traceId) : undefined}\n />\n <ScoreDataPanel depth={depth} score={featuredScore} onClose={() => selectScore(null)} />\n {withAddTraceToDataset && (\n <TraceAsItemDialog\n rootSpanId={datasetDialogTarget?.rootSpanId}\n traceId={datasetDialogTarget?.traceId}\n isOpen={!!datasetDialogTarget}\n onClose={() => setDatasetDialogTarget(null)}\n renderCreateDatasetDialog={renderCreateDatasetDialog}\n />\n )}\n </>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
const observability = require('@mastra/core/observability');
|
|
7
|
+
const React = require('react');
|
|
8
|
+
const domains_traces_traceQueryFilters = require('../../../../trace-filters-BtyiQq7Y.cjs');
|
|
9
|
+
const domains_traces_components_tracesExplorer_tracesExplorerActions = require('./traces-explorer-actions.cjs.js');
|
|
10
|
+
const domains_traces_components_tracesExplorer_tracesExplorerColumnsProvider = require('./traces-explorer-columns-provider.cjs.js');
|
|
11
|
+
const domains_traces_components_tracesExplorer_tracesExplorerContext = require('./traces-explorer-context.cjs.js');
|
|
12
|
+
const domains_traces_components_tracesExplorer_tracesExplorerListProvider = require('./traces-explorer-list-provider.cjs.js');
|
|
13
|
+
const capabilities = require('@mastra/react/hooks/capabilities');
|
|
14
|
+
|
|
15
|
+
const SCOPED_FIELD_IDS = /* @__PURE__ */ new Set(["rootEntityType", "entityId"]);
|
|
16
|
+
const HIDDEN_SCOPED_FIELD_IDS = ["rootEntityType", "entityId", "entityName"];
|
|
17
|
+
const NO_FIELD_IDS = /* @__PURE__ */ new Set();
|
|
18
|
+
const NO_HIDDEN_FIELD_IDS = [];
|
|
19
|
+
const listIdForScope = (scope) => scope?.entityType === observability.EntityType.AGENT ? "agent-traces" : scope?.entityType === observability.EntityType.WORKFLOW_RUN ? "workflows-traces" : "all-traces";
|
|
20
|
+
function TracesExplorerRoot({
|
|
21
|
+
selection,
|
|
22
|
+
filters: rawFilters,
|
|
23
|
+
onChange,
|
|
24
|
+
sortDirection,
|
|
25
|
+
onSortDirectionChange,
|
|
26
|
+
scope,
|
|
27
|
+
metricsSupport,
|
|
28
|
+
features,
|
|
29
|
+
initialFilters = domains_traces_components_tracesExplorer_tracesExplorerActions.DEFAULT_TRACES_FILTERS,
|
|
30
|
+
children
|
|
31
|
+
}) {
|
|
32
|
+
const traceQuery = capabilities.useTraceQueryAvailable();
|
|
33
|
+
const withQueryTrace = traceQuery.enabled && features?.traceQuery !== false;
|
|
34
|
+
const withFeedback = capabilities.useFeedbackAvailable().enabled && features?.feedback !== false;
|
|
35
|
+
const { enabled: withRootDuration } = capabilities.useTraceQueryRootDurationAvailable();
|
|
36
|
+
const { enabled: withDeltaPolling } = capabilities.useTraceQueryDeltaPollingAvailable();
|
|
37
|
+
const withDiscovery = capabilities.useTraceQueryDiscoveryAvailable().enabled && withQueryTrace;
|
|
38
|
+
const filters = React.useMemo(() => domains_traces_components_tracesExplorer_tracesExplorerActions.sanitizeTracesFilters(rawFilters, withRootDuration), [rawFilters, withRootDuration]);
|
|
39
|
+
const isScoped = !!scope;
|
|
40
|
+
const scopedFieldIds = isScoped ? SCOPED_FIELD_IDS : NO_FIELD_IDS;
|
|
41
|
+
const hiddenFieldIds = isScoped ? HIDDEN_SCOPED_FIELD_IDS : NO_HIDDEN_FIELD_IDS;
|
|
42
|
+
const fromMs = rawFilters.dateFrom?.getTime();
|
|
43
|
+
const toMs = rawFilters.dateTo?.getTime();
|
|
44
|
+
const { dateFrom, dateTo } = React.useMemo(
|
|
45
|
+
() => domains_traces_components_tracesExplorer_tracesExplorerActions.resolveTracesDateWindow(
|
|
46
|
+
rawFilters.datePreset,
|
|
47
|
+
fromMs === void 0 ? void 0 : new Date(fromMs),
|
|
48
|
+
toMs === void 0 ? void 0 : new Date(toMs)
|
|
49
|
+
),
|
|
50
|
+
[rawFilters.datePreset, fromMs, toMs]
|
|
51
|
+
);
|
|
52
|
+
const current = { selection, filters: rawFilters, onChange, onSortDirectionChange, scopedFieldIds };
|
|
53
|
+
const latest = React.useRef(current);
|
|
54
|
+
latest.current = current;
|
|
55
|
+
const actions = React.useMemo(() => {
|
|
56
|
+
const emit = (next) => {
|
|
57
|
+
latest.current.selection = next.selection;
|
|
58
|
+
latest.current.filters = next.filters;
|
|
59
|
+
latest.current.onChange(next);
|
|
60
|
+
};
|
|
61
|
+
const updateSelection = (next) => {
|
|
62
|
+
if (next === latest.current.selection) return;
|
|
63
|
+
emit({ selection: next, filters: latest.current.filters });
|
|
64
|
+
};
|
|
65
|
+
const updateFilters = (next) => {
|
|
66
|
+
const { selection: currentSelection, filters: currentFilters } = latest.current;
|
|
67
|
+
if (next === currentFilters) return;
|
|
68
|
+
emit({
|
|
69
|
+
filters: next,
|
|
70
|
+
selection: domains_traces_components_tracesExplorer_tracesExplorerActions.isSelectionEmpty(currentSelection) ? currentSelection : domains_traces_components_tracesExplorer_tracesExplorerActions.clearSelection(currentSelection)
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
const selectionActions2 = {
|
|
74
|
+
selectTrace: (traceId) => updateSelection(domains_traces_components_tracesExplorer_tracesExplorerActions.selectTrace(latest.current.selection, traceId)),
|
|
75
|
+
closeTrace: () => updateSelection(domains_traces_components_tracesExplorer_tracesExplorerActions.selectTrace(latest.current.selection, null)),
|
|
76
|
+
selectSpan: (spanId) => updateSelection(domains_traces_components_tracesExplorer_tracesExplorerActions.selectSpan(latest.current.selection, spanId)),
|
|
77
|
+
setSpanTab: (tab) => updateSelection(domains_traces_components_tracesExplorer_tracesExplorerActions.setSpanTab(latest.current.selection, tab)),
|
|
78
|
+
setSpanView: (view) => updateSelection(domains_traces_components_tracesExplorer_tracesExplorerActions.setSpanView(latest.current.selection, view)),
|
|
79
|
+
selectScore: (scoreId) => updateSelection(domains_traces_components_tracesExplorer_tracesExplorerActions.selectScore(latest.current.selection, scoreId)),
|
|
80
|
+
highlightSpans: (spanIds) => updateSelection(domains_traces_components_tracesExplorer_tracesExplorerActions.highlightSpans(latest.current.selection, spanIds))
|
|
81
|
+
};
|
|
82
|
+
const filtersActions2 = {
|
|
83
|
+
// Re-inject the scope tokens so "Clear filters" (which drops every removable item) and any
|
|
84
|
+
// other edit can never drop the scope.
|
|
85
|
+
setFilterTokens: (tokens, groups) => {
|
|
86
|
+
const { filters: base, scopedFieldIds: scoped } = latest.current;
|
|
87
|
+
const scopeTokens = base.tokens.filter((token) => scoped.has(token.fieldId));
|
|
88
|
+
updateFilters(domains_traces_components_tracesExplorer_tracesExplorerActions.applyFilterTokens(base, [...scopeTokens, ...tokens], groups));
|
|
89
|
+
},
|
|
90
|
+
setDatePreset: (preset) => updateFilters(domains_traces_components_tracesExplorer_tracesExplorerActions.applyDatePreset(latest.current.filters, preset)),
|
|
91
|
+
setDate: (value, end) => updateFilters(domains_traces_components_tracesExplorer_tracesExplorerActions.applyDate(latest.current.filters, value, end)),
|
|
92
|
+
setDateRange: (from, to) => updateFilters(domains_traces_components_tracesExplorer_tracesExplorerActions.applyDateRange(latest.current.filters, from, to))
|
|
93
|
+
};
|
|
94
|
+
const onSortChange2 = (direction) => latest.current.onSortDirectionChange(direction);
|
|
95
|
+
return { selectionActions: selectionActions2, filtersActions: filtersActions2, onSortChange: onSortChange2 };
|
|
96
|
+
}, []);
|
|
97
|
+
const { selectionActions, filtersActions, onSortChange } = actions;
|
|
98
|
+
const [discoveryNow] = React.useState(() => /* @__PURE__ */ new Date());
|
|
99
|
+
const discoveryTimeRange = React.useMemo(
|
|
100
|
+
() => domains_traces_traceQueryFilters.resolveTraceQueryTimeRange(dateFrom, dateTo, discoveryNow),
|
|
101
|
+
[dateFrom, dateTo, discoveryNow]
|
|
102
|
+
);
|
|
103
|
+
const listId = listIdForScope(scope);
|
|
104
|
+
const configValue = React.useMemo(
|
|
105
|
+
() => ({
|
|
106
|
+
listId,
|
|
107
|
+
scopedFieldIds,
|
|
108
|
+
hiddenFieldIds,
|
|
109
|
+
withQueryTrace,
|
|
110
|
+
withFeedback,
|
|
111
|
+
withRootDuration,
|
|
112
|
+
withDeltaPolling,
|
|
113
|
+
withDiscovery,
|
|
114
|
+
isCapabilitiesLoading: traceQuery.isLoading,
|
|
115
|
+
metricsSupport,
|
|
116
|
+
discoveryTimeRange
|
|
117
|
+
}),
|
|
118
|
+
[
|
|
119
|
+
listId,
|
|
120
|
+
scopedFieldIds,
|
|
121
|
+
hiddenFieldIds,
|
|
122
|
+
withQueryTrace,
|
|
123
|
+
withFeedback,
|
|
124
|
+
withRootDuration,
|
|
125
|
+
withDeltaPolling,
|
|
126
|
+
withDiscovery,
|
|
127
|
+
traceQuery.isLoading,
|
|
128
|
+
metricsSupport,
|
|
129
|
+
discoveryTimeRange
|
|
130
|
+
]
|
|
131
|
+
);
|
|
132
|
+
const contentFiltersApplied = filters.tokens.length > 0 || filters.groups.length > 0;
|
|
133
|
+
const filtersApplied = contentFiltersApplied || filters.datePreset !== initialFilters.datePreset || !!dateTo;
|
|
134
|
+
const filtersValue = React.useMemo(
|
|
135
|
+
() => ({
|
|
136
|
+
...filtersActions,
|
|
137
|
+
filters,
|
|
138
|
+
dateFrom,
|
|
139
|
+
dateTo,
|
|
140
|
+
filtersApplied,
|
|
141
|
+
contentFiltersApplied
|
|
142
|
+
}),
|
|
143
|
+
[filtersActions, filters, dateFrom, dateTo, filtersApplied, contentFiltersApplied]
|
|
144
|
+
);
|
|
145
|
+
const selectionValue = {
|
|
146
|
+
...selectionActions,
|
|
147
|
+
selection,
|
|
148
|
+
selectedTraceId: selection.traceId
|
|
149
|
+
};
|
|
150
|
+
return /* @__PURE__ */ jsxRuntime.jsx(domains_traces_components_tracesExplorer_tracesExplorerContext.TracesConfigContext.Provider, { value: configValue, children: /* @__PURE__ */ jsxRuntime.jsx(domains_traces_components_tracesExplorer_tracesExplorerContext.TracesFiltersContext.Provider, { value: filtersValue, children: /* @__PURE__ */ jsxRuntime.jsx(domains_traces_components_tracesExplorer_tracesExplorerContext.TracesSelectionContext.Provider, { value: selectionValue, children: /* @__PURE__ */ jsxRuntime.jsx(domains_traces_components_tracesExplorer_tracesExplorerListProvider.TracesListProvider, { sortDirection, onSortChange, children: /* @__PURE__ */ jsxRuntime.jsx(domains_traces_components_tracesExplorer_tracesExplorerColumnsProvider.TracesColumnsProvider, { children }) }) }) }) });
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
exports.TracesExplorerRoot = TracesExplorerRoot;
|
|
154
|
+
//# sourceMappingURL=traces-explorer-root.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traces-explorer-root.cjs.js","sources":["../../../../../src/domains/traces/components/traces-explorer/traces-explorer-root.tsx"],"sourcesContent":["import { EntityType } from '@mastra/core/observability';\nimport { useMemo, useRef, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport { resolveTraceQueryTimeRange } from '../../trace-query-filters';\nimport {\n applyDate,\n applyDatePreset,\n applyDateRange,\n applyFilterTokens,\n clearSelection,\n DEFAULT_TRACES_FILTERS,\n highlightSpans,\n isSelectionEmpty,\n resolveTracesDateWindow,\n sanitizeTracesFilters,\n selectScore,\n selectSpan,\n selectTrace,\n setSpanTab,\n setSpanView,\n} from './traces-explorer-actions';\nimport type {\n TracesExplorerState,\n TracesFilters,\n TracesSelection,\n TracesSortDirection,\n} from './traces-explorer-actions';\nimport { TracesColumnsProvider } from './traces-explorer-columns-provider';\nimport { TracesConfigContext, TracesFiltersContext, TracesSelectionContext } from './traces-explorer-context';\nimport type {\n TracesConfigContextValue,\n TracesExplorerFeatures,\n TracesExplorerScope,\n TracesFiltersActions,\n TracesFiltersContextValue,\n TracesMetricsSupport,\n TracesSelectionActions,\n TracesSelectionContextValue,\n} from './traces-explorer-context';\nimport { TracesListProvider } from './traces-explorer-list-provider';\nimport {\n useFeedbackAvailable,\n useTraceQueryAvailable,\n useTraceQueryDeltaPollingAvailable,\n useTraceQueryDiscoveryAvailable,\n useTraceQueryRootDurationAvailable,\n} from '@/domains/capabilities';\n\nexport type TracesExplorerRootProps = {\n selection: TracesSelection;\n filters: TracesFilters;\n /** Receives the full next state once per user action, so a filter edit and the selection it clears land together. */\n onChange: (next: TracesExplorerState) => void;\n sortDirection: TracesSortDirection;\n onSortDirectionChange: (next: TracesSortDirection) => void;\n /** Pins the explorer to one entity: its fields stay in the filters but never surface as chips. */\n scope?: TracesExplorerScope;\n /** Resolved by the host, which may know better than the storage capabilities (e.g. hosted deployments). */\n metricsSupport: TracesMetricsSupport;\n /** Host switches combined with the server capabilities; a feature runs only when both allow it. */\n features?: TracesExplorerFeatures;\n /** The host's default filters. Filters matching them don't count as applied (e.g. in empty states). */\n initialFilters?: TracesFilters;\n children: ReactNode;\n};\n\nconst SCOPED_FIELD_IDS: ReadonlySet<string> = new Set(['rootEntityType', 'entityId']);\nconst HIDDEN_SCOPED_FIELD_IDS: readonly string[] = ['rootEntityType', 'entityId', 'entityName'];\nconst NO_FIELD_IDS: ReadonlySet<string> = new Set();\nconst NO_HIDDEN_FIELD_IDS: readonly string[] = [];\n\nconst listIdForScope = (scope?: TracesExplorerScope) =>\n scope?.entityType === EntityType.AGENT\n ? 'agent-traces'\n : scope?.entityType === EntityType.WORKFLOW_RUN\n ? 'workflows-traces'\n : 'all-traces';\n\ntype Latest = Pick<TracesExplorerRootProps, 'selection' | 'filters' | 'onChange' | 'onSortDirectionChange'> & {\n scopedFieldIds: ReadonlySet<string>;\n};\n\nexport function TracesExplorerRoot({\n selection,\n filters: rawFilters,\n onChange,\n sortDirection,\n onSortDirectionChange,\n scope,\n metricsSupport,\n features,\n initialFilters = DEFAULT_TRACES_FILTERS,\n children,\n}: TracesExplorerRootProps) {\n // Servers without the trace-query API list through `listTracesLight` and don't expose feedback.\n const traceQuery = useTraceQueryAvailable();\n const withQueryTrace = traceQuery.enabled && features?.traceQuery !== false;\n const withFeedback = useFeedbackAvailable().enabled && features?.feedback !== false;\n const { enabled: withRootDuration } = useTraceQueryRootDurationAvailable();\n const { enabled: withDeltaPolling } = useTraceQueryDeltaPollingAvailable();\n const withDiscovery = useTraceQueryDiscoveryAvailable().enabled && withQueryTrace;\n\n // Entries the server can't query are ignored, never written back: the host keeps its raw value.\n const filters = useMemo(() => sanitizeTracesFilters(rawFilters, withRootDuration), [rawFilters, withRootDuration]);\n\n const isScoped = !!scope;\n const scopedFieldIds = isScoped ? SCOPED_FIELD_IDS : NO_FIELD_IDS;\n const hiddenFieldIds = isScoped ? HIDDEN_SCOPED_FIELD_IDS : NO_HIDDEN_FIELD_IDS;\n\n // Rolling presets pin their start when the preset (or custom bound) changes, not on every render.\n const fromMs = rawFilters.dateFrom?.getTime();\n const toMs = rawFilters.dateTo?.getTime();\n const { dateFrom, dateTo } = useMemo(\n () =>\n resolveTracesDateWindow(\n rawFilters.datePreset,\n fromMs === undefined ? undefined : new Date(fromMs),\n toMs === undefined ? undefined : new Date(toMs),\n ),\n [rawFilters.datePreset, fromMs, toMs],\n );\n\n // Actions read the latest props when they run, so the host doesn't need stable callbacks.\n // `latest` is written as soon as a change is emitted, so a second action in the same tick\n // (the date picker fires a preset then its dates) builds on the first instead of the stale props.\n const current: Latest = { selection, filters: rawFilters, onChange, onSortDirectionChange, scopedFieldIds };\n const latest = useRef(current);\n latest.current = current;\n\n const actions = useMemo(() => {\n const emit = (next: TracesExplorerState) => {\n latest.current.selection = next.selection;\n latest.current.filters = next.filters;\n latest.current.onChange(next);\n };\n const updateSelection = (next: TracesSelection) => {\n if (next === latest.current.selection) return;\n emit({ selection: next, filters: latest.current.filters });\n };\n // A filter change invalidates whatever is selected: the selected row may no longer be listed.\n const updateFilters = (next: TracesFilters) => {\n const { selection: currentSelection, filters: currentFilters } = latest.current;\n if (next === currentFilters) return;\n emit({\n filters: next,\n selection: isSelectionEmpty(currentSelection) ? currentSelection : clearSelection(currentSelection),\n });\n };\n\n const selectionActions: TracesSelectionActions = {\n selectTrace: traceId => updateSelection(selectTrace(latest.current.selection, traceId)),\n closeTrace: () => updateSelection(selectTrace(latest.current.selection, null)),\n selectSpan: spanId => updateSelection(selectSpan(latest.current.selection, spanId)),\n setSpanTab: tab => updateSelection(setSpanTab(latest.current.selection, tab)),\n setSpanView: view => updateSelection(setSpanView(latest.current.selection, view)),\n selectScore: scoreId => updateSelection(selectScore(latest.current.selection, scoreId)),\n highlightSpans: spanIds => updateSelection(highlightSpans(latest.current.selection, spanIds)),\n };\n const filtersActions: TracesFiltersActions = {\n // Re-inject the scope tokens so \"Clear filters\" (which drops every removable item) and any\n // other edit can never drop the scope.\n setFilterTokens: (tokens, groups) => {\n const { filters: base, scopedFieldIds: scoped } = latest.current;\n const scopeTokens = base.tokens.filter(token => scoped.has(token.fieldId));\n updateFilters(applyFilterTokens(base, [...scopeTokens, ...tokens], groups));\n },\n setDatePreset: preset => updateFilters(applyDatePreset(latest.current.filters, preset)),\n setDate: (value, end) => updateFilters(applyDate(latest.current.filters, value, end)),\n setDateRange: (from, to) => updateFilters(applyDateRange(latest.current.filters, from, to)),\n };\n const onSortChange = (direction: TracesSortDirection) => latest.current.onSortDirectionChange(direction);\n return { selectionActions, filtersActions, onSortChange };\n }, []);\n const { selectionActions, filtersActions, onSortChange } = actions;\n\n // Discovery is keyed off the date window with a mount-time `now`, not the list's rolling one,\n // so its query key (and the skeleton) doesn't churn on every auto-refresh tick.\n const [discoveryNow] = useState(() => new Date());\n const discoveryTimeRange = useMemo(\n () => resolveTraceQueryTimeRange(dateFrom, dateTo, discoveryNow),\n [dateFrom, dateTo, discoveryNow],\n );\n\n const listId = listIdForScope(scope);\n const configValue = useMemo<TracesConfigContextValue>(\n () => ({\n listId,\n scopedFieldIds,\n hiddenFieldIds,\n withQueryTrace,\n withFeedback,\n withRootDuration,\n withDeltaPolling,\n withDiscovery,\n isCapabilitiesLoading: traceQuery.isLoading,\n metricsSupport,\n discoveryTimeRange,\n }),\n [\n listId,\n scopedFieldIds,\n hiddenFieldIds,\n withQueryTrace,\n withFeedback,\n withRootDuration,\n withDeltaPolling,\n withDiscovery,\n traceQuery.isLoading,\n metricsSupport,\n discoveryTimeRange,\n ],\n );\n\n const contentFiltersApplied = filters.tokens.length > 0 || filters.groups.length > 0;\n const filtersApplied = contentFiltersApplied || filters.datePreset !== initialFilters.datePreset || !!dateTo;\n const filtersValue = useMemo<TracesFiltersContextValue>(\n () => ({\n ...filtersActions,\n filters,\n dateFrom,\n dateTo,\n filtersApplied,\n contentFiltersApplied,\n }),\n [filtersActions, filters, dateFrom, dateTo, filtersApplied, contentFiltersApplied],\n );\n\n // Not memoized: the selection consumers (Layout, List, Panel) also re-render on filter and list\n // changes, which are what re-render Root while the selection stays the same.\n const selectionValue: TracesSelectionContextValue = {\n ...selectionActions,\n selection,\n selectedTraceId: selection.traceId,\n };\n\n return (\n <TracesConfigContext.Provider value={configValue}>\n <TracesFiltersContext.Provider value={filtersValue}>\n <TracesSelectionContext.Provider value={selectionValue}>\n <TracesListProvider sortDirection={sortDirection} onSortChange={onSortChange}>\n <TracesColumnsProvider>{children}</TracesColumnsProvider>\n </TracesListProvider>\n </TracesSelectionContext.Provider>\n </TracesFiltersContext.Provider>\n </TracesConfigContext.Provider>\n );\n}\n"],"names":["EntityType","DEFAULT_TRACES_FILTERS","useTraceQueryAvailable","useFeedbackAvailable","useTraceQueryRootDurationAvailable","useTraceQueryDeltaPollingAvailable","useTraceQueryDiscoveryAvailable","useMemo","sanitizeTracesFilters","resolveTracesDateWindow","useRef","isSelectionEmpty","clearSelection","selectionActions","selectTrace","selectSpan","setSpanTab","setSpanView","selectScore","highlightSpans","filtersActions","applyFilterTokens","applyDatePreset","applyDate","applyDateRange","onSortChange","useState","resolveTraceQueryTimeRange","jsx","TracesConfigContext","TracesFiltersContext","TracesSelectionContext","TracesListProvider","TracesColumnsProvider"],"mappings":"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"}
|