@bastani/atomic 0.9.27-alpha.1 → 0.9.28-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/builtin/intercom/CHANGELOG.md +12 -0
  3. package/dist/builtin/intercom/broker/broker.ts +13 -1
  4. package/dist/builtin/intercom/package.json +2 -2
  5. package/dist/builtin/mcp/CHANGELOG.md +6 -0
  6. package/dist/builtin/mcp/package.json +1 -1
  7. package/dist/builtin/subagents/CHANGELOG.md +8 -0
  8. package/dist/builtin/subagents/package.json +3 -3
  9. package/dist/builtin/web-access/index.bundle.mjs +194 -44
  10. package/dist/builtin/web-access/package.json +3 -3
  11. package/dist/builtin/workflows/CHANGELOG.md +16 -0
  12. package/dist/builtin/workflows/builtin/{chunk-gts8wgjr.js → chunk-f61w0hpm.js} +1 -1
  13. package/dist/builtin/workflows/builtin/{chunk-9bhs02gm.js → chunk-tecnpe8j.js} +1 -1
  14. package/dist/builtin/workflows/builtin/{chunk-gw7rghda.js → chunk-wz8v67bn.js} +1 -1
  15. package/dist/builtin/workflows/builtin/goal.js +2 -2
  16. package/dist/builtin/workflows/builtin/index.js +3 -3
  17. package/dist/builtin/workflows/builtin/ralph.js +2 -2
  18. package/dist/builtin/workflows/package.json +2 -2
  19. package/dist/builtin/workflows/src/extension/index.bundle.mjs +7958 -7904
  20. package/dist/builtin/workflows/src/index.js +11210 -11204
  21. package/dist/cli/args.d.ts +1 -0
  22. package/dist/cli/args.d.ts.map +1 -1
  23. package/dist/cli/args.js +12 -5
  24. package/dist/cli/args.js.map +1 -1
  25. package/dist/codemode-worker.js +99 -3
  26. package/dist/core/agent-session-events.js +1 -1
  27. package/dist/core/agent-session-events.js.map +1 -1
  28. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  29. package/dist/core/agent-session-extension-bindings.js +9 -5
  30. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  31. package/dist/core/agent-session-methods.d.ts +2 -0
  32. package/dist/core/agent-session-methods.d.ts.map +1 -1
  33. package/dist/core/agent-session-methods.js.map +1 -1
  34. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  35. package/dist/core/agent-session-prompt.js +5 -2
  36. package/dist/core/agent-session-prompt.js.map +1 -1
  37. package/dist/core/agent-session-services.d.ts +1 -0
  38. package/dist/core/agent-session-services.d.ts.map +1 -1
  39. package/dist/core/agent-session-services.js +1 -0
  40. package/dist/core/agent-session-services.js.map +1 -1
  41. package/dist/core/agent-session-state.d.ts.map +1 -1
  42. package/dist/core/agent-session-state.js +3 -2
  43. package/dist/core/agent-session-state.js.map +1 -1
  44. package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
  45. package/dist/core/agent-session-tool-registry.js +10 -16
  46. package/dist/core/agent-session-tool-registry.js.map +1 -1
  47. package/dist/core/agent-session.d.ts +2 -0
  48. package/dist/core/agent-session.d.ts.map +1 -1
  49. package/dist/core/agent-session.js +5 -0
  50. package/dist/core/agent-session.js.map +1 -1
  51. package/dist/core/auth-storage-backends.d.ts.map +1 -1
  52. package/dist/core/auth-storage-backends.js +2 -1
  53. package/dist/core/auth-storage-backends.js.map +1 -1
  54. package/dist/core/auth-storage.d.ts +1 -1
  55. package/dist/core/auth-storage.d.ts.map +1 -1
  56. package/dist/core/auth-storage.js +15 -7
  57. package/dist/core/auth-storage.js.map +1 -1
  58. package/dist/core/azure-provider-compat.d.ts +8 -0
  59. package/dist/core/azure-provider-compat.d.ts.map +1 -0
  60. package/dist/core/azure-provider-compat.js +65 -0
  61. package/dist/core/azure-provider-compat.js.map +1 -0
  62. package/dist/core/child-session-options.d.ts +1 -1
  63. package/dist/core/child-session-options.d.ts.map +1 -1
  64. package/dist/core/child-session-options.js +11 -2
  65. package/dist/core/child-session-options.js.map +1 -1
  66. package/dist/core/extensions/api-types.d.ts +1 -0
  67. package/dist/core/extensions/api-types.d.ts.map +1 -1
  68. package/dist/core/extensions/api-types.js.map +1 -1
  69. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  70. package/dist/core/extensions/loader-api.js +5 -0
  71. package/dist/core/extensions/loader-api.js.map +1 -1
  72. package/dist/core/extensions/loader-host-modules.d.ts +1 -0
  73. package/dist/core/extensions/loader-host-modules.d.ts.map +1 -1
  74. package/dist/core/extensions/loader-host-modules.js +12 -0
  75. package/dist/core/extensions/loader-host-modules.js.map +1 -1
  76. package/dist/core/extensions/runner.d.ts +1 -1
  77. package/dist/core/extensions/runner.d.ts.map +1 -1
  78. package/dist/core/extensions/runner.js +7 -2
  79. package/dist/core/extensions/runner.js.map +1 -1
  80. package/dist/core/extensions/tool-types.d.ts +2 -0
  81. package/dist/core/extensions/tool-types.d.ts.map +1 -1
  82. package/dist/core/extensions/tool-types.js.map +1 -1
  83. package/dist/core/fast-model-variants.d.ts +1 -1
  84. package/dist/core/fast-model-variants.js +1 -1
  85. package/dist/core/fast-model-variants.js.map +1 -1
  86. package/dist/core/keybindings.d.ts +4 -4
  87. package/dist/core/model-config.d.ts.map +1 -1
  88. package/dist/core/model-config.js +2 -1
  89. package/dist/core/model-config.js.map +1 -1
  90. package/dist/core/model-fallback-failures.d.ts.map +1 -1
  91. package/dist/core/model-fallback-failures.js +5 -1
  92. package/dist/core/model-fallback-failures.js.map +1 -1
  93. package/dist/core/model-resolver-cli.d.ts.map +1 -1
  94. package/dist/core/model-resolver-cli.js +5 -1
  95. package/dist/core/model-resolver-cli.js.map +1 -1
  96. package/dist/core/model-resolver-defaults.js +1 -1
  97. package/dist/core/model-resolver-defaults.js.map +1 -1
  98. package/dist/core/model-resolver-initial.d.ts.map +1 -1
  99. package/dist/core/model-resolver-initial.js +6 -1
  100. package/dist/core/model-resolver-initial.js.map +1 -1
  101. package/dist/core/model-resolver-patterns.d.ts.map +1 -1
  102. package/dist/core/model-resolver-patterns.js +2 -1
  103. package/dist/core/model-resolver-patterns.js.map +1 -1
  104. package/dist/core/model-resolver-scope.d.ts.map +1 -1
  105. package/dist/core/model-resolver-scope.js +3 -1
  106. package/dist/core/model-resolver-scope.js.map +1 -1
  107. package/dist/core/model-runtime-streaming.d.ts.map +1 -1
  108. package/dist/core/model-runtime-streaming.js +2 -0
  109. package/dist/core/model-runtime-streaming.js.map +1 -1
  110. package/dist/core/model-runtime.d.ts.map +1 -1
  111. package/dist/core/model-runtime.js +48 -22
  112. package/dist/core/model-runtime.js.map +1 -1
  113. package/dist/core/provider-composer-internal.d.ts.map +1 -1
  114. package/dist/core/provider-composer-internal.js +4 -1
  115. package/dist/core/provider-composer-internal.js.map +1 -1
  116. package/dist/core/provider-display-names.js +1 -1
  117. package/dist/core/provider-display-names.js.map +1 -1
  118. package/dist/core/resource-loader-core.d.ts +1 -0
  119. package/dist/core/resource-loader-core.d.ts.map +1 -1
  120. package/dist/core/resource-loader-core.js +4 -0
  121. package/dist/core/resource-loader-core.js.map +1 -1
  122. package/dist/core/resource-loader-internals.d.ts +1 -0
  123. package/dist/core/resource-loader-internals.d.ts.map +1 -1
  124. package/dist/core/resource-loader-internals.js.map +1 -1
  125. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  126. package/dist/core/resource-loader-reload.js +28 -5
  127. package/dist/core/resource-loader-reload.js.map +1 -1
  128. package/dist/core/resource-loader-types.d.ts +2 -0
  129. package/dist/core/resource-loader-types.d.ts.map +1 -1
  130. package/dist/core/resource-loader-types.js.map +1 -1
  131. package/dist/core/sdk-types.d.ts +6 -4
  132. package/dist/core/sdk-types.d.ts.map +1 -1
  133. package/dist/core/sdk-types.js.map +1 -1
  134. package/dist/core/sdk.d.ts.map +1 -1
  135. package/dist/core/sdk.js +5 -3
  136. package/dist/core/sdk.js.map +1 -1
  137. package/dist/core/session-lifecycle-work.d.ts +2 -1
  138. package/dist/core/session-lifecycle-work.d.ts.map +1 -1
  139. package/dist/core/session-lifecycle-work.js +15 -1
  140. package/dist/core/session-lifecycle-work.js.map +1 -1
  141. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
  142. package/dist/core/settings-manager-basic-accessors.js +4 -4
  143. package/dist/core/settings-manager-basic-accessors.js.map +1 -1
  144. package/dist/core/settings-manager-core.d.ts.map +1 -1
  145. package/dist/core/settings-manager-core.js +2 -0
  146. package/dist/core/settings-manager-core.js.map +1 -1
  147. package/dist/core/settings-storage.d.ts.map +1 -1
  148. package/dist/core/settings-storage.js +2 -1
  149. package/dist/core/settings-storage.js.map +1 -1
  150. package/dist/core/skills.d.ts +1 -1
  151. package/dist/core/skills.d.ts.map +1 -1
  152. package/dist/core/skills.js +3 -1
  153. package/dist/core/skills.js.map +1 -1
  154. package/dist/core/system-prompt.d.ts +3 -0
  155. package/dist/core/system-prompt.d.ts.map +1 -1
  156. package/dist/core/system-prompt.js +7 -3
  157. package/dist/core/system-prompt.js.map +1 -1
  158. package/dist/core/tool-loadout.d.ts.map +1 -1
  159. package/dist/core/tool-loadout.js +8 -1
  160. package/dist/core/tool-loadout.js.map +1 -1
  161. package/dist/core/tool-selection.d.ts +13 -0
  162. package/dist/core/tool-selection.d.ts.map +1 -0
  163. package/dist/core/tool-selection.js +43 -0
  164. package/dist/core/tool-selection.js.map +1 -0
  165. package/dist/core/tools/read.d.ts +7 -0
  166. package/dist/core/tools/read.d.ts.map +1 -1
  167. package/dist/core/tools/read.js +11 -1
  168. package/dist/core/tools/read.js.map +1 -1
  169. package/dist/extensions/codemode/execute.d.ts.map +1 -1
  170. package/dist/extensions/codemode/execute.js +2 -1
  171. package/dist/extensions/codemode/execute.js.map +1 -1
  172. package/dist/extensions/codemode/index.d.ts.map +1 -1
  173. package/dist/extensions/codemode/index.js +1 -0
  174. package/dist/extensions/codemode/index.js.map +1 -1
  175. package/dist/extensions/codemode/tool.d.ts +4 -1
  176. package/dist/extensions/codemode/tool.d.ts.map +1 -1
  177. package/dist/extensions/codemode/tool.js +6 -3
  178. package/dist/extensions/codemode/tool.js.map +1 -1
  179. package/dist/extensions/mcp/client/oauth/flow.d.ts.map +1 -1
  180. package/dist/extensions/mcp/client/oauth/flow.js +14 -1
  181. package/dist/extensions/mcp/client/oauth/flow.js.map +1 -1
  182. package/dist/extensions/mcp/client/oauth/types.d.ts +1 -0
  183. package/dist/extensions/mcp/client/oauth/types.d.ts.map +1 -1
  184. package/dist/extensions/mcp/client/oauth/types.js.map +1 -1
  185. package/dist/extensions/mcp/index.js.map +1 -1
  186. package/dist/extensions/mcp/runtime.d.ts +5 -2
  187. package/dist/extensions/mcp/runtime.d.ts.map +1 -1
  188. package/dist/extensions/mcp/runtime.js +18 -4
  189. package/dist/extensions/mcp/runtime.js.map +1 -1
  190. package/dist/main.d.ts.map +1 -1
  191. package/dist/main.js +2 -0
  192. package/dist/main.js.map +1 -1
  193. package/dist/migrations-azure.d.ts +4 -0
  194. package/dist/migrations-azure.d.ts.map +1 -0
  195. package/dist/migrations-azure.js +41 -0
  196. package/dist/migrations-azure.js.map +1 -0
  197. package/dist/migrations.d.ts.map +1 -1
  198. package/dist/migrations.js +2 -0
  199. package/dist/migrations.js.map +1 -1
  200. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
  201. package/dist/modes/interactive/components/chat-session-host-state.js +2 -1
  202. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
  203. package/dist/modes/interactive/components/chat-transcript.d.ts +2 -0
  204. package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
  205. package/dist/modes/interactive/components/chat-transcript.js +9 -3
  206. package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
  207. package/dist/modes/interactive/theme/tui-theme.d.ts.map +1 -1
  208. package/dist/modes/interactive/theme/tui-theme.js +1 -0
  209. package/dist/modes/interactive/theme/tui-theme.js.map +1 -1
  210. package/dist/modes/interactive-engine/engine-args.d.ts.map +1 -1
  211. package/dist/modes/interactive-engine/engine-args.js +1 -0
  212. package/dist/modes/interactive-engine/engine-args.js.map +1 -1
  213. package/dist/utils/syntax-highlight.d.ts.map +1 -1
  214. package/dist/utils/syntax-highlight.js +6 -1
  215. package/dist/utils/syntax-highlight.js.map +1 -1
  216. package/docs/codemode.md +3 -2
  217. package/docs/extensions/api-reference.md +14 -0
  218. package/docs/extensions/authoring.md +1 -1
  219. package/docs/extensions.md +2 -0
  220. package/docs/keybindings.md +9 -9
  221. package/docs/mcp-servers.md +4 -0
  222. package/docs/providers.md +21 -2
  223. package/docs/reference/cli.md +10 -3
  224. package/docs/workflows/api-reference.md +3 -1
  225. package/docs/workflows/authoring.md +6 -2
  226. package/npm-shrinkwrap.json +78 -74
  227. package/package.json +9 -9
