klaus-agent 0.2.1 → 0.3.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.
Files changed (60) hide show
  1. package/README.md +69 -15
  2. package/README.zh-CN.md +69 -15
  3. package/dist/core/agent-loop.d.ts +4 -1
  4. package/dist/core/agent-loop.js +20 -3
  5. package/dist/core/agent-loop.js.map +1 -1
  6. package/dist/core/agent.d.ts +5 -0
  7. package/dist/core/agent.js +25 -0
  8. package/dist/core/agent.js.map +1 -1
  9. package/dist/index.d.ts +10 -4
  10. package/dist/index.js +7 -3
  11. package/dist/index.js.map +1 -1
  12. package/dist/llm/provider.js +3 -11
  13. package/dist/llm/provider.js.map +1 -1
  14. package/dist/llm/types.d.ts +17 -0
  15. package/dist/planning/nag-injection.d.ts +8 -0
  16. package/dist/planning/nag-injection.js +21 -0
  17. package/dist/planning/nag-injection.js.map +1 -0
  18. package/dist/planning/planning-manager.d.ts +27 -0
  19. package/dist/planning/planning-manager.js +109 -0
  20. package/dist/planning/planning-manager.js.map +1 -0
  21. package/dist/planning/tools.d.ts +3 -0
  22. package/dist/planning/tools.js +50 -0
  23. package/dist/planning/tools.js.map +1 -0
  24. package/dist/planning/types.d.ts +30 -0
  25. package/dist/planning/types.js +6 -0
  26. package/dist/planning/types.js.map +1 -0
  27. package/dist/providers/openai-codex.js +1 -71
  28. package/dist/providers/openai-codex.js.map +1 -1
  29. package/dist/providers/openai-responses-shared.d.ts +36 -0
  30. package/dist/providers/openai-responses-shared.js +74 -0
  31. package/dist/providers/openai-responses-shared.js.map +1 -0
  32. package/dist/providers/openai-responses.d.ts +7 -0
  33. package/dist/providers/openai-responses.js +128 -0
  34. package/dist/providers/openai-responses.js.map +1 -0
  35. package/dist/providers/openai.js +1 -10
  36. package/dist/providers/openai.js.map +1 -1
  37. package/dist/providers/shared.d.ts +5 -1
  38. package/dist/providers/shared.js +20 -0
  39. package/dist/providers/shared.js.map +1 -1
  40. package/dist/types.d.ts +2 -2
  41. package/package.json +1 -1
  42. package/src/core/agent-loop.ts +25 -3
  43. package/src/core/agent.ts +30 -0
  44. package/src/index.ts +20 -3
  45. package/src/llm/provider.ts +3 -12
  46. package/src/llm/types.ts +19 -0
  47. package/src/planning/nag-injection.ts +24 -0
  48. package/src/planning/planning-manager.ts +133 -0
  49. package/src/planning/tools.ts +71 -0
  50. package/src/planning/types.ts +40 -0
  51. package/src/providers/openai-codex.ts +2 -89
  52. package/src/providers/openai-responses-shared.ts +97 -0
  53. package/src/providers/openai-responses.ts +152 -0
  54. package/src/providers/openai.ts +1 -8
  55. package/src/providers/shared.ts +19 -1
  56. package/src/types.ts +4 -0
  57. package/src/providers/index.ts +0 -7
  58. package/src/providers/kimi.ts +0 -12
  59. package/src/providers/minimax.ts +0 -12
  60. package/src/providers/volcengine.ts +0 -12
@@ -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
@@ -11,6 +11,7 @@ import type { SubagentConfig } from "./multi-agent/types.js";
11
11
  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
