@jclaw/core 0.1.0 → 0.3.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 (45) hide show
  1. package/dist/auto-skill/generator.js +0 -1
  2. package/dist/auto-skill/index.js +0 -1
  3. package/dist/auto-skill/installer.js +0 -1
  4. package/dist/auto-skill/types.js +0 -1
  5. package/dist/cli/commands/config.js +0 -1
  6. package/dist/cli/commands/exec.js +0 -1
  7. package/dist/cli/index.js +0 -1
  8. package/dist/cli/jclaw.js +291 -0
  9. package/dist/cli/run.js +0 -1
  10. package/dist/context/index.js +0 -1
  11. package/dist/context/memsearch-client.js +0 -1
  12. package/dist/context/mock-client.js +0 -1
  13. package/dist/context/simple-memory-client.js +0 -1
  14. package/dist/evolution/engine.js +0 -1
  15. package/dist/evolution/evolver-adapter.js +0 -1
  16. package/dist/evolution/index.js +0 -1
  17. package/dist/evolution/mutation.js +0 -1
  18. package/dist/evolution/sandbox.js +0 -1
  19. package/dist/evolution/types.js +0 -1
  20. package/dist/executor/index.js +0 -1
  21. package/dist/executor/interface.js +0 -1
  22. package/dist/executor/local.js +0 -1
  23. package/dist/extension-system/capability-router.js +0 -1
  24. package/dist/extension-system/index.js +0 -1
  25. package/dist/extension-system/loader.js +0 -1
  26. package/dist/extension-system/registry.js +0 -1
  27. package/dist/index.js +0 -1
  28. package/dist/network/client.js +0 -1
  29. package/dist/network/index.js +0 -1
  30. package/dist/network/protocol.js +0 -1
  31. package/dist/runtime/agent.js +0 -1
  32. package/dist/runtime/index.js +0 -1
  33. package/dist/runtime/llm-client.js +0 -1
  34. package/dist/runtime/task-executor.js +0 -1
  35. package/dist/skill-sh/adapter.js +0 -1
  36. package/dist/skill-sh/converter.js +0 -1
  37. package/dist/skill-sh/discovery.d.ts +1 -1
  38. package/dist/skill-sh/discovery.d.ts.map +1 -1
  39. package/dist/skill-sh/discovery.js +0 -1
  40. package/dist/skill-sh/index.js +0 -1
  41. package/dist/skill-sh/quality.js +0 -1
  42. package/dist/skill-sh/registry.js +0 -1
  43. package/dist/skill-sh/types.js +0 -1
  44. package/dist/types.js +0 -1
  45. package/package.json +9 -28
@@ -259,4 +259,3 @@ export function addCodeTemplate(name, template) {
259
259
  export function getAvailableTemplates() {
260
260
  return Object.keys(CODE_TEMPLATES);
261
261
  }
262
- //# sourceMappingURL=generator.js.map
@@ -7,4 +7,3 @@
7
7
  */
8
8
  export { AutoSkillGenerator, createAutoSkillGenerator, } from './generator.js';
9
9
  export { AutoSkillInstaller, createAutoSkillInstaller, } from './installer.js';
10
- //# sourceMappingURL=index.js.map
@@ -198,4 +198,3 @@ export class AutoSkillInstaller {
198
198
  export function createAutoSkillInstaller(registry, storageDir) {
199
199
  return new AutoSkillInstaller(registry, storageDir);
200
200
  }
201
- //# sourceMappingURL=installer.js.map
@@ -6,4 +6,3 @@
6
6
  * @module @jclaw/core/auto-skill/types
7
7
  */
8
8
  export {};
9
- //# sourceMappingURL=types.js.map
@@ -116,4 +116,3 @@ Examples:
116
116
  `);
117
117
  }
118
118
  export { DEFAULT_CONFIG };
119
- //# sourceMappingURL=config.js.map
@@ -38,4 +38,3 @@ Examples:
38
38
  jclaw exec "Refactor UserService" --verbose
39
39
  `);
40
40
  }
41
- //# sourceMappingURL=exec.js.map
package/dist/cli/index.js CHANGED
@@ -88,4 +88,3 @@ if (isCliEntry) {
88
88
  });
89
89
  }
90
90
  export { VERSION };
