deepseek-coder-agent-cli 1.0.58 → 1.0.65
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/README.md +206 -30
- package/dist/capabilities/unifiedCodingCapability.d.ts +6 -0
- package/dist/capabilities/unifiedCodingCapability.d.ts.map +1 -1
- package/dist/capabilities/unifiedCodingCapability.js +96 -3
- package/dist/capabilities/unifiedCodingCapability.js.map +1 -1
- package/dist/core/initialExplorer.d.ts +53 -0
- package/dist/core/initialExplorer.d.ts.map +1 -0
- package/dist/core/initialExplorer.js +423 -0
- package/dist/core/initialExplorer.js.map +1 -0
- package/dist/headless/interactiveShell.d.ts.map +1 -1
- package/dist/headless/interactiveShell.js +50 -0
- package/dist/headless/interactiveShell.js.map +1 -1
- package/dist/leanAgent.d.ts.map +1 -1
- package/dist/leanAgent.js +18 -1
- package/dist/leanAgent.js.map +1 -1
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts +8 -1
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts.map +1 -1
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js +90 -7
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js.map +1 -1
- package/package.json +1 -1
package/dist/leanAgent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"leanAgent.d.ts","sourceRoot":"","sources":["../src/leanAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAAiC,KAAK,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACrH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAMnD,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,QAAQ,EAAE,WAAW,CAAC;IACtB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,eAAe;YAuCrB,oBAAoB;
|
|
1
|
+
{"version":3,"file":"leanAgent.d.ts","sourceRoot":"","sources":["../src/leanAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAAiC,KAAK,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACrH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAMnD,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,QAAQ,EAAE,WAAW,CAAC;IACtB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,eAAe;YAuCrB,oBAAoB;IAgClC;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,UAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgBzE;;OAEG;IACH,MAAM,IAAI,IAAI;IAId;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,YAAY,IAAI,IAAI;IAKpB;;OAEG;IACH,UAAU;IAIV,OAAO,CAAC,sBAAsB;CAuC/B;AAMD,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAElE;AAED,eAAe,SAAS,CAAC"}
|
package/dist/leanAgent.js
CHANGED
|
@@ -60,9 +60,12 @@ export class LeanAgent {
|
|
|
60
60
|
async initializeCapability() {
|
|
61
61
|
if (this.initialized)
|
|
62
62
|
return;
|
|
63
|
-
// Initialize unified coding capability
|
|
63
|
+
// Initialize unified coding capability with provider for parallel agents
|
|
64
64
|
const capability = createUnifiedCodingCapability({
|
|
65
65
|
workingDir: this.config.workingDir ?? process.cwd(),
|
|
66
|
+
provider: this.config.provider,
|
|
67
|
+
providerId: this.config.providerId,
|
|
68
|
+
modelId: this.config.modelId,
|
|
66
69
|
...this.config.capabilities,
|
|
67
70
|
});
|
|
68
71
|
// Build and register tool suite
|
|
@@ -137,6 +140,7 @@ Your capabilities:
|
|
|
137
140
|
- bash: Execute shell commands
|
|
138
141
|
- git: Git operations (status, diff, commit, etc.)
|
|
139
142
|
- web_fetch: Fetch content from URLs
|
|
143
|
+
- parallel_agents: Execute multiple independent tasks in parallel using sub-agents
|
|
140
144
|
|
|
141
145
|
Guidelines:
|
|
142
146
|
1. Always read files before editing to understand context
|
|
@@ -145,6 +149,19 @@ Guidelines:
|
|
|
145
149
|
4. Explain what you're doing and why
|
|
146
150
|
5. Handle errors gracefully
|
|
147
151
|
|
|
152
|
+
Parallel Agents Guidelines:
|
|
153
|
+
Use the parallel_agents tool when you need to perform several INDEPENDENT operations simultaneously:
|
|
154
|
+
- Creating multiple unrelated files at once
|
|
155
|
+
- Searching in different directories or for different patterns
|
|
156
|
+
- Running independent edits that don't depend on each other
|
|
157
|
+
- Performing multiple lookups or reads that don't need sequential results
|
|
158
|
+
|
|
159
|
+
Do NOT use parallel_agents when:
|
|
160
|
+
- Tasks have dependencies (one task needs results from another)
|
|
161
|
+
- You're doing a single small task
|
|
162
|
+
- The tasks need to be executed in a specific order
|
|
163
|
+
- You're making edits where later edits depend on earlier ones
|
|
164
|
+
|
|
148
165
|
Working directory: ${this.config.workingDir ?? process.cwd()}`;
|
|
149
166
|
}
|
|
150
167
|
}
|
package/dist/leanAgent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"leanAgent.js","sourceRoot":"","sources":["../src/leanAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAuB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAA6B,MAAM,2CAA2C,CAAC;AAiCrH,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,MAAM,OAAO,SAAS;IACZ,OAAO,CAAe;IACtB,WAAW,CAAc;IACzB,MAAM,CAAkB;IACxB,SAAS,GAAa,EAAE,CAAC;IACzB,WAAW,GAAG,KAAK,CAAC;IAE5B,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,sBAAsB;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAErC,yBAAyB;QACzB,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC;YACxC,SAAS,EAAE,MAAM,CAAC,iBAAiB,IAAI,MAAM;YAC7C,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC;SACtE,CAAC,CAAC;QAEH,sBAAsB;QACtB,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE1E,uBAAuB;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC;YAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY;YACZ,cAAc;YACd,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,SAAS;YAC1C,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,SAAS;YACpC,gBAAgB,EAAE,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE;YACpD,SAAS,EAAE;gBACT,GAAG,MAAM,CAAC,SAAS;gBACnB,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;oBACjC,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;oBACD,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACrD,CAAC;aACF;SACF,CAAC,CAAC;QAEH,uCAAuC;QACvC,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,
|
|
1
|
+
{"version":3,"file":"leanAgent.js","sourceRoot":"","sources":["../src/leanAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import type { ToolPlugin } from '../registry.js';
|
|
2
|
-
|
|
2
|
+
import type { LLMProvider } from '../../../core/types.js';
|
|
3
|
+
export interface AgentSpawningOptions {
|
|
4
|
+
provider: LLMProvider;
|
|
5
|
+
workingDir?: string;
|
|
6
|
+
providerId?: string;
|
|
7
|
+
modelId?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function createAgentSpawningToolPlugin(options: AgentSpawningOptions): ToolPlugin;
|
|
3
10
|
//# sourceMappingURL=agentSpawningPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentSpawningPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/agentSpawning/agentSpawningPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"agentSpawningPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/agentSpawning/agentSpawningPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAmB1D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAiHD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CAMvF"}
|
|
@@ -1,27 +1,110 @@
|
|
|
1
|
+
import { LeanAgent } from '../../../leanAgent.js';
|
|
2
|
+
/** Maximum number of parallel sub-agents */
|
|
3
|
+
const MAX_CONCURRENCY = 5;
|
|
1
4
|
class AgentSpawningModule {
|
|
5
|
+
options;
|
|
2
6
|
id = 'tool.agent-spawning';
|
|
3
|
-
description = 'Spawn
|
|
7
|
+
description = 'Spawn parallel sub-agents for independent tasks.';
|
|
8
|
+
constructor(options) {
|
|
9
|
+
this.options = options;
|
|
10
|
+
}
|
|
4
11
|
async create() {
|
|
12
|
+
const opts = this.options;
|
|
5
13
|
const tools = [
|
|
6
14
|
{
|
|
7
|
-
name: '
|
|
8
|
-
description: '
|
|
9
|
-
|
|
15
|
+
name: 'parallel_agents',
|
|
16
|
+
description: 'Execute multiple independent tasks in parallel using sub-agents. ' +
|
|
17
|
+
'Each sub-agent gets its own tool suite (filesystem, edit, bash, search, git, web) and works independently. ' +
|
|
18
|
+
'Use this when you need to perform several independent operations simultaneously ' +
|
|
19
|
+
'(e.g., creating multiple files, searching in different places, running independent edits). ' +
|
|
20
|
+
'Do NOT use for tasks that depend on each other or for single small tasks.\n\n' +
|
|
21
|
+
'Parameter `tasks`: A JSON string encoding an array of objects, each with:\n' +
|
|
22
|
+
' - id: unique string identifier for the task\n' +
|
|
23
|
+
' - description: short label (3-5 words)\n' +
|
|
24
|
+
' - prompt: full instructions for the sub-agent',
|
|
25
|
+
parameters: {
|
|
26
|
+
type: 'object',
|
|
27
|
+
properties: {
|
|
28
|
+
tasks: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
description: 'JSON array of task objects: [{"id":"string","description":"short label","prompt":"full instructions"}]',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
required: ['tasks'],
|
|
34
|
+
},
|
|
35
|
+
handler: async (args) => {
|
|
36
|
+
let taskSpecs;
|
|
37
|
+
try {
|
|
38
|
+
taskSpecs = JSON.parse(args.tasks);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return 'Error: Could not parse tasks JSON. Provide a valid JSON array of {id, description, prompt} objects.';
|
|
42
|
+
}
|
|
43
|
+
if (!Array.isArray(taskSpecs) || taskSpecs.length === 0) {
|
|
44
|
+
return 'Error: tasks must be a non-empty JSON array.';
|
|
45
|
+
}
|
|
46
|
+
if (taskSpecs.length > MAX_CONCURRENCY) {
|
|
47
|
+
return `Error: Maximum ${MAX_CONCURRENCY} parallel tasks allowed. Got ${taskSpecs.length}.`;
|
|
48
|
+
}
|
|
49
|
+
// Validate each task
|
|
50
|
+
for (const t of taskSpecs) {
|
|
51
|
+
if (!t.id || !t.prompt) {
|
|
52
|
+
return `Error: Each task must have "id" and "prompt" fields. Invalid task: ${JSON.stringify(t)}`;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Execute tasks in parallel
|
|
56
|
+
const results = await Promise.all(taskSpecs.map(async (task) => {
|
|
57
|
+
try {
|
|
58
|
+
const subAgent = new LeanAgent({
|
|
59
|
+
provider: opts.provider,
|
|
60
|
+
workingDir: opts.workingDir ?? process.cwd(),
|
|
61
|
+
providerId: opts.providerId,
|
|
62
|
+
modelId: opts.modelId,
|
|
63
|
+
systemPrompt: 'You are a focused sub-agent executing a specific task. ' +
|
|
64
|
+
'Complete the task efficiently and report what you did. ' +
|
|
65
|
+
`Working directory: ${opts.workingDir ?? process.cwd()}`,
|
|
66
|
+
});
|
|
67
|
+
const response = await subAgent.chat(task.prompt, false);
|
|
68
|
+
return {
|
|
69
|
+
id: task.id,
|
|
70
|
+
description: task.description || task.id,
|
|
71
|
+
success: true,
|
|
72
|
+
output: response.content,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
return {
|
|
77
|
+
id: task.id,
|
|
78
|
+
description: task.description || task.id,
|
|
79
|
+
success: false,
|
|
80
|
+
output: `Error: ${error.message}`,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
}));
|
|
84
|
+
// Format results
|
|
85
|
+
const lines = [`Parallel execution complete: ${results.length} tasks`];
|
|
86
|
+
for (const r of results) {
|
|
87
|
+
const status = r.success ? 'OK' : 'FAILED';
|
|
88
|
+
lines.push(`\n--- [${status}] ${r.id}: ${r.description} ---`);
|
|
89
|
+
lines.push(r.output);
|
|
90
|
+
}
|
|
91
|
+
return lines.join('\n');
|
|
92
|
+
},
|
|
10
93
|
},
|
|
11
94
|
];
|
|
12
95
|
const toolSuite = {
|
|
13
96
|
id: 'agent-spawning.tools',
|
|
14
|
-
description: '
|
|
97
|
+
description: 'Parallel agent spawning tools',
|
|
15
98
|
tools,
|
|
16
99
|
};
|
|
17
100
|
return { id: this.id, description: this.description, toolSuite };
|
|
18
101
|
}
|
|
19
102
|
}
|
|
20
|
-
export function createAgentSpawningToolPlugin() {
|
|
103
|
+
export function createAgentSpawningToolPlugin(options) {
|
|
21
104
|
return {
|
|
22
105
|
id: 'tool.agent-spawning',
|
|
23
106
|
targets: ['universal'],
|
|
24
|
-
create: () => new AgentSpawningModule(),
|
|
107
|
+
create: () => new AgentSpawningModule(options),
|
|
25
108
|
};
|
|
26
109
|
}
|
|
27
110
|
//# sourceMappingURL=agentSpawningPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentSpawningPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/agentSpawning/agentSpawningPlugin.ts"],"names":[],"mappings":"AAIA,MAAM,mBAAmB;
|
|
1
|
+
{"version":3,"file":"agentSpawningPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/agentSpawning/agentSpawningPlugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED