@whwrm/react-agent 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.
@@ -0,0 +1,130 @@
1
+ export interface ToolParameterProperty {
2
+ type: string;
3
+ description: string;
4
+ enum?: string[];
5
+ }
6
+ export interface ToolParameters {
7
+ type: 'object';
8
+ properties: Record<string, ToolParameterProperty>;
9
+ required?: string[];
10
+ }
11
+ export interface ToolDefinition {
12
+ name: string;
13
+ description: string;
14
+ parameters: ToolParameters;
15
+ }
16
+ export interface SkillDefinition {
17
+ name: string;
18
+ description: string;
19
+ prompt: string;
20
+ parameters?: {
21
+ type: string;
22
+ properties?: Record<string, {
23
+ type: string;
24
+ description?: string;
25
+ }>;
26
+ required?: string[];
27
+ };
28
+ tools?: string[];
29
+ }
30
+ export interface LLMConfig {
31
+ provider?: string;
32
+ model: string;
33
+ apiKey?: string;
34
+ baseUrl?: string;
35
+ headers?: Record<string, string>;
36
+ }
37
+ export interface ProviderConfig {
38
+ apiKey?: string;
39
+ baseUrl?: string;
40
+ headers?: Record<string, string>;
41
+ }
42
+ export interface AzureProviderConfig extends ProviderConfig {
43
+ deploymentName?: string;
44
+ apiVersion?: string;
45
+ }
46
+ export interface ProvidersConfig {
47
+ openai?: ProviderConfig;
48
+ anthropic?: ProviderConfig;
49
+ deepseek?: ProviderConfig;
50
+ gemini?: ProviderConfig;
51
+ moonshot?: ProviderConfig;
52
+ zhipu?: ProviderConfig;
53
+ dashscope?: ProviderConfig;
54
+ minimax?: ProviderConfig;
55
+ openrouter?: ProviderConfig;
56
+ aihubmix?: ProviderConfig;
57
+ siliconflow?: ProviderConfig;
58
+ volcengine?: ProviderConfig;
59
+ ollama?: ProviderConfig;
60
+ vllm?: ProviderConfig;
61
+ azure?: AzureProviderConfig;
62
+ custom?: ProviderConfig;
63
+ [key: string]: ProviderConfig | undefined;
64
+ }
65
+ export interface ToolsConfig {
66
+ url: string;
67
+ apiKey?: string;
68
+ headers?: Record<string, string>;
69
+ definitions?: ToolDefinition[];
70
+ definitionsFile?: string;
71
+ }
72
+ export interface SkillsConfig {
73
+ url: string;
74
+ apiKey?: string;
75
+ headers?: Record<string, string>;
76
+ definitions?: SkillDefinition[];
77
+ definitionsFile?: string;
78
+ }
79
+ export interface AgentConfig {
80
+ llm: LLMConfig;
81
+ providers?: ProvidersConfig;
82
+ tools?: ToolsConfig;
83
+ skills?: SkillsConfig;
84
+ systemPrompt?: string;
85
+ maxIterations?: number;
86
+ contextWindowTokens?: number;
87
+ }
88
+ export interface AgentCallbacks {
89
+ onToolCall?: (name: string, args: Record<string, unknown>) => void;
90
+ onToolResult?: (name: string, result: string) => void;
91
+ onLLMCall?: (messages: Message[]) => void;
92
+ onLLMResponse?: (response: LLMResponse) => void;
93
+ onError?: (error: Error, context: string) => void;
94
+ }
95
+ export interface Message {
96
+ role: 'user' | 'assistant' | 'system' | 'tool';
97
+ content: string;
98
+ tool_calls?: ToolCall[];
99
+ tool_call_id?: string;
100
+ name?: string;
101
+ }
102
+ export interface ToolCall {
103
+ id: string;
104
+ name: string;
105
+ arguments: Record<string, unknown>;
106
+ }
107
+ export interface LLMResponse {
108
+ content?: string;
109
+ tool_calls?: ToolCall[];
110
+ finish_reason?: string;
111
+ usage?: {
112
+ prompt_tokens?: number;
113
+ completion_tokens?: number;
114
+ total_tokens?: number;
115
+ };
116
+ }
117
+ export interface AgentResult {
118
+ content: string;
119
+ toolCallsCount: number;
120
+ iterations: number;
121
+ }
122
+ export interface ContextStatus {
123
+ estimatedTokens: number;
124
+ windowSize: number;
125
+ usageRatio: number;
126
+ usagePercent: string;
127
+ remainingTokens: number;
128
+ level: 'low' | 'medium' | 'high' | 'critical';
129
+ }
130
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@whwrm/react-agent",
3
+ "version": "1.0.0",
4
+ "description": "轻量级 ReAct 框架,支持 JSON 配置驱动的工具和技能注册",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "prepublishOnly": "npm run build"
20
+ },
21
+ "keywords": [
22
+ "react",
23
+ "agent",
24
+ "llm",
25
+ "ai",
26
+ "tool",
27
+ "skill",
28
+ "openai"
29
+ ],
30
+ "author": "",
31
+ "license": "MIT",
32
+ "devDependencies": {
33
+ "typescript": "^5.0.0",
34
+ "@types/node": "^20.0.0"
35
+ },
36
+ "engines": {
37
+ "node": ">=18.0.0"
38
+ },
39
+ "repository": {
40
+ "type": "git",
41
+ "url": ""
42
+ }
43
+ }