@mastra/playground-ui 60.2.0 → 61.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/dist/{Avatar-bHcyExU7.js → Avatar-Bg_EZRgZ.js} +2 -2
- package/dist/{Avatar-bHcyExU7.js.map → Avatar-Bg_EZRgZ.js.map} +1 -1
- package/dist/{Avatar-B3PwGdWv.cjs → Avatar-DchBEEMO.cjs} +2 -2
- package/dist/{Avatar-B3PwGdWv.cjs.map → Avatar-DchBEEMO.cjs.map} +1 -1
- package/dist/{Badge-D3EctKQo.cjs → Badge-DB59RxT5.cjs} +3 -3
- package/dist/Badge-DB59RxT5.cjs.map +1 -0
- package/dist/{Badge-DmOqFpXW.js → Badge-DId-8rYY.js} +3 -3
- package/dist/Badge-DId-8rYY.js.map +1 -0
- package/dist/{EmptyState-DyyUFpzY.js → EmptyState-DGzBN0Ix.js} +2 -2
- package/dist/{EmptyState-DyyUFpzY.js.map → EmptyState-DGzBN0Ix.js.map} +1 -1
- package/dist/{EmptyState-CuoMGNP0.cjs → EmptyState-DvSib3QC.cjs} +2 -2
- package/dist/{EmptyState-CuoMGNP0.cjs.map → EmptyState-DvSib3QC.cjs.map} +1 -1
- package/dist/{Header-hTHhO02b.js → Header-BXl3AZgO.js} +2 -2
- package/dist/{Header-hTHhO02b.js.map → Header-BXl3AZgO.js.map} +1 -1
- package/dist/{Header-y51Sfo3G.cjs → Header-W3PBmXia.cjs} +2 -2
- package/dist/{Header-y51Sfo3G.cjs.map → Header-W3PBmXia.cjs.map} +1 -1
- package/dist/{Notice-B8RIClJD.js → Notice-D4gMAkVI.js} +2 -2
- package/dist/{Notice-B8RIClJD.js.map → Notice-D4gMAkVI.js.map} +1 -1
- package/dist/{Notice-C4Tgmtgb.cjs → Notice-D4zc_oTj.cjs} +2 -2
- package/dist/{Notice-C4Tgmtgb.cjs.map → Notice-D4zc_oTj.cjs.map} +1 -1
- package/dist/{Txt-BP1SRHmL.js → Txt-C3cYJgKU.js} +4 -1
- package/dist/Txt-C3cYJgKU.js.map +1 -0
- package/dist/{Txt-DPmEpNbp.cjs → Txt-DNnvlrBo.cjs} +4 -1
- package/dist/Txt-DNnvlrBo.cjs.map +1 -0
- package/dist/{activity-CbQG59Oc.cjs → activity-ClKZR5_o.cjs} +2 -2
- package/dist/{activity-CbQG59Oc.cjs.map → activity-ClKZR5_o.cjs.map} +1 -1
- package/dist/{activity-BoXbE4Kz.js → activity-D0SefV4r.js} +2 -2
- package/dist/{activity-BoXbE4Kz.js.map → activity-D0SefV4r.js.map} +1 -1
- package/dist/{ask-user-DE8TaPhb.js → ask-user-CqCUiZRR.js} +4 -4
- package/dist/{ask-user-DE8TaPhb.js.map → ask-user-CqCUiZRR.js.map} +1 -1
- package/dist/{ask-user-XYY0fUoI.cjs → ask-user-DBb0lUh2.cjs} +4 -4
- package/dist/{ask-user-XYY0fUoI.cjs.map → ask-user-DBb0lUh2.cjs.map} +1 -1
- package/dist/buttons-group.css +1 -1
- package/dist/{code-block-Bnz7Pq0Q.js → code-block-C04dJD3G.js} +5 -4
- package/dist/{code-block-Bnz7Pq0Q.js.map → code-block-C04dJD3G.js.map} +1 -1
- package/dist/{code-block-C3DbSINk.cjs → code-block-CMI2oLXm.cjs} +6 -5
- package/dist/{code-block-C3DbSINk.cjs.map → code-block-CMI2oLXm.cjs.map} +1 -1
- package/dist/collapsible-box-DW-y0Oi1.js +67 -0
- package/dist/collapsible-box-DW-y0Oi1.js.map +1 -0
- package/dist/collapsible-box-DdUueeh6.cjs +69 -0
- package/dist/collapsible-box-DdUueeh6.cjs.map +1 -0
- package/dist/{combobox-RzEkcOuu.cjs → combobox-DPpiBLWV.cjs} +3 -3
- package/dist/{combobox-RzEkcOuu.cjs.map → combobox-DPpiBLWV.cjs.map} +1 -1
- package/dist/{combobox-DKFPbNMB.js → combobox-DoJgbq9N.js} +3 -3
- package/dist/{combobox-DKFPbNMB.js.map → combobox-DoJgbq9N.js.map} +1 -1
- package/dist/{combobox-styles-mbcWlNZQ.js → combobox-styles-BuHYzri9.js} +3 -3
- package/dist/combobox-styles-BuHYzri9.js.map +1 -0
- package/dist/{combobox-styles-qL3FSgmU.cjs → combobox-styles-zdW4cHSq.cjs} +3 -3
- package/dist/combobox-styles-zdW4cHSq.cjs.map +1 -0
- package/dist/{command-DFin7kHN.js → command-CXPbrw66.js} +7 -4
- package/dist/command-CXPbrw66.js.map +1 -0
- package/dist/{command-Bm0VcX7X.cjs → command-DD3WIrQX.cjs} +7 -4
- package/dist/command-DD3WIrQX.cjs.map +1 -0
- package/dist/{comment-DKWkzdMj.js → comment-B1Cf9w4Z.js} +2 -2
- package/dist/{comment-DKWkzdMj.js.map → comment-B1Cf9w4Z.js.map} +1 -1
- package/dist/{comment-DWY6D0pZ.cjs → comment-DnbibTOe.cjs} +2 -2
- package/dist/{comment-DWY6D0pZ.cjs.map → comment-DnbibTOe.cjs.map} +1 -1
- package/dist/components/Avatar.cjs.js +1 -1
- package/dist/components/Avatar.es.js +1 -1
- package/dist/components/Badge.cjs.js +1 -1
- package/dist/components/Badge.es.js +1 -1
- package/dist/components/ClampedText.cjs.js +1 -1
- package/dist/components/ClampedText.es.js +1 -1
- package/dist/components/CodeBlock.cjs.js +1 -1
- package/dist/components/CodeBlock.es.js +1 -1
- package/dist/components/CollapsibleBox.cjs.js +3 -2
- package/dist/components/CollapsibleBox.cjs.js.map +1 -1
- package/dist/components/CollapsibleBox.es.js +2 -1
- package/dist/components/CollapsibleBox.es.js.map +1 -1
- package/dist/components/Combobox.cjs.js +2 -2
- package/dist/components/Combobox.es.js +2 -2
- package/dist/components/Command.cjs.js +1 -1
- package/dist/components/Command.es.js +1 -1
- package/dist/components/CommandPalette.cjs.js +2 -2
- package/dist/components/CommandPalette.es.js +2 -2
- package/dist/components/Comment.cjs.js +4 -4
- package/dist/components/Comment.es.js +5 -5
- 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 +4 -4
- package/dist/components/DataList.es.js +4 -4
- package/dist/components/DataPanel.cjs.js +1 -1
- package/dist/components/DataPanel.es.js +1 -1
- package/dist/components/DateRangeTimeline.cjs.js +1 -1
- package/dist/components/DateRangeTimeline.es.js +1 -1
- package/dist/components/DateTimePicker.cjs.js +2 -2
- package/dist/components/DateTimePicker.es.js +2 -2
- package/dist/components/DateTimeRangePicker.cjs.js +1 -1
- package/dist/components/DateTimeRangePicker.es.js +1 -1
- package/dist/components/EmptyState.cjs.js +1 -1
- package/dist/components/EmptyState.es.js +1 -1
- package/dist/components/Entity.cjs.js +1 -1
- package/dist/components/Entity.es.js +1 -1
- package/dist/components/EntityHeader.cjs.js +1 -1
- package/dist/components/EntityHeader.es.js +1 -1
- package/dist/components/Entry.cjs.js +1 -1
- package/dist/components/Entry.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +5 -5
- package/dist/components/EnvironmentVariablesEditor.es.js +5 -5
- package/dist/components/Field.cjs.js +1 -1
- package/dist/components/Field.es.js +1 -1
- package/dist/components/FileDropBackdrop.cjs.js +1 -1
- package/dist/components/FileDropBackdrop.es.js +1 -1
- package/dist/components/FilterBar.cjs.js +3 -3
- package/dist/components/FilterBar.es.js +4 -4
- package/dist/components/FormFieldBlocks.cjs.js +2 -2
- package/dist/components/FormFieldBlocks.es.js +2 -2
- package/dist/components/Header.cjs.js +1 -1
- package/dist/components/Header.es.js +1 -1
- package/dist/components/HorizontalBars.cjs.js +1 -1
- package/dist/components/HorizontalBars.es.js +1 -1
- package/dist/components/InputGroup.cjs.js +3 -1
- package/dist/components/InputGroup.cjs.js.map +1 -1
- package/dist/components/InputGroup.es.js +1 -1
- package/dist/components/InputNumber.cjs.js +95 -0
- package/dist/components/InputNumber.cjs.js.map +1 -0
- package/dist/components/InputNumber.d.ts +2 -0
- package/dist/components/InputNumber.es.js +68 -0
- package/dist/components/InputNumber.es.js.map +1 -0
- package/dist/components/JSONSchemaForm.cjs.js +2 -2
- package/dist/components/JSONSchemaForm.es.js +2 -2
- package/dist/components/KeyValueList.cjs.js +1 -1
- package/dist/components/KeyValueList.es.js +1 -1
- package/dist/components/ListSearch.cjs.js +1 -1
- package/dist/components/ListSearch.es.js +1 -1
- package/dist/components/LogsDataList.cjs.js +3 -1
- package/dist/components/LogsDataList.cjs.js.map +1 -1
- package/dist/components/LogsDataList.es.js +3 -1
- package/dist/components/LogsDataList.es.js.map +1 -1
- package/dist/components/MainHeader.cjs.js +1 -1
- package/dist/components/MainHeader.es.js +1 -1
- package/dist/components/MarkdownRenderer.cjs.js +1 -1
- package/dist/components/MarkdownRenderer.es.js +1 -1
- package/dist/components/Message.cjs.js +1 -1
- package/dist/components/Message.es.js +2 -2
- package/dist/components/MetricsCard.cjs.js +1 -1
- package/dist/components/MetricsCard.es.js +1 -1
- package/dist/components/MetricsKpiCard.cjs.js +1 -1
- package/dist/components/MetricsKpiCard.es.js +1 -1
- package/dist/components/MetricsLineChart.cjs.js +2 -2
- package/dist/components/MetricsLineChart.es.js +2 -2
- package/dist/components/MetricsStackedBarChart.cjs.js +1 -1
- package/dist/components/MetricsStackedBarChart.es.js +1 -1
- package/dist/components/Notice.cjs.js +1 -1
- package/dist/components/Notice.es.js +1 -1
- package/dist/components/PageHeader.cjs.js +1 -1
- package/dist/components/PageHeader.es.js +1 -1
- package/dist/components/PageLayout.cjs.js +1 -1
- package/dist/components/PageLayout.es.js +1 -1
- package/dist/components/ProductBadge.cjs.js +1 -1
- package/dist/components/ProductBadge.es.js +1 -1
- package/dist/components/PropertyFilter.cjs.js +3 -3
- package/dist/components/PropertyFilter.es.js +3 -3
- package/dist/components/RelativeTimestamp.cjs.js +1 -1
- package/dist/components/RelativeTimestamp.es.js +1 -1
- package/dist/components/RuleBuilder.cjs.js +2 -2
- package/dist/components/RuleBuilder.es.js +2 -2
- package/dist/components/ScatterPlotChart.cjs.js +1 -1
- package/dist/components/ScatterPlotChart.es.js +1 -1
- package/dist/components/SearchInput.cjs.js +1 -1
- package/dist/components/SearchInput.es.js +1 -1
- package/dist/components/Section.cjs.js +1 -1
- package/dist/components/Section.es.js +1 -1
- package/dist/components/SectionCard.cjs.js +1 -1
- package/dist/components/SectionCard.es.js +1 -1
- package/dist/components/Select.cjs.js +1 -1
- package/dist/components/Select.es.js +1 -1
- package/dist/components/SideDialog.cjs.js +1 -1
- package/dist/components/SideDialog.es.js +1 -1
- package/dist/components/StatusIndicators.cjs.js +1 -1
- package/dist/components/StatusIndicators.es.js +1 -1
- package/dist/components/Steps.cjs.js +1 -1
- package/dist/components/Steps.es.js +1 -1
- package/dist/components/Table.cjs.js +1 -1
- package/dist/components/Table.es.js +1 -1
- package/dist/components/Tabs.cjs.js +5 -4
- package/dist/components/Tabs.cjs.js.map +1 -1
- package/dist/components/Tabs.es.js +4 -3
- package/dist/components/Tabs.es.js.map +1 -1
- package/dist/components/Text.cjs.js +1 -1
- package/dist/components/Text.es.js +1 -1
- package/dist/components/ThinkingLevel.cjs.js +230 -0
- package/dist/components/ThinkingLevel.cjs.js.map +1 -0
- package/dist/components/ThinkingLevel.d.ts +2 -0
- package/dist/components/ThinkingLevel.es.js +223 -0
- package/dist/components/ThinkingLevel.es.js.map +1 -0
- package/dist/components/ThreadList.cjs.js +1 -1
- package/dist/components/ThreadList.es.js +1 -1
- package/dist/components/ThreadRail.cjs.js +1 -1
- package/dist/components/ThreadRail.es.js +1 -1
- package/dist/components/TokenBudget.cjs.js +1 -1
- package/dist/components/TokenBudget.es.js +1 -1
- package/dist/components/Tree.cjs.js +2 -487
- package/dist/components/Tree.cjs.js.map +1 -1
- package/dist/components/Tree.es.js +1 -471
- package/dist/components/Tree.es.js.map +1 -1
- package/dist/components/Truncate.cjs.js +1 -1
- package/dist/components/Truncate.es.js +1 -1
- package/dist/components/Txt.cjs.js +1 -1
- package/dist/components/Txt.es.js +1 -1
- package/dist/components/Workflow.cjs.js +4 -4
- package/dist/components/Workflow.es.js +4 -4
- package/dist/components/ai/activity.cjs.js +4 -4
- package/dist/components/ai/activity.es.js +4 -4
- package/dist/components/ai/ask-user.cjs.js +1 -1
- package/dist/components/ai/ask-user.es.js +1 -1
- package/dist/components/ai/plan.cjs.js +1 -1
- package/dist/components/ai/plan.es.js +1 -1
- package/dist/components/ai/task-list.cjs.js +1 -1
- package/dist/components/ai/task-list.es.js +1 -1
- package/dist/components/ai/tool-call.cjs.js +2 -2
- package/dist/components/ai/tool-call.es.js +2 -2
- package/dist/components/ai/transcript-divider.cjs.js +3 -11
- package/dist/components/ai/transcript-divider.cjs.js.map +1 -1
- package/dist/components/ai/transcript-divider.es.js +1 -13
- package/dist/components/ai/transcript-divider.es.js.map +1 -1
- package/dist/{data-code-section-Ds79F6W-.cjs → data-code-section-DIj4CMvD.cjs} +2 -2
- package/dist/{data-code-section-Ds79F6W-.cjs.map → data-code-section-DIj4CMvD.cjs.map} +1 -1
- package/dist/{data-code-section-DFxE6ckH.js → data-code-section-K-2Bj1zO.js} +2 -2
- package/dist/{data-code-section-DFxE6ckH.js.map → data-code-section-K-2Bj1zO.js.map} +1 -1
- package/dist/{data-list-CEIYm7FY.js → data-list-DdsyfT8B.js} +3 -3
- package/dist/{data-list-CEIYm7FY.js.map → data-list-DdsyfT8B.js.map} +1 -1
- package/dist/{data-list-Bqf-fhMx.cjs → data-list-DoKc-wSe.cjs} +3 -3
- package/dist/{data-list-Bqf-fhMx.cjs.map → data-list-DoKc-wSe.cjs.map} +1 -1
- package/dist/{data-list-spacer-BH2DjRdk.js → data-list-spacer-7QVTcgIS.js} +2 -2
- package/dist/{data-list-spacer-BH2DjRdk.js.map → data-list-spacer-7QVTcgIS.js.map} +1 -1
- package/dist/{data-list-spacer-DFvaAEqo.cjs → data-list-spacer-CD4hD-As.cjs} +2 -2
- package/dist/{data-list-spacer-DFvaAEqo.cjs.map → data-list-spacer-CD4hD-As.cjs.map} +1 -1
- package/dist/{data-panel-CbomKGJt.js → data-panel-CKvpHRUM.js} +4 -4
- package/dist/data-panel-CKvpHRUM.js.map +1 -0
- package/dist/{data-panel-o-QLWuFV.cjs → data-panel-YCvno_Di.cjs} +4 -4
- package/dist/data-panel-YCvno_Di.cjs.map +1 -0
- package/dist/{date-time-range-picker-Bb-CGVEL.cjs → date-time-range-picker-BbX8F_LY.cjs} +4 -4
- package/dist/{date-time-range-picker-Bb-CGVEL.cjs.map → date-time-range-picker-BbX8F_LY.cjs.map} +1 -1
- package/dist/{date-time-range-picker-B1zYIQTC.js → date-time-range-picker-DzPLKJol.js} +4 -4
- package/dist/{date-time-range-picker-B1zYIQTC.js.map → date-time-range-picker-DzPLKJol.js.map} +1 -1
- package/dist/domains/auth/components/permission-denied.cjs.js +1 -1
- package/dist/domains/auth/components/permission-denied.es.js +1 -1
- package/dist/domains/auth/components/session-expired.cjs.js +1 -1
- package/dist/domains/auth/components/session-expired.es.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
- package/dist/domains/chat/components/section-label.cjs.js +1 -1
- package/dist/domains/chat/components/section-label.es.js +1 -1
- package/dist/domains/chat/messages/assistant-message-actions.cjs.js +1 -1
- package/dist/domains/chat/messages/assistant-message-actions.es.js +1 -1
- package/dist/domains/chat/messages/dataset-save-action.cjs.js +2 -2
- package/dist/domains/chat/messages/dataset-save-action.es.js +2 -2
- package/dist/domains/chat/messages/message-row.cjs.js +4 -4
- package/dist/domains/chat/messages/message-row.es.js +4 -4
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.cjs.js +3 -3
- package/dist/domains/chat/messages/renderers/message-text.es.js +3 -3
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
- package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
- package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
- package/dist/domains/chat/messages/signal-badge.es.js +1 -1
- package/dist/domains/chat/messages/skill-message.cjs.js +3 -3
- package/dist/domains/chat/messages/skill-message.es.js +3 -3
- package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
- package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
- package/dist/domains/chat/messages/tripwire-notice.cjs.js +2 -2
- package/dist/domains/chat/messages/tripwire-notice.es.js +2 -2
- package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +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 +3 -3
- package/dist/domains/chat/tools/badges/file-tree-badge.es.js +3 -3
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +3 -3
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js +3 -3
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/observation-renderer.es.js +2 -2
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +2 -2
- 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 +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/workspace-link.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/workspace-link.es.js +1 -1
- package/dist/domains/chat/tools/submit-plan-tool.cjs.js +2 -2
- package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +4 -4
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +4 -4
- package/dist/domains/logs/components/log-data-panel.cjs.js +2 -2
- package/dist/domains/logs/components/log-data-panel.es.js +2 -2
- package/dist/domains/logs/components/logs-error-content.cjs.js +1 -1
- package/dist/domains/logs/components/logs-error-content.es.js +1 -1
- package/dist/domains/logs/components/logs-list-view.cjs.js +1 -1
- package/dist/domains/logs/components/logs-list-view.es.js +1 -1
- package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
- package/dist/domains/logs/components/no-logs-info.es.js +1 -1
- package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
- package/dist/domains/memory/components/flame-graph.es.js +1 -1
- package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
- package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
- package/dist/domains/memory/components/observation-detail-view.cjs.js +3 -3
- package/dist/domains/memory/components/observation-detail-view.es.js +3 -3
- package/dist/domains/metrics/components/bar-list.cjs.js +1 -1
- package/dist/domains/metrics/components/bar-list.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/kpi-card-view.cjs.js +1 -1
- package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
- package/dist/domains/metrics/components/latency-card-view.cjs.js +8 -7
- package/dist/domains/metrics/components/latency-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/latency-card-view.es.js +7 -6
- package/dist/domains/metrics/components/latency-card-view.es.js.map +1 -1
- package/dist/domains/metrics/components/memory-card-view.cjs.js +7 -6
- package/dist/domains/metrics/components/memory-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/memory-card-view.es.js +6 -5
- package/dist/domains/metrics/components/memory-card-view.es.js.map +1 -1
- package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
- package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
- package/dist/domains/metrics/components/scores-card-view.cjs.js +8 -7
- package/dist/domains/metrics/components/scores-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/scores-card-view.es.js +7 -6
- package/dist/domains/metrics/components/scores-card-view.es.js.map +1 -1
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +7 -6
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +6 -5
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js.map +1 -1
- package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +8 -7
- package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +7 -6
- package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js.map +1 -1
- package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +7 -6
- package/dist/domains/metrics/components/traces-volume-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/traces-volume-card-view.es.js +6 -5
- package/dist/domains/metrics/components/traces-volume-card-view.es.js.map +1 -1
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +4 -4
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +4 -4
- package/dist/domains/observability/components/trace-as-item-dialog.cjs.js +1 -1
- package/dist/domains/observability/components/trace-as-item-dialog.es.js +1 -1
- package/dist/domains/request-context/components/request-context-label.cjs.js +1 -1
- package/dist/domains/request-context/components/request-context-label.es.js +1 -1
- package/dist/domains/review/components/review-status-badge.cjs.js +1 -1
- package/dist/domains/review/components/review-status-badge.es.js +1 -1
- package/dist/domains/scores/components/score-as-item-dialog.cjs.js +1 -1
- package/dist/domains/scores/components/score-as-item-dialog.es.js +1 -1
- package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
- package/dist/domains/scores/components/score-data-panel.es.js +1 -1
- package/dist/domains/scores/components/span-scoring.cjs.js +3 -3
- package/dist/domains/scores/components/span-scoring.es.js +3 -3
- package/dist/domains/scores/components/trace-scores-tab.cjs.js +5 -4
- package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js +5 -4
- package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
- package/dist/domains/traces/components/feedback-thread.cjs.js +4 -4
- package/dist/domains/traces/components/feedback-thread.es.js +4 -4
- package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
- package/dist/domains/traces/components/no-traces-info.es.js +1 -1
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +20 -15
- package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-data-panel-view.es.js +19 -14
- package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +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 +3 -3
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +3 -2
- package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-section.es.js +2 -1
- package/dist/domains/traces/components/span-payload/span-payload-section.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +3 -3
- package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
- package/dist/domains/traces/components/span-summary-description.es.js +1 -1
- package/dist/domains/traces/components/span-timeline-row.cjs.js +1 -1
- package/dist/domains/traces/components/span-timeline-row.es.js +1 -1
- package/dist/domains/traces/components/span-token-usage.cjs.js +1 -1
- package/dist/domains/traces/components/span-token-usage.es.js +1 -1
- package/dist/domains/traces/components/span-type-legend.cjs.js +1 -1
- package/dist/domains/traces/components/span-type-legend.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +5 -3
- package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +5 -3
- package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js +3 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +3 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +8 -16
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +8 -15
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +2 -15
- package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +2 -15
- package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +26 -4
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +26 -6
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js +29 -24
- package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js +30 -25
- package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +45 -45
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +47 -47
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace.cjs.js +2 -1
- package/dist/domains/traces/components/thread-trace.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace.es.js +4 -3
- package/dist/domains/traces/components/thread-trace.es.js.map +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js +43 -24
- 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 +46 -27
- package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
- package/dist/domains/traces/components/thread-view-skeleton.cjs.js +28 -13
- package/dist/domains/traces/components/thread-view-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-view-skeleton.es.js +28 -13
- package/dist/domains/traces/components/thread-view-skeleton.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.cjs.js +5 -5
- package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.es.js +5 -5
- package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-timing-col.cjs.js +1 -1
- package/dist/domains/traces/components/timeline-timing-col.es.js +1 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +3 -3
- package/dist/domains/traces/components/trace-columns-menu.es.js +3 -3
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +72 -50
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.es.js +72 -50
- package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-data-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
- package/dist/domains/traces/components/trace-id-button.es.js +1 -1
- package/dist/domains/traces/components/trace-messages-panel.cjs.js +2 -16
- package/dist/domains/traces/components/trace-messages-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-messages-panel.es.js +3 -17
- package/dist/domains/traces/components/trace-messages-panel.es.js.map +1 -1
- package/dist/domains/traces/components/trace-messages-skeleton.cjs.js +18 -15
- package/dist/domains/traces/components/trace-messages-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-messages-skeleton.es.js +18 -15
- package/dist/domains/traces/components/trace-messages-skeleton.es.js.map +1 -1
- package/dist/domains/traces/components/trace-span-panel.cjs.js +77 -66
- package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-panel.es.js +78 -67
- package/dist/domains/traces/components/trace-span-panel.es.js.map +1 -1
- package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js +11 -13
- package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-tree-skeleton.es.js +11 -13
- package/dist/domains/traces/components/trace-span-tree-skeleton.es.js.map +1 -1
- package/dist/domains/traces/components/trace-span-tree.cjs.js +1 -1
- package/dist/domains/traces/components/trace-span-tree.es.js +1 -1
- package/dist/domains/traces/components/trace-summary-description.cjs.js +2 -2
- package/dist/domains/traces/components/trace-summary-description.es.js +2 -2
- package/dist/domains/traces/components/trace-thread-item-view.cjs.js +2 -2
- package/dist/domains/traces/components/trace-thread-item-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-thread-item-view.es.js +2 -2
- package/dist/domains/traces/components/trace-thread-item-view.es.js.map +1 -1
- package/dist/domains/traces/components/trace-thread-panel.cjs.js +32 -21
- package/dist/domains/traces/components/trace-thread-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-thread-panel.es.js +32 -21
- package/dist/domains/traces/components/trace-thread-panel.es.js.map +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
- package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
- package/dist/domains/traces/components/traces-error-content.cjs.js +1 -1
- package/dist/domains/traces/components/traces-error-content.es.js +1 -1
- package/dist/domains/traces/components/traces-list-view.cjs.js +3 -3
- package/dist/domains/traces/components/traces-list-view.es.js +3 -3
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -0
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -0
- package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-branch.cjs.js +0 -3
- package/dist/domains/traces/hooks/use-branch.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-branch.es.js +0 -3
- package/dist/domains/traces/hooks/use-branch.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-light-spans.cjs.js +0 -3
- package/dist/domains/traces/hooks/use-trace-light-spans.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-light-spans.es.js +0 -3
- package/dist/domains/traces/hooks/use-trace-light-spans.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-or-branch-spans.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-or-branch-spans.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-query.cjs.js +2 -0
- package/dist/domains/traces/hooks/use-trace-query.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-query.es.js +2 -0
- package/dist/domains/traces/hooks/use-trace-query.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-search.cjs.js +7 -2
- package/dist/domains/traces/hooks/use-trace-search.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-search.es.js +7 -2
- package/dist/domains/traces/hooks/use-trace-search.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-spans.cjs.js +1 -5
- package/dist/domains/traces/hooks/use-trace-spans.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-spans.es.js +1 -5
- package/dist/domains/traces/hooks/use-trace-spans.es.js.map +1 -1
- package/dist/domains/traces/utils/to-searchable-spans.cjs.js +0 -5
- package/dist/domains/traces/utils/to-searchable-spans.cjs.js.map +1 -1
- package/dist/domains/traces/utils/to-searchable-spans.es.js +1 -5
- package/dist/domains/traces/utils/to-searchable-spans.es.js.map +1 -1
- package/dist/domains/traces/utils.cjs.js +0 -1
- package/dist/domains/traces/utils.cjs.js.map +1 -1
- package/dist/domains/traces/utils.es.js +1 -1
- package/dist/domains/traces.cjs.js +0 -1
- package/dist/domains/traces.cjs.js.map +1 -1
- package/dist/domains/traces.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-entity-header.cjs.js +2 -2
- package/dist/domains/workflows/components/workflow-entity-header.es.js +2 -2
- package/dist/domains/workflows/components/workflow-step-detail.cjs.js +3 -3
- package/dist/domains/workflows/components/workflow-step-detail.es.js +3 -3
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +3 -3
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +3 -3
- package/dist/domains/workflows/runs/workflow-run-details.cjs.js +1 -1
- package/dist/domains/workflows/runs/workflow-run-details.es.js +1 -1
- package/dist/domains/workflows/runs/workflow-run-list.cjs.js +2 -2
- package/dist/domains/workflows/runs/workflow-run-list.es.js +2 -2
- package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
- package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +2 -2
- package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +2 -2
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-body-graph.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-boundary.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-node.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-input-data.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +4 -4
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +4 -4
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +6 -5
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-run-data.es.js +5 -4
- package/dist/domains/workflows/workflow/workflow-run-data.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-run-header.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-steps-status.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-steps-status.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger.es.js +1 -1
- package/dist/domains/workspace/components/frontmatter.cjs.js +13 -0
- package/dist/domains/workspace/components/frontmatter.cjs.js.map +1 -0
- package/dist/domains/workspace/components/frontmatter.d.ts +2 -0
- package/dist/domains/workspace/components/frontmatter.es.js +9 -0
- package/dist/domains/workspace/components/frontmatter.es.js.map +1 -0
- package/dist/domains/workspace/components/mount-icon.cjs.js +42 -0
- package/dist/domains/workspace/components/mount-icon.cjs.js.map +1 -0
- package/dist/domains/workspace/components/mount-icon.d.ts +2 -0
- package/dist/domains/workspace/components/mount-icon.es.js +38 -0
- package/dist/domains/workspace/components/mount-icon.es.js.map +1 -0
- package/dist/domains/workspace/components/use-workspace-context.cjs.js +16 -0
- package/dist/domains/workspace/components/use-workspace-context.cjs.js.map +1 -0
- package/dist/domains/workspace/components/use-workspace-context.d.ts +2 -0
- package/dist/domains/workspace/components/use-workspace-context.es.js +11 -0
- package/dist/domains/workspace/components/use-workspace-context.es.js.map +1 -0
- package/dist/domains/workspace/components/workspace-active-file.cjs.js +72 -0
- package/dist/domains/workspace/components/workspace-active-file.cjs.js.map +1 -0
- package/dist/domains/workspace/components/workspace-active-file.d.ts +2 -0
- package/dist/domains/workspace/components/workspace-active-file.es.js +67 -0
- package/dist/domains/workspace/components/workspace-active-file.es.js.map +1 -0
- package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +282 -0
- package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js.map +1 -0
- package/dist/domains/workspace/components/workspace-add-skill-dialog.d.ts +2 -0
- package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +278 -0
- package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js.map +1 -0
- package/dist/domains/workspace/components/workspace-add-skill.cjs.js +48 -0
- package/dist/domains/workspace/components/workspace-add-skill.cjs.js.map +1 -0
- package/dist/domains/workspace/components/workspace-add-skill.d.ts +2 -0
- package/dist/domains/workspace/components/workspace-add-skill.es.js +44 -0
- package/dist/domains/workspace/components/workspace-add-skill.es.js.map +1 -0
- package/dist/domains/workspace/components/workspace-context.cjs.js +88 -0
- package/dist/domains/workspace/components/workspace-context.cjs.js.map +1 -0
- package/dist/domains/workspace/components/workspace-context.d.ts +2 -0
- package/dist/domains/workspace/components/workspace-context.es.js +84 -0
- package/dist/domains/workspace/components/workspace-context.es.js.map +1 -0
- package/dist/domains/workspace/components/workspace-create-directory.cjs.js +68 -0
- package/dist/domains/workspace/components/workspace-create-directory.cjs.js.map +1 -0
- package/dist/domains/workspace/components/workspace-create-directory.d.ts +2 -0
- package/dist/domains/workspace/components/workspace-create-directory.es.js +64 -0
- package/dist/domains/workspace/components/workspace-create-directory.es.js.map +1 -0
- package/dist/domains/workspace/components/workspace-error.cjs.js +26 -0
- package/dist/domains/workspace/components/workspace-error.cjs.js.map +1 -0
- package/dist/domains/workspace/components/workspace-error.d.ts +2 -0
- package/dist/domains/workspace/components/workspace-error.es.js +22 -0
- package/dist/domains/workspace/components/workspace-error.es.js.map +1 -0
- package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +27 -0
- package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js.map +1 -0
- package/dist/domains/workspace/components/workspace-markdown-preview.d.ts +2 -0
- package/dist/domains/workspace/components/workspace-markdown-preview.es.js +23 -0
- package/dist/domains/workspace/components/workspace-markdown-preview.es.js.map +1 -0
- package/dist/domains/workspace/components/workspace-parts.cjs.js +94 -0
- package/dist/domains/workspace/components/workspace-parts.cjs.js.map +1 -0
- package/dist/domains/workspace/components/workspace-parts.d.ts +2 -0
- package/dist/domains/workspace/components/workspace-parts.es.js +84 -0
- package/dist/domains/workspace/components/workspace-parts.es.js.map +1 -0
- package/dist/domains/workspace/components/workspace-search.cjs.js +117 -0
- package/dist/domains/workspace/components/workspace-search.cjs.js.map +1 -0
- package/dist/domains/workspace/components/workspace-search.d.ts +2 -0
- package/dist/domains/workspace/components/workspace-search.es.js +111 -0
- package/dist/domains/workspace/components/workspace-search.es.js.map +1 -0
- package/dist/domains/workspace/components/workspace-tree-view.cjs.js +34 -0
- package/dist/domains/workspace/components/workspace-tree-view.cjs.js.map +1 -0
- package/dist/domains/workspace/components/workspace-tree-view.d.ts +2 -0
- package/dist/domains/workspace/components/workspace-tree-view.es.js +30 -0
- package/dist/domains/workspace/components/workspace-tree-view.es.js.map +1 -0
- package/dist/domains/workspace/components/workspace-tree.cjs.js +245 -0
- package/dist/domains/workspace/components/workspace-tree.cjs.js.map +1 -0
- package/dist/domains/workspace/components/workspace-tree.d.ts +2 -0
- package/dist/domains/workspace/components/workspace-tree.es.js +241 -0
- package/dist/domains/workspace/components/workspace-tree.es.js.map +1 -0
- package/dist/domains/workspace/components/workspace.cjs.js +25 -0
- package/dist/domains/workspace/components/workspace.cjs.js.map +1 -0
- package/dist/domains/workspace/components/workspace.d.ts +2 -0
- package/dist/domains/workspace/components/workspace.es.js +21 -0
- package/dist/domains/workspace/components/workspace.es.js.map +1 -0
- package/dist/domains/workspace/file-type.cjs.js +25 -0
- package/dist/domains/workspace/file-type.cjs.js.map +1 -0
- package/dist/domains/workspace/file-type.d.ts +2 -0
- package/dist/domains/workspace/file-type.es.js +17 -0
- package/dist/domains/workspace/file-type.es.js.map +1 -0
- package/dist/domains/workspace/hooks/use-skills-sh.cjs.js +72 -0
- package/dist/domains/workspace/hooks/use-skills-sh.cjs.js.map +1 -0
- package/dist/domains/workspace/hooks/use-skills-sh.d.ts +2 -0
- package/dist/domains/workspace/hooks/use-skills-sh.es.js +65 -0
- package/dist/domains/workspace/hooks/use-skills-sh.es.js.map +1 -0
- package/dist/domains/workspace/hooks/use-workspace-directory.cjs.js +21 -0
- package/dist/domains/workspace/hooks/use-workspace-directory.cjs.js.map +1 -0
- package/dist/domains/workspace/hooks/use-workspace-directory.d.ts +2 -0
- package/dist/domains/workspace/hooks/use-workspace-directory.es.js +16 -0
- package/dist/domains/workspace/hooks/use-workspace-directory.es.js.map +1 -0
- package/dist/domains/workspace/hooks/use-workspace-file-content.cjs.js +22 -0
- package/dist/domains/workspace/hooks/use-workspace-file-content.cjs.js.map +1 -0
- package/dist/domains/workspace/hooks/use-workspace-file-content.d.ts +2 -0
- package/dist/domains/workspace/hooks/use-workspace-file-content.es.js +18 -0
- package/dist/domains/workspace/hooks/use-workspace-file-content.es.js.map +1 -0
- package/dist/domains/workspace/hooks/use-workspace-search.cjs.js +53 -0
- package/dist/domains/workspace/hooks/use-workspace-search.cjs.js.map +1 -0
- package/dist/domains/workspace/hooks/use-workspace-search.d.ts +2 -0
- package/dist/domains/workspace/hooks/use-workspace-search.es.js +49 -0
- package/dist/domains/workspace/hooks/use-workspace-search.es.js.map +1 -0
- package/dist/domains/workspace/path.cjs.js +17 -0
- package/dist/domains/workspace/path.cjs.js.map +1 -0
- package/dist/domains/workspace/path.d.ts +2 -0
- package/dist/domains/workspace/path.es.js +10 -0
- package/dist/domains/workspace/path.es.js.map +1 -0
- package/dist/domains/workspace.cjs.js +24 -0
- package/dist/domains/workspace.cjs.js.map +1 -0
- package/dist/domains/workspace.d.ts +2 -0
- package/dist/domains/workspace.es.js +9 -0
- package/dist/domains/workspace.es.js.map +1 -0
- package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +2 -2
- package/dist/ee/signals/components/entity-index-compact-grid.es.js +2 -2
- package/dist/ee/signals/components/entity-index-list.cjs.js +4 -2
- package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
- package/dist/ee/signals/components/entity-index-list.es.js +4 -2
- package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
- package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
- package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +4 -3
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +4 -3
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
- package/dist/ee/signals/examples-pager.cjs.js +1 -1
- package/dist/ee/signals/examples-pager.es.js +1 -1
- package/dist/ee/signals/flow-card.cjs.js +1 -1
- package/dist/ee/signals/flow-card.es.js +1 -1
- package/dist/ee/signals/lifeline-row.cjs.js +1 -1
- package/dist/ee/signals/lifeline-row.es.js +1 -1
- package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
- package/dist/ee/signals/noise-detail-panel.es.js +1 -1
- package/dist/ee/signals/sankey-signals.cjs.js +4 -3
- package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
- package/dist/ee/signals/sankey-signals.es.js +3 -2
- package/dist/ee/signals/sankey-signals.es.js.map +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +3 -3
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +3 -3
- package/dist/ee/signals/settings/trace-signal-settings.cjs.js +3 -3
- package/dist/ee/signals/settings/trace-signal-settings.es.js +3 -3
- package/dist/ee/signals/signal-delta-column.cjs.js +1 -1
- package/dist/ee/signals/signal-delta-column.es.js +1 -1
- package/dist/ee/signals/signal-lifelines.cjs.js +1 -1
- package/dist/ee/signals/signal-lifelines.es.js +1 -1
- package/dist/ee/signals/signals-error-state.cjs.js +1 -1
- package/dist/ee/signals/signals-error-state.es.js +1 -1
- package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
- package/dist/ee/signals/snapshot-timeline.es.js +1 -1
- package/dist/ee/signals/theme-compare.cjs.js +1 -1
- package/dist/ee/signals/theme-compare.es.js +1 -1
- package/dist/ee/signals/theme-detail-panel.cjs.js +1 -1
- package/dist/ee/signals/theme-detail-panel.es.js +1 -1
- package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
- package/dist/ee/signals/theme-filter-banner.es.js +1 -1
- package/dist/ee/signals/theme-lifelines.cjs.js +1 -1
- package/dist/ee/signals/theme-lifelines.es.js +1 -1
- package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
- package/dist/ee/signals/trace-insight-view.es.js +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.es.js +1 -1
- package/dist/ee/signals/view-mode-tab.cjs.js +2 -2
- package/dist/ee/signals/view-mode-tab.es.js +2 -2
- package/dist/ee/topics/components/topic-trace-details-panel.cjs.js +2 -1
- package/dist/ee/topics/components/topic-trace-details-panel.cjs.js.map +1 -1
- package/dist/ee/topics/components/topic-trace-details-panel.es.js +2 -1
- package/dist/ee/topics/components/topic-trace-details-panel.es.js.map +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
- package/dist/{entity-header-DEjkHoqj.cjs → entity-header-By57lpH8.cjs} +2 -2
- package/dist/{entity-header-DEjkHoqj.cjs.map → entity-header-By57lpH8.cjs.map} +1 -1
- package/dist/{entity-header-9qzr-3xQ.js → entity-header-DMjzE4Za.js} +2 -2
- package/dist/{entity-header-9qzr-3xQ.js.map → entity-header-DMjzE4Za.js.map} +1 -1
- package/dist/{field-BtvEQ68O.js → field-BiMIiq2Y.js} +3 -3
- package/dist/field-BiMIiq2Y.js.map +1 -0
- package/dist/{field-ip9xiOVa.cjs → field-BkeKcz_6.cjs} +3 -3
- package/dist/field-BkeKcz_6.cjs.map +1 -0
- package/dist/{field-error-id-4DYu4KZ2.cjs → field-error-id-4xiCVBJ_.cjs} +5 -5
- package/dist/field-error-id-4xiCVBJ_.cjs.map +1 -0
- package/dist/{field-error-id-BSQLcfHo.js → field-error-id-CSvLKtJE.js} +5 -5
- package/dist/field-error-id-CSvLKtJE.js.map +1 -0
- package/dist/{filter-bar-chip-Dmboyu1t.js → filter-bar-chip-CRejLco-.js} +2 -2
- package/dist/{filter-bar-chip-Dmboyu1t.js.map → filter-bar-chip-CRejLco-.js.map} +1 -1
- package/dist/{filter-bar-chip-BsWm7SQr.cjs → filter-bar-chip-Cr7kUN9G.cjs} +2 -2
- package/dist/{filter-bar-chip-BsWm7SQr.cjs.map → filter-bar-chip-Cr7kUN9G.cjs.map} +1 -1
- package/dist/hooks/use-fluid-hover.cjs.js +11 -0
- package/dist/hooks/use-fluid-hover.cjs.js.map +1 -1
- package/dist/hooks/use-fluid-hover.es.js +11 -0
- package/dist/hooks/use-fluid-hover.es.js.map +1 -1
- package/dist/{horizontal-bars-BSRESJsp.js → horizontal-bars-BL-GHeFh.js} +2 -2
- package/dist/{horizontal-bars-BSRESJsp.js.map → horizontal-bars-BL-GHeFh.js.map} +1 -1
- package/dist/{horizontal-bars-DRD7JkHL.cjs → horizontal-bars-D-rFCRbH.cjs} +2 -2
- package/dist/{horizontal-bars-DRD7JkHL.cjs.map → horizontal-bars-D-rFCRbH.cjs.map} +1 -1
- package/dist/icons/FileIcon.cjs.js +18 -0
- package/dist/icons/FileIcon.cjs.js.map +1 -0
- package/dist/icons/FileIcon.d.ts +2 -0
- package/dist/icons/FileIcon.es.js +14 -0
- package/dist/icons/FileIcon.es.js.map +1 -0
- package/dist/icons/SearchIcon.cjs.js +18 -0
- package/dist/icons/SearchIcon.cjs.js.map +1 -0
- package/dist/icons/SearchIcon.d.ts +2 -0
- package/dist/icons/SearchIcon.es.js +14 -0
- package/dist/icons/SearchIcon.es.js.map +1 -0
- package/dist/icons/TrashIcon.cjs.js +18 -0
- package/dist/icons/TrashIcon.cjs.js.map +1 -0
- package/dist/icons/TrashIcon.d.ts +2 -0
- package/dist/icons/TrashIcon.es.js +14 -0
- package/dist/icons/TrashIcon.es.js.map +1 -0
- package/dist/{input-group-wzirc-1k.js → input-group-D1XvzgI2.js} +10 -7
- package/dist/input-group-D1XvzgI2.js.map +1 -0
- package/dist/{input-group-BgCXLSRV.cjs → input-group-DBRe9V5t.cjs} +11 -6
- package/dist/input-group-DBRe9V5t.cjs.map +1 -0
- package/dist/layout/tabbed-container.cjs.js +11 -9
- package/dist/layout/tabbed-container.cjs.js.map +1 -1
- package/dist/layout/tabbed-container.es.js +9 -7
- package/dist/layout/tabbed-container.es.js.map +1 -1
- package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
- package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/array-wrapper.es.js +1 -1
- package/dist/lib/form/components/boolean-field.cjs.js +1 -1
- package/dist/lib/form/components/boolean-field.es.js +1 -1
- package/dist/lib/form/components/error-message.cjs.js +1 -1
- package/dist/lib/form/components/error-message.es.js +1 -1
- package/dist/lib/form/components/field-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/field-wrapper.es.js +1 -1
- package/dist/lib/form/components/object-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/object-wrapper.es.js +1 -1
- package/dist/lib/form/components/select-field.cjs.js +1 -1
- package/dist/lib/form/components/select-field.es.js +1 -1
- package/dist/lib/form/components/union-field.cjs.js +1 -1
- package/dist/lib/form/components/union-field.es.js +1 -1
- package/dist/{list-search-CTGQJCh1.cjs → list-search-CCHN2OMB.cjs} +2 -2
- package/dist/{list-search-CTGQJCh1.cjs.map → list-search-CCHN2OMB.cjs.map} +1 -1
- package/dist/{list-search-CmOCmTwL.js → list-search-DcACBmNB.js} +2 -2
- package/dist/{list-search-CmOCmTwL.js.map → list-search-DcACBmNB.js.map} +1 -1
- package/dist/{logs-data-list-B9CAqAHD.cjs → logs-data-list-BITdSK12.cjs} +4 -4
- package/dist/{logs-data-list-B9CAqAHD.cjs.map → logs-data-list-BITdSK12.cjs.map} +1 -1
- package/dist/{logs-data-list-DfzdzgXB.js → logs-data-list-PlH4_hgq.js} +4 -4
- package/dist/{logs-data-list-DfzdzgXB.js.map → logs-data-list-PlH4_hgq.js.map} +1 -1
- package/dist/{markdown-renderer-DPwN7Vtm.cjs → markdown-renderer-DRo-Hcuu.cjs} +2 -2
- package/dist/{markdown-renderer-DPwN7Vtm.cjs.map → markdown-renderer-DRo-Hcuu.cjs.map} +1 -1
- package/dist/{markdown-renderer-zvB6a8uj.js → markdown-renderer-XfWPF-B7.js} +2 -2
- package/dist/{markdown-renderer-zvB6a8uj.js.map → markdown-renderer-XfWPF-B7.js.map} +1 -1
- package/dist/{message-C1c5oZE7.cjs → message-DGDmsmOT.cjs} +2 -2
- package/dist/{message-C1c5oZE7.cjs.map → message-DGDmsmOT.cjs.map} +1 -1
- package/dist/{message-C7hocqft.js → message-DoxVrgBX.js} +2 -2
- package/dist/{message-C7hocqft.js.map → message-DoxVrgBX.js.map} +1 -1
- package/dist/{metrics-card-C1rTkbcn.js → metrics-card-DFEWxFkJ.js} +3 -3
- package/dist/{metrics-card-C1rTkbcn.js.map → metrics-card-DFEWxFkJ.js.map} +1 -1
- package/dist/{metrics-card-D7J9JDgn.cjs → metrics-card-xX9SHUpB.cjs} +3 -3
- package/dist/{metrics-card-D7J9JDgn.cjs.map → metrics-card-xX9SHUpB.cjs.map} +1 -1
- package/dist/{metrics-kpi-card-1hbihR2T.cjs → metrics-kpi-card-9L0j_oGY.cjs} +5 -14
- package/dist/metrics-kpi-card-9L0j_oGY.cjs.map +1 -0
- package/dist/{metrics-kpi-card-CiB88L41.js → metrics-kpi-card-DxcLqbDU.js} +5 -14
- package/dist/metrics-kpi-card-DxcLqbDU.js.map +1 -0
- package/dist/{metrics-line-chart-C3UMBQ38.js → metrics-line-chart-C9_EMuHK.js} +2 -2
- package/dist/{metrics-line-chart-C3UMBQ38.js.map → metrics-line-chart-C9_EMuHK.js.map} +1 -1
- package/dist/{metrics-line-chart-CjJxBbM-.cjs → metrics-line-chart-R-T_jyeP.cjs} +2 -2
- package/dist/{metrics-line-chart-CjJxBbM-.cjs.map → metrics-line-chart-R-T_jyeP.cjs.map} +1 -1
- package/dist/{metrics-line-chart-tooltip-DiXCgpik.cjs → metrics-line-chart-tooltip-BoG8nbkO.cjs} +2 -2
- package/dist/{metrics-line-chart-tooltip-DiXCgpik.cjs.map → metrics-line-chart-tooltip-BoG8nbkO.cjs.map} +1 -1
- package/dist/{metrics-line-chart-tooltip-mZXPH1yH.js → metrics-line-chart-tooltip-C3WAk3DN.js} +2 -2
- package/dist/{metrics-line-chart-tooltip-mZXPH1yH.js.map → metrics-line-chart-tooltip-C3WAk3DN.js.map} +1 -1
- package/dist/new/layout/page-header.cjs.js +1 -1
- package/dist/new/layout/page-header.es.js +1 -1
- package/dist/new/settings.cjs.js +2 -2
- package/dist/new/settings.es.js +2 -2
- package/dist/new/sidebar.cjs.js +1 -1
- package/dist/new/sidebar.es.js +1 -1
- package/dist/{notification-activity-CFR_b8eA.js → notification-activity-BDoleJAA.js} +4 -4
- package/dist/{notification-activity-CFR_b8eA.js.map → notification-activity-BDoleJAA.js.map} +1 -1
- package/dist/{notification-activity-Dk50wcE4.cjs → notification-activity-C_vZiswj.cjs} +4 -4
- package/dist/{notification-activity-Dk50wcE4.cjs.map → notification-activity-C_vZiswj.cjs.map} +1 -1
- package/dist/{page-header-DIS8V2TK.js → page-header-D5a7qrVc.js} +2 -2
- package/dist/{page-header-DIS8V2TK.js.map → page-header-D5a7qrVc.js.map} +1 -1
- package/dist/{page-header-C1WiOrTE.cjs → page-header-Dc2KSbnw.cjs} +2 -2
- package/dist/{page-header-C1WiOrTE.cjs.map → page-header-Dc2KSbnw.cjs.map} +1 -1
- package/dist/{plan-D8rM4i4S.cjs → plan-BBf7ONr7.cjs} +7 -6
- package/dist/{plan-D8rM4i4S.cjs.map → plan-BBf7ONr7.cjs.map} +1 -1
- package/dist/{plan-BtOryfz5.js → plan-BgvXKTEM.js} +6 -5
- package/dist/{plan-BtOryfz5.js.map → plan-BgvXKTEM.js.map} +1 -1
- package/dist/primitives/form-element.cjs.js +1 -1
- package/dist/primitives/form-element.cjs.js.map +1 -1
- package/dist/primitives/form-element.es.js +1 -1
- package/dist/primitives/form-element.es.js.map +1 -1
- package/dist/{reasoning-activity-6VkIbDT4.js → reasoning-activity-DTmKCDZ-.js} +3 -3
- package/dist/{reasoning-activity-6VkIbDT4.js.map → reasoning-activity-DTmKCDZ-.js.map} +1 -1
- package/dist/{reasoning-activity-DaXMgyr3.cjs → reasoning-activity-Dc6VbiMr.cjs} +3 -3
- package/dist/{reasoning-activity-DaXMgyr3.cjs.map → reasoning-activity-Dc6VbiMr.cjs.map} +1 -1
- package/dist/{relative-timestamp-BlmN8Vjn.cjs → relative-timestamp-Nnwtw7Rp.cjs} +2 -2
- package/dist/{relative-timestamp-BlmN8Vjn.cjs.map → relative-timestamp-Nnwtw7Rp.cjs.map} +1 -1
- package/dist/{relative-timestamp-Cnp4VeLp.js → relative-timestamp-Rn8mAobA.js} +2 -2
- package/dist/{relative-timestamp-Cnp4VeLp.js.map → relative-timestamp-Rn8mAobA.js.map} +1 -1
- package/dist/resize/panel-group.cjs.js +14 -2
- package/dist/resize/panel-group.cjs.js.map +1 -1
- package/dist/resize/panel-group.es.js +14 -2
- package/dist/resize/panel-group.es.js.map +1 -1
- package/dist/{search-input-BKXiYeed.js → search-input-63Y1_wgA.js} +3 -3
- package/dist/{search-input-BKXiYeed.js.map → search-input-63Y1_wgA.js.map} +1 -1
- package/dist/{search-input-T0orZ7Jf.cjs → search-input-CBhT3N4z.cjs} +3 -3
- package/dist/{search-input-T0orZ7Jf.cjs.map → search-input-CBhT3N4z.cjs.map} +1 -1
- package/dist/{section-Byml9qxH.cjs → section-C5r-Mtxk.cjs} +3 -3
- package/dist/{section-Byml9qxH.cjs.map → section-C5r-Mtxk.cjs.map} +1 -1
- package/dist/{section-DTooysg2.js → section-DYrbH35K.js} +3 -3
- package/dist/{section-DTooysg2.js.map → section-DYrbH35K.js.map} +1 -1
- package/dist/{select--ArpXYDc.js → select-CWxcmE3F.js} +2 -2
- package/dist/select-CWxcmE3F.js.map +1 -0
- package/dist/{select-DJQYAVcm.cjs → select-KV77JIvp.cjs} +2 -2
- package/dist/select-KV77JIvp.cjs.map +1 -0
- package/dist/{settings-row-B0jGFpVw.js → settings-row-Dc6ECXjj.js} +2 -2
- package/dist/{settings-row-B0jGFpVw.js.map → settings-row-Dc6ECXjj.js.map} +1 -1
- package/dist/{settings-row-Dt4WnnRf.cjs → settings-row-UPZXTcx1.cjs} +2 -2
- package/dist/{settings-row-Dt4WnnRf.cjs.map → settings-row-UPZXTcx1.cjs.map} +1 -1
- package/dist/{side-dialog-lQUx6B_M.cjs → side-dialog-CFTgnDXu.cjs} +2 -2
- package/dist/{side-dialog-lQUx6B_M.cjs.map → side-dialog-CFTgnDXu.cjs.map} +1 -1
- package/dist/{side-dialog-DZJc85m3.js → side-dialog-yvAvCday.js} +2 -2
- package/dist/{side-dialog-DZJc85m3.js.map → side-dialog-yvAvCday.js.map} +1 -1
- package/dist/{signal-activity-byCTRP86.cjs → signal-activity-BI-DRdjw.cjs} +4 -4
- package/dist/{signal-activity-byCTRP86.cjs.map → signal-activity-BI-DRdjw.cjs.map} +1 -1
- package/dist/{signal-activity-DW2ExjIp.js → signal-activity-_ChAbNsW.js} +4 -4
- package/dist/{signal-activity-DW2ExjIp.js.map → signal-activity-_ChAbNsW.js.map} +1 -1
- package/dist/{span-payload-primitives-CGamdu2t.js → span-payload-primitives-188dDV5s.js} +3 -3
- package/dist/{span-payload-primitives-CGamdu2t.js.map → span-payload-primitives-188dDV5s.js.map} +1 -1
- package/dist/{span-payload-primitives-SkL3U9hR.cjs → span-payload-primitives-DrKJXIc3.cjs} +3 -3
- package/dist/{span-payload-primitives-SkL3U9hR.cjs.map → span-payload-primitives-DrKJXIc3.cjs.map} +1 -1
- package/dist/src/domains/traces/components/span-data-panel-view.d.ts +3 -1
- package/dist/src/domains/traces/components/thread-trace/index.d.ts +23 -20
- package/dist/src/domains/traces/components/thread-trace/thread-trace-details.d.ts +1 -1
- package/dist/src/domains/traces/components/thread-trace/thread-trace-messages.d.ts +5 -15
- package/dist/src/domains/traces/components/thread-trace/thread-trace-root.d.ts +2 -2
- package/dist/src/domains/traces/components/thread-trace/thread-trace-row.d.ts +17 -2
- package/dist/src/domains/traces/components/thread-trace/thread-trace-span-panel.d.ts +3 -3
- package/dist/src/domains/traces/components/thread-trace/thread-trace-spans.d.ts +3 -4
- package/dist/src/domains/traces/components/thread-view-skeleton.d.ts +10 -4
- package/dist/src/domains/traces/components/trace-data-panel-view.d.ts +10 -3
- package/dist/src/domains/traces/components/trace-data-panel-view.stories.d.ts +7 -5
- package/dist/src/domains/traces/components/trace-messages-panel.d.ts +2 -10
- package/dist/src/domains/traces/components/trace-messages-skeleton.d.ts +9 -6
- package/dist/src/domains/traces/components/trace-span-panel.d.ts +1 -1
- package/dist/src/domains/traces/components/trace-span-tree-skeleton.d.ts +4 -6
- package/dist/src/domains/traces/components/trace-thread-panel.d.ts +7 -5
- package/dist/src/domains/traces/hooks/use-branch.d.ts +2 -2
- package/dist/src/domains/traces/hooks/use-trace-light-spans.d.ts +2 -2
- package/dist/src/domains/traces/hooks/use-trace-or-branch-spans.d.ts +2 -2
- package/dist/src/domains/traces/hooks/use-trace-query.d.ts +2 -0
- package/dist/src/domains/traces/hooks/use-trace-search.d.ts +11 -8
- package/dist/src/domains/traces/hooks/use-trace-spans.d.ts +1 -7
- package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +1 -0
- package/dist/src/domains/traces/utils/index.d.ts +1 -1
- package/dist/src/domains/traces/utils/to-searchable-spans.d.ts +2 -26
- package/dist/src/domains/workspace/components/frontmatter.d.ts +4 -0
- package/dist/src/domains/workspace/components/mount-icon.d.ts +6 -0
- package/dist/src/domains/workspace/components/use-workspace-context.d.ts +32 -0
- package/dist/src/domains/workspace/components/workspace-active-file.d.ts +13 -0
- package/dist/src/domains/workspace/components/workspace-add-skill-dialog.d.ts +39 -0
- package/dist/src/domains/workspace/components/workspace-add-skill.d.ts +10 -0
- package/dist/src/domains/workspace/components/workspace-context.d.ts +28 -0
- package/dist/src/domains/workspace/components/workspace-create-directory.d.ts +4 -0
- package/dist/src/domains/workspace/components/workspace-error.d.ts +5 -0
- package/dist/src/domains/workspace/components/workspace-markdown-preview.d.ts +4 -0
- package/dist/src/domains/workspace/components/workspace-parts.d.ts +25 -0
- package/dist/src/domains/workspace/components/workspace-search.d.ts +5 -0
- package/dist/src/domains/workspace/components/workspace-tree-view.d.ts +32 -0
- package/dist/src/domains/workspace/components/workspace-tree.d.ts +1 -0
- package/dist/src/domains/workspace/components/workspace.d.ts +18 -0
- package/dist/src/domains/workspace/file-type.d.ts +6 -0
- package/dist/src/domains/workspace/hooks/use-skills-sh.d.ts +51 -0
- package/dist/src/domains/workspace/hooks/use-workspace-directory.d.ts +17 -0
- package/dist/src/domains/workspace/hooks/use-workspace-file-content.d.ts +8 -0
- package/dist/src/domains/workspace/hooks/use-workspace-search.d.ts +11 -0
- package/dist/src/domains/workspace/index.d.ts +14 -0
- package/dist/src/domains/workspace/path.d.ts +6 -0
- package/dist/src/ds/components/Button/button.stories.d.ts +1 -0
- package/dist/src/ds/components/CollapsibleBox/collapsible-box.d.ts +5 -2
- package/dist/src/ds/components/CollapsibleBox/collapsible-box.stories.d.ts +1 -0
- package/dist/src/ds/components/Combobox/combobox-styles.d.ts +1 -1
- package/dist/src/ds/components/Command/command.stories.d.ts +1 -0
- package/dist/src/ds/components/InputGroup/input-group.d.ts +2 -0
- package/dist/src/ds/components/InputGroup/input-group.stories.d.ts +0 -1
- package/dist/src/ds/components/InputNumber/index.d.ts +1 -0
- package/dist/src/ds/components/InputNumber/input-number.d.ts +26 -0
- package/dist/src/ds/components/InputNumber/input-number.stories.d.ts +11 -0
- package/dist/src/ds/components/Tabs/tabs-context.d.ts +0 -1
- package/dist/src/ds/components/Tabs/tabs-list.d.ts +0 -7
- package/dist/src/ds/components/Tabs/tabs-root.d.ts +1 -1
- package/dist/src/ds/components/Tabs/tabs-tab.d.ts +3 -1
- package/dist/src/ds/components/Tabs/tabs.stories.d.ts +0 -1
- package/dist/src/ds/components/ThinkingLevel/index.d.ts +4 -0
- package/dist/src/ds/components/ThinkingLevel/thinking-level-picker.d.ts +17 -0
- package/dist/src/ds/components/ThinkingLevel/thinking-level-ramp.d.ts +9 -0
- package/dist/src/ds/components/ThinkingLevel/thinking-level-slider.d.ts +13 -0
- package/dist/src/ds/components/ThinkingLevel/thinking-level.stories.d.ts +14 -0
- package/dist/src/ds/components/ThinkingLevel/use-thinking-level-stop.d.ts +29 -0
- package/dist/src/ds/components/ai/transcript-divider/stories/transcript-divider.stories.d.ts +3 -0
- package/dist/src/ds/components/ai/transcript-divider/transcript-divider.d.ts +6 -1
- package/dist/src/ds/icons/FileIcon.d.ts +2 -0
- package/dist/src/ds/icons/SearchIcon.d.ts +2 -0
- package/dist/src/ds/icons/TrashIcon.d.ts +2 -0
- package/dist/src/ds/icons/index.d.ts +3 -0
- package/dist/src/ds/layout/tabbed-container/tabbed-container-root.d.ts +2 -1
- package/dist/src/ds/tokens/fonts.d.ts +1 -1
- package/dist/src/lib/resize/panel-group.d.ts +3 -1
- package/dist/style.css +270 -121
- package/dist/{tabs-content-DnscxcLI.cjs → tabs-content-DfH1hhpU.cjs} +3 -3
- package/dist/{tabs-content-DnscxcLI.cjs.map → tabs-content-DfH1hhpU.cjs.map} +1 -1
- package/dist/{tabs-content-CwbkTutf.js → tabs-content-OWF8un_n.js} +2 -2
- package/dist/{tabs-content-CwbkTutf.js.map → tabs-content-OWF8un_n.js.map} +1 -1
- package/dist/tabs-context-Cbuw7i0u.js +7 -0
- package/dist/tabs-context-Cbuw7i0u.js.map +1 -0
- package/dist/tabs-context-pnspPkI-.cjs +10 -0
- package/dist/tabs-context-pnspPkI-.cjs.map +1 -0
- package/dist/{tabs-root-C-ePF1y9.cjs → tabs-list-Tqj36HIL.cjs} +10 -43
- package/dist/tabs-list-Tqj36HIL.cjs.map +1 -0
- package/dist/{tabs-root-lrZZ3KwH.js → tabs-list-tLx5fgP0.js} +12 -44
- package/dist/tabs-list-tLx5fgP0.js.map +1 -0
- package/dist/tabs-root-BbzhUZl4.js +40 -0
- package/dist/tabs-root-BbzhUZl4.js.map +1 -0
- package/dist/tabs-root-Hkt7A6oq.cjs +42 -0
- package/dist/tabs-root-Hkt7A6oq.cjs.map +1 -0
- package/dist/tabs-root.css +0 -70
- package/dist/{tabs-tab-BmIBFifi.cjs → tabs-tab-C-C2vX-D.cjs} +10 -7
- package/dist/tabs-tab-C-C2vX-D.cjs.map +1 -0
- package/dist/{tabs-tab-DoPSW-1s.js → tabs-tab-ClLIOGiC.js} +11 -6
- package/dist/tabs-tab-ClLIOGiC.js.map +1 -0
- package/dist/{text-and-icon-CuBm-Wjm.js → text-and-icon-Bo6NLLBl.js} +2 -2
- package/dist/{text-and-icon-CuBm-Wjm.js.map → text-and-icon-Bo6NLLBl.js.map} +1 -1
- package/dist/{text-and-icon-4eVhfmbb.cjs → text-and-icon-CvakH4YL.cjs} +2 -2
- package/dist/{text-and-icon-4eVhfmbb.cjs.map → text-and-icon-CvakH4YL.cjs.map} +1 -1
- package/dist/{thread-list-BTpezI4f.js → thread-list-D2zSEQWK.js} +2 -2
- package/dist/{thread-list-BTpezI4f.js.map → thread-list-D2zSEQWK.js.map} +1 -1
- package/dist/{thread-list-Drcptd4x.cjs → thread-list-DKBwiGfX.cjs} +2 -2
- package/dist/{thread-list-Drcptd4x.cjs.map → thread-list-DKBwiGfX.cjs.map} +1 -1
- package/dist/{time-picker-KE48KlpH.cjs → time-picker-Uz05Y0qU.cjs} +2 -2
- package/dist/{time-picker-KE48KlpH.cjs.map → time-picker-Uz05Y0qU.cjs.map} +1 -1
- package/dist/{time-picker-DRSAkFuj.js → time-picker-eQkyOP4X.js} +2 -2
- package/dist/{time-picker-DRSAkFuj.js.map → time-picker-eQkyOP4X.js.map} +1 -1
- package/dist/tokens.cjs.js +3 -0
- package/dist/tokens.cjs.js.map +1 -1
- package/dist/tokens.es.js +3 -0
- package/dist/tokens.es.js.map +1 -1
- package/dist/{tool-call-arguments-CtUKj7IB.js → tool-call-arguments-Cm5qfywz.js} +2 -2
- package/dist/{tool-call-arguments-CtUKj7IB.js.map → tool-call-arguments-Cm5qfywz.js.map} +1 -1
- package/dist/{tool-call-arguments-BemKsB9v.cjs → tool-call-arguments-cML2FFBk.cjs} +2 -2
- package/dist/{tool-call-arguments-BemKsB9v.cjs.map → tool-call-arguments-cML2FFBk.cjs.map} +1 -1
- package/dist/{tool-call-group-D_ioE9hT.cjs → tool-call-group-CALHT0zr.cjs} +3 -3
- package/dist/{tool-call-group-D_ioE9hT.cjs.map → tool-call-group-CALHT0zr.cjs.map} +1 -1
- package/dist/{tool-call-group-ZuYxpyDs.js → tool-call-group-UoMplOy2.js} +3 -3
- package/dist/{tool-call-group-ZuYxpyDs.js.map → tool-call-group-UoMplOy2.js.map} +1 -1
- package/dist/{traces-data-list-Dd8vMPQK.cjs → traces-data-list-D-wz-Je3.cjs} +5 -5
- package/dist/{traces-data-list-Dd8vMPQK.cjs.map → traces-data-list-D-wz-Je3.cjs.map} +1 -1
- package/dist/{traces-data-list-Fvl8mlih.js → traces-data-list-DmCgejAx.js} +5 -5
- package/dist/{traces-data-list-Fvl8mlih.js.map → traces-data-list-DmCgejAx.js.map} +1 -1
- package/dist/transcript-divider-273Bsdjs.cjs +30 -0
- package/dist/transcript-divider-273Bsdjs.cjs.map +1 -0
- package/dist/transcript-divider-CPIo8NUj.js +28 -0
- package/dist/transcript-divider-CPIo8NUj.js.map +1 -0
- package/dist/tree-DOVwqiSm.cjs +493 -0
- package/dist/tree-DOVwqiSm.cjs.map +1 -0
- package/dist/tree-DixCN7B0.js +472 -0
- package/dist/tree-DixCN7B0.js.map +1 -0
- package/dist/use-collapsible-box-B0t2_SvP.js +20 -0
- package/dist/use-collapsible-box-B0t2_SvP.js.map +1 -0
- package/dist/use-collapsible-box-BI80L4h_.cjs +23 -0
- package/dist/use-collapsible-box-BI80L4h_.cjs.map +1 -0
- package/dist/{use-workflow-graph-runtime-JQwLwNBD.js → use-workflow-graph-runtime-IZ-er4hs.js} +4 -4
- package/dist/{use-workflow-graph-runtime-JQwLwNBD.js.map → use-workflow-graph-runtime-IZ-er4hs.js.map} +1 -1
- package/dist/{use-workflow-graph-runtime-BNAtEa06.cjs → use-workflow-graph-runtime-t17K6Hkf.cjs} +4 -4
- package/dist/{use-workflow-graph-runtime-BNAtEa06.cjs.map → use-workflow-graph-runtime-t17K6Hkf.cjs.map} +1 -1
- package/dist/{workflow-condition-card-BjEAp0t6.cjs → workflow-condition-card-B_oDiQ6I.cjs} +3 -3
- package/dist/{workflow-condition-card-BjEAp0t6.cjs.map → workflow-condition-card-B_oDiQ6I.cjs.map} +1 -1
- package/dist/{workflow-condition-card-3J-As62x.js → workflow-condition-card-CLyskv_B.js} +3 -3
- package/dist/{workflow-condition-card-3J-As62x.js.map → workflow-condition-card-CLyskv_B.js.map} +1 -1
- package/dist/{workflow-data-edge-view-C4nbA2Fa.js → workflow-data-edge-view-JmkSlDp1.js} +2 -2
- package/dist/{workflow-data-edge-view-C4nbA2Fa.js.map → workflow-data-edge-view-JmkSlDp1.js.map} +1 -1
- package/dist/{workflow-data-edge-view-aHAZkZOH.cjs → workflow-data-edge-view-aNTgHQUk.cjs} +2 -2
- package/dist/{workflow-data-edge-view-aHAZkZOH.cjs.map → workflow-data-edge-view-aNTgHQUk.cjs.map} +1 -1
- package/dist/{workflow-debug-controls-tty6gLX2.js → workflow-debug-controls-CQc8ljAI.js} +3 -3
- package/dist/{workflow-debug-controls-tty6gLX2.js.map → workflow-debug-controls-CQc8ljAI.js.map} +1 -1
- package/dist/{workflow-debug-controls-VbxiluNZ.cjs → workflow-debug-controls-WXT05idC.cjs} +3 -3
- package/dist/{workflow-debug-controls-VbxiluNZ.cjs.map → workflow-debug-controls-WXT05idC.cjs.map} +1 -1
- package/dist/{workflow-edge-data-button-2aIkzgev.js → workflow-edge-data-button-B7bM7UqW.js} +2 -2
- package/dist/{workflow-edge-data-button-2aIkzgev.js.map → workflow-edge-data-button-B7bM7UqW.js.map} +1 -1
- package/dist/{workflow-edge-data-button-BFNO-TRL.cjs → workflow-edge-data-button-CHoNrfef.cjs} +2 -2
- package/dist/{workflow-edge-data-button-BFNO-TRL.cjs.map → workflow-edge-data-button-CHoNrfef.cjs.map} +1 -1
- package/package.json +10 -10
- package/theme/colors.css +1 -1
- package/theme/typography.css +19 -2
- package/dist/Badge-D3EctKQo.cjs.map +0 -1
- package/dist/Badge-DmOqFpXW.js.map +0 -1
- package/dist/Txt-BP1SRHmL.js.map +0 -1
- package/dist/Txt-DPmEpNbp.cjs.map +0 -1
- package/dist/combobox-styles-mbcWlNZQ.js.map +0 -1
- package/dist/combobox-styles-qL3FSgmU.cjs.map +0 -1
- package/dist/command-Bm0VcX7X.cjs.map +0 -1
- package/dist/command-DFin7kHN.js.map +0 -1
- package/dist/data-panel-CbomKGJt.js.map +0 -1
- package/dist/data-panel-o-QLWuFV.cjs.map +0 -1
- package/dist/field-BtvEQ68O.js.map +0 -1
- package/dist/field-error-id-4DYu4KZ2.cjs.map +0 -1
- package/dist/field-error-id-BSQLcfHo.js.map +0 -1
- package/dist/field-ip9xiOVa.cjs.map +0 -1
- package/dist/input-group-BgCXLSRV.cjs.map +0 -1
- package/dist/input-group-wzirc-1k.js.map +0 -1
- package/dist/metrics-kpi-card-1hbihR2T.cjs.map +0 -1
- package/dist/metrics-kpi-card-CiB88L41.js.map +0 -1
- package/dist/select--ArpXYDc.js.map +0 -1
- package/dist/select-DJQYAVcm.cjs.map +0 -1
- package/dist/tabs-root-C-ePF1y9.cjs.map +0 -1
- package/dist/tabs-root-lrZZ3KwH.js.map +0 -1
- package/dist/tabs-tab-BmIBFifi.cjs.map +0 -1
- package/dist/tabs-tab-DoPSW-1s.js.map +0 -1
- package/dist/use-collapsible-box-CCvsF_a9.js +0 -54
- package/dist/use-collapsible-box-CCvsF_a9.js.map +0 -1
- package/dist/use-collapsible-box-CbQOkokQ.cjs +0 -58
- package/dist/use-collapsible-box-CbQOkokQ.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-trace-or-branch-spans.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-or-branch-spans.ts"],"sourcesContent":["import type { TraceListMode } from '../trace-filters';\nimport type {
|
|
1
|
+
{"version":3,"file":"use-trace-or-branch-spans.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-or-branch-spans.ts"],"sourcesContent":["import type { TraceListMode } from '../trace-filters';\nimport type { LightSpanRecord } from '../types';\nimport { useBranch } from './use-branch';\nimport { useTraceSpans } from './use-trace-spans';\n\nexport interface UseTraceOrBranchSpansArgs {\n traceId: string | null | undefined;\n /** Required when `listMode === 'branches'` — the anchor span identifying the displayed\n * subtree. The hook fetches `getBranch(traceId, anchorSpanId)`. Intra-panel span selection\n * is separate (the caller's `spanIdParam`); the anchor stays put while it changes. */\n anchorSpanId?: string | null;\n listMode: TraceListMode;\n depth?: number;\n}\n\nexport interface UseTraceOrBranchSpansResult {\n spans: LightSpanRecord[] | undefined;\n /** Set in branches mode; undefined in traces mode (which uses parentSpanId == null). */\n anchorSpanId: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: unknown;\n}\n\n/**\n * Unified data source for the trace/span detail panel. Returns trace spans (full tree from the\n * root) in traces mode, or branch spans (subtree rooted at `anchorSpanId`) in branches mode.\n * Only the active query fires; the inactive one is disabled via its `enabled` flag.\n *\n * Both modes carry full span payloads: the panel renders and searches them, so a lightweight\n * projection here would hide content from the reader looking straight at it.\n */\nexport function useTraceOrBranchSpans({\n traceId,\n anchorSpanId,\n listMode,\n depth,\n}: UseTraceOrBranchSpansArgs): UseTraceOrBranchSpansResult {\n const isBranches = listMode === 'branches';\n\n const traceQuery = useTraceSpans(isBranches ? null : traceId);\n const branchQuery = useBranch({\n traceId: isBranches ? traceId : null,\n spanId: isBranches ? anchorSpanId : null,\n depth,\n });\n\n if (isBranches) {\n return {\n spans: branchQuery.data?.spans,\n anchorSpanId: anchorSpanId ?? undefined,\n isLoading: branchQuery.isLoading,\n isError: branchQuery.isError,\n error: branchQuery.error,\n };\n }\n\n return {\n spans: traceQuery.data?.spans,\n anchorSpanId: undefined,\n isLoading: traceQuery.isLoading,\n isError: traceQuery.isError,\n error: traceQuery.error,\n };\n}\n"],"names":[],"mappings":";;;AAgCO,SAAS,qBAAA,CAAsB;AAAA,EACpC,OAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAA2D;AACzD,EAAA,MAAM,aAAa,QAAA,KAAa,UAAA;AAEhC,EAAA,MAAM,UAAA,GAAa,aAAA,CAAc,UAAA,GAAa,IAAA,GAAO,OAAO,CAAA;AAC5D,EAAA,MAAM,cAAc,SAAA,CAAU;AAAA,IAC5B,OAAA,EAAS,aAAa,OAAA,GAAU,IAAA;AAAA,IAChC,MAAA,EAAQ,aAAa,YAAA,GAAe,IAAA;AAAA,IACpC;AAAA,GACD,CAAA;AAED,EAAA,IAAI,UAAA,EAAY;AACd,IAAA,OAAO;AAAA,MACL,KAAA,EAAO,YAAY,IAAA,EAAM,KAAA;AAAA,MACzB,cAAc,YAAA,IAAgB,MAAA;AAAA,MAC9B,WAAW,WAAA,CAAY,SAAA;AAAA,MACvB,SAAS,WAAA,CAAY,OAAA;AAAA,MACrB,OAAO,WAAA,CAAY;AAAA,KACrB;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,WAAW,IAAA,EAAM,KAAA;AAAA,IACxB,YAAA,EAAc,MAAA;AAAA,IACd,WAAW,UAAA,CAAW,SAAA;AAAA,IACtB,SAAS,UAAA,CAAW,OAAA;AAAA,IACpB,OAAO,UAAA,CAAW;AAAA,GACpB;AACF;;;;"}
|
|
@@ -111,6 +111,7 @@ function useTraceQuery({
|
|
|
111
111
|
isFetchingNextPage,
|
|
112
112
|
fetchNextPage,
|
|
113
113
|
isLoading,
|
|
114
|
+
isPlaceholderData,
|
|
114
115
|
isFetching,
|
|
115
116
|
isRefetching,
|
|
116
117
|
fetchStatus,
|
|
@@ -130,6 +131,7 @@ function useTraceQuery({
|
|
|
130
131
|
isFetchingNextPage,
|
|
131
132
|
fetchNextPage,
|
|
132
133
|
isLoading,
|
|
134
|
+
isPlaceholderData,
|
|
133
135
|
isFetching,
|
|
134
136
|
isRefetching,
|
|
135
137
|
fetchStatus,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-trace-query.cjs.js","sources":["../../../../src/domains/traces/hooks/use-trace-query.ts"],"sourcesContent":["import { MastraClient } from '@mastra/client-js';\nimport type { QueryTracesKeysetInput, TraceQueryKeysetTraceResponse } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { keepPreviousData, skipToken, useInfiniteQuery } from '@tanstack/react-query';\nimport { useEffect } from 'react';\nimport type { buildTraceListFilters } from '../trace-filters';\nimport { useInView } from '@/hooks/use-in-view';\n\nexport const TRACE_QUERY_PER_PAGE = 25;\n\ntype TraceQueryTrace = TraceQueryKeysetTraceResponse['traces'][number];\n\ntype ListTracesArgs = NonNullable<Parameters<MastraClient['listTracesLight']>[0]>;\ntype LegacyTraceListFilters = ReturnType<typeof buildTraceListFilters>;\ntype ListTracesLightResponse = Awaited<ReturnType<MastraClient['listTracesLight']>>;\ntype LightSpanRecord = ListTracesLightResponse['spans'][number];\n\nexport type TraceQueryArgs = Omit<QueryTracesKeysetInput, 'page' | 'pagination'>;\n\nexport interface UseTraceQueryArgs {\n query: TraceQueryArgs | undefined;\n limit?: number;\n enabled?: boolean;\n refetchInterval?: number | false;\n refetchOnWindowFocus?: boolean;\n /** When false, lists traces through the legacy `listTracesLight` endpoint instead of the trace-query API. */\n withQueryTrace?: boolean;\n /** Filters for the legacy endpoint, as built by `buildTraceListFilters`. Only read when `withQueryTrace` is false. */\n legacyFilters?: LegacyTraceListFilters;\n}\n\nexport interface UseTraceQueryReturn {\n data: TraceQueryTrace[] | undefined;\n hasNextPage: boolean;\n isFetchingNextPage: boolean;\n fetchNextPage: () => void;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n fetchStatus: 'idle' | 'fetching' | 'paused';\n isError: boolean;\n error: Error | null;\n refetch: () => void;\n setEndOfListElement: (node: HTMLDivElement | null) => void;\n}\n\nexport function getTraceQueryNextPageParam(lastPage: TraceQueryKeysetTraceResponse | undefined): string | undefined {\n return lastPage?.page.next ?? undefined;\n}\n\nexport function selectTraceQueryTraces(data: { pages: TraceQueryKeysetTraceResponse[] }): TraceQueryTrace[] {\n const seen = new Set<string>();\n return data.pages.flatMap(page =>\n page.traces.filter(trace => {\n if (seen.has(trace.traceId)) return false;\n seen.add(trace.traceId);\n return true;\n }),\n );\n}\n\nconst toIsoString = (value: Date | string): string => (typeof value === 'string' ? value : value.toISOString());\n\n/** Maps a legacy light root span to a trace-query row. The light record carries no\n * environment, so it stays null. Running spans have no `endedAt` and may carry a\n * status outside the query API's enum; both are kept as-is (the list view handles them), hence the\n * assertion at this compatibility boundary. */\nexport function lightSpanToTraceQueryTrace(span: LightSpanRecord): TraceQueryTrace {\n const row = {\n traceId: span.traceId,\n rootSpanId: span.spanId,\n name: span.name,\n entityId: span.entityId ?? null,\n parentSpanId: span.parentSpanId ?? null,\n createdAt: toIsoString(span.createdAt),\n metadata: span.metadata ?? null,\n inputPreview: span.inputPreview ?? null,\n threadId: span.threadId ?? null,\n resourceId: span.resourceId ?? null,\n startedAt: toIsoString(span.startedAt),\n endedAt: span.endedAt == null ? span.endedAt : toIsoString(span.endedAt),\n entityName: span.entityName ?? null,\n entityType: span.entityType ?? null,\n environment: null,\n status: span.status,\n };\n return row as TraceQueryTrace;\n}\n\nexport function selectLegacyTraceQueryTraces(data: { pages: ListTracesLightResponse[] }): TraceQueryTrace[] {\n const seen = new Set<string>();\n return data.pages.flatMap(page =>\n page.spans.flatMap(span => {\n if (seen.has(span.traceId)) return [];\n seen.add(span.traceId);\n return [lightSpanToTraceQueryTrace(span)];\n }),\n );\n}\n\nexport function getLegacyTraceQueryNextPageParam(lastPage: ListTracesLightResponse): number | undefined {\n return lastPage.pagination?.hasMore ? lastPage.pagination.page + 1 : undefined;\n}\n\n/** Queries traces with cursor pagination and viewport-driven loading. */\nexport function useTraceQuery({\n query,\n limit = TRACE_QUERY_PER_PAGE,\n enabled = true,\n refetchInterval,\n refetchOnWindowFocus,\n withQueryTrace = true,\n legacyFilters,\n}: UseTraceQueryArgs): UseTraceQueryReturn {\n const client = useMastraClient();\n const { inView, setRef: setEndOfListElement } = useInView();\n const queryResult = useInfiniteQuery<\n TraceQueryKeysetTraceResponse,\n Error,\n TraceQueryTrace[],\n readonly unknown[],\n string | undefined\n >({\n queryKey: ['trace-query', query, limit] as const,\n queryFn: query\n ? async ({ pageParam }) => {\n // Capability failures must reach the fallback without the SDK retrying 501 responses.\n const queryClient = new MastraClient({ ...client.options, retries: 0 });\n const response = await queryClient.queryTraces({ ...query, page: { limit, after: pageParam ?? null } });\n if ('traces' in response && 'page' in response) return response;\n throw new Error('Expected a cursor-paginated trace query response');\n }\n : skipToken,\n initialPageParam: undefined,\n getNextPageParam: getTraceQueryNextPageParam,\n select: selectTraceQueryTraces,\n retry: false,\n placeholderData: keepPreviousData,\n refetchInterval,\n refetchOnWindowFocus,\n enabled: enabled && withQueryTrace,\n });\n const orderBy = query?.orderBy;\n const legacyDirection = orderBy?.[0]?.direction === 'asc' ? 'ASC' : 'DESC';\n const legacyResult = useInfiniteQuery<ListTracesLightResponse, Error, TraceQueryTrace[], readonly unknown[], number>({\n queryKey: ['trace-query-legacy', legacyFilters, limit, orderBy] as const,\n queryFn: ({ pageParam }) =>\n client.listTracesLight({\n // Core's date-range filter types `start`/`end` loosely; the client param type is stricter.\n filters: legacyFilters as ListTracesArgs['filters'],\n pagination: { page: pageParam, perPage: limit },\n orderBy: { field: 'startedAt', direction: legacyDirection },\n }),\n initialPageParam: 0,\n getNextPageParam: getLegacyTraceQueryNextPageParam,\n select: selectLegacyTraceQueryTraces,\n retry: false,\n placeholderData: keepPreviousData,\n refetchInterval,\n refetchOnWindowFocus,\n enabled: enabled && !withQueryTrace,\n });\n const result = withQueryTrace ? queryResult : legacyResult;\n const {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n isFetchNextPageError,\n } = result;\n\n useEffect(() => {\n if (enabled && inView && hasNextPage && !isFetching && !isFetchNextPageError) {\n void fetchNextPage();\n }\n }, [enabled, inView, hasNextPage, isFetching, isFetchNextPageError, fetchNextPage]);\n\n return {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n setEndOfListElement,\n };\n}\n"],"names":["useMastraClient","useInView","useInfiniteQuery","MastraClient","skipToken","keepPreviousData","useEffect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-trace-query.cjs.js","sources":["../../../../src/domains/traces/hooks/use-trace-query.ts"],"sourcesContent":["import { MastraClient } from '@mastra/client-js';\nimport type { QueryTracesKeysetInput, TraceQueryKeysetTraceResponse } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { keepPreviousData, skipToken, useInfiniteQuery } from '@tanstack/react-query';\nimport { useEffect } from 'react';\nimport type { buildTraceListFilters } from '../trace-filters';\nimport { useInView } from '@/hooks/use-in-view';\n\nexport const TRACE_QUERY_PER_PAGE = 25;\n\ntype TraceQueryTrace = TraceQueryKeysetTraceResponse['traces'][number];\n\ntype ListTracesArgs = NonNullable<Parameters<MastraClient['listTracesLight']>[0]>;\ntype LegacyTraceListFilters = ReturnType<typeof buildTraceListFilters>;\ntype ListTracesLightResponse = Awaited<ReturnType<MastraClient['listTracesLight']>>;\ntype LightSpanRecord = ListTracesLightResponse['spans'][number];\n\nexport type TraceQueryArgs = Omit<QueryTracesKeysetInput, 'page' | 'pagination'>;\n\nexport interface UseTraceQueryArgs {\n query: TraceQueryArgs | undefined;\n limit?: number;\n enabled?: boolean;\n refetchInterval?: number | false;\n refetchOnWindowFocus?: boolean;\n /** When false, lists traces through the legacy `listTracesLight` endpoint instead of the trace-query API. */\n withQueryTrace?: boolean;\n /** Filters for the legacy endpoint, as built by `buildTraceListFilters`. Only read when `withQueryTrace` is false. */\n legacyFilters?: LegacyTraceListFilters;\n}\n\nexport interface UseTraceQueryReturn {\n data: TraceQueryTrace[] | undefined;\n hasNextPage: boolean;\n isFetchingNextPage: boolean;\n fetchNextPage: () => void;\n isLoading: boolean;\n /** The rows belong to the previous query key (e.g. another thread) while the new one loads. */\n isPlaceholderData: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n fetchStatus: 'idle' | 'fetching' | 'paused';\n isError: boolean;\n error: Error | null;\n refetch: () => void;\n setEndOfListElement: (node: HTMLDivElement | null) => void;\n}\n\nexport function getTraceQueryNextPageParam(lastPage: TraceQueryKeysetTraceResponse | undefined): string | undefined {\n return lastPage?.page.next ?? undefined;\n}\n\nexport function selectTraceQueryTraces(data: { pages: TraceQueryKeysetTraceResponse[] }): TraceQueryTrace[] {\n const seen = new Set<string>();\n return data.pages.flatMap(page =>\n page.traces.filter(trace => {\n if (seen.has(trace.traceId)) return false;\n seen.add(trace.traceId);\n return true;\n }),\n );\n}\n\nconst toIsoString = (value: Date | string): string => (typeof value === 'string' ? value : value.toISOString());\n\n/** Maps a legacy light root span to a trace-query row. The light record carries no\n * environment, so it stays null. Running spans have no `endedAt` and may carry a\n * status outside the query API's enum; both are kept as-is (the list view handles them), hence the\n * assertion at this compatibility boundary. */\nexport function lightSpanToTraceQueryTrace(span: LightSpanRecord): TraceQueryTrace {\n const row = {\n traceId: span.traceId,\n rootSpanId: span.spanId,\n name: span.name,\n entityId: span.entityId ?? null,\n parentSpanId: span.parentSpanId ?? null,\n createdAt: toIsoString(span.createdAt),\n metadata: span.metadata ?? null,\n inputPreview: span.inputPreview ?? null,\n threadId: span.threadId ?? null,\n resourceId: span.resourceId ?? null,\n startedAt: toIsoString(span.startedAt),\n endedAt: span.endedAt == null ? span.endedAt : toIsoString(span.endedAt),\n entityName: span.entityName ?? null,\n entityType: span.entityType ?? null,\n environment: null,\n status: span.status,\n };\n return row as TraceQueryTrace;\n}\n\nexport function selectLegacyTraceQueryTraces(data: { pages: ListTracesLightResponse[] }): TraceQueryTrace[] {\n const seen = new Set<string>();\n return data.pages.flatMap(page =>\n page.spans.flatMap(span => {\n if (seen.has(span.traceId)) return [];\n seen.add(span.traceId);\n return [lightSpanToTraceQueryTrace(span)];\n }),\n );\n}\n\nexport function getLegacyTraceQueryNextPageParam(lastPage: ListTracesLightResponse): number | undefined {\n return lastPage.pagination?.hasMore ? lastPage.pagination.page + 1 : undefined;\n}\n\n/** Queries traces with cursor pagination and viewport-driven loading. */\nexport function useTraceQuery({\n query,\n limit = TRACE_QUERY_PER_PAGE,\n enabled = true,\n refetchInterval,\n refetchOnWindowFocus,\n withQueryTrace = true,\n legacyFilters,\n}: UseTraceQueryArgs): UseTraceQueryReturn {\n const client = useMastraClient();\n const { inView, setRef: setEndOfListElement } = useInView();\n const queryResult = useInfiniteQuery<\n TraceQueryKeysetTraceResponse,\n Error,\n TraceQueryTrace[],\n readonly unknown[],\n string | undefined\n >({\n queryKey: ['trace-query', query, limit] as const,\n queryFn: query\n ? async ({ pageParam }) => {\n // Capability failures must reach the fallback without the SDK retrying 501 responses.\n const queryClient = new MastraClient({ ...client.options, retries: 0 });\n const response = await queryClient.queryTraces({ ...query, page: { limit, after: pageParam ?? null } });\n if ('traces' in response && 'page' in response) return response;\n throw new Error('Expected a cursor-paginated trace query response');\n }\n : skipToken,\n initialPageParam: undefined,\n getNextPageParam: getTraceQueryNextPageParam,\n select: selectTraceQueryTraces,\n retry: false,\n placeholderData: keepPreviousData,\n refetchInterval,\n refetchOnWindowFocus,\n enabled: enabled && withQueryTrace,\n });\n const orderBy = query?.orderBy;\n const legacyDirection = orderBy?.[0]?.direction === 'asc' ? 'ASC' : 'DESC';\n const legacyResult = useInfiniteQuery<ListTracesLightResponse, Error, TraceQueryTrace[], readonly unknown[], number>({\n queryKey: ['trace-query-legacy', legacyFilters, limit, orderBy] as const,\n queryFn: ({ pageParam }) =>\n client.listTracesLight({\n // Core's date-range filter types `start`/`end` loosely; the client param type is stricter.\n filters: legacyFilters as ListTracesArgs['filters'],\n pagination: { page: pageParam, perPage: limit },\n orderBy: { field: 'startedAt', direction: legacyDirection },\n }),\n initialPageParam: 0,\n getNextPageParam: getLegacyTraceQueryNextPageParam,\n select: selectLegacyTraceQueryTraces,\n retry: false,\n placeholderData: keepPreviousData,\n refetchInterval,\n refetchOnWindowFocus,\n enabled: enabled && !withQueryTrace,\n });\n const result = withQueryTrace ? queryResult : legacyResult;\n const {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isPlaceholderData,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n isFetchNextPageError,\n } = result;\n\n useEffect(() => {\n if (enabled && inView && hasNextPage && !isFetching && !isFetchNextPageError) {\n void fetchNextPage();\n }\n }, [enabled, inView, hasNextPage, isFetching, isFetchNextPageError, fetchNextPage]);\n\n return {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isPlaceholderData,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n setEndOfListElement,\n };\n}\n"],"names":["useMastraClient","useInView","useInfiniteQuery","MastraClient","skipToken","keepPreviousData","useEffect"],"mappings":"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"}
|
|
@@ -107,6 +107,7 @@ function useTraceQuery({
|
|
|
107
107
|
isFetchingNextPage,
|
|
108
108
|
fetchNextPage,
|
|
109
109
|
isLoading,
|
|
110
|
+
isPlaceholderData,
|
|
110
111
|
isFetching,
|
|
111
112
|
isRefetching,
|
|
112
113
|
fetchStatus,
|
|
@@ -126,6 +127,7 @@ function useTraceQuery({
|
|
|
126
127
|
isFetchingNextPage,
|
|
127
128
|
fetchNextPage,
|
|
128
129
|
isLoading,
|
|
130
|
+
isPlaceholderData,
|
|
129
131
|
isFetching,
|
|
130
132
|
isRefetching,
|
|
131
133
|
fetchStatus,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-trace-query.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-query.ts"],"sourcesContent":["import { MastraClient } from '@mastra/client-js';\nimport type { QueryTracesKeysetInput, TraceQueryKeysetTraceResponse } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { keepPreviousData, skipToken, useInfiniteQuery } from '@tanstack/react-query';\nimport { useEffect } from 'react';\nimport type { buildTraceListFilters } from '../trace-filters';\nimport { useInView } from '@/hooks/use-in-view';\n\nexport const TRACE_QUERY_PER_PAGE = 25;\n\ntype TraceQueryTrace = TraceQueryKeysetTraceResponse['traces'][number];\n\ntype ListTracesArgs = NonNullable<Parameters<MastraClient['listTracesLight']>[0]>;\ntype LegacyTraceListFilters = ReturnType<typeof buildTraceListFilters>;\ntype ListTracesLightResponse = Awaited<ReturnType<MastraClient['listTracesLight']>>;\ntype LightSpanRecord = ListTracesLightResponse['spans'][number];\n\nexport type TraceQueryArgs = Omit<QueryTracesKeysetInput, 'page' | 'pagination'>;\n\nexport interface UseTraceQueryArgs {\n query: TraceQueryArgs | undefined;\n limit?: number;\n enabled?: boolean;\n refetchInterval?: number | false;\n refetchOnWindowFocus?: boolean;\n /** When false, lists traces through the legacy `listTracesLight` endpoint instead of the trace-query API. */\n withQueryTrace?: boolean;\n /** Filters for the legacy endpoint, as built by `buildTraceListFilters`. Only read when `withQueryTrace` is false. */\n legacyFilters?: LegacyTraceListFilters;\n}\n\nexport interface UseTraceQueryReturn {\n data: TraceQueryTrace[] | undefined;\n hasNextPage: boolean;\n isFetchingNextPage: boolean;\n fetchNextPage: () => void;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n fetchStatus: 'idle' | 'fetching' | 'paused';\n isError: boolean;\n error: Error | null;\n refetch: () => void;\n setEndOfListElement: (node: HTMLDivElement | null) => void;\n}\n\nexport function getTraceQueryNextPageParam(lastPage: TraceQueryKeysetTraceResponse | undefined): string | undefined {\n return lastPage?.page.next ?? undefined;\n}\n\nexport function selectTraceQueryTraces(data: { pages: TraceQueryKeysetTraceResponse[] }): TraceQueryTrace[] {\n const seen = new Set<string>();\n return data.pages.flatMap(page =>\n page.traces.filter(trace => {\n if (seen.has(trace.traceId)) return false;\n seen.add(trace.traceId);\n return true;\n }),\n );\n}\n\nconst toIsoString = (value: Date | string): string => (typeof value === 'string' ? value : value.toISOString());\n\n/** Maps a legacy light root span to a trace-query row. The light record carries no\n * environment, so it stays null. Running spans have no `endedAt` and may carry a\n * status outside the query API's enum; both are kept as-is (the list view handles them), hence the\n * assertion at this compatibility boundary. */\nexport function lightSpanToTraceQueryTrace(span: LightSpanRecord): TraceQueryTrace {\n const row = {\n traceId: span.traceId,\n rootSpanId: span.spanId,\n name: span.name,\n entityId: span.entityId ?? null,\n parentSpanId: span.parentSpanId ?? null,\n createdAt: toIsoString(span.createdAt),\n metadata: span.metadata ?? null,\n inputPreview: span.inputPreview ?? null,\n threadId: span.threadId ?? null,\n resourceId: span.resourceId ?? null,\n startedAt: toIsoString(span.startedAt),\n endedAt: span.endedAt == null ? span.endedAt : toIsoString(span.endedAt),\n entityName: span.entityName ?? null,\n entityType: span.entityType ?? null,\n environment: null,\n status: span.status,\n };\n return row as TraceQueryTrace;\n}\n\nexport function selectLegacyTraceQueryTraces(data: { pages: ListTracesLightResponse[] }): TraceQueryTrace[] {\n const seen = new Set<string>();\n return data.pages.flatMap(page =>\n page.spans.flatMap(span => {\n if (seen.has(span.traceId)) return [];\n seen.add(span.traceId);\n return [lightSpanToTraceQueryTrace(span)];\n }),\n );\n}\n\nexport function getLegacyTraceQueryNextPageParam(lastPage: ListTracesLightResponse): number | undefined {\n return lastPage.pagination?.hasMore ? lastPage.pagination.page + 1 : undefined;\n}\n\n/** Queries traces with cursor pagination and viewport-driven loading. */\nexport function useTraceQuery({\n query,\n limit = TRACE_QUERY_PER_PAGE,\n enabled = true,\n refetchInterval,\n refetchOnWindowFocus,\n withQueryTrace = true,\n legacyFilters,\n}: UseTraceQueryArgs): UseTraceQueryReturn {\n const client = useMastraClient();\n const { inView, setRef: setEndOfListElement } = useInView();\n const queryResult = useInfiniteQuery<\n TraceQueryKeysetTraceResponse,\n Error,\n TraceQueryTrace[],\n readonly unknown[],\n string | undefined\n >({\n queryKey: ['trace-query', query, limit] as const,\n queryFn: query\n ? async ({ pageParam }) => {\n // Capability failures must reach the fallback without the SDK retrying 501 responses.\n const queryClient = new MastraClient({ ...client.options, retries: 0 });\n const response = await queryClient.queryTraces({ ...query, page: { limit, after: pageParam ?? null } });\n if ('traces' in response && 'page' in response) return response;\n throw new Error('Expected a cursor-paginated trace query response');\n }\n : skipToken,\n initialPageParam: undefined,\n getNextPageParam: getTraceQueryNextPageParam,\n select: selectTraceQueryTraces,\n retry: false,\n placeholderData: keepPreviousData,\n refetchInterval,\n refetchOnWindowFocus,\n enabled: enabled && withQueryTrace,\n });\n const orderBy = query?.orderBy;\n const legacyDirection = orderBy?.[0]?.direction === 'asc' ? 'ASC' : 'DESC';\n const legacyResult = useInfiniteQuery<ListTracesLightResponse, Error, TraceQueryTrace[], readonly unknown[], number>({\n queryKey: ['trace-query-legacy', legacyFilters, limit, orderBy] as const,\n queryFn: ({ pageParam }) =>\n client.listTracesLight({\n // Core's date-range filter types `start`/`end` loosely; the client param type is stricter.\n filters: legacyFilters as ListTracesArgs['filters'],\n pagination: { page: pageParam, perPage: limit },\n orderBy: { field: 'startedAt', direction: legacyDirection },\n }),\n initialPageParam: 0,\n getNextPageParam: getLegacyTraceQueryNextPageParam,\n select: selectLegacyTraceQueryTraces,\n retry: false,\n placeholderData: keepPreviousData,\n refetchInterval,\n refetchOnWindowFocus,\n enabled: enabled && !withQueryTrace,\n });\n const result = withQueryTrace ? queryResult : legacyResult;\n const {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n isFetchNextPageError,\n } = result;\n\n useEffect(() => {\n if (enabled && inView && hasNextPage && !isFetching && !isFetchNextPageError) {\n void fetchNextPage();\n }\n }, [enabled, inView, hasNextPage, isFetching, isFetchNextPageError, fetchNextPage]);\n\n return {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n setEndOfListElement,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-trace-query.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-query.ts"],"sourcesContent":["import { MastraClient } from '@mastra/client-js';\nimport type { QueryTracesKeysetInput, TraceQueryKeysetTraceResponse } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { keepPreviousData, skipToken, useInfiniteQuery } from '@tanstack/react-query';\nimport { useEffect } from 'react';\nimport type { buildTraceListFilters } from '../trace-filters';\nimport { useInView } from '@/hooks/use-in-view';\n\nexport const TRACE_QUERY_PER_PAGE = 25;\n\ntype TraceQueryTrace = TraceQueryKeysetTraceResponse['traces'][number];\n\ntype ListTracesArgs = NonNullable<Parameters<MastraClient['listTracesLight']>[0]>;\ntype LegacyTraceListFilters = ReturnType<typeof buildTraceListFilters>;\ntype ListTracesLightResponse = Awaited<ReturnType<MastraClient['listTracesLight']>>;\ntype LightSpanRecord = ListTracesLightResponse['spans'][number];\n\nexport type TraceQueryArgs = Omit<QueryTracesKeysetInput, 'page' | 'pagination'>;\n\nexport interface UseTraceQueryArgs {\n query: TraceQueryArgs | undefined;\n limit?: number;\n enabled?: boolean;\n refetchInterval?: number | false;\n refetchOnWindowFocus?: boolean;\n /** When false, lists traces through the legacy `listTracesLight` endpoint instead of the trace-query API. */\n withQueryTrace?: boolean;\n /** Filters for the legacy endpoint, as built by `buildTraceListFilters`. Only read when `withQueryTrace` is false. */\n legacyFilters?: LegacyTraceListFilters;\n}\n\nexport interface UseTraceQueryReturn {\n data: TraceQueryTrace[] | undefined;\n hasNextPage: boolean;\n isFetchingNextPage: boolean;\n fetchNextPage: () => void;\n isLoading: boolean;\n /** The rows belong to the previous query key (e.g. another thread) while the new one loads. */\n isPlaceholderData: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n fetchStatus: 'idle' | 'fetching' | 'paused';\n isError: boolean;\n error: Error | null;\n refetch: () => void;\n setEndOfListElement: (node: HTMLDivElement | null) => void;\n}\n\nexport function getTraceQueryNextPageParam(lastPage: TraceQueryKeysetTraceResponse | undefined): string | undefined {\n return lastPage?.page.next ?? undefined;\n}\n\nexport function selectTraceQueryTraces(data: { pages: TraceQueryKeysetTraceResponse[] }): TraceQueryTrace[] {\n const seen = new Set<string>();\n return data.pages.flatMap(page =>\n page.traces.filter(trace => {\n if (seen.has(trace.traceId)) return false;\n seen.add(trace.traceId);\n return true;\n }),\n );\n}\n\nconst toIsoString = (value: Date | string): string => (typeof value === 'string' ? value : value.toISOString());\n\n/** Maps a legacy light root span to a trace-query row. The light record carries no\n * environment, so it stays null. Running spans have no `endedAt` and may carry a\n * status outside the query API's enum; both are kept as-is (the list view handles them), hence the\n * assertion at this compatibility boundary. */\nexport function lightSpanToTraceQueryTrace(span: LightSpanRecord): TraceQueryTrace {\n const row = {\n traceId: span.traceId,\n rootSpanId: span.spanId,\n name: span.name,\n entityId: span.entityId ?? null,\n parentSpanId: span.parentSpanId ?? null,\n createdAt: toIsoString(span.createdAt),\n metadata: span.metadata ?? null,\n inputPreview: span.inputPreview ?? null,\n threadId: span.threadId ?? null,\n resourceId: span.resourceId ?? null,\n startedAt: toIsoString(span.startedAt),\n endedAt: span.endedAt == null ? span.endedAt : toIsoString(span.endedAt),\n entityName: span.entityName ?? null,\n entityType: span.entityType ?? null,\n environment: null,\n status: span.status,\n };\n return row as TraceQueryTrace;\n}\n\nexport function selectLegacyTraceQueryTraces(data: { pages: ListTracesLightResponse[] }): TraceQueryTrace[] {\n const seen = new Set<string>();\n return data.pages.flatMap(page =>\n page.spans.flatMap(span => {\n if (seen.has(span.traceId)) return [];\n seen.add(span.traceId);\n return [lightSpanToTraceQueryTrace(span)];\n }),\n );\n}\n\nexport function getLegacyTraceQueryNextPageParam(lastPage: ListTracesLightResponse): number | undefined {\n return lastPage.pagination?.hasMore ? lastPage.pagination.page + 1 : undefined;\n}\n\n/** Queries traces with cursor pagination and viewport-driven loading. */\nexport function useTraceQuery({\n query,\n limit = TRACE_QUERY_PER_PAGE,\n enabled = true,\n refetchInterval,\n refetchOnWindowFocus,\n withQueryTrace = true,\n legacyFilters,\n}: UseTraceQueryArgs): UseTraceQueryReturn {\n const client = useMastraClient();\n const { inView, setRef: setEndOfListElement } = useInView();\n const queryResult = useInfiniteQuery<\n TraceQueryKeysetTraceResponse,\n Error,\n TraceQueryTrace[],\n readonly unknown[],\n string | undefined\n >({\n queryKey: ['trace-query', query, limit] as const,\n queryFn: query\n ? async ({ pageParam }) => {\n // Capability failures must reach the fallback without the SDK retrying 501 responses.\n const queryClient = new MastraClient({ ...client.options, retries: 0 });\n const response = await queryClient.queryTraces({ ...query, page: { limit, after: pageParam ?? null } });\n if ('traces' in response && 'page' in response) return response;\n throw new Error('Expected a cursor-paginated trace query response');\n }\n : skipToken,\n initialPageParam: undefined,\n getNextPageParam: getTraceQueryNextPageParam,\n select: selectTraceQueryTraces,\n retry: false,\n placeholderData: keepPreviousData,\n refetchInterval,\n refetchOnWindowFocus,\n enabled: enabled && withQueryTrace,\n });\n const orderBy = query?.orderBy;\n const legacyDirection = orderBy?.[0]?.direction === 'asc' ? 'ASC' : 'DESC';\n const legacyResult = useInfiniteQuery<ListTracesLightResponse, Error, TraceQueryTrace[], readonly unknown[], number>({\n queryKey: ['trace-query-legacy', legacyFilters, limit, orderBy] as const,\n queryFn: ({ pageParam }) =>\n client.listTracesLight({\n // Core's date-range filter types `start`/`end` loosely; the client param type is stricter.\n filters: legacyFilters as ListTracesArgs['filters'],\n pagination: { page: pageParam, perPage: limit },\n orderBy: { field: 'startedAt', direction: legacyDirection },\n }),\n initialPageParam: 0,\n getNextPageParam: getLegacyTraceQueryNextPageParam,\n select: selectLegacyTraceQueryTraces,\n retry: false,\n placeholderData: keepPreviousData,\n refetchInterval,\n refetchOnWindowFocus,\n enabled: enabled && !withQueryTrace,\n });\n const result = withQueryTrace ? queryResult : legacyResult;\n const {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isPlaceholderData,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n isFetchNextPageError,\n } = result;\n\n useEffect(() => {\n if (enabled && inView && hasNextPage && !isFetching && !isFetchNextPageError) {\n void fetchNextPage();\n }\n }, [enabled, inView, hasNextPage, isFetching, isFetchNextPageError, fetchNextPage]);\n\n return {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isPlaceholderData,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n setEndOfListElement,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -4,21 +4,26 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4
4
|
|
|
5
5
|
const React = require('react');
|
|
6
6
|
const domains_traces_utils_filterSpansKeepingAncestors = require('../utils/filter-spans-keeping-ancestors.cjs.js');
|
|
7
|
+
const domains_traces_utils_toSearchableSpans = require('../utils/to-searchable-spans.cjs.js');
|
|
7
8
|
|
|
8
9
|
function useTraceSearch(spans) {
|
|
9
10
|
const [query, setQuery] = React.useState("");
|
|
10
11
|
const deferredQuery = React.useDeferredValue(query);
|
|
12
|
+
const searchTextById = React.useMemo(
|
|
13
|
+
() => new Map(domains_traces_utils_toSearchableSpans.toSearchableSpans(spans).map((span) => [span.spanId, span.searchText])),
|
|
14
|
+
[spans]
|
|
15
|
+
);
|
|
11
16
|
const { results, payloadOnlyMatchIds } = React.useMemo(() => {
|
|
12
17
|
const term = deferredQuery.trim().toLowerCase();
|
|
13
18
|
if (!term) return { results: spans, payloadOnlyMatchIds: /* @__PURE__ */ new Set() };
|
|
14
19
|
const payloadOnly = /* @__PURE__ */ new Set();
|
|
15
20
|
const filtered = domains_traces_utils_filterSpansKeepingAncestors.filterSpansKeepingAncestors(spans, (span) => {
|
|
16
|
-
if (!span.
|
|
21
|
+
if (!searchTextById.get(span.spanId)?.includes(term)) return false;
|
|
17
22
|
if (!span.name.toLowerCase().includes(term)) payloadOnly.add(span.spanId);
|
|
18
23
|
return true;
|
|
19
24
|
});
|
|
20
25
|
return { results: filtered, payloadOnlyMatchIds: payloadOnly };
|
|
21
|
-
}, [spans, deferredQuery]);
|
|
26
|
+
}, [spans, searchTextById, deferredQuery]);
|
|
22
27
|
return { query, setQuery, results, payloadOnlyMatchIds, isPending: query !== deferredQuery };
|
|
23
28
|
}
|
|
24
29
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-trace-search.cjs.js","sources":["../../../../src/domains/traces/hooks/use-trace-search.ts"],"sourcesContent":["import { useDeferredValue, useMemo, useState } from 'react';\nimport type {
|
|
1
|
+
{"version":3,"file":"use-trace-search.cjs.js","sources":["../../../../src/domains/traces/hooks/use-trace-search.ts"],"sourcesContent":["import { useDeferredValue, useMemo, useState } from 'react';\nimport type { LightSpanRecord } from '../types';\nimport { filterSpansKeepingAncestors, toSearchableSpans } from '../utils';\n\nexport interface UseTraceSearchResult<Span extends LightSpanRecord = LightSpanRecord> {\n /** The immediate, user-facing input value. Bind this to the search field. */\n query: string;\n setQuery: (query: string) => void;\n /** Rows matching the deferred query. An empty query returns the input array reference. */\n results: Span[];\n /**\n * Spans that matched somewhere other than their name — in `metadata`, `attributes` or\n * `error`. Their row shows no visible occurrence of the term, so the surface needs to say\n * why it is there. Ancestors kept only to preserve the hierarchy are not in here: they did\n * not match at all. Empty while the query is empty.\n */\n payloadOnlyMatchIds: Set<string>;\n /** True while the deferred value is behind `query` (the list is still catching up). */\n isPending: boolean;\n}\n\n/**\n * Client-side search over a flat span list.\n *\n * Matching is a substring test against a lowercased haystack built once per `spans` array\n * (see `toSearchableSpans`). That is what makes the open-ended `metadata` and `error`\n * payloads searchable: their shapes are unknown, so no fixed list of fields can read them.\n *\n * The haystack lives here, not in the data hooks, so only a mounted search surface pays for\n * flattening. Views that merely render spans (e.g. the thread view, which shows every trace\n * of a thread at once) never build it.\n *\n * Filtering is keyed on a deferred copy of the query, so typing stays responsive while a\n * large list re-filters at lower priority — bind the input to `query`, not to the deferred\n * value. A matching span keeps its ancestors and its whole subtree, so the hierarchy stays\n * intact.\n *\n * `spans` is required. Resolving the loading/empty state is the caller's job — a component\n * holding a query result passes `data?.spans ?? []`.\n */\nexport function useTraceSearch<Span extends LightSpanRecord>(spans: Span[]): UseTraceSearchResult<Span> {\n const [query, setQuery] = useState('');\n const deferredQuery = useDeferredValue(query);\n\n const searchTextById = useMemo(\n () => new Map(toSearchableSpans(spans).map(span => [span.spanId, span.searchText])),\n [spans],\n );\n\n const { results, payloadOnlyMatchIds } = useMemo(() => {\n const term = deferredQuery.trim().toLowerCase();\n if (!term) return { results: spans, payloadOnlyMatchIds: new Set<string>() };\n\n const payloadOnly = new Set<string>();\n const filtered = filterSpansKeepingAncestors(spans, span => {\n if (!searchTextById.get(span.spanId)?.includes(term)) return false;\n // The name is the only part of a span the timeline paints, so a match it doesn't\n // contain came from the payload.\n if (!span.name.toLowerCase().includes(term)) payloadOnly.add(span.spanId);\n return true;\n });\n\n return { results: filtered, payloadOnlyMatchIds: payloadOnly };\n }, [spans, searchTextById, deferredQuery]);\n\n return { query, setQuery, results, payloadOnlyMatchIds, isPending: query !== deferredQuery };\n}\n"],"names":["useState","useDeferredValue","useMemo","toSearchableSpans","filterSpansKeepingAncestors"],"mappings":";;;;;;;;AAwCO,SAAS,eAA6C,KAAA,EAA2C;AACtG,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,eAAS,EAAE,CAAA;AACrC,EAAA,MAAM,aAAA,GAAgBC,uBAAiB,KAAK,CAAA;AAE5C,EAAA,MAAM,cAAA,GAAiBC,aAAA;AAAA,IACrB,MAAM,IAAI,GAAA,CAAIC,wDAAA,CAAkB,KAAK,CAAA,CAAE,GAAA,CAAI,CAAA,IAAA,KAAQ,CAAC,IAAA,CAAK,MAAA,EAAQ,IAAA,CAAK,UAAU,CAAC,CAAC,CAAA;AAAA,IAClF,CAAC,KAAK;AAAA,GACR;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,mBAAA,EAAoB,GAAID,cAAQ,MAAM;AACrD,IAAA,MAAM,IAAA,GAAO,aAAA,CAAc,IAAA,EAAK,CAAE,WAAA,EAAY;AAC9C,IAAA,IAAI,CAAC,MAAM,OAAO,EAAE,SAAS,KAAA,EAAO,mBAAA,kBAAqB,IAAI,GAAA,EAAY,EAAE;AAE3E,IAAA,MAAM,WAAA,uBAAkB,GAAA,EAAY;AACpC,IAAA,MAAM,QAAA,GAAWE,4EAAA,CAA4B,KAAA,EAAO,CAAA,IAAA,KAAQ;AAC1D,MAAA,IAAI,CAAC,eAAe,GAAA,CAAI,IAAA,CAAK,MAAM,CAAA,EAAG,QAAA,CAAS,IAAI,CAAA,EAAG,OAAO,KAAA;AAG7D,MAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,WAAA,EAAY,CAAE,QAAA,CAAS,IAAI,CAAA,EAAG,WAAA,CAAY,GAAA,CAAI,IAAA,CAAK,MAAM,CAAA;AACxE,MAAA,OAAO,IAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,OAAO,EAAE,OAAA,EAAS,QAAA,EAAU,mBAAA,EAAqB,WAAA,EAAY;AAAA,EAC/D,CAAA,EAAG,CAAC,KAAA,EAAO,cAAA,EAAgB,aAAa,CAAC,CAAA;AAEzC,EAAA,OAAO,EAAE,KAAA,EAAO,QAAA,EAAU,SAAS,mBAAA,EAAqB,SAAA,EAAW,UAAU,aAAA,EAAc;AAC7F;;;;"}
|
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
import { useState, useDeferredValue, useMemo } from 'react';
|
|
2
2
|
import { filterSpansKeepingAncestors } from '../utils/filter-spans-keeping-ancestors.es.js';
|
|
3
|
+
import { toSearchableSpans } from '../utils/to-searchable-spans.es.js';
|
|
3
4
|
|
|
4
5
|
function useTraceSearch(spans) {
|
|
5
6
|
const [query, setQuery] = useState("");
|
|
6
7
|
const deferredQuery = useDeferredValue(query);
|
|
8
|
+
const searchTextById = useMemo(
|
|
9
|
+
() => new Map(toSearchableSpans(spans).map((span) => [span.spanId, span.searchText])),
|
|
10
|
+
[spans]
|
|
11
|
+
);
|
|
7
12
|
const { results, payloadOnlyMatchIds } = useMemo(() => {
|
|
8
13
|
const term = deferredQuery.trim().toLowerCase();
|
|
9
14
|
if (!term) return { results: spans, payloadOnlyMatchIds: /* @__PURE__ */ new Set() };
|
|
10
15
|
const payloadOnly = /* @__PURE__ */ new Set();
|
|
11
16
|
const filtered = filterSpansKeepingAncestors(spans, (span) => {
|
|
12
|
-
if (!span.
|
|
17
|
+
if (!searchTextById.get(span.spanId)?.includes(term)) return false;
|
|
13
18
|
if (!span.name.toLowerCase().includes(term)) payloadOnly.add(span.spanId);
|
|
14
19
|
return true;
|
|
15
20
|
});
|
|
16
21
|
return { results: filtered, payloadOnlyMatchIds: payloadOnly };
|
|
17
|
-
}, [spans, deferredQuery]);
|
|
22
|
+
}, [spans, searchTextById, deferredQuery]);
|
|
18
23
|
return { query, setQuery, results, payloadOnlyMatchIds, isPending: query !== deferredQuery };
|
|
19
24
|
}
|
|
20
25
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-trace-search.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-search.ts"],"sourcesContent":["import { useDeferredValue, useMemo, useState } from 'react';\nimport type {
|
|
1
|
+
{"version":3,"file":"use-trace-search.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-search.ts"],"sourcesContent":["import { useDeferredValue, useMemo, useState } from 'react';\nimport type { LightSpanRecord } from '../types';\nimport { filterSpansKeepingAncestors, toSearchableSpans } from '../utils';\n\nexport interface UseTraceSearchResult<Span extends LightSpanRecord = LightSpanRecord> {\n /** The immediate, user-facing input value. Bind this to the search field. */\n query: string;\n setQuery: (query: string) => void;\n /** Rows matching the deferred query. An empty query returns the input array reference. */\n results: Span[];\n /**\n * Spans that matched somewhere other than their name — in `metadata`, `attributes` or\n * `error`. Their row shows no visible occurrence of the term, so the surface needs to say\n * why it is there. Ancestors kept only to preserve the hierarchy are not in here: they did\n * not match at all. Empty while the query is empty.\n */\n payloadOnlyMatchIds: Set<string>;\n /** True while the deferred value is behind `query` (the list is still catching up). */\n isPending: boolean;\n}\n\n/**\n * Client-side search over a flat span list.\n *\n * Matching is a substring test against a lowercased haystack built once per `spans` array\n * (see `toSearchableSpans`). That is what makes the open-ended `metadata` and `error`\n * payloads searchable: their shapes are unknown, so no fixed list of fields can read them.\n *\n * The haystack lives here, not in the data hooks, so only a mounted search surface pays for\n * flattening. Views that merely render spans (e.g. the thread view, which shows every trace\n * of a thread at once) never build it.\n *\n * Filtering is keyed on a deferred copy of the query, so typing stays responsive while a\n * large list re-filters at lower priority — bind the input to `query`, not to the deferred\n * value. A matching span keeps its ancestors and its whole subtree, so the hierarchy stays\n * intact.\n *\n * `spans` is required. Resolving the loading/empty state is the caller's job — a component\n * holding a query result passes `data?.spans ?? []`.\n */\nexport function useTraceSearch<Span extends LightSpanRecord>(spans: Span[]): UseTraceSearchResult<Span> {\n const [query, setQuery] = useState('');\n const deferredQuery = useDeferredValue(query);\n\n const searchTextById = useMemo(\n () => new Map(toSearchableSpans(spans).map(span => [span.spanId, span.searchText])),\n [spans],\n );\n\n const { results, payloadOnlyMatchIds } = useMemo(() => {\n const term = deferredQuery.trim().toLowerCase();\n if (!term) return { results: spans, payloadOnlyMatchIds: new Set<string>() };\n\n const payloadOnly = new Set<string>();\n const filtered = filterSpansKeepingAncestors(spans, span => {\n if (!searchTextById.get(span.spanId)?.includes(term)) return false;\n // The name is the only part of a span the timeline paints, so a match it doesn't\n // contain came from the payload.\n if (!span.name.toLowerCase().includes(term)) payloadOnly.add(span.spanId);\n return true;\n });\n\n return { results: filtered, payloadOnlyMatchIds: payloadOnly };\n }, [spans, searchTextById, deferredQuery]);\n\n return { query, setQuery, results, payloadOnlyMatchIds, isPending: query !== deferredQuery };\n}\n"],"names":[],"mappings":";;;;AAwCO,SAAS,eAA6C,KAAA,EAA2C;AACtG,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,EAAE,CAAA;AACrC,EAAA,MAAM,aAAA,GAAgB,iBAAiB,KAAK,CAAA;AAE5C,EAAA,MAAM,cAAA,GAAiB,OAAA;AAAA,IACrB,MAAM,IAAI,GAAA,CAAI,iBAAA,CAAkB,KAAK,CAAA,CAAE,GAAA,CAAI,CAAA,IAAA,KAAQ,CAAC,IAAA,CAAK,MAAA,EAAQ,IAAA,CAAK,UAAU,CAAC,CAAC,CAAA;AAAA,IAClF,CAAC,KAAK;AAAA,GACR;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,mBAAA,EAAoB,GAAI,QAAQ,MAAM;AACrD,IAAA,MAAM,IAAA,GAAO,aAAA,CAAc,IAAA,EAAK,CAAE,WAAA,EAAY;AAC9C,IAAA,IAAI,CAAC,MAAM,OAAO,EAAE,SAAS,KAAA,EAAO,mBAAA,kBAAqB,IAAI,GAAA,EAAY,EAAE;AAE3E,IAAA,MAAM,WAAA,uBAAkB,GAAA,EAAY;AACpC,IAAA,MAAM,QAAA,GAAW,2BAAA,CAA4B,KAAA,EAAO,CAAA,IAAA,KAAQ;AAC1D,MAAA,IAAI,CAAC,eAAe,GAAA,CAAI,IAAA,CAAK,MAAM,CAAA,EAAG,QAAA,CAAS,IAAI,CAAA,EAAG,OAAO,KAAA;AAG7D,MAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,WAAA,EAAY,CAAE,QAAA,CAAS,IAAI,CAAA,EAAG,WAAA,CAAY,GAAA,CAAI,IAAA,CAAK,MAAM,CAAA;AACxE,MAAA,OAAO,IAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,OAAO,EAAE,OAAA,EAAS,QAAA,EAAU,mBAAA,EAAqB,WAAA,EAAY;AAAA,EAC/D,CAAA,EAAG,CAAC,KAAA,EAAO,cAAA,EAAgB,aAAa,CAAC,CAAA;AAEzC,EAAA,OAAO,EAAE,KAAA,EAAO,QAAA,EAAU,SAAS,mBAAA,EAAqB,SAAA,EAAW,UAAU,aAAA,EAAc;AAC7F;;;;"}
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4
4
|
|
|
5
5
|
const react = require('@mastra/react');
|
|
6
6
|
const reactQuery = require('@tanstack/react-query');
|
|
7
|
-
const domains_traces_utils_toSearchableSpans = require('../utils/to-searchable-spans.cjs.js');
|
|
8
7
|
|
|
9
8
|
const traceSpansQueryOptions = (client, traceId) => reactQuery.queryOptions({
|
|
10
9
|
queryKey: ["trace-spans", traceId],
|
|
@@ -19,7 +18,6 @@ const traceSpansQueryOptions = (client, traceId) => reactQuery.queryOptions({
|
|
|
19
18
|
// Resumed runs and delayed exports can append spans even when every known span has ended.
|
|
20
19
|
staleTime: 0
|
|
21
20
|
});
|
|
22
|
-
const selectSearchableTraceSpans = (data) => data ? { ...data, spans: domains_traces_utils_toSearchableSpans.toSearchableSpans(data.spans) } : null;
|
|
23
21
|
function useTraceSpans(traceId, { passive = false } = {}) {
|
|
24
22
|
const client = react.useMastraClient();
|
|
25
23
|
return reactQuery.useQuery({
|
|
@@ -27,9 +25,7 @@ function useTraceSpans(traceId, { passive = false } = {}) {
|
|
|
27
25
|
// History rows share updates but leave automatic refreshes to the selected detail.
|
|
28
26
|
refetchOnMount: !passive,
|
|
29
27
|
refetchOnWindowFocus: !passive,
|
|
30
|
-
refetchOnReconnect: !passive
|
|
31
|
-
// Builds each span's search haystack once per fetch, cached with the query.
|
|
32
|
-
select: selectSearchableTraceSpans
|
|
28
|
+
refetchOnReconnect: !passive
|
|
33
29
|
});
|
|
34
30
|
}
|
|
35
31
|
function useTraceSpansQueries(traceIds, select, fallback) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-trace-spans.cjs.js","sources":["../../../../src/domains/traces/hooks/use-trace-spans.ts"],"sourcesContent":["import type { MastraClient } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { queryOptions, useQueries, useQuery } from '@tanstack/react-query';\nimport type { UseQueryResult } from '@tanstack/react-query';\
|
|
1
|
+
{"version":3,"file":"use-trace-spans.cjs.js","sources":["../../../../src/domains/traces/hooks/use-trace-spans.ts"],"sourcesContent":["import type { MastraClient } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { queryOptions, useQueries, useQuery } from '@tanstack/react-query';\nimport type { UseQueryResult } from '@tanstack/react-query';\n\n/**\n * Key, fetcher and stale policy of the `trace-spans` query. Every observer of this key must\n * share these (rather than only the key) so one observer with a stricter `staleTime` does not\n * refetch data another one considers fresh.\n */\nexport const traceSpansQueryOptions = (client: MastraClient, traceId: string | null | undefined) =>\n queryOptions({\n queryKey: ['trace-spans', traceId],\n queryFn: async () => {\n if (!traceId) {\n throw new Error('Trace ID is required');\n }\n const res = await client.getTrace(traceId);\n return res;\n },\n enabled: !!traceId,\n // Resumed runs and delayed exports can append spans even when every known span has ended.\n staleTime: 0,\n });\n\n/**\n * Every span of a single trace, with its full payload.\n *\n * The lightweight projection exists to keep blob columns off the read path of a\n * *list*, where the cost is paid once per trace on screen. A trace that is open\n * has already narrowed that to one, and the panel both renders and searches\n * these spans -- `input`, `output` and `attributes` included -- so the\n * projection would only hide content the reader is looking at.\n */\nexport type TraceSpansData = Awaited<ReturnType<MastraClient['getTrace']>>;\n\nexport function useTraceSpans(\n traceId: string | null | undefined,\n { passive = false }: { passive?: boolean } = {},\n): UseQueryResult<TraceSpansData> {\n const client = useMastraClient();\n\n return useQuery({\n ...traceSpansQueryOptions(client, traceId),\n // History rows share updates but leave automatic refreshes to the selected detail.\n refetchOnMount: !passive,\n refetchOnWindowFocus: !passive,\n refetchOnReconnect: !passive,\n });\n}\n\n/**\n * Observes the `trace-spans` query of several traces at once and projects each one with `select`.\n * Traces still loading (or failed) yield `fallback(traceId)` so the result always lines up with `traceIds`.\n */\nexport function useTraceSpansQueries<T>(\n traceIds: string[],\n select: (traceId: string, data: TraceSpansData) => T,\n fallback: (traceId: string) => T,\n): T[] {\n const client = useMastraClient();\n\n return useQueries({\n queries: traceIds.map(traceId => ({\n ...traceSpansQueryOptions(client, traceId),\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n select: (data: TraceSpansData) => select(traceId, data),\n })),\n combine: results =>\n results.map((result, index) =>\n result.data === undefined ? fallback(traceIds[index] ?? '') : (result.data as T),\n ),\n });\n}\n"],"names":["queryOptions","useMastraClient","useQuery","useQueries"],"mappings":";;;;;;;AAUO,MAAM,sBAAA,GAAyB,CAAC,MAAA,EAAsB,OAAA,KAC3DA,uBAAA,CAAa;AAAA,EACX,QAAA,EAAU,CAAC,aAAA,EAAe,OAAO,CAAA;AAAA,EACjC,SAAS,YAAY;AACnB,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,MAAM,IAAI,MAAM,sBAAsB,CAAA;AAAA,IACxC;AACA,IAAA,MAAM,GAAA,GAAM,MAAM,MAAA,CAAO,QAAA,CAAS,OAAO,CAAA;AACzC,IAAA,OAAO,GAAA;AAAA,EACT,CAAA;AAAA,EACA,OAAA,EAAS,CAAC,CAAC,OAAA;AAAA;AAAA,EAEX,SAAA,EAAW;AACb,CAAC;AAaI,SAAS,cACd,OAAA,EACA,EAAE,UAAU,KAAA,EAAM,GAA2B,EAAC,EACd;AAChC,EAAA,MAAM,SAASC,qBAAA,EAAgB;AAE/B,EAAA,OAAOC,mBAAA,CAAS;AAAA,IACd,GAAG,sBAAA,CAAuB,MAAA,EAAQ,OAAO,CAAA;AAAA;AAAA,IAEzC,gBAAgB,CAAC,OAAA;AAAA,IACjB,sBAAsB,CAAC,OAAA;AAAA,IACvB,oBAAoB,CAAC;AAAA,GACtB,CAAA;AACH;AAMO,SAAS,oBAAA,CACd,QAAA,EACA,MAAA,EACA,QAAA,EACK;AACL,EAAA,MAAM,SAASD,qBAAA,EAAgB;AAE/B,EAAA,OAAOE,qBAAA,CAAW;AAAA,IAChB,OAAA,EAAS,QAAA,CAAS,GAAA,CAAI,CAAA,OAAA,MAAY;AAAA,MAChC,GAAG,sBAAA,CAAuB,MAAA,EAAQ,OAAO,CAAA;AAAA,MACzC,cAAA,EAAgB,KAAA;AAAA,MAChB,oBAAA,EAAsB,KAAA;AAAA,MACtB,kBAAA,EAAoB,KAAA;AAAA,MACpB,MAAA,EAAQ,CAAC,IAAA,KAAyB,MAAA,CAAO,SAAS,IAAI;AAAA,KACxD,CAAE,CAAA;AAAA,IACF,OAAA,EAAS,aACP,OAAA,CAAQ,GAAA;AAAA,MAAI,CAAC,MAAA,EAAQ,KAAA,KACnB,MAAA,CAAO,IAAA,KAAS,MAAA,GAAY,QAAA,CAAS,QAAA,CAAS,KAAK,CAAA,IAAK,EAAE,CAAA,GAAK,MAAA,CAAO;AAAA;AACxE,GACH,CAAA;AACH;;;;;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { useMastraClient } from '@mastra/react';
|
|
2
2
|
import { useQuery, queryOptions, useQueries } from '@tanstack/react-query';
|
|
3
|
-
import { toSearchableSpans } from '../utils/to-searchable-spans.es.js';
|
|
4
3
|
|
|
5
4
|
const traceSpansQueryOptions = (client, traceId) => queryOptions({
|
|
6
5
|
queryKey: ["trace-spans", traceId],
|
|
@@ -15,7 +14,6 @@ const traceSpansQueryOptions = (client, traceId) => queryOptions({
|
|
|
15
14
|
// Resumed runs and delayed exports can append spans even when every known span has ended.
|
|
16
15
|
staleTime: 0
|
|
17
16
|
});
|
|
18
|
-
const selectSearchableTraceSpans = (data) => data ? { ...data, spans: toSearchableSpans(data.spans) } : null;
|
|
19
17
|
function useTraceSpans(traceId, { passive = false } = {}) {
|
|
20
18
|
const client = useMastraClient();
|
|
21
19
|
return useQuery({
|
|
@@ -23,9 +21,7 @@ function useTraceSpans(traceId, { passive = false } = {}) {
|
|
|
23
21
|
// History rows share updates but leave automatic refreshes to the selected detail.
|
|
24
22
|
refetchOnMount: !passive,
|
|
25
23
|
refetchOnWindowFocus: !passive,
|
|
26
|
-
refetchOnReconnect: !passive
|
|
27
|
-
// Builds each span's search haystack once per fetch, cached with the query.
|
|
28
|
-
select: selectSearchableTraceSpans
|
|
24
|
+
refetchOnReconnect: !passive
|
|
29
25
|
});
|
|
30
26
|
}
|
|
31
27
|
function useTraceSpansQueries(traceIds, select, fallback) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-trace-spans.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-spans.ts"],"sourcesContent":["import type { MastraClient } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { queryOptions, useQueries, useQuery } from '@tanstack/react-query';\nimport type { UseQueryResult } from '@tanstack/react-query';\
|
|
1
|
+
{"version":3,"file":"use-trace-spans.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-spans.ts"],"sourcesContent":["import type { MastraClient } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { queryOptions, useQueries, useQuery } from '@tanstack/react-query';\nimport type { UseQueryResult } from '@tanstack/react-query';\n\n/**\n * Key, fetcher and stale policy of the `trace-spans` query. Every observer of this key must\n * share these (rather than only the key) so one observer with a stricter `staleTime` does not\n * refetch data another one considers fresh.\n */\nexport const traceSpansQueryOptions = (client: MastraClient, traceId: string | null | undefined) =>\n queryOptions({\n queryKey: ['trace-spans', traceId],\n queryFn: async () => {\n if (!traceId) {\n throw new Error('Trace ID is required');\n }\n const res = await client.getTrace(traceId);\n return res;\n },\n enabled: !!traceId,\n // Resumed runs and delayed exports can append spans even when every known span has ended.\n staleTime: 0,\n });\n\n/**\n * Every span of a single trace, with its full payload.\n *\n * The lightweight projection exists to keep blob columns off the read path of a\n * *list*, where the cost is paid once per trace on screen. A trace that is open\n * has already narrowed that to one, and the panel both renders and searches\n * these spans -- `input`, `output` and `attributes` included -- so the\n * projection would only hide content the reader is looking at.\n */\nexport type TraceSpansData = Awaited<ReturnType<MastraClient['getTrace']>>;\n\nexport function useTraceSpans(\n traceId: string | null | undefined,\n { passive = false }: { passive?: boolean } = {},\n): UseQueryResult<TraceSpansData> {\n const client = useMastraClient();\n\n return useQuery({\n ...traceSpansQueryOptions(client, traceId),\n // History rows share updates but leave automatic refreshes to the selected detail.\n refetchOnMount: !passive,\n refetchOnWindowFocus: !passive,\n refetchOnReconnect: !passive,\n });\n}\n\n/**\n * Observes the `trace-spans` query of several traces at once and projects each one with `select`.\n * Traces still loading (or failed) yield `fallback(traceId)` so the result always lines up with `traceIds`.\n */\nexport function useTraceSpansQueries<T>(\n traceIds: string[],\n select: (traceId: string, data: TraceSpansData) => T,\n fallback: (traceId: string) => T,\n): T[] {\n const client = useMastraClient();\n\n return useQueries({\n queries: traceIds.map(traceId => ({\n ...traceSpansQueryOptions(client, traceId),\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n select: (data: TraceSpansData) => select(traceId, data),\n })),\n combine: results =>\n results.map((result, index) =>\n result.data === undefined ? fallback(traceIds[index] ?? '') : (result.data as T),\n ),\n });\n}\n"],"names":[],"mappings":";;;AAUO,MAAM,sBAAA,GAAyB,CAAC,MAAA,EAAsB,OAAA,KAC3D,YAAA,CAAa;AAAA,EACX,QAAA,EAAU,CAAC,aAAA,EAAe,OAAO,CAAA;AAAA,EACjC,SAAS,YAAY;AACnB,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,MAAM,IAAI,MAAM,sBAAsB,CAAA;AAAA,IACxC;AACA,IAAA,MAAM,GAAA,GAAM,MAAM,MAAA,CAAO,QAAA,CAAS,OAAO,CAAA;AACzC,IAAA,OAAO,GAAA;AAAA,EACT,CAAA;AAAA,EACA,OAAA,EAAS,CAAC,CAAC,OAAA;AAAA;AAAA,EAEX,SAAA,EAAW;AACb,CAAC;AAaI,SAAS,cACd,OAAA,EACA,EAAE,UAAU,KAAA,EAAM,GAA2B,EAAC,EACd;AAChC,EAAA,MAAM,SAAS,eAAA,EAAgB;AAE/B,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,GAAG,sBAAA,CAAuB,MAAA,EAAQ,OAAO,CAAA;AAAA;AAAA,IAEzC,gBAAgB,CAAC,OAAA;AAAA,IACjB,sBAAsB,CAAC,OAAA;AAAA,IACvB,oBAAoB,CAAC;AAAA,GACtB,CAAA;AACH;AAMO,SAAS,oBAAA,CACd,QAAA,EACA,MAAA,EACA,QAAA,EACK;AACL,EAAA,MAAM,SAAS,eAAA,EAAgB;AAE/B,EAAA,OAAO,UAAA,CAAW;AAAA,IAChB,OAAA,EAAS,QAAA,CAAS,GAAA,CAAI,CAAA,OAAA,MAAY;AAAA,MAChC,GAAG,sBAAA,CAAuB,MAAA,EAAQ,OAAO,CAAA;AAAA,MACzC,cAAA,EAAgB,KAAA;AAAA,MAChB,oBAAA,EAAsB,KAAA;AAAA,MACtB,kBAAA,EAAoB,KAAA;AAAA,MACpB,MAAA,EAAQ,CAAC,IAAA,KAAyB,MAAA,CAAO,SAAS,IAAI;AAAA,KACxD,CAAE,CAAA;AAAA,IACF,OAAA,EAAS,aACP,OAAA,CAAQ,GAAA;AAAA,MAAI,CAAC,MAAA,EAAQ,KAAA,KACnB,MAAA,CAAO,IAAA,KAAS,MAAA,GAAY,QAAA,CAAS,QAAA,CAAS,KAAK,CAAA,IAAK,EAAE,CAAA,GAAK,MAAA,CAAO;AAAA;AACxE,GACH,CAAA;AACH;;;;"}
|
|
@@ -12,11 +12,6 @@ function toSearchableSpans(spans) {
|
|
|
12
12
|
searchText: domains_traces_utils_flattenToSearchText.flattenToSearchText(span).toLowerCase()
|
|
13
13
|
}));
|
|
14
14
|
}
|
|
15
|
-
function selectSearchableSpans(data) {
|
|
16
|
-
if (!data) return null;
|
|
17
|
-
return { ...data, spans: toSearchableSpans(data.spans) };
|
|
18
|
-
}
|
|
19
15
|
|
|
20
|
-
exports.selectSearchableSpans = selectSearchableSpans;
|
|
21
16
|
exports.toSearchableSpans = toSearchableSpans;
|
|
22
17
|
//# sourceMappingURL=to-searchable-spans.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-searchable-spans.cjs.js","sources":["../../../../src/domains/traces/utils/to-searchable-spans.ts"],"sourcesContent":["import type { LightSpanRecord
|
|
1
|
+
{"version":3,"file":"to-searchable-spans.cjs.js","sources":["../../../../src/domains/traces/utils/to-searchable-spans.ts"],"sourcesContent":["import type { LightSpanRecord } from '../types';\nimport { flattenToSearchText } from './flatten-to-search-text';\n\n/**\n * Attach a precomputed search haystack to each span.\n *\n * Run this once per span list — not per keystroke. Flattening\n * walks every nested payload, so doing it inside a filter would repeat the whole\n * walk for every character typed.\n *\n * The whole record is flattened, which is what reaches `metadata` and `error`:\n * their shapes are open-ended, so no fixed list of fields can read them. The\n * text is lowercased here so matching is a bare `includes` with no per-span\n * `toLowerCase` on every keystroke.\n *\n * Inputs are left untouched; each result is a new object.\n */\nexport function toSearchableSpans<Span extends LightSpanRecord>(spans: Span[]): Array<Span & { searchText: string }> {\n return spans.map(span => ({\n ...span,\n // Computed from `span`, so a stale `searchText` on the input is overwritten\n // rather than carried through by the spread.\n searchText: flattenToSearchText(span).toLowerCase(),\n }));\n}\n"],"names":["flattenToSearchText"],"mappings":";;;;;;AAiBO,SAAS,kBAAgD,KAAA,EAAqD;AACnH,EAAA,OAAO,KAAA,CAAM,IAAI,CAAA,IAAA,MAAS;AAAA,IACxB,GAAG,IAAA;AAAA;AAAA;AAAA,IAGH,UAAA,EAAYA,4DAAA,CAAoB,IAAI,CAAA,CAAE,WAAA;AAAY,GACpD,CAAE,CAAA;AACJ;;;;"}
|
|
@@ -8,10 +8,6 @@ function toSearchableSpans(spans) {
|
|
|
8
8
|
searchText: flattenToSearchText(span).toLowerCase()
|
|
9
9
|
}));
|
|
10
10
|
}
|
|
11
|
-
function selectSearchableSpans(data) {
|
|
12
|
-
if (!data) return null;
|
|
13
|
-
return { ...data, spans: toSearchableSpans(data.spans) };
|
|
14
|
-
}
|
|
15
11
|
|
|
16
|
-
export {
|
|
12
|
+
export { toSearchableSpans };
|
|
17
13
|
//# sourceMappingURL=to-searchable-spans.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-searchable-spans.es.js","sources":["../../../../src/domains/traces/utils/to-searchable-spans.ts"],"sourcesContent":["import type { LightSpanRecord
|
|
1
|
+
{"version":3,"file":"to-searchable-spans.es.js","sources":["../../../../src/domains/traces/utils/to-searchable-spans.ts"],"sourcesContent":["import type { LightSpanRecord } from '../types';\nimport { flattenToSearchText } from './flatten-to-search-text';\n\n/**\n * Attach a precomputed search haystack to each span.\n *\n * Run this once per span list — not per keystroke. Flattening\n * walks every nested payload, so doing it inside a filter would repeat the whole\n * walk for every character typed.\n *\n * The whole record is flattened, which is what reaches `metadata` and `error`:\n * their shapes are open-ended, so no fixed list of fields can read them. The\n * text is lowercased here so matching is a bare `includes` with no per-span\n * `toLowerCase` on every keystroke.\n *\n * Inputs are left untouched; each result is a new object.\n */\nexport function toSearchableSpans<Span extends LightSpanRecord>(spans: Span[]): Array<Span & { searchText: string }> {\n return spans.map(span => ({\n ...span,\n // Computed from `span`, so a stale `searchText` on the input is overwritten\n // rather than carried through by the spread.\n searchText: flattenToSearchText(span).toLowerCase(),\n }));\n}\n"],"names":[],"mappings":";;AAiBO,SAAS,kBAAgD,KAAA,EAAqD;AACnH,EAAA,OAAO,KAAA,CAAM,IAAI,CAAA,IAAA,MAAS;AAAA,IACxB,GAAG,IAAA;AAAA;AAAA;AAAA,IAGH,UAAA,EAAY,mBAAA,CAAoB,IAAI,CAAA,CAAE,WAAA;AAAY,GACpD,CAAE,CAAA;AACJ;;;;"}
|
|
@@ -12,7 +12,6 @@ const domains_traces_utils_spanUtils = require('./utils/span-utils.cjs.js');
|
|
|
12
12
|
|
|
13
13
|
exports.filterSpansKeepingAncestors = domains_traces_utils_filterSpansKeepingAncestors.filterSpansKeepingAncestors;
|
|
14
14
|
exports.flattenToSearchText = domains_traces_utils_flattenToSearchText.flattenToSearchText;
|
|
15
|
-
exports.selectSearchableSpans = domains_traces_utils_toSearchableSpans.selectSearchableSpans;
|
|
16
15
|
exports.toSearchableSpans = domains_traces_utils_toSearchableSpans.toSearchableSpans;
|
|
17
16
|
exports.getSpanTimingLayout = domains_traces_utils_spanTiming.getSpanTimingLayout;
|
|
18
17
|
exports.getInputPreview = domains_traces_utils_spanUtils.getInputPreview;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { filterSpansKeepingAncestors } from './utils/filter-spans-keeping-ancestors.es.js';
|
|
2
2
|
export { flattenToSearchText } from './utils/flatten-to-search-text.es.js';
|
|
3
|
-
export {
|
|
3
|
+
export { toSearchableSpans } from './utils/to-searchable-spans.es.js';
|
|
4
4
|
export { getSpanTimingLayout } from './utils/span-timing.es.js';
|
|
5
5
|
export { getInputPreview, getSpanDurationMs, getTokenLimitMessage, isTokenLimitExceeded } from './utils/span-utils.es.js';
|
|
6
6
|
//# sourceMappingURL=utils.es.js.map
|
|
@@ -130,7 +130,6 @@ exports.useExpandedSpanIds = domains_traces_hooks_useExpandedSpanIds.useExpanded
|
|
|
130
130
|
exports.useVisibleTraceRows = domains_traces_hooks_useVisibleTraceRows.useVisibleTraceRows;
|
|
131
131
|
exports.filterSpansKeepingAncestors = domains_traces_utils_filterSpansKeepingAncestors.filterSpansKeepingAncestors;
|
|
132
132
|
exports.flattenToSearchText = domains_traces_utils_flattenToSearchText.flattenToSearchText;
|
|
133
|
-
exports.selectSearchableSpans = domains_traces_utils_toSearchableSpans.selectSearchableSpans;
|
|
134
133
|
exports.toSearchableSpans = domains_traces_utils_toSearchableSpans.toSearchableSpans;
|
|
135
134
|
exports.getSpanTimingLayout = domains_traces_utils_spanTiming.getSpanTimingLayout;
|
|
136
135
|
exports.getInputPreview = domains_traces_utils_spanUtils.getInputPreview;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traces.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"traces.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -55,7 +55,7 @@ export { useExpandedSpanIds } from './traces/hooks/use-expanded-span-ids.es.js';
|
|
|
55
55
|
export { useVisibleTraceRows } from './traces/hooks/use-visible-trace-rows.es.js';
|
|
56
56
|
export { filterSpansKeepingAncestors } from './traces/utils/filter-spans-keeping-ancestors.es.js';
|
|
57
57
|
export { flattenToSearchText } from './traces/utils/flatten-to-search-text.es.js';
|
|
58
|
-
export {
|
|
58
|
+
export { toSearchableSpans } from './traces/utils/to-searchable-spans.es.js';
|
|
59
59
|
export { getSpanTimingLayout } from './traces/utils/span-timing.es.js';
|
|
60
60
|
export { getInputPreview, getSpanDurationMs, getTokenLimitMessage, isTokenLimitExceeded } from './traces/utils/span-utils.es.js';
|
|
61
61
|
export { DEFAULT_TRACE_FILTERS_STORAGE_KEY, ROOT_ENTITY_TYPES, ROOT_ENTITY_TYPE_OPTIONS, TRACE_ANCHOR_SPAN_ID_PARAM, TRACE_DATE_FROM_PARAM, TRACE_DATE_PRESET_PARAM, TRACE_DATE_PRESET_VALUES, TRACE_DATE_TO_PARAM, TRACE_FILTER_BAR_OPERATORS, TRACE_FILTER_GROUP_PARAM, TRACE_FILTER_OPERATOR_PARAM_SUFFIX, TRACE_LIST_MODE_OPTIONS, TRACE_LIST_MODE_PARAM, TRACE_LIST_MODE_VALUES, TRACE_METADATA_FILTER_FIELD_PREFIX, TRACE_METADATA_FILTER_PARAM_PREFIX, TRACE_PROPERTY_FILTER_FIELD_IDS, TRACE_PROPERTY_FILTER_PARAM_BY_FIELD, TRACE_ROOT_ENTITY_TYPE_PARAM, TRACE_STATUS_OPTIONS, TRACE_STATUS_PARAM, TRACE_STATUS_VALUES, TRACE_SYNTHETIC_FILTER_FIELD_IDS, applyTracePropertyFilterTokens, buildTraceListFilters, clearSavedTraceFilters, createTraceFilterBarFields, filterBarExpressionToTraceFilters, filterBarItemsToTraceTokens, getPreservedTraceFilterParams, getTraceFilterGroups, getTracePropertyFilterTokens, hasAnyTraceFilterParams, isTraceMetadataFieldId, loadTraceFiltersFromStorage, metadataFieldIdToParam, metadataParamToFieldId, parseTraceFilterGroupParam, saveTraceFiltersToStorage, serializeTraceFilterGroup, traceFilterFieldColor, traceFilterFieldIcon, traceFilterOperatorParam, traceFilterTokenOperator, traceFiltersToFilterBarExpression, traceTokensToFilterBarItems } from './traces/trace-filters.es.js';
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
const React = require('react');
|
|
7
7
|
const domains_workflows_hooks_useWorkflows = require('../hooks/use-workflows.cjs.js');
|
|
8
|
-
const combobox = require('../../../combobox-
|
|
8
|
+
const combobox = require('../../../combobox-DPpiBLWV.cjs');
|
|
9
9
|
require('@base-ui/react/combobox');
|
|
10
10
|
const lib_framework = require('../../../lib/framework.cjs.js');
|
|
11
11
|
const toast = require('../../../toast-nm-fM7BR.cjs');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useEffect } from 'react';
|
|
3
3
|
import { useWorkflows } from '../hooks/use-workflows.es.js';
|
|
4
|
-
import { C as Combobox } from '../../../combobox-
|
|
4
|
+
import { C as Combobox } from '../../../combobox-DoJgbq9N.js';
|
|
5
5
|
import '@base-ui/react/combobox';
|
|
6
6
|
import { useLinkComponent } from '../../../lib/framework.es.js';
|
|
7
7
|
import { t as toast } from '../../../toast-c5kCpyWt.js';
|
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
const lucideReact = require('lucide-react');
|
|
7
7
|
const domains_workflows_hooks_useWorkflow = require('../hooks/use-workflow.cjs.js');
|
|
8
|
-
const Badge = require('../../../Badge-
|
|
9
|
-
const entityHeader = require('../../../entity-header-
|
|
8
|
+
const Badge = require('../../../Badge-DB59RxT5.cjs');
|
|
9
|
+
const entityHeader = require('../../../entity-header-By57lpH8.cjs');
|
|
10
10
|
const tooltip = require('../../../tooltip-DIZ5oqjV.cjs');
|
|
11
11
|
const icons_WorkflowIcon = require('../../../icons/WorkflowIcon.cjs.js');
|
|
12
12
|
const primitives_transitions = require('../../../primitives/transitions.cjs.js');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { CopyIcon, Cpu, Database } from 'lucide-react';
|
|
3
3
|
import { useWorkflow } from '../hooks/use-workflow.es.js';
|
|
4
|
-
import { B as Badge } from '../../../Badge-
|
|
5
|
-
import { E as EntityHeader } from '../../../entity-header-
|
|
4
|
+
import { B as Badge } from '../../../Badge-DId-8rYY.js';
|
|
5
|
+
import { E as EntityHeader } from '../../../entity-header-DMjzE4Za.js';
|
|
6
6
|
import { b as TooltipProvider, T as Tooltip, c as TooltipTrigger, a as TooltipContent } from '../../../tooltip-DsQPiynb.js';
|
|
7
7
|
import { WorkflowIcon } from '../../../icons/WorkflowIcon.es.js';
|
|
8
8
|
import { focusRing } from '../../../primitives/transitions.es.js';
|
|
@@ -7,9 +7,9 @@ const react = require('@xyflow/react');
|
|
|
7
7
|
const lucideReact = require('lucide-react');
|
|
8
8
|
const domains_workflows_context_workflowStepDetailContext = require('../context/workflow-step-detail-context.cjs.js');
|
|
9
9
|
const domains_workflows_workflow_data_workflowDataInspector = require('../workflow/data/workflow-data-inspector.cjs.js');
|
|
10
|
-
const domains_workflows_workflow_workflowNestedGraph = require('../../../use-workflow-graph-runtime-
|
|
11
|
-
const Txt = require('../../../Txt-
|
|
12
|
-
const workflowConditionCard = require('../../../workflow-condition-card-
|
|
10
|
+
const domains_workflows_workflow_workflowNestedGraph = require('../../../use-workflow-graph-runtime-t17K6Hkf.cjs');
|
|
11
|
+
const Txt = require('../../../Txt-DNnvlrBo.cjs');
|
|
12
|
+
const workflowConditionCard = require('../../../workflow-condition-card-B_oDiQ6I.cjs');
|
|
13
13
|
const workflowCodeDialogContent = require('../../../workflow-code-dialog-content-DyoN3850.cjs');
|
|
14
14
|
const icons_WorkflowIcon = require('../../../icons/WorkflowIcon.cjs.js');
|
|
15
15
|
|
|
@@ -3,9 +3,9 @@ import { ReactFlowProvider } from '@xyflow/react';
|
|
|
3
3
|
import { List, X } from 'lucide-react';
|
|
4
4
|
import { useWorkflowStepDetail } from '../context/workflow-step-detail-context.es.js';
|
|
5
5
|
import { WorkflowDataInspector } from '../workflow/data/workflow-data-inspector.es.js';
|
|
6
|
-
import { W as WorkflowNestedGraph } from '../../../use-workflow-graph-runtime-
|
|
7
|
-
import { T as Txt } from '../../../Txt-
|
|
8
|
-
import { B as BADGE_COLORS } from '../../../workflow-condition-card-
|
|
6
|
+
import { W as WorkflowNestedGraph } from '../../../use-workflow-graph-runtime-IZ-er4hs.js';
|
|
7
|
+
import { T as Txt } from '../../../Txt-C3cYJgKU.js';
|
|
8
|
+
import { B as BADGE_COLORS } from '../../../workflow-condition-card-CLyskv_B.js';
|
|
9
9
|
import { W as WorkflowCodeContent } from '../../../workflow-code-dialog-content-3AcgitHa.js';
|
|
10
10
|
import { WorkflowIcon } from '../../../icons/WorkflowIcon.es.js';
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
const lucideReact = require('lucide-react');
|
|
7
7
|
const Button = require('../../../../Button-CXhSUBxN.cjs');
|
|
8
|
-
const EmptyState = require('../../../../EmptyState-
|
|
8
|
+
const EmptyState = require('../../../../EmptyState-DvSib3QC.cjs');
|
|
9
9
|
|
|
10
10
|
const NoWorkflowsInfo = () => /* @__PURE__ */ jsxRuntime.jsx(
|
|
11
11
|
EmptyState.EmptyState,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { ExternalLinkIcon } from 'lucide-react';
|
|
3
3
|
import { B as Button } from '../../../../Button-D43ghVKt.js';
|
|
4
|
-
import { E as EmptyState } from '../../../../EmptyState-
|
|
4
|
+
import { E as EmptyState } from '../../../../EmptyState-DGzBN0Ix.js';
|
|
5
5
|
|
|
6
6
|
const NoWorkflowsInfo = () => /* @__PURE__ */ jsx(
|
|
7
7
|
EmptyState,
|