package/CHANGELOG.md CHANGED
@@ -2,6 +2,52 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.9.28-alpha.1] - 2026-10-05
6
+
7
+ ### Added
8
+
9
+ - Added Azure Foundry Chat Completions with `azure/deepseek-v4-pro`, using the existing Azure endpoint and deployment-name settings.
10
+ - Added `*` patterns to `--tools` and `--exclude-tools`, including MCP tool names.
11
+ - Added `--no-mcp` to disable built-in MCP support for one run, including interactive sessions.
12
+ - Added `ExtensionAPI.getWorkflowHostModules()` to supply shared host module instances for the exact workflow imports `@bastani/atomic`, `@bastani/pi-ai`, and `@bastani/pi-ai/providers/all`, avoiding repeated package loading ([#3454](https://github.com/bastani-inc/atomic/issues/3454)).
13
+
14
+ ### Changed
15
+
16
+ - Home and End move the editor cursor to the start and end of the line. Ctrl+Home and Ctrl+End jump to the top and bottom of the fullscreen transcript.
17
+ - Renamed the Azure provider to `azure`. Existing provider references remain supported, and startup migrates credentials and configuration without replacing existing `azure` entries. Project files are migrated only when trusted.
18
+ - Codemode built-ins are frozen in pi 1.0.4. Patches to built-ins are ignored instead of crashing the host.
19
+
20
+ ### Fixed
21
+
22
+ - Fixed syntax colors leaking across lines in multiline tokens and interpolation substitutions inheriting string colors.
23
+ - Invalid router and provider-list settings retain their configuration validation errors during Azure provider migration.
24
+ - Fixed codemode `tools.read()` returning text instead of an image block for image files. Pass the result to `image()` to display it ([#10251](https://github.com/earendil-works/pi/issues/10251)).
25
+ - Fixed MCP OAuth dynamic registration omitting `application_type`, which caused redirect URI rejections on OpenID Connect servers ([#10493](https://github.com/earendil-works/pi/issues/10493)).
26
+ - Fixed `--tools` removing MCP tools when selecting codemode. MCP tools remain callable unless the allowlist contains an entry starting with `mcp__`; unmatched tools are not declared directly.
27
+ - Fixed shutdown leaving MCP connections open while a server was still connecting ([#10249](https://github.com/earendil-works/pi/issues/10249)).
28
+ - Fixed hidden tools appearing in prompt rules and skill-reading hints. Codemode tool declarations now include each tool's prompt guidelines ([#10343](https://github.com/earendil-works/pi/issues/10343)).
29
+ - Fixed interactive quit waiting on pending extension commands, which could leave connecting MCP servers running.
30
+ - Fixed HTTP/2 pending stream cancellations being treated as user cancellations instead of retryable transport failures.
31
+ - Updated the bundled `proxy-addr` dependency to 2.0.8, fixing IP spoofing through IPv4-mapped IPv6 trusted subnets.
32
+
33
+ ## [0.9.27] - 2026-10-05
34
+
35
+ ### Changed
36
+
37
+ - Codemode `image()` also saves each image to a private temp file and names its path before the image, so later turns can copy or move it ([#3429](https://github.com/bastani-inc/atomic/issues/3429)).
38
+ - Full codemode text output and binary MCP resources now use exclusively created, user-readable-only temp files ([#3429](https://github.com/bastani-inc/atomic/issues/3429)).
39
+
40
+ ### Fixed
41
+
42
+ - Fixed subscription logins such as Sign in with ChatGPT losing rotated OAuth tokens when a request or model refresh was cancelled ([#3429](https://github.com/bastani-inc/atomic/issues/3429)).
43
+ - Fixed codemode failing after an update removed the running npm install, and added a restart hint when errors occur after the install changes ([#3429](https://github.com/bastani-inc/atomic/issues/3429)).
44
+ - Fixed dead terminal stdin errors such as `read EIO` and `setRawMode ENOTTY` being reported as crashes ([#3429](https://github.com/bastani-inc/atomic/issues/3429)).
45
+ - Fixed slow OAuth token rotation failing model refresh after the request-authentication waiting deadline ([#3429](https://github.com/bastani-inc/atomic/issues/3429)).
46
+ - Fixed unrelated extension and filesystem errors being mistaken for dead-terminal exits, restoring crash reports and extension hints ([#3429](https://github.com/bastani-inc/atomic/issues/3429)).
47
+ - Fixed slow OAuth rotation blocking logout and credential updates for unrelated providers. File-backed rotation now uses a provider-specific lock and preserves concurrent logout or credential replacement ([#3429](https://github.com/bastani-inc/atomic/issues/3429)).
48
+ - Fixed failed `/reload` retiring cleanup leaving in-flight workflows unreachable. The replacement extensions now finish starting, pending settings take effect, joined Intercom groups and workflow-stage targets by name or ID survive, and the error names the underlying cleanup exception. Successful reloads also preserve live, pending, and future workflow-stage routing ([#3425](https://github.com/bastani-inc/atomic/issues/3425)).
49
+ - Background subagent completions now reach workflow-stage chats as visible notices that trigger a parent turn before acknowledgment, even while other notices arrive ([#3427](https://github.com/bastani-inc/atomic/issues/3427)).
50
+
5
51
  ## [0.9.27-alpha.1] - 2026-10-04
6
52
 
7
53
  ### Changed
@@ -4,6 +4,18 @@ All notable changes to the `pi-intercom` extension will be documented in this fi
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.9.28-alpha.1] - 2026-10-05
8
+
9
+ ### Fixed
10
+
11
+ - Fixed intercom occasionally reporting `Intercom not connected: connect ENOENT …/broker.sock` when a session connected just as an idle broker was shutting down.
12
+
13
+ ## [0.9.27] - 2026-10-05
14
+
15
+ ### Fixed
16
+
17
+ - Fixed joined workflow groups being lost when extensions reload, including when retiring cleanup fails ([#3425](https://github.com/bastani-inc/atomic/issues/3425)).
18
+
7
19
  ## [0.9.27-alpha.1] - 2026-10-04
8
20
 
9
21
  ### Fixed
@@ -249,6 +249,7 @@ class IntercomBroker {
249
249
  private sessions = new Map<string, ConnectedSession>();
250
250
  private server: net.Server;
251
251
  private shutdownTimer: NodeJS.Timeout | null = null;
252
+ private lastConnectionAt = performance.now();
252
253
  private deliveredMessages = new DeliveredMessageCache(
253
254
  DELIVERED_MESSAGE_TTL_MS,
254
255
  DELIVERED_MESSAGE_MAX_ENTRIES,
@@ -280,6 +281,7 @@ class IntercomBroker {
280
281
  this.server.listen(SOCKET_PATH, () => {
281
282
  writeFileSync(PID_PATH, String(process.pid));
282
283
  console.log(`Intercom broker started (pid: ${process.pid})`);
284
+ this.lastConnectionAt = performance.now();
283
285
  this.scheduleShutdownCheck();
284
286
  });
285
287
  process.on("SIGTERM", () => this.shutdown());
@@ -288,6 +290,8 @@ class IntercomBroker {
288
290
 
289
291
  private handleConnection(socket: net.Socket): void {
290
292
  let sessionId: string | null = null;
293
+ this.lastConnectionAt = performance.now();
294
+ this.restartShutdownCheck();
291
295
 
292
296
  const reader = createMessageReader((msg) => {
293
297
  if (socket.destroyed || socket.writableEnded) return;
@@ -341,12 +345,20 @@ class IntercomBroker {
341
345
  this.shutdownTimer = setTimeout(() => {
342
346
  this.shutdownTimer = null;
343
347
  if (this.sessions.size === 0) {
344
- console.log("No sessions connected, shutting down");
348
+ const idleMs = Math.round(performance.now() - this.lastConnectionAt);
349
+ console.log(`No sessions connected for ${idleMs}ms since the last connection, shutting down`);
345
350
  this.shutdown();
346
351
  }
347
352
  }, 5000);
348
353
  }
349
354
 
355
+ private restartShutdownCheck(): void {
356
+ if (!this.shutdownTimer) return;
357
+ clearTimeout(this.shutdownTimer);
358
+ this.shutdownTimer = null;
359
+ this.scheduleShutdownCheck();
360
+ }
361
+
350
362
  /**
351
363
  * End a connection the broker itself is refusing, and retire its session first.
352
364
  *
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/intercom",
3
- "version": "0.9.27-alpha.1",
3
+ "version": "0.9.28-alpha.1",
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": [
@@ -44,7 +44,7 @@
44
44
  },
45
45
  "peerDependencies": {
46
46
  "@bastani/atomic": "*",
47
- "@earendil-works/pi-tui": "^1.0.2",
47
+ "@earendil-works/pi-tui": "^1.0.4",
48
48
  "typebox": "*"
49
49
  },
50
50
  "peerDependenciesMeta": {
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.9.28-alpha.1] - 2026-10-05
11
+
12
+ ### Fixed
13
+
14
+ - Fixed MCP OAuth dynamic registration omitting `application_type`, which caused redirect URI rejections on OpenID Connect servers ([#10493](https://github.com/earendil-works/pi/issues/10493)).
15
+
10
16
  ## [0.9.25] - 2026-10-01
11
17
 
12
18
  ### Breaking Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/mcp",
3
- "version": "0.9.27-alpha.1",
3
+ "version": "0.9.28-alpha.1",
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,14 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.9.27] - 2026-10-05
6
+
7
+ ### Fixed
8
+
9
+ - Simultaneous subagent calls preserve each caller's wait policy and return only that caller's results instead of a shared parallel receipt ([#3427](https://github.com/bastani-inc/atomic/issues/3427)).
10
+ - Simultaneous subagent calls with mixed foreground and background waits now share the configured concurrency limit; returning a background receipt does not free a running child's slot ([#3427](https://github.com/bastani-inc/atomic/issues/3427)).
11
+ - Single-agent calls with mixed wait policies keep progress files isolated per run instead of overwriting an existing project `progress.md` ([#3427](https://github.com/bastani-inc/atomic/issues/3427)).
12
+
5
13
  ## [0.9.27-alpha.1] - 2026-10-04
6
14
 
7
15
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/subagents",
3
- "version": "0.9.27-alpha.1",
3
+ "version": "0.9.28-alpha.1",
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": [
@@ -35,8 +35,8 @@
35
35
  "peerDependencies": {
36
36
  "@bastani/atomic": "*",
37
37
  "@bastani/pi-ai": "*",
38
- "@earendil-works/pi-agent-core": "^1.0.2",
39
- "@earendil-works/pi-tui": "^1.0.2",
38
+ "@earendil-works/pi-agent-core": "^1.0.4",
39
+ "@earendil-works/pi-tui": "^1.0.4",
40
40
  "typebox": "*"
41
41
  },
42
42
  "peerDependenciesMeta": {