0xkobold 0.0.4 → 0.0.5
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/package.json
CHANGED
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subagent Extension - Parallel Agent Execution
|
|
3
|
+
*
|
|
4
|
+
* Spawn specialized sub-agents with isolated context windows.
|
|
5
|
+
* Supports three modes: single, parallel, and chain.
|
|
6
|
+
*
|
|
7
|
+
* Inspired by pi-mono's subagent extension.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* Single: await agent_spawn({ agent: "scout", task: "Find auth code" })
|
|
11
|
+
* Parallel: await agent_spawn({ tasks: [{agent, task}, ...] })
|
|
12
|
+
* Chain: await agent_spawn({ chain: [{agent, task}, ...] })
|
|
13
|
+
*/
|
|
14
|
+
import { Type } from "@sinclair/typebox";
|
|
15
|
+
import { spawn } from "node:child_process";
|
|
16
|
+
import * as fs from "node:fs/promises";
|
|
17
|
+
import * as path from "node:path";
|
|
18
|
+
import { homedir } from "node:os";
|
|
19
|
+
// Constants
|
|
20
|
+
const MAX_PARALLEL_TASKS = 8;
|
|
21
|
+
const MAX_CONCURRENCY = 4;
|
|
22
|
+
const AGENTS_DIR = path.join(homedir(), ".0xkobold", "agents");
|
|
23
|
+
// Agent discovery
|
|
24
|
+
async function discoverAgents() {
|
|
25
|
+
const agents = new Map();
|
|
26
|
+
try {
|
|
27
|
+
const files = await fs.readdir(AGENTS_DIR);
|
|
28
|
+
for (const file of files) {
|
|
29
|
+
if (file.endsWith('.md')) {
|
|
30
|
+
const content = await fs.readFile(path.join(AGENTS_DIR, file), 'utf-8');
|
|
31
|
+
const config = parseAgentDefinition(content, file.replace('.md', ''));
|
|
32
|
+
if (config) {
|
|
33
|
+
agents.set(config.name, config);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// Directory doesn't exist or not readable
|
|
40
|
+
}
|
|
41
|
+
// Add built-in agents if not found
|
|
42
|
+
if (!agents.has('scout')) {
|
|
43
|
+
agents.set('scout', getDefaultAgent('scout'));
|
|
44
|
+
}
|
|
45
|
+
if (!agents.has('planner')) {
|
|
46
|
+
agents.set('planner', getDefaultAgent('planner'));
|
|
47
|
+
}
|
|
48
|
+
if (!agents.has('worker')) {
|
|
49
|
+
agents.set('worker', getDefaultAgent('worker'));
|
|
50
|
+
}
|
|
51
|
+
if (!agents.has('reviewer')) {
|
|
52
|
+
agents.set('reviewer', getDefaultAgent('reviewer'));
|
|
53
|
+
}
|
|
54
|
+
return agents;
|
|
55
|
+
}
|
|
56
|
+
function parseAgentDefinition(content, defaultName) {
|
|
57
|
+
// Parse YAML frontmatter
|
|
58
|
+
const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);
|
|
59
|
+
if (!frontmatterMatch)
|
|
60
|
+
return null;
|
|
61
|
+
const frontmatter = frontmatterMatch[1];
|
|
62
|
+
const systemPrompt = frontmatterMatch[2].trim();
|
|
63
|
+
const lines = frontmatter.split('\n');
|
|
64
|
+
let name = defaultName;
|
|
65
|
+
let description = '';
|
|
66
|
+
let tools = [];
|
|
67
|
+
let model = 'qwen2.5-coder:14b';
|
|
68
|
+
for (const line of lines) {
|
|
69
|
+
const [key, ...rest] = line.split(':');
|
|
70
|
+
const value = rest.join(':').trim();
|
|
71
|
+
if (key === 'name')
|
|
72
|
+
name = value;
|
|
73
|
+
else if (key === 'description')
|
|
74
|
+
description = value;
|
|
75
|
+
else if (key === 'tools')
|
|
76
|
+
tools = value.split(',').map(t => t.trim());
|
|
77
|
+
else if (key === 'model')
|
|
78
|
+
model = value;
|
|
79
|
+
}
|
|
80
|
+
return { name, description, tools, model, systemPrompt };
|
|
81
|
+
}
|
|
82
|
+
function getDefaultAgent(type) {
|
|
83
|
+
const defaults = {
|
|
84
|
+
scout: {
|
|
85
|
+
name: 'scout',
|
|
86
|
+
description: 'Fast codebase reconnaissance',
|
|
87
|
+
tools: ['read_file', 'search_files', 'list_directory'],
|
|
88
|
+
model: 'qwen2.5-coder:14b',
|
|
89
|
+
systemPrompt: `You are a fast reconnaissance agent. Your job:
|
|
90
|
+
1. Quickly scan the codebase structure
|
|
91
|
+
2. Find relevant files using search and list tools
|
|
92
|
+
3. Read key files to understand context
|
|
93
|
+
4. Return a COMPRESSED summary (max 500 tokens)
|
|
94
|
+
|
|
95
|
+
Be fast. Be concise. Focus on facts, not opinions.
|
|
96
|
+
Only use available tools. Never write files.`,
|
|
97
|
+
},
|
|
98
|
+
planner: {
|
|
99
|
+
name: 'planner',
|
|
100
|
+
description: 'Creates implementation plans',
|
|
101
|
+
tools: ['read_file', 'search_files', 'list_directory'],
|
|
102
|
+
model: 'qwen2.5-coder:14b',
|
|
103
|
+
systemPrompt: `You are a planning specialist. Your job:
|
|
104
|
+
1. Analyze the existing code and requirements
|
|
105
|
+
2. Create a step-by-step implementation plan
|
|
106
|
+
3. Identify potential issues or blockers
|
|
107
|
+
4. Provide clear, actionable steps
|
|
108
|
+
|
|
109
|
+
Focus on planning, not implementation.
|
|
110
|
+
Provide specific file paths and code structure.`,
|
|
111
|
+
},
|
|
112
|
+
worker: {
|
|
113
|
+
name: 'worker',
|
|
114
|
+
description: 'General-purpose implementation',
|
|
115
|
+
tools: ['read_file', 'write_file', 'edit_file', 'search_files', 'shell'],
|
|
116
|
+
model: 'qwen2.5-coder:14b',
|
|
117
|
+
systemPrompt: `You are an implementation specialist. Your job:
|
|
118
|
+
1. Implement features according to specifications
|
|
119
|
+
2. Write clean, well-tested code
|
|
120
|
+
3. Follow existing code patterns
|
|
121
|
+
4. Handle errors gracefully
|
|
122
|
+
|
|
123
|
+
You have full tool access including write operations.
|
|
124
|
+
Always verify changes before completing.`,
|
|
125
|
+
},
|
|
126
|
+
reviewer: {
|
|
127
|
+
name: 'reviewer',
|
|
128
|
+
description: 'Code review specialist',
|
|
129
|
+
tools: ['read_file', 'search_files', 'shell'],
|
|
130
|
+
model: 'qwen2.5-coder:14b',
|
|
131
|
+
systemPrompt: `You are a code review specialist. Your job:
|
|
132
|
+
1. Review code changes thoroughly
|
|
133
|
+
2. Identify bugs, security issues, or style violations
|
|
134
|
+
3. Suggest specific improvements
|
|
135
|
+
4. Check for edge cases
|
|
136
|
+
|
|
137
|
+
Be thorough but constructive.
|
|
138
|
+
Provide specific line-by-line feedback.`,
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
return defaults[type] || defaults.worker;
|
|
142
|
+
}
|
|
143
|
+
// Spawn a single subagent
|
|
144
|
+
async function spawnSubagent(agentConfig, task, ctx) {
|
|
145
|
+
const startTime = Date.now();
|
|
146
|
+
return new Promise((resolve) => {
|
|
147
|
+
// Build command
|
|
148
|
+
const args = [
|
|
149
|
+
'run',
|
|
150
|
+
'src/cli/index.ts',
|
|
151
|
+
'--command',
|
|
152
|
+
`agent:${agentConfig.name}`,
|
|
153
|
+
'--task',
|
|
154
|
+
task,
|
|
155
|
+
];
|
|
156
|
+
// Spawn process
|
|
157
|
+
const child = spawn('bun', args, {
|
|
158
|
+
cwd: process.cwd(),
|
|
159
|
+
env: {
|
|
160
|
+
...process.env,
|
|
161
|
+
KOBOLD_SUBAGENT: 'true',
|
|
162
|
+
KOBOLD_AGENT_MODEL: agentConfig.model,
|
|
163
|
+
KOBOLD_AGENT_TOOLS: agentConfig.tools.join(','),
|
|
164
|
+
},
|
|
165
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
166
|
+
});
|
|
167
|
+
let output = '';
|
|
168
|
+
let error = '';
|
|
169
|
+
child.stdout?.on('data', (data) => {
|
|
170
|
+
output += data.toString();
|
|
171
|
+
});
|
|
172
|
+
child.stderr?.on('data', (data) => {
|
|
173
|
+
error += data.toString();
|
|
174
|
+
});
|
|
175
|
+
child.on('close', (code) => {
|
|
176
|
+
resolve({
|
|
177
|
+
agent: agentConfig.name,
|
|
178
|
+
task,
|
|
179
|
+
exitCode: code || 0,
|
|
180
|
+
output: output.trim(),
|
|
181
|
+
error: error.trim() || undefined,
|
|
182
|
+
duration: Date.now() - startTime,
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
// Timeout after 5 minutes
|
|
186
|
+
setTimeout(() => {
|
|
187
|
+
child.kill('SIGTERM');
|
|
188
|
+
resolve({
|
|
189
|
+
agent: agentConfig.name,
|
|
190
|
+
task,
|
|
191
|
+
exitCode: 124,
|
|
192
|
+
output: output.trim(),
|
|
193
|
+
error: 'Timeout: Agent took too long',
|
|
194
|
+
duration: Date.now() - startTime,
|
|
195
|
+
});
|
|
196
|
+
}, 5 * 60 * 1000);
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
// Parallel execution with concurrency limiting
|
|
200
|
+
async function spawnParallel(tasks, agents, ctx) {
|
|
201
|
+
const results = [];
|
|
202
|
+
const executing = [];
|
|
203
|
+
let completed = 0;
|
|
204
|
+
// Progress update
|
|
205
|
+
const updateProgress = () => {
|
|
206
|
+
ctx.ui.notify(`⏳ ${completed}/${tasks.length} agents complete`, 'info');
|
|
207
|
+
};
|
|
208
|
+
for (const task of tasks) {
|
|
209
|
+
const agentConfig = agents.get(task.agent);
|
|
210
|
+
if (!agentConfig) {
|
|
211
|
+
results.push({
|
|
212
|
+
agent: task.agent,
|
|
213
|
+
task: task.task,
|
|
214
|
+
exitCode: 1,
|
|
215
|
+
output: '',
|
|
216
|
+
error: `Agent '${task.agent}' not found`,
|
|
217
|
+
duration: 0,
|
|
218
|
+
});
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
// Wait if at concurrency limit
|
|
222
|
+
while (executing.length >= MAX_CONCURRENCY) {
|
|
223
|
+
await Promise.race(executing);
|
|
224
|
+
}
|
|
225
|
+
const promise = spawnSubagent(agentConfig, task.task, ctx).then((result) => {
|
|
226
|
+
results.push(result);
|
|
227
|
+
completed++;
|
|
228
|
+
updateProgress();
|
|
229
|
+
});
|
|
230
|
+
executing.push(promise);
|
|
231
|
+
// Clean up completed promises
|
|
232
|
+
promise.then(() => {
|
|
233
|
+
const index = executing.indexOf(promise);
|
|
234
|
+
if (index > -1)
|
|
235
|
+
executing.splice(index, 1);
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
// Wait for all to complete
|
|
239
|
+
await Promise.all(executing);
|
|
240
|
+
return results;
|
|
241
|
+
}
|
|
242
|
+
// Chain execution
|
|
243
|
+
async function spawnChain(chain, agents, ctx) {
|
|
244
|
+
const results = [];
|
|
245
|
+
let previousOutput = '';
|
|
246
|
+
for (let i = 0; i < chain.length; i++) {
|
|
247
|
+
const step = chain[i];
|
|
248
|
+
const agentConfig = agents.get(step.agent);
|
|
249
|
+
if (!agentConfig) {
|
|
250
|
+
results.push({
|
|
251
|
+
agent: step.agent,
|
|
252
|
+
task: step.task,
|
|
253
|
+
exitCode: 1,
|
|
254
|
+
output: '',
|
|
255
|
+
error: `Agent '${step.agent}' not found`,
|
|
256
|
+
duration: 0,
|
|
257
|
+
});
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
260
|
+
// Replace {previous} placeholder
|
|
261
|
+
const task = step.task.replace(/{previous}/g, previousOutput);
|
|
262
|
+
ctx.ui.notify(`⏳ Step ${i + 1}/${chain.length}: ${step.agent}...`, 'info');
|
|
263
|
+
const result = await spawnSubagent(agentConfig, task, ctx);
|
|
264
|
+
results.push(result);
|
|
265
|
+
if (result.exitCode !== 0) {
|
|
266
|
+
ctx.ui.notify(`❌ Step ${i + 1} failed`, 'error');
|
|
267
|
+
break;
|
|
268
|
+
}
|
|
269
|
+
previousOutput = result.output;
|
|
270
|
+
ctx.ui.notify(`✅ Step ${i + 1} complete`, 'info');
|
|
271
|
+
}
|
|
272
|
+
return results;
|
|
273
|
+
}
|
|
274
|
+
export default async function subagentExtension(pi) {
|
|
275
|
+
console.log("[Subagent] Extension loaded");
|
|
276
|
+
// Ensure agents directory exists
|
|
277
|
+
await fs.mkdir(AGENTS_DIR, { recursive: true });
|
|
278
|
+
// Discover agents
|
|
279
|
+
const agents = await discoverAgents();
|
|
280
|
+
console.log(`[Subagent] Found ${agents.size} agents: ${Array.from(agents.keys()).join(', ')}`);
|
|
281
|
+
// TOOL: agent_spawn
|
|
282
|
+
pi.registerTool({
|
|
283
|
+
name: "agent_spawn",
|
|
284
|
+
label: "Spawn Subagent",
|
|
285
|
+
description: "Spawn single, parallel, or chained subagents with isolated context",
|
|
286
|
+
parameters: Type.Object({
|
|
287
|
+
// Single mode
|
|
288
|
+
agent: Type.Optional(Type.String({ description: "Agent name" })),
|
|
289
|
+
task: Type.Optional(Type.String({ description: "Task description" })),
|
|
290
|
+
// Parallel mode
|
|
291
|
+
tasks: Type.Optional(Type.Array(Type.Object({
|
|
292
|
+
agent: Type.String({ description: "Agent name" }),
|
|
293
|
+
task: Type.String({ description: "Task description" }),
|
|
294
|
+
}), { description: "Array of tasks for parallel execution" })),
|
|
295
|
+
// Chain mode
|
|
296
|
+
chain: Type.Optional(Type.Array(Type.Object({
|
|
297
|
+
agent: Type.String({ description: "Agent name" }),
|
|
298
|
+
task: Type.String({ description: "Task description" }),
|
|
299
|
+
}), { description: "Array of tasks for sequential execution" })),
|
|
300
|
+
}),
|
|
301
|
+
async execute(_toolCallId, params, _signal, _onUpdate, ctx) {
|
|
302
|
+
const startTime = Date.now();
|
|
303
|
+
// Mode detection
|
|
304
|
+
if (params.tasks && Array.isArray(params.tasks)) {
|
|
305
|
+
// Parallel mode
|
|
306
|
+
const tasks = params.tasks;
|
|
307
|
+
if (tasks.length > MAX_PARALLEL_TASKS) {
|
|
308
|
+
return {
|
|
309
|
+
content: [{ type: "text", text: `❌ Too many tasks (max ${MAX_PARALLEL_TASKS})` }],
|
|
310
|
+
details: { error: "max_tasks_exceeded" },
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
ctx.ui.notify(`🚀 Spawning ${tasks.length} agents in parallel...`, 'info');
|
|
314
|
+
const results = await spawnParallel(tasks, agents, ctx);
|
|
315
|
+
const success = results.filter(r => r.exitCode === 0).length;
|
|
316
|
+
const failed = results.filter(r => r.exitCode !== 0).length;
|
|
317
|
+
const summary = results.map(r => `${r.exitCode === 0 ? '✅' : '❌'} ${r.agent}: ${r.task.slice(0, 50)}...`).join('\n');
|
|
318
|
+
return {
|
|
319
|
+
content: [{
|
|
320
|
+
type: "text",
|
|
321
|
+
text: `✅ ${success} success, ${failed} failed\n\n${summary}`,
|
|
322
|
+
}],
|
|
323
|
+
details: { mode: "parallel", results },
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
else if (params.chain && Array.isArray(params.chain)) {
|
|
327
|
+
// Chain mode
|
|
328
|
+
const chain = params.chain;
|
|
329
|
+
ctx.ui.notify(`🔗 Starting chain of ${chain.length} agents...`, 'info');
|
|
330
|
+
const results = await spawnChain(chain, agents, ctx);
|
|
331
|
+
const success = results.filter(r => r.exitCode === 0).length;
|
|
332
|
+
const summary = results.map((r, i) => `${r.exitCode === 0 ? '✅' : '❌'} Step ${i + 1} (${r.agent}): ${r.task.slice(0, 40)}...`).join('\n');
|
|
333
|
+
return {
|
|
334
|
+
content: [{
|
|
335
|
+
type: "text",
|
|
336
|
+
text: `✅ Chain complete: ${success}/${chain.length} steps\n\n${summary}`,
|
|
337
|
+
}],
|
|
338
|
+
details: { mode: "chain", results },
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
else if (params.agent && params.task) {
|
|
342
|
+
// Single mode
|
|
343
|
+
const agentConfig = agents.get(params.agent);
|
|
344
|
+
if (!agentConfig) {
|
|
345
|
+
return {
|
|
346
|
+
content: [{ type: "text", text: `❌ Agent '${params.agent}' not found` }],
|
|
347
|
+
details: { error: "agent_not_found", available: Array.from(agents.keys()) },
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
ctx.ui.notify(`🚀 Spawning ${agentConfig.name}...`, 'info');
|
|
351
|
+
const result = await spawnSubagent(agentConfig, params.task, ctx);
|
|
352
|
+
const status = result.exitCode === 0 ? '✅' : '❌';
|
|
353
|
+
const duration = ((Date.now() - startTime) / 1000).toFixed(1);
|
|
354
|
+
return {
|
|
355
|
+
content: [{
|
|
356
|
+
type: "text",
|
|
357
|
+
text: `${status} ${result.agent} complete (${duration}s)\n\n${result.output}`,
|
|
358
|
+
}],
|
|
359
|
+
details: result,
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
return {
|
|
363
|
+
content: [{ type: "text", text: "❌ Must provide either: (agent+task), tasks[], or chain[]" }],
|
|
364
|
+
details: { error: "invalid_params" },
|
|
365
|
+
};
|
|
366
|
+
},
|
|
367
|
+
});
|
|
368
|
+
// COMMAND: /agents
|
|
369
|
+
pi.registerCommand("agents", {
|
|
370
|
+
description: "List available agents",
|
|
371
|
+
handler: async (_args, ctx) => {
|
|
372
|
+
const list = Array.from(agents.values()).map(a => `- ${a.name}: ${a.description} (${a.tools.length} tools)`).join('\n');
|
|
373
|
+
ctx.ui.notify(`🤖 Available Agents:\n${list}`, 'info');
|
|
374
|
+
},
|
|
375
|
+
});
|
|
376
|
+
// COMMAND: /implement
|
|
377
|
+
pi.registerCommand("implement", {
|
|
378
|
+
description: "Implement with workflow: scout → planner → worker",
|
|
379
|
+
handler: async (args, ctx) => {
|
|
380
|
+
if (!args.trim()) {
|
|
381
|
+
ctx.ui.notify("❌ Usage: /implement <feature description>", 'error');
|
|
382
|
+
return;
|
|
383
|
+
}
|
|
384
|
+
const chain = [
|
|
385
|
+
{ agent: "scout", task: `Find all code related to: ${args}` },
|
|
386
|
+
{ agent: "planner", task: `Create implementation plan for: ${args}. Findings: {previous}` },
|
|
387
|
+
{ agent: "worker", task: `Implement: ${args}. Plan: {previous}` },
|
|
388
|
+
];
|
|
389
|
+
ctx.ui.notify(`🚀 Starting /implement workflow for: ${args}`, 'info');
|
|
390
|
+
await spawnChain(chain, agents, ctx);
|
|
391
|
+
},
|
|
392
|
+
});
|
|
393
|
+
// COMMAND: /scout-and-plan
|
|
394
|
+
pi.registerCommand("scout-and-plan", {
|
|
395
|
+
description: "Scout and plan: scout → planner (no implementation)",
|
|
396
|
+
handler: async (args, ctx) => {
|
|
397
|
+
if (!args.trim()) {
|
|
398
|
+
ctx.ui.notify("❌ Usage: /scout-and-plan <feature description>", 'error');
|
|
399
|
+
return;
|
|
400
|
+
}
|
|
401
|
+
const chain = [
|
|
402
|
+
{ agent: "scout", task: `Find all code related to: ${args}` },
|
|
403
|
+
{ agent: "planner", task: `Create implementation plan for: ${args}. Findings: {previous}` },
|
|
404
|
+
];
|
|
405
|
+
ctx.ui.notify(`🚀 Starting /scout-and-plan for: ${args}`, 'info');
|
|
406
|
+
await spawnChain(chain, agents, ctx);
|
|
407
|
+
},
|
|
408
|
+
});
|
|
409
|
+
// COMMAND: /parallel
|
|
410
|
+
pi.registerCommand("parallel", {
|
|
411
|
+
description: "Run agents in parallel: /parallel \"task1\" \"task2\" (uses scout)",
|
|
412
|
+
handler: async (args, ctx) => {
|
|
413
|
+
const tasks = args.split('"').filter((_, i) => i % 2 === 1);
|
|
414
|
+
if (tasks.length === 0) {
|
|
415
|
+
ctx.ui.notify("❌ Usage: /parallel \"task 1\" \"task 2\"", 'error');
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
if (tasks.length > MAX_PARALLEL_TASKS) {
|
|
419
|
+
ctx.ui.notify(`❌ Max ${MAX_PARALLEL_TASKS} tasks`, 'error');
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
const parallelTasks = tasks.map(task => ({
|
|
423
|
+
agent: "scout",
|
|
424
|
+
task,
|
|
425
|
+
}));
|
|
426
|
+
ctx.ui.notify(`🚀 Running ${tasks.length} scouts in parallel...`, 'info');
|
|
427
|
+
await spawnParallel(parallelTasks, agents, ctx);
|
|
428
|
+
},
|
|
429
|
+
});
|
|
430
|
+
console.log("[Subagent] Ready");
|
|
431
|
+
}
|
|
432
|
+
//# sourceMappingURL=subagent-extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-extension.js","sourceRoot":"","sources":["../../../../src/extensions/core/subagent-extension.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -83,6 +83,7 @@ function verifyExtensions() {
|
|
|
83
83
|
'--extension', ext('perennial-memory-extension'),
|
|
84
84
|
'--extension', ext('diagnostics-extension'),
|
|
85
85
|
'--extension', ext('memory-synthesis-extension'),
|
|
86
|
+
'--extension', ext('subagent-extension'),
|
|
86
87
|
// Note: pi-coding-agent updates disabled - user manages dependencies manually
|
|
87
88
|
// '--extension', ext('update-extension'),
|
|
88
89
|
// Self-update for 0xKobold only (shows in dev mode)
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/scripts/postinstall.js
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* Post-install
|
|
4
|
-
* Shows
|
|
3
|
+
* Post-install script
|
|
4
|
+
* - Shows welcome message
|
|
5
|
+
* - Copies default agents to ~/.0xkobold/agents/
|
|
5
6
|
*/
|
|
6
7
|
|
|
7
8
|
import { homedir } from "node:os";
|
|
8
|
-
import { join } from "node:path";
|
|
9
|
+
import { join, dirname } from "node:path";
|
|
9
10
|
import { existsSync } from "node:fs";
|
|
11
|
+
import { mkdir, copyFile, readdir } from "node:fs/promises";
|
|
12
|
+
import { fileURLToPath } from "node:url";
|
|
13
|
+
|
|
14
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
10
15
|
|
|
11
16
|
const isCiEnvironment = () => {
|
|
12
17
|
return process.env.CI ||
|
|
@@ -14,6 +19,38 @@ const isCiEnvironment = () => {
|
|
|
14
19
|
process.env.NODE_ENV === "test";
|
|
15
20
|
};
|
|
16
21
|
|
|
22
|
+
async function copyDefaultAgents() {
|
|
23
|
+
const agentsDir = join(homedir(), ".0xkobold", "agents");
|
|
24
|
+
const sourceDir = join(__dirname, "..", "src", "extensions", "agents");
|
|
25
|
+
|
|
26
|
+
try {
|
|
27
|
+
// Create agents directory
|
|
28
|
+
await mkdir(agentsDir, { recursive: true });
|
|
29
|
+
|
|
30
|
+
// Check if source exists (development mode)
|
|
31
|
+
if (!existsSync(sourceDir)) {
|
|
32
|
+
return; // In production, agents are bundled differently
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Copy default agents if they don't exist
|
|
36
|
+
const files = await readdir(sourceDir);
|
|
37
|
+
for (const file of files) {
|
|
38
|
+
if (file.endsWith('.md')) {
|
|
39
|
+
const sourcePath = join(sourceDir, file);
|
|
40
|
+
const targetPath = join(agentsDir, file);
|
|
41
|
+
|
|
42
|
+
if (!existsSync(targetPath)) {
|
|
43
|
+
await copyFile(sourcePath, targetPath);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
console.log(` 📁 Agents installed to: ${agentsDir}`);
|
|
49
|
+
} catch (error) {
|
|
50
|
+
// Silently fail - not critical
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
17
54
|
const showWelcome = () => {
|
|
18
55
|
const configPath = join(homedir(), ".0xkobold", "config.json");
|
|
19
56
|
const isConfigured = existsSync(configPath);
|
|
@@ -68,4 +105,9 @@ const showWelcome = () => {
|
|
|
68
105
|
};
|
|
69
106
|
|
|
70
107
|
// Only show in actual install, not CI
|
|
71
|
-
|
|
108
|
+
async function main() {
|
|
109
|
+
await copyDefaultAgents();
|
|
110
|
+
showWelcome();
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
main();
|