91
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,291 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * JClaw CLI - Enhanced with flexible LLM provider support
5
+ */
6
+
7
+ import { JClawAgent } from '../runtime/agent.js';
8
+ import { createSimpleMemoryClient } from '../context/simple-memory-client.js';
9
+ import { readFile, writeFile, mkdir } from 'fs/promises';
10
+ import { existsSync } from 'fs';
11
+
12
+ // 命令行参数
13
+ const args = process.argv.slice(2);
14
+ const command = args[0];
15
+
16
+ // 帮助信息
17
+ function showHelp() {
18
+ console.log(`
19
+ 🧬 JClaw - Universal Self-Evolving Agent Framework
20
+
21
+ 用法:
22
+ jclaw <command> [options]
23
+
24
+ 命令:
25
+ execute <prompt> 执行任务
26
+ chat 交互模式
27
+ init 初始化项目
28
+ help 显示帮助
29
+
30
+ 示例:
31
+ jclaw execute "分析我的简历,推荐公司和职位"
32
+ jclaw execute "读取 resume.pdf,生成 Cover Letter"
33
+ jclaw chat
34
+
35
+ 环境变量:
36
+ OPENAI_API_KEY OpenAI API 密钥(必需)
37
+ JCLAW_MODEL 模型名称(默认:gpt-4)
38
+ LLM_PROVIDER provider 名称(可选)
39
+ `);
40
+ }
41
+
42
+ // 从配置文件加载 LLM 设置
43
+ async function loadLLMConfig() {
44
+ // 尝试加载配置文件
45
+ const configFiles = ['./jclaw.config.js', './jclaw.config.mjs'];
46
+
47
+ for (const configFile of configFiles) {
48
+ if (existsSync(configFile)) {
49
+ try {
50
+ const config = await import(configFile);
51
+ const { llm, providers } = config.default || config;
52
+
53
+ // 如果配置中指定了 provider
54
+ if (llm && llm.provider && providers && providers[llm.provider]) {
55
+ const provider = providers[llm.provider];
56
+ const apiKey = process.env[provider.apiKeyEnv];
57
+
58
+ if (!apiKey) {
59
+ console.error(`❌ 错误:请设置 ${provider.apiKeyEnv} 环境变量`);
60
+ process.exit(1);
61
+ }
62
+
63
+ return {
64
+ apiBase: provider.baseURL,
65
+ apiKey: apiKey,
66
+ model: llm.model || provider.models[0]
67
+ };
68
+ }
69
+
70
+ // 如果配置中有直接的 LLM 配置
71
+ if (llm && llm.apiKey) {
72
+ return {
73
+ apiBase: llm.apiBase || 'https://api.openai.com/v1',
74
+ apiKey: llm.apiKey,
75
+ model: llm.model || 'gpt-4'
76
+ };
77
+ }
78
+ } catch (e) {
79
+ // 配置文件加载失败,继续
80
+ }
81
+ }
82
+ }
83
+
84
+ // 没有配置文件,使用环境变量
85
+ return null;
86
+ }
87
+
88
+ // 获取 LLM 配置
89
+ async function getLLMConfig() {
90
+ // 1. 优先使用配置文件
91
+ const configFile = await loadLLMConfig();
92
+ if (configFile) return configFile;
93
+
94
+ // 2. 使用环境变量
95
+ if (process.env.OPENAI_API_KEY) {
96
+ return {
97
+ apiBase: process.env.LLM_API_BASE || 'https://api.openai.com/v1',
98
+ apiKey: process.env.OPENAI_API_KEY,
99
+ model: process.env.JCLAW_MODEL || 'gpt-4'
100
+ };
101
+ }
102
+
103
+ // 3. 错误提示
104
+ console.error('❌ 错误:请设置 OPENAI_API_KEY 或使用 jclaw.config.js 配置文件');
105
+ console.error('示例:export OPENAI_API_KEY=sk-...');
106
+ process.exit(1);
107
+ }
108
+
109
+ // 执行命令
110
+ async function execute(prompt) {
111
+ const llmConfig = await getLLMConfig();
112
+
113
+ console.log('🧬 启动 JClaw...\n');
114
+ console.log(`📡 使用模型:${llmConfig.model}`);
115
+ console.log(`🔌 API 端点:${llmConfig.apiBase}\n`);
116
+
117
+ const agent = new JClawAgent({
118
+ enableAutoSkill: true,
119
+ skillShConfig: { enableCache: true },
120
+ llm: llmConfig,
121
+ contextManager: createSimpleMemoryClient({
122
+ enableSynonyms: true,
123
+ enableFuzzyMatch: true
124
+ })
125
+ });
126
+
127
+ await agent.start();
128
+ console.log('✅ JClaw 已启动\n');
129
+ console.log('📝 任务:', prompt, '\n');
130
+
131
+ const result = await agent.execute({
132
+ id: 'cli-task',
133
+ prompt
134
+ });
135
+
136
+ console.log('\n✅ 结果:\n');
137
+ console.log(result.output || result.error);
138
+
139
+ await agent.stop();
140
+ console.log('\n🎉 完成!\n');
141
+ }
142
+
143
+ // 交互模式
144
+ async function chat() {
145
+ const llmConfig = await getLLMConfig();
146
+
147
+ if (!process.env.OPENAI_API_KEY && !llmConfig.apiKey) {
148
+ console.error('❌ 请设置 OPENAI_API_KEY 或使用配置文件');
149
+ process.exit(1);
150
+ }
151
+
152
+ console.log('🧬 JClaw 交互模式 (输入 "exit" 退出)\n');
153
+ console.log(`📡 使用模型:${llmConfig.model}\n`);
154
+
155
+ const agent = new JClawAgent({
156
+ enableAutoSkill: true,
157
+ llm: llmConfig
158
+ });
159
+
160
+ await agent.start();
161
+
162
+ const readline = await import('readline');
163
+ const rl = readline.createInterface({
164
+ input: process.stdin,
165
+ output: process.stdout
166
+ });
167
+
168
+ const ask = () => {
169
+ rl.question('你:', async (input) => {
170
+ if (input.toLowerCase() === 'exit') {
171
+ await agent.stop();
172
+ rl.close();
173
+ console.log('\n👋 再见!\n');
174
+ return;
175
+ }
176
+
177
+ console.log('\n🤖 JClaw:\n');
178
+ const result = await agent.execute({
179
+ id: 'chat',
180
+ prompt: input
181
+ });
182
+ console.log(result.output || result.error);
183
+ console.log('');
184
+ ask();
185
+ });
186
+ };
187
+
188
+ ask();
189
+ }
190
+
191
+ // 初始化项目
192
+ async function init() {
193
+ console.log('🧬 初始化 JClaw 项目...\n');
194
+
195
+ const configTemplate = `// JClaw 配置文件 - 支持多种 LLM provider
196
+ export default {
197
+ enableAutoSkill: true,
198
+ skillShConfig: { enableCache: true },
199
+
200
+ llm: {
201
+ provider: 'openai', // 或 'infini-openai', 'azure-openai', 'anthropic'
202
+ model: 'gpt-4' // 具体模型
203
+ },
204
+
205
+ providers: {
206
+ 'openai': {
207
+ baseURL: 'https://api.openai.com/v1',
208
+ apiKeyEnv: 'OPENAI_API_KEY',
209
+ models: ['gpt-4', 'gpt-4o', 'gpt-3.5-turbo']
210
+ },
211
+ 'infini-openai': {
212
+ baseURL: 'https://cloud.infini-ai.com/maas/coding/v1',
213
+ apiKeyEnv: 'INFINI_API_KEY',
214
+ models: ['kimi-k2.5', 'other-model']
215
+ }
216
+ },
217
+
218
+ contextManager: {
219
+ enableSynonyms: true,
220
+ enableFuzzyMatch: true,
221
+ memoryPath: './.jclaw/memory'
222
+ }
223
+ };
224
+ `;
225
+
226
+ const files = {
227
+ 'jclaw.config.js': configTemplate,
228
+ 'README.md': `# JClaw Project
229
+
230
+ 运行:
231
+ export OPENAI_API_KEY=sk-...
232
+ jclaw execute "你的任务"
233
+
234
+ 或者使用配置文件:
235
+ jclaw execute "你的任务"
236
+ `
237
+ };
238
+
239
+ for (const [name, content] of Object.entries(files)) {
240
+ if (!existsSync(name)) {
241
+ await writeFile(name, content);
242
+ console.log('✅ 创建:', name);
243
+ }
244
+ }
245
+
246
+ console.log('\n🎉 初始化完成!\n');
247
+ console.log('下一步:');
248
+ console.log(' 1. 编辑 jclaw.config.js 配置你的 LLM');
249
+ console.log(' 2. export OPENAI_API_KEY=sk-...');
250
+ console.log(' 3. jclaw execute "你的任务"');
251
+ }
252
+
253
+ // 主逻辑
254
+ switch (command) {
255
+ case 'execute':
256
+ case 'exec':
257
+ case 'e':
258
+ const prompt = args.slice(1).join(' ');
259
+ if (!prompt) {
260
+ console.error('❌ 错误:请提供任务描述');
261
+ console.error('示例:jclaw execute "分析我的简历"');
262
+ process.exit(1);
263
+ }
264
+ execute(prompt);
265
+ break;
266
+
267
+ case 'chat':
268
+ case 'c':
269
+ chat();
270
+ break;
271
+
272
+ case 'init':
273
+ case 'i':
274
+ init();
275
+ break;
276
+
277
+ case 'help':
278
+ case 'h':
279
+ case '--help':
280
+ case '-h':
281
+ showHelp();
282
+ break;
283
+
284
+ default:
285
+ if (command) {
286
+ // 如果没有命令,但有参数,当作 execute 处理
287
+ execute(args.join(' '));
288
+ } else {
289
+ showHelp();
290
+ }
291
+ }
package/dist/cli/run.js CHANGED
@@ -10,4 +10,3 @@ main().catch((err) => {
10
10
  console.error(err.message);
11
11
  process.exit(1);
12
12
  });
