klaus-agent 0.3.1 → 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 +36 -2
- package/README.zh-CN.md +35 -1
- package/dist/core/agent.d.ts +6 -0
- package/dist/core/agent.js +24 -7
- package/dist/core/agent.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/task-graph/result-injection.d.ts +8 -0
- package/dist/task-graph/result-injection.js +26 -0
- package/dist/task-graph/result-injection.js.map +1 -0
- package/dist/task-graph/task-graph.d.ts +38 -0
- package/dist/task-graph/task-graph.js +241 -0
- package/dist/task-graph/task-graph.js.map +1 -0
- package/dist/task-graph/tools.d.ts +3 -0
- package/dist/task-graph/tools.js +106 -0
- package/dist/task-graph/tools.js.map +1 -0
- package/dist/task-graph/types.d.ts +44 -0
- package/dist/task-graph/types.js +9 -0
- package/dist/task-graph/types.js.map +1 -0
- package/package.json +1 -1
- package/src/core/agent.ts +29 -6
- package/src/index.ts +15 -0
- package/src/task-graph/result-injection.ts +29 -0
- package/src/task-graph/task-graph.ts +270 -0
- package/src/task-graph/tools.ts +109 -0
- package/src/task-graph/types.ts +52 -0
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,
|
|
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
|
-
|
|
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
|
-
单包架构,
|
|
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)` | 替换工具(运行中不可调用)。 |
|
package/dist/core/agent.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
|
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;
|
package/dist/core/agent.js
CHANGED
|
@@ -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
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
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) {
|
package/dist/core/agent.js.map
CHANGED
|
@@ -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;
|
|
@@ -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";
|
package/dist/index.js
CHANGED
|
@@ -27,6 +27,7 @@ export function createAgent(config) {
|
|
|
27
27
|
wire: config.wire,
|
|
28
28
|
backgroundTasks: config.backgroundTasks,
|
|
29
29
|
planning: config.planning,
|
|
30
|
+
taskGraph: config.taskGraph,
|
|
30
31
|
});
|
|
31
32
|
}
|
|
32
33
|
// Re-export classes
|
|
@@ -59,5 +60,9 @@ export { createBackgroundTaskTools } from "./background/tools.js";
|
|
|
59
60
|
export { PlanningManager } from "./planning/planning-manager.js";
|
|
60
61
|
export { createPlanningTools } from "./planning/tools.js";
|
|
61
62
|
export { PlanningNagProvider } from "./planning/nag-injection.js";
|
|
63
|
+
export { TaskGraph } from "./task-graph/task-graph.js";
|
|
64
|
+
export { createTaskGraphTools } from "./task-graph/tools.js";
|
|
65
|
+
export { TaskResultInjectionProvider } from "./task-graph/result-injection.js";
|
|
62
66
|
export { PLANNING_TOOL_NAMES } from "./planning/types.js";
|
|
67
|
+
export { TASK_GRAPH_TOOL_NAMES } from "./task-graph/types.js";
|
|
63
68
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AAErB,OAAO,EAAE,KAAK,EAA2C,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAoB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DynamicInjectionProvider, DynamicInjection } from "../injection/types.js";
|
|
2
|
+
import type { AgentMessage } from "../types.js";
|
|
3
|
+
import type { TaskGraph } from "./task-graph.js";
|
|
4
|
+
export declare class TaskResultInjectionProvider implements DynamicInjectionProvider {
|
|
5
|
+
private _graph;
|
|
6
|
+
constructor(_graph: TaskGraph);
|
|
7
|
+
getInjections(_history: AgentMessage[]): Promise<DynamicInjection[]>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Auto-inject completed background task results before each LLM call
|
|
2
|
+
export class TaskResultInjectionProvider {
|
|
3
|
+
_graph;
|
|
4
|
+
constructor(_graph) {
|
|
5
|
+
this._graph = _graph;
|
|
6
|
+
}
|
|
7
|
+
async getInjections(_history) {
|
|
8
|
+
const completed = this._graph.drainCompleted();
|
|
9
|
+
if (completed.length === 0)
|
|
10
|
+
return [];
|
|
11
|
+
const lines = completed.map((c) => {
|
|
12
|
+
const status = c.status === "completed" ? "completed" : "FAILED";
|
|
13
|
+
const unblocked = c.unblockedTasks.length > 0
|
|
14
|
+
? ` → unblocked: ${c.unblockedTasks.join(", ")}`
|
|
15
|
+
: "";
|
|
16
|
+
return `[task:${c.taskId}] ${c.subject} — ${status}: ${c.result}${unblocked}`;
|
|
17
|
+
});
|
|
18
|
+
return [
|
|
19
|
+
{
|
|
20
|
+
type: "task-results",
|
|
21
|
+
content: `<background-results>\n${lines.join("\n")}\n</background-results>`,
|
|
22
|
+
},
|
|
23
|
+
];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=result-injection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result-injection.js","sourceRoot":"","sources":["../../src/task-graph/result-injection.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAMrE,MAAM,OAAO,2BAA2B;IAClB;IAApB,YAAoB,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAEzC,KAAK,CAAC,aAAa,CAAC,QAAwB;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEtC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YACjE,MAAM,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;gBAC3C,CAAC,CAAC,iBAAiB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,MAAM,MAAM,KAAK,CAAC,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,OAAO;YACL;gBACE,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,yBAAyB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB;aAC5E;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { TaskNode, TaskStatus, TaskGraphConfig, CompletedTaskResult } from "./types.js";
|
|
2
|
+
export declare class TaskGraph {
|
|
3
|
+
private _tasks;
|
|
4
|
+
private _config;
|
|
5
|
+
private _completedQueue;
|
|
6
|
+
private _backgroundAborts;
|
|
7
|
+
constructor(config?: TaskGraphConfig);
|
|
8
|
+
get(id: string): TaskNode | undefined;
|
|
9
|
+
listAll(): TaskNode[];
|
|
10
|
+
/** Tasks that are pending with no unfinished blockers. */
|
|
11
|
+
listReady(): TaskNode[];
|
|
12
|
+
/** Tasks waiting on unfinished blockers. */
|
|
13
|
+
listBlocked(): TaskNode[];
|
|
14
|
+
create(subject: string, description?: string): TaskNode;
|
|
15
|
+
/** Add a dependency: `taskId` is blocked by `blockedById`. */
|
|
16
|
+
addDependency(taskId: string, blockedById: string): void;
|
|
17
|
+
update(taskId: string, fields: {
|
|
18
|
+
status?: TaskStatus;
|
|
19
|
+
owner?: string;
|
|
20
|
+
result?: string;
|
|
21
|
+
}): TaskNode;
|
|
22
|
+
/**
|
|
23
|
+
* Run an async function in the background for a task.
|
|
24
|
+
* Auto-updates task status to in_progress/completed/failed.
|
|
25
|
+
*/
|
|
26
|
+
runBackground(taskId: string, fn: (signal: AbortSignal) => Promise<string>): void;
|
|
27
|
+
abortBackground(taskId: string): boolean;
|
|
28
|
+
drainCompleted(): CompletedTaskResult[];
|
|
29
|
+
render(): string;
|
|
30
|
+
dispose(): void;
|
|
31
|
+
private _require;
|
|
32
|
+
/** Remove completedId from all tasks' blockedBy. Returns IDs of newly unblocked tasks. */
|
|
33
|
+
private _clearDependency;
|
|
34
|
+
/** Check if `taskId` is transitively blocked by `targetId`. */
|
|
35
|
+
private _isTransitivelyBlockedBy;
|
|
36
|
+
private _persist;
|
|
37
|
+
private _loadFromDisk;
|
|
38
|
+
}
|