klaus-agent 0.3.1 → 0.4.1

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.
Files changed (90) hide show
  1. package/README.md +36 -2
  2. package/README.zh-CN.md +35 -1
  3. package/dist/approval/approval.d.ts +8 -3
  4. package/dist/approval/approval.js +23 -23
  5. package/dist/approval/approval.js.map +1 -1
  6. package/dist/approval/types.d.ts +1 -0
  7. package/dist/background/task-manager.d.ts +2 -0
  8. package/dist/background/task-manager.js +14 -0
  9. package/dist/background/task-manager.js.map +1 -1
  10. package/dist/compaction/compaction.d.ts +0 -1
  11. package/dist/compaction/compaction.js +21 -35
  12. package/dist/compaction/compaction.js.map +1 -1
  13. package/dist/compaction/summarizer.js +2 -7
  14. package/dist/compaction/summarizer.js.map +1 -1
  15. package/dist/core/agent-loop.d.ts +2 -1
  16. package/dist/core/agent-loop.js +14 -9
  17. package/dist/core/agent-loop.js.map +1 -1
  18. package/dist/core/agent.d.ts +7 -0
  19. package/dist/core/agent.js +35 -10
  20. package/dist/core/agent.js.map +1 -1
  21. package/dist/index.d.ts +7 -0
  22. package/dist/index.js +5 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/injection/history-normalizer.js +20 -10
  25. package/dist/injection/history-normalizer.js.map +1 -1
  26. package/dist/llm/types.d.ts +2 -0
  27. package/dist/multi-agent/task-executor.d.ts +2 -1
  28. package/dist/multi-agent/types.d.ts +3 -0
  29. package/dist/planning/planning-manager.d.ts +2 -0
  30. package/dist/planning/planning-manager.js +6 -0
  31. package/dist/planning/planning-manager.js.map +1 -1
  32. package/dist/providers/anthropic.js +14 -6
  33. package/dist/providers/anthropic.js.map +1 -1
  34. package/dist/providers/google.js.map +1 -1
  35. package/dist/providers/openai-codex.js +5 -8
  36. package/dist/providers/openai-codex.js.map +1 -1
  37. package/dist/providers/openai.js +3 -2
  38. package/dist/providers/openai.js.map +1 -1
  39. package/dist/providers/shared.d.ts +2 -2
  40. package/dist/providers/shared.js +11 -6
  41. package/dist/providers/shared.js.map +1 -1
  42. package/dist/session/session-manager.d.ts +1 -0
  43. package/dist/session/session-manager.js +11 -1
  44. package/dist/session/session-manager.js.map +1 -1
  45. package/dist/task-graph/result-injection.d.ts +8 -0
  46. package/dist/task-graph/result-injection.js +26 -0
  47. package/dist/task-graph/result-injection.js.map +1 -0
  48. package/dist/task-graph/task-graph.d.ts +41 -0
  49. package/dist/task-graph/task-graph.js +266 -0
  50. package/dist/task-graph/task-graph.js.map +1 -0
  51. package/dist/task-graph/tools.d.ts +3 -0
  52. package/dist/task-graph/tools.js +106 -0
  53. package/dist/task-graph/tools.js.map +1 -0
  54. package/dist/task-graph/types.d.ts +44 -0
  55. package/dist/task-graph/types.js +9 -0
  56. package/dist/task-graph/types.js.map +1 -0
  57. package/dist/tools/executor.d.ts +3 -2
  58. package/dist/tools/mcp-adapter.js +22 -5
  59. package/dist/tools/mcp-adapter.js.map +1 -1
  60. package/dist/utils/id.js +2 -6
  61. package/dist/utils/id.js.map +1 -1
  62. package/dist/wire/wire.d.ts +2 -1
  63. package/package.json +1 -1
  64. package/src/approval/approval.ts +29 -23
  65. package/src/approval/types.ts +1 -0
  66. package/src/background/task-manager.ts +17 -0
  67. package/src/compaction/compaction.ts +23 -36
  68. package/src/compaction/summarizer.ts +2 -7
  69. package/src/core/agent-loop.ts +17 -10
  70. package/src/core/agent.ts +41 -9
  71. package/src/index.ts +15 -0
  72. package/src/injection/history-normalizer.ts +22 -12
  73. package/src/llm/types.ts +2 -0
  74. package/src/multi-agent/task-executor.ts +1 -1
  75. package/src/multi-agent/types.ts +3 -0
  76. package/src/planning/planning-manager.ts +8 -0
  77. package/src/providers/anthropic.ts +70 -57
  78. package/src/providers/google.ts +1 -1
  79. package/src/providers/openai-codex.ts +7 -2
  80. package/src/providers/openai.ts +8 -3
  81. package/src/providers/shared.ts +11 -6
  82. package/src/session/session-manager.ts +15 -4
  83. package/src/task-graph/result-injection.ts +29 -0
  84. package/src/task-graph/task-graph.ts +298 -0
  85. package/src/task-graph/tools.ts +109 -0
  86. package/src/task-graph/types.ts +52 -0
  87. package/src/tools/executor.ts +2 -2
  88. package/src/tools/mcp-adapter.ts +23 -7
  89. package/src/utils/id.ts +3 -6
  90. package/src/wire/wire.ts +1 -1
