@iambarryking/ag 3.0.0 → 3.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 (52) hide show
  1. package/README.md +99 -30
  2. package/dist/cli/parser.d.ts.map +1 -1
  3. package/dist/cli/parser.js +11 -21
  4. package/dist/cli/parser.js.map +1 -1
  5. package/dist/cli/repl.d.ts.map +1 -1
  6. package/dist/cli/repl.js +221 -133
  7. package/dist/cli/repl.js.map +1 -1
  8. package/dist/core/agent.d.ts +9 -1
  9. package/dist/core/agent.d.ts.map +1 -1
  10. package/dist/core/agent.js +58 -15
  11. package/dist/core/agent.js.map +1 -1
  12. package/dist/core/config.d.ts +1 -0
  13. package/dist/core/config.d.ts.map +1 -1
  14. package/dist/core/config.js +2 -1
  15. package/dist/core/config.js.map +1 -1
  16. package/dist/core/registry.d.ts +11 -0
  17. package/dist/core/registry.d.ts.map +1 -0
  18. package/dist/core/registry.js +62 -0
  19. package/dist/core/registry.js.map +1 -0
  20. package/dist/core/skills.d.ts +14 -0
  21. package/dist/core/skills.d.ts.map +1 -0
  22. package/dist/core/skills.js +92 -0
  23. package/dist/core/skills.js.map +1 -0
  24. package/dist/core/version.d.ts +2 -0
  25. package/dist/core/version.d.ts.map +1 -0
  26. package/dist/core/version.js +7 -0
  27. package/dist/core/version.js.map +1 -0
  28. package/dist/memory/memory.d.ts.map +1 -1
  29. package/dist/memory/memory.js +9 -2
  30. package/dist/memory/memory.js.map +1 -1
  31. package/dist/tools/bash.js +1 -1
  32. package/dist/tools/bash.js.map +1 -1
  33. package/dist/tools/git.d.ts +3 -0
  34. package/dist/tools/git.d.ts.map +1 -0
  35. package/dist/tools/git.js +217 -0
  36. package/dist/tools/git.js.map +1 -0
  37. package/dist/tools/memory.d.ts.map +1 -1
  38. package/dist/tools/memory.js +17 -11
  39. package/dist/tools/memory.js.map +1 -1
  40. package/dist/tools/plan.d.ts +0 -1
  41. package/dist/tools/plan.d.ts.map +1 -1
  42. package/dist/tools/plan.js +28 -33
  43. package/dist/tools/plan.js.map +1 -1
  44. package/dist/tools/skill.d.ts +6 -0
  45. package/dist/tools/skill.d.ts.map +1 -0
  46. package/dist/tools/skill.js +20 -0
  47. package/dist/tools/skill.js.map +1 -0
  48. package/dist/tools/web.d.ts +3 -0
  49. package/dist/tools/web.d.ts.map +1 -0
  50. package/dist/tools/web.js +158 -0
  51. package/dist/tools/web.js.map +1 -0
  52. package/package.json +14 -5
package/dist/cli/repl.js CHANGED
@@ -1,6 +1,9 @@
1
1
  import { createInterface } from 'node:readline';
2
+ import { MAX_ITERATIONS_REACHED } from '../core/agent.js';
2
3
  import { loadConfig, saveConfig, configPath } from '../core/config.js';
4
+ import { searchRegistry, installSkill, removeSkill, formatInstalls } from '../core/registry.js';
3
5
  import { C } from '../core/colors.js';
