@sqlrooms/ai-core 0.26.1-rc.7 → 0.27.0-rc.1
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/LICENSE.md +1 -1
- package/README.md +2 -2
- package/dist/AiSlice.d.ts +34 -47
- package/dist/AiSlice.d.ts.map +1 -1
- package/dist/AiSlice.js +199 -95
- package/dist/AiSlice.js.map +1 -1
- package/dist/agents/AgentUtils.d.ts +19 -11
- package/dist/agents/AgentUtils.d.ts.map +1 -1
- package/dist/agents/AgentUtils.js +95 -57
- package/dist/agents/AgentUtils.js.map +1 -1
- package/dist/chatTransport.d.ts +16 -17
- package/dist/chatTransport.d.ts.map +1 -1
- package/dist/chatTransport.js +148 -204
- package/dist/chatTransport.js.map +1 -1
- package/dist/components/AnalysisAnswer.d.ts.map +1 -1
- package/dist/components/AnalysisAnswer.js +0 -1
- package/dist/components/AnalysisAnswer.js.map +1 -1
- package/dist/components/AnalysisResult.d.ts +2 -0
- package/dist/components/AnalysisResult.d.ts.map +1 -1
- package/dist/components/AnalysisResult.js +9 -27
- package/dist/components/AnalysisResult.js.map +1 -1
- package/dist/components/AnalysisResultsContainer.d.ts +2 -0
- package/dist/components/AnalysisResultsContainer.d.ts.map +1 -1
- package/dist/components/AnalysisResultsContainer.js +8 -6
- package/dist/components/AnalysisResultsContainer.js.map +1 -1
- package/dist/components/Chat.d.ts +13 -0
- package/dist/components/Chat.d.ts.map +1 -0
- package/dist/components/Chat.js +17 -0
- package/dist/components/Chat.js.map +1 -0
- package/dist/components/ErrorMessage.d.ts +3 -2
- package/dist/components/ErrorMessage.d.ts.map +1 -1
- package/dist/components/ErrorMessage.js.map +1 -1
- package/dist/components/GroupedMessageParts.d.ts +2 -0
- package/dist/components/GroupedMessageParts.d.ts.map +1 -1
- package/dist/components/GroupedMessageParts.js +3 -3
- package/dist/components/GroupedMessageParts.js.map +1 -1
- package/dist/components/MessagePartsList.d.ts +2 -0
- package/dist/components/MessagePartsList.d.ts.map +1 -1
- package/dist/components/MessagePartsList.js +4 -4
- package/dist/components/MessagePartsList.js.map +1 -1
- package/dist/components/PromptSuggestions.d.ts.map +1 -1
- package/dist/components/PromptSuggestions.js +8 -5
- package/dist/components/PromptSuggestions.js.map +1 -1
- package/dist/components/QueryControls.d.ts.map +1 -1
- package/dist/components/QueryControls.js +26 -19
- package/dist/components/QueryControls.js.map +1 -1
- package/dist/components/ReasoningBox.d.ts +1 -1
- package/dist/components/ReasoningBox.d.ts.map +1 -1
- package/dist/components/ReasoningBox.js.map +1 -1
- package/dist/components/SessionChatManager.d.ts +9 -0
- package/dist/components/SessionChatManager.d.ts.map +1 -0
- package/dist/components/SessionChatManager.js +27 -0
- package/dist/components/SessionChatManager.js.map +1 -0
- package/dist/components/SessionChatProvider.d.ts +13 -0
- package/dist/components/SessionChatProvider.d.ts.map +1 -0
- package/dist/components/SessionChatProvider.js +32 -0
- package/dist/components/SessionChatProvider.js.map +1 -0
- package/dist/components/SessionControls.d.ts +0 -1
- package/dist/components/SessionControls.d.ts.map +1 -1
- package/dist/components/SessionControls.js +18 -11
- package/dist/components/SessionControls.js.map +1 -1
- package/dist/components/ToolPartRenderer.d.ts +5 -9
- package/dist/components/ToolPartRenderer.d.ts.map +1 -1
- package/dist/components/ToolPartRenderer.js +20 -33
- package/dist/components/ToolPartRenderer.js.map +1 -1
- package/dist/components/session/RenameSessionDialog.d.ts.map +1 -1
- package/dist/components/session/RenameSessionDialog.js +5 -2
- package/dist/components/session/RenameSessionDialog.js.map +1 -1
- package/dist/components/tools/ToolErrorMessage.d.ts.map +1 -1
- package/dist/components/tools/ToolErrorMessage.js +2 -2
- package/dist/components/tools/ToolErrorMessage.js.map +1 -1
- package/dist/components/tools/ToolResult.d.ts.map +1 -1
- package/dist/components/tools/ToolResult.js +9 -2
- package/dist/components/tools/ToolResult.js.map +1 -1
- package/dist/constants.d.ts +13 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +13 -0
- package/dist/constants.js.map +1 -0
- package/dist/hooks/useScrollToBottom.d.ts +1 -1
- package/dist/hooks/useScrollToBottom.js +1 -1
- package/dist/hooks/useScrollToBottom.js.map +1 -1
- package/dist/hooks/useSessionChat.d.ts +38 -0
- package/dist/hooks/useSessionChat.d.ts.map +1 -0
- package/dist/hooks/{useAiChat.js → useSessionChat.js} +50 -45
- package/dist/hooks/useSessionChat.js.map +1 -0
- package/dist/hooks/useToolGrouping.d.ts.map +1 -1
- package/dist/hooks/useToolGrouping.js +5 -45
- package/dist/hooks/useToolGrouping.js.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +21 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +29 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +116 -1
- package/dist/utils.js.map +1 -1
- package/package.json +10 -12
- package/dist/components/DeleteConfirmationDialog.d.ts +0 -14
- package/dist/components/DeleteConfirmationDialog.d.ts.map +0 -1
- package/dist/components/DeleteConfirmationDialog.js +0 -6
- package/dist/components/DeleteConfirmationDialog.js.map +0 -1
- package/dist/hooks/useAiChat.d.ts +0 -39
- package/dist/hooks/useAiChat.d.ts.map +0 -1
- package/dist/hooks/useAiChat.js.map +0 -1
package/LICENSE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright 2025
|
|
3
|
+
Copyright 2025 SQLRooms Contributors
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
6
|
|
package/README.md
CHANGED
|
@@ -43,7 +43,7 @@ const {roomStore, useRoomStore} = createRoomStore({
|
|
|
43
43
|
getInstructions: () => {
|
|
44
44
|
return `You are an AI assistant that can answer questions and help with tasks.`;
|
|
45
45
|
},
|
|
46
|
-
|
|
46
|
+
initialPrompt: 'What insights can you provide from my data?',
|
|
47
47
|
tools: {
|
|
48
48
|
// Your tools
|
|
49
49
|
},
|
|
@@ -464,7 +464,7 @@ createAiSlice({
|
|
|
464
464
|
The `processAgentStream` function handles the complexity of integrating agent execution into the main conversation:
|
|
465
465
|
|
|
466
466
|
```typescript
|
|
467
|
-
await processAgentStream(agentResult, store, parentToolCallId)
|
|
467
|
+
await processAgentStream(agentResult, store, parentToolCallId, abortSignal)
|
|
468
468
|
```
|
|
469
469
|
|
|
470
470
|
**What it handles:**
|
package/dist/AiSlice.d.ts
CHANGED
|
@@ -1,42 +1,33 @@
|
|
|
1
1
|
import { AiSliceConfig, AnalysisResultSchema, AnalysisSessionSchema } from '@sqlrooms/ai-config';
|
|
2
2
|
import { type StateCreator } from '@sqlrooms/room-store';
|
|
3
|
-
import { UIMessage, DefaultChatTransport, LanguageModel,
|
|
3
|
+
import { UIMessage, DefaultChatTransport, LanguageModel, ChatOnDataCallback } from 'ai';
|
|
4
4
|
import { ToolCall } from './chatTransport';
|
|
5
5
|
import { OpenAssistantToolSet } from '@openassistant/utils';
|
|
6
|
-
import { AddToolResult } from './types';
|
|
7
|
-
type ExtendedChatOnToolCallCallback = (args: {
|
|
8
|
-
toolCall: ToolCall;
|
|
9
|
-
addToolResult?: AddToolResult;
|
|
10
|
-
}) => Promise<void> | void;
|
|
6
|
+
import type { AddToolResult, AiChatSendMessage, GetProviderOptions } from './types';
|
|
11
7
|
export type AiSliceState = {
|
|
12
8
|
ai: {
|
|
13
9
|
config: AiSliceConfig;
|
|
14
|
-
analysisPrompt: string;
|
|
15
|
-
isRunningAnalysis: boolean;
|
|
16
10
|
promptSuggestionsVisible: boolean;
|
|
17
11
|
tools: OpenAssistantToolSet;
|
|
18
|
-
|
|
12
|
+
getProviderOptions?: GetProviderOptions;
|
|
19
13
|
setConfig: (config: AiSliceConfig) => void;
|
|
20
14
|
setPromptSuggestionsVisible: (visible: boolean) => void;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
/** Wait for a tool result to be added by UI component */
|
|
38
|
-
waitForToolResult: (toolCallId: string, abortSignal?: AbortSignal) => Promise<void>;
|
|
39
|
-
setAnalysisPrompt: (prompt: string) => void;
|
|
15
|
+
getAbortController: (sessionId: string) => AbortController | undefined;
|
|
16
|
+
setAbortController: (sessionId: string, controller: AbortController | undefined) => void;
|
|
17
|
+
setChatStop: (sessionId: string, stop: (() => void) | undefined) => void;
|
|
18
|
+
getChatStop: (sessionId: string) => (() => void) | undefined;
|
|
19
|
+
setChatSendMessage: (sessionId: string, sendMessage: AiChatSendMessage | undefined) => void;
|
|
20
|
+
getChatSendMessage: (sessionId: string) => AiChatSendMessage | undefined;
|
|
21
|
+
setAddToolResult: (sessionId: string, addToolResult: AddToolResult | undefined) => void;
|
|
22
|
+
getAddToolResult: (sessionId: string) => AddToolResult | undefined;
|
|
23
|
+
waitForToolResult: (sessionId: string, toolCallId: string, abortSignal?: AbortSignal) => Promise<void>;
|
|
24
|
+
/** Map toolCallId -> sessionId for long-running tool streams (e.g. agent tools) */
|
|
25
|
+
setToolCallSession: (toolCallId: string, sessionId: string | undefined) => void;
|
|
26
|
+
getToolCallSession: (toolCallId: string) => string | undefined;
|
|
27
|
+
setPrompt: (sessionId: string, prompt: string) => void;
|
|
28
|
+
getPrompt: (sessionId: string) => string;
|
|
29
|
+
setIsRunning: (sessionId: string, isRunning: boolean) => void;
|
|
30
|
+
getIsRunning: (sessionId: string) => boolean;
|
|
40
31
|
addAnalysisResult: (message: UIMessage) => void;
|
|
41
32
|
sendPrompt: (prompt: string, options?: {
|
|
42
33
|
systemInstructions?: string;
|
|
@@ -46,10 +37,8 @@ export type AiSliceState = {
|
|
|
46
37
|
abortSignal?: AbortSignal;
|
|
47
38
|
useTools?: boolean;
|
|
48
39
|
}) => Promise<string>;
|
|
49
|
-
startAnalysis: (
|
|
50
|
-
|
|
51
|
-
}) => void) => Promise<void>;
|
|
52
|
-
cancelAnalysis: () => void;
|
|
40
|
+
startAnalysis: (sessionId: string) => Promise<void>;
|
|
41
|
+
cancelAnalysis: (sessionId: string) => void;
|
|
53
42
|
setAiModel: (modelProvider: string, model: string) => void;
|
|
54
43
|
createSession: (name?: string, modelProvider?: string, model?: string) => void;
|
|
55
44
|
switchSession: (sessionId: string) => void;
|
|
@@ -58,7 +47,7 @@ export type AiSliceState = {
|
|
|
58
47
|
getCurrentSession: () => AnalysisSessionSchema | undefined;
|
|
59
48
|
setSessionUiMessages: (sessionId: string, uiMessages: UIMessage[]) => void;
|
|
60
49
|
setSessionToolAdditionalData: (sessionId: string, toolCallId: string, additionalData: unknown) => void;
|
|
61
|
-
getAnalysisResults: () => AnalysisResultSchema[];
|
|
50
|
+
getAnalysisResults: () => AnalysisResultSchema[] | undefined;
|
|
62
51
|
deleteAnalysisResult: (sessionId: string, resultId: string) => void;
|
|
63
52
|
getAssistantMessageParts: (analysisResultId: string) => UIMessage['parts'];
|
|
64
53
|
findToolComponent: (toolName: string) => React.ComponentType | undefined;
|
|
@@ -66,19 +55,23 @@ export type AiSliceState = {
|
|
|
66
55
|
getBaseUrlFromSettings: () => string | undefined;
|
|
67
56
|
getMaxStepsFromSettings: () => number;
|
|
68
57
|
getFullInstructions: () => string;
|
|
69
|
-
getLocalChatTransport: () => DefaultChatTransport<UIMessage>;
|
|
58
|
+
getLocalChatTransport: (sessionId: string) => DefaultChatTransport<UIMessage>;
|
|
70
59
|
/** Optional remote endpoint to use for chat; if empty, local transport is used */
|
|
71
60
|
chatEndPoint: string;
|
|
72
61
|
chatHeaders: Record<string, string>;
|
|
73
|
-
getRemoteChatTransport: (endpoint: string, headers?: Record<string, string>) => DefaultChatTransport<UIMessage>;
|
|
74
|
-
onChatToolCall: ExtendedChatOnToolCallCallback;
|
|
75
|
-
onChatData: ChatOnDataCallback<UIMessage<unknown, UIDataTypes, UITools>>;
|
|
62
|
+
getRemoteChatTransport: (sessionId: string, endpoint: string, headers?: Record<string, string>) => DefaultChatTransport<UIMessage>;
|
|
76
63
|
onChatFinish: (args: {
|
|
77
|
-
|
|
64
|
+
sessionId: string;
|
|
78
65
|
messages: UIMessage[];
|
|
79
66
|
isError?: boolean;
|
|
80
67
|
}) => void;
|
|
81
|
-
|
|
68
|
+
onChatToolCall: (args: {
|
|
69
|
+
sessionId: string;
|
|
70
|
+
toolCall: ToolCall;
|
|
71
|
+
addToolResult?: AddToolResult;
|
|
72
|
+
}) => Promise<void> | void;
|
|
73
|
+
onChatData: (sessionId: string, dataPart: Parameters<ChatOnDataCallback<UIMessage>>[0]) => void;
|
|
74
|
+
onChatError: (sessionId: string, error: unknown) => void;
|
|
82
75
|
};
|
|
83
76
|
};
|
|
84
77
|
/**
|
|
@@ -86,19 +79,14 @@ export type AiSliceState = {
|
|
|
86
79
|
*/
|
|
87
80
|
export interface AiSliceOptions {
|
|
88
81
|
config?: Partial<AiSliceConfig>;
|
|
89
|
-
|
|
90
|
-
initialAnalysisPrompt?: string;
|
|
91
|
-
/** Tools to add to the AI assistant */
|
|
82
|
+
initialPrompt?: string;
|
|
92
83
|
tools: OpenAssistantToolSet;
|
|
93
|
-
/**
|
|
94
|
-
* Function to get custom instructions for the AI assistant
|
|
95
|
-
* @returns The instructions string to use
|
|
96
|
-
*/
|
|
97
84
|
getInstructions: () => string;
|
|
98
85
|
defaultProvider?: string;
|
|
99
86
|
defaultModel?: string;
|
|
100
87
|
/** Provide a pre-configured model client for a provider (e.g., Azure). */
|
|
101
88
|
getCustomModel?: () => LanguageModel | undefined;
|
|
89
|
+
getProviderOptions?: GetProviderOptions;
|
|
102
90
|
maxSteps?: number;
|
|
103
91
|
getApiKey?: (modelProvider: string) => string;
|
|
104
92
|
getBaseUrl?: () => string;
|
|
@@ -109,5 +97,4 @@ export interface AiSliceOptions {
|
|
|
109
97
|
}
|
|
110
98
|
export declare function createAiSlice(params: AiSliceOptions): StateCreator<AiSliceState>;
|
|
111
99
|
export declare function useStoreWithAi<T>(selector: (state: AiSliceState) => T): T;
|
|
112
|
-
export {};
|
|
113
100
|
//# sourceMappingURL=AiSlice.d.ts.map
|
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,EACL,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"AiSlice.d.ts","sourceRoot":"","sources":["../src/AiSlice.ts"],"names":[],"mappings":"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"}
|