@sqlrooms/ai 0.1.0 → 0.4.0
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/AiSlice.d.ts +4 -9
- package/dist/AiSlice.d.ts.map +1 -1
- package/dist/AiSlice.js +11 -23
- package/dist/AiSlice.js.map +1 -0
- package/dist/AnalysisResult.js +2 -1
- package/dist/AnalysisResult.js.map +1 -0
- package/dist/AnalysisResultsContainer.js +2 -1
- package/dist/AnalysisResultsContainer.js.map +1 -0
- package/dist/QueryControls.d.ts.map +1 -1
- package/dist/QueryControls.js +8 -16
- package/dist/QueryControls.js.map +1 -0
- package/dist/ToolCall.d.ts.map +1 -1
- package/dist/ToolCall.js +5 -2
- package/dist/ToolCall.js.map +1 -0
- package/dist/ToolResult.js +2 -1
- package/dist/ToolResult.js.map +1 -0
- package/dist/analysis.d.ts +0 -1
- package/dist/analysis.d.ts.map +1 -1
- package/dist/analysis.js +1 -0
- package/dist/analysis.js.map +1 -0
- package/dist/hooks/use-scroll-to-bottom.js +1 -0
- package/dist/hooks/use-scroll-to-bottom.js.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas.js +1 -0
- package/dist/schemas.js.map +1 -0
- package/package.json +7 -7
package/dist/AiSlice.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ProjectState } from '@sqlrooms/project-builder';
|
|
1
|
+
import { ProjectState, type StateCreator } from '@sqlrooms/project-builder';
|
|
2
2
|
import { BaseProjectConfig } from '@sqlrooms/project-config';
|
|
3
3
|
import { CoreAssistantMessage, CoreToolMessage, CoreUserMessage, LanguageModelV1 } from 'ai';
|
|
4
4
|
import { z } from 'zod';
|
|
@@ -340,14 +340,10 @@ export type AiSliceConfig = z.infer<typeof AiSliceConfig>;
|
|
|
340
340
|
export declare function createDefaultAiConfig(): AiSliceConfig;
|
|
341
341
|
export type AiSliceState = {
|
|
342
342
|
ai: {
|
|
343
|
-
supportedModels: string[];
|
|
344
343
|
analysisPrompt: string;
|
|
345
344
|
isRunningAnalysis: boolean;
|
|
346
345
|
analysisAbortController?: AbortController;
|
|
347
|
-
apiKey: string | null;
|
|
348
|
-
setAiModel: (model: string) => void;
|
|
349
346
|
setAnalysisPrompt: (prompt: string) => void;
|
|
350
|
-
setApiKey: (key: string) => void;
|
|
351
347
|
startAnalysis: () => Promise<void>;
|
|
352
348
|
cancelAnalysis: () => void;
|
|
353
349
|
messagesById: Map<string, AiMessage>;
|
|
@@ -355,10 +351,9 @@ export type AiSliceState = {
|
|
|
355
351
|
getMessages: () => AiMessage[];
|
|
356
352
|
};
|
|
357
353
|
};
|
|
358
|
-
export declare function createAiSlice<PC extends BaseProjectConfig & AiSliceConfig>({
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
}): import("zustand").StateCreator<AiSliceState>;
|
|
354
|
+
export declare function createAiSlice<PC extends BaseProjectConfig & AiSliceConfig>({ createModel, }: {
|
|
355
|
+
createModel: (model: string) => LanguageModelV1;
|
|
356
|
+
}): StateCreator<AiSliceState>;
|
|
362
357
|
type ProjectConfigWithAi = BaseProjectConfig & AiSliceConfig;
|
|
363
358
|
type ProjectStateWithAi = ProjectState<ProjectConfigWithAi> & AiSliceState;
|
|
364
359
|
export declare function useStoreWithAi<T>(selector: (state: ProjectStateWithAi) => T): T;
|
package/dist/AiSlice.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiSlice.d.ts","sourceRoot":"","sources":["../src/AiSlice.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,YAAY,
|
|
1
|
+
{"version":3,"file":"AiSlice.d.ts","sourceRoot":"","sources":["../src/AiSlice.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,YAAY,EAEZ,KAAK,YAAY,EAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,eAAe,EAChB,MAAM,IAAI,CAAC;AAEZ,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAQtB,KAAK,SAAS,GAAG,CAAC,eAAe,GAAG,oBAAoB,GAAG,eAAe,CAAC,GAAG;IAC5E,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,wBAAgB,qBAAqB,IAAI,aAAa,CAOrD;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE;QACF,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,uBAAuB,CAAC,EAAE,eAAe,CAAC;QAC1C,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5C,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,cAAc,EAAE,MAAM,IAAI,CAAC;QAC3B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACrC,WAAW,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;QAC7C,WAAW,EAAE,MAAM,SAAS,EAAE,CAAC;KAChC,CAAC;CACH,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,SAAS,iBAAiB,GAAG,aAAa,EAAE,EAC1E,WAAW,GACZ,EAAE;IACD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,eAAe,CAAC;CACjD,GAAG,YAAY,CAAC,YAAY,CAAC,CAwJ7B;AAsCD,KAAK,mBAAmB,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAC7D,KAAK,kBAAkB,GAAG,YAAY,CAAC,mBAAmB,CAAC,GAAG,YAAY,CAAC;AAE3E,wBAAgB,cAAc,CAAC,CAAC,EAC9B,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,CAAC,GACzC,CAAC,CAMH"}
|
package/dist/AiSlice.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createId } from '@paralleldrive/cuid2';
|
|
2
|
-
import {
|
|
2
|
+
import { createSlice, useBaseProjectStore, } from '@sqlrooms/project-builder';
|
|
3
3
|
import { produce } from 'immer';
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { runAnalysis } from './analysis';
|
|
@@ -18,29 +18,22 @@ export function createDefaultAiConfig() {
|
|
|
18
18
|
},
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
|
-
export function createAiSlice({
|
|
22
|
-
return
|
|
21
|
+
export function createAiSlice({ createModel, }) {
|
|
22
|
+
return createSlice((set, get) => ({
|
|
23
23
|
ai: {
|
|
24
|
-
supportedModels,
|
|
25
24
|
analysisPrompt: 'Describe the data in the table and make a chart providing an overview.',
|
|
26
25
|
isRunningAnalysis: false,
|
|
27
26
|
messagesById: new Map(),
|
|
28
|
-
apiKey:
|
|
29
|
-
? localStorage.getItem('ai_api_key')
|
|
30
|
-
: null,
|
|
31
|
-
setApiKey: (key) => {
|
|
32
|
-
localStorage.setItem('ai_api_key', key);
|
|
33
|
-
set((state) => produce(state, (draft) => {
|
|
34
|
-
draft.ai.apiKey = key;
|
|
35
|
-
}));
|
|
36
|
-
},
|
|
27
|
+
apiKey: null,
|
|
37
28
|
setAnalysisPrompt: (prompt) => {
|
|
38
29
|
set((state) => produce(state, (draft) => {
|
|
39
30
|
draft.ai.analysisPrompt = prompt;
|
|
40
31
|
}));
|
|
41
32
|
},
|
|
42
33
|
setAiModel: (model) => {
|
|
43
|
-
set(
|
|
34
|
+
set((state) => produce(state, (draft) => {
|
|
35
|
+
draft.project.config.ai.model = model;
|
|
36
|
+
}));
|
|
44
37
|
},
|
|
45
38
|
/**
|
|
46
39
|
* Add messages to the project store uniquely by id
|
|
@@ -71,15 +64,10 @@ export function createAiSlice({ supportedModels, createModel, }) {
|
|
|
71
64
|
startAnalysis: async () => {
|
|
72
65
|
const resultId = createId();
|
|
73
66
|
const abortController = new AbortController();
|
|
74
|
-
const { apiKey } = get().ai;
|
|
75
|
-
const model = get().projectConfig.ai.model;
|
|
76
|
-
if (!apiKey) {
|
|
77
|
-
throw new Error('OpenAI API key is required');
|
|
78
|
-
}
|
|
79
67
|
set((state) => produce(state, (draft) => {
|
|
80
68
|
draft.ai.analysisAbortController = abortController;
|
|
81
69
|
draft.ai.isRunningAnalysis = true;
|
|
82
|
-
draft.
|
|
70
|
+
draft.project.config.ai.analysisResults.push({
|
|
83
71
|
id: resultId,
|
|
84
72
|
prompt: get().ai.analysisPrompt,
|
|
85
73
|
toolResults: [],
|
|
@@ -98,7 +86,7 @@ export function createAiSlice({ supportedModels, createModel, }) {
|
|
|
98
86
|
}));
|
|
99
87
|
try {
|
|
100
88
|
const { toolResults, toolCalls, ...rest } = await runAnalysis({
|
|
101
|
-
model: createModel(model
|
|
89
|
+
model: createModel(get().project.config.ai.model),
|
|
102
90
|
// prompt: get().analysisPrompt,
|
|
103
91
|
messages: get().ai.getMessages(),
|
|
104
92
|
onStepFinish: (event) => {
|
|
@@ -111,7 +99,6 @@ export function createAiSlice({ supportedModels, createModel, }) {
|
|
|
111
99
|
}));
|
|
112
100
|
},
|
|
113
101
|
abortSignal: abortController.signal,
|
|
114
|
-
apiKey,
|
|
115
102
|
});
|
|
116
103
|
console.log('final result', { toolResults, toolCalls, ...rest });
|
|
117
104
|
get().ai.addMessages([
|
|
@@ -176,7 +163,7 @@ function findResultById(analysisResults, id) {
|
|
|
176
163
|
*/
|
|
177
164
|
function makeResultsAppender({ resultId, toolResults, toolCalls, }) {
|
|
178
165
|
return (state) => produce(state, (draft) => {
|
|
179
|
-
const result = findResultById(draft.
|
|
166
|
+
const result = findResultById(draft.project.config.ai.analysisResults, resultId);
|
|
180
167
|
if (result) {
|
|
181
168
|
result.toolResults = [...result.toolResults, ...toolResults];
|
|
182
169
|
result.toolCalls = [...result.toolCalls, ...toolCalls];
|
|
@@ -189,3 +176,4 @@ function makeResultsAppender({ resultId, toolResults, toolCalls, }) {
|
|
|
189
176
|
export function useStoreWithAi(selector) {
|
|
190
177
|
return useBaseProjectStore((state) => selector(state));
|
|
191
178
|
}
|
|
179
|
+
//# sourceMappingURL=AiSlice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AiSlice.js","sourceRoot":"","sources":["../src/AiSlice.ts"],"names":[],"mappings":"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"}
|
package/dist/AnalysisResult.js
CHANGED
|
@@ -4,7 +4,8 @@ import { ToolResult } from './ToolResult';
|
|
|
4
4
|
import { SquareTerminalIcon, CodeIcon } from 'lucide-react';
|
|
5
5
|
import { Button, Popover, PopoverContent, PopoverTrigger } from '@sqlrooms/ui';
|
|
6
6
|
export const AnalysisResult = ({ result }) => {
|
|
7
|
-
return (_jsxs("div", { className: "flex flex-col w-full text-sm gap-5 border py-6 px-4 rounded-md", children: [_jsxs("div", { className: "
|
|
7
|
+
return (_jsxs("div", { className: "flex flex-col w-full text-sm gap-5 border py-6 px-4 rounded-md", children: [_jsxs("div", { className: "p-2 mb-2 rounded-md text-gray-700 dark:text-gray-100 flex items-center gap-2", children: [_jsx(SquareTerminalIcon, { className: "w-4 h-4" }), _jsx("div", { className: "text-sm flex-1", children: result.prompt }), _jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon", className: "w-6 h-6", children: _jsx(CodeIcon, { className: "w-4 h-4" }) }) }), _jsx(PopoverContent, { className: "w-[400px] max-h-[400px] overflow-auto", align: "end", side: "right", children: _jsx("pre", { className: "text-xs", children: JSON.stringify(result, null, 2) }) })] })] }), _jsx("div", { className: "flex flex-col gap-5 px-4", children: result.toolResults.map((toolResult) => (_jsx(ToolResult, { toolResult: toolResult }, toolResult.toolCallId))) }), _jsx("div", { className: "flex flex-col gap-5 px-4", children: result.toolCalls
|
|
8
8
|
.filter((toolCall) => toolCall.toolName === 'answer')
|
|
9
9
|
.map((toolCall) => (_jsx(ToolCall, { toolCall: toolCall }, toolCall.toolCallId))) })] }));
|
|
10
10
|
};
|
|
11
|
+
//# sourceMappingURL=AnalysisResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalysisResult.js","sourceRoot":"","sources":["../src/AnalysisResult.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,kBAAkB,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAC,MAAM,cAAc,CAAC;AAM7E,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE;IACxE,OAAO,CACL,eAAK,SAAS,EAAC,gEAAgE,aAC7E,eAAK,SAAS,EAAC,8EAA8E,aAC3F,KAAC,kBAAkB,IAAC,SAAS,EAAC,SAAS,GAAG,EAC1C,cAAK,SAAS,EAAC,gBAAgB,YAAE,MAAM,CAAC,MAAM,GAAO,EACrD,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,YACrD,KAAC,QAAQ,IAAC,SAAS,EAAC,SAAS,GAAG,GACzB,GACM,EACjB,KAAC,cAAc,IACb,SAAS,EAAC,uCAAuC,EACjD,KAAK,EAAC,KAAK,EACX,IAAI,EAAC,OAAO,YAEZ,cAAK,SAAS,EAAC,SAAS,YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAO,GACjD,IACT,IACN,EACN,cAAK,SAAS,EAAC,0BAA0B,YACtC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CACtC,KAAC,UAAU,IAA6B,UAAU,EAAE,UAAU,IAA7C,UAAU,CAAC,UAAU,CAA4B,CACnE,CAAC,GACE,EACN,cAAK,SAAS,EAAC,0BAA0B,YACtC,MAAM,CAAC,SAAS;qBACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC;qBACpD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjB,KAAC,QAAQ,IAA2B,QAAQ,EAAE,QAAQ,IAAvC,QAAQ,CAAC,UAAU,CAAwB,CAC3D,CAAC,GACA,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -7,8 +7,9 @@ import { AnalysisResult } from './AnalysisResult';
|
|
|
7
7
|
import { useScrollToBottom, useScrollToBottomButton, } from './hooks/use-scroll-to-bottom';
|
|
8
8
|
export const AnalysisResultsContainer = () => {
|
|
9
9
|
const isRunningAnalysis = useStoreWithAi((s) => s.ai.isRunningAnalysis);
|
|
10
|
-
const analysisResults = useStoreWithAi((s) => s.
|
|
10
|
+
const analysisResults = useStoreWithAi((s) => s.project.config.ai.analysisResults);
|
|
11
11
|
const [messagesContainerRef, messagesEndRef] = useScrollToBottom();
|
|
12
12
|
const { showButton, scrollToBottom } = useScrollToBottomButton(messagesContainerRef);
|
|
13
13
|
return (_jsxs("div", { className: "flex relative h-full w-full overflow-hidden", children: [_jsxs("div", { className: "flex flex-grow flex-col w-full gap-4 p-4 overflow-auto", ref: messagesContainerRef, children: [_jsxs("div", { className: "flex flex-col gap-10 ", children: [analysisResults.map((result) => (_jsx(AnalysisResult, { result: result }, result.id))), _jsx("div", { className: "h-20" }), messagesEndRef && (_jsx("div", { ref: messagesEndRef, className: "shrink-0 min-w-[24px] min-h-[24px]" }))] }), isRunningAnalysis && _jsx(SkeletonPane, { className: "p-4" })] }), _jsx("div", { className: "absolute inset-x-0 bottom-0 pointer-events-none flex justify-center", children: _jsx("button", { onClick: scrollToBottom, className: cn('pointer-events-auto bg-primary hover:bg-primary/90 text-primary-foreground z-50', 'rounded-full p-2 shadow-md transition-all duration-200 opacity-0 translate-y-4 mb-6', showButton && 'opacity-100 translate-y-0'), "aria-label": "Scroll to bottom", children: _jsx(ChevronDown, { className: "w-5 h-5" }) }) })] }));
|
|
14
14
|
};
|
|
15
|
+
//# sourceMappingURL=AnalysisResultsContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalysisResultsContainer.js","sourceRoot":"","sources":["../src/AnalysisResultsContainer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAC,EAAE,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AACzC,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AACzC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,MAAM,wBAAwB,GAAa,GAAG,EAAE;IACrD,MAAM,iBAAiB,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,cAAc,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAC3C,CAAC;IACF,MAAM,CAAC,oBAAoB,EAAE,cAAc,CAAC,GAC1C,iBAAiB,EAAkB,CAAC;IACtC,MAAM,EAAC,UAAU,EAAE,cAAc,EAAC,GAChC,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;IAEhD,OAAO,CACL,eAAK,SAAS,EAAC,6CAA6C,aAC1D,eACE,SAAS,EAAC,wDAAwD,EAClE,GAAG,EAAE,oBAAoB,aAEzB,eAAK,SAAS,EAAC,uBAAuB,aACnC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC/B,KAAC,cAAc,IAAiB,MAAM,EAAE,MAAM,IAAzB,MAAM,CAAC,EAAE,CAAoB,CACnD,CAAC,EACF,cAAK,SAAS,EAAC,MAAM,GAAG,EACvB,cAAc,IAAI,CACjB,cACE,GAAG,EAAE,cAAc,EACnB,SAAS,EAAC,oCAAoC,GAC9C,CACH,IACG,EACL,iBAAiB,IAAI,KAAC,YAAY,IAAC,SAAS,EAAC,KAAK,GAAG,IAClD,EACN,cAAK,SAAS,EAAC,qEAAqE,YAClF,iBACE,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,EAAE,CACX,iFAAiF,EACjF,qFAAqF,EACrF,UAAU,IAAI,2BAA2B,CAC1C,gBACU,kBAAkB,YAE7B,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,GAAG,GAC5B,GACL,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryControls.d.ts","sourceRoot":"","sources":["../src/QueryControls.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QueryControls.d.ts","sourceRoot":"","sources":["../src/QueryControls.tsx"],"names":[],"mappings":"AAKA,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsEtD,CAAC"}
|
package/dist/QueryControls.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button, cn,
|
|
3
|
-
import {
|
|
2
|
+
import { Button, cn, Spinner, Textarea } from '@sqlrooms/ui';
|
|
3
|
+
import { OctagonXIcon } from 'lucide-react';
|
|
4
4
|
import { useCallback } from 'react';
|
|
5
5
|
import { useStoreWithAi } from './AiSlice';
|
|
6
6
|
export const QueryControls = ({ className }) => {
|
|
@@ -9,11 +9,7 @@ export const QueryControls = ({ className }) => {
|
|
|
9
9
|
const cancelAnalysis = useStoreWithAi((s) => s.ai.cancelAnalysis);
|
|
10
10
|
const analysisPrompt = useStoreWithAi((s) => s.ai.analysisPrompt);
|
|
11
11
|
const setAnalysisPrompt = useStoreWithAi((s) => s.ai.setAnalysisPrompt);
|
|
12
|
-
const
|
|
13
|
-
const setApiKey = useStoreWithAi((s) => s.ai.setApiKey);
|
|
14
|
-
const model = useStoreWithAi((s) => s.projectConfig.ai.model);
|
|
15
|
-
const setAiModel = useStoreWithAi((s) => s.ai.setAiModel);
|
|
16
|
-
const supportedModels = useStoreWithAi((s) => s.ai.supportedModels);
|
|
12
|
+
const model = useStoreWithAi((s) => s.project.config.ai.model);
|
|
17
13
|
const handleKeyDown = useCallback((e) => {
|
|
18
14
|
if (e.key === 'Enter' &&
|
|
19
15
|
!e.shiftKey &&
|
|
@@ -21,16 +17,12 @@ export const QueryControls = ({ className }) => {
|
|
|
21
17
|
!e.altKey &&
|
|
22
18
|
!e.metaKey) {
|
|
23
19
|
e.preventDefault();
|
|
24
|
-
if (!isRunningAnalysis &&
|
|
25
|
-
apiKey &&
|
|
26
|
-
model &&
|
|
27
|
-
analysisPrompt.trim().length) {
|
|
20
|
+
if (!isRunningAnalysis && model && analysisPrompt.trim().length) {
|
|
28
21
|
runAnalysis();
|
|
29
22
|
}
|
|
30
23
|
}
|
|
31
|
-
}, [isRunningAnalysis,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
!model ||
|
|
35
|
-
!analysisPrompt.trim().length, children: isRunningAnalysis ? (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Spinner, { className: "w-4 h-4" }), " Running\u2026"] })) : ('Start Analysis') })] })] })] }));
|
|
24
|
+
}, [isRunningAnalysis, model, analysisPrompt, runAnalysis]);
|
|
25
|
+
const canStart = Boolean(!isRunningAnalysis && model && analysisPrompt.trim().length);
|
|
26
|
+
return (_jsxs("div", { className: cn('flex flex-col items-center justify-center gap-4 w-full p-4', className), children: [_jsx("div", { className: "flex items-center justify-between gap-4 w-full", children: _jsx("div", { className: "font-semibold text-lg pl-1", children: "What would you like to learn about the data?" }) }), _jsxs("div", { className: "relative w-full", children: [_jsx(Textarea, { disabled: isRunningAnalysis, className: "h-[100px]", value: analysisPrompt, onChange: (e) => setAnalysisPrompt(e.target.value), onKeyDown: handleKeyDown }), _jsxs("div", { className: "absolute top-1 right-1 flex items-center gap-2", children: [isRunningAnalysis && (_jsxs(Button, { variant: "outline", onClick: cancelAnalysis, children: [_jsx(OctagonXIcon, { className: "w-4 h-4" }), "Stop"] })), _jsx(Button, { variant: "outline", onClick: runAnalysis, disabled: !canStart, children: isRunningAnalysis ? (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Spinner, { className: "w-4 h-4" }), " Running\u2026"] })) : ('Start Analysis') })] })] })] }));
|
|
36
27
|
};
|
|
28
|
+
//# sourceMappingURL=QueryControls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryControls.js","sourceRoot":"","sources":["../src/QueryControls.tsx"],"names":[],"mappings":"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"}
|
package/dist/ToolCall.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolCall.d.ts","sourceRoot":"","sources":["../src/ToolCall.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAezC,UAAU,aAAa;IACrB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CAAC,EAAC,QAAQ,EAAC,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"ToolCall.d.ts","sourceRoot":"","sources":["../src/ToolCall.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAezC,UAAU,aAAa;IACrB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CAAC,EAAC,QAAQ,EAAC,EAAE,aAAa,2CAiFjD"}
|
package/dist/ToolCall.js
CHANGED
|
@@ -7,7 +7,10 @@ import { VegaLiteChart } from '@sqlrooms/vega';
|
|
|
7
7
|
export function ToolCall({ toolCall }) {
|
|
8
8
|
const { args, toolName, toolCallId } = toolCall;
|
|
9
9
|
const { type } = args;
|
|
10
|
-
return (_jsxs("div", { className: cn('border-2 relative
|
|
10
|
+
return (_jsxs("div", { className: cn('border-2 relative px-5 py-6 rounded-md dark:bg-gray-900 dark:text-gray-300 bg-gray-100 text-gray-700 text-xs', {
|
|
11
11
|
' border-blue-500': toolName === 'answer',
|
|
12
|
-
}), children: [_jsx(Badge, { variant: "secondary", className: cn('text-xs absolute top-[-12px] left-2 text-gray-100
|
|
12
|
+
}), children: [_jsx(Badge, { variant: "secondary", className: cn('text-xs absolute top-[-12px] left-2 dark:text-gray-100 text-gray-700', {
|
|
13
|
+
' border-blue-500': toolName === 'answer',
|
|
14
|
+
}), children: toolName }), _jsx("div", { className: "absolute top-2 right-2", children: _jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", size: "icon", className: "w-6 h-6", children: _jsx(CodeIcon, { className: "w-4 h-4" }) }) }), _jsx(PopoverContent, { className: "w-[400px] max-h-[400px] overflow-auto", align: "start", side: "right", children: _jsx("pre", { className: "text-xs", children: JSON.stringify(toolCall, null, 2) }) })] }) }), type === 'query' ? (_jsxs("div", { className: "flex flex-col gap-5", children: [_jsx("div", { className: "text-xs text-gray-700 dark:text-gray-400", children: args.reasoning }), _jsx("div", { className: "font-mono", children: args.sqlQuery })] })) : type === 'answer' ? (_jsxs("div", { className: "flex flex-col gap-5", children: [_jsx("div", { className: "text-sm", children: _jsx(Markdown, { children: args.answer }) }), args.chart && (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("div", { className: "text-xs text-muted-foreground font-mono", children: args.chart.sqlQuery }), _jsx(Suspense, { fallback: _jsx("div", { className: "w-full h-full flex items-center justify-center", children: _jsx(Spinner, { className: "w-4 h-4" }) }), children: _jsx(VegaLiteChart, { width: 400, height: 250, sqlQuery: args.chart.sqlQuery, spec: args.chart.vegaLiteSpec }) })] }))] })) : (_jsx("pre", { children: JSON.stringify(args, null, 2) }))] }, toolCallId));
|
|
13
15
|
}
|
|
16
|
+
//# sourceMappingURL=ToolCall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolCall.js","sourceRoot":"","sources":["../src/ToolCall.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,cAAc,EACd,cAAc,EACd,OAAO,EACP,EAAE,GACH,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/B,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAM7C,MAAM,UAAU,QAAQ,CAAC,EAAC,QAAQ,EAAgB;IAChD,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAC,GAAG,QAAQ,CAAC;IAC9C,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC;IAEpB,OAAO,CACL,eAEE,SAAS,EAAE,EAAE,CACX,8GAA8G,EAC9G;YACE,kBAAkB,EAAE,QAAQ,KAAK,QAAQ;SAC1C,CACF,aAED,KAAC,KAAK,IACJ,OAAO,EAAC,WAAW,EACnB,SAAS,EAAE,EAAE,CACX,sEAAsE,EACtE;oBACE,kBAAkB,EAAE,QAAQ,KAAK,QAAQ;iBAC1C,CACF,YAEA,QAAQ,GACH,EAER,cAAK,SAAS,EAAC,wBAAwB,YACrC,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,YACvD,KAAC,QAAQ,IAAC,SAAS,EAAC,SAAS,GAAG,GACzB,GACM,EACjB,KAAC,cAAc,IACb,SAAS,EAAC,uCAAuC,EACjD,KAAK,EAAC,OAAO,EACb,IAAI,EAAC,OAAO,YAEZ,cAAK,SAAS,EAAC,SAAS,YAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAO,GACnD,IACT,GACN,EACL,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAClB,eAAK,SAAS,EAAC,qBAAqB,aAClC,cAAK,SAAS,EAAC,0CAA0C,YACtD,IAAI,CAAC,SAAS,GACX,EACN,cAAK,SAAS,EAAC,WAAW,YAAE,IAAI,CAAC,QAAQ,GAAO,IAC5C,CACP,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACtB,eAAK,SAAS,EAAC,qBAAqB,aAClC,cAAK,SAAS,EAAC,SAAS,YACtB,KAAC,QAAQ,cAAE,IAAI,CAAC,MAAM,GAAY,GAC9B,EACL,IAAI,CAAC,KAAK,IAAI,CACb,eAAK,SAAS,EAAC,qBAAqB,aAClC,cAAK,SAAS,EAAC,yCAAyC,YACrD,IAAI,CAAC,KAAK,CAAC,QAAQ,GAChB,EACN,KAAC,QAAQ,IACP,QAAQ,EACN,cAAK,SAAS,EAAC,gDAAgD,YAC7D,KAAC,OAAO,IAAC,SAAS,EAAC,SAAS,GAAG,GAC3B,YAGR,KAAC,aAAa,IACZ,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAC7B,GACO,IACP,CACP,IACG,CACP,CAAC,CAAC,CAAC,CACF,wBAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAO,CAC3C,KAxEI,UAAU,CAyEX,CACP,CAAC;AACJ,CAAC"}
|
package/dist/ToolResult.js
CHANGED
|
@@ -4,5 +4,6 @@ import { CheckCircle2Icon, CodeIcon, XCircleIcon } from 'lucide-react';
|
|
|
4
4
|
export const ToolResult = ({ toolResult }) => {
|
|
5
5
|
const { toolName, args, result } = toolResult;
|
|
6
6
|
const isSuccess = result.success;
|
|
7
|
-
return (_jsxs("div", { className: cn('border-2 relative bg-gray-900 px-5 py-6 rounded-md text-gray-300 text-xs', isSuccess ? 'border-green-500' : 'border-red-500'), children: [_jsxs(Badge, { variant: "secondary", className: cn('text-xs absolute top-[-12px] left-2 text-gray-100 flex items-center gap-1 border', isSuccess ? 'border-green-500' : 'border-red-500'), children: [isSuccess ? (_jsx(CheckCircle2Icon, { className: "w-3 h-3 text-green-500" })) : (_jsx(XCircleIcon, { className: "w-3 h-3 text-red-500" })), toolName] }), _jsx("div", { className: "absolute top-2 right-2", children: _jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", size: "icon", className: "w-6 h-6", children: _jsx(CodeIcon, { className: "w-4 h-4" }) }) }), _jsx(PopoverContent, { className: "w-[400px] max-h-[300px] overflow-auto p-4", side: "right", align: "start", children: _jsx("pre", { className: "whitespace-no-wrap text-xs", children: JSON.stringify(toolResult, null, 2) }) })] }) }), _jsxs("div", { className: "flex flex-col gap-5", children: [args.reasoning && (_jsx("div", { className: "text-xs text-gray-400", children: args.reasoning })), args.sqlQuery && _jsx("div", { className: "font-mono", children: args.sqlQuery }), !result.success && (_jsxs("div", { className: "text-red-500 gap-2 flex flex-col", children: [_jsx("p", { className: "text-sm font-bold", children: "Oops! Something went wrong..." }), _jsx("p", { className: "text-xs", children: result.error })] }))] })] }));
|
|
7
|
+
return (_jsxs("div", { className: cn('border-2 relative bg-gray-100 dark:bg-gray-900 px-5 py-6 rounded-md text-gray-700 dark:text-gray-300 text-xs', isSuccess ? 'border-green-500' : 'border-red-500'), children: [_jsxs(Badge, { variant: "secondary", className: cn('text-xs absolute top-[-12px] left-2 dark:text-gray-100 text-gray-700 flex items-center gap-1 border', isSuccess ? 'border-green-500' : 'border-red-500'), children: [isSuccess ? (_jsx(CheckCircle2Icon, { className: "w-3 h-3 text-green-500" })) : (_jsx(XCircleIcon, { className: "w-3 h-3 text-red-500" })), toolName] }), _jsx("div", { className: "absolute top-2 right-2", children: _jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", size: "icon", className: "w-6 h-6", children: _jsx(CodeIcon, { className: "w-4 h-4" }) }) }), _jsx(PopoverContent, { className: "w-[400px] max-h-[300px] overflow-auto p-4", side: "right", align: "start", children: _jsx("pre", { className: "whitespace-no-wrap text-xs", children: JSON.stringify(toolResult, null, 2) }) })] }) }), _jsxs("div", { className: "flex flex-col gap-5", children: [args.reasoning && (_jsx("div", { className: "text-xs text-gray-400", children: args.reasoning })), args.sqlQuery && _jsx("div", { className: "font-mono", children: args.sqlQuery }), !result.success && (_jsxs("div", { className: "text-red-500 gap-2 flex flex-col", children: [_jsx("p", { className: "text-sm font-bold", children: "Oops! Something went wrong..." }), _jsx("p", { className: "text-xs", children: result.error })] }))] })] }));
|
|
8
8
|
};
|
|
9
|
+
//# sourceMappingURL=ToolResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolResult.js","sourceRoot":"","sources":["../src/ToolResult.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,cAAc,EACd,cAAc,EACd,EAAE,GACH,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAC,MAAM,cAAc,CAAC;AAMrE,MAAM,CAAC,MAAM,UAAU,GAA8B,CAAC,EAAC,UAAU,EAAC,EAAE,EAAE;IACpE,MAAM,EAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,UAAU,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;IAEjC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,8GAA8G,EAC9G,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAClD,aAED,MAAC,KAAK,IACJ,OAAO,EAAC,WAAW,EACnB,SAAS,EAAE,EAAE,CACX,qGAAqG,EACrG,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAClD,aAEA,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,gBAAgB,IAAC,SAAS,EAAC,wBAAwB,GAAG,CACxD,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,IAAC,SAAS,EAAC,sBAAsB,GAAG,CACjD,EACA,QAAQ,IACH,EAER,cAAK,SAAS,EAAC,wBAAwB,YACrC,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,YACvD,KAAC,QAAQ,IAAC,SAAS,EAAC,SAAS,GAAG,GACzB,GACM,EACjB,KAAC,cAAc,IACb,SAAS,EAAC,2CAA2C,EACrD,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,OAAO,YAEb,cAAK,SAAS,EAAC,4BAA4B,YACxC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,GAChC,GACS,IACT,GACN,EAEN,eAAK,SAAS,EAAC,qBAAqB,aACjC,IAAI,CAAC,SAAS,IAAI,CACjB,cAAK,SAAS,EAAC,uBAAuB,YAAE,IAAI,CAAC,SAAS,GAAO,CAC9D,EACA,IAAI,CAAC,QAAQ,IAAI,cAAK,SAAS,EAAC,WAAW,YAAE,IAAI,CAAC,QAAQ,GAAO,EACjE,CAAC,MAAM,CAAC,OAAO,IAAI,CAClB,eAAK,SAAS,EAAC,kCAAkC,aAC/C,YAAG,SAAS,EAAC,mBAAmB,8CAAkC,EAClE,YAAG,SAAS,EAAC,SAAS,YAAE,MAAM,CAAC,KAAK,GAAK,IACrC,CACP,IACG,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/analysis.d.ts
CHANGED
|
@@ -9,7 +9,6 @@ import { StepResult, ToolExecutionOptions } from 'ai';
|
|
|
9
9
|
export declare function runAnalysis({ model, abortSignal, onStepFinish, maxSteps, messages, }: {
|
|
10
10
|
abortSignal?: AbortSignal;
|
|
11
11
|
onStepFinish?: (event: StepResult<typeof TOOLS>) => Promise<void> | void;
|
|
12
|
-
apiKey: string;
|
|
13
12
|
model: LanguageModelV1;
|
|
14
13
|
maxSteps?: number;
|
|
15
14
|
messages?: any[];
|
package/dist/analysis.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAe,UAAU,EAAQ,oBAAoB,EAAC,MAAM,IAAI,CAAC;AAOxE;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,EAChC,KAAK,EAEL,WAAW,EACX,YAAY,EACZ,QAAc,EACd,QAAQ,GACT,EAAE;IAED,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzE,
|
|
1
|
+
{"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAe,UAAU,EAAQ,oBAAoB,EAAC,MAAM,IAAI,CAAC;AAOxE;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,EAChC,KAAK,EAEL,WAAW,EACX,YAAY,EACZ,QAAc,EACd,QAAQ,GACT,EAAE;IAED,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzE,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;CAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA+BA;AAED,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DV,CAAC"}
|
package/dist/analysis.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAC,YAAY,EAAc,IAAI,EAAuB,MAAM,IAAI,CAAC;AACxE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GAEpB,MAAM,WAAW,CAAC;AAEnB;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAChC,KAAK;AACL,UAAU;AACV,WAAW,EACX,YAAY,EACZ,QAAQ,GAAG,GAAG,EACd,QAAQ,GAQT;IACC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;QAChC,KAAK;QAEL,WAAW;QACX,UAAU;QACV,QAAQ;QAER,KAAK,EAAE,KAAK;QAEZ,UAAU,EAAE,UAAU;QACtB,QAAQ;QACR,UAAU,EAAE,CAAC;QAEb,MAAM,EACJ,2EAA2E;YAC3E,oEAAoE;YACpE,uBAAuB;YACvB,4EAA4E;QAE9E,YAAY;KACb,CAAC,CAAC;IAEH,wEAAwE;IACxE,iBAAiB;IACjB,0DAA0D;IAC1D,kDAAkD;IAClD,IAAI;IACJ,sBAAsB;IAEtB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,KAAK,GAAG;IACZ,KAAK,EAAE,IAAI,CAAC;QACV,WAAW,EACT,4FAA4F;YAC5F,4FAA4F;YAC5F,oGAAoG;YACpG,+DAA+D;YAC/D,8EAA8E;YAC9E,2EAA2E;YAC3E,6GAA6G;YAC7G,yDAAyD;YACzD,kEAAkE;QACpE,UAAU,EAAE,mBAAmB;QAE/B,OAAO,EAAE,KAAK,EACZ,EAAC,QAAQ,EAAC,EACV,OAA6B,EACQ,EAAE;YACvC,IAAI,CAAC;gBACH,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,SAAS,EAAE,CAAC;gBACjC,iEAAiE;gBACjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC1C,sCAAsC;gBACtC,sCAAsC;gBACtC,IAAI;gBACJ,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC;iBAC/B,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;gBACzC,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK;oBACpB,CAAC,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK;wBAC5B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO;wBACrB,CAAC,CAAC,KAAK,CAAC,OAAO;oBACjB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,YAAY;iBACpB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,wEAAwE;KACzE,CAAC;IAEF,wDAAwD;IACxD,MAAM,EAAE,IAAI,CAAC;QACX,WAAW,EAAE,wCAAwC;QACrD,UAAU,EAAE,oBAAoB;QAEhC,sEAAsE;QACtE,aAAa;QACb,qBAAqB;QACrB,oBAAoB;QACpB,OAAO;QACP,KAAK;KACN,CAAC;CACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-scroll-to-bottom.js","sourceRoot":"","sources":["../../src/hooks/use-scroll-to-bottom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAkB,QAAQ,EAAC,MAAM,OAAO,CAAC;AAElE,MAAM,UAAU,iBAAiB,CAC/B,UAAgC;IAC9B,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;IACnB,oBAAoB;CACrB;IAED,MAAM,YAAY,GAAG,MAAM,CAAI,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAI,IAAI,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;QAE3B,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;gBACzC,GAAG,CAAC,cAAc,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAErC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACrC,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,YAAoC;IAC1E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,MAAM,EAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAC,GAAG,SAAS,CAAC;YAC1D,iEAAiE;YACjE,MAAM,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,GAAG,CAAC;YACpE,aAAa,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEnD,iEAAiE;QACjE,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAEhD,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACtD,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC7B,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,YAAY;YACtC,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,CAAC;AACtC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,3 +3,4 @@ export { QueryControls } from './QueryControls';
|
|
|
3
3
|
export { AnalysisResultsContainer } from './AnalysisResultsContainer';
|
|
4
4
|
export { AnalysisResult } from './AnalysisResult';
|
|
5
5
|
export { useScrollToBottom, useScrollToBottomButton, } from './hooks/use-scroll-to-bottom';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,IAAI,UAAU,EAC5B,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC"}
|
package/dist/schemas.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;QACb,CAAC,CAAC,MAAM,CAAC;YACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;SACzB,CAAC;QACF,CAAC,CAAC,IAAI,EAAE;KACT,CAAC;CACH,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;CAC3D,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;QACd,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YACxB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;SACxB,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IACtB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;CACnC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sqlrooms/ai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@ai-sdk/provider": "^1.0.7",
|
|
23
23
|
"@paralleldrive/cuid2": "^2.2.2",
|
|
24
|
-
"@sqlrooms/duckdb": "0.
|
|
25
|
-
"@sqlrooms/project-builder": "0.
|
|
26
|
-
"@sqlrooms/project-config": "0.
|
|
27
|
-
"@sqlrooms/ui": "0.
|
|
28
|
-
"@sqlrooms/vega": "0.
|
|
24
|
+
"@sqlrooms/duckdb": "0.4.0",
|
|
25
|
+
"@sqlrooms/project-builder": "0.4.0",
|
|
26
|
+
"@sqlrooms/project-config": "0.4.0",
|
|
27
|
+
"@sqlrooms/ui": "0.4.0",
|
|
28
|
+
"@sqlrooms/vega": "0.4.0",
|
|
29
29
|
"ai": "^4.1.28",
|
|
30
30
|
"immer": "^10.1.1",
|
|
31
31
|
"lucide-react": "^0.475.0",
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"lint": "eslint .",
|
|
44
44
|
"typedoc": "typedoc"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "fbc92d77cf3a70bdbef67bb0d7cf9342ed3e81a1"
|
|
47
47
|
}
|