@jazzmind/busibox-app 3.0.36 → 3.0.38
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/components/chat/ChatInterface.d.ts +3 -3
- package/dist/components/chat/ChatInterface.d.ts.map +1 -1
- package/dist/components/chat/ChatInterface.js +55 -96
- package/dist/components/chat/ChatInterface.js.map +1 -1
- package/dist/components/chat/StepTimeline.d.ts +9 -0
- package/dist/components/chat/StepTimeline.d.ts.map +1 -0
- package/dist/components/chat/StepTimeline.js +110 -0
- package/dist/components/chat/StepTimeline.js.map +1 -0
- package/dist/components/chat/ThinkingStream.d.ts +13 -0
- package/dist/components/chat/ThinkingStream.d.ts.map +1 -0
- package/dist/components/chat/ThinkingStream.js +41 -0
- package/dist/components/chat/ThinkingStream.js.map +1 -0
- package/dist/components/chat/chat-utils.d.ts +1 -0
- package/dist/components/chat/chat-utils.d.ts.map +1 -1
- package/dist/components/chat/chat-utils.js +19 -0
- package/dist/components/chat/chat-utils.js.map +1 -1
- package/dist/lib/agent/agent-service-client.d.ts +35 -0
- package/dist/lib/agent/agent-service-client.d.ts.map +1 -1
- package/dist/lib/agent/agent-service-client.js +60 -4
- package/dist/lib/agent/agent-service-client.js.map +1 -1
- package/dist/lib/agent/index.d.ts +2 -1
- package/dist/lib/agent/index.d.ts.map +1 -1
- package/dist/lib/agent/index.js +2 -0
- package/dist/lib/agent/index.js.map +1 -1
- package/dist/lib/agent/sync.d.ts +26 -0
- package/dist/lib/agent/sync.d.ts.map +1 -0
- package/dist/lib/agent/sync.js +89 -0
- package/dist/lib/agent/sync.js.map +1 -0
- package/dist/lib/hooks/useChatStream.d.ts +34 -0
- package/dist/lib/hooks/useChatStream.d.ts.map +1 -0
- package/dist/lib/hooks/useChatStream.js +251 -0
- package/dist/lib/hooks/useChatStream.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useEffect, useRef } from 'react';
|
|
4
|
+
import { Brain, ChevronDown, ChevronRight, Loader2 } from 'lucide-react';
|
|
5
|
+
/**
|
|
6
|
+
* Live-streaming thinking display that shows model reasoning as it arrives.
|
|
7
|
+
* Automatically collapses into a summary when content starts streaming,
|
|
8
|
+
* but stays expanded while thinking is the only activity.
|
|
9
|
+
*/
|
|
10
|
+
export function ThinkingStream({ thoughts, isActive }) {
|
|
11
|
+
const [isExpanded, setIsExpanded] = useState(true);
|
|
12
|
+
const [wasManuallyToggled, setWasManuallyToggled] = useState(false);
|
|
13
|
+
const containerRef = useRef(null);
|
|
14
|
+
const thinkingThoughts = thoughts.filter(t => t.type === 'thought' && t.data?.phase === 'model_reasoning');
|
|
15
|
+
const latestThinking = thinkingThoughts[thinkingThoughts.length - 1];
|
|
16
|
+
const isStreaming = isActive && latestThinking?.data?.streaming === true;
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
if (wasManuallyToggled)
|
|
19
|
+
return;
|
|
20
|
+
if (isActive && thinkingThoughts.length > 0) {
|
|
21
|
+
setIsExpanded(true);
|
|
22
|
+
}
|
|
23
|
+
}, [isActive, thinkingThoughts.length, wasManuallyToggled]);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
if (isExpanded && containerRef.current) {
|
|
26
|
+
containerRef.current.scrollTop = containerRef.current.scrollHeight;
|
|
27
|
+
}
|
|
28
|
+
}, [isExpanded, thinkingThoughts]);
|
|
29
|
+
if (thinkingThoughts.length === 0)
|
|
30
|
+
return null;
|
|
31
|
+
const combinedThinking = thinkingThoughts
|
|
32
|
+
.map(t => t.message || '')
|
|
33
|
+
.filter(Boolean)
|
|
34
|
+
.join('');
|
|
35
|
+
const handleToggle = () => {
|
|
36
|
+
setWasManuallyToggled(true);
|
|
37
|
+
setIsExpanded(prev => !prev);
|
|
38
|
+
};
|
|
39
|
+
return (_jsxs("div", { className: "mb-2", children: [_jsxs("button", { type: "button", onClick: handleToggle, className: "flex items-center gap-1.5 text-xs text-purple-600 dark:text-purple-400 hover:text-purple-700 dark:hover:text-purple-300 transition-colors", children: [_jsx(Brain, { className: "w-3 h-3" }), _jsx("span", { className: "font-medium", children: isStreaming ? 'Thinking...' : 'Thought process' }), isStreaming && _jsx(Loader2, { className: "w-3 h-3 animate-spin" }), isExpanded ? (_jsx(ChevronDown, { className: "w-3 h-3" })) : (_jsx(ChevronRight, { className: "w-3 h-3" }))] }), isExpanded && (_jsxs("div", { ref: containerRef, className: "mt-1 px-3 py-2 bg-purple-50/50 dark:bg-purple-900/20 border-l-2 border-purple-300 dark:border-purple-700 rounded-r text-xs text-purple-800 dark:text-purple-200 max-h-40 overflow-y-auto whitespace-pre-wrap leading-relaxed", children: [combinedThinking, isStreaming && (_jsx("span", { className: "inline-block w-1.5 h-3 bg-purple-400 dark:bg-purple-500 animate-pulse ml-0.5" }))] }))] }));
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=ThinkingStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThinkingStream.js","sourceRoot":"","sources":["../../../src/components/chat/ThinkingStream.tsx"],"names":[],"mappings":"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"}
|
|
@@ -292,6 +292,7 @@ export declare function CitationLink({ href, children, ...props }: React.AnchorH
|
|
|
292
292
|
export declare const streamingMarkdownComponents: {
|
|
293
293
|
a: typeof CitationLink;
|
|
294
294
|
};
|
|
295
|
+
export declare function extractThinkContent(text: string): string[];
|
|
295
296
|
export declare function stripThinkTags(text: string): string;
|
|
296
297
|
export declare function preprocessLatex(content: string): string;
|
|
297
298
|
//# sourceMappingURL=chat-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-utils.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA+BvG;AAED,eAAO,MAAM,2BAA2B;;CAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-utils.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA+BvG;AAED,eAAO,MAAM,2BAA2B;;CAAsB,CAAC;AAQ/D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAgB1D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMvD"}
|
|
@@ -32,6 +32,25 @@ export const streamingMarkdownComponents = { a: CitationLink };
|
|
|
32
32
|
const THINK_COMPLETE_RE = /<think>[\s\S]*?<\/think>/g;
|
|
33
33
|
const THINK_UNCLOSED_RE = /<think>[\s\S]*$/;
|
|
34
34
|
const THINK_ORPHAN_CLOSE_RE = /^[^<]*<\/think>/;
|
|
35
|
+
const THINK_EXTRACT_RE = /<think>([\s\S]*?)<\/think>/g;
|
|
36
|
+
const THINK_EXTRACT_UNCLOSED_RE = /<think>([\s\S]*)$/;
|
|
37
|
+
export function extractThinkContent(text) {
|
|
38
|
+
const thoughts = [];
|
|
39
|
+
let match;
|
|
40
|
+
const re = new RegExp(THINK_EXTRACT_RE.source, 'g');
|
|
41
|
+
while ((match = re.exec(text)) !== null) {
|
|
42
|
+
const t = match[1].trim();
|
|
43
|
+
if (t)
|
|
44
|
+
thoughts.push(t);
|
|
45
|
+
}
|
|
46
|
+
const unclosed = THINK_EXTRACT_UNCLOSED_RE.exec(text.replace(THINK_COMPLETE_RE, ''));
|
|
47
|
+
if (unclosed) {
|
|
48
|
+
const t = unclosed[1].trim();
|
|
49
|
+
if (t)
|
|
50
|
+
thoughts.push(t);
|
|
51
|
+
}
|
|
52
|
+
return thoughts;
|
|
53
|
+
}
|
|
35
54
|
export function stripThinkTags(text) {
|
|
36
55
|
let result = text.replace(THINK_COMPLETE_RE, '');
|
|
37
56
|
result = result.replace(THINK_UNCLOSED_RE, '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-utils.js","sourceRoot":"","sources":["../../../src/components/chat/chat-utils.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,MAAM,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAiD;IACtG,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;gBAC9B,GAAG,KAAK;gBACR,IAAI,EAAE,cAAc,MAAM,EAAE;gBAC5B,MAAM,EAAE,QAAQ;gBAChB,GAAG,EAAE,qBAAqB;gBAC1B,SAAS,EAAE,iQAAiQ;gBAC5Q,KAAK,EAAE,sBAAsB;aAC9B,EACC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;gBACzB,SAAS,EAAE,uBAAuB;gBAClC,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,WAAW;aACrB,EACC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC1B,aAAa,EAAE,OAAO;gBACtB,cAAc,EAAE,OAAO;gBACvB,WAAW,EAAE,CAAC;gBACd,CAAC,EAAE,sHAAsH;aAC1H,CAAC,CACH,EACD,QAAQ,CACT,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC9G,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;AAE/D,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AACtD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAC5C,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-utils.js","sourceRoot":"","sources":["../../../src/components/chat/chat-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,39 @@ export interface ToolDefinition {
|
|
|
40
40
|
name: string;
|
|
41
41
|
description: string;
|
|
42
42
|
enabled: boolean;
|
|
43
|
+
is_builtin?: boolean;
|
|
44
|
+
scopes?: string[];
|
|
45
|
+
}
|
|
46
|
+
export interface AgentDefinitionInput {
|
|
47
|
+
name: string;
|
|
48
|
+
display_name: string;
|
|
49
|
+
description: string;
|
|
50
|
+
instructions: string;
|
|
51
|
+
model: string;
|
|
52
|
+
tools?: {
|
|
53
|
+
names: string[];
|
|
54
|
+
};
|
|
55
|
+
workflows?: {
|
|
56
|
+
execution_mode?: string;
|
|
57
|
+
tool_strategy?: string;
|
|
58
|
+
max_iterations?: number;
|
|
59
|
+
};
|
|
60
|
+
allow_frontier_fallback?: boolean;
|
|
61
|
+
is_builtin?: boolean;
|
|
62
|
+
scopes?: string[];
|
|
63
|
+
}
|
|
64
|
+
export interface AgentSyncResult {
|
|
65
|
+
created: string[];
|
|
66
|
+
updated: string[];
|
|
67
|
+
failed: string[];
|
|
68
|
+
}
|
|
69
|
+
export interface AgentStatus {
|
|
70
|
+
name: string;
|
|
71
|
+
displayName: string;
|
|
72
|
+
exists: boolean;
|
|
73
|
+
}
|
|
74
|
+
export interface SyncStatus {
|
|
75
|
+
agents: AgentStatus[];
|
|
43
76
|
}
|
|
44
77
|
/**
|
|
45
78
|
* Create a server-side agent API client
|
|
@@ -84,6 +117,8 @@ export declare function createAgentClient(config: AgentClientConfig): {
|
|
|
84
117
|
deleteConversationInsights(conversationId: string): Promise<{
|
|
85
118
|
count: number;
|
|
86
119
|
}>;
|
|
120
|
+
syncAgents(definitions: AgentDefinitionInput[]): Promise<AgentSyncResult>;
|
|
121
|
+
getSyncStatus(definitions: AgentDefinitionInput[]): Promise<SyncStatus>;
|
|
87
122
|
};
|
|
88
123
|
export type AgentClient = ReturnType<typeof createAgentClient>;
|
|
89
124
|
//# sourceMappingURL=agent-service-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-service-client.d.ts","sourceRoot":"","sources":["../../../src/lib/agent/agent-service-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAI1B,MAAM,WAAW,iBAAiB;IAChC,wFAAwF;IACxF,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;iBA4BpC,OAAO,CAAC,eAAe,EAAE,CAAC;gBAI3B,OAAO,CAAC,cAAc,EAAE,CAAC;+
|
|
1
|
+
{"version":3,"file":"agent-service-client.d.ts","sourceRoot":"","sources":["../../../src/lib/agent/agent-service-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,10 +47,19 @@ export function createAgentClient(config) {
|
|
|
47
47
|
return fetchJson('/agents');
|
|
48
48
|
},
|
|
49
49
|
async getTools() {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
try {
|
|
51
|
+
const tools = await fetchJson('/agents/tools');
|
|
52
|
+
return tools.map((t) => ({
|
|
53
|
+
name: t.name,
|
|
54
|
+
description: t.description || '',
|
|
55
|
+
enabled: t.is_active !== false,
|
|
56
|
+
is_builtin: t.is_builtin,
|
|
57
|
+
scopes: t.scopes,
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
54
63
|
},
|
|
55
64
|
async getConversations(options) {
|
|
56
65
|
const params = new URLSearchParams();
|
|
@@ -153,6 +162,53 @@ export function createAgentClient(config) {
|
|
|
153
162
|
method: 'DELETE',
|
|
154
163
|
});
|
|
155
164
|
},
|
|
165
|
+
async syncAgents(definitions) {
|
|
166
|
+
const created = [];
|
|
167
|
+
const updated = [];
|
|
168
|
+
const failed = [];
|
|
169
|
+
for (const agent of definitions) {
|
|
170
|
+
try {
|
|
171
|
+
const data = await fetchJson('/agents/definitions', {
|
|
172
|
+
method: 'POST',
|
|
173
|
+
body: JSON.stringify(agent),
|
|
174
|
+
});
|
|
175
|
+
if (data.version && data.version > 1) {
|
|
176
|
+
updated.push(agent.name);
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
created.push(agent.name);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
catch (err) {
|
|
183
|
+
console.error(`[agent-sync] Failed to sync agent ${agent.name}:`, err instanceof Error ? err.message : err);
|
|
184
|
+
failed.push(agent.name);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return { created, updated, failed };
|
|
188
|
+
},
|
|
189
|
+
async getSyncStatus(definitions) {
|
|
190
|
+
const agents = [];
|
|
191
|
+
try {
|
|
192
|
+
const data = await fetchJson('/agents');
|
|
193
|
+
const items = data.items || data || [];
|
|
194
|
+
const agentNames = Array.isArray(items)
|
|
195
|
+
? items.map((a) => a.name)
|
|
196
|
+
: [];
|
|
197
|
+
for (const def of definitions) {
|
|
198
|
+
agents.push({
|
|
199
|
+
name: def.name,
|
|
200
|
+
displayName: def.display_name,
|
|
201
|
+
exists: agentNames.includes(def.name),
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
catch {
|
|
206
|
+
for (const def of definitions) {
|
|
207
|
+
agents.push({ name: def.name, displayName: def.display_name, exists: false });
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return { agents };
|
|
211
|
+
},
|
|
156
212
|
};
|
|
157
213
|
}
|
|
158
214
|
//# sourceMappingURL=agent-service-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-service-client.js","sourceRoot":"","sources":["../../../src/lib/agent/agent-service-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-service-client.js","sourceRoot":"","sources":["../../../src/lib/agent/agent-service-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
export { getAgentApiUrl, buildAuthHeaders, getAgentApiToken, agentApiFetch, agentApiFetchJson, } from './agent-api-base';
|
|
5
5
|
export type { AgentApiFetchOptions, } from './agent-api-base';
|
|
6
6
|
export { createAgentClient } from './agent-service-client';
|
|
7
|
-
export type { AgentClient, AgentClientConfig, AgentDefinition, ToolDefinition, } from './agent-service-client';
|
|
7
|
+
export type { AgentClient, AgentClientConfig, AgentDefinition, AgentDefinitionInput, ToolDefinition, AgentSyncResult, AgentStatus, SyncStatus, } from './agent-service-client';
|
|
8
|
+
export { syncAgentDefinitions, getAgentSyncStatus } from './sync';
|
|
8
9
|
export { sendChatMessage, streamChatMessage, getAvailableModels, getConversationHistory, generateInsights, getConversations, createConversation, updateConversation, deleteConversation, searchInsights, insertInsights, deleteConversationInsights, getInsightStats, initializeInsights, } from './chat-client';
|
|
9
10
|
export type { ChatClientOptions, } from './chat-client';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/agent/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/agent/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,WAAW,EACX,UAAU,GACX,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAGlE,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,eAAe,EACf,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,iBAAiB,GAClB,MAAM,eAAe,CAAC"}
|
package/dist/lib/agent/index.js
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
export { getAgentApiUrl, buildAuthHeaders, getAgentApiToken, agentApiFetch, agentApiFetchJson, } from './agent-api-base';
|
|
6
6
|
// Server-side client factory (for Server Components)
|
|
7
7
|
export { createAgentClient } from './agent-service-client';
|
|
8
|
+
// Standalone agent sync helpers (no client factory needed)
|
|
9
|
+
export { syncAgentDefinitions, getAgentSyncStatus } from './sync';
|
|
8
10
|
// Enhanced chat client (browser-side)
|
|
9
11
|
export { sendChatMessage, streamChatMessage, getAvailableModels, getConversationHistory, generateInsights, getConversations, createConversation, updateConversation, deleteConversation, searchInsights, insertInsights, deleteConversationInsights, getInsightStats, initializeInsights, } from './chat-client';
|
|
10
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/agent/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,kEAAkE;AAClE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAM1B,qDAAqD;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/agent/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,kEAAkE;AAClE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAM1B,qDAAqD;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAY3D,2DAA2D;AAC3D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAElE,sCAAsC;AACtC,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,eAAe,EACf,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Sync Helpers
|
|
3
|
+
*
|
|
4
|
+
* Standalone functions for syncing agent definitions to the agent-api.
|
|
5
|
+
* Apps provide their agent definitions array and a token; this module
|
|
6
|
+
* handles the POST /agents/definitions loop and status checks.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { syncAgentDefinitions, getAgentSyncStatus } from '@jazzmind/busibox-app/lib/agent/sync';
|
|
11
|
+
*
|
|
12
|
+
* const result = await syncAgentDefinitions(agentToken, AGENT_DEFINITIONS);
|
|
13
|
+
* const status = await getAgentSyncStatus(agentToken, AGENT_DEFINITIONS);
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
import type { AgentDefinitionInput, AgentSyncResult, SyncStatus } from './agent-service-client';
|
|
17
|
+
/**
|
|
18
|
+
* Sync an array of agent definitions to the agent-api.
|
|
19
|
+
* Creates new agents or updates existing ones (idempotent via POST /agents/definitions).
|
|
20
|
+
*/
|
|
21
|
+
export declare function syncAgentDefinitions(agentApiToken: string, definitions: AgentDefinitionInput[], agentApiUrl?: string): Promise<AgentSyncResult>;
|
|
22
|
+
/**
|
|
23
|
+
* Check which agent definitions exist on the agent-api.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getAgentSyncStatus(agentApiToken: string, definitions: AgentDefinitionInput[], agentApiUrl?: string): Promise<SyncStatus>;
|
|
26
|
+
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/lib/agent/sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAe,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAO7G;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,oBAAoB,EAAE,EACnC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,CAAC,CAmC1B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,oBAAoB,EAAE,EACnC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,CAAC,CA4BrB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Sync Helpers
|
|
3
|
+
*
|
|
4
|
+
* Standalone functions for syncing agent definitions to the agent-api.
|
|
5
|
+
* Apps provide their agent definitions array and a token; this module
|
|
6
|
+
* handles the POST /agents/definitions loop and status checks.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { syncAgentDefinitions, getAgentSyncStatus } from '@jazzmind/busibox-app/lib/agent/sync';
|
|
11
|
+
*
|
|
12
|
+
* const result = await syncAgentDefinitions(agentToken, AGENT_DEFINITIONS);
|
|
13
|
+
* const status = await getAgentSyncStatus(agentToken, AGENT_DEFINITIONS);
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
const getAgentApiUrl = () => process.env.AGENT_API_URL ||
|
|
17
|
+
process.env.NEXT_PUBLIC_AGENT_API_URL ||
|
|
18
|
+
'http://localhost:8000';
|
|
19
|
+
/**
|
|
20
|
+
* Sync an array of agent definitions to the agent-api.
|
|
21
|
+
* Creates new agents or updates existing ones (idempotent via POST /agents/definitions).
|
|
22
|
+
*/
|
|
23
|
+
export async function syncAgentDefinitions(agentApiToken, definitions, agentApiUrl) {
|
|
24
|
+
const baseUrl = agentApiUrl || getAgentApiUrl();
|
|
25
|
+
const created = [];
|
|
26
|
+
const updated = [];
|
|
27
|
+
const failed = [];
|
|
28
|
+
for (const agent of definitions) {
|
|
29
|
+
try {
|
|
30
|
+
const response = await fetch(`${baseUrl}/agents/definitions`, {
|
|
31
|
+
method: 'POST',
|
|
32
|
+
headers: {
|
|
33
|
+
'Content-Type': 'application/json',
|
|
34
|
+
Authorization: `Bearer ${agentApiToken}`,
|
|
35
|
+
},
|
|
36
|
+
body: JSON.stringify(agent),
|
|
37
|
+
});
|
|
38
|
+
if (response.ok) {
|
|
39
|
+
const data = await response.json();
|
|
40
|
+
if (data.version && data.version > 1) {
|
|
41
|
+
updated.push(agent.name);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
created.push(agent.name);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
const errText = await response.text();
|
|
49
|
+
console.error(`[agent-sync] Failed to sync agent ${agent.name}: ${response.status} ${errText}`);
|
|
50
|
+
failed.push(agent.name);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
failed.push(agent.name);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return { created, updated, failed };
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Check which agent definitions exist on the agent-api.
|
|
61
|
+
*/
|
|
62
|
+
export async function getAgentSyncStatus(agentApiToken, definitions, agentApiUrl) {
|
|
63
|
+
const baseUrl = agentApiUrl || getAgentApiUrl();
|
|
64
|
+
const agents = [];
|
|
65
|
+
try {
|
|
66
|
+
const response = await fetch(`${baseUrl}/agents`, {
|
|
67
|
+
headers: { Authorization: `Bearer ${agentApiToken}` },
|
|
68
|
+
});
|
|
69
|
+
const data = response.ok ? await response.json() : { items: [] };
|
|
70
|
+
const items = data.items || data;
|
|
71
|
+
const agentNames = Array.isArray(items)
|
|
72
|
+
? items.map((a) => a.name)
|
|
73
|
+
: [];
|
|
74
|
+
for (const def of definitions) {
|
|
75
|
+
agents.push({
|
|
76
|
+
name: def.name,
|
|
77
|
+
displayName: def.display_name,
|
|
78
|
+
exists: agentNames.includes(def.name),
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
for (const def of definitions) {
|
|
84
|
+
agents.push({ name: def.name, displayName: def.display_name, exists: false });
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return { agents };
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/lib/agent/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ChatMessageRequest, MessagePart, ThoughtEvent } from '../../types/chat';
|
|
2
|
+
export interface StreamState {
|
|
3
|
+
content: string;
|
|
4
|
+
thoughts: ThoughtEvent[];
|
|
5
|
+
parts: MessagePart[];
|
|
6
|
+
agentName?: string;
|
|
7
|
+
interimMessages: string[];
|
|
8
|
+
quickReplies: string[];
|
|
9
|
+
promptActive: boolean;
|
|
10
|
+
isStreaming: boolean;
|
|
11
|
+
conversationId?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface StreamResult {
|
|
14
|
+
content: string;
|
|
15
|
+
thoughts: ThoughtEvent[];
|
|
16
|
+
parts: MessagePart[];
|
|
17
|
+
agentName?: string;
|
|
18
|
+
interimMessages: string[];
|
|
19
|
+
conversationId?: string;
|
|
20
|
+
}
|
|
21
|
+
interface UseChatStreamOptions {
|
|
22
|
+
token: string;
|
|
23
|
+
agentUrl?: string;
|
|
24
|
+
onConversationCreated?: (id: string, title?: string) => void;
|
|
25
|
+
onTitleUpdate?: (id: string, title: string) => void;
|
|
26
|
+
}
|
|
27
|
+
export declare function useChatStream({ token, agentUrl, onConversationCreated, onTitleUpdate }: UseChatStreamOptions): {
|
|
28
|
+
state: StreamState;
|
|
29
|
+
sendMessage: (request: ChatMessageRequest) => Promise<StreamResult>;
|
|
30
|
+
cancel: () => void;
|
|
31
|
+
resetPrompt: () => void;
|
|
32
|
+
};
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=useChatStream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChatStream.d.ts","sourceRoot":"","sources":["../../../src/lib/hooks/useChatStream.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEtF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;AAcD,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,aAAa,EAAE,EAAE,oBAAoB;;2BA4KhG,kBAAkB,KAC1B,OAAO,CAAC,YAAY,CAAC;;;EAoGzB"}
|