@jclaw/core 0.1.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 (189) hide show
  1. package/dist/auto-skill/generator.d.ts +30 -0
  2. package/dist/auto-skill/generator.d.ts.map +1 -0
  3. package/dist/auto-skill/generator.js +262 -0
  4. package/dist/auto-skill/generator.js.map +1 -0
  5. package/dist/auto-skill/index.d.ts +11 -0
  6. package/dist/auto-skill/index.d.ts.map +1 -0
  7. package/dist/auto-skill/index.js +10 -0
  8. package/dist/auto-skill/index.js.map +1 -0
  9. package/dist/auto-skill/installer.d.ts +44 -0
  10. package/dist/auto-skill/installer.d.ts.map +1 -0
  11. package/dist/auto-skill/installer.js +201 -0
  12. package/dist/auto-skill/installer.js.map +1 -0
  13. package/dist/auto-skill/types.d.ts +179 -0
  14. package/dist/auto-skill/types.d.ts.map +1 -0
  15. package/dist/auto-skill/types.js +9 -0
  16. package/dist/auto-skill/types.js.map +1 -0
  17. package/dist/cli/commands/config.d.ts +16 -0
  18. package/dist/cli/commands/config.d.ts.map +1 -0
  19. package/dist/cli/commands/config.js +119 -0
  20. package/dist/cli/commands/config.js.map +1 -0
  21. package/dist/cli/commands/exec.d.ts +12 -0
  22. package/dist/cli/commands/exec.d.ts.map +1 -0
  23. package/dist/cli/commands/exec.js +41 -0
  24. package/dist/cli/commands/exec.js.map +1 -0
  25. package/dist/cli/index.d.ts +10 -0
  26. package/dist/cli/index.d.ts.map +1 -0
  27. package/dist/cli/index.js +91 -0
  28. package/dist/cli/index.js.map +1 -0
  29. package/dist/cli/run.d.ts +9 -0
  30. package/dist/cli/run.d.ts.map +1 -0
  31. package/dist/cli/run.js +13 -0
  32. package/dist/cli/run.js.map +1 -0
  33. package/dist/context/index.d.ts +6 -0
  34. package/dist/context/index.d.ts.map +1 -0
  35. package/dist/context/index.js +12 -0
  36. package/dist/context/index.js.map +1 -0
  37. package/dist/context/memsearch-client.d.ts +34 -0
  38. package/dist/context/memsearch-client.d.ts.map +1 -0
  39. package/dist/context/memsearch-client.js +182 -0
  40. package/dist/context/memsearch-client.js.map +1 -0
  41. package/dist/context/mock-client.d.ts +116 -0
  42. package/dist/context/mock-client.d.ts.map +1 -0
  43. package/dist/context/mock-client.js +150 -0
  44. package/dist/context/mock-client.js.map +1 -0
  45. package/dist/context/openviking-client.d.ts +87 -0
  46. package/dist/context/openviking-client.d.ts.map +1 -0
  47. package/dist/context/openviking-client.js +166 -0
  48. package/dist/context/openviking-client.js.map +1 -0
  49. package/dist/context/openviking-mcp-client.d.ts +29 -0
  50. package/dist/context/openviking-mcp-client.d.ts.map +1 -0
  51. package/dist/context/openviking-mcp-client.js +81 -0
  52. package/dist/context/openviking-mcp-client.js.map +1 -0
  53. package/dist/context/simple-memory-client.d.ts +43 -0
  54. package/dist/context/simple-memory-client.d.ts.map +1 -0
  55. package/dist/context/simple-memory-client.enhanced.d.ts +39 -0
  56. package/dist/context/simple-memory-client.enhanced.d.ts.map +1 -0
  57. package/dist/context/simple-memory-client.enhanced.js +207 -0
  58. package/dist/context/simple-memory-client.enhanced.js.map +1 -0
  59. package/dist/context/simple-memory-client.js +270 -0
  60. package/dist/context/simple-memory-client.js.map +1 -0
  61. package/dist/evolution/continuous.d.ts +127 -0
  62. package/dist/evolution/continuous.d.ts.map +1 -0
  63. package/dist/evolution/continuous.js +238 -0
  64. package/dist/evolution/continuous.js.map +1 -0
  65. package/dist/evolution/engine.d.ts +97 -0
  66. package/dist/evolution/engine.d.ts.map +1 -0
  67. package/dist/evolution/engine.js +187 -0
  68. package/dist/evolution/engine.js.map +1 -0
  69. package/dist/evolution/evolver-adapter.d.ts +104 -0
  70. package/dist/evolution/evolver-adapter.d.ts.map +1 -0
  71. package/dist/evolution/evolver-adapter.js +227 -0
  72. package/dist/evolution/evolver-adapter.js.map +1 -0
  73. package/dist/evolution/index.d.ts +9 -0
  74. package/dist/evolution/index.d.ts.map +1 -0
  75. package/dist/evolution/index.js +8 -0
  76. package/dist/evolution/index.js.map +1 -0
  77. package/dist/evolution/memory.d.ts +106 -0
  78. package/dist/evolution/memory.d.ts.map +1 -0
  79. package/dist/evolution/memory.js +232 -0
  80. package/dist/evolution/memory.js.map +1 -0
  81. package/dist/evolution/mutation.d.ts +66 -0
  82. package/dist/evolution/mutation.d.ts.map +1 -0
  83. package/dist/evolution/mutation.js +139 -0
  84. package/dist/evolution/mutation.js.map +1 -0
  85. package/dist/evolution/sandbox.d.ts +96 -0
  86. package/dist/evolution/sandbox.d.ts.map +1 -0
  87. package/dist/evolution/sandbox.js +194 -0
  88. package/dist/evolution/sandbox.js.map +1 -0
  89. package/dist/evolution/types.d.ts +93 -0
  90. package/dist/evolution/types.d.ts.map +1 -0
  91. package/dist/evolution/types.js +9 -0
  92. package/dist/evolution/types.js.map +1 -0
  93. package/dist/executor/index.d.ts +10 -0
  94. package/dist/executor/index.d.ts.map +1 -0
  95. package/dist/executor/index.js +10 -0
  96. package/dist/executor/index.js.map +1 -0
  97. package/dist/executor/interface.d.ts +9 -0
  98. package/dist/executor/interface.d.ts.map +1 -0
  99. package/dist/executor/interface.js +9 -0
  100. package/dist/executor/interface.js.map +1 -0
  101. package/dist/executor/local.d.ts +36 -0
  102. package/dist/executor/local.d.ts.map +1 -0
  103. package/dist/executor/local.js +95 -0
  104. package/dist/executor/local.js.map +1 -0
  105. package/dist/extension-system/capability-router.d.ts +106 -0
  106. package/dist/extension-system/capability-router.d.ts.map +1 -0
  107. package/dist/extension-system/capability-router.js +167 -0
  108. package/dist/extension-system/capability-router.js.map +1 -0
  109. package/dist/extension-system/index.d.ts +11 -0
  110. package/dist/extension-system/index.d.ts.map +1 -0
  111. package/dist/extension-system/index.js +11 -0
  112. package/dist/extension-system/index.js.map +1 -0
  113. package/dist/extension-system/loader.d.ts +93 -0
  114. package/dist/extension-system/loader.d.ts.map +1 -0
  115. package/dist/extension-system/loader.js +245 -0
  116. package/dist/extension-system/loader.js.map +1 -0
  117. package/dist/extension-system/registry.d.ts +112 -0
  118. package/dist/extension-system/registry.d.ts.map +1 -0
  119. package/dist/extension-system/registry.js +161 -0
  120. package/dist/extension-system/registry.js.map +1 -0
  121. package/dist/index.d.ts +14 -0
  122. package/dist/index.d.ts.map +1 -0
  123. package/dist/index.js +20 -0
  124. package/dist/index.js.map +1 -0
  125. package/dist/network/client.d.ts +130 -0
  126. package/dist/network/client.d.ts.map +1 -0
  127. package/dist/network/client.js +230 -0
  128. package/dist/network/client.js.map +1 -0
  129. package/dist/network/index.d.ts +10 -0
  130. package/dist/network/index.d.ts.map +1 -0
  131. package/dist/network/index.js +10 -0
  132. package/dist/network/index.js.map +1 -0
  133. package/dist/network/protocol.d.ts +159 -0
  134. package/dist/network/protocol.d.ts.map +1 -0
  135. package/dist/network/protocol.js +118 -0
  136. package/dist/network/protocol.js.map +1 -0
  137. package/dist/runtime/agent.d.ts +124 -0
  138. package/dist/runtime/agent.d.ts.map +1 -0
  139. package/dist/runtime/agent.js +286 -0
  140. package/dist/runtime/agent.js.map +1 -0
  141. package/dist/runtime/agent_fixed.d.ts +39 -0
  142. package/dist/runtime/agent_fixed.d.ts.map +1 -0
  143. package/dist/runtime/agent_fixed.js +193 -0
  144. package/dist/runtime/agent_fixed.js.map +1 -0
  145. package/dist/runtime/index.d.ts +11 -0
  146. package/dist/runtime/index.d.ts.map +1 -0
  147. package/dist/runtime/index.js +11 -0
  148. package/dist/runtime/index.js.map +1 -0
  149. package/dist/runtime/llm-client.d.ts +108 -0
  150. package/dist/runtime/llm-client.d.ts.map +1 -0
  151. package/dist/runtime/llm-client.js +125 -0
  152. package/dist/runtime/llm-client.js.map +1 -0
  153. package/dist/runtime/task-executor.d.ts +92 -0
  154. package/dist/runtime/task-executor.d.ts.map +1 -0
  155. package/dist/runtime/task-executor.js +203 -0
  156. package/dist/runtime/task-executor.js.map +1 -0
  157. package/dist/skill-sh/adapter.d.ts +40 -0
  158. package/dist/skill-sh/adapter.d.ts.map +1 -0
  159. package/dist/skill-sh/adapter.js +258 -0
  160. package/dist/skill-sh/adapter.js.map +1 -0
  161. package/dist/skill-sh/converter.d.ts +37 -0
  162. package/dist/skill-sh/converter.d.ts.map +1 -0
  163. package/dist/skill-sh/converter.js +175 -0
  164. package/dist/skill-sh/converter.js.map +1 -0
  165. package/dist/skill-sh/discovery.d.ts +29 -0
  166. package/dist/skill-sh/discovery.d.ts.map +1 -0
  167. package/dist/skill-sh/discovery.js +189 -0
  168. package/dist/skill-sh/discovery.js.map +1 -0
  169. package/dist/skill-sh/index.d.ts +19 -0
  170. package/dist/skill-sh/index.d.ts.map +1 -0
  171. package/dist/skill-sh/index.js +20 -0
  172. package/dist/skill-sh/index.js.map +1 -0
  173. package/dist/skill-sh/quality.d.ts +51 -0
  174. package/dist/skill-sh/quality.d.ts.map +1 -0
  175. package/dist/skill-sh/quality.js +146 -0
  176. package/dist/skill-sh/quality.js.map +1 -0
  177. package/dist/skill-sh/registry.d.ts +58 -0
  178. package/dist/skill-sh/registry.d.ts.map +1 -0
  179. package/dist/skill-sh/registry.js +118 -0
  180. package/dist/skill-sh/registry.js.map +1 -0
  181. package/dist/skill-sh/types.d.ts +228 -0
  182. package/dist/skill-sh/types.d.ts.map +1 -0
  183. package/dist/skill-sh/types.js +9 -0
  184. package/dist/skill-sh/types.js.map +1 -0
  185. package/dist/types.d.ts +199 -0
  186. package/dist/types.d.ts.map +1 -0
  187. package/dist/types.js +10 -0
  188. package/dist/types.js.map +1 -0
  189. package/package.json +41 -0