+ import type { PlanningConfig } from "./planning/types.js";
14
15
  export interface CreateAgentConfig {
15
16
  model: ModelConfig;
16
17
  systemPrompt: string | (() => string | Promise<string>);
@@ -38,6 +39,7 @@ export interface CreateAgentConfig {
38
39
  backgroundTasks?: {
39
40
  factories?: Record<string, TaskFactory>;
40
41
  };
42
+ planning?: PlanningConfig;
41
43
  provider?: LLMProvider;
42
44
  }
43
45
  export declare function createAgent(config: CreateAgentConfig): Agent;
@@ -46,10 +48,8 @@ export { ApprovalImpl } from "./approval/approval.js";
46
48
  export { registerProvider, resolveProvider } from "./llm/provider.js";
47
49
  export { AnthropicProvider } from "./providers/anthropic.js";
48
50
  export { OpenAIProvider } from "./providers/openai.js";
51
+ export { OpenAIResponsesProvider } from "./providers/openai-responses.js";
49
52
  export { GeminiProvider } from "./providers/google.js";
50
- export { MiniMaxProvider } from "./providers/minimax.js";
51
- export { KimiProvider } from "./providers/kimi.js";
52
- export { VolcengineProvider } from "./providers/volcengine.js";
53
53
  export { executeToolCalls } from "./tools/executor.js";
54
54
  export { SessionManager } from "./session/session-manager.js";
55
55
  export { buildSessionContext } from "./session/session-context-builder.js";
@@ -64,14 +64,18 @@ export { discoverSkills } from "./skills/discovery.js";
64
64
  export { loadSkill, renderSkillTemplate } from "./skills/loader.js";
65
65
  export { MCPAdapter } from "./tools/mcp-adapter.js";
66
66
  export { estimateTokens, shouldCompact, findCutPoint } from "./compaction/compaction.js";
67
+ export { calculateCost } from "./providers/shared.js";
67
68
  export { LLMSummarizer } from "./compaction/summarizer.js";
68
69
  export { Wire } from "./wire/wire.js";
69
70
  export { BackgroundTaskManager } from "./background/task-manager.js";
70
71
  export { createBackgroundTaskTools } from "./background/tools.js";
72
+ export { PlanningManager } from "./planning/planning-manager.js";
73
+ export { createPlanningTools } from "./planning/tools.js";
74
+ export { PlanningNagProvider } from "./planning/nag-injection.js";
71
75
  export type { AgentMessage, AgentEvent, AgentState, AgentHooks, ModelConfig, ThinkingLevel, AgentTool, ApprovalConfig, CustomAgentMessages, } from "./types.js";
72
76
  export type { AgentToolResult, ToolExecutionContext, BeforeToolCallContext, BeforeToolCallResult, AfterToolCallContext, AfterToolCallResult, } from "./tools/types.js";
73
77
  export type { Approval, ApprovalRequest, ApprovalResponse, } from "./approval/types.js";
74
- export type { LLMProvider, LLMProviderFactory, LLMRequestOptions, AssistantMessage, AssistantMessageEvent, UserMessage, ToolResultMessage, Message, TokenUsage, ContentBlock, TextContent, ImageContent, ToolCallBlock, ToolDefinition, } from "./llm/types.js";
78
+ export type { LLMProvider, LLMProviderFactory, LLMRequestOptions, AssistantMessage, AssistantMessageEvent, UserMessage, ToolResultMessage, Message, TokenUsage, ModelCost, UsageCost, ContentBlock, TextContent, ImageContent, ToolCallBlock, ToolDefinition, } from "./llm/types.js";
75
79
  export type { SessionEntry, SessionMessageEntry, CompactionEntry, BranchSummaryEntry, CheckpointEntry, SessionTreeNode, SessionContext, SessionConfig, } from "./session/types.js";
76
80
  export type { CompactionConfig, CompactionSummarizer, CompactionResult, } from "./compaction/types.js";
77
81
  export type { CheckpointConfig, DMail, CheckpointInfo, } from "./checkpoint/types.js";
@@ -82,3 +86,5 @@ export type { Skill, SkillSource } from "./skills/types.js";
82
86
  export type { MCPServerConfig, MCPTransport, MCPServerStatus, MCPClient } from "./tools/mcp-adapter.js";
83
87
  export type { WireMessage, WireSubscriber, WireSubscription } from "./wire/types.js";
84
88
  export type { BackgroundTaskStatus, BackgroundTaskInfo, BackgroundTaskHandle, BackgroundTaskEvent, TaskFactory, } from "./background/types.js";
89
+ export type { PlanningConfig, PlanPhase, TodoItem, TodoStatus, } from "./planning/types.js";
90
+ export { PLANNING_TOOL_NAMES } from "./planning/types.js";
package/dist/index.js CHANGED
@@ -26,6 +26,7 @@ export function createAgent(config) {
26
26
  mcp: config.mcp,
27
27
  wire: config.wire,
28
28
  backgroundTasks: config.backgroundTasks,
29
+ planning: config.planning,
29
30
  });
