@sqlrooms/ai 0.27.0-rc.0 → 0.27.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -16
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/tools/query/QueryToolResult.d.ts +3 -0
- package/dist/tools/query/QueryToolResult.d.ts.map +1 -1
- package/dist/tools/query/QueryToolResult.js +2 -2
- package/dist/tools/query/QueryToolResult.js.map +1 -1
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -87,7 +87,7 @@ const {roomStore, useRoomStore} = createRoomStore({
|
|
|
87
87
|
}),
|
|
88
88
|
// Add AI slice
|
|
89
89
|
...createAiSlice({
|
|
90
|
-
|
|
90
|
+
initialPrompt: 'What insights can you provide from my data?',
|
|
91
91
|
// Optional: Add custom tools
|
|
92
92
|
tools: {
|
|
93
93
|
// Your custom tools
|
|
@@ -131,7 +131,7 @@ export const {roomStore, useRoomStore} = createRoomStore<RoomConfig, RoomState>(
|
|
|
131
131
|
// Base room slice
|
|
132
132
|
...createRoomShellSlice({
|
|
133
133
|
config: {
|
|
134
|
-
|
|
134
|
+
// Base room slice config
|
|
135
135
|
},
|
|
136
136
|
}),
|
|
137
137
|
// AI settings slice
|
|
@@ -159,7 +159,7 @@ export const {roomStore, useRoomStore} = createRoomStore<RoomConfig, RoomState>(
|
|
|
159
159
|
}),
|
|
160
160
|
// AI slice
|
|
161
161
|
...createAiSlice({
|
|
162
|
-
|
|
162
|
+
initialPrompt: 'What insights can you provide from my data?',
|
|
163
163
|
tools: {
|
|
164
164
|
// Your custom tools
|
|
165
165
|
},
|
|
@@ -218,13 +218,13 @@ function AnalysisPanel() {
|
|
|
218
218
|
|
|
219
219
|
```tsx
|
|
220
220
|
function AiStatusIndicator() {
|
|
221
|
-
const
|
|
222
|
-
const
|
|
221
|
+
const isRunning = useRoomStore((state) => state.ai.isRunning);
|
|
222
|
+
const prompt = useRoomStore((state) => state.ai.prompt);
|
|
223
223
|
const currentSession = useRoomStore((state) => state.ai.getCurrentSession());
|
|
224
224
|
const lastResult =
|
|
225
225
|
currentSession?.analysisResults[currentSession.analysisResults.length - 1];
|
|
226
226
|
|
|
227
|
-
if (
|
|
227
|
+
if (isRunning) {
|
|
228
228
|
return <div>AI is analyzing your data...</div>;
|
|
229
229
|
}
|
|
230
230
|
|
|
@@ -232,8 +232,8 @@ function AiStatusIndicator() {
|
|
|
232
232
|
return <div>Error: {lastResult.errorMessage.message}</div>;
|
|
233
233
|
}
|
|
234
234
|
|
|
235
|
-
if (
|
|
236
|
-
return <div>Last query: "{
|
|
235
|
+
if (prompt) {
|
|
236
|
+
return <div>Last query: "{prompt}"</div>;
|
|
237
237
|
}
|
|
238
238
|
|
|
239
239
|
return <div>Ask AI a question about your data</div>;
|
|
@@ -246,20 +246,20 @@ The AiSlice provides a comprehensive set of state fields and methods for managin
|
|
|
246
246
|
|
|
247
247
|
### State Fields
|
|
248
248
|
|
|
249
|
-
#### `
|
|
249
|
+
#### `prompt`
|
|
250
250
|
|
|
251
251
|
The current prompt text entered by the user for analysis.
|
|
252
252
|
|
|
253
253
|
```tsx
|
|
254
|
-
const prompt = useRoomStore((state) => state.ai.
|
|
254
|
+
const prompt = useRoomStore((state) => state.ai.prompt);
|
|
255
255
|
```
|
|
256
256
|
|
|
257
|
-
#### `
|
|
257
|
+
#### `isRunning`
|
|
258
258
|
|
|
259
259
|
Boolean flag indicating whether an analysis is currently in progress.
|
|
260
260
|
|
|
261
261
|
```tsx
|
|
262
|
-
const isRunning = useRoomStore((state) => state.ai.
|
|
262
|
+
const isRunning = useRoomStore((state) => state.ai.isRunning);
|
|
263
263
|
```
|
|
264
264
|
|
|
265
265
|
#### `tools`
|
|
@@ -270,24 +270,24 @@ Record of available AI tools that can be used during analysis.
|
|
|
270
270
|
const availableTools = useRoomStore((state) => state.ai.tools);
|
|
271
271
|
```
|
|
272
272
|
|
|
273
|
-
#### `
|
|
273
|
+
#### `abortController`
|
|
274
274
|
|
|
275
275
|
Optional AbortController instance that can be used to cancel an ongoing analysis.
|
|
276
276
|
|
|
277
277
|
```tsx
|
|
278
278
|
const abortController = useRoomStore(
|
|
279
|
-
(state) => state.ai.
|
|
279
|
+
(state) => state.ai.abortController,
|
|
280
280
|
);
|
|
281
281
|
```
|
|
282
282
|
|
|
283
283
|
### Methods
|
|
284
284
|
|
|
285
|
-
#### `
|
|
285
|
+
#### `setPrompt(prompt: string)`
|
|
286
286
|
|
|
287
287
|
Sets the current analysis prompt text.
|
|
288
288
|
|
|
289
289
|
```tsx
|
|
290
|
-
const setPrompt = useRoomStore((state) => state.ai.
|
|
290
|
+
const setPrompt = useRoomStore((state) => state.ai.setPrompt);
|
|
291
291
|
setPrompt('Analyze sales trends for the last quarter');
|
|
292
292
|
```
|
|
293
293
|
|
package/dist/index.d.ts
CHANGED
|
@@ -10,10 +10,9 @@ export { createDefaultAiInstructions, formatTablesForLLM, } from './tools/defaul
|
|
|
10
10
|
export { createAiSlice, useStoreWithAi } from '@sqlrooms/ai-core';
|
|
11
11
|
export type { AiSliceState } from '@sqlrooms/ai-core';
|
|
12
12
|
export { useScrollToBottom } from '@sqlrooms/ai-core';
|
|
13
|
-
export { useAiChat } from '@sqlrooms/ai-core';
|
|
14
13
|
export { AiThinkingDots } from '@sqlrooms/ai-core';
|
|
15
14
|
export { cleanupPendingAnalysisResults, ToolAbortError } from '@sqlrooms/ai-core';
|
|
16
|
-
export { convertToAiSDKTools,
|
|
15
|
+
export { convertToAiSDKTools, fixIncompleteToolCalls } from '@sqlrooms/ai-core';
|
|
17
16
|
export { processAgentStream, updateAgentToolCallData } from '@sqlrooms/ai-core';
|
|
18
17
|
export type { AgentStreamResult, UIMessageChunk, AgentToolCall, AgentToolCallAdditionalData, } from '@sqlrooms/ai-core';
|
|
19
18
|
export { AnalysisResultsContainer } from '@sqlrooms/ai-core';
|
|
@@ -32,6 +31,7 @@ export type { SessionType } from '@sqlrooms/ai-core';
|
|
|
32
31
|
export { ToolErrorMessage } from '@sqlrooms/ai-core';
|
|
33
32
|
export { ToolCallInfo } from '@sqlrooms/ai-core';
|
|
34
33
|
export { ReasoningBox } from '@sqlrooms/ai-core';
|
|
34
|
+
export { Chat } from '@sqlrooms/ai-core';
|
|
35
35
|
export { AiSliceConfig, createDefaultAiConfig, AiSettingsSliceConfig, AnalysisSessionSchema, AnalysisResultSchema, ErrorMessageSchema, } from '@sqlrooms/ai-config';
|
|
36
36
|
export type { ToolUIPart, UIMessagePart } from '@sqlrooms/ai-config';
|
|
37
37
|
export { createAiSettingsSlice, useStoreWithAiSettings, } from '@sqlrooms/ai-settings';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAChE,YAAY,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,12 +10,12 @@ export { createDefaultAiInstructions, formatTablesForLLM, } from './tools/defaul
|
|
|
10
10
|
// From @sqlrooms/ai-core - State/Logic
|
|
11
11
|
export { createAiSlice, useStoreWithAi } from '@sqlrooms/ai-core';
|
|
12
12
|
export { useScrollToBottom } from '@sqlrooms/ai-core';
|
|
13
|
-
export { useAiChat } from '@sqlrooms/ai-core';
|
|
14
13
|
export { AiThinkingDots } from '@sqlrooms/ai-core';
|
|
15
14
|
export { cleanupPendingAnalysisResults, ToolAbortError } from '@sqlrooms/ai-core';
|
|
16
|
-
export { convertToAiSDKTools,
|
|
15
|
+
export { convertToAiSDKTools, fixIncompleteToolCalls } from '@sqlrooms/ai-core';
|
|
17
16
|
export { processAgentStream, updateAgentToolCallData } from '@sqlrooms/ai-core';
|
|
18
17
|
// From @sqlrooms/ai-core - Components
|
|
18
|
+
// @deprecated Use `Chat.Messages` instead.
|
|
19
19
|
export { AnalysisResultsContainer } from '@sqlrooms/ai-core';
|
|
20
20
|
export { AnalysisResult } from '@sqlrooms/ai-core';
|
|
21
21
|
export { ErrorMessage } from '@sqlrooms/ai-core';
|
|
@@ -30,6 +30,7 @@ export { SessionTitle } from '@sqlrooms/ai-core';
|
|
|
30
30
|
export { ToolErrorMessage } from '@sqlrooms/ai-core';
|
|
31
31
|
export { ToolCallInfo } from '@sqlrooms/ai-core';
|
|
32
32
|
export { ReasoningBox } from '@sqlrooms/ai-core';
|
|
33
|
+
export { Chat } from '@sqlrooms/ai-core';
|
|
33
34
|
// From @sqlrooms/ai-config
|
|
34
35
|
export { AiSliceConfig, createDefaultAiConfig, AiSettingsSliceConfig, AnalysisSessionSchema, AnalysisResultSchema, ErrorMessageSchema, } from '@sqlrooms/ai-config';
|
|
35
36
|
// From @sqlrooms/ai-settings - State/Logic
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,eAAe,GAIhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAErC,uCAAuC;AACvC,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,eAAe,GAIhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAErC,uCAAuC;AACvC,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAC,6BAA6B,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAC,mBAAmB,EAAE,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAC,kBAAkB,EAAE,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAQ9E,sCAAsC;AACtC,2CAA2C;AAC3C,OAAO,EAAC,wBAAwB,EAAC,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,2BAA2B;AAC3B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,2CAA2C;AAC3C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAC,6BAA6B,EAAC,MAAM,uBAAuB,CAAC;AAEpE,0CAA0C;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC","sourcesContent":["/**\n * {@include ../README.md}\n * @packageDocumentation\n */\n\n// Tools\nexport {QueryToolResult} from './tools/query/QueryToolResult';\nexport {\n QueryToolParameters,\n createQueryTool,\n getQuerySummary,\n type QueryToolLlmResult,\n type QueryToolAdditionalData,\n type QueryToolOptions,\n} from './tools/query/queryTool';\nexport {createDefaultAiTools} from './tools/defaultTools';\nexport type {DefaultToolsOptions} from './tools/defaultTools';\nexport {\n createDefaultAiInstructions,\n formatTablesForLLM,\n} from './tools/defaultInstructions';\n\n// From @sqlrooms/ai-core - State/Logic\nexport {createAiSlice, useStoreWithAi} from '@sqlrooms/ai-core';\nexport type {AiSliceState} from '@sqlrooms/ai-core';\nexport {useScrollToBottom} from '@sqlrooms/ai-core';\nexport {AiThinkingDots} from '@sqlrooms/ai-core';\nexport {cleanupPendingAnalysisResults, ToolAbortError} from '@sqlrooms/ai-core';\nexport {convertToAiSDKTools, fixIncompleteToolCalls} from '@sqlrooms/ai-core';\nexport {processAgentStream, updateAgentToolCallData} from '@sqlrooms/ai-core';\nexport type {\n AgentStreamResult,\n UIMessageChunk,\n AgentToolCall,\n AgentToolCallAdditionalData,\n} from '@sqlrooms/ai-core';\n\n// From @sqlrooms/ai-core - Components\n// @deprecated Use `Chat.Messages` instead.\nexport {AnalysisResultsContainer} from '@sqlrooms/ai-core';\nexport {AnalysisResult} from '@sqlrooms/ai-core';\nexport {ErrorMessage} from '@sqlrooms/ai-core';\nexport type {ErrorMessageComponentProps} from '@sqlrooms/ai-core';\nexport {PromptSuggestions} from '@sqlrooms/ai-core';\nexport {ModelSelector} from '@sqlrooms/ai-core';\nexport {SessionControls} from '@sqlrooms/ai-core';\nexport {QueryControls} from '@sqlrooms/ai-core';\nexport {DeleteSessionDialog} from '@sqlrooms/ai-core';\nexport {SessionActions} from '@sqlrooms/ai-core';\nexport {SessionDropdown} from '@sqlrooms/ai-core';\nexport {SessionTitle} from '@sqlrooms/ai-core';\nexport type {SessionType} from '@sqlrooms/ai-core';\nexport {ToolErrorMessage} from '@sqlrooms/ai-core';\nexport {ToolCallInfo} from '@sqlrooms/ai-core';\nexport {ReasoningBox} from '@sqlrooms/ai-core';\nexport {Chat} from '@sqlrooms/ai-core';\n\n// From @sqlrooms/ai-config\nexport {\n AiSliceConfig,\n createDefaultAiConfig,\n AiSettingsSliceConfig,\n AnalysisSessionSchema,\n AnalysisResultSchema,\n ErrorMessageSchema,\n} from '@sqlrooms/ai-config';\nexport type {ToolUIPart, UIMessagePart} from '@sqlrooms/ai-config';\n\n// From @sqlrooms/ai-settings - State/Logic\nexport {\n createAiSettingsSlice,\n useStoreWithAiSettings,\n} from '@sqlrooms/ai-settings';\nexport type {AiSettingsSliceState} from '@sqlrooms/ai-settings';\nexport {createDefaultAiSettingsConfig} from '@sqlrooms/ai-settings';\n\n// From @sqlrooms/ai-settings - Components\nexport {AiSettingsPanel} from '@sqlrooms/ai-settings';\nexport {AiProvidersSettings} from '@sqlrooms/ai-settings';\nexport {AiModelsSettings} from '@sqlrooms/ai-settings';\nexport {AiModelParameters} from '@sqlrooms/ai-settings';\nexport {AiModelUsage} from '@sqlrooms/ai-settings';\nexport type {ModelUsageData} from '@sqlrooms/ai-settings';\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ArrowDataTableValueFormatter } from '@sqlrooms/data-table';
|
|
1
2
|
import * as arrow from 'apache-arrow';
|
|
2
3
|
type QueryToolResultProps = {
|
|
3
4
|
title: string;
|
|
@@ -6,6 +7,8 @@ type QueryToolResultProps = {
|
|
|
6
7
|
arrowTable?: arrow.Table;
|
|
7
8
|
/** Whether to show the SQL text in the result */
|
|
8
9
|
showSql?: boolean;
|
|
10
|
+
/** Optional custom value formatter for binary/geometry data */
|
|
11
|
+
formatValue?: ArrowDataTableValueFormatter;
|
|
9
12
|
};
|
|
10
13
|
export declare function QueryToolResult(props: QueryToolResultProps): import("react/jsx-runtime").JSX.Element;
|
|
11
14
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryToolResult.d.ts","sourceRoot":"","sources":["../../../src/tools/query/QueryToolResult.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QueryToolResult.d.ts","sourceRoot":"","sources":["../../../src/tools/query/QueryToolResult.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,4BAA4B,EAAC,MAAM,sBAAsB,CAAC;AAElF,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,UAAU,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;IACzB,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,4BAA4B,CAAC;CAC5C,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CA+C1D"}
|
|
@@ -3,8 +3,8 @@ import { DataTableModal } from '@sqlrooms/data-table';
|
|
|
3
3
|
import { Button, CopyButton, useDisclosure } from '@sqlrooms/ui';
|
|
4
4
|
import { TableIcon } from 'lucide-react';
|
|
5
5
|
export function QueryToolResult(props) {
|
|
6
|
-
const { title, sqlQuery, showSql = true } = props;
|
|
6
|
+
const { title, sqlQuery, showSql = true, formatValue } = props;
|
|
7
7
|
const tableModal = useDisclosure();
|
|
8
|
-
return (_jsxs(_Fragment, { children: [showSql && (_jsxs("div", { className: "text-muted-foreground bg-muted relative max-h-[150px] w-full overflow-auto rounded-md p-2 font-mono text-xs", children: [_jsx("pre", { className: "whitespace-pre-wrap break-words pr-8", children: sqlQuery }), _jsx("div", { className: "absolute right-1 top-1", children: _jsx(CopyButton, { text: sqlQuery, variant: "ghost", size: "icon", className: "h-6 w-6", ariaLabel: "Copy SQL" }) })] })), _jsx("div", { className: "flex items-center gap-1 text-gray-500 dark:text-gray-400", children: _jsxs(Button, { variant: "ghost", size: "xs", onClick: tableModal.onOpen, children: [_jsx(TableIcon, { className: "h-4 w-4" }), _jsx("h3", { className: "text-xs", children: "Show Query Result" })] }) }), 'arrowTable' in props ? (props.arrowTable ? (_jsx(DataTableModal, { title: title, arrowTable: props.arrowTable, tableModal: tableModal })) : (_jsx("div", { className: "p-4 text-xs", children: "No data" }))) : (_jsx(DataTableModal, { title: title, query: sqlQuery, tableModal: tableModal }))] }));
|
|
8
|
+
return (_jsxs(_Fragment, { children: [showSql && (_jsxs("div", { className: "text-muted-foreground bg-muted relative max-h-[150px] w-full overflow-auto rounded-md p-2 font-mono text-xs", children: [_jsx("pre", { className: "whitespace-pre-wrap break-words pr-8", children: sqlQuery }), _jsx("div", { className: "absolute right-1 top-1", children: _jsx(CopyButton, { text: sqlQuery, variant: "ghost", size: "icon", className: "h-6 w-6", ariaLabel: "Copy SQL" }) })] })), _jsx("div", { className: "flex items-center gap-1 text-gray-500 dark:text-gray-400", children: _jsxs(Button, { variant: "ghost", size: "xs", onClick: tableModal.onOpen, children: [_jsx(TableIcon, { className: "h-4 w-4" }), _jsx("h3", { className: "text-xs", children: "Show Query Result" })] }) }), 'arrowTable' in props ? (props.arrowTable ? (_jsx(DataTableModal, { title: title, arrowTable: props.arrowTable, tableModal: tableModal, formatValue: formatValue })) : (_jsx("div", { className: "p-4 text-xs", children: "No data" }))) : (_jsx(DataTableModal, { title: title, query: sqlQuery, tableModal: tableModal, formatValue: formatValue }))] }));
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=QueryToolResult.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryToolResult.js","sourceRoot":"","sources":["../../../src/tools/query/QueryToolResult.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"QueryToolResult.js","sourceRoot":"","sources":["../../../src/tools/query/QueryToolResult.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,cAAc,EAA+B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAavC,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,WAAW,EAAC,GAAG,KAAK,CAAC;IAC7D,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,OAAO,CACL,8BACG,OAAO,IAAI,CACV,eAAK,SAAS,EAAC,6GAA6G,aAC1H,cAAK,SAAS,EAAC,sCAAsC,YAAE,QAAQ,GAAO,EACtE,cAAK,SAAS,EAAC,wBAAwB,YACrC,KAAC,UAAU,IACT,IAAI,EAAE,QAAQ,EACd,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,SAAS,EACnB,SAAS,EAAC,UAAU,GACpB,GACE,IACF,CACP,EACD,cAAK,SAAS,EAAC,0DAA0D,YACvE,MAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,UAAU,CAAC,MAAM,aAC1D,KAAC,SAAS,IAAC,SAAS,EAAC,SAAS,GAAG,EACjC,aAAI,SAAS,EAAC,SAAS,kCAAuB,IACvC,GACL,EAEL,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,CACvB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CACjB,KAAC,cAAc,IACb,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,GACxB,CACH,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,aAAa,wBAAc,CAC3C,CACF,CAAC,CAAC,CAAC,CACF,KAAC,cAAc,IACb,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,GACxB,CACH,IACA,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import {DataTableModal, ArrowDataTableValueFormatter} from '@sqlrooms/data-table';\nimport {Button, CopyButton, useDisclosure} from '@sqlrooms/ui';\nimport * as arrow from 'apache-arrow';\nimport {TableIcon} from 'lucide-react';\n\ntype QueryToolResultProps = {\n title: string;\n sqlQuery: string;\n /** Provided in case the query result is already an arrow table */\n arrowTable?: arrow.Table;\n /** Whether to show the SQL text in the result */\n showSql?: boolean;\n /** Optional custom value formatter for binary/geometry data */\n formatValue?: ArrowDataTableValueFormatter;\n};\n\nexport function QueryToolResult(props: QueryToolResultProps) {\n const {title, sqlQuery, showSql = true, formatValue} = props;\n const tableModal = useDisclosure();\n return (\n <>\n {showSql && (\n <div className=\"text-muted-foreground bg-muted relative max-h-[150px] w-full overflow-auto rounded-md p-2 font-mono text-xs\">\n <pre className=\"whitespace-pre-wrap break-words pr-8\">{sqlQuery}</pre>\n <div className=\"absolute right-1 top-1\">\n <CopyButton\n text={sqlQuery}\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-6 w-6\"\n ariaLabel=\"Copy SQL\"\n />\n </div>\n </div>\n )}\n <div className=\"flex items-center gap-1 text-gray-500 dark:text-gray-400\">\n <Button variant=\"ghost\" size=\"xs\" onClick={tableModal.onOpen}>\n <TableIcon className=\"h-4 w-4\" />\n <h3 className=\"text-xs\">Show Query Result</h3>\n </Button>\n </div>\n\n {'arrowTable' in props ? (\n props.arrowTable ? (\n <DataTableModal\n title={title}\n arrowTable={props.arrowTable}\n tableModal={tableModal}\n formatValue={formatValue}\n />\n ) : (\n <div className=\"p-4 text-xs\">No data</div>\n )\n ) : (\n <DataTableModal\n title={title}\n query={sqlQuery}\n tableModal={tableModal}\n formatValue={formatValue}\n />\n )}\n </>\n );\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sqlrooms/ai",
|
|
3
|
-
"version": "0.27.0-rc.
|
|
3
|
+
"version": "0.27.0-rc.2",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@openassistant/utils": "1.0.0-alpha.0",
|
|
23
|
-
"@sqlrooms/ai-config": "0.27.0-rc.
|
|
24
|
-
"@sqlrooms/ai-core": "0.27.0-rc.
|
|
25
|
-
"@sqlrooms/ai-settings": "0.27.0-rc.
|
|
26
|
-
"@sqlrooms/data-table": "0.27.0-rc.
|
|
27
|
-
"@sqlrooms/duckdb": "0.27.0-rc.
|
|
28
|
-
"@sqlrooms/room-shell": "0.27.0-rc.
|
|
29
|
-
"@sqlrooms/ui": "0.27.0-rc.
|
|
23
|
+
"@sqlrooms/ai-config": "0.27.0-rc.2",
|
|
24
|
+
"@sqlrooms/ai-core": "0.27.0-rc.2",
|
|
25
|
+
"@sqlrooms/ai-settings": "0.27.0-rc.2",
|
|
26
|
+
"@sqlrooms/data-table": "0.27.0-rc.2",
|
|
27
|
+
"@sqlrooms/duckdb": "0.27.0-rc.2",
|
|
28
|
+
"@sqlrooms/room-shell": "0.27.0-rc.2",
|
|
29
|
+
"@sqlrooms/ui": "0.27.0-rc.2",
|
|
30
30
|
"lucide-react": "^0.556.0",
|
|
31
31
|
"zod": "^4.1.8"
|
|
32
32
|
},
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"typecheck": "tsc --noEmit",
|
|
43
43
|
"typedoc": "typedoc"
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "eec06537352a9e760de21d7bcc77d9aa2db2a5ec"
|
|
46
46
|
}
|