0xkobold 0.6.4 → 0.6.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 +4 -2
- package/dist/src/cli/index.js +0 -0
- package/package.json +4 -2
- package/dist/src/agents/task-router.js +0 -194
- package/dist/src/agents/task-router.js.map +0 -1
- package/dist/src/agents/tools/index.js +0 -2
- package/dist/src/agents/tools/index.js.map +0 -1
- package/dist/src/agents/tools/spawn-agent.js +0 -200
- package/dist/src/agents/tools/spawn-agent.js.map +0 -1
- package/dist/src/agents/types/definitions.js +0 -317
- package/dist/src/agents/types/definitions.js.map +0 -1
- package/dist/src/agents/types/index.js +0 -2
- package/dist/src/agents/types/index.js.map +0 -1
- package/dist/src/cli/program-fixed.js +0 -1
- package/dist/src/cli/program-fixed.js.map +0 -1
- package/dist/src/extensions/core/agent-lifecycle-extension.js +0 -323
- package/dist/src/extensions/core/agent-lifecycle-extension.js.map +0 -1
- package/dist/src/extensions/core/agent-registry-extension.js +0 -541
- package/dist/src/extensions/core/agent-registry-extension.js.map +0 -1
- package/dist/src/extensions/core/agent-worker.js +0 -148
- package/dist/src/extensions/core/agent-worker.js.map +0 -1
- package/dist/src/extensions/core/agent-workspace-extension.js +0 -174
- package/dist/src/extensions/core/agent-workspace-extension.js.map +0 -1
- package/dist/src/extensions/core/auto-compact-on-error-extension.js +0 -244
- package/dist/src/extensions/core/auto-compact-on-error-extension.js.map +0 -1
- package/dist/src/extensions/core/autonomous-executor-extension.js +0 -145
- package/dist/src/extensions/core/autonomous-executor-extension.js.map +0 -1
- package/dist/src/extensions/core/autonomous-subagent-extension.js +0 -333
- package/dist/src/extensions/core/autonomous-subagent-extension.js.map +0 -1
- package/dist/src/extensions/core/compaction-safeguard-v2.js +0 -95
- package/dist/src/extensions/core/compaction-safeguard-v2.js.map +0 -1
- package/dist/src/extensions/core/confirm-destructive.js +0 -43
- package/dist/src/extensions/core/confirm-destructive.js.map +0 -1
- package/dist/src/extensions/core/context-aware-extension.js +0 -124
- package/dist/src/extensions/core/context-aware-extension.js.map +0 -1
- package/dist/src/extensions/core/deprecated/agent-lifecycle-extension.js +0 -323
- package/dist/src/extensions/core/deprecated/agent-lifecycle-extension.js.map +0 -1
- package/dist/src/extensions/core/deprecated/autonomous-subagent-extension.js +0 -333
- package/dist/src/extensions/core/deprecated/autonomous-subagent-extension.js.map +0 -1
- package/dist/src/extensions/core/deprecated/subagent-extension.js +0 -647
- package/dist/src/extensions/core/deprecated/subagent-extension.js.map +0 -1
- package/dist/src/extensions/core/dirty-repo-guard.js +0 -42
- package/dist/src/extensions/core/dirty-repo-guard.js.map +0 -1
- package/dist/src/extensions/core/env-loader-extension.js +0 -157
- package/dist/src/extensions/core/env-loader-extension.js.map +0 -1
- package/dist/src/extensions/core/git-checkpoint.js +0 -46
- package/dist/src/extensions/core/git-checkpoint.js.map +0 -1
- package/dist/src/extensions/core/handoff-extension.js +0 -206
- package/dist/src/extensions/core/handoff-extension.js.map +0 -1
- package/dist/src/extensions/core/memory-extension.js +0 -120
- package/dist/src/extensions/core/memory-extension.js.map +0 -1
- package/dist/src/extensions/core/memory-synthesis-extension.js +0 -137
- package/dist/src/extensions/core/memory-synthesis-extension.js.map +0 -1
- package/dist/src/extensions/core/mode-manager-extension.js +0 -592
- package/dist/src/extensions/core/mode-manager-extension.js.map +0 -1
- package/dist/src/extensions/core/ollama-cloud-extension.js +0 -132
- package/dist/src/extensions/core/ollama-cloud-extension.js.map +0 -1
- package/dist/src/extensions/core/ollama-provider-extension.js +0 -66
- package/dist/src/extensions/core/ollama-provider-extension.js.map +0 -1
- package/dist/src/extensions/core/ollama-router-extension.js +0 -41
- package/dist/src/extensions/core/ollama-router-extension.js.map +0 -1
- package/dist/src/extensions/core/protected-paths.js +0 -24
- package/dist/src/extensions/core/protected-paths.js.map +0 -1
- package/dist/src/extensions/core/questionnaire-extension.js +0 -242
- package/dist/src/extensions/core/questionnaire-extension.js.map +0 -1
- package/dist/src/extensions/core/session-bridge-extension.js +0 -14
- package/dist/src/extensions/core/session-bridge-extension.js.map +0 -1
- package/dist/src/extensions/core/session-manager-extension.js +0 -336
- package/dist/src/extensions/core/session-manager-extension.js.map +0 -1
- package/dist/src/extensions/core/session-name-extension.js +0 -88
- package/dist/src/extensions/core/session-name-extension.js.map +0 -1
- package/dist/src/extensions/core/session-pruning-extension.js +0 -480
- package/dist/src/extensions/core/session-pruning-extension.js.map +0 -1
- package/dist/src/extensions/core/subagent-extension.js +0 -647
- package/dist/src/extensions/core/subagent-extension.js.map +0 -1
- package/dist/src/extensions/core/tui-integration-extension-fixed.js +0 -3
- package/dist/src/extensions/core/tui-integration-extension-fixed.js.map +0 -1
- package/dist/src/extensions/core/websearch-extension.js +0 -489
- package/dist/src/extensions/core/websearch-extension.js.map +0 -1
- package/dist/src/extensions/core/websearch-v2-extension.js +0 -303
- package/dist/src/extensions/core/websearch-v2-extension.js.map +0 -1
- package/dist/src/tui/commands/final-functions.js +0 -39
- package/dist/src/tui/commands/final-functions.js.map +0 -1
- package/dist/src/tui/commands/orchestration-final-section.js +0 -84
- package/dist/src/tui/commands/orchestration-final-section.js.map +0 -1
- package/dist/src/tui/components/footer.js +0 -106
- package/dist/src/tui/components/footer.js.map +0 -1
- package/dist/src/tui/components/sidebar.js +0 -82
- package/dist/src/tui/components/sidebar.js.map +0 -1
- package/dist/src/tui/gateway-chat-client.js +0 -218
- package/dist/src/tui/gateway-chat-client.js.map +0 -1
- package/dist/src/tui/pi-tui-integration.js +0 -260
- package/dist/src/tui/pi-tui-integration.js.map +0 -1
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "0xkobold",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.5",
|
|
4
4
|
"description": "Your digital familiar - Koclaw-style gateway, session management, and multi-agent orchestration",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
"./package.json": "./package.json"
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
|
+
"clean": "rm -rf dist/",
|
|
19
20
|
"build": "tsc",
|
|
21
|
+
"build:clean": "npm run clean && npm run build",
|
|
20
22
|
"dev": "tsc --watch",
|
|
21
23
|
"start": "bun run src/index.ts",
|
|
22
24
|
"cli": "bun run src/cli/index.ts",
|
|
@@ -28,7 +30,7 @@
|
|
|
28
30
|
"update:install": "bun run src/cli/index.ts update install",
|
|
29
31
|
"update:framework": "bun run src/cli/index.ts update framework",
|
|
30
32
|
"setup-hooks": "bash scripts/install-hooks.sh",
|
|
31
|
-
"prepublishOnly": "
|
|
33
|
+
"prepublishOnly": "npm run clean && npm run build",
|
|
32
34
|
"postinstall": "node scripts/postinstall.js && node scripts/link-pi-extensions.js || echo 'Welcome to 0xKobold! Run: 0xkobold setup'"
|
|
33
35
|
},
|
|
34
36
|
"keywords": [
|
package/dist/src/cli/index.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "0xkobold",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.5",
|
|
4
4
|
"description": "Your digital familiar - Koclaw-style gateway, session management, and multi-agent orchestration",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
"./package.json": "./package.json"
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
|
+
"clean": "rm -rf dist/",
|
|
19
20
|
"build": "tsc",
|
|
21
|
+
"build:clean": "npm run clean && npm run build",
|
|
20
22
|
"dev": "tsc --watch",
|
|
21
23
|
"start": "bun run src/index.ts",
|
|
22
24
|
"cli": "bun run src/cli/index.ts",
|
|
@@ -28,7 +30,7 @@
|
|
|
28
30
|
"update:install": "bun run src/cli/index.ts update install",
|
|
29
31
|
"update:framework": "bun run src/cli/index.ts update framework",
|
|
30
32
|
"setup-hooks": "bash scripts/install-hooks.sh",
|
|
31
|
-
"prepublishOnly": "
|
|
33
|
+
"prepublishOnly": "npm run clean && npm run build",
|
|
32
34
|
"postinstall": "node scripts/postinstall.js && node scripts/link-pi-extensions.js || echo 'Welcome to 0xKobold! Run: 0xkobold setup'"
|
|
33
35
|
},
|
|
34
36
|
"keywords": [
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Task Router - v0.2.0
|
|
3
|
-
*
|
|
4
|
-
* Routes tasks to appropriate agent types based on task content.
|
|
5
|
-
* Part of the Unified Agent Orchestration system.
|
|
6
|
-
*/
|
|
7
|
-
import { AGENT_TYPES } from "./types/index.js";
|
|
8
|
-
/**
|
|
9
|
-
* Analyze task and route to appropriate agent
|
|
10
|
-
*/
|
|
11
|
-
export function routeTask(request) {
|
|
12
|
-
const task = request.task.toLowerCase();
|
|
13
|
-
const context = (request.context || "").toLowerCase();
|
|
14
|
-
// Keywords for each agent type
|
|
15
|
-
const keywords = {
|
|
16
|
-
coordinator: ["plan", "coordinate", "organize", "delegate", "manage", "break down", "multiple"],
|
|
17
|
-
researcher: ["research", "find", "search", "investigate", "lookup", "document", "learn about"],
|
|
18
|
-
reviewer: ["review", "check", "validate", "audit", "inspect", "quality", "verify"],
|
|
19
|
-
specialist: ["optimize", "refactor", "architecture", "design", "expert", "complex", "advanced"],
|
|
20
|
-
worker: ["implement", "code", "write", "create", "build", "fix", "test", "update"]
|
|
21
|
-
};
|
|
22
|
-
// Score each agent type
|
|
23
|
-
const scores = {
|
|
24
|
-
coordinator: 0,
|
|
25
|
-
researcher: 0,
|
|
26
|
-
reviewer: 0,
|
|
27
|
-
specialist: 0,
|
|
28
|
-
worker: 0
|
|
29
|
-
};
|
|
30
|
-
// Check keywords
|
|
31
|
-
for (const [agentType, words] of Object.entries(keywords)) {
|
|
32
|
-
for (const word of words) {
|
|
33
|
-
if (task.includes(word) || context.includes(word)) {
|
|
34
|
-
scores[agentType] += 1;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
// Special patterns
|
|
39
|
-
if (/\b(design|architect|optimize|performance|security)\b/.test(task + context)) {
|
|
40
|
-
scores.specialist += 2;
|
|
41
|
-
}
|
|
42
|
-
if (/\b(bug|fix|implement|create|write)\b/.test(task + context)) {
|
|
43
|
-
scores.worker += 2;
|
|
44
|
-
}
|
|
45
|
-
if (/\b(review|check|validate|audit)\b/.test(task + context)) {
|
|
46
|
-
scores.reviewer += 2;
|
|
47
|
-
}
|
|
48
|
-
if (/\b(research|find|document|search)\b/.test(task + context)) {
|
|
49
|
-
scores.researcher += 2;
|
|
50
|
-
}
|
|
51
|
-
if (/\b(plan|coordinate|multiple|team|organize)\b/.test(task + context)) {
|
|
52
|
-
scores.coordinator += 2;
|
|
53
|
-
}
|
|
54
|
-
// Find best match
|
|
55
|
-
let bestAgent = "worker"; // default
|
|
56
|
-
let bestScore = -1;
|
|
57
|
-
for (const [agent, score] of Object.entries(scores)) {
|
|
58
|
-
if (score > bestScore) {
|
|
59
|
-
bestScore = score;
|
|
60
|
-
bestAgent = agent;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
// Calculate confidence
|
|
64
|
-
const confidence = Math.min(0.95, 0.5 + bestScore * 0.15);
|
|
65
|
-
// Get alternatives
|
|
66
|
-
const alternatives = Object.entries(scores)
|
|
67
|
-
.filter(([agent, score]) => agent !== bestAgent && score > 0)
|
|
68
|
-
.sort((a, b) => b[1] - a[1])
|
|
69
|
-
.slice(0, 2)
|
|
70
|
-
.map(([agent]) => AGENT_TYPES[agent]);
|
|
71
|
-
// Estimate complexity
|
|
72
|
-
let complexity = "medium";
|
|
73
|
-
if (/\b(plan|architecture|design|multiple|coordinate)\b/i.test(task)) {
|
|
74
|
-
complexity = "complex";
|
|
75
|
-
}
|
|
76
|
-
else if (/\b(simple|quick|minor|small)\b/i.test(task)) {
|
|
77
|
-
complexity = "simple";
|
|
78
|
-
}
|
|
79
|
-
// Build reasoning
|
|
80
|
-
const reasoning = buildReasoning(bestAgent, request, scores);
|
|
81
|
-
return {
|
|
82
|
-
recommendedAgent: AGENT_TYPES[bestAgent],
|
|
83
|
-
confidence,
|
|
84
|
-
reasoning,
|
|
85
|
-
alternativeAgents: alternatives,
|
|
86
|
-
estimatedComplexity: complexity,
|
|
87
|
-
suggestions: generateSuggestions(request, bestAgent)
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Build human-readable reasoning
|
|
92
|
-
*/
|
|
93
|
-
function buildReasoning(agentType, request, scores) {
|
|
94
|
-
const task = request.task;
|
|
95
|
-
switch (agentType) {
|
|
96
|
-
case "coordinator":
|
|
97
|
-
return `Task "${task}" appears to require planning and coordination. It mentions aspects that suggest multiple subtasks or need for delegation.`;
|
|
98
|
-
case "researcher":
|
|
99
|
-
return `Task "${task}" is primarily about information gathering. A Researcher is best suited to find and synthesize this information.`;
|
|
100
|
-
case "reviewer":
|
|
101
|
-
return `Task "${task}" involves validation and quality assurance. A Reviewer will ensure standards are met.`;
|
|
102
|
-
case "specialist":
|
|
103
|
-
return `Task "${task}" requires deep domain expertise. A Specialist ${AGENT_TYPES.specialist.emoji} has the knowledge needed.`;
|
|
104
|
-
case "worker":
|
|
105
|
-
default:
|
|
106
|
-
return `Task "${task}" is an implementation task best handled by a Worker agent. All scores: ${JSON.stringify(scores)}`;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Generate helpful suggestions
|
|
111
|
-
*/
|
|
112
|
-
function generateSuggestions(request, agentType) {
|
|
113
|
-
const suggestions = [];
|
|
114
|
-
if (agentType === "coordinator") {
|
|
115
|
-
suggestions.push("Consider breaking this into clearly defined subtasks");
|
|
116
|
-
suggestions.push("Identify dependencies between subtasks");
|
|
117
|
-
}
|
|
118
|
-
if (agentType === "worker") {
|
|
119
|
-
const complexity = /\b(complex|multiple|architecture)\b/i.test(request.task) ? "high" : "low";
|
|
120
|
-
if (complexity === "high") {
|
|
121
|
-
suggestions.push("This appears complex - consider using a Specialist for the design phase");
|
|
122
|
-
suggestions.push("A Reviewer could validate the implementation");
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
if (agentType === "specialist") {
|
|
126
|
-
suggestions.push("Consider having a Worker implement the solution after design");
|
|
127
|
-
}
|
|
128
|
-
if (!request.expectedOutput) {
|
|
129
|
-
suggestions.push("Consider specifying expected output format in the task");
|
|
130
|
-
}
|
|
131
|
-
return suggestions;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Get quick agent recommendation
|
|
135
|
-
*/
|
|
136
|
-
export function quickRoute(task) {
|
|
137
|
-
const result = routeTask({ task });
|
|
138
|
-
return result.recommendedAgent;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Check if task should use subagents
|
|
142
|
-
*/
|
|
143
|
-
export function shouldUseSubagents(task) {
|
|
144
|
-
const complexity = analyzeComplexity(task);
|
|
145
|
-
if (complexity === "simple") {
|
|
146
|
-
return {
|
|
147
|
-
useSubagents: false,
|
|
148
|
-
reason: "Task is simple enough to handle directly",
|
|
149
|
-
complexity
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
if (complexity === "complex") {
|
|
153
|
-
return {
|
|
154
|
-
useSubagents: true,
|
|
155
|
-
reason: "Complex task would benefit from coordinated subagents",
|
|
156
|
-
complexity
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
return {
|
|
160
|
-
useSubagents: false,
|
|
161
|
-
reason: "Medium complexity - use subagents if parallel work is possible",
|
|
162
|
-
complexity
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Analyze task complexity
|
|
167
|
-
*/
|
|
168
|
-
function analyzeComplexity(task) {
|
|
169
|
-
const taskLower = task.toLowerCase();
|
|
170
|
-
// Complex indicators
|
|
171
|
-
const complexIndicators = [
|
|
172
|
-
/\b(multiple|several|various)\b/,
|
|
173
|
-
/\b(coordinate|orchestrate|plan)\b/,
|
|
174
|
-
/\b(architecture|design|refactor)\b/,
|
|
175
|
-
/\band\b.*\band\b.*\band\b/, // Multiple "and" clauses
|
|
176
|
-
/\b(system|framework|platform)\b/,
|
|
177
|
-
/\b(migrate|upgrade|rewrite)\b/,
|
|
178
|
-
];
|
|
179
|
-
// Simple indicators
|
|
180
|
-
const simpleIndicators = [
|
|
181
|
-
/\b(simple|quick|minor|small|fix)\b/,
|
|
182
|
-
/^\s*\w+\s+(the|a|an)\s+\w+\s*$/, // Simple action pattern
|
|
183
|
-
/^\s*(add|fix|update|remove)\s+/i,
|
|
184
|
-
/\b(just|only|single)\b/,
|
|
185
|
-
];
|
|
186
|
-
const complexScore = complexIndicators.filter(r => r.test(taskLower)).length;
|
|
187
|
-
const simpleScore = simpleIndicators.filter(r => r.test(taskLower)).length;
|
|
188
|
-
if (complexScore >= 2)
|
|
189
|
-
return "complex";
|
|
190
|
-
if (simpleScore >= 2 || task.length < 50)
|
|
191
|
-
return "simple";
|
|
192
|
-
return "medium";
|
|
193
|
-
}
|
|
194
|
-
//# sourceMappingURL=task-router.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-router.js","sourceRoot":"","sources":["../../../src/agents/task-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/agents/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Spawn Agent Tool - v0.2.0
|
|
3
|
-
*
|
|
4
|
-
* Spawns a subagent of a specific type with appropriate configuration.
|
|
5
|
-
* Part of the Unified Agent Orchestration system.
|
|
6
|
-
*/
|
|
7
|
-
import { getAgentType } from "../types/index.js";
|
|
8
|
-
import { routeTask } from "../task-router.js";
|
|
9
|
-
/**
|
|
10
|
-
* Generate unique agent ID
|
|
11
|
-
*/
|
|
12
|
-
function generateAgentId(type) {
|
|
13
|
-
const timestamp = Date.now().toString(36).slice(-4);
|
|
14
|
-
const random = Math.random().toString(36).slice(2, 6);
|
|
15
|
-
return `${type}-${timestamp}-${random}`;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Spawn a specialized agent
|
|
19
|
-
*/
|
|
20
|
-
export async function spawnAgent(params) {
|
|
21
|
-
let agentType;
|
|
22
|
-
let routingInfo;
|
|
23
|
-
// Auto-route if requested or no type specified
|
|
24
|
-
if (params.autoRoute || !params.agentType) {
|
|
25
|
-
const taskRequest = {
|
|
26
|
-
task: params.task,
|
|
27
|
-
context: params.context,
|
|
28
|
-
priority: params.priority,
|
|
29
|
-
};
|
|
30
|
-
routingInfo = routeTask(taskRequest);
|
|
31
|
-
agentType = routingInfo.recommendedAgent;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
const found = getAgentType(params.agentType);
|
|
35
|
-
if (!found) {
|
|
36
|
-
return {
|
|
37
|
-
success: false,
|
|
38
|
-
agentId: "",
|
|
39
|
-
agentType: getAgentType("worker"), // fallback
|
|
40
|
-
task: params.task,
|
|
41
|
-
systemPrompt: "",
|
|
42
|
-
maxIterations: 0,
|
|
43
|
-
error: `Unknown agent type: ${params.agentType}. Valid types: coordinator, specialist, researcher, worker, reviewer`,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
agentType = found;
|
|
47
|
-
}
|
|
48
|
-
const agentId = generateAgentId(agentType.id);
|
|
49
|
-
// Build system prompt
|
|
50
|
-
const systemPrompt = buildAgentSystemPrompt(agentType, params);
|
|
51
|
-
// Override maxIterations if specified
|
|
52
|
-
const maxIterations = params.maxIterations || agentType.maxIterations;
|
|
53
|
-
return {
|
|
54
|
-
success: true,
|
|
55
|
-
agentId,
|
|
56
|
-
agentType,
|
|
57
|
-
task: params.task,
|
|
58
|
-
systemPrompt,
|
|
59
|
-
maxIterations,
|
|
60
|
-
routingInfo,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Build system prompt for the agent
|
|
65
|
-
*/
|
|
66
|
-
function buildAgentSystemPrompt(agentType, params) {
|
|
67
|
-
const parts = [];
|
|
68
|
-
// Agent identity
|
|
69
|
-
parts.push(`${agentType.systemPrompt}`);
|
|
70
|
-
// Task context
|
|
71
|
-
if (params.context) {
|
|
72
|
-
parts.push("");
|
|
73
|
-
parts.push(`<!-- Task Context -->`);
|
|
74
|
-
parts.push(`Additional context: ${params.context}`);
|
|
75
|
-
}
|
|
76
|
-
// Priority
|
|
77
|
-
if (params.priority) {
|
|
78
|
-
parts.push("");
|
|
79
|
-
parts.push(`<!-- Priority -->`);
|
|
80
|
-
parts.push(`Priority: ${params.priority.toUpperCase()}`);
|
|
81
|
-
}
|
|
82
|
-
// Capabilities reminder
|
|
83
|
-
parts.push("");
|
|
84
|
-
parts.push(`<!-- Your Capabilities -->`);
|
|
85
|
-
parts.push(agentType.capabilities.map(c => `- ${c}`).join("\n"));
|
|
86
|
-
// Available tools
|
|
87
|
-
parts.push("");
|
|
88
|
-
parts.push(`<!-- Available Tools -->`);
|
|
89
|
-
parts.push(agentType.tools.map(t => `- ${t}`).join("\n"));
|
|
90
|
-
return parts.join("\n\n");
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Spawn multiple agents in parallel
|
|
94
|
-
*/
|
|
95
|
-
export async function spawnAgents(tasks) {
|
|
96
|
-
const promises = tasks.map((t) => spawnAgent({
|
|
97
|
-
task: t.task,
|
|
98
|
-
agentType: t.agentType,
|
|
99
|
-
context: t.context,
|
|
100
|
-
autoRoute: !t.agentType,
|
|
101
|
-
}));
|
|
102
|
-
return Promise.all(promises);
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Get agent spawn configuration for tool registration
|
|
106
|
-
*/
|
|
107
|
-
export function getSpawnAgentToolConfig() {
|
|
108
|
-
return {
|
|
109
|
-
name: "spawn_agent",
|
|
110
|
-
description: `Spawn a specialized subagent to handle a task.
|
|
111
|
-
|
|
112
|
-
This tool creates a subagent of a specific type:
|
|
113
|
-
- coordinator (🎯): Plans and delegates complex tasks
|
|
114
|
-
- specialist (🧠): Deep domain expertise
|
|
115
|
-
- researcher (🔍): Gathers information and synthesizes findings
|
|
116
|
-
- worker (⚒️): Implements code and executes tasks
|
|
117
|
-
- reviewer (👁️): Reviews code and validates quality
|
|
118
|
-
|
|
119
|
-
Use autoRoute: true to let the system choose the best agent type.`,
|
|
120
|
-
parameters: {
|
|
121
|
-
type: "object",
|
|
122
|
-
properties: {
|
|
123
|
-
task: {
|
|
124
|
-
type: "string",
|
|
125
|
-
description: "The task to assign to the subagent. Be specific and clear.",
|
|
126
|
-
},
|
|
127
|
-
agentType: {
|
|
128
|
-
type: "string",
|
|
129
|
-
enum: ["coordinator", "specialist", "researcher", "worker", "reviewer"],
|
|
130
|
-
description: "Type of agent to spawn. Use autoRoute: true to let system choose.",
|
|
131
|
-
},
|
|
132
|
-
autoRoute: {
|
|
133
|
-
type: "boolean",
|
|
134
|
-
description: "If true, automatically determine best agent type",
|
|
135
|
-
default: true,
|
|
136
|
-
},
|
|
137
|
-
context: {
|
|
138
|
-
type: "string",
|
|
139
|
-
description: "Additional context for the agent",
|
|
140
|
-
},
|
|
141
|
-
priority: {
|
|
142
|
-
type: "string",
|
|
143
|
-
enum: ["low", "normal", "high"],
|
|
144
|
-
default: "normal",
|
|
145
|
-
},
|
|
146
|
-
},
|
|
147
|
-
required: ["task"],
|
|
148
|
-
},
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Spawn agent tool for ExtensionAPI
|
|
153
|
-
*/
|
|
154
|
-
export async function executeSpawnAgent(args) {
|
|
155
|
-
const result = await spawnAgent({
|
|
156
|
-
task: args.task,
|
|
157
|
-
agentType: args.agentType,
|
|
158
|
-
autoRoute: args.autoRoute ?? true,
|
|
159
|
-
context: args.context,
|
|
160
|
-
priority: args.priority ?? "normal",
|
|
161
|
-
maxIterations: args.maxIterations,
|
|
162
|
-
model: args.model,
|
|
163
|
-
});
|
|
164
|
-
if (!result.success) {
|
|
165
|
-
return {
|
|
166
|
-
success: false,
|
|
167
|
-
error: result.error,
|
|
168
|
-
content: [
|
|
169
|
-
{
|
|
170
|
-
type: "text",
|
|
171
|
-
text: `Failed to spawn agent: ${result.error}`,
|
|
172
|
-
},
|
|
173
|
-
],
|
|
174
|
-
details: { error: result.error },
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
const routingText = result.routingInfo
|
|
178
|
-
? `\n\nAuto-routing analysis:\n${result.routingInfo.reasoning}\n\nConfidence: ${Math.round(result.routingInfo.confidence * 100)}%\n\nAlternative agents: ${result.routingInfo.alternativeAgents
|
|
179
|
-
.map((a) => `${a.emoji} ${a.name}`)
|
|
180
|
-
.join(", ") || "none"}`
|
|
181
|
-
: "";
|
|
182
|
-
return {
|
|
183
|
-
success: true,
|
|
184
|
-
content: [
|
|
185
|
-
{
|
|
186
|
-
type: "text",
|
|
187
|
-
text: `Spawned ${result.agentType.emoji} ${result.agentType.name}\n\nID: ${result.agentId}\nTask: ${result.task}\nMax iterations: ${result.maxIterations}${routingText}`,
|
|
188
|
-
},
|
|
189
|
-
],
|
|
190
|
-
details: {
|
|
191
|
-
agentId: result.agentId,
|
|
192
|
-
agentType: result.agentType.id,
|
|
193
|
-
task: result.task,
|
|
194
|
-
systemPrompt: result.systemPrompt,
|
|
195
|
-
maxIterations: result.maxIterations,
|
|
196
|
-
routingInfo: result.routingInfo,
|
|
197
|
-
},
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
//# sourceMappingURL=spawn-agent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-agent.js","sourceRoot":"","sources":["../../../../src/agents/tools/spawn-agent.ts"],"names":[],"mappings":"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"}
|