@mastra/playground-ui 69.0.0-alpha.0 → 69.0.0-alpha.2
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/components.css +6 -0
- package/dist/{CodeEditor-ZoBu3Gjw.js → CodeEditor-BqAM9L7t.js} +5 -2
- package/dist/{CodeEditor-ZoBu3Gjw.js.map → CodeEditor-BqAM9L7t.js.map} +1 -1
- package/dist/{CodeEditor-DHIDfP5g.cjs → CodeEditor-zMSUzPdX.cjs} +5 -2
- package/dist/{CodeEditor-DHIDfP5g.cjs.map → CodeEditor-zMSUzPdX.cjs.map} +1 -1
- package/dist/{Comment-rQxuMDQv.cjs → Comment-A07IvOt2.cjs} +3 -3
- package/dist/{Comment-rQxuMDQv.cjs.map → Comment-A07IvOt2.cjs.map} +1 -1
- package/dist/{Comment-2q9SomE2.js → Comment-D_gSx7oM.js} +3 -3
- package/dist/{Comment-2q9SomE2.js.map → Comment-D_gSx7oM.js.map} +1 -1
- package/dist/{Composer-u1K6edoZ.cjs → Composer-D2BqRyb5.cjs} +2 -2
- package/dist/Composer-D2BqRyb5.cjs.map +1 -0
- package/dist/{Composer-bVE8qK52.js → Composer-kjwmlIgL.js} +2 -2
- package/dist/Composer-kjwmlIgL.js.map +1 -0
- package/dist/{DataCodeSection-CTodi9wg.js → DataCodeSection-CcX8Z68Y.js} +2 -2
- package/dist/{DataCodeSection-CTodi9wg.js.map → DataCodeSection-CcX8Z68Y.js.map} +1 -1
- package/dist/{DataCodeSection-7SvRJj6f.cjs → DataCodeSection-JPGTWLcL.cjs} +2 -2
- package/dist/{DataCodeSection-7SvRJj6f.cjs.map → DataCodeSection-JPGTWLcL.cjs.map} +1 -1
- package/dist/{DataDetailsPanel-BDoD6pxx.cjs → DataDetailsPanel-DCMlaG7j.cjs} +2 -2
- package/dist/{DataDetailsPanel-BDoD6pxx.cjs.map → DataDetailsPanel-DCMlaG7j.cjs.map} +1 -1
- package/dist/{DataDetailsPanel-BU05psHL.js → DataDetailsPanel-mTfbbQho.js} +2 -2
- package/dist/{DataDetailsPanel-BU05psHL.js.map → DataDetailsPanel-mTfbbQho.js.map} +1 -1
- package/dist/{DataPanel-BRRAvWYQ.cjs → DataPanel-LfExjFpP.cjs} +2 -2
- package/dist/{DataPanel-BRRAvWYQ.cjs.map → DataPanel-LfExjFpP.cjs.map} +1 -1
- package/dist/{DataPanel-pVr5LVaK.js → DataPanel-Rv5Mb_pf.js} +2 -2
- package/dist/{DataPanel-pVr5LVaK.js.map → DataPanel-Rv5Mb_pf.js.map} +1 -1
- package/dist/{FilterBar-Kmn6gMgO.js → FilterBar-DgHNtsDI.js} +5 -5
- package/dist/FilterBar-DgHNtsDI.js.map +1 -0
- package/dist/{FilterBar-jBz6yaNu.cjs → FilterBar-O8SYau_Q.cjs} +5 -5
- package/dist/FilterBar-O8SYau_Q.cjs.map +1 -0
- package/dist/KnowledgePageGraph.css +1 -3
- package/dist/{MarkdownRenderer-CY8LGt-l.js → MarkdownRenderer-BSGb65Ze.js} +2 -2
- package/dist/{MarkdownRenderer-CY8LGt-l.js.map → MarkdownRenderer-BSGb65Ze.js.map} +1 -1
- package/dist/{MarkdownRenderer-CUYpmuPh.cjs → MarkdownRenderer-CDwlvw0Y.cjs} +2 -2
- package/dist/{MarkdownRenderer-CUYpmuPh.cjs.map → MarkdownRenderer-CDwlvw0Y.cjs.map} +1 -1
- package/dist/{MetricsCard-DojbLiEx.cjs → MetricsCard-CSJ4TsNq.cjs} +3 -3
- package/dist/MetricsCard-CSJ4TsNq.cjs.map +1 -0
- package/dist/{MetricsCard-kAqSCPPe.js → MetricsCard-D6bQfynP.js} +3 -3
- package/dist/MetricsCard-D6bQfynP.js.map +1 -0
- package/dist/{Tree-Caz4FTCU.cjs → Tree-6pubDJLQ.cjs} +4 -3
- package/dist/Tree-6pubDJLQ.cjs.map +1 -0
- package/dist/{Tree-od43gLMO.js → Tree-DpRLmis3.js} +4 -3
- package/dist/Tree-DpRLmis3.js.map +1 -0
- package/dist/{Workflow-mIbUYdv0.js → Workflow-BVVYys0W.js} +3 -3
- package/dist/{Workflow-mIbUYdv0.js.map → Workflow-BVVYys0W.js.map} +1 -1
- package/dist/{Workflow-XR5L-3cJ.cjs → Workflow-CwIjxwC6.cjs} +3 -3
- package/dist/{Workflow-XR5L-3cJ.cjs.map → Workflow-CwIjxwC6.cjs.map} +1 -1
- package/dist/{activity-ClFChYfl.js → activity-BH_eegMA.js} +2 -2
- package/dist/{activity-ClFChYfl.js.map → activity-BH_eegMA.js.map} +1 -1
- package/dist/{activity-BprmG6yH.cjs → activity-Ciolopq8.cjs} +2 -2
- package/dist/{activity-BprmG6yH.cjs.map → activity-Ciolopq8.cjs.map} +1 -1
- package/dist/{ask-user-D4ezQ6pt.js → ask-user-CqzPUD9E.js} +2 -2
- package/dist/{ask-user-D4ezQ6pt.js.map → ask-user-CqzPUD9E.js.map} +1 -1
- package/dist/{ask-user-DcnUNMM5.cjs → ask-user-DIYcPkoX.cjs} +2 -2
- package/dist/{ask-user-DcnUNMM5.cjs.map → ask-user-DIYcPkoX.cjs.map} +1 -1
- package/dist/{combobox-lbSxWRMl.js → combobox-DLdInLYm.js} +2 -2
- package/dist/{combobox-lbSxWRMl.js.map → combobox-DLdInLYm.js.map} +1 -1
- package/dist/{combobox-i723LxeC.cjs → combobox-DU2jsrGa.cjs} +2 -2
- package/dist/{combobox-i723LxeC.cjs.map → combobox-DU2jsrGa.cjs.map} +1 -1
- package/dist/{combobox-parts-BeNqgCbj.cjs → combobox-parts-C236ZHtn.cjs} +2 -2
- package/dist/combobox-parts-C236ZHtn.cjs.map +1 -0
- package/dist/{combobox-parts-C9o4UfH_.js → combobox-parts-_m3Qgmci.js} +2 -2
- package/dist/combobox-parts-_m3Qgmci.js.map +1 -0
- package/dist/components/Breadcrumb.cjs.js.map +1 -1
- package/dist/components/Breadcrumb.es.js.map +1 -1
- package/dist/components/CodeBlock.cjs.js +1 -1
- package/dist/components/CodeBlock.es.js +1 -1
- package/dist/components/CodeEditor.cjs.js +1 -1
- package/dist/components/CodeEditor.es.js +1 -1
- package/dist/components/Combobox.cjs.js +2 -2
- package/dist/components/Combobox.es.js +2 -2
- package/dist/components/Command.cjs.js +1 -1
- package/dist/components/Command.cjs.js.map +1 -1
- package/dist/components/Command.es.js +1 -1
- package/dist/components/Command.es.js.map +1 -1
- package/dist/components/Comment.cjs.js +1 -1
- package/dist/components/Comment.es.js +1 -1
- package/dist/components/Composer.cjs.js +1 -1
- package/dist/components/Composer.es.js +1 -1
- package/dist/components/DataCodeSection.cjs.js +1 -1
- package/dist/components/DataCodeSection.es.js +1 -1
- package/dist/components/DataDetailsPanel.cjs.js +1 -1
- package/dist/components/DataDetailsPanel.es.js +1 -1
- package/dist/components/DataList.cjs.js +1 -1
- package/dist/components/DataList.es.js +1 -1
- package/dist/components/DataPanel.cjs.js +1 -1
- package/dist/components/DataPanel.es.js +1 -1
- package/dist/components/DateTimePicker.cjs.js +1 -1
- package/dist/components/DateTimePicker.es.js +1 -1
- package/dist/components/DateTimeRangePicker.cjs.js +1 -1
- package/dist/components/DateTimeRangePicker.es.js +1 -1
- package/dist/components/DropdownMenu.cjs.js +1 -1
- package/dist/components/DropdownMenu.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.es.js +1 -1
- package/dist/components/FilterBar.cjs.js +3 -3
- package/dist/components/FilterBar.es.js +3 -3
- package/dist/components/FormFieldBlocks.cjs.js +1 -1
- package/dist/components/FormFieldBlocks.es.js +1 -1
- package/dist/components/Input.cjs.js +1 -1
- package/dist/components/Input.es.js +1 -1
- package/dist/components/InputGroup.cjs.js +1 -1
- package/dist/components/InputGroup.es.js +1 -1
- package/dist/components/InputNumber.cjs.js +1 -1
- package/dist/components/InputNumber.es.js +1 -1
- package/dist/components/JSONSchemaForm.cjs.js +1 -1
- package/dist/components/JSONSchemaForm.es.js +1 -1
- package/dist/components/MarkdownRenderer.cjs.js +1 -1
- package/dist/components/MarkdownRenderer.es.js +1 -1
- package/dist/components/MetricsCard.cjs.js +1 -1
- package/dist/components/MetricsCard.es.js +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 +3 -3
- package/dist/components/SavedViews.cjs.js.map +1 -1
- package/dist/components/SavedViews.es.js +3 -3
- package/dist/components/SavedViews.es.js.map +1 -1
- package/dist/components/SearchInput.cjs.js +1 -1
- package/dist/components/SearchInput.es.js +1 -1
- package/dist/components/SideDialog.cjs.js +1 -1
- package/dist/components/SideDialog.es.js +1 -1
- package/dist/components/Sidebar.cjs.js +1 -1
- package/dist/components/Sidebar.es.js +1 -1
- package/dist/components/Tabs.cjs.js +2 -2
- package/dist/components/Tabs.es.js +2 -2
- package/dist/components/Textarea.cjs.js +1 -1
- package/dist/components/Textarea.cjs.js.map +1 -1
- package/dist/components/Textarea.es.js +1 -1
- package/dist/components/Textarea.es.js.map +1 -1
- package/dist/components/ThreadRail.cjs.js +2 -0
- package/dist/components/ThreadRail.cjs.js.map +1 -1
- package/dist/components/ThreadRail.es.js +2 -0
- package/dist/components/ThreadRail.es.js.map +1 -1
- package/dist/components/Tree.cjs.js +1 -1
- package/dist/components/Tree.es.js +1 -1
- package/dist/components/Workflow.cjs.js +1 -1
- package/dist/components/Workflow.es.js +1 -1
- package/dist/components/ai/activity.cjs.js +1 -1
- package/dist/components/ai/activity.es.js +1 -1
- package/dist/components/ai/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/{date-time-range-picker-DdNgKD87.js → date-time-range-picker-CJyhcug7.js} +3 -3
- package/dist/{date-time-range-picker-DdNgKD87.js.map → date-time-range-picker-CJyhcug7.js.map} +1 -1
- package/dist/{date-time-range-picker-Bq-8IPtS.cjs → date-time-range-picker-Dhnuwa-U.cjs} +3 -3
- package/dist/{date-time-range-picker-Bq-8IPtS.cjs.map → date-time-range-picker-Dhnuwa-U.cjs.map} +1 -1
- package/dist/domains/chat/activity/activity-stretch-line.cjs.js +1 -1
- package/dist/domains/chat/activity/activity-stretch-line.es.js +1 -1
- package/dist/domains/chat/activity/components/activity-fold.cjs.js +1 -1
- package/dist/domains/chat/activity/components/activity-fold.es.js +1 -1
- package/dist/domains/chat/activity/components/calls-panel.cjs.js +1 -1
- package/dist/domains/chat/activity/components/calls-panel.es.js +1 -1
- package/dist/domains/chat/activity/components/stretch-content.cjs.js +1 -1
- package/dist/domains/chat/activity/components/stretch-content.es.js +1 -1
- package/dist/domains/chat/activity/components/stretch-thought.cjs.js +1 -1
- package/dist/domains/chat/activity/components/stretch-thought.es.js +1 -1
- package/dist/domains/chat/activity/model/activity-segments.cjs.js +1 -1
- package/dist/domains/chat/activity/model/activity-segments.es.js +1 -1
- package/dist/domains/chat/activity/model/activity-words.cjs.js +1 -1
- package/dist/domains/chat/activity/model/activity-words.es.js +1 -1
- package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +1 -1
- package/dist/domains/chat/attachments/composer-attachment-list.es.js +1 -1
- package/dist/domains/chat/attachments/split-message-attachments.cjs.js +4 -1
- package/dist/domains/chat/attachments/split-message-attachments.cjs.js.map +1 -1
- package/dist/domains/chat/attachments/split-message-attachments.es.js +4 -1
- package/dist/domains/chat/attachments/split-message-attachments.es.js.map +1 -1
- package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.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/knowledge/pinned-knowledge.cjs.js +1 -1
- package/dist/domains/chat/knowledge/pinned-knowledge.es.js +1 -1
- package/dist/domains/chat/messages/dataset-save-action.cjs.js +1 -1
- package/dist/domains/chat/messages/dataset-save-action.es.js +1 -1
- package/dist/domains/chat/messages/message-row.cjs.js +2 -2
- package/dist/domains/chat/messages/message-row.es.js +2 -2
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
- package/dist/domains/chat/messages/reasoning-content.cjs.js +1 -1
- package/dist/domains/chat/messages/reasoning-content.es.js +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-badge.cjs.js +1 -1
- package/dist/domains/chat/messages/signal-badge.es.js +1 -1
- package/dist/domains/chat/messages/skill-message.cjs.js +2 -2
- package/dist/domains/chat/messages/skill-message.es.js +2 -2
- package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
- package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
- package/dist/domains/chat/messages/tripwire-notice.cjs.js +5 -10
- package/dist/domains/chat/messages/tripwire-notice.cjs.js.map +1 -1
- package/dist/domains/chat/messages/tripwire-notice.es.js +5 -10
- package/dist/domains/chat/messages/tripwire-notice.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +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 +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
- 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/knowledge-tool-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/tool-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +2 -2
- package/dist/domains/chat/tools/mcp-input-request-tool.cjs.js +2 -2
- package/dist/domains/chat/tools/mcp-input-request-tool.es.js +2 -2
- package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-card.es.js +1 -1
- package/dist/domains/chat/tools/tool-groups.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-groups.es.js +1 -1
- package/dist/domains/dashboards/components/connected-widget.cjs.js +55 -0
- package/dist/domains/dashboards/components/connected-widget.cjs.js.map +1 -0
- package/dist/domains/dashboards/components/connected-widget.d.ts +1 -0
- package/dist/domains/dashboards/components/connected-widget.es.js +54 -0
- package/dist/domains/dashboards/components/connected-widget.es.js.map +1 -0
- package/dist/domains/dashboards/components/dashboard-renderer.cjs.js +13 -8
- package/dist/domains/dashboards/components/dashboard-renderer.cjs.js.map +1 -1
- package/dist/domains/dashboards/components/dashboard-renderer.es.js +13 -8
- package/dist/domains/dashboards/components/dashboard-renderer.es.js.map +1 -1
- package/dist/domains/dashboards/components/stateless-widget.cjs.js +30 -0
- package/dist/domains/dashboards/components/stateless-widget.cjs.js.map +1 -0
- package/dist/domains/dashboards/components/stateless-widget.d.ts +1 -0
- package/dist/domains/dashboards/components/stateless-widget.es.js +29 -0
- package/dist/domains/dashboards/components/stateless-widget.es.js.map +1 -0
- package/dist/domains/dashboards/components/view-gate.cjs.js +18 -40
- package/dist/domains/dashboards/components/view-gate.cjs.js.map +1 -1
- package/dist/domains/dashboards/components/view-gate.es.js +18 -40
- package/dist/domains/dashboards/components/view-gate.es.js.map +1 -1
- package/dist/domains/dashboards/components/widget-chrome.cjs.js +1 -1
- package/dist/domains/dashboards/components/widget-chrome.es.js +1 -1
- package/dist/domains/dashboards/components/widget-controls.cjs.js +106 -0
- package/dist/domains/dashboards/components/widget-controls.cjs.js.map +1 -1
- package/dist/domains/dashboards/components/widget-controls.es.js +107 -3
- package/dist/domains/dashboards/components/widget-controls.es.js.map +1 -1
- package/dist/domains/dashboards/components/widget-error.cjs.js +1 -1
- package/dist/domains/dashboards/components/widget-error.es.js +1 -1
- package/dist/domains/dashboards/hooks/use-dashboard-environment.cjs.js +55 -0
- package/dist/domains/dashboards/hooks/use-dashboard-environment.cjs.js.map +1 -0
- package/dist/domains/dashboards/hooks/use-dashboard-environment.d.ts +1 -0
- package/dist/domains/dashboards/hooks/use-dashboard-environment.es.js +53 -0
- package/dist/domains/dashboards/hooks/use-dashboard-environment.es.js.map +1 -0
- package/dist/domains/dashboards/hooks/use-dashboard-requests.cjs.js +24 -0
- package/dist/domains/dashboards/hooks/use-dashboard-requests.cjs.js.map +1 -1
- package/dist/domains/dashboards/hooks/use-dashboard-requests.es.js +23 -1
- package/dist/domains/dashboards/hooks/use-dashboard-requests.es.js.map +1 -1
- package/dist/domains/dashboards/hooks/use-widget-views.cjs.js +10 -6
- package/dist/domains/dashboards/hooks/use-widget-views.cjs.js.map +1 -1
- package/dist/domains/dashboards/hooks/use-widget-views.es.js +10 -7
- package/dist/domains/dashboards/hooks/use-widget-views.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/kpis/kpis-plan.cjs.js +11 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-plan.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-plan.d.ts +1 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-plan.es.js +9 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-plan.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.cjs.js +18 -19
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.es.js +18 -19
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/kpis.cjs.js +3 -0
- package/dist/domains/dashboards/kinds/kpis.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/kpis.es.js +3 -0
- package/dist/domains/dashboards/kinds/kpis.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/scores/scores-plan.cjs.js +27 -0
- package/dist/domains/dashboards/kinds/scores/scores-plan.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/scores/scores-plan.d.ts +1 -0
- package/dist/domains/dashboards/kinds/scores/scores-plan.es.js +24 -0
- package/dist/domains/dashboards/kinds/scores/scores-plan.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/scores/scores-widget.cjs.js +25 -32
- package/dist/domains/dashboards/kinds/scores/scores-widget.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/scores/scores-widget.es.js +26 -33
- package/dist/domains/dashboards/kinds/scores/scores-widget.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/scores.cjs.js +4 -0
- package/dist/domains/dashboards/kinds/scores.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/scores.es.js +4 -0
- package/dist/domains/dashboards/kinds/scores.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-cells.cjs.js +2 -6
- package/dist/domains/dashboards/kinds/table/table-cells.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-cells.es.js +2 -6
- package/dist/domains/dashboards/kinds/table/table-cells.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-columns.cjs.js +5 -3
- package/dist/domains/dashboards/kinds/table/table-columns.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-columns.es.js +5 -3
- package/dist/domains/dashboards/kinds/table/table-columns.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-plan.cjs.js +47 -0
- package/dist/domains/dashboards/kinds/table/table-plan.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-plan.d.ts +1 -0
- package/dist/domains/dashboards/kinds/table/table-plan.es.js +44 -0
- package/dist/domains/dashboards/kinds/table/table-plan.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-tabs.cjs.js +20 -26
- package/dist/domains/dashboards/kinds/table/table-tabs.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-tabs.es.js +22 -28
- package/dist/domains/dashboards/kinds/table/table-tabs.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-view.cjs.js +13 -13
- package/dist/domains/dashboards/kinds/table/table-view.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-view.es.js +14 -14
- package/dist/domains/dashboards/kinds/table/table-view.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-widget.cjs.js +13 -17
- package/dist/domains/dashboards/kinds/table/table-widget.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-widget.es.js +13 -17
- package/dist/domains/dashboards/kinds/table/table-widget.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table.cjs.js +4 -0
- package/dist/domains/dashboards/kinds/table.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/table.es.js +4 -0
- package/dist/domains/dashboards/kinds/table.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.cjs.js +18 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.d.ts +1 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.es.js +16 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.cjs.js +22 -22
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.es.js +25 -25
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/timeseries.cjs.js +3 -0
- package/dist/domains/dashboards/kinds/timeseries.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/timeseries.es.js +3 -0
- package/dist/domains/dashboards/kinds/timeseries.es.js.map +1 -1
- package/dist/domains/dashboards/lib/alert-actions.cjs.js +123 -0
- package/dist/domains/dashboards/lib/alert-actions.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/alert-actions.d.ts +1 -0
- package/dist/domains/dashboards/lib/alert-actions.es.js +118 -0
- package/dist/domains/dashboards/lib/alert-actions.es.js.map +1 -0
- package/dist/domains/dashboards/lib/gate.cjs.js +62 -0
- package/dist/domains/dashboards/lib/gate.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/gate.d.ts +1 -0
- package/dist/domains/dashboards/lib/gate.es.js +60 -0
- package/dist/domains/dashboards/lib/gate.es.js.map +1 -0
- package/dist/domains/dashboards/lib/plan-widget.cjs.js +41 -0
- package/dist/domains/dashboards/lib/plan-widget.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/plan-widget.d.ts +1 -0
- package/dist/domains/dashboards/lib/plan-widget.es.js +38 -0
- package/dist/domains/dashboards/lib/plan-widget.es.js.map +1 -0
- package/dist/domains/dashboards/lib/requests.cjs.js +47 -0
- package/dist/domains/dashboards/lib/requests.cjs.js.map +1 -1
- package/dist/domains/dashboards/lib/requests.es.js +46 -1
- package/dist/domains/dashboards/lib/requests.es.js.map +1 -1
- package/dist/domains/dashboards/lib/scores.cjs.js +32 -0
- package/dist/domains/dashboards/lib/scores.cjs.js.map +1 -1
- package/dist/domains/dashboards/lib/scores.es.js +31 -1
- package/dist/domains/dashboards/lib/scores.es.js.map +1 -1
- package/dist/domains/dashboards/lib/timeseries.cjs.js +17 -0
- package/dist/domains/dashboards/lib/timeseries.cjs.js.map +1 -1
- package/dist/domains/dashboards/lib/timeseries.es.js +17 -1
- package/dist/domains/dashboards/lib/timeseries.es.js.map +1 -1
- package/dist/domains/dashboards/lib/values.cjs.js.map +1 -1
- package/dist/domains/dashboards/lib/values.es.js.map +1 -1
- package/dist/domains/dashboards/widget-kind.cjs.js.map +1 -1
- package/dist/domains/dashboards/widget-kind.es.js.map +1 -1
- package/dist/domains/dashboards.cjs.js +19 -2
- package/dist/domains/dashboards.es.js +9 -5
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js +2 -2
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js +2 -2
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +2 -2
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +2 -2
- package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js +186 -212
- package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageDetail.es.js +188 -215
- package/dist/domains/knowledge/components/KnowledgePageDetail.es.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js +620 -268
- package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js +622 -270
- package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js +544 -454
- package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageGraph.es.js +548 -458
- package/dist/domains/knowledge/components/KnowledgePageGraph.es.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js +21 -12
- package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageTree.es.js +22 -13
- package/dist/domains/knowledge/components/KnowledgePageTree.es.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgeSourceIcon.cjs.js +16 -0
- package/dist/domains/knowledge/components/KnowledgeSourceIcon.cjs.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgeSourceIcon.d.ts +1 -0
- package/dist/domains/knowledge/components/KnowledgeSourceIcon.es.js +15 -0
- package/dist/domains/knowledge/components/KnowledgeSourceIcon.es.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgeTooltip.cjs.js +10 -0
- package/dist/domains/knowledge/components/KnowledgeTooltip.cjs.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgeTooltip.d.ts +1 -0
- package/dist/domains/knowledge/components/KnowledgeTooltip.es.js +9 -0
- package/dist/domains/knowledge/components/KnowledgeTooltip.es.js.map +1 -0
- package/dist/domains/knowledge/lib/fitViewport.cjs.js +22 -8
- package/dist/domains/knowledge/lib/fitViewport.cjs.js.map +1 -1
- package/dist/domains/knowledge/lib/fitViewport.es.js +22 -9
- package/dist/domains/knowledge/lib/fitViewport.es.js.map +1 -1
- package/dist/domains/knowledge/lib/pageAddress.cjs.js +51 -0
- package/dist/domains/knowledge/lib/pageAddress.cjs.js.map +1 -1
- package/dist/domains/knowledge/lib/pageAddress.es.js +50 -1
- package/dist/domains/knowledge/lib/pageAddress.es.js.map +1 -1
- package/dist/domains/knowledge/lib/pageRefs.cjs.js +43 -2
- package/dist/domains/knowledge/lib/pageRefs.cjs.js.map +1 -1
- package/dist/domains/knowledge/lib/pageRefs.es.js +43 -3
- package/dist/domains/knowledge/lib/pageRefs.es.js.map +1 -1
- package/dist/domains/knowledge/lib/pagesByRefContext.cjs.js +10 -0
- package/dist/domains/knowledge/lib/pagesByRefContext.cjs.js.map +1 -0
- package/dist/domains/knowledge/lib/pagesByRefContext.d.ts +1 -0
- package/dist/domains/knowledge/lib/pagesByRefContext.es.js +10 -0
- package/dist/domains/knowledge/lib/pagesByRefContext.es.js.map +1 -0
- package/dist/domains/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-saved-views.cjs.js +1 -1
- package/dist/domains/logs/components/logs-saved-views.es.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
- package/dist/domains/mcps/components/mcp-app-tool-result.cjs.js +28 -3
- package/dist/domains/mcps/components/mcp-app-tool-result.cjs.js.map +1 -1
- package/dist/domains/mcps/components/mcp-app-tool-result.es.js +27 -2
- package/dist/domains/mcps/components/mcp-app-tool-result.es.js.map +1 -1
- package/dist/domains/mcps/components/mcp-app-viewer.cjs.js +163 -2
- package/dist/domains/mcps/components/mcp-app-viewer.cjs.js.map +1 -0
- package/dist/domains/mcps/components/mcp-app-viewer.es.js +163 -1
- package/dist/domains/mcps/components/mcp-app-viewer.es.js.map +1 -0
- package/dist/domains/mcps/context/mcp-app-host-context-value.cjs.js +11 -0
- package/dist/domains/mcps/context/mcp-app-host-context-value.cjs.js.map +1 -0
- package/dist/domains/mcps/context/mcp-app-host-context-value.d.ts +1 -0
- package/dist/domains/mcps/context/mcp-app-host-context-value.es.js +9 -0
- package/dist/domains/mcps/context/mcp-app-host-context-value.es.js.map +1 -0
- package/dist/domains/mcps/context/mcp-app-host-context.cjs.js +14 -0
- package/dist/domains/mcps/context/mcp-app-host-context.cjs.js.map +1 -0
- package/dist/domains/mcps/context/mcp-app-host-context.d.ts +1 -0
- package/dist/domains/mcps/context/mcp-app-host-context.es.js +13 -0
- package/dist/domains/mcps/context/mcp-app-host-context.es.js.map +1 -0
- package/dist/domains/mcps/hooks/use-mcp-app-tool-call.cjs.js +2 -1
- package/dist/domains/mcps/hooks/use-mcp-app-tool-call.cjs.js.map +1 -1
- package/dist/domains/mcps/hooks/use-mcp-app-tool-call.es.js +2 -1
- package/dist/domains/mcps/hooks/use-mcp-app-tool-call.es.js.map +1 -1
- package/dist/domains/mcps.cjs.js +5 -0
- package/dist/domains/mcps.d.ts +1 -0
- package/dist/domains/mcps.es.js +3 -0
- package/dist/domains/metrics/components/agent-runs-card.cjs.js +1 -1
- package/dist/domains/metrics/components/agent-runs-card.es.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-tab-body.cjs.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-tab-body.es.js +1 -1
- package/dist/domains/metrics/components/breakdown-card.cjs.js +1 -1
- package/dist/domains/metrics/components/breakdown-card.es.js +1 -1
- package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
- package/dist/domains/metrics/components/chart-area.es.js +1 -1
- package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
- package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
- package/dist/domains/metrics/components/chart-card.cjs.js +1 -1
- package/dist/domains/metrics/components/chart-card.es.js +1 -1
- package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
- package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
- package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.cjs.js +1 -1
- package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.es.js +1 -1
- package/dist/domains/metrics/components/failure-rate-card.cjs.js +1 -1
- package/dist/domains/metrics/components/failure-rate-card.es.js +1 -1
- package/dist/domains/metrics/components/latency-card.cjs.js +1 -1
- package/dist/domains/metrics/components/latency-card.es.js +1 -1
- package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js +1 -1
- package/dist/domains/metrics/components/metrics-time-range-chip.es.js +1 -1
- package/dist/domains/metrics/components/token-usage-card.cjs.js +1 -1
- package/dist/domains/metrics/components/token-usage-card.es.js +1 -1
- package/dist/domains/metrics/components/trace-aggregate-card.cjs.js +1 -1
- package/dist/domains/metrics/components/trace-aggregate-card.es.js +1 -1
- package/dist/domains/metrics.cjs.js +3 -3
- package/dist/domains/metrics.es.js +3 -3
- package/dist/domains/observability/saved-views/observability-saved-views.cjs.js +1 -1
- package/dist/domains/observability/saved-views/observability-saved-views.es.js +1 -1
- package/dist/domains/observability/saved-views.cjs.js +1 -1
- package/dist/domains/observability/saved-views.es.js +1 -1
- package/dist/domains/observability.cjs.js +1 -1
- package/dist/domains/observability.es.js +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-list.cjs.js +1 -1
- package/dist/domains/scores/components/trace-scores-list.es.js +1 -1
- package/dist/domains/skills/skill-simple-form.cjs.js +3 -3
- package/dist/domains/skills/skill-simple-form.es.js +3 -3
- package/dist/domains/spans/components/spans-explorer-body.cjs.js +1 -1
- package/dist/domains/spans/components/spans-explorer-body.es.js +1 -1
- package/dist/domains/spans/components/spans-filter-bar.cjs.js +2 -2
- package/dist/domains/spans/components/spans-filter-bar.es.js +2 -2
- package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js +1 -1
- package/dist/domains/spans/hooks/use-spans-filter-bar.es.js +1 -1
- package/dist/domains/threads/components/threads-explorer-body.cjs.js +1 -1
- package/dist/domains/threads/components/threads-explorer-body.es.js +1 -1
- package/dist/domains/threads/components/threads-filter-bar.cjs.js +2 -2
- package/dist/domains/threads/components/threads-filter-bar.es.js +2 -2
- package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js +1 -1
- package/dist/domains/threads/hooks/use-threads-filter-bar.es.js +1 -1
- package/dist/domains/traces/components/feedback-options.cjs.js +0 -0
- package/dist/domains/traces/components/feedback-options.d.ts +1 -0
- package/dist/domains/traces/components/feedback-options.es.js +0 -0
- package/dist/domains/traces/components/feedback-thread.cjs.js +10 -4
- package/dist/domains/traces/components/feedback-thread.cjs.js.map +1 -1
- package/dist/domains/traces/components/feedback-thread.es.js +10 -4
- package/dist/domains/traces/components/feedback-thread.es.js.map +1 -1
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +2 -2
- package/dist/domains/traces/components/span-data-panel-view.es.js +2 -2
- package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
- package/dist/domains/traces/components/span-details-view.es.js +1 -1
- package/dist/domains/traces/components/span-feedback-tab.cjs.js +8 -5
- package/dist/domains/traces/components/span-feedback-tab.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-feedback-tab.es.js +8 -5
- package/dist/domains/traces/components/span-feedback-tab.es.js.map +1 -1
- package/dist/domains/traces/components/span-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-json.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
- 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 +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +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-mutations.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-processor-mutations.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-tools-section.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-trace/thread-trace-messages.cjs.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js +5 -3
- 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 +5 -3
- 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 +2 -2
- package/dist/domains/traces/components/trace-data-panel-view.es.js +2 -2
- package/dist/domains/traces/components/trace-details-view.cjs.js +1 -1
- package/dist/domains/traces/components/trace-details-view.es.js +1 -1
- package/dist/domains/traces/components/trace-feedback-tab.cjs.js +9 -4
- package/dist/domains/traces/components/trace-feedback-tab.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-feedback-tab.es.js +9 -4
- package/dist/domains/traces/components/trace-feedback-tab.es.js.map +1 -1
- package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
- package/dist/domains/traces/components/trace-id-button.es.js +1 -1
- package/dist/domains/traces/components/trace-span-panel.cjs.js +2 -1
- package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-panel.es.js +2 -1
- 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 +3 -2
- package/dist/domains/traces/components/trace-thread-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-thread-panel.es.js +3 -2
- package/dist/domains/traces/components/trace-thread-panel.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js +8 -3
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js +8 -3
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +14 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +14 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer.es.js.map +1 -1
- package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
- package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
- package/dist/domains/traces/components/traces-list-view.cjs.js +1 -1
- package/dist/domains/traces/components/traces-list-view.es.js +1 -1
- package/dist/domains/traces/components/traces-spans-switch.cjs.js +1 -1
- package/dist/domains/traces/components/traces-spans-switch.es.js +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-layout.cjs.js +1 -1
- package/dist/domains/workflows/components/workflow-layout.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/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 +1 -1
- package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
- package/dist/domains/workflows/workflow/utils.cjs.js +1 -1
- package/dist/domains/workflows/workflow/utils.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-step-controls.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-layout.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-layout.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph.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 +1 -1
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-run-data.es.js +3 -3
- 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-step-node-utils.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-node-utils.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +1 -1
- package/dist/domains/workspace/components/workspace-create-directory.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-create-directory.es.js +1 -1
- package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-markdown-preview.es.js +1 -1
- package/dist/domains/workspace/components/workspace-search.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-search.es.js +1 -1
- package/dist/domains/workspace/components/workspace-tree.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-tree.es.js +1 -1
- package/dist/{dropdown-menu-Dx-jCOIv.cjs → dropdown-menu-D3D8USIY.cjs} +9 -1
- package/dist/dropdown-menu-D3D8USIY.cjs.map +1 -0
- package/dist/{dropdown-menu-DKoWI8kD.js → dropdown-menu-jsf9D-J_.js} +9 -1
- package/dist/dropdown-menu-jsf9D-J_.js.map +1 -0
- package/dist/ee/signals/sankey-signals.cjs.js +1 -1
- package/dist/ee/signals/sankey-signals.es.js +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/settings/trace-signal-settings.cjs.js +1 -1
- package/dist/ee/signals/settings/trace-signal-settings.es.js +1 -1
- package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
- package/dist/ee/signals/view-mode-tab.es.js +1 -1
- package/dist/{filter-bar-chip-NBtfDca9.js → filter-bar-chip-Cz5GYBWP.js} +2 -2
- package/dist/{filter-bar-chip-NBtfDca9.js.map → filter-bar-chip-Cz5GYBWP.js.map} +1 -1
- package/dist/{filter-bar-chip-DFsbUZ-V.cjs → filter-bar-chip-q2Zr-cnY.cjs} +2 -2
- package/dist/{filter-bar-chip-DFsbUZ-V.cjs.map → filter-bar-chip-q2Zr-cnY.cjs.map} +1 -1
- package/dist/{filter-bar-time-range-DlVNjw43.cjs → filter-bar-time-range-D4C3kU0J.cjs} +3 -3
- package/dist/{filter-bar-time-range-DlVNjw43.cjs.map → filter-bar-time-range-D4C3kU0J.cjs.map} +1 -1
- package/dist/{filter-bar-time-range-D9SnzR2J.js → filter-bar-time-range-ao2YiYEJ.js} +3 -3
- package/dist/{filter-bar-time-range-D9SnzR2J.js.map → filter-bar-time-range-ao2YiYEJ.js.map} +1 -1
- package/dist/icons/ConfluenceIcon.cjs.js +18 -0
- package/dist/icons/ConfluenceIcon.cjs.js.map +1 -0
- package/dist/icons/ConfluenceIcon.d.ts +1 -0
- package/dist/icons/ConfluenceIcon.es.js +15 -0
- package/dist/icons/ConfluenceIcon.es.js.map +1 -0
- package/dist/icons/NotionIcon.cjs.js +18 -0
- package/dist/icons/NotionIcon.cjs.js.map +1 -0
- package/dist/icons/NotionIcon.d.ts +1 -0
- package/dist/icons/NotionIcon.es.js +15 -0
- package/dist/icons/NotionIcon.es.js.map +1 -0
- package/dist/icons/ZendeskIcon.cjs.js +18 -0
- package/dist/icons/ZendeskIcon.cjs.js.map +1 -0
- package/dist/icons/ZendeskIcon.d.ts +1 -0
- package/dist/icons/ZendeskIcon.es.js +15 -0
- package/dist/icons/ZendeskIcon.es.js.map +1 -0
- package/dist/{input-Cyit5ZSc.js → input-BNykbvOz.js} +2 -2
- package/dist/input-BNykbvOz.js.map +1 -0
- package/dist/{input-BpnUsQSt.cjs → input-D_V0m95F.cjs} +2 -2
- package/dist/input-D_V0m95F.cjs.map +1 -0
- package/dist/{input-group-NV4ZzKOk.js → input-group-CCSyY4J5.js} +3 -3
- package/dist/{input-group-NV4ZzKOk.js.map → input-group-CCSyY4J5.js.map} +1 -1
- package/dist/{input-group-DBCilXjT.cjs → input-group-Da8HBo30.cjs} +3 -3
- package/dist/{input-group-DBCilXjT.cjs.map → input-group-Da8HBo30.cjs.map} +1 -1
- package/dist/layout/tabbed-container.cjs.js +1 -1
- package/dist/layout/tabbed-container.es.js +1 -1
- package/dist/lib/form/components/number-field.cjs.js +1 -1
- package/dist/lib/form/components/number-field.es.js +1 -1
- package/dist/lib/form/components/record-field.cjs.js +1 -1
- package/dist/lib/form/components/record-field.es.js +1 -1
- package/dist/{observability-saved-views-DgABvgat.cjs → observability-saved-views-CzRPN_9m.cjs} +4 -4
- package/dist/{observability-saved-views-DgABvgat.cjs.map → observability-saved-views-CzRPN_9m.cjs.map} +1 -1
- package/dist/{observability-saved-views-Ch53fh5_.js → observability-saved-views-hu_hkXVY.js} +4 -4
- package/dist/{observability-saved-views-Ch53fh5_.js.map → observability-saved-views-hu_hkXVY.js.map} +1 -1
- package/dist/primitives/menu-item.cjs.js +1 -1
- package/dist/primitives/menu-item.cjs.js.map +1 -1
- package/dist/primitives/menu-item.es.js +1 -1
- package/dist/primitives/menu-item.es.js.map +1 -1
- package/dist/{property-filter-applied-DuyL4S_K.cjs → property-filter-applied-ML84st6J.cjs} +3 -3
- package/dist/{property-filter-applied-DuyL4S_K.cjs.map → property-filter-applied-ML84st6J.cjs.map} +1 -1
- package/dist/{property-filter-applied-DoxQHG09.js → property-filter-applied-PaJ7sLsM.js} +3 -3
- package/dist/{property-filter-applied-DoxQHG09.js.map → property-filter-applied-PaJ7sLsM.js.map} +1 -1
- package/dist/{span-payload-primitives-D2NWznGy.cjs → span-payload-primitives-CL3hlirm.cjs} +3 -3
- package/dist/{span-payload-primitives-D2NWznGy.cjs.map → span-payload-primitives-CL3hlirm.cjs.map} +1 -1
- package/dist/{span-payload-primitives-BKkRpVVO.js → span-payload-primitives-KxqoXspn.js} +3 -3
- package/dist/{span-payload-primitives-BKkRpVVO.js.map → span-payload-primitives-KxqoXspn.js.map} +1 -1
- package/dist/src/domains/dashboards/components/connected-widget.d.ts +9 -0
- package/dist/src/domains/dashboards/components/dashboard-renderer.d.ts +9 -2
- package/dist/src/domains/dashboards/components/stateless-widget.d.ts +40 -0
- package/dist/src/domains/dashboards/components/view-gate.d.ts +2 -10
- package/dist/src/domains/dashboards/components/widget-controls.d.ts +25 -1
- package/dist/src/domains/dashboards/hooks/use-dashboard-environment.d.ts +8 -0
- package/dist/src/domains/dashboards/hooks/use-dashboard-requests.d.ts +11 -1
- package/dist/src/domains/dashboards/hooks/use-widget-views.d.ts +8 -2
- package/dist/src/domains/dashboards/index.d.ts +14 -6
- package/dist/src/domains/dashboards/kinds/kpis/kpis-plan.d.ts +355 -0
- package/dist/src/domains/dashboards/kinds/kpis/kpis-widget.d.ts +1 -1
- package/dist/src/domains/dashboards/kinds/scores/scores-plan.d.ts +358 -0
- package/dist/src/domains/dashboards/kinds/scores/scores-widget.d.ts +1 -1
- package/dist/src/domains/dashboards/kinds/table/table-cells.d.ts +6 -2
- package/dist/src/domains/dashboards/kinds/table/table-columns.d.ts +2 -1
- package/dist/src/domains/dashboards/kinds/table/table-plan.d.ts +18 -0
- package/dist/src/domains/dashboards/kinds/table/table-tabs.d.ts +1 -1
- package/dist/src/domains/dashboards/kinds/table/table-view.d.ts +1 -0
- package/dist/src/domains/dashboards/kinds/timeseries/timeseries-plan.d.ts +355 -0
- package/dist/src/domains/dashboards/lib/alert-actions.d.ts +36 -0
- package/dist/src/domains/dashboards/lib/gate.d.ts +65 -0
- package/dist/src/domains/dashboards/lib/plan-widget.d.ts +390 -0
- package/dist/src/domains/dashboards/lib/requests.d.ts +22 -0
- package/dist/src/domains/dashboards/lib/scores.d.ts +11 -1
- package/dist/src/domains/dashboards/lib/timeseries.d.ts +6 -1
- package/dist/src/domains/dashboards/lib/values.d.ts +5 -0
- package/dist/src/domains/dashboards/widget-kind.d.ts +105 -2
- package/dist/src/domains/knowledge/components/KnowledgePageDetail.d.ts +7 -1
- package/dist/src/domains/knowledge/components/KnowledgePageExplorer.d.ts +4 -1
- package/dist/src/domains/knowledge/components/KnowledgePageGraph.d.ts +3 -0
- package/dist/src/domains/knowledge/components/KnowledgeSourceIcon.d.ts +5 -0
- package/dist/src/domains/knowledge/components/KnowledgeTooltip.d.ts +5 -0
- package/dist/src/domains/knowledge/lib/fitViewport.d.ts +9 -2
- package/dist/src/domains/knowledge/lib/pageAddress.d.ts +10 -0
- package/dist/src/domains/knowledge/lib/pageRefs.d.ts +12 -1
- package/dist/src/domains/knowledge/lib/pagesByRefContext.d.ts +6 -0
- package/dist/src/domains/mcps/components/mcp-app-tool-result.d.ts +3 -1
- package/dist/src/domains/mcps/components/mcp-app-viewer.d.ts +6 -1
- package/dist/src/domains/mcps/context/mcp-app-host-context-value.d.ts +23 -0
- package/dist/src/domains/mcps/context/mcp-app-host-context.d.ts +7 -0
- package/dist/src/domains/mcps/index.d.ts +3 -0
- package/dist/src/domains/traces/components/feedback-options.d.ts +8 -0
- package/dist/src/domains/traces/components/feedback-thread.d.ts +2 -1
- package/dist/src/domains/traces/components/span-feedback-tab.d.ts +4 -2
- package/dist/src/domains/traces/components/thread-view-by-trace.d.ts +4 -1
- package/dist/src/domains/traces/components/trace-feedback-tab.d.ts +4 -2
- package/dist/src/domains/traces/components/trace-span-panel.d.ts +3 -1
- package/dist/src/domains/traces/components/trace-thread-panel.d.ts +3 -1
- package/dist/src/domains/traces/components/traces-explorer/index.d.ts +1 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-context.d.ts +2 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-root.d.ts +4 -1
- package/dist/src/ds/components/Breadcrumb/Breadcrumb.d.ts +2 -0
- package/dist/src/ds/components/DropdownMenu/dropdown-menu.d.ts +3 -0
- package/dist/src/ds/components/Tree/tree-label.d.ts +1 -1
- package/dist/src/ds/icons/ConfluenceIcon.d.ts +2 -0
- package/dist/src/ds/icons/NotionIcon.d.ts +2 -0
- package/dist/src/ds/icons/ZendeskIcon.d.ts +2 -0
- package/dist/src/ds/icons/index.d.ts +3 -0
- package/dist/src/utils/mcp-app-context.d.ts +6 -0
- package/dist/style.css +85 -35
- package/dist/{tabbed-container-Bhfi-DWr.cjs → tabbed-container-BMLD6mvc.cjs} +4 -4
- package/dist/{tabbed-container-Bhfi-DWr.cjs.map → tabbed-container-BMLD6mvc.cjs.map} +1 -1
- package/dist/{tabbed-container-DOkHshha.js → tabbed-container-CaS8cZCS.js} +4 -4
- package/dist/{tabbed-container-DOkHshha.js.map → tabbed-container-CaS8cZCS.js.map} +1 -1
- package/dist/{tabs-content-DwU_eA-a.js → tabs-content-BGkPZ5EQ.js} +2 -2
- package/dist/{tabs-content-DwU_eA-a.js.map → tabs-content-BGkPZ5EQ.js.map} +1 -1
- package/dist/{tabs-content-BACwMrMG.cjs → tabs-content-D_ic2ZqI.cjs} +2 -2
- package/dist/{tabs-content-BACwMrMG.cjs.map → tabs-content-D_ic2ZqI.cjs.map} +1 -1
- package/dist/{tabs-tab-BHs639jL.js → tabs-tab-CJVS0WED.js} +2 -2
- package/dist/{tabs-tab-BHs639jL.js.map → tabs-tab-CJVS0WED.js.map} +1 -1
- package/dist/{tabs-tab-CANh2eAD.cjs → tabs-tab-Dj2huH5T.cjs} +2 -2
- package/dist/{tabs-tab-CANh2eAD.cjs.map → tabs-tab-Dj2huH5T.cjs.map} +1 -1
- package/dist/{tool-approval-CguPaikn.cjs → tool-approval-C4WNL8VD.cjs} +3 -3
- package/dist/{tool-approval-CguPaikn.cjs.map → tool-approval-C4WNL8VD.cjs.map} +1 -1
- package/dist/{tool-approval-Cjz0yAzw.js → tool-approval-ZfL3-Vvi.js} +3 -3
- package/dist/{tool-approval-Cjz0yAzw.js.map → tool-approval-ZfL3-Vvi.js.map} +1 -1
- package/dist/{tool-call-ChJKYCfu.js → tool-call-BLzYTI-x.js} +2 -2
- package/dist/{tool-call-ChJKYCfu.js.map → tool-call-BLzYTI-x.js.map} +1 -1
- package/dist/{tool-call-BqDI9mrY.cjs → tool-call-C4TBpJ6Y.cjs} +2 -2
- package/dist/{tool-call-BqDI9mrY.cjs.map → tool-call-C4TBpJ6Y.cjs.map} +1 -1
- package/dist/{tool-card-GSiCfxMz.js → tool-card-CM0aHG3p.js} +4 -3
- package/dist/{tool-card-GSiCfxMz.js.map → tool-card-CM0aHG3p.js.map} +1 -1
- package/dist/{tool-card-Dg4VOYV6.cjs → tool-card-xDlCD0m6.cjs} +4 -3
- package/dist/{tool-card-Dg4VOYV6.cjs.map → tool-card-xDlCD0m6.cjs.map} +1 -1
- package/dist/{mcp-app-viewer-BV7FI498.js → types-BwdKiX24.js} +2 -144
- package/dist/types-BwdKiX24.js.map +1 -0
- package/dist/{mcp-app-viewer-M3-pqAlo.cjs → types-KjLUPShK.cjs} +8 -144
- package/dist/types-KjLUPShK.cjs.map +1 -0
- package/dist/{use-workflow-graph-runtime-BfCL6nd4.cjs → use-workflow-graph-runtime-DEJA9rk4.cjs} +2 -2
- package/dist/{use-workflow-graph-runtime-BfCL6nd4.cjs.map → use-workflow-graph-runtime-DEJA9rk4.cjs.map} +1 -1
- package/dist/{use-workflow-graph-runtime-B3VUuhUE.js → use-workflow-graph-runtime-DHOsA1DM.js} +2 -2
- package/dist/{use-workflow-graph-runtime-B3VUuhUE.js.map → use-workflow-graph-runtime-DHOsA1DM.js.map} +1 -1
- package/dist/utils/mcp-app-context.cjs.js +17 -0
- package/dist/utils/mcp-app-context.cjs.js.map +1 -0
- package/dist/utils/mcp-app-context.d.ts +1 -0
- package/dist/utils/mcp-app-context.es.js +15 -0
- package/dist/utils/mcp-app-context.es.js.map +1 -0
- package/package.json +8 -8
- package/dist/Composer-bVE8qK52.js.map +0 -1
- package/dist/Composer-u1K6edoZ.cjs.map +0 -1
- package/dist/FilterBar-Kmn6gMgO.js.map +0 -1
- package/dist/FilterBar-jBz6yaNu.cjs.map +0 -1
- package/dist/MetricsCard-DojbLiEx.cjs.map +0 -1
- package/dist/MetricsCard-kAqSCPPe.js.map +0 -1
- package/dist/Tree-Caz4FTCU.cjs.map +0 -1
- package/dist/Tree-od43gLMO.js.map +0 -1
- package/dist/combobox-parts-BeNqgCbj.cjs.map +0 -1
- package/dist/combobox-parts-C9o4UfH_.js.map +0 -1
- package/dist/domains/dashboards/hooks/use-scorers.cjs.js +0 -41
- package/dist/domains/dashboards/hooks/use-scorers.cjs.js.map +0 -1
- package/dist/domains/dashboards/hooks/use-scorers.d.ts +0 -1
- package/dist/domains/dashboards/hooks/use-scorers.es.js +0 -40
- package/dist/domains/dashboards/hooks/use-scorers.es.js.map +0 -1
- package/dist/dropdown-menu-DKoWI8kD.js.map +0 -1
- package/dist/dropdown-menu-Dx-jCOIv.cjs.map +0 -1
- package/dist/input-BpnUsQSt.cjs.map +0 -1
- package/dist/input-Cyit5ZSc.js.map +0 -1
- package/dist/mcp-app-viewer-BV7FI498.js.map +0 -1
- package/dist/mcp-app-viewer-M3-pqAlo.cjs.map +0 -1
- package/dist/src/domains/dashboards/hooks/use-scorers.d.ts +0 -66
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traces-explorer-root.cjs.js","names":["EntityType","DEFAULT_TRACES_FILTERS","useTraceQueryAvailable","useFeedbackAvailable","useSpanQueryAvailable","useThreadQueryAvailable","useTraceQueryRootDurationAvailable","useTraceQueryDeltaPollingAvailable","useTraceQueryDiscoveryAvailable","useObservabilityCapabilities","useMemo","sanitizeTracesFilters","resolveTracesDateWindow","useRef","isSelectionEmpty","clearSelection","selectTrace","selectSpan","setSpanTab","setSpanView","selectScore","highlightSpans","applyFilterTokens","applyDatePreset","applyDate","applyDateRange","rememberZoom","rangeBeforeZoom","useState","resolveTraceQueryTimeRange","selectsRunningStatus","TracesConfigContext","TracesFiltersContext","TracesSelectionContext","TracesColumnsProvider","TracesListProvider"],"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 selectsRunningStatus,\n selectScore,\n selectSpan,\n selectTrace,\n setSpanTab,\n setSpanView,\n} from './traces-explorer-actions';\nimport type { TracesExplorerState, TracesFilters, TracesSelection, TracesSort } 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 useObservabilityCapabilities,\n useSpanQueryAvailable,\n useThreadQueryAvailable,\n useTraceQueryAvailable,\n useTraceQueryDeltaPollingAvailable,\n useTraceQueryDiscoveryAvailable,\n useTraceQueryRootDurationAvailable,\n} from '@/domains/capabilities';\nimport { rangeBeforeZoom, rememberZoom } from '@/domains/observability/lib/zoom-memory';\nimport type { ZoomMemory } from '@/domains/observability/lib/zoom-memory';\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 sort: TracesSort;\n onSortChange: (next: TracesSort) => 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' | 'onSortChange'> & {\n scopedFieldIds: ReadonlySet<string>;\n};\n\nexport function TracesExplorerRoot({\n selection,\n filters: rawFilters,\n onChange,\n sort,\n onSortChange: onHostSortChange,\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 // Opt-in: span queries need both the server capability and the host turning them on.\n const withSpanQuery = useSpanQueryAvailable().enabled && features?.spanQuery === true;\n // Opt-in like span queries: thread rows need the server capability and the host turning them on.\n const withThreadQuery = useThreadQueryAvailable().enabled && features?.threadQuery === true;\n const { enabled: withRootDuration } = useTraceQueryRootDurationAvailable();\n const { enabled: withDeltaPolling } = useTraceQueryDeltaPollingAvailable();\n const withDiscovery = useTraceQueryDiscoveryAvailable().enabled && withQueryTrace;\n // `listTracesLight` rows never carry it, so it needs the trace query API as well.\n const { data: capabilities } = useObservabilityCapabilities();\n const withTimeToFirstChunk = withQueryTrace && (capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false);\n const withTimeToFirstChunkSort =\n withTimeToFirstChunk && (capabilities?.capabilities.traceQueryTimeToFirstChunkSort ?? false);\n const withTimeToFirstToken = withQueryTrace && (capabilities?.capabilities.traceQueryTimeToFirstToken ?? false);\n const withTimeToFirstTokenSort =\n withTimeToFirstToken && (capabilities?.capabilities.traceQueryTimeToFirstTokenSort ?? false);\n const withOutcomeFields = withQueryTrace && (capabilities?.capabilities.traceQueryOutcomeFields ?? false);\n\n // Entries the server can't query are ignored, never written back: the host keeps its raw value.\n const filters = useMemo(\n () =>\n sanitizeTracesFilters(rawFilters, {\n withRootDuration,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n withOutcomeFields,\n }),\n [rawFilters, withRootDuration, withTimeToFirstChunk, withTimeToFirstToken, withOutcomeFields],\n );\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, onSortChange: onHostSortChange, scopedFieldIds };\n const latest = useRef(current);\n latest.current = current;\n // Not part of the host's filters: a shared or reloaded link has no zoom to undo.\n const zoomMemory = useRef<ZoomMemory | undefined>(undefined);\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 // A range picked by hand drops the zoom memory, even one that matches the zoomed bounds.\n const pickRange = (next: TracesFilters) => {\n zoomMemory.current = undefined;\n updateFilters(next);\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 => pickRange(applyDatePreset(latest.current.filters, preset)),\n setDate: (value, end) => pickRange(applyDate(latest.current.filters, value, end)),\n setDateRange: (from, to) => pickRange(applyDateRange(latest.current.filters, from, to)),\n zoomDateRange: (from, to) => {\n const base = latest.current.filters;\n zoomMemory.current = rememberZoom(zoomMemory.current, base, from, to);\n updateFilters({ ...base, datePreset: 'custom', dateFrom: from, dateTo: to });\n },\n resetDateRange: defaultPreset => {\n const base = latest.current.filters;\n const before = rangeBeforeZoom(zoomMemory.current, base);\n zoomMemory.current = undefined;\n updateFilters({ tokens: base.tokens, groups: base.groups, ...(before ?? { datePreset: defaultPreset }) });\n },\n };\n const onSortChange = (next: TracesSort) => latest.current.onSortChange(next);\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 withSpanQuery,\n withThreadQuery,\n withRootDuration,\n withOutcomeFields,\n withTimeToFirstChunk,\n withTimeToFirstChunkSort,\n withTimeToFirstToken,\n withTimeToFirstTokenSort,\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 withSpanQuery,\n withThreadQuery,\n withRootDuration,\n withOutcomeFields,\n withTimeToFirstChunk,\n withTimeToFirstChunkSort,\n withTimeToFirstToken,\n withTimeToFirstTokenSort,\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 runningSelected = useMemo(() => selectsRunningStatus(rawFilters), [rawFilters]);\n const filtersValue = useMemo<TracesFiltersContextValue>(\n () => ({\n ...filtersActions,\n filters,\n dateFrom,\n dateTo,\n filtersApplied,\n contentFiltersApplied,\n runningSelected,\n }),\n [filtersActions, filters, dateFrom, dateTo, filtersApplied, contentFiltersApplied, runningSelected],\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 <TracesColumnsProvider>\n <TracesListProvider sort={sort} onSortChange={onSortChange}>\n {children}\n </TracesListProvider>\n </TracesColumnsProvider>\n </TracesSelectionContext.Provider>\n </TracesFiltersContext.Provider>\n </TracesConfigContext.Provider>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"traces-explorer-root.cjs.js","names":["EntityType","DEFAULT_TRACES_FILTERS","useTraceQueryAvailable","useFeedbackAvailable","useSpanQueryAvailable","useThreadQueryAvailable","useTraceQueryRootDurationAvailable","useTraceQueryDeltaPollingAvailable","useTraceQueryDiscoveryAvailable","useObservabilityCapabilities","useMemo","sanitizeTracesFilters","resolveTracesDateWindow","useRef","isSelectionEmpty","clearSelection","selectTrace","selectSpan","setSpanTab","setSpanView","selectScore","highlightSpans","applyFilterTokens","applyDatePreset","applyDate","applyDateRange","rememberZoom","rangeBeforeZoom","useState","resolveTraceQueryTimeRange","selectsRunningStatus","TracesConfigContext","TracesFiltersContext","TracesSelectionContext","TracesColumnsProvider","TracesListProvider"],"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 type { FeedbackOptions } from '../feedback-options';\nimport {\n applyDate,\n applyDatePreset,\n applyDateRange,\n applyFilterTokens,\n clearSelection,\n DEFAULT_TRACES_FILTERS,\n highlightSpans,\n isSelectionEmpty,\n resolveTracesDateWindow,\n sanitizeTracesFilters,\n selectsRunningStatus,\n selectScore,\n selectSpan,\n selectTrace,\n setSpanTab,\n setSpanView,\n} from './traces-explorer-actions';\nimport type { TracesExplorerState, TracesFilters, TracesSelection, TracesSort } 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 useObservabilityCapabilities,\n useSpanQueryAvailable,\n useThreadQueryAvailable,\n useTraceQueryAvailable,\n useTraceQueryDeltaPollingAvailable,\n useTraceQueryDiscoveryAvailable,\n useTraceQueryRootDurationAvailable,\n} from '@/domains/capabilities';\nimport { rangeBeforeZoom, rememberZoom } from '@/domains/observability/lib/zoom-memory';\nimport type { ZoomMemory } from '@/domains/observability/lib/zoom-memory';\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 sort: TracesSort;\n onSortChange: (next: TracesSort) => 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 /** Write context and action support for feedback in trace, span and thread panels. */\n feedbackOptions?: FeedbackOptions;\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' | 'onSortChange'> & {\n scopedFieldIds: ReadonlySet<string>;\n};\n\nexport function TracesExplorerRoot({\n selection,\n filters: rawFilters,\n onChange,\n sort,\n onSortChange: onHostSortChange,\n scope,\n metricsSupport,\n features,\n feedbackOptions,\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 // Opt-in: span queries need both the server capability and the host turning them on.\n const withSpanQuery = useSpanQueryAvailable().enabled && features?.spanQuery === true;\n // Opt-in like span queries: thread rows need the server capability and the host turning them on.\n const withThreadQuery = useThreadQueryAvailable().enabled && features?.threadQuery === true;\n const { enabled: withRootDuration } = useTraceQueryRootDurationAvailable();\n const { enabled: withDeltaPolling } = useTraceQueryDeltaPollingAvailable();\n const withDiscovery = useTraceQueryDiscoveryAvailable().enabled && withQueryTrace;\n // `listTracesLight` rows never carry it, so it needs the trace query API as well.\n const { data: capabilities } = useObservabilityCapabilities();\n const withTimeToFirstChunk = withQueryTrace && (capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false);\n const withTimeToFirstChunkSort =\n withTimeToFirstChunk && (capabilities?.capabilities.traceQueryTimeToFirstChunkSort ?? false);\n const withTimeToFirstToken = withQueryTrace && (capabilities?.capabilities.traceQueryTimeToFirstToken ?? false);\n const withTimeToFirstTokenSort =\n withTimeToFirstToken && (capabilities?.capabilities.traceQueryTimeToFirstTokenSort ?? false);\n const withOutcomeFields = withQueryTrace && (capabilities?.capabilities.traceQueryOutcomeFields ?? false);\n\n // Entries the server can't query are ignored, never written back: the host keeps its raw value.\n const filters = useMemo(\n () =>\n sanitizeTracesFilters(rawFilters, {\n withRootDuration,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n withOutcomeFields,\n }),\n [rawFilters, withRootDuration, withTimeToFirstChunk, withTimeToFirstToken, withOutcomeFields],\n );\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, onSortChange: onHostSortChange, scopedFieldIds };\n const latest = useRef(current);\n latest.current = current;\n // Not part of the host's filters: a shared or reloaded link has no zoom to undo.\n const zoomMemory = useRef<ZoomMemory | undefined>(undefined);\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 // A range picked by hand drops the zoom memory, even one that matches the zoomed bounds.\n const pickRange = (next: TracesFilters) => {\n zoomMemory.current = undefined;\n updateFilters(next);\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 => pickRange(applyDatePreset(latest.current.filters, preset)),\n setDate: (value, end) => pickRange(applyDate(latest.current.filters, value, end)),\n setDateRange: (from, to) => pickRange(applyDateRange(latest.current.filters, from, to)),\n zoomDateRange: (from, to) => {\n const base = latest.current.filters;\n zoomMemory.current = rememberZoom(zoomMemory.current, base, from, to);\n updateFilters({ ...base, datePreset: 'custom', dateFrom: from, dateTo: to });\n },\n resetDateRange: defaultPreset => {\n const base = latest.current.filters;\n const before = rangeBeforeZoom(zoomMemory.current, base);\n zoomMemory.current = undefined;\n updateFilters({ tokens: base.tokens, groups: base.groups, ...(before ?? { datePreset: defaultPreset }) });\n },\n };\n const onSortChange = (next: TracesSort) => latest.current.onSortChange(next);\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 hasFeedbackOptions = feedbackOptions !== undefined;\n const { contextMode, feedbackUserId, allowDelete, allowReview } = feedbackOptions ?? {};\n const configValue = useMemo<TracesConfigContextValue>(\n () => ({\n listId,\n scopedFieldIds,\n hiddenFieldIds,\n withQueryTrace,\n withFeedback,\n feedbackOptions: hasFeedbackOptions ? { contextMode, feedbackUserId, allowDelete, allowReview } : undefined,\n withSpanQuery,\n withThreadQuery,\n withRootDuration,\n withOutcomeFields,\n withTimeToFirstChunk,\n withTimeToFirstChunkSort,\n withTimeToFirstToken,\n withTimeToFirstTokenSort,\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 hasFeedbackOptions,\n contextMode,\n feedbackUserId,\n allowDelete,\n allowReview,\n withSpanQuery,\n withThreadQuery,\n withRootDuration,\n withOutcomeFields,\n withTimeToFirstChunk,\n withTimeToFirstChunkSort,\n withTimeToFirstToken,\n withTimeToFirstTokenSort,\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 runningSelected = useMemo(() => selectsRunningStatus(rawFilters), [rawFilters]);\n const filtersValue = useMemo<TracesFiltersContextValue>(\n () => ({\n ...filtersActions,\n filters,\n dateFrom,\n dateTo,\n filtersApplied,\n contentFiltersApplied,\n runningSelected,\n }),\n [filtersActions, filters, dateFrom, dateTo, filtersApplied, contentFiltersApplied, runningSelected],\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 <TracesColumnsProvider>\n <TracesListProvider sort={sort} onSortChange={onSortChange}>\n {children}\n </TracesListProvider>\n </TracesColumnsProvider>\n </TracesSelectionContext.Provider>\n </TracesFiltersContext.Provider>\n </TracesConfigContext.Provider>\n );\n}\n"],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ var HIDDEN_SCOPED_FIELD_IDS = [
|
|
|
18
18
|
var NO_FIELD_IDS = /* @__PURE__ */ new Set();
|
|
19
19
|
var NO_HIDDEN_FIELD_IDS = [];
|
|
20
20
|
var listIdForScope = (scope) => scope?.entityType === EntityType.AGENT ? "agent-traces" : scope?.entityType === EntityType.WORKFLOW_RUN ? "workflows-traces" : "all-traces";
|
|
21
|
-
function TracesExplorerRoot({ selection, filters: rawFilters, onChange, sort, onSortChange: onHostSortChange, scope, metricsSupport, features, initialFilters = DEFAULT_TRACES_FILTERS, children }) {
|
|
21
|
+
function TracesExplorerRoot({ selection, filters: rawFilters, onChange, sort, onSortChange: onHostSortChange, scope, metricsSupport, features, feedbackOptions, initialFilters = DEFAULT_TRACES_FILTERS, children }) {
|
|
22
22
|
const traceQuery = useTraceQueryAvailable();
|
|
23
23
|
const withQueryTrace = traceQuery.enabled && features?.traceQuery !== false;
|
|
24
24
|
const withFeedback = useFeedbackAvailable().enabled && features?.feedback !== false;
|
|
@@ -143,12 +143,20 @@ function TracesExplorerRoot({ selection, filters: rawFilters, onChange, sort, on
|
|
|
143
143
|
discoveryNow
|
|
144
144
|
]);
|
|
145
145
|
const listId = listIdForScope(scope);
|
|
146
|
+
const hasFeedbackOptions = feedbackOptions !== void 0;
|
|
147
|
+
const { contextMode, feedbackUserId, allowDelete, allowReview } = feedbackOptions ?? {};
|
|
146
148
|
const configValue = useMemo(() => ({
|
|
147
149
|
listId,
|
|
148
150
|
scopedFieldIds,
|
|
149
151
|
hiddenFieldIds,
|
|
150
152
|
withQueryTrace,
|
|
151
153
|
withFeedback,
|
|
154
|
+
feedbackOptions: hasFeedbackOptions ? {
|
|
155
|
+
contextMode,
|
|
156
|
+
feedbackUserId,
|
|
157
|
+
allowDelete,
|
|
158
|
+
allowReview
|
|
159
|
+
} : void 0,
|
|
152
160
|
withSpanQuery,
|
|
153
161
|
withThreadQuery,
|
|
154
162
|
withRootDuration,
|
|
@@ -168,6 +176,11 @@ function TracesExplorerRoot({ selection, filters: rawFilters, onChange, sort, on
|
|
|
168
176
|
hiddenFieldIds,
|
|
169
177
|
withQueryTrace,
|
|
170
178
|
withFeedback,
|
|
179
|
+
hasFeedbackOptions,
|
|
180
|
+
contextMode,
|
|
181
|
+
feedbackUserId,
|
|
182
|
+
allowDelete,
|
|
183
|
+
allowReview,
|
|
171
184
|
withSpanQuery,
|
|
172
185
|
withThreadQuery,
|
|
173
186
|
withRootDuration,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traces-explorer-root.es.js","names":[],"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 selectsRunningStatus,\n selectScore,\n selectSpan,\n selectTrace,\n setSpanTab,\n setSpanView,\n} from './traces-explorer-actions';\nimport type { TracesExplorerState, TracesFilters, TracesSelection, TracesSort } 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 useObservabilityCapabilities,\n useSpanQueryAvailable,\n useThreadQueryAvailable,\n useTraceQueryAvailable,\n useTraceQueryDeltaPollingAvailable,\n useTraceQueryDiscoveryAvailable,\n useTraceQueryRootDurationAvailable,\n} from '@/domains/capabilities';\nimport { rangeBeforeZoom, rememberZoom } from '@/domains/observability/lib/zoom-memory';\nimport type { ZoomMemory } from '@/domains/observability/lib/zoom-memory';\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 sort: TracesSort;\n onSortChange: (next: TracesSort) => 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' | 'onSortChange'> & {\n scopedFieldIds: ReadonlySet<string>;\n};\n\nexport function TracesExplorerRoot({\n selection,\n filters: rawFilters,\n onChange,\n sort,\n onSortChange: onHostSortChange,\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 // Opt-in: span queries need both the server capability and the host turning them on.\n const withSpanQuery = useSpanQueryAvailable().enabled && features?.spanQuery === true;\n // Opt-in like span queries: thread rows need the server capability and the host turning them on.\n const withThreadQuery = useThreadQueryAvailable().enabled && features?.threadQuery === true;\n const { enabled: withRootDuration } = useTraceQueryRootDurationAvailable();\n const { enabled: withDeltaPolling } = useTraceQueryDeltaPollingAvailable();\n const withDiscovery = useTraceQueryDiscoveryAvailable().enabled && withQueryTrace;\n // `listTracesLight` rows never carry it, so it needs the trace query API as well.\n const { data: capabilities } = useObservabilityCapabilities();\n const withTimeToFirstChunk = withQueryTrace && (capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false);\n const withTimeToFirstChunkSort =\n withTimeToFirstChunk && (capabilities?.capabilities.traceQueryTimeToFirstChunkSort ?? false);\n const withTimeToFirstToken = withQueryTrace && (capabilities?.capabilities.traceQueryTimeToFirstToken ?? false);\n const withTimeToFirstTokenSort =\n withTimeToFirstToken && (capabilities?.capabilities.traceQueryTimeToFirstTokenSort ?? false);\n const withOutcomeFields = withQueryTrace && (capabilities?.capabilities.traceQueryOutcomeFields ?? false);\n\n // Entries the server can't query are ignored, never written back: the host keeps its raw value.\n const filters = useMemo(\n () =>\n sanitizeTracesFilters(rawFilters, {\n withRootDuration,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n withOutcomeFields,\n }),\n [rawFilters, withRootDuration, withTimeToFirstChunk, withTimeToFirstToken, withOutcomeFields],\n );\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, onSortChange: onHostSortChange, scopedFieldIds };\n const latest = useRef(current);\n latest.current = current;\n // Not part of the host's filters: a shared or reloaded link has no zoom to undo.\n const zoomMemory = useRef<ZoomMemory | undefined>(undefined);\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 // A range picked by hand drops the zoom memory, even one that matches the zoomed bounds.\n const pickRange = (next: TracesFilters) => {\n zoomMemory.current = undefined;\n updateFilters(next);\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 => pickRange(applyDatePreset(latest.current.filters, preset)),\n setDate: (value, end) => pickRange(applyDate(latest.current.filters, value, end)),\n setDateRange: (from, to) => pickRange(applyDateRange(latest.current.filters, from, to)),\n zoomDateRange: (from, to) => {\n const base = latest.current.filters;\n zoomMemory.current = rememberZoom(zoomMemory.current, base, from, to);\n updateFilters({ ...base, datePreset: 'custom', dateFrom: from, dateTo: to });\n },\n resetDateRange: defaultPreset => {\n const base = latest.current.filters;\n const before = rangeBeforeZoom(zoomMemory.current, base);\n zoomMemory.current = undefined;\n updateFilters({ tokens: base.tokens, groups: base.groups, ...(before ?? { datePreset: defaultPreset }) });\n },\n };\n const onSortChange = (next: TracesSort) => latest.current.onSortChange(next);\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 withSpanQuery,\n withThreadQuery,\n withRootDuration,\n withOutcomeFields,\n withTimeToFirstChunk,\n withTimeToFirstChunkSort,\n withTimeToFirstToken,\n withTimeToFirstTokenSort,\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 withSpanQuery,\n withThreadQuery,\n withRootDuration,\n withOutcomeFields,\n withTimeToFirstChunk,\n withTimeToFirstChunkSort,\n withTimeToFirstToken,\n withTimeToFirstTokenSort,\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 runningSelected = useMemo(() => selectsRunningStatus(rawFilters), [rawFilters]);\n const filtersValue = useMemo<TracesFiltersContextValue>(\n () => ({\n ...filtersActions,\n filters,\n dateFrom,\n dateTo,\n filtersApplied,\n contentFiltersApplied,\n runningSelected,\n }),\n [filtersActions, filters, dateFrom, dateTo, filtersApplied, contentFiltersApplied, runningSelected],\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 <TracesColumnsProvider>\n <TracesListProvider sort={sort} onSortChange={onSortChange}>\n {children}\n </TracesListProvider>\n </TracesColumnsProvider>\n </TracesSelectionContext.Provider>\n </TracesFiltersContext.Provider>\n </TracesConfigContext.Provider>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"traces-explorer-root.es.js","names":[],"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 type { FeedbackOptions } from '../feedback-options';\nimport {\n applyDate,\n applyDatePreset,\n applyDateRange,\n applyFilterTokens,\n clearSelection,\n DEFAULT_TRACES_FILTERS,\n highlightSpans,\n isSelectionEmpty,\n resolveTracesDateWindow,\n sanitizeTracesFilters,\n selectsRunningStatus,\n selectScore,\n selectSpan,\n selectTrace,\n setSpanTab,\n setSpanView,\n} from './traces-explorer-actions';\nimport type { TracesExplorerState, TracesFilters, TracesSelection, TracesSort } 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 useObservabilityCapabilities,\n useSpanQueryAvailable,\n useThreadQueryAvailable,\n useTraceQueryAvailable,\n useTraceQueryDeltaPollingAvailable,\n useTraceQueryDiscoveryAvailable,\n useTraceQueryRootDurationAvailable,\n} from '@/domains/capabilities';\nimport { rangeBeforeZoom, rememberZoom } from '@/domains/observability/lib/zoom-memory';\nimport type { ZoomMemory } from '@/domains/observability/lib/zoom-memory';\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 sort: TracesSort;\n onSortChange: (next: TracesSort) => 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 /** Write context and action support for feedback in trace, span and thread panels. */\n feedbackOptions?: FeedbackOptions;\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' | 'onSortChange'> & {\n scopedFieldIds: ReadonlySet<string>;\n};\n\nexport function TracesExplorerRoot({\n selection,\n filters: rawFilters,\n onChange,\n sort,\n onSortChange: onHostSortChange,\n scope,\n metricsSupport,\n features,\n feedbackOptions,\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 // Opt-in: span queries need both the server capability and the host turning them on.\n const withSpanQuery = useSpanQueryAvailable().enabled && features?.spanQuery === true;\n // Opt-in like span queries: thread rows need the server capability and the host turning them on.\n const withThreadQuery = useThreadQueryAvailable().enabled && features?.threadQuery === true;\n const { enabled: withRootDuration } = useTraceQueryRootDurationAvailable();\n const { enabled: withDeltaPolling } = useTraceQueryDeltaPollingAvailable();\n const withDiscovery = useTraceQueryDiscoveryAvailable().enabled && withQueryTrace;\n // `listTracesLight` rows never carry it, so it needs the trace query API as well.\n const { data: capabilities } = useObservabilityCapabilities();\n const withTimeToFirstChunk = withQueryTrace && (capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false);\n const withTimeToFirstChunkSort =\n withTimeToFirstChunk && (capabilities?.capabilities.traceQueryTimeToFirstChunkSort ?? false);\n const withTimeToFirstToken = withQueryTrace && (capabilities?.capabilities.traceQueryTimeToFirstToken ?? false);\n const withTimeToFirstTokenSort =\n withTimeToFirstToken && (capabilities?.capabilities.traceQueryTimeToFirstTokenSort ?? false);\n const withOutcomeFields = withQueryTrace && (capabilities?.capabilities.traceQueryOutcomeFields ?? false);\n\n // Entries the server can't query are ignored, never written back: the host keeps its raw value.\n const filters = useMemo(\n () =>\n sanitizeTracesFilters(rawFilters, {\n withRootDuration,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n withOutcomeFields,\n }),\n [rawFilters, withRootDuration, withTimeToFirstChunk, withTimeToFirstToken, withOutcomeFields],\n );\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, onSortChange: onHostSortChange, scopedFieldIds };\n const latest = useRef(current);\n latest.current = current;\n // Not part of the host's filters: a shared or reloaded link has no zoom to undo.\n const zoomMemory = useRef<ZoomMemory | undefined>(undefined);\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 // A range picked by hand drops the zoom memory, even one that matches the zoomed bounds.\n const pickRange = (next: TracesFilters) => {\n zoomMemory.current = undefined;\n updateFilters(next);\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 => pickRange(applyDatePreset(latest.current.filters, preset)),\n setDate: (value, end) => pickRange(applyDate(latest.current.filters, value, end)),\n setDateRange: (from, to) => pickRange(applyDateRange(latest.current.filters, from, to)),\n zoomDateRange: (from, to) => {\n const base = latest.current.filters;\n zoomMemory.current = rememberZoom(zoomMemory.current, base, from, to);\n updateFilters({ ...base, datePreset: 'custom', dateFrom: from, dateTo: to });\n },\n resetDateRange: defaultPreset => {\n const base = latest.current.filters;\n const before = rangeBeforeZoom(zoomMemory.current, base);\n zoomMemory.current = undefined;\n updateFilters({ tokens: base.tokens, groups: base.groups, ...(before ?? { datePreset: defaultPreset }) });\n },\n };\n const onSortChange = (next: TracesSort) => latest.current.onSortChange(next);\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 hasFeedbackOptions = feedbackOptions !== undefined;\n const { contextMode, feedbackUserId, allowDelete, allowReview } = feedbackOptions ?? {};\n const configValue = useMemo<TracesConfigContextValue>(\n () => ({\n listId,\n scopedFieldIds,\n hiddenFieldIds,\n withQueryTrace,\n withFeedback,\n feedbackOptions: hasFeedbackOptions ? { contextMode, feedbackUserId, allowDelete, allowReview } : undefined,\n withSpanQuery,\n withThreadQuery,\n withRootDuration,\n withOutcomeFields,\n withTimeToFirstChunk,\n withTimeToFirstChunkSort,\n withTimeToFirstToken,\n withTimeToFirstTokenSort,\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 hasFeedbackOptions,\n contextMode,\n feedbackUserId,\n allowDelete,\n allowReview,\n withSpanQuery,\n withThreadQuery,\n withRootDuration,\n withOutcomeFields,\n withTimeToFirstChunk,\n withTimeToFirstChunkSort,\n withTimeToFirstToken,\n withTimeToFirstTokenSort,\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 runningSelected = useMemo(() => selectsRunningStatus(rawFilters), [rawFilters]);\n const filtersValue = useMemo<TracesFiltersContextValue>(\n () => ({\n ...filtersActions,\n filters,\n dateFrom,\n dateTo,\n filtersApplied,\n contentFiltersApplied,\n runningSelected,\n }),\n [filtersActions, filters, dateFrom, dateTo, filtersApplied, contentFiltersApplied, runningSelected],\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 <TracesColumnsProvider>\n <TracesListProvider sort={sort} onSortChange={onSortChange}>\n {children}\n </TracesListProvider>\n </TracesColumnsProvider>\n </TracesSelectionContext.Provider>\n </TracesFiltersContext.Provider>\n </TracesConfigContext.Provider>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_domains_traces_components_traces_explorer_traces_explorer_context = require("./traces-explorer-context.cjs.js");
|
|
3
|
-
const require_observability_saved_views = require("../../../../observability-saved-views-
|
|
3
|
+
const require_observability_saved_views = require("../../../../observability-saved-views-CzRPN_9m.cjs");
|
|
4
4
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
5
|
// src/domains/traces/components/traces-explorer/traces-explorer-saved-views.tsx
|
|
6
6
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useTracesColumns } from "./traces-explorer-context.es.js";
|
|
2
|
-
import { t as ObservabilitySavedViews } from "../../../../observability-saved-views-
|
|
2
|
+
import { t as ObservabilitySavedViews } from "../../../../observability-saved-views-hu_hkXVY.js";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
// src/domains/traces/components/traces-explorer/traces-explorer-saved-views.tsx
|
|
5
5
|
/**
|
|
@@ -4,7 +4,7 @@ const require_domains_traces_components_traces_explorer_traces_explorer_actions
|
|
|
4
4
|
const require_domains_traces_components_traces_explorer_traces_explorer_context = require("./traces-explorer-context.cjs.js");
|
|
5
5
|
const require_domains_traces_components_traces_explorer_use_traces_discovery = require("./use-traces-discovery.cjs.js");
|
|
6
6
|
const require_types = require("../../../../types-CP7wbYua.cjs");
|
|
7
|
-
const require_filter_bar_time_range = require("../../../../filter-bar-time-range-
|
|
7
|
+
const require_filter_bar_time_range = require("../../../../filter-bar-time-range-D4C3kU0J.cjs");
|
|
8
8
|
let react = require("react");
|
|
9
9
|
let _mastra_react = require("@mastra/react");
|
|
10
10
|
let _mastra_react_hooks_traces = require("@mastra/react/hooks/traces");
|
|
@@ -3,7 +3,7 @@ import { getSelectedEntityOption } from "./traces-explorer-actions.es.js";
|
|
|
3
3
|
import { useTracesConfig, useTracesFilters } from "./traces-explorer-context.es.js";
|
|
4
4
|
import { useTracesDiscovery } from "./use-traces-discovery.es.js";
|
|
5
5
|
import { t as isFilterBarGroup } from "../../../../types-DiiL5mTO.js";
|
|
6
|
-
import { r as FILTER_BAR_TIME_RANGE_ITEM, t as FILTER_BAR_TIME_RANGE_FIELD } from "../../../../filter-bar-time-range-
|
|
6
|
+
import { r as FILTER_BAR_TIME_RANGE_ITEM, t as FILTER_BAR_TIME_RANGE_FIELD } from "../../../../filter-bar-time-range-ao2YiYEJ.js";
|
|
7
7
|
import { useMemo } from "react";
|
|
8
8
|
import { useMastraClient } from "@mastra/react";
|
|
9
9
|
import { createTraceQueryValuesResolver, useEntityNames, useEnvironments } from "@mastra/react/hooks/traces";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traces-explorer.cjs.js","names":["TracesExplorerRoot","TracesExplorerLayout","TracesExplorerBody","TracesExplorerFilterBar","TracesExplorerFilterChips","TracesExplorerTimeRangeChip","TracesExplorerColumnsMenu","TracesExplorerHistogram","TracesExplorerList","TracesExplorerPanel","TracesExplorerSavedViews"],"sources":["../../../../src/domains/traces/components/traces-explorer/index.ts"],"sourcesContent":["import { TracesExplorerBody } from './traces-explorer-body';\nimport { TracesExplorerColumnsMenu } from './traces-explorer-columns-menu';\nimport {\n TracesExplorerFilterBar,\n TracesExplorerFilterChips,\n TracesExplorerTimeRangeChip,\n} from './traces-explorer-filter-bar';\nimport { TracesExplorerHistogram } from './traces-explorer-histogram';\nimport { TracesExplorerLayout } from './traces-explorer-layout';\nimport { TracesExplorerList } from './traces-explorer-list';\nimport { TracesExplorerPanel } from './traces-explorer-panel';\nimport { TracesExplorerRoot } from './traces-explorer-root';\nimport { TracesExplorerSavedViews } from './traces-explorer-saved-views';\n\nexport const TracesExplorer = Object.assign(TracesExplorerRoot, {\n Layout: TracesExplorerLayout,\n Body: TracesExplorerBody,\n FilterBar: TracesExplorerFilterBar,\n FilterChips: TracesExplorerFilterChips,\n TimeRangeChip: TracesExplorerTimeRangeChip,\n ColumnsMenu: TracesExplorerColumnsMenu,\n Histogram: TracesExplorerHistogram,\n List: TracesExplorerList,\n Panel: TracesExplorerPanel,\n SavedViews: TracesExplorerSavedViews,\n});\n\nexport type { TracesExplorerRootProps } from './traces-explorer-root';\nexport type { TracesExplorerErrorRenderArgs, TracesExplorerLayoutProps } from './traces-explorer-layout';\nexport type { TracesExplorerBodyProps } from './traces-explorer-body';\nexport type {\n TracesExplorerFilterBarProps,\n TracesExplorerFilterChipsProps,\n TracesExplorerTimeRangeChipProps,\n} from './traces-explorer-filter-bar';\nexport type { TracesExplorerPanelProps } from './traces-explorer-panel';\nexport type { TracesExplorerSavedViewsProps } from './traces-explorer-saved-views';\nexport {\n DEFAULT_TRACES_FILTERS,\n DEFAULT_TRACES_SORT,\n EMPTY_TRACES_SELECTION,\n TRACES_SORT_FIELDS,\n resolveTracesDateWindow,\n} from './traces-explorer-actions';\nexport type {\n TracesExplorerState,\n TracesFilters,\n TracesSelection,\n TracesSort,\n TracesSortDirection,\n TracesSortField,\n} from './traces-explorer-actions';\nexport {\n useTraceUsageColumns,\n useTracesColumns,\n useTracesConfig,\n useTracesFilters,\n useTracesList,\n useTracesListFetching,\n useTracesSelection,\n} from './traces-explorer-context';\nexport type { TracesExplorerFeatures, TracesExplorerScope, TracesMetricsSupport } from './traces-explorer-context';\nexport { useTracesFilterBar, useTracesFilterBarFields } from './use-traces-filter-bar';\nexport { useTracesDiscovery } from './use-traces-discovery';\n"],"mappings":";;;;;;;;;;;;;;;AAcA,IAAa,iBAAiB,OAAO,OAAOA,uEAAAA,oBAAoB;CAC9D,QAAQC,yEAAAA;CACR,MAAMC,uEAAAA;CACN,WAAWC,6EAAAA;CACX,aAAaC,6EAAAA;CACb,eAAeC,6EAAAA;CACf,aAAaC,+EAAAA;CACb,WAAWC,4EAAAA;CACX,MAAMC,uEAAAA;CACN,OAAOC,wEAAAA;CACP,YAAYC,8EAAAA;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"traces-explorer.cjs.js","names":["TracesExplorerRoot","TracesExplorerLayout","TracesExplorerBody","TracesExplorerFilterBar","TracesExplorerFilterChips","TracesExplorerTimeRangeChip","TracesExplorerColumnsMenu","TracesExplorerHistogram","TracesExplorerList","TracesExplorerPanel","TracesExplorerSavedViews"],"sources":["../../../../src/domains/traces/components/traces-explorer/index.ts"],"sourcesContent":["import { TracesExplorerBody } from './traces-explorer-body';\nimport { TracesExplorerColumnsMenu } from './traces-explorer-columns-menu';\nimport {\n TracesExplorerFilterBar,\n TracesExplorerFilterChips,\n TracesExplorerTimeRangeChip,\n} from './traces-explorer-filter-bar';\nimport { TracesExplorerHistogram } from './traces-explorer-histogram';\nimport { TracesExplorerLayout } from './traces-explorer-layout';\nimport { TracesExplorerList } from './traces-explorer-list';\nimport { TracesExplorerPanel } from './traces-explorer-panel';\nimport { TracesExplorerRoot } from './traces-explorer-root';\nimport { TracesExplorerSavedViews } from './traces-explorer-saved-views';\n\nexport const TracesExplorer = Object.assign(TracesExplorerRoot, {\n Layout: TracesExplorerLayout,\n Body: TracesExplorerBody,\n FilterBar: TracesExplorerFilterBar,\n FilterChips: TracesExplorerFilterChips,\n TimeRangeChip: TracesExplorerTimeRangeChip,\n ColumnsMenu: TracesExplorerColumnsMenu,\n Histogram: TracesExplorerHistogram,\n List: TracesExplorerList,\n Panel: TracesExplorerPanel,\n SavedViews: TracesExplorerSavedViews,\n});\n\nexport type { TracesExplorerRootProps } from './traces-explorer-root';\nexport type { TracesExplorerErrorRenderArgs, TracesExplorerLayoutProps } from './traces-explorer-layout';\nexport type { TracesExplorerBodyProps } from './traces-explorer-body';\nexport type {\n TracesExplorerFilterBarProps,\n TracesExplorerFilterChipsProps,\n TracesExplorerTimeRangeChipProps,\n} from './traces-explorer-filter-bar';\nexport type { TracesExplorerPanelProps } from './traces-explorer-panel';\nexport type { TracesExplorerSavedViewsProps } from './traces-explorer-saved-views';\nexport {\n DEFAULT_TRACES_FILTERS,\n DEFAULT_TRACES_SORT,\n EMPTY_TRACES_SELECTION,\n TRACES_SORT_FIELDS,\n resolveTracesDateWindow,\n} from './traces-explorer-actions';\nexport type {\n TracesExplorerState,\n TracesFilters,\n TracesSelection,\n TracesSort,\n TracesSortDirection,\n TracesSortField,\n} from './traces-explorer-actions';\nexport {\n useTraceUsageColumns,\n useTracesColumns,\n useTracesConfig,\n useTracesFilters,\n useTracesList,\n useTracesListFetching,\n useTracesSelection,\n} from './traces-explorer-context';\nexport type { TracesExplorerFeatures, TracesExplorerScope, TracesMetricsSupport } from './traces-explorer-context';\nexport { useTracesFilterBar, useTracesFilterBarFields } from './use-traces-filter-bar';\nexport { useTracesDiscovery } from './use-traces-discovery';\n\nexport type { FeedbackOptions } from '../feedback-options';\n"],"mappings":";;;;;;;;;;;;;;;AAcA,IAAa,iBAAiB,OAAO,OAAOA,uEAAAA,oBAAoB;CAC9D,QAAQC,yEAAAA;CACR,MAAMC,uEAAAA;CACN,WAAWC,6EAAAA;CACX,aAAaC,6EAAAA;CACb,eAAeC,6EAAAA;CACf,aAAaC,+EAAAA;CACb,WAAWC,4EAAAA;CACX,MAAMC,uEAAAA;CACN,OAAOC,wEAAAA;CACP,YAAYC,8EAAAA;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traces-explorer.es.js","names":[],"sources":["../../../../src/domains/traces/components/traces-explorer/index.ts"],"sourcesContent":["import { TracesExplorerBody } from './traces-explorer-body';\nimport { TracesExplorerColumnsMenu } from './traces-explorer-columns-menu';\nimport {\n TracesExplorerFilterBar,\n TracesExplorerFilterChips,\n TracesExplorerTimeRangeChip,\n} from './traces-explorer-filter-bar';\nimport { TracesExplorerHistogram } from './traces-explorer-histogram';\nimport { TracesExplorerLayout } from './traces-explorer-layout';\nimport { TracesExplorerList } from './traces-explorer-list';\nimport { TracesExplorerPanel } from './traces-explorer-panel';\nimport { TracesExplorerRoot } from './traces-explorer-root';\nimport { TracesExplorerSavedViews } from './traces-explorer-saved-views';\n\nexport const TracesExplorer = Object.assign(TracesExplorerRoot, {\n Layout: TracesExplorerLayout,\n Body: TracesExplorerBody,\n FilterBar: TracesExplorerFilterBar,\n FilterChips: TracesExplorerFilterChips,\n TimeRangeChip: TracesExplorerTimeRangeChip,\n ColumnsMenu: TracesExplorerColumnsMenu,\n Histogram: TracesExplorerHistogram,\n List: TracesExplorerList,\n Panel: TracesExplorerPanel,\n SavedViews: TracesExplorerSavedViews,\n});\n\nexport type { TracesExplorerRootProps } from './traces-explorer-root';\nexport type { TracesExplorerErrorRenderArgs, TracesExplorerLayoutProps } from './traces-explorer-layout';\nexport type { TracesExplorerBodyProps } from './traces-explorer-body';\nexport type {\n TracesExplorerFilterBarProps,\n TracesExplorerFilterChipsProps,\n TracesExplorerTimeRangeChipProps,\n} from './traces-explorer-filter-bar';\nexport type { TracesExplorerPanelProps } from './traces-explorer-panel';\nexport type { TracesExplorerSavedViewsProps } from './traces-explorer-saved-views';\nexport {\n DEFAULT_TRACES_FILTERS,\n DEFAULT_TRACES_SORT,\n EMPTY_TRACES_SELECTION,\n TRACES_SORT_FIELDS,\n resolveTracesDateWindow,\n} from './traces-explorer-actions';\nexport type {\n TracesExplorerState,\n TracesFilters,\n TracesSelection,\n TracesSort,\n TracesSortDirection,\n TracesSortField,\n} from './traces-explorer-actions';\nexport {\n useTraceUsageColumns,\n useTracesColumns,\n useTracesConfig,\n useTracesFilters,\n useTracesList,\n useTracesListFetching,\n useTracesSelection,\n} from './traces-explorer-context';\nexport type { TracesExplorerFeatures, TracesExplorerScope, TracesMetricsSupport } from './traces-explorer-context';\nexport { useTracesFilterBar, useTracesFilterBarFields } from './use-traces-filter-bar';\nexport { useTracesDiscovery } from './use-traces-discovery';\n"],"mappings":";;;;;;;;;;;;;;AAcA,IAAa,iBAAiB,OAAO,OAAO,oBAAoB;CAC9D,QAAQ;CACR,MAAM;CACN,WAAW;CACX,aAAa;CACb,eAAe;CACf,aAAa;CACb,WAAW;CACX,MAAM;CACN,OAAO;CACP,YAAY;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"traces-explorer.es.js","names":[],"sources":["../../../../src/domains/traces/components/traces-explorer/index.ts"],"sourcesContent":["import { TracesExplorerBody } from './traces-explorer-body';\nimport { TracesExplorerColumnsMenu } from './traces-explorer-columns-menu';\nimport {\n TracesExplorerFilterBar,\n TracesExplorerFilterChips,\n TracesExplorerTimeRangeChip,\n} from './traces-explorer-filter-bar';\nimport { TracesExplorerHistogram } from './traces-explorer-histogram';\nimport { TracesExplorerLayout } from './traces-explorer-layout';\nimport { TracesExplorerList } from './traces-explorer-list';\nimport { TracesExplorerPanel } from './traces-explorer-panel';\nimport { TracesExplorerRoot } from './traces-explorer-root';\nimport { TracesExplorerSavedViews } from './traces-explorer-saved-views';\n\nexport const TracesExplorer = Object.assign(TracesExplorerRoot, {\n Layout: TracesExplorerLayout,\n Body: TracesExplorerBody,\n FilterBar: TracesExplorerFilterBar,\n FilterChips: TracesExplorerFilterChips,\n TimeRangeChip: TracesExplorerTimeRangeChip,\n ColumnsMenu: TracesExplorerColumnsMenu,\n Histogram: TracesExplorerHistogram,\n List: TracesExplorerList,\n Panel: TracesExplorerPanel,\n SavedViews: TracesExplorerSavedViews,\n});\n\nexport type { TracesExplorerRootProps } from './traces-explorer-root';\nexport type { TracesExplorerErrorRenderArgs, TracesExplorerLayoutProps } from './traces-explorer-layout';\nexport type { TracesExplorerBodyProps } from './traces-explorer-body';\nexport type {\n TracesExplorerFilterBarProps,\n TracesExplorerFilterChipsProps,\n TracesExplorerTimeRangeChipProps,\n} from './traces-explorer-filter-bar';\nexport type { TracesExplorerPanelProps } from './traces-explorer-panel';\nexport type { TracesExplorerSavedViewsProps } from './traces-explorer-saved-views';\nexport {\n DEFAULT_TRACES_FILTERS,\n DEFAULT_TRACES_SORT,\n EMPTY_TRACES_SELECTION,\n TRACES_SORT_FIELDS,\n resolveTracesDateWindow,\n} from './traces-explorer-actions';\nexport type {\n TracesExplorerState,\n TracesFilters,\n TracesSelection,\n TracesSort,\n TracesSortDirection,\n TracesSortField,\n} from './traces-explorer-actions';\nexport {\n useTraceUsageColumns,\n useTracesColumns,\n useTracesConfig,\n useTracesFilters,\n useTracesList,\n useTracesListFetching,\n useTracesSelection,\n} from './traces-explorer-context';\nexport type { TracesExplorerFeatures, TracesExplorerScope, TracesMetricsSupport } from './traces-explorer-context';\nexport { useTracesFilterBar, useTracesFilterBarFields } from './use-traces-filter-bar';\nexport { useTracesDiscovery } from './use-traces-discovery';\n\nexport type { FeedbackOptions } from '../feedback-options';\n"],"mappings":";;;;;;;;;;;;;;AAcA,IAAa,iBAAiB,OAAO,OAAO,oBAAoB;CAC9D,QAAQ;CACR,MAAM;CACN,WAAW;CACX,aAAa;CACb,eAAe;CACf,aAAa;CACb,WAAW;CACX,MAAM;CACN,OAAO;CACP,YAAY;AACd,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_Button = require("../../../Button-BfICfyxD.cjs");
|
|
3
|
-
const require_dropdown_menu = require("../../../dropdown-menu-
|
|
3
|
+
const require_dropdown_menu = require("../../../dropdown-menu-D3D8USIY.cjs");
|
|
4
4
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
5
|
let lucide_react = require("lucide-react");
|
|
6
6
|
// src/domains/traces/components/traces-list-mode-toggle.tsx
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as Button } from "../../../Button-Bi7aXd_G.js";
|
|
2
|
-
import { t as DropdownMenu } from "../../../dropdown-menu-
|
|
2
|
+
import { t as DropdownMenu } from "../../../dropdown-menu-jsf9D-J_.js";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { ChevronDownIcon } from "lucide-react";
|
|
5
5
|
// src/domains/traces/components/traces-list-mode-toggle.tsx
|
|
@@ -5,7 +5,7 @@ const require_domains_traces_components_trace_error_cell = require("./trace-erro
|
|
|
5
5
|
const require_data_list = require("../../../data-list-072hHK9L.cjs");
|
|
6
6
|
const require_DataList = require("../../../DataList-DTIdllb-.cjs");
|
|
7
7
|
const require_use_data_list_keyboard = require("../../../use-data-list-keyboard-BCLBdaWR.cjs");
|
|
8
|
-
const require_dropdown_menu = require("../../../dropdown-menu-
|
|
8
|
+
const require_dropdown_menu = require("../../../dropdown-menu-D3D8USIY.cjs");
|
|
9
9
|
const require_tooltip = require("../../../tooltip-BsExuMO8.cjs");
|
|
10
10
|
const require_Txt = require("../../../Txt-_00wWxTd.cjs");
|
|
11
11
|
const require_primitives_transitions = require("../../../primitives/transitions.cjs.js");
|
|
@@ -4,7 +4,7 @@ import { TraceErrorCell } from "./trace-error-cell.es.js";
|
|
|
4
4
|
import { C as splitColumns, t as DataList } from "../../../data-list-GzbzPmYR.js";
|
|
5
5
|
import { i as DataListSkeletonRows, t as TracesDataList } from "../../../DataList-B7ho6PrJ.js";
|
|
6
6
|
import { t as useDataListKeyboard } from "../../../use-data-list-keyboard-fJXq2T3y.js";
|
|
7
|
-
import { t as DropdownMenu } from "../../../dropdown-menu-
|
|
7
|
+
import { t as DropdownMenu } from "../../../dropdown-menu-jsf9D-J_.js";
|
|
8
8
|
import { i as TooltipTrigger, n as TooltipContent, t as Tooltip } from "../../../tooltip-DJcze2VZ.js";
|
|
9
9
|
import { t as Txt } from "../../../Txt-5efBsb2p.js";
|
|
10
10
|
import { focusRing } from "../../../primitives/transitions.es.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_components_Skeleton = require("../../../components/Skeleton.cjs.js");
|
|
3
|
-
const require_tabs_tab = require("../../../tabs-tab-
|
|
3
|
+
const require_tabs_tab = require("../../../tabs-tab-Dj2huH5T.cjs");
|
|
4
4
|
const require_Txt = require("../../../Txt-_00wWxTd.cjs");
|
|
5
5
|
const require_icons_Icon = require("../../../icons/Icon.cjs.js");
|
|
6
6
|
const require_icons_TraceIcon = require("../../../icons/TraceIcon.cjs.js");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Skeleton } from "../../../components/Skeleton.es.js";
|
|
2
|
-
import { n as Tabs, r as TabList, t as Tab } from "../../../tabs-tab-
|
|
2
|
+
import { n as Tabs, r as TabList, t as Tab } from "../../../tabs-tab-CJVS0WED.js";
|
|
3
3
|
import { t as Txt } from "../../../Txt-5efBsb2p.js";
|
|
4
4
|
import { Icon } from "../../../icons/Icon.es.js";
|
|
5
5
|
import { TraceIcon } from "../../../icons/TraceIcon.es.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_combobox = require("../../../combobox-
|
|
2
|
+
const require_combobox = require("../../../combobox-DU2jsrGa.cjs");
|
|
3
3
|
const require_lib_framework = require("../../../lib/framework.cjs.js");
|
|
4
4
|
const require_toast_api = require("../../../toast-api-DDcGCbIw.cjs");
|
|
5
5
|
let react = require("react");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as Combobox } from "../../../combobox-
|
|
1
|
+
import { t as Combobox } from "../../../combobox-DLdInLYm.js";
|
|
2
2
|
import { useLinkComponent } from "../../../lib/framework.es.js";
|
|
3
3
|
import { t as toast } from "../../../toast-api-Cak5N8pT.js";
|
|
4
4
|
import { useEffect } from "react";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
require('../../../workflow-layout.css');const require_Workflow = require("../../../Workflow-
|
|
2
|
+
require('../../../workflow-layout.css');const require_Workflow = require("../../../Workflow-CwIjxwC6.cjs");
|
|
3
3
|
const require_primitives_raised_surface = require("../../../primitives/raised-surface.cjs.js");
|
|
4
4
|
const require_primitives_resize_handle_indicator = require("../../../primitives/resize-handle-indicator.cjs.js");
|
|
5
5
|
const require_hooks_use_is_mobile = require("../../../hooks/use-is-mobile.cjs.js");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { w as WorkflowCanvasInsetContext } from "../../../Workflow-
|
|
1
|
+
import { w as WorkflowCanvasInsetContext } from "../../../Workflow-BVVYys0W.js";
|
|
2
2
|
import { raisedSurfaceStyle } from "../../../primitives/raised-surface.es.js";
|
|
3
3
|
import { ResizeHandleIndicator } from "../../../primitives/resize-handle-indicator.es.js";
|
|
4
4
|
import { useIsMobile } from "../../../hooks/use-is-mobile.es.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_domains_workflows_context_workflow_step_detail_context = require("../context/workflow-step-detail-context.cjs.js");
|
|
3
3
|
const require_domains_workflows_workflow_data_workflow_data_inspector = require("../workflow/data/workflow-data-inspector.cjs.js");
|
|
4
|
-
const require_use_workflow_graph_runtime = require("../../../use-workflow-graph-runtime-
|
|
4
|
+
const require_use_workflow_graph_runtime = require("../../../use-workflow-graph-runtime-DEJA9rk4.cjs");
|
|
5
5
|
const require_Txt = require("../../../Txt-_00wWxTd.cjs");
|
|
6
|
-
const require_Workflow = require("../../../Workflow-
|
|
6
|
+
const require_Workflow = require("../../../Workflow-CwIjxwC6.cjs");
|
|
7
7
|
const require_icons_WorkflowIcon = require("../../../icons/WorkflowIcon.cjs.js");
|
|
8
8
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
9
|
let lucide_react = require("lucide-react");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useWorkflowStepDetail } from "../context/workflow-step-detail-context.es.js";
|
|
2
2
|
import { WorkflowDataInspector } from "../workflow/data/workflow-data-inspector.es.js";
|
|
3
|
-
import { i as WorkflowNestedGraph } from "../../../use-workflow-graph-runtime-
|
|
3
|
+
import { i as WorkflowNestedGraph } from "../../../use-workflow-graph-runtime-DHOsA1DM.js";
|
|
4
4
|
import { t as Txt } from "../../../Txt-5efBsb2p.js";
|
|
5
|
-
import { _ as BADGE_COLORS, p as WorkflowCodeContent } from "../../../Workflow-
|
|
5
|
+
import { _ as BADGE_COLORS, p as WorkflowCodeContent } from "../../../Workflow-BVVYys0W.js";
|
|
6
6
|
import { WorkflowIcon as WorkflowIcon$1 } from "../../../icons/WorkflowIcon.es.js";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
import { List, X } from "lucide-react";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_domains_workflows_context_workflow_step_detail_context = require("../../context/workflow-step-detail-context.cjs.js");
|
|
3
3
|
const require_domains_workflows_workflow_data_use_workflow_data = require("./use-workflow-data.cjs.js");
|
|
4
|
-
const require_Workflow = require("../../../../Workflow-
|
|
4
|
+
const require_Workflow = require("../../../../Workflow-CwIjxwC6.cjs");
|
|
5
5
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
6
|
// src/domains/workflows/workflow/data/workflow-data-button.tsx
|
|
7
7
|
function WorkflowDataButton({ selection }) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useWorkflowStepDetail } from "../../context/workflow-step-detail-context.es.js";
|
|
2
2
|
import { useWorkflowData, workflowDataKey } from "./use-workflow-data.es.js";
|
|
3
|
-
import { f as WorkflowEdgeDataButton } from "../../../../Workflow-
|
|
3
|
+
import { f as WorkflowEdgeDataButton } from "../../../../Workflow-BVVYys0W.js";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
// src/domains/workflows/workflow/data/workflow-data-button.tsx
|
|
6
6
|
function WorkflowDataButton({ selection }) {
|
|
@@ -5,7 +5,7 @@ const require_domains_workflows_context_workflow_step_detail_context = require("
|
|
|
5
5
|
const require_domains_workflows_workflow_data_use_workflow_data = require("./use-workflow-data.cjs.js");
|
|
6
6
|
const require_Badge = require("../../../../Badge-DqaMg7Gy.cjs");
|
|
7
7
|
const require_Button = require("../../../../Button-BfICfyxD.cjs");
|
|
8
|
-
const require_CodeEditor = require("../../../../CodeEditor-
|
|
8
|
+
const require_CodeEditor = require("../../../../CodeEditor-zMSUzPdX.cjs");
|
|
9
9
|
const require_Txt = require("../../../../Txt-_00wWxTd.cjs");
|
|
10
10
|
let react = require("react");
|
|
11
11
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -4,7 +4,7 @@ import { useWorkflowStepDetail } from "../../context/workflow-step-detail-contex
|
|
|
4
4
|
import { useWorkflowData, workflowDataKey } from "./use-workflow-data.es.js";
|
|
5
5
|
import { t as Badge } from "../../../../Badge-C7NnqmMx.js";
|
|
6
6
|
import { t as Button } from "../../../../Button-Bi7aXd_G.js";
|
|
7
|
-
import { t as CodeEditor } from "../../../../CodeEditor-
|
|
7
|
+
import { t as CodeEditor } from "../../../../CodeEditor-BqAM9L7t.js";
|
|
8
8
|
import { t as Txt } from "../../../../Txt-5efBsb2p.js";
|
|
9
9
|
import { useContext, useEffect, useRef } from "react";
|
|
10
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_CodeEditor = require("../../../../CodeEditor-
|
|
2
|
+
const require_CodeEditor = require("../../../../CodeEditor-zMSUzPdX.cjs");
|
|
3
3
|
const require_components_Field = require("../../../../components/Field.cjs.js");
|
|
4
4
|
const require_lib_form_components_form_submit_row = require("../../../../lib/form/components/form-submit-row.cjs.js");
|
|
5
5
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as CodeEditor } from "../../../../CodeEditor-
|
|
1
|
+
import { t as CodeEditor } from "../../../../CodeEditor-BqAM9L7t.js";
|
|
2
2
|
import { Field, FieldError } from "../../../../components/Field.es.js";
|
|
3
3
|
import { FormSubmitRow } from "../../../../lib/form/components/form-submit-row.es.js";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_use_workflow_graph_runtime = require("../../../use-workflow-graph-runtime-
|
|
2
|
+
const require_use_workflow_graph_runtime = require("../../../use-workflow-graph-runtime-DEJA9rk4.cjs");
|
|
3
3
|
exports.useWorkflowGraphRuntime = require_use_workflow_graph_runtime.useWorkflowGraphRuntime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as useWorkflowGraphRuntime } from "../../../use-workflow-graph-runtime-
|
|
1
|
+
export { t as useWorkflowGraphRuntime } from "../../../use-workflow-graph-runtime-DHOsA1DM.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_Workflow = require("../../../Workflow-
|
|
2
|
+
const require_Workflow = require("../../../Workflow-CwIjxwC6.cjs");
|
|
3
3
|
const require_domains_workflows_workflow_workflow_graph_groups = require("./workflow-graph-groups.cjs.js");
|
|
4
4
|
const require_domains_workflows_workflow_workflow_graph_layout = require("./workflow-graph-layout.cjs.js");
|
|
5
5
|
const require_domains_workflows_workflow_workflow_step_node_utils = require("./workflow-step-node-utils.cjs.js");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { u as WORKFLOW_BOUNDARY_NODE_TYPE } from "../../../Workflow-
|
|
1
|
+
import { u as WORKFLOW_BOUNDARY_NODE_TYPE } from "../../../Workflow-BVVYys0W.js";
|
|
2
2
|
import { getWorkflowMapContext } from "./workflow-graph-groups.es.js";
|
|
3
3
|
import { getLayoutedElements } from "./workflow-graph-layout.es.js";
|
|
4
4
|
import { WORKFLOW_STEP_NODE_TYPE, resolveWorkflowGraphStep, unwrapInnerEntry } from "./workflow-step-node-utils.es.js";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_use_workflow_graph_runtime = require("../../../use-workflow-graph-runtime-
|
|
2
|
+
const require_use_workflow_graph_runtime = require("../../../use-workflow-graph-runtime-DEJA9rk4.cjs");
|
|
3
3
|
exports.WorkflowBodyGraph = require_use_workflow_graph_runtime.WorkflowBodyGraph;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { r as WorkflowBodyGraph } from "../../../use-workflow-graph-runtime-
|
|
1
|
+
export { r as WorkflowBodyGraph } from "../../../use-workflow-graph-runtime-DHOsA1DM.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_domains_workflows_workflow_data_workflow_data_button = require("./data/workflow-data-button.cjs.js");
|
|
3
|
-
const require_Workflow = require("../../../Workflow-
|
|
3
|
+
const require_Workflow = require("../../../Workflow-CwIjxwC6.cjs");
|
|
4
4
|
let react = require("react");
|
|
5
5
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
6
|
// src/domains/workflows/workflow/workflow-data-edge.tsx
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WorkflowDataButton } from "./data/workflow-data-button.es.js";
|
|
2
|
-
import { c as WorkflowDataEdgeView } from "../../../Workflow-
|
|
2
|
+
import { c as WorkflowDataEdgeView } from "../../../Workflow-BVVYys0W.js";
|
|
3
3
|
import { memo } from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
// src/domains/workflows/workflow/workflow-data-edge.tsx
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_domains_workflows_context_workflow_run_context = require("../context/workflow-run-context.cjs.js");
|
|
3
3
|
const require_domains_workflows_workflow_use_workflow_trigger = require("./use-workflow-trigger.cjs.js");
|
|
4
|
-
const require_Workflow = require("../../../Workflow-
|
|
4
|
+
const require_Workflow = require("../../../Workflow-CwIjxwC6.cjs");
|
|
5
5
|
let react = require("react");
|
|
6
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
7
|
// src/domains/workflows/workflow/workflow-debug-step-controls.tsx
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WorkflowRunContext } from "../context/workflow-run-context.es.js";
|
|
2
2
|
import { useNextPerStep } from "./use-workflow-trigger.es.js";
|
|
3
|
-
import { a as WorkflowDebugControls } from "../../../Workflow-
|
|
3
|
+
import { a as WorkflowDebugControls } from "../../../Workflow-BVVYys0W.js";
|
|
4
4
|
import { useContext } from "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
// src/domains/workflows/workflow/workflow-debug-step-controls.tsx
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_domains_workflows_context_use_workflow_selected_step = require("../context/use-workflow-selected-step.cjs.js");
|
|
3
3
|
const require_domains_workflows_workflow_use_workflow_graph_nodes = require("./use-workflow-graph-nodes.cjs.js");
|
|
4
|
-
const require_use_workflow_graph_runtime = require("../../../use-workflow-graph-runtime-
|
|
4
|
+
const require_use_workflow_graph_runtime = require("../../../use-workflow-graph-runtime-DEJA9rk4.cjs");
|
|
5
5
|
const require_domains_workflows_workflow_utils = require("./utils.cjs.js");
|
|
6
6
|
const require_domains_workflows_workflow_workflow_graph_groups = require("./workflow-graph-groups.cjs.js");
|
|
7
|
-
const require_Workflow = require("../../../Workflow-
|
|
7
|
+
const require_Workflow = require("../../../Workflow-CwIjxwC6.cjs");
|
|
8
8
|
let react = require("react");
|
|
9
9
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
10
|
// src/domains/workflows/workflow/workflow-graph-inner.tsx
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useWorkflowSelectedStep } from "../context/use-workflow-selected-step.es.js";
|
|
2
2
|
import { useWorkflowGraphNodes } from "./use-workflow-graph-nodes.es.js";
|
|
3
|
-
import { t as useWorkflowGraphRuntime } from "../../../use-workflow-graph-runtime-
|
|
3
|
+
import { t as useWorkflowGraphRuntime } from "../../../use-workflow-graph-runtime-DHOsA1DM.js";
|
|
4
4
|
import { findFocusNode } from "./utils.es.js";
|
|
5
5
|
import { getWorkflowGraphGroups } from "./workflow-graph-groups.es.js";
|
|
6
|
-
import { s as WorkflowGraphCanvas } from "../../../Workflow-
|
|
6
|
+
import { s as WorkflowGraphCanvas } from "../../../Workflow-BVVYys0W.js";
|
|
7
7
|
import { useMemo } from "react";
|
|
8
8
|
import { jsx } from "react/jsx-runtime";
|
|
9
9
|
// src/domains/workflows/workflow/workflow-graph-inner.tsx
|