atom-lite 0.6.2 → 0.7.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/CHANGELOG.md +23 -0
- package/README.md +27 -16
- package/dist/agent/loop.d.ts +10 -0
- package/dist/agent/loop.js +114 -1
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/turn-recorder.d.ts +4 -0
- package/dist/agent/turn-recorder.js +3 -0
- package/dist/agent/turn-recorder.js.map +1 -1
- package/dist/agent/types.d.ts +22 -0
- package/dist/cli/app.js +267 -45
- package/dist/cli/app.js.map +1 -1
- package/dist/cli/commands.js +183 -2
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/main.js +2 -1
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/tool-box.js +3 -2
- package/dist/cli/tool-box.js.map +1 -1
- package/dist/config/defaults.js +1 -1
- package/dist/config/load.js +2 -2
- package/dist/config/load.js.map +1 -1
- package/dist/config/schema.d.ts +4 -0
- package/dist/config/schema.js +5 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/context/budget.js +19 -1
- package/dist/context/budget.js.map +1 -1
- package/dist/eval/runner.d.ts +51 -0
- package/dist/eval/runner.js +230 -0
- package/dist/eval/runner.js.map +1 -0
- package/dist/mcp/client.js +2 -1
- package/dist/mcp/client.js.map +1 -1
- package/dist/providers/context-window.d.ts +4 -0
- package/dist/providers/context-window.js +54 -0
- package/dist/providers/context-window.js.map +1 -1
- package/dist/providers/factory.js +3 -0
- package/dist/providers/factory.js.map +1 -1
- package/dist/providers/gemini.d.ts +2 -0
- package/dist/providers/gemini.js +18 -11
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/ollama.d.ts +3 -0
- package/dist/providers/ollama.js +9 -0
- package/dist/providers/ollama.js.map +1 -1
- package/dist/providers/openai-compatible.d.ts +2 -0
- package/dist/providers/openai-compatible.js +24 -3
- package/dist/providers/openai-compatible.js.map +1 -1
- package/dist/runtime/background-tasks.d.ts +23 -0
- package/dist/runtime/background-tasks.js +141 -0
- package/dist/runtime/background-tasks.js.map +1 -0
- package/dist/runtime/checkpoint-store.d.ts +64 -0
- package/dist/runtime/checkpoint-store.js +419 -0
- package/dist/runtime/checkpoint-store.js.map +1 -0
- package/dist/sessions/events.js +4 -5
- package/dist/sessions/events.js.map +1 -1
- package/dist/sessions/store.js +0 -16
- package/dist/sessions/store.js.map +1 -1
- package/dist/tools/bash.js +45 -9
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/edit.js +28 -8
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/read.js +70 -9
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/task.d.ts +2 -0
- package/dist/tools/task.js +55 -0
- package/dist/tools/task.js.map +1 -0
- package/dist/tools/types.d.ts +8 -1
- package/dist/tools/write.js +29 -8
- package/dist/tools/write.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/dist/types.js.map +1 -1
- package/dist/version.d.ts +1 -0
- package/dist/version.js +14 -0
- package/dist/version.js.map +1 -0
- package/package.json +3 -2
- package/skills/code-review/SKILL.md +75 -32
- package/skills/code-review/agents/openai.yaml +3 -0
- package/skills/pr/CREDITS.md +3 -0
- package/skills/pr/SKILL.md +170 -0
- package/skills/pr/agents/openai.yaml +3 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,29 @@ All notable changes to this project are documented here.
|
|
|
5
5
|
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.7.0] - 2026-11-06
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Clickable “↓ bottom” control above the status line to jump the transcript to the end.
|
|
12
|
+
- `/rename` command (replacing `/session`) for showing or renaming the current session.
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
- Resuming a session via `/sessions` now rebuilds rich transcript components (Markdown, collapsible tool boxes with output/diff/error state) instead of flattening to raw text.
|
|
16
|
+
- Thinking blocks are finalized before tool calls, so later thinking steps render as separate blocks.
|
|
17
|
+
- Session JSONL storage trimmed: removed redundant `tool_call_started` events and duplicated top-level message fields.
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- Session tool results now persist `isError` and `diff` for faithful resume rendering.
|
|
21
|
+
|
|
22
|
+
## [0.6.3] - 2026-11-06
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
- Interactive approval prompts (y/n/t) for read/write/edit/bash operations outside the workspace, in both plan and yolo modes.
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
- Default mode is now yolo; legacy `ask`/`trusted` approvalMode values migrate to yolo.
|
|
29
|
+
- Outside-workspace operations prompt regardless of mode; hard-blocked in non-interactive sessions.
|
|
30
|
+
|
|
8
31
|
## [0.6.2] - 2026-11-05
|
|
9
32
|
|
|
10
33
|
### Fixed
|
package/README.md
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
# Atom-lite
|
|
2
2
|
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="./assets/atom-lite.png" alt="Atom-lite" width="900" />
|
|
5
|
+
</p>
|
|
6
|
+
|
|
3
7
|
[](https://www.npmjs.com/package/atom-lite)
|
|
4
8
|
[](https://github.com/beast-ofcourse/atom-lite/actions/workflows/ci.yml)
|
|
5
9
|
[](https://nodejs.org)
|
|
6
10
|
[](https://www.typescriptlang.org)
|
|
7
11
|
[](./LICENSE)
|
|
8
12
|
|
|
9
|
-
Atom-lite is a local-first, model-agnostic coding agent built on a deliberately small harness: one agent loop,
|
|
13
|
+
Atom-lite is a local-first, model-agnostic coding agent built on a deliberately small harness: one agent loop, nine built-in tools, a conflict-aware scheduler, durable JSONL sessions, and explicit safety boundaries. It runs against local or hosted providers through interchangeable adapters — no cloud account, telemetry, or control plane required.
|
|
10
14
|
|
|
11
15
|
> Documentation index: [`docs/README.md`](./docs/README.md). Architectural decisions: [`docs/adr/`](./docs/adr/).
|
|
12
16
|
|
|
@@ -14,25 +18,26 @@ Atom-lite is a local-first, model-agnostic coding agent built on a deliberately
|
|
|
14
18
|
|
|
15
19
|
Most coding agents accumulate tools, sub-agents, and orchestration until the harness becomes the product. Atom-lite takes the opposite stance:
|
|
16
20
|
|
|
17
|
-
- **Small core, strong primitives.** Provider interface, session model, one agent loop,
|
|
21
|
+
- **Small core, strong primitives.** Provider interface, session model, one agent loop, nine tools, scheduler/executor, context management, config, and CLI.
|
|
18
22
|
- **The model decides; the runtime enforces.** The model chooses tools and next steps; the runtime validates arguments, enforces workspace boundaries, applies approval rules, schedules calls safely, and returns accurate results. No hard-coded workflow.
|
|
19
23
|
- **Thin harness, not weak engineering.** Streaming failures, concurrent file access, shell timeouts, large outputs, context exhaustion, and session recovery are handled as the reliability layer.
|
|
20
24
|
|
|
21
25
|
## Features
|
|
22
26
|
|
|
23
|
-
- **
|
|
27
|
+
- **Nine built-in tools** — `read`, `write`, `edit`, `bash`, `grep`, `glob`, `webfetch`, `websearch`, `task`. Background tasks run via `bash` with `background:true` and are managed through `task`. Everything else (tests, git, builds) runs through `bash`.
|
|
24
28
|
- **Single agent loop** — one agent, one conversation, one registry, one control loop. Parallelism lives inside a tool-call batch.
|
|
25
29
|
- **Conflict-aware scheduler** — per-file read/write locks and a global bash barrier.
|
|
26
30
|
- **Durable sessions** — append-only JSONL event logs, resumable across restarts, grouped by workspace.
|
|
27
31
|
- **Context management** — token estimation and compaction before the budget is exceeded, full transcript retained.
|
|
28
32
|
- **Live context meter** — `tokens: 4.5k/256k` against the model's real window, resolved from provider metadata with fallbacks.
|
|
29
|
-
- **
|
|
33
|
+
- **Autonomy modes** — `plan` (read/web only) and `yolo` (all tools), toggled with Tab; default `yolo`.
|
|
30
34
|
- **Hash guards** — `expected_hash` rejects stale `write`/`edit` when a file changed since read.
|
|
31
35
|
- **Provider-agnostic** — Ollama, Gemini, and any OpenAI-compatible endpoint (LM Studio, llama.cpp, Kilo, OpenAI, Anthropic, OpenRouter, Groq, Mistral, xAI, …).
|
|
32
36
|
- **Interactive pickers** — `/provider` adds a provider and stores its key securely; `/model` fuzzy-searches every configured provider's models.
|
|
33
37
|
- **Command palette & themes** — `ctrl+p` fuzzy-searches commands, skills, providers, models, themes, sessions. `/theme` switches auto/dark/light/no-colour.
|
|
34
38
|
- **Local-first** — runs fully against local providers; no telemetry or hosted database.
|
|
35
39
|
- **Safe path handling** — file tools resolve against the workspace and reject escapes; shell is an explicit boundary.
|
|
40
|
+
- **Recovery** — automatic Git-gated checkpoints before mutating turns, with `/undo` and `/diff` for review. See [ADR 0014](./docs/adr/0014-checkpoints-and-undo.md).
|
|
36
41
|
|
|
37
42
|
## Install
|
|
38
43
|
|
|
@@ -80,7 +85,7 @@ Secrets live in `~/.config/atom-lite/credentials.json` (`0600`). Environment var
|
|
|
80
85
|
| Variable | Effect |
|
|
81
86
|
| --- | --- |
|
|
82
87
|
| `ATOM_LITE_PROVIDER` | Default provider profile name |
|
|
83
|
-
| `
|
|
88
|
+
| `ATOM_LITE_MODE` | `plan` / `yolo` |
|
|
84
89
|
|
|
85
90
|
See [`docs/configuration.md`](./docs/configuration.md) for every field, default, and precedence rule.
|
|
86
91
|
|
|
@@ -113,7 +118,7 @@ In the TUI, type `/help` for every command grouped by category, or press `ctrl+p
|
|
|
113
118
|
|
|
114
119
|
## Tools
|
|
115
120
|
|
|
116
|
-
|
|
121
|
+
Nine built-in tools — the four core tools from [ADR 0001](./docs/adr/0001-four-built-in-tools-only.md), file search, network tools from [ADR 0006](./docs/adr/0006-expanded-toolset.md), plus `task` for background work from [ADR 0013](./docs/adr/0013-advanced-tool-features.md):
|
|
117
122
|
|
|
118
123
|
| Tool | Purpose |
|
|
119
124
|
| --- | --- |
|
|
@@ -125,6 +130,7 @@ Eight built-in tools — the four core tools from [ADR 0001](./docs/adr/0001-fou
|
|
|
125
130
|
| `glob` | Find files matching a glob pattern |
|
|
126
131
|
| `webfetch` | Fetch a URL and convert HTML to markdown |
|
|
127
132
|
| `websearch` | Search the web and return ranked results |
|
|
133
|
+
| `task` | Query or control a background bash task |
|
|
128
134
|
|
|
129
135
|
Tests, Git, builds, formatters, and package managers are available through `bash`.
|
|
130
136
|
|
|
@@ -149,7 +155,7 @@ The selected provider/model is persisted to user config, so the next session sta
|
|
|
149
155
|
## Safety & security
|
|
150
156
|
|
|
151
157
|
- **Workspace boundary** — `read`/`write`/`edit` resolve paths against the workspace and reject escapes. Shell commands are not constrained by this boundary, so `bash` runs as a global exclusive barrier.
|
|
152
|
-
- **
|
|
158
|
+
- **Autonomy modes** — `plan` allows read/web tools only; `yolo` allows all tools. Default `yolo`. Toggle with Tab or set `runtime.mode`.
|
|
153
159
|
- **Hash guards** — prevent stale overwrites when a file changed since it was read.
|
|
154
160
|
- **Sandboxing flags** — reported per command; see `src/security/`.
|
|
155
161
|
- **No secrets in config** — interactive setup stores API keys in `~/.config/atom-lite/credentials.json` (`0600`); environment variables take precedence.
|
|
@@ -164,7 +170,7 @@ Type `/help` for the grouped list, or press `ctrl+p` for the fuzzy command palet
|
|
|
164
170
|
| `/model [model]` | Show or switch the active model |
|
|
165
171
|
| `/provider [profile]` | Show or switch the active provider |
|
|
166
172
|
| `/effort [low\|medium\|high]` | Set reasoning effort |
|
|
167
|
-
| `/
|
|
173
|
+
| `/rename [rename <title>]` | Show or rename the current session |
|
|
168
174
|
| `/sessions [all]` | Search and resume a session |
|
|
169
175
|
| `/search <query>` | Search sessions by title or content |
|
|
170
176
|
| `/export [path]` | Export the session transcript |
|
|
@@ -172,7 +178,9 @@ Type `/help` for the grouped list, or press `ctrl+p` for the fuzzy command palet
|
|
|
172
178
|
| `/extensions` | List discovered extensions and load status |
|
|
173
179
|
| `/compact` | Compact older context |
|
|
174
180
|
| `/clear` | Clear the transcript view |
|
|
175
|
-
| `/
|
|
181
|
+
| `/undo` | Restore workspace to a checkpoint |
|
|
182
|
+
| `/diff` | Show changes since the last checkpoint |
|
|
183
|
+
| `/approval` | Show approval mode (legacy) |
|
|
176
184
|
| `/doctor` | Run diagnostics |
|
|
177
185
|
| `/thinking` | Toggle thinking display |
|
|
178
186
|
| `/theme [auto\|dark\|light\|ansi]` | Switch theme |
|
|
@@ -181,7 +189,7 @@ Type `/help` for the grouped list, or press `ctrl+p` for the fuzzy command palet
|
|
|
181
189
|
|
|
182
190
|
## Sessions
|
|
183
191
|
|
|
184
|
-
Sessions are append-only JSONL event logs recording everything in one conversation. They are resumable across CLI restarts and grouped by workspace. The session index derives a title from the first user message unless `/
|
|
192
|
+
Sessions are append-only JSONL event logs recording everything in one conversation. They are resumable across CLI restarts and grouped by workspace. The session index derives a title from the first user message unless `/rename rename <title>` overrides it, and records the provider, update time, and message count. `/sessions` resumes a session in place: retained messages are replayed into the transcript and a `session_resumed` event is appended. `/search <query>` matches titles, message content, and workspace paths, ranking title hits first. `--list-sessions` and `--search-sessions` print the same index as stable tab-separated rows for scripts. Compaction summarizes older history to stay within the context budget while retaining the full transcript.
|
|
185
193
|
|
|
186
194
|
## Context management
|
|
187
195
|
|
|
@@ -203,13 +211,14 @@ Tests live in `tests/` (agent, config, runtime, tools). The project is TypeScrip
|
|
|
203
211
|
|
|
204
212
|
### Releasing
|
|
205
213
|
|
|
206
|
-
|
|
207
|
-
2. Run `npm run typecheck && npm test && npm run bench`.
|
|
208
|
-
3. Commit, then tag and push: `git tag vX.Y.Z && git push origin master --tags`.
|
|
209
|
-
4. The `Release` workflow stages the package on npm with provenance and opens a draft GitHub release. It requires an `NPM_TOKEN` repository secret with publish access.
|
|
210
|
-
5. Approve the staged version on npm (Staged Packages tab, or `npm stage approve <stage-id>` with 2FA), then publish the draft release on GitHub.
|
|
214
|
+
Follow the release workflow in [`AGENTS.md`](./AGENTS.md):
|
|
211
215
|
|
|
212
|
-
|
|
216
|
+
1. Bump `version` in `package.json` and add a `CHANGELOG.md` entry.
|
|
217
|
+
2. Run `npm run typecheck && npm test && npm run bench` (bench is non-gating).
|
|
218
|
+
3. Commit, tag, push: `git commit ... && git tag vX.Y.Z && git push origin master --tags`.
|
|
219
|
+
4. Publish to npm directly: `npm publish --access public` (do not use `npm stage approve`).
|
|
220
|
+
5. Create GitHub release: `gh release create vX.Y.Z --title "vX.Y.Z" --notes "..."`.
|
|
221
|
+
6. Verify: `npm view atom-lite version` and the GitHub release page.
|
|
213
222
|
|
|
214
223
|
## Architecture
|
|
215
224
|
|
|
@@ -245,3 +254,5 @@ Report vulnerabilities privately as described in [`SECURITY.md`](./SECURITY.md).
|
|
|
245
254
|
## License
|
|
246
255
|
|
|
247
256
|
MIT
|
|
257
|
+
|
|
258
|
+
<!-- appended -->
|
package/dist/agent/loop.d.ts
CHANGED
|
@@ -21,10 +21,20 @@ export declare class AgentRuntime {
|
|
|
21
21
|
private systemPrompt;
|
|
22
22
|
private contextWindow;
|
|
23
23
|
private contextUsed;
|
|
24
|
+
private supportsVision;
|
|
25
|
+
private backgroundTasks;
|
|
26
|
+
private checkpointingEnabled;
|
|
27
|
+
private checkpointStoreOverride;
|
|
28
|
+
private turnCheckpointed;
|
|
29
|
+
private turnCheckpointId;
|
|
30
|
+
private turnCheckpointStore;
|
|
31
|
+
private turnIndex;
|
|
24
32
|
constructor(options: AgentRuntimeOptions);
|
|
25
33
|
switchModel(provider: AgentRuntimeOptions["provider"], model?: string): void;
|
|
26
34
|
/** Update the context window for the selected model (metadata may arrive late). */
|
|
27
35
|
setContextWindow(window: number | undefined): void;
|
|
36
|
+
setSupportsVision(value: boolean | undefined): void;
|
|
37
|
+
private injectCompletedBackgroundTasks;
|
|
28
38
|
getContextUsage(): ContextUsage;
|
|
29
39
|
private emitContextUsage;
|
|
30
40
|
setEffort(effort: string): void;
|
package/dist/agent/loop.js
CHANGED
|
@@ -2,6 +2,8 @@ import { DEFAULT_LIMITS } from "../types.js";
|
|
|
2
2
|
import { executeToolBatch } from "../runtime/scheduler.js";
|
|
3
3
|
import { ContextManager } from "../context/manager.js";
|
|
4
4
|
import { DEFAULT_SYSTEM_PROMPT } from "./system-prompt.js";
|
|
5
|
+
import { BackgroundTaskManager } from "../runtime/background-tasks.js";
|
|
6
|
+
import { CheckpointStore } from "../runtime/checkpoint-store.js";
|
|
5
7
|
import { runModelTurn } from "./model-turn.js";
|
|
6
8
|
import { TurnRecorder } from "./turn-recorder.js";
|
|
7
9
|
export class AgentRuntime {
|
|
@@ -25,12 +27,20 @@ export class AgentRuntime {
|
|
|
25
27
|
systemPrompt;
|
|
26
28
|
contextWindow;
|
|
27
29
|
contextUsed;
|
|
30
|
+
supportsVision;
|
|
31
|
+
backgroundTasks;
|
|
32
|
+
checkpointingEnabled;
|
|
33
|
+
checkpointStoreOverride;
|
|
34
|
+
turnCheckpointed = false;
|
|
35
|
+
turnCheckpointId = null;
|
|
36
|
+
turnCheckpointStore = null;
|
|
37
|
+
turnIndex = 0;
|
|
28
38
|
constructor(options) {
|
|
29
39
|
this.provider = options.provider;
|
|
30
40
|
this.model = options.model ?? "default";
|
|
31
41
|
this.workspace = options.workspace ?? process.cwd();
|
|
32
42
|
this.approvals = options.approvals;
|
|
33
|
-
this.mode = options.mode ?? "
|
|
43
|
+
this.mode = options.mode ?? "yolo";
|
|
34
44
|
this.maxTokensPerSession = options.maxTokensPerSession ?? null;
|
|
35
45
|
this.maxTokensPerTurn = options.maxTokensPerTurn ?? null;
|
|
36
46
|
this.totalTokensUsed = 0;
|
|
@@ -55,6 +65,10 @@ export class AgentRuntime {
|
|
|
55
65
|
this.steeringQueue = options.steeringQueue;
|
|
56
66
|
this.systemPrompt = options.systemPrompt ?? DEFAULT_SYSTEM_PROMPT;
|
|
57
67
|
this.contextWindow = options.contextWindow;
|
|
68
|
+
this.supportsVision = options.supportsVision;
|
|
69
|
+
this.backgroundTasks = options.backgroundTasks ?? new BackgroundTaskManager();
|
|
70
|
+
this.checkpointingEnabled = options.checkpointingEnabled ?? true;
|
|
71
|
+
this.checkpointStoreOverride = options.checkpointStore;
|
|
58
72
|
this.contextManager.setModelContextWindow(options.contextWindow);
|
|
59
73
|
}
|
|
60
74
|
switchModel(provider, model) {
|
|
@@ -78,6 +92,18 @@ export class AgentRuntime {
|
|
|
78
92
|
this.contextManager.setModelContextWindow(next);
|
|
79
93
|
this.emitContextUsage();
|
|
80
94
|
}
|
|
95
|
+
setSupportsVision(value) {
|
|
96
|
+
this.supportsVision = value;
|
|
97
|
+
}
|
|
98
|
+
injectCompletedBackgroundTasks(session) {
|
|
99
|
+
for (const t of this.backgroundTasks.drainCompleted()) {
|
|
100
|
+
session.appendMessage({
|
|
101
|
+
role: "system",
|
|
102
|
+
content: `[background task ${t.id} ${t.status}] ${t.output}`,
|
|
103
|
+
});
|
|
104
|
+
this.onEvent?.({ type: "background_task_complete", id: t.id, status: t.status, exitCode: t.exitCode });
|
|
105
|
+
}
|
|
106
|
+
}
|
|
81
107
|
getContextUsage() {
|
|
82
108
|
return { used: this.contextUsed, window: this.contextWindow };
|
|
83
109
|
}
|
|
@@ -129,6 +155,11 @@ export class AgentRuntime {
|
|
|
129
155
|
const latest = [...events].reverse().find((e) => e?.type === "context_compacted");
|
|
130
156
|
this.contextManager.setSessionMemory(typeof latest?.summary === "string" ? latest.summary : null, typeof latest?.coveredCount === "number" ? latest.coveredCount : undefined);
|
|
131
157
|
}
|
|
158
|
+
this.turnIndex += 1;
|
|
159
|
+
this.injectCompletedBackgroundTasks(session);
|
|
160
|
+
this.turnCheckpointed = false;
|
|
161
|
+
this.turnCheckpointId = null;
|
|
162
|
+
this.turnCheckpointStore = null;
|
|
132
163
|
session.appendMessage({ role: "user", content: [{ type: "text", text: input }] });
|
|
133
164
|
await this.extensionDispatch?.("turn_start", { type: "turn_start" });
|
|
134
165
|
let forceContinue = false;
|
|
@@ -264,6 +295,21 @@ export class AgentRuntime {
|
|
|
264
295
|
forceContinue = true;
|
|
265
296
|
continue;
|
|
266
297
|
}
|
|
298
|
+
// Discard a checkpoint that produced no changes.
|
|
299
|
+
if (this.turnCheckpointId && this.turnCheckpointStore) {
|
|
300
|
+
try {
|
|
301
|
+
if (this.turnCheckpointStore.isAtCheckpoint(this.turnCheckpointId)) {
|
|
302
|
+
const m = this.turnCheckpointStore.get(this.turnCheckpointId);
|
|
303
|
+
if (m) {
|
|
304
|
+
this.turnCheckpointStore.discard(this.turnCheckpointId);
|
|
305
|
+
}
|
|
306
|
+
this.turnCheckpointId = null;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
catch {
|
|
310
|
+
// best effort
|
|
311
|
+
}
|
|
312
|
+
}
|
|
267
313
|
await this.extensionDispatch?.("agent_settled", {
|
|
268
314
|
type: "agent_settled",
|
|
269
315
|
});
|
|
@@ -298,6 +344,8 @@ export class AgentRuntime {
|
|
|
298
344
|
const ctx = {
|
|
299
345
|
workspace: this.workspace,
|
|
300
346
|
mode: this.mode,
|
|
347
|
+
supportsVision: this.supportsVision,
|
|
348
|
+
backgroundTasks: this.backgroundTasks,
|
|
301
349
|
signal,
|
|
302
350
|
maxBashTimeMs: this.limits.maxBashTimeMs,
|
|
303
351
|
maxToolOutputBytes: this.limits.maxToolOutputBytes,
|
|
@@ -380,6 +428,48 @@ export class AgentRuntime {
|
|
|
380
428
|
isError: true,
|
|
381
429
|
});
|
|
382
430
|
}
|
|
431
|
+
// Capture a checkpoint before the first mutating batch of this turn.
|
|
432
|
+
const readOnly = new Set(["read", "grep", "glob", "webfetch", "websearch", "task"]);
|
|
433
|
+
const hasMutating = toolCalls.some((c) => !blocked.has(c.id) && !readOnly.has(c.name));
|
|
434
|
+
if (hasMutating && !this.turnCheckpointed) {
|
|
435
|
+
this.turnCheckpointed = true;
|
|
436
|
+
if (this.checkpointingEnabled) {
|
|
437
|
+
const store = this.checkpointStoreOverride ??
|
|
438
|
+
new CheckpointStore(session.workspace ?? this.workspace, session.id ?? "session", { enabled: this.checkpointingEnabled });
|
|
439
|
+
this.turnCheckpointStore = store;
|
|
440
|
+
const avail = store.isAvailable();
|
|
441
|
+
if (avail.available) {
|
|
442
|
+
try {
|
|
443
|
+
const m = store.create(this.turnIndex, `turn ${this.turnIndex}`);
|
|
444
|
+
this.turnCheckpointId = m.id;
|
|
445
|
+
try {
|
|
446
|
+
if (typeof session.appendEvent === "function") {
|
|
447
|
+
session.appendEvent({
|
|
448
|
+
type: "checkpoint_created",
|
|
449
|
+
checkpointId: m.id,
|
|
450
|
+
turn: this.turnIndex,
|
|
451
|
+
fileCount: m.files.length,
|
|
452
|
+
bytes: m.bytes,
|
|
453
|
+
});
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
catch {
|
|
457
|
+
// best effort
|
|
458
|
+
}
|
|
459
|
+
this.onEvent?.({ type: "checkpoint_created", id: m.id });
|
|
460
|
+
}
|
|
461
|
+
catch (err) {
|
|
462
|
+
this.onEvent?.({
|
|
463
|
+
type: "checkpoint_failed",
|
|
464
|
+
reason: err instanceof Error ? err.message : String(err),
|
|
465
|
+
});
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
else {
|
|
469
|
+
this.onEvent?.({ type: "checkpoint_unavailable", reason: avail.reason });
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
}
|
|
383
473
|
const execCalls = toolCalls.filter((c) => !blocked.has(c.id));
|
|
384
474
|
const execResults = await executeToolBatch(execCalls, wrappedToolMap, ctx, this.limits.maxParallelToolCalls, signal, undefined, this.bashConcurrency);
|
|
385
475
|
const resultMap = new Map();
|
|
@@ -411,7 +501,30 @@ export class AgentRuntime {
|
|
|
411
501
|
for (const r of orderedResults) {
|
|
412
502
|
recorder.recordToolResult(r);
|
|
413
503
|
}
|
|
504
|
+
// Inject completed background task results as system messages.
|
|
505
|
+
const completed = this.backgroundTasks.drainCompleted();
|
|
506
|
+
for (const t of completed) {
|
|
507
|
+
session.appendMessage({
|
|
508
|
+
role: "system",
|
|
509
|
+
content: `[background task ${t.id} completed] ${t.output}`,
|
|
510
|
+
});
|
|
511
|
+
}
|
|
414
512
|
if (terminate) {
|
|
513
|
+
// Discard a checkpoint that produced no changes.
|
|
514
|
+
if (this.turnCheckpointId && this.turnCheckpointStore) {
|
|
515
|
+
try {
|
|
516
|
+
if (this.turnCheckpointStore.isAtCheckpoint(this.turnCheckpointId)) {
|
|
517
|
+
const m = this.turnCheckpointStore.get(this.turnCheckpointId);
|
|
518
|
+
if (m) {
|
|
519
|
+
this.turnCheckpointStore.discard(this.turnCheckpointId);
|
|
520
|
+
}
|
|
521
|
+
this.turnCheckpointId = null;
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
catch {
|
|
525
|
+
// best effort
|
|
526
|
+
}
|
|
527
|
+
}
|
|
415
528
|
await this.extensionDispatch?.("agent_settled", {
|
|
416
529
|
type: "agent_settled",
|
|
417
530
|
});
|
package/dist/agent/loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,6 +60,9 @@ export class TurnRecorder {
|
|
|
60
60
|
toolCallId: result.toolCallId,
|
|
61
61
|
name: result.name,
|
|
62
62
|
content: result.content,
|
|
63
|
+
images: result.images,
|
|
64
|
+
isError: result.isError,
|
|
65
|
+
diff: Array.isArray(result.diff) ? result.diff : undefined,
|
|
63
66
|
});
|
|
64
67
|
this.onEvent?.({
|
|
65
68
|
type: "tool_result",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-recorder.js","sourceRoot":"","sources":["../../src/agent/turn-recorder.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,YAAY;IACf,OAAO,CAAiC;IACxC,OAAO,CAAiC;IACxC,iBAAiB,CAA2C;IAEpE,YAAY,OAA4B;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAIrB,EAAE,YAAoB;QACrB,IAAI,OAAO,GAAY,QAAQ,CAAC,OAAO,CAAC;QACxC,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;QACnF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAa,EAAE;YAC5D,IAAI,EAAE,aAAa;YACnB,OAAO;SACR,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACxC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO;YACnD,CAAC,CAAE,OAAe,EAAE,OAAO,CAAC;QAC9B,IACE,WAAW;YACX,OAAO,WAAW,KAAK,QAAQ;YAC9B,WAAmB,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAC1C,CAAC;YACD,OAAO,GAAG,WAAsB,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,IAAI,GACR,YAAY;YACZ,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC7B,CAAC,CAAC,OAAO,CAAC,OAAO;qBACZ,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACnD,IAAI,CAAC,EAAE,CAAC;gBACb,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;oBACnC,CAAC,CAAC,OAAO,CAAC,OAAO;oBACjB,CAAC,CAAC,EAAE,CAAC,CAAC;QACZ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK;gBAC3B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;QAC3C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,IAAI,EAAE,WAAW;oBACjB,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,SAAS;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"turn-recorder.js","sourceRoot":"","sources":["../../src/agent/turn-recorder.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/types.d.ts
CHANGED
|
@@ -55,6 +55,20 @@ export type AgentEvent = {
|
|
|
55
55
|
scope: "turn" | "session";
|
|
56
56
|
used: number;
|
|
57
57
|
limit: number;
|
|
58
|
+
} | {
|
|
59
|
+
type: "background_task_complete";
|
|
60
|
+
id: string;
|
|
61
|
+
status: string;
|
|
62
|
+
exitCode: number | null;
|
|
63
|
+
} | {
|
|
64
|
+
type: "checkpoint_created";
|
|
65
|
+
id: string;
|
|
66
|
+
} | {
|
|
67
|
+
type: "checkpoint_failed";
|
|
68
|
+
reason: string;
|
|
69
|
+
} | {
|
|
70
|
+
type: "checkpoint_unavailable";
|
|
71
|
+
reason?: string;
|
|
58
72
|
} | {
|
|
59
73
|
type: "error";
|
|
60
74
|
message: string;
|
|
@@ -79,6 +93,14 @@ export interface AgentRuntimeOptions {
|
|
|
79
93
|
bashConcurrency?: "serial" | "parallel";
|
|
80
94
|
/** Selected model's context window, when known. */
|
|
81
95
|
contextWindow?: number;
|
|
96
|
+
/** Whether the selected model supports vision input. */
|
|
97
|
+
supportsVision?: boolean;
|
|
98
|
+
/** Background task manager override (defaults to a new manager). */
|
|
99
|
+
backgroundTasks?: import("../runtime/background-tasks.js").BackgroundTaskManager;
|
|
100
|
+
/** Whether checkpointing is enabled for this runtime. Defaults to true. */
|
|
101
|
+
checkpointingEnabled?: boolean;
|
|
102
|
+
/** Checkpoint store override (defaults to a new store per turn). */
|
|
103
|
+
checkpointStore?: import("../runtime/checkpoint-store.js").CheckpointStore;
|
|
82
104
|
/** Optional steering queue drained into the turn between iterations. */
|
|
83
105
|
steeringQueue?: string[];
|
|
84
106
|
/** Optional dispatcher for Pi extension events. */
|