sdkwork-browser-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.
- package/README.md +228 -0
- package/README.zh.md +228 -0
- package/dist/agent-Bpxmkz8W.d.ts +197 -0
- package/dist/agent-kexkkI13.d.cts +197 -0
- package/dist/browser/agent-Bpxmkz8W.d.ts +197 -0
- package/dist/browser/chunk-7W2JJCSS.js +276 -0
- package/dist/browser/chunk-7W2JJCSS.js.map +1 -0
- package/dist/browser/chunk-BHRFRGR7.js +144 -0
- package/dist/browser/chunk-BHRFRGR7.js.map +1 -0
- package/dist/browser/chunk-CLP6UNSV.js +285 -0
- package/dist/browser/chunk-CLP6UNSV.js.map +1 -0
- package/dist/browser/chunk-HXLRBB7S.js +1569 -0
- package/dist/browser/chunk-HXLRBB7S.js.map +1 -0
- package/dist/browser/chunk-VJEFLRZT.js +1720 -0
- package/dist/browser/chunk-VJEFLRZT.js.map +1 -0
- package/dist/browser/index.d.ts +842 -0
- package/dist/browser/index.js +3293 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/llm/index.d.ts +235 -0
- package/dist/browser/llm/index.js +29 -0
- package/dist/browser/llm/index.js.map +1 -0
- package/dist/browser/mcp/index.d.ts +63 -0
- package/dist/browser/mcp/index.js +9 -0
- package/dist/browser/mcp/index.js.map +1 -0
- package/dist/browser/provider-Dna36xA-.d.ts +105 -0
- package/dist/browser/skills/index.d.ts +401 -0
- package/dist/browser/skills/index.js +31 -0
- package/dist/browser/skills/index.js.map +1 -0
- package/dist/browser/storage/index.d.ts +64 -0
- package/dist/browser/storage/index.js +15 -0
- package/dist/browser/storage/index.js.map +1 -0
- package/dist/browser/tools/index.d.ts +45 -0
- package/dist/browser/tools/index.js +15 -0
- package/dist/browser/tools/index.js.map +1 -0
- package/dist/browser/types-CG5I-byI.d.ts +30 -0
- package/dist/chunk-56J3IBXZ.js +144 -0
- package/dist/chunk-56J3IBXZ.js.map +1 -0
- package/dist/chunk-5XTVS5MB.js +1720 -0
- package/dist/chunk-5XTVS5MB.js.map +1 -0
- package/dist/chunk-6AYIRBGI.js +166 -0
- package/dist/chunk-6AYIRBGI.js.map +1 -0
- package/dist/chunk-C2EYJHXW.cjs +276 -0
- package/dist/chunk-C2EYJHXW.cjs.map +1 -0
- package/dist/chunk-HOZQ445W.cjs +166 -0
- package/dist/chunk-HOZQ445W.cjs.map +1 -0
- package/dist/chunk-KZNZ6CGD.cjs +144 -0
- package/dist/chunk-KZNZ6CGD.cjs.map +1 -0
- package/dist/chunk-XFMT5ZA4.js +276 -0
- package/dist/chunk-XFMT5ZA4.js.map +1 -0
- package/dist/chunk-XPGICLEJ.cjs +1720 -0
- package/dist/chunk-XPGICLEJ.cjs.map +1 -0
- package/dist/index.cjs +1311 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +395 -0
- package/dist/index.d.ts +395 -0
- package/dist/index.js +1311 -0
- package/dist/index.js.map +1 -0
- package/dist/llm/index.cjs +29 -0
- package/dist/llm/index.cjs.map +1 -0
- package/dist/llm/index.d.cts +235 -0
- package/dist/llm/index.d.ts +235 -0
- package/dist/llm/index.js +29 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/mcp/index.cjs +9 -0
- package/dist/mcp/index.cjs.map +1 -0
- package/dist/mcp/index.d.cts +63 -0
- package/dist/mcp/index.d.ts +63 -0
- package/dist/mcp/index.js +9 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/node/agent-Bpxmkz8W.d.ts +197 -0
- package/dist/node/agent-kexkkI13.d.cts +197 -0
- package/dist/node/chunk-7W2JJCSS.js +276 -0
- package/dist/node/chunk-7W2JJCSS.js.map +1 -0
- package/dist/node/chunk-BHRFRGR7.js +144 -0
- package/dist/node/chunk-BHRFRGR7.js.map +1 -0
- package/dist/node/chunk-CLP6UNSV.js +285 -0
- package/dist/node/chunk-CLP6UNSV.js.map +1 -0
- package/dist/node/chunk-HXLRBB7S.js +1569 -0
- package/dist/node/chunk-HXLRBB7S.js.map +1 -0
- package/dist/node/chunk-IYG37UN3.cjs +144 -0
- package/dist/node/chunk-IYG37UN3.cjs.map +1 -0
- package/dist/node/chunk-JF33ZOMB.cjs +285 -0
- package/dist/node/chunk-JF33ZOMB.cjs.map +1 -0
- package/dist/node/chunk-KXXS33G3.cjs +276 -0
- package/dist/node/chunk-KXXS33G3.cjs.map +1 -0
- package/dist/node/chunk-MTFOABGC.cjs +1720 -0
- package/dist/node/chunk-MTFOABGC.cjs.map +1 -0
- package/dist/node/chunk-VJEFLRZT.js +1720 -0
- package/dist/node/chunk-VJEFLRZT.js.map +1 -0
- package/dist/node/chunk-YDHQCPSN.cjs +1569 -0
- package/dist/node/chunk-YDHQCPSN.cjs.map +1 -0
- package/dist/node/index.cjs +3293 -0
- package/dist/node/index.cjs.map +1 -0
- package/dist/node/index.d.cts +842 -0
- package/dist/node/index.d.ts +842 -0
- package/dist/node/index.js +3293 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/llm/index.cjs +29 -0
- package/dist/node/llm/index.cjs.map +1 -0
- package/dist/node/llm/index.d.cts +235 -0
- package/dist/node/llm/index.d.ts +235 -0
- package/dist/node/llm/index.js +29 -0
- package/dist/node/llm/index.js.map +1 -0
- package/dist/node/mcp/index.cjs +9 -0
- package/dist/node/mcp/index.cjs.map +1 -0
- package/dist/node/mcp/index.d.cts +63 -0
- package/dist/node/mcp/index.d.ts +63 -0
- package/dist/node/mcp/index.js +9 -0
- package/dist/node/mcp/index.js.map +1 -0
- package/dist/node/provider-Dna36xA-.d.cts +105 -0
- package/dist/node/provider-Dna36xA-.d.ts +105 -0
- package/dist/node/skills/index.cjs +31 -0
- package/dist/node/skills/index.cjs.map +1 -0
- package/dist/node/skills/index.d.cts +401 -0
- package/dist/node/skills/index.d.ts +401 -0
- package/dist/node/skills/index.js +31 -0
- package/dist/node/skills/index.js.map +1 -0
- package/dist/node/storage/index.cjs +15 -0
- package/dist/node/storage/index.cjs.map +1 -0
- package/dist/node/storage/index.d.cts +64 -0
- package/dist/node/storage/index.d.ts +64 -0
- package/dist/node/storage/index.js +15 -0
- package/dist/node/storage/index.js.map +1 -0
- package/dist/node/tools/index.cjs +15 -0
- package/dist/node/tools/index.cjs.map +1 -0
- package/dist/node/tools/index.d.cts +45 -0
- package/dist/node/tools/index.d.ts +45 -0
- package/dist/node/tools/index.js +15 -0
- package/dist/node/tools/index.js.map +1 -0
- package/dist/node/types-CG5I-byI.d.cts +30 -0
- package/dist/node/types-CG5I-byI.d.ts +30 -0
- package/dist/provider-Dna36xA-.d.cts +105 -0
- package/dist/provider-Dna36xA-.d.ts +105 -0
- package/dist/skills/index.cjs +15 -0
- package/dist/skills/index.cjs.map +1 -0
- package/dist/skills/index.d.cts +43 -0
- package/dist/skills/index.d.ts +43 -0
- package/dist/skills/index.js +15 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/tools/index.cjs +15 -0
- package/dist/tools/index.cjs.map +1 -0
- package/dist/tools/index.d.cts +45 -0
- package/dist/tools/index.d.ts +45 -0
- package/dist/tools/index.js +15 -0
- package/dist/tools/index.js.map +1 -0
- package/package.json +150 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
import { S as Skill, T as Tool, a as SkillResult, A as Agent, b as AgentConfig, P as Plugin, c as PluginContext } from './agent-Bpxmkz8W.js';
|
|
2
|
+
export { d as AgentHooks, e as AgentMiddleware, E as ExecutionContext, M as MCPResource, f as MCPResourceContent, g as MCPResourceMetadata, h as MCPTool, i as MCPToolResult, j as ParameterProperty, k as ParameterSchema, l as PluginMetadata, m as SkillHandler, n as SkillMetadata, o as ToolExecutor, p as ToolMetadata, q as ToolOutput } from './agent-Bpxmkz8W.js';
|
|
3
|
+
import { a as LLMMessage } from './provider-Dna36xA-.js';
|
|
4
|
+
export { e as LLMManager, L as LLMProvider, f as LLMProviderConfig, g as LLMProviderFactory, h as LLMProviderRegistry, b as LLMRequest, c as LLMResponse, d as LLMStreamChunk, i as ToolCall, T as ToolDefinition, j as globalProviderRegistry } from './provider-Dna36xA-.js';
|
|
5
|
+
export { AnthropicConfig, AnthropicProvider, DeepSeekConfig, DeepSeekProvider, DoubaoConfig, DoubaoProvider, GeminiConfig, GeminiProvider, MiniMaxConfig, MiniMaxProvider, MoonshotConfig, MoonshotProvider, OpenAIConfig, OpenAIProvider, QwenConfig, QwenProvider, ZhipuConfig, ZhipuProvider } from './llm/index.js';
|
|
6
|
+
export { SkillRegistry, SkillRegistryConfig, builtInSkills, echoSkill, listSkillsSkill, mathSkill } from './skills/index.js';
|
|
7
|
+
export { ToolRegistry, ToolRegistryConfig, builtInTools, fileReadTool, fileWriteTool, httpRequestTool } from './tools/index.js';
|
|
8
|
+
export { MCPClient, MCPClientConfig, MCPServer, MCPServerConfig } from './mcp/index.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Decision Engine for automatic skill selection
|
|
12
|
+
* Optimized for minimal token consumption
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
interface Decision {
|
|
16
|
+
type: 'skill' | 'tool' | 'llm' | 'multi';
|
|
17
|
+
skills?: string[];
|
|
18
|
+
tools?: string[];
|
|
19
|
+
reasoning?: string;
|
|
20
|
+
confidence: number;
|
|
21
|
+
fallback?: string;
|
|
22
|
+
}
|
|
23
|
+
interface DecisionContext {
|
|
24
|
+
input: string;
|
|
25
|
+
history?: string[];
|
|
26
|
+
availableSkills: string[];
|
|
27
|
+
availableTools: string[];
|
|
28
|
+
metadata?: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
interface DecisionEngineConfig {
|
|
31
|
+
threshold?: number;
|
|
32
|
+
maxSkills?: number;
|
|
33
|
+
enableEmbeddings?: boolean;
|
|
34
|
+
enableCaching?: boolean;
|
|
35
|
+
similarityThreshold?: number;
|
|
36
|
+
}
|
|
37
|
+
interface EmbeddingProvider {
|
|
38
|
+
embed(text: string): Promise<number[]>;
|
|
39
|
+
similarity(a: number[], b: number[]): number;
|
|
40
|
+
}
|
|
41
|
+
declare class SimpleEmbeddingProvider implements EmbeddingProvider {
|
|
42
|
+
private vocabulary;
|
|
43
|
+
private vocabSize;
|
|
44
|
+
private readonly maxVocabSize;
|
|
45
|
+
embed(text: string): Promise<number[]>;
|
|
46
|
+
similarity(a: number[], b: number[]): number;
|
|
47
|
+
private tokenize;
|
|
48
|
+
}
|
|
49
|
+
declare class DecisionEngine {
|
|
50
|
+
private skillEmbeddings;
|
|
51
|
+
private embeddingProvider;
|
|
52
|
+
private decisionCache;
|
|
53
|
+
private config;
|
|
54
|
+
constructor(config?: DecisionEngineConfig, embeddingProvider?: EmbeddingProvider);
|
|
55
|
+
/**
|
|
56
|
+
* Index skills for fast retrieval
|
|
57
|
+
*/
|
|
58
|
+
indexSkill(skill: Skill): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Make decision based on input
|
|
61
|
+
*/
|
|
62
|
+
decide(context: DecisionContext): Promise<Decision>;
|
|
63
|
+
/**
|
|
64
|
+
* Find relevant skills using similarity matching
|
|
65
|
+
*/
|
|
66
|
+
private findRelevantSkills;
|
|
67
|
+
/**
|
|
68
|
+
* Fallback matching using keyword extraction
|
|
69
|
+
*/
|
|
70
|
+
private fallbackSkillMatching;
|
|
71
|
+
/**
|
|
72
|
+
* Find relevant tools
|
|
73
|
+
*/
|
|
74
|
+
private findRelevantTools;
|
|
75
|
+
/**
|
|
76
|
+
* Extract keywords from skill
|
|
77
|
+
*/
|
|
78
|
+
private extractKeywords;
|
|
79
|
+
/**
|
|
80
|
+
* Extract keywords from text
|
|
81
|
+
*/
|
|
82
|
+
private extractKeywordsFromText;
|
|
83
|
+
/**
|
|
84
|
+
* Generate cache key
|
|
85
|
+
*/
|
|
86
|
+
private generateCacheKey;
|
|
87
|
+
/**
|
|
88
|
+
* Clear cache
|
|
89
|
+
*/
|
|
90
|
+
clearCache(): void;
|
|
91
|
+
/**
|
|
92
|
+
* Get cache stats
|
|
93
|
+
*/
|
|
94
|
+
getCacheStats(): {
|
|
95
|
+
size: number;
|
|
96
|
+
hitRate?: number;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Dynamic Skill Loader
|
|
102
|
+
* Lazy loading and caching of skills
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
interface SkillLoaderConfig {
|
|
106
|
+
skillDirectory?: string;
|
|
107
|
+
enableLazyLoading?: boolean;
|
|
108
|
+
enableCaching?: boolean;
|
|
109
|
+
cacheSize?: number;
|
|
110
|
+
hotReload?: boolean;
|
|
111
|
+
}
|
|
112
|
+
interface SkillSource {
|
|
113
|
+
name: string;
|
|
114
|
+
type: 'builtin' | 'file' | 'url' | 'module';
|
|
115
|
+
source: string;
|
|
116
|
+
metadata?: Record<string, unknown>;
|
|
117
|
+
}
|
|
118
|
+
interface LoadedSkill extends Skill {
|
|
119
|
+
loadedAt: Date;
|
|
120
|
+
source: SkillSource;
|
|
121
|
+
size?: number;
|
|
122
|
+
}
|
|
123
|
+
declare class DynamicSkillLoader {
|
|
124
|
+
private loadedSkills;
|
|
125
|
+
private skillCache;
|
|
126
|
+
private skillSources;
|
|
127
|
+
private config;
|
|
128
|
+
constructor(config?: SkillLoaderConfig);
|
|
129
|
+
/**
|
|
130
|
+
* Register a skill source for lazy loading
|
|
131
|
+
*/
|
|
132
|
+
registerSource(source: SkillSource): void;
|
|
133
|
+
/**
|
|
134
|
+
* Load a skill dynamically
|
|
135
|
+
*/
|
|
136
|
+
load(name: string): Promise<Skill | null>;
|
|
137
|
+
/**
|
|
138
|
+
* Load multiple skills
|
|
139
|
+
*/
|
|
140
|
+
loadMultiple(names: string[]): Promise<Map<string, Skill>>;
|
|
141
|
+
/**
|
|
142
|
+
* Unload a skill
|
|
143
|
+
*/
|
|
144
|
+
unload(name: string): boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Check if skill is loaded
|
|
147
|
+
*/
|
|
148
|
+
isLoaded(name: string): boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Get loaded skill info
|
|
151
|
+
*/
|
|
152
|
+
getLoadedSkill(name: string): LoadedSkill | undefined;
|
|
153
|
+
/**
|
|
154
|
+
* List all loaded skills
|
|
155
|
+
*/
|
|
156
|
+
listLoaded(): LoadedSkill[];
|
|
157
|
+
/**
|
|
158
|
+
* List available skill sources
|
|
159
|
+
*/
|
|
160
|
+
listSources(): SkillSource[];
|
|
161
|
+
/**
|
|
162
|
+
* Preload skills (eager loading)
|
|
163
|
+
*/
|
|
164
|
+
preload(names: string[]): Promise<void>;
|
|
165
|
+
/**
|
|
166
|
+
* Get memory usage stats
|
|
167
|
+
*/
|
|
168
|
+
getStats(): {
|
|
169
|
+
loaded: number;
|
|
170
|
+
cached: number;
|
|
171
|
+
sources: number;
|
|
172
|
+
totalSize: number;
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* Clear cache
|
|
176
|
+
*/
|
|
177
|
+
clearCache(): void;
|
|
178
|
+
/**
|
|
179
|
+
* Clear all loaded skills
|
|
180
|
+
*/
|
|
181
|
+
clear(): void;
|
|
182
|
+
private loadBuiltin;
|
|
183
|
+
private loadFromFile;
|
|
184
|
+
private loadFromUrl;
|
|
185
|
+
private loadFromModule;
|
|
186
|
+
private validateSkill;
|
|
187
|
+
private enforceCacheLimit;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Token Optimizer
|
|
192
|
+
* Minimize token consumption for LLM calls
|
|
193
|
+
*/
|
|
194
|
+
|
|
195
|
+
interface TokenOptimizerConfig {
|
|
196
|
+
maxContextTokens?: number;
|
|
197
|
+
maxSkillDescriptionLength?: number;
|
|
198
|
+
enableCompression?: boolean;
|
|
199
|
+
preserveSystemPrompt?: boolean;
|
|
200
|
+
}
|
|
201
|
+
interface TokenEstimate {
|
|
202
|
+
prompt: number;
|
|
203
|
+
completion: number;
|
|
204
|
+
total: number;
|
|
205
|
+
}
|
|
206
|
+
declare class TokenOptimizer {
|
|
207
|
+
private config;
|
|
208
|
+
constructor(config?: TokenOptimizerConfig);
|
|
209
|
+
/**
|
|
210
|
+
* Optimize skills for minimal token usage
|
|
211
|
+
*/
|
|
212
|
+
optimizeSkills(skills: Skill[], forQuery?: string): Skill[];
|
|
213
|
+
/**
|
|
214
|
+
* Compress a single skill
|
|
215
|
+
*/
|
|
216
|
+
private compressSkill;
|
|
217
|
+
/**
|
|
218
|
+
* Optimize tools for minimal token usage
|
|
219
|
+
*/
|
|
220
|
+
optimizeTools(tools: Tool[]): Tool[];
|
|
221
|
+
/**
|
|
222
|
+
* Optimize messages for context window
|
|
223
|
+
*/
|
|
224
|
+
optimizeMessages(messages: LLMMessage[], maxTokens?: number): LLMMessage[];
|
|
225
|
+
/**
|
|
226
|
+
* Build optimized prompt with skills
|
|
227
|
+
*/
|
|
228
|
+
buildOptimizedPrompt(userInput: string, availableSkills: Skill[], context?: string): string;
|
|
229
|
+
/**
|
|
230
|
+
* Estimate tokens for text
|
|
231
|
+
*/
|
|
232
|
+
estimateTokens(text: string): number;
|
|
233
|
+
/**
|
|
234
|
+
* Estimate tokens for messages
|
|
235
|
+
*/
|
|
236
|
+
estimateMessagesTokens(messages: LLMMessage[]): number;
|
|
237
|
+
/**
|
|
238
|
+
* Estimate tokens for skills
|
|
239
|
+
*/
|
|
240
|
+
estimateSkillsTokens(skills: Skill[]): number;
|
|
241
|
+
/**
|
|
242
|
+
* Get optimization stats
|
|
243
|
+
*/
|
|
244
|
+
getOptimizationStats(original: Skill[], optimized: Skill[]): {
|
|
245
|
+
originalTokens: number;
|
|
246
|
+
optimizedTokens: number;
|
|
247
|
+
savings: number;
|
|
248
|
+
savingsPercent: number;
|
|
249
|
+
};
|
|
250
|
+
private truncateDescription;
|
|
251
|
+
private compressParameters;
|
|
252
|
+
private isMetadataRelevant;
|
|
253
|
+
private formatSkillForPrompt;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Smart Agent with automatic skill selection
|
|
258
|
+
* Token-optimized decision making
|
|
259
|
+
*/
|
|
260
|
+
|
|
261
|
+
interface SmartAgentConfig extends AgentConfig {
|
|
262
|
+
decisionEngine?: DecisionEngineConfig;
|
|
263
|
+
skillLoader?: SkillLoaderConfig;
|
|
264
|
+
tokenOptimizer?: TokenOptimizerConfig;
|
|
265
|
+
autoDecide?: boolean;
|
|
266
|
+
maxAutoIterations?: number;
|
|
267
|
+
enableStreaming?: boolean;
|
|
268
|
+
}
|
|
269
|
+
interface AutoExecutionResult {
|
|
270
|
+
decision: Decision;
|
|
271
|
+
result: SkillResult | string;
|
|
272
|
+
tokensUsed: number;
|
|
273
|
+
executionTime: number;
|
|
274
|
+
skillsLoaded?: string[];
|
|
275
|
+
}
|
|
276
|
+
declare class SmartAgent extends Agent {
|
|
277
|
+
private decisionEngine;
|
|
278
|
+
private skillLoader;
|
|
279
|
+
private tokenOptimizer;
|
|
280
|
+
private executionHistory;
|
|
281
|
+
constructor(config: SmartAgentConfig);
|
|
282
|
+
/**
|
|
283
|
+
* Initialize the smart agent
|
|
284
|
+
*/
|
|
285
|
+
initialize(): Promise<void>;
|
|
286
|
+
/**
|
|
287
|
+
* Auto-process user input with smart decision making
|
|
288
|
+
*/
|
|
289
|
+
process(input: string, context?: string): Promise<AutoExecutionResult>;
|
|
290
|
+
/**
|
|
291
|
+
* Stream process user input
|
|
292
|
+
*/
|
|
293
|
+
streamProcess(input: string, context?: string): AsyncIterableIterator<{
|
|
294
|
+
type: 'decision' | 'skill' | 'tool' | 'llm' | 'complete';
|
|
295
|
+
data?: unknown;
|
|
296
|
+
}>;
|
|
297
|
+
/**
|
|
298
|
+
* Make decision based on input
|
|
299
|
+
*/
|
|
300
|
+
private makeDecision;
|
|
301
|
+
/**
|
|
302
|
+
* Extract parameters from input for a skill
|
|
303
|
+
*/
|
|
304
|
+
private extractParameters;
|
|
305
|
+
/**
|
|
306
|
+
* Coordinate multiple skills
|
|
307
|
+
*/
|
|
308
|
+
private coordinateSkills;
|
|
309
|
+
/**
|
|
310
|
+
* Coordinate multiple tools
|
|
311
|
+
*/
|
|
312
|
+
private coordinateTools;
|
|
313
|
+
/**
|
|
314
|
+
* Execute mixed skills and tools
|
|
315
|
+
*/
|
|
316
|
+
private executeMixed;
|
|
317
|
+
/**
|
|
318
|
+
* Direct LLM response
|
|
319
|
+
*/
|
|
320
|
+
private directLLMResponse;
|
|
321
|
+
/**
|
|
322
|
+
* Build parameter extraction prompt
|
|
323
|
+
*/
|
|
324
|
+
private buildParameterExtractionPrompt;
|
|
325
|
+
/**
|
|
326
|
+
* Simple parameter extraction without LLM
|
|
327
|
+
*/
|
|
328
|
+
private simpleParameterExtraction;
|
|
329
|
+
/**
|
|
330
|
+
* Register a skill source for dynamic loading
|
|
331
|
+
*/
|
|
332
|
+
registerSkillSource(name: string, source: string, type: 'file' | 'url' | 'module'): void;
|
|
333
|
+
/**
|
|
334
|
+
* Get execution history
|
|
335
|
+
*/
|
|
336
|
+
getExecutionHistory(): Array<{
|
|
337
|
+
input: string;
|
|
338
|
+
decision: Decision;
|
|
339
|
+
timestamp: Date;
|
|
340
|
+
}>;
|
|
341
|
+
/**
|
|
342
|
+
* Get decision engine stats
|
|
343
|
+
*/
|
|
344
|
+
getDecisionStats(): {
|
|
345
|
+
cacheSize: number;
|
|
346
|
+
loadedSkills: number;
|
|
347
|
+
historySize: number;
|
|
348
|
+
};
|
|
349
|
+
/**
|
|
350
|
+
* Clear execution history
|
|
351
|
+
*/
|
|
352
|
+
clearHistory(): void;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
/**
|
|
356
|
+
* Plugin System
|
|
357
|
+
* Extensible architecture for adding capabilities
|
|
358
|
+
*/
|
|
359
|
+
|
|
360
|
+
interface PluginManagerConfig {
|
|
361
|
+
autoLoad?: boolean;
|
|
362
|
+
pluginDirectory?: string;
|
|
363
|
+
allowedPlugins?: string[];
|
|
364
|
+
}
|
|
365
|
+
declare class PluginManager {
|
|
366
|
+
private agent;
|
|
367
|
+
private config;
|
|
368
|
+
private plugins;
|
|
369
|
+
private contexts;
|
|
370
|
+
constructor(agent: Agent, config?: PluginManagerConfig);
|
|
371
|
+
load(plugin: Plugin, config?: Record<string, unknown>): Promise<void>;
|
|
372
|
+
unload(name: string): Promise<void>;
|
|
373
|
+
get(name: string): Plugin | undefined;
|
|
374
|
+
getContext(name: string): PluginContext | undefined;
|
|
375
|
+
list(): Plugin[];
|
|
376
|
+
listNames(): string[];
|
|
377
|
+
isLoaded(name: string): boolean;
|
|
378
|
+
reload(name: string): Promise<void>;
|
|
379
|
+
unloadAll(): Promise<void>;
|
|
380
|
+
getStats(): {
|
|
381
|
+
total: number;
|
|
382
|
+
withDestroy: number;
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
interface PluginFactory {
|
|
386
|
+
create(config: Record<string, unknown>): Plugin | Promise<Plugin>;
|
|
387
|
+
}
|
|
388
|
+
declare class PluginLoader {
|
|
389
|
+
private factories;
|
|
390
|
+
registerFactory(type: string, factory: PluginFactory): void;
|
|
391
|
+
loadFromSource(type: string, source: string, config?: Record<string, unknown>): Promise<Plugin>;
|
|
392
|
+
private loadConfig;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
export { Agent, AgentConfig, type AutoExecutionResult, type Decision, type DecisionContext, DecisionEngine, type DecisionEngineConfig, DynamicSkillLoader, type EmbeddingProvider, LLMMessage, type LoadedSkill, Plugin, PluginContext, type PluginFactory, PluginLoader, PluginManager, type PluginManagerConfig, SimpleEmbeddingProvider, Skill, type SkillLoaderConfig, SkillResult, type SkillSource, SmartAgent, type SmartAgentConfig, type TokenEstimate, TokenOptimizer, type TokenOptimizerConfig, Tool };
|