@jclaw/core 0.5.1 β 0.6.1
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/dist/cli/jclaw.js +13 -1
- package/dist/extensions/built-in/file-operations.d.ts +7 -0
- package/dist/extensions/built-in/file-operations.d.ts.map +1 -0
- package/dist/extensions/built-in/file-operations.js +222 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/runtime/agent.d.ts.map +1 -1
- package/dist/runtime/agent.js +12 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -2
package/dist/cli/jclaw.js
CHANGED
|
@@ -3,6 +3,16 @@ import { JClawAgent } from '../runtime/agent.js';
|
|
|
3
3
|
import { createSimpleMemoryClient } from '../context/simple-memory-client.js';
|
|
4
4
|
import { readFile, writeFile } from 'fs/promises';
|
|
5
5
|
import { existsSync } from 'fs';
|
|
6
|
+
import { fileURLToPath } from 'url';
|
|
7
|
+
import { dirname, join } from 'path';
|
|
8
|
+
|
|
9
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
10
|
+
const __dirname = dirname(__filename);
|
|
11
|
+
|
|
12
|
+
// Read version from package.json
|
|
13
|
+
const packageJsonPath = join(__dirname, '../../package.json');
|
|
14
|
+
const packageJson = JSON.parse(await readFile(packageJsonPath, 'utf-8'));
|
|
15
|
+
const VERSION = packageJson.version;
|
|
6
16
|
|
|
7
17
|
const args = process.argv.slice(2);
|
|
8
18
|
const command = args[0];
|
|
@@ -90,6 +100,8 @@ async function execute(prompt) {
|
|
|
90
100
|
console.log(`π API: ${llmConfig.apiBase}\n`);
|
|
91
101
|
|
|
92
102
|
const agent = new JClawAgent({
|
|
103
|
+
name: 'jclaw-cli',
|
|
104
|
+
version: VERSION,
|
|
93
105
|
enableAutoSkill: true,
|
|
94
106
|
skillShConfig: { enableCache: true },
|
|
95
107
|
llm: llmConfig,
|
|
@@ -116,7 +128,7 @@ async function chat() {
|
|
|
116
128
|
console.log('𧬠JClaw δΊ€δΊζ¨‘εΌ (θΎε
₯ "exit" ιεΊ)\n');
|
|
117
129
|
console.log(`π‘ 樑εοΌ${llmConfig.model}\n`);
|
|
118
130
|
|
|
119
|
-
const agent = new JClawAgent({ enableAutoSkill: true, llm: llmConfig });
|
|
131
|
+
const agent = new JClawAgent({ name: 'jclaw-chat', version: VERSION, enableAutoSkill: true, llm: llmConfig });
|
|
120
132
|
await agent.start();
|
|
121
133
|
|
|
122
134
|
const readline = await import('readline');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-operations.d.ts","sourceRoot":"","sources":["../../../src/extensions/built-in/file-operations.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,gBAAgB,CAAC;AAmM5D;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,SA2DrC,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { readFile, writeFile, mkdir, rmdir, readdir, unlink, } from 'fs/promises';
|
|
2
|
+
import { resolve } from 'path';
|
|
3
|
+
import { glob } from 'glob';
|
|
4
|
+
/**
|
|
5
|
+
* Create a new file
|
|
6
|
+
*/
|
|
7
|
+
async function fileCreate(path, content = '') {
|
|
8
|
+
try {
|
|
9
|
+
const resolvedPath = resolve(path);
|
|
10
|
+
await writeFile(resolvedPath, content, 'utf-8');
|
|
11
|
+
return { success: true, data: { path: resolvedPath } };
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
return {
|
|
15
|
+
success: false,
|
|
16
|
+
error: error instanceof Error ? error.message : 'Unknown error creating file',
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Read file contents
|
|
22
|
+
*/
|
|
23
|
+
async function fileRead(path) {
|
|
24
|
+
try {
|
|
25
|
+
const resolvedPath = resolve(path);
|
|
26
|
+
const content = await readFile(resolvedPath, 'utf-8');
|
|
27
|
+
return { success: true, data: { path: resolvedPath, content } };
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
return {
|
|
31
|
+
success: false,
|
|
32
|
+
error: error instanceof Error ? error.message : 'Unknown error reading file',
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Write/overwrite file contents
|
|
38
|
+
*/
|
|
39
|
+
async function fileWrite(path, content) {
|
|
40
|
+
try {
|
|
41
|
+
const resolvedPath = resolve(path);
|
|
42
|
+
await writeFile(resolvedPath, content, 'utf-8');
|
|
43
|
+
return { success: true, data: { path: resolvedPath } };
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
return {
|
|
47
|
+
success: false,
|
|
48
|
+
error: error instanceof Error ? error.message : 'Unknown error writing file',
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Delete a file
|
|
54
|
+
*/
|
|
55
|
+
async function fileDelete(path) {
|
|
56
|
+
try {
|
|
57
|
+
const resolvedPath = resolve(path);
|
|
58
|
+
await unlink(resolvedPath);
|
|
59
|
+
return { success: true, data: { path: resolvedPath } };
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
return {
|
|
63
|
+
success: false,
|
|
64
|
+
error: error instanceof Error ? error.message : 'Unknown error deleting file',
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Create a directory (recursive)
|
|
70
|
+
*/
|
|
71
|
+
async function dirCreate(path) {
|
|
72
|
+
try {
|
|
73
|
+
const resolvedPath = resolve(path);
|
|
74
|
+
await mkdir(resolvedPath, { recursive: true });
|
|
75
|
+
return { success: true, data: { path: resolvedPath } };
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
return {
|
|
79
|
+
success: false,
|
|
80
|
+
error: error instanceof Error
|
|
81
|
+
? error.message
|
|
82
|
+
: 'Unknown error creating directory',
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Delete a directory
|
|
88
|
+
*/
|
|
89
|
+
async function dirDelete(path) {
|
|
90
|
+
try {
|
|
91
|
+
const resolvedPath = resolve(path);
|
|
92
|
+
await rmdir(resolvedPath);
|
|
93
|
+
return { success: true, data: { path: resolvedPath } };
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
return {
|
|
97
|
+
success: false,
|
|
98
|
+
error: error instanceof Error
|
|
99
|
+
? error.message
|
|
100
|
+
: 'Unknown error deleting directory',
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* List directory contents
|
|
106
|
+
*/
|
|
107
|
+
async function dirList(path) {
|
|
108
|
+
try {
|
|
109
|
+
const resolvedPath = resolve(path);
|
|
110
|
+
const entries = await readdir(resolvedPath, { withFileTypes: true });
|
|
111
|
+
const items = entries.map((entry) => ({
|
|
112
|
+
name: entry.name,
|
|
113
|
+
type: entry.isDirectory() ? 'directory' : 'file',
|
|
114
|
+
isFile: entry.isFile(),
|
|
115
|
+
isDirectory: entry.isDirectory(),
|
|
116
|
+
}));
|
|
117
|
+
return { success: true, data: { path: resolvedPath, items } };
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
return {
|
|
121
|
+
success: false,
|
|
122
|
+
error: error instanceof Error
|
|
123
|
+
? error.message
|
|
124
|
+
: 'Unknown error listing directory',
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Search files using glob pattern
|
|
130
|
+
*/
|
|
131
|
+
async function fileGlob(pattern, cwd) {
|
|
132
|
+
try {
|
|
133
|
+
const searchPath = cwd ? resolve(cwd) : process.cwd();
|
|
134
|
+
const files = await glob(pattern, { cwd: searchPath, absolute: true });
|
|
135
|
+
return { success: true, data: { pattern, cwd: searchPath, files } };
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
return {
|
|
139
|
+
success: false,
|
|
140
|
+
error: error instanceof Error ? error.message : 'Unknown error in glob search',
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Find files by name (recursive search)
|
|
146
|
+
*/
|
|
147
|
+
async function fileFind(name, cwd) {
|
|
148
|
+
try {
|
|
149
|
+
const searchPath = cwd ? resolve(cwd) : process.cwd();
|
|
150
|
+
const pattern = `**/${name}`;
|
|
151
|
+
const files = await glob(pattern, { cwd: searchPath, absolute: true });
|
|
152
|
+
return { success: true, data: { name, cwd: searchPath, files } };
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
return {
|
|
156
|
+
success: false,
|
|
157
|
+
error: error instanceof Error ? error.message : 'Unknown error finding file',
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* File Operations Extension Definition
|
|
163
|
+
*/
|
|
164
|
+
export const fileOperationsExtension = {
|
|
165
|
+
name: '@jclaw/builtin-file-operations',
|
|
166
|
+
version: '1.0.0',
|
|
167
|
+
description: 'Built-in file system operations for JClaw Agent',
|
|
168
|
+
capabilities: [
|
|
169
|
+
{
|
|
170
|
+
name: 'file_create',
|
|
171
|
+
description: 'Create a new file with optional initial content',
|
|
172
|
+
handler: fileCreate,
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
name: 'file_read',
|
|
176
|
+
description: 'Read the contents of a file',
|
|
177
|
+
handler: fileRead,
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
name: 'file_write',
|
|
181
|
+
description: 'Write or overwrite file contents',
|
|
182
|
+
handler: fileWrite,
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
name: 'file_delete',
|
|
186
|
+
description: 'Delete a file',
|
|
187
|
+
handler: fileDelete,
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
name: 'dir_create',
|
|
191
|
+
description: 'Create a directory (supports recursive creation)',
|
|
192
|
+
handler: dirCreate,
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
name: 'dir_delete',
|
|
196
|
+
description: 'Delete an empty directory',
|
|
197
|
+
handler: dirDelete,
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
name: 'dir_list',
|
|
201
|
+
description: 'List contents of a directory',
|
|
202
|
+
handler: dirList,
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
name: 'file_glob',
|
|
206
|
+
description: 'Search files using glob patterns (e.g., "*.ts")',
|
|
207
|
+
handler: fileGlob,
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
name: 'file_find',
|
|
211
|
+
description: 'Find files by name recursively',
|
|
212
|
+
handler: fileFind,
|
|
213
|
+
},
|
|
214
|
+
],
|
|
215
|
+
async install() {
|
|
216
|
+
console.log('π File operations extension installed');
|
|
217
|
+
},
|
|
218
|
+
async uninstall() {
|
|
219
|
+
console.log('π File operations extension uninstalled');
|
|
220
|
+
},
|
|
221
|
+
};
|
|
222
|
+
export default fileOperationsExtension;
|
package/dist/index.d.ts
CHANGED
|
@@ -11,4 +11,5 @@ export { LLMClient, createLLMClient, type LLMClientConfig, type ChatMessage, typ
|
|
|
11
11
|
export { MutationGenerator, createMutationGenerator, type MutationGeneratorConfig, SandboxValidator, createSandbox, type SandboxConfig, EvolutionEngine, createEvolutionEngine, type EvolutionStrategy, type Mutation, type ValidationResult, type EvolutionConfig, type Gene, type EvolutionResult, EvolverAdapter, createEvolverAdapter, type EvolverAdapterConfig, type EvolverResult, } from './evolution/index.js';
|
|
12
12
|
export { AutoSkillGenerator, createAutoSkillGenerator, AutoSkillInstaller, createAutoSkillInstaller, type AutoSkillConfig, type CapabilityGap, type DiscoveryResult, type GeneratedExtension, type GenerationResult, type GenerationStep, type InstallationResult, type SkillUsageStats, type AutoSkillMetadata, type SkillVersion, } from './auto-skill/index.js';
|
|
13
13
|
export { A2AProtocol, GEPProtocol, type A2AMessage, type A2AMessageType, type GEPPacket, type NodeInfo, type GeneSharePayload, type GeneRequestPayload, type TaskDelegatePayload, EvoMapClient, createEvoMapClient, type EvoMapConfig, type GeneResponse, } from './network/index.js';
|
|
14
|
+
export { fileOperationsExtension } from './extensions/built-in/file-operations.js';
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,IAAI,EACJ,UAAU,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,cAAc,EACd,UAAU,EACV,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,UAAU,GACX,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAG3E,OAAO,EACL,SAAS,EACT,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,YAAY,EACZ,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,UAAU,EACV,WAAW,EACX,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,gBAAgB,EAChB,aAAa,EACb,KAAK,aAAa,EAClB,eAAe,EACf,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,IAAI,EACT,KAAK,eAAe,EACpB,cAAc,EACd,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,WAAW,EACX,WAAW,EACX,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,YAAY,EACZ,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,IAAI,EACJ,UAAU,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,cAAc,EACd,UAAU,EACV,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,UAAU,GACX,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAG3E,OAAO,EACL,SAAS,EACT,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,YAAY,EACZ,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,UAAU,EACV,WAAW,EACX,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,gBAAgB,EAChB,aAAa,EACb,KAAK,aAAa,EAClB,eAAe,EACf,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,IAAI,EACT,KAAK,eAAe,EACpB,cAAc,EACd,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,WAAW,EACX,WAAW,EACX,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,YAAY,EACZ,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -17,3 +17,4 @@ 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
|
+
export { fileOperationsExtension } from './extensions/built-in/file-operations.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/runtime/agent.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;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAOpE,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/runtime/agent.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;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAOpE,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGpF,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,aAAa,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9C,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,qBAAa,UAAW,YAAW,YAAY;IAC7C,QAAQ,CAAC,aAAa,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAM;IAC7B,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,cAAc,CAAC,CAAuB;IAC9C,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAoB;gBAElC,MAAM,GAAE,WAAgB;IAapC,IAAI,OAAO,IAAI,cAAc,CAG5B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;YAQhC,oBAAoB;IA6ClC,SAAS,IAAI,OAAO;IACpB,IAAI,IAAI,IAAI,MAAM,CAA6B;IAC/C,IAAI,OAAO,IAAI,MAAM,CAAgC;CACtD;AAED,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,CAE5D"}
|
package/dist/runtime/agent.js
CHANGED
|
@@ -7,6 +7,7 @@ import { createAutoSkillInstaller } from '../auto-skill/installer.js';
|
|
|
7
7
|
import { createSkillDiscoveryEngine } from '../skill-sh/discovery.js';
|
|
8
8
|
import { createSkillShAdapter } from '../skill-sh/adapter.js';
|
|
9
9
|
import { createSkillConverter } from '../skill-sh/converter.js';
|
|
10
|
+
import { fileOperationsExtension } from '../extensions/built-in/file-operations.js';
|
|
10
11
|
export class JClawAgent {
|
|
11
12
|
executionMode;
|
|
12
13
|
config;
|
|
@@ -59,6 +60,17 @@ export class JClawAgent {
|
|
|
59
60
|
this.skillDiscovery = createSkillDiscoveryEngine(this.llmClient, this.extensionRegistry, skillShAdapter, skillConverter, this.autoSkillGenerator);
|
|
60
61
|
console.log('β
AutoSkill components initialized\n');
|
|
61
62
|
}
|
|
63
|
+
// Register built-in file operations extension
|
|
64
|
+
if (!this.extensionRegistry) {
|
|
65
|
+
this.extensionRegistry = new ExtensionRegistry();
|
|
66
|
+
}
|
|
67
|
+
try {
|
|
68
|
+
this.extensionRegistry.register(fileOperationsExtension);
|
|
69
|
+
console.log("π Built-in file operations registered\n");
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.warn("β οΈ Failed to register file operations:", error);
|
|
73
|
+
}
|
|
62
74
|
this.running = true;
|
|
63
75
|
console.log('β
Agent started\n');
|
|
64
76
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -142,6 +142,8 @@ export interface Capability {
|
|
|
142
142
|
description: string;
|
|
143
143
|
/** JSON Schema for input validation (optional) */
|
|
144
144
|
inputSchema?: Record<string, unknown>;
|
|
145
|
+
/** Handler function for this capability */
|
|
146
|
+
handler?: (input: unknown) => Promise<unknown>;
|
|
145
147
|
}
|
|
146
148
|
/**
|
|
147
149
|
* ζ©ε±ζ₯ε£
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACnB,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,uCAAuC;IACvC,aAAa,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,gDAAgD;IAChD,YAAY,CAAC,EAAE;QACb,+BAA+B;QAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,gCAAgC;QAChC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;IACF,mDAAmD;IACnD,SAAS,CAAC,EAAE;QACV,wBAAwB;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,kCAAkC;QAClC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,8BAA8B;QAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3E,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC9C;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtE;;;;OAIG;IACH,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpD;AAED;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jclaw/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Universal self-evolving Agent with improved AutoSkill retry logic",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -11,5 +11,8 @@
|
|
|
11
11
|
"scripts": {"build": "tsc"},
|
|
12
12
|
"keywords": ["ai", "agent", "cli", "self-evolving"],
|
|
13
13
|
"author": "JClaw Team",
|
|
14
|
-
"license": "MIT"
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"glob": "^10.3.10"
|
|
17
|
+
}
|
|
15
18
|
}
|