@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-tree.es.js","sources":["../../../../src/domains/workspace/components/workspace-tree.tsx"],"sourcesContent":["import type { WorkspaceFsListResponse } from '@mastra/client-js';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { CircleAlertIcon, FolderPlusIcon, LockIcon } from 'lucide-react';\nimport { useEffect, useRef, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport { useWorkspaceDirectory } from '../hooks/use-workspace-directory';\nimport { ROOT_PATH, joinPath, parentOf } from '../path';\nimport { MountIcon } from './mount-icon';\nimport type { WorkspaceMount } from './mount-icon';\nimport { useWorkspaceContext } from './use-workspace-context';\nimport type { WorkspaceEntryRef } from './use-workspace-context';\nimport { WorkspaceError } from './workspace-error';\nimport { AlertDialog } from '@/ds/components/AlertDialog';\nimport { Button } from '@/ds/components/Button';\nimport { Skeleton } from '@/ds/components/Skeleton';\nimport { Spinner } from '@/ds/components/Spinner';\nimport { Tree } from '@/ds/components/Tree';\nimport { Txt } from '@/ds/components/Txt';\nimport { FileIcon, FolderIcon, TrashIcon } from '@/ds/icons';\n\nconst formatBytes = (bytes: number) => {\n const units = ['B', 'KB', 'MB', 'GB', 'TB'];\n const i = bytes > 0 ? Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1) : 0;\n return `${parseFloat((bytes / 1024 ** i).toFixed(1))} ${units[i]}`;\n};\n\ntype RequestDelete = (entry: WorkspaceEntryRef) => void;\n\nexport function WorkspaceTree() {\n const { workspaceId, activeFilePath, setActiveFilePath } = useWorkspaceContext();\n const { data, isLoading, error } = useWorkspaceDirectory(workspaceId, ROOT_PATH);\n const [pendingDelete, setPendingDelete] = useState<WorkspaceEntryRef | null>(null);\n\n if (isLoading) return <TreeSkeleton />;\n // A failed background refetch keeps showing the last listing.\n if (!data) return <WorkspaceError error={error} fallback=\"Could not load files.\" className=\"m-2\" />;\n\n return (\n <>\n <Tree aria-label=\"Workspace files\" selectedId={activeFilePath} onSelect={setActiveFilePath} className=\"py-1\">\n <Entries entries={data} parent={ROOT_PATH} onRequestDelete={setPendingDelete} />\n </Tree>\n <DeleteDialog entry={pendingDelete} onClose={() => setPendingDelete(null)} />\n </>\n );\n}\n\nfunction Entries({\n entries,\n parent,\n onRequestDelete,\n}: {\n entries: WorkspaceFsListResponse['entries'];\n parent: string;\n onRequestDelete: RequestDelete;\n}) {\n return entries.map(entry => {\n const path = joinPath(parent, entry.name);\n return entry.type === 'directory' ? (\n <FolderNode\n key={entry.name}\n name={entry.name}\n path={path}\n mount={entry.mount}\n onRequestDelete={onRequestDelete}\n />\n ) : (\n <FileNode key={entry.name} name={entry.name} size={entry.size} path={path} onRequestDelete={onRequestDelete} />\n );\n });\n}\n\n/** Trailing row details, revealed on hover or keyboard focus. */\nfunction RowActions({ children }: { children: ReactNode }) {\n return (\n <span className=\"ml-auto flex shrink-0 items-center gap-1 opacity-0 group-focus-within:opacity-100 group-hover:opacity-100\">\n {children}\n </span>\n );\n}\n\nfunction DeleteButton({ name, onClick }: { name: string; onClick: () => void }) {\n return (\n <Button\n variant=\"destructive-ghost\"\n size=\"icon-sm\"\n tooltip={`Delete ${name}`}\n onClick={event => {\n event.stopPropagation();\n onClick();\n }}\n onKeyDown={event => event.stopPropagation()}\n >\n <TrashIcon />\n </Button>\n );\n}\n\ninterface NodeProps {\n name: string;\n path: string;\n onRequestDelete: RequestDelete;\n}\n\nfunction FolderNode({ name, path, mount, onRequestDelete }: NodeProps & { mount?: WorkspaceMount }) {\n const { workspaceId, onDelete, onCreateDirectory, isReadOnly, openFolders, setFolderOpen } = useWorkspaceContext();\n const open = openFolders.has(path);\n // Shares the query with FolderChildren; only used to flag the first load next to the name.\n const { isLoading } = useWorkspaceDirectory(workspaceId, path, { enabled: open });\n const [creating, setCreating] = useState(false);\n const canDelete = onDelete && !isReadOnly(path);\n const canCreate = onCreateDirectory && !isReadOnly(path);\n\n return (\n <Tree.Folder id={path} open={open} onOpenChange={next => setFolderOpen(path, next)}>\n <Tree.FolderTrigger\n actions={\n canDelete || canCreate ? (\n <RowActions>\n {canCreate ? (\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n tooltip={`New folder in ${name}`}\n onClick={event => {\n event.stopPropagation();\n setFolderOpen(path, true);\n setCreating(true);\n }}\n onKeyDown={event => event.stopPropagation()}\n >\n <FolderPlusIcon />\n </Button>\n ) : null}\n {canDelete ? (\n <DeleteButton name={name} onClick={() => onRequestDelete({ path, type: 'directory' })} />\n ) : null}\n </RowActions>\n ) : undefined\n }\n >\n <Tree.Icon>\n {mount ? (\n <span\n role=\"img\"\n aria-label={`Mount: ${mount.displayName ?? mount.provider}`}\n title={[mount.displayName ?? mount.provider, mount.description].filter(Boolean).join(' — ')}\n className=\"flex\"\n >\n <MountIcon mount={mount} />\n </span>\n ) : (\n <FolderIcon />\n )}\n </Tree.Icon>\n <Tree.Label>{name}</Tree.Label>\n {mount?.status === 'error' ? (\n <span\n role=\"img\"\n aria-label={`Mount error: ${mount.error ?? 'unavailable'}`}\n title={mount.error}\n className=\"flex shrink-0\"\n >\n <CircleAlertIcon className=\"text-destructive size-3\" />\n </span>\n ) : null}\n {mount && isReadOnly(path) ? (\n <span role=\"img\" aria-label=\"Read-only\" title=\"Read-only\" className=\"flex shrink-0\">\n <LockIcon className=\"size-3 text-muted-foreground\" />\n </span>\n ) : null}\n {open && isLoading ? (\n <span className=\"flex shrink-0 animate-in delay-200 fill-mode-backwards fade-in\">\n <Spinner size=\"sm\" aria-label={`Loading ${name}`} className=\"size-3 text-muted-foreground\" />\n </span>\n ) : null}\n </Tree.FolderTrigger>\n <Tree.FolderContent>\n {open ? (\n <FolderChildren\n path={path}\n creating={creating}\n onCreated={() => setCreating(false)}\n onRequestDelete={onRequestDelete}\n />\n ) : null}\n </Tree.FolderContent>\n </Tree.Folder>\n );\n}\n\n/** Mounted only once its folder is opened, so unopened folders are never listed. */\nfunction FolderChildren({\n path,\n creating,\n onCreated,\n onRequestDelete,\n}: {\n path: string;\n creating: boolean;\n onCreated: () => void;\n onRequestDelete: RequestDelete;\n}) {\n const { workspaceId, onCreateDirectory } = useWorkspaceContext();\n const queryClient = useQueryClient();\n const { data, isLoading, error } = useWorkspaceDirectory(workspaceId, path);\n\n const create = async (name: string) => {\n try {\n await onCreateDirectory?.(joinPath(path, name.replace(/^\\/+|\\/+$/g, '')));\n } catch {\n // The caller reports the failure; keep the input open so the user can retry or cancel.\n return;\n }\n onCreated();\n await queryClient.invalidateQueries({ queryKey: ['workspace', workspaceId, 'fs', 'list', path] });\n };\n\n return (\n <>\n {creating ? (\n <Tree.Input type=\"folder\" placeholder=\"Folder name\" onSubmit={name => void create(name)} onCancel={onCreated} />\n ) : null}\n {isLoading ? null : data ? (\n <Entries entries={data} parent={path} onRequestDelete={onRequestDelete} />\n ) : (\n <WorkspaceError error={error} fallback=\"Could not load folder.\" className=\"my-1 mr-1\" />\n )}\n </>\n );\n}\n\nfunction FileNode({ name, size, path, onRequestDelete }: NodeProps & { size?: number }) {\n const { onDelete, isReadOnly, activeFilePath } = useWorkspaceContext();\n const canDelete = onDelete && !isReadOnly(path);\n const isActive = path === activeFilePath;\n const ref = useRef<HTMLLIElement>(null);\n\n // Parents load lazily, so the active row may only appear after the selection changed.\n useEffect(() => {\n if (isActive) ref.current?.scrollIntoView?.({ block: 'nearest' });\n }, [isActive]);\n\n return (\n <Tree.File ref={ref} id={path}>\n <Tree.Icon>\n <FileIcon />\n </Tree.Icon>\n <Tree.Label>{name}</Tree.Label>\n <RowActions>\n {size !== undefined ? (\n <Txt as=\"span\" variant=\"caption\" tone=\"faint\" font=\"mono\">\n {formatBytes(size)}\n </Txt>\n ) : null}\n {canDelete ? <DeleteButton name={name} onClick={() => onRequestDelete({ path, type: 'file' })} /> : null}\n </RowActions>\n </Tree.File>\n );\n}\n\nfunction DeleteDialog({ entry, onClose }: { entry: WorkspaceEntryRef | null; onClose: () => void }) {\n const { workspaceId, activeFilePath, setActiveFilePath, onDelete } = useWorkspaceContext();\n const queryClient = useQueryClient();\n const [isDeleting, setIsDeleting] = useState(false);\n const name = entry?.path.split('/').pop();\n\n const confirm = async () => {\n if (!entry || !onDelete) return;\n setIsDeleting(true);\n try {\n await onDelete(entry);\n } catch {\n // The caller reports the failure; keep the dialog open so the user can retry or cancel.\n return;\n } finally {\n setIsDeleting(false);\n }\n if (activeFilePath === entry.path || activeFilePath?.startsWith(`${entry.path}/`)) setActiveFilePath(undefined);\n queryClient.removeQueries({ queryKey: ['workspace', workspaceId, 'fs', 'list', entry.path] });\n await queryClient.invalidateQueries({ queryKey: ['workspace', workspaceId, 'fs', 'list', parentOf(entry.path)] });\n onClose();\n };\n\n let description: ReactNode = null;\n if (entry) {\n description =\n entry.type === 'directory'\n ? `This permanently deletes the folder \"${name}\" and everything inside it.`\n : `This permanently deletes \"${name}\".`;\n }\n\n return (\n <AlertDialog\n open={entry !== null}\n onOpenChange={open => {\n if (!open && !isDeleting) onClose();\n }}\n >\n <AlertDialog.Content>\n <AlertDialog.Header>\n <AlertDialog.Title>Delete {entry?.type === 'directory' ? 'folder' : 'file'}?</AlertDialog.Title>\n <AlertDialog.Description>{description} This action cannot be undone.</AlertDialog.Description>\n </AlertDialog.Header>\n <AlertDialog.Footer>\n <AlertDialog.Cancel disabled={isDeleting}>Cancel</AlertDialog.Cancel>\n <Button variant=\"destructive\" disabled={isDeleting} onClick={() => void confirm()}>\n {isDeleting ? 'Deleting…' : 'Delete'}\n </Button>\n </AlertDialog.Footer>\n </AlertDialog.Content>\n </AlertDialog>\n );\n}\n\nfunction TreeSkeleton() {\n return (\n <div data-testid=\"workspace-tree-skeleton\" aria-busy=\"true\" className=\"flex flex-col gap-2 py-2 pl-[18px]\">\n <Skeleton className=\"h-4 w-3/4\" />\n <Skeleton className=\"h-4 w-1/2\" />\n <Skeleton className=\"h-4 w-2/3\" />\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const domains_workspace_components_workspaceActiveFile = require('./workspace-active-file.cjs.js');
|
|
6
|
+
const domains_workspace_components_workspaceCreateDirectory = require('./workspace-create-directory.cjs.js');
|
|
7
|
+
const domains_workspace_components_workspaceParts = require('./workspace-parts.cjs.js');
|
|
8
|
+
const domains_workspace_components_workspaceSearch = require('./workspace-search.cjs.js');
|
|
9
|
+
|
|
10
|
+
const Workspace = {
|
|
11
|
+
Root: domains_workspace_components_workspaceParts.WorkspaceRoot,
|
|
12
|
+
Aside: domains_workspace_components_workspaceParts.WorkspaceAside,
|
|
13
|
+
AsideHeader: domains_workspace_components_workspaceParts.WorkspaceAsideHeader,
|
|
14
|
+
Search: domains_workspace_components_workspaceSearch.WorkspaceSearch,
|
|
15
|
+
SearchToggle: domains_workspace_components_workspaceSearch.WorkspaceSearchToggle,
|
|
16
|
+
CreateDirectory: domains_workspace_components_workspaceCreateDirectory.WorkspaceCreateDirectory,
|
|
17
|
+
Tree: domains_workspace_components_workspaceParts.WorkspaceTree,
|
|
18
|
+
ActiveFile: domains_workspace_components_workspaceParts.WorkspaceActiveFile,
|
|
19
|
+
ActiveFileHeader: domains_workspace_components_workspaceParts.WorkspaceActiveFileHeader,
|
|
20
|
+
FilePath: domains_workspace_components_workspaceActiveFile.WorkspaceFilePath,
|
|
21
|
+
ActiveFileContent: domains_workspace_components_workspaceParts.WorkspaceActiveFileContent
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
exports.Workspace = Workspace;
|
|
25
|
+
//# sourceMappingURL=workspace.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.cjs.js","sources":["../../../../src/domains/workspace/components/workspace.ts"],"sourcesContent":["import { WorkspaceFilePath } from './workspace-active-file';\nimport { WorkspaceCreateDirectory } from './workspace-create-directory';\nimport {\n WorkspaceActiveFile,\n WorkspaceActiveFileContent,\n WorkspaceActiveFileHeader,\n WorkspaceAside,\n WorkspaceAsideHeader,\n WorkspaceRoot,\n WorkspaceTree,\n} from './workspace-parts';\nimport { WorkspaceSearch, WorkspaceSearchToggle } from './workspace-search';\n\nexport type { WorkspaceRootProps } from './workspace-parts';\n\nexport const Workspace = {\n Root: WorkspaceRoot,\n Aside: WorkspaceAside,\n AsideHeader: WorkspaceAsideHeader,\n Search: WorkspaceSearch,\n SearchToggle: WorkspaceSearchToggle,\n CreateDirectory: WorkspaceCreateDirectory,\n Tree: WorkspaceTree,\n ActiveFile: WorkspaceActiveFile,\n ActiveFileHeader: WorkspaceActiveFileHeader,\n FilePath: WorkspaceFilePath,\n ActiveFileContent: WorkspaceActiveFileContent,\n};\n"],"names":["WorkspaceRoot","WorkspaceAside","WorkspaceAsideHeader","WorkspaceSearch","WorkspaceSearchToggle","WorkspaceCreateDirectory","WorkspaceTree","WorkspaceActiveFile","WorkspaceActiveFileHeader","WorkspaceFilePath","WorkspaceActiveFileContent"],"mappings":";;;;;;;;;AAeO,MAAM,SAAA,GAAY;AAAA,EACvB,IAAA,EAAMA,yDAAA;AAAA,EACN,KAAA,EAAOC,0DAAA;AAAA,EACP,WAAA,EAAaC,gEAAA;AAAA,EACb,MAAA,EAAQC,4DAAA;AAAA,EACR,YAAA,EAAcC,kEAAA;AAAA,EACd,eAAA,EAAiBC,8EAAA;AAAA,EACjB,IAAA,EAAMC,yDAAA;AAAA,EACN,UAAA,EAAYC,+DAAA;AAAA,EACZ,gBAAA,EAAkBC,qEAAA;AAAA,EAClB,QAAA,EAAUC,kEAAA;AAAA,EACV,iBAAA,EAAmBC;AACrB;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { WorkspaceFilePath } from './workspace-active-file.es.js';
|
|
2
|
+
import { WorkspaceCreateDirectory } from './workspace-create-directory.es.js';
|
|
3
|
+
import { WorkspaceActiveFileContent, WorkspaceActiveFileHeader, WorkspaceActiveFile, WorkspaceTree, WorkspaceAsideHeader, WorkspaceAside, WorkspaceRoot } from './workspace-parts.es.js';
|
|
4
|
+
import { WorkspaceSearchToggle, WorkspaceSearch } from './workspace-search.es.js';
|
|
5
|
+
|
|
6
|
+
const Workspace = {
|
|
7
|
+
Root: WorkspaceRoot,
|
|
8
|
+
Aside: WorkspaceAside,
|
|
9
|
+
AsideHeader: WorkspaceAsideHeader,
|
|
10
|
+
Search: WorkspaceSearch,
|
|
11
|
+
SearchToggle: WorkspaceSearchToggle,
|
|
12
|
+
CreateDirectory: WorkspaceCreateDirectory,
|
|
13
|
+
Tree: WorkspaceTree,
|
|
14
|
+
ActiveFile: WorkspaceActiveFile,
|
|
15
|
+
ActiveFileHeader: WorkspaceActiveFileHeader,
|
|
16
|
+
FilePath: WorkspaceFilePath,
|
|
17
|
+
ActiveFileContent: WorkspaceActiveFileContent
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export { Workspace };
|
|
21
|
+
//# sourceMappingURL=workspace.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.es.js","sources":["../../../../src/domains/workspace/components/workspace.ts"],"sourcesContent":["import { WorkspaceFilePath } from './workspace-active-file';\nimport { WorkspaceCreateDirectory } from './workspace-create-directory';\nimport {\n WorkspaceActiveFile,\n WorkspaceActiveFileContent,\n WorkspaceActiveFileHeader,\n WorkspaceAside,\n WorkspaceAsideHeader,\n WorkspaceRoot,\n WorkspaceTree,\n} from './workspace-parts';\nimport { WorkspaceSearch, WorkspaceSearchToggle } from './workspace-search';\n\nexport type { WorkspaceRootProps } from './workspace-parts';\n\nexport const Workspace = {\n Root: WorkspaceRoot,\n Aside: WorkspaceAside,\n AsideHeader: WorkspaceAsideHeader,\n Search: WorkspaceSearch,\n SearchToggle: WorkspaceSearchToggle,\n CreateDirectory: WorkspaceCreateDirectory,\n Tree: WorkspaceTree,\n ActiveFile: WorkspaceActiveFile,\n ActiveFileHeader: WorkspaceActiveFileHeader,\n FilePath: WorkspaceFilePath,\n ActiveFileContent: WorkspaceActiveFileContent,\n};\n"],"names":[],"mappings":";;;;;AAeO,MAAM,SAAA,GAAY;AAAA,EACvB,IAAA,EAAM,aAAA;AAAA,EACN,KAAA,EAAO,cAAA;AAAA,EACP,WAAA,EAAa,oBAAA;AAAA,EACb,MAAA,EAAQ,eAAA;AAAA,EACR,YAAA,EAAc,qBAAA;AAAA,EACd,eAAA,EAAiB,wBAAA;AAAA,EACjB,IAAA,EAAM,aAAA;AAAA,EACN,UAAA,EAAY,mBAAA;AAAA,EACZ,gBAAA,EAAkB,yBAAA;AAAA,EAClB,QAAA,EAAU,iBAAA;AAAA,EACV,iBAAA,EAAmB;AACrB;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const IMAGE_EXTENSIONS = ["png", "jpg", "jpeg", "gif", "svg", "webp", "bmp", "avif", "tiff", "tif"];
|
|
6
|
+
const VIDEO_MIME_TYPES = {
|
|
7
|
+
mp4: "video/mp4",
|
|
8
|
+
webm: "video/webm",
|
|
9
|
+
mov: "video/quicktime",
|
|
10
|
+
m4v: "video/mp4",
|
|
11
|
+
ogv: "video/ogg"
|
|
12
|
+
};
|
|
13
|
+
const extension = (path) => path.split("/").pop()?.split(".").pop()?.toLowerCase() ?? "";
|
|
14
|
+
const isImageFile = (path, mimeType) => mimeType?.startsWith("image/") || IMAGE_EXTENSIONS.includes(extension(path));
|
|
15
|
+
const isVideoFile = (path, mimeType) => mimeType?.startsWith("video/") || extension(path) in VIDEO_MIME_TYPES;
|
|
16
|
+
const isMediaFile = (path) => isImageFile(path) || isVideoFile(path);
|
|
17
|
+
const videoMimeType = (path, mimeType) => mimeType?.startsWith("video/") ? mimeType : VIDEO_MIME_TYPES[extension(path)] ?? "video/mp4";
|
|
18
|
+
const isMarkdownFile = (path) => /\.mdx?$/i.test(path);
|
|
19
|
+
|
|
20
|
+
exports.isImageFile = isImageFile;
|
|
21
|
+
exports.isMarkdownFile = isMarkdownFile;
|
|
22
|
+
exports.isMediaFile = isMediaFile;
|
|
23
|
+
exports.isVideoFile = isVideoFile;
|
|
24
|
+
exports.videoMimeType = videoMimeType;
|
|
25
|
+
//# sourceMappingURL=file-type.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-type.cjs.js","sources":["../../../src/domains/workspace/file-type.ts"],"sourcesContent":["const IMAGE_EXTENSIONS = ['png', 'jpg', 'jpeg', 'gif', 'svg', 'webp', 'bmp', 'avif', 'tiff', 'tif'];\nconst VIDEO_MIME_TYPES: Record<string, string> = {\n mp4: 'video/mp4',\n webm: 'video/webm',\n mov: 'video/quicktime',\n m4v: 'video/mp4',\n ogv: 'video/ogg',\n};\n\nconst extension = (path: string) => path.split('/').pop()?.split('.').pop()?.toLowerCase() ?? '';\n\nexport const isImageFile = (path: string, mimeType?: string) =>\n mimeType?.startsWith('image/') || IMAGE_EXTENSIONS.includes(extension(path));\n\nexport const isVideoFile = (path: string, mimeType?: string) =>\n mimeType?.startsWith('video/') || extension(path) in VIDEO_MIME_TYPES;\n\n/** Media must be read as base64: reading it as utf-8 corrupts the bytes. */\nexport const isMediaFile = (path: string) => isImageFile(path) || isVideoFile(path);\n\nexport const videoMimeType = (path: string, mimeType?: string) =>\n mimeType?.startsWith('video/') ? mimeType : (VIDEO_MIME_TYPES[extension(path)] ?? 'video/mp4');\n\nexport const isMarkdownFile = (path: string) => /\\.mdx?$/i.test(path);\n"],"names":[],"mappings":";;;;AAAA,MAAM,gBAAA,GAAmB,CAAC,KAAA,EAAO,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,MAAA,EAAQ,KAAK,CAAA;AAClG,MAAM,gBAAA,GAA2C;AAAA,EAC/C,GAAA,EAAK,WAAA;AAAA,EACL,IAAA,EAAM,YAAA;AAAA,EACN,GAAA,EAAK,iBAAA;AAAA,EACL,GAAA,EAAK,WAAA;AAAA,EACL,GAAA,EAAK;AACP,CAAA;AAEA,MAAM,SAAA,GAAY,CAAC,IAAA,KAAiB,IAAA,CAAK,MAAM,GAAG,CAAA,CAAE,GAAA,EAAI,EAAG,MAAM,GAAG,CAAA,CAAE,GAAA,EAAI,EAAG,aAAY,IAAK,EAAA;AAEvF,MAAM,WAAA,GAAc,CAAC,IAAA,EAAc,QAAA,KACxC,QAAA,EAAU,UAAA,CAAW,QAAQ,CAAA,IAAK,gBAAA,CAAiB,QAAA,CAAS,SAAA,CAAU,IAAI,CAAC;AAEtE,MAAM,WAAA,GAAc,CAAC,IAAA,EAAc,QAAA,KACxC,QAAA,EAAU,WAAW,QAAQ,CAAA,IAAK,SAAA,CAAU,IAAI,CAAA,IAAK;AAGhD,MAAM,cAAc,CAAC,IAAA,KAAiB,YAAY,IAAI,CAAA,IAAK,YAAY,IAAI;AAE3E,MAAM,aAAA,GAAgB,CAAC,IAAA,EAAc,QAAA,KAC1C,QAAA,EAAU,UAAA,CAAW,QAAQ,CAAA,GAAI,QAAA,GAAY,gBAAA,CAAiB,SAAA,CAAU,IAAI,CAAC,CAAA,IAAK;AAE7E,MAAM,cAAA,GAAiB,CAAC,IAAA,KAAiB,UAAA,CAAW,KAAK,IAAI;;;;;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const IMAGE_EXTENSIONS = ["png", "jpg", "jpeg", "gif", "svg", "webp", "bmp", "avif", "tiff", "tif"];
|
|
2
|
+
const VIDEO_MIME_TYPES = {
|
|
3
|
+
mp4: "video/mp4",
|
|
4
|
+
webm: "video/webm",
|
|
5
|
+
mov: "video/quicktime",
|
|
6
|
+
m4v: "video/mp4",
|
|
7
|
+
ogv: "video/ogg"
|
|
8
|
+
};
|
|
9
|
+
const extension = (path) => path.split("/").pop()?.split(".").pop()?.toLowerCase() ?? "";
|
|
10
|
+
const isImageFile = (path, mimeType) => mimeType?.startsWith("image/") || IMAGE_EXTENSIONS.includes(extension(path));
|
|
11
|
+
const isVideoFile = (path, mimeType) => mimeType?.startsWith("video/") || extension(path) in VIDEO_MIME_TYPES;
|
|
12
|
+
const isMediaFile = (path) => isImageFile(path) || isVideoFile(path);
|
|
13
|
+
const videoMimeType = (path, mimeType) => mimeType?.startsWith("video/") ? mimeType : VIDEO_MIME_TYPES[extension(path)] ?? "video/mp4";
|
|
14
|
+
const isMarkdownFile = (path) => /\.mdx?$/i.test(path);
|
|
15
|
+
|
|
16
|
+
export { isImageFile, isMarkdownFile, isMediaFile, isVideoFile, videoMimeType };
|
|
17
|
+
//# sourceMappingURL=file-type.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-type.es.js","sources":["../../../src/domains/workspace/file-type.ts"],"sourcesContent":["const IMAGE_EXTENSIONS = ['png', 'jpg', 'jpeg', 'gif', 'svg', 'webp', 'bmp', 'avif', 'tiff', 'tif'];\nconst VIDEO_MIME_TYPES: Record<string, string> = {\n mp4: 'video/mp4',\n webm: 'video/webm',\n mov: 'video/quicktime',\n m4v: 'video/mp4',\n ogv: 'video/ogg',\n};\n\nconst extension = (path: string) => path.split('/').pop()?.split('.').pop()?.toLowerCase() ?? '';\n\nexport const isImageFile = (path: string, mimeType?: string) =>\n mimeType?.startsWith('image/') || IMAGE_EXTENSIONS.includes(extension(path));\n\nexport const isVideoFile = (path: string, mimeType?: string) =>\n mimeType?.startsWith('video/') || extension(path) in VIDEO_MIME_TYPES;\n\n/** Media must be read as base64: reading it as utf-8 corrupts the bytes. */\nexport const isMediaFile = (path: string) => isImageFile(path) || isVideoFile(path);\n\nexport const videoMimeType = (path: string, mimeType?: string) =>\n mimeType?.startsWith('video/') ? mimeType : (VIDEO_MIME_TYPES[extension(path)] ?? 'video/mp4');\n\nexport const isMarkdownFile = (path: string) => /\\.mdx?$/i.test(path);\n"],"names":[],"mappings":"AAAA,MAAM,gBAAA,GAAmB,CAAC,KAAA,EAAO,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,MAAA,EAAQ,KAAK,CAAA;AAClG,MAAM,gBAAA,GAA2C;AAAA,EAC/C,GAAA,EAAK,WAAA;AAAA,EACL,IAAA,EAAM,YAAA;AAAA,EACN,GAAA,EAAK,iBAAA;AAAA,EACL,GAAA,EAAK,WAAA;AAAA,EACL,GAAA,EAAK;AACP,CAAA;AAEA,MAAM,SAAA,GAAY,CAAC,IAAA,KAAiB,IAAA,CAAK,MAAM,GAAG,CAAA,CAAE,GAAA,EAAI,EAAG,MAAM,GAAG,CAAA,CAAE,GAAA,EAAI,EAAG,aAAY,IAAK,EAAA;AAEvF,MAAM,WAAA,GAAc,CAAC,IAAA,EAAc,QAAA,KACxC,QAAA,EAAU,UAAA,CAAW,QAAQ,CAAA,IAAK,gBAAA,CAAiB,QAAA,CAAS,SAAA,CAAU,IAAI,CAAC;AAEtE,MAAM,WAAA,GAAc,CAAC,IAAA,EAAc,QAAA,KACxC,QAAA,EAAU,WAAW,QAAQ,CAAA,IAAK,SAAA,CAAU,IAAI,CAAA,IAAK;AAGhD,MAAM,cAAc,CAAC,IAAA,KAAiB,YAAY,IAAI,CAAA,IAAK,YAAY,IAAI;AAE3E,MAAM,aAAA,GAAgB,CAAC,IAAA,EAAc,QAAA,KAC1C,QAAA,EAAU,UAAA,CAAW,QAAQ,CAAA,GAAI,QAAA,GAAY,gBAAA,CAAiB,SAAA,CAAU,IAAI,CAAC,CAAA,IAAK;AAE7E,MAAM,cAAA,GAAiB,CAAC,IAAA,KAAiB,UAAA,CAAW,KAAK,IAAI;;;;"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const react = require('@mastra/react');
|
|
6
|
+
const reactQuery = require('@tanstack/react-query');
|
|
7
|
+
|
|
8
|
+
const useSearchSkillsSh = (workspaceId) => {
|
|
9
|
+
const client = react.useMastraClient();
|
|
10
|
+
return reactQuery.useMutation({
|
|
11
|
+
mutationFn: (query) => {
|
|
12
|
+
if (!workspaceId) throw new Error("Workspace ID is required");
|
|
13
|
+
return client.getWorkspace(workspaceId).searchSkillsSh({ q: query, limit: 10 });
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
const usePopularSkillsSh = (workspaceId) => {
|
|
18
|
+
const client = react.useMastraClient();
|
|
19
|
+
return reactQuery.useQuery({
|
|
20
|
+
queryKey: ["skills-sh", "popular", workspaceId],
|
|
21
|
+
queryFn: () => {
|
|
22
|
+
if (!workspaceId) throw new Error("Workspace ID is required");
|
|
23
|
+
return client.getWorkspace(workspaceId).listPopularSkillsSh({ limit: 10, offset: 0 });
|
|
24
|
+
},
|
|
25
|
+
staleTime: 5 * 60 * 1e3,
|
|
26
|
+
enabled: !!workspaceId
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
const useSkillPreview = (workspaceId, owner, repo, skillPath, options) => {
|
|
30
|
+
const client = react.useMastraClient();
|
|
31
|
+
return reactQuery.useQuery({
|
|
32
|
+
queryKey: ["skills-sh", "preview", workspaceId, owner, repo, skillPath],
|
|
33
|
+
queryFn: async () => {
|
|
34
|
+
if (!workspaceId || !owner || !repo || !skillPath) {
|
|
35
|
+
throw new Error("workspaceId, owner, repo, and skillPath are required");
|
|
36
|
+
}
|
|
37
|
+
const { content } = await client.getWorkspace(workspaceId).previewSkillsSh({ owner, repo, path: skillPath });
|
|
38
|
+
return content;
|
|
39
|
+
},
|
|
40
|
+
enabled: options?.enabled !== false && !!workspaceId && !!owner && !!repo && !!skillPath,
|
|
41
|
+
retry: false
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
function parseSkillSource(topSource, skillName) {
|
|
45
|
+
let cleanSource = topSource.replace(/^https?:\/\//, "");
|
|
46
|
+
cleanSource = cleanSource.replace(/^github\.com\//, "");
|
|
47
|
+
cleanSource = cleanSource.replace(/\/$/, "");
|
|
48
|
+
const parts = cleanSource.split("/").filter(Boolean);
|
|
49
|
+
const [owner, repo] = parts;
|
|
50
|
+
if (!owner || !repo) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
let skillPath;
|
|
54
|
+
if (parts.length > 2) {
|
|
55
|
+
skillPath = parts.slice(2).join("/");
|
|
56
|
+
} else if (skillName) {
|
|
57
|
+
skillPath = skillName;
|
|
58
|
+
} else {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
owner,
|
|
63
|
+
repo,
|
|
64
|
+
skillPath
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
exports.parseSkillSource = parseSkillSource;
|
|
69
|
+
exports.usePopularSkillsSh = usePopularSkillsSh;
|
|
70
|
+
exports.useSearchSkillsSh = useSearchSkillsSh;
|
|
71
|
+
exports.useSkillPreview = useSkillPreview;
|
|
72
|
+
//# sourceMappingURL=use-skills-sh.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-skills-sh.cjs.js","sources":["../../../../src/domains/workspace/hooks/use-skills-sh.ts"],"sourcesContent":["import type { SkillsShSkill } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { useMutation, useQuery } from '@tanstack/react-query';\n\nexport type { SkillsShSkill };\n\n/**\n * Search skills on skills.sh (via server proxy)\n */\nexport const useSearchSkillsSh = (workspaceId: string | undefined) => {\n const client = useMastraClient();\n\n return useMutation({\n mutationFn: (query: string) => {\n if (!workspaceId) throw new Error('Workspace ID is required');\n return client.getWorkspace(workspaceId).searchSkillsSh({ q: query, limit: 10 });\n },\n });\n};\n\n/**\n * Get popular skills from skills.sh (via server proxy, cached for 5 minutes)\n */\nexport const usePopularSkillsSh = (workspaceId: string | undefined) => {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['skills-sh', 'popular', workspaceId],\n queryFn: () => {\n if (!workspaceId) throw new Error('Workspace ID is required');\n return client.getWorkspace(workspaceId).listPopularSkillsSh({ limit: 10, offset: 0 });\n },\n staleTime: 5 * 60 * 1000,\n enabled: !!workspaceId,\n });\n};\n\n/**\n * Preview a skill by fetching its SKILL.md (via server proxy to avoid CORS)\n */\nexport const useSkillPreview = (\n workspaceId: string | undefined,\n owner: string | undefined,\n repo: string | undefined,\n skillPath: string | undefined,\n options?: { enabled?: boolean },\n) => {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['skills-sh', 'preview', workspaceId, owner, repo, skillPath],\n queryFn: async () => {\n if (!workspaceId || !owner || !repo || !skillPath) {\n throw new Error('workspaceId, owner, repo, and skillPath are required');\n }\n const { content } = await client.getWorkspace(workspaceId).previewSkillsSh({ owner, repo, path: skillPath });\n return content;\n },\n enabled: options?.enabled !== false && !!workspaceId && !!owner && !!repo && !!skillPath,\n retry: false,\n });\n};\n\n// =============================================================================\n// Helper: Parse skills.sh skill ID to repository info\n// =============================================================================\n\n/**\n * Parse a skill's topSource field to extract GitHub repository info\n *\n * skills.sh topSource formats:\n * - \"owner/repo\" (e.g., \"vercel-labs/agent-skills\")\n * - \"owner/repo/path\" (e.g., \"anthropics/skills/frontend-design\")\n * - \"github.com/owner/repo/path\" (full URL format)\n *\n * The skill name is used as the path within the repo when not specified\n */\nexport function parseSkillSource(\n topSource: string,\n skillName?: string,\n): {\n owner: string;\n repo: string;\n skillPath: string;\n} | null {\n // Remove protocol and github.com prefix if present\n let cleanSource = topSource.replace(/^https?:\\/\\//, '');\n cleanSource = cleanSource.replace(/^github\\.com\\//, '');\n // Remove trailing slash if present\n cleanSource = cleanSource.replace(/\\/$/, '');\n\n const parts = cleanSource.split('/').filter(Boolean);\n const [owner, repo] = parts;\n\n if (!owner || !repo) {\n return null;\n }\n\n // If there's a path in topSource, use it; otherwise use skill name\n let skillPath: string;\n if (parts.length > 2) {\n // Path is specified in topSource (e.g., \"anthropics/skills/frontend-design\")\n skillPath = parts.slice(2).join('/');\n } else if (skillName) {\n // No path in topSource, use skill name (e.g., for \"vercel-labs/agent-skills\" + skill \"web-design-guidelines\")\n skillPath = skillName;\n } else {\n return null;\n }\n\n return {\n owner,\n repo,\n skillPath,\n };\n}\n"],"names":["useMastraClient","useMutation","useQuery"],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { useMastraClient } from '@mastra/react';
|
|
2
|
+
import { useQuery, useMutation } from '@tanstack/react-query';
|
|
3
|
+
|
|
4
|
+
const useSearchSkillsSh = (workspaceId) => {
|
|
5
|
+
const client = useMastraClient();
|
|
6
|
+
return useMutation({
|
|
7
|
+
mutationFn: (query) => {
|
|
8
|
+
if (!workspaceId) throw new Error("Workspace ID is required");
|
|
9
|
+
return client.getWorkspace(workspaceId).searchSkillsSh({ q: query, limit: 10 });
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
const usePopularSkillsSh = (workspaceId) => {
|
|
14
|
+
const client = useMastraClient();
|
|
15
|
+
return useQuery({
|
|
16
|
+
queryKey: ["skills-sh", "popular", workspaceId],
|
|
17
|
+
queryFn: () => {
|
|
18
|
+
if (!workspaceId) throw new Error("Workspace ID is required");
|
|
19
|
+
return client.getWorkspace(workspaceId).listPopularSkillsSh({ limit: 10, offset: 0 });
|
|
20
|
+
},
|
|
21
|
+
staleTime: 5 * 60 * 1e3,
|
|
22
|
+
enabled: !!workspaceId
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
const useSkillPreview = (workspaceId, owner, repo, skillPath, options) => {
|
|
26
|
+
const client = useMastraClient();
|
|
27
|
+
return useQuery({
|
|
28
|
+
queryKey: ["skills-sh", "preview", workspaceId, owner, repo, skillPath],
|
|
29
|
+
queryFn: async () => {
|
|
30
|
+
if (!workspaceId || !owner || !repo || !skillPath) {
|
|
31
|
+
throw new Error("workspaceId, owner, repo, and skillPath are required");
|
|
32
|
+
}
|
|
33
|
+
const { content } = await client.getWorkspace(workspaceId).previewSkillsSh({ owner, repo, path: skillPath });
|
|
34
|
+
return content;
|
|
35
|
+
},
|
|
36
|
+
enabled: options?.enabled !== false && !!workspaceId && !!owner && !!repo && !!skillPath,
|
|
37
|
+
retry: false
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
function parseSkillSource(topSource, skillName) {
|
|
41
|
+
let cleanSource = topSource.replace(/^https?:\/\//, "");
|
|
42
|
+
cleanSource = cleanSource.replace(/^github\.com\//, "");
|
|
43
|
+
cleanSource = cleanSource.replace(/\/$/, "");
|
|
44
|
+
const parts = cleanSource.split("/").filter(Boolean);
|
|
45
|
+
const [owner, repo] = parts;
|
|
46
|
+
if (!owner || !repo) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
let skillPath;
|
|
50
|
+
if (parts.length > 2) {
|
|
51
|
+
skillPath = parts.slice(2).join("/");
|
|
52
|
+
} else if (skillName) {
|
|
53
|
+
skillPath = skillName;
|
|
54
|
+
} else {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
owner,
|
|
59
|
+
repo,
|
|
60
|
+
skillPath
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export { parseSkillSource, usePopularSkillsSh, useSearchSkillsSh, useSkillPreview };
|
|
65
|
+
//# sourceMappingURL=use-skills-sh.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-skills-sh.es.js","sources":["../../../../src/domains/workspace/hooks/use-skills-sh.ts"],"sourcesContent":["import type { SkillsShSkill } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { useMutation, useQuery } from '@tanstack/react-query';\n\nexport type { SkillsShSkill };\n\n/**\n * Search skills on skills.sh (via server proxy)\n */\nexport const useSearchSkillsSh = (workspaceId: string | undefined) => {\n const client = useMastraClient();\n\n return useMutation({\n mutationFn: (query: string) => {\n if (!workspaceId) throw new Error('Workspace ID is required');\n return client.getWorkspace(workspaceId).searchSkillsSh({ q: query, limit: 10 });\n },\n });\n};\n\n/**\n * Get popular skills from skills.sh (via server proxy, cached for 5 minutes)\n */\nexport const usePopularSkillsSh = (workspaceId: string | undefined) => {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['skills-sh', 'popular', workspaceId],\n queryFn: () => {\n if (!workspaceId) throw new Error('Workspace ID is required');\n return client.getWorkspace(workspaceId).listPopularSkillsSh({ limit: 10, offset: 0 });\n },\n staleTime: 5 * 60 * 1000,\n enabled: !!workspaceId,\n });\n};\n\n/**\n * Preview a skill by fetching its SKILL.md (via server proxy to avoid CORS)\n */\nexport const useSkillPreview = (\n workspaceId: string | undefined,\n owner: string | undefined,\n repo: string | undefined,\n skillPath: string | undefined,\n options?: { enabled?: boolean },\n) => {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['skills-sh', 'preview', workspaceId, owner, repo, skillPath],\n queryFn: async () => {\n if (!workspaceId || !owner || !repo || !skillPath) {\n throw new Error('workspaceId, owner, repo, and skillPath are required');\n }\n const { content } = await client.getWorkspace(workspaceId).previewSkillsSh({ owner, repo, path: skillPath });\n return content;\n },\n enabled: options?.enabled !== false && !!workspaceId && !!owner && !!repo && !!skillPath,\n retry: false,\n });\n};\n\n// =============================================================================\n// Helper: Parse skills.sh skill ID to repository info\n// =============================================================================\n\n/**\n * Parse a skill's topSource field to extract GitHub repository info\n *\n * skills.sh topSource formats:\n * - \"owner/repo\" (e.g., \"vercel-labs/agent-skills\")\n * - \"owner/repo/path\" (e.g., \"anthropics/skills/frontend-design\")\n * - \"github.com/owner/repo/path\" (full URL format)\n *\n * The skill name is used as the path within the repo when not specified\n */\nexport function parseSkillSource(\n topSource: string,\n skillName?: string,\n): {\n owner: string;\n repo: string;\n skillPath: string;\n} | null {\n // Remove protocol and github.com prefix if present\n let cleanSource = topSource.replace(/^https?:\\/\\//, '');\n cleanSource = cleanSource.replace(/^github\\.com\\//, '');\n // Remove trailing slash if present\n cleanSource = cleanSource.replace(/\\/$/, '');\n\n const parts = cleanSource.split('/').filter(Boolean);\n const [owner, repo] = parts;\n\n if (!owner || !repo) {\n return null;\n }\n\n // If there's a path in topSource, use it; otherwise use skill name\n let skillPath: string;\n if (parts.length > 2) {\n // Path is specified in topSource (e.g., \"anthropics/skills/frontend-design\")\n skillPath = parts.slice(2).join('/');\n } else if (skillName) {\n // No path in topSource, use skill name (e.g., for \"vercel-labs/agent-skills\" + skill \"web-design-guidelines\")\n skillPath = skillName;\n } else {\n return null;\n }\n\n return {\n owner,\n repo,\n skillPath,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const react = require('@mastra/react');
|
|
6
|
+
const reactQuery = require('@tanstack/react-query');
|
|
7
|
+
|
|
8
|
+
const WORKSPACE_REFETCH_INTERVAL = 1e4;
|
|
9
|
+
function useWorkspaceDirectory(workspaceId, path, { enabled = true } = {}) {
|
|
10
|
+
const client = react.useMastraClient();
|
|
11
|
+
return reactQuery.useQuery({
|
|
12
|
+
queryKey: ["workspace", workspaceId, "fs", "list", path],
|
|
13
|
+
queryFn: async () => (await client.getWorkspace(workspaceId).listFiles(path, false)).entries,
|
|
14
|
+
enabled,
|
|
15
|
+
refetchInterval: WORKSPACE_REFETCH_INTERVAL
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
exports.WORKSPACE_REFETCH_INTERVAL = WORKSPACE_REFETCH_INTERVAL;
|
|
20
|
+
exports.useWorkspaceDirectory = useWorkspaceDirectory;
|
|
21
|
+
//# sourceMappingURL=use-workspace-directory.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-workspace-directory.cjs.js","sources":["../../../../src/domains/workspace/hooks/use-workspace-directory.ts"],"sourcesContent":["import { useMastraClient } from '@mastra/react';\nimport { useQuery } from '@tanstack/react-query';\n\nexport const WORKSPACE_REFETCH_INTERVAL = 10_000;\n\n/** Lists a single directory level and polls it. Callers enable it only once the folder is expanded. */\nexport function useWorkspaceDirectory(workspaceId: string, path: string, { enabled = true } = {}) {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['workspace', workspaceId, 'fs', 'list', path],\n queryFn: async () => (await client.getWorkspace(workspaceId).listFiles(path, false)).entries,\n enabled,\n refetchInterval: WORKSPACE_REFETCH_INTERVAL,\n });\n}\n"],"names":["useMastraClient","useQuery"],"mappings":";;;;;;;AAGO,MAAM,0BAAA,GAA6B;AAGnC,SAAS,qBAAA,CAAsB,aAAqB,IAAA,EAAc,EAAE,UAAU,IAAA,EAAK,GAAI,EAAC,EAAG;AAChG,EAAA,MAAM,SAASA,qBAAA,EAAgB;AAE/B,EAAA,OAAOC,mBAAA,CAAS;AAAA,IACd,UAAU,CAAC,WAAA,EAAa,WAAA,EAAa,IAAA,EAAM,QAAQ,IAAI,CAAA;AAAA,IACvD,OAAA,EAAS,YAAA,CAAa,MAAM,MAAA,CAAO,YAAA,CAAa,WAAW,CAAA,CAAE,SAAA,CAAU,IAAA,EAAM,KAAK,CAAA,EAAG,OAAA;AAAA,IACrF,OAAA;AAAA,IACA,eAAA,EAAiB;AAAA,GAClB,CAAA;AACH;;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useMastraClient } from '@mastra/react';
|
|
2
|
+
import { useQuery } from '@tanstack/react-query';
|
|
3
|
+
|
|
4
|
+
const WORKSPACE_REFETCH_INTERVAL = 1e4;
|
|
5
|
+
function useWorkspaceDirectory(workspaceId, path, { enabled = true } = {}) {
|
|
6
|
+
const client = useMastraClient();
|
|
7
|
+
return useQuery({
|
|
8
|
+
queryKey: ["workspace", workspaceId, "fs", "list", path],
|
|
9
|
+
queryFn: async () => (await client.getWorkspace(workspaceId).listFiles(path, false)).entries,
|
|
10
|
+
enabled,
|
|
11
|
+
refetchInterval: WORKSPACE_REFETCH_INTERVAL
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { WORKSPACE_REFETCH_INTERVAL, useWorkspaceDirectory };
|
|
16
|
+
//# sourceMappingURL=use-workspace-directory.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-workspace-directory.es.js","sources":["../../../../src/domains/workspace/hooks/use-workspace-directory.ts"],"sourcesContent":["import { useMastraClient } from '@mastra/react';\nimport { useQuery } from '@tanstack/react-query';\n\nexport const WORKSPACE_REFETCH_INTERVAL = 10_000;\n\n/** Lists a single directory level and polls it. Callers enable it only once the folder is expanded. */\nexport function useWorkspaceDirectory(workspaceId: string, path: string, { enabled = true } = {}) {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['workspace', workspaceId, 'fs', 'list', path],\n queryFn: async () => (await client.getWorkspace(workspaceId).listFiles(path, false)).entries,\n enabled,\n refetchInterval: WORKSPACE_REFETCH_INTERVAL,\n });\n}\n"],"names":[],"mappings":";;;AAGO,MAAM,0BAAA,GAA6B;AAGnC,SAAS,qBAAA,CAAsB,aAAqB,IAAA,EAAc,EAAE,UAAU,IAAA,EAAK,GAAI,EAAC,EAAG;AAChG,EAAA,MAAM,SAAS,eAAA,EAAgB;AAE/B,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,UAAU,CAAC,WAAA,EAAa,WAAA,EAAa,IAAA,EAAM,QAAQ,IAAI,CAAA;AAAA,IACvD,OAAA,EAAS,YAAA,CAAa,MAAM,MAAA,CAAO,YAAA,CAAa,WAAW,CAAA,CAAE,SAAA,CAAU,IAAA,EAAM,KAAK,CAAA,EAAG,OAAA;AAAA,IACrF,OAAA;AAAA,IACA,eAAA,EAAiB;AAAA,GAClB,CAAA;AACH;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const react = require('@mastra/react');
|
|
6
|
+
const reactQuery = require('@tanstack/react-query');
|
|
7
|
+
const domains_workspace_fileType = require('../file-type.cjs.js');
|
|
8
|
+
const domains_workspace_hooks_useWorkspaceDirectory = require('./use-workspace-directory.cjs.js');
|
|
9
|
+
|
|
10
|
+
function useWorkspaceFileContent(workspaceId, path) {
|
|
11
|
+
const client = react.useMastraClient();
|
|
12
|
+
const encoding = path && domains_workspace_fileType.isMediaFile(path) ? "base64" : void 0;
|
|
13
|
+
return reactQuery.useQuery({
|
|
14
|
+
queryKey: ["workspace", workspaceId, "fs", "read", path, encoding],
|
|
15
|
+
queryFn: () => client.getWorkspace(workspaceId).readFile(path ?? "", encoding),
|
|
16
|
+
enabled: !!path,
|
|
17
|
+
refetchInterval: domains_workspace_hooks_useWorkspaceDirectory.WORKSPACE_REFETCH_INTERVAL
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
exports.useWorkspaceFileContent = useWorkspaceFileContent;
|
|
22
|
+
//# sourceMappingURL=use-workspace-file-content.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-workspace-file-content.cjs.js","sources":["../../../../src/domains/workspace/hooks/use-workspace-file-content.ts"],"sourcesContent":["import { useMastraClient } from '@mastra/react';\nimport { useQuery } from '@tanstack/react-query';\nimport { isMediaFile } from '../file-type';\nimport { WORKSPACE_REFETCH_INTERVAL } from './use-workspace-directory';\n\n/** Reads a file (base64 for images/videos) and polls it so the viewer follows external edits. */\nexport function useWorkspaceFileContent(workspaceId: string, path?: string) {\n const client = useMastraClient();\n const encoding = path && isMediaFile(path) ? 'base64' : undefined;\n\n return useQuery({\n queryKey: ['workspace', workspaceId, 'fs', 'read', path, encoding],\n queryFn: () => client.getWorkspace(workspaceId).readFile(path ?? '', encoding),\n enabled: !!path,\n refetchInterval: WORKSPACE_REFETCH_INTERVAL,\n });\n}\n"],"names":["useMastraClient","isMediaFile","useQuery","WORKSPACE_REFETCH_INTERVAL"],"mappings":";;;;;;;;;AAMO,SAAS,uBAAA,CAAwB,aAAqB,IAAA,EAAe;AAC1E,EAAA,MAAM,SAASA,qBAAA,EAAgB;AAC/B,EAAA,MAAM,QAAA,GAAW,IAAA,IAAQC,sCAAA,CAAY,IAAI,IAAI,QAAA,GAAW,MAAA;AAExD,EAAA,OAAOC,mBAAA,CAAS;AAAA,IACd,UAAU,CAAC,WAAA,EAAa,aAAa,IAAA,EAAM,MAAA,EAAQ,MAAM,QAAQ,CAAA;AAAA,IACjE,OAAA,EAAS,MAAM,MAAA,CAAO,YAAA,CAAa,WAAW,CAAA,CAAE,QAAA,CAAS,IAAA,IAAQ,EAAA,EAAI,QAAQ,CAAA;AAAA,IAC7E,OAAA,EAAS,CAAC,CAAC,IAAA;AAAA,IACX,eAAA,EAAiBC;AAAA,GAClB,CAAA;AACH;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useMastraClient } from '@mastra/react';
|
|
2
|
+
import { useQuery } from '@tanstack/react-query';
|
|
3
|
+
import { isMediaFile } from '../file-type.es.js';
|
|
4
|
+
import { WORKSPACE_REFETCH_INTERVAL } from './use-workspace-directory.es.js';
|
|
5
|
+
|
|
6
|
+
function useWorkspaceFileContent(workspaceId, path) {
|
|
7
|
+
const client = useMastraClient();
|
|
8
|
+
const encoding = path && isMediaFile(path) ? "base64" : void 0;
|
|
9
|
+
return useQuery({
|
|
10
|
+
queryKey: ["workspace", workspaceId, "fs", "read", path, encoding],
|
|
11
|
+
queryFn: () => client.getWorkspace(workspaceId).readFile(path ?? "", encoding),
|
|
12
|
+
enabled: !!path,
|
|
13
|
+
refetchInterval: WORKSPACE_REFETCH_INTERVAL
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { useWorkspaceFileContent };
|
|
18
|
+
//# sourceMappingURL=use-workspace-file-content.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-workspace-file-content.es.js","sources":["../../../../src/domains/workspace/hooks/use-workspace-file-content.ts"],"sourcesContent":["import { useMastraClient } from '@mastra/react';\nimport { useQuery } from '@tanstack/react-query';\nimport { isMediaFile } from '../file-type';\nimport { WORKSPACE_REFETCH_INTERVAL } from './use-workspace-directory';\n\n/** Reads a file (base64 for images/videos) and polls it so the viewer follows external edits. */\nexport function useWorkspaceFileContent(workspaceId: string, path?: string) {\n const client = useMastraClient();\n const encoding = path && isMediaFile(path) ? 'base64' : undefined;\n\n return useQuery({\n queryKey: ['workspace', workspaceId, 'fs', 'read', path, encoding],\n queryFn: () => client.getWorkspace(workspaceId).readFile(path ?? '', encoding),\n enabled: !!path,\n refetchInterval: WORKSPACE_REFETCH_INTERVAL,\n });\n}\n"],"names":[],"mappings":";;;;;AAMO,SAAS,uBAAA,CAAwB,aAAqB,IAAA,EAAe;AAC1E,EAAA,MAAM,SAAS,eAAA,EAAgB;AAC/B,EAAA,MAAM,QAAA,GAAW,IAAA,IAAQ,WAAA,CAAY,IAAI,IAAI,QAAA,GAAW,MAAA;AAExD,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,UAAU,CAAC,WAAA,EAAa,aAAa,IAAA,EAAM,MAAA,EAAQ,MAAM,QAAQ,CAAA;AAAA,IACjE,OAAA,EAAS,MAAM,MAAA,CAAO,YAAA,CAAa,WAAW,CAAA,CAAE,QAAA,CAAS,IAAA,IAAQ,EAAA,EAAI,QAAQ,CAAA;AAAA,IAC7E,OAAA,EAAS,CAAC,CAAC,IAAA;AAAA,IACX,eAAA,EAAiB;AAAA,GAClB,CAAA;AACH;;;;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const react = require('@mastra/react');
|
|
6
|
+
const reactQuery = require('@tanstack/react-query');
|
|
7
|
+
|
|
8
|
+
const filePathFromId = (id) => id.replace(/#chunk-\d+$/, "");
|
|
9
|
+
const basename = (path) => path.split("/").filter(Boolean).pop() ?? path;
|
|
10
|
+
const skillFilePath = (result) => result.skillPath ? `${result.skillPath.replace(/\/$/, "")}/SKILL.md` : result.source;
|
|
11
|
+
function useWorkspaceSearch(workspaceId, query, { files: searchFiles = true, skills: searchSkills = true } = {}) {
|
|
12
|
+
const client = react.useMastraClient();
|
|
13
|
+
const trimmed = query.trim();
|
|
14
|
+
return reactQuery.useQuery({
|
|
15
|
+
queryKey: ["workspace", workspaceId, "search", trimmed, searchFiles, searchSkills],
|
|
16
|
+
queryFn: async () => {
|
|
17
|
+
const workspace = client.getWorkspace(workspaceId);
|
|
18
|
+
const [files, skills] = await Promise.allSettled([
|
|
19
|
+
searchFiles ? workspace.search({ query: trimmed }) : Promise.reject(new Error("File search disabled")),
|
|
20
|
+
searchSkills ? workspace.searchSkills({ query: trimmed }) : Promise.reject(new Error("Skill search disabled"))
|
|
21
|
+
]);
|
|
22
|
+
if (files.status === "rejected" && skills.status === "rejected") {
|
|
23
|
+
throw (searchFiles ? files : skills).reason;
|
|
24
|
+
}
|
|
25
|
+
const hits = /* @__PURE__ */ new Map();
|
|
26
|
+
const add = (hit) => {
|
|
27
|
+
const existing = hits.get(hit.path);
|
|
28
|
+
if (!existing || existing.score < hit.score) hits.set(hit.path, hit);
|
|
29
|
+
};
|
|
30
|
+
if (files.status === "fulfilled") {
|
|
31
|
+
for (const result of files.value.results) {
|
|
32
|
+
const path = filePathFromId(result.id);
|
|
33
|
+
add({ kind: "file", path, label: basename(path), score: result.score });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (skills.status === "fulfilled") {
|
|
37
|
+
for (const result of skills.value.results) {
|
|
38
|
+
add({
|
|
39
|
+
kind: "skill",
|
|
40
|
+
path: skillFilePath(result),
|
|
41
|
+
label: result.skillName,
|
|
42
|
+
score: result.score
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return [...hits.values()].sort((a, b) => b.score - a.score);
|
|
47
|
+
},
|
|
48
|
+
enabled: trimmed.length > 0 && (searchFiles || searchSkills)
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
exports.useWorkspaceSearch = useWorkspaceSearch;
|
|
53
|
+
//# sourceMappingURL=use-workspace-search.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-workspace-search.cjs.js","sources":["../../../../src/domains/workspace/hooks/use-workspace-search.ts"],"sourcesContent":["import type { SkillSearchResult } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { useQuery } from '@tanstack/react-query';\n\nexport interface WorkspaceSearchHit {\n kind: 'file' | 'skill';\n path: string;\n label: string;\n score: number;\n}\n\n// Chunked files are indexed as `<path>#chunk-<n>`.\nconst filePathFromId = (id: string) => id.replace(/#chunk-\\d+$/, '');\n\nconst basename = (path: string) => path.split('/').filter(Boolean).pop() ?? path;\n\n// The server returns `skillPath`, which the client type does not declare yet.\nconst skillFilePath = (result: SkillSearchResult & { skillPath?: string }) =>\n result.skillPath ? `${result.skillPath.replace(/\\/$/, '')}/SKILL.md` : result.source;\n\n/** Searches files and skills in parallel; one failing source (e.g. 501 not configured) keeps the other's hits. */\nexport function useWorkspaceSearch(\n workspaceId: string,\n query: string,\n { files: searchFiles = true, skills: searchSkills = true }: { files?: boolean; skills?: boolean } = {},\n) {\n const client = useMastraClient();\n const trimmed = query.trim();\n\n return useQuery({\n queryKey: ['workspace', workspaceId, 'search', trimmed, searchFiles, searchSkills],\n queryFn: async () => {\n const workspace = client.getWorkspace(workspaceId);\n const [files, skills] = await Promise.allSettled([\n searchFiles ? workspace.search({ query: trimmed }) : Promise.reject(new Error('File search disabled')),\n searchSkills ? workspace.searchSkills({ query: trimmed }) : Promise.reject(new Error('Skill search disabled')),\n ]);\n\n if (files.status === 'rejected' && skills.status === 'rejected') {\n throw (searchFiles ? files : skills).reason;\n }\n\n const hits = new Map<string, WorkspaceSearchHit>();\n const add = (hit: WorkspaceSearchHit) => {\n const existing = hits.get(hit.path);\n if (!existing || existing.score < hit.score) hits.set(hit.path, hit);\n };\n\n if (files.status === 'fulfilled') {\n for (const result of files.value.results) {\n const path = filePathFromId(result.id);\n add({ kind: 'file', path, label: basename(path), score: result.score });\n }\n }\n if (skills.status === 'fulfilled') {\n for (const result of skills.value.results) {\n add({\n kind: 'skill',\n path: skillFilePath(result),\n label: result.skillName,\n score: result.score,\n });\n }\n }\n\n return [...hits.values()].sort((a, b) => b.score - a.score);\n },\n enabled: trimmed.length > 0 && (searchFiles || searchSkills),\n });\n}\n"],"names":["useMastraClient","useQuery"],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useMastraClient } from '@mastra/react';
|
|
2
|
+
import { useQuery } from '@tanstack/react-query';
|
|
3
|
+
|
|
4
|
+
const filePathFromId = (id) => id.replace(/#chunk-\d+$/, "");
|
|
5
|
+
const basename = (path) => path.split("/").filter(Boolean).pop() ?? path;
|
|
6
|
+
const skillFilePath = (result) => result.skillPath ? `${result.skillPath.replace(/\/$/, "")}/SKILL.md` : result.source;
|
|
7
|
+
function useWorkspaceSearch(workspaceId, query, { files: searchFiles = true, skills: searchSkills = true } = {}) {
|
|
8
|
+
const client = useMastraClient();
|
|
9
|
+
const trimmed = query.trim();
|
|
10
|
+
return useQuery({
|
|
11
|
+
queryKey: ["workspace", workspaceId, "search", trimmed, searchFiles, searchSkills],
|
|
12
|
+
queryFn: async () => {
|
|
13
|
+
const workspace = client.getWorkspace(workspaceId);
|
|
14
|
+
const [files, skills] = await Promise.allSettled([
|
|
15
|
+
searchFiles ? workspace.search({ query: trimmed }) : Promise.reject(new Error("File search disabled")),
|
|
16
|
+
searchSkills ? workspace.searchSkills({ query: trimmed }) : Promise.reject(new Error("Skill search disabled"))
|
|
17
|
+
]);
|
|
18
|
+
if (files.status === "rejected" && skills.status === "rejected") {
|
|
19
|
+
throw (searchFiles ? files : skills).reason;
|
|
20
|
+
}
|
|
21
|
+
const hits = /* @__PURE__ */ new Map();
|
|
22
|
+
const add = (hit) => {
|
|
23
|
+
const existing = hits.get(hit.path);
|
|
24
|
+
if (!existing || existing.score < hit.score) hits.set(hit.path, hit);
|
|
25
|
+
};
|
|
26
|
+
if (files.status === "fulfilled") {
|
|
27
|
+
for (const result of files.value.results) {
|
|
28
|
+
const path = filePathFromId(result.id);
|
|
29
|
+
add({ kind: "file", path, label: basename(path), score: result.score });
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (skills.status === "fulfilled") {
|
|
33
|
+
for (const result of skills.value.results) {
|
|
34
|
+
add({
|
|
35
|
+
kind: "skill",
|
|
36
|
+
path: skillFilePath(result),
|
|
37
|
+
label: result.skillName,
|
|
38
|
+
score: result.score
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return [...hits.values()].sort((a, b) => b.score - a.score);
|
|
43
|
+
},
|
|
44
|
+
enabled: trimmed.length > 0 && (searchFiles || searchSkills)
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { useWorkspaceSearch };
|
|
49
|
+
//# sourceMappingURL=use-workspace-search.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-workspace-search.es.js","sources":["../../../../src/domains/workspace/hooks/use-workspace-search.ts"],"sourcesContent":["import type { SkillSearchResult } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { useQuery } from '@tanstack/react-query';\n\nexport interface WorkspaceSearchHit {\n kind: 'file' | 'skill';\n path: string;\n label: string;\n score: number;\n}\n\n// Chunked files are indexed as `<path>#chunk-<n>`.\nconst filePathFromId = (id: string) => id.replace(/#chunk-\\d+$/, '');\n\nconst basename = (path: string) => path.split('/').filter(Boolean).pop() ?? path;\n\n// The server returns `skillPath`, which the client type does not declare yet.\nconst skillFilePath = (result: SkillSearchResult & { skillPath?: string }) =>\n result.skillPath ? `${result.skillPath.replace(/\\/$/, '')}/SKILL.md` : result.source;\n\n/** Searches files and skills in parallel; one failing source (e.g. 501 not configured) keeps the other's hits. */\nexport function useWorkspaceSearch(\n workspaceId: string,\n query: string,\n { files: searchFiles = true, skills: searchSkills = true }: { files?: boolean; skills?: boolean } = {},\n) {\n const client = useMastraClient();\n const trimmed = query.trim();\n\n return useQuery({\n queryKey: ['workspace', workspaceId, 'search', trimmed, searchFiles, searchSkills],\n queryFn: async () => {\n const workspace = client.getWorkspace(workspaceId);\n const [files, skills] = await Promise.allSettled([\n searchFiles ? workspace.search({ query: trimmed }) : Promise.reject(new Error('File search disabled')),\n searchSkills ? workspace.searchSkills({ query: trimmed }) : Promise.reject(new Error('Skill search disabled')),\n ]);\n\n if (files.status === 'rejected' && skills.status === 'rejected') {\n throw (searchFiles ? files : skills).reason;\n }\n\n const hits = new Map<string, WorkspaceSearchHit>();\n const add = (hit: WorkspaceSearchHit) => {\n const existing = hits.get(hit.path);\n if (!existing || existing.score < hit.score) hits.set(hit.path, hit);\n };\n\n if (files.status === 'fulfilled') {\n for (const result of files.value.results) {\n const path = filePathFromId(result.id);\n add({ kind: 'file', path, label: basename(path), score: result.score });\n }\n }\n if (skills.status === 'fulfilled') {\n for (const result of skills.value.results) {\n add({\n kind: 'skill',\n path: skillFilePath(result),\n label: result.skillName,\n score: result.score,\n });\n }\n }\n\n return [...hits.values()].sort((a, b) => b.score - a.score);\n },\n enabled: trimmed.length > 0 && (searchFiles || searchSkills),\n });\n}\n"],"names":[],"mappings":"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"}
|