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.
Files changed (146) hide show
  1. package/README.md +228 -0
  2. package/README.zh.md +228 -0
  3. package/dist/agent-Bpxmkz8W.d.ts +197 -0
  4. package/dist/agent-kexkkI13.d.cts +197 -0
  5. package/dist/browser/agent-Bpxmkz8W.d.ts +197 -0
  6. package/dist/browser/chunk-7W2JJCSS.js +276 -0
  7. package/dist/browser/chunk-7W2JJCSS.js.map +1 -0
  8. package/dist/browser/chunk-BHRFRGR7.js +144 -0
  9. package/dist/browser/chunk-BHRFRGR7.js.map +1 -0
  10. package/dist/browser/chunk-CLP6UNSV.js +285 -0
  11. package/dist/browser/chunk-CLP6UNSV.js.map +1 -0
  12. package/dist/browser/chunk-HXLRBB7S.js +1569 -0
  13. package/dist/browser/chunk-HXLRBB7S.js.map +1 -0
  14. package/dist/browser/chunk-VJEFLRZT.js +1720 -0
  15. package/dist/browser/chunk-VJEFLRZT.js.map +1 -0
  16. package/dist/browser/index.d.ts +842 -0
  17. package/dist/browser/index.js +3293 -0
  18. package/dist/browser/index.js.map +1 -0
  19. package/dist/browser/llm/index.d.ts +235 -0
  20. package/dist/browser/llm/index.js +29 -0
  21. package/dist/browser/llm/index.js.map +1 -0
  22. package/dist/browser/mcp/index.d.ts +63 -0
  23. package/dist/browser/mcp/index.js +9 -0
  24. package/dist/browser/mcp/index.js.map +1 -0
  25. package/dist/browser/provider-Dna36xA-.d.ts +105 -0
  26. package/dist/browser/skills/index.d.ts +401 -0
  27. package/dist/browser/skills/index.js +31 -0
  28. package/dist/browser/skills/index.js.map +1 -0
  29. package/dist/browser/storage/index.d.ts +64 -0
  30. package/dist/browser/storage/index.js +15 -0
  31. package/dist/browser/storage/index.js.map +1 -0
  32. package/dist/browser/tools/index.d.ts +45 -0
  33. package/dist/browser/tools/index.js +15 -0
  34. package/dist/browser/tools/index.js.map +1 -0
  35. package/dist/browser/types-CG5I-byI.d.ts +30 -0
  36. package/dist/chunk-56J3IBXZ.js +144 -0
  37. package/dist/chunk-56J3IBXZ.js.map +1 -0
  38. package/dist/chunk-5XTVS5MB.js +1720 -0
  39. package/dist/chunk-5XTVS5MB.js.map +1 -0
  40. package/dist/chunk-6AYIRBGI.js +166 -0
  41. package/dist/chunk-6AYIRBGI.js.map +1 -0
  42. package/dist/chunk-C2EYJHXW.cjs +276 -0
  43. package/dist/chunk-C2EYJHXW.cjs.map +1 -0
  44. package/dist/chunk-HOZQ445W.cjs +166 -0
  45. package/dist/chunk-HOZQ445W.cjs.map +1 -0
  46. package/dist/chunk-KZNZ6CGD.cjs +144 -0
  47. package/dist/chunk-KZNZ6CGD.cjs.map +1 -0
  48. package/dist/chunk-XFMT5ZA4.js +276 -0
  49. package/dist/chunk-XFMT5ZA4.js.map +1 -0
  50. package/dist/chunk-XPGICLEJ.cjs +1720 -0
  51. package/dist/chunk-XPGICLEJ.cjs.map +1 -0
  52. package/dist/index.cjs +1311 -0
  53. package/dist/index.cjs.map +1 -0
  54. package/dist/index.d.cts +395 -0
  55. package/dist/index.d.ts +395 -0
  56. package/dist/index.js +1311 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/llm/index.cjs +29 -0
  59. package/dist/llm/index.cjs.map +1 -0
  60. package/dist/llm/index.d.cts +235 -0
  61. package/dist/llm/index.d.ts +235 -0
  62. package/dist/llm/index.js +29 -0
  63. package/dist/llm/index.js.map +1 -0
  64. package/dist/mcp/index.cjs +9 -0
  65. package/dist/mcp/index.cjs.map +1 -0
  66. package/dist/mcp/index.d.cts +63 -0
  67. package/dist/mcp/index.d.ts +63 -0
  68. package/dist/mcp/index.js +9 -0
  69. package/dist/mcp/index.js.map +1 -0
  70. package/dist/node/agent-Bpxmkz8W.d.ts +197 -0
  71. package/dist/node/agent-kexkkI13.d.cts +197 -0
  72. package/dist/node/chunk-7W2JJCSS.js +276 -0
  73. package/dist/node/chunk-7W2JJCSS.js.map +1 -0
  74. package/dist/node/chunk-BHRFRGR7.js +144 -0
  75. package/dist/node/chunk-BHRFRGR7.js.map +1 -0
  76. package/dist/node/chunk-CLP6UNSV.js +285 -0
  77. package/dist/node/chunk-CLP6UNSV.js.map +1 -0
  78. package/dist/node/chunk-HXLRBB7S.js +1569 -0
  79. package/dist/node/chunk-HXLRBB7S.js.map +1 -0
  80. package/dist/node/chunk-IYG37UN3.cjs +144 -0
  81. package/dist/node/chunk-IYG37UN3.cjs.map +1 -0
  82. package/dist/node/chunk-JF33ZOMB.cjs +285 -0
  83. package/dist/node/chunk-JF33ZOMB.cjs.map +1 -0
  84. package/dist/node/chunk-KXXS33G3.cjs +276 -0
  85. package/dist/node/chunk-KXXS33G3.cjs.map +1 -0
  86. package/dist/node/chunk-MTFOABGC.cjs +1720 -0
  87. package/dist/node/chunk-MTFOABGC.cjs.map +1 -0
  88. package/dist/node/chunk-VJEFLRZT.js +1720 -0
  89. package/dist/node/chunk-VJEFLRZT.js.map +1 -0
  90. package/dist/node/chunk-YDHQCPSN.cjs +1569 -0
  91. package/dist/node/chunk-YDHQCPSN.cjs.map +1 -0
  92. package/dist/node/index.cjs +3293 -0
  93. package/dist/node/index.cjs.map +1 -0
  94. package/dist/node/index.d.cts +842 -0
  95. package/dist/node/index.d.ts +842 -0
  96. package/dist/node/index.js +3293 -0
  97. package/dist/node/index.js.map +1 -0
  98. package/dist/node/llm/index.cjs +29 -0
  99. package/dist/node/llm/index.cjs.map +1 -0
  100. package/dist/node/llm/index.d.cts +235 -0
  101. package/dist/node/llm/index.d.ts +235 -0
  102. package/dist/node/llm/index.js +29 -0
  103. package/dist/node/llm/index.js.map +1 -0
  104. package/dist/node/mcp/index.cjs +9 -0
  105. package/dist/node/mcp/index.cjs.map +1 -0
  106. package/dist/node/mcp/index.d.cts +63 -0
  107. package/dist/node/mcp/index.d.ts +63 -0
  108. package/dist/node/mcp/index.js +9 -0
  109. package/dist/node/mcp/index.js.map +1 -0
  110. package/dist/node/provider-Dna36xA-.d.cts +105 -0
  111. package/dist/node/provider-Dna36xA-.d.ts +105 -0
  112. package/dist/node/skills/index.cjs +31 -0
  113. package/dist/node/skills/index.cjs.map +1 -0
  114. package/dist/node/skills/index.d.cts +401 -0
  115. package/dist/node/skills/index.d.ts +401 -0
  116. package/dist/node/skills/index.js +31 -0
  117. package/dist/node/skills/index.js.map +1 -0
  118. package/dist/node/storage/index.cjs +15 -0
  119. package/dist/node/storage/index.cjs.map +1 -0
  120. package/dist/node/storage/index.d.cts +64 -0
  121. package/dist/node/storage/index.d.ts +64 -0
  122. package/dist/node/storage/index.js +15 -0
  123. package/dist/node/storage/index.js.map +1 -0
  124. package/dist/node/tools/index.cjs +15 -0
  125. package/dist/node/tools/index.cjs.map +1 -0
  126. package/dist/node/tools/index.d.cts +45 -0
  127. package/dist/node/tools/index.d.ts +45 -0
  128. package/dist/node/tools/index.js +15 -0
  129. package/dist/node/tools/index.js.map +1 -0
  130. package/dist/node/types-CG5I-byI.d.cts +30 -0
  131. package/dist/node/types-CG5I-byI.d.ts +30 -0
  132. package/dist/provider-Dna36xA-.d.cts +105 -0
  133. package/dist/provider-Dna36xA-.d.ts +105 -0
  134. package/dist/skills/index.cjs +15 -0
  135. package/dist/skills/index.cjs.map +1 -0
  136. package/dist/skills/index.d.cts +43 -0
  137. package/dist/skills/index.d.ts +43 -0
  138. package/dist/skills/index.js +15 -0
  139. package/dist/skills/index.js.map +1 -0
  140. package/dist/tools/index.cjs +15 -0
  141. package/dist/tools/index.cjs.map +1 -0
  142. package/dist/tools/index.d.cts +45 -0
  143. package/dist/tools/index.d.ts +45 -0
  144. package/dist/tools/index.js +15 -0
  145. package/dist/tools/index.js.map +1 -0
  146. package/package.json +150 -0
@@ -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 };