6
+ import { VERSION } from '../core/version.js';
4
7
  function maskKey(key) {
5
8
  if (key.length <= 8)
6
9
  return '****';
@@ -15,10 +18,16 @@ export class REPL {
15
18
  }
16
19
  async start() {
17
20
  const stats = this.agent.getStats();
18
- console.error(`${C.bold}ag${C.reset} ${C.dim}(${this.agent.getModel()} via OpenRouter)${C.reset}`);
19
- if (stats.globalMemory || stats.projectMemory || stats.planCount > 0) {
20
- const loaded = [stats.globalMemory && 'global', stats.projectMemory && 'project', stats.planCount > 0 && `${stats.planCount} plan(s)`].filter(Boolean);
21
- console.error(`${C.dim}Memory loaded: ${loaded.join(', ')}${C.reset}`);
21
+ const skills = this.agent.getSkills();
22
+ console.error(`${C.bold}ag v${VERSION}${C.reset} ${C.dim}(${this.agent.getModel()} via OpenRouter)${C.reset}`);
23
+ const loaded = [
24
+ stats.globalMemory && 'global',
25
+ stats.projectMemory && 'project',
26
+ stats.planCount > 0 && `${stats.planCount} plan(s)`,
27
+ skills.length > 0 && `${skills.length} skill(s)`,
28
+ ].filter(Boolean);
29
+ if (loaded.length > 0) {
30
+ console.error(`${C.dim}Loaded: ${loaded.join(', ')}${C.reset}`);
22
31
  }
23
32
  if (stats.historyLines > 0) {
24
33
  console.error(`${C.dim}History: ${stats.historyLines} messages${C.reset}`);
@@ -34,14 +43,14 @@ export class REPL {
34
43
  continue;
35
44
  }
36
45
  let response = await this.agent.chat(input);
37
- while (response === '[Max iterations reached]') {
46
+ while (response === MAX_ITERATIONS_REACHED) {
38
47
  console.error(`${C.yellow}Reached iteration limit.${C.reset}`);
39
48
  const answer = await this.ask(`${C.yellow}Continue? (y/n)>${C.reset} `);
40
49
  if (answer.trim().toLowerCase() !== 'y')
41
50
  break;
42
51
  response = await this.agent.chat('continue where you left off');
43
52
  }
44
- if (response !== '[Max iterations reached]') {
53
+ if (response !== MAX_ITERATIONS_REACHED) {
45
54
  console.log(`\n${C.bold}agent>${C.reset} ${response}\n`);
46
55
  }
47
56
  }
@@ -51,97 +60,177 @@ export class REPL {
51
60
  }
52
61
  }
53
62
  async handleCommand(command) {
54
- const [cmd, ...args] = command.slice(1).split(' ');
63
+ const [cmd, ...args] = command.slice(1).trim().split(/\s+/);
55
64
  const sub = cmd.toLowerCase();
56
65
  switch (sub) {
57
66
  case 'help':
58
67
  console.error(`${C.bold}Commands:${C.reset}`);
59
- console.error(` ${C.cyan}/help${C.reset} Show this help`);
60
- console.error(` ${C.cyan}/model <name>${C.reset} Switch model (e.g. anthropic/claude-sonnet-4.6)`);
61
- console.error(` ${C.cyan}/models [query]${C.reset} List OpenRouter models (e.g. /models claude)`);
62
- console.error(` ${C.cyan}/tools${C.reset} List loaded tools`);
63
- console.error(` ${C.cyan}/config${C.reset} Show persistent config`);
64
- console.error(` ${C.cyan}/config set <k> <v>${C.reset} Set a config value`);
65
- console.error(` ${C.cyan}/stats${C.reset} Memory status`);
66
- console.error(` ${C.cyan}/memory${C.reset} Show global memory`);
67
- console.error(` ${C.cyan}/project${C.reset} Show project memory`);
68
- console.error(` ${C.cyan}/plan${C.reset} Show current (latest) plan`);
69
- console.error(` ${C.cyan}/plan use <name>${C.reset} Activate an older plan (copies as latest)`);
70
- console.error(` ${C.cyan}/plans${C.reset} List all plans`);
71
- console.error(` ${C.cyan}/clear project${C.reset} Clear project memory + plan + history`);
72
- console.error(` ${C.cyan}/clear all${C.reset} Clear everything including global`);
73
- console.error(` ${C.cyan}/paths${C.reset} Show memory file paths`);
74
- console.error(` ${C.cyan}/exit${C.reset} Exit`);
68
+ console.error(` ${C.cyan}/help${C.reset} Show this help`);
69
+ console.error(` ${C.cyan}/model${C.reset} Show current model`);
70
+ console.error(` ${C.cyan}/model <name>${C.reset} Switch model (persists)`);
71
+ console.error(` ${C.cyan}/model search [query]${C.reset} Browse OpenRouter models`);
72
+ console.error(` ${C.cyan}/memory${C.reset} Show all memory + stats`);
73
+ console.error(` ${C.cyan}/memory global${C.reset} Show global memory`);
74
+ console.error(` ${C.cyan}/memory project${C.reset} Show project memory`);
75
+ console.error(` ${C.cyan}/memory clear <scope>${C.reset} Clear memory (project or all)`);
76
+ console.error(` ${C.cyan}/plan${C.reset} Show current plan`);
77
+ console.error(` ${C.cyan}/plan list${C.reset} List all plans`);
78
+ console.error(` ${C.cyan}/plan use <name>${C.reset} Activate an older plan`);
79
+ console.error(` ${C.cyan}/config${C.reset} Show config + file paths`);
80
+ console.error(` ${C.cyan}/config set <k> <v>${C.reset} Set a config value`);
81
+ console.error(` ${C.cyan}/tools${C.reset} List loaded tools`);
82
+ console.error(` ${C.cyan}/skill${C.reset} List installed skills`);
83
+ console.error(` ${C.cyan}/skill search [query]${C.reset} Search skills.sh`);
84
+ console.error(` ${C.cyan}/skill add <source>${C.reset} Install skill from registry`);
85
+ console.error(` ${C.cyan}/skill remove <name>${C.reset} Uninstall a skill`);
86
+ console.error(` ${C.cyan}/exit${C.reset} Exit`);
75
87
  console.error('');
76
88
  break;
77
- case 'model':
78
- if (!args[0]) {
79
- console.error(`${C.dim}Current model: ${this.agent.getModel()}${C.reset}\n`);
89
+ // ── /model ────────────────────────────────────────────────────────
90
+ case 'model': {
91
+ const subCmd = args[0]?.toLowerCase();
92
+ if (subCmd === 'search') {
93
+ const query = args.slice(1).join(' ');
94
+ console.error(`${C.dim}Fetching models from OpenRouter...${C.reset}`);
95
+ try {
96
+ const models = await this.agent.fetchModels(query || undefined);
97
+ if (models.length === 0) {
98
+ console.error(`${C.dim}No models found${query ? ` matching "${query}"` : ''}.${C.reset}\n`);
99
+ break;
100
+ }
101
+ const current = this.agent.getModel();
102
+ const shown = models.slice(0, 30);
103
+ for (const m of shown) {
104
+ const marker = m.id === current ? C.green + '> ' : ' ';
105
+ const ctx = m.context_length ? `${C.dim}${Math.round(m.context_length / 1000)}k${C.reset}` : '';
106
+ const price = m.pricing?.prompt ? `${C.dim}$${(parseFloat(m.pricing.prompt) * 1_000_000).toFixed(2)}/M${C.reset}` : '';
107
+ console.error(`${marker}${C.cyan}${m.id}${C.reset} ${ctx} ${price}`);
108
+ }
109
+ if (models.length > 30)
110
+ console.error(`${C.dim} ...and ${models.length - 30} more. Filter with /model search <query>${C.reset}`);
111
+ console.error(`${C.dim} Use /model <id> to switch${C.reset}\n`);
112
+ }
113
+ catch (e) {
114
+ console.error(`${C.red}Error: ${e.message}${C.reset}\n`);
115
+ }
80
116
  }
81
- else {
117
+ else if (args[0]) {
82
118
  this.agent.setModel(args.join('/'));
83
- console.error(`${C.yellow}Model set to: ${this.agent.getModel()}${C.reset}\n`);
119
+ saveConfig({ model: this.agent.getModel() });
120
+ console.error(`${C.yellow}Model set to: ${this.agent.getModel()} (saved)${C.reset}\n`);
121
+ }
122
+ else {
123
+ console.error(`${C.dim}Current model: ${this.agent.getModel()}${C.reset}\n`);
84
124
  }
85
125
  break;
86
- case 'models': {
87
- const query = args.join(' ');
88
- console.error(`${C.dim}Fetching models from OpenRouter...${C.reset}`);
89
- try {
90
- const models = await this.agent.fetchModels(query || undefined);
91
- if (models.length === 0) {
92
- console.error(`${C.dim}No models found${query ? ` matching "${query}"` : ''}.${C.reset}\n`);
93
- break;
126
+ }
127
+ // ── /memory ───────────────────────────────────────────────────────
128
+ case 'memory': {
129
+ const subCmd = args[0]?.toLowerCase();
130
+ if (subCmd === 'global') {
131
+ const content = this.agent.getGlobalMemory();
132
+ console.error(content ? `${C.bold}Global memory:${C.reset}\n${content}\n` : `${C.dim}No global memory. Edit ~/.ag/memory.md${C.reset}\n`);
133
+ }
134
+ else if (subCmd === 'project') {
135
+ const content = this.agent.getProjectMemory();
136
+ console.error(content ? `${C.bold}Project memory:${C.reset}\n${content}\n` : `${C.dim}No project memory yet.${C.reset}\n`);
137
+ }
138
+ else if (subCmd === 'clear') {
139
+ const scope = args[1]?.toLowerCase();
140
+ if (scope === 'project') {
141
+ this.agent.clearProject();
142
+ console.error(`${C.yellow}Project memory, plans, and history cleared.${C.reset}\n`);
143
+ }
144
+ else if (scope === 'all') {
145
+ this.agent.clearAll();
146
+ console.error(`${C.yellow}All memory cleared.${C.reset}\n`);
94
147
  }
95
- const current = this.agent.getModel();
96
- const shown = models.slice(0, 30);
97
- for (const m of shown) {
98
- const marker = m.id === current ? C.green + '> ' : ' ';
99
- const ctx = m.context_length ? `${C.dim}${Math.round(m.context_length / 1000)}k${C.reset}` : '';
100
- const price = m.pricing?.prompt ? `${C.dim}$${(parseFloat(m.pricing.prompt) * 1_000_000).toFixed(2)}/M${C.reset}` : '';
101
- console.error(`${marker}${C.cyan}${m.id}${C.reset} ${ctx} ${price}`);
148
+ else {
149
+ console.error(`${C.dim}Usage: /memory clear project or /memory clear all${C.reset}\n`);
102
150
  }
103
- if (models.length > 30)
104
- console.error(`${C.dim} ...and ${models.length - 30} more. Filter with /models <query>${C.reset}`);
105
- console.error(`${C.dim} Use /model <id> to switch${C.reset}\n`);
106
151
  }
107
- catch (e) {
108
- console.error(`${C.red}Error fetching models: ${e.message}${C.reset}\n`);
152
+ else {
153
+ // Show all memory + stats
154
+ const stats = this.agent.getStats();
155
+ const global = this.agent.getGlobalMemory();
156
+ const project = this.agent.getProjectMemory();
157
+ console.error(`${C.bold}Memory${C.reset}`);
158
+ console.error(` Global: ${stats.globalMemory ? C.green + 'yes' : C.dim + 'none'}${C.reset}`);
159
+ console.error(` Project: ${stats.projectMemory ? C.green + 'yes' : C.dim + 'none'}${C.reset}`);
160
+ console.error(` Plans: ${C.cyan}${stats.planCount}${C.reset}`);
161
+ console.error(` History: ${C.cyan}${stats.historyLines}${C.reset} messages`);
162
+ if (global)
163
+ console.error(`\n${C.bold}Global:${C.reset}\n${global}`);
164
+ if (project)
165
+ console.error(`\n${C.bold}Project:${C.reset}\n${project}`);
166
+ console.error('');
109
167
  }
110
168
  break;
111
169
  }
112
- case 'tools': {
113
- const tools = this.agent.getTools();
114
- console.error(`${C.bold}Tools (${tools.length}):${C.reset}`);
115
- for (const t of tools) {
116
- console.error(` ${C.cyan}${t.name}${C.reset} ${C.dim}${t.description.slice(0, 70)}${t.description.length > 70 ? '...' : ''}${C.reset}`);
170
+ // ── /plan ─────────────────────────────────────────────────────────
171
+ case 'plan': {
172
+ const subCmd = args[0]?.toLowerCase();
173
+ if (subCmd === 'list') {
174
+ const plans = this.agent.getPlans();
175
+ if (plans.length === 0) {
176
+ console.error(`${C.dim}No plans yet.${C.reset}\n`);
177
+ break;
178
+ }
179
+ console.error(`${C.bold}Plans (${plans.length}):${C.reset}`);
180
+ plans.forEach((p, i) => console.error(` ${i === 0 ? C.green + '>' : ' '} ${p.name}${C.reset}`));
181
+ console.error('');
182
+ }
183
+ else if (subCmd === 'use' && args[1]) {
184
+ const name = args.slice(1).join(' ');
185
+ const plans = this.agent.getPlans();
186
+ const match = plans.find(p => p.name.includes(name));
187
+ if (!match) {
188
+ console.error(`${C.red}No plan matching "${name}". Use /plan list${C.reset}\n`);
189
+ break;
190
+ }
191
+ const content = this.agent.getPlanByName(match.name);
192
+ if (!content) {
193
+ console.error(`${C.red}Plan is empty.${C.reset}\n`);
194
+ break;
195
+ }
196
+ this.agent.setPlan(content, match.name.replace(/^\d{4}-\d{2}-\d{2}T[\d-]+-?/, '').replace(/-/g, ' ').trim() || undefined);
197
+ console.error(`${C.yellow}Activated plan: ${match.name}${C.reset}\n`);
198
+ }
199
+ else {
200
+ const content = this.agent.getPlan();
201
+ console.error(content ? `${C.bold}Current plan:${C.reset}\n${content}\n` : `${C.dim}No plans yet.${C.reset}\n`);
117
202
  }
118
- console.error('');
119
203
  break;
120
204
  }
205
+ // ── /config ───────────────────────────────────────────────────────
121
206
  case 'config': {
122
207
  if (args[0]?.toLowerCase() === 'set' && args[1]) {
123
- const key = args[1];
124
208
  const value = args.slice(2).join(' ');
125
209
  if (!value) {
126
210
  console.error(`${C.red}Usage: /config set <key> <value>${C.reset}\n`);
127
211
  break;
128
212
  }
129
- const validKeys = ['apiKey', 'model', 'baseURL', 'systemPrompt', 'maxIterations'];
213
+ const validKeys = ['apiKey', 'model', 'baseURL', 'systemPrompt', 'maxIterations', 'tavilyApiKey'];
214
+ const keyAliases = {
215
+ 'tavily_api_key': 'tavilyApiKey',
216
+ 'openrouter_api_key': 'apiKey',
217
+ 'api_key': 'apiKey',
218
+ };
219
+ const rawKey = args[1];
220
+ const key = keyAliases[rawKey.toLowerCase()] ?? rawKey;
130
221
  if (!validKeys.includes(key)) {
131
222
  console.error(`${C.red}Valid keys: ${validKeys.join(', ')}${C.reset}\n`);
132
223
  break;
133
224
  }
134
225
  const parsed = key === 'maxIterations' ? parseInt(value, 10) : value;
135
226
  saveConfig({ [key]: parsed });
136
- const display = key === 'apiKey' ? maskKey(value) : value;
137
- console.error(`${C.yellow}Config: ${key} = ${display}${C.reset}`);
138
- console.error(`${C.dim}Saved to ${configPath()}${C.reset}\n`);
139
- }
140
- else if (args[0]?.toLowerCase() === 'path') {
141
- console.error(`${C.dim}${configPath()}${C.reset}\n`);
227
+ const display = (key === 'apiKey' || key === 'tavilyApiKey') ? maskKey(value) : value;
228
+ console.error(`${C.yellow}Config: ${key} = ${display} (saved)${C.reset}\n`);
142
229
  }
143
230
  else {
231
+ // Show config + file paths
144
232
  const cfg = loadConfig();
233
+ const p = this.agent.getPaths();
145
234
  console.error(`${C.bold}Config${C.reset} ${C.dim}(${configPath()})${C.reset}`);
146
235
  if (cfg.apiKey)
147
236
  console.error(` apiKey: ${C.dim}${maskKey(cfg.apiKey)}${C.reset}`);
@@ -149,98 +238,97 @@ export class REPL {
149
238
  console.error(` model: ${C.cyan}${cfg.model}${C.reset}`);
150
239
  if (cfg.baseURL)
151
240
  console.error(` baseURL: ${C.dim}${cfg.baseURL}${C.reset}`);
152
- if (cfg.systemPrompt)
153
- console.error(` systemPrompt: ${C.dim}${cfg.systemPrompt.slice(0, 60)}...${C.reset}`);
154
241
  if (cfg.maxIterations)
155
242
  console.error(` maxIterations: ${C.cyan}${cfg.maxIterations}${C.reset}`);
156
- if (!cfg.apiKey && !cfg.model && !cfg.baseURL && !cfg.systemPrompt && !cfg.maxIterations) {
157
- console.error(`${C.dim} (empty — using defaults and env vars)${C.reset}`);
243
+ if (cfg.tavilyApiKey)
244
+ console.error(` tavilyApiKey: ${C.dim}${maskKey(cfg.tavilyApiKey)}${C.reset}`);
245
+ if (!cfg.apiKey && !cfg.model && !cfg.baseURL && !cfg.maxIterations) {
246
+ console.error(`${C.dim} (using defaults + env vars)${C.reset}`);
158
247
  }
248
+ console.error(`\n${C.bold}Paths${C.reset}`);
249
+ console.error(` Config: ${configPath()}`);
250
+ console.error(` Global: ${p.globalMemory}`);
251
+ console.error(` Project: ${p.projectMemory}`);
252
+ console.error(` Plans: ${p.plansDir}/`);
253
+ console.error(` History: ${p.history}`);
159
254
  console.error('');
160
255
  }
161
256
  break;
162
257
  }
163
- case 'stats': {
164
- const stats = this.agent.getStats();
165
- console.error(`${C.bold}Memory${C.reset}`);
166
- console.error(` Global memory: ${stats.globalMemory ? C.green + 'yes' : C.dim + 'none'}${C.reset}`);
167
- console.error(` Project memory: ${stats.projectMemory ? C.green + 'yes' : C.dim + 'none'}${C.reset}`);
168
- console.error(` Plans: ${C.cyan}${stats.planCount}${C.reset}`);
169
- console.error(` History: ${C.cyan}${stats.historyLines}${C.reset} messages`);
258
+ // ── /tools ────────────────────────────────────────────────────────
259
+ case 'tools': {
260
+ const tools = this.agent.getTools();
261
+ console.error(`${C.bold}Tools (${tools.length}):${C.reset}`);
262
+ for (const t of tools) {
263
+ console.error(` ${C.cyan}${t.name}${C.reset} ${C.dim}${t.description.slice(0, 60)}${t.description.length > 60 ? '...' : ''}${C.reset}`);
264
+ }
170
265
  console.error('');
171
266
  break;
172
267
  }
173
- case 'memory': {
174
- const content = this.agent.getGlobalMemory();
175
- console.error(content ? `${C.bold}Global memory:${C.reset}\n${content}\n` : `${C.dim}No global memory. Edit ~/.ag/memory.md${C.reset}\n`);
176
- break;
177
- }
178
- case 'project': {
179
- const content = this.agent.getProjectMemory();
180
- console.error(content ? `${C.bold}Project memory:${C.reset}\n${content}\n` : `${C.dim}No project memory yet.${C.reset}\n`);
181
- break;
182
- }
183
- case 'plan': {
184
- if (args[0]?.toLowerCase() === 'use' && args[1]) {
185
- const name = args.slice(1).join(' ');
186
- const plans = this.agent.getPlans();
187
- const match = plans.find(p => p.name.includes(name));
188
- if (!match) {
189
- console.error(`${C.red}No plan matching "${name}". Use /plans to list.${C.reset}\n`);
268
+ // ── /skill ────────────────────────────────────────────────────────
269
+ case 'skill': {
270
+ const subCmd = args[0]?.toLowerCase();
271
+ if (subCmd === 'search') {
272
+ const query = args.slice(1).join(' ');
273
+ if (!query) {
274
+ console.error(`${C.dim}Usage: /skill search <query>${C.reset}\n`);
190
275
  break;
191
276
  }
192
- const content = this.agent.getPlanByName(match.name);
193
- if (!content) {
194
- console.error(`${C.red}Plan is empty.${C.reset}\n`);
195
- break;
277
+ console.error(`${C.dim}Searching skills.sh...${C.reset}`);
278
+ try {
279
+ const results = await searchRegistry(query);
280
+ if (results.length === 0) {
281
+ console.error(`${C.dim}No skills found for "${query}".${C.reset}\n`);
282
+ break;
283
+ }
284
+ const shown = results.slice(0, 20);
285
+ for (const s of shown) {
286
+ console.error(` ${C.cyan}${s.source}@${s.skillId}${C.reset} ${C.dim}${formatInstalls(s.installs)} installs${C.reset}`);
287
+ }
288
+ if (results.length > 20)
289
+ console.error(`${C.dim} ...and ${results.length - 20} more${C.reset}`);
290
+ console.error(`${C.dim} Use /skill add <source>@<name> to install${C.reset}\n`);
291
+ }
292
+ catch (e) {
293
+ console.error(`${C.red}Error: ${e.message}${C.reset}\n`);
196
294
  }
197
- this.agent.setPlan(content, match.name.replace(/^\d{4}-\d{2}-\d{2}T[\d-]+-?/, '').replace(/-/g, ' ').trim() || undefined);
198
- console.error(`${C.yellow}Activated plan: ${match.name}${C.reset}`);
199
- console.error(`${C.dim}(copied as new latest plan)${C.reset}\n`);
200
- }
201
- else {
202
- const content = this.agent.getPlan();
203
- console.error(content ? `${C.bold}Current plan (latest):${C.reset}\n${content}\n` : `${C.dim}No plans yet.${C.reset}\n`);
204
295
  }
205
- break;
206
- }
207
- case 'plans': {
208
- const plans = this.agent.getPlans();
209
- if (plans.length === 0) {
210
- console.error(`${C.dim}No plans yet.${C.reset}\n`);
211
- break;
296
+ else if (subCmd === 'add' && args[1]) {
297
+ const source = args[1];
298
+ try {
299
+ const msg = await installSkill(source);
300
+ this.agent.refreshSkills();
301
+ console.error(`${C.green}${msg}${C.reset}\n`);
302
+ }
303
+ catch (e) {
304
+ console.error(`${C.red}Error: ${e.message}${C.reset}\n`);
305
+ }
212
306
  }
213
- console.error(`${C.bold}Plans (${plans.length}):${C.reset}`);
214
- plans.forEach((p, i) => console.error(` ${i === 0 ? C.green + '>' : ' '} ${p.name}${C.reset}`));
215
- console.error('');
216
- break;
217
- }
218
- case 'paths': {
219
- const p = this.agent.getPaths();
220
- console.error(`${C.bold}Memory files:${C.reset}`);
221
- console.error(` Config: ${configPath()}`);
222
- console.error(` Global: ${p.globalMemory}`);
223
- console.error(` Project: ${p.projectMemory}`);
224
- console.error(` Plans: ${p.plansDir}/`);
225
- console.error(` History: ${p.history}`);
226
- console.error('');
227
- break;
228
- }
229
- case 'clear': {
230
- const target = args[0]?.toLowerCase();
231
- if (target === 'project') {
232
- this.agent.clearProject();
233
- console.error(`${C.yellow}Project memory, plan, and history cleared.${C.reset}\n`);
307
+ else if (subCmd === 'remove' && args[1]) {
308
+ const msg = removeSkill(args[1]);
309
+ this.agent.refreshSkills();
310
+ console.error(`${C.yellow}${msg}${C.reset}\n`);
234
311
  }
235
- else if (target === 'all') {
236
- this.agent.clearAll();
237
- console.error(`${C.yellow}All memory cleared.${C.reset}\n`);
312
+ else if (!subCmd) {
313
+ // List installed skills
314
+ const skills = this.agent.getSkills();
315
+ if (skills.length === 0) {
316
+ console.error(`${C.dim}No skills installed. Use /skill search <query> to browse skills.sh${C.reset}\n`);
317
+ break;
318
+ }
319
+ console.error(`${C.bold}Skills (${skills.length}):${C.reset}`);
320
+ for (const s of skills) {
321
+ const flags = [s.always && 'always-on', s.hasTools && 'has tools'].filter(Boolean).join(', ');
322
+ console.error(` ${C.cyan}${s.name}${C.reset} ${C.dim}${s.description.slice(0, 60)}${flags ? ` (${flags})` : ''}${C.reset}`);
323
+ }
324
+ console.error('');
238
325
  }
239
326
  else {
240
- console.error(`${C.dim}Usage: /clear project or /clear all${C.reset}\n`);
327
+ console.error(`${C.dim}Usage: /skill, /skill search <q>, /skill add <source>, /skill remove <name>${C.reset}\n`);
241
328
  }
242
329
  break;
243
330
  }
331
+ // ── /exit ─────────────────────────────────────────────────────────
244
332
  case 'exit':
245
333
  case 'quit':
246
334
  console.error(`${C.dim}Goodbye!${C.reset}`);
@@ -1 +1 @@
1
- {"version":3,"file":"repl.js","sourceRoot":"","sources":["../../src/cli/repl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../../src/cli/repl.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import { Tool, AgentConfig } from './types.js';
2
2
  import { type MemoryStats } from '../memory/memory.js';
3
- export declare class Agent {
3
+ import { type SkillHost } from '../tools/skill.js';
4
+ import { type SkillMeta } from './skills.js';
5
+ export declare const MAX_ITERATIONS_REACHED = "[Max iterations reached]";
6
+ export declare class Agent implements SkillHost {
4
7
  private readonly apiKey;
5
8
  private model;
6
9
  private readonly baseURL;
@@ -9,9 +12,12 @@ export declare class Agent {
9
12
  private readonly tools;
10
13
  private readonly cwd;
11
14
  private messages;
15
+ private allSkills;
16
+ private activeSkillContent;
12
17
  constructor(config?: AgentConfig);
13
18
  addTool(tool: Tool): void;
14
19
  private get systemPrompt();
20
+ activateSkill(name: string): Promise<string>;
15
21
  chat(content: string): Promise<string>;
16
22
  getTools(): Array<{
17
23
  name: string;
@@ -29,6 +35,8 @@ export declare class Agent {
29
35
  completion?: string;
30
36
  };
31
37
  }>>;
38
+ getSkills(): SkillMeta[];
39
+ refreshSkills(): void;
32
40
  getStats(): MemoryStats;
33
41
  getPaths(): {
34
42
  globalMemory: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,IAAI,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAA6M,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKlQ,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAiB;gBAErB,MAAM,GAAE,WAAgB;IAqBpC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIzB,OAAO,KAAK,YAAY,GAIvB;IAEK,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiE5C,QAAQ,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAGxD,QAAQ,IAAI,MAAM;IAClB,UAAU,IAAI,MAAM;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAEvB,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAc3J,QAAQ,IAAI,WAAW;IACvB,QAAQ;;;;;;;IAER,eAAe,IAAI,MAAM;IACzB,gBAAgB,IAAI,MAAM;IAC1B,OAAO,IAAI,MAAM;IACjB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IACnC,QAAQ;;;;IAER,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IACtC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IACvC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAE7C,YAAY,IAAI,IAAI;IACpB,QAAQ,IAAI,IAAI;CACjB"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,IAAI,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAA6M,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKlQ,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAyE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAEpH,eAAO,MAAM,sBAAsB,6BAA6B,CAAC;AAEjE,qBAAa,KAAM,YAAW,SAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAiB;IAEjC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,kBAAkB,CAAgB;gBAE9B,MAAM,GAAE,WAAgB;IA2BpC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIzB,OAAO,KAAK,YAAY,GAoBvB;IAEK,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB5C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2D5C,QAAQ,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAGxD,QAAQ,IAAI,MAAM;IAClB,UAAU,IAAI,MAAM;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAEvB,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAc3J,SAAS,IAAI,SAAS,EAAE;IACxB,aAAa,IAAI,IAAI;IAErB,QAAQ,IAAI,WAAW;IACvB,QAAQ;;;;;;;IAER,eAAe,IAAI,MAAM;IACzB,gBAAgB,IAAI,MAAM;IAC1B,OAAO,IAAI,MAAM;IACjB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IACnC,QAAQ;;;;IAER,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IACtC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IACvC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAE7C,YAAY,IAAI,IAAI;IACpB,QAAQ,IAAI,IAAI;CACjB"}