@mastra/playground-ui 37.0.1-alpha.2 → 37.1.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/dist/Avatar-BjYaEMp7.cjs +44 -0
- package/dist/Avatar-BjYaEMp7.cjs.map +1 -0
- package/dist/Avatar-C4iB6och.js +42 -0
- package/dist/Avatar-C4iB6och.js.map +1 -0
- package/dist/Badge-Ba_ltDdC.js +55 -0
- package/dist/Badge-Ba_ltDdC.js.map +1 -0
- package/dist/Badge-Cwp7HH1E.cjs +57 -0
- package/dist/Badge-Cwp7HH1E.cjs.map +1 -0
- package/dist/Breadcrumb-Bo79EXXr.js +34 -0
- package/dist/Breadcrumb-Bo79EXXr.js.map +1 -0
- package/dist/Breadcrumb-OaOfQ2cJ.cjs +37 -0
- package/dist/Breadcrumb-OaOfQ2cJ.cjs.map +1 -0
- package/dist/Button-66ghjQV8.cjs +108 -0
- package/dist/Button-66ghjQV8.cjs.map +1 -0
- package/dist/Button-Bq0VuEbC.js +105 -0
- package/dist/Button-Bq0VuEbC.js.map +1 -0
- package/dist/ErrorBoundary-Bsn4TF3z.js +154 -0
- package/dist/ErrorBoundary-Bsn4TF3z.js.map +1 -0
- package/dist/ErrorBoundary-DB5pfcAb.cjs +175 -0
- package/dist/ErrorBoundary-DB5pfcAb.cjs.map +1 -0
- package/dist/Notice-CiS1Dv3i.js +89 -0
- package/dist/Notice-CiS1Dv3i.js.map +1 -0
- package/dist/Notice-h63wsfzJ.cjs +91 -0
- package/dist/Notice-h63wsfzJ.cjs.map +1 -0
- package/dist/SessionExpired-Di89Q6es.js +45 -0
- package/dist/SessionExpired-Di89Q6es.js.map +1 -0
- package/dist/SessionExpired-PEHQGxqm.cjs +47 -0
- package/dist/SessionExpired-PEHQGxqm.cjs.map +1 -0
- package/dist/alert-dialog-B12mCQ0m.js +99 -0
- package/dist/alert-dialog-B12mCQ0m.js.map +1 -0
- package/dist/alert-dialog-C2_Vo4Cl.cjs +120 -0
- package/dist/alert-dialog-C2_Vo4Cl.cjs.map +1 -0
- package/dist/buttons-group-C0fJastT.cjs +185 -0
- package/dist/buttons-group-C0fJastT.cjs.map +1 -0
- package/dist/buttons-group-b6an6uao.js +161 -0
- package/dist/buttons-group-b6an6uao.js.map +1 -0
- package/dist/checkbox-CgdQc_vN.cjs +109 -0
- package/dist/checkbox-CgdQc_vN.cjs.map +1 -0
- package/dist/checkbox-Cot1EjeD.js +88 -0
- package/dist/checkbox-Cot1EjeD.js.map +1 -0
- package/dist/code-block-C3VKeb3t.js +84 -0
- package/dist/code-block-C3VKeb3t.js.map +1 -0
- package/dist/code-block-Cuj8dH9p.cjs +86 -0
- package/dist/code-block-Cuj8dH9p.cjs.map +1 -0
- package/dist/code-editor-BoBPNQhp.js +441 -0
- package/dist/code-editor-BoBPNQhp.js.map +1 -0
- package/dist/code-editor-DYfn9l8p.cjs +449 -0
- package/dist/code-editor-DYfn9l8p.cjs.map +1 -0
- package/dist/collapsible-CCV0eLl-.cjs +61 -0
- package/dist/collapsible-CCV0eLl-.cjs.map +1 -0
- package/dist/collapsible-CwP9t1xW.js +57 -0
- package/dist/collapsible-CwP9t1xW.js.map +1 -0
- package/dist/combobox-BceHZZ5n.js +223 -0
- package/dist/combobox-BceHZZ5n.js.map +1 -0
- package/dist/combobox-C3eqvELk.cjs +245 -0
- package/dist/combobox-C3eqvELk.cjs.map +1 -0
- package/dist/command-C9pUyBEf.cjs +194 -0
- package/dist/command-C9pUyBEf.cjs.map +1 -0
- package/dist/command-h1VbHGY1.js +165 -0
- package/dist/command-h1VbHGY1.js.map +1 -0
- package/dist/components/AlertDialog.cjs.js +1 -1
- package/dist/components/AlertDialog.es.js +1 -1
- package/dist/components/Avatar.cjs.js +1 -1
- package/dist/components/Avatar.es.js +1 -1
- package/dist/components/Badge.cjs.js +1 -1
- package/dist/components/Badge.es.js +1 -1
- package/dist/components/Breadcrumb.cjs.js +1 -1
- package/dist/components/Breadcrumb.es.js +1 -1
- package/dist/components/Button.cjs.js +1 -1
- package/dist/components/Button.es.js +1 -1
- package/dist/components/ButtonsGroup.cjs.js +1 -1
- package/dist/components/ButtonsGroup.es.js +1 -1
- package/dist/components/Checkbox.cjs.js +1 -1
- package/dist/components/Checkbox.es.js +1 -1
- package/dist/components/CodeBlock.cjs.js +1 -1
- package/dist/components/CodeBlock.es.js +1 -1
- package/dist/components/CodeEditor.cjs.js +1 -1
- package/dist/components/CodeEditor.es.js +1 -1
- package/dist/components/Collapsible.cjs.js +1 -1
- package/dist/components/Collapsible.es.js +1 -1
- package/dist/components/Columns.cjs.js +1 -1
- package/dist/components/Columns.es.js +1 -1
- package/dist/components/Combobox.cjs.js +1 -1
- package/dist/components/Combobox.es.js +1 -1
- package/dist/components/Command.cjs.js +1 -1
- package/dist/components/Command.es.js +1 -1
- package/dist/components/CopyButton.cjs.js +1 -1
- package/dist/components/CopyButton.es.js +1 -1
- package/dist/components/DataCodeSection.cjs.js +1 -1
- package/dist/components/DataCodeSection.es.js +1 -1
- package/dist/components/DataDetailsPanel.cjs.js +3 -3
- package/dist/components/DataDetailsPanel.es.js +3 -3
- package/dist/components/DataFilter.cjs.js +1 -1
- package/dist/components/DataFilter.es.js +1 -1
- package/dist/components/DataList.cjs.js +5 -4
- package/dist/components/DataList.cjs.js.map +1 -1
- package/dist/components/DataList.es.js +4 -3
- package/dist/components/DataList.es.js.map +1 -1
- package/dist/components/DataPanel.cjs.js +1 -1
- package/dist/components/DataPanel.es.js +1 -1
- package/dist/components/DateTimePicker.cjs.js +2 -2
- package/dist/components/DateTimePicker.es.js +2 -2
- package/dist/components/DateTimeRangePicker.cjs.js +1 -1
- package/dist/components/DateTimeRangePicker.es.js +1 -1
- package/dist/components/Dialog.cjs.js +1 -1
- package/dist/components/Dialog.es.js +1 -1
- package/dist/components/Drawer.cjs.js +1 -1
- package/dist/components/Drawer.es.js +1 -1
- package/dist/components/DropdownMenu.cjs.js +1 -1
- package/dist/components/DropdownMenu.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.es.js +1 -1
- package/dist/components/ErrorBoundary.cjs.js +1 -1
- package/dist/components/ErrorBoundary.es.js +1 -1
- package/dist/components/FormFieldBlocks.cjs.js +3 -3
- package/dist/components/FormFieldBlocks.es.js +3 -3
- package/dist/components/Input.cjs.js +1 -1
- package/dist/components/Input.es.js +1 -1
- package/dist/components/InputGroup.cjs.js +1 -1
- package/dist/components/InputGroup.es.js +1 -1
- package/dist/components/ItemList.cjs.js +1 -1
- package/dist/components/ItemList.es.js +1 -1
- package/dist/components/JSONSchemaForm.cjs.js +4 -4
- package/dist/components/JSONSchemaForm.es.js +4 -4
- package/dist/components/Kbd.cjs.js +1 -1
- package/dist/components/Kbd.es.js +1 -1
- package/dist/components/ListSearch.cjs.js +1 -1
- package/dist/components/ListSearch.es.js +1 -1
- package/dist/components/LogsDataList.cjs.js +2 -2
- package/dist/components/LogsDataList.es.js +2 -2
- package/dist/components/MainSidebar.cjs.js +1 -1
- package/dist/components/MainSidebar.es.js +1 -1
- package/dist/components/MarkdownRenderer.cjs.js +1 -1
- package/dist/components/MarkdownRenderer.es.js +1 -1
- package/dist/components/Notice.cjs.js +1 -1
- package/dist/components/Notice.es.js +1 -1
- package/dist/components/Popover.cjs.js +1 -1
- package/dist/components/Popover.es.js +1 -1
- package/dist/components/PrevNextNav.cjs.js +2 -2
- package/dist/components/PrevNextNav.es.js +2 -2
- package/dist/components/PropertyFilter.cjs.js +5 -4
- package/dist/components/PropertyFilter.cjs.js.map +1 -1
- package/dist/components/PropertyFilter.es.js +2 -1
- package/dist/components/PropertyFilter.es.js.map +1 -1
- package/dist/components/RadioGroup.cjs.js +1 -1
- package/dist/components/RadioGroup.es.js +1 -1
- package/dist/components/RuleBuilder.cjs.js +1 -1
- package/dist/components/RuleBuilder.es.js +1 -1
- package/dist/components/Searchbar.cjs.js +1 -1
- package/dist/components/Searchbar.es.js +1 -1
- package/dist/components/Select.cjs.js +1 -1
- package/dist/components/Select.es.js +1 -1
- package/dist/components/SessionExpired.cjs.js +1 -1
- package/dist/components/SessionExpired.es.js +1 -1
- package/dist/components/SideDialog.cjs.js +8 -8
- package/dist/components/SideDialog.cjs.js.map +1 -1
- package/dist/components/SideDialog.es.js +6 -6
- package/dist/components/Steps.cjs.js +1 -1
- package/dist/components/Steps.es.js +1 -1
- package/dist/components/Tabs.cjs.js +2 -2
- package/dist/components/Tabs.es.js +2 -2
- package/dist/components/Textarea.cjs.js +1 -1
- package/dist/components/Textarea.es.js +1 -1
- package/dist/components/ThemeToggle.cjs.js +1 -1
- package/dist/components/ThemeToggle.es.js +1 -1
- package/dist/components/ThreadList.cjs.js +1 -1
- package/dist/components/ThreadList.es.js +1 -1
- package/dist/components/Tree.cjs.js +1 -1
- package/dist/components/Tree.es.js +1 -1
- package/dist/components/Truncate.cjs.js +1 -1
- package/dist/components/Truncate.es.js +1 -1
- package/dist/copy-button-CJjjhHKN.js +44 -0
- package/dist/copy-button-CJjjhHKN.js.map +1 -0
- package/dist/copy-button-DN9mi_LV.cjs +46 -0
- package/dist/copy-button-DN9mi_LV.cjs.map +1 -0
- package/dist/data-code-section-0bn3tNrE.cjs +335 -0
- package/dist/data-code-section-0bn3tNrE.cjs.map +1 -0
- package/dist/data-code-section-4YyicSye.js +332 -0
- package/dist/data-code-section-4YyicSye.js.map +1 -0
- package/dist/data-list-D5uItcj6.js +110 -0
- package/dist/data-list-D5uItcj6.js.map +1 -0
- package/dist/data-list-DDQRmA6L.cjs +112 -0
- package/dist/data-list-DDQRmA6L.cjs.map +1 -0
- package/dist/data-list-row-wrapper-BGI6fq0a.cjs +61 -0
- package/dist/data-list-row-wrapper-BGI6fq0a.cjs.map +1 -0
- package/dist/data-list-row-wrapper-BLuze8Kz.js +58 -0
- package/dist/data-list-row-wrapper-BLuze8Kz.js.map +1 -0
- package/dist/data-list-skeleton-Du8Lshzl.cjs +32 -0
- package/dist/data-list-skeleton-Du8Lshzl.cjs.map +1 -0
- package/dist/data-list-skeleton-DuoPJD5w.js +30 -0
- package/dist/data-list-skeleton-DuoPJD5w.js.map +1 -0
- package/dist/data-list-subheading-BOq190dz.cjs +32 -0
- package/dist/data-list-subheading-BOq190dz.cjs.map +1 -0
- package/dist/data-list-subheading-DzU_t0V0.js +29 -0
- package/dist/data-list-subheading-DzU_t0V0.js.map +1 -0
- package/dist/data-list-top-cell-B27jd1HH.js +462 -0
- package/dist/data-list-top-cell-B27jd1HH.js.map +1 -0
- package/dist/data-list-top-cell-DummeYkE.cjs +491 -0
- package/dist/data-list-top-cell-DummeYkE.cjs.map +1 -0
- package/dist/data-panel-BxX4ohtd.js +87 -0
- package/dist/data-panel-BxX4ohtd.js.map +1 -0
- package/dist/data-panel-D7TbjekV.cjs +89 -0
- package/dist/data-panel-D7TbjekV.cjs.map +1 -0
- package/dist/date-time-picker-BJ5oHVVP.js +245 -0
- package/dist/date-time-picker-BJ5oHVVP.js.map +1 -0
- package/dist/date-time-picker-V8b9fyim.cjs +268 -0
- package/dist/date-time-picker-V8b9fyim.cjs.map +1 -0
- package/dist/date-time-range-picker-BL2NxcTo.js +168 -0
- package/dist/date-time-range-picker-BL2NxcTo.js.map +1 -0
- package/dist/date-time-range-picker-DY3GLaiu.cjs +170 -0
- package/dist/date-time-range-picker-DY3GLaiu.cjs.map +1 -0
- package/dist/dialog-D8GU9T3e.cjs +107 -0
- package/dist/dialog-D8GU9T3e.cjs.map +1 -0
- package/dist/dialog-ki0o-LSD.js +76 -0
- package/dist/dialog-ki0o-LSD.js.map +1 -0
- package/dist/domains/logs/components/log-details-view.cjs.js +131 -0
- package/dist/domains/logs/components/log-details-view.cjs.js.map +1 -0
- package/dist/domains/logs/components/log-details-view.d.ts +2 -0
- package/dist/domains/logs/components/log-details-view.es.js +127 -0
- package/dist/domains/logs/components/log-details-view.es.js.map +1 -0
- package/dist/domains/logs/components/logs-error-content.cjs.js +31 -0
- package/dist/domains/logs/components/logs-error-content.cjs.js.map +1 -0
- package/dist/domains/logs/components/logs-error-content.d.ts +2 -0
- package/dist/domains/logs/components/logs-error-content.es.js +27 -0
- package/dist/domains/logs/components/logs-error-content.es.js.map +1 -0
- package/dist/domains/logs/components/logs-layout.cjs.js +36 -0
- package/dist/domains/logs/components/logs-layout.cjs.js.map +1 -0
- package/dist/domains/logs/components/logs-layout.d.ts +2 -0
- package/dist/domains/logs/components/logs-layout.es.js +32 -0
- package/dist/domains/logs/components/logs-layout.es.js.map +1 -0
- package/dist/domains/logs/components/logs-list-view.cjs.js +96 -0
- package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -0
- package/dist/domains/logs/components/logs-list-view.d.ts +2 -0
- package/dist/domains/logs/components/logs-list-view.es.js +92 -0
- package/dist/domains/logs/components/logs-list-view.es.js.map +1 -0
- package/dist/domains/logs/components/logs-toolbar.cjs.js +62 -0
- package/dist/domains/logs/components/logs-toolbar.cjs.js.map +1 -0
- package/dist/domains/logs/components/logs-toolbar.d.ts +2 -0
- package/dist/domains/logs/components/logs-toolbar.es.js +58 -0
- package/dist/domains/logs/components/logs-toolbar.es.js.map +1 -0
- package/dist/domains/logs/components/no-logs-info.cjs.js +71 -0
- package/dist/domains/logs/components/no-logs-info.cjs.js.map +1 -0
- package/dist/domains/logs/components/no-logs-info.d.ts +2 -0
- package/dist/domains/logs/components/no-logs-info.es.js +67 -0
- package/dist/domains/logs/components/no-logs-info.es.js.map +1 -0
- package/dist/domains/logs/components.cjs.js +20 -0
- package/dist/domains/logs/components.cjs.js.map +1 -0
- package/dist/domains/logs/components.d.ts +2 -0
- package/dist/domains/logs/components.es.js +7 -0
- package/dist/domains/logs/components.es.js.map +1 -0
- package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +49 -0
- package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js.map +1 -0
- package/dist/domains/logs/hooks/use-logs-filter-persistence.d.ts +2 -0
- package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +45 -0
- package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js.map +1 -0
- package/dist/domains/logs/hooks/use-logs-list-navigation.cjs.js +85 -0
- package/dist/domains/logs/hooks/use-logs-list-navigation.cjs.js.map +1 -0
- package/dist/domains/logs/hooks/use-logs-list-navigation.d.ts +2 -0
- package/dist/domains/logs/hooks/use-logs-list-navigation.es.js +81 -0
- package/dist/domains/logs/hooks/use-logs-list-navigation.es.js.map +1 -0
- package/dist/domains/logs/hooks/use-logs-url-state.cjs.js +198 -0
- package/dist/domains/logs/hooks/use-logs-url-state.cjs.js.map +1 -0
- package/dist/domains/logs/hooks/use-logs-url-state.d.ts +2 -0
- package/dist/domains/logs/hooks/use-logs-url-state.es.js +194 -0
- package/dist/domains/logs/hooks/use-logs-url-state.es.js.map +1 -0
- package/dist/domains/logs/hooks/use-logs.cjs.js +65 -0
- package/dist/domains/logs/hooks/use-logs.cjs.js.map +1 -0
- package/dist/domains/logs/hooks/use-logs.d.ts +2 -0
- package/dist/domains/logs/hooks/use-logs.es.js +60 -0
- package/dist/domains/logs/hooks/use-logs.es.js.map +1 -0
- package/dist/domains/logs/hooks.cjs.js +16 -0
- package/dist/domains/logs/hooks.cjs.js.map +1 -0
- package/dist/domains/logs/hooks.d.ts +2 -0
- package/dist/domains/logs/hooks.es.js +5 -0
- package/dist/domains/logs/hooks.es.js.map +1 -0
- package/dist/domains/logs/log-filters.cjs.js +356 -0
- package/dist/domains/logs/log-filters.cjs.js.map +1 -0
- package/dist/domains/logs/log-filters.d.ts +2 -0
- package/dist/domains/logs/log-filters.es.js +331 -0
- package/dist/domains/logs/log-filters.es.js.map +1 -0
- package/dist/domains/logs/types.cjs.js +3 -0
- package/dist/domains/logs/types.cjs.js.map +1 -0
- package/dist/domains/logs/types.d.ts +1 -0
- package/dist/domains/logs/types.es.js +2 -0
- package/dist/domains/logs/types.es.js.map +1 -0
- package/dist/domains/logs.cjs.js +51 -0
- package/dist/domains/logs.cjs.js.map +1 -0
- package/dist/domains/logs.d.ts +2 -0
- package/dist/domains/logs.es.js +12 -0
- package/dist/domains/logs.es.js.map +1 -0
- package/dist/domains/memory/components/flame-graph.cjs.js +479 -0
- package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -0
- package/dist/domains/memory/components/flame-graph.d.ts +2 -0
- package/dist/domains/memory/components/flame-graph.es.js +475 -0
- package/dist/domains/memory/components/flame-graph.es.js.map +1 -0
- package/dist/domains/memory/components/memory-studio-panel.cjs.js +107 -0
- package/dist/domains/memory/components/memory-studio-panel.cjs.js.map +1 -0
- package/dist/domains/memory/components/memory-studio-panel.d.ts +2 -0
- package/dist/domains/memory/components/memory-studio-panel.es.js +103 -0
- package/dist/domains/memory/components/memory-studio-panel.es.js.map +1 -0
- package/dist/domains/memory/components/observation-detail-view.cjs.js +232 -0
- package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -0
- package/dist/domains/memory/components/observation-detail-view.d.ts +2 -0
- package/dist/domains/memory/components/observation-detail-view.es.js +228 -0
- package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -0
- package/dist/domains/memory/components/thread-context-progress-utils.cjs.js +14 -0
- package/dist/domains/memory/components/thread-context-progress-utils.cjs.js.map +1 -0
- package/dist/domains/memory/components/thread-context-progress-utils.d.ts +2 -0
- package/dist/domains/memory/components/thread-context-progress-utils.es.js +10 -0
- package/dist/domains/memory/components/thread-context-progress-utils.es.js.map +1 -0
- package/dist/domains/memory/components/thread-context-progress.cjs.js +48 -0
- package/dist/domains/memory/components/thread-context-progress.cjs.js.map +1 -0
- package/dist/domains/memory/components/thread-context-progress.d.ts +2 -0
- package/dist/domains/memory/components/thread-context-progress.es.js +44 -0
- package/dist/domains/memory/components/thread-context-progress.es.js.map +1 -0
- package/dist/domains/memory/components.cjs.js +16 -0
- package/dist/domains/memory/components.cjs.js.map +1 -0
- package/dist/domains/memory/components.d.ts +2 -0
- package/dist/domains/memory/components.es.js +5 -0
- package/dist/domains/memory/components.es.js.map +1 -0
- package/dist/domains/memory/hooks/use-memory-status.cjs.js +22 -0
- package/dist/domains/memory/hooks/use-memory-status.cjs.js.map +1 -0
- package/dist/domains/memory/hooks/use-memory-status.d.ts +2 -0
- package/dist/domains/memory/hooks/use-memory-status.es.js +17 -0
- package/dist/domains/memory/hooks/use-memory-status.es.js.map +1 -0
- package/dist/domains/memory/hooks/use-memory-thread-messages.cjs.js +22 -0
- package/dist/domains/memory/hooks/use-memory-thread-messages.cjs.js.map +1 -0
- package/dist/domains/memory/hooks/use-memory-thread-messages.d.ts +2 -0
- package/dist/domains/memory/hooks/use-memory-thread-messages.es.js +17 -0
- package/dist/domains/memory/hooks/use-memory-thread-messages.es.js.map +1 -0
- package/dist/domains/memory/hooks/use-observational-memory.cjs.js +24 -0
- package/dist/domains/memory/hooks/use-observational-memory.cjs.js.map +1 -0
- package/dist/domains/memory/hooks/use-observational-memory.d.ts +2 -0
- package/dist/domains/memory/hooks/use-observational-memory.es.js +19 -0
- package/dist/domains/memory/hooks/use-observational-memory.es.js.map +1 -0
- package/dist/domains/memory/hooks.cjs.js +17 -0
- package/dist/domains/memory/hooks.cjs.js.map +1 -0
- package/dist/domains/memory/hooks.d.ts +2 -0
- package/dist/domains/memory/hooks.es.js +4 -0
- package/dist/domains/memory/hooks.es.js.map +1 -0
- package/dist/domains/memory/lib/extract-markers.cjs.js +96 -0
- package/dist/domains/memory/lib/extract-markers.cjs.js.map +1 -0
- package/dist/domains/memory/lib/extract-markers.d.ts +2 -0
- package/dist/domains/memory/lib/extract-markers.es.js +92 -0
- package/dist/domains/memory/lib/extract-markers.es.js.map +1 -0
- package/dist/domains/memory/lib/replay-selection.cjs.js +35 -0
- package/dist/domains/memory/lib/replay-selection.cjs.js.map +1 -0
- package/dist/domains/memory/lib/replay-selection.d.ts +2 -0
- package/dist/domains/memory/lib/replay-selection.es.js +28 -0
- package/dist/domains/memory/lib/replay-selection.es.js.map +1 -0
- package/dist/domains/memory/lib/thread-context-window-state.cjs.js +31 -0
- package/dist/domains/memory/lib/thread-context-window-state.cjs.js.map +1 -0
- package/dist/domains/memory/lib/thread-context-window-state.d.ts +2 -0
- package/dist/domains/memory/lib/thread-context-window-state.es.js +27 -0
- package/dist/domains/memory/lib/thread-context-window-state.es.js.map +1 -0
- package/dist/domains/memory/lib/timeline.cjs.js +42 -0
- package/dist/domains/memory/lib/timeline.cjs.js.map +1 -0
- package/dist/domains/memory/lib/timeline.d.ts +2 -0
- package/dist/domains/memory/lib/timeline.es.js +34 -0
- package/dist/domains/memory/lib/timeline.es.js.map +1 -0
- package/dist/domains/memory/types.cjs.js +3 -0
- package/dist/domains/memory/types.cjs.js.map +1 -0
- package/dist/domains/memory/types.d.ts +2 -0
- package/dist/domains/memory/types.es.js +2 -0
- package/dist/domains/memory/types.es.js.map +1 -0
- package/dist/domains/memory.cjs.js +25 -0
- package/dist/domains/memory.cjs.js.map +1 -0
- package/dist/domains/memory.d.ts +2 -0
- package/dist/domains/memory.es.js +8 -0
- package/dist/domains/memory.es.js.map +1 -0
- package/dist/domains/metrics/components/bar-list.cjs.js +119 -0
- package/dist/domains/metrics/components/bar-list.cjs.js.map +1 -0
- package/dist/domains/metrics/components/bar-list.d.ts +2 -0
- package/dist/domains/metrics/components/bar-list.es.js +114 -0
- package/dist/domains/metrics/components/bar-list.es.js.map +1 -0
- package/dist/domains/metrics/components/card-action-buttons.cjs.js +40 -0
- package/dist/domains/metrics/components/card-action-buttons.cjs.js.map +1 -0
- package/dist/domains/metrics/components/card-action-buttons.d.ts +2 -0
- package/dist/domains/metrics/components/card-action-buttons.es.js +35 -0
- package/dist/domains/metrics/components/card-action-buttons.es.js.map +1 -0
- package/dist/domains/metrics/components/date-range-selector.cjs.js +79 -0
- package/dist/domains/metrics/components/date-range-selector.cjs.js.map +1 -0
- package/dist/domains/metrics/components/date-range-selector.d.ts +2 -0
- package/dist/domains/metrics/components/date-range-selector.es.js +75 -0
- package/dist/domains/metrics/components/date-range-selector.es.js.map +1 -0
- package/dist/domains/metrics/components/kpi-card-view.cjs.js +18 -0
- package/dist/domains/metrics/components/kpi-card-view.cjs.js.map +1 -0
- package/dist/domains/metrics/components/kpi-card-view.d.ts +2 -0
- package/dist/domains/metrics/components/kpi-card-view.es.js +14 -0
- package/dist/domains/metrics/components/kpi-card-view.es.js.map +1 -0
- package/dist/domains/metrics/components/latency-card-view.cjs.js +105 -0
- package/dist/domains/metrics/components/latency-card-view.cjs.js.map +1 -0
- package/dist/domains/metrics/components/latency-card-view.d.ts +2 -0
- package/dist/domains/metrics/components/latency-card-view.es.js +101 -0
- package/dist/domains/metrics/components/latency-card-view.es.js.map +1 -0
- package/dist/domains/metrics/components/memory-card-view.cjs.js +103 -0
- package/dist/domains/metrics/components/memory-card-view.cjs.js.map +1 -0
- package/dist/domains/metrics/components/memory-card-view.d.ts +2 -0
- package/dist/domains/metrics/components/memory-card-view.es.js +99 -0
- package/dist/domains/metrics/components/memory-card-view.es.js.map +1 -0
- package/dist/domains/metrics/components/metrics-utils.cjs.js +39 -0
- package/dist/domains/metrics/components/metrics-utils.cjs.js.map +1 -0
- package/dist/domains/metrics/components/metrics-utils.d.ts +2 -0
- package/dist/domains/metrics/components/metrics-utils.es.js +32 -0
- package/dist/domains/metrics/components/metrics-utils.es.js.map +1 -0
- package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +68 -0
- package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js.map +1 -0
- package/dist/domains/metrics/components/model-usage-cost-card-view.d.ts +2 -0
- package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +64 -0
- package/dist/domains/metrics/components/model-usage-cost-card-view.es.js.map +1 -0
- package/dist/domains/metrics/components/scores-card-view.cjs.js +65 -0
- package/dist/domains/metrics/components/scores-card-view.cjs.js.map +1 -0
- package/dist/domains/metrics/components/scores-card-view.d.ts +2 -0
- package/dist/domains/metrics/components/scores-card-view.es.js +61 -0
- package/dist/domains/metrics/components/scores-card-view.es.js.map +1 -0
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +94 -0
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js.map +1 -0
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.d.ts +2 -0
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +90 -0
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js.map +1 -0
- package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +92 -0
- package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js.map +1 -0
- package/dist/domains/metrics/components/token-usage-timeline-card-view.d.ts +2 -0
- package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +88 -0
- package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js.map +1 -0
- package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +116 -0
- package/dist/domains/metrics/components/traces-volume-card-view.cjs.js.map +1 -0
- package/dist/domains/metrics/components/traces-volume-card-view.d.ts +2 -0
- package/dist/domains/metrics/components/traces-volume-card-view.es.js +112 -0
- package/dist/domains/metrics/components/traces-volume-card-view.es.js.map +1 -0
- package/dist/domains/metrics/components.cjs.js +36 -0
- package/dist/domains/metrics/components.cjs.js.map +1 -0
- package/dist/domains/metrics/components.d.ts +2 -0
- package/dist/domains/metrics/components.es.js +13 -0
- package/dist/domains/metrics/components.es.js.map +1 -0
- package/dist/domains/metrics/drilldown.cjs.js +141 -0
- package/dist/domains/metrics/drilldown.cjs.js.map +1 -0
- package/dist/domains/metrics/drilldown.d.ts +2 -0
- package/dist/domains/metrics/drilldown.es.js +135 -0
- package/dist/domains/metrics/drilldown.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-active-resources-kpi-metrics.cjs.js +25 -0
- package/dist/domains/metrics/hooks/use-active-resources-kpi-metrics.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-active-resources-kpi-metrics.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-active-resources-kpi-metrics.es.js +21 -0
- package/dist/domains/metrics/hooks/use-active-resources-kpi-metrics.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-active-threads-kpi-metrics.cjs.js +25 -0
- package/dist/domains/metrics/hooks/use-active-threads-kpi-metrics.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-active-threads-kpi-metrics.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-active-threads-kpi-metrics.es.js +21 -0
- package/dist/domains/metrics/hooks/use-active-threads-kpi-metrics.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-agent-runs-kpi-metrics.cjs.js +24 -0
- package/dist/domains/metrics/hooks/use-agent-runs-kpi-metrics.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-agent-runs-kpi-metrics.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-agent-runs-kpi-metrics.es.js +20 -0
- package/dist/domains/metrics/hooks/use-agent-runs-kpi-metrics.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-drilldown.cjs.js +48 -0
- package/dist/domains/metrics/hooks/use-drilldown.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-drilldown.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-drilldown.es.js +44 -0
- package/dist/domains/metrics/hooks/use-drilldown.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-latency-metrics.cjs.js +50 -0
- package/dist/domains/metrics/hooks/use-latency-metrics.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-latency-metrics.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-latency-metrics.es.js +45 -0
- package/dist/domains/metrics/hooks/use-latency-metrics.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics-filters.cjs.js +46 -0
- package/dist/domains/metrics/hooks/use-metrics-filters.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics-filters.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-metrics-filters.es.js +42 -0
- package/dist/domains/metrics/hooks/use-metrics-filters.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics.cjs.js +105 -0
- package/dist/domains/metrics/hooks/use-metrics.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-metrics.es.js +97 -0
- package/dist/domains/metrics/hooks/use-metrics.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-model-cost-kpi-metrics.cjs.js +32 -0
- package/dist/domains/metrics/hooks/use-model-cost-kpi-metrics.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-model-cost-kpi-metrics.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-model-cost-kpi-metrics.es.js +28 -0
- package/dist/domains/metrics/hooks/use-model-cost-kpi-metrics.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.cjs.js +81 -0
- package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.es.js +77 -0
- package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-scores-metrics.cjs.js +102 -0
- package/dist/domains/metrics/hooks/use-scores-metrics.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-scores-metrics.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-scores-metrics.es.js +98 -0
- package/dist/domains/metrics/hooks/use-scores-metrics.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-token-usage-by-agent-metrics.cjs.js +63 -0
- package/dist/domains/metrics/hooks/use-token-usage-by-agent-metrics.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-token-usage-by-agent-metrics.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-token-usage-by-agent-metrics.es.js +59 -0
- package/dist/domains/metrics/hooks/use-token-usage-by-agent-metrics.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-token-usage-timeseries.cjs.js +88 -0
- package/dist/domains/metrics/hooks/use-token-usage-timeseries.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-token-usage-timeseries.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-token-usage-timeseries.es.js +84 -0
- package/dist/domains/metrics/hooks/use-token-usage-timeseries.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-top-active-threads-metrics.cjs.js +82 -0
- package/dist/domains/metrics/hooks/use-top-active-threads-metrics.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-top-active-threads-metrics.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-top-active-threads-metrics.es.js +78 -0
- package/dist/domains/metrics/hooks/use-top-active-threads-metrics.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-top-resources-by-threads-metrics.cjs.js +82 -0
- package/dist/domains/metrics/hooks/use-top-resources-by-threads-metrics.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-top-resources-by-threads-metrics.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-top-resources-by-threads-metrics.es.js +78 -0
- package/dist/domains/metrics/hooks/use-top-resources-by-threads-metrics.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-total-tokens-kpi-metrics.cjs.js +44 -0
- package/dist/domains/metrics/hooks/use-total-tokens-kpi-metrics.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-total-tokens-kpi-metrics.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-total-tokens-kpi-metrics.es.js +40 -0
- package/dist/domains/metrics/hooks/use-total-tokens-kpi-metrics.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-trace-volume-metrics.cjs.js +50 -0
- package/dist/domains/metrics/hooks/use-trace-volume-metrics.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-trace-volume-metrics.d.ts +2 -0
- package/dist/domains/metrics/hooks/use-trace-volume-metrics.es.js +46 -0
- package/dist/domains/metrics/hooks/use-trace-volume-metrics.es.js.map +1 -0
- package/dist/domains/metrics/hooks.cjs.js +56 -0
- package/dist/domains/metrics/hooks.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks.d.ts +2 -0
- package/dist/domains/metrics/hooks.es.js +19 -0
- package/dist/domains/metrics/hooks.es.js.map +1 -0
- package/dist/domains/metrics/metrics-filters.cjs.js +254 -0
- package/dist/domains/metrics/metrics-filters.cjs.js.map +1 -0
- package/dist/domains/metrics/metrics-filters.d.ts +2 -0
- package/dist/domains/metrics/metrics-filters.es.js +237 -0
- package/dist/domains/metrics/metrics-filters.es.js.map +1 -0
- package/dist/domains/metrics.cjs.js +84 -0
- package/dist/domains/metrics.cjs.js.map +1 -0
- package/dist/domains/metrics.d.ts +2 -0
- package/dist/domains/metrics.es.js +31 -0
- package/dist/domains/metrics.es.js.map +1 -0
- package/dist/domains/traces/components/format-hierarchical-spans.cjs.js +70 -0
- package/dist/domains/traces/components/format-hierarchical-spans.cjs.js.map +1 -0
- package/dist/domains/traces/components/format-hierarchical-spans.d.ts +2 -0
- package/dist/domains/traces/components/format-hierarchical-spans.es.js +66 -0
- package/dist/domains/traces/components/format-hierarchical-spans.es.js.map +1 -0
- package/dist/domains/traces/components/no-traces-info.cjs.js +71 -0
- package/dist/domains/traces/components/no-traces-info.cjs.js.map +1 -0
- package/dist/domains/traces/components/no-traces-info.d.ts +2 -0
- package/dist/domains/traces/components/no-traces-info.es.js +67 -0
- package/dist/domains/traces/components/no-traces-info.es.js.map +1 -0
- package/dist/domains/traces/components/shared.cjs.js +77 -0
- package/dist/domains/traces/components/shared.cjs.js.map +1 -0
- package/dist/domains/traces/components/shared.d.ts +2 -0
- package/dist/domains/traces/components/shared.es.js +72 -0
- package/dist/domains/traces/components/shared.es.js.map +1 -0
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +279 -0
- package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -0
- package/dist/domains/traces/components/span-data-panel-view.d.ts +2 -0
- package/dist/domains/traces/components/span-data-panel-view.es.js +275 -0
- package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -0
- package/dist/domains/traces/components/span-details-view.cjs.js +81 -0
- package/dist/domains/traces/components/span-details-view.cjs.js.map +1 -0
- package/dist/domains/traces/components/span-details-view.d.ts +2 -0
- package/dist/domains/traces/components/span-details-view.es.js +77 -0
- package/dist/domains/traces/components/span-details-view.es.js.map +1 -0
- package/dist/domains/traces/components/span-token-usage.cjs.js +94 -0
- package/dist/domains/traces/components/span-token-usage.cjs.js.map +1 -0
- package/dist/domains/traces/components/span-token-usage.d.ts +2 -0
- package/dist/domains/traces/components/span-token-usage.es.js +90 -0
- package/dist/domains/traces/components/span-token-usage.es.js.map +1 -0
- package/dist/domains/traces/components/span-token-usage.utils.cjs.js +30 -0
- package/dist/domains/traces/components/span-token-usage.utils.cjs.js.map +1 -0
- package/dist/domains/traces/components/span-token-usage.utils.d.ts +2 -0
- package/dist/domains/traces/components/span-token-usage.utils.es.js +26 -0
- package/dist/domains/traces/components/span-token-usage.utils.es.js.map +1 -0
- package/dist/domains/traces/components/timeline-expand-col.cjs.js +89 -0
- package/dist/domains/traces/components/timeline-expand-col.cjs.js.map +1 -0
- package/dist/domains/traces/components/timeline-expand-col.d.ts +2 -0
- package/dist/domains/traces/components/timeline-expand-col.es.js +85 -0
- package/dist/domains/traces/components/timeline-expand-col.es.js.map +1 -0
- package/dist/domains/traces/components/timeline-name-col.cjs.js +63 -0
- package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -0
- package/dist/domains/traces/components/timeline-name-col.d.ts +2 -0
- package/dist/domains/traces/components/timeline-name-col.es.js +59 -0
- package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -0
- package/dist/domains/traces/components/timeline-structure-sign.cjs.js +25 -0
- package/dist/domains/traces/components/timeline-structure-sign.cjs.js.map +1 -0
- package/dist/domains/traces/components/timeline-structure-sign.d.ts +2 -0
- package/dist/domains/traces/components/timeline-structure-sign.es.js +21 -0
- package/dist/domains/traces/components/timeline-structure-sign.es.js.map +1 -0
- package/dist/domains/traces/components/timeline-timing-col.cjs.js +80 -0
- package/dist/domains/traces/components/timeline-timing-col.cjs.js.map +1 -0
- package/dist/domains/traces/components/timeline-timing-col.d.ts +2 -0
- package/dist/domains/traces/components/timeline-timing-col.es.js +76 -0
- package/dist/domains/traces/components/timeline-timing-col.es.js.map +1 -0
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +176 -0
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -0
- package/dist/domains/traces/components/trace-data-panel-view.d.ts +2 -0
- package/dist/domains/traces/components/trace-data-panel-view.es.js +172 -0
- package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -0
- package/dist/domains/traces/components/trace-details-view.cjs.js +55 -0
- package/dist/domains/traces/components/trace-details-view.cjs.js.map +1 -0
- package/dist/domains/traces/components/trace-details-view.d.ts +2 -0
- package/dist/domains/traces/components/trace-details-view.es.js +51 -0
- package/dist/domains/traces/components/trace-details-view.es.js.map +1 -0
- package/dist/domains/traces/components/trace-keys-and-values.cjs.js +46 -0
- package/dist/domains/traces/components/trace-keys-and-values.cjs.js.map +1 -0
- package/dist/domains/traces/components/trace-keys-and-values.d.ts +2 -0
- package/dist/domains/traces/components/trace-keys-and-values.es.js +42 -0
- package/dist/domains/traces/components/trace-keys-and-values.es.js.map +1 -0
- package/dist/domains/traces/components/trace-timeline-span.cjs.js +170 -0
- package/dist/domains/traces/components/trace-timeline-span.cjs.js.map +1 -0
- package/dist/domains/traces/components/trace-timeline-span.d.ts +2 -0
- package/dist/domains/traces/components/trace-timeline-span.es.js +166 -0
- package/dist/domains/traces/components/trace-timeline-span.es.js.map +1 -0
- package/dist/domains/traces/components/trace-timeline.cjs.js +90 -0
- package/dist/domains/traces/components/trace-timeline.cjs.js.map +1 -0
- package/dist/domains/traces/components/trace-timeline.d.ts +2 -0
- package/dist/domains/traces/components/trace-timeline.es.js +86 -0
- package/dist/domains/traces/components/trace-timeline.es.js.map +1 -0
- package/dist/domains/traces/components/traces-error-content.cjs.js +20 -0
- package/dist/domains/traces/components/traces-error-content.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-error-content.d.ts +2 -0
- package/dist/domains/traces/components/traces-error-content.es.js +16 -0
- package/dist/domains/traces/components/traces-error-content.es.js.map +1 -0
- package/dist/domains/traces/components/traces-layout.cjs.js +45 -0
- package/dist/domains/traces/components/traces-layout.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-layout.d.ts +2 -0
- package/dist/domains/traces/components/traces-layout.es.js +41 -0
- package/dist/domains/traces/components/traces-layout.es.js.map +1 -0
- package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +28 -0
- package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-list-mode-toggle.d.ts +2 -0
- package/dist/domains/traces/components/traces-list-mode-toggle.es.js +24 -0
- package/dist/domains/traces/components/traces-list-mode-toggle.es.js.map +1 -0
- package/dist/domains/traces/components/traces-list-view.cjs.js +115 -0
- package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-list-view.d.ts +2 -0
- package/dist/domains/traces/components/traces-list-view.es.js +111 -0
- package/dist/domains/traces/components/traces-list-view.es.js.map +1 -0
- package/dist/domains/traces/components/traces-toolbar.cjs.js +73 -0
- package/dist/domains/traces/components/traces-toolbar.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-toolbar.d.ts +2 -0
- package/dist/domains/traces/components/traces-toolbar.es.js +69 -0
- package/dist/domains/traces/components/traces-toolbar.es.js.map +1 -0
- package/dist/domains/traces/components.cjs.js +49 -0
- package/dist/domains/traces/components.cjs.js.map +1 -0
- package/dist/domains/traces/components.d.ts +2 -0
- package/dist/domains/traces/components.es.js +21 -0
- package/dist/domains/traces/components.es.js.map +1 -0
- package/dist/domains/traces/hooks/get-all-span-ids.cjs.js +27 -0
- package/dist/domains/traces/hooks/get-all-span-ids.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/get-all-span-ids.d.ts +2 -0
- package/dist/domains/traces/hooks/get-all-span-ids.es.js +22 -0
- package/dist/domains/traces/hooks/get-all-span-ids.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-branch.cjs.js +33 -0
- package/dist/domains/traces/hooks/use-branch.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-branch.d.ts +2 -0
- package/dist/domains/traces/hooks/use-branch.es.js +29 -0
- package/dist/domains/traces/hooks/use-branch.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +28 -0
- package/dist/domains/traces/hooks/use-download-trace-json.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-download-trace-json.d.ts +2 -0
- package/dist/domains/traces/hooks/use-download-trace-json.es.js +24 -0
- package/dist/domains/traces/hooks/use-download-trace-json.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-entity-names.cjs.js +38 -0
- package/dist/domains/traces/hooks/use-entity-names.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-entity-names.d.ts +2 -0
- package/dist/domains/traces/hooks/use-entity-names.es.js +34 -0
- package/dist/domains/traces/hooks/use-entity-names.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-environments.cjs.js +25 -0
- package/dist/domains/traces/hooks/use-environments.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-environments.d.ts +2 -0
- package/dist/domains/traces/hooks/use-environments.es.js +21 -0
- package/dist/domains/traces/hooks/use-environments.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-service-names.cjs.js +25 -0
- package/dist/domains/traces/hooks/use-service-names.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-service-names.d.ts +2 -0
- package/dist/domains/traces/hooks/use-service-names.es.js +21 -0
- package/dist/domains/traces/hooks/use-service-names.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-span-detail.cjs.js +31 -0
- package/dist/domains/traces/hooks/use-span-detail.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-span-detail.d.ts +2 -0
- package/dist/domains/traces/hooks/use-span-detail.es.js +27 -0
- package/dist/domains/traces/hooks/use-span-detail.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-tags.cjs.js +25 -0
- package/dist/domains/traces/hooks/use-tags.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-tags.d.ts +2 -0
- package/dist/domains/traces/hooks/use-tags.es.js +21 -0
- package/dist/domains/traces/hooks/use-tags.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-trace-filter-persistence.cjs.js +49 -0
- package/dist/domains/traces/hooks/use-trace-filter-persistence.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-trace-filter-persistence.d.ts +2 -0
- package/dist/domains/traces/hooks/use-trace-filter-persistence.es.js +45 -0
- package/dist/domains/traces/hooks/use-trace-filter-persistence.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-trace-light-spans.cjs.js +33 -0
- package/dist/domains/traces/hooks/use-trace-light-spans.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-trace-light-spans.d.ts +2 -0
- package/dist/domains/traces/hooks/use-trace-light-spans.es.js +29 -0
- package/dist/domains/traces/hooks/use-trace-light-spans.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-trace-list-navigation.cjs.js +22 -0
- package/dist/domains/traces/hooks/use-trace-list-navigation.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-trace-list-navigation.d.ts +2 -0
- package/dist/domains/traces/hooks/use-trace-list-navigation.es.js +18 -0
- package/dist/domains/traces/hooks/use-trace-list-navigation.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-trace-or-branch-spans.cjs.js +40 -0
- package/dist/domains/traces/hooks/use-trace-or-branch-spans.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-trace-or-branch-spans.d.ts +2 -0
- package/dist/domains/traces/hooks/use-trace-or-branch-spans.es.js +36 -0
- package/dist/domains/traces/hooks/use-trace-or-branch-spans.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-trace-span-navigation.cjs.js +18 -0
- package/dist/domains/traces/hooks/use-trace-span-navigation.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-trace-span-navigation.d.ts +2 -0
- package/dist/domains/traces/hooks/use-trace-span-navigation.es.js +14 -0
- package/dist/domains/traces/hooks/use-trace-span-navigation.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-trace-spans.cjs.js +24 -0
- package/dist/domains/traces/hooks/use-trace-spans.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-trace-spans.d.ts +2 -0
- package/dist/domains/traces/hooks/use-trace-spans.es.js +20 -0
- package/dist/domains/traces/hooks/use-trace-spans.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +312 -0
- package/dist/domains/traces/hooks/use-trace-url-state.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-trace-url-state.d.ts +2 -0
- package/dist/domains/traces/hooks/use-trace-url-state.es.js +308 -0
- package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +1 -0
- package/dist/domains/traces/hooks/use-traces.cjs.js +316 -0
- package/dist/domains/traces/hooks/use-traces.cjs.js.map +1 -0
- package/dist/domains/traces/hooks/use-traces.d.ts +2 -0
- package/dist/domains/traces/hooks/use-traces.es.js +306 -0
- package/dist/domains/traces/hooks/use-traces.es.js.map +1 -0
- package/dist/domains/traces/hooks.cjs.js +41 -0
- package/dist/domains/traces/hooks.cjs.js.map +1 -0
- package/dist/domains/traces/hooks.d.ts +2 -0
- package/dist/domains/traces/hooks.es.js +17 -0
- package/dist/domains/traces/hooks.es.js.map +1 -0
- package/dist/domains/traces/trace-filters.cjs.js +382 -0
- package/dist/domains/traces/trace-filters.cjs.js.map +1 -0
- package/dist/domains/traces/trace-filters.d.ts +2 -0
- package/dist/domains/traces/trace-filters.es.js +351 -0
- package/dist/domains/traces/trace-filters.es.js.map +1 -0
- package/dist/domains/traces/types.cjs.js +29 -0
- package/dist/domains/traces/types.cjs.js.map +1 -0
- package/dist/domains/traces/types.d.ts +2 -0
- package/dist/domains/traces/types.es.js +25 -0
- package/dist/domains/traces/types.es.js.map +1 -0
- package/dist/domains/traces/utils/span-utils.cjs.js +61 -0
- package/dist/domains/traces/utils/span-utils.cjs.js.map +1 -0
- package/dist/domains/traces/utils/span-utils.d.ts +2 -0
- package/dist/domains/traces/utils/span-utils.es.js +55 -0
- package/dist/domains/traces/utils/span-utils.es.js.map +1 -0
- package/dist/domains/traces/utils.cjs.js +12 -0
- package/dist/domains/traces/utils.cjs.js.map +1 -0
- package/dist/domains/traces/utils.d.ts +2 -0
- package/dist/domains/traces/utils.es.js +2 -0
- package/dist/domains/traces/utils.es.js.map +1 -0
- package/dist/domains/traces.cjs.js +117 -0
- package/dist/domains/traces.cjs.js.map +1 -0
- package/dist/domains/traces.d.ts +2 -0
- package/dist/domains/traces.es.js +40 -0
- package/dist/domains/traces.es.js.map +1 -0
- package/dist/downloadJson-DuPoMa_6.js +14 -0
- package/dist/downloadJson-DuPoMa_6.js.map +1 -0
- package/dist/downloadJson-PWUDbzkB.cjs +16 -0
- package/dist/downloadJson-PWUDbzkB.cjs.map +1 -0
- package/dist/drawer-Xyd1zBeV.js +326 -0
- package/dist/drawer-Xyd1zBeV.js.map +1 -0
- package/dist/drawer-xYzVLI5E.cjs +366 -0
- package/dist/drawer-xYzVLI5E.cjs.map +1 -0
- package/dist/dropdown-menu-CGei48WH.js +242 -0
- package/dist/dropdown-menu-CGei48WH.js.map +1 -0
- package/dist/dropdown-menu-pHJH-29Y.cjs +263 -0
- package/dist/dropdown-menu-pHJH-29Y.cjs.map +1 -0
- package/dist/ee/signals/components/signal-details-page.cjs.js +243 -0
- package/dist/ee/signals/components/signal-details-page.cjs.js.map +1 -0
- package/dist/ee/signals/components/signal-details-page.d.ts +2 -0
- package/dist/ee/signals/components/signal-details-page.es.js +234 -0
- package/dist/ee/signals/components/signal-details-page.es.js.map +1 -0
- package/dist/ee/signals/components/signal-details-utils.cjs.js +12 -0
- package/dist/ee/signals/components/signal-details-utils.cjs.js.map +1 -0
- package/dist/ee/signals/components/signal-details-utils.d.ts +2 -0
- package/dist/ee/signals/components/signal-details-utils.es.js +8 -0
- package/dist/ee/signals/components/signal-details-utils.es.js.map +1 -0
- package/dist/ee/signals/components/signals-overview-page.cjs.js +109 -0
- package/dist/ee/signals/components/signals-overview-page.cjs.js.map +1 -0
- package/dist/ee/signals/components/signals-overview-page.d.ts +2 -0
- package/dist/ee/signals/components/signals-overview-page.es.js +103 -0
- package/dist/ee/signals/components/signals-overview-page.es.js.map +1 -0
- package/dist/ee/signals/components.cjs.js +21 -0
- package/dist/ee/signals/components.cjs.js.map +1 -0
- package/dist/ee/signals/components.d.ts +2 -0
- package/dist/ee/signals/components.es.js +4 -0
- package/dist/ee/signals/components.es.js.map +1 -0
- package/dist/ee/signals/signals-chart-data.cjs.js +34 -0
- package/dist/ee/signals/signals-chart-data.cjs.js.map +1 -0
- package/dist/ee/signals/signals-chart-data.d.ts +2 -0
- package/dist/ee/signals/signals-chart-data.es.js +30 -0
- package/dist/ee/signals/signals-chart-data.es.js.map +1 -0
- package/dist/ee/signals/signals-data.cjs.js +199 -0
- package/dist/ee/signals/signals-data.cjs.js.map +1 -0
- package/dist/ee/signals/signals-data.d.ts +2 -0
- package/dist/ee/signals/signals-data.es.js +195 -0
- package/dist/ee/signals/signals-data.es.js.map +1 -0
- package/dist/ee/signals/types.cjs.js +3 -0
- package/dist/ee/signals/types.cjs.js.map +1 -0
- package/dist/ee/signals/types.d.ts +1 -0
- package/dist/ee/signals/types.es.js +2 -0
- package/dist/ee/signals/types.es.js.map +1 -0
- package/dist/ee/signals.cjs.js +25 -0
- package/dist/ee/signals.cjs.js.map +1 -0
- package/dist/ee/signals.d.ts +2 -0
- package/dist/ee/signals.es.js +6 -0
- package/dist/ee/signals.es.js.map +1 -0
- package/dist/ee/topics/components/topic-trace-details-panel.cjs.js +64 -0
- package/dist/ee/topics/components/topic-trace-details-panel.cjs.js.map +1 -0
- package/dist/ee/topics/components/topic-trace-details-panel.d.ts +2 -0
- package/dist/ee/topics/components/topic-trace-details-panel.es.js +60 -0
- package/dist/ee/topics/components/topic-trace-details-panel.es.js.map +1 -0
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +60 -0
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js.map +1 -0
- package/dist/ee/topics/components/topic-trace-summary-list.d.ts +2 -0
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +56 -0
- package/dist/ee/topics/components/topic-trace-summary-list.es.js.map +1 -0
- package/dist/ee/topics/components/topics-layout.cjs.js +38 -0
- package/dist/ee/topics/components/topics-layout.cjs.js.map +1 -0
- package/dist/ee/topics/components/topics-layout.d.ts +2 -0
- package/dist/ee/topics/components/topics-layout.es.js +34 -0
- package/dist/ee/topics/components/topics-layout.es.js.map +1 -0
- package/dist/ee/topics/components.cjs.js +14 -0
- package/dist/ee/topics/components.cjs.js.map +1 -0
- package/dist/ee/topics/components.d.ts +2 -0
- package/dist/ee/topics/components.es.js +4 -0
- package/dist/ee/topics/components.es.js.map +1 -0
- package/dist/ee/topics/types.cjs.js +3 -0
- package/dist/ee/topics/types.cjs.js.map +1 -0
- package/dist/ee/topics/types.d.ts +1 -0
- package/dist/ee/topics/types.es.js +2 -0
- package/dist/ee/topics/types.es.js.map +1 -0
- package/dist/ee/topics/utils.cjs.js +95 -0
- package/dist/ee/topics/utils.cjs.js.map +1 -0
- package/dist/ee/topics/utils.d.ts +2 -0
- package/dist/ee/topics/utils.es.js +84 -0
- package/dist/ee/topics/utils.es.js.map +1 -0
- package/dist/ee/topics.cjs.js +23 -0
- package/dist/ee/topics.cjs.js.map +1 -0
- package/dist/ee/topics.d.ts +2 -0
- package/dist/ee/topics.es.js +5 -0
- package/dist/ee/topics.es.js.map +1 -0
- package/dist/environment-variables-editor-ClIjYd7T.cjs +519 -0
- package/dist/environment-variables-editor-ClIjYd7T.cjs.map +1 -0
- package/dist/environment-variables-editor-nfTOfzSi.js +517 -0
- package/dist/environment-variables-editor-nfTOfzSi.js.map +1 -0
- package/dist/helpers-3p9MxQbh.js +346 -0
- package/dist/helpers-3p9MxQbh.js.map +1 -0
- package/dist/helpers-DyNelEvl.cjs +352 -0
- package/dist/helpers-DyNelEvl.cjs.map +1 -0
- package/dist/index.cjs.js +476 -8331
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +192 -8060
- package/dist/index.es.js.map +1 -1
- package/dist/input-C54PDtiP.js +65 -0
- package/dist/input-C54PDtiP.js.map +1 -0
- package/dist/input-VzN7w_Xq.cjs +86 -0
- package/dist/input-VzN7w_Xq.cjs.map +1 -0
- package/dist/input-group-CF6DB97L.cjs +245 -0
- package/dist/input-group-CF6DB97L.cjs.map +1 -0
- package/dist/input-group-DvVwUJwx.js +219 -0
- package/dist/input-group-DvVwUJwx.js.map +1 -0
- package/dist/kbd-C4u0WGAT.js +27 -0
- package/dist/kbd-C4u0WGAT.js.map +1 -0
- package/dist/kbd-Ce0Ey3ov.cjs +29 -0
- package/dist/kbd-Ce0Ey3ov.cjs.map +1 -0
- package/dist/list-search-CP-Rp1di.cjs +59 -0
- package/dist/list-search-CP-Rp1di.cjs.map +1 -0
- package/dist/list-search-CgKiATMs.js +57 -0
- package/dist/list-search-CgKiATMs.js.map +1 -0
- package/dist/logs-data-list-C2EdoFp1.cjs +83 -0
- package/dist/logs-data-list-C2EdoFp1.cjs.map +1 -0
- package/dist/logs-data-list-DPfoIlE-.js +81 -0
- package/dist/logs-data-list-DPfoIlE-.js.map +1 -0
- package/dist/main-sidebar-A3VICg2t.js +772 -0
- package/dist/main-sidebar-A3VICg2t.js.map +1 -0
- package/dist/main-sidebar-fnewlFD3.cjs +781 -0
- package/dist/main-sidebar-fnewlFD3.cjs.map +1 -0
- package/dist/markdown-renderer-Bcrk5ZJO.js +86 -0
- package/dist/markdown-renderer-Bcrk5ZJO.js.map +1 -0
- package/dist/markdown-renderer-Ca-WbDb4.cjs +88 -0
- package/dist/markdown-renderer-Ca-WbDb4.cjs.map +1 -0
- package/dist/multi-column-DFh_hvkc.cjs +156 -0
- package/dist/multi-column-DFh_hvkc.cjs.map +1 -0
- package/dist/multi-column-RwdQ5PRt.js +152 -0
- package/dist/multi-column-RwdQ5PRt.js.map +1 -0
- package/dist/popover-CfOWA0et.js +95 -0
- package/dist/popover-CfOWA0et.js.map +1 -0
- package/dist/popover-fpyU6qei.cjs +119 -0
- package/dist/popover-fpyU6qei.cjs.map +1 -0
- package/dist/primitives/control-size.cjs.js +28 -0
- package/dist/primitives/control-size.cjs.js.map +1 -0
- package/dist/primitives/control-size.d.ts +2 -0
- package/dist/primitives/control-size.es.js +22 -0
- package/dist/primitives/control-size.es.js.map +1 -0
- package/dist/primitives/form-element.cjs.js +24 -0
- package/dist/primitives/form-element.cjs.js.map +1 -0
- package/dist/primitives/form-element.d.ts +2 -0
- package/dist/primitives/form-element.es.js +12 -0
- package/dist/primitives/form-element.es.js.map +1 -0
- package/dist/primitives/portal-container.cjs.js +41 -0
- package/dist/primitives/portal-container.cjs.js.map +1 -0
- package/dist/primitives/portal-container.d.ts +2 -0
- package/dist/primitives/portal-container.es.js +17 -0
- package/dist/primitives/portal-container.es.js.map +1 -0
- package/dist/primitives/resize-handle-indicator.cjs.js +26 -0
- package/dist/primitives/resize-handle-indicator.cjs.js.map +1 -0
- package/dist/primitives/resize-handle-indicator.d.ts +2 -0
- package/dist/primitives/resize-handle-indicator.es.js +22 -0
- package/dist/primitives/resize-handle-indicator.es.js.map +1 -0
- package/dist/primitives/transitions.cjs.js +41 -0
- package/dist/primitives/transitions.cjs.js.map +1 -0
- package/dist/primitives/transitions.d.ts +2 -0
- package/dist/primitives/transitions.es.js +35 -0
- package/dist/primitives/transitions.es.js.map +1 -0
- package/dist/primitives/visually-hidden.cjs.js +13 -0
- package/dist/primitives/visually-hidden.cjs.js.map +1 -0
- package/dist/primitives/visually-hidden.d.ts +2 -0
- package/dist/primitives/visually-hidden.es.js +2 -0
- package/dist/primitives/visually-hidden.es.js.map +1 -0
- package/dist/process-step-progress-bar-CdsJhTYk.js +136 -0
- package/dist/process-step-progress-bar-CdsJhTYk.js.map +1 -0
- package/dist/process-step-progress-bar-Cs7oK8-I.cjs +141 -0
- package/dist/process-step-progress-bar-Cs7oK8-I.cjs.map +1 -0
- package/dist/property-filter-applied-Ec6BkYiN.cjs +352 -0
- package/dist/property-filter-applied-Ec6BkYiN.cjs.map +1 -0
- package/dist/property-filter-applied-ZEuiswpb.js +348 -0
- package/dist/property-filter-applied-ZEuiswpb.js.map +1 -0
- package/dist/property-filter-creator-CODVtgIW.cjs +333 -0
- package/dist/property-filter-creator-CODVtgIW.cjs.map +1 -0
- package/dist/property-filter-creator-DAMPk-R0.js +331 -0
- package/dist/property-filter-creator-DAMPk-R0.js.map +1 -0
- package/dist/radio-group-CqIdYAai.cjs +77 -0
- package/dist/radio-group-CqIdYAai.cjs.map +1 -0
- package/dist/radio-group-YvD-Ple6.js +55 -0
- package/dist/radio-group-YvD-Ple6.js.map +1 -0
- package/dist/resize/collapsible-panel.cjs.js +261 -0
- package/dist/resize/collapsible-panel.cjs.js.map +1 -0
- package/dist/resize/collapsible-panel.d.ts +2 -0
- package/dist/resize/collapsible-panel.es.js +257 -0
- package/dist/resize/collapsible-panel.es.js.map +1 -0
- package/dist/resize/panel-drawer.cjs.js +34 -0
- package/dist/resize/panel-drawer.cjs.js.map +1 -0
- package/dist/resize/panel-drawer.d.ts +2 -0
- package/dist/resize/panel-drawer.es.js +30 -0
- package/dist/resize/panel-drawer.es.js.map +1 -0
- package/dist/resize/panel-edge-icon.cjs.js +25 -0
- package/dist/resize/panel-edge-icon.cjs.js.map +1 -0
- package/dist/resize/panel-edge-icon.d.ts +2 -0
- package/dist/resize/panel-edge-icon.es.js +21 -0
- package/dist/resize/panel-edge-icon.es.js.map +1 -0
- package/dist/resize/panel-icon-button.cjs.js +15 -0
- package/dist/resize/panel-icon-button.cjs.js.map +1 -0
- package/dist/resize/panel-icon-button.d.ts +2 -0
- package/dist/resize/panel-icon-button.es.js +11 -0
- package/dist/resize/panel-icon-button.es.js.map +1 -0
- package/dist/resize/separator.cjs.js +45 -0
- package/dist/resize/separator.cjs.js.map +1 -0
- package/dist/resize/separator.d.ts +2 -0
- package/dist/resize/separator.es.js +41 -0
- package/dist/resize/separator.es.js.map +1 -0
- package/dist/resize/use-clamped-element-cursor.cjs.js +56 -0
- package/dist/resize/use-clamped-element-cursor.cjs.js.map +1 -0
- package/dist/resize/use-clamped-element-cursor.d.ts +2 -0
- package/dist/resize/use-clamped-element-cursor.es.js +51 -0
- package/dist/resize/use-clamped-element-cursor.es.js.map +1 -0
- package/dist/rule-builder-B7J3z1Gd.js +563 -0
- package/dist/rule-builder-B7J3z1Gd.js.map +1 -0
- package/dist/rule-builder-CN5HwvJ3.cjs +594 -0
- package/dist/rule-builder-CN5HwvJ3.cjs.map +1 -0
- package/dist/scores-data-list-BfLOnfqe.js +45 -0
- package/dist/scores-data-list-BfLOnfqe.js.map +1 -0
- package/dist/scores-data-list-Dr1z54TV.cjs +47 -0
- package/dist/scores-data-list-Dr1z54TV.cjs.map +1 -0
- package/dist/search-field-block-BdEOohNh.js +115 -0
- package/dist/search-field-block-BdEOohNh.js.map +1 -0
- package/dist/search-field-block-MueLS5VO.cjs +117 -0
- package/dist/search-field-block-MueLS5VO.cjs.map +1 -0
- package/dist/searchbar-B42oQGrT.cjs +105 -0
- package/dist/searchbar-B42oQGrT.cjs.map +1 -0
- package/dist/searchbar-CY4dg-Im.js +102 -0
- package/dist/searchbar-CY4dg-Im.js.map +1 -0
- package/dist/select-BxSmi19p.cjs +188 -0
- package/dist/select-BxSmi19p.cjs.map +1 -0
- package/dist/select-CFB6QZ9B.js +162 -0
- package/dist/select-CFB6QZ9B.js.map +1 -0
- package/dist/select-data-filter-BasB6Wt3.cjs +194 -0
- package/dist/select-data-filter-BasB6Wt3.cjs.map +1 -0
- package/dist/select-data-filter-Cb6Exh7H.js +192 -0
- package/dist/select-data-filter-Cb6Exh7H.js.map +1 -0
- package/dist/select-field-block-C1I1FLvQ.js +48 -0
- package/dist/select-field-block-C1I1FLvQ.js.map +1 -0
- package/dist/select-field-block-Cb5-7wDy.cjs +50 -0
- package/dist/select-field-block-Cb5-7wDy.cjs.map +1 -0
- package/dist/src/domains/traces/index.d.ts +1 -3
- package/dist/src/domains/traces/types.d.ts +2 -0
- package/dist/store/playground-store.cjs.js +21 -0
- package/dist/store/playground-store.cjs.js.map +1 -0
- package/dist/store/playground-store.d.ts +2 -0
- package/dist/store/playground-store.es.js +17 -0
- package/dist/store/playground-store.es.js.map +1 -0
- package/dist/tabs-content--uzXt5ch.js +18 -0
- package/dist/tabs-content--uzXt5ch.js.map +1 -0
- package/dist/tabs-content-ohtjaVdC.cjs +20 -0
- package/dist/tabs-content-ohtjaVdC.cjs.map +1 -0
- package/dist/tabs-tab-B7Ziuuh8.cjs +122 -0
- package/dist/tabs-tab-B7Ziuuh8.cjs.map +1 -0
- package/dist/tabs-tab-XnMoa1fn.js +118 -0
- package/dist/tabs-tab-XnMoa1fn.js.map +1 -0
- package/dist/text-field-block-DnhYm_C2.cjs +50 -0
- package/dist/text-field-block-DnhYm_C2.cjs.map +1 -0
- package/dist/text-field-block-wLF3JlhE.js +48 -0
- package/dist/text-field-block-wLF3JlhE.js.map +1 -0
- package/dist/textarea-CEt75kZ1.cjs +83 -0
- package/dist/textarea-CEt75kZ1.cjs.map +1 -0
- package/dist/textarea-DnU5om-B.js +62 -0
- package/dist/textarea-DnU5om-B.js.map +1 -0
- package/dist/theme-toggle-0N1bVeCr.js +85 -0
- package/dist/theme-toggle-0N1bVeCr.js.map +1 -0
- package/dist/theme-toggle-DTRiM-8u.cjs +87 -0
- package/dist/theme-toggle-DTRiM-8u.cjs.map +1 -0
- package/dist/thread-list-6cywfaM3.js +72 -0
- package/dist/thread-list-6cywfaM3.js.map +1 -0
- package/dist/thread-list-jqmdJxUm.cjs +79 -0
- package/dist/thread-list-jqmdJxUm.cjs.map +1 -0
- package/dist/time-picker-D5qUadVb.cjs +113 -0
- package/dist/time-picker-D5qUadVb.cjs.map +1 -0
- package/dist/time-picker-ji6mao2A.js +110 -0
- package/dist/time-picker-ji6mao2A.js.map +1 -0
- package/dist/traces-data-list-BpQO8ZSH.cjs +85 -0
- package/dist/traces-data-list-BpQO8ZSH.cjs.map +1 -0
- package/dist/traces-data-list-DzqdihE7.js +83 -0
- package/dist/traces-data-list-DzqdihE7.js.map +1 -0
- package/dist/tree-CeGhDY_u.js +471 -0
- package/dist/tree-CeGhDY_u.js.map +1 -0
- package/dist/tree-CjUNJlMa.cjs +492 -0
- package/dist/tree-CjUNJlMa.cjs.map +1 -0
- package/dist/truncate-9TKOzqxZ.js +47 -0
- package/dist/truncate-9TKOzqxZ.js.map +1 -0
- package/dist/truncate-BiIUPM1q.cjs +49 -0
- package/dist/truncate-BiIUPM1q.cjs.map +1 -0
- package/dist/utils/file.cjs.js +3 -13
- package/dist/utils/file.cjs.js.map +1 -1
- package/dist/utils/file.es.js +3 -13
- package/dist/utils/file.es.js.map +1 -1
- package/package.json +57 -7
- package/dist/Avatar-DWt9SxCq.cjs +0 -44
- package/dist/Avatar-DWt9SxCq.cjs.map +0 -1
- package/dist/Avatar-t2EzDraN.js +0 -42
- package/dist/Avatar-t2EzDraN.js.map +0 -1
- package/dist/Badge-CIIPrVJ8.js +0 -55
- package/dist/Badge-CIIPrVJ8.js.map +0 -1
- package/dist/Badge-DhIGMqUf.cjs +0 -57
- package/dist/Badge-DhIGMqUf.cjs.map +0 -1
- package/dist/Breadcrumb-CArFRvVX.cjs +0 -37
- package/dist/Breadcrumb-CArFRvVX.cjs.map +0 -1
- package/dist/Breadcrumb-Ciy7FM3z.js +0 -34
- package/dist/Breadcrumb-Ciy7FM3z.js.map +0 -1
- package/dist/Button-Bj667lJx.cjs +0 -108
- package/dist/Button-Bj667lJx.cjs.map +0 -1
- package/dist/Button-DUxP65eY.js +0 -105
- package/dist/Button-DUxP65eY.js.map +0 -1
- package/dist/ErrorBoundary-Dzim3WH6.cjs +0 -175
- package/dist/ErrorBoundary-Dzim3WH6.cjs.map +0 -1
- package/dist/ErrorBoundary-UTpu5Qah.js +0 -154
- package/dist/ErrorBoundary-UTpu5Qah.js.map +0 -1
- package/dist/Notice-BJ6lke5l.js +0 -89
- package/dist/Notice-BJ6lke5l.js.map +0 -1
- package/dist/Notice-BoWYUdbS.cjs +0 -91
- package/dist/Notice-BoWYUdbS.cjs.map +0 -1
- package/dist/SessionExpired-1MYjtwiy.js +0 -45
- package/dist/SessionExpired-1MYjtwiy.js.map +0 -1
- package/dist/SessionExpired-DFE3cHmO.cjs +0 -47
- package/dist/SessionExpired-DFE3cHmO.cjs.map +0 -1
- package/dist/alert-dialog-BRvoYQwJ.js +0 -99
- package/dist/alert-dialog-BRvoYQwJ.js.map +0 -1
- package/dist/alert-dialog-k5-YzF6v.cjs +0 -120
- package/dist/alert-dialog-k5-YzF6v.cjs.map +0 -1
- package/dist/buttons-group-Cq0bhJ9W.cjs +0 -185
- package/dist/buttons-group-Cq0bhJ9W.cjs.map +0 -1
- package/dist/buttons-group-DoY6vWNX.js +0 -161
- package/dist/buttons-group-DoY6vWNX.js.map +0 -1
- package/dist/checkbox-CYy10J_9.js +0 -88
- package/dist/checkbox-CYy10J_9.js.map +0 -1
- package/dist/checkbox-D1vhO7CT.cjs +0 -109
- package/dist/checkbox-D1vhO7CT.cjs.map +0 -1
- package/dist/code-block-QAdMwht_.cjs +0 -86
- package/dist/code-block-QAdMwht_.cjs.map +0 -1
- package/dist/code-block-wIYnRia5.js +0 -84
- package/dist/code-block-wIYnRia5.js.map +0 -1
- package/dist/code-editor-Dy7xhPHz.js +0 -441
- package/dist/code-editor-Dy7xhPHz.js.map +0 -1
- package/dist/code-editor-PXyii7uq.cjs +0 -449
- package/dist/code-editor-PXyii7uq.cjs.map +0 -1
- package/dist/collapsible-BkPKxVw5.cjs +0 -61
- package/dist/collapsible-BkPKxVw5.cjs.map +0 -1
- package/dist/collapsible-C0LKBzLy.js +0 -57
- package/dist/collapsible-C0LKBzLy.js.map +0 -1
- package/dist/combobox-B3lIawbp.js +0 -223
- package/dist/combobox-B3lIawbp.js.map +0 -1
- package/dist/combobox-DPV6JFnR.cjs +0 -245
- package/dist/combobox-DPV6JFnR.cjs.map +0 -1
- package/dist/command-BT3bjfa0.cjs +0 -194
- package/dist/command-BT3bjfa0.cjs.map +0 -1
- package/dist/command-DnI0VT4j.js +0 -165
- package/dist/command-DnI0VT4j.js.map +0 -1
- package/dist/control-size-BdDLgGX4.js +0 -22
- package/dist/control-size-BdDLgGX4.js.map +0 -1
- package/dist/control-size-D67C0kPZ.cjs +0 -26
- package/dist/control-size-D67C0kPZ.cjs.map +0 -1
- package/dist/copy-button-CXn_T1Vi.js +0 -44
- package/dist/copy-button-CXn_T1Vi.js.map +0 -1
- package/dist/copy-button-UYec6W5c.cjs +0 -46
- package/dist/copy-button-UYec6W5c.cjs.map +0 -1
- package/dist/data-code-section-BUcQHFw2.js +0 -332
- package/dist/data-code-section-BUcQHFw2.js.map +0 -1
- package/dist/data-code-section-WbOdAr6i.cjs +0 -335
- package/dist/data-code-section-WbOdAr6i.cjs.map +0 -1
- package/dist/data-list-BZxmpMh8.cjs +0 -135
- package/dist/data-list-BZxmpMh8.cjs.map +0 -1
- package/dist/data-list-DDgI1bcK.js +0 -131
- package/dist/data-list-DDgI1bcK.js.map +0 -1
- package/dist/data-list-skeleton-CKtfnKu1.cjs +0 -32
- package/dist/data-list-skeleton-CKtfnKu1.cjs.map +0 -1
- package/dist/data-list-skeleton-DdII1DEa.js +0 -30
- package/dist/data-list-skeleton-DdII1DEa.js.map +0 -1
- package/dist/data-list-top-cell-GbxlrnjB.cjs +0 -540
- package/dist/data-list-top-cell-GbxlrnjB.cjs.map +0 -1
- package/dist/data-list-top-cell-qvCVWXs-.js +0 -513
- package/dist/data-list-top-cell-qvCVWXs-.js.map +0 -1
- package/dist/data-panel-C-Cw6JZU.js +0 -87
- package/dist/data-panel-C-Cw6JZU.js.map +0 -1
- package/dist/data-panel-Cfjo5g3E.cjs +0 -89
- package/dist/data-panel-Cfjo5g3E.cjs.map +0 -1
- package/dist/date-time-picker-CS4HSyCh.cjs +0 -268
- package/dist/date-time-picker-CS4HSyCh.cjs.map +0 -1
- package/dist/date-time-picker-CxYld6QS.js +0 -245
- package/dist/date-time-picker-CxYld6QS.js.map +0 -1
- package/dist/date-time-range-picker-C4zzA37w.cjs +0 -170
- package/dist/date-time-range-picker-C4zzA37w.cjs.map +0 -1
- package/dist/date-time-range-picker-lu44sN6F.js +0 -168
- package/dist/date-time-range-picker-lu44sN6F.js.map +0 -1
- package/dist/dialog-CFJARbIM.js +0 -76
- package/dist/dialog-CFJARbIM.js.map +0 -1
- package/dist/dialog-Lm_EDANe.cjs +0 -107
- package/dist/dialog-Lm_EDANe.cjs.map +0 -1
- package/dist/drawer-CiUjFp3u.js +0 -326
- package/dist/drawer-CiUjFp3u.js.map +0 -1
- package/dist/drawer-jT2bUkrJ.cjs +0 -366
- package/dist/drawer-jT2bUkrJ.cjs.map +0 -1
- package/dist/dropdown-menu-BvpUs54j.cjs +0 -263
- package/dist/dropdown-menu-BvpUs54j.cjs.map +0 -1
- package/dist/dropdown-menu-rYjDHlMP.js +0 -242
- package/dist/dropdown-menu-rYjDHlMP.js.map +0 -1
- package/dist/environment-variables-editor-DwkANgjj.cjs +0 -519
- package/dist/environment-variables-editor-DwkANgjj.cjs.map +0 -1
- package/dist/environment-variables-editor-PCGuUAIv.js +0 -517
- package/dist/environment-variables-editor-PCGuUAIv.js.map +0 -1
- package/dist/form-element-Cy7aV1Ds.cjs +0 -22
- package/dist/form-element-Cy7aV1Ds.cjs.map +0 -1
- package/dist/form-element-DUtZESwq.js +0 -12
- package/dist/form-element-DUtZESwq.js.map +0 -1
- package/dist/helpers-CsdqE6P2.js +0 -346
- package/dist/helpers-CsdqE6P2.js.map +0 -1
- package/dist/helpers-DZjuFmIz.cjs +0 -352
- package/dist/helpers-DZjuFmIz.cjs.map +0 -1
- package/dist/input-CmF5qOKQ.js +0 -65
- package/dist/input-CmF5qOKQ.js.map +0 -1
- package/dist/input-DL5-kqK-.cjs +0 -86
- package/dist/input-DL5-kqK-.cjs.map +0 -1
- package/dist/input-group-bzqIGNp3.cjs +0 -245
- package/dist/input-group-bzqIGNp3.cjs.map +0 -1
- package/dist/input-group-iZZD8Z65.js +0 -219
- package/dist/input-group-iZZD8Z65.js.map +0 -1
- package/dist/kbd-BAS3Kd2E.cjs +0 -29
- package/dist/kbd-BAS3Kd2E.cjs.map +0 -1
- package/dist/kbd-gp0Sr4mW.js +0 -27
- package/dist/kbd-gp0Sr4mW.js.map +0 -1
- package/dist/list-search-Cd7OGOdt.js +0 -57
- package/dist/list-search-Cd7OGOdt.js.map +0 -1
- package/dist/list-search-Cn23Rbyh.cjs +0 -59
- package/dist/list-search-Cn23Rbyh.cjs.map +0 -1
- package/dist/logs-data-list-CCaTeaUh.js +0 -80
- package/dist/logs-data-list-CCaTeaUh.js.map +0 -1
- package/dist/logs-data-list-Dwh8cMrt.cjs +0 -82
- package/dist/logs-data-list-Dwh8cMrt.cjs.map +0 -1
- package/dist/main-sidebar-DyA0N-zw.js +0 -788
- package/dist/main-sidebar-DyA0N-zw.js.map +0 -1
- package/dist/main-sidebar-Fa0x88X0.cjs +0 -798
- package/dist/main-sidebar-Fa0x88X0.cjs.map +0 -1
- package/dist/markdown-renderer-D_sNkQ-a.js +0 -86
- package/dist/markdown-renderer-D_sNkQ-a.js.map +0 -1
- package/dist/markdown-renderer-m0Qqa1u8.cjs +0 -88
- package/dist/markdown-renderer-m0Qqa1u8.cjs.map +0 -1
- package/dist/multi-column-BLp7eL6P.cjs +0 -136
- package/dist/multi-column-BLp7eL6P.cjs.map +0 -1
- package/dist/multi-column-DeSb1YDE.js +0 -132
- package/dist/multi-column-DeSb1YDE.js.map +0 -1
- package/dist/popover-BjnbSCQw.cjs +0 -119
- package/dist/popover-BjnbSCQw.cjs.map +0 -1
- package/dist/popover-DaFWFKma.js +0 -95
- package/dist/popover-DaFWFKma.js.map +0 -1
- package/dist/portal-container-BlQ6JKob.js +0 -17
- package/dist/portal-container-BlQ6JKob.js.map +0 -1
- package/dist/portal-container-BsvHZxj7.cjs +0 -39
- package/dist/portal-container-BsvHZxj7.cjs.map +0 -1
- package/dist/process-step-progress-bar-DKn_SWjH.js +0 -136
- package/dist/process-step-progress-bar-DKn_SWjH.js.map +0 -1
- package/dist/process-step-progress-bar-gMkvVzG1.cjs +0 -141
- package/dist/process-step-progress-bar-gMkvVzG1.cjs.map +0 -1
- package/dist/property-filter-creator-CdxTSrOs.cjs +0 -674
- package/dist/property-filter-creator-CdxTSrOs.cjs.map +0 -1
- package/dist/property-filter-creator-D60-FVBL.js +0 -669
- package/dist/property-filter-creator-D60-FVBL.js.map +0 -1
- package/dist/radio-group-DdMscZHh.js +0 -55
- package/dist/radio-group-DdMscZHh.js.map +0 -1
- package/dist/radio-group-rp_4ZkOj.cjs +0 -77
- package/dist/radio-group-rp_4ZkOj.cjs.map +0 -1
- package/dist/rule-builder-Zs6Ywp5-.js +0 -563
- package/dist/rule-builder-Zs6Ywp5-.js.map +0 -1
- package/dist/rule-builder-vwKEUlZU.cjs +0 -594
- package/dist/rule-builder-vwKEUlZU.cjs.map +0 -1
- package/dist/search-field-block-BkRBAVCC.cjs +0 -117
- package/dist/search-field-block-BkRBAVCC.cjs.map +0 -1
- package/dist/search-field-block-CJSnpu8G.js +0 -115
- package/dist/search-field-block-CJSnpu8G.js.map +0 -1
- package/dist/searchbar-DzOR_xnW.cjs +0 -105
- package/dist/searchbar-DzOR_xnW.cjs.map +0 -1
- package/dist/searchbar-SYpN7NP_.js +0 -102
- package/dist/searchbar-SYpN7NP_.js.map +0 -1
- package/dist/select-BSf4VfTX.js +0 -162
- package/dist/select-BSf4VfTX.js.map +0 -1
- package/dist/select-CA9x5WdL.cjs +0 -188
- package/dist/select-CA9x5WdL.cjs.map +0 -1
- package/dist/select-data-filter-B1ZSewKM.cjs +0 -194
- package/dist/select-data-filter-B1ZSewKM.cjs.map +0 -1
- package/dist/select-data-filter-CRsIOTuD.js +0 -192
- package/dist/select-data-filter-CRsIOTuD.js.map +0 -1
- package/dist/select-field-block-DuCz05gv.cjs +0 -50
- package/dist/select-field-block-DuCz05gv.cjs.map +0 -1
- package/dist/select-field-block-z5_ve898.js +0 -48
- package/dist/select-field-block-z5_ve898.js.map +0 -1
- package/dist/tabs-content-De3TzqG0.cjs +0 -20
- package/dist/tabs-content-De3TzqG0.cjs.map +0 -1
- package/dist/tabs-content-J4YUF8-A.js +0 -18
- package/dist/tabs-content-J4YUF8-A.js.map +0 -1
- package/dist/tabs-tab-CkHDocn9.cjs +0 -122
- package/dist/tabs-tab-CkHDocn9.cjs.map +0 -1
- package/dist/tabs-tab-D0Ydz5KC.js +0 -118
- package/dist/tabs-tab-D0Ydz5KC.js.map +0 -1
- package/dist/text-field-block-DPyUlRc-.cjs +0 -50
- package/dist/text-field-block-DPyUlRc-.cjs.map +0 -1
- package/dist/text-field-block-DybcFyt-.js +0 -48
- package/dist/text-field-block-DybcFyt-.js.map +0 -1
- package/dist/textarea-CdmDbgMg.cjs +0 -83
- package/dist/textarea-CdmDbgMg.cjs.map +0 -1
- package/dist/textarea-CvcSdBxC.js +0 -62
- package/dist/textarea-CvcSdBxC.js.map +0 -1
- package/dist/theme-toggle-BhMopYF0.cjs +0 -87
- package/dist/theme-toggle-BhMopYF0.cjs.map +0 -1
- package/dist/theme-toggle-Byu3F-Vt.js +0 -85
- package/dist/theme-toggle-Byu3F-Vt.js.map +0 -1
- package/dist/thread-list-DISOdCG1.cjs +0 -79
- package/dist/thread-list-DISOdCG1.cjs.map +0 -1
- package/dist/thread-list-DStSVzaX.js +0 -72
- package/dist/thread-list-DStSVzaX.js.map +0 -1
- package/dist/time-picker-CL4xWUGp.js +0 -110
- package/dist/time-picker-CL4xWUGp.js.map +0 -1
- package/dist/time-picker-CR4_fwUk.cjs +0 -113
- package/dist/time-picker-CR4_fwUk.cjs.map +0 -1
- package/dist/traces-data-list-C_7puLGo.cjs +0 -126
- package/dist/traces-data-list-C_7puLGo.cjs.map +0 -1
- package/dist/traces-data-list-D8pdf9Yu.js +0 -123
- package/dist/traces-data-list-D8pdf9Yu.js.map +0 -1
- package/dist/transitions-DpczSjmD.cjs +0 -39
- package/dist/transitions-DpczSjmD.cjs.map +0 -1
- package/dist/transitions-tFfqxz40.js +0 -35
- package/dist/transitions-tFfqxz40.js.map +0 -1
- package/dist/tree-DIW9AT9g.js +0 -471
- package/dist/tree-DIW9AT9g.js.map +0 -1
- package/dist/tree-TfjjoQWc.cjs +0 -492
- package/dist/tree-TfjjoQWc.cjs.map +0 -1
- package/dist/truncate-Dc4uvGy6.cjs +0 -49
- package/dist/truncate-Dc4uvGy6.cjs.map +0 -1
- package/dist/truncate-ReelyWbD.js +0 -47
- package/dist/truncate-ReelyWbD.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-trace-url-state.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-url-state.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef } from 'react';\nimport type { SpanTab, TraceDatePreset } from '../index';\nimport {\n ROOT_ENTITY_TYPE_OPTIONS,\n TRACE_ANCHOR_SPAN_ID_PARAM,\n TRACE_DATE_FROM_PARAM,\n TRACE_DATE_PRESET_PARAM,\n TRACE_DATE_PRESET_VALUES,\n TRACE_DATE_TO_PARAM,\n TRACE_PROPERTY_FILTER_FIELD_IDS,\n TRACE_LIST_MODE_PARAM,\n TRACE_LIST_MODE_VALUES,\n TRACE_PROPERTY_FILTER_PARAM_BY_FIELD,\n TRACE_ROOT_ENTITY_TYPE_PARAM,\n TRACE_STATUS_PARAM,\n TRACE_STATUS_VALUES,\n applyTracePropertyFilterTokens,\n getTracePropertyFilterTokens,\n} from '../trace-filters';\nimport type { EntityOptions, TraceListMode, TraceStatusFilter } from '../trace-filters';\nimport type { PropertyFilterToken } from '@/ds/components/PropertyFilter/types';\n\nconst TRACE_ID_PARAM = 'traceId';\nconst SPAN_ID_PARAM = 'spanId';\nconst TAB_PARAM = 'tab';\nconst SCORE_ID_PARAM = 'scoreId';\n\nconst DAY_MS = 24 * 60 * 60 * 1000;\nconst PRESET_MS: Partial<Record<TraceDatePreset, number>> = {\n 'last-24h': DAY_MS,\n 'last-3d': 3 * DAY_MS,\n 'last-7d': 7 * DAY_MS,\n 'last-14d': 14 * DAY_MS,\n 'last-30d': 30 * DAY_MS,\n};\n\n/** Mutates `params` in place to drop the featured trace/span/tab/score selection.\n * Used whenever a filter changes — selection no longer makes sense in the new result set. */\nfunction clearSelectionParams(params: URLSearchParams) {\n params.delete(TRACE_ID_PARAM);\n params.delete(SPAN_ID_PARAM);\n params.delete(TRACE_ANCHOR_SPAN_ID_PARAM);\n params.delete(TAB_PARAM);\n params.delete(SCORE_ID_PARAM);\n}\n\n/** Minimal interface compatible with react-router's `setSearchParams`. */\nexport type SetURLSearchParamsLike = (\n next: URLSearchParams | ((prev: URLSearchParams) => URLSearchParams),\n options?: { replace?: boolean; preventScrollReset?: boolean; state?: unknown },\n) => void;\n\nexport interface UseTraceUrlStateOptions {\n /** Called after `handleRemoveAll` clears all filter URL params. Use this to reset page-local\n * UI state (e.g. a \"group by thread\" toggle) without wrapping the handler. */\n onRemoveAll?: () => void;\n}\n\nexport interface UseTraceUrlStateResult {\n // Raw search params passed through for convenience\n searchParams: URLSearchParams;\n setSearchParams: SetURLSearchParamsLike;\n\n // Date state (derived from URL)\n datePreset: TraceDatePreset;\n selectedDateFrom: Date | undefined;\n selectedDateTo: Date | undefined;\n /** Synchronously-updated ref of the latest preset. Used to ignore onDateChange callbacks\n * the date picker fires after a non-custom preset switch. */\n datePresetRef: React.MutableRefObject<TraceDatePreset>;\n\n // Selection state (derived from URL)\n traceIdParam: string | undefined;\n spanIdParam: string | undefined;\n /** Branch-mode only: the anchor span that defines the displayed subtree. Stable while the\n * user navigates between spans inside the panel (which only changes `spanIdParam`). */\n anchorSpanIdParam: string | undefined;\n spanTabParam: SpanTab | undefined;\n scoreIdParam: string | undefined;\n\n // Filter state (derived from URL)\n listMode: TraceListMode;\n selectedEntityOption: EntityOptions | undefined;\n selectedStatus: TraceStatusFilter | undefined;\n filterTokens: PropertyFilterToken[];\n\n // URL-modifying handlers\n /**\n * Selects a row. In traces mode pass just `traceId` (and optionally a `spanId` for an\n * initial span selection in the panel). In branches mode also pass `anchorSpanId` — the\n * branch identity, kept stable while the user navigates between spans inside the panel.\n * Branch rows are identified by (traceId, anchorSpanId); trace rows by traceId alone.\n */\n handleTraceClick: (traceId: string, spanId?: string, anchorSpanId?: string) => void;\n /** Convenience: clears the featured trace selection. Equivalent to `handleTraceClick('')`. */\n handleTraceClose: () => void;\n handleSpanChange: (spanId: string | null) => void;\n /** Convenience: clears the featured span selection. Equivalent to `handleSpanChange(null)`. */\n handleSpanClose: () => void;\n handleSpanTabChange: (tab: SpanTab) => void;\n /** Selects a span AND switches its panel tab in a single URL update. Use when both must change\n * from one interaction (e.g. \"Evaluate Trace\"). Calling `handleSpanChange` + `handleSpanTabChange`\n * separately races: each functional `setSearchParams` updater reads the same pre-update\n * `searchParams` snapshot, so the second navigation overwrites the first (last write wins) and one\n * of the two changes is lost on the first click. */\n handleSpanChangeWithTab: (spanId: string, tab: SpanTab) => void;\n handleScoreChange: (scoreId: string | null) => void;\n /** Switches the list view between traces and branches. Clears the current selection. */\n handleListModeChange: (mode: TraceListMode) => void;\n handleFilterTokensChange: (nextTokens: PropertyFilterToken[]) => void;\n handleDateChange: (value: Date | undefined, type: 'from' | 'to') => void;\n handleDatePresetChange: (preset: TraceDatePreset) => void;\n handleRemoveAll: () => void;\n\n /** Lower-level helper used by `handleClear`: writes a token set and clears the trace/span selection. */\n applyFilterTokens: (tokens: PropertyFilterToken[]) => void;\n}\n\n/**\n * Owns all URL-derived state and URL-modifying handlers for the traces page. Routing-agnostic —\n * pass `searchParams` and `setSearchParams` from whichever router the consumer uses.\n *\n * Stays focused on URL state: localStorage save/restore, filter discovery, and the error-view\n * short-circuit are intentionally NOT part of this hook so consumers can swap them independently.\n */\nexport function useTraceUrlState(\n searchParams: URLSearchParams,\n setSearchParams: SetURLSearchParamsLike,\n options?: UseTraceUrlStateOptions,\n): UseTraceUrlStateResult {\n const { onRemoveAll } = options ?? {};\n const datePreset = useMemo<TraceDatePreset>(() => {\n const value = searchParams.get(TRACE_DATE_PRESET_PARAM);\n return value && TRACE_DATE_PRESET_VALUES.has(value as TraceDatePreset) ? (value as TraceDatePreset) : 'last-24h';\n }, [searchParams]);\n\n const dateFromParamRaw = searchParams.get(TRACE_DATE_FROM_PARAM);\n const dateToParamRaw = searchParams.get(TRACE_DATE_TO_PARAM);\n\n const selectedDateFrom = useMemo(() => {\n if (datePreset === 'custom') {\n if (!dateFromParamRaw) return undefined;\n const parsed = new Date(dateFromParamRaw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }\n if (datePreset === 'all') return undefined;\n const ms = PRESET_MS[datePreset];\n return ms ? new Date(Date.now() - ms) : undefined;\n }, [datePreset, dateFromParamRaw]);\n\n const selectedDateTo = useMemo(() => {\n if (datePreset !== 'custom' || !dateToParamRaw) return undefined;\n const parsed = new Date(dateToParamRaw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }, [datePreset, dateToParamRaw]);\n\n // Track the latest preset synchronously so onDateChange callbacks that follow\n // a non-custom preset switch can be ignored (router setSearchParams captures\n // searchParams in its closure, so multiple synchronous calls would otherwise\n // clobber each other).\n const datePresetRef = useRef(datePreset);\n datePresetRef.current = datePreset;\n\n const traceIdParam = searchParams.get(TRACE_ID_PARAM) || undefined;\n const spanIdParam = searchParams.get(SPAN_ID_PARAM) || undefined;\n /** Branch-mode only: identifies which branch (anchor span) the panel is viewing. Stays put\n * while the user navigates between spans inside the panel (which only changes spanIdParam). */\n const anchorSpanIdParam = searchParams.get(TRACE_ANCHOR_SPAN_ID_PARAM) || undefined;\n const tabParam = searchParams.get(TAB_PARAM);\n const spanTabParam: SpanTab | undefined =\n tabParam === 'scoring'\n ? 'scoring'\n : tabParam === 'feedback'\n ? 'feedback'\n : tabParam === 'details'\n ? 'details'\n : undefined;\n const scoreIdParam = searchParams.get(SCORE_ID_PARAM) || undefined;\n\n const listMode = useMemo<TraceListMode>(() => {\n const value = searchParams.get(TRACE_LIST_MODE_PARAM);\n return value && TRACE_LIST_MODE_VALUES.has(value as TraceListMode) ? (value as TraceListMode) : 'traces';\n }, [searchParams]);\n const selectedEntityOption = useMemo(\n () => ROOT_ENTITY_TYPE_OPTIONS.find(option => option.entityType === searchParams.get(TRACE_ROOT_ENTITY_TYPE_PARAM)),\n [searchParams],\n );\n const selectedStatus = useMemo<TraceStatusFilter | undefined>(() => {\n const value = searchParams.get(TRACE_STATUS_PARAM);\n return value && TRACE_STATUS_VALUES.has(value as TraceStatusFilter) ? (value as TraceStatusFilter) : undefined;\n }, [searchParams]);\n const filterTokens = useMemo(() => getTracePropertyFilterTokens(searchParams), [searchParams]);\n\n const handleTraceClick = useCallback(\n (traceId: string, spanId?: string, anchorSpanId?: string) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (traceId) {\n next.set(TRACE_ID_PARAM, traceId);\n } else {\n next.delete(TRACE_ID_PARAM);\n }\n if (spanId) {\n next.set(SPAN_ID_PARAM, spanId);\n } else {\n next.delete(SPAN_ID_PARAM);\n }\n if (anchorSpanId) {\n next.set(TRACE_ANCHOR_SPAN_ID_PARAM, anchorSpanId);\n } else {\n next.delete(TRACE_ANCHOR_SPAN_ID_PARAM);\n }\n next.delete(TAB_PARAM);\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleTraceClose = useCallback(() => handleTraceClick(''), [handleTraceClick]);\n\n const handleSpanChange = useCallback(\n (spanId: string | null) => {\n const currentSpanId = searchParams.get(SPAN_ID_PARAM) || null;\n if (spanId === currentSpanId) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (spanId) {\n next.set(SPAN_ID_PARAM, spanId);\n } else {\n next.delete(SPAN_ID_PARAM);\n }\n // Tab + score are per-span; they'd point at the previous span's context otherwise.\n next.delete(TAB_PARAM);\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleSpanClose = useCallback(() => handleSpanChange(null), [handleSpanChange]);\n\n const handleSpanTabChange = useCallback(\n (tab: SpanTab) => {\n const currentTab = searchParams.get(TAB_PARAM) || null;\n if (tab === currentTab) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (tab && tab !== 'details') {\n next.set(TAB_PARAM, tab);\n } else {\n next.delete(TAB_PARAM);\n }\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleSpanChangeWithTab = useCallback(\n (spanId: string, tab: SpanTab) => {\n const nextTab = tab && tab !== 'details' ? tab : null;\n // No-op guard (same pattern as the sibling handlers): skip the navigation only when span,\n // tab AND score are already exactly what this call would produce.\n const isNoOp =\n spanId === (searchParams.get(SPAN_ID_PARAM) || null) &&\n nextTab === (searchParams.get(TAB_PARAM) || null) &&\n !searchParams.get(SCORE_ID_PARAM);\n if (isNoOp) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n next.set(SPAN_ID_PARAM, spanId);\n if (nextTab) {\n next.set(TAB_PARAM, nextTab);\n } else {\n next.delete(TAB_PARAM);\n }\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleScoreChange = useCallback(\n (scoreId: string | null) => {\n const currentScoreId = searchParams.get(SCORE_ID_PARAM) || null;\n if (scoreId === currentScoreId) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (scoreId) {\n next.set(SCORE_ID_PARAM, scoreId);\n } else {\n next.delete(SCORE_ID_PARAM);\n }\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const applyFilterTokens = useCallback(\n (tokens: PropertyFilterToken[]) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n // applyTracePropertyFilterTokens wipes all filter params (including\n // rootEntityType / status) and re-adds them in `nextTokens` order so\n // URL insertion order == filter creation order.\n applyTracePropertyFilterTokens(next, tokens);\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleFilterTokensChange = applyFilterTokens;\n\n // Only relevant for 'custom' — the picker also fires onDateChange after a\n // non-custom preset switch, which we ignore to avoid racing URL updates.\n const handleDateChange = useCallback(\n (value: Date | undefined, type: 'from' | 'to') => {\n if (datePresetRef.current !== 'custom') return;\n const param = type === 'from' ? TRACE_DATE_FROM_PARAM : TRACE_DATE_TO_PARAM;\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (value) {\n next.set(param, value.toISOString());\n } else {\n next.delete(param);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleDatePresetChange = useCallback(\n (preset: TraceDatePreset) => {\n // Update ref synchronously so any onDateChange fired by the picker in the\n // same tick (for non-custom presets) sees the new value and skips.\n datePresetRef.current = preset;\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (preset === 'last-24h') {\n // Default — clear all date params.\n next.delete(TRACE_DATE_PRESET_PARAM);\n next.delete(TRACE_DATE_FROM_PARAM);\n next.delete(TRACE_DATE_TO_PARAM);\n } else if (preset === 'custom') {\n next.set(TRACE_DATE_PRESET_PARAM, 'custom');\n // Keep existing dateFrom/dateTo for the user to adjust.\n } else {\n // `last-*` or 'all' — only the preset is stored; dates are derived.\n next.set(TRACE_DATE_PRESET_PARAM, preset);\n next.delete(TRACE_DATE_FROM_PARAM);\n next.delete(TRACE_DATE_TO_PARAM);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleListModeChange = useCallback(\n (mode: TraceListMode) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (mode === 'traces') {\n next.delete(TRACE_LIST_MODE_PARAM);\n } else {\n next.set(TRACE_LIST_MODE_PARAM, mode);\n }\n // Clear selection: rows from the previous mode don't map cleanly to the new mode.\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleRemoveAll = useCallback(() => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n next.delete(TRACE_LIST_MODE_PARAM);\n next.delete(TRACE_ROOT_ENTITY_TYPE_PARAM);\n next.delete(TRACE_STATUS_PARAM);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n next.delete(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId]);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n onRemoveAll?.();\n }, [setSearchParams, onRemoveAll]);\n\n return {\n searchParams,\n setSearchParams,\n datePreset,\n selectedDateFrom,\n selectedDateTo,\n datePresetRef,\n traceIdParam,\n spanIdParam,\n anchorSpanIdParam,\n spanTabParam,\n scoreIdParam,\n listMode,\n selectedEntityOption,\n selectedStatus,\n filterTokens,\n handleTraceClick,\n handleTraceClose,\n handleSpanChange,\n handleSpanClose,\n handleSpanTabChange,\n handleSpanChangeWithTab,\n handleScoreChange,\n handleListModeChange,\n handleFilterTokensChange,\n handleDateChange,\n handleDatePresetChange,\n handleRemoveAll,\n applyFilterTokens,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,316 @@
|
|
|
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 React = require('react');
|
|
8
|
+
const hooks_useInView = require('../../../hooks/use-in-view.cjs.js');
|
|
9
|
+
const utils_queryUtils = require('../../../utils/query-utils.cjs.js');
|
|
10
|
+
|
|
11
|
+
const deltaSupportByClient = /* @__PURE__ */ new WeakMap();
|
|
12
|
+
const DEFAULT_POLLING_CONFIG = {
|
|
13
|
+
deltaPollIntervalMs: 5e3,
|
|
14
|
+
deltaChaseIntervalMs: 100,
|
|
15
|
+
deltaLimit: 100,
|
|
16
|
+
pageModeRefetchIntervalMs: 1e4,
|
|
17
|
+
page0StatusRefreshIntervalMs: 6e4,
|
|
18
|
+
idleGuardThresholdMs: 15 * 6e4,
|
|
19
|
+
minRefetchSpinMs: 400,
|
|
20
|
+
deltaHighlightMs: 1e3
|
|
21
|
+
};
|
|
22
|
+
function shouldResetAfterIdle(lastSuccessAt, now, thresholdMs) {
|
|
23
|
+
if (lastSuccessAt === 0) return false;
|
|
24
|
+
return now - lastSuccessAt > thresholdMs;
|
|
25
|
+
}
|
|
26
|
+
function isHttp501(error) {
|
|
27
|
+
return error?.status === 501;
|
|
28
|
+
}
|
|
29
|
+
const fetchTracesFn = async ({
|
|
30
|
+
client,
|
|
31
|
+
mode,
|
|
32
|
+
page,
|
|
33
|
+
perPage,
|
|
34
|
+
after,
|
|
35
|
+
limit,
|
|
36
|
+
filters,
|
|
37
|
+
listMode = "traces"
|
|
38
|
+
}) => {
|
|
39
|
+
const params = mode === "delta" ? { mode: "delta", after, limit, filters } : { pagination: { page, perPage }, filters };
|
|
40
|
+
if (listMode === "branches") {
|
|
41
|
+
return client.listBranches(params);
|
|
42
|
+
}
|
|
43
|
+
return client.listTraces(params);
|
|
44
|
+
};
|
|
45
|
+
const TRACES_PER_PAGE = 25;
|
|
46
|
+
function getTracesNextPageParam(lastPage, _allPages, lastPageParam) {
|
|
47
|
+
if (lastPage?.pagination?.hasMore) {
|
|
48
|
+
return lastPageParam + 1;
|
|
49
|
+
}
|
|
50
|
+
return void 0;
|
|
51
|
+
}
|
|
52
|
+
function getPageSpans(page) {
|
|
53
|
+
if ("branches" in page) return page.branches ?? [];
|
|
54
|
+
return page.spans ?? [];
|
|
55
|
+
}
|
|
56
|
+
function selectUniqueTraces(data) {
|
|
57
|
+
const seen = /* @__PURE__ */ new Set();
|
|
58
|
+
const spans = data.pages.flatMap((page) => getPageSpans(page)).filter((span) => {
|
|
59
|
+
const key = `${span.traceId}:${span.spanId}`;
|
|
60
|
+
if (seen.has(key)) return false;
|
|
61
|
+
seen.add(key);
|
|
62
|
+
return true;
|
|
63
|
+
});
|
|
64
|
+
return { spans, deltaCursor: data.pages[0]?.deltaCursor };
|
|
65
|
+
}
|
|
66
|
+
function refreshPage0Rows(old, refreshed, listMode) {
|
|
67
|
+
if (!old || old.pages.length === 0) return old;
|
|
68
|
+
const [firstPage, ...rest] = old.pages;
|
|
69
|
+
const refreshedRows = listMode === "branches" && "branches" in refreshed ? refreshed.branches ?? [] : "spans" in refreshed ? refreshed.spans ?? [] : [];
|
|
70
|
+
if (refreshedRows.length === 0) return old;
|
|
71
|
+
const refreshedByKey = /* @__PURE__ */ new Map();
|
|
72
|
+
for (const row of refreshedRows) {
|
|
73
|
+
refreshedByKey.set(`${row.traceId}:${row.spanId}`, row);
|
|
74
|
+
}
|
|
75
|
+
let updatedFirst;
|
|
76
|
+
if (listMode === "branches" && "branches" in firstPage) {
|
|
77
|
+
const updated = (firstPage.branches ?? []).map((existing) => {
|
|
78
|
+
const fresh = refreshedByKey.get(`${existing.traceId}:${existing.spanId}`);
|
|
79
|
+
return fresh ?? existing;
|
|
80
|
+
});
|
|
81
|
+
updatedFirst = { ...firstPage, branches: updated };
|
|
82
|
+
} else if ("spans" in firstPage) {
|
|
83
|
+
const updated = (firstPage.spans ?? []).map((existing) => {
|
|
84
|
+
const fresh = refreshedByKey.get(`${existing.traceId}:${existing.spanId}`);
|
|
85
|
+
return fresh ?? existing;
|
|
86
|
+
});
|
|
87
|
+
updatedFirst = { ...firstPage, spans: updated };
|
|
88
|
+
} else {
|
|
89
|
+
return old;
|
|
90
|
+
}
|
|
91
|
+
return { ...old, pages: [updatedFirst, ...rest] };
|
|
92
|
+
}
|
|
93
|
+
function sortRowsByStartedAtDesc(rows) {
|
|
94
|
+
return [...rows].sort((a, b) => {
|
|
95
|
+
const aTime = a.startedAt ? new Date(a.startedAt).getTime() : 0;
|
|
96
|
+
const bTime = b.startedAt ? new Date(b.startedAt).getTime() : 0;
|
|
97
|
+
return bTime - aTime;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
function mergeDeltaIntoPage0(old, delta, listMode) {
|
|
101
|
+
if (!old || old.pages.length === 0) return old;
|
|
102
|
+
const [firstPage, ...rest] = old.pages;
|
|
103
|
+
const nextCursor = delta.deltaCursor ?? firstPage.deltaCursor;
|
|
104
|
+
let updatedFirst;
|
|
105
|
+
if (listMode === "branches" && "branches" in firstPage) {
|
|
106
|
+
const newRows = delta.branches ?? [];
|
|
107
|
+
updatedFirst = {
|
|
108
|
+
...firstPage,
|
|
109
|
+
branches: sortRowsByStartedAtDesc([...newRows, ...firstPage.branches ?? []]),
|
|
110
|
+
deltaCursor: nextCursor
|
|
111
|
+
};
|
|
112
|
+
} else if ("spans" in firstPage) {
|
|
113
|
+
const newRows = delta.spans ?? [];
|
|
114
|
+
updatedFirst = {
|
|
115
|
+
...firstPage,
|
|
116
|
+
spans: sortRowsByStartedAtDesc([...newRows, ...firstPage.spans ?? []]),
|
|
117
|
+
deltaCursor: nextCursor
|
|
118
|
+
};
|
|
119
|
+
} else {
|
|
120
|
+
return old;
|
|
121
|
+
}
|
|
122
|
+
return { ...old, pages: [updatedFirst, ...rest] };
|
|
123
|
+
}
|
|
124
|
+
const useTraces = ({
|
|
125
|
+
filters,
|
|
126
|
+
listMode = "traces",
|
|
127
|
+
polling = {}
|
|
128
|
+
}) => {
|
|
129
|
+
const {
|
|
130
|
+
deltaPollIntervalMs = DEFAULT_POLLING_CONFIG.deltaPollIntervalMs,
|
|
131
|
+
deltaChaseIntervalMs = DEFAULT_POLLING_CONFIG.deltaChaseIntervalMs,
|
|
132
|
+
deltaLimit = DEFAULT_POLLING_CONFIG.deltaLimit,
|
|
133
|
+
pageModeRefetchIntervalMs = DEFAULT_POLLING_CONFIG.pageModeRefetchIntervalMs,
|
|
134
|
+
page0StatusRefreshIntervalMs = DEFAULT_POLLING_CONFIG.page0StatusRefreshIntervalMs,
|
|
135
|
+
idleGuardThresholdMs = DEFAULT_POLLING_CONFIG.idleGuardThresholdMs,
|
|
136
|
+
minRefetchSpinMs = DEFAULT_POLLING_CONFIG.minRefetchSpinMs,
|
|
137
|
+
deltaHighlightMs = DEFAULT_POLLING_CONFIG.deltaHighlightMs
|
|
138
|
+
} = polling;
|
|
139
|
+
const client = react.useMastraClient();
|
|
140
|
+
const queryClient = reactQuery.useQueryClient();
|
|
141
|
+
const { inView: isEndOfListInView, setRef: setEndOfListElement } = hooks_useInView.useInView();
|
|
142
|
+
const [deltaSupport, setDeltaSupport] = React.useState(() => deltaSupportByClient.get(client) ?? "unknown");
|
|
143
|
+
const deltaUnsupported = deltaSupport === "unsupported";
|
|
144
|
+
const [autoRefetch, setAutoRefetch] = React.useState(true);
|
|
145
|
+
const [recentlyAddedKeys, setRecentlyAddedKeys] = React.useState(() => /* @__PURE__ */ new Set());
|
|
146
|
+
React.useEffect(() => {
|
|
147
|
+
setRecentlyAddedKeys(/* @__PURE__ */ new Set());
|
|
148
|
+
}, [listMode, filters]);
|
|
149
|
+
const tracesQueryKey = ["traces", listMode, filters];
|
|
150
|
+
const query = reactQuery.useInfiniteQuery({
|
|
151
|
+
queryKey: tracesQueryKey,
|
|
152
|
+
queryFn: ({ pageParam }) => fetchTracesFn({
|
|
153
|
+
client,
|
|
154
|
+
page: pageParam,
|
|
155
|
+
perPage: TRACES_PER_PAGE,
|
|
156
|
+
filters,
|
|
157
|
+
listMode
|
|
158
|
+
}),
|
|
159
|
+
initialPageParam: 0,
|
|
160
|
+
getNextPageParam: getTracesNextPageParam,
|
|
161
|
+
select: selectUniqueTraces,
|
|
162
|
+
retry: false,
|
|
163
|
+
// Disable polling on 403 to prevent flickering.
|
|
164
|
+
// Fall back to page-mode polling only when delta isn't running.
|
|
165
|
+
refetchInterval: (q) => {
|
|
166
|
+
if (utils_queryUtils.is403ForbiddenError(q.state.error)) return false;
|
|
167
|
+
if (!autoRefetch) return false;
|
|
168
|
+
return deltaUnsupported ? pageModeRefetchIntervalMs : false;
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
const cursor = query.data?.deltaCursor;
|
|
172
|
+
React.useEffect(() => {
|
|
173
|
+
if (query.isSuccess && cursor === void 0 && deltaSupport === "unknown") {
|
|
174
|
+
deltaSupportByClient.set(client, "unsupported");
|
|
175
|
+
setDeltaSupport("unsupported");
|
|
176
|
+
}
|
|
177
|
+
}, [query.isSuccess, cursor, deltaSupport, client]);
|
|
178
|
+
const deltaQuery = reactQuery.useQuery({
|
|
179
|
+
queryKey: ["traces-delta", listMode, filters],
|
|
180
|
+
queryFn: () => {
|
|
181
|
+
const current = queryClient.getQueryData(tracesQueryKey)?.pages[0]?.deltaCursor;
|
|
182
|
+
if (!current) return null;
|
|
183
|
+
return fetchTracesFn({
|
|
184
|
+
client,
|
|
185
|
+
mode: "delta",
|
|
186
|
+
after: current,
|
|
187
|
+
limit: deltaLimit,
|
|
188
|
+
filters,
|
|
189
|
+
listMode
|
|
190
|
+
});
|
|
191
|
+
},
|
|
192
|
+
enabled: !!cursor && !deltaUnsupported && autoRefetch,
|
|
193
|
+
retry: false,
|
|
194
|
+
refetchInterval: (q) => {
|
|
195
|
+
if (q.state.error) return false;
|
|
196
|
+
const data = q.state.data;
|
|
197
|
+
if (data?.delta?.hasMore) return deltaChaseIntervalMs;
|
|
198
|
+
return deltaPollIntervalMs;
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
React.useEffect(() => {
|
|
202
|
+
const result = deltaQuery.data;
|
|
203
|
+
if (!result) return;
|
|
204
|
+
queryClient.setQueryData(
|
|
205
|
+
tracesQueryKey,
|
|
206
|
+
(old) => mergeDeltaIntoPage0(old, result, listMode)
|
|
207
|
+
);
|
|
208
|
+
const newRows = listMode === "branches" && "branches" in result ? result.branches ?? [] : "spans" in result ? result.spans ?? [] : [];
|
|
209
|
+
if (newRows.length === 0) return;
|
|
210
|
+
const keys = newRows.map((r) => `${r.traceId}:${r.spanId ?? ""}`);
|
|
211
|
+
setRecentlyAddedKeys((prev) => {
|
|
212
|
+
const next = new Set(prev);
|
|
213
|
+
for (const k of keys) next.add(k);
|
|
214
|
+
return next;
|
|
215
|
+
});
|
|
216
|
+
setTimeout(() => {
|
|
217
|
+
setRecentlyAddedKeys((prev) => {
|
|
218
|
+
const next = new Set(prev);
|
|
219
|
+
for (const k of keys) next.delete(k);
|
|
220
|
+
return next;
|
|
221
|
+
});
|
|
222
|
+
}, deltaHighlightMs);
|
|
223
|
+
}, [deltaQuery.data, queryClient, listMode, filters, deltaHighlightMs]);
|
|
224
|
+
React.useEffect(() => {
|
|
225
|
+
if (isHttp501(deltaQuery.error)) {
|
|
226
|
+
deltaSupportByClient.set(client, "unsupported");
|
|
227
|
+
setDeltaSupport("unsupported");
|
|
228
|
+
}
|
|
229
|
+
}, [deltaQuery.error, client]);
|
|
230
|
+
const statusRefreshQuery = reactQuery.useQuery({
|
|
231
|
+
queryKey: ["traces-status-refresh", listMode, filters],
|
|
232
|
+
queryFn: () => fetchTracesFn({
|
|
233
|
+
client,
|
|
234
|
+
page: 0,
|
|
235
|
+
perPage: TRACES_PER_PAGE,
|
|
236
|
+
filters,
|
|
237
|
+
listMode
|
|
238
|
+
}),
|
|
239
|
+
enabled: !!cursor && !deltaUnsupported && autoRefetch,
|
|
240
|
+
refetchInterval: page0StatusRefreshIntervalMs,
|
|
241
|
+
refetchOnMount: false,
|
|
242
|
+
retry: false
|
|
243
|
+
});
|
|
244
|
+
React.useEffect(() => {
|
|
245
|
+
const result = statusRefreshQuery.data;
|
|
246
|
+
if (!result) return;
|
|
247
|
+
queryClient.setQueryData(
|
|
248
|
+
tracesQueryKey,
|
|
249
|
+
(old) => refreshPage0Rows(old, result, listMode)
|
|
250
|
+
);
|
|
251
|
+
}, [statusRefreshQuery.data, queryClient, listMode, filters]);
|
|
252
|
+
const lastSuccessAtRef = React.useRef(0);
|
|
253
|
+
React.useEffect(() => {
|
|
254
|
+
const ts = Math.max(query.dataUpdatedAt, deltaQuery.dataUpdatedAt, statusRefreshQuery.dataUpdatedAt);
|
|
255
|
+
if (ts > lastSuccessAtRef.current) {
|
|
256
|
+
lastSuccessAtRef.current = ts;
|
|
257
|
+
}
|
|
258
|
+
}, [query.dataUpdatedAt, deltaQuery.dataUpdatedAt, statusRefreshQuery.dataUpdatedAt]);
|
|
259
|
+
const autoRefetchRef = React.useRef(autoRefetch);
|
|
260
|
+
React.useEffect(() => {
|
|
261
|
+
autoRefetchRef.current = autoRefetch;
|
|
262
|
+
}, [autoRefetch]);
|
|
263
|
+
React.useEffect(() => {
|
|
264
|
+
const handler = () => {
|
|
265
|
+
if (document.visibilityState !== "visible") return;
|
|
266
|
+
if (!autoRefetchRef.current) return;
|
|
267
|
+
if (!shouldResetAfterIdle(lastSuccessAtRef.current, Date.now(), idleGuardThresholdMs)) return;
|
|
268
|
+
void queryClient.resetQueries({ queryKey: ["traces", listMode, filters] });
|
|
269
|
+
};
|
|
270
|
+
document.addEventListener("visibilitychange", handler);
|
|
271
|
+
return () => document.removeEventListener("visibilitychange", handler);
|
|
272
|
+
}, [queryClient, listMode, filters, idleGuardThresholdMs]);
|
|
273
|
+
const { hasNextPage, isFetchingNextPage, fetchNextPage } = query;
|
|
274
|
+
React.useEffect(() => {
|
|
275
|
+
if (isEndOfListInView && hasNextPage && !isFetchingNextPage) {
|
|
276
|
+
void fetchNextPage();
|
|
277
|
+
}
|
|
278
|
+
}, [isEndOfListInView, hasNextPage, isFetchingNextPage, fetchNextPage]);
|
|
279
|
+
const isFetchingAny = query.isFetching || statusRefreshQuery.isFetching || deltaQuery.isFetching;
|
|
280
|
+
const lastActivityAt = Math.max(
|
|
281
|
+
query.dataUpdatedAt,
|
|
282
|
+
query.errorUpdatedAt,
|
|
283
|
+
deltaQuery.dataUpdatedAt,
|
|
284
|
+
deltaQuery.errorUpdatedAt,
|
|
285
|
+
statusRefreshQuery.dataUpdatedAt,
|
|
286
|
+
statusRefreshQuery.errorUpdatedAt
|
|
287
|
+
);
|
|
288
|
+
const [pulse, setPulse] = React.useState(false);
|
|
289
|
+
const prevActivityAtRef = React.useRef(lastActivityAt);
|
|
290
|
+
React.useEffect(() => {
|
|
291
|
+
if (lastActivityAt > prevActivityAtRef.current) {
|
|
292
|
+
prevActivityAtRef.current = lastActivityAt;
|
|
293
|
+
setPulse(true);
|
|
294
|
+
const t = setTimeout(() => setPulse(false), minRefetchSpinMs);
|
|
295
|
+
return () => clearTimeout(t);
|
|
296
|
+
}
|
|
297
|
+
}, [lastActivityAt, minRefetchSpinMs]);
|
|
298
|
+
const isRefetching = isFetchingAny || pulse;
|
|
299
|
+
return {
|
|
300
|
+
...query,
|
|
301
|
+
setEndOfListElement,
|
|
302
|
+
isRefetching,
|
|
303
|
+
autoRefetch,
|
|
304
|
+
setAutoRefetch,
|
|
305
|
+
recentlyAddedKeys
|
|
306
|
+
};
|
|
307
|
+
};
|
|
308
|
+
|
|
309
|
+
exports.TRACES_PER_PAGE = TRACES_PER_PAGE;
|
|
310
|
+
exports.getTracesNextPageParam = getTracesNextPageParam;
|
|
311
|
+
exports.mergeDeltaIntoPage0 = mergeDeltaIntoPage0;
|
|
312
|
+
exports.refreshPage0Rows = refreshPage0Rows;
|
|
313
|
+
exports.selectUniqueTraces = selectUniqueTraces;
|
|
314
|
+
exports.shouldResetAfterIdle = shouldResetAfterIdle;
|
|
315
|
+
exports.useTraces = useTraces;
|
|
316
|
+
//# sourceMappingURL=use-traces.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-traces.cjs.js","sources":["../../../../src/domains/traces/hooks/use-traces.tsx"],"sourcesContent":["import type {\n LightSpanRecord,\n ListBranchesArgs,\n ListBranchesResponse,\n ListTracesArgs,\n ListTracesResponse,\n} from '@mastra/core/storage';\nimport { useMastraClient } from '@mastra/react';\nimport type { InfiniteData } from '@tanstack/react-query';\nimport { useInfiniteQuery, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { useEffect, useRef, useState } from 'react';\nimport type { TraceListMode } from '../trace-filters';\nimport { useInView } from '@/hooks/use-in-view';\nimport { is403ForbiddenError } from '@/lib/query-utils';\n\n/**\n * Per-MastraClient delta-polling support cache. Sticks once we observe a 501\n * or a page-0 response without `deltaCursor` (legacy server or store without\n * delta capability), so we don't re-probe on every mount.\n */\ntype DeltaSupport = 'unknown' | 'unsupported';\nconst deltaSupportByClient = new WeakMap<ReturnType<typeof useMastraClient>, DeltaSupport>();\n\n/** Tunables for live-tail polling. All fields optional — defaults below.\n * Platform consumers override individual fields to throttle traffic or\n * reshape the freshness/visibility trade-offs. */\nexport interface TracesPollingConfig {\n /** Interval between delta polls. Default 5_000ms. */\n deltaPollIntervalMs?: number;\n /** Refetch delay when the server signals `delta.hasMore` (chase remaining updates immediately). Default 100ms. */\n deltaChaseIntervalMs?: number;\n /** Max rows per delta poll. Server caps at 100. Default 100. */\n deltaLimit?: number;\n /** Page-mode refetch interval used when the configured store does not support delta polling. Default 10_000ms. */\n pageModeRefetchIntervalMs?: number;\n /** Periodic page-0 refetch interval while delta is active. Delta only delivers new rows, so this\n * is how we surface status flips (running → success/error) on rows already visible. Default 60_000ms. */\n page0StatusRefreshIntervalMs?: number;\n /** When the tab returns from being hidden and the last successful poll was older than this, the\n * cursor is treated as stale (ClickHouse delta tables TTL after 2 days; other stores may be more\n * aggressive). The infinite query is reset so page 0 refetches and delta resumes from a fresh\n * cursor. Default 900_000ms (15 min). */\n idleGuardThresholdMs?: number;\n /** Minimum visible duration for `isRefetching` after any query completes. On localhost a delta\n * poll can resolve in tens of ms — too brief for the spinner's 1s rotation to register visually,\n * and quick enough that React may batch the start/finish transitions. Pulsing for this duration\n * on completion (~144° of rotation at 400ms) makes each poll perceptible as a heartbeat.\n * Default 400ms. */\n minRefetchSpinMs?: number;\n /** Window during which a delta-arrived row's key stays in `recentlyAddedKeys` so the list view\n * can apply its `animate-row-highlight` class. Should match the CSS animation duration\n * (currently 1_000ms — see `index.css`). Default 1_000ms. */\n deltaHighlightMs?: number;\n}\n\nconst DEFAULT_POLLING_CONFIG: Required<TracesPollingConfig> = {\n deltaPollIntervalMs: 5_000,\n deltaChaseIntervalMs: 100,\n deltaLimit: 100,\n pageModeRefetchIntervalMs: 10_000,\n page0StatusRefreshIntervalMs: 60_000,\n idleGuardThresholdMs: 15 * 60_000,\n minRefetchSpinMs: 400,\n deltaHighlightMs: 1_000,\n};\n\n/** Returns true when the cursor should be considered stale and re-seeded.\n * Exported for testing — pure function of timestamps. */\nexport function shouldResetAfterIdle(lastSuccessAt: number, now: number, thresholdMs: number): boolean {\n if (lastSuccessAt === 0) return false;\n return now - lastSuccessAt > thresholdMs;\n}\n\nfunction isHttp501(error: unknown): boolean {\n return (error as { status?: number } | null)?.status === 501;\n}\n\ntype FetchTracesFnArgs = TracesFilters & {\n client: ReturnType<typeof useMastraClient>;\n mode?: 'page' | 'delta';\n page?: number;\n perPage?: number;\n after?: string;\n limit?: number;\n};\n\nconst fetchTracesFn = async ({\n client,\n mode,\n page,\n perPage,\n after,\n limit,\n filters,\n listMode = 'traces',\n}: FetchTracesFnArgs) => {\n const params =\n mode === 'delta'\n ? { mode: 'delta' as const, after, limit, filters }\n : { pagination: { page: page!, perPage: perPage! }, filters };\n\n if (listMode === 'branches') {\n return client.listBranches(params as ListBranchesArgs);\n }\n\n return client.listTraces(params as ListTracesArgs);\n};\n\nexport const TRACES_PER_PAGE = 25;\n\nexport interface TracesFilters {\n filters?: ListTracesArgs['filters'] | ListBranchesArgs['filters'];\n listMode?: TraceListMode;\n}\n\n/** Returns the next page number if the server indicates more pages are available. */\nexport function getTracesNextPageParam(\n lastPage: ListTracesResponse | ListBranchesResponse | undefined,\n _allPages: unknown,\n lastPageParam: number,\n) {\n if (lastPage?.pagination?.hasMore) {\n return lastPageParam + 1;\n }\n return undefined;\n}\n\ntype TracesPageResponse = ListTracesResponse | ListBranchesResponse;\n\nfunction getPageSpans(page: TracesPageResponse) {\n if ('branches' in page) return page.branches ?? [];\n return page.spans ?? [];\n}\n\n/** Deduplicates trace/branch rows by traceId + spanId across all loaded pages.\n * Also surfaces page 0's deltaCursor so the live-tail query can read it reactively. */\nexport function selectUniqueTraces(data: { pages: TracesPageResponse[] }): {\n spans: LightSpanRecord[];\n deltaCursor: string | undefined;\n} {\n const seen = new Set<string>();\n const spans = data.pages\n .flatMap(page => getPageSpans(page))\n .filter(span => {\n const key = `${span.traceId}:${span.spanId}`;\n if (seen.has(key)) return false;\n seen.add(key);\n return true;\n });\n\n return { spans, deltaCursor: data.pages[0]?.deltaCursor };\n}\n\n/** Replaces existing page-0 rows in place (keyed by traceId:spanId) with\n * refreshed copies from the server. Rows the server doesn't return are kept\n * as-is so delta-accumulated rows that have aged off the server's page 0\n * aren't dropped from the UI. New rows aren't added here — delta polling\n * delivers those. */\nexport function refreshPage0Rows(\n old: InfiniteData<TracesPageResponse> | undefined,\n refreshed: ListTracesResponse | ListBranchesResponse,\n listMode: TraceListMode,\n): InfiniteData<TracesPageResponse> | undefined {\n if (!old || old.pages.length === 0) return old;\n const [firstPage, ...rest] = old.pages;\n\n const refreshedRows =\n listMode === 'branches' && 'branches' in refreshed\n ? (refreshed.branches ?? [])\n : 'spans' in refreshed\n ? (refreshed.spans ?? [])\n : [];\n\n if (refreshedRows.length === 0) return old;\n\n const refreshedByKey = new Map<string, (typeof refreshedRows)[number]>();\n for (const row of refreshedRows) {\n refreshedByKey.set(`${row.traceId}:${row.spanId}`, row);\n }\n\n let updatedFirst: TracesPageResponse;\n if (listMode === 'branches' && 'branches' in firstPage) {\n const updated = (firstPage.branches ?? []).map(existing => {\n const fresh = refreshedByKey.get(`${existing.traceId}:${existing.spanId}`);\n return fresh ?? existing;\n });\n updatedFirst = { ...firstPage, branches: updated };\n } else if ('spans' in firstPage) {\n const updated = (firstPage.spans ?? []).map(existing => {\n const fresh = refreshedByKey.get(`${existing.traceId}:${existing.spanId}`);\n return fresh ?? existing;\n });\n updatedFirst = { ...firstPage, spans: updated };\n } else {\n return old;\n }\n\n return { ...old, pages: [updatedFirst, ...rest] };\n}\n\n/** Stable `startedAt DESC` sort matching the server's default page-mode\n * ordering for both list endpoints. Rows missing `startedAt` sink to the\n * bottom (compared as time 0). */\nfunction sortRowsByStartedAtDesc<T extends { startedAt?: unknown }>(rows: T[]): T[] {\n return [...rows].sort((a, b) => {\n const aTime = a.startedAt ? new Date(a.startedAt as string | number | Date).getTime() : 0;\n const bTime = b.startedAt ? new Date(b.startedAt as string | number | Date).getTime() : 0;\n return bTime - aTime;\n });\n}\n\n/** Prepends delta-mode rows into page 0 and advances its deltaCursor.\n * Delta responses come back in server cursor order (insertion order into\n * the per-store delta index), not the `startedAt DESC` order page-mode\n * uses — so we re-sort the merged page 0 to match what the user sees on\n * a fresh page-mode load. Cross-page duplication is handled later by\n * selectUniqueTraces. */\nexport function mergeDeltaIntoPage0(\n old: InfiniteData<TracesPageResponse> | undefined,\n delta: ListTracesResponse | ListBranchesResponse,\n listMode: TraceListMode,\n): InfiniteData<TracesPageResponse> | undefined {\n if (!old || old.pages.length === 0) return old;\n const [firstPage, ...rest] = old.pages;\n const nextCursor = delta.deltaCursor ?? firstPage.deltaCursor;\n\n let updatedFirst: TracesPageResponse;\n if (listMode === 'branches' && 'branches' in firstPage) {\n const newRows = (delta as ListBranchesResponse).branches ?? [];\n updatedFirst = {\n ...firstPage,\n branches: sortRowsByStartedAtDesc([...newRows, ...(firstPage.branches ?? [])]),\n deltaCursor: nextCursor,\n };\n } else if ('spans' in firstPage) {\n const newRows = (delta as ListTracesResponse).spans ?? [];\n updatedFirst = {\n ...firstPage,\n spans: sortRowsByStartedAtDesc([...newRows, ...(firstPage.spans ?? [])]),\n deltaCursor: nextCursor,\n };\n } else {\n return old;\n }\n\n return { ...old, pages: [updatedFirst, ...rest] };\n}\n\nexport interface UseTracesArgs extends TracesFilters {\n /** Optional overrides for the live-tail polling tunables. Any omitted fields fall back to the\n * built-in defaults; pass only what you want to change. */\n polling?: TracesPollingConfig;\n}\n\ninterface UseTracesReturn {\n data: { spans: LightSpanRecord[]; deltaCursor: string | undefined } | undefined;\n hasNextPage: boolean;\n isFetchingNextPage: boolean;\n fetchNextPage: () => void;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n setEndOfListElement: (node: HTMLDivElement | null) => void;\n isRefetching: boolean;\n autoRefetch: boolean;\n setAutoRefetch: (v: boolean) => void;\n recentlyAddedKeys: Set<string>;\n dataUpdatedAt: number;\n errorUpdatedAt: number;\n isFetching: boolean;\n isSuccess: boolean;\n fetchStatus: 'idle' | 'fetching' | 'paused';\n refetch: () => void;\n}\n\nexport const useTraces: (args: UseTracesArgs) => UseTracesReturn = ({\n filters,\n listMode = 'traces',\n polling = {},\n}: UseTracesArgs) => {\n const {\n deltaPollIntervalMs = DEFAULT_POLLING_CONFIG.deltaPollIntervalMs,\n deltaChaseIntervalMs = DEFAULT_POLLING_CONFIG.deltaChaseIntervalMs,\n deltaLimit = DEFAULT_POLLING_CONFIG.deltaLimit,\n pageModeRefetchIntervalMs = DEFAULT_POLLING_CONFIG.pageModeRefetchIntervalMs,\n page0StatusRefreshIntervalMs = DEFAULT_POLLING_CONFIG.page0StatusRefreshIntervalMs,\n idleGuardThresholdMs = DEFAULT_POLLING_CONFIG.idleGuardThresholdMs,\n minRefetchSpinMs = DEFAULT_POLLING_CONFIG.minRefetchSpinMs,\n deltaHighlightMs = DEFAULT_POLLING_CONFIG.deltaHighlightMs,\n } = polling;\n const client = useMastraClient();\n const queryClient = useQueryClient();\n const { inView: isEndOfListInView, setRef: setEndOfListElement } = useInView();\n\n const [deltaSupport, setDeltaSupport] = useState<DeltaSupport>(() => deltaSupportByClient.get(client) ?? 'unknown');\n const deltaUnsupported = deltaSupport === 'unsupported';\n\n // When false, all automatic polling stops: delta polls, status refresh,\n // idle-guard resets, and the page-mode fallback interval. Manual `resync`\n // still works. Session-scoped (no persistence across mounts).\n const [autoRefetch, setAutoRefetch] = useState(true);\n\n // Keys (`traceId:spanId`) of rows that arrived via the most recent delta\n // poll(s). The list view reads this to apply a temporary highlight class\n // for deltaHighlightMs, then they auto-expire. Resets on filter/listMode\n // change since a new query key spawns a fresh list.\n const [recentlyAddedKeys, setRecentlyAddedKeys] = useState<Set<string>>(() => new Set());\n useEffect(() => {\n setRecentlyAddedKeys(new Set());\n }, [listMode, filters]);\n\n const tracesQueryKey = ['traces', listMode, filters] as const;\n\n const query = useInfiniteQuery({\n queryKey: tracesQueryKey,\n queryFn: ({ pageParam }) =>\n fetchTracesFn({\n client,\n page: pageParam,\n perPage: TRACES_PER_PAGE,\n filters,\n listMode,\n }),\n initialPageParam: 0,\n getNextPageParam: getTracesNextPageParam,\n select: selectUniqueTraces,\n retry: false,\n // Disable polling on 403 to prevent flickering.\n // Fall back to page-mode polling only when delta isn't running.\n refetchInterval: q => {\n if (is403ForbiddenError(q.state.error)) return false;\n if (!autoRefetch) return false;\n return deltaUnsupported ? pageModeRefetchIntervalMs : false;\n },\n });\n\n const cursor = query.data?.deltaCursor;\n\n // If page 0 came back without a deltaCursor, the server/store doesn't\n // support delta polling. Pin the client to 'unsupported' so the infinite\n // query resumes page-mode polling and we stop probing.\n useEffect(() => {\n if (query.isSuccess && cursor === undefined && deltaSupport === 'unknown') {\n deltaSupportByClient.set(client, 'unsupported');\n setDeltaSupport('unsupported');\n }\n }, [query.isSuccess, cursor, deltaSupport, client]);\n\n const deltaQuery = useQuery({\n queryKey: ['traces-delta', listMode, filters] as const,\n queryFn: () => {\n const current = queryClient.getQueryData<InfiniteData<TracesPageResponse>>(tracesQueryKey)?.pages[0]?.deltaCursor;\n if (!current) return null;\n return fetchTracesFn({\n client,\n mode: 'delta',\n after: current,\n limit: deltaLimit,\n filters,\n listMode,\n });\n },\n enabled: !!cursor && !deltaUnsupported && autoRefetch,\n retry: false,\n refetchInterval: q => {\n if (q.state.error) return false;\n const data = q.state.data as ListTracesResponse | ListBranchesResponse | null | undefined;\n if (data?.delta?.hasMore) return deltaChaseIntervalMs;\n return deltaPollIntervalMs;\n },\n });\n\n // Merge new delta rows into the infinite-query cache. Also captures the\n // arrived keys into `recentlyAddedKeys` for deltaHighlightMs so the UI\n // can briefly distinguish them. The cleanup timer is intentionally NOT\n // tied to the effect lifecycle — if a newer delta arrives first, we still\n // want each prior batch to expire on its own schedule.\n useEffect(() => {\n const result = deltaQuery.data;\n if (!result) return;\n queryClient.setQueryData<InfiniteData<TracesPageResponse>>(tracesQueryKey, old =>\n mergeDeltaIntoPage0(old, result, listMode),\n );\n\n const newRows =\n listMode === 'branches' && 'branches' in result\n ? (result.branches ?? [])\n : 'spans' in result\n ? (result.spans ?? [])\n : [];\n if (newRows.length === 0) return;\n const keys = newRows.map(r => `${r.traceId}:${r.spanId ?? ''}`);\n setRecentlyAddedKeys(prev => {\n const next = new Set(prev);\n for (const k of keys) next.add(k);\n return next;\n });\n setTimeout(() => {\n setRecentlyAddedKeys(prev => {\n const next = new Set(prev);\n for (const k of keys) next.delete(k);\n return next;\n });\n }, deltaHighlightMs);\n // tracesQueryKey is a new array each render but its contents drive cache keying;\n // depending on its members (listMode/filters) is enough.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deltaQuery.data, queryClient, listMode, filters, deltaHighlightMs]);\n\n // A 501 means the server is too old (or store doesn't support delta) — pin\n // 'unsupported' so the delta query disables and page-mode polling resumes.\n useEffect(() => {\n if (isHttp501(deltaQuery.error)) {\n deltaSupportByClient.set(client, 'unsupported');\n setDeltaSupport('unsupported');\n }\n }, [deltaQuery.error, client]);\n\n // Periodic page-0 refresh to surface status updates on visible rows\n // (running → success/error). Only runs while delta is the primary polling\n // mechanism; otherwise the infinite query's own refetchInterval covers it.\n const statusRefreshQuery = useQuery({\n queryKey: ['traces-status-refresh', listMode, filters] as const,\n queryFn: () =>\n fetchTracesFn({\n client,\n page: 0,\n perPage: TRACES_PER_PAGE,\n filters,\n listMode,\n }),\n enabled: !!cursor && !deltaUnsupported && autoRefetch,\n refetchInterval: page0StatusRefreshIntervalMs,\n refetchOnMount: false,\n retry: false,\n });\n\n useEffect(() => {\n const result = statusRefreshQuery.data;\n if (!result) return;\n queryClient.setQueryData<InfiniteData<TracesPageResponse>>(tracesQueryKey, old =>\n refreshPage0Rows(old, result, listMode),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [statusRefreshQuery.data, queryClient, listMode, filters]);\n\n // Idle guard: when the tab returns from being hidden, check how long it's\n // been since the last successful poll. If past the threshold, reset the\n // infinite query so page 0 refetches and the cursor is re-seeded.\n const lastSuccessAtRef = useRef(0);\n useEffect(() => {\n const ts = Math.max(query.dataUpdatedAt, deltaQuery.dataUpdatedAt, statusRefreshQuery.dataUpdatedAt);\n if (ts > lastSuccessAtRef.current) {\n lastSuccessAtRef.current = ts;\n }\n }, [query.dataUpdatedAt, deltaQuery.dataUpdatedAt, statusRefreshQuery.dataUpdatedAt]);\n\n // Track autoRefetch in a ref so the visibility listener (attached once)\n // reads the current value without needing to re-attach.\n const autoRefetchRef = useRef(autoRefetch);\n useEffect(() => {\n autoRefetchRef.current = autoRefetch;\n }, [autoRefetch]);\n\n useEffect(() => {\n const handler = () => {\n if (document.visibilityState !== 'visible') return;\n if (!autoRefetchRef.current) return;\n if (!shouldResetAfterIdle(lastSuccessAtRef.current, Date.now(), idleGuardThresholdMs)) return;\n void queryClient.resetQueries({ queryKey: ['traces', listMode, filters] });\n };\n document.addEventListener('visibilitychange', handler);\n return () => document.removeEventListener('visibilitychange', handler);\n }, [queryClient, listMode, filters, idleGuardThresholdMs]);\n\n const { hasNextPage, isFetchingNextPage, fetchNextPage } = query;\n\n useEffect(() => {\n if (isEndOfListInView && hasNextPage && !isFetchingNextPage) {\n void fetchNextPage();\n }\n }, [isEndOfListInView, hasNextPage, isFetchingNextPage, fetchNextPage]);\n\n // `isRefetching` aggregates every active fetch — page-mode (initial, next\n // page, manual resync, idle reset), the 60s page-0 status refresh, AND the\n // delta polls — so a spinner bound to it acts as a heartbeat indicator.\n //\n // Short polls (e.g. delta on localhost) can resolve in tens of ms — too\n // brief for `animate-spin` (1s/rotation) to register visually, and quick\n // enough that React may batch the start/finish transitions so we never\n // even observe `isFetching: true`. So we also watch every query's\n // data/errorUpdatedAt; any advance pulses `isRefetching` true for at least\n // minRefetchSpinMs, which is ~144° of rotation — clearly perceptible.\n const isFetchingAny = query.isFetching || statusRefreshQuery.isFetching || deltaQuery.isFetching;\n const lastActivityAt = Math.max(\n query.dataUpdatedAt,\n query.errorUpdatedAt,\n deltaQuery.dataUpdatedAt,\n deltaQuery.errorUpdatedAt,\n statusRefreshQuery.dataUpdatedAt,\n statusRefreshQuery.errorUpdatedAt,\n );\n const [pulse, setPulse] = useState(false);\n const prevActivityAtRef = useRef(lastActivityAt);\n useEffect(() => {\n if (lastActivityAt > prevActivityAtRef.current) {\n prevActivityAtRef.current = lastActivityAt;\n setPulse(true);\n const t = setTimeout(() => setPulse(false), minRefetchSpinMs);\n return () => clearTimeout(t);\n }\n }, [lastActivityAt, minRefetchSpinMs]);\n const isRefetching = isFetchingAny || pulse;\n\n return {\n ...query,\n setEndOfListElement,\n isRefetching,\n autoRefetch,\n setAutoRefetch,\n recentlyAddedKeys,\n };\n};\n"],"names":["useMastraClient","useQueryClient","useInView","useState","useEffect","useInfiniteQuery","is403ForbiddenError","useQuery","useRef"],"mappings":"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"}
|