klaus-agent 0.3.0 → 0.4.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 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
 
@@ -289,22 +290,25 @@ Session file format: first line is a header `{ type: "session", version: 1, id,
289
290
 
290
291
  ### Compaction
291
292
 
292
- Automatic context compression when token count exceeds threshold.
293
+ Two-layer context compression: micro compaction (silent, every turn) and auto compaction (LLM summarization on threshold).
293
294
 
294
295
  ```typescript
295
296
  const agent = createAgent({
296
297
  compaction: {
297
298
  enabled: true,
298
- maxContextTokens: 200000, // Defaults to model.maxContextTokens
299
- reserveTokens: 16384, // Reserve for output
300
- keepRecentTokens: 20000, // Keep recent messages
299
+ maxContextTokens: 200000, // Defaults to model.maxContextTokens
300
+ reserveTokens: 16384, // Reserve for output
301
+ keepRecentTokens: 20000, // Keep recent messages during auto compaction
302
+ keepRecentToolResults: 3, // Micro compaction: keep last N tool results intact (default: 3)
301
303
  customSummarizer: mySummarizer, // Optional custom summarizer
302
304
  },
303
305
  ...
304
306
  });
305
307
  ```
306
308
 
307
- Flow: estimate tokens check threshold find cut point (respects tool_result boundaries) summarize discarded messages via LLM replace with `<compaction-summary>` persist to session.
309
+ **Micro compaction** (every turn): Old tool results beyond the most recent N are replaced with `[Previous: used {toolName}]` before each LLM call. No LLM cost, no persistent mutation operates only on the context view.
310
+
311
+ **Auto compaction** (on threshold): estimate tokens → check threshold → find cut point (respects tool_result boundaries) → summarize discarded messages via LLM → replace with `<compaction-summary>` → persist to session.
308
312
 
309
313
  Built-in `LLMSummarizer` uses the same provider to generate summaries. Supports incremental summarization with `previousSummary`.
310
314
 
@@ -539,7 +543,7 @@ Built-in tools: `start_background_task`, `check_task_status`, `get_task_result`.
539
543
 
540
544
  ### Planning (Two-Phase Todo)
541
545
 
542
- 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.
543
547
 
544
548
  ```typescript
