concevent-ai-agent-sdk 1.0.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/README.md +993 -0
- package/dist/adapters/index.d.ts +3 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +2 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/websocket.d.ts +23 -0
- package/dist/adapters/websocket.d.ts.map +1 -0
- package/dist/adapters/websocket.js +95 -0
- package/dist/adapters/websocket.js.map +1 -0
- package/dist/core/agent.d.ts +11 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +296 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/errors.d.ts +16 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +55 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +13 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +8 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/logger.d.ts +24 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +95 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/openrouter-client.d.ts +8 -0
- package/dist/core/openrouter-client.d.ts.map +1 -0
- package/dist/core/openrouter-client.js +16 -0
- package/dist/core/openrouter-client.js.map +1 -0
- package/dist/core/openrouter-utils.d.ts +20 -0
- package/dist/core/openrouter-utils.d.ts.map +1 -0
- package/dist/core/openrouter-utils.js +163 -0
- package/dist/core/openrouter-utils.js.map +1 -0
- package/dist/core/session.d.ts +19 -0
- package/dist/core/session.d.ts.map +1 -0
- package/dist/core/session.js +47 -0
- package/dist/core/session.js.map +1 -0
- package/dist/core/summarization.d.ts +14 -0
- package/dist/core/summarization.d.ts.map +1 -0
- package/dist/core/summarization.js +83 -0
- package/dist/core/summarization.js.map +1 -0
- package/dist/core/tool-executor.d.ts +22 -0
- package/dist/core/tool-executor.d.ts.map +1 -0
- package/dist/core/tool-executor.js +87 -0
- package/dist/core/tool-executor.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/react/AgentProvider.d.ts +15 -0
- package/dist/react/AgentProvider.d.ts.map +1 -0
- package/dist/react/AgentProvider.js +20 -0
- package/dist/react/AgentProvider.js.map +1 -0
- package/dist/react/index.d.ts +6 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +3 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/types.d.ts +26 -0
- package/dist/react/types.d.ts.map +1 -0
- package/dist/react/types.js +2 -0
- package/dist/react/types.js.map +1 -0
- package/dist/react/useAgent.d.ts +15 -0
- package/dist/react/useAgent.d.ts.map +1 -0
- package/dist/react/useAgent.js +167 -0
- package/dist/react/useAgent.js.map +1 -0
- package/dist/types/config.d.ts +84 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/events.d.ts +85 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +8 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/messages.d.ts +30 -0
- package/dist/types/messages.d.ts.map +1 -0
- package/dist/types/messages.js +2 -0
- package/dist/types/messages.js.map +1 -0
- package/package.json +78 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { createAgent } from './core/agent.js';
|
|
2
|
+
export type { Agent } from './core/agent.js';
|
|
3
|
+
export { createEvent } from './types/events.js';
|
|
4
|
+
export { ENCRYPTED_REASONING_MARKER } from './core/openrouter-utils.js';
|
|
5
|
+
export type { ReasoningDetail, ChatMessage, FunctionDeclaration, ToolExecutorContext, ToolDefinition, AgentConfig, UsageMetadata, AgentResult, ToolCallStartData, ToolResultData, AgentCallbacks, AgentEventType, ThinkingEventData, UsageUpdateEventData, ErrorEventData, CompleteEventData, AgentEvent, } from './types/index.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,YAAY,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,YAAY,EACV,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,UAAU,GACX,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React, { type ReactNode } from 'react';
|
|
2
|
+
import type { AgentConfig } from '../types/index.js';
|
|
3
|
+
import { type Agent } from '../core/agent.js';
|
|
4
|
+
interface AgentContextValue {
|
|
5
|
+
agent: Agent;
|
|
6
|
+
config: AgentConfig;
|
|
7
|
+
}
|
|
8
|
+
export interface AgentProviderProps {
|
|
9
|
+
config: AgentConfig;
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
export declare function AgentProvider({ config, children }: AgentProviderProps): React.FunctionComponentElement<React.ProviderProps<AgentContextValue | null>>;
|
|
13
|
+
export declare function useAgentContext(): AgentContextValue;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=AgentProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentProvider.d.ts","sourceRoot":"","sources":["../../src/react/AgentProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE3D,UAAU,iBAAiB;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;CACrB;AAID,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,kBAAkB,iFAYrE;AAED,wBAAgB,eAAe,IAAI,iBAAiB,CAMnD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import React, { createContext, useContext, useMemo } from 'react';
|
|
3
|
+
import { createAgent } from '../core/agent.js';
|
|
4
|
+
const AgentContext = createContext(null);
|
|
5
|
+
export function AgentProvider({ config, children }) {
|
|
6
|
+
const agent = useMemo(() => createAgent(config), [config]);
|
|
7
|
+
const value = useMemo(() => ({
|
|
8
|
+
agent,
|
|
9
|
+
config,
|
|
10
|
+
}), [agent, config]);
|
|
11
|
+
return React.createElement(AgentContext.Provider, { value }, children);
|
|
12
|
+
}
|
|
13
|
+
export function useAgentContext() {
|
|
14
|
+
const context = useContext(AgentContext);
|
|
15
|
+
if (!context) {
|
|
16
|
+
throw new Error('useAgentContext must be used within an AgentProvider');
|
|
17
|
+
}
|
|
18
|
+
return context;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=AgentProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentProvider.js","sourceRoot":"","sources":["../../src/react/AgentProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAC;AAElF,OAAO,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAC;AAO3D,MAAM,YAAY,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAC;AAOnE,MAAM,UAAU,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAsB;IACpE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC;QACL,KAAK;QACL,MAAM;KACP,CAAC,EACF,CAAC,KAAK,EAAE,MAAM,CAAC,CAChB,CAAC;IAEF,OAAO,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { useAgent } from './useAgent.js';
|
|
2
|
+
export type { UseAgentReturn } from './useAgent.js';
|
|
3
|
+
export { AgentProvider, useAgentContext } from './AgentProvider.js';
|
|
4
|
+
export type { AgentProviderProps } from './AgentProvider.js';
|
|
5
|
+
export type { ChatItem, FunctionCallDisplay, AgentState, UseAgentOptions } from './types.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ChatMessage } from '../types/index.js';
|
|
2
|
+
export interface ChatItem {
|
|
3
|
+
id: string;
|
|
4
|
+
type: 'message' | 'function_call';
|
|
5
|
+
timestamp: Date;
|
|
6
|
+
message?: ChatMessage;
|
|
7
|
+
functionCall?: FunctionCallDisplay;
|
|
8
|
+
}
|
|
9
|
+
export interface FunctionCallDisplay {
|
|
10
|
+
functionName: string;
|
|
11
|
+
args: Record<string, unknown>;
|
|
12
|
+
timestamp: Date;
|
|
13
|
+
}
|
|
14
|
+
export interface AgentState {
|
|
15
|
+
chatItems: ChatItem[];
|
|
16
|
+
conversationHistory: ChatMessage[];
|
|
17
|
+
isLoading: boolean;
|
|
18
|
+
error: Error | null;
|
|
19
|
+
totalTokensUsed: number;
|
|
20
|
+
}
|
|
21
|
+
export interface UseAgentOptions {
|
|
22
|
+
onMessage?: (message: ChatMessage) => void;
|
|
23
|
+
onFunctionCall?: (call: FunctionCallDisplay) => void;
|
|
24
|
+
onError?: (error: Error) => void;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/react/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,eAAe,CAAC;IAClC,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,mBAAmB,EAAE,WAAW,EAAE,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/react/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AgentConfig, ChatMessage, ToolExecutorContext, UsageMetadata, AgentResult } from '../types/index.js';
|
|
2
|
+
import type { ChatItem, UseAgentOptions } from './types.js';
|
|
3
|
+
export interface UseAgentReturn {
|
|
4
|
+
chat: (message: string, context: ToolExecutorContext) => Promise<AgentResult | null>;
|
|
5
|
+
abort: () => void;
|
|
6
|
+
history: ChatMessage[];
|
|
7
|
+
chatItems: ChatItem[];
|
|
8
|
+
isLoading: boolean;
|
|
9
|
+
error: Error | null;
|
|
10
|
+
tokenUsage: UsageMetadata;
|
|
11
|
+
clearHistory: () => void;
|
|
12
|
+
clearError: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare function useAgent(config: AgentConfig, options?: UseAgentOptions): UseAgentReturn;
|
|
15
|
+
//# sourceMappingURL=useAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgent.d.ts","sourceRoot":"","sources":["../../src/react/useAgent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EAEX,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,WAAW,EAIZ,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAuB,eAAe,EAAE,MAAM,YAAY,CAAC;AAEjF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACrF,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,aAAa,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc,CAwMvF"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useState, useCallback, useRef, useMemo } from 'react';
|
|
3
|
+
import { createAgent } from '../core/agent.js';
|
|
4
|
+
export function useAgent(config, options) {
|
|
5
|
+
const agentRef = useRef(null);
|
|
6
|
+
const agent = useMemo(() => {
|
|
7
|
+
const newAgent = createAgent(config);
|
|
8
|
+
agentRef.current = newAgent;
|
|
9
|
+
return newAgent;
|
|
10
|
+
}, [config]);
|
|
11
|
+
const [chatItems, setChatItems] = useState([]);
|
|
12
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
13
|
+
const [error, setError] = useState(null);
|
|
14
|
+
const [tokenUsage, setTokenUsage] = useState({});
|
|
15
|
+
const chat = useCallback(async (message, context) => {
|
|
16
|
+
setIsLoading(true);
|
|
17
|
+
setError(null);
|
|
18
|
+
const userMessage = {
|
|
19
|
+
role: 'user',
|
|
20
|
+
content: message,
|
|
21
|
+
timestamp: new Date(),
|
|
22
|
+
};
|
|
23
|
+
setChatItems((prev) => [
|
|
24
|
+
...prev,
|
|
25
|
+
{
|
|
26
|
+
id: `message-user-${Date.now()}`,
|
|
27
|
+
type: 'message',
|
|
28
|
+
timestamp: new Date(),
|
|
29
|
+
message: userMessage,
|
|
30
|
+
},
|
|
31
|
+
]);
|
|
32
|
+
const callbacks = {
|
|
33
|
+
onThinking: (thinking) => {
|
|
34
|
+
console.log('[useAgent] Thinking:', thinking.substring(0, 100));
|
|
35
|
+
},
|
|
36
|
+
onMessage: (content, reasoning) => {
|
|
37
|
+
const assistantMessage = {
|
|
38
|
+
role: 'assistant',
|
|
39
|
+
content,
|
|
40
|
+
timestamp: new Date(),
|
|
41
|
+
reasoning: reasoning?.text,
|
|
42
|
+
reasoning_details: reasoning?.details,
|
|
43
|
+
reasoningTokenCount: reasoning?.tokenCount,
|
|
44
|
+
};
|
|
45
|
+
setChatItems((prev) => [
|
|
46
|
+
...prev,
|
|
47
|
+
{
|
|
48
|
+
id: `message-assistant-${Date.now()}`,
|
|
49
|
+
type: 'message',
|
|
50
|
+
timestamp: new Date(),
|
|
51
|
+
message: assistantMessage,
|
|
52
|
+
},
|
|
53
|
+
]);
|
|
54
|
+
options?.onMessage?.(assistantMessage);
|
|
55
|
+
},
|
|
56
|
+
onToolCallStart: (calls) => {
|
|
57
|
+
const functionCallItems = calls.map((call, index) => {
|
|
58
|
+
const display = {
|
|
59
|
+
functionName: call.name,
|
|
60
|
+
args: call.args,
|
|
61
|
+
timestamp: new Date(),
|
|
62
|
+
};
|
|
63
|
+
options?.onFunctionCall?.(display);
|
|
64
|
+
return {
|
|
65
|
+
id: `function-${Date.now()}-${index}`,
|
|
66
|
+
type: 'function_call',
|
|
67
|
+
timestamp: new Date(),
|
|
68
|
+
functionCall: display,
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
setChatItems((prev) => [...prev, ...functionCallItems]);
|
|
72
|
+
},
|
|
73
|
+
onToolResult: (result) => {
|
|
74
|
+
console.log('[useAgent] Tool result:', result.functionName, result.error ? 'ERROR' : 'OK');
|
|
75
|
+
},
|
|
76
|
+
onUsageUpdate: (usage) => {
|
|
77
|
+
setTokenUsage(usage);
|
|
78
|
+
},
|
|
79
|
+
onSummarizationStart: () => {
|
|
80
|
+
const summarizingMessage = {
|
|
81
|
+
role: 'assistant',
|
|
82
|
+
content: '🔄 Context limit reached. Summarizing conversation to continue efficiently...',
|
|
83
|
+
timestamp: new Date(),
|
|
84
|
+
};
|
|
85
|
+
setChatItems((prev) => [
|
|
86
|
+
...prev,
|
|
87
|
+
{
|
|
88
|
+
id: `message-summarizing-${Date.now()}`,
|
|
89
|
+
type: 'message',
|
|
90
|
+
timestamp: new Date(),
|
|
91
|
+
message: summarizingMessage,
|
|
92
|
+
},
|
|
93
|
+
]);
|
|
94
|
+
},
|
|
95
|
+
onSummarizationEnd: (_summary, tokensEstimate) => {
|
|
96
|
+
console.log('[useAgent] Summarization complete:', tokensEstimate, 'tokens estimated');
|
|
97
|
+
},
|
|
98
|
+
onIterationStart: (iteration, maxIterations) => {
|
|
99
|
+
console.log(`[useAgent] Iteration ${iteration}/${maxIterations}`);
|
|
100
|
+
},
|
|
101
|
+
onError: (err) => {
|
|
102
|
+
const errorMessage = {
|
|
103
|
+
role: 'assistant',
|
|
104
|
+
content: `Error: ${err.message}`,
|
|
105
|
+
timestamp: new Date(),
|
|
106
|
+
};
|
|
107
|
+
setChatItems((prev) => [
|
|
108
|
+
...prev,
|
|
109
|
+
{
|
|
110
|
+
id: `message-error-${Date.now()}`,
|
|
111
|
+
type: 'message',
|
|
112
|
+
timestamp: new Date(),
|
|
113
|
+
message: errorMessage,
|
|
114
|
+
},
|
|
115
|
+
]);
|
|
116
|
+
if (!err.recoverable) {
|
|
117
|
+
setError(new Error(err.message));
|
|
118
|
+
options?.onError?.(new Error(err.message));
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
onComplete: (result) => {
|
|
122
|
+
console.log('[useAgent] Complete:', result.iterations, 'iterations');
|
|
123
|
+
},
|
|
124
|
+
onAborted: () => {
|
|
125
|
+
console.log('[useAgent] Aborted');
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
try {
|
|
129
|
+
const result = await agent.chat(message, context, callbacks);
|
|
130
|
+
return result;
|
|
131
|
+
}
|
|
132
|
+
catch (err) {
|
|
133
|
+
const error = err instanceof Error ? err : new Error('Unknown error');
|
|
134
|
+
if (error.name !== 'AbortError') {
|
|
135
|
+
setError(error);
|
|
136
|
+
options?.onError?.(error);
|
|
137
|
+
}
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
finally {
|
|
141
|
+
setIsLoading(false);
|
|
142
|
+
}
|
|
143
|
+
}, [agent, options]);
|
|
144
|
+
const abort = useCallback(() => {
|
|
145
|
+
agent.abort();
|
|
146
|
+
}, [agent]);
|
|
147
|
+
const clearHistory = useCallback(() => {
|
|
148
|
+
agent.clearHistory();
|
|
149
|
+
setChatItems([]);
|
|
150
|
+
setTokenUsage({});
|
|
151
|
+
}, [agent]);
|
|
152
|
+
const clearError = useCallback(() => {
|
|
153
|
+
setError(null);
|
|
154
|
+
}, []);
|
|
155
|
+
return {
|
|
156
|
+
chat,
|
|
157
|
+
abort,
|
|
158
|
+
history: agent.getHistory(),
|
|
159
|
+
chatItems,
|
|
160
|
+
isLoading,
|
|
161
|
+
error,
|
|
162
|
+
tokenUsage,
|
|
163
|
+
clearHistory,
|
|
164
|
+
clearError,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=useAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgent.js","sourceRoot":"","sources":["../../src/react/useAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { JsonSchema7Type } from 'zod-to-json-schema';
|
|
2
|
+
import type { FunctionCallResult } from './messages.js';
|
|
3
|
+
export interface FunctionDeclaration {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
parametersJsonSchema: JsonSchema7Type;
|
|
7
|
+
}
|
|
8
|
+
export interface ToolExecutorContext {
|
|
9
|
+
userId: string;
|
|
10
|
+
timezone: string;
|
|
11
|
+
abortSignal?: AbortSignal;
|
|
12
|
+
}
|
|
13
|
+
export type ToolExecutor = (args: Record<string, unknown>, context: ToolExecutorContext) => Promise<unknown>;
|
|
14
|
+
export interface ToolDefinition {
|
|
15
|
+
declaration: FunctionDeclaration;
|
|
16
|
+
executor: ToolExecutor;
|
|
17
|
+
}
|
|
18
|
+
export interface ErrorMessages {
|
|
19
|
+
apiKeyRequired?: string;
|
|
20
|
+
modelRequired?: string;
|
|
21
|
+
emptyResponse?: string;
|
|
22
|
+
requestAborted?: string;
|
|
23
|
+
noResponse?: string;
|
|
24
|
+
maxIterations?: string;
|
|
25
|
+
toolExecutionFailed?: string;
|
|
26
|
+
summarizationFailed?: string;
|
|
27
|
+
genericError?: string;
|
|
28
|
+
}
|
|
29
|
+
export type ReasoningEffort = 'low' | 'medium' | 'high';
|
|
30
|
+
export interface SummarizationConfig {
|
|
31
|
+
enabled: boolean;
|
|
32
|
+
prompt?: string;
|
|
33
|
+
contextLimitTokens?: number;
|
|
34
|
+
}
|
|
35
|
+
export interface AgentConfig {
|
|
36
|
+
apiKey: string;
|
|
37
|
+
model: string;
|
|
38
|
+
baseURL?: string;
|
|
39
|
+
temperature?: number;
|
|
40
|
+
reasoningEffort?: ReasoningEffort;
|
|
41
|
+
systemPrompts: string[];
|
|
42
|
+
tools: ToolDefinition[];
|
|
43
|
+
maxIterations?: number;
|
|
44
|
+
summarization?: SummarizationConfig;
|
|
45
|
+
errorMessages?: ErrorMessages;
|
|
46
|
+
}
|
|
47
|
+
export interface UsageMetadata {
|
|
48
|
+
promptTokenCount?: number;
|
|
49
|
+
candidatesTokenCount?: number;
|
|
50
|
+
totalTokenCount?: number;
|
|
51
|
+
cachedContentTokenCount?: number;
|
|
52
|
+
reasoningTokenCount?: number;
|
|
53
|
+
}
|
|
54
|
+
export interface AgentResult {
|
|
55
|
+
message: string;
|
|
56
|
+
reasoning?: {
|
|
57
|
+
text?: string;
|
|
58
|
+
details?: import('./messages.js').ReasoningDetail[];
|
|
59
|
+
tokenCount?: number;
|
|
60
|
+
};
|
|
61
|
+
conversationHistory: import('./messages.js').ChatMessage[];
|
|
62
|
+
usageMetadata: UsageMetadata;
|
|
63
|
+
requestId?: string;
|
|
64
|
+
iterations: number;
|
|
65
|
+
summarized: boolean;
|
|
66
|
+
}
|
|
67
|
+
export interface ToolCallStartData {
|
|
68
|
+
id: string;
|
|
69
|
+
name: string;
|
|
70
|
+
args: Record<string, unknown>;
|
|
71
|
+
}
|
|
72
|
+
export interface ToolResultData {
|
|
73
|
+
id: string;
|
|
74
|
+
functionName: string;
|
|
75
|
+
result: unknown;
|
|
76
|
+
error?: string;
|
|
77
|
+
}
|
|
78
|
+
export interface ExecutedToolCall {
|
|
79
|
+
id: string;
|
|
80
|
+
functionName: string;
|
|
81
|
+
args: Record<string, unknown>;
|
|
82
|
+
result: FunctionCallResult;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { ReasoningDetail } from './messages.js';
|
|
2
|
+
import type { UsageMetadata, AgentResult, ToolCallStartData, ToolResultData } from './config.js';
|
|
3
|
+
export interface AgentCallbacks {
|
|
4
|
+
onThinking?: (thinking: string, details?: ReasoningDetail[]) => void;
|
|
5
|
+
onMessage?: (message: string, reasoning?: {
|
|
6
|
+
text?: string;
|
|
7
|
+
details?: ReasoningDetail[];
|
|
8
|
+
tokenCount?: number;
|
|
9
|
+
}) => void;
|
|
10
|
+
onToolCallStart?: (calls: ToolCallStartData[]) => void;
|
|
11
|
+
onToolResult?: (result: ToolResultData) => void;
|
|
12
|
+
onUsageUpdate?: (usage: UsageMetadata) => void;
|
|
13
|
+
onSummarizationStart?: (originalMessageCount: number) => void;
|
|
14
|
+
onSummarizationEnd?: (summary: string, tokensEstimate: number) => void;
|
|
15
|
+
onIterationStart?: (iteration: number, maxIterations: number) => void;
|
|
16
|
+
onError?: (error: {
|
|
17
|
+
code: string;
|
|
18
|
+
message: string;
|
|
19
|
+
recoverable: boolean;
|
|
20
|
+
}) => void;
|
|
21
|
+
onComplete?: (result: AgentResult) => void;
|
|
22
|
+
onAborted?: () => void;
|
|
23
|
+
}
|
|
24
|
+
export type AgentEventType = 'thinking' | 'message' | 'tool_call_start' | 'tool_result' | 'usage_update' | 'summarization_start' | 'summarization_end' | 'iteration_start' | 'error' | 'complete' | 'aborted';
|
|
25
|
+
export interface ThinkingEventData {
|
|
26
|
+
thinking: string;
|
|
27
|
+
details?: ReasoningDetail[];
|
|
28
|
+
}
|
|
29
|
+
export interface MessageEventData {
|
|
30
|
+
message: string;
|
|
31
|
+
reasoning?: {
|
|
32
|
+
text?: string;
|
|
33
|
+
details?: ReasoningDetail[];
|
|
34
|
+
tokenCount?: number;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export interface ToolCallStartEventData {
|
|
38
|
+
calls: ToolCallStartData[];
|
|
39
|
+
}
|
|
40
|
+
export interface ToolResultEventData {
|
|
41
|
+
result: ToolResultData;
|
|
42
|
+
}
|
|
43
|
+
export interface UsageUpdateEventData {
|
|
44
|
+
usage: UsageMetadata;
|
|
45
|
+
}
|
|
46
|
+
export interface SummarizationStartEventData {
|
|
47
|
+
originalMessageCount: number;
|
|
48
|
+
}
|
|
49
|
+
export interface SummarizationEndEventData {
|
|
50
|
+
summary: string;
|
|
51
|
+
tokensEstimate: number;
|
|
52
|
+
}
|
|
53
|
+
export interface IterationStartEventData {
|
|
54
|
+
iteration: number;
|
|
55
|
+
maxIterations: number;
|
|
56
|
+
}
|
|
57
|
+
export interface ErrorEventData {
|
|
58
|
+
code: string;
|
|
59
|
+
message: string;
|
|
60
|
+
recoverable: boolean;
|
|
61
|
+
}
|
|
62
|
+
export interface CompleteEventData {
|
|
63
|
+
result: AgentResult;
|
|
64
|
+
}
|
|
65
|
+
export type AbortedEventData = Record<string, never>;
|
|
66
|
+
export interface EventDataMap {
|
|
67
|
+
thinking: ThinkingEventData;
|
|
68
|
+
message: MessageEventData;
|
|
69
|
+
tool_call_start: ToolCallStartEventData;
|
|
70
|
+
tool_result: ToolResultEventData;
|
|
71
|
+
usage_update: UsageUpdateEventData;
|
|
72
|
+
summarization_start: SummarizationStartEventData;
|
|
73
|
+
summarization_end: SummarizationEndEventData;
|
|
74
|
+
iteration_start: IterationStartEventData;
|
|
75
|
+
error: ErrorEventData;
|
|
76
|
+
complete: CompleteEventData;
|
|
77
|
+
aborted: AbortedEventData;
|
|
78
|
+
}
|
|
79
|
+
export interface AgentEvent<T extends AgentEventType = AgentEventType> {
|
|
80
|
+
type: T;
|
|
81
|
+
timestamp: Date;
|
|
82
|
+
data: EventDataMap[T];
|
|
83
|
+
}
|
|
84
|
+
export declare function createEvent<T extends AgentEventType>(type: T, data: EventDataMap[T]): AgentEvent<T>;
|
|
85
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"AAqGA,MAAM,UAAU,WAAW,CACzB,IAAO,EACP,IAAqB;IAErB,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,IAAI;KACL,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type { ReasoningDetail, ChatMessageRole, ToolCall, ChatMessage, FunctionCallResult, } from './messages.js';
|
|
2
|
+
export type { FunctionDeclaration, ToolExecutorContext, ToolExecutor, ToolDefinition, ErrorMessages, ReasoningEffort, SummarizationConfig, AgentConfig, UsageMetadata, AgentResult, ToolCallStartData, ToolResultData, ExecutedToolCall, } from './config.js';
|
|
3
|
+
export type { AgentCallbacks, AgentEventType, ThinkingEventData, MessageEventData, ToolCallStartEventData, ToolResultEventData, UsageUpdateEventData, SummarizationStartEventData, SummarizationEndEventData, IterationStartEventData, ErrorEventData, CompleteEventData, AbortedEventData, EventDataMap, AgentEvent, } from './events.js';
|
|
4
|
+
export { createEvent } from './events.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,eAAe,EACf,QAAQ,EACR,WAAW,EACX,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface ReasoningDetail {
|
|
2
|
+
id?: string;
|
|
3
|
+
type: string;
|
|
4
|
+
text?: string;
|
|
5
|
+
data?: string;
|
|
6
|
+
format: string;
|
|
7
|
+
index: number;
|
|
8
|
+
}
|
|
9
|
+
export type ChatMessageRole = 'user' | 'assistant' | 'system' | 'tool-call' | 'tool-call-results';
|
|
10
|
+
export interface ToolCall {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
args: Record<string, unknown>;
|
|
14
|
+
}
|
|
15
|
+
export interface ChatMessage {
|
|
16
|
+
role: ChatMessageRole;
|
|
17
|
+
content: string;
|
|
18
|
+
timestamp: Date;
|
|
19
|
+
toolCalls?: ToolCall[];
|
|
20
|
+
toolCallId?: string;
|
|
21
|
+
reasoning?: string;
|
|
22
|
+
reasoning_details?: ReasoningDetail[];
|
|
23
|
+
reasoningTokenCount?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface FunctionCallResult {
|
|
26
|
+
functionName: string;
|
|
27
|
+
result: unknown;
|
|
28
|
+
error?: string;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,mBAAmB,CAAC;AAElG,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IACtC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":""}
|