@flanksource/clicky-ui 0.3.24 → 0.3.26
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/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/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 +8 -4
- 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 +8 -4
- package/dist/data/chat/Chat.js.map +1 -1
- package/dist/data/chat/ChatRuntimeToolbar.cjs +11 -7
- package/dist/data/chat/ChatRuntimeToolbar.cjs.map +1 -1
- package/dist/data/chat/ChatRuntimeToolbar.d.ts.map +1 -1
- package/dist/data/chat/ChatRuntimeToolbar.js +11 -7
- package/dist/data/chat/ChatRuntimeToolbar.js.map +1 -1
- package/dist/data/chat/ContextMeter.cjs +64 -27
- package/dist/data/chat/ContextMeter.cjs.map +1 -1
- package/dist/data/chat/ContextMeter.d.ts +11 -4
- package/dist/data/chat/ContextMeter.d.ts.map +1 -1
- package/dist/data/chat/ContextMeter.js +64 -27
- package/dist/data/chat/ContextMeter.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 +41 -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/chat/usage-snapshot.cjs +10 -1
- package/dist/data/chat/usage-snapshot.cjs.map +1 -1
- package/dist/data/chat/usage-snapshot.d.ts.map +1 -1
- package/dist/data/chat/usage-snapshot.js +10 -1
- package/dist/data/chat/usage-snapshot.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/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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Compartment, EditorState } from "@codemirror/state";
|
|
3
3
|
import { EditorView } from "@codemirror/view";
|
|
4
4
|
import { useRef, useState, useCallback, useEffect, useMemo } from "react";
|
|
@@ -13,7 +13,7 @@ import { ErrorDetails } from "../diagnostics/ErrorDetails.js";
|
|
|
13
13
|
import { readQueryBrowserHistory, rememberQueryBrowserQuery, queryBrowserEditorExtensions, queryBrowserLanguageExtension } from "./QueryBrowser.editor.js";
|
|
14
14
|
import { QueryBrowserDiagnosticsPanel } from "./QueryBrowserDiagnosticsPanel.js";
|
|
15
15
|
import { QueryBrowserResults } from "./QueryBrowserResults.js";
|
|
16
|
-
import {
|
|
16
|
+
import { useDebugAction } from "../useDebugAction.js";
|
|
17
17
|
import { QueryBrowserExecutionError } from "./QueryBrowser.types.js";
|
|
18
18
|
import { UiPlay } from "../../icons/components/UiPlay.js";
|
|
19
19
|
function QueryBrowser({
|
|
@@ -135,42 +135,7 @@ function QueryBrowser({
|
|
|
135
135
|
},
|
|
136
136
|
[runRequest]
|
|
137
137
|
);
|
|
138
|
-
const
|
|
139
|
-
var _a2;
|
|
140
|
-
const previous = lastRun.current;
|
|
141
|
-
if (!previous) {
|
|
142
|
-
throw new Error("Run a query before asking what it sends");
|
|
143
|
-
}
|
|
144
|
-
const pagination = result == null ? void 0 : result.pagination;
|
|
145
|
-
try {
|
|
146
|
-
const probe = await execute({
|
|
147
|
-
...previous,
|
|
148
|
-
...pagination ? {
|
|
149
|
-
pagination: {
|
|
150
|
-
limit: pagination.limit,
|
|
151
|
-
...pagination.offset !== void 0 ? { offset: pagination.offset } : {},
|
|
152
|
-
...pagination.cursor ? { cursor: pagination.cursor } : {}
|
|
153
|
-
}
|
|
154
|
-
} : {},
|
|
155
|
-
debug: true
|
|
156
|
-
});
|
|
157
|
-
return {
|
|
158
|
-
...((_a2 = probe.diagnostics) == null ? void 0 : _a2.provider) ? { provider: probe.diagnostics.provider } : {},
|
|
159
|
-
...probe.rows ? { rows: probe.rows.length } : {},
|
|
160
|
-
...probe.durationMs !== void 0 ? { durationMs: probe.durationMs } : {},
|
|
161
|
-
...probe.diagnostics ? { diagnostics: probe.diagnostics } : {}
|
|
162
|
-
};
|
|
163
|
-
} catch (err) {
|
|
164
|
-
if (err instanceof QueryBrowserExecutionError) {
|
|
165
|
-
return {
|
|
166
|
-
error: err.message,
|
|
167
|
-
...err.diagnostics ? { diagnostics: err.diagnostics } : {}
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
throw err;
|
|
171
|
-
}
|
|
172
|
-
}, [execute, result == null ? void 0 : result.pagination]);
|
|
173
|
-
const queryInfo = useQueryInfo({ load: loadQueryInfo, title: queryLabel });
|
|
138
|
+
const debugAction = useDebugAction();
|
|
174
139
|
useEffect(() => {
|
|
175
140
|
if (!lastRun.current) return;
|
|
176
141
|
if (filters === executedFilters.current) return;
|
|
@@ -310,7 +275,7 @@ function QueryBrowser({
|
|
|
310
275
|
filterConfig,
|
|
311
276
|
serverFiltered,
|
|
312
277
|
...tablePagination ? { pagination: tablePagination } : {},
|
|
313
|
-
...
|
|
278
|
+
...debugAction ? { menuActions: [debugAction] } : {}
|
|
314
279
|
}
|
|
315
280
|
);
|
|
316
281
|
const workspace = /* @__PURE__ */ jsxs("div", { className: "flex h-full min-h-0 flex-col overflow-hidden rounded-xl border bg-card", children: [
|
|
@@ -387,10 +352,7 @@ function QueryBrowser({
|
|
|
387
352
|
error.diagnostics && /* @__PURE__ */ jsx(QueryBrowserDiagnosticsPanel, { diagnostics: error.diagnostics })
|
|
388
353
|
] }) : result && renderResults ? renderResults({ result, defaultView: defaultResults }) : defaultResults })
|
|
389
354
|
] });
|
|
390
|
-
return /* @__PURE__ */
|
|
391
|
-
navigator ? /* @__PURE__ */ jsx(SplitPane, { defaultSplit: 28, left: navigator, right: workspace }) : workspace,
|
|
392
|
-
queryInfo.dialog
|
|
393
|
-
] });
|
|
355
|
+
return /* @__PURE__ */ jsx("div", { className: cn("h-[calc(100vh-15rem)] min-h-[32rem]", className), children: navigator ? /* @__PURE__ */ jsx(SplitPane, { defaultSplit: 28, left: navigator, right: workspace }) : workspace });
|
|
394
356
|
}
|
|
395
357
|
export {
|
|
396
358
|
QueryBrowser
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBrowser.js","sources":["../../../src/data/query-browser/QueryBrowser.tsx"],"sourcesContent":["import { Compartment, EditorState } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { Button } from \"../../components/button\";\nimport { JsonSchemaForm } from \"../../components/JsonSchemaForm\";\nimport { cn } from \"../../lib/utils\";\nimport { SplitPane } from \"../../layout/SplitPane\";\nimport { Icon } from \"../Icon\";\nimport { UiPlay } from \"../../icons\";\nimport type { DataTablePagination } from \"../DataTable\";\nimport { inferColumns } from \"../data-table-utils\";\nimport type { DataTableFilterSelection } from \"../data-table-filter-values\";\nimport {\n serverColumnsToDataTableColumns,\n serverFiltersToFilterBar,\n type DataTableFilterLookup,\n type DataTableServerColumn,\n} from \"../data-table-server-filters\";\nimport { ErrorDetails } from \"../diagnostics/ErrorDetails\";\nimport type { ErrorDiagnostics } from \"../diagnostics/error-diagnostics\";\nimport {\n queryBrowserEditorExtensions,\n queryBrowserLanguageExtension,\n readQueryBrowserHistory,\n rememberQueryBrowserQuery,\n type QueryBrowserHistoryEntry,\n} from \"./QueryBrowser.editor\";\nimport { QueryBrowserDiagnosticsPanel } from \"./QueryBrowserDiagnosticsPanel\";\nimport { QueryBrowserResults } from \"./QueryBrowserResults\";\nimport { useQueryInfo } from \"../query-info/useQueryInfo\";\nimport type { QueryExecutionInfo } from \"../query-info/queryInfo\";\nimport {\n QueryBrowserExecutionError,\n type QueryBrowserDiagnostics,\n type QueryBrowserProps,\n type QueryBrowserRequest,\n type QueryBrowserResult,\n} from \"./QueryBrowser.types\";\n\nexport function QueryBrowser({\n id,\n title,\n language = \"text\",\n initialQuery = \"\",\n queryLabel = \"Query\",\n allowEmptyQuery = false,\n optionsSchema,\n initialOptions,\n completion,\n onQueryChange,\n onOptionsChange,\n navigator,\n execute,\n lookupFilterValues,\n renderResults,\n className,\n}: QueryBrowserProps) {\n const editorHost = useRef<HTMLDivElement | null>(null);\n const editor = useRef<EditorView | null>(null);\n const languageConfig = useRef(new Compartment());\n const executeRef = useRef<() => void>(() => undefined);\n const onQueryChangeRef = useRef(onQueryChange);\n const [options, setOptions] = useState<Record<string, unknown>>(\n initialOptions ?? {},\n );\n const [result, setResult] = useState<QueryBrowserResult | null>(null);\n const [error, setError] = useState<{\n message: string;\n query: string;\n diagnostics?: QueryBrowserDiagnostics;\n errorDetails?: ErrorDiagnostics;\n } | null>(null);\n const [pending, setPending] = useState(false);\n const [entries, setEntries] = useState<QueryBrowserHistoryEntry[]>(() =>\n readQueryBrowserHistory(id),\n );\n const [filters, setFilters] = useState<DataTableFilterSelection>({});\n // What the displayed result came from. A filter re-runs *this*, never the\n // editor's current text — otherwise changing a pill would execute a\n // half-typed edit nobody asked to run.\n const lastRun = useRef<{\n query: string;\n options: Record<string, unknown>;\n filters?: DataTableFilterSelection;\n columns?: DataTableServerColumn[];\n } | null>(null);\n const executedFilters = useRef<DataTableFilterSelection>({});\n\n // Every run goes through here so the record a filter re-runs from is refreshed\n // in one place: the query, its options, and the columns the source described,\n // which are what a subsequent selection binds to.\n const runRequest = useCallback(\n async (request: QueryBrowserRequest) => {\n setPending(true);\n setError(null);\n const started = performance.now();\n try {\n const next = await execute(request);\n setResult({\n ...next,\n durationMs: next.durationMs ?? performance.now() - started,\n });\n lastRun.current = {\n query: request.query,\n options: request.options,\n ...(request.filters ? { filters: request.filters } : {}),\n ...(next.columns ? { columns: next.columns } : {}),\n };\n } catch (err) {\n setError({\n message: err instanceof Error ? err.message : String(err),\n query: request.query,\n ...(err instanceof QueryBrowserExecutionError && err.diagnostics\n ? { diagnostics: err.diagnostics }\n : {}),\n ...(err instanceof QueryBrowserExecutionError && err.errorDetails\n ? { errorDetails: err.errorDetails }\n : {}),\n });\n } finally {\n setPending(false);\n }\n },\n [execute],\n );\n\n const currentQuery = useCallback(() => {\n const view = editor.current;\n if (!view) return initialQuery;\n const selection = view.state.selection.main;\n if (!selection.empty)\n return view.state.sliceDoc(selection.from, selection.to);\n return view.state.doc.toString();\n }, [initialQuery]);\n\n const run = useCallback(async () => {\n const query = currentQuery().trim();\n if ((!query && !allowEmptyQuery) || pending) return;\n if (query) setEntries(rememberQueryBrowserQuery(id, query));\n // A different statement is a different result set, so neither its filters\n // nor the columns they bind to survive: both name columns the new query may\n // not return.\n const repeat = lastRun.current?.query === query ? lastRun.current : null;\n const carried = repeat ? filters : {};\n if (carried !== filters) setFilters(carried);\n lastRun.current = { query, options };\n executedFilters.current = carried;\n await runRequest({\n query,\n options,\n ...(Object.keys(carried).length > 0 ? { filters: carried } : {}),\n ...(repeat?.columns ? { columns: repeat.columns } : {}),\n });\n }, [allowEmptyQuery, currentQuery, filters, id, options, pending, runRequest]);\n\n // A filter pill is not a draft the way query text is: it commits a discrete\n // value on selection, and the bar already debounces its free-text fields. So\n // a change re-runs the last executed query immediately rather than waiting\n // for Run, which is also how the profile catalog behaves.\n const rerunWithFilters = useCallback(\n async (selection: DataTableFilterSelection) => {\n const previous = lastRun.current;\n if (!previous) {\n throw new Error(\n \"QueryBrowser: a filter changed before any query had run\",\n );\n }\n await runRequest({\n ...previous,\n filters: selection,\n ...(result?.pagination\n ? { pagination: { limit: result.pagination.limit } }\n : {}),\n });\n },\n [result?.pagination, runRequest],\n );\n\n const rerunAt = useCallback(\n async (pagination: NonNullable<QueryBrowserRequest[\"pagination\"]>) => {\n const previous = lastRun.current;\n if (!previous) {\n throw new Error(\n \"QueryBrowser: pagination changed before any query had run\",\n );\n }\n await runRequest({ ...previous, pagination });\n },\n [runRequest],\n );\n\n // \"Debug\" runs the displayed query again with diagnostics on rather than\n // reading them off the result: a debug run costs a second execution, and one\n // paid on every query so the answer is there if asked for is the wrong trade.\n const loadQueryInfo = useCallback(async (): Promise<QueryExecutionInfo> => {\n const previous = lastRun.current;\n if (!previous) {\n throw new Error(\"Run a query before asking what it sends\");\n }\n const pagination = result?.pagination;\n try {\n const probe = await execute({\n ...previous,\n ...(pagination\n ? {\n pagination: {\n limit: pagination.limit,\n ...(pagination.offset !== undefined\n ? { offset: pagination.offset }\n : {}),\n ...(pagination.cursor ? { cursor: pagination.cursor } : {}),\n },\n }\n : {}),\n debug: true,\n });\n return {\n ...(probe.diagnostics?.provider\n ? { provider: probe.diagnostics.provider }\n : {}),\n ...(probe.rows ? { rows: probe.rows.length } : {}),\n ...(probe.durationMs !== undefined\n ? { durationMs: probe.durationMs }\n : {}),\n ...(probe.diagnostics ? { diagnostics: probe.diagnostics } : {}),\n };\n } catch (err) {\n if (err instanceof QueryBrowserExecutionError) {\n return {\n error: err.message,\n ...(err.diagnostics ? { diagnostics: err.diagnostics } : {}),\n };\n }\n throw err;\n }\n }, [execute, result?.pagination]);\n const queryInfo = useQueryInfo({ load: loadQueryInfo, title: queryLabel });\n\n useEffect(() => {\n if (!lastRun.current) return;\n if (filters === executedFilters.current) return;\n executedFilters.current = filters;\n void rerunWithFilters(filters);\n }, [filters, rerunWithFilters]);\n\n executeRef.current = () => void run();\n onQueryChangeRef.current = onQueryChange;\n\n useEffect(() => {\n if (!editorHost.current) return;\n const view = new EditorView({\n parent: editorHost.current,\n state: EditorState.create({\n doc: initialQuery,\n extensions: queryBrowserEditorExtensions(\n () => executeRef.current(),\n (query) => onQueryChangeRef.current?.(query),\n languageConfig.current.of(\n queryBrowserLanguageExtension(language, completion),\n ),\n ),\n }),\n });\n editor.current = view;\n return () => {\n editor.current = null;\n view.destroy();\n };\n }, [id, language]);\n\n useEffect(() => {\n const view = editor.current;\n if (!view) return;\n view.dispatch({\n effects: languageConfig.current.reconfigure(\n queryBrowserLanguageExtension(language, completion),\n ),\n });\n }, [completion, language]);\n\n useEffect(() => {\n const view = editor.current;\n if (!view || view.state.doc.toString() === initialQuery) return;\n view.dispatch({\n changes: { from: 0, to: view.state.doc.length, insert: initialQuery },\n });\n }, [initialQuery]);\n\n useEffect(() => {\n setOptions(initialOptions ?? {});\n }, [initialOptions]);\n\n const updateOptions = useCallback(\n (next: Record<string, unknown>) => {\n setOptions(next);\n onOptionsChange?.(next);\n },\n [onOptionsChange],\n );\n\n useEffect(() => {\n setEntries(readQueryBrowserHistory(id));\n setResult(null);\n setError(null);\n setFilters({});\n lastRun.current = null;\n executedFilters.current = {};\n }, [id]);\n\n const rows = result?.rows ?? [];\n const described = result?.columns ?? [];\n const columns = useMemo(\n () =>\n described.length > 0\n ? serverColumnsToDataTableColumns<Record<string, unknown>>(described)\n : inferColumns(rows, { literalKeys: true }),\n [described, rows],\n );\n const lookupValues = useMemo<DataTableFilterLookup | undefined>(() => {\n if (!lookupFilterValues) return undefined;\n return (request) => {\n const previous = lastRun.current;\n if (!previous) {\n throw new Error(\n \"QueryBrowser: a filter lookup ran before any query had\",\n );\n }\n return lookupFilterValues({ ...request, ...previous, filters });\n };\n }, [filters, lookupFilterValues]);\n const filterConfig = useMemo(\n () =>\n serverFiltersToFilterBar(\n described,\n filters,\n setFilters,\n lookupValues ? { lookupValues } : {},\n ),\n [described, filters, lookupValues],\n );\n const serverFiltered =\n filterConfig.filters.length > 0 || filterConfig.timeRange !== undefined;\n const tablePagination = useMemo<DataTablePagination | undefined>(() => {\n const pagination = result?.pagination;\n if (!pagination) return undefined;\n const shared = {\n pageSize: pagination.limit,\n ...(pagination.total !== undefined ? { total: pagination.total } : {}),\n ...(pagination.totalRelation === \"eq\" ||\n pagination.totalRelation === \"gte\"\n ? { totalRelation: pagination.totalRelation }\n : {}),\n hasMore: pagination.hasMore,\n onPageSizeChange: (limit: number) => void rerunAt({ limit }),\n };\n if (pagination.mode === \"cursor\") {\n return {\n ...shared,\n page: 0,\n cursor: {\n ...(pagination.cursor ? { current: pagination.cursor } : {}),\n ...(pagination.nextCursor ? { next: pagination.nextCursor } : {}),\n onCursorChange: (cursor: string | undefined) =>\n void rerunAt({\n limit: pagination.limit,\n ...(cursor ? { cursor } : {}),\n }),\n },\n };\n }\n const page = Math.floor((pagination.offset ?? 0) / pagination.limit);\n return {\n ...shared,\n page,\n onPageChange: (nextPage: number) =>\n void rerunAt({\n limit: pagination.limit,\n offset: nextPage * pagination.limit,\n }),\n };\n }, [rerunAt, result?.pagination]);\n const defaultResults = (\n <QueryBrowserResults\n result={result}\n pending={pending}\n {...(title ? { title } : {})}\n queryLabel={queryLabel}\n columns={columns}\n filterConfig={filterConfig}\n serverFiltered={serverFiltered}\n {...(tablePagination ? { pagination: tablePagination } : {})}\n {...(queryInfo.action ? { menuActions: [queryInfo.action] } : {})}\n />\n );\n\n const workspace = (\n <div className=\"flex h-full min-h-0 flex-col overflow-hidden rounded-xl border bg-card\">\n <div className=\"flex flex-wrap items-center gap-2 border-b px-3 py-2\">\n <div className=\"min-w-0 flex-1\">\n {title && <h2 className=\"truncate text-sm font-semibold\">{title}</h2>}\n <p className=\"text-xs text-muted-foreground\">{queryLabel}</p>\n </div>\n {entries.length > 0 && (\n <select\n aria-label=\"Query history\"\n defaultValue=\"\"\n onChange={(event) => {\n const query = event.target.value;\n const view = editor.current;\n if (!view || !query) return;\n view.dispatch({\n changes: { from: 0, to: view.state.doc.length, insert: query },\n });\n event.target.value = \"\";\n }}\n className=\"h-8 max-w-52 rounded-md border bg-background px-2 text-xs\"\n >\n <option value=\"\">History</option>\n {entries.map((entry) => (\n <option key={`${entry.at}:${entry.query}`} value={entry.query}>\n {entry.query.replace(/\\s+/g, \" \").slice(0, 80)}\n </option>\n ))}\n </select>\n )}\n <Button\n size=\"sm\"\n onClick={() => void run()}\n loading={pending}\n loadingLabel={pending ? \"Running\" : undefined}\n >\n <Icon icon={UiPlay} className=\"size-4\" />\n Run\n </Button>\n </div>\n {optionsSchema &&\n Object.keys(optionsSchema.properties ?? {}).length > 0 && (\n <div className=\"border-b px-3 py-2\">\n <JsonSchemaForm\n schema={optionsSchema}\n value={options}\n onChange={updateOptions}\n size=\"sm\"\n inline\n showPreferencesMenu={false}\n persistPreferences={false}\n />\n </div>\n )}\n <div ref={editorHost} className=\"h-[34%] min-h-44 border-b\" />\n <div className=\"flex min-h-0 flex-1 flex-col overflow-auto p-3\">\n {error ? (\n <div className=\"space-y-3\">\n <ErrorDetails\n diagnostics={{\n ...(error.errorDetails ?? {\n message: error.message,\n context: [],\n }),\n context: [\n ...(error.errorDetails?.context ?? []),\n [\"Query\", error.query],\n [\"Language\", language],\n ],\n }}\n />\n {error.diagnostics && (\n <QueryBrowserDiagnosticsPanel diagnostics={error.diagnostics} />\n )}\n </div>\n ) : result && renderResults ? (\n renderResults({ result, defaultView: defaultResults })\n ) : (\n defaultResults\n )}\n </div>\n </div>\n );\n\n return (\n <div className={cn(\"h-[calc(100vh-15rem)] min-h-[32rem]\", className)}>\n {navigator ? (\n <SplitPane defaultSplit={28} left={navigator} right={workspace} />\n ) : (\n workspace\n )}\n {queryInfo.dialog}\n </div>\n );\n}\n"],"names":["_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QueryBrowser.js","sources":["../../../src/data/query-browser/QueryBrowser.tsx"],"sourcesContent":["import { Compartment, EditorState } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { Button } from \"../../components/button\";\nimport { JsonSchemaForm } from \"../../components/JsonSchemaForm\";\nimport { cn } from \"../../lib/utils\";\nimport { SplitPane } from \"../../layout/SplitPane\";\nimport { Icon } from \"../Icon\";\nimport { UiPlay } from \"../../icons\";\nimport type { DataTablePagination } from \"../DataTable\";\nimport { inferColumns } from \"../data-table-utils\";\nimport type { DataTableFilterSelection } from \"../data-table-filter-values\";\nimport {\n serverColumnsToDataTableColumns,\n serverFiltersToFilterBar,\n type DataTableFilterLookup,\n type DataTableServerColumn,\n} from \"../data-table-server-filters\";\nimport { ErrorDetails } from \"../diagnostics/ErrorDetails\";\nimport type { ErrorDiagnostics } from \"../diagnostics/error-diagnostics\";\nimport {\n queryBrowserEditorExtensions,\n queryBrowserLanguageExtension,\n readQueryBrowserHistory,\n rememberQueryBrowserQuery,\n type QueryBrowserHistoryEntry,\n} from \"./QueryBrowser.editor\";\nimport { QueryBrowserDiagnosticsPanel } from \"./QueryBrowserDiagnosticsPanel\";\nimport { QueryBrowserResults } from \"./QueryBrowserResults\";\nimport { useDebugAction } from \"../useDebugAction\";\nimport {\n QueryBrowserExecutionError,\n type QueryBrowserDiagnostics,\n type QueryBrowserProps,\n type QueryBrowserRequest,\n type QueryBrowserResult,\n} from \"./QueryBrowser.types\";\n\nexport function QueryBrowser({\n id,\n title,\n language = \"text\",\n initialQuery = \"\",\n queryLabel = \"Query\",\n allowEmptyQuery = false,\n optionsSchema,\n initialOptions,\n completion,\n onQueryChange,\n onOptionsChange,\n navigator,\n execute,\n lookupFilterValues,\n renderResults,\n className,\n}: QueryBrowserProps) {\n const editorHost = useRef<HTMLDivElement | null>(null);\n const editor = useRef<EditorView | null>(null);\n const languageConfig = useRef(new Compartment());\n const executeRef = useRef<() => void>(() => undefined);\n const onQueryChangeRef = useRef(onQueryChange);\n const [options, setOptions] = useState<Record<string, unknown>>(\n initialOptions ?? {},\n );\n const [result, setResult] = useState<QueryBrowserResult | null>(null);\n const [error, setError] = useState<{\n message: string;\n query: string;\n diagnostics?: QueryBrowserDiagnostics;\n errorDetails?: ErrorDiagnostics;\n } | null>(null);\n const [pending, setPending] = useState(false);\n const [entries, setEntries] = useState<QueryBrowserHistoryEntry[]>(() =>\n readQueryBrowserHistory(id),\n );\n const [filters, setFilters] = useState<DataTableFilterSelection>({});\n // What the displayed result came from. A filter re-runs *this*, never the\n // editor's current text — otherwise changing a pill would execute a\n // half-typed edit nobody asked to run.\n const lastRun = useRef<{\n query: string;\n options: Record<string, unknown>;\n filters?: DataTableFilterSelection;\n columns?: DataTableServerColumn[];\n } | null>(null);\n const executedFilters = useRef<DataTableFilterSelection>({});\n\n // Every run goes through here so the record a filter re-runs from is refreshed\n // in one place: the query, its options, and the columns the source described,\n // which are what a subsequent selection binds to.\n const runRequest = useCallback(\n async (request: QueryBrowserRequest) => {\n setPending(true);\n setError(null);\n const started = performance.now();\n try {\n const next = await execute(request);\n setResult({\n ...next,\n durationMs: next.durationMs ?? performance.now() - started,\n });\n lastRun.current = {\n query: request.query,\n options: request.options,\n ...(request.filters ? { filters: request.filters } : {}),\n ...(next.columns ? { columns: next.columns } : {}),\n };\n } catch (err) {\n setError({\n message: err instanceof Error ? err.message : String(err),\n query: request.query,\n ...(err instanceof QueryBrowserExecutionError && err.diagnostics\n ? { diagnostics: err.diagnostics }\n : {}),\n ...(err instanceof QueryBrowserExecutionError && err.errorDetails\n ? { errorDetails: err.errorDetails }\n : {}),\n });\n } finally {\n setPending(false);\n }\n },\n [execute],\n );\n\n const currentQuery = useCallback(() => {\n const view = editor.current;\n if (!view) return initialQuery;\n const selection = view.state.selection.main;\n if (!selection.empty)\n return view.state.sliceDoc(selection.from, selection.to);\n return view.state.doc.toString();\n }, [initialQuery]);\n\n const run = useCallback(async () => {\n const query = currentQuery().trim();\n if ((!query && !allowEmptyQuery) || pending) return;\n if (query) setEntries(rememberQueryBrowserQuery(id, query));\n // A different statement is a different result set, so neither its filters\n // nor the columns they bind to survive: both name columns the new query may\n // not return.\n const repeat = lastRun.current?.query === query ? lastRun.current : null;\n const carried = repeat ? filters : {};\n if (carried !== filters) setFilters(carried);\n lastRun.current = { query, options };\n executedFilters.current = carried;\n await runRequest({\n query,\n options,\n ...(Object.keys(carried).length > 0 ? { filters: carried } : {}),\n ...(repeat?.columns ? { columns: repeat.columns } : {}),\n });\n }, [allowEmptyQuery, currentQuery, filters, id, options, pending, runRequest]);\n\n // A filter pill is not a draft the way query text is: it commits a discrete\n // value on selection, and the bar already debounces its free-text fields. So\n // a change re-runs the last executed query immediately rather than waiting\n // for Run, which is also how the profile catalog behaves.\n const rerunWithFilters = useCallback(\n async (selection: DataTableFilterSelection) => {\n const previous = lastRun.current;\n if (!previous) {\n throw new Error(\n \"QueryBrowser: a filter changed before any query had run\",\n );\n }\n await runRequest({\n ...previous,\n filters: selection,\n ...(result?.pagination\n ? { pagination: { limit: result.pagination.limit } }\n : {}),\n });\n },\n [result?.pagination, runRequest],\n );\n\n const rerunAt = useCallback(\n async (pagination: NonNullable<QueryBrowserRequest[\"pagination\"]>) => {\n const previous = lastRun.current;\n if (!previous) {\n throw new Error(\n \"QueryBrowser: pagination changed before any query had run\",\n );\n }\n await runRequest({ ...previous, pagination });\n },\n [runRequest],\n );\n\n // \"Debug\" reveals the console, which already holds the record for the run\n // that produced the rows on screen. It used to re-execute the query with a\n // `debug` flag — so the diagnostics described a *different* execution from\n // the one being looked at, and cost the backend a second full run to say so.\n const debugAction = useDebugAction();\n\n useEffect(() => {\n if (!lastRun.current) return;\n if (filters === executedFilters.current) return;\n executedFilters.current = filters;\n void rerunWithFilters(filters);\n }, [filters, rerunWithFilters]);\n\n executeRef.current = () => void run();\n onQueryChangeRef.current = onQueryChange;\n\n useEffect(() => {\n if (!editorHost.current) return;\n const view = new EditorView({\n parent: editorHost.current,\n state: EditorState.create({\n doc: initialQuery,\n extensions: queryBrowserEditorExtensions(\n () => executeRef.current(),\n (query) => onQueryChangeRef.current?.(query),\n languageConfig.current.of(\n queryBrowserLanguageExtension(language, completion),\n ),\n ),\n }),\n });\n editor.current = view;\n return () => {\n editor.current = null;\n view.destroy();\n };\n }, [id, language]);\n\n useEffect(() => {\n const view = editor.current;\n if (!view) return;\n view.dispatch({\n effects: languageConfig.current.reconfigure(\n queryBrowserLanguageExtension(language, completion),\n ),\n });\n }, [completion, language]);\n\n useEffect(() => {\n const view = editor.current;\n if (!view || view.state.doc.toString() === initialQuery) return;\n view.dispatch({\n changes: { from: 0, to: view.state.doc.length, insert: initialQuery },\n });\n }, [initialQuery]);\n\n useEffect(() => {\n setOptions(initialOptions ?? {});\n }, [initialOptions]);\n\n const updateOptions = useCallback(\n (next: Record<string, unknown>) => {\n setOptions(next);\n onOptionsChange?.(next);\n },\n [onOptionsChange],\n );\n\n useEffect(() => {\n setEntries(readQueryBrowserHistory(id));\n setResult(null);\n setError(null);\n setFilters({});\n lastRun.current = null;\n executedFilters.current = {};\n }, [id]);\n\n const rows = result?.rows ?? [];\n const described = result?.columns ?? [];\n const columns = useMemo(\n () =>\n described.length > 0\n ? serverColumnsToDataTableColumns<Record<string, unknown>>(described)\n : inferColumns(rows, { literalKeys: true }),\n [described, rows],\n );\n const lookupValues = useMemo<DataTableFilterLookup | undefined>(() => {\n if (!lookupFilterValues) return undefined;\n return (request) => {\n const previous = lastRun.current;\n if (!previous) {\n throw new Error(\n \"QueryBrowser: a filter lookup ran before any query had\",\n );\n }\n return lookupFilterValues({ ...request, ...previous, filters });\n };\n }, [filters, lookupFilterValues]);\n const filterConfig = useMemo(\n () =>\n serverFiltersToFilterBar(\n described,\n filters,\n setFilters,\n lookupValues ? { lookupValues } : {},\n ),\n [described, filters, lookupValues],\n );\n const serverFiltered =\n filterConfig.filters.length > 0 || filterConfig.timeRange !== undefined;\n const tablePagination = useMemo<DataTablePagination | undefined>(() => {\n const pagination = result?.pagination;\n if (!pagination) return undefined;\n const shared = {\n pageSize: pagination.limit,\n ...(pagination.total !== undefined ? { total: pagination.total } : {}),\n ...(pagination.totalRelation === \"eq\" ||\n pagination.totalRelation === \"gte\"\n ? { totalRelation: pagination.totalRelation }\n : {}),\n hasMore: pagination.hasMore,\n onPageSizeChange: (limit: number) => void rerunAt({ limit }),\n };\n if (pagination.mode === \"cursor\") {\n return {\n ...shared,\n page: 0,\n cursor: {\n ...(pagination.cursor ? { current: pagination.cursor } : {}),\n ...(pagination.nextCursor ? { next: pagination.nextCursor } : {}),\n onCursorChange: (cursor: string | undefined) =>\n void rerunAt({\n limit: pagination.limit,\n ...(cursor ? { cursor } : {}),\n }),\n },\n };\n }\n const page = Math.floor((pagination.offset ?? 0) / pagination.limit);\n return {\n ...shared,\n page,\n onPageChange: (nextPage: number) =>\n void rerunAt({\n limit: pagination.limit,\n offset: nextPage * pagination.limit,\n }),\n };\n }, [rerunAt, result?.pagination]);\n const defaultResults = (\n <QueryBrowserResults\n result={result}\n pending={pending}\n {...(title ? { title } : {})}\n queryLabel={queryLabel}\n columns={columns}\n filterConfig={filterConfig}\n serverFiltered={serverFiltered}\n {...(tablePagination ? { pagination: tablePagination } : {})}\n {...(debugAction ? { menuActions: [debugAction] } : {})}\n />\n );\n\n const workspace = (\n <div className=\"flex h-full min-h-0 flex-col overflow-hidden rounded-xl border bg-card\">\n <div className=\"flex flex-wrap items-center gap-2 border-b px-3 py-2\">\n <div className=\"min-w-0 flex-1\">\n {title && <h2 className=\"truncate text-sm font-semibold\">{title}</h2>}\n <p className=\"text-xs text-muted-foreground\">{queryLabel}</p>\n </div>\n {entries.length > 0 && (\n <select\n aria-label=\"Query history\"\n defaultValue=\"\"\n onChange={(event) => {\n const query = event.target.value;\n const view = editor.current;\n if (!view || !query) return;\n view.dispatch({\n changes: { from: 0, to: view.state.doc.length, insert: query },\n });\n event.target.value = \"\";\n }}\n className=\"h-8 max-w-52 rounded-md border bg-background px-2 text-xs\"\n >\n <option value=\"\">History</option>\n {entries.map((entry) => (\n <option key={`${entry.at}:${entry.query}`} value={entry.query}>\n {entry.query.replace(/\\s+/g, \" \").slice(0, 80)}\n </option>\n ))}\n </select>\n )}\n <Button\n size=\"sm\"\n onClick={() => void run()}\n loading={pending}\n loadingLabel={pending ? \"Running\" : undefined}\n >\n <Icon icon={UiPlay} className=\"size-4\" />\n Run\n </Button>\n </div>\n {optionsSchema &&\n Object.keys(optionsSchema.properties ?? {}).length > 0 && (\n <div className=\"border-b px-3 py-2\">\n <JsonSchemaForm\n schema={optionsSchema}\n value={options}\n onChange={updateOptions}\n size=\"sm\"\n inline\n showPreferencesMenu={false}\n persistPreferences={false}\n />\n </div>\n )}\n <div ref={editorHost} className=\"h-[34%] min-h-44 border-b\" />\n <div className=\"flex min-h-0 flex-1 flex-col overflow-auto p-3\">\n {error ? (\n <div className=\"space-y-3\">\n <ErrorDetails\n diagnostics={{\n ...(error.errorDetails ?? {\n message: error.message,\n context: [],\n }),\n context: [\n ...(error.errorDetails?.context ?? []),\n [\"Query\", error.query],\n [\"Language\", language],\n ],\n }}\n />\n {error.diagnostics && (\n <QueryBrowserDiagnosticsPanel diagnostics={error.diagnostics} />\n )}\n </div>\n ) : result && renderResults ? (\n renderResults({ result, defaultView: defaultResults })\n ) : (\n defaultResults\n )}\n </div>\n </div>\n );\n\n return (\n <div className={cn(\"h-[calc(100vh-15rem)] min-h-[32rem]\", className)}>\n {navigator ? (\n <SplitPane defaultSplit={28} left={navigator} right={workspace} />\n ) : (\n workspace\n )}\n </div>\n );\n}\n"],"names":["_a"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBrowser.types.cjs","sources":["../../../src/data/query-browser/QueryBrowser.types.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { JsonSchemaObject } from \"../../components/json-schema-form-types\";\nimport type { ErrorDiagnostics } from \"../diagnostics/error-diagnostics\";\nimport type { DataTableFilterSelection } from \"../data-table-filter-values\";\nimport type {\n DataTableFilterLookupRequest,\n DataTableFilterLookupResult,\n DataTableServerColumn,\n} from \"../data-table-server-filters\";\nimport type { QueryBrowserCompletion } from \"./QueryBrowser.completion\";\nimport type { QueryBrowserLanguage } from \"./QueryBrowser.editor\";\n\nexport type QueryBrowserPagination = {\n mode: \"offset\" | \"cursor\";\n limit: number;\n offset?: number;\n cursor?: string;\n nextCursor?: string;\n hasMore: boolean;\n total?: number;\n totalRelation: \"eq\" | \"gte\" | \"unknown\";\n consistency: \"live\" | \"snapshot\";\n};\n\nexport type QueryBrowserDiagnostics = {\n provider: string;\n request: {\n /** The statement the provider issued, with every runtime filter folded in. */\n query?: string;\n /** The same query before the provider composed the run onto it. */\n rendered?: string;\n connection?: string;\n arguments?: unknown[];\n options?: Record<string, unknown>;\n details?: Record<string, unknown>;\n /** The HTTP exchange the request rode on, for a provider that speaks HTTP. */\n method?: string;\n url?: string;\n headers?: Record<string, string>;\n };\n response?: {\n durationMs?: number;\n returnedRows?: number;\n pages?: number;\n details?: Record<string, unknown>;\n preview?: string;\n contentType?: string;\n truncated?: boolean;\n status?: number;\n headers?: Record<string, string>;\n };\n error?: string;\n};\n\nexport class QueryBrowserExecutionError extends Error {\n constructor(\n message: string,\n readonly diagnostics?: QueryBrowserDiagnostics,\n readonly errorDetails?: ErrorDiagnostics,\n ) {\n super(message);\n this.name = \"QueryBrowserExecutionError\";\n }\n}\n\nexport type QueryBrowserResult = {\n rows?: Record<string, unknown>[];\n columns?: DataTableServerColumn[];\n affectedRows?: number;\n durationMs?: number;\n message?: string;\n truncated?: boolean;\n limit?: number;\n metadata?: Record<string, unknown>;\n pagination?: QueryBrowserPagination;\n diagnostics?: QueryBrowserDiagnostics;\n};\n\nexport type QueryBrowserRequest = {\n query: string;\n options: Record<string, unknown>;\n filters?: DataTableFilterSelection;\n columns?: DataTableServerColumn[];\n pagination?: { limit: number; offset?: number; cursor?: string };\n
|
|
1
|
+
{"version":3,"file":"QueryBrowser.types.cjs","sources":["../../../src/data/query-browser/QueryBrowser.types.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { JsonSchemaObject } from \"../../components/json-schema-form-types\";\nimport type { ErrorDiagnostics } from \"../diagnostics/error-diagnostics\";\nimport type { DataTableFilterSelection } from \"../data-table-filter-values\";\nimport type {\n DataTableFilterLookupRequest,\n DataTableFilterLookupResult,\n DataTableServerColumn,\n} from \"../data-table-server-filters\";\nimport type { QueryBrowserCompletion } from \"./QueryBrowser.completion\";\nimport type { QueryBrowserLanguage } from \"./QueryBrowser.editor\";\n\nexport type QueryBrowserPagination = {\n mode: \"offset\" | \"cursor\";\n limit: number;\n offset?: number;\n cursor?: string;\n nextCursor?: string;\n hasMore: boolean;\n total?: number;\n totalRelation: \"eq\" | \"gte\" | \"unknown\";\n consistency: \"live\" | \"snapshot\";\n};\n\nexport type QueryBrowserDiagnostics = {\n provider: string;\n request: {\n /** The statement the provider issued, with every runtime filter folded in. */\n query?: string;\n /** The same query before the provider composed the run onto it. */\n rendered?: string;\n connection?: string;\n arguments?: unknown[];\n options?: Record<string, unknown>;\n details?: Record<string, unknown>;\n /** The HTTP exchange the request rode on, for a provider that speaks HTTP. */\n method?: string;\n url?: string;\n headers?: Record<string, string>;\n };\n response?: {\n durationMs?: number;\n returnedRows?: number;\n pages?: number;\n details?: Record<string, unknown>;\n preview?: string;\n contentType?: string;\n truncated?: boolean;\n status?: number;\n headers?: Record<string, string>;\n };\n error?: string;\n};\n\nexport class QueryBrowserExecutionError extends Error {\n constructor(\n message: string,\n readonly diagnostics?: QueryBrowserDiagnostics,\n readonly errorDetails?: ErrorDiagnostics,\n ) {\n super(message);\n this.name = \"QueryBrowserExecutionError\";\n }\n}\n\nexport type QueryBrowserResult = {\n rows?: Record<string, unknown>[];\n columns?: DataTableServerColumn[];\n affectedRows?: number;\n durationMs?: number;\n message?: string;\n truncated?: boolean;\n limit?: number;\n metadata?: Record<string, unknown>;\n pagination?: QueryBrowserPagination;\n diagnostics?: QueryBrowserDiagnostics;\n};\n\nexport type QueryBrowserRequest = {\n query: string;\n options: Record<string, unknown>;\n filters?: DataTableFilterSelection;\n columns?: DataTableServerColumn[];\n pagination?: { limit: number; offset?: number; cursor?: string };\n};\n\nexport type QueryBrowserFilterLookupRequest = DataTableFilterLookupRequest & {\n query: string;\n options: Record<string, unknown>;\n filters: DataTableFilterSelection;\n columns?: DataTableServerColumn[];\n};\n\nexport type QueryBrowserFilterLookup = (\n request: QueryBrowserFilterLookupRequest,\n) => Promise<DataTableFilterLookupResult>;\n\nexport type QueryBrowserResultContext = {\n result: QueryBrowserResult;\n defaultView: ReactNode;\n};\n\n// The optional props admit an explicit `undefined` — the same convention the\n// rest of the package follows (see data/CodeBlock.tsx). Passing a\n// possibly-absent value straight through, `className={maybe}`, is ordinary\n// React, and under exactOptionalPropertyTypes a bare `?:` rejects it.\nexport type QueryBrowserProps = {\n id: string;\n title?: string | undefined;\n language?: QueryBrowserLanguage | undefined;\n initialQuery?: string | undefined;\n queryLabel?: string | undefined;\n allowEmptyQuery?: boolean | undefined;\n optionsSchema?: JsonSchemaObject | undefined;\n initialOptions?: Record<string, unknown> | undefined;\n completion?: QueryBrowserCompletion | undefined;\n onQueryChange?: ((query: string) => void) | undefined;\n onOptionsChange?: ((options: Record<string, unknown>) => void) | undefined;\n navigator?: ReactNode | undefined;\n execute: (request: QueryBrowserRequest) => Promise<QueryBrowserResult>;\n lookupFilterValues?: QueryBrowserFilterLookup | undefined;\n renderResults?: ((context: QueryBrowserResultContext) => ReactNode) | undefined;\n className?: string | undefined;\n};\n"],"names":[],"mappings":";;AAsDO,MAAM,mCAAmC,MAAM;AAAA,EACpD,YACE,SACS,aACA,cACT;AACA,UAAM,OAAO;AAHJ,SAAA,cAAA;AACA,SAAA,eAAA;AAGT,SAAK,OAAO;AAAA,EACd;AACF;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBrowser.types.d.ts","sourceRoot":"","sources":["../../../src/data/query-browser/QueryBrowser.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"QueryBrowser.types.d.ts","sourceRoot":"","sources":["../../../src/data/query-browser/QueryBrowser.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBrowser.types.js","sources":["../../../src/data/query-browser/QueryBrowser.types.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { JsonSchemaObject } from \"../../components/json-schema-form-types\";\nimport type { ErrorDiagnostics } from \"../diagnostics/error-diagnostics\";\nimport type { DataTableFilterSelection } from \"../data-table-filter-values\";\nimport type {\n DataTableFilterLookupRequest,\n DataTableFilterLookupResult,\n DataTableServerColumn,\n} from \"../data-table-server-filters\";\nimport type { QueryBrowserCompletion } from \"./QueryBrowser.completion\";\nimport type { QueryBrowserLanguage } from \"./QueryBrowser.editor\";\n\nexport type QueryBrowserPagination = {\n mode: \"offset\" | \"cursor\";\n limit: number;\n offset?: number;\n cursor?: string;\n nextCursor?: string;\n hasMore: boolean;\n total?: number;\n totalRelation: \"eq\" | \"gte\" | \"unknown\";\n consistency: \"live\" | \"snapshot\";\n};\n\nexport type QueryBrowserDiagnostics = {\n provider: string;\n request: {\n /** The statement the provider issued, with every runtime filter folded in. */\n query?: string;\n /** The same query before the provider composed the run onto it. */\n rendered?: string;\n connection?: string;\n arguments?: unknown[];\n options?: Record<string, unknown>;\n details?: Record<string, unknown>;\n /** The HTTP exchange the request rode on, for a provider that speaks HTTP. */\n method?: string;\n url?: string;\n headers?: Record<string, string>;\n };\n response?: {\n durationMs?: number;\n returnedRows?: number;\n pages?: number;\n details?: Record<string, unknown>;\n preview?: string;\n contentType?: string;\n truncated?: boolean;\n status?: number;\n headers?: Record<string, string>;\n };\n error?: string;\n};\n\nexport class QueryBrowserExecutionError extends Error {\n constructor(\n message: string,\n readonly diagnostics?: QueryBrowserDiagnostics,\n readonly errorDetails?: ErrorDiagnostics,\n ) {\n super(message);\n this.name = \"QueryBrowserExecutionError\";\n }\n}\n\nexport type QueryBrowserResult = {\n rows?: Record<string, unknown>[];\n columns?: DataTableServerColumn[];\n affectedRows?: number;\n durationMs?: number;\n message?: string;\n truncated?: boolean;\n limit?: number;\n metadata?: Record<string, unknown>;\n pagination?: QueryBrowserPagination;\n diagnostics?: QueryBrowserDiagnostics;\n};\n\nexport type QueryBrowserRequest = {\n query: string;\n options: Record<string, unknown>;\n filters?: DataTableFilterSelection;\n columns?: DataTableServerColumn[];\n pagination?: { limit: number; offset?: number; cursor?: string };\n
|
|
1
|
+
{"version":3,"file":"QueryBrowser.types.js","sources":["../../../src/data/query-browser/QueryBrowser.types.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { JsonSchemaObject } from \"../../components/json-schema-form-types\";\nimport type { ErrorDiagnostics } from \"../diagnostics/error-diagnostics\";\nimport type { DataTableFilterSelection } from \"../data-table-filter-values\";\nimport type {\n DataTableFilterLookupRequest,\n DataTableFilterLookupResult,\n DataTableServerColumn,\n} from \"../data-table-server-filters\";\nimport type { QueryBrowserCompletion } from \"./QueryBrowser.completion\";\nimport type { QueryBrowserLanguage } from \"./QueryBrowser.editor\";\n\nexport type QueryBrowserPagination = {\n mode: \"offset\" | \"cursor\";\n limit: number;\n offset?: number;\n cursor?: string;\n nextCursor?: string;\n hasMore: boolean;\n total?: number;\n totalRelation: \"eq\" | \"gte\" | \"unknown\";\n consistency: \"live\" | \"snapshot\";\n};\n\nexport type QueryBrowserDiagnostics = {\n provider: string;\n request: {\n /** The statement the provider issued, with every runtime filter folded in. */\n query?: string;\n /** The same query before the provider composed the run onto it. */\n rendered?: string;\n connection?: string;\n arguments?: unknown[];\n options?: Record<string, unknown>;\n details?: Record<string, unknown>;\n /** The HTTP exchange the request rode on, for a provider that speaks HTTP. */\n method?: string;\n url?: string;\n headers?: Record<string, string>;\n };\n response?: {\n durationMs?: number;\n returnedRows?: number;\n pages?: number;\n details?: Record<string, unknown>;\n preview?: string;\n contentType?: string;\n truncated?: boolean;\n status?: number;\n headers?: Record<string, string>;\n };\n error?: string;\n};\n\nexport class QueryBrowserExecutionError extends Error {\n constructor(\n message: string,\n readonly diagnostics?: QueryBrowserDiagnostics,\n readonly errorDetails?: ErrorDiagnostics,\n ) {\n super(message);\n this.name = \"QueryBrowserExecutionError\";\n }\n}\n\nexport type QueryBrowserResult = {\n rows?: Record<string, unknown>[];\n columns?: DataTableServerColumn[];\n affectedRows?: number;\n durationMs?: number;\n message?: string;\n truncated?: boolean;\n limit?: number;\n metadata?: Record<string, unknown>;\n pagination?: QueryBrowserPagination;\n diagnostics?: QueryBrowserDiagnostics;\n};\n\nexport type QueryBrowserRequest = {\n query: string;\n options: Record<string, unknown>;\n filters?: DataTableFilterSelection;\n columns?: DataTableServerColumn[];\n pagination?: { limit: number; offset?: number; cursor?: string };\n};\n\nexport type QueryBrowserFilterLookupRequest = DataTableFilterLookupRequest & {\n query: string;\n options: Record<string, unknown>;\n filters: DataTableFilterSelection;\n columns?: DataTableServerColumn[];\n};\n\nexport type QueryBrowserFilterLookup = (\n request: QueryBrowserFilterLookupRequest,\n) => Promise<DataTableFilterLookupResult>;\n\nexport type QueryBrowserResultContext = {\n result: QueryBrowserResult;\n defaultView: ReactNode;\n};\n\n// The optional props admit an explicit `undefined` — the same convention the\n// rest of the package follows (see data/CodeBlock.tsx). Passing a\n// possibly-absent value straight through, `className={maybe}`, is ordinary\n// React, and under exactOptionalPropertyTypes a bare `?:` rejects it.\nexport type QueryBrowserProps = {\n id: string;\n title?: string | undefined;\n language?: QueryBrowserLanguage | undefined;\n initialQuery?: string | undefined;\n queryLabel?: string | undefined;\n allowEmptyQuery?: boolean | undefined;\n optionsSchema?: JsonSchemaObject | undefined;\n initialOptions?: Record<string, unknown> | undefined;\n completion?: QueryBrowserCompletion | undefined;\n onQueryChange?: ((query: string) => void) | undefined;\n onOptionsChange?: ((options: Record<string, unknown>) => void) | undefined;\n navigator?: ReactNode | undefined;\n execute: (request: QueryBrowserRequest) => Promise<QueryBrowserResult>;\n lookupFilterValues?: QueryBrowserFilterLookup | undefined;\n renderResults?: ((context: QueryBrowserResultContext) => ReactNode) | undefined;\n className?: string | undefined;\n};\n"],"names":[],"mappings":"AAsDO,MAAM,mCAAmC,MAAM;AAAA,EACpD,YACE,SACS,aACA,cACT;AACA,UAAM,OAAO;AAHJ,SAAA,cAAA;AACA,SAAA,eAAA;AAGT,SAAK,OAAO;AAAA,EACd;AACF;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const react = require("react");
|
|
4
|
+
const debugConsoleSignal = require("./debugConsoleSignal.cjs");
|
|
5
|
+
const UiDebug = require("../icons/components/UiDebug.cjs");
|
|
6
|
+
function useDebugAction() {
|
|
7
|
+
const available = react.useSyncExternalStore(
|
|
8
|
+
debugConsoleSignal.subscribeToDebugConsole,
|
|
9
|
+
debugConsoleSignal.debugConsoleAvailable,
|
|
10
|
+
// A server render has no console mounted, so the action is absent there too
|
|
11
|
+
// rather than hydrating into existence and shifting the menu.
|
|
12
|
+
() => false
|
|
13
|
+
);
|
|
14
|
+
return react.useMemo(
|
|
15
|
+
() => available ? {
|
|
16
|
+
id: "show-query",
|
|
17
|
+
label: "Debug",
|
|
18
|
+
icon: UiDebug.UiDebug,
|
|
19
|
+
// No heading and no description: one word under a "Debug" heading
|
|
20
|
+
// beside a one-line gloss of itself is three ways of saying the same
|
|
21
|
+
// thing in a menu with room for one.
|
|
22
|
+
section: "",
|
|
23
|
+
onSelect: () => debugConsoleSignal.revealDebugConsole({ tab: "queries" })
|
|
24
|
+
} : void 0,
|
|
25
|
+
[available]
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
exports.useDebugAction = useDebugAction;
|
|
29
|
+
//# sourceMappingURL=useDebugAction.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebugAction.cjs","sources":["../../src/data/useDebugAction.tsx"],"sourcesContent":["import { useMemo, useSyncExternalStore } from \"react\";\nimport { UiDebug } from \"../icons\";\nimport type { DataTableMenuAction } from \"./DataTable\";\nimport {\n debugConsoleAvailable,\n revealDebugConsole,\n subscribeToDebugConsole,\n} from \"./debugConsoleSignal\";\n\n/**\n * Puts \"Debug\" in a result table's overflow menu.\n *\n * It reveals the console rather than opening a dialog. The dialog it replaces\n * had to *re-run the query* to say what it ran, so what you inspected was never\n * the execution you were looking at — and it closed the moment you changed a\n * filter, which is precisely when you wanted to compare two runs. The console\n * already holds the record for the run that happened.\n *\n * The action is absent when no console is mounted. A menu item that silently\n * does nothing reads as broken; an absent one reads as a feature this app does\n * not have, which is the truth.\n */\nexport function useDebugAction(): DataTableMenuAction | undefined {\n const available = useSyncExternalStore(\n subscribeToDebugConsole,\n debugConsoleAvailable,\n // A server render has no console mounted, so the action is absent there too\n // rather than hydrating into existence and shifting the menu.\n () => false,\n );\n\n // Memoized because it lands in a memoized menu-action list: a fresh object\n // each render would rebuild that list, and the table's menu with it.\n return useMemo<DataTableMenuAction | undefined>(\n () =>\n available\n ? {\n id: \"show-query\",\n label: \"Debug\",\n icon: UiDebug,\n // No heading and no description: one word under a \"Debug\" heading\n // beside a one-line gloss of itself is three ways of saying the same\n // thing in a menu with room for one.\n section: \"\",\n onSelect: () => revealDebugConsole({ tab: \"queries\" }),\n }\n : undefined,\n [available],\n );\n}\n"],"names":["useSyncExternalStore","subscribeToDebugConsole","debugConsoleAvailable","useMemo","UiDebug","revealDebugConsole"],"mappings":";;;;;AAsBO,SAAS,iBAAkD;AAChE,QAAM,YAAYA,MAAAA;AAAAA,IAChBC,mBAAAA;AAAAA,IACAC,mBAAAA;AAAAA;AAAAA;AAAAA,IAGA,MAAM;AAAA,EAAA;AAKR,SAAOC,MAAAA;AAAAA,IACL,MACE,YACI;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMC,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAIN,SAAS;AAAA,MACT,UAAU,MAAMC,mBAAAA,mBAAmB,EAAE,KAAK,WAAW;AAAA,IAAA,IAEvD;AAAA,IACN,CAAC,SAAS;AAAA,EAAA;AAEd;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DataTableMenuAction } from './DataTable';
|
|
2
|
+
/**
|
|
3
|
+
* Puts "Debug" in a result table's overflow menu.
|
|
4
|
+
*
|
|
5
|
+
* It reveals the console rather than opening a dialog. The dialog it replaces
|
|
6
|
+
* had to *re-run the query* to say what it ran, so what you inspected was never
|
|
7
|
+
* the execution you were looking at — and it closed the moment you changed a
|
|
8
|
+
* filter, which is precisely when you wanted to compare two runs. The console
|
|
9
|
+
* already holds the record for the run that happened.
|
|
10
|
+
*
|
|
11
|
+
* The action is absent when no console is mounted. A menu item that silently
|
|
12
|
+
* does nothing reads as broken; an absent one reads as a feature this app does
|
|
13
|
+
* not have, which is the truth.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useDebugAction(): DataTableMenuAction | undefined;
|
|
16
|
+
//# sourceMappingURL=useDebugAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebugAction.d.ts","sourceRoot":"","sources":["../../src/data/useDebugAction.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAOvD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,IAAI,mBAAmB,GAAG,SAAS,CA2BhE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useSyncExternalStore, useMemo } from "react";
|
|
2
|
+
import { subscribeToDebugConsole, debugConsoleAvailable, revealDebugConsole } from "./debugConsoleSignal.js";
|
|
3
|
+
import { UiDebug } from "../icons/components/UiDebug.js";
|
|
4
|
+
function useDebugAction() {
|
|
5
|
+
const available = useSyncExternalStore(
|
|
6
|
+
subscribeToDebugConsole,
|
|
7
|
+
debugConsoleAvailable,
|
|
8
|
+
// A server render has no console mounted, so the action is absent there too
|
|
9
|
+
// rather than hydrating into existence and shifting the menu.
|
|
10
|
+
() => false
|
|
11
|
+
);
|
|
12
|
+
return useMemo(
|
|
13
|
+
() => available ? {
|
|
14
|
+
id: "show-query",
|
|
15
|
+
label: "Debug",
|
|
16
|
+
icon: UiDebug,
|
|
17
|
+
// No heading and no description: one word under a "Debug" heading
|
|
18
|
+
// beside a one-line gloss of itself is three ways of saying the same
|
|
19
|
+
// thing in a menu with room for one.
|
|
20
|
+
section: "",
|
|
21
|
+
onSelect: () => revealDebugConsole({ tab: "queries" })
|
|
22
|
+
} : void 0,
|
|
23
|
+
[available]
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
useDebugAction
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=useDebugAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebugAction.js","sources":["../../src/data/useDebugAction.tsx"],"sourcesContent":["import { useMemo, useSyncExternalStore } from \"react\";\nimport { UiDebug } from \"../icons\";\nimport type { DataTableMenuAction } from \"./DataTable\";\nimport {\n debugConsoleAvailable,\n revealDebugConsole,\n subscribeToDebugConsole,\n} from \"./debugConsoleSignal\";\n\n/**\n * Puts \"Debug\" in a result table's overflow menu.\n *\n * It reveals the console rather than opening a dialog. The dialog it replaces\n * had to *re-run the query* to say what it ran, so what you inspected was never\n * the execution you were looking at — and it closed the moment you changed a\n * filter, which is precisely when you wanted to compare two runs. The console\n * already holds the record for the run that happened.\n *\n * The action is absent when no console is mounted. A menu item that silently\n * does nothing reads as broken; an absent one reads as a feature this app does\n * not have, which is the truth.\n */\nexport function useDebugAction(): DataTableMenuAction | undefined {\n const available = useSyncExternalStore(\n subscribeToDebugConsole,\n debugConsoleAvailable,\n // A server render has no console mounted, so the action is absent there too\n // rather than hydrating into existence and shifting the menu.\n () => false,\n );\n\n // Memoized because it lands in a memoized menu-action list: a fresh object\n // each render would rebuild that list, and the table's menu with it.\n return useMemo<DataTableMenuAction | undefined>(\n () =>\n available\n ? {\n id: \"show-query\",\n label: \"Debug\",\n icon: UiDebug,\n // No heading and no description: one word under a \"Debug\" heading\n // beside a one-line gloss of itself is three ways of saying the same\n // thing in a menu with room for one.\n section: \"\",\n onSelect: () => revealDebugConsole({ tab: \"queries\" }),\n }\n : undefined,\n [available],\n );\n}\n"],"names":[],"mappings":";;;AAsBO,SAAS,iBAAkD;AAChE,QAAM,YAAY;AAAA,IAChB;AAAA,IACA;AAAA;AAAA;AAAA,IAGA,MAAM;AAAA,EAAA;AAKR,SAAO;AAAA,IACL,MACE,YACI;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAM;AAAA;AAAA;AAAA;AAAA,MAIN,SAAS;AAAA,MACT,UAAU,MAAM,mBAAmB,EAAE,KAAK,WAAW;AAAA,IAAA,IAEvD;AAAA,IACN,CAAC,SAAS;AAAA,EAAA;AAEd;"}
|
|
@@ -15,9 +15,9 @@ function detectMode() {
|
|
|
15
15
|
}
|
|
16
16
|
function getVersionInfo() {
|
|
17
17
|
return {
|
|
18
|
-
commit: read(() => "
|
|
19
|
-
tag: read(() => "clicky-ui@0.3.
|
|
20
|
-
date: read(() => "2026-08-
|
|
18
|
+
commit: read(() => "b69393cb", ""),
|
|
19
|
+
tag: read(() => "clicky-ui@0.3.25", ""),
|
|
20
|
+
date: read(() => "2026-08-24T09:21:57.094Z", ""),
|
|
21
21
|
dirty: read(() => true, false),
|
|
22
22
|
mode: detectMode()
|
|
23
23
|
};
|
|
@@ -13,9 +13,9 @@ function detectMode() {
|
|
|
13
13
|
}
|
|
14
14
|
function getVersionInfo() {
|
|
15
15
|
return {
|
|
16
|
-
commit: read(() => "
|
|
17
|
-
tag: read(() => "clicky-ui@0.3.
|
|
18
|
-
date: read(() => "2026-08-
|
|
16
|
+
commit: read(() => "b69393cb", ""),
|
|
17
|
+
tag: read(() => "clicky-ui@0.3.25", ""),
|
|
18
|
+
date: read(() => "2026-08-24T09:21:29.549Z", ""),
|
|
19
19
|
dirty: read(() => true, false),
|
|
20
20
|
mode: detectMode()
|
|
21
21
|
};
|
package/dist/data.cjs
CHANGED
|
@@ -73,6 +73,8 @@ const ExecutionTree = require("./data/ExecutionTree.cjs");
|
|
|
73
73
|
const TreeNode = require("./data/TreeNode.cjs");
|
|
74
74
|
const TreeGroupHeader = require("./data/TreeGroupHeader.cjs");
|
|
75
75
|
const Timeline = require("./data/Timeline.cjs");
|
|
76
|
+
const debugConsoleSignal = require("./data/debugConsoleSignal.cjs");
|
|
77
|
+
const useDebugAction = require("./data/useDebugAction.cjs");
|
|
76
78
|
const TaskSnapshot = require("./data/TaskSnapshot.cjs");
|
|
77
79
|
const taskStatus = require("./data/task-status.cjs");
|
|
78
80
|
const TaskProgress = require("./data/TaskProgress.cjs");
|
|
@@ -106,10 +108,8 @@ const CacheValue = require("./data/cache-browser/CacheValue.cjs");
|
|
|
106
108
|
const ClickyExportDialog = require("./data/clicky-export/ClickyExportDialog.cjs");
|
|
107
109
|
const FixtureEditor = require("./data/FixtureEditor/FixtureEditor.cjs");
|
|
108
110
|
const GitChangeList = require("./data/git/GitChangeList.cjs");
|
|
109
|
-
const queryInfo = require("./data/query-info/queryInfo.cjs");
|
|
110
111
|
const QueryBrowser = require("./data/query-browser/QueryBrowser.cjs");
|
|
111
112
|
const QueryBrowser_types = require("./data/query-browser/QueryBrowser.types.cjs");
|
|
112
|
-
const QueryInfoDialog = require("./data/query-info/QueryInfoDialog.cjs");
|
|
113
113
|
const status = require("./data/test-runner/status.cjs");
|
|
114
114
|
const TestFailureDetail = require("./data/test-runner/TestFailureDetail.cjs");
|
|
115
115
|
const TestDetailPanel = require("./data/test-runner/TestDetailPanel.cjs");
|
|
@@ -319,6 +319,7 @@ const UiNetwork = require("./icons/components/UiNetwork.cjs");
|
|
|
319
319
|
const UiNull = require("./icons/components/UiNull.cjs");
|
|
320
320
|
const UiNumeric = require("./icons/components/UiNumeric.cjs");
|
|
321
321
|
const UiObject = require("./icons/components/UiObject.cjs");
|
|
322
|
+
const UiOpenScad = require("./icons/components/UiOpenScad.cjs");
|
|
322
323
|
const UiOperator = require("./icons/components/UiOperator.cjs");
|
|
323
324
|
const UiOrganization = require("./icons/components/UiOrganization.cjs");
|
|
324
325
|
const UiPackage = require("./icons/components/UiPackage.cjs");
|
|
@@ -454,7 +455,6 @@ const gitDates = require("./data/git/git-dates.cjs");
|
|
|
454
455
|
const frameworkIcon = require("./data/test-runner/frameworkIcon.cjs");
|
|
455
456
|
const types = require("./data/cache-browser/types.cjs");
|
|
456
457
|
const useClickyExport = require("./data/clicky-export/useClickyExport.cjs");
|
|
457
|
-
const useQueryInfo = require("./data/query-info/useQueryInfo.cjs");
|
|
458
458
|
exports.AnsiHtml = AnsiHtml.AnsiHtml;
|
|
459
459
|
exports.Avatar = Avatar.Avatar;
|
|
460
460
|
exports.AvatarBadge = AvatarBadge.AvatarBadge;
|
|
@@ -575,6 +575,18 @@ exports.ExecutionTree = ExecutionTree.ExecutionTree;
|
|
|
575
575
|
exports.TreeNode = TreeNode.TreeNode;
|
|
576
576
|
exports.TreeGroupHeader = TreeGroupHeader.TreeGroupHeader;
|
|
577
577
|
exports.Timeline = Timeline.Timeline;
|
|
578
|
+
exports.DEBUG_CAPTURE_HEADER = debugConsoleSignal.DEBUG_CAPTURE_HEADER;
|
|
579
|
+
exports.DEBUG_REFRESH_INSPECTION_HEADER = debugConsoleSignal.DEBUG_REFRESH_INSPECTION_HEADER;
|
|
580
|
+
exports.debugCaptureHeaders = debugConsoleSignal.debugCaptureHeaders;
|
|
581
|
+
exports.debugConsoleAvailable = debugConsoleSignal.debugConsoleAvailable;
|
|
582
|
+
exports.debugConsoleOpen = debugConsoleSignal.debugConsoleOpen;
|
|
583
|
+
exports.registerDebugConsole = debugConsoleSignal.registerDebugConsole;
|
|
584
|
+
exports.revealDebugConsole = debugConsoleSignal.revealDebugConsole;
|
|
585
|
+
exports.setDebugCaptureLevel = debugConsoleSignal.setDebugCaptureLevel;
|
|
586
|
+
exports.setDebugConsoleOpen = debugConsoleSignal.setDebugConsoleOpen;
|
|
587
|
+
exports.setDebugRefreshInspection = debugConsoleSignal.setDebugRefreshInspection;
|
|
588
|
+
exports.subscribeToDebugConsole = debugConsoleSignal.subscribeToDebugConsole;
|
|
589
|
+
exports.useDebugAction = useDebugAction.useDebugAction;
|
|
578
590
|
exports.allGroupsTerminal = TaskSnapshot.allGroupsTerminal;
|
|
579
591
|
exports.isTerminalStatus = TaskSnapshot.isTerminalStatus;
|
|
580
592
|
exports.bucketTasks = taskStatus.bucketTasks;
|
|
@@ -639,12 +651,8 @@ exports.GitChangedFilesSummary = GitChangeList.GitChangedFilesSummary;
|
|
|
639
651
|
exports.GitCommitList = GitChangeList.GitCommitList;
|
|
640
652
|
exports.GitDiffPanel = GitChangeList.GitDiffPanel;
|
|
641
653
|
exports.GitFileList = GitChangeList.GitFileList;
|
|
642
|
-
exports.QUERY_INFO_CONTENT_TYPE = queryInfo.QUERY_INFO_CONTENT_TYPE;
|
|
643
|
-
exports.buildQueryInfoUrl = queryInfo.buildQueryInfoUrl;
|
|
644
|
-
exports.fetchQueryInfo = queryInfo.fetchQueryInfo;
|
|
645
654
|
exports.QueryBrowser = QueryBrowser.QueryBrowser;
|
|
646
655
|
exports.QueryBrowserExecutionError = QueryBrowser_types.QueryBrowserExecutionError;
|
|
647
|
-
exports.QueryInfoDialog = QueryInfoDialog.QueryInfoDialog;
|
|
648
656
|
exports.STATUS_LABELS = status.STATUS_LABELS;
|
|
649
657
|
exports.aggregateStatusCounts = status.aggregateStatusCounts;
|
|
650
658
|
exports.collapseSingleChildChains = status.collapseSingleChildChains;
|
|
@@ -1027,6 +1035,7 @@ exports.UiNetworkFilled = UiNetwork.UiNetworkFilled;
|
|
|
1027
1035
|
exports.UiNull = UiNull.UiNull;
|
|
1028
1036
|
exports.UiNumeric = UiNumeric.UiNumeric;
|
|
1029
1037
|
exports.UiObject = UiObject.UiObject;
|
|
1038
|
+
exports.UiOpenScad = UiOpenScad.UiOpenScad;
|
|
1030
1039
|
exports.UiOperator = UiOperator.UiOperator;
|
|
1031
1040
|
exports.UiOrganization = UiOrganization.UiOrganization;
|
|
1032
1041
|
exports.UiOrganizationCheck = UiOrganization.UiOrganizationCheck;
|
|
@@ -1308,5 +1317,4 @@ exports.formatGitCommitDateHeader = gitDates.formatGitCommitDateHeader;
|
|
|
1308
1317
|
exports.frameworkIcon = frameworkIcon.frameworkIcon;
|
|
1309
1318
|
exports.isLeaf = types.isLeaf;
|
|
1310
1319
|
exports.useClickyExport = useClickyExport.useClickyExport;
|
|
1311
|
-
exports.useQueryInfo = useQueryInfo.useQueryInfo;
|
|
1312
1320
|
//# sourceMappingURL=data.cjs.map
|
package/dist/data.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/data.d.ts
CHANGED
|
@@ -77,7 +77,8 @@ export * from './data/git';
|
|
|
77
77
|
export * from './data/test-runner';
|
|
78
78
|
export * from './data/cache-browser';
|
|
79
79
|
export * from './data/query-browser';
|
|
80
|
-
export
|
|
80
|
+
export { debugCaptureHeaders, debugConsoleAvailable, debugConsoleOpen, DEBUG_CAPTURE_HEADER, registerDebugConsole, revealDebugConsole, DEBUG_REFRESH_INSPECTION_HEADER, setDebugCaptureLevel, setDebugConsoleOpen, setDebugRefreshInspection, subscribeToDebugConsole, type DebugConsoleRequest, } from './data/debugConsoleSignal';
|
|
81
|
+
export { useDebugAction } from './data/useDebugAction';
|
|
81
82
|
export * from './data/clicky-export';
|
|
82
83
|
export { type LogEntry, type TaskControlAction, type TaskExecDetails, type TaskSnapshot, type TaskRunMeta, isTerminalStatus, allGroupsTerminal, } from './data/TaskSnapshot';
|
|
83
84
|
export { taskStatusColor, taskStatusIcon, taskStatusBg, logLevelColor, taskSegments, bucketTasks, } from './data/task-status';
|
|
@@ -104,5 +105,5 @@ export { parseJavaStackTrace, type ParsedStackFrame, type ParsedStackTrace, } fr
|
|
|
104
105
|
export { ErrorDetails, PrettyStackTrace, CopyBadge, type ErrorDetailsProps, } from './data/diagnostics/ErrorDetails';
|
|
105
106
|
export { normalizeErrorDiagnostics, parseDiagnosticsStackTrace, parseInlineJsonContextValue, compactStackPath, isApplicationStackFrame, type ErrorDiagnostics, type ErrorStackFrame, type ParsedErrorStackTrace, } from './data/diagnostics/error-diagnostics';
|
|
106
107
|
export { HarPanel, type HarPanelProps } from './data/har/HarPanel';
|
|
107
|
-
export type { HAREntry, HARRequest, HARResponse, HARContent, HARHeader, HARPostData, } from './data/har/types';
|
|
108
|
+
export type { HAREntry, HARRequest, HARResponse, HARContent, HARCreator, HARFile, HARHeader, HARLog, HARPostData, } from './data/har/types';
|
|
108
109
|
//# sourceMappingURL=data.d.ts.map
|
package/dist/data.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}
|