30
31
  }
31
32
  // Re-export classes
@@ -34,10 +35,8 @@ export { ApprovalImpl } from "./approval/approval.js";
34
35
  export { registerProvider, resolveProvider } from "./llm/provider.js";
35
36
  export { AnthropicProvider } from "./providers/anthropic.js";
36
37
  export { OpenAIProvider } from "./providers/openai.js";
38
+ export { OpenAIResponsesProvider } from "./providers/openai-responses.js";
37
39
  export { GeminiProvider } from "./providers/google.js";
38
- export { MiniMaxProvider } from "./providers/minimax.js";
39
- export { KimiProvider } from "./providers/kimi.js";
40
- export { VolcengineProvider } from "./providers/volcengine.js";
41
40
  export { executeToolCalls } from "./tools/executor.js";
42
41
  export { SessionManager } from "./session/session-manager.js";
43
42
  export { buildSessionContext } from "./session/session-context-builder.js";
@@ -52,8 +51,13 @@ export { discoverSkills } from "./skills/discovery.js";
52
51
  export { loadSkill, renderSkillTemplate } from "./skills/loader.js";
53
52
  export { MCPAdapter } from "./tools/mcp-adapter.js";
54
53
  export { estimateTokens, shouldCompact, findCutPoint } from "./compaction/compaction.js";
54
+ export { calculateCost } from "./providers/shared.js";
55
55
  export { LLMSummarizer } from "./compaction/summarizer.js";
56
56
  export { Wire } from "./wire/wire.js";
57
57
  export { BackgroundTaskManager } from "./background/task-manager.js";
58
58
  export { createBackgroundTaskTools } from "./background/tools.js";
59
+ export { PlanningManager } from "./planning/planning-manager.js";
60
+ export { createPlanningTools } from "./planning/tools.js";
61
+ export { PlanningNagProvider } from "./planning/nag-injection.js";
62
+ export { PLANNING_TOOL_NAMES } from "./planning/types.js";
59
63
  //# 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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,23 +2,15 @@
2
2
  import { AnthropicProvider } from "../providers/anthropic.js";
3
3
  import { OpenAIProvider } from "../providers/openai.js";
4
4
  import { OpenAICodexProvider } from "../providers/openai-codex.js";
5
+ import { OpenAIResponsesProvider } from "../providers/openai-responses.js";
5
6
  import { GeminiProvider } from "../providers/google.js";
6
- import { MiniMaxProvider } from "../providers/minimax.js";
7
- import { KimiProvider } from "../providers/kimi.js";
8
- import { VolcengineProvider } from "../providers/volcengine.js";
9
7
  const providers = new Map();
10
- // Built-in providers
8
+ // Built-in protocol providers
11
9
  providers.set("anthropic", (c) => new AnthropicProvider(c.apiKey, c.baseUrl));
12
10
  providers.set("openai", (c) => new OpenAIProvider(c.apiKey, c.baseUrl));
