lonny-agent 0.1.9 → 0.2.2
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/.kilo/plans/1780293725888-quick-wizard.md +62 -0
- package/.lonny/plan-web-cwd-status.md +38 -0
- package/README.md +63 -10
- package/dist/agent/compaction.d.ts +5 -0
- package/dist/agent/compaction.d.ts.map +1 -1
- package/dist/agent/compaction.js +5 -0
- package/dist/agent/compaction.js.map +1 -1
- package/dist/agent/prompt-builder.d.ts.map +1 -1
- package/dist/agent/prompt-builder.js +39 -4
- package/dist/agent/prompt-builder.js.map +1 -1
- package/dist/agent/providers/google.js +1 -1
- package/dist/agent/providers/google.js.map +1 -1
- package/dist/agent/providers/openai.js +1 -1
- package/dist/agent/providers/openai.js.map +1 -1
- package/dist/agent/session.d.ts.map +1 -1
- package/dist/agent/session.js +18 -2
- package/dist/agent/session.js.map +1 -1
- package/dist/config/__tests__/context-window.test.d.ts +2 -0
- package/dist/config/__tests__/context-window.test.d.ts.map +1 -0
- package/dist/config/__tests__/context-window.test.js +80 -0
- package/dist/config/__tests__/context-window.test.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +211 -0
- package/dist/config/index.js.map +1 -1
- package/dist/pi-tui/tui.d.ts.map +1 -1
- package/dist/pi-tui/tui.js +7 -16
- package/dist/pi-tui/tui.js.map +1 -1
- package/dist/tools/__tests__/edit.test.js +254 -0
- package/dist/tools/__tests__/edit.test.js.map +1 -1
- package/dist/tools/__tests__/fetch.test.js +11 -9
- package/dist/tools/__tests__/fetch.test.js.map +1 -1
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +205 -41
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/install_superpowers.d.ts +3 -0
- package/dist/tools/install_superpowers.d.ts.map +1 -0
- package/dist/tools/install_superpowers.js +207 -0
- package/dist/tools/install_superpowers.js.map +1 -0
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +25 -1
- package/dist/tui/index.js.map +1 -1
- package/dist/web/index.d.ts.map +1 -1
- package/dist/web/index.js +65 -0
- package/dist/web/index.js.map +1 -1
- package/dist/web/public/app.js +9 -0
- package/dist/web/public/index.html +6 -0
- package/dist/web/public/style.css +11 -0
- package/package.json +1 -1
- package/src/agent/compaction.ts +6 -0
- package/src/agent/prompt-builder.ts +40 -4
- package/src/agent/providers/google.ts +1 -1
- package/src/agent/providers/openai.ts +1 -1
- package/src/agent/session.ts +19 -2
- package/src/config/__tests__/context-window.test.ts +94 -0
- package/src/config/index.ts +243 -0
- package/src/pi-tui/tui.ts +8 -14
- package/src/tools/__tests__/edit.test.ts +283 -0
- package/src/tools/__tests__/fetch.test.ts +12 -10
- package/src/tools/edit.ts +225 -42
- package/src/tools/registry.ts +265 -265
- package/src/tui/index.ts +23 -1
- package/src/web/index.ts +71 -0
- package/src/web/public/app.js +9 -0
- package/src/web/public/index.html +6 -0
- package/src/web/public/style.css +11 -0
- package/.lonny/fix-new-command-session-cleanup.md +0 -65
- package/.lonny/tui-autocomplete-above.md +0 -62
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Plan: Optimize edit tool error handling for model
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
The model calls the `edit` tool with errors very frequently. The most common failures:
|
|
5
|
+
1. `old_string not found` (whitespace issues, stale content, hallucinated content)
|
|
6
|
+
2. `old_string appears MULTIPLE times` (insufficient context)
|
|
7
|
+
3. File doesn't exist / already exists
|
|
8
|
+
4. Input format misuse (already mostly auto-corrected)
|
|
9
|
+
|
|
10
|
+
Error messages are returned to the model (via `session.ts:687` as `ERROR: ${result.error}`), but they lack actionable recovery guidance, and noise obscures the core issue.
|
|
11
|
+
|
|
12
|
+
## Changes
|
|
13
|
+
|
|
14
|
+
### 1. Use `FileReadTracker.checkModified()` to detect stale content
|
|
15
|
+
The `FileReadTracker` has a `checkModified()` method that is never called in production code. The edit tool should call it before attempting edits to detect:
|
|
16
|
+
- File was never read in this session → suggest `read` first
|
|
17
|
+
- File was externally modified since last read → suggest re-reading
|
|
18
|
+
|
|
19
|
+
This catches a major source of `old_string not found` errors — the model editing content it hasn't read, or editing stale content.
|
|
20
|
+
|
|
21
|
+
**Location**: `edit.ts`, in the `for (const [resolved, group] of fileGroups)` loop, before processing edits.
|
|
22
|
+
|
|
23
|
+
### 2. Include proximity hint in `firstError`
|
|
24
|
+
Currently the hint (near-line snippet / file content) is only in `results.push()` but NOT in `firstError`. This means the compact "First error:" line at the bottom of the batch error message lacks the most useful context.
|
|
25
|
+
|
|
26
|
+
**Fix**: Update lines ~339-342 to include hint in `firstError`.
|
|
27
|
+
|
|
28
|
+
### 3. Add actionable "Suggestion:" line to failure messages
|
|
29
|
+
When `old_string not found`, the error should tell the model what to do:
|
|
30
|
+
- "Suggestion: Read the file again with `read({ paths: [...] })` to get current content, then retry with exact matching text. Include 2-3 lines of surrounding context for uniqueness."
|
|
31
|
+
- "Suggestion: Whitespace-tolerant matching was attempted but no match found. The text content differs — not just whitespace."
|
|
32
|
+
|
|
33
|
+
When `old_string appears MULTIPLE times`:
|
|
34
|
+
- "Suggestion: Include more surrounding context lines (2-3 lines before and after) in old_string to make the match unique."
|
|
35
|
+
|
|
36
|
+
When `File not found`:
|
|
37
|
+
- "Suggestion: Check the file path or create the file first with old_string: '' (empty string)."
|
|
38
|
+
|
|
39
|
+
When `File already exists` (on create):
|
|
40
|
+
- "Suggestion: Use edit with old_string to replace existing content, or use a different file path."
|
|
41
|
+
|
|
42
|
+
### 4. Clean up batch failure output
|
|
43
|
+
When a batch fails, the current output includes ALL results (even successful edits that were rolled back). This is noisy.
|
|
44
|
+
|
|
45
|
+
**Fix**: Only show FAIL lines in the batch error, plus a brief summary like "N edit(s) before failure were rolled back."
|
|
46
|
+
|
|
47
|
+
### 5. Improve "multiple matches" error with location hints
|
|
48
|
+
When old_string matches multiple times, show the file content at each match location (similar to the "near line" hint for not-found).
|
|
49
|
+
|
|
50
|
+
### 6. Better `edits` format error
|
|
51
|
+
Tighten the "edits array required" error to be more compact.
|
|
52
|
+
|
|
53
|
+
## Files to modify
|
|
54
|
+
- `src/tools/edit.ts` — all the above changes
|
|
55
|
+
|
|
56
|
+
## Tests
|
|
57
|
+
- All existing tests in `src/tools/__tests__/edit.test.ts` must pass
|
|
58
|
+
- Some test assertions may need updating if error message content changes
|
|
59
|
+
- Specifically:
|
|
60
|
+
- `expect(r.error).toContain('rolled back')` — still valid since rolled-back summary stays
|
|
61
|
+
- `expect(r.error).toContain('hello')` — still valid since hint stays in error
|
|
62
|
+
- Other `toContain('not found')`, `toContain('MULTIPLE times')` — still valid
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Plan: Web UI 状态栏添加工作目录显示
|
|
2
|
+
|
|
3
|
+
## 修改文件
|
|
4
|
+
|
|
5
|
+
### 1. `src/web/index.ts` — 后端
|
|
6
|
+
在 `hello` 消息中增加 `cwd` 字段:
|
|
7
|
+
```ts
|
|
8
|
+
cwd: config.cwd,
|
|
9
|
+
```
|
|
10
|
+
添加在 `version` 之后。
|
|
11
|
+
|
|
12
|
+
### 2. `src/web/public/index.html` — HTML
|
|
13
|
+
在状态栏左侧(`<div class="status-left">` 内)添加:
|
|
14
|
+
```html
|
|
15
|
+
<span class="separator">|</span>
|
|
16
|
+
<span id="cwd-display" class="cwd-text"></span>
|
|
17
|
+
```
|
|
18
|
+
放在 `mode-display` 和 `</div>` 之间。
|
|
19
|
+
|
|
20
|
+
### 3. `src/web/public/app.js` — 前端 JS
|
|
21
|
+
- 添加 DOM 引用:`const cwdDisplay = document.getElementById('cwd-display')`
|
|
22
|
+
- 在 `hello` 消息处理中添加:
|
|
23
|
+
```js
|
|
24
|
+
cwdDisplay.textContent = msg.cwd || ''
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 4. `src/web/public/style.css` — 样式
|
|
28
|
+
添加:
|
|
29
|
+
```css
|
|
30
|
+
.cwd-text { color: var(--text-dim); font-size: 12px; max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; }
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Todo List
|
|
34
|
+
- [x] `src/web/index.ts` — hello 消息添加 `cwd: config.cwd`
|
|
35
|
+
- [x] `src/web/public/index.html` — 状态栏添加 cwd 元素
|
|
36
|
+
- [x] `src/web/public/app.js` — 添加 DOM 引用和消息处理
|
|
37
|
+
- [x] `src/web/public/style.css` — 添加 cwd 样式
|
|
38
|
+
- [x] 构建并验证
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
- **多模型支持**:兼容 Anthropic(Claude)、OpenAI(GPT)、Google(Gemini)、Ollama(本地模型),支持切换
|
|
11
11
|
- **批量编辑**:单次调用支持多文件、多位置的批量编辑,优化按调用付费的成本
|
|
12
12
|
- **语法高亮**:内置代码块语法高亮(TypeScript、Python、Rust、Go、Shell 等十余种语言)
|
|
13
|
-
- **会话持久化**:自动保存和恢复会话(`~/.lonny/sessions
|
|
13
|
+
- **会话持久化**:自动保存和恢复会话(`~/.lonny/sessions/`),支持 mid-turn 保存防止刷新数据丢失
|
|
14
14
|
- **Token 统计**:实时追踪输入/输出 token 用量和 API 调用次数
|
|
15
15
|
- **技能系统**:通过 `.lonny/skills/` 加载自定义技能提示(Markdown + frontmatter)
|
|
16
16
|
- **模板系统**:通过 `.lonny/prompts/` 加载可复用的提示模板,支持参数替换(`$1`, `$2`, `$@`)
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
- **美观的 TUI**:像素字体 Logo、状态栏(cwd + 模式 + token 统计 + 模型)、Todo 侧边栏、实时加载动画
|
|
23
23
|
- **DeepSeek 余额查询**:自动查询 DeepSeek 账户余额并显示在状态栏
|
|
24
24
|
- **事件总线**:内部事件系统,支持 TUI 实时更新工具调用状态
|
|
25
|
-
- **Web UI**:通过浏览器访问的 Web
|
|
25
|
+
- **Web UI**:通过浏览器访问的 Web 聊天界面,支持流式输出、工具调用可视化、工作目录展示、DeepSeek 余额查询、斜杠命令补全、会话历史恢复和模式/模型切换
|
|
26
26
|
- **代码质量管道**:内置 Biome 检查、Husky Git hooks、lint-staged 自动格式化
|
|
27
27
|
|
|
28
28
|
## 快速开始
|
|
@@ -44,10 +44,27 @@ npm install -g lonny-agent
|
|
|
44
44
|
"baseUrl": "https://api.deepseek.com",
|
|
45
45
|
"apiKey": "sk-...",
|
|
46
46
|
"autoApprove": false,
|
|
47
|
-
"tavilyApiKey": "tvly-..."
|
|
47
|
+
"tavilyApiKey": "tvly-...",
|
|
48
|
+
"thinking": false,
|
|
49
|
+
"reasoningEffort": "medium",
|
|
50
|
+
"contextWindow": 256000,
|
|
51
|
+
"strictTools": true
|
|
48
52
|
}
|
|
49
53
|
```
|
|
50
54
|
|
|
55
|
+
| 配置项 | 说明 | 默认值 |
|
|
56
|
+
|--------|------|--------|
|
|
57
|
+
| `provider` | 模型供应商:`openai`、`anthropic`、`google`、`ollama` | `openai` |
|
|
58
|
+
| `model` | 模型名称 | `deepseek-v4-flash` |
|
|
59
|
+
| `baseUrl` | API 地址 | `https://api.deepseek.com` |
|
|
60
|
+
| `apiKey` | API 密钥 | — |
|
|
61
|
+
| `autoApprove` | 自动批准工具执行(无需确认) | `false` |
|
|
62
|
+
| `tavilyApiKey` | Tavily 搜索 API 密钥 | — |
|
|
63
|
+
| `thinking` | 启用推理模型的思考过程展示 | `false` |
|
|
64
|
+
| `reasoningEffort` | 推理强度:`low`、`medium`、`high` | `medium` |
|
|
65
|
+
| `contextWindow` | 上下文窗口大小(token) | `256000` |
|
|
66
|
+
| `strictTools` | 严格模式工具调用(确保参数符合 schema) | `true` |
|
|
67
|
+
|
|
51
68
|
### 启动
|
|
52
69
|
|
|
53
70
|
```bash
|
|
@@ -84,6 +101,8 @@ lonny --web --port 8080
|
|
|
84
101
|
|
|
85
102
|
当使用 DeepSeek 模型时(模型名或 base URL 包含 `deepseek`),lonny 会自动启用 `enable_cache` 以利用 DeepSeek 的缓存功能,降低 API 调用成本。
|
|
86
103
|
|
|
104
|
+
DeepSeek v4 flash 的默认上下文窗口为 256K token,可通过配置文件的 `contextWindow` 调整。
|
|
105
|
+
|
|
87
106
|
## Web UI 使用指南
|
|
88
107
|
|
|
89
108
|
Lonny 提供了基于 WebSocket 的 Web 聊天界面,支持所有核心功能。
|
|
@@ -105,9 +124,17 @@ lonny --web --port 8080
|
|
|
105
124
|
- **流式输出**:实时显示 AI 回复,逐字符流式渲染
|
|
106
125
|
- **工具调用可视化**:显示正在调用的工具及其结果
|
|
107
126
|
- **思考过程展示**:支持 Anthropic/OpenAI 推理模型的思考过程实时展示
|
|
127
|
+
- **工作目录展示**:状态栏显示当前工作目录
|
|
128
|
+
- **DeepSeek 余额查询**:自动查询并显示余额
|
|
129
|
+
- **会话历史恢复**:刷新后自动恢复对话历史
|
|
130
|
+
- **斜杠命令补全**:输入 `/` 自动弹出可用命令列表
|
|
108
131
|
- **模式切换**:通过 `/mode code|plan|ask` 切换模式
|
|
109
132
|
- **模型切换**:通过 `/model <name>` 切换模型
|
|
110
133
|
- **新会话**:通过 `/new` 开始新会话
|
|
134
|
+
- **查看技能**:通过 `/skills` 列出已加载技能
|
|
135
|
+
- **查看模板**:通过 `/prompts` 列出提示模板
|
|
136
|
+
- **初始化目录**:通过 `/init` 创建 `.lonny/skills/` 和 `.lonny/prompts/`
|
|
137
|
+
- **帮助**:通过 `/help` 查看所有命令
|
|
111
138
|
- **自动重连**:连接断开后自动重连(最多尝试 10 次)
|
|
112
139
|
- **心跳保活**:每 30 秒发送心跳保持连接
|
|
113
140
|
|
|
@@ -115,13 +142,39 @@ lonny --web --port 8080
|
|
|
115
142
|
|
|
116
143
|
前后端通过 WebSocket 通信,消息格式为 JSON:
|
|
117
144
|
|
|
145
|
+
**客户端 → 服务器:**
|
|
146
|
+
```
|
|
147
|
+
{ type: "message", text: "..." } // 发送消息
|
|
148
|
+
{ type: "load_plan", planName: "..." } // 加载计划
|
|
149
|
+
{ type: "tool_confirm_response", approved: true/false } // 工具确认
|
|
150
|
+
{ type: "stop" } // 停止
|
|
151
|
+
{ type: "ping" } // 心跳
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**服务器 → 客户端:**
|
|
118
155
|
```
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
156
|
+
{ type: "hello", mode, model, provider, cwd, balance, totalIn, totalOut, totalApi } // 初始状态
|
|
157
|
+
{ type: "session_history", messages: [...] } // 会话历史
|
|
158
|
+
{ type: "chunk", text: "..." } // 流式文本
|
|
159
|
+
{ type: "thinking", text: "..." } // 思考过程
|
|
160
|
+
{ type: "thinking_end" } // 思考结束
|
|
161
|
+
{ type: "turn_start" } // 新轮次开始
|
|
162
|
+
{ type: "tool_call", name, input, id } // 工具调用
|
|
163
|
+
{ type: "tool_result", name, success, output, id } // 工具结果
|
|
164
|
+
{ type: "turn_end", iterations, toolCallCount } // 轮次结束
|
|
165
|
+
{ type: "token_stats", turnIn, turnOut, totalIn, totalOut, turnApi, totalApi } // Token 统计
|
|
166
|
+
{ type: "done", reason: "stop" | "error" } // 完成
|
|
167
|
+
{ type: "error", message } // 错误
|
|
168
|
+
{ type: "mode_changed", mode } // 模式切换
|
|
169
|
+
{ type: "model_changed", model } // 模型切换
|
|
170
|
+
{ type: "session_cleared" } // 会话清除
|
|
171
|
+
{ type: "plan_written", display } // 计划已写入
|
|
172
|
+
{ type: "plan_data", plans, currentPlanName, todos } // 计划/Todo 数据
|
|
173
|
+
{ type: "balance_update", balance, webBalance } // 余额更新
|
|
174
|
+
{ type: "compaction", before, after } // 上下文压缩
|
|
175
|
+
{ type: "tool_confirm_request", toolCalls } // 工具执行确认
|
|
176
|
+
{ type: "help", commands } // 帮助信息
|
|
177
|
+
{ type: "pong" } // 心跳响应
|
|
125
178
|
```
|
|
126
179
|
|
|
127
180
|
## TUI 使用指南
|
|
@@ -210,7 +263,7 @@ lonny 为 AI 模型提供了以下工具:
|
|
|
210
263
|
| `bash` | 执行 shell 命令 | code, plan |
|
|
211
264
|
| `find` | 按名称搜索文件 | code, plan |
|
|
212
265
|
| `git` | 执行只读 Git 操作 | code, plan |
|
|
213
|
-
| `edit` |
|
|
266
|
+
| `edit` | 批量编辑文件(多文件多位置),提供详细的错误诊断和字段验证 | code |
|
|
214
267
|
| `write_plan` | 编写计划文档 | plan |
|
|
215
268
|
| `exec` | 在沙箱中执行 JavaScript 编排多个工具 | code |
|
|
216
269
|
| `install_skill` | 安装 npm 包或 ClawHub 技能 | code, plan |
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { LLMMessage } from './llm.js';
|
|
2
|
+
/**
|
|
3
|
+
* 获取默认的上下文窗口大小(保持向后兼容)
|
|
4
|
+
* @deprecated 请使用 config.contextWindow 代替
|
|
5
|
+
*/
|
|
6
|
+
export declare const DEFAULT_CONTEXT_WINDOW = 256000;
|
|
2
7
|
/** Rough token estimation (4 chars ~= 1 token).
|
|
3
8
|
* NOTE: This is a very rough approximation. CJK characters (Chinese, Japanese,
|
|
4
9
|
* Korean) can be 2-3 tokens each, and JSON/tool_call content is also denser.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../src/agent/compaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../src/agent/compaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAS1C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,SAAqB,CAAA;AAGxD;;;;yEAIyE;AACzE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAeD,8CAA8C;AAC9C,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAErE;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,UAAU,EAAE,OAAO,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,UAAU,EAAE,EACtB,SAAS,GAAE,MAA2B,GACrC,OAAO,CAGT;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACrB,QAAQ,EAAE,UAAU,EAAE,EACtB,SAAS,GAAE,MAA2B,EACtC,UAAU,GAAE,MAAW,GACtB,gBAAgB,CA4DlB"}
|
package/dist/agent/compaction.js
CHANGED
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
* key context, inspired by pi's compaction system.
|
|
4
4
|
*/
|
|
5
5
|
const DEFAULT_MAX_TOKENS = 256_000;
|
|
6
|
+
/**
|
|
7
|
+
* 获取默认的上下文窗口大小(保持向后兼容)
|
|
8
|
+
* @deprecated 请使用 config.contextWindow 代替
|
|
9
|
+
*/
|
|
10
|
+
export const DEFAULT_CONTEXT_WINDOW = DEFAULT_MAX_TOKENS;
|
|
6
11
|
const COMPACTION_THRESHOLD = 0.75; // compact when usage exceeds 75% of budget
|
|
7
12
|
/** Rough token estimation (4 chars ~= 1 token).
|
|
8
13
|
* NOTE: This is a very rough approximation. CJK characters (Chinese, Japanese,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/agent/compaction.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,MAAM,kBAAkB,GAAG,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/agent/compaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../src/agent/prompt-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAGhD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../src/agent/prompt-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAGhD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAsKxD"}
|
|
@@ -60,11 +60,14 @@ RULES:
|
|
|
60
60
|
${getToolListForMode(config.mode)}`;
|
|
61
61
|
// ── Mode-specific instructions ───────────────────────────────────────────
|
|
62
62
|
const modeInstructions = config.mode === 'plan'
|
|
63
|
-
? `You are a planning agent. Your
|
|
63
|
+
? `You are a planning agent. Your ONLY job is to investigate the codebase and produce an actionable implementation plan with a todo list.
|
|
64
|
+
|
|
65
|
+
You CANNOT edit files. You do NOT have access to edit, bash (write mode), exec, or install_skill.
|
|
66
|
+
Any attempt to call these tools will FAIL — they are simply unavailable in this mode.
|
|
64
67
|
|
|
65
68
|
RULES (plan-specific):
|
|
66
69
|
1. Read first: Use read/grep/glob tools to gather all context you need before planning.
|
|
67
|
-
2. You NEVER edit source files. You ONLY use read-only tools (read/glob/grep/ls/find/git/search) and bash (read-only commands only).
|
|
70
|
+
2. You NEVER edit source files. You ONLY use read-only tools (read/glob/grep/ls/find/git/search) and bash (read-only commands only).
|
|
68
71
|
3. Use \`bash\` for investigation only — NEVER to modify files, install packages, or run write operations.
|
|
69
72
|
4. Your ONLY output is a plan file saved via \`write_plan\`. You CANNOT modify the codebase directly.
|
|
70
73
|
5. You MUST persist the final plan AND todo list to a file in \`.lonny/\` using \`write_plan\`. The \`write_plan\` content MUST include both ## Plan and ## Todo List sections.
|
|
@@ -109,7 +112,39 @@ RULES (code-specific):
|
|
|
109
112
|
6. On Windows, files may use CRLF (\\r\\n) line endings, but the \`edit\` tool normalizes them to LF (\\n). Always use \`\\n\` (not \`\\r\\n\`) in old_string/new_string.
|
|
110
113
|
7. COST OPTIMIZATION (CRITICAL): Each API call costs money. You have a hard limit of ~5 API calls per task.
|
|
111
114
|
8. TODO LIST MAINTENANCE: After completing a task item, update the corresponding plan file in \`.lonny/\` by checking off the TODO item (change \`- [ ]\` to \`- [x]\`). Use \`read\` to find the plan file, then \`edit\` to update the checkbox.`;
|
|
112
|
-
// ──
|
|
115
|
+
// ── Built-in development methodologies ─────────────────────────────────
|
|
116
|
+
// Embedded directly from Superpowers — no skill files needed.
|
|
117
|
+
const methodologySection = config.mode === 'code'
|
|
118
|
+
? `
|
|
119
|
+
|
|
120
|
+
## Development Methodology
|
|
121
|
+
|
|
122
|
+
### Systematic Debugging
|
|
123
|
+
When investigating a bug or test failure, follow this process:
|
|
124
|
+
1. **Root Cause** — Read errors carefully, reproduce consistently, check recent changes
|
|
125
|
+
2. **Pattern Analysis** — Find working examples, compare with broken code
|
|
126
|
+
3. **Hypothesis** — Form single hypothesis, test minimally (one change at a time)
|
|
127
|
+
4. **Implementation** — Create failing test first, implement minimal fix, verify
|
|
128
|
+
|
|
129
|
+
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST.
|
|
130
|
+
If you've tried 3+ fixes without success, question the architecture — don't keep guessing.
|
|
131
|
+
|
|
132
|
+
### Verification Before Completion
|
|
133
|
+
After ANY change, you MUST verify it actually works before claiming success:
|
|
134
|
+
- Run the relevant tests and check the exit code
|
|
135
|
+
- Only then report the result
|
|
136
|
+
|
|
137
|
+
You CANNOT claim "tests pass" or "fix works" without having run the verification command in this same turn. Evidence before assertions, always.`
|
|
138
|
+
: config.mode === 'plan'
|
|
139
|
+
? `
|
|
140
|
+
|
|
141
|
+
## Design-First Planning
|
|
142
|
+
Before writing a plan, explore the user's request thoroughly:
|
|
143
|
+
1. Ask clarifying questions — understand purpose, constraints, success criteria
|
|
144
|
+
2. Explore alternatives — consider 2-3 different approaches with trade-offs
|
|
145
|
+
3. Break into bite-sized tasks (2-5 minutes each) with exact file paths and verification steps
|
|
146
|
+
4. Save the plan via \`write_plan\``
|
|
147
|
+
: '';
|
|
113
148
|
const envSection = `Environment:
|
|
114
149
|
- Platform: ${platform} ${release} (${arch})
|
|
115
150
|
- Shell: ${shell}
|
|
@@ -125,6 +160,6 @@ ${isWindows ? ' - Use `type` instead of `cat`, `dir` instead of `ls`, `where` i
|
|
|
125
160
|
${sharedRules}`;
|
|
126
161
|
return `${modeInstructions}
|
|
127
162
|
|
|
128
|
-
${envSection}${rulesSection}${skillsSection}`;
|
|
163
|
+
${envSection}${rulesSection}${methodologySection}${skillsSection}`;
|
|
129
164
|
}
|
|
130
165
|
//# sourceMappingURL=prompt-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../src/agent/prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE/D;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;IAC9B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAA;IACnE,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAA;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;IACtB,MAAM,SAAS,GAAG,QAAQ,KAAK,OAAO,CAAA;IAEtC,0EAA0E;IAC1E,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAEnD,yEAAyE;IACzE,SAAS,kBAAkB,CAAC,IAAY;QACtC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO;;;CAGZ,CAAA;QACG,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO;;;;;;;;;;CAUZ,CAAA;QACG,CAAC;QACD,OAAO;;;;;;;;;;;;CAYV,CAAA;IACC,CAAC;IAED,4EAA4E;IAC5E,MAAM,WAAW,GAAG;;;;;;;EAOpB,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;IAEjC,4EAA4E;IAC5E,MAAM,gBAAgB,GACpB,MAAM,CAAC,IAAI,KAAK,MAAM;QACpB,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../src/agent/prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE/D;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;IAC9B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAA;IACnE,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAA;IACtB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;IACtB,MAAM,SAAS,GAAG,QAAQ,KAAK,OAAO,CAAA;IAEtC,0EAA0E;IAC1E,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAEnD,yEAAyE;IACzE,SAAS,kBAAkB,CAAC,IAAY;QACtC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO;;;CAGZ,CAAA;QACG,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO;;;;;;;;;;CAUZ,CAAA;QACG,CAAC;QACD,OAAO;;;;;;;;;;;;CAYV,CAAA;IACC,CAAC;IAED,4EAA4E;IAC5E,MAAM,WAAW,GAAG;;;;;;;EAOpB,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;IAEjC,4EAA4E;IAC5E,MAAM,gBAAgB,GACpB,MAAM,CAAC,IAAI,KAAK,MAAM;QACpB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;sHA2B8G;QAChH,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK;YACrB,CAAC,CAAC;;;;;;;;;yHAS+G;YACjH,CAAC,CAAC;;;;;;;;;;;;mPAYyO,CAAA;IAEjP,0EAA0E;IAC1E,8DAA8D;IAC9D,MAAM,kBAAkB,GACtB,MAAM,CAAC,IAAI,KAAK,MAAM;QACpB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;gJAmBwI;QAC1I,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;YACtB,CAAC,CAAC;;;;;;;oCAO0B;YAC5B,CAAC,CAAC,EAAE,CAAA;IACV,MAAM,UAAU,GAAG;cACP,QAAQ,IAAI,OAAO,KAAK,IAAI;WAC/B,KAAK;uBACO,GAAG;QAClB,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;8BACf,SAAS,CAAC,CAAC,CAAC,gEAAgE,CAAC,CAAC,CAAC,MAAM;EACjH,SAAS,CAAC,CAAC,CAAC,4IAA4I,CAAC,CAAC,CAAC,EAAE;EAC7J,SAAS,CAAC,CAAC,CAAC,oFAAoF,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IAEvG,yFAAyF;IACzF,MAAM,YAAY,GAChB,MAAM,CAAC,IAAI,KAAK,MAAM;QACpB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;EACN,WAAW,EAAE,CAAA;IACb,OAAO,GAAG,gBAAgB;;EAE1B,UAAU,GAAG,YAAY,GAAG,kBAAkB,GAAG,aAAa,EAAE,CAAA;AAClE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../../src/agent/providers/google.ts"],"names":[],"mappings":"AAuCA,MAAM,OAAO,cAAc;IACjB,MAAM,CAAQ;IACd,KAAK,CAAQ;IACb,OAAO,CAAQ;IAEvB,YAAY,MAAc,EAAE,OAAgB,EAAE,KAAc;QAC1D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,kBAAkB,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,kDAAkD,CAAA;IAC9E,CAAC;IAED,KAAK,CAAC,CAAC,IAAI,CACT,QAAsB,EACtB,KAAuB,EACvB,MAAoB;QAEpB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,OAAO,IAAI,EAAE,CAAA;QAChF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;QAEnE,+BAA+B;QAC/B,MAAM,QAAQ,GAAoB,EAAE,CAAA;QAEpC,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACtB,MAAM,KAAK,GAA2B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAA;gBACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;YACxC,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,KAAK,GAA2B,EAAE,CAAA;gBACxC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;oBACd,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;gBACjC,CAAC;gBACD,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../../src/agent/providers/google.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/agent/providers/openai.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/agent/providers/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,mBAAmB,CAAA;AAG7D,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAmFvD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,6FAA6F;IAC7F,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC1D;AAqFD,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAyBpD;AAoBD,qBAAa,OAAO;IAClB,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,QAAQ,EAAE,WAAW,CAAA;IACrB,QAAQ,EAAE,YAAY,CAAA;IACtB,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,OAAO,CAAC,cAAc,CAAC,CAA2B;IAClD,kEAAkE;IAClE,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,EAQ5D;IACD,IAAI,aAAa,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAE3D;IACD,gBAAgB,EAAE,MAAM,CAAI;IAC5B,iBAAiB,EAAE,MAAM,CAAI;IAC7B,eAAe,EAAE,MAAM,CAAI;IAC3B,gBAAgB,EAAE,MAAM,CAAI;IAC5B,YAAY,EAAE,MAAM,CAAI;IACxB,aAAa,EAAE,MAAM,CAAI;IACzB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,eAAe,CAA+B;gBAE1C,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa;IAiClD,wDAAwD;IACxD,IAAI,IAAI,IAAI;IAkBZ,kFAAkF;IAClF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,IAAI;IAmCnE,uDAAuD;IACvD,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAS3C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI;IAO5C,+CAA+C;IAC/C,IAAI,IAAI,IAAI;IAMZ,uCAAuC;IACvC,SAAS,IAAI,OAAO;IAIpB,oDAAoD;IACpD,YAAY,IAAI,IAAI;IAId,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,mBAAmB,CAAA;AAG7D,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAmFvD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,6FAA6F;IAC7F,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC1D;AAqFD,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAyBpD;AAoBD,qBAAa,OAAO;IAClB,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,QAAQ,EAAE,WAAW,CAAA;IACrB,QAAQ,EAAE,YAAY,CAAA;IACtB,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,OAAO,CAAC,cAAc,CAAC,CAA2B;IAClD,kEAAkE;IAClE,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,EAQ5D;IACD,IAAI,aAAa,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAE3D;IACD,gBAAgB,EAAE,MAAM,CAAI;IAC5B,iBAAiB,EAAE,MAAM,CAAI;IAC7B,eAAe,EAAE,MAAM,CAAI;IAC3B,gBAAgB,EAAE,MAAM,CAAI;IAC5B,YAAY,EAAE,MAAM,CAAI;IACxB,aAAa,EAAE,MAAM,CAAI;IACzB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,eAAe,CAA+B;gBAE1C,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa;IAiClD,wDAAwD;IACxD,IAAI,IAAI,IAAI;IAkBZ,kFAAkF;IAClF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,IAAI;IAmCnE,uDAAuD;IACvD,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAS3C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI;IAO5C,+CAA+C;IAC/C,IAAI,IAAI,IAAI;IAMZ,uCAAuC;IACvC,SAAS,IAAI,OAAO;IAIpB,oDAAoD;IACpD,YAAY,IAAI,IAAI;IAId,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAwW9C"}
|
package/dist/agent/session.js
CHANGED
|
@@ -328,6 +328,8 @@ export class Session {
|
|
|
328
328
|
const out = this.output;
|
|
329
329
|
printUserMessage(userPrompt, out);
|
|
330
330
|
this.messages.push({ role: 'user', content: userPrompt });
|
|
331
|
+
// Save immediately after user message so page refresh doesn't lose it
|
|
332
|
+
this.save();
|
|
331
333
|
// Reset per-turn counters
|
|
332
334
|
this.turnInputTokens = 0;
|
|
333
335
|
this.turnOutputTokens = 0;
|
|
@@ -508,6 +510,12 @@ export class Session {
|
|
|
508
510
|
}
|
|
509
511
|
if (chunk.finish_reason === 'stop' || chunk.finish_reason === 'end_turn') {
|
|
510
512
|
if (toolCalls.length === 0) {
|
|
513
|
+
const finalAssistantMsg = {
|
|
514
|
+
role: 'assistant',
|
|
515
|
+
content: fullResponse || null,
|
|
516
|
+
reasoning_content: reasoningContent,
|
|
517
|
+
};
|
|
518
|
+
this.messages.push(finalAssistantMsg);
|
|
511
519
|
printTokenStats(this.turnInputTokens, this.turnOutputTokens, this.totalInputTokens, this.totalOutputTokens, this.turnApiCalls, this.totalApiCalls, out);
|
|
512
520
|
writeOut('\n\n', out);
|
|
513
521
|
saveTokenUsage(this.config.cwd, this.turnInputTokens, this.turnOutputTokens, this.turnApiCalls);
|
|
@@ -534,6 +542,12 @@ export class Session {
|
|
|
534
542
|
}
|
|
535
543
|
if (toolCalls.length === 0) {
|
|
536
544
|
if (fullResponse) {
|
|
545
|
+
const finalAssistantMsg = {
|
|
546
|
+
role: 'assistant',
|
|
547
|
+
content: fullResponse,
|
|
548
|
+
reasoning_content: reasoningContent,
|
|
549
|
+
};
|
|
550
|
+
this.messages.push(finalAssistantMsg);
|
|
537
551
|
printTokenStats(this.turnInputTokens, this.turnOutputTokens, this.totalInputTokens, this.totalOutputTokens, this.turnApiCalls, this.totalApiCalls, out);
|
|
538
552
|
writeOut('\n\n', out);
|
|
539
553
|
}
|
|
@@ -549,6 +563,7 @@ export class Session {
|
|
|
549
563
|
reasoning_content: reasoningContent,
|
|
550
564
|
};
|
|
551
565
|
this.messages.push(assistantMsg);
|
|
566
|
+
this.save();
|
|
552
567
|
// ── User confirmation for write-type tool calls ──
|
|
553
568
|
if (!this.config.autoApprove && this.output?.confirmTool && toolCalls.length > 0) {
|
|
554
569
|
const writeTools = ['edit', 'bash', 'write_plan', 'exec', 'install_skill'];
|
|
@@ -597,12 +612,13 @@ export class Session {
|
|
|
597
612
|
};
|
|
598
613
|
this.messages.push(resultMsg);
|
|
599
614
|
}
|
|
615
|
+
this.save();
|
|
600
616
|
// End the current turn before next iteration — frontend creates a new message
|
|
601
617
|
bus.emit(EventChannels.TURN_END, { iterations, toolCallCount: toolCalls.length });
|
|
602
618
|
// Check if compaction is needed
|
|
603
|
-
if (shouldCompact(this.messages)) {
|
|
619
|
+
if (shouldCompact(this.messages, this.config.contextWindow)) {
|
|
604
620
|
const before = this.messages.length;
|
|
605
|
-
const result = compact(this.messages);
|
|
621
|
+
const result = compact(this.messages, this.config.contextWindow);
|
|
606
622
|
if (result.compressed) {
|
|
607
623
|
this.messages = result.messages;
|
|
608
624
|
bus.emit(EventChannels.COMPACTION_TRIGGERED, { before, after: result.newCount });
|