13
- //# sourceMappingURL=run.js.map
@@ -9,4 +9,3 @@ export { SimpleMemoryClient, createSimpleMemoryClient } from './simple-memory-cl
9
9
  // export { OpenVikingClient, type OpenVikingConfig } from './openviking-client.js';
10
10
  // export { OpenVikingMCPClient, type OpenVikingMCPConfig, createOpenVikingMCPClient } from './openviking-mcp-client.js';
11
11
  export { MockClient } from './mock-client.js';
12
- //# sourceMappingURL=index.js.map
@@ -179,4 +179,3 @@ asyncio.run(main())
179
179
  export function createMemSearchClient(config) {
180
180
  return new MemSearchClient(config);
181
181
  }
182
- //# sourceMappingURL=memsearch-client.js.map
@@ -147,4 +147,3 @@ export class MockClient {
147
147
  this.queryResponses.clear();
148
148
  }
149
149
  }
150
- //# sourceMappingURL=mock-client.js.map
@@ -267,4 +267,3 @@ export class SimpleMemoryClient {
267
267
  export function createSimpleMemoryClient(config) {
268
268
  return new SimpleMemoryClient(config);
269
269
  }
270
- //# sourceMappingURL=simple-memory-client.js.map
@@ -184,4 +184,3 @@ export class EvolutionEngine {
184
184
  export function createEvolutionEngine(options) {
185
185
  return new EvolutionEngine(options);
186
186
  }
187
- //# sourceMappingURL=engine.js.map
@@ -224,4 +224,3 @@ export class EvolverAdapter {
224
224
  export function createEvolverAdapter(config) {
225
225
  return new EvolverAdapter(config);
226
226
  }
227
- //# sourceMappingURL=evolver-adapter.js.map
@@ -5,4 +5,3 @@ export { MutationGenerator, createMutationGenerator } from './mutation.js';
5
5
  export { SandboxValidator, createSandbox } from './sandbox.js';
6
6
  export { EvolutionEngine, createEvolutionEngine } from './engine.js';
7
7
  export { EvolverAdapter, createEvolverAdapter } from './evolver-adapter.js';
8
- //# sourceMappingURL=index.js.map
@@ -136,4 +136,3 @@ export class MutationGenerator {
136
136
  export function createMutationGenerator(config) {
137
137
  return new MutationGenerator(config);
138
138
  }
139
- //# sourceMappingURL=mutation.js.map
@@ -191,4 +191,3 @@ export class SandboxValidator {
191
191
  export function createSandbox(config) {
192
192
  return new SandboxValidator(config);
193
193
  }
194
- //# sourceMappingURL=sandbox.js.map
@@ -6,4 +6,3 @@
6
6
  * @module @jclaw/core/evolution/types
7
7
  */
8
8
  export {};
9
- //# sourceMappingURL=types.js.map
@@ -7,4 +7,3 @@
7
7
  */
8
8
  // Implementations
9
9
  export { LocalExecutor, createLocalExecutor } from './local.js';
10
- //# sourceMappingURL=index.js.map
@@ -6,4 +6,3 @@
6
6
  * @module @jclaw/core/executor/interface
7
7
  */
8
8
  export {};
9
- //# sourceMappingURL=interface.js.map
@@ -92,4 +92,3 @@ export class LocalExecutor {
92
92
  export function createLocalExecutor() {
93
93
  return new LocalExecutor();
94
94
  }
95
- //# sourceMappingURL=local.js.map
@@ -164,4 +164,3 @@ export class CapabilityRouter {
164
164
  };
165
165
  }
166
166
  }
167
- //# sourceMappingURL=capability-router.js.map
@@ -8,4 +8,3 @@
8
8
  export { ExtensionRegistry } from './registry.js';
9
9
  export { ExtensionLoader, } from './loader.js';
10
10
  export { CapabilityRouter, } from './capability-router.js';
11
- //# sourceMappingURL=index.js.map
@@ -242,4 +242,3 @@ export class ExtensionLoader {
242
242
  return sorted;
243
243
  }
244
244
  }
245
- //# sourceMappingURL=loader.js.map
@@ -158,4 +158,3 @@ export class ExtensionRegistry {
158
158
  return this.capabilities.size;
159
159
  }
160
160
  }
161
- //# sourceMappingURL=registry.js.map
package/dist/index.js CHANGED
@@ -17,4 +17,3 @@ export { MutationGenerator, createMutationGenerator, SandboxValidator, createSan
17
17
  export { AutoSkillGenerator, createAutoSkillGenerator, AutoSkillInstaller, createAutoSkillInstaller, } from './auto-skill/index.js';
18
18
  // Network
19
19
  export { A2AProtocol, GEPProtocol, EvoMapClient, createEvoMapClient, } from './network/index.js';
20
- //# sourceMappingURL=index.js.map
@@ -227,4 +227,3 @@ export class EvoMapClient {
227
227
  export function createEvoMapClient(config) {
228
228
  return new EvoMapClient(config);
229
229
  }
230
- //# sourceMappingURL=client.js.map
@@ -7,4 +7,3 @@
7
7
  */
8
8
  export { A2AProtocol, GEPProtocol, } from './protocol.js';
9
9
  export { EvoMapClient, createEvoMapClient } from './client.js';
10
- //# sourceMappingURL=index.js.map
@@ -115,4 +115,3 @@ export class GEPProtocol {
115
115
  return Math.abs(hash).toString(16);
116
116
  }
117
117
  }
118
- //# sourceMappingURL=protocol.js.map
@@ -283,4 +283,3 @@ Remember: You have access to persistent memory and can evolve your own capabilit
283
283
  export function createAgent(config) {
284
284
  return new JClawAgent(config);
285
285
  }
286
- //# sourceMappingURL=agent.js.map
@@ -8,4 +8,3 @@
8
8
  export { LLMClient, createLLMClient } from './llm-client.js';
9
9
  export { TaskExecutor, createTaskExecutor } from './task-executor.js';
10
10
  export { JClawAgent, createAgent } from './agent.js';
11
- //# sourceMappingURL=index.js.map
@@ -122,4 +122,3 @@ export class LLMClient {
122
122
  export function createLLMClient(config) {
123
123
  return new LLMClient(config);
124
124
  }
125
- //# sourceMappingURL=llm-client.js.map
@@ -200,4 +200,3 @@ export class TaskExecutor {
200
200
  export function createTaskExecutor(config) {
201
201
  return new TaskExecutor(config);
202
202
  }
203
- //# sourceMappingURL=task-executor.js.map
@@ -255,4 +255,3 @@ export function getCacheStats() {
255
255
  }
256
256
  return { size: validKeys.length, keys: validKeys };
257
257
  }
258
- //# sourceMappingURL=adapter.js.map
@@ -172,4 +172,3 @@ If no clear capabilities found, return empty array.`;
172
172
  export function createSkillConverter(llmClient) {
173
173
  return new SkillConverter(llmClient);
174
174
  }
175
- //# sourceMappingURL=converter.js.map
@@ -15,7 +15,7 @@ export declare class SkillDiscoveryEngine {
15
15
  private skillShAdapter;
16
16
  private skillConverter;
17
17
  private autoSkillGenerator?;
18
- constructor(llmClient: LLMClient, registry: ExtensionRegistry, skillShAdapter: SkillShAdapter, skillConverter: SkillConverter, autoSkillGenerator?: AutoSkillGenerator | undefined);
18
+ constructor(llmClient: LLMClient, registry: ExtensionRegistry, skillShAdapter: SkillShAdapter, skillConverter: SkillConverter, autoSkillGenerator?: AutoSkillGenerator);
19
19
  discover(query: string): Promise<SkillDiscoveryResult>;
20
20
  private searchSkillSh;
21
21
  private searchLocal;
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/skill-sh/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EAErB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,kBAAkB,CAAC;gBAJnB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,kBAAkB,CAAC,EAAE,kBAAkB,YAAA;IAG3C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;YA8B9C,aAAa;YAkBb,WAAW;IAuCzB,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,kBAAkB;IAgBpB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CAoB3D;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,oBAAoB,CAQtB"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/skill-sh/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EAErB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,kBAAkB,CAAC;gBAJnB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,kBAAkB,CAAC,EAAE,kBAAkB;IAG3C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;YA8B9C,aAAa;YAkBb,WAAW;IAuCzB,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,kBAAkB;IAgBpB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CAoB3D;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,oBAAoB,CAQtB"}
@@ -186,4 +186,3 @@ export class SkillDiscoveryEngine {
186
186
  export function createSkillDiscoveryEngine(llmClient, registry, skillShAdapter, skillConverter, autoSkillGenerator) {
187
187
  return new SkillDiscoveryEngine(llmClient, registry, skillShAdapter, skillConverter, autoSkillGenerator);
188
188
  }
189
- //# sourceMappingURL=discovery.js.map
@@ -17,4 +17,3 @@ export { createSkillConverter, } from './converter.js';
17
17
  export { createSkillDiscoveryEngine, } from './discovery.js';
18
18
  export { createQualityAssessor, } from './quality.js';
19
19
  export { createSkillRegistry, } from './registry.js';
20
- //# sourceMappingURL=index.js.map
@@ -143,4 +143,3 @@ export class QualityAssessor {
143
143
  export function createQualityAssessor() {
144
144
  return new QualityAssessor();
145
145
  }
146
- //# sourceMappingURL=quality.js.map
@@ -115,4 +115,3 @@ export class SkillRegistry {
115
115
  export function createSkillRegistry(storageDir) {
116
116
  return new SkillRegistry(storageDir);
117
117
  }
118
- //# sourceMappingURL=registry.js.map
@@ -6,4 +6,3 @@
6
6
  * @module @jclaw/core/skill-sh/types
7
7
  */
8
8
  export {};
9
- //# sourceMappingURL=types.js.map
package/dist/types.js CHANGED
@@ -7,4 +7,3 @@
7
7
  * @module @jclaw/core/types
8
8
  */
9
9
  export {};
10
- //# sourceMappingURL=types.js.map
package/package.json CHANGED
@@ -1,41 +1,22 @@
1
1
  {
2
2
  "name": "@jclaw/core",
3
- "version": "0.1.0",
4
- "description": "Universal self-evolving Agent framework with persistent memory and AutoSkill",
3
+ "version": "0.3.0",
4
+ "description": "Universal self-evolving Agent framework with CLI and flexible LLM provider support",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "jclaw": "./dist/cli/jclaw.js"
10
+ },
8
11
  "exports": {
9
12
  ".": {
10
13
  "types": "./dist/index.d.ts",
11
14
  "import": "./dist/index.js"
12
15
  }
13
16
  },
14
- "files": [
15
- "dist",
16
- "README.md"
17
- ],
18
- "scripts": {
19
- "build": "tsc"
20
- },
21
- "keywords": [
22
- "ai",
23
- "agent",
24
- "self-evolving",
25
- "typescript",
26
- "llm"
27
- ],
17
+ "files": ["dist", "README.md"],
18
+ "scripts": {"build": "tsc"},
19
+ "keywords": ["ai", "agent", "self-evolving", "cli", "llm"],
28
20
  "author": "JClaw Team",
29
- "license": "MIT",
30
- "repository": {
31
- "type": "git",
32
- "url": "git+https://github.com/jabing/jclaw.git"
33
- },
34
- "bugs": {
35
- "url": "https://github.com/jabing/jclaw/issues"
36
- },
37
- "homepage": "https://github.com/jabing/jclaw#readme",
38
- "engines": {
39
- "node": ">=18.0.0"
40
- }
21
+ "license": "MIT"
41
22
  }