@@ -0,0 +1,286 @@
1
+ /**
2
+ * Agent Runtime
3
+ *
4
+ * Core implementation of the JClaw agent runtime.
5
+ * Provides task execution, context management, and lifecycle control.
6
+ * Now with AutoSkill support for self-evolving capabilities!
7
+ *
8
+ * @module @jclaw/core/runtime/agent
9
+ */
10
+ import { TaskExecutor } from './task-executor.js';
11
+ import { LLMClient } from './llm-client.js';
12
+ import { LocalExecutor } from '../executor/local.js';
13
+ import { ExtensionRegistry } from '../extension-system/registry.js';
14
+ import { EvolutionEngine } from '../evolution/engine.js';
15
+ import { createAutoSkillGenerator, createAutoSkillInstaller, } from '../auto-skill/index.js';
16
+ /**
17
+ * JClaw Agent Runtime
18
+ *
19
+ * The main runtime for executing tasks with the JClaw agent.
20
+ * Implements the AgentRuntime interface and provides:
21
+ * - Task execution with LLM integration
22
+ * - Context management through SimpleMemory
23
+ * - Command execution through local/docker executors
24
+ * - **NEW: AutoSkill for self-generating capabilities!**
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const agent = new JClawAgent({
29
+ * name: 'my-agent',
30
+ * enableAutoSkill: true, // Enable self-evolution!
31
+ * llm: {
32
+ * apiBase: 'https://api.openai.com/v1',
33
+ * apiKey: process.env.OPENAI_API_KEY!,
34
+ * model: 'gpt-4'
35
+ * }
36
+ * });
37
+ *
38
+ * await agent.start();
39
+ * const result = await agent.execute({
40
+ * id: 'task-1',
41
+ * prompt: 'Analyze the project structure'
42
+ * });
43
+ * await agent.stop();
44
+ * ```
45
+ */
46
+ export class JClawAgent {
47
+ executionMode;
48
+ config;
49
+ llmClient;
50
+ taskExecutor;
51
+ running = false;
52
+ // AutoSkill components
53
+ autoSkillGenerator;
54
+ autoSkillInstaller;
55
+ // Skill.sh components
56
+ _skillShAdapter;
57
+ _skillConverter;
58
+ _skillDiscovery;
59
+ _skillRegistry;
60
+ evolutionEngine;
61
+ /**
62
+ * Create a new JClaw agent instance.
63
+ *
64
+ * @param config - Configuration options
65
+ */
66
+ constructor(config = {}) {
67
+ this.config = {
68
+ name: 'jclaw-agent',
69
+ version: '0.1.0',
70
+ executionMode: 'local',
71
+ systemPrompt: this.getDefaultSystemPrompt(),
72
+ verbose: false,
73
+ enableAutoSkill: false,
74
+ autoSkillConfig: undefined,
75
+ ...config,
76
+ };
77
+ this.executionMode = config.executionMode ?? 'local';
78
+ }
79
+ /**
80
+ * Get the context manager instance.
81
+ */
82
+ get context() {
83
+ if (!this.config.contextManager) {
84
+ throw new Error('Context manager not configured');
85
+ }
86
+ return this.config.contextManager;
87
+ }
88
+ /**
89
+ * Start the agent runtime.
90
+ */
91
+ async start() {
92
+ if (this.running) {
93
+ return;
94
+ }
95
+ console.log(`šŸš€ Starting ${this.config.name} v${this.config.version}...`);
96
+ // Initialize LLM client
97
+ if (this.config.llm) {
98
+ this.llmClient = new LLMClient(this.config.llm);
99
+ console.log('āœ… LLM client initialized');
100
+ }
101
+ // Initialize task executor
102
+ this.taskExecutor = new TaskExecutor({
103
+ llmClient: this.llmClient,
104
+ contextManager: this.config.contextManager,
105
+ verbose: this.config.verbose,
106
+ });
107
+ // Initialize AutoSkill if enabled
108
+ if (this.config.enableAutoSkill) {
109
+ console.log('🧬 AutoSkill enabled - initializing self-evolution...');
110
+ // Initialize evolution engine
111
+ const executor = new LocalExecutor();
112
+ this.evolutionEngine = new EvolutionEngine({
113
+ llmClient: this.llmClient,
114
+ executor: executor,
115
+ config: {}
116
+ });
117
+ // Get or create extension registry
118
+ const registry = this.config.extensionRegistry ?? new ExtensionRegistry();
119
+ // Create AutoSkill components
120
+ this.autoSkillGenerator = createAutoSkillGenerator(this.llmClient, registry, this.evolutionEngine, this.config.autoSkillConfig);
121
+ this.autoSkillInstaller = createAutoSkillInstaller(registry, this.config.autoSkillConfig?.storageDir);
122
+ console.log('āœ… AutoSkill components initialized');
123
+ }
124
+ this.running = true;
125
+ console.log('āœ… Agent started');
126
+ }
127
+ /**
128
+ * Stop the agent runtime.
129
+ */
130
+ async stop() {
131
+ if (!this.running) {
132
+ return;
133
+ }
134
+ console.log('šŸ›‘ Stopping agent...');
135
+ this.running = false;
136
+ console.log('āœ… Agent stopped');
137
+ }
138
+ /**
139
+ * Execute a task.
140
+ *
141
+ * @param task - The task to execute
142
+ * @returns Task execution result
143
+ */
144
+ async execute(task) {
145
+ if (!this.running) {
146
+ throw new Error('Agent not started. Call start() first.');
147
+ }
148
+ if (!this.taskExecutor) {
149
+ throw new Error('Task executor not initialized');
150
+ }
151
+ if (this.config.verbose) {
152
+ console.log(`\nšŸ“ Executing task: ${task.prompt}`);
153
+ }
154
+ try {
155
+ // Execute with AutoSkill retry logic if enabled
156
+ if (this.config.enableAutoSkill) {
157
+ return await this.executeWithAutoSkill(task);
158
+ }
159
+ // Simple execution without AutoSkill
160
+ return await this.taskExecutor.execute(task);
161
+ }
162
+ catch (error) {
163
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
164
+ return {
165
+ taskId: task.id,
166
+ success: false,
167
+ output: '',
168
+ error: errorMessage,
169
+ duration: 0,
170
+ };
171
+ }
172
+ }
173
+ /**
174
+ * Execute a task with AutoSkill self-evolution support.
175
+ *
176
+ * This method attempts to execute the task, and if it fails due to missing
177
+ * capabilities, it will automatically discover, generate, and install new skills.
178
+ */
179
+ async executeWithAutoSkill(task) {
180
+ if (!this.taskExecutor) {
181
+ throw new Error('Task executor not initialized');
182
+ }
183
+ try {
184
+ // Try to execute with existing capabilities
185
+ return await this.taskExecutor.execute(task);
186
+ }
187
+ catch (error) {
188
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
189
+ console.log(` Error: ${errorMessage}`);
190
+ // Check if error is due to missing capability
191
+ if (!this.autoSkillGenerator || !this.autoSkillInstaller) {
192
+ throw error; // AutoSkill not available
193
+ }
194
+ // Discover missing capabilities
195
+ console.log('šŸ” Discovering missing capabilities...');
196
+ const discovery = await this.autoSkillGenerator.discoverCapabilities(task);
197
+ if (discovery.gaps.length === 0) {
198
+ console.log(' No missing capabilities identified');
199
+ throw error; // Not a capability issue
200
+ }
201
+ console.log(` Found ${discovery.gaps.length} missing capabilities:`);
202
+ for (const gap of discovery.gaps) {
203
+ console.log(` - ${gap.capability}: ${gap.description}`);
204
+ }
205
+ // Generate and install each missing capability
206
+ for (const gap of discovery.gaps) {
207
+ console.log(`\nšŸ”§ Generating skill: ${gap.capability}...`);
208
+ const generation = await this.autoSkillGenerator.generateExtension(gap);
209
+ if (!generation.success || !generation.extension) {
210
+ console.error(` Failed to generate: ${generation.error}`);
211
+ continue;
212
+ }
213
+ console.log(` Code generated successfully`);
214
+ const savedPath = await this.autoSkillGenerator.saveExtension(generation.extension);
215
+ console.log(` Saved to: ${savedPath}`);
216
+ if (this.config.autoSkillConfig?.autoInstall !== false) {
217
+ console.log(` Installing...`);
218
+ const installResult = await this.autoSkillInstaller.install(generation.extension);
219
+ if (installResult.success) {
220
+ console.log(` Installed successfully!`);
221
+ console.log(` Path: ${installResult.installPath}`);
222
+ }
223
+ else {
224
+ console.error(` Installation failed: ${installResult.error}`);
225
+ }
226
+ }
227
+ }
228
+ console.log(`
229
+ Retrying task with new capabilities...`);
230
+ return await this.taskExecutor.execute(task);
231
+ }
232
+ }
233
+ async generateSkillsForTask(task) {
234
+ if (!this.autoSkillGenerator) {
235
+ throw new Error(`AutoSkill not enabled. Set enableAutoSkill: true in config.`);
236
+ }
237
+ console.log(`Analyzing task for skill generation...`);
238
+ const discovery = await this.autoSkillGenerator.discoverCapabilities(task);
239
+ const generated = [];
240
+ for (const gap of discovery.gaps) {
241
+ console.log(`Generating: ${gap.capability}`);
242
+ const result = await this.autoSkillGenerator.generateExtension(gap);
243
+ if (result.success && result.extension) {
244
+ generated.push(result.extension);
245
+ console.log(` Generated successfully`);
246
+ }
247
+ else {
248
+ console.error(` Failed: ${result.error}`);
249
+ }
250
+ }
251
+ return generated;
252
+ }
253
+ isRunning() {
254
+ return this.running;
255
+ }
256
+ get name() {
257
+ return this.config.name;
258
+ }
259
+ get version() {
260
+ return this.config.version;
261
+ }
262
+ getDefaultSystemPrompt() {
263
+ return `You are JClaw, a self-evolving AI agent with persistent memory.
264
+
265
+ Core capabilities:
266
+ 1. Understand and plan complex tasks
267
+ 2. Execute shell commands safely
268
+ 3. Learn from context and previous interactions
269
+ 4. Adapt and improve over time
270
+ 5. **Generate new skills when needed!**
271
+
272
+ Guidelines:
273
+ - Always think step by step
274
+ - Explain your reasoning clearly
275
+ - Use shell commands when appropriate
276
+ - Report errors honestly and suggest solutions
277
+ - Learn from mistakes and adapt
278
+ - **When facing a new challenge, suggest generating a new skill**
279
+
280
+ Remember: You have access to persistent memory and can evolve your own capabilities!`;
281
+ }
282
+ }
283
+ export function createAgent(config) {
284
+ return new JClawAgent(config);
285
+ }
286
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/runtime/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { AgentRuntime, Task, TaskResult, ContextManager } from '../types.js';
2
+ import { type LLMClientConfig } from './llm-client.js';
3
+ import { ExtensionRegistry } from '../extension-system/registry.js';
4
+ import type { AutoSkillConfig, GeneratedExtension } from '../auto-skill/types.js';
5
+ export interface AgentConfig {
6
+ name?: string;
7
+ version?: string;
8
+ executionMode?: 'local' | 'docker' | 'hybrid';
9
+ llm?: LLMClientConfig;
10
+ contextManager?: ContextManager;
11
+ systemPrompt?: string;
12
+ verbose?: boolean;
13
+ enableAutoSkill?: boolean;
14
+ autoSkillConfig?: Partial<AutoSkillConfig>;
15
+ extensionRegistry?: ExtensionRegistry;
16
+ }
17
+ export declare class JClawAgent implements AgentRuntime {
18
+ readonly executionMode: 'local' | 'docker' | 'hybrid';
19
+ private readonly config;
20
+ private llmClient?;
21
+ private taskExecutor?;
22
+ private running;
23
+ private autoSkillGenerator?;
24
+ private autoSkillInstaller?;
25
+ private evolutionEngine?;
26
+ constructor(config?: AgentConfig);
27
+ get context(): ContextManager;
28
+ start(): Promise<void>;
29
+ stop(): Promise<void>;
30
+ execute(task: Task): Promise<TaskResult>;
31
+ private executeWithAutoSkill;
32
+ generateSkillsForTask(task: Task): Promise<GeneratedExtension[]>;
33
+ isRunning(): boolean;
34
+ get name(): string;
35
+ get version(): string;
36
+ private getDefaultSystemPrompt;
37
+ }
38
+ export declare function createAgent(config?: AgentConfig): JClawAgent;
39
+ //# sourceMappingURL=agent_fixed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent_fixed.d.ts","sourceRoot":"","sources":["../../src/runtime/agent_fixed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElF,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAQpE,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAElF,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC9C,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3C,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,qBAAa,UAAW,YAAW,YAAY;IAC7C,QAAQ,CAAC,aAAa,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAEtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAKrB;IAEF,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,kBAAkB,CAAC,CAAqB;IAChD,OAAO,CAAC,kBAAkB,CAAC,CAAqB;IAChD,OAAO,CAAC,eAAe,CAAC,CAAkB;gBAE9B,MAAM,GAAE,WAAgB;IAcpC,IAAI,OAAO,IAAI,cAAc,CAK5B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;YAwBhC,oBAAoB;IAsD5B,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAuBtE,SAAS,IAAI,OAAO;IAIpB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,OAAO,CAAC,sBAAsB;CAoB/B;AAED,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,CAClC"}
@@ -0,0 +1,193 @@
1
+ import { TaskExecutor } from './task-executor.js';
2
+ import { LLMClient } from './llm-client.js';
3
+ import { ExtensionRegistry } from '../extension-system/registry.js';
4
+ import { EvolutionEngine } from '../evolution/engine.js';
5
+ import { createAutoSkillGenerator, createAutoSkillInstaller, } from '../auto-skill/index.js';
6
+ export class JClawAgent {
7
+ executionMode;
8
+ config;
9
+ llmClient;
10
+ taskExecutor;
11
+ running = false;
12
+ autoSkillGenerator;
13
+ autoSkillInstaller;
14
+ evolutionEngine;
15
+ constructor(config = {}) {
16
+ this.config = {
17
+ name: 'jclaw-agent',
18
+ version: '0.1.0',
19
+ executionMode: 'local',
20
+ systemPrompt: this.getDefaultSystemPrompt(),
21
+ verbose: false,
22
+ enableAutoSkill: false,
23
+ autoSkillConfig: undefined,
24
+ ...config,
25
+ };
26
+ this.executionMode = config.executionMode ?? 'local';
27
+ }
28
+ get context() {
29
+ if (!this.config.contextManager) {
30
+ throw new Error('Context manager not configured');
31
+ }
32
+ return this.config.contextManager;
33
+ }
34
+ async start() {
35
+ if (this.running)
36
+ return;
37
+ console.log(`šŸš€ Starting ${this.config.name} v${this.config.version}...`);
38
+ if (this.config.llm) {
39
+ this.llmClient = new LLMClient(this.config.llm);
40
+ console.log('āœ… LLM client initialized');
41
+ }
42
+ this.taskExecutor = new TaskExecutor({
43
+ llmClient: this.llmClient,
44
+ context: this.config.contextManager,
45
+ verbose: this.config.verbose,
46
+ });
47
+ if (this.config.enableAutoSkill) {
48
+ console.log('🧬 AutoSkill enabled - initializing self-evolution...');
49
+ this.evolutionEngine = new EvolutionEngine({
50
+ populationSize: 10,
51
+ mutationRate: 0.1,
52
+ selectionPressure: 0.5,
53
+ });
54
+ const registry = this.config.extensionRegistry ?? new ExtensionRegistry();
55
+ this.autoSkillGenerator = createAutoSkillGenerator(this.llmClient, registry, this.evolutionEngine, this.config.autoSkillConfig);
56
+ this.autoSkillInstaller = createAutoSkillInstaller(registry, this.config.autoSkillConfig?.storageDir);
57
+ console.log('āœ… AutoSkill components initialized');
58
+ }
59
+ this.running = true;
60
+ console.log('āœ… Agent started');
61
+ }
62
+ async stop() {
63
+ if (!this.running)
64
+ return;
65
+ console.log('šŸ›‘ Stopping agent...');
66
+ this.running = false;
67
+ console.log('āœ… Agent stopped');
68
+ }
69
+ async execute(task) {
70
+ if (!this.running)
71
+ throw new Error('Agent not started. Call start() first.');
72
+ if (!this.taskExecutor)
73
+ throw new Error('Task executor not initialized');
74
+ if (this.config.verbose) {
75
+ console.log(`\nšŸ“ Executing task: ${task.prompt}`);
76
+ }
77
+ try {
78
+ return this.config.enableAutoSkill
79
+ ? await this.executeWithAutoSkill(task)
80
+ : await this.taskExecutor.execute(task);
81
+ }
82
+ catch (error) {
83
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
84
+ return {
85
+ taskId: task.id,
86
+ success: false,
87
+ output: '',
88
+ error: errorMessage,
89
+ metadata: {},
90
+ };
91
+ }
92
+ }
93
+ async executeWithAutoSkill(task) {
94
+ if (!this.taskExecutor)
95
+ throw new Error('Task executor not initialized');
96
+ try {
97
+ return await this.taskExecutor.execute(task);
98
+ }
99
+ catch (error) {
100
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
101
+ console.log(` Error: ${errorMessage}`);
102
+ if (!this.autoSkillGenerator || !this.autoSkillInstaller)
103
+ throw error;
104
+ console.log('šŸ” Discovering missing capabilities...');
105
+ const discovery = await this.autoSkillGenerator.discoverCapabilities(task);
106
+ if (discovery.gaps.length === 0) {
107
+ console.log(' No missing capabilities identified');
108
+ throw error;
109
+ }
110
+ console.log(` Found ${discovery.gaps.length} missing capabilities:`);
111
+ for (const gap of discovery.gaps) {
112
+ console.log(` - ${gap.capability}: ${gap.description}`);
113
+ }
114
+ for (const gap of discovery.gaps) {
115
+ console.log(`\nšŸ”§ Generating skill: ${gap.capability}...`);
116
+ const generation = await this.autoSkillGenerator.generateExtension(gap);
117
+ if (!generation.success || !generation.extension) {
118
+ console.error(` āŒ Failed to generate: ${generation.error}`);
119
+ continue;
120
+ }
121
+ console.log(` āœ… Code generated successfully`);
122
+ const savedPath = await this.autoSkillGenerator.saveExtension(generation.extension);
123
+ console.log(` šŸ’¾ Saved to: ${savedPath}`);
124
+ if (this.config.autoSkillConfig?.autoInstall !== false) {
125
+ console.log(` šŸ“¦ Installing...`);
126
+ const installResult = await this.autoSkillInstaller.install(generation.extension);
127
+ if (installResult.success) {
128
+ console.log(` āœ… Installed successfully!`);
129
+ console.log(` Path: ${installResult.installPath}`);
130
+ }
131
+ else {
132
+ console.error(` āŒ Installation failed: ${installResult.error}`);
133
+ }
134
+ }
135
+ }
136
+ console.log('\nšŸ”„ Retrying task with new capabilities...');
137
+ return await this.taskExecutor.execute(task);
138
+ }
139
+ }
140
+ async generateSkillsForTask(task) {
141
+ if (!this.autoSkillGenerator) {
142
+ throw new Error('AutoSkill not enabled. Set enableAutoSkill: true in config.');
143
+ }
144
+ console.log('šŸ” Analyzing task for skill generation...');
145
+ const discovery = await this.autoSkillGenerator.discoverCapabilities(task);
146
+ const generated = [];
147
+ for (const gap of discovery.gaps) {
148
+ console.log(`\nšŸ”§ Generating: ${gap.capability}`);
149
+ const result = await this.autoSkillGenerator.generateExtension(gap);
150
+ if (result.success && result.extension) {
151
+ generated.push(result.extension);
152
+ console.log(` āœ… Generated successfully`);
153
+ }
154
+ else {
155
+ console.error(` āŒ Failed: ${result.error}`);
156
+ }
157
+ }
158
+ return generated;
159
+ }
160
+ isRunning() {
161
+ return this.running;
162
+ }
163
+ get name() {
164
+ return this.config.name;
165
+ }
166
+ get version() {
167
+ return this.config.version;
168
+ }
169
+ getDefaultSystemPrompt() {
170
+ return `You are JClaw, a self-evolving AI agent with persistent memory.
171
+
172
+ Core capabilities:
173
+ 1. Understand and plan complex tasks
174
+ 2. Execute shell commands safely
175
+ 3. Learn from context and previous interactions
176
+ 4. Adapt and improve over time
177
+ 5. **Generate new skills when needed!**
178
+
179
+ Guidelines:
180
+ - Always think step by step
181
+ - Explain your reasoning clearly
182
+ - Use shell commands when appropriate
183
+ - Report errors honestly and suggest solutions
184
+ - Learn from mistakes and adapt
185
+ - **When facing a new challenge, suggest generating a new skill**
186
+
187
+ Remember: You have access to persistent memory and can evolve your own capabilities!`;
188
+ }
189
+ }
190
+ export function createAgent(config) {
191
+ return new JClawAgent(con);
192
+ }
193
+ //# sourceMappingURL=agent_fixed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent_fixed.js","sourceRoot":"","sources":["../../src/runtime/agent_fixed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Runtime Module
3
+ *
4
+ * Provides the core agent runtime components.
5
+ *
6
+ * @module @jclaw/core/runtime
7
+ */
8
+ export { LLMClient, createLLMClient, type LLMClientConfig, type ChatMessage, type LLMResponse } from './llm-client.js';
9
+ export { TaskExecutor, createTaskExecutor, type TaskExecutorConfig } from './task-executor.js';
10
+ export { JClawAgent, createAgent, type AgentConfig } from './agent.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACvH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Runtime Module
3
+ *
4
+ * Provides the core agent runtime components.
5
+ *
6
+ * @module @jclaw/core/runtime
7
+ */
8
+ export { LLMClient, createLLMClient } from './llm-client.js';
9
+ export { TaskExecutor, createTaskExecutor } from './task-executor.js';
10
+ export { JClawAgent, createAgent } from './agent.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAA4D,MAAM,iBAAiB,CAAC;AACvH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAA2B,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC"}