@bastani/atomic 0.9.39-alpha.2 → 0.9.39

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 CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.9.39] - 2026-10-19
6
+
7
+ ### Added
8
+
9
+ - Added RPC `delete_session` (`{"type":"delete_session","sessionId":"<id>"}`, or `{"type":"delete_session","id":"<id>"}` when `sessionId` is omitted), `RpcClient.deleteSession(sessionId)`, and `SessionManager.deleteSession(sessionId)` to delete a stored session and its entries from SQLite or JSONL storage. The session currently open in the process cannot be deleted and returns an error ([#3740](https://github.com/bastani-inc/atomic/issues/3740)).
10
+ - Added `createAgentSession({ journal })` so each SDK session can choose its workflow journal (file path, caller-owned database, process-local memory, adapter, or supplied journal) without the process-wide `ATOMIC_WORKFLOW_JOURNAL_PATH` ([#3743](https://github.com/bastani-inc/atomic/issues/3743)).
11
+ - When Atomic runs on Node, the process that runs agents now gets half of system memory for its heap when that is more than Node's default limit (about 4 GiB), so large machines can run more subagents and workflow stages at once. This applies to the interactive engine and to headless runs (`-p`, `--mode json`, `--mode rpc`), which restart themselves once with the larger heap. Set `ATOMIC_HEAP_MB` to choose the size or `0` to keep Node's default; an explicit `--max-old-space-size` in `NODE_OPTIONS` still wins.
12
+
13
+ ### Fixed
14
+
15
+ - `/export` and the RPC `export_html` command now export sessions stored in the default SQLite session store instead of refusing them, reading entries through the session store rather than a session file ([#3741](https://github.com/bastani-inc/atomic/issues/3741))
16
+ - When the earlier JSONL sessions folder holds several copies of one session, such as conflict copies left by a file-sync tool, the default store now lists and imports the copy with the newest message instead of the alphabetically first file.
17
+ - Fullscreen overlays that show chat messages (the workflow graph, stage chat, and the `/tasks` transcript) no longer write OSC 133 shell-integration marks to the terminal, so terminals keep the program status without Atomic re-sending an identical OSC 7501 report on every overlay frame ([#3739](https://github.com/bastani-inc/atomic/issues/3739))
18
+
5
19
  ## [0.9.39-alpha.2] - 2026-10-19
6
20
 
7
21
  ### Fixed
@@ -4,6 +4,12 @@ All notable changes to the `pi-intercom` extension will be documented in this fi
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.9.39] - 2026-10-19
8
+
9
+ ### Added
10
+
11
+ - A workflow stage whose session was released from memory when its run ended stays in the session list under its previous name, as `closed · reply: post-mortem only`, while the session that ran the workflow is open. An ask to it reopens the stage's saved conversation, runs one turn with the question, and returns that turn's answer, or a failure if the conversation cannot be reopened; a plain send reaches the session that ran the workflow ([#3622](https://github.com/bastani-inc/atomic/issues/3622) by [@vishnu363728](https://github.com/vishnu363728)).
12
+
7
13
  ## [0.9.39-alpha.1] - 2026-10-19
8
14
 
9
15
  ### Added
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/intercom",
3
- "version": "0.9.39-alpha.2",
3
+ "version": "0.9.39",
4
4
  "private": true,
5
5
  "description": "Atomic extension providing a private coordination channel between parent and child agent sessions. Fork of: https://github.com/nicobailon/pi-intercom",
6
6
  "contributors": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/mcp",
3
- "version": "0.9.39-alpha.2",
3
+ "version": "0.9.39",
4
4
  "private": true,
5
5
  "description": "Atomic's pi-compatible MCP integration for server connections, OAuth, tools, resources, and terminal management.",
6
6
  "contributors": [
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.9.39] - 2026-10-19
6
+
7
+ ### Fixed
8
+
9
+ - A finished in-process subagent child no longer keeps its disposed agent session reachable for as long as its task exists. The task keeps the child's transcript entries for inspection but releases the session itself, so a long-lived parent session that launches many children stops accumulating their memory ([#3622](https://github.com/bastani-inc/atomic/issues/3622) by [@vishnu363728](https://github.com/vishnu363728)).
10
+
5
11
  ## [0.9.39-alpha.1] - 2026-10-19
6
12
 
7
13
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/subagents",
3
- "version": "0.9.39-alpha.2",
3
+ "version": "0.9.39",
4
4
  "private": true,
5
5
  "description": "Atomic extension for delegating tasks to subagents with parallel execution. Fork of: https://github.com/nicobailon/pi-subagents",
6
6
  "contributors": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/web-access",
3
- "version": "0.9.39-alpha.2",
3
+ "version": "0.9.39",
4
4
  "private": true,
5
5
  "description": "Atomic extension for web search, URL fetching, GitHub repo cloning, PDF/video extraction. Fork of: https://github.com/nicobailon/pi-web-access",
6
6
  "contributors": [
@@ -6,6 +6,20 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.9.39] - 2026-10-19
10
+
11
+ ### Added
12
+
13
+ - `workflow({ action: "status", runId, summary: true })` returns a compact status of one run: status, timing, final outputs (`result`), error and blockers (failed or blocked stages and tools, and stages awaiting input), without the stage and tool history ([#3744](https://github.com/bastani-inc/atomic/issues/3744)).
14
+
15
+ ### Fixed
16
+
17
+ - `workflow({ action: "status", runId })` for a run another session started now includes the run's final outputs in `detail.result`, because the journal now records them when the run finishes; runs finished by an earlier version have no recorded outputs ([#3744](https://github.com/bastani-inc/atomic/issues/3744)).
18
+ - A workflow run that finishes after receiving a sticky Intercom message (for example a send to `workflow:<rootRunId>/**`) no longer prints `pending stage delivery sweep failed: Workflow execution for <runId> is retired`, and its leftover sticky messages are settled instead of staying queued ([#3745](https://github.com/bastani-inc/atomic/issues/3745)).
19
+ - The `workflow` tool now honours the session's settings, including in-memory `workflows.journal` settings, and a per-session `journal` passed to `createAgentSession`, instead of reading only `ATOMIC_WORKFLOW_JOURNAL_PATH` and `settings.json`. A memory journal selected through session settings belongs to that session alone, and disposing a session closes the journals it opened (once no other session shares them) instead of keeping them and their process-exit hooks until exit ([#3743](https://github.com/bastani-inc/atomic/issues/3743)).
20
+ - Disposing a session now leaves its paused workflow runs `paused` and resumable instead of turning them `failed` with `SessionClosed`, and a run whose stage was mid-step when the session closed is paused rather than failed. `session.workflows.resume(runId)` still adopts the released runs ([#3742](https://github.com/bastani-inc/atomic/issues/3742)).
21
+ - Completed workflow stages no longer keep their agent sessions in memory for the life of the process, which could exhaust the V8 heap in long-running sessions. When a run ends, including a run that failed and can be resumed, each completed stage whose conversation is saved is disposed and dropped from the stage registry and completed-workflow inspection; attaching to it or messaging it reopens the saved conversation without rerunning the workflow, and the stage stays in the Intercom list as `closed · reply: post-mortem only` for as long as the session that ran the workflow is open: an ask to it reopens the saved conversation, runs one turn with the question, and returns that turn's answer. A stage with a mounted chat (visible or hidden), queued or in-flight messages, an active turn, compaction or retry, or no saved transcript stays live until the session that ran the workflow is replaced or shut down, and a stage reopened by attach, a message, or an Intercom ask stays in memory until then ([#3622](https://github.com/bastani-inc/atomic/issues/3622) by [@vishnu363728](https://github.com/vishnu363728)).
22
+
9
23
  ## [0.9.39-alpha.1] - 2026-10-19
10
24
 
11
25
  ### Added
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/workflows",
3
- "version": "0.9.39-alpha.2",
3
+ "version": "0.9.39",
4
4
  "private": true,
5
5
  "description": "Atomic extension for multi-stage workflow authoring and execution.",
6
6
  "contributors": [
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@bastani/atomic",
3
- "version": "0.9.39-alpha.2",
3
+ "version": "0.9.39",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@bastani/atomic",
9
- "version": "0.9.39-alpha.2",
9
+ "version": "0.9.39",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "@bastani/atomic-natives": "0.9.39-alpha.2",
13
- "@bastani/pi-ai": "0.9.39-alpha.2",
12
+ "@bastani/atomic-natives": "0.9.39",
13
+ "@bastani/pi-ai": "0.9.39",
14
14
  "@earendil-works/pi-agent-core": "1.3.0",
15
15
  "@earendil-works/pi-codemode": "1.3.0",
16
16
  "@earendil-works/pi-tui": "1.3.0",
@@ -427,18 +427,18 @@
427
427
  }
428
428
  },
429
429
  "node_modules/@bastani/atomic-natives": {
430
- "version": "0.9.39-alpha.2",
431
- "resolved": "https://registry.npmjs.org/@bastani/atomic-natives/-/atomic-natives-0.9.39-alpha.2.tgz",
430
+ "version": "0.9.39",
431
+ "resolved": "https://registry.npmjs.org/@bastani/atomic-natives/-/atomic-natives-0.9.39.tgz",
432
432
  "license": "MIT",
433
433
  "optionalDependencies": {
434
- "@bastani/atomic-natives-darwin-arm64": "0.9.39-alpha.2",
435
- "@bastani/atomic-natives-darwin-x64": "0.9.39-alpha.2",
436
- "@bastani/atomic-natives-linux-arm64-gnu": "0.9.39-alpha.2",
437
- "@bastani/atomic-natives-linux-arm64-musl": "0.9.39-alpha.2",
438
- "@bastani/atomic-natives-linux-x64-gnu": "0.9.39-alpha.2",
439
- "@bastani/atomic-natives-linux-x64-musl": "0.9.39-alpha.2",
440
- "@bastani/atomic-natives-win32-arm64-msvc": "0.9.39-alpha.2",
441
- "@bastani/atomic-natives-win32-x64-msvc": "0.9.39-alpha.2"
434
+ "@bastani/atomic-natives-darwin-arm64": "0.9.39",
435
+ "@bastani/atomic-natives-darwin-x64": "0.9.39",
436
+ "@bastani/atomic-natives-linux-arm64-gnu": "0.9.39",
437
+ "@bastani/atomic-natives-linux-arm64-musl": "0.9.39",
438
+ "@bastani/atomic-natives-linux-x64-gnu": "0.9.39",
439
+ "@bastani/atomic-natives-linux-x64-musl": "0.9.39",
440
+ "@bastani/atomic-natives-win32-arm64-msvc": "0.9.39",
441
+ "@bastani/atomic-natives-win32-x64-msvc": "0.9.39"
442
442
  },
443
443
  "engines": {
444
444
  "bun": ">=1.4.2",
@@ -446,8 +446,8 @@
446
446
  }
447
447
  },
448
448
  "node_modules/@bastani/atomic-natives-darwin-arm64": {
449
- "version": "0.9.39-alpha.2",
450
- "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-arm64/-/atomic-natives-darwin-arm64-0.9.39-alpha.2.tgz",
449
+ "version": "0.9.39",
450
+ "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-arm64/-/atomic-natives-darwin-arm64-0.9.39.tgz",
451
451
  "license": "MIT",
452
452
  "os": [
453
453
  "darwin"
@@ -458,8 +458,8 @@
458
458
  "optional": true
459
459
  },
460
460
  "node_modules/@bastani/atomic-natives-darwin-x64": {
461
- "version": "0.9.39-alpha.2",
462
- "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-x64/-/atomic-natives-darwin-x64-0.9.39-alpha.2.tgz",
461
+ "version": "0.9.39",
462
+ "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-x64/-/atomic-natives-darwin-x64-0.9.39.tgz",
463
463
  "license": "MIT",
464
464
  "os": [
465
465
  "darwin"
@@ -470,8 +470,8 @@
470
470
  "optional": true
471
471
  },
472
472
  "node_modules/@bastani/atomic-natives-linux-arm64-gnu": {
473
- "version": "0.9.39-alpha.2",
474
- "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-gnu/-/atomic-natives-linux-arm64-gnu-0.9.39-alpha.2.tgz",
473
+ "version": "0.9.39",
474
+ "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-gnu/-/atomic-natives-linux-arm64-gnu-0.9.39.tgz",
475
475
  "license": "MIT",
476
476
  "os": [
477
477
  "linux"
@@ -485,8 +485,8 @@
485
485
  "optional": true
486
486
  },
487
487
  "node_modules/@bastani/atomic-natives-linux-arm64-musl": {
488
- "version": "0.9.39-alpha.2",
489
- "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-musl/-/atomic-natives-linux-arm64-musl-0.9.39-alpha.2.tgz",
488
+ "version": "0.9.39",
489
+ "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-musl/-/atomic-natives-linux-arm64-musl-0.9.39.tgz",
490
490
  "license": "MIT",
491
491
  "os": [
492
492
  "linux"
@@ -500,8 +500,8 @@
500
500
  "optional": true
501
501
  },
502
502
  "node_modules/@bastani/atomic-natives-linux-x64-gnu": {
503
- "version": "0.9.39-alpha.2",
504
- "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-gnu/-/atomic-natives-linux-x64-gnu-0.9.39-alpha.2.tgz",
503
+ "version": "0.9.39",
504
+ "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-gnu/-/atomic-natives-linux-x64-gnu-0.9.39.tgz",
505
505
  "license": "MIT",
506
506
  "os": [
507
507
  "linux"
@@ -515,8 +515,8 @@
515
515
  "optional": true
516
516
  },
517
517
  "node_modules/@bastani/atomic-natives-linux-x64-musl": {
518
- "version": "0.9.39-alpha.2",
519
- "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-musl/-/atomic-natives-linux-x64-musl-0.9.39-alpha.2.tgz",
518
+ "version": "0.9.39",
519
+ "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-musl/-/atomic-natives-linux-x64-musl-0.9.39.tgz",
520
520
  "license": "MIT",
521
521
  "os": [
522
522
  "linux"
@@ -530,8 +530,8 @@
530
530
  "optional": true
531
531
  },
532
532
  "node_modules/@bastani/atomic-natives-win32-arm64-msvc": {
533
- "version": "0.9.39-alpha.2",
534
- "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-arm64-msvc/-/atomic-natives-win32-arm64-msvc-0.9.39-alpha.2.tgz",
533
+ "version": "0.9.39",
534
+ "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-arm64-msvc/-/atomic-natives-win32-arm64-msvc-0.9.39.tgz",
535
535
  "license": "MIT",
536
536
  "os": [
537
537
  "win32"
@@ -542,8 +542,8 @@
542
542
  "optional": true
543
543
  },
544
544
  "node_modules/@bastani/atomic-natives-win32-x64-msvc": {
545
- "version": "0.9.39-alpha.2",
546
- "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-x64-msvc/-/atomic-natives-win32-x64-msvc-0.9.39-alpha.2.tgz",
545
+ "version": "0.9.39",
546
+ "resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-x64-msvc/-/atomic-natives-win32-x64-msvc-0.9.39.tgz",
547
547
  "license": "MIT",
548
548
  "os": [
549
549
  "win32"
@@ -554,8 +554,8 @@
554
554
  "optional": true
555
555
  },
556
556
  "node_modules/@bastani/pi-ai": {
557
- "version": "0.9.39-alpha.2",
558
- "resolved": "https://registry.npmjs.org/@bastani/pi-ai/-/pi-ai-0.9.39-alpha.2.tgz",
557
+ "version": "0.9.39",
558
+ "resolved": "https://registry.npmjs.org/@bastani/pi-ai/-/pi-ai-0.9.39.tgz",
559
559
  "license": "MIT",
560
560
  "dependencies": {
561
561
  "@anthropic-ai/sdk": "0.129.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/atomic",
3
- "version": "0.9.39-alpha.2",
3
+ "version": "0.9.39",
4
4
  "description": "Atomic coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "atomicConfig": {
@@ -89,8 +89,8 @@
89
89
  "prepublishOnly": "bun run clean && bun run build && bun run shrinkwrap"
90
90
  },
91
91
  "dependencies": {
92
- "@bastani/atomic-natives": "0.9.39-alpha.2",
93
- "@bastani/pi-ai": "0.9.39-alpha.2",
92
+ "@bastani/atomic-natives": "0.9.39",
93
+ "@bastani/pi-ai": "0.9.39",
94
94
  "@earendil-works/pi-agent-core": "1.3.0",
95
95
  "@earendil-works/pi-codemode": "1.3.0",
96
96
  "@earendil-works/pi-tui": "1.3.0",