11
+ providers.set("openai-responses", (c) => new OpenAIResponsesProvider(c.apiKey, c.baseUrl));
13
12
  providers.set("openai-codex", (c) => new OpenAICodexProvider(c.apiKey, c.baseUrl));
14
13
  providers.set("google", (c) => new GeminiProvider(c.apiKey, c.baseUrl));
15
- providers.set("minimax", (c) => new MiniMaxProvider(c.apiKey, c.baseUrl));
16
- providers.set("kimi", (c) => new KimiProvider(c.apiKey, c.baseUrl));
17
- providers.set("volcengine", (c) => new VolcengineProvider(c.apiKey, c.baseUrl));
18
- // Protocol-compatible proxies — user provides baseUrl to connect any compatible service
19
- providers.set("openai-compatible", (c) => new OpenAIProvider(c.apiKey, c.baseUrl));
20
- providers.set("anthropic-compatible", (c) => new AnthropicProvider(c.apiKey, c.baseUrl));
21
- providers.set("gemini-compatible", (c) => new GeminiProvider(c.apiKey, c.baseUrl));
22
14
  export function registerProvider(name, factory) {
23
15
  providers.set(name, factory);
24
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AAAA,wBAAwB;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA8B,CAAC;AAExD,8BAA8B;AAC9B,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9E,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACxE,SAAS,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3F,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACnF,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAExE,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAA2B;IACxE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAA+D;IAC7F,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,QAAQ,wCAAwC,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC"}
@@ -1,3 +1,18 @@
1
+ /** Per-token pricing in $/million tokens. */
2
+ export interface ModelCost {
3
+ input: number;
4
+ output: number;
5
+ cacheRead?: number;
6
+ cacheWrite?: number;
7
+ }
8
+ /** Calculated cost in actual dollars for a single request. */
9
+ export interface UsageCost {
10
+ input: number;
11
+ output: number;
12
+ cacheRead: number;
13
+ cacheWrite: number;
14
+ total: number;
15
+ }
1
16
  export interface ModelConfig {
2
17
  provider: string;
3
18
  model: string;
@@ -8,6 +23,7 @@ export interface ModelConfig {
8
23
  vision?: boolean;
9
24
  thinking?: boolean;
10
25
  };
26
+ cost?: ModelCost;
11
27
  }
12
28
  export type ThinkingLevel = "off" | "minimal" | "low" | "medium" | "high" | "xhigh";
13
29
  export interface TextContent {
@@ -67,6 +83,7 @@ export interface TokenUsage {
67
83
  totalTokens: number;
68
84
  cacheReadTokens?: number;
69
85
  cacheWriteTokens?: number;
86
+ cost?: UsageCost;
70
87
  }
71
88
  export interface StreamTextEvent {
72
89
  type: "text";
@@ -0,0 +1,8 @@
1
+ import type { DynamicInjectionProvider, DynamicInjection } from "../injection/types.js";
2
+ import type { AgentMessage } from "../types.js";
3
+ import type { PlanningManager } from "./planning-manager.js";
4
+ export declare class PlanningNagProvider implements DynamicInjectionProvider {
5
+ private _manager;
6
+ constructor(_manager: PlanningManager);
7
+ getInjections(_history: AgentMessage[]): Promise<DynamicInjection[]>;
8
+ }
@@ -0,0 +1,21 @@
1
+ // Nag injection provider — reminds model to update todos when it hasn't for N rounds
2
+ export class PlanningNagProvider {
3
+ _manager;
4
+ constructor(_manager) {
5
+ this._manager = _manager;
6
+ }
7
+ async getInjections(_history) {
8
+ if (!this._manager.shouldNag())
9
+ return [];
10
+ // Reset after check so the next nag waits another N rounds.
11
+ // Kept here (not in shouldNag) so shouldNag() stays side-effect-free.
12
+ this._manager.resetRoundCounter();
13
+ return [
14
+ {
15
+ type: "planning-nag",
16
+ content: this._manager.getNagMessage(),
17
+ },
18
+ ];
19
+ }
20
+ }
21
+ //# sourceMappingURL=nag-injection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nag-injection.js","sourceRoot":"","sources":["../../src/planning/nag-injection.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAMrF,MAAM,OAAO,mBAAmB;IACV;IAApB,YAAoB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAG,CAAC;IAEjD,KAAK,CAAC,aAAa,CAAC,QAAwB;QAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAAE,OAAO,EAAE,CAAC;QAE1C,4DAA4D;QAC5D,sEAAsE;QACtE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAElC,OAAO;YACL;gBACE,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;aACvC;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ import type { TodoItem, TodoStatus, PlanPhase, PlanningConfig } from "./types.js";
2
+ export declare class PlanningManager {
3
+ private _state;
4
+ private _config;
5
+ private _allowedInPlanning;
6
+ constructor(config?: PlanningConfig);
7
+ get phase(): PlanPhase;
8
+ get todos(): readonly Readonly<TodoItem>[];
9
+ get roundsSinceTodoUpdate(): number;
10
+ get config(): Readonly<PlanningConfig>;
11
+ /** Pre-built set of tool names allowed during planning phase. */
12
+ get allowedInPlanning(): ReadonlySet<string>;
13
+ startExecution(): string;
14
+ switchToPlanning(): string;
15
+ updateTodos(items: Array<{
16
+ id: string;
17
+ text: string;
18
+ status: TodoStatus;
19
+ }>): string;
20
+ render(): string;
21
+ /** Call once per agent loop step (after tool execution). */
22
+ tickRound(): void;
23
+ /** Reset the round counter (called when the model updates todos). */
24
+ resetRoundCounter(): void;
25
+ shouldNag(): boolean;
26
+ getNagMessage(): string;
27
+ }
@@ -0,0 +1,109 @@
1
+ // Planning manager — two-phase planning with structured todo tracking
2
+ import { PLANNING_TOOL_NAMES } from "./types.js";
3
+ import { generateId } from "../utils/id.js";
4
+ export class PlanningManager {
5
+ _state;
6
+ _config;
7
+ _allowedInPlanning;
8
+ constructor(config = {}) {
9
+ this._config = config;
10
+ const allowed = new Set(config.readOnlyTools ?? []);
11
+ allowed.add(PLANNING_TOOL_NAMES.todo);
12
+ allowed.add(PLANNING_TOOL_NAMES.planMode);
13
+ this._allowedInPlanning = allowed;
14
+ this._state = {
15
+ phase: "planning",
16
+ todos: [],
17
+ roundsSinceTodoUpdate: 0,
18
+ };
19
+ }
20
+ get phase() {
21
+ return this._state.phase;
22
+ }
23
+ get todos() {
24
+ return this._state.todos;
25
+ }
26
+ get roundsSinceTodoUpdate() {
27
+ return this._state.roundsSinceTodoUpdate;
28
+ }
29
+ get config() {
30
+ return this._config;
31
+ }
32
+ /** Pre-built set of tool names allowed during planning phase. */
33
+ get allowedInPlanning() {
34
+ return this._allowedInPlanning;
35
+ }
36
+ // --- Phase control ---
37
+ startExecution() {
38
+ if (this._state.todos.length === 0) {
39
+ throw new Error("Cannot start execution: no todos defined. Create a plan first.");
40
+ }
41
+ this._state.phase = "executing";
42
+ this.resetRoundCounter();
43
+ return `Switched to execution phase. ${this._state.todos.length} todo(s) to complete.\n\n${this.render()}`;
44
+ }
45
+ switchToPlanning() {
46
+ this._state.phase = "planning";
47
+ this.resetRoundCounter();
48
+ return `Switched to planning phase. Tools restricted to read-only.\n\n${this.render()}`;
49
+ }
50
+ // --- Todo CRUD ---
51
+ updateTodos(items) {
52
+ const max = this._config.maxTodos ?? 50;
53
+ if (items.length > max) {
54
+ throw new Error(`Too many todos: ${items.length} exceeds limit of ${max}.`);
55
+ }
56
+ let inProgressCount = 0;
57
+ const validated = [];
58
+ for (const item of items) {
59
+ const status = item.status ?? "pending";
60
+ if (status === "in_progress")
61
+ inProgressCount++;
62
+ validated.push({
63
+ id: item.id || generateId(),
64
+ text: item.text,
65
+ status,
66
+ });
67
+ }
68
+ if (inProgressCount > 1) {
69
+ throw new Error("Only one todo can be in_progress at a time.");
70
+ }
71
+ this._state.todos = validated;
72
+ this.resetRoundCounter();
73
+ return this.render();
74
+ }
75
+ // --- Render ---
76
+ render() {
77
+ if (this._state.todos.length === 0) {
78
+ return `[phase: ${this._state.phase}] No todos.`;
79
+ }
80
+ const lines = this._state.todos.map((t) => {
81
+ const icon = t.status === "completed" ? "[x]" : t.status === "in_progress" ? "[>]" : "[ ]";
82
+ return `${icon} ${t.id}: ${t.text}`;
83
+ });
84
+ const done = this._state.todos.filter((t) => t.status === "completed").length;
85
+ const total = this._state.todos.length;
86
+ return `[phase: ${this._state.phase}] Progress: ${done}/${total}\n${lines.join("\n")}`;
87
+ }
88
+ // --- Nag tracking ---
89
+ /** Call once per agent loop step (after tool execution). */
90
+ tickRound() {
91
+ this._state.roundsSinceTodoUpdate++;
92
+ }
93
+ /** Reset the round counter (called when the model updates todos). */
94
+ resetRoundCounter() {
95
+ this._state.roundsSinceTodoUpdate = 0;
96
+ }
97
+ shouldNag() {
98
+ if (this._state.phase !== "executing")
99
+ return false;
100
+ if (this._state.todos.length === 0)
101
+ return false;
102
+ const threshold = this._config.nagAfterRounds ?? 3;
103
+ return this._state.roundsSinceTodoUpdate >= threshold;
104
+ }
105
+ getNagMessage() {
106
+ return this._config.nagMessage ?? "<reminder>Update your todos to reflect current progress.</reminder>";
107
+ }
108
+ }
109
+ //# sourceMappingURL=planning-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning-manager.js","sourceRoot":"","sources":["../../src/planning/planning-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { AgentTool } from "../tools/types.js";
2
+ import type { PlanningManager } from "./planning-manager.js";
3
+ export declare function createPlanningTools(manager: PlanningManager): AgentTool[];
@@ -0,0 +1,50 @@
1
+ // Planning tools — todo management + phase switching
2
+ import { Type } from "@sinclair/typebox";
3
+ import { PLANNING_TOOL_NAMES } from "./types.js";
4
+ export function createPlanningTools(manager) {
5
+ return [
6
+ {
7
+ name: PLANNING_TOOL_NAMES.todo,
8
+ label: "Todo",
9
+ description: "Manage your task list. Use this tool to plan work, track progress, and stay on track. " +
10
+ "Only one todo can be in_progress at a time. Update todos frequently to reflect your current state.",
11
+ parameters: Type.Object({
12
+ items: Type.Array(Type.Object({
13
+ id: Type.String({ description: "Unique ID for the todo item." }),
14
+ text: Type.String({ description: "Description of the task." }),
15
+ status: Type.Union([Type.Literal("pending"), Type.Literal("in_progress"), Type.Literal("completed")], { description: "Task status. Only one item can be in_progress at a time." }),
16
+ }), { description: "The full updated todo list (replaces previous list)." }),
17
+ }),
18
+ async execute(_toolCallId, params) {
19
+ const result = manager.updateTodos(params.items);
20
+ return { content: [{ type: "text", text: result }] };
21
+ },
22
+ },
23
+ {
24
+ name: PLANNING_TOOL_NAMES.planMode,
25
+ label: "Plan Mode",
26
+ description: "Switch between planning and execution phases. " +
27
+ "In planning phase, only read-only tools are available — use this time to analyze and create todos. " +
28
+ "In execution phase, all tools are available and nag reminders will prompt you to update todos.",
29
+ parameters: Type.Object({
30
+ action: Type.Union([Type.Literal("start_execution"), Type.Literal("switch_to_planning"), Type.Literal("status")], { description: "Action to perform." }),
31
+ }),
32
+ async execute(_toolCallId, params) {
33
+ let result;
34
+ switch (params.action) {
35
+ case "start_execution":
36
+ result = manager.startExecution();
37
+ break;
38
+ case "switch_to_planning":
39
+ result = manager.switchToPlanning();
40
+ break;
41
+ case "status":
42
+ result = manager.render();
43
+ break;
44
+ }
45
+ return { content: [{ type: "text", text: result }] };
46
+ },
47
+ },
48
+ ];
49
+ }
50
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/planning/tools.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGjD,MAAM,UAAU,mBAAmB,CAAC,OAAwB;IAC1D,OAAO;QACL;YACE,IAAI,EAAE,mBAAmB,CAAC,IAAI;YAC9B,KAAK,EAAE,MAAM;YACb,WAAW,EACT,wFAAwF;gBACxF,oGAAoG;YACtG,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACtB,KAAK,EAAE,IAAI,CAAC,KAAK,CACf,IAAI,CAAC,MAAM,CAAC;oBACV,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;oBAChE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;oBAC9D,MAAM,EAAE,IAAI,CAAC,KAAK,CAChB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EACjF,EAAE,WAAW,EAAE,0DAA0D,EAAE,CAC5E;iBACF,CAAC,EACF,EAAE,WAAW,EAAE,sDAAsD,EAAE,CACxE;aACF,CAAC;YACF,KAAK,CAAC,OAAO,CACX,WAAmB,EACnB,MAA0E;gBAE1E,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACvD,CAAC;SACF;QACD;YACE,IAAI,EAAE,mBAAmB,CAAC,QAAQ;YAClC,KAAK,EAAE,WAAW;YAClB,WAAW,EACT,gDAAgD;gBAChD,qGAAqG;gBACrG,gGAAgG;YAClG,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACtB,MAAM,EAAE,IAAI,CAAC,KAAK,CAChB,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAC7F,EAAE,WAAW,EAAE,oBAAoB,EAAE,CACtC;aACF,CAAC;YACF,KAAK,CAAC,OAAO,CACX,WAAmB,EACnB,MAAuE;gBAEvE,IAAI,MAAc,CAAC;gBACnB,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;oBACtB,KAAK,iBAAiB;wBACpB,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;wBAClC,MAAM;oBACR,KAAK,oBAAoB;wBACvB,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;wBACpC,MAAM;oBACR,KAAK,QAAQ;wBACX,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;wBAC1B,MAAM;gBACV,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACvD,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ export declare const PLANNING_TOOL_NAMES: {
2
+ readonly todo: "todo";
3
+ readonly planMode: "plan_mode";
4
+ };
5
+ export type TodoStatus = "pending" | "in_progress" | "completed";
6
+ export interface TodoItem {
7
+ id: string;
8
+ text: string;
9
+ status: TodoStatus;
10
+ }
11
+ export type PlanPhase = "planning" | "executing";
12
+ export interface PlanningState {
13
+ phase: PlanPhase;
14
+ todos: TodoItem[];
15
+ roundsSinceTodoUpdate: number;
16
+ }
17
+ export interface PlanningConfig {
18
+ /**
19
+ * Tool names allowed during the planning phase (read-only tools).
20
+ * If omitted or empty, all tools are available during planning
21
+ * (phase separation is advisory only via system prompt).
22
+ */
23
+ readOnlyTools?: string[];
24
+ /** Number of rounds without a todo update before injecting a nag reminder. Default: 3. */
25
+ nagAfterRounds?: number;
26
+ /** Custom nag reminder text. */
27
+ nagMessage?: string;
28
+ /** Maximum number of todo items. Default: 50. */
29
+ maxTodos?: number;
30
+ }
@@ -0,0 +1,6 @@
1
+ // Planning module types — two-phase planning + structured todo tracking
2
+ export const PLANNING_TOOL_NAMES = {
3
+ todo: "todo",
4
+ planMode: "plan_mode",
5
+ };
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/planning/types.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,WAAW;CACb,CAAC"}
@@ -2,6 +2,7 @@
2
2
  // Connects to ChatGPT's Codex backend via Responses API format.
3
3
  // Requires a ChatGPT OAuth JWT token as apiKey.
4
4
  import { platform, release, arch } from "node:os";
5
+ import { mapMessages, mapTools } from "./openai-responses-shared.js";
5
6
  // --- Configuration ---
6
7
  const DEFAULT_BASE_URL = "https://chatgpt.com/backend-api";
7
8
  const JWT_CLAIM_PATH = "https://api.openai.com/auth";
@@ -210,77 +211,6 @@ function buildRequestBody(model, systemPrompt, messages, tools, thinkingLevel) {
210
211
  }
211
212
  return body;
212
213
  }
213
- function mapMessages(messages) {
214
- const input = [];
215
- for (const m of messages) {
216
- if (m.role === "user") {
217
- const content = [];
218
- if (typeof m.content === "string") {
219
- content.push({ type: "input_text", text: m.content });
220
- }
221
- else {
222
- for (const block of m.content) {
223
- if (block.type === "text") {
224
- content.push({ type: "input_text", text: block.text });
225
- }
226
- else if (block.type === "image") {
227
- const url = block.source.type === "url"
228
- ? block.source.url
229
- : `data:${block.source.mediaType};base64,${block.source.data}`;
230
- content.push({ type: "input_image", image_url: url });
231
- }
232
- }
233
- }
234
- input.push({ type: "message", role: "user", content });
235
- }
236
- else if (m.role === "assistant") {
237
- const content = [];
238
- for (const block of m.content) {
239
- if (block.type === "text") {
240
- content.push({ type: "output_text", text: block.text });
241
- }
242
- else if (block.type === "tool_call") {
243
- // Flush accumulated text before the tool call
244
- if (content.length > 0) {
245
- input.push({ type: "message", role: "assistant", content: [...content] });
246
- content.length = 0;
247
- }
248
- input.push({
249
- type: "function_call",
250
- id: block.id,
251
- call_id: block.id,
252
- name: block.name,
253
- arguments: JSON.stringify(block.input),
254
- });
255
- }
256
- }
257
- // Remaining text content
258
- if (content.length > 0) {
259
- input.push({ type: "message", role: "assistant", content });
260
- }
261
- }
262
- else if (m.role === "tool_result") {
263
- const output = typeof m.content === "string"
264
- ? m.content
265
- : m.content.map((b) => b.type === "text" ? b.text : JSON.stringify(b)).join("\n");
266
- input.push({
267
- type: "function_call_output",
268
- call_id: m.toolCallId,
269
- output,
270
- });
271
- }
272
- }
273
- return input;
274
- }
275
- function mapTools(tools) {
276
- return tools.map((t) => ({
277
- type: "function",
278
- name: t.name,
279
- description: t.description,
280
- parameters: t.inputSchema,
281
- strict: null,
282
- }));
283
- }
284
214
  function mapReasoningEffort(modelId, level) {
285
215
  if (!level || level === "off")
286
216
  return undefined;