545
549
  const agent = createAgent({
@@ -569,6 +573,36 @@ Built-in tools: `todo`, `plan_mode`.
569
573
 
570
574
  If `readOnlyTools` is omitted or empty, all tools remain available during planning (phase separation is advisory only via the tool descriptions).
571
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
+
572
606
  ### Hooks
573
607
 
574
608
  User-level hooks for transforming context and intercepting tool calls:
@@ -674,6 +708,7 @@ const agent = createAgent({
674
708
  wire: { bufferSize: 100 },
675
709
  backgroundTasks: { factories: { build: buildTaskFactory } },
676
710
  planning: { readOnlyTools: ["read_file", "search"], nagAfterRounds: 3 },
711
+ taskGraph: { persistDir: "./.tasks", autoInjectResults: true },
677
712
 
678
713
  hooks: {
679
714
  transformContext: async (msgs) => msgs,
@@ -717,6 +752,7 @@ await agent.dispose();
717
752
  | `wire` | `{ bufferSize }` | no | `{ bufferSize: 0 }` | Event channel config |
718
753
  | `backgroundTasks` | `{ factories }` | no | — | Background task factories |
719
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 |
720
756
  | `provider` | `LLMProvider` | no | — | Custom LLM provider (bypasses registry) |
721
757
 
722
758
  ### `Agent` Instance
@@ -741,6 +777,7 @@ await agent.dispose();
741
777
  | `wire` | `Wire` event channel (always available). |
742
778
  | `backgroundTasks` | `BackgroundTaskManager` (if configured). |
743
779
  | `planning` | `PlanningManager` (if configured). |
780
+ | `taskGraph` | `TaskGraph` (always available). |
744
781
  | `setSystemPrompt(prompt)` | Update system prompt. |
745
782
  | `setModel(model)` | Update model config. |
746
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
 
@@ -287,22 +288,25 @@ agent.session.branch(entryId);
287
288
 
288
289
  ### 压缩
289
290
 
290
- Token 数超过阈值时自动压缩上下文。
291
+ 两层上下文压缩:微压缩(静默,每轮执行)和自动压缩(LLM 摘要,阈值触发)。
291
292
 
292
293
  ```typescript
293
294
  const agent = createAgent({
294
295
  compaction: {
295
296
  enabled: true,
296
- maxContextTokens: 200000, // 默认使用 model.maxContextTokens
297
- reserveTokens: 16384, // 为输出预留的 token 数
298
- keepRecentTokens: 20000, // 保留最近消息的 token 数
297
+ maxContextTokens: 200000, // 默认使用 model.maxContextTokens
298
+ reserveTokens: 16384, // 为输出预留的 token 数
299
+ keepRecentTokens: 20000, // 自动压缩时保留最近消息的 token 数
300
+ keepRecentToolResults: 3, // 微压缩:保留最近 N 个工具结果(默认 3)
299
301
  customSummarizer: mySummarizer, // 可选自定义摘要器
300
302
  },
301
303
  ...
302
304
  });
303
305
  ```
304
306
 
305
- 流程:估算 token 检查阈值 找到切割点(尊重 tool_result 边界)→ 通过 LLM 摘要被丢弃的消息 替换为 `<compaction-summary>` → 持久化到会话。
307
+ **微压缩**(每轮):每次 LLM 调用前,将最近 N 个以外的旧 tool_result 替换为 `[Previous: used {toolName}]`。无 LLM 开销,不修改持久化状态——仅作用于上下文视图。
308
+
309
+ **自动压缩**(阈值触发):估算 token → 检查阈值 → 找到切割点(尊重 tool_result 边界)→ 通过 LLM 摘要被丢弃的消息 → 替换为 `<compaction-summary>` → 持久化到会话。
306
310
 
307
311
  内置 `LLMSummarizer` 使用同一 Provider 生成摘要,支持基于 `previousSummary` 的增量摘要。
308
312
 
@@ -567,6 +571,36 @@ console.log(agent.planning?.todos); // readonly TodoItem[]
567
571
 
568
572
  如果 `readOnlyTools` 未配置或为空,规划阶段所有工具仍可用(阶段分离仅通过工具描述建议模型遵守)。
569
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
+
570
604
  ### Hooks
571
605
 
572
606
  用户级 hook,用于转换上下文和拦截工具调用:
@@ -672,6 +706,7 @@ const agent = createAgent({
672
706
  wire: { bufferSize: 100 },
673
707
  backgroundTasks: { factories: { build: buildTaskFactory } },
674
708
  planning: { readOnlyTools: ["read_file", "search"], nagAfterRounds: 3 },
709
+ taskGraph: { persistDir: "./.tasks", autoInjectResults: true },
675
710
 
676
711
  hooks: {
677
712
  transformContext: async (msgs) => msgs,
@@ -715,6 +750,7 @@ await agent.dispose();
715
750
  | `wire` | `{ bufferSize }` | 否 | `{ bufferSize: 0 }` | 事件通道配置 |
716
751
  | `backgroundTasks` | `{ factories }` | 否 | — | 后台任务工厂 |
717
752
  | `planning` | `PlanningConfig` | 否 | — | 两阶段规划,含 todo 管理和 nag 提醒 |
753
+ | `taskGraph` | `TaskGraphConfig` | 否 | `{}` | 微调任务图(persistDir, maxTasks)——工具始终注册 |
718
754
  | `provider` | `LLMProvider` | 否 | — | 自定义 LLM Provider(绕过注册中心) |
719
755
 
720
756
  ### `Agent` 实例
@@ -739,6 +775,7 @@ await agent.dispose();
739
775
  | `wire` | `Wire` 事件通道(始终可用)。 |
740
776
  | `backgroundTasks` | `BackgroundTaskManager`(需配置)。 |
741
777
  | `planning` | `PlanningManager`(需配置)。 |
778
+ | `taskGraph` | `TaskGraph`(始终可用)。 |
742
779
  | `setSystemPrompt(prompt)` | 更新系统提示词。 |
743
780
  | `setModel(model)` | 更新模型配置。 |
744
781
  | `setTools(tools)` | 替换工具(运行中不可调用)。 |
@@ -1,6 +1,8 @@
1
- import type { AgentMessage } from "../types.js";
1
+ import type { AgentMessage, Message } from "../types.js";
2
2
  import type { CutPointResult } from "./types.js";
3
3
  export declare function estimateTokens(messages: AgentMessage[]): number;
4
4
  export declare function shouldCompact(contextTokens: number, maxContextTokens: number, reserveTokens: number): boolean;
5
5
  export declare function findCutPoint(messages: AgentMessage[], keepRecentTokens: number): CutPointResult;
6
+ /** Replace old tool_result content with `[Previous: used {toolName}]`, keeping the most recent N intact. */
7
+ export declare function microCompact(messages: Message[], keepRecent: number): Message[];
6
8
  export declare function messagesToText(messages: AgentMessage[]): string;
@@ -79,6 +79,40 @@ export function findCutPoint(messages, keepRecentTokens) {
79
79
  "role" in messages[cutIndex - 1] && messages[cutIndex - 1].role === "assistant";
80
80
  return { firstKeptIndex: cutIndex, isSplitTurn };
81
81
  }
82
+ /** Replace old tool_result content with `[Previous: used {toolName}]`, keeping the most recent N intact. */
83
+ export function microCompact(messages, keepRecent) {
84
+ const toolResultIndices = [];
85
+ for (let i = 0; i < messages.length; i++) {
86
+ if (messages[i].role === "tool_result") {
87
+ toolResultIndices.push(i);
88
+ }
89
+ }
90
+ if (toolResultIndices.length <= keepRecent)
91
+ return messages;
92
+ const toReplace = toolResultIndices.slice(0, -keepRecent);
93
+ const result = [...messages];
94
+ for (const idx of toReplace) {
95
+ 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
+ }
107
+ result[idx] = {
108
+ role: "tool_result",
109
+ toolCallId: msg.toolCallId,
110
+ content: `[Previous: used ${toolName}]`,
111
+ ...(msg.isError && { isError: msg.isError }),
112
+ };
113
+ }
114
+ return result;
115
+ }
82
116
  export function messagesToText(messages) {
83
117
  const parts = [];
84
118
  for (const msg of messages) {
@@ -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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"}
@@ -4,6 +4,8 @@ export interface CompactionConfig {
4
4
  keepRecentTokens?: number;
5
5
  maxContextTokens?: number;
6
6
  customSummarizer?: CompactionSummarizer;
7
+ /** Number of recent tool results to keep intact during micro compaction. Default: 3. */
8
+ keepRecentToolResults?: number;
7
9
  }
8
10
  export interface CompactionSummarizer {
9
11
  summarize(messages: CompactionInput[], previousSummary?: string): Promise<string>;
@@ -2,7 +2,7 @@
2
2
  // session, compaction, checkpoint, injection, extension all wired in
3
3
  import { PLANNING_TOOL_NAMES } from "../planning/types.js";
4
4
  import { executeToolCalls } from "../tools/executor.js";
5
- import { estimateTokens, shouldCompact, findCutPoint } from "../compaction/compaction.js";
5
+ import { estimateTokens, shouldCompact, findCutPoint, microCompact } from "../compaction/compaction.js";
6
6
  import { normalizeHistory } from "../injection/history-normalizer.js";
7
7
  import { calculateCost } from "../providers/shared.js";
8
8
  function defaultConvertToLlm(messages) {
@@ -46,6 +46,7 @@ export async function runAgentLoop(initialMessages, config) {
46
46
  : config.tools;
47
47
  // Mutable copies of config values that before_agent_start can override
48
48
  let { modelId, systemPrompt, thinkingLevel } = config;
49
+ const keepRecentToolResults = compaction?.keepRecentToolResults ?? 3;
49
50
  // --- before_agent_start: let extensions modify agent config ---
50
51
  if (extensionRunner) {
51
52
  const result = await extensionRunner.emitBeforeAgentStart({
@@ -170,6 +171,8 @@ export async function runAgentLoop(initialMessages, config) {
170
171
  if (config.capabilities?.vision === false) {
171
172
  llmMessages = stripImages(llmMessages);
172
173
  }
174
+ // --- Micro compaction: shorten old tool results ---
175
+ llmMessages = microCompact(llmMessages, keepRecentToolResults);
173
176
  // --- Phase-aware tool filtering ---
174
177
  let visibleTools = allTools;
175
178
  if (config.planningManager?.phase === "planning" && config.planningManager.allowedInPlanning.size > 2) {
@@ -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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"}
@@ -12,6 +12,7 @@ import type { SkillSource } from "../skills/types.js";
12
12
  import type { MCPServerConfig, MCPClient } from "../tools/mcp-adapter.js";
13
13
  import type { TaskFactory } from "../background/types.js";
14
14
  import type { PlanningConfig } from "../planning/types.js";
15
+ import type { TaskGraphConfig } from "../task-graph/types.js";
15
16
  import { SessionManager } from "../session/session-manager.js";
16
17
  import { CheckpointManager } from "../checkpoint/checkpoint-manager.js";
17
18
  import { InjectionManager } from "../injection/injection-manager.js";
@@ -21,6 +22,7 @@ import { MCPAdapter } from "../tools/mcp-adapter.js";
21
22
  import { Wire } from "../wire/wire.js";
22
23
  import { BackgroundTaskManager } from "../background/task-manager.js";
23
24
  import { PlanningManager } from "../planning/planning-manager.js";
25
+ import { TaskGraph } from "../task-graph/task-graph.js";
24
26
  export interface AgentConfig {
25
27
  model: ModelConfig;
26
28
  systemPrompt: string | (() => string | Promise<string>);
@@ -49,6 +51,7 @@ export interface AgentConfig {
49
51
  backgroundTasks?: {
50
52
  factories?: Record<string, TaskFactory>;
51
53
  };
54
+ taskGraph?: TaskGraphConfig;
52
55
  planning?: PlanningConfig;
53
56
  }
54
57
  export declare class Agent {
@@ -71,6 +74,7 @@ export declare class Agent {
71
74
  private _wire;
72
75
  private _backgroundTaskManager;
73
76
  private _planningManager;
77
+ private _taskGraph;
74
78
  private _initialized;
75
79
  constructor(config: AgentConfig);
76
80
  prompt(input: string | AgentMessage | AgentMessage[]): Promise<AgentMessage[]>;
@@ -90,12 +94,14 @@ export declare class Agent {
90
94
  get wire(): Wire;
91
95
  get backgroundTasks(): BackgroundTaskManager | undefined;
92
96
  get planning(): PlanningManager | undefined;
97
+ get taskGraph(): TaskGraph;
93
98
  setSystemPrompt(prompt: string): void;
94
99
  setModel(model: ModelConfig): void;
95
100
  setTools(tools: AgentTool[]): void;
96
101
  setThinkingLevel(level: ThinkingLevel): void;
97
102
  dispose(): Promise<void>;
98
103
  private _ensureInitialized;
104
+ private _addInjectionProvider;
99
105
  private _normalizeInput;
100
106
  private _emit;
101
107
  private _runLoop;
@@ -16,6 +16,9 @@ import { createBackgroundTaskTools } from "../background/tools.js";
16
16
  import { PlanningManager } from "../planning/planning-manager.js";
17
17
  import { createPlanningTools } from "../planning/tools.js";
18
18
  import { PlanningNagProvider } from "../planning/nag-injection.js";
19
+ import { TaskGraph } from "../task-graph/task-graph.js";
20
+ import { createTaskGraphTools } from "../task-graph/tools.js";
21
+ import { TaskResultInjectionProvider } from "../task-graph/result-injection.js";
19
22
  import { runAgentLoop } from "./agent-loop.js";
20
23
  export class Agent {
21
24
  _state;
@@ -38,6 +41,7 @@ export class Agent {
38
41
  _wire;
39
42
  _backgroundTaskManager;
40
43
  _planningManager;
44
+ _taskGraph;
41
45
  _initialized = false;
42
46
  constructor(config) {
43
47
  this._config = config;
@@ -98,6 +102,8 @@ export class Agent {
98
102
  if (config.planning) {
99
103
  this._planningManager = new PlanningManager(config.planning);
100
104
  }
105
+ // Task graph
106
+ this._taskGraph = new TaskGraph(config.taskGraph ?? {});
101
107
  }
102
108
  // --- Public API ---
103
109
  async prompt(input) {
@@ -171,6 +177,9 @@ export class Agent {
171
177
  get planning() {
172
178
  return this._planningManager;
173
179
  }
180
+ get taskGraph() {
181
+ return this._taskGraph;
182
+ }
174
183
  setSystemPrompt(prompt) {
175
184
  this._state.systemPrompt = prompt;
176
185
  }
@@ -196,6 +205,7 @@ export class Agent {
196
205
  this._followUpQueue = [];
197
206
  await this._mcpAdapter?.dispose();
198
207
  this._backgroundTaskManager?.dispose();
208
+ this._taskGraph.dispose();
199
209
  this._wire.dispose();
200
210
  }
201
211
  // --- Internal ---
@@ -277,13 +287,20 @@ export class Agent {
277
287
  if (this._planningManager) {
278
288
  this._state.tools = [...this._state.tools, ...createPlanningTools(this._planningManager)];
279
289
  // Register nag provider into injection manager (create one if needed)
280
- const nagProvider = new PlanningNagProvider(this._planningManager);
281
- if (this._injectionManager) {
282
- this._injectionManager.addProvider(nagProvider);
283
- }
284
- else {
285
- this._injectionManager = new InjectionManager([nagProvider]);
286
- }
290
+ this._addInjectionProvider(new PlanningNagProvider(this._planningManager));
291
+ }
292
+ // Task graph tools + result auto-injection
293
+ this._state.tools = [...this._state.tools, ...createTaskGraphTools(this._taskGraph)];
294
+ if (this._config.taskGraph?.autoInjectResults !== false) {
295
+ this._addInjectionProvider(new TaskResultInjectionProvider(this._taskGraph));
296
+ }
297
+ }
298
+ _addInjectionProvider(provider) {
299
+ if (this._injectionManager) {
300
+ this._injectionManager.addProvider(provider);
301
+ }
302
+ else {
303
+ this._injectionManager = new InjectionManager([provider]);
287
304
  }
288
305
  }
289
306
  _normalizeInput(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,6 +12,7 @@ import type { SkillSource } from "./skills/types.js";
12
12
  import type { MCPServerConfig, MCPClient } from "./tools/mcp-adapter.js";
13
13
  import type { TaskFactory } from "./background/types.js";
14
14
  import type { PlanningConfig } from "./planning/types.js";
15
+ import type { TaskGraphConfig } from "./task-graph/types.js";
15
16
  export interface CreateAgentConfig {
16
17
  model: ModelConfig;
17
18
  systemPrompt: string | (() => string | Promise<string>);
@@ -40,6 +41,7 @@ export interface CreateAgentConfig {
40
41
  factories?: Record<string, TaskFactory>;
41
42
  };
42
43
  planning?: PlanningConfig;
44
+ taskGraph?: TaskGraphConfig;
43
45
  provider?: LLMProvider;
44
46
  }
45
47
  export declare function createAgent(config: CreateAgentConfig): Agent;
@@ -63,7 +65,7 @@ export { ExtensionRunner } from "./extensions/runner.js";
63
65
  export { discoverSkills } from "./skills/discovery.js";
64
66
  export { loadSkill, renderSkillTemplate } from "./skills/loader.js";
65
67
  export { MCPAdapter } from "./tools/mcp-adapter.js";
66
- export { estimateTokens, shouldCompact, findCutPoint } from "./compaction/compaction.js";
68
+ export { estimateTokens, shouldCompact, findCutPoint, microCompact } from "./compaction/compaction.js";
67
69
  export { calculateCost } from "./providers/shared.js";
68
70
  export { LLMSummarizer } from "./compaction/summarizer.js";
69
71
  export { Wire } from "./wire/wire.js";
@@ -72,6 +74,9 @@ export { createBackgroundTaskTools } from "./background/tools.js";
72
74
  export { PlanningManager } from "./planning/planning-manager.js";
73
75
  export { createPlanningTools } from "./planning/tools.js";
74
76
  export { PlanningNagProvider } from "./planning/nag-injection.js";
77
+ export { TaskGraph } from "./task-graph/task-graph.js";
78
+ export { createTaskGraphTools } from "./task-graph/tools.js";
79
+ export { TaskResultInjectionProvider } from "./task-graph/result-injection.js";
75
80
  export type { AgentMessage, AgentEvent, AgentState, AgentHooks, ModelConfig, ThinkingLevel, AgentTool, ApprovalConfig, CustomAgentMessages, } from "./types.js";
76
81
  export type { AgentToolResult, ToolExecutionContext, BeforeToolCallContext, BeforeToolCallResult, AfterToolCallContext, AfterToolCallResult, } from "./tools/types.js";
77
82
  export type { Approval, ApprovalRequest, ApprovalResponse, } from "./approval/types.js";
@@ -88,3 +93,5 @@ export type { WireMessage, WireSubscriber, WireSubscription } from "./wire/types
88
93
  export type { BackgroundTaskStatus, BackgroundTaskInfo, BackgroundTaskHandle, BackgroundTaskEvent, TaskFactory, } from "./background/types.js";
89
94
  export type { PlanningConfig, PlanPhase, TodoItem, TodoStatus, } from "./planning/types.js";
90
95
  export { PLANNING_TOOL_NAMES } from "./planning/types.js";
96
+ export { TASK_GRAPH_TOOL_NAMES } from "./task-graph/types.js";
97
+ export type { TaskGraphConfig, TaskNode, TaskStatus, CompletedTaskResult, } from "./task-graph/types.js";