@flanksource/clicky-ui 0.3.25 → 0.3.27
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/NOTICE.md +1 -0
- package/dist/ai.cjs +4 -0
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +6 -2
- package/dist/ai.js.map +1 -1
- package/dist/chat.cjs +8 -0
- package/dist/chat.cjs.map +1 -1
- package/dist/chat.js +9 -1
- package/dist/chat.js.map +1 -1
- package/dist/comments/CommentCard.cjs +89 -14
- package/dist/comments/CommentCard.cjs.map +1 -1
- package/dist/comments/CommentCard.d.ts.map +1 -1
- package/dist/comments/CommentCard.js +90 -15
- package/dist/comments/CommentCard.js.map +1 -1
- package/dist/comments/CommentComposer.cjs +25 -2
- package/dist/comments/CommentComposer.cjs.map +1 -1
- package/dist/comments/CommentComposer.d.ts.map +1 -1
- package/dist/comments/CommentComposer.js +25 -2
- package/dist/comments/CommentComposer.js.map +1 -1
- package/dist/comments/CommentProvider.cjs +21 -14
- package/dist/comments/CommentProvider.cjs.map +1 -1
- package/dist/comments/CommentProvider.d.ts +1 -1
- package/dist/comments/CommentProvider.d.ts.map +1 -1
- package/dist/comments/CommentProvider.js +21 -14
- package/dist/comments/CommentProvider.js.map +1 -1
- package/dist/comments/CommentSidePanel.cjs +1 -1
- package/dist/comments/CommentSidePanel.cjs.map +1 -1
- package/dist/comments/CommentSidePanel.js +1 -1
- package/dist/comments/CommentSidePanel.js.map +1 -1
- package/dist/comments/comment-types.cjs.map +1 -1
- package/dist/comments/comment-types.d.ts +6 -0
- package/dist/comments/comment-types.d.ts.map +1 -1
- package/dist/comments/comment-types.js.map +1 -1
- package/dist/components/DimensionField.cjs +56 -0
- package/dist/components/DimensionField.cjs.map +1 -0
- package/dist/components/DimensionField.d.ts +17 -0
- package/dist/components/DimensionField.d.ts.map +1 -0
- package/dist/components/DimensionField.js +56 -0
- package/dist/components/DimensionField.js.map +1 -0
- package/dist/components.cjs +4 -0
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +2 -0
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +4 -0
- package/dist/components.js.map +1 -1
- package/dist/data/Clicky.cjs +4 -5
- package/dist/data/Clicky.cjs.map +1 -1
- package/dist/data/Clicky.d.ts.map +1 -1
- package/dist/data/Clicky.js +4 -5
- package/dist/data/Clicky.js.map +1 -1
- package/dist/data/FixtureEditor/fixture-frontmatter.cjs +4 -0
- package/dist/data/FixtureEditor/fixture-frontmatter.cjs.map +1 -1
- package/dist/data/FixtureEditor/fixture-frontmatter.d.ts.map +1 -1
- package/dist/data/FixtureEditor/fixture-frontmatter.js +4 -0
- package/dist/data/FixtureEditor/fixture-frontmatter.js.map +1 -1
- package/dist/data/TaskExecDetails.cjs +8 -3
- package/dist/data/TaskExecDetails.cjs.map +1 -1
- package/dist/data/TaskExecDetails.d.ts +4 -0
- package/dist/data/TaskExecDetails.d.ts.map +1 -1
- package/dist/data/TaskExecDetails.js +9 -4
- package/dist/data/TaskExecDetails.js.map +1 -1
- package/dist/data/TaskManagerButton.cjs +101 -7
- package/dist/data/TaskManagerButton.cjs.map +1 -1
- package/dist/data/TaskManagerButton.d.ts +6 -1
- package/dist/data/TaskManagerButton.d.ts.map +1 -1
- package/dist/data/TaskManagerButton.js +103 -9
- package/dist/data/TaskManagerButton.js.map +1 -1
- package/dist/data/TaskProcessDetails.cjs +2 -0
- package/dist/data/TaskProcessDetails.cjs.map +1 -1
- package/dist/data/TaskProcessDetails.d.ts.map +1 -1
- package/dist/data/TaskProcessDetails.js +2 -0
- package/dist/data/TaskProcessDetails.js.map +1 -1
- package/dist/data/TaskProgress.cjs +14 -4
- package/dist/data/TaskProgress.cjs.map +1 -1
- package/dist/data/TaskProgress.js +14 -4
- package/dist/data/TaskProgress.js.map +1 -1
- package/dist/data/TaskSnapshot.cjs.map +1 -1
- package/dist/data/TaskSnapshot.d.ts +1 -0
- package/dist/data/TaskSnapshot.d.ts.map +1 -1
- package/dist/data/TaskSnapshot.js.map +1 -1
- package/dist/data/ai/ChatWindow.cjs +18 -23
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts +1 -1
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.js +19 -24
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ChatWindow.preferences.cjs +12 -21
- package/dist/data/ai/ChatWindow.preferences.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.preferences.d.ts +3 -2
- package/dist/data/ai/ChatWindow.preferences.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.preferences.js +12 -21
- package/dist/data/ai/ChatWindow.preferences.js.map +1 -1
- package/dist/data/ai/ChatWindow.tool-catalog.cjs +21 -38
- package/dist/data/ai/ChatWindow.tool-catalog.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.tool-catalog.d.ts +5 -5
- package/dist/data/ai/ChatWindow.tool-catalog.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.tool-catalog.js +21 -38
- package/dist/data/ai/ChatWindow.tool-catalog.js.map +1 -1
- package/dist/data/ai/ChatWindow.types.d.ts +2 -2
- package/dist/data/ai/ChatWindow.types.d.ts.map +1 -1
- package/dist/data/ai/ChatWindowManager.cjs +2 -2
- package/dist/data/ai/ChatWindowManager.cjs.map +1 -1
- package/dist/data/ai/ChatWindowManager.js +2 -2
- package/dist/data/ai/ChatWindowManager.js.map +1 -1
- package/dist/data/ai/ChatWindowRequestBody.cjs +4 -2
- package/dist/data/ai/ChatWindowRequestBody.cjs.map +1 -1
- package/dist/data/ai/ChatWindowRequestBody.d.ts +15 -3
- package/dist/data/ai/ChatWindowRequestBody.d.ts.map +1 -1
- package/dist/data/ai/ChatWindowRequestBody.js +4 -2
- package/dist/data/ai/ChatWindowRequestBody.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.cjs +2 -3
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.js +2 -3
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.cjs +1 -0
- package/dist/data/ai/PromptRunEditor/model.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.d.ts +1 -1
- package/dist/data/ai/PromptRunEditor/model.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.js +1 -0
- package/dist/data/ai/PromptRunEditor/model.js.map +1 -1
- package/dist/data/ai/RuntimeModePicker.cjs +11 -9
- package/dist/data/ai/RuntimeModePicker.cjs.map +1 -1
- package/dist/data/ai/RuntimeModePicker.d.ts.map +1 -1
- package/dist/data/ai/RuntimeModePicker.js +12 -10
- package/dist/data/ai/RuntimeModePicker.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +5 -0
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +5 -0
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.cjs +4 -0
- package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts +2 -0
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.js +4 -0
- package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
- package/dist/data/ai/ToolPreferences.cjs +5 -5
- package/dist/data/ai/ToolPreferences.cjs.map +1 -1
- package/dist/data/ai/ToolPreferences.d.ts +6 -5
- package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
- package/dist/data/ai/ToolPreferences.js +5 -5
- package/dist/data/ai/ToolPreferences.js.map +1 -1
- package/dist/data/ai/ToolPreferences.model.cjs +61 -37
- package/dist/data/ai/ToolPreferences.model.cjs.map +1 -1
- package/dist/data/ai/ToolPreferences.model.d.ts +32 -13
- package/dist/data/ai/ToolPreferences.model.d.ts.map +1 -1
- package/dist/data/ai/ToolPreferences.model.js +62 -38
- package/dist/data/ai/ToolPreferences.model.js.map +1 -1
- package/dist/data/ai/ToolPreferencesList.cjs +17 -20
- package/dist/data/ai/ToolPreferencesList.cjs.map +1 -1
- package/dist/data/ai/ToolPreferencesList.d.ts +16 -7
- package/dist/data/ai/ToolPreferencesList.d.ts.map +1 -1
- package/dist/data/ai/ToolPreferencesList.js +18 -21
- package/dist/data/ai/ToolPreferencesList.js.map +1 -1
- package/dist/data/ai/chat-window-context.cjs +1 -1
- package/dist/data/ai/chat-window-context.cjs.map +1 -1
- package/dist/data/ai/chat-window-context.d.ts +7 -7
- package/dist/data/ai/chat-window-context.d.ts.map +1 -1
- package/dist/data/ai/chat-window-context.js +1 -1
- package/dist/data/ai/chat-window-context.js.map +1 -1
- package/dist/data/ai/index.d.ts +3 -1
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/chat/Chat.cjs +4 -2
- package/dist/data/chat/Chat.cjs.map +1 -1
- package/dist/data/chat/Chat.d.ts.map +1 -1
- package/dist/data/chat/Chat.js +4 -2
- package/dist/data/chat/Chat.js.map +1 -1
- package/dist/data/chat/Chat.runtime.cjs +14 -3
- package/dist/data/chat/Chat.runtime.cjs.map +1 -1
- package/dist/data/chat/Chat.runtime.d.ts.map +1 -1
- package/dist/data/chat/Chat.runtime.js +15 -4
- package/dist/data/chat/Chat.runtime.js.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.cjs +2 -1
- package/dist/data/chat/clickyOperationsToTools.cjs.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.d.ts.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.js +2 -1
- package/dist/data/chat/clickyOperationsToTools.js.map +1 -1
- package/dist/data/chat/index.d.ts +2 -1
- package/dist/data/chat/index.d.ts.map +1 -1
- package/dist/data/chat/tool-policy.cjs +132 -0
- package/dist/data/chat/tool-policy.cjs.map +1 -0
- package/dist/data/chat/tool-policy.d.ts +81 -0
- package/dist/data/chat/tool-policy.d.ts.map +1 -0
- package/dist/data/chat/tool-policy.js +132 -0
- package/dist/data/chat/tool-policy.js.map +1 -0
- package/dist/data/chat/types.cjs +20 -0
- package/dist/data/chat/types.cjs.map +1 -1
- package/dist/data/chat/types.d.ts +22 -2
- package/dist/data/chat/types.d.ts.map +1 -1
- package/dist/data/chat/types.js +20 -0
- package/dist/data/chat/types.js.map +1 -1
- package/dist/data/debugConsoleSignal.cjs +64 -0
- package/dist/data/debugConsoleSignal.cjs.map +1 -0
- package/dist/data/debugConsoleSignal.d.ts +83 -0
- package/dist/data/debugConsoleSignal.d.ts.map +1 -0
- package/dist/data/debugConsoleSignal.js +64 -0
- package/dist/data/debugConsoleSignal.js.map +1 -0
- package/dist/data/har/HarPanel.cjs +20 -14
- package/dist/data/har/HarPanel.cjs.map +1 -1
- package/dist/data/har/HarPanel.d.ts.map +1 -1
- package/dist/data/har/HarPanel.js +20 -14
- package/dist/data/har/HarPanel.js.map +1 -1
- package/dist/data/har/types.d.ts +18 -0
- package/dist/data/har/types.d.ts.map +1 -1
- package/dist/data/query-browser/QueryBrowser.cjs +4 -42
- package/dist/data/query-browser/QueryBrowser.cjs.map +1 -1
- package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -1
- package/dist/data/query-browser/QueryBrowser.js +5 -43
- package/dist/data/query-browser/QueryBrowser.js.map +1 -1
- package/dist/data/query-browser/QueryBrowser.types.cjs.map +1 -1
- package/dist/data/query-browser/QueryBrowser.types.d.ts +0 -1
- package/dist/data/query-browser/QueryBrowser.types.d.ts.map +1 -1
- package/dist/data/query-browser/QueryBrowser.types.js.map +1 -1
- package/dist/data/runtime/RuntimeBar.cjs +26 -41
- package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBar.js +28 -43
- package/dist/data/runtime/RuntimeBar.js.map +1 -1
- package/dist/data/runtime/RuntimeBar.model.cjs +65 -0
- package/dist/data/runtime/RuntimeBar.model.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBar.model.d.ts +11 -3
- package/dist/data/runtime/RuntimeBar.model.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBar.model.js +65 -0
- package/dist/data/runtime/RuntimeBar.model.js.map +1 -1
- package/dist/data/runtime/model-capabilities.cjs +8 -5
- package/dist/data/runtime/model-capabilities.cjs.map +1 -1
- package/dist/data/runtime/model-capabilities.d.ts +6 -1
- package/dist/data/runtime/model-capabilities.d.ts.map +1 -1
- package/dist/data/runtime/model-capabilities.js +8 -5
- package/dist/data/runtime/model-capabilities.js.map +1 -1
- package/dist/data/runtime/runtime-mode.cjs +17 -0
- package/dist/data/runtime/runtime-mode.cjs.map +1 -1
- package/dist/data/runtime/runtime-mode.d.ts +6 -0
- package/dist/data/runtime/runtime-mode.d.ts.map +1 -1
- package/dist/data/runtime/runtime-mode.js +17 -0
- package/dist/data/runtime/runtime-mode.js.map +1 -1
- package/dist/data/useDebugAction.cjs +29 -0
- package/dist/data/useDebugAction.cjs.map +1 -0
- package/dist/data/useDebugAction.d.ts +16 -0
- package/dist/data/useDebugAction.d.ts.map +1 -0
- package/dist/data/useDebugAction.js +29 -0
- package/dist/data/useDebugAction.js.map +1 -0
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +16 -8
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +3 -2
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +16 -8
- package/dist/devtools/DebugConsole.cjs +138 -0
- package/dist/devtools/DebugConsole.cjs.map +1 -0
- package/dist/devtools/DebugConsole.d.ts +23 -0
- package/dist/devtools/DebugConsole.d.ts.map +1 -0
- package/dist/devtools/DebugConsole.js +138 -0
- package/dist/devtools/DebugConsole.js.map +1 -0
- package/dist/devtools/DebugConsoleButton.cjs +59 -0
- package/dist/devtools/DebugConsoleButton.cjs.map +1 -0
- package/dist/devtools/DebugConsoleButton.d.ts +20 -0
- package/dist/devtools/DebugConsoleButton.d.ts.map +1 -0
- package/dist/devtools/DebugConsoleButton.js +59 -0
- package/dist/devtools/DebugConsoleButton.js.map +1 -0
- package/dist/devtools/DebugConsoleDock.cjs +112 -0
- package/dist/devtools/DebugConsoleDock.cjs.map +1 -0
- package/dist/devtools/DebugConsoleDock.d.ts +26 -0
- package/dist/devtools/DebugConsoleDock.d.ts.map +1 -0
- package/dist/devtools/DebugConsoleDock.js +112 -0
- package/dist/devtools/DebugConsoleDock.js.map +1 -0
- package/dist/devtools/ExecutionDetail.cjs +135 -0
- package/dist/devtools/ExecutionDetail.cjs.map +1 -0
- package/dist/devtools/ExecutionDetail.d.ts +19 -0
- package/dist/devtools/ExecutionDetail.d.ts.map +1 -0
- package/dist/devtools/ExecutionDetail.js +135 -0
- package/dist/devtools/ExecutionDetail.js.map +1 -0
- package/dist/devtools/debugClient.cjs +172 -0
- package/dist/devtools/debugClient.cjs.map +1 -0
- package/dist/devtools/debugClient.d.ts +98 -0
- package/dist/devtools/debugClient.d.ts.map +1 -0
- package/dist/devtools/debugClient.js +172 -0
- package/dist/devtools/debugClient.js.map +1 -0
- package/dist/devtools/debugStore.cjs +115 -0
- package/dist/devtools/debugStore.cjs.map +1 -0
- package/dist/devtools/debugStore.d.ts +83 -0
- package/dist/devtools/debugStore.d.ts.map +1 -0
- package/dist/devtools/debugStore.js +115 -0
- package/dist/devtools/debugStore.js.map +1 -0
- package/dist/devtools/dockState.cjs +51 -0
- package/dist/devtools/dockState.cjs.map +1 -0
- package/dist/devtools/dockState.d.ts +31 -0
- package/dist/devtools/dockState.d.ts.map +1 -0
- package/dist/devtools/dockState.js +51 -0
- package/dist/devtools/dockState.js.map +1 -0
- package/dist/devtools/tabs/ConsoleTab.cjs +36 -0
- package/dist/devtools/tabs/ConsoleTab.cjs.map +1 -0
- package/dist/devtools/tabs/ConsoleTab.d.ts +19 -0
- package/dist/devtools/tabs/ConsoleTab.d.ts.map +1 -0
- package/dist/devtools/tabs/ConsoleTab.js +36 -0
- package/dist/devtools/tabs/ConsoleTab.js.map +1 -0
- package/dist/devtools/tabs/InspectionCaches.cjs +150 -0
- package/dist/devtools/tabs/InspectionCaches.cjs.map +1 -0
- package/dist/devtools/tabs/InspectionCaches.d.ts +23 -0
- package/dist/devtools/tabs/InspectionCaches.d.ts.map +1 -0
- package/dist/devtools/tabs/InspectionCaches.js +150 -0
- package/dist/devtools/tabs/InspectionCaches.js.map +1 -0
- package/dist/devtools/tabs/InspectionTab.cjs +316 -0
- package/dist/devtools/tabs/InspectionTab.cjs.map +1 -0
- package/dist/devtools/tabs/InspectionTab.d.ts +27 -0
- package/dist/devtools/tabs/InspectionTab.d.ts.map +1 -0
- package/dist/devtools/tabs/InspectionTab.js +316 -0
- package/dist/devtools/tabs/InspectionTab.js.map +1 -0
- package/dist/devtools/tabs/NetworkTab.cjs +91 -0
- package/dist/devtools/tabs/NetworkTab.cjs.map +1 -0
- package/dist/devtools/tabs/NetworkTab.d.ts +20 -0
- package/dist/devtools/tabs/NetworkTab.d.ts.map +1 -0
- package/dist/devtools/tabs/NetworkTab.js +91 -0
- package/dist/devtools/tabs/NetworkTab.js.map +1 -0
- package/dist/devtools/tabs/QueriesTab.cjs +85 -0
- package/dist/devtools/tabs/QueriesTab.cjs.map +1 -0
- package/dist/devtools/tabs/QueriesTab.d.ts +24 -0
- package/dist/devtools/tabs/QueriesTab.d.ts.map +1 -0
- package/dist/devtools/tabs/QueriesTab.js +85 -0
- package/dist/devtools/tabs/QueriesTab.js.map +1 -0
- package/dist/devtools/types.cjs +26 -0
- package/dist/devtools/types.cjs.map +1 -0
- package/dist/devtools/types.d.ts +235 -0
- package/dist/devtools/types.d.ts.map +1 -0
- package/dist/devtools/types.js +26 -0
- package/dist/devtools/types.js.map +1 -0
- package/dist/devtools/useDebugStream.cjs +46 -0
- package/dist/devtools/useDebugStream.cjs.map +1 -0
- package/dist/devtools/useDebugStream.d.ts +23 -0
- package/dist/devtools/useDebugStream.d.ts.map +1 -0
- package/dist/devtools/useDebugStream.js +46 -0
- package/dist/devtools/useDebugStream.js.map +1 -0
- package/dist/devtools.cjs +51 -0
- package/dist/devtools.cjs.map +1 -0
- package/dist/devtools.d.ts +37 -0
- package/dist/devtools.d.ts.map +1 -0
- package/dist/devtools.js +51 -0
- package/dist/devtools.js.map +1 -0
- package/dist/icons/components/UiOpenScad.cjs +10 -0
- package/dist/icons/components/UiOpenScad.cjs.map +1 -0
- package/dist/icons/components/UiOpenScad.d.ts +9 -0
- package/dist/icons/components/UiOpenScad.d.ts.map +1 -0
- package/dist/icons/components/UiOpenScad.js +10 -0
- package/dist/icons/components/UiOpenScad.js.map +1 -0
- package/dist/icons/index.d.ts +1 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons/registry.cjs +2 -0
- package/dist/icons/registry.cjs.map +1 -1
- package/dist/icons/registry.d.ts.map +1 -1
- package/dist/icons/registry.js +2 -0
- package/dist/icons/registry.js.map +1 -1
- package/dist/icons.cjs +2 -0
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.js +2 -0
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +20 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +20 -8
- package/dist/index.js.map +1 -1
- package/dist/layout/AppShell.cjs +15 -10
- package/dist/layout/AppShell.cjs.map +1 -1
- package/dist/layout/AppShell.d.ts +11 -0
- package/dist/layout/AppShell.d.ts.map +1 -1
- package/dist/layout/AppShell.js +15 -10
- package/dist/layout/AppShell.js.map +1 -1
- package/dist/layout/AppShell.nav.cjs +170 -49
- package/dist/layout/AppShell.nav.cjs.map +1 -1
- package/dist/layout/AppShell.nav.d.ts.map +1 -1
- package/dist/layout/AppShell.nav.js +170 -49
- package/dist/layout/AppShell.nav.js.map +1 -1
- package/dist/overlay/CellActions.cjs +18 -124
- package/dist/overlay/CellActions.cjs.map +1 -1
- package/dist/overlay/CellActions.d.ts +1 -1
- package/dist/overlay/CellActions.d.ts.map +1 -1
- package/dist/overlay/CellActions.js +18 -124
- package/dist/overlay/CellActions.js.map +1 -1
- package/dist/overlay/ContextMenu.cjs +144 -0
- package/dist/overlay/ContextMenu.cjs.map +1 -0
- package/dist/overlay/ContextMenu.d.ts +8 -0
- package/dist/overlay/ContextMenu.d.ts.map +1 -0
- package/dist/overlay/ContextMenu.js +144 -0
- package/dist/overlay/ContextMenu.js.map +1 -0
- package/dist/profiles/connections/connectionBrowserModel.cjs +14 -65
- package/dist/profiles/connections/connectionBrowserModel.cjs.map +1 -1
- package/dist/profiles/connections/connectionBrowserModel.d.ts +35 -35
- package/dist/profiles/connections/connectionBrowserModel.d.ts.map +1 -1
- package/dist/profiles/connections/connectionBrowserModel.js +14 -65
- package/dist/profiles/connections/connectionBrowserModel.js.map +1 -1
- package/dist/profiles/connections/connectionQueryWorkspace.cjs +29 -9
- package/dist/profiles/connections/connectionQueryWorkspace.cjs.map +1 -1
- package/dist/profiles/connections/connectionQueryWorkspace.d.ts +3 -2
- package/dist/profiles/connections/connectionQueryWorkspace.d.ts.map +1 -1
- package/dist/profiles/connections/connectionQueryWorkspace.js +30 -10
- package/dist/profiles/connections/connectionQueryWorkspace.js.map +1 -1
- package/dist/profiles/connections/connectionQueryWorkspaceModel.cjs +15 -0
- package/dist/profiles/connections/connectionQueryWorkspaceModel.cjs.map +1 -1
- package/dist/profiles/connections/connectionQueryWorkspaceModel.d.ts +22 -1
- package/dist/profiles/connections/connectionQueryWorkspaceModel.d.ts.map +1 -1
- package/dist/profiles/connections/connectionQueryWorkspaceModel.js +15 -0
- package/dist/profiles/connections/connectionQueryWorkspaceModel.js.map +1 -1
- package/dist/profiles/connections/index.d.ts +1 -0
- package/dist/profiles/connections/index.d.ts.map +1 -1
- package/dist/profiles/connections/inspectionStatus.cjs +44 -0
- package/dist/profiles/connections/inspectionStatus.cjs.map +1 -0
- package/dist/profiles/connections/inspectionStatus.d.ts +5 -0
- package/dist/profiles/connections/inspectionStatus.d.ts.map +1 -0
- package/dist/profiles/connections/inspectionStatus.js +44 -0
- package/dist/profiles/connections/inspectionStatus.js.map +1 -0
- package/dist/profiles/connections/useInspection.cjs +123 -0
- package/dist/profiles/connections/useInspection.cjs.map +1 -0
- package/dist/profiles/connections/useInspection.d.ts +35 -0
- package/dist/profiles/connections/useInspection.d.ts.map +1 -0
- package/dist/profiles/connections/useInspection.js +123 -0
- package/dist/profiles/connections/useInspection.js.map +1 -0
- package/dist/profiles/editor/profileBuilderWorkspace.cjs +55 -23
- package/dist/profiles/editor/profileBuilderWorkspace.cjs.map +1 -1
- package/dist/profiles/editor/profileBuilderWorkspace.d.ts.map +1 -1
- package/dist/profiles/editor/profileBuilderWorkspace.js +56 -24
- package/dist/profiles/editor/profileBuilderWorkspace.js.map +1 -1
- package/dist/profiles/elasticsearch/esQueryBuilder.cjs +12 -3
- package/dist/profiles/elasticsearch/esQueryBuilder.cjs.map +1 -1
- package/dist/profiles/elasticsearch/esQueryBuilder.d.ts +2 -2
- package/dist/profiles/elasticsearch/esQueryBuilder.d.ts.map +1 -1
- package/dist/profiles/elasticsearch/esQueryBuilder.js +12 -3
- package/dist/profiles/elasticsearch/esQueryBuilder.js.map +1 -1
- package/dist/profiles/fields/profileFieldEditor.cjs +137 -22
- package/dist/profiles/fields/profileFieldEditor.cjs.map +1 -1
- package/dist/profiles/fields/profileFieldEditor.d.ts.map +1 -1
- package/dist/profiles/fields/profileFieldEditor.js +137 -22
- package/dist/profiles/fields/profileFieldEditor.js.map +1 -1
- package/dist/profiles/fields/profileFieldFilterEditor.cjs +171 -82
- package/dist/profiles/fields/profileFieldFilterEditor.cjs.map +1 -1
- package/dist/profiles/fields/profileFieldFilterEditor.d.ts +0 -9
- package/dist/profiles/fields/profileFieldFilterEditor.d.ts.map +1 -1
- package/dist/profiles/fields/profileFieldFilterEditor.js +174 -85
- package/dist/profiles/fields/profileFieldFilterEditor.js.map +1 -1
- package/dist/profiles/fields/profileFieldIcons.cjs +6 -3
- package/dist/profiles/fields/profileFieldIcons.cjs.map +1 -1
- package/dist/profiles/fields/profileFieldIcons.js +6 -3
- package/dist/profiles/fields/profileFieldIcons.js.map +1 -1
- package/dist/profiles/query/profileSampleFilterLookup.cjs +34 -0
- package/dist/profiles/query/profileSampleFilterLookup.cjs.map +1 -0
- package/dist/profiles/query/profileSampleFilterLookup.d.ts +12 -0
- package/dist/profiles/query/profileSampleFilterLookup.d.ts.map +1 -0
- package/dist/profiles/query/profileSampleFilterLookup.js +34 -0
- package/dist/profiles/query/profileSampleFilterLookup.js.map +1 -0
- package/dist/profiles/query/profileSamplePayload.cjs +6 -4
- package/dist/profiles/query/profileSamplePayload.cjs.map +1 -1
- package/dist/profiles/query/profileSamplePayload.d.ts +11 -4
- package/dist/profiles/query/profileSamplePayload.d.ts.map +1 -1
- package/dist/profiles/query/profileSamplePayload.js +6 -4
- package/dist/profiles/query/profileSamplePayload.js.map +1 -1
- package/dist/profiles/query/profileSampleResult.cjs +26 -0
- package/dist/profiles/query/profileSampleResult.cjs.map +1 -0
- package/dist/profiles/query/profileSampleResult.d.ts +11 -0
- package/dist/profiles/query/profileSampleResult.d.ts.map +1 -0
- package/dist/profiles/query/profileSampleResult.js +26 -0
- package/dist/profiles/query/profileSampleResult.js.map +1 -0
- package/dist/profiles/query/queryTargetPicker.cjs +5 -3
- package/dist/profiles/query/queryTargetPicker.cjs.map +1 -1
- package/dist/profiles/query/queryTargetPicker.d.ts +3 -2
- package/dist/profiles/query/queryTargetPicker.d.ts.map +1 -1
- package/dist/profiles/query/queryTargetPicker.js +5 -3
- package/dist/profiles/query/queryTargetPicker.js.map +1 -1
- package/dist/profiles/wizard/profileWizard.cjs +14 -5
- package/dist/profiles/wizard/profileWizard.cjs.map +1 -1
- package/dist/profiles/wizard/profileWizard.d.ts.map +1 -1
- package/dist/profiles/wizard/profileWizard.js +15 -6
- package/dist/profiles/wizard/profileWizard.js.map +1 -1
- package/dist/profiles/wizard/profileWizardModel.cjs +35 -6
- package/dist/profiles/wizard/profileWizardModel.cjs.map +1 -1
- package/dist/profiles/wizard/profileWizardModel.d.ts +29 -4
- package/dist/profiles/wizard/profileWizardModel.d.ts.map +1 -1
- package/dist/profiles/wizard/profileWizardModel.js +35 -6
- package/dist/profiles/wizard/profileWizardModel.js.map +1 -1
- package/dist/profiles/wizard/profileWizardQueryStep.cjs +44 -11
- package/dist/profiles/wizard/profileWizardQueryStep.cjs.map +1 -1
- package/dist/profiles/wizard/profileWizardQueryStep.d.ts.map +1 -1
- package/dist/profiles/wizard/profileWizardQueryStep.js +46 -13
- package/dist/profiles/wizard/profileWizardQueryStep.js.map +1 -1
- package/dist/profiles/wizard/profileWizardSteps.cjs +33 -2
- package/dist/profiles/wizard/profileWizardSteps.cjs.map +1 -1
- package/dist/profiles/wizard/profileWizardSteps.d.ts +11 -2
- package/dist/profiles/wizard/profileWizardSteps.d.ts.map +1 -1
- package/dist/profiles/wizard/profileWizardSteps.js +33 -2
- package/dist/profiles/wizard/profileWizardSteps.js.map +1 -1
- package/dist/profiles.cjs +8 -2
- package/dist/profiles.cjs.map +1 -1
- package/dist/profiles.js +10 -4
- package/dist/profiles.js.map +1 -1
- package/dist/rpc/FilterForm.cjs +21 -237
- package/dist/rpc/FilterForm.cjs.map +1 -1
- package/dist/rpc/FilterForm.d.ts +3 -1
- package/dist/rpc/FilterForm.d.ts.map +1 -1
- package/dist/rpc/FilterForm.js +21 -237
- package/dist/rpc/FilterForm.js.map +1 -1
- package/dist/rpc/FilterFormFields.cjs +240 -0
- package/dist/rpc/FilterFormFields.cjs.map +1 -0
- package/dist/rpc/FilterFormFields.d.ts +12 -0
- package/dist/rpc/FilterFormFields.d.ts.map +1 -0
- package/dist/rpc/FilterFormFields.js +240 -0
- package/dist/rpc/FilterFormFields.js.map +1 -0
- package/dist/rpc/router.cjs +3 -2
- package/dist/rpc/router.cjs.map +1 -1
- package/dist/rpc/router.d.ts.map +1 -1
- package/dist/rpc/router.js +3 -2
- package/dist/rpc/router.js.map +1 -1
- package/dist/rpc/types.cjs.map +1 -1
- package/dist/rpc/types.d.ts +3 -1
- package/dist/rpc/types.d.ts.map +1 -1
- package/dist/rpc/types.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +6 -1
- package/dist/data/query-info/QueryInfoDialog.cjs +0 -106
- package/dist/data/query-info/QueryInfoDialog.cjs.map +0 -1
- package/dist/data/query-info/QueryInfoDialog.d.ts +0 -16
- package/dist/data/query-info/QueryInfoDialog.d.ts.map +0 -1
- package/dist/data/query-info/QueryInfoDialog.js +0 -106
- package/dist/data/query-info/QueryInfoDialog.js.map +0 -1
- package/dist/data/query-info/index.d.ts +0 -4
- package/dist/data/query-info/index.d.ts.map +0 -1
- package/dist/data/query-info/queryInfo.cjs +0 -42
- package/dist/data/query-info/queryInfo.cjs.map +0 -1
- package/dist/data/query-info/queryInfo.d.ts +0 -45
- package/dist/data/query-info/queryInfo.d.ts.map +0 -1
- package/dist/data/query-info/queryInfo.js +0 -42
- package/dist/data/query-info/queryInfo.js.map +0 -1
- package/dist/data/query-info/useQueryInfo.cjs +0 -48
- package/dist/data/query-info/useQueryInfo.cjs.map +0 -1
- package/dist/data/query-info/useQueryInfo.d.ts +0 -26
- package/dist/data/query-info/useQueryInfo.d.ts.map +0 -1
- package/dist/data/query-info/useQueryInfo.js +0 -48
- package/dist/data/query-info/useQueryInfo.js.map +0 -1
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const react = require("react");
|
|
5
|
+
const button = require("../../components/button.cjs");
|
|
6
|
+
const DataTable = require("../../data/DataTable.cjs");
|
|
7
|
+
const debugClient = require("../debugClient.cjs");
|
|
8
|
+
const InspectionCaches = require("./InspectionCaches.cjs");
|
|
9
|
+
const CACHE_COLUMNS = [
|
|
10
|
+
{ key: "policy", label: "Cache", shrink: true, minWidth: 180, filterable: true },
|
|
11
|
+
{
|
|
12
|
+
key: "cached",
|
|
13
|
+
label: "Result",
|
|
14
|
+
shrink: true,
|
|
15
|
+
minWidth: 90,
|
|
16
|
+
filterable: true,
|
|
17
|
+
render: (value) => value === true ? "hit" : "miss"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
key: "elapsedMs",
|
|
21
|
+
label: "Waited",
|
|
22
|
+
align: "right",
|
|
23
|
+
shrink: true,
|
|
24
|
+
render: (value) => `${Number(value ?? 0).toFixed(1)}ms`,
|
|
25
|
+
sortValue: (value) => Number(value ?? 0)
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
key: "ageMs",
|
|
29
|
+
label: "Age",
|
|
30
|
+
align: "right",
|
|
31
|
+
shrink: true,
|
|
32
|
+
render: (value) => formatAge(Number(value ?? 0)),
|
|
33
|
+
sortValue: (value) => Number(value ?? 0)
|
|
34
|
+
},
|
|
35
|
+
{ key: "state", label: "State", shrink: true, minWidth: 80 },
|
|
36
|
+
{
|
|
37
|
+
key: "refreshError",
|
|
38
|
+
label: "Note",
|
|
39
|
+
grow: true,
|
|
40
|
+
render: (value, row) => row.error || String(value ?? "")
|
|
41
|
+
}
|
|
42
|
+
];
|
|
43
|
+
const PROBE_COLUMNS = [
|
|
44
|
+
{ key: "column", label: "Column", shrink: true, minWidth: 160 },
|
|
45
|
+
{ key: "field", label: "Field", shrink: true, minWidth: 160 },
|
|
46
|
+
{ key: "distinct", label: "Distinct", align: "right", shrink: true },
|
|
47
|
+
{ key: "limit", label: "Limit", align: "right", shrink: true },
|
|
48
|
+
{
|
|
49
|
+
key: "kind",
|
|
50
|
+
label: "Chose",
|
|
51
|
+
shrink: true,
|
|
52
|
+
minWidth: 110,
|
|
53
|
+
// An empty kind means the count came back under the limit and nothing had
|
|
54
|
+
// to change — which is an answer, so it is spelled out rather than blank.
|
|
55
|
+
render: (value) => String(value ?? "") === "" ? "left as-is" : String(value)
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
key: "cached",
|
|
59
|
+
label: "Counted",
|
|
60
|
+
shrink: true,
|
|
61
|
+
minWidth: 90,
|
|
62
|
+
render: (value) => value === true ? "from cache" : "this run"
|
|
63
|
+
}
|
|
64
|
+
];
|
|
65
|
+
function InspectionTab({
|
|
66
|
+
record,
|
|
67
|
+
client,
|
|
68
|
+
inspections,
|
|
69
|
+
probes,
|
|
70
|
+
refreshInspection = false,
|
|
71
|
+
onRefreshInspectionChange,
|
|
72
|
+
caches
|
|
73
|
+
}) {
|
|
74
|
+
const loaded = useInspection(record, client, inspections, probes);
|
|
75
|
+
const [manualDetail, setManualDetail] = react.useState();
|
|
76
|
+
react.useEffect(() => setManualDetail(void 0), [record == null ? void 0 : record.id]);
|
|
77
|
+
const displayedInspections = (manualDetail == null ? void 0 : manualDetail.inspections) ?? loaded.inspections;
|
|
78
|
+
const displayedProbes = (manualDetail == null ? void 0 : manualDetail.probes) ?? loaded.probes;
|
|
79
|
+
return (
|
|
80
|
+
// Three sections stacked, so this scrolls as one region rather than
|
|
81
|
+
// bounding each table separately — a five-row list with its own scrollbar
|
|
82
|
+
// reads as truncated when it is complete.
|
|
83
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col gap-density-4 overflow-auto p-density-3", children: [
|
|
84
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
85
|
+
InspectionCaches.InspectionCaches,
|
|
86
|
+
{
|
|
87
|
+
...client ? { client } : {},
|
|
88
|
+
refreshInspection,
|
|
89
|
+
onRefreshInspectionChange: onRefreshInspectionChange ?? (() => void 0),
|
|
90
|
+
...caches !== void 0 ? { caches } : {}
|
|
91
|
+
}
|
|
92
|
+
),
|
|
93
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
94
|
+
ManualInspection,
|
|
95
|
+
{
|
|
96
|
+
record,
|
|
97
|
+
operations: loaded.operations,
|
|
98
|
+
client,
|
|
99
|
+
onComplete: setManualDetail
|
|
100
|
+
}
|
|
101
|
+
),
|
|
102
|
+
loaded.error ? /* @__PURE__ */ jsxRuntime.jsx(Empty, { className: "text-destructive", children: loaded.error }) : null,
|
|
103
|
+
!loaded.error && displayedInspections.length === 0 && displayedProbes.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(Empty, { children: record ? "This capture looked nothing up — every column it needed was already described." : "Select a capture in Queries to see the metadata it looked up." }) : null,
|
|
104
|
+
displayedInspections.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
105
|
+
/* @__PURE__ */ jsxRuntime.jsx(Heading, { children: "Metadata cache" }),
|
|
106
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
107
|
+
DataTable.DataTable,
|
|
108
|
+
{
|
|
109
|
+
data: displayedInspections.map((row, index) => ({
|
|
110
|
+
...row,
|
|
111
|
+
id: `${row.key}-${index}`
|
|
112
|
+
})),
|
|
113
|
+
columns: CACHE_COLUMNS,
|
|
114
|
+
emptyMessage: "No cache lookups"
|
|
115
|
+
}
|
|
116
|
+
)
|
|
117
|
+
] }) : null,
|
|
118
|
+
displayedProbes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
119
|
+
/* @__PURE__ */ jsxRuntime.jsx(Heading, { children: "Column cardinality" }),
|
|
120
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
121
|
+
DataTable.DataTable,
|
|
122
|
+
{
|
|
123
|
+
data: displayedProbes.map((row, index) => ({
|
|
124
|
+
...row,
|
|
125
|
+
id: `${row.column}-${index}`
|
|
126
|
+
})),
|
|
127
|
+
columns: PROBE_COLUMNS,
|
|
128
|
+
emptyMessage: "No cardinality probes"
|
|
129
|
+
}
|
|
130
|
+
)
|
|
131
|
+
] }) : null
|
|
132
|
+
] })
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
function ManualInspection({
|
|
136
|
+
record,
|
|
137
|
+
operations,
|
|
138
|
+
client,
|
|
139
|
+
onComplete
|
|
140
|
+
}) {
|
|
141
|
+
const [selected, setSelected] = react.useState(0);
|
|
142
|
+
const [columns, setColumns] = react.useState("");
|
|
143
|
+
const [refresh, setRefresh] = react.useState(true);
|
|
144
|
+
const [running, setRunning] = react.useState(false);
|
|
145
|
+
const [outcome, setOutcome] = react.useState();
|
|
146
|
+
react.useEffect(() => {
|
|
147
|
+
setSelected(0);
|
|
148
|
+
setColumns("");
|
|
149
|
+
setOutcome(void 0);
|
|
150
|
+
}, [record == null ? void 0 : record.id]);
|
|
151
|
+
const operation = operations[selected];
|
|
152
|
+
if (!record) {
|
|
153
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
154
|
+
/* @__PURE__ */ jsxRuntime.jsx(Heading, { children: "Run inspection" }),
|
|
155
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: "Select a capture first; its provider request supplies the connection and query." })
|
|
156
|
+
] });
|
|
157
|
+
}
|
|
158
|
+
if (!operation) {
|
|
159
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
160
|
+
/* @__PURE__ */ jsxRuntime.jsx(Heading, { children: "Run inspection" }),
|
|
161
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: "This capture has no provider operation that can be inspected." })
|
|
162
|
+
] });
|
|
163
|
+
}
|
|
164
|
+
const query = operation.request.rendered || operation.request.query || "";
|
|
165
|
+
const connection = operation.request.connection;
|
|
166
|
+
const request = {
|
|
167
|
+
provider: operation.provider,
|
|
168
|
+
...connection ? { connection } : {},
|
|
169
|
+
query,
|
|
170
|
+
...operation.request.options ? { options: operation.request.options } : {},
|
|
171
|
+
columns: parseColumns(columns),
|
|
172
|
+
refresh
|
|
173
|
+
};
|
|
174
|
+
const run = async () => {
|
|
175
|
+
var _a, _b;
|
|
176
|
+
setRunning(true);
|
|
177
|
+
setOutcome(void 0);
|
|
178
|
+
try {
|
|
179
|
+
const detail = await (client ?? new debugClient.DebugClient()).runInspection(request);
|
|
180
|
+
onComplete(detail);
|
|
181
|
+
const failure = detail.summary.error ?? ((_b = (_a = detail.operations) == null ? void 0 : _a.find((item) => item.error)) == null ? void 0 : _b.error);
|
|
182
|
+
setOutcome(
|
|
183
|
+
failure ? `Inspection completed with an error: ${failure}` : `Inspection ${detail.summary.id} completed.`
|
|
184
|
+
);
|
|
185
|
+
} catch (failure) {
|
|
186
|
+
setOutcome(failure instanceof Error ? failure.message : String(failure));
|
|
187
|
+
} finally {
|
|
188
|
+
setRunning(false);
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "flex flex-col gap-density-2 rounded border border-border p-density-3", children: [
|
|
192
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-density-2", children: [
|
|
193
|
+
/* @__PURE__ */ jsxRuntime.jsx(Heading, { children: "Run inspection" }),
|
|
194
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground text-xs", children: [
|
|
195
|
+
operation.provider,
|
|
196
|
+
" · ",
|
|
197
|
+
connection || "inline connection"
|
|
198
|
+
] })
|
|
199
|
+
] }),
|
|
200
|
+
operations.length > 1 ? /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "grid gap-density-1 text-xs", children: [
|
|
201
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "Provider operation" }),
|
|
202
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
203
|
+
"select",
|
|
204
|
+
{
|
|
205
|
+
className: "rounded border border-border bg-background px-density-2 py-density-1",
|
|
206
|
+
value: selected,
|
|
207
|
+
onChange: (event) => setSelected(Number(event.target.value)),
|
|
208
|
+
children: operations.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs("option", { value: index, children: [
|
|
209
|
+
index + 1,
|
|
210
|
+
". ",
|
|
211
|
+
item.provider,
|
|
212
|
+
" · ",
|
|
213
|
+
item.request.connection || "inline connection"
|
|
214
|
+
] }, `${item.provider}-${index}`))
|
|
215
|
+
}
|
|
216
|
+
)
|
|
217
|
+
] }) : null,
|
|
218
|
+
/* @__PURE__ */ jsxRuntime.jsxs("label", { className: "grid gap-density-1 text-xs", children: [
|
|
219
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "Columns to inspect" }),
|
|
220
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
221
|
+
"input",
|
|
222
|
+
{
|
|
223
|
+
"aria-label": "Columns to inspect",
|
|
224
|
+
className: "rounded border border-border bg-background px-density-2 py-density-1 font-mono",
|
|
225
|
+
value: columns,
|
|
226
|
+
placeholder: "Auto-detect, or enter comma-separated names",
|
|
227
|
+
onChange: (event) => setColumns(event.target.value)
|
|
228
|
+
}
|
|
229
|
+
)
|
|
230
|
+
] }),
|
|
231
|
+
/* @__PURE__ */ jsxRuntime.jsx("code", { className: "max-h-20 overflow-auto whitespace-pre-wrap rounded bg-muted/40 p-density-2 text-xs", children: query }),
|
|
232
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-density-2", children: [
|
|
233
|
+
/* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-density-1 text-xs", children: [
|
|
234
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
235
|
+
"input",
|
|
236
|
+
{
|
|
237
|
+
type: "checkbox",
|
|
238
|
+
checked: refresh,
|
|
239
|
+
onChange: (event) => setRefresh(event.target.checked)
|
|
240
|
+
}
|
|
241
|
+
),
|
|
242
|
+
"Refresh cached metadata"
|
|
243
|
+
] }),
|
|
244
|
+
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { size: "sm", disabled: running || query === "", onClick: () => void run(), children: running ? "Running inspection…" : "Run inspection" })
|
|
245
|
+
] }),
|
|
246
|
+
outcome ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: outcome.includes("error") ? "text-destructive text-xs" : "text-muted-foreground text-xs", children: outcome }) : null
|
|
247
|
+
] });
|
|
248
|
+
}
|
|
249
|
+
function parseColumns(value) {
|
|
250
|
+
return [...new Set(value.split(",").map((column) => column.trim()).filter(Boolean))];
|
|
251
|
+
}
|
|
252
|
+
function Heading({ children }) {
|
|
253
|
+
return /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-density-2 font-medium text-muted-foreground text-xs uppercase tracking-wide", children });
|
|
254
|
+
}
|
|
255
|
+
function Empty({ children, className }) {
|
|
256
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `p-density-6 text-center text-muted-foreground text-sm ${className ?? ""}`, children });
|
|
257
|
+
}
|
|
258
|
+
function useInspection(record, client, providedInspections, providedProbes) {
|
|
259
|
+
const [inspections, setInspections] = react.useState(providedInspections ?? []);
|
|
260
|
+
const [probes, setProbes] = react.useState(providedProbes ?? []);
|
|
261
|
+
const [operations, setOperations] = react.useState(
|
|
262
|
+
summaryOperations(record)
|
|
263
|
+
);
|
|
264
|
+
const [error, setError] = react.useState();
|
|
265
|
+
react.useEffect(() => {
|
|
266
|
+
if (providedInspections !== void 0 || providedProbes !== void 0) {
|
|
267
|
+
setInspections(providedInspections ?? []);
|
|
268
|
+
setProbes(providedProbes ?? []);
|
|
269
|
+
setOperations(summaryOperations(record));
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
if (!record) {
|
|
273
|
+
setInspections([]);
|
|
274
|
+
setProbes([]);
|
|
275
|
+
setOperations([]);
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
let cancelled = false;
|
|
279
|
+
setError(void 0);
|
|
280
|
+
setInspections([]);
|
|
281
|
+
setProbes([]);
|
|
282
|
+
setOperations(summaryOperations(record));
|
|
283
|
+
(client ?? new debugClient.DebugClient()).detail(record.id).then((detail) => {
|
|
284
|
+
if (cancelled) return;
|
|
285
|
+
setInspections(detail.inspections ?? []);
|
|
286
|
+
setProbes(detail.probes ?? []);
|
|
287
|
+
setOperations(detail.operations ?? summaryOperations(record));
|
|
288
|
+
}).catch((failure) => {
|
|
289
|
+
if (!cancelled) setError(failure instanceof Error ? failure.message : String(failure));
|
|
290
|
+
});
|
|
291
|
+
return () => {
|
|
292
|
+
cancelled = true;
|
|
293
|
+
};
|
|
294
|
+
}, [record, client, providedInspections, providedProbes]);
|
|
295
|
+
return { inspections, probes, operations, error };
|
|
296
|
+
}
|
|
297
|
+
function summaryOperations(record) {
|
|
298
|
+
return ((record == null ? void 0 : record.operations) ?? []).map((operation) => ({
|
|
299
|
+
provider: operation.provider,
|
|
300
|
+
request: {
|
|
301
|
+
...operation.query ? { query: operation.query, rendered: operation.query } : {},
|
|
302
|
+
...operation.connection ? { connection: operation.connection } : {},
|
|
303
|
+
...operation.method ? { method: operation.method } : {},
|
|
304
|
+
...operation.url ? { url: operation.url } : {}
|
|
305
|
+
},
|
|
306
|
+
...operation.error ? { error: operation.error } : {}
|
|
307
|
+
}));
|
|
308
|
+
}
|
|
309
|
+
function formatAge(ageMs) {
|
|
310
|
+
if (ageMs < 1e3) return `${ageMs}ms`;
|
|
311
|
+
if (ageMs < 6e4) return `${(ageMs / 1e3).toFixed(0)}s`;
|
|
312
|
+
if (ageMs < 36e5) return `${(ageMs / 6e4).toFixed(0)}m`;
|
|
313
|
+
return `${(ageMs / 36e5).toFixed(1)}h`;
|
|
314
|
+
}
|
|
315
|
+
exports.InspectionTab = InspectionTab;
|
|
316
|
+
//# sourceMappingURL=InspectionTab.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InspectionTab.cjs","sources":["../../../src/devtools/tabs/InspectionTab.tsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { Button } from \"../../components/button\";\nimport { DataTable, type DataTableColumn } from \"../../data/DataTable\";\nimport {\n DebugClient,\n type ManualInspectionRequest,\n} from \"../debugClient\";\nimport type { QueryBrowserDiagnostics } from \"../../data/query-browser/QueryBrowser.types\";\nimport type {\n CardinalityProbe,\n ExecutionDetail,\n ExecutionSummary,\n InspectionCacheStats,\n InspectionRecord,\n} from \"../types\";\nimport { InspectionCaches } from \"./InspectionCaches\";\n\n/**\n * What the request paid to describe its own columns.\n *\n * Two questions live here, and both are otherwise unanswerable from outside the\n * server. \"Why did opening this profile take four seconds once and 200ms\n * after?\" is the cache table: a miss pays the whole fill, a hit pays nothing,\n * and the elapsed column is the difference. \"Why is this column a free-text box\n * instead of a dropdown?\" is the probe table: a distinct count above the lookup\n * limit is the entire reason, and reading the provider's source was previously\n * the only way to learn it.\n */\n\nexport type InspectionTabProps = {\n record?: ExecutionSummary | undefined;\n client?: DebugClient | undefined;\n /** Pre-loaded rows, for a story or a test that has no server. */\n inspections?: InspectionRecord[] | undefined;\n probes?: CardinalityProbe[] | undefined;\n /** Rebuild every metadata lookup on subsequent requests. */\n refreshInspection?: boolean | undefined;\n onRefreshInspectionChange?: ((refresh: boolean) => void) | undefined;\n /** Pre-loaded cache stats, for a story or a test that has no server. */\n caches?: InspectionCacheStats[] | undefined;\n};\n\ntype CacheRow = Record<string, unknown> & InspectionRecord & { id: string };\ntype ProbeRow = Record<string, unknown> & CardinalityProbe & { id: string };\n\nconst CACHE_COLUMNS: DataTableColumn<CacheRow>[] = [\n { key: \"policy\", label: \"Cache\", shrink: true, minWidth: 180, filterable: true },\n {\n key: \"cached\",\n label: \"Result\",\n shrink: true,\n minWidth: 90,\n filterable: true,\n render: (value) => (value === true ? \"hit\" : \"miss\"),\n },\n {\n key: \"elapsedMs\",\n label: \"Waited\",\n align: \"right\",\n shrink: true,\n render: (value) => `${Number(value ?? 0).toFixed(1)}ms`,\n sortValue: (value) => Number(value ?? 0),\n },\n {\n key: \"ageMs\",\n label: \"Age\",\n align: \"right\",\n shrink: true,\n render: (value) => formatAge(Number(value ?? 0)),\n sortValue: (value) => Number(value ?? 0),\n },\n { key: \"state\", label: \"State\", shrink: true, minWidth: 80 },\n {\n key: \"refreshError\",\n label: \"Note\",\n grow: true,\n render: (value, row) => row.error || String(value ?? \"\"),\n },\n];\n\nconst PROBE_COLUMNS: DataTableColumn<ProbeRow>[] = [\n { key: \"column\", label: \"Column\", shrink: true, minWidth: 160 },\n { key: \"field\", label: \"Field\", shrink: true, minWidth: 160 },\n { key: \"distinct\", label: \"Distinct\", align: \"right\", shrink: true },\n { key: \"limit\", label: \"Limit\", align: \"right\", shrink: true },\n {\n key: \"kind\",\n label: \"Chose\",\n shrink: true,\n minWidth: 110,\n // An empty kind means the count came back under the limit and nothing had\n // to change — which is an answer, so it is spelled out rather than blank.\n render: (value) => (String(value ?? \"\") === \"\" ? \"left as-is\" : String(value)),\n },\n {\n key: \"cached\",\n label: \"Counted\",\n shrink: true,\n minWidth: 90,\n render: (value) => (value === true ? \"from cache\" : \"this run\"),\n },\n];\n\nexport function InspectionTab({\n record,\n client,\n inspections,\n probes,\n refreshInspection = false,\n onRefreshInspectionChange,\n caches,\n}: InspectionTabProps) {\n const loaded = useInspection(record, client, inspections, probes);\n const [manualDetail, setManualDetail] = useState<ExecutionDetail | undefined>();\n\n useEffect(() => setManualDetail(undefined), [record?.id]);\n\n const displayedInspections = manualDetail?.inspections ?? loaded.inspections;\n const displayedProbes = manualDetail?.probes ?? loaded.probes;\n\n return (\n // Three sections stacked, so this scrolls as one region rather than\n // bounding each table separately — a five-row list with its own scrollbar\n // reads as truncated when it is complete.\n <div className=\"flex h-full min-h-0 flex-col gap-density-4 overflow-auto p-density-3\">\n {/* Always first, and always present: the caches are the server's state,\n not the selected capture's, so they are worth reading — and flushable —\n even before anything has run. */}\n <InspectionCaches\n {...(client ? { client } : {})}\n refreshInspection={refreshInspection}\n onRefreshInspectionChange={onRefreshInspectionChange ?? (() => undefined)}\n {...(caches !== undefined ? { caches } : {})}\n />\n\n <ManualInspection\n record={record}\n operations={loaded.operations}\n client={client}\n onComplete={setManualDetail}\n />\n\n {loaded.error ? <Empty className=\"text-destructive\">{loaded.error}</Empty> : null}\n {!loaded.error && displayedInspections.length === 0 && displayedProbes.length === 0 ? (\n <Empty>\n {record\n ? \"This capture looked nothing up — every column it needed was already described.\"\n : \"Select a capture in Queries to see the metadata it looked up.\"}\n </Empty>\n ) : null}\n\n {displayedInspections.length > 0 ? (\n <section>\n <Heading>Metadata cache</Heading>\n <DataTable<CacheRow>\n data={displayedInspections.map((row, index) => ({\n ...row,\n id: `${row.key}-${index}`,\n }))}\n columns={CACHE_COLUMNS}\n emptyMessage=\"No cache lookups\"\n />\n </section>\n ) : null}\n\n {displayedProbes.length > 0 ? (\n <section>\n <Heading>Column cardinality</Heading>\n <DataTable<ProbeRow>\n data={displayedProbes.map((row, index) => ({\n ...row,\n id: `${row.column}-${index}`,\n }))}\n columns={PROBE_COLUMNS}\n emptyMessage=\"No cardinality probes\"\n />\n </section>\n ) : null}\n </div>\n );\n}\n\nfunction ManualInspection({\n record,\n operations,\n client,\n onComplete,\n}: {\n record: ExecutionSummary | undefined;\n operations: QueryBrowserDiagnostics[];\n client: DebugClient | undefined;\n onComplete: (detail: ExecutionDetail) => void;\n}) {\n const [selected, setSelected] = useState(0);\n const [columns, setColumns] = useState(\"\");\n const [refresh, setRefresh] = useState(true);\n const [running, setRunning] = useState(false);\n const [outcome, setOutcome] = useState<string | undefined>();\n\n useEffect(() => {\n setSelected(0);\n setColumns(\"\");\n setOutcome(undefined);\n }, [record?.id]);\n\n const operation = operations[selected];\n if (!record) {\n return (\n <section>\n <Heading>Run inspection</Heading>\n <p className=\"text-muted-foreground text-sm\">\n Select a capture first; its provider request supplies the connection and query.\n </p>\n </section>\n );\n }\n if (!operation) {\n return (\n <section>\n <Heading>Run inspection</Heading>\n <p className=\"text-muted-foreground text-sm\">\n This capture has no provider operation that can be inspected.\n </p>\n </section>\n );\n }\n\n const query = operation.request.rendered || operation.request.query || \"\";\n const connection = operation.request.connection;\n const request: ManualInspectionRequest = {\n provider: operation.provider,\n ...(connection ? { connection } : {}),\n query,\n ...(operation.request.options ? { options: operation.request.options } : {}),\n columns: parseColumns(columns),\n refresh,\n };\n\n const run = async () => {\n setRunning(true);\n setOutcome(undefined);\n try {\n const detail = await (client ?? new DebugClient()).runInspection(request);\n onComplete(detail);\n const failure = detail.summary.error ?? detail.operations?.find((item) => item.error)?.error;\n setOutcome(\n failure\n ? `Inspection completed with an error: ${failure}`\n : `Inspection ${detail.summary.id} completed.`,\n );\n } catch (failure: unknown) {\n setOutcome(failure instanceof Error ? failure.message : String(failure));\n } finally {\n setRunning(false);\n }\n };\n\n return (\n <section className=\"flex flex-col gap-density-2 rounded border border-border p-density-3\">\n <div className=\"flex flex-wrap items-center justify-between gap-density-2\">\n <Heading>Run inspection</Heading>\n <span className=\"text-muted-foreground text-xs\">\n {operation.provider} · {connection || \"inline connection\"}\n </span>\n </div>\n {operations.length > 1 ? (\n <label className=\"grid gap-density-1 text-xs\">\n <span className=\"text-muted-foreground\">Provider operation</span>\n <select\n className=\"rounded border border-border bg-background px-density-2 py-density-1\"\n value={selected}\n onChange={(event) => setSelected(Number(event.target.value))}\n >\n {operations.map((item, index) => (\n <option key={`${item.provider}-${index}`} value={index}>\n {index + 1}. {item.provider} · {item.request.connection || \"inline connection\"}\n </option>\n ))}\n </select>\n </label>\n ) : null}\n <label className=\"grid gap-density-1 text-xs\">\n <span className=\"text-muted-foreground\">Columns to inspect</span>\n <input\n aria-label=\"Columns to inspect\"\n className=\"rounded border border-border bg-background px-density-2 py-density-1 font-mono\"\n value={columns}\n placeholder=\"Auto-detect, or enter comma-separated names\"\n onChange={(event) => setColumns(event.target.value)}\n />\n </label>\n <code className=\"max-h-20 overflow-auto whitespace-pre-wrap rounded bg-muted/40 p-density-2 text-xs\">\n {query}\n </code>\n <div className=\"flex flex-wrap items-center justify-between gap-density-2\">\n <label className=\"flex items-center gap-density-1 text-xs\">\n <input\n type=\"checkbox\"\n checked={refresh}\n onChange={(event) => setRefresh(event.target.checked)}\n />\n Refresh cached metadata\n </label>\n <Button size=\"sm\" disabled={running || query === \"\"} onClick={() => void run()}>\n {running ? \"Running inspection…\" : \"Run inspection\"}\n </Button>\n </div>\n {outcome ? (\n <p className={outcome.includes(\"error\") ? \"text-destructive text-xs\" : \"text-muted-foreground text-xs\"}>\n {outcome}\n </p>\n ) : null}\n </section>\n );\n}\n\nfunction parseColumns(value: string): string[] {\n return [...new Set(value.split(\",\").map((column) => column.trim()).filter(Boolean))];\n}\n\nfunction Heading({ children }: { children: React.ReactNode }) {\n return (\n <h3 className=\"mb-density-2 font-medium text-muted-foreground text-xs uppercase tracking-wide\">\n {children}\n </h3>\n );\n}\n\nfunction Empty({ children, className }: { children: React.ReactNode; className?: string }) {\n return (\n <div className={`p-density-6 text-center text-muted-foreground text-sm ${className ?? \"\"}`}>\n {children}\n </div>\n );\n}\n\nfunction useInspection(\n record: ExecutionSummary | undefined,\n client: DebugClient | undefined,\n providedInspections: InspectionRecord[] | undefined,\n providedProbes: CardinalityProbe[] | undefined,\n) {\n const [inspections, setInspections] = useState<InspectionRecord[]>(providedInspections ?? []);\n const [probes, setProbes] = useState<CardinalityProbe[]>(providedProbes ?? []);\n const [operations, setOperations] = useState<QueryBrowserDiagnostics[]>(\n summaryOperations(record),\n );\n const [error, setError] = useState<string | undefined>();\n\n useEffect(() => {\n if (providedInspections !== undefined || providedProbes !== undefined) {\n setInspections(providedInspections ?? []);\n setProbes(providedProbes ?? []);\n setOperations(summaryOperations(record));\n return;\n }\n if (!record) {\n setInspections([]);\n setProbes([]);\n setOperations([]);\n return;\n }\n let cancelled = false;\n setError(undefined);\n setInspections([]);\n setProbes([]);\n setOperations(summaryOperations(record));\n (client ?? new DebugClient())\n .detail(record.id)\n .then((detail) => {\n if (cancelled) return;\n setInspections(detail.inspections ?? []);\n setProbes(detail.probes ?? []);\n setOperations(detail.operations ?? summaryOperations(record));\n })\n .catch((failure: unknown) => {\n if (!cancelled) setError(failure instanceof Error ? failure.message : String(failure));\n });\n return () => {\n cancelled = true;\n };\n }, [record, client, providedInspections, providedProbes]);\n\n return { inspections, probes, operations, error };\n}\n\nfunction summaryOperations(record: ExecutionSummary | undefined): QueryBrowserDiagnostics[] {\n return (record?.operations ?? []).map((operation) => ({\n provider: operation.provider,\n request: {\n ...(operation.query ? { query: operation.query, rendered: operation.query } : {}),\n ...(operation.connection ? { connection: operation.connection } : {}),\n ...(operation.method ? { method: operation.method } : {}),\n ...(operation.url ? { url: operation.url } : {}),\n },\n ...(operation.error ? { error: operation.error } : {}),\n }));\n}\n\nfunction formatAge(ageMs: number): string {\n if (ageMs < 1000) return `${ageMs}ms`;\n if (ageMs < 60_000) return `${(ageMs / 1000).toFixed(0)}s`;\n if (ageMs < 3_600_000) return `${(ageMs / 60_000).toFixed(0)}m`;\n return `${(ageMs / 3_600_000).toFixed(1)}h`;\n}\n"],"names":["useState","useEffect","jsxs","jsx","InspectionCaches","DataTable","DebugClient","Button"],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DebugClient } from '../debugClient';
|
|
2
|
+
import { CardinalityProbe, ExecutionSummary, InspectionCacheStats, InspectionRecord } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* What the request paid to describe its own columns.
|
|
5
|
+
*
|
|
6
|
+
* Two questions live here, and both are otherwise unanswerable from outside the
|
|
7
|
+
* server. "Why did opening this profile take four seconds once and 200ms
|
|
8
|
+
* after?" is the cache table: a miss pays the whole fill, a hit pays nothing,
|
|
9
|
+
* and the elapsed column is the difference. "Why is this column a free-text box
|
|
10
|
+
* instead of a dropdown?" is the probe table: a distinct count above the lookup
|
|
11
|
+
* limit is the entire reason, and reading the provider's source was previously
|
|
12
|
+
* the only way to learn it.
|
|
13
|
+
*/
|
|
14
|
+
export type InspectionTabProps = {
|
|
15
|
+
record?: ExecutionSummary | undefined;
|
|
16
|
+
client?: DebugClient | undefined;
|
|
17
|
+
/** Pre-loaded rows, for a story or a test that has no server. */
|
|
18
|
+
inspections?: InspectionRecord[] | undefined;
|
|
19
|
+
probes?: CardinalityProbe[] | undefined;
|
|
20
|
+
/** Rebuild every metadata lookup on subsequent requests. */
|
|
21
|
+
refreshInspection?: boolean | undefined;
|
|
22
|
+
onRefreshInspectionChange?: ((refresh: boolean) => void) | undefined;
|
|
23
|
+
/** Pre-loaded cache stats, for a story or a test that has no server. */
|
|
24
|
+
caches?: InspectionCacheStats[] | undefined;
|
|
25
|
+
};
|
|
26
|
+
export declare function InspectionTab({ record, client, inspections, probes, refreshInspection, onRefreshInspectionChange, caches, }: InspectionTabProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
//# sourceMappingURL=InspectionTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InspectionTab.d.ts","sourceRoot":"","sources":["../../../src/devtools/tabs/InspectionTab.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EAEZ,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,gBAAgB,EAEhB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAGlB;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACtC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,iEAAiE;IACjE,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAC7C,MAAM,CAAC,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IACxC,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,yBAAyB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACrE,wEAAwE;IACxE,MAAM,CAAC,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;CAC7C,CAAC;AA+DF,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,MAAM,EACN,WAAW,EACX,MAAM,EACN,iBAAyB,EACzB,yBAAyB,EACzB,MAAM,GACP,EAAE,kBAAkB,2CAqEpB"}
|