package/README.md CHANGED
@@ -45,7 +45,7 @@ const messages = await agent.prompt("Say hello");
45
45
 
46
46
  ## Architecture
47
47
 
48
- Single package, 15 modules, zero wrappers. All capabilities are built-in and opt-in via config.
48
+ Single package, 16 modules, zero wrappers. All capabilities are built-in and opt-in via config.
49
49
 
50
50
  ```
51
51
  src/
@@ -64,6 +64,7 @@ src/
64
64
  ├── wire/ Typed async event channel with replay buffer
65
65
  ├── background/ In-process async task manager
66
66
  ├── planning/ Two-phase planning + structured todo + nag injection
67
+ ├── task-graph/ Dependency-aware task DAG + background execution + auto-injection
67
68
  └── utils/ ID generation + JSONL helpers
68
69
  ```
69
70
 
@@ -542,7 +543,7 @@ Built-in tools: `start_background_task`, `check_task_status`, `get_task_result`.
542
543
 
543
544
  ### Planning (Two-Phase Todo)
544
545
 
545
- Optional two-phase planning system inspired by [learn-claude-code](https://github.com/anthropics/learn-claude-code) s03 (TodoWrite) and pi-mono's plan-mode extension. Combines structured todo tracking with phase-gated tool access and nag reminders.
546
+ Two-phase planning system with structured todo tracking, phase-gated tool access, and nag reminders.
546
547
 
547
548
  ```typescript
548
549
  const agent = createAgent({
@@ -572,6 +573,36 @@ Built-in tools: `todo`, `plan_mode`.
572
573
 
573
574
  If `readOnlyTools` is omitted or empty, all tools remain available during planning (phase separation is advisory only via the tool descriptions).
574
575
 
576
+ ### Task Graph (Dependency DAG)
577
+
578
+ Built-in dependency-aware task graph with background execution and auto-injection of results. Always available, no configuration needed.
579
+
580
+ ```typescript
581
+ const agent = createAgent({
582
+ taskGraph: {
583
+ persistDir: "./.tasks", // Persist to disk (default: in-memory)
584
+ maxTasks: 100, // Upper bound (default: 100)
585
+ autoInjectResults: true, // Auto-push completed results (default: true)
586
+ },
587
+ ...
588
+ });
589
+
590
+ // Programmatic access
591
+ const graph = agent.taskGraph;
592
+ graph.runBackground(taskId, async (signal) => {
593
+ return "Parser built successfully";
594
+ });
595
+ ```
596
+
597
+ **Features:**
598
+
599
+ - **Dependency DAG**: `blockedBy`/`blocks` edges with cycle detection. Completing a task auto-unblocks dependents
600
+ - **Background execution**: `runBackground()` with `AbortSignal` support. Status auto-updates to completed/failed
601
+ - **Auto-injection**: Completed results automatically injected as `<background-results>` before each LLM call
602
+ - **Persistence**: Optional single-file JSON via `persistDir`
603
+
604
+ Built-in tools: `task_create`, `task_depend`, `task_update`, `task_list`, `task_get`.
605
+
575
606
  ### Hooks
576
607
 
577
608
  User-level hooks for transforming context and intercepting tool calls:
@@ -677,6 +708,7 @@ const agent = createAgent({
677
708
  wire: { bufferSize: 100 },
678
709
  backgroundTasks: { factories: { build: buildTaskFactory } },
679
710
  planning: { readOnlyTools: ["read_file", "search"], nagAfterRounds: 3 },
711
+ taskGraph: { persistDir: "./.tasks", autoInjectResults: true },
680
712
 
681
713
  hooks: {
682
714
  transformContext: async (msgs) => msgs,
@@ -720,6 +752,7 @@ await agent.dispose();
720
752
  | `wire` | `{ bufferSize }` | no | `{ bufferSize: 0 }` | Event channel config |
721
753
  | `backgroundTasks` | `{ factories }` | no | — | Background task factories |
722
754
  | `planning` | `PlanningConfig` | no | — | Two-phase planning with todo tracking and nag reminders |
755
+ | `taskGraph` | `TaskGraphConfig` | no | `{}` | Fine-tune task graph (persistDir, maxTasks) — tools always registered |
723
756
  | `provider` | `LLMProvider` | no | — | Custom LLM provider (bypasses registry) |
724
757
 
725
758
  ### `Agent` Instance
@@ -744,6 +777,7 @@ await agent.dispose();
744
777
  | `wire` | `Wire` event channel (always available). |
745
778
  | `backgroundTasks` | `BackgroundTaskManager` (if configured). |
746
779
  | `planning` | `PlanningManager` (if configured). |
780
+ | `taskGraph` | `TaskGraph` (always available). |
747
781
  | `setSystemPrompt(prompt)` | Update system prompt. |
748
782
  | `setModel(model)` | Update model config. |
749
783
  | `setTools(tools)` | Replace tools (not while running). |
package/README.zh-CN.md CHANGED
@@ -43,7 +43,7 @@ const messages = await agent.prompt("Say hello");
43
43
 
44
44
  ## 架构
45
45
 
46
- 单包架构,15 个模块,零包装层。所有能力内置,通过 config 按需启用。
46
+ 单包架构,16 个模块,零包装层。所有能力内置,通过 config 按需启用。
47
47
 
48
48
  ```
49
49
  src/
@@ -62,6 +62,7 @@ src/
62
62
  ├── wire/ 类型化异步事件通道,支持回放缓冲
63
63
  ├── background/ 进程内异步任务管理器
64
64
  ├── planning/ 两阶段规划 + 结构化 todo + nag 注入
65
+ ├── task-graph/ 依赖感知的任务 DAG + 后台执行 + 自动注入
65
66
  └── utils/ ID 生成 + JSONL 工具
66
67
  ```
67
68
 
@@ -570,6 +571,36 @@ console.log(agent.planning?.todos); // readonly TodoItem[]
570
571
 
571
572
  如果 `readOnlyTools` 未配置或为空,规划阶段所有工具仍可用(阶段分离仅通过工具描述建议模型遵守)。
572
573
 
574
+ ### 任务图(依赖 DAG)
575
+
576
+ 内置的依赖感知任务图,支持后台执行和结果自动注入。始终可用,无需配置。
577
+
578
+ ```typescript
579
+ const agent = createAgent({
580
+ taskGraph: {
581
+ persistDir: "./.tasks", // 持久化到磁盘(默认纯内存)
582
+ maxTasks: 100, // 任务数上限(默认 100)
583
+ autoInjectResults: true, // 自动推送完成结果(默认 true)
584
+ },
585
+ ...
586
+ });
587
+
588
+ // 编程接口
589
+ const graph = agent.taskGraph;
590
+ graph.runBackground(taskId, async (signal) => {
591
+ return "解析器构建完成";
592
+ });
593
+ ```
594
+
595
+ **功能:**
596
+
597
+ - **依赖 DAG**:`blockedBy`/`blocks` 双向边 + 环检测。完成任务自动解锁后续任务
598
+ - **后台执行**:`runBackground()` 支持 `AbortSignal`。状态自动更新为 completed/failed
599
+ - **自动注入**:完成结果自动以 `<background-results>` 注入到下次 LLM 调用前
600
+ - **持久化**:可选单文件 JSON,通过 `persistDir` 启用
601
+
602
+ 内置工具:`task_create`、`task_depend`、`task_update`、`task_list`、`task_get`。
603
+
573
604
  ### Hooks
574
605
 
575
606
  用户级 hook,用于转换上下文和拦截工具调用:
@@ -675,6 +706,7 @@ const agent = createAgent({
675
706
  wire: { bufferSize: 100 },
676
707
  backgroundTasks: { factories: { build: buildTaskFactory } },
677
708
  planning: { readOnlyTools: ["read_file", "search"], nagAfterRounds: 3 },
709
+ taskGraph: { persistDir: "./.tasks", autoInjectResults: true },
678
710
 
679
711
  hooks: {
680
712
  transformContext: async (msgs) => msgs,
@@ -718,6 +750,7 @@ await agent.dispose();
718
750
  | `wire` | `{ bufferSize }` | 否 | `{ bufferSize: 0 }` | 事件通道配置 |
719
751
  | `backgroundTasks` | `{ factories }` | 否 | — | 后台任务工厂 |
720
752
  | `planning` | `PlanningConfig` | 否 | — | 两阶段规划,含 todo 管理和 nag 提醒 |
753
+ | `taskGraph` | `TaskGraphConfig` | 否 | `{}` | 微调任务图(persistDir, maxTasks)——工具始终注册 |
721
754
  | `provider` | `LLMProvider` | 否 | — | 自定义 LLM Provider(绕过注册中心) |
722
755
 
723
756
  ### `Agent` 实例
@@ -742,6 +775,7 @@ await agent.dispose();
742
775
  | `wire` | `Wire` 事件通道(始终可用)。 |
743
776
  | `backgroundTasks` | `BackgroundTaskManager`(需配置)。 |
744
777
  | `planning` | `PlanningManager`(需配置)。 |
778
+ | `taskGraph` | `TaskGraph`(始终可用)。 |
745
779
  | `setSystemPrompt(prompt)` | 更新系统提示词。 |
746
780
  | `setModel(model)` | 更新模型配置。 |
747
781
  | `setTools(tools)` | 替换工具(运行中不可调用)。 |
@@ -1,11 +1,14 @@
1
1
  import type { Approval, ApprovalConfig, ApprovalRequest, ApprovalResponse } from "./types.js";
2
+ interface SharedApprovalState {
3
+ yolo: boolean;
4
+ autoApproveActions: Set<string>;
5
+ }
2
6
  export declare class ApprovalImpl implements Approval {
3
- private _yolo;
4
- private _autoApproveActions;
7
+ private _shared;
5
8
  private _pending;
6
9
  private _queue;
7
10
  private _waiters;
8
- constructor(config?: ApprovalConfig);
11
+ constructor(config?: ApprovalConfig, sharedState?: SharedApprovalState);
9
12
  request(sender: string, action: string, description: string, toolCallId: string): Promise<boolean>;
10
13
  fetchRequest(): Promise<ApprovalRequest>;
11
14
  /** Cancel all pending waiters (e.g., on agent dispose) */
@@ -15,4 +18,6 @@ export declare class ApprovalImpl implements Approval {
15
18
  isYolo(): boolean;
16
19
  get autoApproveActions(): Set<string>;
17
20
  share(): Approval;
21
+ dispose(): void;
18
22
  }
23
+ export {};
@@ -1,19 +1,20 @@
1
1
  // Queue-based approval system
2
2
  import { generateId } from "../utils/id.js";
3
3
  export class ApprovalImpl {
4
- _yolo;
5
- _autoApproveActions;
4
+ _shared;
6
5
  _pending = new Map();
7
6
  _queue = [];
8
7
  _waiters = [];
9
- constructor(config) {
10
- this._yolo = config?.yolo ?? false;
11
- this._autoApproveActions = new Set(config?.autoApproveActions ?? []);
8
+ constructor(config, sharedState) {
9
+ this._shared = sharedState ?? {
10
+ yolo: config?.yolo ?? false,
11
+ autoApproveActions: new Set(config?.autoApproveActions ?? []),
12
+ };
12
13
  }
13
14
  async request(sender, action, description, toolCallId) {
14
- if (this._yolo)
15
+ if (this._shared.yolo)
15
16
  return true;
16
- if (this._autoApproveActions.has(action))
17
+ if (this._shared.autoApproveActions.has(action))
17
18
  return true;
18
19
  const req = {
19
20
  id: generateId(),
@@ -59,7 +60,7 @@ export class ApprovalImpl {
59
60
  return;
60
61
  this._pending.delete(requestId);
61
62
  if (response === "approve_for_session") {
62
- this._autoApproveActions.add(pending.request.action);
63
+ this._shared.autoApproveActions.add(pending.request.action);
63
64
  pending.resolve(true);
64
65
  }
65
66
  else {
@@ -67,27 +68,26 @@ export class ApprovalImpl {
67
68
  }
68
69
  }
69
70
  setYolo(yolo) {
70
- this._yolo = yolo;
71
+ this._shared.yolo = yolo;
71
72
  }
72
73
  isYolo() {
73
- return this._yolo;
74
+ return this._shared.yolo;
74
75
  }
75
76
  get autoApproveActions() {
76
- return this._autoApproveActions;
77
+ return this._shared.autoApproveActions;
77
78
  }
78
79
  share() {
79
- // Shared state (yolo, autoApproveActions), independent queue
80
- // Use a shared state object so changes propagate bidirectionally
81
- const shared = new ApprovalImpl();
82
- shared._autoApproveActions = this._autoApproveActions; // same reference
83
- // Share yolo via getter/setter delegation
84
- const parent = this;
85
- Object.defineProperty(shared, '_yolo', {
86
- get() { return parent._yolo; },
87
- set(v) { parent._yolo = v; },
88
- configurable: true,
89
- });
90
- return shared;
80
+ // Shared state (yolo, autoApproveActions) via same reference, independent queue
81
+ return new ApprovalImpl(undefined, this._shared);
82
+ }
83
+ dispose() {
84
+ this.cancelPendingWaiters();
85
+ // Reject all pending approval requests so blocked tools don't hang forever
86
+ for (const [id, pending] of this._pending) {
87
+ pending.resolve(false);
88
+ }
89
+ this._pending.clear();
90
+ this._queue = [];
91
91
  }
92
92
  }
93
93
  //# sourceMappingURL=approval.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/approval/approval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/approval/approval.ts"],"names":[],"mappings":"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"}
@@ -18,4 +18,5 @@ export interface Approval {
18
18
  isYolo(): boolean;
19
19
  readonly autoApproveActions: Set<string>;
20
20
  share(): Approval;
21
+ dispose(): void;
21
22
  }
@@ -8,6 +8,8 @@ export declare class BackgroundTaskManager {
8
8
  list(): BackgroundTaskInfo[];
9
9
  abort(id: string): boolean;
10
10
  abortAll(): void;
11
+ /** Remove completed/failed tasks older than `maxAgeMs` (default: 5 minutes). */
12
+ prune(maxAgeMs?: number): number;
11
13
  dispose(): void;
12
14
  private _toInfo;
13
15
  private _toHandle;
@@ -60,6 +60,20 @@ export class BackgroundTaskManager {
60
60
  }
61
61
  }
62
62
  }
63
+ /** Remove completed/failed tasks older than `maxAgeMs` (default: 5 minutes). */
64
+ prune(maxAgeMs = 5 * 60 * 1000) {
65
+ const now = Date.now();
66
+ let removed = 0;
67
+ for (const [id, task] of this._tasks) {
68
+ if ((task.status === "completed" || task.status === "failed") &&
69
+ task.completedAt &&
70
+ now - task.completedAt > maxAgeMs) {
71
+ this._tasks.delete(id);
72
+ removed++;
73
+ }
74
+ }
75
+ return removed;
76
+ }
63
77
  dispose() {
64
78
  this.abortAll();
65
79
  this._tasks.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"task-manager.js","sourceRoot":"","sources":["../../src/background/task-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-manager.js","sourceRoot":"","sources":["../../src/background/task-manager.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAe5C,MAAM,OAAO,qBAAqB;IACxB,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IACzC,QAAQ,CAAwC;IAExD,YAAY,OAA8C;QACxD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK,CAAI,IAAY,EAAE,EAAuC;QAC5D,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,MAAM,IAAI,GAAiB;YACzB,EAAE;YACF,IAAI;YACJ,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,eAAe;SAChB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEpE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAC7B,CAAC,MAAM,EAAE,EAAE;YACT,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC;gBAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACjG,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC;gBAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACjH,CAAC,CACF,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAI,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjD,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,EAAU;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,IACE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;gBACzD,IAAI,CAAC,WAAW;gBAChB,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,QAAQ,EACjC,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAEO,OAAO,CAAC,IAAkB;QAChC,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO;SAC3B,CAAC;IACJ,CAAC;IAEO,SAAS,CAAI,IAAkB;QACrC,OAAO;YACL,IAAI,EAAE,KAAK,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChC,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACpC,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,MAAuB,CAAC,CAAC,CAAC;YACrD,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAClC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;SAC1C,CAAC;IACJ,CAAC;CACF"}
@@ -5,4 +5,3 @@ export declare function shouldCompact(contextTokens: number, maxContextTokens: n
5
5
  export declare function findCutPoint(messages: AgentMessage[], keepRecentTokens: number): CutPointResult;
6
6
  /** Replace old tool_result content with `[Previous: used {toolName}]`, keeping the most recent N intact. */
7
7
  export declare function microCompact(messages: Message[], keepRecent: number): Message[];
8
- export declare function messagesToText(messages: AgentMessage[]): string;
@@ -60,6 +60,13 @@ export function findCutPoint(messages, keepRecentTokens) {
60
60
  break;
61
61
  }
62
62
  }
63
+ // If all messages fit within keepRecentTokens, nothing can be discarded.
64
+ // Return firstKeptIndex: 0 so callers know there's nothing to cut —
65
+ // this prevents infinite compaction loops when context exceeds max but
66
+ // all messages fall within the keep window.
67
+ if (cutIndex >= messages.length) {
68
+ return { firstKeptIndex: 0, isSplitTurn: false };
69
+ }
63
70
  // Ensure we don't cut at a tool_result (must follow its tool_call)
64
71
  while (cutIndex < messages.length) {
65
72
  const msg = messages[cutIndex];
@@ -70,8 +77,8 @@ export function findCutPoint(messages, keepRecentTokens) {
70
77
  break;
71
78
  }
72
79
  }
73
- // Don't cut if nothing to discard
74
- if (cutIndex <= 1) {
80
+ // After adjusting for tool_results, check if we've pushed past all messages
81
+ if (cutIndex >= messages.length || cutIndex <= 1) {
75
82
  return { firstKeptIndex: 0, isSplitTurn: false };
76
83
  }
77
84
  const isSplitTurn = cutIndex > 0 && cutIndex < messages.length &&
@@ -89,21 +96,22 @@ export function microCompact(messages, keepRecent) {
89
96
  }
90
97
  if (toolResultIndices.length <= keepRecent)
91
98
  return messages;
99
+ // Build toolCallId → toolName map in one pass
100
+ const toolCallNames = new Map();
101
+ for (const msg of messages) {
102
+ if (msg.role === "assistant") {
103
+ for (const b of msg.content) {
104
+ if (b.type === "tool_call") {
105
+ toolCallNames.set(b.id, b.name);
106
+ }
107
+ }
108
+ }
109
+ }
92
110
  const toReplace = toolResultIndices.slice(0, -keepRecent);
93
111
  const result = [...messages];
94
112
  for (const idx of toReplace) {
95
113
  const msg = result[idx];
96
- let toolName = "tool";
97
- for (let j = idx - 1; j >= 0; j--) {
98
- const prev = result[j];
99
- if (prev.role === "assistant") {
100
- const call = prev.content.find((b) => b.type === "tool_call" && b.id === msg.toolCallId);
101
- if (call) {
102
- toolName = call.name;
103
- break;
104
- }
105
- }
106
- }
114
+ const toolName = toolCallNames.get(msg.toolCallId) ?? "tool";
107
115
  result[idx] = {
108
116
  role: "tool_result",
109
117
  toolCallId: msg.toolCallId,
@@ -113,26 +121,4 @@ export function microCompact(messages, keepRecent) {
113
121
  }
114
122
  return result;
115
123
  }
116
- export function messagesToText(messages) {
117
- const parts = [];
118
- for (const msg of messages) {
119
- if (!msg || typeof msg !== "object" || !("role" in msg))
120
- continue;
121
- const m = msg;
122
- if (m.role === "user") {
123
- const text = typeof m.content === "string" ? m.content : m.content.filter((b) => b.type === "text").map((b) => b.text).join("\n");
124
- parts.push(`User: ${text}`);
125
- }
126
- else if (m.role === "assistant") {
127
- const text = m.content.filter((b) => b.type === "text").map((b) => b.text).join("\n");
128
- const toolCalls = m.content.filter((b) => b.type === "tool_call").map((b) => b.name);
129
- parts.push(`Assistant: ${text}${toolCalls.length ? ` [tools: ${toolCalls.join(", ")}]` : ""}`);
130
- }
131
- else if (m.role === "tool_result") {
132
- const text = typeof m.content === "string" ? m.content : m.content.filter((b) => b.type === "text").map((b) => b.text).join("\n");
133
- parts.push(`Tool result: ${text.slice(0, 500)}`);
134
- }
135
- }
136
- return parts.join("\n");
137
- }
138
124
  //# sourceMappingURL=compaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/compaction/compaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/compaction/compaction.ts"],"names":[],"mappings":"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"}
@@ -32,14 +32,9 @@ export class LLMSummarizer {
32
32
  };
33
33
  let result = "";
34
34
  for await (const event of this.provider.stream(options)) {
35
- if (event.type === "text") {
36
- result += event.text;
37
- }
38
- else if (event.type === "done") {
35
+ if (event.type === "done") {
39
36
  const textBlocks = event.message.content.filter((b) => b.type === "text");
40
- if (textBlocks.length > 0) {
41
- result = textBlocks.map((b) => b.text).join("");
42
- }
37
+ result = textBlocks.map((b) => b.text).join("");
43
38
  }
44
39
  }
45
40
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"summarizer.js","sourceRoot":"","sources":["../../src/compaction/summarizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarizer.js","sourceRoot":"","sources":["../../src/compaction/summarizer.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import type { InjectionManager } from "../injection/injection-manager.js";
8
8
  import type { ExtensionRunner } from "../extensions/runner.js";
9
9
  import type { CompactionConfig } from "../compaction/types.js";
10
10
  import type { PlanningManager } from "../planning/planning-manager.js";
11
- export interface AgentLoopConfig {
11
+ interface AgentLoopConfig {
12
12
  provider: LLMProvider;
13
13
  modelId: string;
14
14
  systemPrompt: string;
@@ -38,3 +38,4 @@ export interface AgentLoopConfig {
38
38
  modelCost?: ModelCost;
39
39
  }
40
40
  export declare function runAgentLoop(initialMessages: AgentMessage[], config: AgentLoopConfig): Promise<AgentMessage[]>;
41
+ export {};
@@ -34,7 +34,7 @@ function toolResultsToMessages(results) {
34
34
  role: "tool_result",
35
35
  toolCallId: r.toolCallId,
36
36
  content: r.result.content,
37
- isError: r.isError || undefined,
37
+ isError: r.isError,
38
38
  }));
39
39
  }
40
40
  export async function runAgentLoop(initialMessages, config) {
@@ -114,14 +114,10 @@ export async function runAgentLoop(initialMessages, config) {
114
114
  allMessages.push(summaryMsg);
115
115
  }
116
116
  allMessages.push(...toKeep);
117
- // Persist compaction to session
118
- // Append compaction entry as boundary marker, then re-append
119
- // kept messages after it so buildSessionContext picks them up
117
+ // Persist compaction boundary marker to session.
118
+ // Kept messages are already in the session tree — only append the compaction entry.
120
119
  if (sessionManager) {
121
120
  await sessionManager.appendCompaction(summary, sessionManager.getLeafId() ?? "", tokens);
122
- for (const msg of toKeep) {
123
- await sessionManager.appendMessage(msg);
124
- }
125
121
  }
126
122
  onEvent({ type: "compaction_end", summary });
127
123
  await extensionRunner?.emitSimple("after_compact", {
@@ -175,7 +171,7 @@ export async function runAgentLoop(initialMessages, config) {
175
171
  llmMessages = microCompact(llmMessages, keepRecentToolResults);
176
172
  // --- Phase-aware tool filtering ---
177
173
  let visibleTools = allTools;
178
- if (config.planningManager?.phase === "planning" && config.planningManager.allowedInPlanning.size > 2) {
174
+ if (config.planningManager?.phase === "planning" && config.planningManager.hasConfiguredReadOnlyTools) {
179
175
  visibleTools = allTools.filter((t) => config.planningManager.allowedInPlanning.has(t.name));
180
176
  }
181
177
  // --- Stream LLM response ---
@@ -346,9 +342,18 @@ export async function runAgentLoop(initialMessages, config) {
346
342
  }
347
343
  }
348
344
  catch (err) {
349
- if (!(err instanceof Error && err.name === "AbortError")) {
345
+ const isAbort = err instanceof Error && err.name === "AbortError";
346
+ if (!isAbort) {
350
347
  onEvent({ type: "error", error: err instanceof Error ? err : new Error(String(err)) });
351
348
  }
349
+ onEvent({ type: "agent_end", messages: allMessages });
350
+ await extensionRunner?.emitSimple("agent_end", { messages: allMessages });
351
+ // Re-throw non-abort errors so the caller (Agent._runLoop) can set error state.
352
+ // AbortError is intentional (user called agent.abort()), not an error condition.
353
+ if (!isAbort) {
354
+ throw err;
355
+ }
356
+ return allMessages;
352
357
  }
353
358
  onEvent({ type: "agent_end", messages: allMessages });
354
359
  await extensionRunner?.emitSimple("agent_end", { messages: allMessages });
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../../src/core/agent-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../../src/core/agent-loop.ts"],"names":[],"mappings":"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"}