@smilique/said 1.0.7 → 1.0.8
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/agent.d.ts +9 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +153 -38
- package/dist/agent.js.map +1 -1
- package/package.json +1 -1
package/dist/agent.d.ts
CHANGED
|
@@ -42,7 +42,10 @@ export declare class Agent extends Service {
|
|
|
42
42
|
private maxContextLength;
|
|
43
43
|
private maxToolIterations;
|
|
44
44
|
private skillRegistry;
|
|
45
|
+
private skillAliases;
|
|
45
46
|
constructor(config: AgentConfig, eventEmitter?: EventEmitter);
|
|
47
|
+
private getEnvironmentInfo;
|
|
48
|
+
private buildSystemPrompt;
|
|
46
49
|
setProvider(provider: LLMProvider | null): void;
|
|
47
50
|
getSkillRegistry(): SkillRegistry;
|
|
48
51
|
registerSkill(skill: Skill): void;
|
|
@@ -52,9 +55,14 @@ export declare class Agent extends Service {
|
|
|
52
55
|
start(): Promise<void>;
|
|
53
56
|
stop(): Promise<void>;
|
|
54
57
|
getLastTokenUsage(): TokenUsage;
|
|
58
|
+
/**
|
|
59
|
+
* Resolve skill name (handle aliases)
|
|
60
|
+
*/
|
|
61
|
+
private resolveSkillName;
|
|
55
62
|
/**
|
|
56
63
|
* Execute a skill from an LLM response string
|
|
57
|
-
* Returns {skillResult, remainingResponse} if skill found
|
|
64
|
+
* Returns {skillResult, remainingResponse, skillNotFound} if skill found
|
|
65
|
+
* Returns null if no skill pattern found in response
|
|
58
66
|
*/
|
|
59
67
|
private executeSkillFromResponse;
|
|
60
68
|
/**
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.js
CHANGED
|
@@ -1,49 +1,33 @@
|
|
|
1
1
|
import { Service } from './service.js';
|
|
2
2
|
import { loadConfig } from './config.js';
|
|
3
|
+
import { cpus, userInfo, platform, hostname, homedir } from 'os';
|
|
3
4
|
import { globalSkillRegistry } from './skills/registry.js';
|
|
4
5
|
export class Agent extends Service {
|
|
5
6
|
provider = null;
|
|
6
|
-
systemPrompt =
|
|
7
|
-
|
|
8
|
-
1. **Using Skills** - You have access to skills that can interact with the filesystem, browse the web, make API calls, and execute custom tools. When a user asks for something that requires these capabilities, use the appropriate skill.
|
|
9
|
-
|
|
10
|
-
2. **Skills Available**:
|
|
11
|
-
- file-edit: Read, write, delete, list files on the filesystem
|
|
12
|
-
- web-surf: Fetch and parse web pages and URLs
|
|
13
|
-
- api-call: Make HTTP API requests
|
|
14
|
-
- tool-call: Execute custom tools and commands
|
|
15
|
-
|
|
16
|
-
3. **Job Scheduling** - You can schedule background jobs that run on cron schedules (like daily reminders, periodic checks, etc.)
|
|
17
|
-
|
|
18
|
-
4. **Subagents** - You can spawn and manage subagents to handle parallel tasks.
|
|
19
|
-
|
|
20
|
-
**IMPORTANT - How to use skills:**
|
|
21
|
-
When you need to use a skill, respond with ONLY the skill invocation in this exact format. Do NOT include any other text in your response:
|
|
22
|
-
[[skillName '{"param": "value"}']]
|
|
23
|
-
|
|
24
|
-
For file-edit skill, use these operations:
|
|
25
|
-
- [[file-edit '{"operation": "read", "path": "/path/to/file"}']]
|
|
26
|
-
- [[file-edit '{"operation": "write", "path": "/path/to/file", "content": "text"}']]
|
|
27
|
-
- [[file-edit '{"operation": "list", "path": "/path/to/dir"}']]
|
|
28
|
-
- [[file-edit '{"operation": "delete", "path": "/path/to/file"}']]
|
|
29
|
-
- [[file-edit '{"operation": "mkdir", "path": "/path/to/dir"}']]
|
|
30
|
-
- [[file-edit '{"operation": "stat", "path": "/path/to/file"}']]
|
|
31
|
-
|
|
32
|
-
For web-surf:
|
|
33
|
-
- [[web-surf '{"operation": "fetch", "url": "https://example.com"}']]
|
|
34
|
-
|
|
35
|
-
The system will execute the skill and return the result. Then you can respond to the user with the actual answer based on the tool result.
|
|
36
|
-
|
|
37
|
-
For normal responses (without skills), just respond as a helpful assistant. Be concise and accurate.`;
|
|
7
|
+
systemPrompt = '';
|
|
38
8
|
contexts = new Map();
|
|
39
9
|
maxContextLength = 10;
|
|
40
10
|
maxToolIterations = 5;
|
|
41
11
|
skillRegistry;
|
|
12
|
+
skillAliases = new Map([
|
|
13
|
+
// Map common short names to actual skill names
|
|
14
|
+
['file', 'file-edit'],
|
|
15
|
+
['files', 'file-edit'],
|
|
16
|
+
['filesystem', 'file-edit'],
|
|
17
|
+
['edit', 'file-edit'],
|
|
18
|
+
['tool', 'tool-call'],
|
|
19
|
+
['tools', 'tool-call'],
|
|
20
|
+
['shell', 'tool-call'],
|
|
21
|
+
['cmd', 'tool-call'],
|
|
22
|
+
['command', 'tool-call'],
|
|
23
|
+
['web', 'web-surf'],
|
|
24
|
+
['browse', 'web-surf'],
|
|
25
|
+
['fetch', 'web-surf'],
|
|
26
|
+
['http', 'api-call'],
|
|
27
|
+
['request', 'api-call'],
|
|
28
|
+
]);
|
|
42
29
|
constructor(config, eventEmitter) {
|
|
43
30
|
super(config, eventEmitter);
|
|
44
|
-
if (config.systemPrompt) {
|
|
45
|
-
this.systemPrompt = config.systemPrompt;
|
|
46
|
-
}
|
|
47
31
|
if (config.maxContextLength) {
|
|
48
32
|
this.maxContextLength = config.maxContextLength;
|
|
49
33
|
}
|
|
@@ -51,6 +35,86 @@ For normal responses (without skills), just respond as a helpful assistant. Be c
|
|
|
51
35
|
this.maxToolIterations = config.maxToolIterations;
|
|
52
36
|
}
|
|
53
37
|
this.skillRegistry = globalSkillRegistry;
|
|
38
|
+
// Build system prompt with environment context
|
|
39
|
+
const osInfo = this.getEnvironmentInfo();
|
|
40
|
+
const availableSkills = this.listSkills();
|
|
41
|
+
if (config.systemPrompt) {
|
|
42
|
+
this.systemPrompt = config.systemPrompt;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this.systemPrompt = this.buildSystemPrompt(osInfo, availableSkills);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
getEnvironmentInfo() {
|
|
49
|
+
const osPlatform = platform();
|
|
50
|
+
const host = hostname();
|
|
51
|
+
const user = userInfo();
|
|
52
|
+
const home = homedir();
|
|
53
|
+
const cpuCount = cpus().length;
|
|
54
|
+
let osName = osPlatform;
|
|
55
|
+
if (osPlatform === 'linux')
|
|
56
|
+
osName = 'Linux';
|
|
57
|
+
else if (osPlatform === 'win32')
|
|
58
|
+
osName = 'Windows';
|
|
59
|
+
else if (osPlatform === 'darwin')
|
|
60
|
+
osName = 'macOS';
|
|
61
|
+
return `
|
|
62
|
+
**Environment:**
|
|
63
|
+
- OS: ${osName} (${osPlatform})
|
|
64
|
+
- Hostname: ${host}
|
|
65
|
+
- User: ${user.username}
|
|
66
|
+
- Home Directory: ${home}
|
|
67
|
+
- CPU Cores: ${cpuCount}
|
|
68
|
+
- Current Working Directory: ${process.cwd()}`;
|
|
69
|
+
}
|
|
70
|
+
buildSystemPrompt(osInfo, skills) {
|
|
71
|
+
const skillList = skills.map(s => ` - ${s.name}: ${s.description}`).join('\n');
|
|
72
|
+
const skillExamples = skills.map(s => {
|
|
73
|
+
if (s.name === 'file-edit') {
|
|
74
|
+
return `For ${s.name}:
|
|
75
|
+
- [[${s.name} '{"operation": "read", "path": "/path/to/file"}']]
|
|
76
|
+
- [[${s.name} '{"operation": "write", "path": "/path/to/file", "content": "text"}']]
|
|
77
|
+
- [[${s.name} '{"operation": "list", "path": "/path/to/dir"}']]
|
|
78
|
+
- [[${s.name} '{"operation": "delete", "path": "/path/to/file"}']]
|
|
79
|
+
- [[${s.name} '{"operation": "mkdir", "path": "/path/to/dir"}']]
|
|
80
|
+
- [[${s.name} '{"operation": "stat", "path": "/path/to/file"}']]`;
|
|
81
|
+
}
|
|
82
|
+
if (s.name === 'web-surf') {
|
|
83
|
+
return `For ${s.name}:
|
|
84
|
+
- [[${s.name} '{"operation": "fetch", "url": "https://example.com"}']]`;
|
|
85
|
+
}
|
|
86
|
+
if (s.name === 'api-call') {
|
|
87
|
+
return `For ${s.name}:
|
|
88
|
+
- [[${s.name} '{"method": "GET", "url": "https://api.example.com/data"}']]
|
|
89
|
+
- [[${s.name} '{"method": "POST", "url": "https://api.example.com/data", "body": {"key": "value"}}']]`;
|
|
90
|
+
}
|
|
91
|
+
if (s.name === 'tool-call') {
|
|
92
|
+
return `For ${s.name}:
|
|
93
|
+
- [[${s.name} '{"command": "ls", "args": ["-la"]}']]
|
|
94
|
+
- [[${s.name} '{"command": "top", "args": ["-bn1"]}']]
|
|
95
|
+
- [[${s.name} '{"command": "node", "args": ["script.js"]}']]`;
|
|
96
|
+
}
|
|
97
|
+
return `For ${s.name}:
|
|
98
|
+
- [[${s.name} '{"param": "value"}']]`;
|
|
99
|
+
}).join('\n');
|
|
100
|
+
return `You are an autonomous AI agent running in a user's environment.${osInfo}
|
|
101
|
+
|
|
102
|
+
**Available Skills (USE THESE EXACT NAMES):**
|
|
103
|
+
${skillList}
|
|
104
|
+
|
|
105
|
+
**Job Scheduling** - You can schedule background jobs that run on cron schedules (like daily reminders, periodic checks, etc.)
|
|
106
|
+
|
|
107
|
+
**Subagents** - You can spawn and manage subagents to handle parallel tasks.
|
|
108
|
+
|
|
109
|
+
**IMPORTANT - How to use skills:**
|
|
110
|
+
When you need to use a skill, respond with ONLY the skill invocation in this exact format. Do NOT include any other text in your response:
|
|
111
|
+
[[skillName '{"param": "value"}']]
|
|
112
|
+
|
|
113
|
+
${skillExamples}
|
|
114
|
+
|
|
115
|
+
The system will execute the skill and return the result. Then you can respond to the user with the actual answer based on the tool result.
|
|
116
|
+
|
|
117
|
+
For normal responses (without skills), just respond as a helpful assistant. Be concise and accurate.`;
|
|
54
118
|
}
|
|
55
119
|
setProvider(provider) {
|
|
56
120
|
this.provider = provider;
|
|
@@ -84,9 +148,32 @@ For normal responses (without skills), just respond as a helpful assistant. Be c
|
|
|
84
148
|
}
|
|
85
149
|
return { promptTokens: 0, completionTokens: 0, totalTokens: 0 };
|
|
86
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Resolve skill name (handle aliases)
|
|
153
|
+
*/
|
|
154
|
+
resolveSkillName(name) {
|
|
155
|
+
// Check exact match first
|
|
156
|
+
if (this.skillRegistry.has(name)) {
|
|
157
|
+
return name;
|
|
158
|
+
}
|
|
159
|
+
// Check alias
|
|
160
|
+
if (this.skillAliases.has(name)) {
|
|
161
|
+
const resolved = this.skillAliases.get(name);
|
|
162
|
+
console.log(`[Agent] Resolved skill alias: ${name} -> ${resolved}`);
|
|
163
|
+
return resolved;
|
|
164
|
+
}
|
|
165
|
+
// Check if alias resolves to valid skill
|
|
166
|
+
for (const [alias, target] of this.skillAliases) {
|
|
167
|
+
if (target === name && this.skillRegistry.has(target)) {
|
|
168
|
+
return target;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return name;
|
|
172
|
+
}
|
|
87
173
|
/**
|
|
88
174
|
* Execute a skill from an LLM response string
|
|
89
|
-
* Returns {skillResult, remainingResponse} if skill found
|
|
175
|
+
* Returns {skillResult, remainingResponse, skillNotFound} if skill found
|
|
176
|
+
* Returns null if no skill pattern found in response
|
|
90
177
|
*/
|
|
91
178
|
async executeSkillFromResponse(response, chatId) {
|
|
92
179
|
// Match [[skillName:action '{"param": "value"}']] pattern
|
|
@@ -95,10 +182,24 @@ For normal responses (without skills), just respond as a helpful assistant. Be c
|
|
|
95
182
|
if (!match) {
|
|
96
183
|
return null;
|
|
97
184
|
}
|
|
98
|
-
|
|
185
|
+
let skillName = match[1];
|
|
99
186
|
const action = match[2] || 'execute';
|
|
100
187
|
const paramsStr = match[3];
|
|
188
|
+
// Resolve skill name (handle aliases like "file" -> "file-edit")
|
|
189
|
+
skillName = this.resolveSkillName(skillName);
|
|
101
190
|
console.log(`[Agent] Executing skill: ${skillName}:${action}`);
|
|
191
|
+
// Check if skill exists
|
|
192
|
+
if (!this.skillRegistry.has(skillName)) {
|
|
193
|
+
const availableSkills = this.listSkills().map(s => s.name).join(', ');
|
|
194
|
+
console.log(`[Agent] Skill not found: ${skillName}. Available: ${availableSkills}`);
|
|
195
|
+
// Remove the skill invocation from response
|
|
196
|
+
const remainingResponse = response.replace(match[0], '').trim();
|
|
197
|
+
return {
|
|
198
|
+
skillResult: `Error: Skill "${skillName}" not found. Available skills: ${availableSkills}`,
|
|
199
|
+
remainingResponse,
|
|
200
|
+
skillNotFound: true, // Flag to stop the loop
|
|
201
|
+
};
|
|
202
|
+
}
|
|
102
203
|
// Parse params
|
|
103
204
|
let params = {};
|
|
104
205
|
if (paramsStr) {
|
|
@@ -120,11 +221,14 @@ For normal responses (without skills), just respond as a helpful assistant. Be c
|
|
|
120
221
|
const result = await this.skillRegistry.execute(skillName, params, skillContext);
|
|
121
222
|
// Remove the skill invocation from response
|
|
122
223
|
const remainingResponse = response.replace(match[0], '').trim();
|
|
224
|
+
// If skill execution failed, flag to stop retrying
|
|
225
|
+
const skillNotFound = !result.success;
|
|
123
226
|
return {
|
|
124
227
|
skillResult: result.success
|
|
125
228
|
? JSON.stringify(result.data, null, 2)
|
|
126
229
|
: `Error: ${result.error}`,
|
|
127
230
|
remainingResponse,
|
|
231
|
+
skillNotFound,
|
|
128
232
|
};
|
|
129
233
|
}
|
|
130
234
|
/**
|
|
@@ -147,9 +251,16 @@ For normal responses (without skills), just respond as a helpful assistant. Be c
|
|
|
147
251
|
// Check if message contains a direct skill invocation (from user)
|
|
148
252
|
const skillMatch = userMessage.match(/\[\[(\w+)(?::(\w+))?\s*(.*?)\]\]/);
|
|
149
253
|
if (skillMatch) {
|
|
150
|
-
|
|
254
|
+
let skillName = skillMatch[1];
|
|
151
255
|
const action = skillMatch[2] || 'execute';
|
|
152
256
|
const paramsStr = skillMatch[3];
|
|
257
|
+
// Resolve skill name (handle aliases)
|
|
258
|
+
skillName = this.resolveSkillName(skillName);
|
|
259
|
+
// Check if skill exists
|
|
260
|
+
const availableSkills = this.listSkills().map(s => s.name).join(', ');
|
|
261
|
+
if (!this.skillRegistry.has(skillName)) {
|
|
262
|
+
return `Error: Skill "${skillName}" not found. Available skills: ${availableSkills}`;
|
|
263
|
+
}
|
|
153
264
|
let params = {};
|
|
154
265
|
if (paramsStr) {
|
|
155
266
|
try {
|
|
@@ -208,6 +319,10 @@ For normal responses (without skills), just respond as a helpful assistant. Be c
|
|
|
208
319
|
role: 'system',
|
|
209
320
|
content: `Tool execution result: ${skillExec.skillResult}`,
|
|
210
321
|
});
|
|
322
|
+
// If skill was not found or failed, stop the loop and return error
|
|
323
|
+
if (skillExec.skillNotFound) {
|
|
324
|
+
return skillExec.skillResult;
|
|
325
|
+
}
|
|
211
326
|
// Continue to next iteration to let LLM process the result
|
|
212
327
|
continue;
|
|
213
328
|
}
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|