drizzle-cube 0.4.4 → 0.4.7
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/dist/adapters/express/index.cjs +8 -4
- package/dist/adapters/express/index.d.ts +7 -0
- package/dist/adapters/express/index.js +189 -139
- package/dist/adapters/fastify/index.cjs +8 -4
- package/dist/adapters/fastify/index.d.ts +7 -0
- package/dist/adapters/fastify/index.js +209 -150
- package/dist/adapters/handler-D6l8AbJV.cjs +7 -0
- package/dist/adapters/handler-DsNgnIPK.js +458 -0
- package/dist/adapters/hono/index.cjs +8 -4
- package/dist/adapters/hono/index.d.ts +7 -0
- package/dist/adapters/hono/index.js +202 -144
- package/dist/adapters/{mcp-transport-BqLo4hKi.cjs → mcp-transport-BB998cy5.cjs} +21 -21
- package/dist/adapters/{mcp-transport-YHDZWKOi.js → mcp-transport-DFTCWene.js} +4 -0
- package/dist/adapters/nextjs/index.cjs +7 -3
- package/dist/adapters/nextjs/index.d.ts +14 -0
- package/dist/adapters/nextjs/index.js +220 -144
- package/dist/client/charts.js +13 -13
- package/dist/client/chunks/{RetentionCombinedChart-BK8N-MOQ.js → RetentionCombinedChart-CEI8KQ3t.js} +2 -2
- package/dist/client/chunks/{RetentionCombinedChart-BK8N-MOQ.js.map → RetentionCombinedChart-CEI8KQ3t.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-CNBmAGAO.js → analysis-builder-Dn8xpgPQ.js} +6 -6
- package/dist/client/chunks/{analysis-builder-CNBmAGAO.js.map → analysis-builder-Dn8xpgPQ.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-shared-INGGwyTG.js → analysis-builder-shared-D3xYzXlh.js} +2 -2
- package/dist/client/chunks/{analysis-builder-shared-INGGwyTG.js.map → analysis-builder-shared-D3xYzXlh.js.map} +1 -1
- package/dist/client/chunks/{chart-activity-grid-DvgTYQaE.js → chart-activity-grid-DStNr34n.js} +2 -2
- package/dist/client/chunks/{chart-activity-grid-DvgTYQaE.js.map → chart-activity-grid-DStNr34n.js.map} +1 -1
- package/dist/client/chunks/{chart-area-BKjd_STS.js → chart-area-QKKboTbq.js} +3 -3
- package/dist/client/chunks/{chart-area-BKjd_STS.js.map → chart-area-QKKboTbq.js.map} +1 -1
- package/dist/client/chunks/{chart-bar-DBI41w05.js → chart-bar-HpXF42H1.js} +2 -2
- package/dist/client/chunks/{chart-bar-DBI41w05.js.map → chart-bar-HpXF42H1.js.map} +1 -1
- package/dist/client/chunks/{chart-bubble-BD-1kneU.js → chart-bubble-Bf42A1-B.js} +2 -2
- package/dist/client/chunks/{chart-bubble-BD-1kneU.js.map → chart-bubble-Bf42A1-B.js.map} +1 -1
- package/dist/client/chunks/{chart-config-markdown-6fsr-U6_.js → chart-config-markdown-BXKL5TbQ.js} +8 -1
- package/dist/client/chunks/{chart-config-markdown-6fsr-U6_.js.map → chart-config-markdown-BXKL5TbQ.js.map} +1 -1
- package/dist/client/chunks/{chart-data-table-B74HLpAx.js → chart-data-table-Ch_1c1Zo.js} +2 -2
- package/dist/client/chunks/{chart-data-table-B74HLpAx.js.map → chart-data-table-Ch_1c1Zo.js.map} +1 -1
- package/dist/client/chunks/{chart-funnel-DQ9cW6j9.js → chart-funnel-C9kenCpp.js} +2 -2
- package/dist/client/chunks/{chart-funnel-DQ9cW6j9.js.map → chart-funnel-C9kenCpp.js.map} +1 -1
- package/dist/client/chunks/{chart-heat-map-CpIr4tbs.js → chart-heat-map-CYGemyPB.js} +2 -2
- package/dist/client/chunks/{chart-heat-map-CpIr4tbs.js.map → chart-heat-map-CYGemyPB.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-delta-DPcSazD3.js → chart-kpi-delta-CWCmi8vL.js} +3 -3
- package/dist/client/chunks/{chart-kpi-delta-DPcSazD3.js.map → chart-kpi-delta-CWCmi8vL.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-number-D62PzKZ1.js → chart-kpi-number-C-5m3qt5.js} +2 -2
- package/dist/client/chunks/{chart-kpi-number-D62PzKZ1.js.map → chart-kpi-number-C-5m3qt5.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-text-B6Z5tFV1.js → chart-kpi-text--t4ibPmx.js} +3 -3
- package/dist/client/chunks/{chart-kpi-text-B6Z5tFV1.js.map → chart-kpi-text--t4ibPmx.js.map} +1 -1
- package/dist/client/chunks/{chart-line-Ds4BYA0K.js → chart-line-C7YcMWBw.js} +3 -3
- package/dist/client/chunks/{chart-line-Ds4BYA0K.js.map → chart-line-C7YcMWBw.js.map} +1 -1
- package/dist/client/chunks/chart-markdown-Du4Z2iqK.js +2695 -0
- package/dist/client/chunks/chart-markdown-Du4Z2iqK.js.map +1 -0
- package/dist/client/chunks/{chart-pie-BBrLh0iU.js → chart-pie-C4SuxKSN.js} +2 -2
- package/dist/client/chunks/{chart-pie-BBrLh0iU.js.map → chart-pie-C4SuxKSN.js.map} +1 -1
- package/dist/client/chunks/{chart-radar-vr5FgjHT.js → chart-radar-BW3Z_-Ly.js} +2 -2
- package/dist/client/chunks/{chart-radar-vr5FgjHT.js.map → chart-radar-BW3Z_-Ly.js.map} +1 -1
- package/dist/client/chunks/{chart-radial-bar-BV_3Nm5P.js → chart-radial-bar-0Fa3aeP5.js} +2 -2
- package/dist/client/chunks/{chart-radial-bar-BV_3Nm5P.js.map → chart-radial-bar-0Fa3aeP5.js.map} +1 -1
- package/dist/client/chunks/{chart-sankey-CHROzr4S.js → chart-sankey-DBghfbg1.js} +2 -2
- package/dist/client/chunks/{chart-sankey-CHROzr4S.js.map → chart-sankey-DBghfbg1.js.map} +1 -1
- package/dist/client/chunks/{chart-scatter-DbRTU3FG.js → chart-scatter-DOVu1TNq.js} +2 -2
- package/dist/client/chunks/{chart-scatter-DbRTU3FG.js.map → chart-scatter-DOVu1TNq.js.map} +1 -1
- package/dist/client/chunks/{chart-sunburst-B-aPUzYL.js → chart-sunburst-LfNthFlZ.js} +2 -2
- package/dist/client/chunks/{chart-sunburst-B-aPUzYL.js.map → chart-sunburst-LfNthFlZ.js.map} +1 -1
- package/dist/client/chunks/{chart-tree-map-qY148fiC.js → chart-tree-map-DZtQPyWX.js} +2 -2
- package/dist/client/chunks/{chart-tree-map-qY148fiC.js.map → chart-tree-map-DZtQPyWX.js.map} +1 -1
- package/dist/client/chunks/{chartConfigRegistry-Di34paQH.js → chartConfigRegistry-C5dZm-ZK.js} +2 -2
- package/dist/client/chunks/{chartConfigRegistry-Di34paQH.js.map → chartConfigRegistry-C5dZm-ZK.js.map} +1 -1
- package/dist/client/chunks/{charts-core-T8UglYyq.js → charts-core-DmGfleFz.js} +199 -187
- package/dist/client/chunks/{charts-core-T8UglYyq.js.map → charts-core-DmGfleFz.js.map} +1 -1
- package/dist/client/chunks/{charts-loader-YnhJHubD.js → charts-loader-DcFWOUeV.js} +21 -21
- package/dist/client/chunks/{charts-loader-YnhJHubD.js.map → charts-loader-DcFWOUeV.js.map} +1 -1
- package/dist/client/chunks/{components-D0i1yQsk.js → components-Bdt1AmzS.js} +3521 -3369
- package/dist/client/chunks/components-Bdt1AmzS.js.map +1 -0
- package/dist/client/components/AgenticNotebook/AgentChatPanel.d.ts +8 -0
- package/dist/client/components/AgenticNotebook/ChatInput.d.ts +14 -0
- package/dist/client/components/AgenticNotebook/ChatMessage.d.ts +7 -0
- package/dist/client/components/AgenticNotebook/NotebookCanvas.d.ts +3 -0
- package/dist/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +12 -0
- package/dist/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +12 -0
- package/dist/client/components/AgenticNotebook/index.d.ts +34 -0
- package/dist/client/components/DashboardPortletCard.d.ts +3 -2
- package/dist/client/components.js +1 -1
- package/dist/client/hooks/dashboard/layoutUtils.d.ts +7 -0
- package/dist/client/hooks/dashboard/useDashboardController.d.ts +53 -0
- package/dist/client/hooks/dashboard/useGridLayoutEngine.d.ts +10 -0
- package/dist/client/hooks/dashboard/useRowLayoutEngine.d.ts +18 -0
- package/dist/client/hooks/useAgentChat.d.ts +36 -0
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.js +923 -187
- package/dist/client/index.js.map +1 -1
- package/dist/client/stores/notebookStore.d.ts +152 -0
- package/dist/client/styles.css +1 -1
- package/dist/client/utils.js +4 -4
- package/dist/client-bundle-stats.html +1 -1
- package/dist/server/index.cjs +101 -91
- package/dist/server/index.d.ts +155 -0
- package/dist/server/index.js +4423 -3609
- package/package.json +7 -1
- package/dist/client/chunks/chart-markdown-Rq6ORisB.js +0 -276
- package/dist/client/chunks/chart-markdown-Rq6ORisB.js.map +0 -1
- package/dist/client/chunks/components-D0i1yQsk.js.map +0 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface AgentChatPanelProps {
|
|
3
|
+
agentEndpoint?: string;
|
|
4
|
+
agentApiKey?: string;
|
|
5
|
+
onClear?: () => void;
|
|
6
|
+
}
|
|
7
|
+
declare const AgentChatPanel: React.NamedExoticComponent<AgentChatPanelProps>;
|
|
8
|
+
export default AgentChatPanel;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface ChatInputProps {
|
|
3
|
+
value: string;
|
|
4
|
+
onChange: (value: string) => void;
|
|
5
|
+
onSend: () => void;
|
|
6
|
+
onStop?: () => void;
|
|
7
|
+
onContinue?: () => void;
|
|
8
|
+
isStreaming?: boolean;
|
|
9
|
+
showContinue?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
}
|
|
13
|
+
declare const ChatInput: React.NamedExoticComponent<ChatInputProps>;
|
|
14
|
+
export default ChatInput;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ChatMessage as ChatMessageType } from '../../stores/notebookStore';
|
|
3
|
+
interface ChatMessageProps {
|
|
4
|
+
message: ChatMessageType;
|
|
5
|
+
}
|
|
6
|
+
declare const ChatMessage: React.NamedExoticComponent<ChatMessageProps>;
|
|
7
|
+
export default ChatMessage;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { MarkdownBlock } from '../../stores/notebookStore';
|
|
3
|
+
interface NotebookMarkdownBlockProps {
|
|
4
|
+
block: MarkdownBlock;
|
|
5
|
+
onRemove: (id: string) => void;
|
|
6
|
+
onMoveUp: (id: string) => void;
|
|
7
|
+
onMoveDown: (id: string) => void;
|
|
8
|
+
isFirst: boolean;
|
|
9
|
+
isLast: boolean;
|
|
10
|
+
}
|
|
11
|
+
declare const NotebookMarkdownBlock: React.NamedExoticComponent<NotebookMarkdownBlockProps>;
|
|
12
|
+
export default NotebookMarkdownBlock;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { PortletBlock } from '../../stores/notebookStore';
|
|
3
|
+
interface NotebookPortletBlockProps {
|
|
4
|
+
block: PortletBlock;
|
|
5
|
+
onRemove: (id: string) => void;
|
|
6
|
+
onMoveUp: (id: string) => void;
|
|
7
|
+
onMoveDown: (id: string) => void;
|
|
8
|
+
isFirst: boolean;
|
|
9
|
+
isLast: boolean;
|
|
10
|
+
}
|
|
11
|
+
declare const NotebookPortletBlock: React.NamedExoticComponent<NotebookPortletBlockProps>;
|
|
12
|
+
export default NotebookPortletBlock;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { NotebookConfig } from '../../stores/notebookStore';
|
|
3
|
+
import { ColorPalette } from '../../types';
|
|
4
|
+
export interface AgenticNotebookProps {
|
|
5
|
+
/** Initial config to restore (saved notebooks) */
|
|
6
|
+
config?: NotebookConfig;
|
|
7
|
+
/** Override default agent endpoint (default: apiUrl + '/agent/chat') */
|
|
8
|
+
agentEndpoint?: string;
|
|
9
|
+
/** Client-side API key (for demo/try-site use) */
|
|
10
|
+
agentApiKey?: string;
|
|
11
|
+
/** Callback when notebook state changes (for persistence) */
|
|
12
|
+
onSave?: (config: NotebookConfig) => void | Promise<void>;
|
|
13
|
+
/** Callback when dirty state changes */
|
|
14
|
+
onDirtyStateChange?: (isDirty: boolean) => void;
|
|
15
|
+
/** Color palette for charts */
|
|
16
|
+
colorPalette?: ColorPalette;
|
|
17
|
+
/** Additional CSS class name */
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* AgenticNotebook - AI-powered data analysis notebook
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* <CubeProvider apiOptions={{ apiUrl: '/api/cubejs-api/v1' }} token={token}>
|
|
26
|
+
* <AgenticNotebook
|
|
27
|
+
* agentApiKey="sk-..."
|
|
28
|
+
* onSave={(config) => saveToDatabase(config)}
|
|
29
|
+
* />
|
|
30
|
+
* </CubeProvider>
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
declare const AgenticNotebook: React.NamedExoticComponent<AgenticNotebookProps>;
|
|
34
|
+
export default AgenticNotebook;
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { default as React, HTMLAttributes, ReactNode, CSSProperties, ComponentType } from 'react';
|
|
2
|
-
import { DashboardFilter, PortletConfig } from '../types';
|
|
2
|
+
import { DashboardFilter, DashboardLayoutMode, PortletConfig } from '../types';
|
|
3
3
|
import { ColorPalette } from '../utils/colorPalettes';
|
|
4
4
|
/**
|
|
5
5
|
* Simplified props interface after Zustand migration.
|
|
6
|
-
* State (
|
|
6
|
+
* State (selectedFilterId, debugData) now comes from store.
|
|
7
7
|
* Actions now come from callbacks prop or store.
|
|
8
8
|
*/
|
|
9
9
|
interface DashboardPortletCardProps {
|
|
10
10
|
portlet: PortletConfig;
|
|
11
11
|
editable: boolean;
|
|
12
|
+
layoutMode?: DashboardLayoutMode;
|
|
12
13
|
dashboardFilters?: DashboardFilter[];
|
|
13
14
|
configEagerLoad?: boolean;
|
|
14
15
|
loadingComponent?: ReactNode;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a8 as s, a as t, A as o, e as r, D as i, M as l, P as d } from "./chunks/components-
|
|
1
|
+
import { a8 as s, a as t, A as o, e as r, D as i, M as l, P as d } from "./chunks/components-Bdt1AmzS.js";
|
|
2
2
|
import { c as y, d as P, b, a as D, g as c, v as p } from "./chunks/index-CApFCBF9.js";
|
|
3
3
|
export {
|
|
4
4
|
s as AnalysisDisplayConfigPanel,
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DashboardGridSettings, PortletConfig, RowLayout, RowLayoutColumn } from '../../types';
|
|
2
|
+
export declare const createRowId: () => string;
|
|
3
|
+
export declare const equalizeRowColumns: (portletIds: string[], gridSettings: DashboardGridSettings) => RowLayoutColumn[];
|
|
4
|
+
export declare const adjustRowWidths: (columns: RowLayoutColumn[], gridSettings: DashboardGridSettings) => RowLayoutColumn[];
|
|
5
|
+
export declare const convertPortletsToRows: (portlets: PortletConfig[], gridSettings: DashboardGridSettings) => RowLayout[];
|
|
6
|
+
export declare const normalizeRows: (rows: RowLayout[], portlets: PortletConfig[], gridSettings: DashboardGridSettings) => RowLayout[];
|
|
7
|
+
export declare const convertRowsToPortlets: (rows: RowLayout[], portlets: PortletConfig[]) => PortletConfig[];
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { MutableRefObject, RefObject } from 'react';
|
|
2
|
+
import { StoreApi } from 'zustand';
|
|
3
|
+
import { DashboardConfig, DashboardGridSettings, DashboardLayoutMode, PortletConfig, RowLayout, ThumbnailFeatureConfig } from '../../types';
|
|
4
|
+
import { DashboardStore, DashboardStoreActions } from '../../stores/dashboardStore';
|
|
5
|
+
interface UseDashboardControllerOptions {
|
|
6
|
+
allowedModes: DashboardLayoutMode[];
|
|
7
|
+
canChangeLayoutMode: boolean;
|
|
8
|
+
isResponsiveEditable: boolean;
|
|
9
|
+
layoutMode: DashboardLayoutMode;
|
|
10
|
+
resolvedRows: RowLayout[];
|
|
11
|
+
gridSettings: DashboardGridSettings;
|
|
12
|
+
thumbnailConfig?: ThumbnailFeatureConfig;
|
|
13
|
+
dashboardRef?: RefObject<HTMLElement | null>;
|
|
14
|
+
storeApi: StoreApi<DashboardStore>;
|
|
15
|
+
storeActions: Pick<DashboardStoreActions, 'setEditMode' | 'exitFilterSelectionMode' | 'openPortletModal' | 'closePortletModal' | 'openTextModal' | 'closeTextModal' | 'openFilterConfigModal' | 'closeFilterConfigModal' | 'openDeleteConfirm' | 'closeDeleteConfirm' | 'setThumbnailDirty'>;
|
|
16
|
+
configRef: MutableRefObject<DashboardConfig>;
|
|
17
|
+
onConfigChangeRef: MutableRefObject<((config: DashboardConfig) => void) | undefined>;
|
|
18
|
+
onSaveRef: MutableRefObject<((config: DashboardConfig) => Promise<void> | void) | undefined>;
|
|
19
|
+
onSaveThumbnailRef: MutableRefObject<((thumbnailData: string) => Promise<string | void>) | undefined>;
|
|
20
|
+
updateRowLayout: (rows: RowLayout[], save?: boolean, portletsOverride?: PortletConfig[]) => Promise<void>;
|
|
21
|
+
portletComponentRefs?: MutableRefObject<Record<string, {
|
|
22
|
+
refresh: (options?: {
|
|
23
|
+
bustCache?: boolean;
|
|
24
|
+
}) => void;
|
|
25
|
+
} | null>>;
|
|
26
|
+
onPortletRefresh?: (portletId: string, options?: {
|
|
27
|
+
bustCache?: boolean;
|
|
28
|
+
}) => void;
|
|
29
|
+
}
|
|
30
|
+
export declare function useDashboardController({ allowedModes, canChangeLayoutMode, isResponsiveEditable, layoutMode, resolvedRows, gridSettings, thumbnailConfig, dashboardRef, storeApi, storeActions, configRef, onConfigChangeRef, onSaveRef, onSaveThumbnailRef, updateRowLayout, portletComponentRefs, onPortletRefresh, }: UseDashboardControllerOptions): {
|
|
31
|
+
enterEditMode: () => void;
|
|
32
|
+
exitEditMode: () => void;
|
|
33
|
+
toggleEditMode: () => void;
|
|
34
|
+
selectFilter: (filterId: string | null) => void;
|
|
35
|
+
openAddPortlet: () => void;
|
|
36
|
+
openEditPortlet: (portlet: PortletConfig) => void;
|
|
37
|
+
openAddText: () => void;
|
|
38
|
+
openEditText: (portlet: PortletConfig) => void;
|
|
39
|
+
openFilterConfig: (portlet: PortletConfig) => void;
|
|
40
|
+
handleLayoutModeChange: (mode: DashboardLayoutMode) => Promise<void>;
|
|
41
|
+
savePortlet: (portletData: PortletConfig | Omit<PortletConfig, "id" | "x" | "y">) => Promise<string | null>;
|
|
42
|
+
deletePortlet: (portletId: string) => Promise<void>;
|
|
43
|
+
confirmDelete: () => Promise<void>;
|
|
44
|
+
duplicatePortlet: (portletId: string) => Promise<string | undefined>;
|
|
45
|
+
refreshPortlet: (portletId: string, options?: {
|
|
46
|
+
bustCache?: boolean;
|
|
47
|
+
}) => void;
|
|
48
|
+
toggleFilterForPortlet: (portletId: string, filterId: string) => Promise<void>;
|
|
49
|
+
selectAllForFilter: (filterId: string) => Promise<void>;
|
|
50
|
+
saveFilterConfig: (mapping: string[]) => Promise<void>;
|
|
51
|
+
handlePaletteChange: (paletteName: string) => Promise<void>;
|
|
52
|
+
};
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LayoutItem } from 'react-grid-layout';
|
|
2
|
+
import { StoreApi } from 'zustand';
|
|
3
|
+
import { DashboardStore } from '../../stores/dashboardStore';
|
|
4
|
+
interface UseGridLayoutEngineOptions {
|
|
5
|
+
storeApi: StoreApi<DashboardStore>;
|
|
6
|
+
}
|
|
7
|
+
export declare function useGridLayoutEngine({ storeApi }: UseGridLayoutEngineOptions): {
|
|
8
|
+
hasLayoutActuallyChanged: (newLayout: LayoutItem[]) => boolean;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MutableRefObject } from 'react';
|
|
2
|
+
import { DashboardConfig, DashboardGridSettings, DashboardLayoutMode, PortletConfig, RowLayout } from '../../types';
|
|
3
|
+
interface UseRowLayoutEngineOptions {
|
|
4
|
+
layoutMode: DashboardLayoutMode;
|
|
5
|
+
draftRows: RowLayout[] | null;
|
|
6
|
+
config: DashboardConfig;
|
|
7
|
+
gridSettings: DashboardGridSettings;
|
|
8
|
+
configRef: MutableRefObject<DashboardConfig>;
|
|
9
|
+
onConfigChangeRef: MutableRefObject<((config: DashboardConfig) => void) | undefined>;
|
|
10
|
+
onSaveRef: MutableRefObject<((config: DashboardConfig) => Promise<void> | void) | undefined>;
|
|
11
|
+
setDraftRows: (rows: RowLayout[] | null) => void;
|
|
12
|
+
setThumbnailDirty: (dirty: boolean) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare function useRowLayoutEngine({ layoutMode, draftRows, config, gridSettings, configRef, onConfigChangeRef, onSaveRef, setDraftRows, setThumbnailDirty, }: UseRowLayoutEngineOptions): {
|
|
15
|
+
resolvedRows: RowLayout[];
|
|
16
|
+
updateRowLayout: (rows: RowLayout[], save?: boolean, portletsOverride?: PortletConfig[]) => Promise<void>;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { PortletBlock, MarkdownBlock } from '../stores/notebookStore';
|
|
2
|
+
export interface UseAgentChatOptions {
|
|
3
|
+
/** Override default agent endpoint (default: apiUrl + '/agent/chat') */
|
|
4
|
+
agentEndpoint?: string;
|
|
5
|
+
/** Client-side API key for demo/try-site use */
|
|
6
|
+
agentApiKey?: string;
|
|
7
|
+
/** Called when agent adds a portlet to the notebook */
|
|
8
|
+
onAddPortlet: (data: PortletBlock) => void;
|
|
9
|
+
/** Called when agent adds a markdown block to the notebook */
|
|
10
|
+
onAddMarkdown: (data: MarkdownBlock) => void;
|
|
11
|
+
/** Called when streaming text arrives */
|
|
12
|
+
onTextDelta: (text: string) => void;
|
|
13
|
+
/** Called when a tool call starts */
|
|
14
|
+
onToolStart: (id: string, name: string, input?: unknown) => void;
|
|
15
|
+
/** Called when a tool call completes */
|
|
16
|
+
onToolResult: (id: string, name: string, result?: unknown) => void;
|
|
17
|
+
/** Called when the agent completes with session ID */
|
|
18
|
+
onDone: (sessionId: string) => void;
|
|
19
|
+
/** Called when a turn completes (between agentic turns) */
|
|
20
|
+
onTurnComplete?: () => void;
|
|
21
|
+
/** Called on error */
|
|
22
|
+
onError: (message: string) => void;
|
|
23
|
+
}
|
|
24
|
+
export interface UseAgentChatResult {
|
|
25
|
+
/** Send a message to the agent */
|
|
26
|
+
sendMessage: (content: string, sessionId?: string | null) => Promise<void>;
|
|
27
|
+
/** Whether the agent is currently streaming */
|
|
28
|
+
isStreaming: boolean;
|
|
29
|
+
/** Abort the current stream */
|
|
30
|
+
abort: () => void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Hook for streaming chat with the agentic notebook backend.
|
|
34
|
+
* Uses fetch() with ReadableStream to consume SSE events.
|
|
35
|
+
*/
|
|
36
|
+
export declare function useAgentChat(options: UseAgentChatOptions): UseAgentChatResult;
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { default as AnalyticsPortlet } from './components/AnalyticsPortlet';
|
|
2
2
|
export { default as AnalyticsDashboard } from './components/AnalyticsDashboard';
|
|
3
|
+
export { default as AgenticNotebook } from './components/AgenticNotebook';
|
|
4
|
+
export type { AgenticNotebookProps } from './components/AgenticNotebook';
|
|
3
5
|
export { AnalyticsPage } from './components/AnalyticsPage';
|
|
4
6
|
export { default as ChartErrorBoundary } from './components/ChartErrorBoundary';
|
|
5
7
|
export { default as LoadingIndicator } from './components/LoadingIndicator';
|
|
@@ -37,6 +39,10 @@ export { useAnalysisBuilderStore, selectCurrentState, selectMetrics, selectBreak
|
|
|
37
39
|
export type { AnalysisBuilderStore, AnalysisBuilderStoreState, AnalysisBuilderStoreActions, FieldModalMode, } from './stores/analysisBuilderStore';
|
|
38
40
|
export { DashboardStoreProvider, useDashboardStore, useDashboardStoreApi, useDashboardStoreOptional, createDashboardStore, selectEditModeState, selectModalState, selectLayoutState, selectDebugData, selectPortletDebugData, selectEditModeActions, selectModalActions, selectLayoutActions, selectDebugDataActions, selectThumbnailDirty, selectAllActions, } from './stores/dashboardStore';
|
|
39
41
|
export type { DashboardStore, DashboardStoreState, DashboardStoreActions, PortletDebugDataEntry, DragState, CreateDashboardStoreOptions, DashboardStoreProviderProps, } from './stores/dashboardStore';
|
|
42
|
+
export { NotebookStoreProvider, useNotebookStore, createNotebookStore, selectBlocks, selectMessages, selectIsStreaming, selectSessionId, selectInputValue, selectChatState, selectChatActions, selectBlockActions, } from './stores/notebookStore';
|
|
43
|
+
export type { NotebookStore, NotebookStoreState, NotebookStoreActions, NotebookStoreProviderProps, NotebookConfig, NotebookBlock, PortletBlock, MarkdownBlock, ChatMessage, ToolCallRecord, } from './stores/notebookStore';
|
|
44
|
+
export { useAgentChat } from './hooks/useAgentChat';
|
|
45
|
+
export type { UseAgentChatOptions, UseAgentChatResult } from './hooks/useAgentChat';
|
|
40
46
|
export { validateMultiQueryConfig, validateTimeDimensionAlignment, validateMergeKeys, detectMeasureCollisions, detectAsymmetricDateRanges, isMultiQueryValid, getValidationSummary } from './utils/multiQueryValidation';
|
|
41
47
|
export type { MultiQueryValidationError, MultiQueryValidationWarning, MultiQueryValidationResult } from './utils/multiQueryValidation';
|
|
42
48
|
export { useTheme } from './hooks/useTheme';
|