joonecli 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -12
- package/dist/__tests__/optimizations.test.js.map +1 -1
- package/dist/__tests__/promptBuilder.test.js +14 -20
- package/dist/__tests__/promptBuilder.test.js.map +1 -1
- package/dist/agents/agentRegistry.d.ts +37 -0
- package/dist/agents/agentRegistry.js +58 -0
- package/dist/agents/agentRegistry.js.map +1 -0
- package/dist/agents/agentSpec.d.ts +54 -0
- package/dist/agents/agentSpec.js +9 -0
- package/dist/agents/agentSpec.js.map +1 -0
- package/dist/agents/builtinAgents.d.ts +20 -0
- package/{src/agents/builtinAgents.ts → dist/agents/builtinAgents.js} +84 -101
- package/dist/agents/builtinAgents.js.map +1 -0
- package/dist/cli/config.d.ts +4 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/index.js +29 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/postinstall.d.ts +2 -0
- package/dist/cli/postinstall.js +25 -0
- package/dist/cli/postinstall.js.map +1 -0
- package/dist/commands/builtinCommands.d.ts +21 -0
- package/dist/commands/builtinCommands.js +241 -0
- package/dist/commands/builtinCommands.js.map +1 -0
- package/dist/commands/commandRegistry.d.ts +92 -0
- package/dist/commands/commandRegistry.js +128 -0
- package/dist/commands/commandRegistry.js.map +1 -0
- package/dist/core/agentLoop.d.ts +7 -2
- package/dist/core/agentLoop.js +35 -13
- package/dist/core/agentLoop.js.map +1 -1
- package/dist/core/autoSave.d.ts +41 -0
- package/dist/core/autoSave.js +69 -0
- package/dist/core/autoSave.js.map +1 -0
- package/dist/core/compactor.d.ts +66 -0
- package/dist/core/compactor.js +170 -0
- package/dist/core/compactor.js.map +1 -0
- package/dist/core/contextGuard.d.ts +38 -0
- package/dist/core/contextGuard.js +122 -0
- package/dist/core/contextGuard.js.map +1 -0
- package/dist/core/events.d.ts +45 -0
- package/dist/core/events.js +8 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/promptBuilder.d.ts +16 -1
- package/dist/core/promptBuilder.js +27 -14
- package/dist/core/promptBuilder.js.map +1 -1
- package/dist/core/sessionResumer.js +3 -3
- package/dist/core/sessionResumer.js.map +1 -1
- package/dist/core/sessionStore.js +3 -2
- package/dist/core/sessionStore.js.map +1 -1
- package/dist/core/subAgent.d.ts +56 -0
- package/dist/core/subAgent.js +240 -0
- package/dist/core/subAgent.js.map +1 -0
- package/dist/core/tokenCounter.d.ts +8 -1
- package/dist/core/tokenCounter.js +28 -0
- package/dist/core/tokenCounter.js.map +1 -1
- package/dist/debug_google.d.ts +1 -0
- package/dist/debug_google.js +23 -0
- package/dist/debug_google.js.map +1 -0
- package/dist/middleware/permission.js +1 -0
- package/dist/middleware/permission.js.map +1 -1
- package/dist/test_google.d.ts +1 -0
- package/dist/test_google.js +32 -89
- package/dist/test_google.js.map +1 -0
- package/dist/tools/browser.js +4 -1
- package/dist/tools/browser.js.map +1 -1
- package/dist/tools/index.d.ts +2 -1
- package/dist/tools/index.js +11 -3
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/installHostDeps.d.ts +2 -0
- package/dist/tools/installHostDeps.js +37 -0
- package/dist/tools/installHostDeps.js.map +1 -0
- package/dist/tools/router.js +3 -0
- package/dist/tools/router.js.map +1 -1
- package/dist/tools/spawnAgent.d.ts +19 -0
- package/dist/tools/spawnAgent.js +132 -0
- package/dist/tools/spawnAgent.js.map +1 -0
- package/dist/tracing/sessionTracer.d.ts +1 -0
- package/dist/tracing/sessionTracer.js +4 -1
- package/dist/tracing/sessionTracer.js.map +1 -1
- package/dist/ui/App.js +94 -6
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/components/ActionLog.d.ts +7 -0
- package/dist/ui/components/ActionLog.js +63 -0
- package/dist/ui/components/ActionLog.js.map +1 -0
- package/dist/ui/components/FileBrowser.d.ts +2 -0
- package/dist/ui/components/FileBrowser.js +41 -0
- package/dist/ui/components/FileBrowser.js.map +1 -0
- package/package.json +5 -6
- package/AGENTS.md +0 -56
- package/Handover.md +0 -115
- package/PROGRESS.md +0 -160
- package/docs/01_insights_and_patterns.md +0 -27
- package/docs/02_edge_cases_and_mitigations.md +0 -143
- package/docs/03_initial_implementation_plan.md +0 -66
- package/docs/04_tech_stack_proposal.md +0 -20
- package/docs/05_prd.md +0 -87
- package/docs/06_user_stories.md +0 -72
- package/docs/07_system_architecture.md +0 -138
- package/docs/08_roadmap.md +0 -200
- package/e2b/Dockerfile +0 -26
- package/src/__tests__/bootstrap.test.ts +0 -111
- package/src/__tests__/config.test.ts +0 -97
- package/src/__tests__/m55.test.ts +0 -238
- package/src/__tests__/middleware.test.ts +0 -219
- package/src/__tests__/modelFactory.test.ts +0 -63
- package/src/__tests__/optimizations.test.ts +0 -201
- package/src/__tests__/promptBuilder.test.ts +0 -141
- package/src/__tests__/sandbox.test.ts +0 -102
- package/src/__tests__/security.test.ts +0 -122
- package/src/__tests__/streaming.test.ts +0 -82
- package/src/__tests__/toolRouter.test.ts +0 -52
- package/src/__tests__/tools.test.ts +0 -146
- package/src/__tests__/tracing.test.ts +0 -196
- package/src/agents/agentRegistry.ts +0 -69
- package/src/agents/agentSpec.ts +0 -67
- package/src/cli/config.ts +0 -124
- package/src/cli/index.ts +0 -730
- package/src/cli/modelFactory.ts +0 -174
- package/src/cli/providers.ts +0 -107
- package/src/commands/builtinCommands.ts +0 -293
- package/src/commands/commandRegistry.ts +0 -194
- package/src/core/agentLoop.d.ts.map +0 -1
- package/src/core/agentLoop.ts +0 -312
- package/src/core/autoSave.ts +0 -95
- package/src/core/compactor.ts +0 -252
- package/src/core/contextGuard.ts +0 -129
- package/src/core/errors.ts +0 -202
- package/src/core/promptBuilder.d.ts.map +0 -1
- package/src/core/promptBuilder.ts +0 -139
- package/src/core/reasoningRouter.ts +0 -121
- package/src/core/retry.ts +0 -75
- package/src/core/sessionResumer.ts +0 -90
- package/src/core/sessionStore.ts +0 -215
- package/src/core/subAgent.ts +0 -339
- package/src/core/tokenCounter.ts +0 -64
- package/src/evals/dataset.ts +0 -67
- package/src/evals/evaluator.ts +0 -81
- package/src/hitl/bridge.ts +0 -160
- package/src/middleware/commandSanitizer.ts +0 -60
- package/src/middleware/loopDetection.ts +0 -63
- package/src/middleware/permission.ts +0 -72
- package/src/middleware/pipeline.ts +0 -75
- package/src/middleware/preCompletion.ts +0 -94
- package/src/middleware/types.ts +0 -45
- package/src/sandbox/bootstrap.ts +0 -121
- package/src/sandbox/manager.ts +0 -239
- package/src/sandbox/sync.ts +0 -157
- package/src/skills/loader.ts +0 -143
- package/src/skills/tools.ts +0 -99
- package/src/skills/types.ts +0 -13
- package/src/test_cache.ts +0 -72
- package/src/test_google.js +0 -40
- package/src/test_google.ts +0 -40
- package/src/tools/askUser.ts +0 -47
- package/src/tools/browser.ts +0 -137
- package/src/tools/index.d.ts.map +0 -1
- package/src/tools/index.ts +0 -237
- package/src/tools/registry.ts +0 -198
- package/src/tools/router.ts +0 -78
- package/src/tools/security.ts +0 -220
- package/src/tools/spawnAgent.ts +0 -158
- package/src/tools/webSearch.ts +0 -142
- package/src/tracing/analyzer.ts +0 -265
- package/src/tracing/langsmith.ts +0 -63
- package/src/tracing/sessionTracer.ts +0 -202
- package/src/tracing/types.ts +0 -49
- package/src/types/valyu.d.ts +0 -37
- package/src/ui/App.tsx +0 -404
- package/src/ui/components/HITLPrompt.tsx +0 -119
- package/src/ui/components/Header.tsx +0 -51
- package/src/ui/components/MessageBubble.tsx +0 -46
- package/src/ui/components/StatusBar.tsx +0 -138
- package/src/ui/components/StreamingText.tsx +0 -48
- package/src/ui/components/ToolCallPanel.tsx +0 -80
- package/tests/commands/commands.test.ts +0 -356
- package/tests/core/compactor.test.ts +0 -217
- package/tests/core/retryAndErrors.test.ts +0 -164
- package/tests/core/sessionResumer.test.ts +0 -95
- package/tests/core/sessionStore.test.ts +0 -84
- package/tests/core/stability.test.ts +0 -165
- package/tests/core/subAgent.test.ts +0 -238
- package/tests/hitl/hitlBridge.test.ts +0 -115
- package/tsconfig.json +0 -16
- package/vitest.config.ts +0 -10
- package/vitest.out +0 -48
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { exec } from "node:child_process";
|
|
2
|
+
import { promisify } from "node:util";
|
|
3
|
+
const execAsync = promisify(exec);
|
|
4
|
+
export const InstallHostDependenciesTool = {
|
|
5
|
+
name: "install_host_dependencies",
|
|
6
|
+
description: "Installs dependencies natively on the host OS (e.g. npm install, pip install). Use this carefully to bootstrap projects outside the sandbox. This runs directly on the user's machine.",
|
|
7
|
+
schema: {
|
|
8
|
+
type: "object",
|
|
9
|
+
properties: {
|
|
10
|
+
command: {
|
|
11
|
+
type: "string",
|
|
12
|
+
description: "The native installation command (e.g., 'npm install express')",
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
required: ["command"],
|
|
16
|
+
},
|
|
17
|
+
execute: async (args, emitter) => {
|
|
18
|
+
if (emitter) {
|
|
19
|
+
emitter.emit("agent:event", { type: "system:script_exec", command: args.command, location: "host" });
|
|
20
|
+
}
|
|
21
|
+
try {
|
|
22
|
+
const { stdout, stderr } = await execAsync(args.command, { cwd: process.cwd() });
|
|
23
|
+
return {
|
|
24
|
+
content: `Successfully ran on host:\nSTDOUT:\n${stdout}\nSTDERR:\n${stderr}`,
|
|
25
|
+
isError: false,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
return {
|
|
30
|
+
content: `Host command failed (exit code ${error.code}):\nSTDOUT:\n${error.stdout}\nSTDERR:\n${error.stderr}\nMESSAGE:\n${error.message}`,
|
|
31
|
+
metadata: { exitCode: error.code },
|
|
32
|
+
isError: true
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=installHostDeps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installHostDeps.js","sourceRoot":"","sources":["../../src/tools/installHostDeps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,CAAC,MAAM,2BAA2B,GAAyB;IAC7D,IAAI,EAAE,2BAA2B;IACjC,WAAW,EACP,wLAAwL;IAC5L,MAAM,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,OAAO,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+DAA+D;aAC/E;SACJ;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACxB;IACD,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAE,OAA2B,EAAuB,EAAE;QAC3F,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACzG,CAAC;QAED,IAAI,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjF,OAAO;gBACH,OAAO,EAAE,uCAAuC,MAAM,cAAc,MAAM,EAAE;gBAC5E,OAAO,EAAE,KAAK;aACjB,CAAC;QACN,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACjB,OAAO;gBACJ,OAAO,EAAE,kCAAkC,KAAK,CAAC,IAAI,gBAAgB,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,MAAM,eAAe,KAAK,CAAC,OAAO,EAAE;gBACzI,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE;gBAClC,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;IACL,CAAC;CACJ,CAAC"}
|
package/dist/tools/router.js
CHANGED
package/dist/tools/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/tools/router.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,mEAAmE;IACnE,2BAAa,CAAA;IACb,yDAAyD;IACzD,iCAAmB,CAAA;AACrB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAED;;GAEG;AACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,YAAY;IACZ,WAAW;IACX,cAAc;IACd,eAAe;IACf,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,eAAe;IACf,YAAY;
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/tools/router.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,mEAAmE;IACnE,2BAAa,CAAA;IACb,yDAAyD;IACzD,iCAAmB,CAAA;AACrB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAED;;GAEG;AACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,YAAY;IACZ,WAAW;IACX,cAAc;IACd,eAAe;IACf,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,aAAa;IACb,aAAa;IACb,2BAA2B;CAC5B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,MAAM;IACN,WAAW;IACX,cAAc;IACd,aAAa;IACb,QAAQ;IACR,eAAe;IACf,UAAU;IACV,SAAS;CACV,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,OAAO,UAAU;IACrB;;;;;OAKG;IACH,SAAS,CAAC,QAAgB;QACxB,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,UAAU,CAAC,IAAI,CAAC;QACzB,CAAC;QACD,2EAA2E;QAC3E,OAAO,UAAU,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC,OAAO,CAAC;IACzD,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spawn Agent Tools
|
|
3
|
+
*
|
|
4
|
+
* DynamicToolInterface implementations for spawning and checking sub-agents.
|
|
5
|
+
* These tools are registered with the main agent's tool set, allowing the
|
|
6
|
+
* LLM to delegate scoped tasks to isolated sub-agents.
|
|
7
|
+
*
|
|
8
|
+
* Safety: spawn_agent and check_agent are excluded from sub-agent tool sets
|
|
9
|
+
* to enforce the depth-1 nesting limit.
|
|
10
|
+
*/
|
|
11
|
+
import { DynamicToolInterface } from "./index.js";
|
|
12
|
+
import { SubAgentManager } from "../core/subAgent.js";
|
|
13
|
+
import { AgentRegistry } from "../agents/agentRegistry.js";
|
|
14
|
+
/**
|
|
15
|
+
* Creates the spawn_agent and check_agent tools bound to a SubAgentManager.
|
|
16
|
+
* The agent registry summary is injected into the spawn_agent description
|
|
17
|
+
* so the LLM knows which agents are available.
|
|
18
|
+
*/
|
|
19
|
+
export declare function createSpawnAgentTools(manager: SubAgentManager, registry: AgentRegistry): DynamicToolInterface[];
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spawn Agent Tools
|
|
3
|
+
*
|
|
4
|
+
* DynamicToolInterface implementations for spawning and checking sub-agents.
|
|
5
|
+
* These tools are registered with the main agent's tool set, allowing the
|
|
6
|
+
* LLM to delegate scoped tasks to isolated sub-agents.
|
|
7
|
+
*
|
|
8
|
+
* Safety: spawn_agent and check_agent are excluded from sub-agent tool sets
|
|
9
|
+
* to enforce the depth-1 nesting limit.
|
|
10
|
+
*/
|
|
11
|
+
// ─── Factory ────────────────────────────────────────────────────────────────────
|
|
12
|
+
/**
|
|
13
|
+
* Creates the spawn_agent and check_agent tools bound to a SubAgentManager.
|
|
14
|
+
* The agent registry summary is injected into the spawn_agent description
|
|
15
|
+
* so the LLM knows which agents are available.
|
|
16
|
+
*/
|
|
17
|
+
export function createSpawnAgentTools(manager, registry) {
|
|
18
|
+
const agentNames = registry.getNames();
|
|
19
|
+
const agentList = agentNames.join(", ");
|
|
20
|
+
// ─── spawn_agent ───────────────────────────────────────────────────────────
|
|
21
|
+
const SpawnAgentTool = {
|
|
22
|
+
name: "spawn_agent",
|
|
23
|
+
description: `Spawn an isolated sub-agent to handle a scoped task. Available agents: ${agentList}. ` +
|
|
24
|
+
`The sub-agent runs independently with its own conversation and returns a structured result. ` +
|
|
25
|
+
`Use mode "async" for non-blocking execution — you can continue working and check results later with check_agent.`,
|
|
26
|
+
schema: {
|
|
27
|
+
type: "object",
|
|
28
|
+
properties: {
|
|
29
|
+
agent: {
|
|
30
|
+
type: "string",
|
|
31
|
+
description: `The agent name from the registry. Available: ${agentList}`,
|
|
32
|
+
enum: agentNames,
|
|
33
|
+
},
|
|
34
|
+
task: {
|
|
35
|
+
type: "string",
|
|
36
|
+
description: "Detailed description of the task for the sub-agent to complete",
|
|
37
|
+
},
|
|
38
|
+
mode: {
|
|
39
|
+
type: "string",
|
|
40
|
+
enum: ["sync", "async"],
|
|
41
|
+
description: "Execution mode: 'sync' (default, blocks until done) or 'async' (non-blocking, returns taskId)",
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
required: ["agent", "task"],
|
|
45
|
+
},
|
|
46
|
+
execute: async (args, emitter) => {
|
|
47
|
+
if (emitter)
|
|
48
|
+
emitter.emit("agent:event", { type: "subagent:spawn", agentName: args.agent, task: args.task });
|
|
49
|
+
const mode = args.mode ?? "sync";
|
|
50
|
+
if (mode === "async") {
|
|
51
|
+
try {
|
|
52
|
+
const taskId = await manager.spawnAsync(args.agent, args.task);
|
|
53
|
+
return {
|
|
54
|
+
content: `Async sub-agent "${args.agent}" started. Task ID: ${taskId}\n` +
|
|
55
|
+
`Use check_agent with this taskId to get the result when ready.`,
|
|
56
|
+
metadata: { taskId, agentName: args.agent, mode: "async" },
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
return { content: `Spawn error: ${err.message}`, isError: true };
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Sync mode (default)
|
|
64
|
+
const result = await manager.spawn(args.agent, args.task);
|
|
65
|
+
return {
|
|
66
|
+
content: formatSubAgentResult(result),
|
|
67
|
+
metadata: {
|
|
68
|
+
agentName: result.agentName,
|
|
69
|
+
outcome: result.outcome,
|
|
70
|
+
toolCalls: result.toolCallCount,
|
|
71
|
+
turnsUsed: result.turnsUsed,
|
|
72
|
+
duration: result.duration,
|
|
73
|
+
},
|
|
74
|
+
isError: result.outcome === "failure",
|
|
75
|
+
};
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
// ─── check_agent ───────────────────────────────────────────────────────────
|
|
79
|
+
const CheckAgentTool = {
|
|
80
|
+
name: "check_agent",
|
|
81
|
+
description: "Check the status or retrieve the result of an async sub-agent task. " +
|
|
82
|
+
"If the task is still running, returns a status update. If completed, returns the result.",
|
|
83
|
+
schema: {
|
|
84
|
+
type: "object",
|
|
85
|
+
properties: {
|
|
86
|
+
taskId: {
|
|
87
|
+
type: "string",
|
|
88
|
+
description: "The task ID returned by spawn_agent in async mode",
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
required: ["taskId"],
|
|
92
|
+
},
|
|
93
|
+
execute: async (args) => {
|
|
94
|
+
const result = await manager.getResult(args.taskId);
|
|
95
|
+
if (typeof result === "string") {
|
|
96
|
+
// Still running or unknown
|
|
97
|
+
return { content: result };
|
|
98
|
+
}
|
|
99
|
+
// Completed — return formatted result
|
|
100
|
+
return {
|
|
101
|
+
content: formatSubAgentResult(result),
|
|
102
|
+
metadata: {
|
|
103
|
+
agentName: result.agentName,
|
|
104
|
+
outcome: result.outcome,
|
|
105
|
+
toolCalls: result.toolCallCount,
|
|
106
|
+
turnsUsed: result.turnsUsed,
|
|
107
|
+
duration: result.duration,
|
|
108
|
+
},
|
|
109
|
+
isError: result.outcome === "failure",
|
|
110
|
+
};
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
return [SpawnAgentTool, CheckAgentTool];
|
|
114
|
+
}
|
|
115
|
+
// ─── Formatter ──────────────────────────────────────────────────────────────────
|
|
116
|
+
/**
|
|
117
|
+
* Formats a SubAgentResult into a readable string for the main agent.
|
|
118
|
+
*/
|
|
119
|
+
function formatSubAgentResult(result) {
|
|
120
|
+
const lines = [
|
|
121
|
+
`--- Sub-Agent Result: ${result.agentName} ---`,
|
|
122
|
+
`Outcome: ${result.outcome}`,
|
|
123
|
+
`Turns: ${result.turnsUsed} | Tool Calls: ${result.toolCallCount} | Duration: ${Math.round(result.duration / 1000)}s`,
|
|
124
|
+
`Tokens: ~${result.tokenUsage.prompt} prompt + ~${result.tokenUsage.completion} completion`,
|
|
125
|
+
];
|
|
126
|
+
if (result.filesModified.length > 0) {
|
|
127
|
+
lines.push(`Files Modified: ${result.filesModified.join(", ")}`);
|
|
128
|
+
}
|
|
129
|
+
lines.push(`\nResult:\n${result.result}`);
|
|
130
|
+
return lines.join("\n");
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=spawnAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawnAgent.js","sourceRoot":"","sources":["../../src/tools/spawnAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,7 +79,10 @@ export class SessionTracer {
|
|
|
79
79
|
case "llm_call":
|
|
80
80
|
promptTokens += event.data.promptTokens || 0;
|
|
81
81
|
completionTokens += event.data.completionTokens || 0;
|
|
82
|
-
if (event.data.
|
|
82
|
+
if (event.data.cachedTokens !== undefined) {
|
|
83
|
+
cachedPromptTokens += event.data.cachedTokens;
|
|
84
|
+
}
|
|
85
|
+
else if (event.data.cached) {
|
|
83
86
|
cachedPromptTokens += event.data.promptTokens || 0;
|
|
84
87
|
}
|
|
85
88
|
turnCount++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionTracer.js","sourceRoot":"","sources":["../../src/tracing/sessionTracer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9B;;;;;;;;;;GAUG;AACH,MAAM,OAAO,aAAa;IAChB,SAAS,CAAS;IAClB,SAAS,CAAS;IAClB,MAAM,GAAiB,EAAE,CAAC;IAElC,YAAY,SAAkB;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,+EAA+E;IAE/E;;OAEG;IACH,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"sessionTracer.js","sourceRoot":"","sources":["../../src/tracing/sessionTracer.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/App.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useEffect } from "react";
|
|
2
|
+
import React, { useState, useEffect, useMemo } from "react";
|
|
3
3
|
import { Box, Text, useInput, useApp } from "ink";
|
|
4
4
|
import TextInput from "ink-text-input";
|
|
5
5
|
import { Header } from "./components/Header.js";
|
|
@@ -8,11 +8,18 @@ import { MessageBubble } from "./components/MessageBubble.js";
|
|
|
8
8
|
import { StreamingText } from "./components/StreamingText.js";
|
|
9
9
|
import { ToolCallPanel } from "./components/ToolCallPanel.js";
|
|
10
10
|
import { HITLPrompt } from "./components/HITLPrompt.js";
|
|
11
|
+
import { ActionLog } from "./components/ActionLog.js";
|
|
12
|
+
import { FileBrowser } from "./components/FileBrowser.js";
|
|
11
13
|
import { countMessageTokens } from "../core/tokenCounter.js";
|
|
14
|
+
import { getProviderContextLimit } from "../core/contextGuard.js";
|
|
12
15
|
import { HumanMessage } from "@langchain/core/messages";
|
|
13
16
|
import { HITLBridge, } from "../hitl/bridge.js";
|
|
17
|
+
import { createDefaultRegistry } from "../commands/builtinCommands.js";
|
|
14
18
|
export const App = ({ provider, model, streaming, harness, initialState, maxTokens, }) => {
|
|
15
19
|
const { exit } = useApp();
|
|
20
|
+
const contextTokensLimit = useMemo(() => getProviderContextLimit(provider, model), [provider, model]);
|
|
21
|
+
// Slash Command Registry — initialized once, stable across renders
|
|
22
|
+
const commandRegistry = useMemo(() => createDefaultRegistry(), []);
|
|
16
23
|
// UI State
|
|
17
24
|
const [messages, setMessages] = useState([
|
|
18
25
|
{ role: "system", content: "Session started. Type your request below." },
|
|
@@ -65,12 +72,42 @@ export const App = ({ provider, model, streaming, harness, initialState, maxToke
|
|
|
65
72
|
}, 1000);
|
|
66
73
|
return () => clearInterval(interval);
|
|
67
74
|
}, [startTime]);
|
|
68
|
-
//
|
|
69
|
-
|
|
70
|
-
|
|
75
|
+
// Hold the latest state in a ref for the unmount/signal handlers
|
|
76
|
+
const stateRef = React.useRef(contextState);
|
|
77
|
+
useEffect(() => {
|
|
78
|
+
stateRef.current = contextState;
|
|
79
|
+
}, [contextState]);
|
|
80
|
+
const performGracefulExit = async () => {
|
|
81
|
+
try {
|
|
82
|
+
await harness.autoSave.forceSave({
|
|
83
|
+
config: { provider, model },
|
|
84
|
+
state: stateRef.current,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
catch (e) {
|
|
88
|
+
// Ignore errors during exit
|
|
89
|
+
}
|
|
90
|
+
finally {
|
|
71
91
|
exit();
|
|
72
92
|
process.exit(0);
|
|
73
93
|
}
|
|
94
|
+
};
|
|
95
|
+
useEffect(() => {
|
|
96
|
+
const handleSignal = () => {
|
|
97
|
+
performGracefulExit();
|
|
98
|
+
};
|
|
99
|
+
process.on("SIGINT", handleSignal);
|
|
100
|
+
process.on("SIGTERM", handleSignal);
|
|
101
|
+
return () => {
|
|
102
|
+
process.off("SIGINT", handleSignal);
|
|
103
|
+
process.off("SIGTERM", handleSignal);
|
|
104
|
+
};
|
|
105
|
+
}, [provider, model, harness, exit]);
|
|
106
|
+
// Handle Ctrl+C (Keyboard)
|
|
107
|
+
useInput((input, key) => {
|
|
108
|
+
if (key.ctrl && input === "c") {
|
|
109
|
+
performGracefulExit();
|
|
110
|
+
}
|
|
74
111
|
});
|
|
75
112
|
const runAgentLoop = async (currentState) => {
|
|
76
113
|
try {
|
|
@@ -147,11 +184,62 @@ export const App = ({ provider, model, streaming, harness, initialState, maxToke
|
|
|
147
184
|
]);
|
|
148
185
|
}
|
|
149
186
|
};
|
|
150
|
-
const handleSubmit = (query) => {
|
|
187
|
+
const handleSubmit = async (query) => {
|
|
151
188
|
if (!query.trim() || isProcessing)
|
|
152
189
|
return;
|
|
153
190
|
const userText = query.trim();
|
|
154
191
|
setInputValue("");
|
|
192
|
+
// ── Slash Command Interception ──
|
|
193
|
+
// Commands starting with "/" are handled locally at zero LLM cost.
|
|
194
|
+
if (commandRegistry.isCommand(userText)) {
|
|
195
|
+
setMessages((prev) => [...prev, { role: "user", content: userText }]);
|
|
196
|
+
const commandContext = {
|
|
197
|
+
config: {
|
|
198
|
+
provider,
|
|
199
|
+
model,
|
|
200
|
+
maxTokens,
|
|
201
|
+
streaming,
|
|
202
|
+
temperature: 0,
|
|
203
|
+
},
|
|
204
|
+
configPath: "",
|
|
205
|
+
harness,
|
|
206
|
+
contextState,
|
|
207
|
+
setContextState,
|
|
208
|
+
addSystemMessage: (content) => {
|
|
209
|
+
setMessages((prev) => [...prev, { role: "system", content }]);
|
|
210
|
+
},
|
|
211
|
+
provider,
|
|
212
|
+
model,
|
|
213
|
+
maxTokens,
|
|
214
|
+
contextTokens: contextTokensLimit,
|
|
215
|
+
};
|
|
216
|
+
try {
|
|
217
|
+
const result = await commandRegistry.execute(userText, commandContext);
|
|
218
|
+
// Handle /exit signal
|
|
219
|
+
if (result === "__EXIT__") {
|
|
220
|
+
setMessages((prev) => [
|
|
221
|
+
...prev,
|
|
222
|
+
{ role: "system", content: "Goodbye! 👋" },
|
|
223
|
+
]);
|
|
224
|
+
setTimeout(() => {
|
|
225
|
+
exit();
|
|
226
|
+
process.exit(0);
|
|
227
|
+
}, 500);
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
if (result) {
|
|
231
|
+
setMessages((prev) => [...prev, { role: "system", content: result }]);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
catch (err) {
|
|
235
|
+
setMessages((prev) => [
|
|
236
|
+
...prev,
|
|
237
|
+
{ role: "system", content: `Command error: ${err.message}` },
|
|
238
|
+
]);
|
|
239
|
+
}
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
// ── Normal Agent Message ──
|
|
155
243
|
setIsProcessing(true);
|
|
156
244
|
// 1. Update UI
|
|
157
245
|
setMessages((prev) => [...prev, { role: "user", content: userText }]);
|
|
@@ -167,6 +255,6 @@ export const App = ({ provider, model, streaming, harness, initialState, maxToke
|
|
|
167
255
|
};
|
|
168
256
|
const summary = harness.tracer.getSummary();
|
|
169
257
|
const contextTokens = countMessageTokens(contextState.conversationHistory);
|
|
170
|
-
return (_jsxs(Box, { flexDirection: "column", minHeight: 15, children: [_jsx(Header, { provider: provider, model: model, streaming: streaming }), _jsx(Box, { flexDirection: "column", paddingY: 1, children: messages.map((msg, i) => (_jsx(MessageBubble, { role: msg.role, content: msg.content }, i))) }), isStreaming && (_jsx(Box, { paddingX: 1, marginBottom: 1, children: _jsx(Box, { marginLeft: 2, children: _jsx(StreamingText, { tokens: streamingTokens, isStreaming: isStreaming }) }) })), activeToolCall && (_jsx(Box, { paddingX: 1, marginBottom: 1, children: _jsx(ToolCallPanel, { toolName: activeToolCall.name, args: activeToolCall.args, status: activeToolCall.status, result: activeToolCall.result }) })), (hitlQuestion || hitlPermission) && (_jsx(HITLPrompt, { question: hitlQuestion, permission: hitlPermission })), !isProcessing && !hitlQuestion && !hitlPermission && (_jsxs(Box, { paddingX: 1, marginBottom: 1, children: [_jsx(Box, { marginRight: 1, children: _jsx(Text, { color: "green", bold: true, children: "\u276F" }) }), _jsx(TextInput, { value: inputValue, onChange: setInputValue, onSubmit: handleSubmit, placeholder: "What should we build today?" })] })), isProcessing && !isStreaming && !activeToolCall && (_jsx(Box, { paddingX: 1, marginBottom: 1, children: _jsx(Text, { dimColor: true, children: "Thinking..." }) })), _jsx(StatusBar, { contextTokens: contextTokens, maxContextTokens:
|
|
258
|
+
return (_jsxs(Box, { flexDirection: "column", minHeight: 15, children: [_jsx(Header, { provider: provider, model: model, streaming: streaming }), _jsxs(Box, { flexDirection: "row", flexGrow: 1, width: "100%", children: [_jsxs(Box, { flexDirection: "column", width: "65%", paddingRight: 1, children: [_jsx(Box, { flexDirection: "column", paddingY: 1, children: messages.map((msg, i) => (_jsx(MessageBubble, { role: msg.role, content: msg.content }, i))) }), isStreaming && (_jsx(Box, { paddingX: 1, marginBottom: 1, children: _jsx(Box, { marginLeft: 2, children: _jsx(StreamingText, { tokens: streamingTokens, isStreaming: isStreaming }) }) })), activeToolCall && (_jsx(Box, { paddingX: 1, marginBottom: 1, children: _jsx(ToolCallPanel, { toolName: activeToolCall.name, args: activeToolCall.args, status: activeToolCall.status, result: activeToolCall.result }) })), (hitlQuestion || hitlPermission) && (_jsx(HITLPrompt, { question: hitlQuestion, permission: hitlPermission })), !isProcessing && !hitlQuestion && !hitlPermission && (_jsxs(Box, { paddingX: 1, marginBottom: 1, children: [_jsx(Box, { marginRight: 1, children: _jsx(Text, { color: "green", bold: true, children: "\u276F" }) }), _jsx(TextInput, { value: inputValue, onChange: setInputValue, onSubmit: handleSubmit, placeholder: "What should we build today?" })] })), isProcessing && !isStreaming && !activeToolCall && (_jsx(Box, { paddingX: 1, marginBottom: 1, children: _jsx(Text, { dimColor: true, children: "Thinking..." }) }))] }), _jsxs(Box, { flexDirection: "column", width: "35%", paddingLeft: 1, children: [_jsx(StatusBar, { contextTokens: contextTokens, maxContextTokens: contextTokensLimit, totalTokens: summary.totalTokens, cacheHitRate: summary.cacheHitRate, toolCalls: summary.toolCallCount, turns: summary.turnCount, cost: summary.totalCost, elapsed: elapsed }), _jsx(Box, { marginTop: 1, children: _jsx(FileBrowser, {}) }), _jsx(Box, { marginTop: 1, children: _jsx(ActionLog, { emitter: harness }) })] })] })] }));
|
|
171
259
|
};
|
|
172
260
|
//# sourceMappingURL=App.js.map
|
package/dist/ui/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClD,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAkB,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAA0B,MAAM,0BAA0B,CAAC;AAChF,OAAO,EACL,UAAU,GAGX,MAAM,mBAAmB,CAAC;AAuB3B,MAAM,CAAC,MAAM,GAAG,GAAuB,CAAC,EACtC,QAAQ,EACR,KAAK,EACL,SAAS,EACT,OAAO,EACP,YAAY,EACZ,SAAS,GACV,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1B,WAAW;IACX,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAY;QAClD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,2CAA2C,EAAE;KACzE,CAAC,CAAC;IACH,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,yBAAyB;IACzB,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAClD,IAAI,CACL,CAAC;IAEF,oBAAoB;IACpB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAe,YAAY,CAAC,CAAC;IAE7E,aAAa;IACb,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,SAAS,CACV,CAAC;IACF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAElD,SAAS,CAAC,CAAC;IAEb,yCAAyC;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAExC,MAAM,UAAU,GAAG,CAAC,CAAe,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,CAAC,CAAwB,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAExE,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAEtC,8BAA8B;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,CAAC,aAAa,GAAG,CAAC,EAAU,EAAE,MAAc,EAAE,EAAE;YACpD,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACxB,eAAe,CAAC,SAAS,CAAC,CAAC;YAC3B,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACzC,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,oBAAoB;IACpB,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7C,sBAAsB;IACtB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5D,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;gBACjB,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;gBACtC,MAAM,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;gBAC1B,UAAU,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,gBAAgB;IAChB,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,KAAK,EAAE,YAA0B,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAEvB,IAAI,UAAqB,CAAC;YAE1B,IAAI,SAAS,EAAE,CAAC;gBACd,UAAU,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE;oBAClD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wBACjB,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACjD,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChD,CAAC;YAED,cAAc,CAAC,KAAK,CAAC,CAAC;YAEtB,2BAA2B;YAC3B,IACE,UAAU,CAAC,OAAO;gBAClB,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ;gBACtC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAChC,CAAC;gBACD,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;oBACpB,GAAG,IAAI;oBACP,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAiB,EAAE;iBACzD,CAAC,CAAC;YACL,CAAC;YAED,+CAA+C;YAC/C,IAAI,WAAW,GAAG,CAAC,GAAG,YAAY,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;YAEpE,eAAe;YACf,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9D,8BAA8B;gBAC9B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,gBAAgB,CACjD,UAAU,EACV,YAAY,CACb,CAAC;gBAEF,4CAA4C;gBAC5C,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;oBACzC,iBAAiB,CAAC;wBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,MAAM,EAAE,SAAS;qBAClB,CAAC,CAAC;oBAEH,oCAAoC;oBACpC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;oBAEzD,iBAAiB,CAAC;wBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,MAAM,EAAE,SAAS;wBACjB,MAAM,EACJ,YAAY,CAAC,MAAM,GAAG,CAAC;4BACrB,CAAC,CAAC,2BAA2B;4BAC7B,CAAC,CAAC,YAAY;qBACnB,CAAC,CAAC;gBACL,CAAC;gBAED,mCAAmC;gBACnC,WAAW,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC;gBAEhD,4CAA4C;gBAC5C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACzD,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAExB,mDAAmD;gBACnD,MAAM,SAAS,GAAG,EAAE,GAAG,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC;gBACxE,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC3B,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,gBAAgB;gBAChB,eAAe,CAAC,EAAE,GAAG,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC,CAAC;gBACvE,eAAe,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,GAAG,IAAI;gBACP,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,KAAK,CAAC,OAAO,EAAE,EAAE;aACvD,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,YAAY;YAAE,OAAO;QAE1C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9B,aAAa,CAAC,EAAE,CAAC,CAAC;QAClB,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,eAAe;QACf,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAEtE,yBAAyB;QACzB,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG;YACnB,GAAG,YAAY;YACf,mBAAmB,EAAE,CAAC,GAAG,YAAY,CAAC,mBAAmB,EAAE,QAAQ,CAAC;SACrE,CAAC;QACF,eAAe,CAAC,YAAY,CAAC,CAAC;QAE9B,gBAAgB;QAChB,YAAY,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,kBAAkB,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAE3E,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,EAAE,aACvC,KAAC,MAAM,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,GAAI,EAElE,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,YACpC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACxB,KAAC,aAAa,IAAS,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAvC,CAAC,CAA0C,CAChE,CAAC,GACE,EAEL,WAAW,IAAI,CACd,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,YAC/B,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,KAAC,aAAa,IAAC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,GAAI,GAChE,GACF,CACP,EAEA,cAAc,IAAI,CACjB,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,YAC/B,KAAC,aAAa,IACZ,QAAQ,EAAE,cAAc,CAAC,IAAI,EAC7B,IAAI,EAAE,cAAc,CAAC,IAAI,EACzB,MAAM,EAAE,cAAc,CAAC,MAAM,EAC7B,MAAM,EAAE,cAAc,CAAC,MAAM,GAC7B,GACE,CACP,EAGA,CAAC,YAAY,IAAI,cAAc,CAAC,IAAI,CACnC,KAAC,UAAU,IAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,GAAI,CACnE,EAEA,CAAC,YAAY,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,IAAI,CACpD,MAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,aAC/B,KAAC,GAAG,IAAC,WAAW,EAAE,CAAC,YACjB,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,6BAEjB,GACH,EACN,KAAC,SAAS,IACR,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAC,6BAA6B,GACzC,IACE,CACP,EAEA,YAAY,IAAI,CAAC,WAAW,IAAI,CAAC,cAAc,IAAI,CAClD,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,YAC/B,KAAC,IAAI,IAAC,QAAQ,kCAAmB,GAC7B,CACP,EAED,KAAC,SAAS,IACR,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,SAAS,EAC3B,WAAW,EAAE,OAAO,CAAC,WAAW,EAChC,YAAY,EAAE,OAAO,CAAC,YAAY,EAClC,SAAS,EAAE,OAAO,CAAC,aAAa,EAChC,KAAK,EAAE,OAAO,CAAC,SAAS,EACxB,IAAI,EAAE,OAAO,CAAC,SAAS,EACvB,OAAO,EAAE,OAAO,GAChB,IACE,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect } from "react";
|
|
3
|
+
import { Box, Text } from "ink";
|
|
4
|
+
const MAX_LOGS = 10;
|
|
5
|
+
export const ActionLog = ({ emitter }) => {
|
|
6
|
+
const [logs, setLogs] = useState([]);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
let counter = 0;
|
|
9
|
+
const handleEvent = (event) => {
|
|
10
|
+
// Ignore text streams so we don't spam the action log
|
|
11
|
+
if (event.type === "agent:stream")
|
|
12
|
+
return;
|
|
13
|
+
setLogs((prev) => {
|
|
14
|
+
const next = [...prev, { id: ++counter, event }];
|
|
15
|
+
return next.slice(-MAX_LOGS);
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
emitter.on("agent:event", handleEvent);
|
|
19
|
+
return () => {
|
|
20
|
+
emitter.off("agent:event", handleEvent);
|
|
21
|
+
};
|
|
22
|
+
}, [emitter]);
|
|
23
|
+
return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "blue", paddingX: 1, width: "100%", minHeight: 12, children: [_jsx(Text, { bold: true, color: "blue", children: "Activity Log" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: logs.length === 0 ? (_jsx(Text, { dimColor: true, children: "No activity yet..." })) : (logs.map(({ id, event }) => {
|
|
24
|
+
let label = "";
|
|
25
|
+
let color = "gray";
|
|
26
|
+
switch (event.type) {
|
|
27
|
+
case "tool:start":
|
|
28
|
+
label = `[Tool] Starting ${event.toolName}`;
|
|
29
|
+
color = "yellow";
|
|
30
|
+
break;
|
|
31
|
+
case "tool:end":
|
|
32
|
+
label = `[Tool] ${event.toolName} completed in ${event.durationMs}ms`;
|
|
33
|
+
color = "green";
|
|
34
|
+
break;
|
|
35
|
+
case "subagent:spawn":
|
|
36
|
+
label = `[SubAgent] Spawning '${event.agentName}'`;
|
|
37
|
+
color = "magenta";
|
|
38
|
+
break;
|
|
39
|
+
case "file:io":
|
|
40
|
+
// Safely handle path which might be undefined somehow or use standard format
|
|
41
|
+
label = `[File] ${event.action.toUpperCase()}: ${event.path.split(/[\\/]/).pop()}`;
|
|
42
|
+
color = "cyan";
|
|
43
|
+
break;
|
|
44
|
+
case "system:script_exec":
|
|
45
|
+
label = `[Exec] ${event.location}: ${event.command.slice(0, 30)}...`;
|
|
46
|
+
color = "red";
|
|
47
|
+
break;
|
|
48
|
+
case "browser:nav":
|
|
49
|
+
label = `[Browser] Navigating to ${event.url}`;
|
|
50
|
+
color = "blueBright";
|
|
51
|
+
break;
|
|
52
|
+
case "system:save":
|
|
53
|
+
label = `[System] Saved Session State`;
|
|
54
|
+
color = "gray";
|
|
55
|
+
break;
|
|
56
|
+
default:
|
|
57
|
+
label = `[Unknown] Event type: ${event.type}`;
|
|
58
|
+
color = "gray";
|
|
59
|
+
}
|
|
60
|
+
return (_jsx(Text, { color: color, children: label }, id));
|
|
61
|
+
})) })] }));
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=ActionLog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionLog.js","sourceRoot":"","sources":["../../../src/ui/components/ActionLog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect } from "react";
|
|
3
|
+
import { Box, Text } from "ink";
|
|
4
|
+
import * as fs from "node:fs";
|
|
5
|
+
import * as path from "node:path";
|
|
6
|
+
export const FileBrowser = () => {
|
|
7
|
+
const [items, setItems] = useState([]);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
const updateTree = () => {
|
|
10
|
+
try {
|
|
11
|
+
const cwd = process.cwd();
|
|
12
|
+
const dirents = fs.readdirSync(cwd, { withFileTypes: true });
|
|
13
|
+
// Filter out .git, node_modules etc. to keep it compact
|
|
14
|
+
const filtered = dirents.filter((d) => !d.name.startsWith(".git") &&
|
|
15
|
+
d.name !== "node_modules" &&
|
|
16
|
+
!d.name.endsWith(".log"));
|
|
17
|
+
// Sort: dirs first, then files
|
|
18
|
+
filtered.sort((a, b) => {
|
|
19
|
+
if (a.isDirectory() && !b.isDirectory())
|
|
20
|
+
return -1;
|
|
21
|
+
if (!a.isDirectory() && b.isDirectory())
|
|
22
|
+
return 1;
|
|
23
|
+
return a.name.localeCompare(b.name);
|
|
24
|
+
});
|
|
25
|
+
const mapped = filtered
|
|
26
|
+
.map((d) => ({
|
|
27
|
+
name: d.name,
|
|
28
|
+
isDir: d.isDirectory(),
|
|
29
|
+
}))
|
|
30
|
+
.slice(0, 15); // limit output so we don't break layout
|
|
31
|
+
setItems(mapped);
|
|
32
|
+
}
|
|
33
|
+
catch (e) { }
|
|
34
|
+
};
|
|
35
|
+
updateTree();
|
|
36
|
+
const interval = setInterval(updateTree, 2000);
|
|
37
|
+
return () => clearInterval(interval);
|
|
38
|
+
}, []);
|
|
39
|
+
return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "cyan", paddingX: 1, width: "100%", minHeight: 10, children: [_jsxs(Text, { bold: true, color: "cyan", children: ["Workspace (", path.basename(process.cwd()), ")"] }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: items.length === 0 ? (_jsx(Text, { dimColor: true, children: "Empty directory" })) : (items.map((item, i) => (_jsxs(Text, { color: item.isDir ? "blueBright" : "white", children: [item.isDir ? "📁" : "📄", " ", item.name] }, i)))) })] }));
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=FileBrowser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileBrowser.js","sourceRoot":"","sources":["../../../src/ui/components/FileBrowser.tsx"],"names":[],"mappings":"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"}
|