0xkobold 0.6.4 → 0.6.6
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 +9 -3
- package/dist/package.json +4 -2
- package/dist/src/cli/index.js +0 -0
- package/dist/src/extensions/core/workspace-footer-extension.js +2 -11
- package/dist/src/extensions/core/workspace-footer-extension.js.map +1 -1
- package/dist/src/index.js +31 -5
- package/dist/src/index.js.map +1 -1
- 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/README.md
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
# 0xKobold v0.6.
|
|
1
|
+
# 0xKobold v0.6.6 "Workspace Isolation"
|
|
2
2
|
|
|
3
|
-
**v0.6.
|
|
3
|
+
**v0.6.6** — Enforce global workspace sandboxing, proper CWD isolation
|
|
4
4
|
|
|
5
|
-
**v0.6.
|
|
5
|
+
**v0.6.5** — Clean dist/ before build, removes ghost extensions
|
|
6
|
+
|
|
7
|
+
**v0.6.4** — Fix workspace detection from home directory
|
|
8
|
+
|
|
9
|
+
**v0.6.3** — Workspace-aware footer, cleaner gateway display
|
|
10
|
+
|
|
11
|
+
**v0.6.2** — Gateway auto-start opt-in (fixes port conflicts)
|
|
6
12
|
|
|
7
13
|
**v0.6.0 "Koclaw Gateway"** — JSON-RPC gateway, session persistence, multi-channel
|
|
8
14
|
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "0xkobold",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.6",
|
|
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
|
|
@@ -65,20 +65,11 @@ export default async function register(pi) {
|
|
|
65
65
|
const state = getWorkspaceState();
|
|
66
66
|
console.log(`[WorkspaceFooter] Mode: ${state.isLocal ? 'local' : 'global'}`);
|
|
67
67
|
console.log(`[WorkspaceFooter] Path: ${state.workspacePath}`);
|
|
68
|
-
|
|
68
|
+
console.log(`[WorkspaceFooter] CWD: ${process.cwd()}`);
|
|
69
|
+
// Set footer status (cwd already set at entry point)
|
|
69
70
|
const emoji = state.isLocal ? "📁" : "🏠";
|
|
70
71
|
const text = `${emoji} ${state.displayPath}`;
|
|
71
72
|
ctx.ui.setStatus("workspace", text);
|
|
72
|
-
// Update working directory for file operations
|
|
73
|
-
if (state.workspacePath !== process.cwd()) {
|
|
74
|
-
try {
|
|
75
|
-
process.chdir(state.workspacePath);
|
|
76
|
-
console.log(`[WorkspaceFooter] Changed cwd to: ${state.workspacePath}`);
|
|
77
|
-
}
|
|
78
|
-
catch (err) {
|
|
79
|
-
console.warn(`[WorkspaceFooter] Could not change cwd: ${err}`);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
73
|
// Cleanup on shutdown
|
|
83
74
|
pi.on("session_shutdown", async () => {
|
|
84
75
|
ctx.ui.setStatus("workspace", undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-footer-extension.js","sourceRoot":"","sources":["../../../../src/extensions/core/workspace-footer-extension.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAY,MAAM,MAAM,CAAC;AAQzC,SAAS,UAAU,CAAC,CAAS;IAC3B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IAC3B,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;IAExD,kEAAkE;IAClE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACnD,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACnE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,UAAU;YACzB,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC;SACpC,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,eAAe;YAC9B,WAAW,EAAE,aAAa;SAC3B,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACnE,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,kBAAkB,KAAK,eAAe;QACtC,CAAC,kBAAkB,CAAC,UAAU,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;IAEtE,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC;IAE7D,sBAAsB;IACtB,IAAI,WAAmB,CAAC;IACxB,IAAI,OAAO,EAAE,CAAC;QACZ,iDAAiD;QACjD,IAAI,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACxC,WAAW,GAAG,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,aAAa,CAAC;QAC9B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,aAAa,CAAC;IAC9B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,QAAQ,CAAC,EAAgB;IACrD,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAqB,EAAE,EAAE;QAC7D,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;QAElC,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-footer-extension.js","sourceRoot":"","sources":["../../../../src/extensions/core/workspace-footer-extension.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -32,6 +32,35 @@ const extensionExt = isRunningFromDist ? '.js' : '.ts';
|
|
|
32
32
|
// Use 0xKobold directory for pi-coding-agent data (sessions, settings, auth)
|
|
33
33
|
// This keeps everything in ~/.0xkobold instead of ~/.pi
|
|
34
34
|
process.env.PI_CODING_AGENT_DIR = process.env.PI_CODING_AGENT_DIR || resolve(homedir(), '.0xkobold');
|
|
35
|
+
// Change working directory to global workspace when NOT in local mode
|
|
36
|
+
// This ensures file operations are sandboxed to ~/.0xkobold unless --local is used
|
|
37
|
+
const globalWorkspace = resolve(homedir(), '.0xkobold');
|
|
38
|
+
// Check process.argv directly since we're at module level (before main() runs)
|
|
39
|
+
const isLocalMode = process.argv.slice(2).includes('--local');
|
|
40
|
+
if (!isLocalMode) {
|
|
41
|
+
// Global mode: enforce working directory is ~/.0xkobold
|
|
42
|
+
process.env.KOBOLD_LOCAL_MODE = 'false';
|
|
43
|
+
if (existsSync(globalWorkspace)) {
|
|
44
|
+
try {
|
|
45
|
+
process.chdir(globalWorkspace);
|
|
46
|
+
process.env.KOBOLD_WORKING_DIR = globalWorkspace;
|
|
47
|
+
console.log(`[Workspace] Global mode - cwd set to: ${globalWorkspace}`);
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
console.warn(`[Workspace] Could not change to global workspace: ${err}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
console.warn(`[Workspace] Global workspace does not exist: ${globalWorkspace}`);
|
|
55
|
+
console.log(`[Workspace] Run '0xkobold init' to create it`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
// Local mode: cwd stays as-is (wherever --local was invoked from)
|
|
60
|
+
process.env.KOBOLD_LOCAL_MODE = 'true';
|
|
61
|
+
process.env.KOBOLD_WORKING_DIR = process.cwd();
|
|
62
|
+
console.log(`[Workspace] Local mode - cwd: ${process.cwd()}`);
|
|
63
|
+
}
|
|
35
64
|
// Disable pi-coding-agent's built-in update notifications
|
|
36
65
|
// (we manage our own updates via self-update-extension)
|
|
37
66
|
process.env.PI_SKIP_VERSION_CHECK = process.env.PI_SKIP_VERSION_CHECK || '1';
|
|
@@ -139,16 +168,13 @@ async function main() {
|
|
|
139
168
|
// Check for --local flag to enable per-project mode
|
|
140
169
|
const localMode = args.includes('--local');
|
|
141
170
|
if (localMode) {
|
|
142
|
-
//
|
|
143
|
-
process.env.KOBOLD_LOCAL_MODE = 'true';
|
|
171
|
+
// KOBOLD_LOCAL_MODE and KOBOLD_WORKING_DIR already set at module level
|
|
144
172
|
console.log('🐉 0xKobold starting in LOCAL mode...');
|
|
145
173
|
console.log(` Project: ${process.cwd()}`);
|
|
146
174
|
console.log(` Extensions: ${isRunningFromDist ? 'production' : 'development'}`);
|
|
147
175
|
}
|
|
148
176
|
else {
|
|
149
|
-
//
|
|
150
|
-
process.env.KOBOLD_LOCAL_MODE = 'false';
|
|
151
|
-
process.env.KOBOLD_WORKING_DIR = resolve(homedir(), '.0xkobold');
|
|
177
|
+
// Env vars already set at module level
|
|
152
178
|
console.log('🐉 0xKobold starting with PI Framework...');
|
|
153
179
|
if (isRunningFromDist) {
|
|
154
180
|
console.log(' Mode: Production (from dist)');
|
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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "0xkobold",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.6",
|
|
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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"}
|