@bastani/atomic 0.9.5-alpha.3 → 0.9.5-alpha.5
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 +18 -0
- package/dist/builtin/cursor/package.json +2 -2
- package/dist/builtin/intercom/package.json +1 -1
- package/dist/builtin/mcp/package.json +1 -1
- package/dist/builtin/subagents/CHANGELOG.md +7 -0
- package/dist/builtin/subagents/agents/debugger.md +2 -2
- package/dist/builtin/subagents/package.json +1 -1
- package/dist/builtin/web-access/package.json +1 -1
- package/dist/builtin/workflows/CHANGELOG.md +18 -0
- package/dist/builtin/workflows/builtin/deep-research-codebase-utils.ts +5 -5
- package/dist/builtin/workflows/builtin/goal-prompts.ts +2 -0
- package/dist/builtin/workflows/builtin/goal-runner.ts +5 -5
- package/dist/builtin/workflows/builtin/goal-types.ts +1 -0
- package/dist/builtin/workflows/builtin/goal.d.ts +2 -0
- package/dist/builtin/workflows/builtin/goal.ts +9 -0
- package/dist/builtin/workflows/builtin/index.d.ts +2 -0
- package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +5 -5
- package/dist/builtin/workflows/builtin/ralph-models.ts +25 -25
- package/dist/builtin/workflows/builtin/ralph-reviewer-prompt.ts +138 -0
- package/dist/builtin/workflows/builtin/ralph-runner.ts +10 -118
- package/dist/builtin/workflows/builtin/shared-prompts.ts +5 -0
- package/dist/builtin/workflows/package.json +1 -1
- package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-auto-compaction.js +3 -2
- package/dist/core/agent-session-auto-compaction.js.map +1 -1
- package/dist/core/agent-session-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-compaction.js +25 -4
- package/dist/core/agent-session-compaction.js.map +1 -1
- package/dist/core/compaction/context-compaction-critical.d.ts +15 -0
- package/dist/core/compaction/context-compaction-critical.d.ts.map +1 -0
- package/dist/core/compaction/context-compaction-critical.js +57 -0
- package/dist/core/compaction/context-compaction-critical.js.map +1 -0
- package/dist/core/compaction/context-compaction-eviction.d.ts +4 -0
- package/dist/core/compaction/context-compaction-eviction.d.ts.map +1 -0
- package/dist/core/compaction/context-compaction-eviction.js +172 -0
- package/dist/core/compaction/context-compaction-eviction.js.map +1 -0
- package/dist/core/compaction/context-compaction-runner.d.ts +7 -1
- package/dist/core/compaction/context-compaction-runner.d.ts.map +1 -1
- package/dist/core/compaction/context-compaction-runner.js +97 -21
- package/dist/core/compaction/context-compaction-runner.js.map +1 -1
- package/dist/core/compaction/context-transcript-analysis.d.ts +3 -0
- package/dist/core/compaction/context-transcript-analysis.d.ts.map +1 -1
- package/dist/core/compaction/context-transcript-analysis.js +3 -3
- package/dist/core/compaction/context-transcript-analysis.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-login.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-auth-login.js +0 -1
- package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
- package/dist/modes/interactive/interactive-hotkeys-debug.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-hotkeys-debug.js +3 -3
- package/dist/modes/interactive/interactive-hotkeys-debug.js.map +1 -1
- package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-input-handling.js +0 -51
- package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.d.ts +2 -4
- package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.js +2 -4
- package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.d.ts +3 -9
- package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
- package/dist/modes/interactive/interactive-model-routing.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-model-routing.js +0 -3
- package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-onboarding.d.ts +0 -9
- package/dist/modes/interactive/interactive-onboarding.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-onboarding.js +23 -201
- package/dist/modes/interactive/interactive-onboarding.js.map +1 -1
- package/dist/modes/interactive/interactive-session-routing.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-session-routing.js +2 -2
- package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-slash-commands.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-slash-commands.js +1 -1
- package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
- package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-startup.js +36 -43
- package/dist/modes/interactive/interactive-startup.js.map +1 -1
- package/docs/compaction.md +45 -27
- package/docs/quickstart.md +3 -3
- package/docs/settings.md +1 -1
- package/docs/usage.md +1 -1
- package/docs/workflows.md +7 -3
- package/npm-shrinkwrap.json +23 -23
- package/package.json +2 -2
package/docs/compaction.md
CHANGED
|
@@ -6,11 +6,14 @@ Atomic's compaction design and terminology are informed by Morph's Context Compa
|
|
|
6
6
|
|
|
7
7
|
**Source files** ([atomic](https://github.com/bastani-inc/atomic)):
|
|
8
8
|
|
|
9
|
-
- [`packages/coding-agent/src/core/compaction/context-compaction.ts`](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/src/core/compaction/context-compaction.ts) - Verbatim Compaction
|
|
9
|
+
- [`packages/coding-agent/src/core/compaction/context-compaction.ts`](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/src/core/compaction/context-compaction.ts) - Public barrel for Verbatim Compaction types, helpers, tools, and runner exports
|
|
10
|
+
- [`packages/coding-agent/src/core/compaction/context-compaction-runner.ts`](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/src/core/compaction/context-compaction-runner.ts) - Planner loop, strict target gate, auto-compaction fallback ladder, and planner nudge cap
|
|
11
|
+
- [`packages/coding-agent/src/core/compaction/context-compaction-critical.ts`](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/src/core/compaction/context-compaction-critical.ts) - Internal overflow-only critical-pass protected-entry eligibility and prompt guidance
|
|
12
|
+
- [`packages/coding-agent/src/core/compaction/context-compaction-eviction.ts`](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/src/core/compaction/context-compaction-eviction.ts) - Internal overflow-only deterministic LRU eviction fallback
|
|
10
13
|
- [`packages/coding-agent/src/core/compaction/branch-summarization.ts`](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/src/core/compaction/branch-summarization.ts) - Branch summarization
|
|
11
14
|
- [`packages/coding-agent/src/core/compaction/utils.ts`](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/src/core/compaction/utils.ts) - Shared utilities (file tracking, serialization)
|
|
12
15
|
- [`packages/coding-agent/src/core/session-manager.ts`](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/src/core/session-manager.ts) - Entry types (`ContextCompactionEntry`, `BranchSummaryEntry`) and active-context rebuild logic
|
|
13
|
-
- [`packages/coding-agent/src/core/extensions/
|
|
16
|
+
- [`packages/coding-agent/src/core/extensions/session-events.ts`](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/src/core/extensions/session-events.ts) - Compaction extension event payloads
|
|
14
17
|
|
|
15
18
|
For TypeScript definitions in your project, inspect `node_modules/@bastani/atomic/dist/`.
|
|
16
19
|
|
|
@@ -25,7 +28,7 @@ Atomic has one context compaction behavior and one separate branch-summarization
|
|
|
25
28
|
|
|
26
29
|
Summary compaction — the earlier behavior that generated replacement prose — has been removed as an active runtime path. Historical JSONL lines with `type:"compaction"` remain readable on disk but are not injected into active LLM context. See [Legacy Summary Compaction (Retired)](#legacy-summary-compaction-retired) for a comparison and historical reference.
|
|
27
30
|
|
|
28
|
-
`/compact` has no user-facing arguments. It uses the effective `compaction` settings (`compression_ratio`, `preserve_recent`, and optional `query`), a fixed internal prompt, transcript-bound inspection/deletion tools, local validation, and a `context_compaction` session entry. Auto-compaction uses the same deletion-only path.
|
|
31
|
+
`/compact` has no user-facing arguments. It uses the effective `compaction` settings (`compression_ratio`, `preserve_recent`, and optional `query`), a fixed internal prompt, transcript-bound inspection/deletion tools, local validation, and a `context_compaction` session entry. Manual compaction (`/compact` and the `contextCompact` RPC path) still uses the strict planner target only. Auto-compaction uses the same deletion-only commit path, but threshold and overflow triggers can accept validated below-target reductions or, on overflow only, escalate through internal recovery tiers when the strict target is not achievable.
|
|
29
32
|
|
|
30
33
|
## Verbatim vs. Summary Compaction
|
|
31
34
|
|
|
@@ -90,15 +93,15 @@ Settings use the same snake_case names under `compaction`, for example:
|
|
|
90
93
|
|
|
91
94
|
### When It Triggers
|
|
92
95
|
|
|
93
|
-
Auto-compaction
|
|
96
|
+
Auto-compaction threshold checks trigger when:
|
|
94
97
|
|
|
95
98
|
```text
|
|
96
|
-
contextTokens >
|
|
99
|
+
contextTokens > effectiveInputBudget - reserveTokens
|
|
97
100
|
```
|
|
98
101
|
|
|
99
|
-
By default, `reserveTokens` is 16384 tokens. Configure it in `~/.atomic/agent/settings.json` or `<project-dir>/.atomic/settings.json`; legacy `.pi` paths are also supported. This leaves room for the LLM's response.
|
|
102
|
+
By default, `reserveTokens` is 16384 tokens. Configure it in `~/.atomic/agent/settings.json` or `<project-dir>/.atomic/settings.json`; legacy `.pi` paths are also supported. This leaves room for the LLM's response. Providers that advertise a larger total context window than their hard prompt cap use the model's effective input budget for threshold and overflow recovery decisions.
|
|
100
103
|
|
|
101
|
-
You can also trigger compaction manually with `/compact`. Custom summary instructions are not accepted because Verbatim Compaction is deletion-only and retained transcript content stays verbatim.
|
|
104
|
+
You can also trigger compaction manually with `/compact`. Custom summary instructions are not accepted because Verbatim Compaction is deletion-only and retained transcript content stays verbatim. Manual compaction keeps the strict `compression_ratio` completion requirement and does not run the auto-compaction overflow ladder.
|
|
102
105
|
|
|
103
106
|
If auto-compaction runs while a turn still has queued work (for example a failed tool-call result or a follow-up queued during compaction), Atomic resumes through the same continuation lifecycle as a normal queued turn: provider retry handling runs, additional queued messages drain, and any post-compaction resume failure is surfaced instead of being swallowed silently.
|
|
104
107
|
|
|
@@ -171,7 +174,7 @@ The diagram below is intentionally a block diagram, not a flowchart DSL. Read it
|
|
|
171
174
|
| 3 Planner workspace | `runContextDeletionAssistant` | `CompactableTranscript` | Temp JSONL transcript file plus bounded manifest prompt, inheriting the session's current model thinking level |
|
|
172
175
|
| 4 Tool loop | `createContextDeletionTool` tools | Planner tool calls | In-run deletion store updates or correction errors |
|
|
173
176
|
| 5 Validation airlock | `validateContextDeletionRequest` | Candidate cumulative deletion request | Reconciled `deletedTargets` or thrown error |
|
|
174
|
-
| 6
|
|
177
|
+
| 6 Target/fallback decision | `contextCompact` runner ladder | Final or salvaged validated deletion state | Strict-target success, feasible auto-compaction acceptance, overflow-only critical pass, deterministic eviction, or terminal error |
|
|
175
178
|
| 7 Persist compaction | session manager append path | `ContextCompactionResult` | New append-only `context_compaction` entry |
|
|
176
179
|
| 8 Rebuild active context | `buildSessionContext` | Branch plus all logical deletion filters | Model messages with deleted objects omitted verbatim |
|
|
177
180
|
|
|
@@ -262,7 +265,7 @@ append-only SessionEntry branch
|
|
|
262
265
|
│ toolCallIds ids from assistant toolCall content blocks │
|
|
263
266
|
│ toolResultFor call id answered by a toolResult entry │
|
|
264
267
|
│ │
|
|
265
|
-
│ transcript.protectedEntryIds records the protected
|
|
268
|
+
│ transcript.protectedEntryIds records the ids protected by the active validation pass. │
|
|
266
269
|
└──────────────────────────────────────────────────────────────────────────────────────────────┘
|
|
267
270
|
```
|
|
268
271
|
|
|
@@ -301,8 +304,10 @@ Prompt body
|
|
|
301
304
|
│ • Prefer high-confidence exploit actions after that: delete obvious low-value entries via │
|
|
302
305
|
│ context_grep_delete or context_delete. │
|
|
303
306
|
│ • Check context_compaction_budget after deletion batches. │
|
|
304
|
-
│ • Treat compression_ratio as strict: default 0.5 means keep
|
|
305
|
-
│
|
|
307
|
+
│ • Treat compression_ratio as strict for the standard planner pass: default 0.5 means keep │
|
|
308
|
+
│ 50% / delete 50%. │
|
|
309
|
+
│ • If the strict target is not met, continue deleting low-value entries/content blocks until │
|
|
310
|
+
│ the planner reaches the target, reaches the auto-compaction budget fallback, or stops. │
|
|
306
311
|
│ • Converge quickly; do not keep reading once safe deletion targets are clear. │
|
|
307
312
|
├──────────────────────────────────────────────────────────────────────────────────────────────┤
|
|
308
313
|
│ Transcript file path │
|
|
@@ -386,7 +391,8 @@ Candidate cumulative deletion request
|
|
|
386
391
|
▼
|
|
387
392
|
┌─────────────────────────────────────────────────────────────────────┐
|
|
388
393
|
│ Gate 1: recent-context guard │
|
|
389
|
-
│
|
|
394
|
+
│ effective recent window entries are rejected with correction text │
|
|
395
|
+
│ (critical/deterministic overflow uses max(preserve_recent, 5)) │
|
|
390
396
|
└─────────────────────────────────────────────────────────────────────┘
|
|
391
397
|
│
|
|
392
398
|
▼
|
|
@@ -420,7 +426,8 @@ Candidate cumulative deletion request
|
|
|
420
426
|
│ Gate 6: tool-call/tool-result reconciliation │
|
|
421
427
|
│ repairs paired call/result deletion dependencies when safe │
|
|
422
428
|
│ throws explicit recent-context errors when repair crosses the │
|
|
423
|
-
│ preserve_recent
|
|
429
|
+
│ effective recent boundary (max(preserve_recent, 5) in overflow │
|
|
430
|
+
│ critical/deterministic tiers) │
|
|
424
431
|
└─────────────────────────────────────────────────────────────────────┘
|
|
425
432
|
│
|
|
426
433
|
▼
|
|
@@ -486,7 +493,7 @@ If the tool result is deleted:
|
|
|
486
493
|
Standard recent boundary case:
|
|
487
494
|
|
|
488
495
|
┌──────────────────────────────┐ repair would delete ┌──────────────────────────────┐
|
|
489
|
-
│ old side of pair requested │────────────────────────────────▶│
|
|
496
|
+
│ old side of pair requested │────────────────────────────────▶│ preserve_recent side of pair │
|
|
490
497
|
└──────────────────────────────┘ └──────────────────────────────┘
|
|
491
498
|
│
|
|
492
499
|
▼
|
|
@@ -503,8 +510,8 @@ ValidatedContextDeletionResult
|
|
|
503
510
|
│ [{ kind: "entry", entryId }, { kind: "content_block", entryId, blockIndex }]
|
|
504
511
|
│
|
|
505
512
|
├─ protectedEntryIds
|
|
506
|
-
│ snapshot of ids protected
|
|
507
|
-
│
|
|
513
|
+
│ snapshot of ids protected by the validation pass that produced the result
|
|
514
|
+
│ (critical overflow excludes entries deliberately relaxed for eviction)
|
|
508
515
|
└─ stats
|
|
509
516
|
object and token reduction estimate
|
|
510
517
|
│
|
|
@@ -536,20 +543,29 @@ ValidatedContextDeletionResult
|
|
|
536
543
|
| `context_delete` validation error | Store rolls back to previous deletion targets | Non-terminating correction tool result with exact error |
|
|
537
544
|
| `context_grep_delete` regex/pattern error | Store rolls back to previous deletion targets | Non-terminating correction tool result with exact error |
|
|
538
545
|
| `context_grep_delete` protected/recent match | Matching protected target is ignored and not counted as a deletion | Non-protected matches still apply when validation succeeds |
|
|
539
|
-
|
|
|
540
|
-
|
|
|
541
|
-
|
|
|
542
|
-
|
|
|
546
|
+
| Manual planner stops below the strict `compression_ratio` target | Nothing persisted | Manual compaction fails with achieved reduction, deletion count, and tokens-after details |
|
|
547
|
+
| Threshold auto-compaction stops below the strict target but deletes at least one target and projected `tokensAfter` is at or below `effectiveInputBudget - reserveTokens` | Validated deletion targets are persisted | Tier 2 accepts the feasible result so threshold compaction does not immediately re-trigger |
|
|
548
|
+
| Threshold auto-compaction stops below the strict target and still exceeds the trigger boundary | Nothing persisted | Auto-compaction fails; threshold compaction never escalates to protected-entry eviction |
|
|
549
|
+
| Threshold auto-compaction finds no preparable compactable transcript | Nothing persisted | Silent no-op is preserved because threshold compaction is only opportunistic |
|
|
550
|
+
| Overflow auto-compaction finds no preparable compactable transcript | Nothing persisted | Terminal overflow-recovery error states that nothing more was safely deletable instead of silently no-oping |
|
|
551
|
+
| Overflow auto-compaction has validated deletions whose projected `tokensAfter` is at or below the model's effective input budget | Validated deletion targets are persisted | Tier 1 target-met results, Tier 2 feasible results, and provider-overflow salvage are committed only when they fit the effective input budget; target-met-but-over-budget results escalate instead of being persisted |
|
|
552
|
+
| Overflow planner misses the strict target or meets the strict target while still exceeding the effective input budget | No persistence until a later tier succeeds | Tier 3 reruns the planner with internal `<critical-overflow-mode>` guidance, overflow-only protected-entry eligibility, and an effective recent guard of `max(preserve_recent, 5)` across all entries |
|
|
553
|
+
| Critical overflow pass cannot produce a fitting validated result, or planner auth is unavailable during overflow | No model-generated plan is persisted | Tier 4 runs deterministic code-level LRU eviction with no model call or auth requirement while enforcing the same `max(preserve_recent, 5)` recent floor across all entries |
|
|
554
|
+
| Deterministic overflow eviction cannot fit the effective input budget, has no safe candidate left, or reaches its 50-pass cap | Nothing persisted from the failed attempt | Terminal overflow-recovery error includes achieved stats (`tokensAfter`, percent reduction, deletion-target count), the budget, and that nothing more was safely deletable |
|
|
555
|
+
| Planner run reaches its 50 real provider-turn cap | No additional provider calls are made for that planner run | The runner evaluates the validated deletions recorded so far against the current tier's acceptance rule, then either escalates or fails terminally with achieved stats |
|
|
556
|
+
| Planner nudge loop reaches its 50 follow-up cap | No extra follow-ups are queued for that planner run | The runner evaluates the best validated state against the current tier's acceptance rule, then either escalates or fails terminally with achieved stats |
|
|
557
|
+
| Provider non-overflow error | Nothing persisted unless an overflow-only later tier succeeds | Error propagates for manual/threshold; overflow recovery can continue to lower tiers unless the request was aborted |
|
|
558
|
+
| Extension-provided deletion request invalid | Nothing persisted | Extension/caller sees validation failure; extension-provided requests bypass the internal fallback ladder |
|
|
543
559
|
|
|
544
560
|
|
|
545
561
|
|
|
546
562
|
1. **Collect active branch context.** Atomic walks the current session branch and applies any earlier `context_compaction` logical deletions.
|
|
547
563
|
2. **Build a compactable transcript.** Each compactable entry includes a stable `entryId`, role, token estimate, full text, content-block indexes, tool-call IDs, and tool-result links.
|
|
548
|
-
3. **Mark validation guards.** Atomic marks user instructions, custom messages, branch/summary messages, the configured `preserve_recent` context-eligible entries, unresolved assistant/tool errors, and failed bash executions as
|
|
564
|
+
3. **Mark validation guards.** Atomic marks user instructions, custom messages, branch/summary messages, the configured `preserve_recent` context-eligible entries, unresolved assistant/tool errors, and failed bash executions as protected in the standard transcript. If a standard planner targets one, the deletion tool returns an explicit correction error.
|
|
549
565
|
4. **Write a temporary transcript file.** The compaction assistant receives a compact manifest plus the path to a JSONL transcript file. It should inspect with tools instead of loading the whole transcript into prompt context.
|
|
550
|
-
5. **Run the deletion planner.** The user's currently selected model runs Atomic's fixed Verbatim Compaction prompt using the session's current model thinking level. It can search/read transcript slices and then call deletion tools. The prompt substitutes the effective compaction parameters: `compression_ratio` (fraction to keep, default `0.5`), `preserve_recent` (default `2`), and `query` (explicit or auto-detected). The target reduction is `1 - compression_ratio` and is treated as a strict completion requirement.
|
|
566
|
+
5. **Run the standard deletion planner.** The user's currently selected model runs Atomic's fixed Verbatim Compaction prompt using the session's current model thinking level. It can search/read transcript slices and then call deletion tools. The prompt substitutes the effective compaction parameters: `compression_ratio` (fraction to keep, default `0.5`), `preserve_recent` (default `2`), and `query` (explicit or auto-detected). The target reduction is `1 - compression_ratio` and is treated as a strict completion requirement for the standard planner pass.
|
|
551
567
|
6. **Validate fail-closed.** Atomic validates every cumulative deletion plan locally. Unknown IDs, protected targets, duplicate/overlapping targets, empty-context plans, missing task-bearing context, and tool-call/tool-result orphaning are rejected.
|
|
552
|
-
7. **
|
|
568
|
+
7. **Apply the auto-compaction fallback ladder when needed.** Manual compaction stops at the strict standard planner result. Threshold auto-compaction can accept a below-target result only when it has at least one validated deletion and projected `tokensAfter` is at or below `effectiveInputBudget - reserveTokens`; it never escalates to protected-entry eviction. Overflow auto-compaction commits any planner result (strict-target or below-target feasible) only when projected `tokensAfter` fits the effective input budget, then can rerun the planner in an internal critical overflow pass, and finally can use deterministic code-level LRU eviction until the effective input budget fits or no safe deletion remains. The overflow-only critical planner and deterministic eviction tiers enforce an effective recent guard of `max(preserve_recent, 5)` over all entries.
|
|
553
569
|
8. **Save and rebuild.** Atomic writes a backup snapshot for persisted sessions, appends a `context_compaction` entry with validated targets and stats, then rebuilds the active LLM context from the filtered branch.
|
|
554
570
|
|
|
555
571
|
### Transcript-Bound Tools
|
|
@@ -564,17 +580,17 @@ The compaction assistant can only compact by using these internal tools. Exact d
|
|
|
564
580
|
| `context_delete` | Record exact entry/content-block deletion targets. |
|
|
565
581
|
| `context_grep_delete` | Bulk-delete matching entries or content blocks with guardrails. |
|
|
566
582
|
|
|
567
|
-
The planner is prompted to call `context_compaction_budget` before deleting and after deletion batches. The tool reports the current transcript token estimate as a percentage of the selected model's context window, the configured `compression_ratio`, the projected percentage after selected deletions, current reduction percentage, how many more estimated tokens must be removed to reach the strict target, and the image token share (`remainingImageTokens`, `imageBlockCount`, `imageTokenPercent`) so the planner can prioritize deleting stale image context when images dominate. With the default `compression_ratio: 0.5`, the strict target is a 50% token reduction.
|
|
583
|
+
The planner is prompted to call `context_compaction_budget` before deleting and after deletion batches. The tool reports the current transcript token estimate as a percentage of the selected model's context window, the configured `compression_ratio`, the projected percentage after selected deletions, current reduction percentage, how many more estimated tokens must be removed to reach the strict target, and the image token share (`remainingImageTokens`, `imageBlockCount`, `imageTokenPercent`) so the planner can prioritize deleting stale image context when images dominate. With the default `compression_ratio: 0.5`, the strict standard planner target is a 50% token reduction. Auto-compaction can still commit a validated below-target result when the projected `tokensAfter` clears the relevant budget: threshold compaction uses the trigger boundary (`effectiveInputBudget - reserveTokens`), while overflow recovery uses the model's effective input budget. On the overflow path, strict-target results are also gated by that effective input budget before they can be committed.
|
|
568
584
|
|
|
569
585
|
`context_grep_delete` supports literal or regex matching, skips already-deleted or disallowed context, enforces a per-call `maxMatches` safety cap, can require `expectedMatchCount` when the planner wants an exact-match safety check, and routes every accepted match through the same validation pipeline as exact deletions. Disallowed matches are ignored before `matches`, `expectedMatchCount`, deletion stats, and selected targets are calculated, so a broad regex can still remove safe blocks without counting rejected candidates as removed. This includes the universal latest-retained assistant guard: if the latest retained assistant message contains `thinking` or `redacted_thinking`, neither `context_delete` nor `context_grep_delete` may remove any content block from that assistant message, even a visible text sibling block. `maxMatches` limits only one tool call; there is no cumulative deletion cap across repeated `context_delete` or `context_grep_delete` calls. Exact deletion attempts that target disallowed entries/blocks return an explicit non-terminating tool error with correction guidance. Exact deletion payloads that include unsupported fields such as transcript `text`, block `content`, summaries, or replacement data are rejected as non-id-only requests.
|
|
570
586
|
|
|
571
|
-
Tool calls are cumulative during one
|
|
587
|
+
Tool calls are cumulative during one planner run. The assistant can apply several small deletion batches, inspect the updated state, and stop only after the validated stats meet the strict reduction target or an auto-compaction budget fallback can safely accept the current result. Atomic uses the validated tool state as the compaction result; ordinary assistant text is ignored for deletion targets. Each planner run is bounded to 50 real provider turns (including tool-call turns), and the planner nudge loop is additionally bounded to 50 follow-up nudges per planner run, so a planner that keeps making tiny changes or repeated tool calls cannot spin indefinitely.
|
|
572
588
|
|
|
573
589
|
### Validation Rules
|
|
574
590
|
|
|
575
591
|
Validation preserves tool-call/tool-result consistency. If deleting a tool call would leave a tool result behind, Atomic either deletes the paired result too or rejects the plan when that would violate a validation guard. If deleting a tool result would leave a visible dangling tool call, Atomic either deletes the paired call too or rejects the plan.
|
|
576
592
|
|
|
577
|
-
Atomic also refuses plans that would delete all context or leave no task-bearing context. These checks are local; the model cannot bypass them. Provider context-overflow recovery uses the same validation rules as manual and threshold compaction.
|
|
593
|
+
Atomic also refuses plans that would delete all context or leave no task-bearing context. These checks are local; the model cannot bypass them. Provider context-overflow recovery uses the same validation rules as manual and threshold compaction. During the overflow-only critical planner pass and deterministic eviction fallback, Atomic internally enforces an effective recent guard of `max(preserve_recent, 5)` across all entries, restoring the pre-#1399 last-5 floor even for otherwise-unprotected assistant/tool entries. Within that floor, deletion is rejected through the same recent-target validation used elsewhere. Outside that floor, Atomic relaxes deletion eligibility only for stale protected task-bearing entries (`user`, `custom`, branch summary) that are not carrying assistant/tool/bash errors; every resulting plan still passes fail-closed validation, including latest thinking-bearing assistant immutability, task-bearing floor, and tool-call/result pairing.
|
|
578
594
|
|
|
579
595
|
### ContextCompactionEntry Structure
|
|
580
596
|
|
|
@@ -689,6 +705,8 @@ pi.on("session_before_compact", async (event, ctx) => {
|
|
|
689
705
|
|
|
690
706
|
If `{ cancel: true }` is returned, compaction aborts with a cancellation error. If `{ deletionRequest }` is returned, Atomic validates it through the same local airlock as model-proposed deletions — unknown IDs, protected targets, orphaning, and empty-context plans are rejected — and skips the internal planner. If nothing is returned, the internal planner runs normally.
|
|
691
707
|
|
|
708
|
+
Extension-provided deletion requests validate against the original standard transcript and bypass the internal fallback ladder, including its overflow budget-fit gate. The overflow guarantee that committed results fit the effective input budget applies to Atomic's internal ladder results; extension-supplied deletion requests remain a public hook escape hatch that commits after local fail-closed validation. Atomic does not expose a public compaction mode API; protected-entry relaxation is reserved for Atomic's own overflow recovery tiers.
|
|
709
|
+
|
|
692
710
|
### session_compact
|
|
693
711
|
|
|
694
712
|
Fired after compaction succeeds and the `context_compaction` entry is persisted.
|
|
@@ -920,7 +938,7 @@ Configure compaction in `~/.atomic/agent/settings.json` or `<project-dir>/.atomi
|
|
|
920
938
|
| Setting | Default | Description |
|
|
921
939
|
|---------|---------|-------------|
|
|
922
940
|
| `enabled` | `true` | Enable automatic Verbatim Compaction. |
|
|
923
|
-
| `reserveTokens` | `16384` | Tokens to reserve for the next LLM response; auto-compaction starts when context usage exceeds
|
|
941
|
+
| `reserveTokens` | `16384` | Tokens to reserve for the next LLM response; threshold auto-compaction starts when context usage exceeds the model's effective input budget minus this reserve. |
|
|
924
942
|
|
|
925
943
|
Disable auto-compaction with `"enabled": false`. You can still compact manually with `/compact`.
|
|
926
944
|
|
package/docs/quickstart.md
CHANGED
|
@@ -80,7 +80,7 @@ See [Providers](/providers) for all supported providers, environment variables,
|
|
|
80
80
|
|
|
81
81
|
## First session
|
|
82
82
|
|
|
83
|
-
On a fresh install with no prior Atomic startup state, Atomic
|
|
83
|
+
On a fresh install with no prior Atomic startup state, Atomic shows a one-time first-run explanation after any What's New notes and directly above the input box describing Atomic as a verifiable coding agent runtime for building and running agent workflows you can feel confident in. Returning users with prior startup state are marked onboarded automatically and continue directly into the normal chat UI; stored credentials by themselves do not skip the first-run explanation. The composer is the normal Atomic input from the start: type a message, run `/login` first if no provider is connected, open `/atomic`, or launch a workflow command without a special onboarding transition.
|
|
84
84
|
|
|
85
85
|
Once Atomic starts, the fastest way to get value is to kick off a built-in workflow or invoke a skill. Workflows are the default path for non-trivial tasks and for requests with inherent structure plus a verifiable objective, including implementation, build, debugging, bug-fix, migration, new-feature, scoped multi-file, or docs/code-change work where validation matters. If a prompt says `do X until Y`, `repeat until`, `iterate until`, `review/fix until passing`, or `run checks and fix until green`, it already describes a workflow-shaped loop with a stop condition.
|
|
86
86
|
|
|
@@ -121,7 +121,7 @@ For smaller one-off tasks, use `goal` with a concrete task description that name
|
|
|
121
121
|
|
|
122
122
|
### Monitor and steer a run
|
|
123
123
|
|
|
124
|
-
Named workflow runs execute in the background. After launch you get a run id; use it to inspect, attach, pause, or resume.
|
|
124
|
+
Named workflow runs execute in the background. After launch you get a run id; use it to inspect, attach, pause, or resume.
|
|
125
125
|
|
|
126
126
|
```text
|
|
127
127
|
/workflow status <run-id> # inspect one run's progress
|
|
@@ -218,7 +218,7 @@ Restart Atomic, or run `/reload`, after changing context files.
|
|
|
218
218
|
|
|
219
219
|
### Reference files
|
|
220
220
|
|
|
221
|
-
Type `@` in any interactive editor
|
|
221
|
+
Type `@` in any interactive editor to fuzzy-search files; or pass files on the command line:
|
|
222
222
|
|
|
223
223
|
```bash
|
|
224
224
|
atomic @README.md "Summarize this"
|
package/docs/settings.md
CHANGED
|
@@ -74,7 +74,7 @@ Use `/fast` in interactive mode to edit these settings. Atomic applies fast mode
|
|
|
74
74
|
| `collapseChangelog` | boolean | `false` | Show condensed changelog after updates |
|
|
75
75
|
| `enableInstallTelemetry` | boolean | `true` | Send an anonymous install/update version ping after first install or changelog-detected updates. This does not control update checks |
|
|
76
76
|
| `firstRunOnboardingStartedVersion` | string | - | Internal first-run onboarding start marker used when no prior Atomic startup state identifies the user as returning |
|
|
77
|
-
| `onboardedVersion` | string | - | Internal one-time first-run onboarding completion marker. Returning-user detection from prior startup state
|
|
77
|
+
| `onboardedVersion` | string | - | Internal one-time first-run onboarding completion marker. Returning-user detection from prior startup state or displaying the first-run workflow-engine explanation sets it |
|
|
78
78
|
| `doubleEscapeAction` | string | `"tree"` | Action for double-escape: `"tree"`, `"fork"`, or `"none"` |
|
|
79
79
|
| `treeFilterMode` | string | `"default"` | Default filter for `/tree`: `"default"`, `"no-tools"`, `"user-only"`, `"labeled-only"`, `"all"` |
|
|
80
80
|
| `editorPaddingX` | number | `0` | Horizontal padding for input editor (0-3) |
|
package/docs/usage.md
CHANGED
|
@@ -19,7 +19,7 @@ The editor can be replaced temporarily by built-in UI such as `/settings` or by
|
|
|
19
19
|
|
|
20
20
|
| Feature | How |
|
|
21
21
|
|---------|-----|
|
|
22
|
-
| File reference | Type `@` to fuzzy-search project files
|
|
22
|
+
| File reference | Type `@` to fuzzy-search project files |
|
|
23
23
|
| Path completion | Press Tab to complete paths |
|
|
24
24
|
| Multi-line input | SHIFT+Enter, or CTRL+Enter on Windows Terminal |
|
|
25
25
|
| Images | Paste with CTRL+V, ALT+V on Windows, or drag into the terminal |
|
package/docs/workflows.md
CHANGED
|
@@ -58,7 +58,7 @@ Use direct chat only for tiny, deterministic, low-risk work where workflow track
|
|
|
58
58
|
|
|
59
59
|
## Quick Start
|
|
60
60
|
|
|
61
|
-
On a fresh first run with no prior Atomic startup state, Atomic
|
|
61
|
+
On a fresh first run with no prior Atomic startup state, Atomic shows a one-time explanation after any What's New notes and directly above the normal input box describing Atomic as a verifiable coding agent runtime for building and running agent workflows you can feel confident in. It no longer intercepts the first message, saves a pasted seed, routes to `goal` or `ralph`, raises reasoning, or requires `/chat` to use normal chat. Type a normal message or slash command immediately; run `/login` first if no provider is connected, use `/atomic` for guides, `/workflow list` to discover built-ins, or launch a workflow command directly when you already know what you want.
|
|
62
62
|
|
|
63
63
|
The fastest way to get a workflow running is to **describe it in natural language** and let Atomic write it for you. If you'd rather write the TypeScript yourself, jump to [Or hand-write the TypeScript](#or-hand-write-the-typescript) below.
|
|
64
64
|
|
|
@@ -110,7 +110,7 @@ Then list and run it like any other workflow:
|
|
|
110
110
|
/workflow <name> key=value ...
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
Named workflow runs are background-oriented. After launch, expect a run id and monitor it with `/workflow status <run-id>`, F2, or `/workflow connect <run-id>`.
|
|
113
|
+
Named workflow runs are background-oriented. After launch, expect a run id and monitor it with `/workflow status <run-id>`, F2, or `/workflow connect <run-id>`.
|
|
114
114
|
|
|
115
115
|
### Or hand-write the TypeScript
|
|
116
116
|
|
|
@@ -220,7 +220,8 @@ Inputs:
|
|
|
220
220
|
| `objective` | text | yes | — | Goal-runner objective or delta. Include the desired end state, expected outcome, testing/validation instructions, and any explicit done criteria. |
|
|
221
221
|
| `acceptance_criteria` | text | no | objective | Original immutable task contract that the run must remain consistent with. When launching a follow-up `goal` run from review findings, pass the ORIGINAL task text here so reviewer suggestions cannot drift or contradict the literal contract. |
|
|
222
222
|
| `max_turns` | number | no | `10` | Maximum worker/review turns before human follow-up is needed. |
|
|
223
|
-
| `base_branch` | string | no | `origin/main` | Branch reviewers and the optional final stage compare the current code delta against. |
|
|
223
|
+
| `base_branch` | string | no | `origin/main` | Branch reviewers and the optional final stage compare the current code delta against; also used to create a missing worktree. |
|
|
224
|
+
| `git_worktree_dir` | string | no | `""` | Optional reusable Git worktree root. Empty runs in the invoking checkout; non-empty values run Goal stages in the created/reused worktree. |
|
|
224
225
|
| `create_pr` | boolean | no | `false` | Safe-by-default PR creation flag. Omitted or `false` skips the final `pull-request` stage and omits `pr_report`; prompt text alone does not opt in, and only strict `true` authorizes the final `pull-request` stage to attempt provider-appropriate PR/MR/review creation after Goal reaches `complete`. |
|
|
225
226
|
|
|
226
227
|
`goal` defaults to 10 worker/review turns. Reviewer quorum is fixed internally at 2 reviewer `complete` votes. The repeated-blocker threshold defaults to 3 consecutive same-blocker turns and is clamped to `max_turns` when you run fewer than 3 turns.
|
|
@@ -232,10 +233,13 @@ Run examples:
|
|
|
232
233
|
/workflow goal objective="Update the CLI docs to describe the new --json flag, include one usage example, and verify the docs build still passes" max_turns=3
|
|
233
234
|
/workflow goal objective="Fix the settings form validation bug; add/adjust the focused test and consider it done when invalid emails show the inline error without submitting"
|
|
234
235
|
/workflow goal objective="Implement the focused docs fix, run the docs validation command, and open a PR when complete" create_pr=true
|
|
236
|
+
/workflow goal objective="Fix the flaky package install test in an isolated worktree and run the focused regression" git_worktree_dir=../atomic-goal-install-wt base_branch=main
|
|
235
237
|
```
|
|
236
238
|
|
|
237
239
|
`goal` uses the raw `objective` exactly as supplied as the operative objective recorded in the ledger and stores `acceptance_criteria` as the immutable literal contract (defaulting to the objective when omitted); it does not run an initial prompt-refinement stage. It creates an OS-temp `goal-ledger.json` artifact, renders goal-continuation context for each worker turn, writes the latest worker receipt to `worker-receipt.md`, and appends receipts, reviewer decisions, blockers, reducer decisions, and lifecycle events to the ledger. Worker and reviewer prompts (and the model-facing ledger artifact) deliberately omit the current turn/attempt number so the worker focuses on completing the objective rather than pacing itself to the workflow budget. The objective is treated as user-provided data, not higher-priority instructions. By default `goal` does not start the final `pull-request` stage, and `pr_report` is omitted. Prompt text alone does not opt in. Pass `create_pr=true` only when you explicitly want the final stage to inspect provider credentials and attempt provider-appropriate PR/MR/review creation, such as GitHub `gh`, Azure Repos `az repos pr create`, or Sapling/Phabricator tooling, after Goal reaches `complete` within `max_turns`. Goal worker and reviewer prompts explicitly tell intermediate stages to ignore PR-creation requests; only the final `pull-request` stage may attempt that handoff.
|
|
238
240
|
|
|
241
|
+
Set `git_worktree_dir` when you want Goal's worker and reviewer stages isolated in a reusable Git worktree. Relative paths resolve from the invoking repository root, existing same-repository worktree roots are reused, and missing paths are created from `base_branch`. Goal preserves the invoking repo-relative cwd inside the worktree, so launching from `repo/packages/api` with `git_worktree_dir=../repo-wt` runs stages from `../repo-wt/packages/api`.
|
|
242
|
+
|
|
239
243
|
Write the `objective` like a compact acceptance spec. Say what should exist when the run is done, how you want testing handled, which command(s) or manual checks matter, and what outcome proves completion. The workflow is intentionally lean: it does not first generate an RFC or migration plan, so the developer-supplied objective is where scope, validation, and completion criteria belong.
|
|
240
244
|
|
|
241
245
|
Goal worker/reviewer prompts treat the objective and acceptance criteria as the sole literal source of truth: if follow-up deltas, language specs, upstream issues, in-repo comments, or best practices conflict with explicit wording, reviewers surface the conflict instead of silently implementing external knowledge. Reviewer findings carry `objective_alignment` (`required_by_objective`, `consistent_with_objective`, `beyond_objective`, or `contradicts_objective`); `beyond_objective` and `contradicts_objective` findings are reported but do not block completion and must not be promoted into follow-up objectives without reconciling them against the acceptance criteria. Review decisions also include `requirements_traceability`, a clause-by-clause evidence map over every explicit objective/acceptance-criteria requirement. Goal approval requires that map to be non-empty and fully `proven`; passing worker-authored tests or snapshots alone is circular evidence unless tied to independent current-state proof.
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastani/atomic",
|
|
3
|
-
"version": "0.9.5-alpha.
|
|
3
|
+
"version": "0.9.5-alpha.5",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@bastani/atomic",
|
|
9
|
-
"version": "0.9.5-alpha.
|
|
9
|
+
"version": "0.9.5-alpha.5",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@bastani/atomic-natives": "0.9.5-alpha.
|
|
12
|
+
"@bastani/atomic-natives": "0.9.5-alpha.5",
|
|
13
13
|
"@bufbuild/protobuf": "^2.12.1",
|
|
14
14
|
"@earendil-works/pi-agent-core": "^0.80.3",
|
|
15
15
|
"@earendil-works/pi-ai": "^0.80.3",
|
|
@@ -514,16 +514,16 @@
|
|
|
514
514
|
}
|
|
515
515
|
},
|
|
516
516
|
"node_modules/@bastani/atomic-natives": {
|
|
517
|
-
"version": "0.9.5-alpha.
|
|
518
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives/-/atomic-natives-0.9.5-alpha.
|
|
517
|
+
"version": "0.9.5-alpha.5",
|
|
518
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives/-/atomic-natives-0.9.5-alpha.5.tgz",
|
|
519
519
|
"license": "MIT",
|
|
520
520
|
"optionalDependencies": {
|
|
521
|
-
"@bastani/atomic-natives-darwin-arm64": "0.9.5-alpha.
|
|
522
|
-
"@bastani/atomic-natives-darwin-x64": "0.9.5-alpha.
|
|
523
|
-
"@bastani/atomic-natives-linux-arm64-gnu": "0.9.5-alpha.
|
|
524
|
-
"@bastani/atomic-natives-linux-x64-gnu": "0.9.5-alpha.
|
|
525
|
-
"@bastani/atomic-natives-win32-arm64-msvc": "0.9.5-alpha.
|
|
526
|
-
"@bastani/atomic-natives-win32-x64-msvc": "0.9.5-alpha.
|
|
521
|
+
"@bastani/atomic-natives-darwin-arm64": "0.9.5-alpha.5",
|
|
522
|
+
"@bastani/atomic-natives-darwin-x64": "0.9.5-alpha.5",
|
|
523
|
+
"@bastani/atomic-natives-linux-arm64-gnu": "0.9.5-alpha.5",
|
|
524
|
+
"@bastani/atomic-natives-linux-x64-gnu": "0.9.5-alpha.5",
|
|
525
|
+
"@bastani/atomic-natives-win32-arm64-msvc": "0.9.5-alpha.5",
|
|
526
|
+
"@bastani/atomic-natives-win32-x64-msvc": "0.9.5-alpha.5"
|
|
527
527
|
},
|
|
528
528
|
"engines": {
|
|
529
529
|
"bun": ">=1.3.14",
|
|
@@ -531,8 +531,8 @@
|
|
|
531
531
|
}
|
|
532
532
|
},
|
|
533
533
|
"node_modules/@bastani/atomic-natives-darwin-arm64": {
|
|
534
|
-
"version": "0.9.5-alpha.
|
|
535
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-arm64/-/atomic-natives-darwin-arm64-0.9.5-alpha.
|
|
534
|
+
"version": "0.9.5-alpha.5",
|
|
535
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-arm64/-/atomic-natives-darwin-arm64-0.9.5-alpha.5.tgz",
|
|
536
536
|
"license": "MIT",
|
|
537
537
|
"os": [
|
|
538
538
|
"darwin"
|
|
@@ -543,8 +543,8 @@
|
|
|
543
543
|
"optional": true
|
|
544
544
|
},
|
|
545
545
|
"node_modules/@bastani/atomic-natives-darwin-x64": {
|
|
546
|
-
"version": "0.9.5-alpha.
|
|
547
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-x64/-/atomic-natives-darwin-x64-0.9.5-alpha.
|
|
546
|
+
"version": "0.9.5-alpha.5",
|
|
547
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-x64/-/atomic-natives-darwin-x64-0.9.5-alpha.5.tgz",
|
|
548
548
|
"license": "MIT",
|
|
549
549
|
"os": [
|
|
550
550
|
"darwin"
|
|
@@ -555,8 +555,8 @@
|
|
|
555
555
|
"optional": true
|
|
556
556
|
},
|
|
557
557
|
"node_modules/@bastani/atomic-natives-linux-arm64-gnu": {
|
|
558
|
-
"version": "0.9.5-alpha.
|
|
559
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-gnu/-/atomic-natives-linux-arm64-gnu-0.9.5-alpha.
|
|
558
|
+
"version": "0.9.5-alpha.5",
|
|
559
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-gnu/-/atomic-natives-linux-arm64-gnu-0.9.5-alpha.5.tgz",
|
|
560
560
|
"license": "MIT",
|
|
561
561
|
"os": [
|
|
562
562
|
"linux"
|
|
@@ -570,8 +570,8 @@
|
|
|
570
570
|
"optional": true
|
|
571
571
|
},
|
|
572
572
|
"node_modules/@bastani/atomic-natives-linux-x64-gnu": {
|
|
573
|
-
"version": "0.9.5-alpha.
|
|
574
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-gnu/-/atomic-natives-linux-x64-gnu-0.9.5-alpha.
|
|
573
|
+
"version": "0.9.5-alpha.5",
|
|
574
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-gnu/-/atomic-natives-linux-x64-gnu-0.9.5-alpha.5.tgz",
|
|
575
575
|
"license": "MIT",
|
|
576
576
|
"os": [
|
|
577
577
|
"linux"
|
|
@@ -585,8 +585,8 @@
|
|
|
585
585
|
"optional": true
|
|
586
586
|
},
|
|
587
587
|
"node_modules/@bastani/atomic-natives-win32-arm64-msvc": {
|
|
588
|
-
"version": "0.9.5-alpha.
|
|
589
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-arm64-msvc/-/atomic-natives-win32-arm64-msvc-0.9.5-alpha.
|
|
588
|
+
"version": "0.9.5-alpha.5",
|
|
589
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-arm64-msvc/-/atomic-natives-win32-arm64-msvc-0.9.5-alpha.5.tgz",
|
|
590
590
|
"license": "MIT",
|
|
591
591
|
"os": [
|
|
592
592
|
"win32"
|
|
@@ -597,8 +597,8 @@
|
|
|
597
597
|
"optional": true
|
|
598
598
|
},
|
|
599
599
|
"node_modules/@bastani/atomic-natives-win32-x64-msvc": {
|
|
600
|
-
"version": "0.9.5-alpha.
|
|
601
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-x64-msvc/-/atomic-natives-win32-x64-msvc-0.9.5-alpha.
|
|
600
|
+
"version": "0.9.5-alpha.5",
|
|
601
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-x64-msvc/-/atomic-natives-win32-x64-msvc-0.9.5-alpha.5.tgz",
|
|
602
602
|
"license": "MIT",
|
|
603
603
|
"os": [
|
|
604
604
|
"win32"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastani/atomic",
|
|
3
|
-
"version": "0.9.5-alpha.
|
|
3
|
+
"version": "0.9.5-alpha.5",
|
|
4
4
|
"description": "Atomic coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"atomicConfig": {
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"prepublishOnly": "bun run clean && bun run build && bun run shrinkwrap"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@bastani/atomic-natives": "0.9.5-alpha.
|
|
80
|
+
"@bastani/atomic-natives": "0.9.5-alpha.5",
|
|
81
81
|
"@bufbuild/protobuf": "^2.12.1",
|
|
82
82
|
"@earendil-works/pi-agent-core": "^0.80.3",
|
|
83
83
|
"@earendil-works/pi-ai": "^0.80.3",
|